Function at 0x453194d5
Capabilities:
Check for time delay via gettickcount
Get file size

Disassembly:
mov eax, 0x45362644
call fcn.4534228c
sub esp, 0x448
push ebx
mov ebx, ecx
push esi
push edi
cmp dword [ebx + 0x4d4], 0
je 0x4531a59a
mov esi, dword [ebx + 0x408]
test esi, esi
je 0x45319516
mov ecx, esi
call sym.HHA.dll_Ordinal_64
push esi
call fcn.45341eb0
and dword [ebx + 0x408], 0
pop ecx
mov eax, dword [ebx + 0x7c]
test eax, eax
je 0x45319528
xor ecx, ecx
cmp byte [eax], cl
setne cl
mov eax, ecx
jmp 0x4531952a
xor eax, eax
test eax, eax
je 0x453195db
mov edi, dword [ebx + 0x7c]
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp - 0x350]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [ebp - 0x350]
push eax
and ecx, 3
push dword [ebx + 0xb8]
rep movsb byte es:[edi], byte [esi]
call sym.HHA.dll_Ordinal_315
push 0x18
call fcn.45342660
pop ecx
mov dword [ebp - 0x18], eax
and dword [ebp - 4], 0
test eax, eax
je 0x45319596
push 0
lea ecx, [ebp - 0x350]
push 0x8000
push ecx
mov ecx, eax
call sym.HHA.dll_Ordinal_68
jmp 0x45319598
xor eax, eax
or dword [ebp - 4], 0xffffffff
cmp dword [eax], 0xffffffff
mov dword [ebx + 0x408], eax
jne 0x453195db
lea eax, [ebp - 0x350]
push eax
push 0x20fb0
push ebx
call fcn.4531deee
mov esi, dword [ebx + 0x408]
add esp, 0xc
test esi, esi
je 0x453195d4
mov ecx, esi
call sym.HHA.dll_Ordinal_64
push esi
call fcn.45341eb0
pop ecx
and dword [ebx + 0x408], 0
lea eax, [ebp - 0x454]
push 0x104
push eax
push dword [0x4537f6ec]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x454]
push eax
call sym.HHA.dll_Ordinal_128
push dword [ebp - 0x3c]
mov edi, dword [ebx + 0x46c]
push dword [ebp - 0x40]
push dword [ebp - 0x44]
push 0x1d834
call sym.HHA.dll_Ordinal_76
push eax
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, dword [ebx + 0x20c]
add esp, 0x14
push edi
call eax
mov esi, dword [ebx + 0x408]
test esi, esi
je 0x45319641
push edi
push esi
call sym.HHA.dll_Ordinal_65
push dword [ebx + 0x7f8]
lea ecx, [ebp - 0x24]
push 0x1d835
call sym.HHA.dll_Ordinal_165
mov edi, dword [ebp - 0x24]
mov dword [ebp - 4], 1
push edi
call dword [ebx + 0x20c]
test esi, esi
je 0x45319670
push edi
push esi
call sym.HHA.dll_Ordinal_65
mov eax, dword [ebx + 0xb4]
test eax, eax
je 0x453196c8
mov ecx, dword [eax + 0x10]
push 1
pop esi
dec ecx
cmp ecx, esi
jl 0x453196a9
mov eax, dword [eax + 4]
mov eax, dword [eax + esi*4]
lea ecx, [eax + 4]
push ecx
push dword [eax]
push ebx
call fcn.4531deee
mov eax, dword [ebx + 0xb4]
add esp, 0xc
inc esi
mov ecx, dword [eax + 0x10]
dec ecx
cmp esi, ecx
jle 0x45319685
mov esi, dword [ebx + 0xb4]
test esi, esi
je 0x453196c1
mov ecx, esi
call sym.HHA.dll_Ordinal_38
push esi
call fcn.45341eb0
pop ecx
and dword [ebx + 0xb4], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push dword [ebx + 0xb8]
mov dword [ebp - 0x28], eax
call sym.HHA.dll_Ordinal_23
mov esi, eax
mov eax, dword [ebx + 0x2c4]
test eax, eax
je 0x453196ef
push eax
call fcn.45341e40
pop ecx
cmp dword [ebx + 0x18], 0
mov dword [ebx + 0x2c4], esi
jne 0x453197d8
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x45319711
xor ecx, ecx
cmp byte [eax], cl
setne cl
mov eax, ecx
jmp 0x45319713
xor eax, eax
test eax, eax
je 0x453197d8
mov edi, dword [ebx + 0x64]
push edi
call dword [ebx + 0x210]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [ebp - 0x24c]
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [ebp - 0x148]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebx + 0x64]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [ebp - 0x24c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebx + 0xb8]
xor edi, edi
push edi
push eax
push esi
call sym.HHA.dll_Ordinal_315
push edi
lea eax, [ebp - 0x148]
push edi
push eax
push esi
call sym.HHA.dll_Ordinal_316
push edi
push 1
lea eax, [ebp - 0x148]
push edi
push eax
lea eax, [ebp - 0x24c]
push eax
mov ecx, ebx
call fcn.4531ac9a
test eax, eax
jne 0x453197d8
lea eax, [ebp - 0x148]
push eax
push 0x2138b
push ebx
call fcn.4531deee
add esp, 0xc
lea eax, [ebp - 0x148]
push eax
lea eax, [ebx + 0x2c8]
push eax
call sym.HHA.dll_Ordinal_46
mov eax, dword [ebx + 0x210]
and dword [ebx + 0x40c], 0
push 0x453636e4
call eax
test eax, eax
jne 0x45319806
mov ecx, ebx
call fcn.4531b828
push 0x1d838
call sym.HHA.dll_Ordinal_194
jmp 0x4531a7db
cmp dword [ebx + 0x68], 0
je 0x453198d7
mov edx, dword [ebx + 0x68]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
lea esi, [ebp - 0x24c]
sub edi, ecx
mov eax, ecx
mov dword [ebp - 0x18], esi
mov esi, edi
mov edi, dword [ebp - 0x18]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call dword [ebx + 0x210]
mov edi, dword [ebx + 0x68]
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp - 0x148]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [ebp - 0x24c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
xor esi, esi
push esi
push eax
push dword [ebx + 0xb8]
call sym.HHA.dll_Ordinal_315
push esi
lea eax, [ebp - 0x148]
push esi
push eax
push dword [ebx + 0x7f8]
call sym.HHA.dll_Ordinal_316
push esi
push 1
lea eax, [ebp - 0x148]
push esi
push eax
lea eax, [ebp - 0x24c]
push eax
mov ecx, ebx
call fcn.4531ac9a
test eax, eax
jne 0x453198d7
lea eax, [ebp - 0x148]
push eax
push 0x2138b
push ebx
call fcn.4531deee
add esp, 0xc
lea eax, [ebp - 0x148]
push eax
lea eax, [ebx + 0x2c8]
push eax
call sym.HHA.dll_Ordinal_46
mov eax, dword [ebx + 0x210]
and dword [ebx + 0x40c], 0
push 0x453636e4
call eax
test eax, eax
je 0x4531a7ca
mov ecx, dword [ebx + 0xd4]
push 1
pop eax
dec ecx
cmp ecx, eax
mov dword [ebp - 0x10], eax
jl 0x45319a5a
mov eax, dword [ebx + 0xc8]
mov ecx, dword [ebp - 0x10]
lea edx, [ebp - 0x24c]
push 0
mov edi, dword [eax + ecx*4]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [ebx + 0xb8]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x24c]
push ecx
push eax
call sym.HHA.dll_Ordinal_315
lea edi, [ebp - 0x24c]
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp - 0x148]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0
mov eax, ecx
mov esi, edi
mov edi, edx
push 0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [ebp - 0x148]
push eax
and ecx, 3
push dword [ebx + 0xb8]
rep movsb byte es:[edi], byte [esi]
call sym.HHA.dll_Ordinal_316
lea eax, [ebp - 0x148]
push eax
call sym.HHA.dll_Ordinal_318
push eax
call dword [ebx + 0x210]
push dword [ebp - 0x10]
lea eax, [ebp - 0x148]
mov ecx, ebx
push 1
push 1
push eax
lea eax, [ebp - 0x24c]
push eax
call fcn.4531ac9a
test eax, eax
jne 0x453199e8
lea eax, [ebp - 0x148]
push eax
lea eax, [ebx + 0x2c8]
push eax
call sym.HHA.dll_Ordinal_46
lea eax, [ebp - 0x148]
push eax
push 0x2138b
push ebx
call fcn.4531deee
add esp, 0xc
jmp 0x45319a2b
cmp dword [ebx + 4], 0
je 0x45319a2b
mov eax, dword [ebx + 0x20c]
lea ecx, [ebp - 0x148]
push ecx
call eax
mov edi, dword [ebx + 0x408]
test edi, edi
je 0x45319a14
lea eax, [ebp - 0x148]
push eax
push edi
call sym.HHA.dll_Ordinal_65
mov esi, 0x45366658
push esi
call dword [ebx + 0x20c]
test edi, edi
je 0x45319a2b
push esi
push edi
call sym.HHA.dll_Ordinal_65
mov eax, dword [ebx + 0x210]
and dword [ebx + 0x40c], 0
push 0x453636e4
call eax
test eax, eax
je 0x4531a7ca
mov eax, dword [ebx + 0xd4]
inc dword [ebp - 0x10]
dec eax
cmp dword [ebp - 0x10], eax
jle 0x45319908
and dword [ebx + 0x40c], 0
cmp dword [ebx + 0x18], 0
je 0x45319c82
mov eax, dword [ebx + 0x414]
mov ecx, dword [eax + 0x14]
add ecx, 0xfffffffe
cmp ecx, 1
jle 0x45319ab3
mov eax, dword [eax + 8]
dec ecx
mov dword [ebp - 0x14], ecx
lea esi, [eax + 4]
lea edi, [eax + 8]
mov eax, dword [esi]
cmp word [eax + 0x12], 0
je 0x45319aa8
mov ecx, dword [edi]
mov dl, byte [eax + 0x15]
cmp dl, byte [ecx + 0x15]
jb 0x45319aa8
mov cl, byte [eax + 0x17]
and cl, 0xfe
xor cl, 1
mov byte [eax + 0x17], cl
add esi, 4
add edi, 4
dec dword [ebp - 0x14]
jne 0x45319a89
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x45319ac5
xor ecx, ecx
cmp byte [eax], cl
setne cl
mov eax, ecx
jmp 0x45319ac7
xor eax, eax
test eax, eax
je 0x45319ad0
mov edi, dword [ebx + 0x64]
jmp 0x45319ad5
mov edi, str.toc.hhc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [ebp - 0x24c]
mov eax, ecx
mov esi, edi
mov edi, edx
push 0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [ebp - 0x24c]
push eax
and ecx, 3
push dword [ebx + 0xb8]
rep movsb byte es:[edi], byte [esi]
call sym.HHA.dll_Ordinal_315
mov esi, dword [ebx + 0x414]
lea eax, [ebp - 0x24c]
push eax
mov ecx, esi
call fcn.4531a7f8
push 0
mov ecx, esi
push dword [esi + 0x88]
call fcn.45327cc0
test eax, eax
je 0x45319c2a
mov eax, esi
or ecx, 0xffffffff
lea edx, [ebp - 0x24c]
mov edi, dword [eax + 0x88]
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [ebp - 0x24c]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
call sym.HHA.dll_Ordinal_318
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp - 0x148]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 1
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
pop eax
and ecx, 3
push 0
rep movsb byte es:[edi], byte [esi]
mov dword [ebx + 0x420], eax
push eax
lea eax, [ebp - 0x148]
push 0
push eax
lea eax, [ebp - 0x24c]
push eax
mov ecx, ebx
call fcn.4531ac9a
test eax, eax
jne 0x45319be4
lea eax, [ebp - 0x148]
push eax
lea eax, [ebx + 0x2c8]
push eax
call sym.HHA.dll_Ordinal_46
lea eax, [ebp - 0x148]
push eax
push 0x2138b
push ebx
call fcn.4531deee
add esp, 0xc
jmp 0x45319c21
mov eax, dword [ebx + 0x20c]
lea ecx, [ebp - 0x148]
push ecx
call eax
mov edi, dword [ebx + 0x408]
test edi, edi
je 0x45319c0a
lea eax, [ebp - 0x148]
push eax
push edi
call sym.HHA.dll_Ordinal_65
mov esi, 0x45366658
push esi
call dword [ebx + 0x20c]
test edi, edi
je 0x45319c21
push esi
push edi
call sym.HHA.dll_Ordinal_65
and dword [ebx + 0x420], 0
jmp 0x45319c82
mov eax, dword [ebx + 0x414]
push dword [eax + 0x88]
lea eax, [ebx + 0x2c8]
push eax
call sym.HHA.dll_Ordinal_46
mov esi, dword [ebx + 0x46c]
lea eax, [ebp - 0x148]
push eax
push 0x1d82d
call sym.HHA.dll_Ordinal_76
push eax
push esi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push esi
call dword [ebx + 0x20c]
mov eax, dword [ebx + 0x408]
test eax, eax
je 0x45319c7c
push esi
push eax
call sym.HHA.dll_Ordinal_65
inc dword [ebx + 0x3e0]
mov ecx, dword [ebx + 0x224]
push 1
pop eax
dec ecx
cmp ecx, eax
mov dword [ebp - 0x10], eax
jl 0x45319de1
mov eax, dword [ebx + 0x218]
mov ecx, dword [ebp - 0x10]
lea edx, [ebp - 0x24c]
push 0
mov edi, dword [eax + ecx*4]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [ebp - 0x148]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebp - 0x24c]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [ebp - 0x24c]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebx + 0xb8]
push esi
call sym.HHA.dll_Ordinal_315
xor edi, edi
lea eax, [ebp - 0x148]
push edi
push edi
push eax
push esi
call sym.HHA.dll_Ordinal_316
lea eax, [ebp - 0x148]
push eax
call sym.HHA.dll_Ordinal_318
push eax
call dword [ebx + 0x210]
push edi
push edi
lea eax, [ebp - 0x148]
push edi
push eax
lea eax, [ebp - 0x24c]
push eax
mov ecx, ebx
call fcn.4531ac9a
test eax, eax
jne 0x45319d6e
lea eax, [ebp - 0x148]
push eax
lea eax, [ebx + 0x2c8]
push eax
call sym.HHA.dll_Ordinal_46
lea eax, [ebp - 0x148]
push eax
push 0x2138b
push ebx
call fcn.4531deee
add esp, 0xc
jmp 0x45319db1
cmp dword [ebx + 4], 0
je 0x45319db1
mov eax, dword [ebx + 0x20c]
lea ecx, [ebp - 0x148]
push ecx
call eax
mov edi, dword [ebx + 0x408]
test edi, edi
je 0x45319d9a
lea eax, [ebp - 0x148]
push eax
push edi
call sym.HHA.dll_Ordinal_65
mov esi, 0x45366658
push esi
call dword [ebx + 0x20c]
test edi, edi
je 0x45319db1
push esi
push edi
call sym.HHA.dll_Ordinal_65
and dword [ebx + 0x40c], 0
push 0x453636e4
call dword [ebx + 0x210]
test eax, eax
je 0x4531a7ca
mov eax, dword [ebx + 0x224]
inc dword [ebp - 0x10]
dec eax
cmp dword [ebp - 0x10], eax
jle 0x45319c97
push 1
pop eax
mov ecx, dword [ebx + 0x27c]
mov dword [ebp - 0x10], eax
dec ecx
cmp ecx, eax
jl 0x45319f3a
mov eax, dword [ebx + 0x270]
mov ecx, dword [ebp - 0x10]
lea edx, [ebp - 0x24c]
push 0
mov edi, dword [eax + ecx*4]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [ebp - 0x148]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebp - 0x24c]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [ebp - 0x24c]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebx + 0xb8]
push esi
call sym.HHA.dll_Ordinal_315
xor edi, edi
lea eax, [ebp - 0x148]
push edi
push edi
push eax
push esi
call sym.HHA.dll_Ordinal_316
lea eax, [ebp - 0x148]
push eax
call sym.HHA.dll_Ordinal_318
push eax
call dword [ebx + 0x210]
push edi
push edi
lea eax, [ebp - 0x148]
push edi
push eax
lea eax, [ebp - 0x24c]
push eax
mov ecx, ebx
call fcn.4531ac9a
test eax, eax
jne 0x45319eca
lea eax, [ebp - 0x148]
push eax
lea eax, [ebx + 0x2c8]
push eax
call sym.HHA.dll_Ordinal_46
lea eax, [ebp - 0x148]
push eax
push 0x2138b
push ebx
call fcn.4531deee
add esp, 0xc
jmp 0x45319f0d
cmp dword [ebx + 4], 0
je 0x45319f0d
mov eax, dword [ebx + 0x20c]
lea ecx, [ebp - 0x148]
push ecx
call eax
mov edi, dword [ebx + 0x408]
test edi, edi
je 0x45319ef6
lea eax, [ebp - 0x148]
push eax
push edi
call sym.HHA.dll_Ordinal_65
mov esi, 0x45366658
push esi
call dword [ebx + 0x20c]
test edi, edi
je 0x45319f0d
push esi
push edi
call sym.HHA.dll_Ordinal_65
and dword [ebx + 0x40c], 0
push 0x453636e4
call dword [ebx + 0x210]
test eax, eax
je 0x4531a7ca
mov eax, dword [ebx + 0x27c]
inc dword [ebp - 0x10]
dec eax
cmp dword [ebp - 0x10], eax
jle 0x45319df3
xor esi, esi
mov ecx, ebx
mov dword [ebx + 0x40c], esi
call fcn.4531caea
mov ecx, ebx
call fcn.4531c8aa
mov ecx, ebx
call fcn.4531dbb9
mov ecx, ebx
call fcn.4531816e
push 0x453636e4
call dword [ebx + 0x210]
test eax, eax
jne 0x4531a001
mov ecx, ebx
call fcn.4531b828
push 0x1d838
call sym.HHA.dll_Ordinal_76
mov edi, eax
push edi
call dword [ebx + 0x20c]
mov eax, dword [ebx + 0x408]
cmp eax, esi
je 0x45319f9c
push edi
push eax
call sym.HHA.dll_Ordinal_65
mov eax, dword [ebx + 0x48c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebx + 0x490]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov esi, dword [ebx + 0x4e0]
mov ecx, esi
call fcn.45322bd9
xor edi, edi
cmp esi, edi
je 0x45319fdb
mov ecx, esi
call fcn.4532297a
push esi
call fcn.45341eb0
pop ecx
mov dword [ebx + 0x4e0], edi
mov esi, dword [ebx + 0x4e4]
cmp esi, edi
je 0x45319ff9
mov ecx, esi
call fcn.4532297a
push esi
call fcn.45341eb0
pop ecx
mov dword [ebx + 0x4e4], edi
cmp dword [ebp - 0x24], edi
jmp 0x4531a58f
cmp dword [ebx + 0x18], esi
mov dword [ebp - 0x14], esi
je 0x4531a017
mov eax, dword [ebx + 0x414]
mov dword [ebp - 0x10], eax
jmp 0x4531a0d1
mov eax, dword [ebx + 0x64]
cmp eax, esi
je 0x4531a029
xor ecx, ecx
cmp byte [eax], cl
setne cl
mov eax, ecx
jmp 0x4531a02b
xor eax, eax
cmp eax, esi
je 0x4531a0ce
push 0xe8
call fcn.45342660
pop ecx
mov dword [ebp - 0x18], eax
cmp eax, esi
mov byte [ebp - 4], 2
je 0x4531a056
push esi
mov ecx, eax
call fcn.45326360
mov dword [ebp - 0x1c], eax
jmp 0x4531a059
mov dword [ebp - 0x1c], esi
mov eax, dword [ebp - 0x1c]
mov edi, dword [ebx + 0x64]
mov dword [ebp - 0x10], eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp - 0x350]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0
mov eax, ecx
mov esi, edi
mov edi, edx
mov byte [ebp - 4], 1
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [ebp - 0x350]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebx + 0xb8]
mov dword [ebp - 0x14], 1
push esi
call sym.HHA.dll_Ordinal_315
mov ecx, dword [ebp - 0x1c]
push esi
lea eax, [ebp - 0x350]
push 0
push eax
call fcn.45323320
test eax, eax
jne 0x4531a0d1
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
je 0x4531a0c8
mov eax, dword [ecx]
push 1
call dword [eax]
and dword [ebp - 0x10], 0
jmp 0x4531a0d1
mov dword [ebp - 0x10], esi
mov ecx, dword [ebx + 0x4d0]
mov esi, 0x2138f
test ecx, ecx
je 0x4531a0f5
push dword [ebp - 0x10]
call fcn.45320525
test eax, eax
jge 0x4531a0f5
push esi
push ebx
call fcn.4531deee
pop ecx
pop ecx
push 0x1d836
call sym.HHA.dll_Ordinal_194
push eax
call dword [ebx + 0x210]
mov ecx, ebx
call fcn.45340ab8
mov ecx, dword [ebx + 0x4a0]
call fcn.4533fda2
mov ecx, ebx
call fcn.453402c1
cmp dword [ebx + 0x4d8], 0
je 0x4531a322
mov eax, dword [ebx + 0x48c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebx + 0x490]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
cmp dword [ebx + 0x4dc], 0
je 0x4531a15e
push 0x1d837
call sym.HHA.dll_Ordinal_194
push eax
call dword [ebx + 0x210]
mov eax, dword [ebx + 0x484]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x14]
test eax, eax
jge 0x4531a17b
push 0x21390
push ebx
call fcn.4531deee
pop ecx
pop ecx
mov eax, dword [ebx + 0x484]
push dword [ebx + 0x488]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x28]
mov eax, dword [ebx + 0x498]
test eax, eax
je 0x4531a19d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebx + 0x49c]
test eax, eax
je 0x4531a1ad
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edi, dword [ebx + 0x4e4]
test edi, edi
mov ecx, edi
jne 0x4531a1bf
mov ecx, dword [ebx + 0x4e0]
mov esi, dword [ebx + 0x6f0]
mov eax, str._WWKeywordLinksBTree
push eax
push ecx
push eax
push esi
call fcn.4531dd9a
test edi, edi
mov ecx, edi
jne 0x4531a1df
mov ecx, dword [ebx + 0x4e0]
mov eax, str._WWKeywordLinksData
push eax
push ecx
push eax
push esi
call fcn.4531dd9a
test eax, eax
je 0x4531a22b
mov eax, dword [ebx + 0x68]
test eax, eax
je 0x4531a203
xor ecx, ecx
cmp byte [eax], cl
sete cl
mov eax, ecx
jmp 0x4531a206
push 1
pop eax
test eax, eax
je 0x4531a22b
push str._WWKeywordLinks
call sym.HHA.dll_Ordinal_23
mov dword [ebp - 0x18], eax
mov eax, dword [ebx + 0x68]
test eax, eax
je 0x4531a225
push eax
call fcn.45341e40
pop ecx
mov eax, dword [ebp - 0x18]
mov dword [ebx + 0x68], eax
test edi, edi
mov ecx, edi
jne 0x4531a237
mov ecx, dword [ebx + 0x4e0]
mov eax, str._WWKeywordLinksMap
push eax
push ecx
push eax
push esi
call fcn.4531dd9a
test edi, edi
mov ecx, edi
jne 0x4531a251
mov ecx, dword [ebx + 0x4e0]
mov eax, str._WWKeywordLinksProperty
push eax
push ecx
push eax
push esi
call fcn.4531dd9a
test edi, edi
mov ecx, edi
jne 0x4531a26b
mov ecx, dword [ebx + 0x4e0]
mov eax, str._WWAssociativeLinksBTree
push eax
push ecx
push eax
push esi
call fcn.4531dd9a
test edi, edi
mov ecx, edi
jne 0x4531a285
mov ecx, dword [ebx + 0x4e0]
mov eax, str._WWAssociativeLinksData
push eax
push ecx
push eax
push esi
call fcn.4531dd9a
test edi, edi
mov ecx, edi
jne 0x4531a29f
mov ecx, dword [ebx + 0x4e0]
mov eax, str._WWAssociativeLinksMap
push eax
push ecx
push eax
push esi
call fcn.4531dd9a
test edi, edi
mov ecx, edi
jne 0x4531a2b9
mov ecx, dword [ebx + 0x4e0]
mov eax, str._WWAssociativeLinksProperty
push eax
push ecx
push eax
push esi
call fcn.4531dd9a
test edi, edi
mov eax, edi
jne 0x4531a2d3
mov eax, dword [ebx + 0x4e0]
mov esi, str._OBJINST
push esi
push eax
push esi
push dword [ebx + 0x6f0]
call fcn.4531dd9a
test edi, edi
mov eax, edi
jne 0x4531a2f2
mov eax, dword [ebx + 0x4e0]
mov edi, dword [ebx + 0x4e0]
cmp eax, edi
je 0x4531a30a
push esi
push edi
push esi
push dword [ebx + 0x6f0]
call fcn.4531dd9a
mov eax, str._FIftiMain
push eax
push edi
push eax
push dword [ebx + 0x6f0]
call fcn.4531dd9a
mov esi, 0x2138f
mov ecx, dword [ebx + 0x4d0]
test ecx, ecx
je 0x4531a33e
call fcn.45320a74
test eax, eax
jne 0x4531a33e
push esi
push ebx
call fcn.4531deee
pop ecx
pop ecx
cmp dword [ebx + 0x58], 0
je 0x4531a38f
mov ecx, dword [ebx + 0x5c]
test ecx, ecx
je 0x4531a38f
mov eax, dword [ebx + 0x4e4]
test eax, eax
jne 0x4531a35b
mov eax, dword [ebx + 0x4e0]
push 0
push eax
push str.predef.chs
push ecx
mov ecx, ebx
call fcn.4531e097
test eax, eax
je 0x4531a38f
push dword [ebx + 0x5c]
push 0x2138b
push ebx
call fcn.4531deee
add esp, 0xc
lea eax, [ebx + 0x2c8]
push dword [ebx + 0x5c]
push eax
call sym.HHA.dll_Ordinal_46
push dword [ebp - 0x10]
mov ecx, ebx
call fcn.4531cd53
mov ecx, ebx
call fcn.45319401
test eax, eax
jne 0x4531a3ad
push esi
push ebx
call fcn.4531deee
pop ecx
pop ecx
mov ecx, ebx
call fcn.4531b828
push 0x1d84c
call sym.HHA.dll_Ordinal_194
push eax
call dword [ebx + 0x210]
mov esi, dword [ebx + 0x4e0]
mov ecx, esi
call fcn.45322bd9
mov edi, dword [ebx + 0x7f8]
mov ecx, esi
push edi
call fcn.45322b9a
cmp dword [ebx + 0x4e4], 0
je 0x4531a438
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [ebp - 0x454]
mov eax, ecx
mov esi, edi
mov edi, edx
push str..chi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [ebp - 0x454]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
call sym.HHA.dll_Ordinal_4
mov esi, dword [ebx + 0x4e4]
mov ecx, esi
call fcn.45322bd9
lea eax, [ebp - 0x454]
mov ecx, esi
push eax
call fcn.45322b9a
mov esi, dword [ebx + 0x4e0]
test esi, esi
je 0x4531a457
mov ecx, esi
call fcn.4532297a
push esi
call fcn.45341eb0
and dword [ebx + 0x4e0], 0
pop ecx
mov esi, dword [ebx + 0x4e4]
test esi, esi
je 0x4531a476
mov ecx, esi
call fcn.4532297a
push esi
call fcn.45341eb0
and dword [ebx + 0x4e4], 0
pop ecx
cmp dword [ebp - 0x14], 0
je 0x4531a489
mov ecx, dword [ebp - 0x10]
test ecx, ecx
je 0x4531a489
mov eax, dword [ecx]
push 1
call dword [eax]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x28]
xor edx, edx
mov ecx, 0x3e8
push 0x3c
div ecx
xor edx, edx
pop esi
push 0x1d839
mov ecx, eax
div esi
mov dword [ebp - 0x20], eax
imul eax, eax, 0x3c
sub ecx, eax
mov dword [ebp - 0x14], ecx
call sym.HHA.dll_Ordinal_194
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp - 0x34]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [ebx + 0x330]
and ecx, 3
dec eax
test eax, eax
rep movsb byte es:[edi], byte [esi]
je 0x4531a510
push 1
pop edi
cmp eax, edi
jl 0x4531a510
push 8
pop esi
mov eax, dword [ebx + 0x324]
mov ecx, ebx
push dword [esi + eax]
call fcn.45317a54
mov eax, dword [ebx + 0x330]
inc edi
inc edi
add esi, 8
dec eax
cmp edi, eax
jle 0x4531a4f0
cmp dword [ebx + 0x3e0], 0
je 0x4531a5a4
push 0x1d83a
call sym.HHA.dll_Ordinal_76
mov edi, eax
mov eax, dword [ebx + 0x20c]
push edi
mov dword [ebp - 0x1c], eax
call eax
mov esi, dword [ebx + 0x408]
test esi, esi
je 0x4531a546
push edi
push esi
call sym.HHA.dll_Ordinal_65
mov eax, dword [ebx + 0x2d8]
dec eax
cmp eax, 1
jl 0x4531a58b
mov ebx, dword [ebx + 0x2cc]
mov dword [ebp - 0x14], eax
add ebx, 4
mov edi, dword [ebx]
push edi
call dword [ebp - 0x1c]
test esi, esi
je 0x4531a56f
push edi
push esi
call sym.HHA.dll_Ordinal_65
mov edi, 0x45366658
push edi
call dword [ebp - 0x1c]
test esi, esi
je 0x4531a583
push edi
push esi
call sym.HHA.dll_Ordinal_65
add ebx, 4
dec dword [ebp - 0x14]
jne 0x4531a55e
cmp dword [ebp - 0x24], 0
je 0x4531a59a
push dword [ebp - 0x24]
call fcn.45341e40
pop ecx
mov eax, 0x80004005
jmp 0x4531a7bb
cmp dword [ebp - 0x14], 1
mov ecx, 0x453636e4
je 0x4531a5b2
lea ecx, [ebp - 0x34]
cmp dword [ebp - 0x20], 1
mov eax, 0x453636e4
je 0x4531a5c0
lea eax, [ebp - 0x34]
push ecx
mov edi, dword [ebx + 0x46c]
push dword [ebp - 0x14]
push eax
push dword [ebp - 0x20]
call sym.HHA.dll_Ordinal_25
push eax
push 0x1d83b
call sym.HHA.dll_Ordinal_76
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
push eax
push edi
call esi
mov eax, dword [ebx + 0x20c]
add esp, 0x18
mov dword [ebp - 0x1c], eax
push edi
call eax
mov eax, dword [ebx + 0x408]
test eax, eax
mov dword [ebp - 0x10], eax
je 0x4531a60b
push edi
push eax
call sym.HHA.dll_Ordinal_65
mov eax, dword [ebx + 0x224]
lea ecx, [eax - 1]
cmp ecx, 1
jne 0x4531a623
mov eax, 0x453636e4
mov dword [ebp - 0x14], eax
jmp 0x4531a62e
lea eax, [ebp - 0x34]
mov dword [ebp - 0x14], eax
mov eax, 0x453636e4
cmp dword [ebx + 0x3f0], 1
jne 0x4531a63c
mov dword [ebp - 0x20], eax
jmp 0x4531a642
lea edx, [ebp - 0x34]
mov dword [ebp - 0x20], edx
cmp dword [ebx + 0x3ec], 1
jne 0x4531a650
mov dword [ebp - 0x28], eax
jmp 0x4531a656
lea edx, [ebp - 0x34]
mov dword [ebp - 0x28], edx
cmp dword [ebx + 0x4ac], 1
je 0x4531a662
lea eax, [ebp - 0x34]
push dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
push ecx
call sym.HHA.dll_Ordinal_25
push eax
push dword [ebp - 0x20]
push dword [ebx + 0x3f0]
call sym.HHA.dll_Ordinal_25
push eax
push dword [ebp - 0x28]
push dword [ebx + 0x3ec]
call sym.HHA.dll_Ordinal_25
push eax
push dword [ebp - 0x18]
push dword [ebx + 0x4ac]
call sym.HHA.dll_Ordinal_25
push eax
push 0x1d83c
call sym.HHA.dll_Ordinal_76
push eax
push edi
call esi
add esp, 0x28
push edi
call dword [ebp - 0x1c]
cmp dword [ebp - 0x10], 0
je 0x4531a6c0
push edi
push dword [ebp - 0x10]
call sym.HHA.dll_Ordinal_65
push 0x40
push dword [ebx + 0x7f8]
call dword [sym.imp.KERNEL32.dll__lopen]
cmp eax, 0xffffffff
mov dword [ebp - 0x18], eax
je 0x4531a7aa
push 0
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
push eax
mov dword [ebp - 0x28], eax
call sym.HHA.dll_Ordinal_25
push eax
push dword [ebx + 0x7f8]
push 0x1d83d
call sym.HHA.dll_Ordinal_76
push eax
push edi
call esi
add esp, 0x10
push edi
call dword [ebp - 0x1c]
cmp dword [ebp - 0x10], 0
je 0x4531a717
push edi
push dword [ebp - 0x10]
call sym.HHA.dll_Ordinal_65
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll__lclose]
mov ebx, dword [ebx + 0x400]
push 0x1d83f
sub ebx, dword [ebp - 0x28]
lea ecx, [ebp - 0x14]
call sym.HHA.dll_Ordinal_14
push 0x1d83e
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 3
call sym.HHA.dll_Ordinal_14
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 4
test ebx, ebx
jl 0x4531a755
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov eax, ebx
cdq
xor eax, edx
sub eax, edx
push eax
call sym.HHA.dll_Ordinal_25
push eax
push dword [ebp - 0x18]
push 0x1d840
call sym.HHA.dll_Ordinal_76
push eax
push edi
call esi
add esp, 0x10
push edi
call dword [ebp - 0x1c]
xor esi, esi
cmp dword [ebp - 0x10], esi
je 0x4531a78e
push edi
push dword [ebp - 0x10]
call sym.HHA.dll_Ordinal_65
cmp dword [ebp - 0x20], esi
je 0x4531a79c
push dword [ebp - 0x20]
call fcn.45341e40
pop ecx
cmp dword [ebp - 0x14], esi
je 0x4531a7aa
push dword [ebp - 0x14]
call fcn.45341e40
pop ecx
cmp dword [ebp - 0x24], 0
je 0x4531a7b9
push dword [ebp - 0x24]
call fcn.45341e40
pop ecx
xor eax, eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret
mov ecx, ebx
call fcn.4531b828
push 0x1d838
call sym.HHA.dll_Ordinal_76
mov esi, eax
push esi
call dword [ebx + 0x20c]
mov eax, dword [ebx + 0x408]
test eax, eax
je 0x45319f9c
push esi
jmp 0x45319f96