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

Disassembly:
mov ecx, dword [0x8c8600]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 0xc]
jbe 0x452f69
sub esp, 0x44
mov eax, dword [0x8c8600]
mov eax, dword fs:[eax]
mov eax, dword [eax]
mov ecx, dword [eax + 0x18]
cmp dword [ecx], eax
jne 0x452f52
mov eax, dword [esp + 0x48]
lea edx, [eax - 1]
test eax, edx
jne 0x452f3c
mov edx, dword [0x8c8bd0]
test edx, edx
jne 0x452d4c
cmp eax, 0x8000
jae 0x452c5a
mov edx, eax
xor ebx, ebx
jmp 0x452e42
shr eax, 0xd
mov dword [esp + 0x1c], eax
mov dword [esp], eax
call fcn.004525c0
mov eax, dword [esp + 4]
mov dword [esp + 0x20], eax
lea ecx, [0x8c8ea0]
mov dword [esp], ecx
call fcn.0040c130
mov eax, dword [esp + 0x20]
lea ecx, [0x8c8ea4]
lea edx, [ecx + eax*8]
mov dword [esp + 0x30], edx
mov dword [esp], edx
call fcn.0042cb20
movzx eax, byte [esp + 4]
test al, al
je 0x452ca5
xor eax, eax
jmp 0x452ccc
mov eax, dword [esp + 0x20]
lea ecx, [0x8c8ea4]
lea eax, [ecx + eax*8]
mov eax, dword [eax]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x30]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0042c9c0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
lea ecx, [0x8c8ea0]
mov dword [esp], ecx
call fcn.0040c350
lea eax, [0x8b0500]
mov dword [esp], eax
mov dword [esp + 4], 0x30
call fcn.0040cc30
mov eax, dword [esp + 0x18]
test eax, eax
je 0x452d00
mov ecx, eax
jmp 0x452d3e
lea eax, [0x8b0500]
mov dword [esp], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], eax
mov byte [esp + 8], 1
call fcn.0042b0e0
mov eax, dword [esp + 0xc]
test eax, eax
je 0x452e29
mov dword [esp + 0x18], eax
mov dword [esp], eax
call fcn.00437de0
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x44], eax
mov dword [esp], ecx
call fcn.0042a370
mov eax, dword [esp + 4]
jmp 0x452da8
mov ecx, dword [0x8c84ec]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00456f50
mov eax, dword [esp + 8]
mov dword [esp + 0x2c], eax
mov dword [esp], eax
lea ecx, [0x8cd7b0]
mov dword [esp + 4], ecx
call fcn.00415cb0
mov eax, dword [esp + 8]
test eax, eax
je 0x452d92
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x2c]
add eax, ecx
mov dword [esp + 0x50], eax
add esp, 0x44
ret
lea eax, [0x70bfa6]
mov dword [esp], eax
mov dword [esp + 4], 0x1a
call fcn.00470dd0
mov dword [esp + 0x34], eax
call fcn.004629f0
movzx eax, byte [esp]
test al, al
je 0x452e13
call fcn.00462a80
mov eax, dword [esp]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x2c], ecx
call fcn.00462bb0
movzx eax, byte [esp + 8]
test al, al
je 0x452e13
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x40]
mov dword [esp], edx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xc], eax
call fcn.0045cdd0
mov eax, dword [esp + 0x40]
mov dword [esp], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
call fcn.00462bc0
mov eax, dword [esp + 0x34]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x48]
add eax, ecx
mov dword [esp + 0x50], eax
add esp, 0x44
ret
lea eax, [0x704cb7]
mov dword [esp], eax
mov dword [esp + 4], 0xd
call fcn.00470dd0
inc ebx
shr eax, 1
cmp eax, 0x1000
ja 0x452e3f
mov byte [esp + 0x13], bl
mov eax, dword [ecx + 0x58]
test eax, eax
je 0x452e5b
mov ecx, dword [ecx + 0x78]
test ecx, ecx
je 0x452ea3
movzx eax, bl
shl eax, 6
lea ecx, [0x8c9000]
add eax, ecx
mov dword [esp + 0x3c], eax
mov dword [esp], eax
call fcn.0040c130
movzx eax, byte [esp + 0x13]
mov byte [esp], al
call fcn.004525f0
mov eax, dword [esp + 4]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x3c]
mov dword [esp], ecx
call fcn.0040c350
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x14]
jmp 0x452da8
mov dword [esp], eax
call fcn.0044ee50
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x30]
mov dword [esp + 0x24], eax
test byte [eax], al
movzx ecx, byte [esp + 0x13]
movzx edx, cl
mov dword [esp + 0x28], edx
lea ebx, [eax + edx*8 + 0x234]
mov dword [esp + 0x38], ebx
mov ebp, dword [ebx]
mov dword [esp + 0x14], ebp
mov dword [esp], ebp
call fcn.00414790
mov eax, dword [esp + 4]
test eax, eax
je 0x452eeb
mov ebp, dword [esp + 0x14]
jmp 0x452f06
mov eax, dword [esp + 0x24]
mov dword [esp], eax
movzx ecx, byte [esp + 0x13]
mov byte [esp + 4], cl
call fcn.00452930
mov eax, dword [esp + 0x38]
mov ebp, dword [eax]
mov dword [esp + 0x14], ebp
mov dword [esp], ebp
call fcn.00414790
mov eax, dword [esp + 4]
mov eax, dword [eax]
mov ecx, dword [esp + 0x38]
mov dword [ecx], eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
lea eax, [ecx + eax*8 + 0x238]
mov ecx, dword [esp + 0x48]
sub dword [eax], ecx
mov eax, dword [esp + 0x14]
jmp 0x452da8
lea eax, [0x70cad4]
mov dword [esp], eax
mov dword [esp + 4], 0x1b
call fcn.00470dd0
lea eax, [0x710065]
mov dword [esp], eax
mov dword [esp + 4], 0x21
call fcn.00470dd0
nop
call fcn.00472c40
jmp fcn.00452c00