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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x45fd76
sub esp, 0x44
mov eax, dword [esp + 0x6c]
test eax, eax
jne 0x45f995
xor ecx, ecx
jmp 0x45f9d3
mov eax, dword [esp + 0x48]
mov dword [esp], eax
mov ecx, dword [esp + 0x4c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x50]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0xc], ebx
mov ebp, dword [esp + 0x58]
mov dword [esp + 0x10], ebp
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x14], esi
call fcn.0045f670
mov eax, dword [esp + 0x18]
mov ecx, eax
mov eax, dword [esp + 0x6c]
test ecx, ecx
je 0x45fa43
test eax, eax
jl 0x45f9e1
cmp eax, ecx
jg 0x45f9e1
mov ecx, eax
mov dword [esp + 0x38], ecx
lea eax, [0x79f960]
mov dword [esp], eax
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x58]
sub eax, edx
imul eax, ecx
mov ebp, dword [esp + 0x4c]
add eax, ebp
mov dword [esp + 0x28], eax
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.0043fec0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x48]
xor edi, edi
xor edi, edi
mov dword [esp + 0x2c], edi
xor edi, edi
mov dword [esp + 0x30], edi
xor edi, edi
jmp 0x45faf0
mov eax, dword [esp + 0x4c]
test eax, eax
ja 0x45fa53
xor ecx, ecx
xor edx, edx
xor ebx, ebx
jmp 0x45fa8d
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
lea ecx, [0x79f960]
mov dword [esp + 0x10], ecx
call fcn.0043ff80
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, ecx
mov ecx, eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x34], ebx
mov dword [esp], ecx
mov ebp, dword [esp + 0x48]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.004531b0
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x78], eax
add esp, 0x44
ret
mov edi, dword [esp + 0x2c]
inc edi
add ebx, ebp
mov ebp, dword [esp + 0x24]
add ebp, edx
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0x48]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x28]
mov edi, ebp
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x2c]
cmp esi, ebp
jge 0x45fcb2
mov dword [esp + 0x20], edi
test edx, edx
jne 0x45fb60
test esi, esi
jle 0x45fbc6
mov ebp, dword [esp + 0x4c]
cmp ebp, edi
jb 0x45fd6c
sub ecx, edi
mov edx, ecx
neg ecx
sar ecx, 0x1f
and ecx, edi
mov ebx, dword [esp + 0x48]
add ecx, ebx
mov dword [esp], ecx
sub ebp, edi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
call fcn.00459e80
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
lea edi, [eax + ecx]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x2c]
jmp 0x45fbc6
mov ebp, dword [esp + 0x4c]
cmp ebp, edi
jb 0x45fd63
sub ecx, edi
mov ebx, ecx
neg ecx
sar ecx, 0x1f
and ecx, edi
mov esi, dword [esp + 0x48]
add ecx, esi
mov dword [esp], ecx
sub ebp, edi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
mov ebp, dword [esp + 0x5c]
mov dword [esp + 0x14], ebp
call fcn.0045fd80
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
lea edi, [eax + ecx]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x30]
cmp ebp, ebx
ja 0x45fd5a
sub ebx, ebp
mov dword [esp + 0x34], ebx
neg ebx
sar ebx, 0x1f
and ebx, ebp
add ebx, eax
cmp ecx, edi
jb 0x45fd51
mov esi, dword [esp + 0x20]
cmp edi, esi
jb 0x45fd48
mov dword [esp + 0x24], edi
sub edi, esi
sub ecx, esi
neg ecx
sar ecx, 0x1f
and esi, ecx
mov ecx, ebp
mov ebp, dword [esp + 0x48]
add esi, ebp
mov ebp, dword [esp + 0x34]
cmp edi, ebp
jl 0x45fc16
mov edi, ebp
cmp esi, ebx
je 0x45fc3e
mov dword [esp + 0x34], edi
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], edi
call fcn.004531b0
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x58]
mov edi, dword [esp + 0x34]
lea ebx, [edi + ecx]
mov ecx, dword [esp + 0x28]
cmp ebx, ecx
ja 0x45fd41
mov ebp, ecx
sub ecx, ebx
mov esi, ecx
neg ecx
sar ecx, 0x1f
and ecx, ebx
lea edi, [ecx + eax]
mov ecx, ebp
mov ebp, dword [esp + 0x64]
cmp ebp, esi
jge 0x45fc6b
mov esi, ebp
jmp 0x45fc71
mov ebp, esi
mov esi, dword [esp + 0x64]
mov esi, dword [esp + 0x60]
cmp esi, edi
je 0x45fac9
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebp
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
call fcn.004531b0
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x60]
jmp 0x45fac9
mov ebp, dword [esp + 0x30]
cmp ebp, ebx
ja 0x45fd38
mov edx, ebx
sub ebx, ebp
mov esi, ebx
neg ebx
sar ebx, 0x1f
and ebx, ebp
add ebx, eax
mov ebp, dword [esp + 0x4c]
cmp ebp, edi
jb 0x45fd2f
sub ebp, edi
sub ecx, edi
neg ecx
sar ecx, 0x1f
and edi, ecx
mov ecx, eax
mov eax, dword [esp + 0x48]
add eax, edi
cmp ebp, esi
jl 0x45fcea
mov ebp, esi
cmp eax, ebx
je 0x45fd0e
mov dword [esp + 0x38], ebp
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.004531b0
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x28]
mov ebp, dword [esp + 0x38]
mov eax, dword [esp + 0x30]
add eax, ebp
cmp eax, edx
ja 0x45fd28
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], edx
add esp, 0x44
ret
mov ecx, eax
call fcn.004529b0
mov eax, edi
mov ecx, ebp
call fcn.004529d0
mov eax, ebp
mov ecx, ebx
call fcn.004529d0
mov eax, ebx
call fcn.004529d0
mov eax, esi
mov ecx, edi
call fcn.004529d0
mov edx, ecx
mov ecx, edi
call fcn.004529b0
mov eax, ebp
mov ecx, ebx
call fcn.004529d0
mov eax, edi
mov ecx, ebp
call fcn.004529d0
mov eax, edi
mov ecx, ebp
call fcn.004529d0
nop
call fcn.004514c0
jmp fcn.0045f970