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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4733da
sub esp, 0x54
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x64]
cmp eax, ecx
je 0x472fa9
xor edx, edx
jmp 0x472fd0
mov eax, dword [esp + 0x60]
mov dword [esp], eax
mov edx, dword [esp + 0x68]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00402780
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x64]
mov edx, eax
mov eax, dword [esp + 0x6c]
test dl, dl
jne 0x472fdc
mov edx, dword [esp + 0x70]
test edx, edx
jne 0x472ff0
mov eax, dword [esp + 0x58]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x78], eax
add esp, 0x54
ret
mov eax, dword [esp + 0x58]
mov dword [esp], eax
mov edx, dword [esp + 0x5c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x60]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call fcn.00471dc0
mov eax, dword [esp + 0x10]
test eax, eax
je 0x473087
mov ecx, dword [esp + 0x70]
test ecx, ecx
jl 0x473026
cmp ecx, eax
jg 0x473026
mov eax, ecx
mov dword [esp + 0x34], eax
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
lea ecx, [esp + 0x44]
mov dword [esp], ecx
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x64]
sub edx, ebx
imul edx, eax
mov esi, dword [esp + 0x5c]
add edx, esi
mov dword [esp + 4], edx
call fcn.00471780
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x58]
xor esi, esi
xor edi, edi
jmp 0x4730fd
mov eax, dword [esp + 0x58]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x78], eax
add esp, 0x54
ret
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x40], ebp
add eax, ebp
mov dword [esp], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00452920
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x24]
lea esi, [eax + 1]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x64]
lea edi, [ecx + eax]
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x58]
mov eax, ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x20], edi
cmp esi, ebx
jge 0x4732d7
mov dword [esp + 0x24], esi
test eax, eax
jne 0x47315f
test esi, esi
jle 0x4731ab
cmp ecx, edi
jb 0x4733d2
sub ecx, edi
mov edx, ecx
neg ecx
sar ecx, 0x1f
and ecx, edi
add ecx, ebp
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.0045d1e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x20]
lea edi, [eax + ecx]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0x24]
jmp 0x4731ab
cmp ecx, edi
jb 0x4733cb
sub ecx, edi
mov esi, ecx
neg ecx
sar ecx, 0x1f
and ecx, edi
add ecx, ebp
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
call fcn.00473660
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
lea edi, [eax + ecx]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0x24]
cmp ecx, edi
jb 0x4733c2
mov edx, dword [esp + 0x20]
cmp edx, edi
ja 0x4733b9
mov dword [esp + 0x28], edi
lea eax, [esp + 0x44]
mov dword [esp], eax
call fcn.00471710
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
sub eax, ecx
mov ebx, eax
neg eax
sar eax, 0x1f
and ecx, eax
mov eax, dword [esp + 0x58]
add ecx, eax
mov ebp, dword [esp + 0x4c]
lea esi, [ebp + ebx]
mov edi, dword [esp + 0x50]
mov eax, dword [esp + 0x48]
cmp edi, esi
jae 0x47323e
mov dword [esp + 0x30], ebx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x2c], ebp
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebx
lea eax, [0x5b0a60]
mov dword [esp + 0x10], eax
call fcn.0043f150
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x40], eax
lea edx, [eax + ebp]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.00452920
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x44]
mov dword [esp], eax
call fcn.00471710
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x6c]
lea edx, [ecx + eax]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x48]
cmp ebx, edx
jae 0x47309b
mov dword [esp + 0x30], eax
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
lea eax, [0x5b0a60]
mov dword [esp + 0x10], eax
call fcn.0043f150
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x6c]
jmp 0x47309b
cmp ecx, edi
jb 0x4733b2
lea eax, [esp + 0x44]
mov dword [esp], eax
call fcn.00471710
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x20]
sub eax, ecx
mov edx, eax
neg eax
sar eax, 0x1f
and ecx, eax
mov eax, dword [esp + 0x58]
add eax, ecx
mov ecx, dword [esp + 0x4c]
lea ebx, [ecx + edx]
mov ebp, dword [esp + 0x50]
mov esi, dword [esp + 0x48]
cmp ebp, ebx
jae 0x473359
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], edx
mov dword [esp + 0x38], eax
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edx
lea eax, [0x5b0a60]
mov dword [esp + 0x10], eax
call fcn.0043f150
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x30], ebx
mov dword [esp + 0x40], esi
add ecx, esi
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00452920
mov eax, dword [esp + 0x30]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x48], ecx
nop
mov edx, ecx
neg ecx
cmp eax, ecx
ja 0x4733a4
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], eax
add esp, 0x54
ret
test edx, edx
je 0x4733ad
call fcn.0044cba0
call fcn.0044cbe0
mov eax, edi
call fcn.00452100
mov eax, edx
mov ecx, edi
call fcn.00452100
mov edx, ecx
mov ecx, edi
call fcn.004520c0
mov eax, edi
call fcn.00452100
mov eax, edi
call fcn.00452100
nop
call fcn.00450c10
jmp fcn.00472f80