Function at 0x452500
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, dword [ebp + 0x14]
sub esp, 0x10
test dword [ebp + 0xc], 0xffffff3c
push esi
push edi
je 0x452523
mov eax, 0x8876086c
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10
xor edi, edi
cmp eax, edi
je 0x452516
mov esi, ebx
mov dword [eax], edi
call fcn.00452460
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
lea edx, [ebx + 0x74]
lea esi, [ebx + 0x78]
mov dword [ebx + 4], eax
mov dword [ebx + 8], edi
mov dword [ebx + 0x38], edi
mov dword [ebx], eax
mov dword [ebx + 0x3c], edi
mov dword [ebx + 0x60], edi
mov dword [ebx + 0x64], edi
mov dword [ebx + 0x68], edi
mov dword [ebx + 0x6c], edi
mov dword [ebx + 0x70], edi
mov dword [ebx + 0x54], edi
mov dword [ebx + 0x58], edi
mov dword [ebx + 0x5c], edi
mov dword [ebx + 0x44], ecx
mov dword [edx], edi
mov dword [esi], edi
mov dword [ebx + 0x40], 0xffffffff
mov dword [ebx + 0x7c], edi
mov ecx, dword [eax + 0x894]
cmp dword [ecx + 0x20], edi
jne 0x452585
call fcn.00535d20
mov esi, dword [ebx + 4]
mov edi, 2
call fcn.005354f0
test eax, eax
jl 0x452a00
lea eax, [ebp + 8]
mov edi, ebx
call fcn.00452b20
cmp dword [ebx + 0x10], 9
lea edi, [ebx + 0x10]
jne 0x4525cc
mov eax, dword [ebx + 0x18]
lea edx, [ebp - 0xc]
push edx
push 1
push eax
call fcn.00450ab0
test eax, eax
jl 0x4525cc
mov ecx, dword [ebp - 8]
mov dword [edi], 0
mov dword [ebx + 0x18], ecx
cmp dword [edi], 0
je 0x4525f9
mov edx, dword [ebx]
push 0x43949c
push 0x7d1
push edx
mov eax, edi
call fcn.00533250
add esp, 0xc
mov esi, 0x88760b59
mov dword [ebx + 0x54], 1
jmp 0x4529dd
cmp dword [ebx + 0x18], 0xfffe0100
jne 0x45261f
mov esi, dword [ebx]
push 0x4394b4
push 0x7df
mov eax, edi
call fcn.00533490
add esp, 8
mov dword [ebx + 0x18], 0xfffe0101
cmp dword [ebx + 0x18], 0xffff0100
jne 0x452645
mov esi, dword [ebx]
push 0x4394e0
push 0x7df
mov eax, edi
call fcn.00533490
add esp, 8
mov dword [ebx + 0x18], 0xffff0101
cmp dword [ebx + 0x18], 0xffff0202
jne 0x452655
mov dword [ebx + 0x18], 0xffff0201
mov al, byte [ebp + 0xc]
test al, 0x40
je 0x45266d
mov ecx, dword [ebx + 0x18]
and ecx, 0xffff0000
cmp ecx, 0xfffe0000
je 0x452682
test al, al
jns 0x452686
mov edx, dword [ebx + 0x18]
and edx, 0xffff0000
cmp edx, 0xffff0000
jne 0x452686
or dword [ebx + 0x44], 1
mov eax, dword [ebx + 0x18]
cmp eax, 0xffff0101
ja 0x45271e
je 0x452712
cmp eax, 0xfffe02ff
ja 0x4526e8
je 0x4526dc
cmp eax, 0xfffe0101
je 0x4526d0
cmp eax, 0xfffe0200
je 0x4526c4
cmp eax, 0xfffe0201
jne case.0x45273a.65275
mov dword [ebx + 0x40], 2
jmp 0x4527c4
mov dword [ebx + 0x40], 1
jmp 0x4527c4
mov dword [ebx + 0x40], 0
jmp 0x4527c4
mov dword [ebx + 0x40], 3
jmp 0x4527c4
cmp eax, 0xfffe0300
je 0x452706
cmp eax, 0xfffe03ff
jne case.0x45273a.65275
mov dword [ebx + 0x40], 5
jmp 0x4527c4
mov dword [ebx + 0x40], 4
jmp 0x4527c4
mov dword [ebx + 0x40], 6
jmp 0x4527c4
cmp eax, 0xffff0201
ja 0x45276e
je 0x452765
add eax, 0xfefe
cmp eax, 0xfe
ja case.0x45273a.65275
movzx eax, byte [eax + 0x452a1c]
jmp dword [eax*4 + 0x452a08]
mov dword [ebx + 0x40], 7
jmp 0x4527c4
mov dword [ebx + 0x40], 8
jmp 0x4527c4
mov dword [ebx + 0x40], 9
jmp 0x4527c4
mov dword [ebx + 0x40], 0xa
jmp 0x4527c4
mov dword [ebx + 0x40], 0xb
jmp 0x4527c4
cmp eax, 0xffff02ff
je 0x4527bd
cmp eax, 0xffff0300
je 0x4527b4
cmp eax, 0xffff03ff
je 0x4527ab
mov ecx, dword [ebx]
push 0x43950c
push 0x7d2
push ecx
mov eax, edi
call fcn.00533250
add esp, 0xc
mov esi, 0x88760b59
mov dword [ebx + 0x54], 1
jmp 0x4529dd
mov dword [ebx + 0x40], 0xe
jmp 0x4527c4
mov dword [ebx + 0x40], 0xd
jmp 0x4527c4
mov dword [ebx + 0x40], 0xc
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x45286a
or dword [ebx + 0x44], 2
push 0xb8
mov dword [ebx + 0x84], eax
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
test eax, eax
je 0x4527f4
mov edx, dword [ebx + 0x40]
call fcn.004518f0
jmp 0x4527f6
xor eax, eax
mov dword [ebx + 0x80], eax
test eax, eax
jne 0x45280d
mov eax, 0x8007000e
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebx + 0x40]
test eax, eax
jl 0x452831
cmp eax, 5
jg 0x452831
movzx edx, byte [ebx + 0x19]
movzx eax, byte [ebx + 0x18]
or edx, 0x7ffe00
shl edx, 8
or edx, eax
mov dword [ebx + 0x18], edx
jmp 0x45286a
cmp eax, 0xa
jl 0x452853
cmp eax, 0xe
jg 0x452853
movzx ecx, byte [ebx + 0x19]
movzx edx, byte [ebx + 0x18]
or ecx, 0x7fff00
shl ecx, 8
or ecx, edx
mov dword [ebx + 0x18], ecx
jmp 0x45286a
mov eax, dword [ebx]
push 0x439528
push 0x7d1
push eax
mov eax, edi
call fcn.00533250
add esp, 0xc
test byte [ebx + 0x44], 2
jne 0x4528c1
push 0x439590
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test eax, eax
jne 0x45288e
push 0x439590
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
test eax, eax
je 0x4528c1
push 0x43959c
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x4528c1
call eax
mov dword [ebx + 8], eax
test eax, eax
je 0x4528c1
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push 0
push ebx
push 0x453550
push eax
call edx
mov esi, eax
test esi, esi
jl 0x4529d2
mov eax, dword [ebx + 0x18]
push eax
mov eax, ebx
call fcn.004550d0
mov esi, eax
test esi, esi
jl 0x4529d2
mov esi, ebx
call fcn.00455000
mov esi, eax
test esi, esi
jl 0x4529d2
cmp dword [ebx + 0x54], 0
jne 0x452905
mov ecx, ebx
call fcn.00456560
test eax, eax
je 0x4528ff
mov dword [ebx + 0x54], 1
cmp dword [ebx + 0x54], 0
je 0x452916
mov esi, 0x88760b59
mov dword [ebx + 0x54], 1
jmp 0x4529dd
mov edx, dword [ebx + 0x74]
test edx, edx
je 0x452950
mov ecx, dword [ebx + 4]
mov ecx, dword [ecx + 0x88c]
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x45293c
mov ecx, eax
mov eax, dword [ecx + 0x88]
test eax, eax
jne 0x452930
mov ecx, dword [ecx]
cmp edx, ecx
jae 0x452950
mov eax, dword [ebx + 0x78]
add eax, edx
cmp eax, ecx
jbe 0x452950
sub ecx, edx
mov dword [ebx + 0x78], ecx
cmp dword [ebx + 0x80], 0
je 0x452965
push ebx
call fcn.00455a30
mov esi, eax
test esi, esi
jl 0x4529d2
test byte [ebx + 0x44], 1
je 0x452977
push ebx
call fcn.00455d30
mov esi, eax
test esi, esi
jl 0x4529d2
push 0xffff
mov eax, ebx
call fcn.004550d0
mov esi, eax
test esi, esi
jl 0x4529d2
mov esi, ebx
call fcn.00455000
mov esi, eax
test esi, esi
jl 0x4529d2
mov eax, dword [ebx + 8]
test eax, eax
je 0x4529ab
mov ecx, dword [eax]
mov edx, dword [ecx + 0x14]
push eax
call edx
mov esi, eax
test esi, esi
jl 0x4529d2
mov eax, dword [ebx]
cmp dword [eax + 0x14], 0
je 0x4529c1
mov esi, 0x88760b59
mov dword [ebx + 0x54], 1
jmp 0x4529dd
mov ecx, dword [ebp + 0x14]
push ecx
mov esi, ebx
call fcn.004560c0
mov esi, eax
test esi, esi
jge 0x4529db
mov dword [ebx + 0x54], 1
jmp 0x4529dd
xor esi, esi
mov eax, dword [ebx + 8]
test eax, eax
je 0x4529f3
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [ebx + 8], 0
mov ecx, dword [ebx + 4]
push 0
push ecx
call fcn.00535be0
mov eax, esi
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10