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

Disassembly:
mov ecx, dword [0x587cec]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 0xc]
jbe 0x452436
sub esp, 0x40
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
sub eax, ecx
lea edx, [eax - 1]
mov ebx, dword [0x587cec]
mov ebx, dword fs:[ebx]
mov ebx, dword [ebx]
test eax, edx
jne 0x45241f
mov edx, dword [0x588010]
test edx, edx
jne 0x45229b
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x18], eax
call fcn.00461f40
movzx eax, byte [esp]
test al, al
je 0x4521d0
call fcn.00461fd0
mov eax, dword [esp]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x28], ecx
call fcn.00462100
movzx eax, byte [esp + 8]
test al, al
je 0x4521d0
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x3c]
mov dword [esp], edx
mov ebx, dword [esp + 0x28]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.0045c170
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
call fcn.00462110
mov edx, dword [esp + 0x18]
cmp edx, 0x8000
jae 0x4521e5
mov eax, edx
xor ecx, ecx
jmp 0x45231a
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.00429b70
mov eax, dword [esp + 4]
mov dword [esp + 0x14], eax
test byte [eax], al
lea ecx, [eax + 0x3f]
mov dword [esp], ecx
call fcn.00429840
cmp byte [esp + 4], 2
jne 0x4522b9
mov eax, dword [0x587c24]
test eax, eax
jne 0x452244
mov eax, dword [esp + 0x14]
mov dword [esp], eax
call fcn.004376c0
lea eax, [0x56fc20]
mov dword [esp], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 4], eax
mov byte [esp + 8], 1
call fcn.0042bb40
jmp 0x4522ab
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x10]
mov dword [esp], ecx
call fcn.004516f0
mov eax, dword [esp + 4]
mov dword [esp + 0x1c], eax
lea ecx, [0x5881a0]
mov dword [esp], ecx
call fcn.0040bda0
mov eax, dword [esp + 0x1c]
cmp eax, 0x13
jae 0x4522af
lea ecx, [0x5881a4]
lea eax, [ecx + eax*8]
mov dword [esp], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 4], eax
call fcn.0042c270
lea eax, [0x5881a0]
mov dword [esp], eax
call fcn.0040bfc0
jmp 0x4522ab
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00414ff0
add esp, 0x40
ret
add esp, 0x40
ret
mov ecx, 0x13
call fcn.00474b20
mov eax, dword [esp + 0x14]
mov dword [esp], eax
call fcn.00429860
mov eax, dword [esp + 4]
mov dword [esp + 0x28], eax
call fcn.0043d390
mov eax, dword [esp + 0x28]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.0043da80
call fcn.0043d550
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.0043db70
call fcn.0043d590
call fcn.0043d3f0
lea eax, [0x4d8b4a]
mov dword [esp], eax
mov dword [esp + 4], 0xe
call fcn.0046f470
inc ecx
shr edx, 1
cmp edx, 0x1000
ja 0x452317
mov byte [esp + 0xf], cl
mov edx, dword [esp + 0x30]
mov edx, dword [edx + 0x18]
mov ebx, dword [edx + 0x58]
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x10], ebp
test ebx, ebx
je 0x452343
mov edx, dword [edx + 0x78]
test edx, edx
je 0x45238c
movzx eax, cl
cmp eax, 3
jae 0x452415
shl eax, 6
lea ecx, [0x588240]
add eax, ecx
mov dword [esp + 0x38], eax
mov dword [esp], eax
call fcn.0040bda0
mov eax, dword [esp + 0x10]
mov dword [esp], eax
movzx eax, byte [esp + 0xf]
mov byte [esp + 4], al
call fcn.00451940
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.0040bfc0
jmp 0x4522ab
mov dword [esp], ebx
call fcn.0044f250
movzx eax, byte [esp + 0xf]
movzx ecx, al
cmp ecx, 3
jae 0x452409
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 4]
mov edx, dword [edx + 0x30]
mov dword [esp + 0x20], edx
test byte [edx], al
lea ebx, [edx + ecx*8 + 0x238]
mov dword [esp + 0x34], ebx
cmp dword [ebx], 0x8000
jb 0x4523d1
mov dword [esp], edx
mov byte [esp + 4], al
call fcn.00451b70
mov eax, dword [esp + 0x10]
mov dword [esp], eax
call fcn.004137a0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
lea ecx, [edx + ecx*8 + 0x234]
mov edx, dword [ecx]
mov dword [eax], edx
mov eax, dword [esp + 0x10]
mov dword [ecx], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x34]
add dword [ecx], eax
jmp 0x4522ab
mov eax, ecx
mov ecx, 3
call fcn.00474b20
mov ecx, 3
call fcn.00474b20
lea eax, [0x4dae83]
mov dword [esp], eax
mov dword [esp + 4], 0x16
call fcn.0046f470
nop
call fcn.00470860
jmp fcn.00452120