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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xcc
push ebx
push esi
push edi
mov edi, ecx
mov ecx, dword [ebp + 0x18]
mov esi, dword [ebp + 0x14]
mov ebx, dword [edi + 0x3c]
mov eax, dword [edi + 0x40]
sub eax, ecx
mov dword [esp + 0x20], edi
lea ecx, [ebx + 1]
imul eax, ecx
mov ecx, dword [edi + 0x7c]
lea edx, [eax + esi]
sub eax, ebx
add eax, esi
fild dword [ecx + edx*8]
lea eax, [ecx + eax*8]
fstp qword [esp + 0x40]
fild dword [ecx + edx*8 + 4]
fstp qword [esp + 0x48]
fild dword [eax - 8]
fstp qword [esp + 0x80]
fild dword [eax - 4]
fstp qword [esp + 0x90]
fild dword [ecx + edx*8 + 8]
fstp qword [esp + 0x98]
fild dword [ecx + edx*8 + 0xc]
mov edx, dword [ebp + 0x1c]
fstp qword [esp + 0x88]
fild dword [eax]
fsub qword [esp + 0x98]
fsub qword [esp + 0x80]
fadd qword [esp + 0x40]
fstp qword [esp + 0xa8]
fild dword [eax + 4]
mov eax, esi
imul eax, edx
fsub qword [esp + 0x88]
inc esi
mov ecx, eax
imul esi, edx
fsub qword [esp + 0x90]
fadd qword [esp + 0x48]
fstp qword [esp + 0xb0]
fild dword [ebp + 0x1c]
cmp ecx, esi
mov dword [esp + 0x54], eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x74], esi
fstp qword [esp + 0x58]
fild dword [ebp + 0x20]
fstp qword [esp + 0x78]
jge 0x45d0d6
mov edx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
imul edx, ebx
mov dword [esp + 0x34], edx
mov edx, dword [ebp + 0x18]
inc edx
imul edx, ebx
mov dword [esp + 0x3c], edx
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x38], 0xffffffff
cmp ebx, edx
mov dword [esp + 0x28], ebx
jge 0x45d0c9
sub ecx, eax
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fstp qword [esp + 0x68]
fld qword [esp + 0x98]
fsub qword [esp + 0x40]
fmul qword [esp + 0x68]
fdiv qword [esp + 0x58]
fstp qword [esp + 0xb8]
fld qword [esp + 0x80]
fsub qword [esp + 0x40]
fstp qword [esp + 0xc8]
fld qword [esp + 0x78]
fmul qword [esp + 0x58]
fstp qword [esp + 0xa0]
fld qword [esp + 0x88]
fsub qword [esp + 0x48]
fmul qword [esp + 0x68]
fdiv qword [esp + 0x58]
fstp qword [esp + 0xc0]
fld qword [esp + 0x90]
fsub qword [esp + 0x48]
fstp qword [esp + 0xd0]
mov ecx, dword [esp + 0x34]
mov eax, ebx
sub eax, ecx
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fld st(0)
fmul qword [esp + 0x68]
fld st(0)
fmul qword [esp + 0xa8]
fdiv qword [esp + 0xa0]
fadd qword [esp + 0xb8]
fld qword [esp + 0xc8]
fmul st(3)
fdiv qword [esp + 0x78]
faddp st(1)
fadd qword [esp + 0x40]
fstp qword [esp + 0x10]
fmul qword [esp + 0xb0]
fdiv qword [esp + 0xa0]
fadd qword [esp + 0xc0]
fld qword [esp + 0xd0]
fmul st(2)
fdiv qword [esp + 0x78]
faddp st(1)
fadd qword [esp + 0x48]
fstp st(1)
fld qword [esp + 0x10]
fcomp qword [0x4aa6f8]
fld qword [esp + 0x10]
fnstsw ax
test ah, 1
jne 0x45cea6
fadd qword [0x4aa708]
jmp 0x45ceac
fsub qword [0x4aa708]
call fcn.00470a50
fcom qword [0x4aa6f8]
mov esi, eax
fnstsw ax
test ah, 1
jne 0x45cec8
fadd qword [0x4aa708]
jmp 0x45cece
fsub qword [0x4aa708]
call fcn.00470a50
mov edx, dword [edi + 0x70]
mov ecx, eax
push ecx
push esi
push edx
mov dword [esp + 0x30], eax
call dword [0x4a91d8]
test eax, eax
je 0x45d0aa
mov eax, dword [edi + 0x54]
mov ecx, dword [edi + 0x50]
mov edx, dword [ebp + 8]
add eax, ebx
push eax
mov eax, dword [esp + 0x34]
add ecx, eax
push ecx
push edx
call dword [0x4a91c0]
mov ebx, eax
xor eax, eax
mov al, bh
mov edi, ebx
and eax, 0xff
and edi, 0xff
mov dword [esp + 0x18], eax
mov eax, ebx
shr eax, 0x10
and eax, 0xff
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x24]
cmp esi, eax
jl 0x45d0a2
mov eax, dword [esp + 0x24]
mov ecx, dword [ebp + 0x28]
cmp eax, ecx
jl 0x45d0a2
cmp esi, dword [ebp + 0x2c]
jge 0x45d0a2
cmp eax, dword [ebp + 0x30]
jge 0x45d0a2
push eax
mov eax, dword [ebp + 0x10]
push esi
push eax
call dword [0x4a91c0]
xor edx, edx
mov ecx, eax
mov dl, ah
and ecx, 0xff
shr eax, 0x10
and edx, 0xff
and eax, 0xff
cmp edx, eax
mov dword [esp + 0x2c], eax
jle 0x45cf88
mov eax, edx
cmp ecx, eax
jle 0x45cf96
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x10], ecx
jmp 0x45cfa6
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x10], edx
cmp edx, eax
jg 0x45cfa6
mov dword [esp + 0x10], eax
cmp edx, eax
jge 0x45cfac
mov eax, edx
cmp ecx, eax
jge 0x45cfb4
mov edx, ecx
jmp 0x45cfbe
mov eax, dword [esp + 0x2c]
cmp edx, eax
jl 0x45cfbe
mov edx, eax
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0xd4]
test eax, eax
je 0x45d05a
cmp dword [ecx + 0xd0], 0xff
jne 0x45d0df
fld qword [0x4aa6f0]
mov eax, dword [ecx + 0x44]
lea ecx, [eax + eax + 0x37]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fxch st(1)
fsub qword [0x4aa6f0]
fmulp st(1)
call fcn.00470a50
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
add edi, eax
add edx, eax
add ecx, eax
xor eax, eax
cmp edi, eax
jge 0x45d01a
xor edi, edi
cmp edx, eax
jge 0x45d024
mov dword [esp + 0x18], eax
mov edx, eax
cmp ecx, eax
jge 0x45d02e
mov dword [esp + 0x1c], eax
mov ecx, eax
mov eax, 0xff
cmp edi, eax
jle 0x45d039
mov edi, eax
cmp edx, eax
jle 0x45d043
mov dword [esp + 0x18], eax
mov edx, eax
cmp ecx, eax
jle 0x45d04d
mov dword [esp + 0x1c], eax
mov ecx, eax
xor ebx, ebx
and edi, eax
mov bh, cl
mov bl, dl
shl ebx, 8
or ebx, edi
mov edi, dword [esp + 0x24]
push ebx
mov ebx, dword [ebp + 0xc]
push edi
push esi
push ebx
call dword [0x4a90fc]
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x38]
push edi
push esi
push edx
push eax
push ebx
mov ebx, dword [esp + 0x34]
mov ecx, ebx
call fcn.0045d120
mov ecx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x28]
mov dword [esp + 0x38], esi
sub esi, ecx
mov ecx, dword [ebx + 0xdc]
mov dword [esp + 0x64], edi
mov edx, dword [ecx + esi*4]
sub edx, eax
mov byte [edx + edi], 1
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x3c]
inc ebx
cmp ebx, eax
mov dword [esp + 0x28], ebx
jl 0x45ce1b
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x74]
mov edx, eax
mov eax, dword [esp + 0x54]
inc ecx
cmp ecx, esi
mov dword [esp + 0x30], ecx
jl 0x45cd8e
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x2c
mov eax, dword [esp + 0x10]
add eax, edx
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fidiv dword [ecx + 0xd8]
fcom qword [0x4aa6f0]
fnstsw ax
test ah, 1
je 0x45cfe6
mov ecx, dword [ecx + 0x44]
lea edx, [ecx + ecx + 0x37]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
jmp 0x45cff5