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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x7c
mov esi, ecx
lea ecx, [esp + 0x4c]
call fcn.0045c980
lea ecx, [esp + 0x5c]
call fcn.0045c980
lea ecx, [esp + 0x6c]
call fcn.0045c980
mov ebp, dword [esi + 0x30]
mov ebx, dword [esi + 0x34]
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x3c]
mov edx, dword [esi + 0x58]
mov edi, dword [esi + 0x54]
mov dword [esp + 0x34], ebx
cmp ebx, ebp
jne 0x40261c
cmp eax, ecx
jne 0x40261c
mov bl, 1
cmp edx, edi
je 0x402b95
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x38], ebp
cmp dword [esp + 0x34], ebp
je 0x4026a5
lea edi, [esp + 0x50]
lea eax, [esi + 0x79]
mov dword [esp], eax
xor ebp, ebp
mov ebx, dword [esp + 0x38]
jmp 0x402667
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov ecx, edi
push edx
push eax
call fcn.00504a68
add ebx, 4
cmp ebx, dword [esi + 0x34]
je 0x4026a5
sub ebp, 1
jb 0x40268e
movzx eax, byte [esi + 0x78]
test al, 1
je 0x402680
mov edx, dword [esi + 0x80]
mov eax, dword [esi + 0x7c]
jmp 0x402685
shr eax, 1
mov edx, dword [esp]
mov ecx, edi
push eax
push edx
call fcn.00504a68
mov ecx, dword [ebx]
mov eax, dword [ecx]
call dword [eax + 0x10]
movzx edx, byte [eax + 4]
test dl, 1
jne 0x402650
add eax, 5
shr edx, 1
jmp 0x402656
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x28], eax
je 0x402728
mov ebp, dword [esi + 0x3c]
cmp ebp, dword [esi + 0x40]
je 0x402728
lea eax, [esi + 0x79]
mov dword [esp], eax
xor edi, edi
lea ebx, [esp + 0x60]
jmp 0x4026e7
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov ecx, ebx
push edx
push eax
call fcn.00504a68
add ebp, 4
cmp ebp, dword [esi + 0x40]
je 0x402728
sub edi, 1
jb 0x402710
movzx eax, byte [esi + 0x78]
test al, 1
je 0x402700
mov edx, dword [esi + 0x80]
mov eax, dword [esi + 0x7c]
jmp 0x402705
shr eax, 1
mov edx, dword [esp]
lea ecx, [esp + 0x50]
push eax
push edx
call fcn.00504a68
mov ecx, dword [ebp]
mov eax, dword [ecx]
call dword [eax + 0x10]
movzx edx, byte [eax + 4]
test dl, 1
jne 0x4026d0
add eax, 5
shr edx, 1
jmp 0x4026d6
mov eax, dword [esp + 0x2c]
cmp dword [esp + 0x30], eax
je 0x4027a5
mov ebx, dword [esi + 0x54]
cmp ebx, dword [esi + 0x58]
je 0x4027a5
lea edi, [esp + 0x70]
lea eax, [esi + 0x79]
mov dword [esp], eax
xor ebp, ebp
jmp 0x402767
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov ecx, edi
push edx
push eax
call fcn.00504a68
add ebx, 4
cmp ebx, dword [esi + 0x58]
je 0x4027a5
sub ebp, 1
jb 0x40278e
movzx eax, byte [esi + 0x78]
test al, 1
je 0x402780
mov edx, dword [esi + 0x80]
mov eax, dword [esi + 0x7c]
jmp 0x402785
shr eax, 1
mov edx, dword [esp]
mov ecx, edi
push eax
push edx
call fcn.00504a68
mov ecx, dword [ebx]
mov eax, dword [ecx]
call dword [eax + 0x10]
movzx edx, byte [eax + 4]
test dl, 1
jne 0x402750
add eax, 5
shr edx, 1
jmp 0x402756
movzx eax, byte [0x533388]
test al, al
je 0x402bbc
lea edi, [esp + 4]
mov ecx, edi
push 0x98
push 0x533ffc
call fcn.00451b90
test byte [esp + 8], 1
mov ebp, dword [esp + 0x38]
je 0x4027da
mov eax, dword [esp + 0x10]
jmp 0x4027de
lea eax, [esp + 9]
mov ebx, dword [esp + 0x90]
lea ecx, [esp + 0x3c]
push eax
call fcn.0045c9a0
mov ecx, edi
call fcn.0045cab0
cmp dword [esp + 0x34], ebp
je 0x40284d
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x28], eax
je 0x40284d
movzx eax, byte [0x533388]
test al, al
je 0x402cb4
lea ecx, [esp + 0x14]
push 0x95
push 0x533ffc
call fcn.00451b90
test byte [esp + 0x18], 1
je 0x40288d
mov eax, dword [esp + 0x20]
test byte [esp + 0x50], 1
jne 0x402898
lea ecx, [esp + 0x51]
test byte [esp + 0x60], 1
jne 0x4028a3
mov ebp, ebx
lea edx, [esp + 0x61]
jmp 0x4028a9
cmp dword [esp + 0x34], ebp
jne 0x4028f9
mov eax, dword [esp + 0x2c]
cmp dword [esp + 0x30], eax
jne 0x40299d
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x28], eax
jne 0x402a41
mov ebp, edi
mov edi, ebx
mov ecx, ebx
call fcn.004013e0
mov bl, 1
test al, al
je 0x402aea
jmp 0x402b8c
lea eax, [esp + 0x19]
test byte [esp + 0x50], 1
je 0x40283a
mov ecx, dword [esp + 0x58]
test byte [esp + 0x60], 1
je 0x402845
mov ebp, ebx
mov edx, dword [esp + 0x68]
push edx
push ecx
push eax
push edi
call fcn.0045cbe0
add esp, 0x10
lea ebx, [esp + 0x40]
movzx eax, byte [esp + 8]
test al, 1
je 0x4028cc
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
jmp 0x4028d2
shr eax, 1
lea edx, [esp + 9]
mov ecx, ebx
push eax
push edx
call fcn.00504a68
mov ecx, edi
call fcn.0045cab0
lea ecx, [esp + 0x14]
call fcn.0045cab0
mov ecx, ebx
push 0x5060e3
call fcn.00504a62
mov ebx, ebp
movzx eax, byte [0x533388]
test al, al
je 0x402bfa
lea ebp, [esp + 0x14]
mov ecx, ebp
push 0x93
push 0x533ffc
call fcn.00451b90
test byte [esp + 0x18], 1
je 0x402935
mov eax, dword [esp + 0x20]
test byte [esp + 0x50], 1
jne 0x402940
lea ecx, [esp + 0x51]
jmp 0x402944
lea eax, [esp + 0x19]
test byte [esp + 0x50], 1
je 0x40292f
mov ecx, dword [esp + 0x58]
push ecx
push eax
push edi
call fcn.0045cbe0
add esp, 0xc
lea ecx, [esp + 0x40]
movzx eax, byte [esp + 8]
test al, 1
je 0x402966
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
jmp 0x40296c
shr eax, 1
lea edx, [esp + 9]
push eax
push edx
call fcn.00504a68
mov ecx, edi
call fcn.0045cab0
mov ecx, ebp
call fcn.0045cab0
mov eax, dword [esp + 0x2c]
cmp dword [esp + 0x30], eax
je 0x402a25
lea ecx, [esp + 0x40]
push 0x5060e3
call fcn.00504a62
movzx eax, byte [0x533388]
test al, al
je 0x402c38
lea ebp, [esp + 0x14]
mov ecx, ebp
push 0x96
push 0x533ffc
call fcn.00451b90
test byte [esp + 0x18], 1
je 0x4029d9
mov eax, dword [esp + 0x20]
test byte [esp + 0x70], 1
jne 0x4029e4
lea ecx, [esp + 0x71]
jmp 0x4029e8
lea eax, [esp + 0x19]
test byte [esp + 0x70], 1
je 0x4029d3
mov ecx, dword [esp + 0x78]
push ecx
push eax
push edi
call fcn.0045cbe0
add esp, 0xc
lea ecx, [esp + 0x40]
movzx eax, byte [esp + 8]
test al, 1
je 0x402a0a
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
jmp 0x402a10
shr eax, 1
lea edx, [esp + 9]
push eax
push edx
call fcn.00504a68
mov ecx, edi
call fcn.0045cab0
mov ecx, ebp
call fcn.0045cab0
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x28], eax
je 0x402ac9
lea ecx, [esp + 0x40]
push 0x5060e3
call fcn.00504a62
movzx eax, byte [0x533388]
test al, al
je 0x402c76
lea ebp, [esp + 0x14]
mov ecx, ebp
push 0x94
push 0x533ffc
call fcn.00451b90
test byte [esp + 0x18], 1
je 0x402a7d
mov eax, dword [esp + 0x20]
test byte [esp + 0x60], 1
jne 0x402a88
lea ecx, [esp + 0x61]
jmp 0x402a8c
lea eax, [esp + 0x19]
test byte [esp + 0x60], 1
je 0x402a77
mov ecx, dword [esp + 0x68]
push ecx
push eax
push edi
call fcn.0045cbe0
add esp, 0xc
lea ecx, [esp + 0x40]
movzx eax, byte [esp + 8]
test al, 1
je 0x402aae
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
jmp 0x402ab4
shr eax, 1
lea edx, [esp + 9]
push eax
push edx
call fcn.00504a68
mov ecx, edi
call fcn.0045cab0
mov ecx, ebp
call fcn.0045cab0
mov ecx, ebx
call fcn.004013e0
test al, al
jne 0x402b7e
mov ebp, edi
mov edi, ebx
lea ecx, [esp + 0x40]
push 0x5060e3
call fcn.00504a62
movzx eax, byte [0x533388]
test al, al
je 0x402cf2
lea ecx, [esp + 0x14]
push 0x97
push 0x533ffc
call fcn.00451b90
test byte [esp + 0x18], 1
je 0x402b29
mov ebx, dword [esp + 0x20]
mov ecx, edi
call fcn.004013d0
test byte [eax + 4], 1
jne 0x402b3a
add eax, 5
jmp 0x402b3d
lea ebx, [esp + 0x19]
mov ecx, edi
call fcn.004013d0
test byte [eax + 4], 1
je 0x402b24
mov eax, dword [eax + 0xc]
push eax
push ebx
push ebp
call fcn.0045cbe0
add esp, 0xc
lea ecx, [esp + 0x40]
movzx eax, byte [esp + 8]
test al, 1
je 0x402b5f
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
jmp 0x402b65
shr eax, 1
lea edx, [esp + 9]
lea ebx, [esp + 0x14]
push eax
push edx
call fcn.00504a68
mov ecx, ebp
call fcn.0045cab0
mov ecx, ebx
call fcn.0045cab0
mov ecx, esi
lea eax, [esp + 0x3c]
push eax
call fcn.0043e530
xor ebx, ebx
lea ecx, [esp + 0x3c]
call fcn.0045cab0
lea ecx, [esp + 0x6c]
call fcn.0045cab0
lea ecx, [esp + 0x5c]
call fcn.0045cab0
lea ecx, [esp + 0x4c]
call fcn.0045cab0
mov eax, ebx
add esp, 0x7c
pop esi
pop edi
pop ebx
pop ebp
ret 4
push 0x533388
call sub.libc.dll___cxa_guard_acquire
add esp, 4
test eax, eax
je 0x4027b4
mov ecx, 0x533ffc
call fcn.00451820
push 0x402e60
call fcn.00401310
add esp, 4
push 0x533388
call sub.libc.dll___cxa_guard_release
add esp, 4
jmp 0x4027b4
push 0x533388
call sub.libc.dll___cxa_guard_acquire
add esp, 4
test eax, eax
je 0x402908
mov ecx, 0x533ffc
call fcn.00451820
push 0x402e60
call fcn.00401310
add esp, 4
push 0x533388
call sub.libc.dll___cxa_guard_release
add esp, 4
jmp 0x402908
push 0x533388
call sub.libc.dll___cxa_guard_acquire
add esp, 4
test eax, eax
je 0x4029ac
mov ecx, 0x533ffc
call fcn.00451820
push 0x402e60
call fcn.00401310
add esp, 4
push 0x533388
call sub.libc.dll___cxa_guard_release
add esp, 4
jmp 0x4029ac
push 0x533388
call sub.libc.dll___cxa_guard_acquire
add esp, 4
test eax, eax
je 0x402a50
mov ecx, 0x533ffc
call fcn.00451820
push 0x402e60
call fcn.00401310
add esp, 4
push 0x533388
call sub.libc.dll___cxa_guard_release
add esp, 4
jmp 0x402a50
push 0x533388
call sub.libc.dll___cxa_guard_acquire
add esp, 4
test eax, eax
je 0x402815
mov ecx, 0x533ffc
call fcn.00451820
push 0x402e60
call fcn.00401310
add esp, 4
push 0x533388
call sub.libc.dll___cxa_guard_release
add esp, 4
jmp 0x402815
push 0x533388
call sub.libc.dll___cxa_guard_acquire
add esp, 4
test eax, eax
je 0x402af9
mov ecx, 0x533ffc
call fcn.00451820
push 0x402e60
call fcn.00401310
add esp, 4
push 0x533388
call sub.libc.dll___cxa_guard_release
add esp, 4
jmp 0x402af9