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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x18]
cmp eax, dword [ecx + 8]
jbe 0x415f0f
sub esp, 0x98
movzx eax, byte [0x8aea94]
test al, al
jne 0x415ef7
mov eax, dword [0x8c2fe8]
mov ecx, dword [0x8c4590]
sub eax, ecx
mov ecx, dword [0x8c2fec]
mov edx, dword [0x8c4594]
mov dword [esp], eax
sbb ecx, edx
mov dword [esp + 4], ecx
call fcn.0044b6f0
fld qword [esp + 8]
fld st(0)
fstp qword [esp + 0x90]
mov eax, dword [0x8c4594]
mov ecx, dword [0x8c4590]
mov dword [esp], ecx
mov dword [esp + 4], eax
fstp st(0)
call fcn.0044b6f0
fld qword [esp + 8]
fld qword [esp + 0x90]
fld st(1)
fdivp st(1)
fld st(0)
fstp qword [esp + 0x68]
fldz
fstp st(2)
fld st(1)
fucomp st(1)
mov dword [esp + 0x70], eax
fnstsw ax
sahf
mov eax, dword [esp + 0x70]
fstp st(0)
fstp st(0)
jbe 0x415ee6
fldz
fld st(0)
fstp qword [esp + 0x58]
fstp st(0)
mov eax, dword [0x8c4584]
mov ecx, dword [0x8c4580]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0044b6f0
fld qword [esp + 8]
fld st(0)
fstp qword [esp + 0x90]
mov eax, dword [0x8c4594]
mov ecx, dword [0x8c4590]
mov dword [esp], ecx
mov dword [esp + 4], eax
fstp st(0)
call fcn.0044b6f0
fld qword [esp + 8]
fld st(0)
fstp qword [esp + 0x88]
fstp st(0)
call fcn.00451c50
mov eax, dword [esp]
mov ecx, dword [esp + 0x9c]
mov edx, dword [ecx + 0x30]
sub eax, edx
mov edx, dword [esp + 4]
mov ebx, dword [ecx + 0x34]
sbb edx, ebx
test edx, edx
setg bl
xchg ebp, ebx
sete bl
xchg ebp, ebx
test eax, eax
xchg esi, ebx
seta bl
xchg esi, ebx
fld qword [esp + 0x90]
fld qword [esp + 0x88]
fld st(0)
fdivp st(2)
fld st(1)
fstp qword [esp + 0x90]
and ebp, esi
or ebx, ebp
test bl, bl
fstp st(0)
fstp st(0)
jne 0x415e50
fld qword [0x7003e0]
fld st(0)
fstp qword [esp + 0x48]
fstp st(0)
fld qword [esp + 0x90]
fld1
fld st(0)
fsubp st(2)
fld st(1)
fstp qword [esp + 0x60]
fld qword [0x8c4570]
fld st(0)
fstp qword [esp + 0x90]
fld qword [esp + 0x58]
fld st(1)
fsubp st(1)
fld st(0)
fstp qword [esp + 0x88]
fld qword [esp + 0x48]
fld qword [0x7003e8]
fld st(0)
fdivp st(2)
fld st(1)
fstp qword [esp + 0x80]
fld st(3)
fsubp st(6)
fld st(5)
fstp qword [esp + 0x78]
fld st(1)
fmulp st(6)
fld st(5)
fsubp st(3)
fld qword [0x7003f0]
fstp st(6)
fld st(2)
fmulp st(6)
fld st(3)
faddp st(6)
fld st(5)
fstp qword [esp + 0x50]
mov eax, dword [0x8c1254]
test eax, eax
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jg 0x415ba1
fld qword [esp + 0x50]
fld st(0)
fstp qword [esp + 0xa0]
fstp st(0)
add esp, 0x98
ret
mov eax, dword [0x8c4594]
mov dword [esp + 0x24], eax
mov ecx, dword [0x8c4590]
mov dword [esp + 0x20], ecx
mov edx, dword [0x8c457c]
mov dword [esp + 0x3c], edx
mov ebx, dword [0x8c4578]
mov dword [esp + 0x38], ebx
mov ebp, dword [0x8c4584]
mov dword [esp + 0x34], ebp
mov esi, dword [0x8c4580]
mov dword [esp + 0x30], esi
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0044b6f0
fld qword [esp + 8]
fld1
fld qword [esp + 0x58]
fld st(0)
faddp st(2)
fld st(2)
fmulp st(2)
fld st(1)
fstp qword [esp]
fstp st(0)
fstp st(0)
fstp st(0)
call fcn.0044b560
mov eax, dword [esp + 0xc]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0x9c]
mov ebx, dword [edx + 4]
mov dword [esp + 0x1c], ebx
mov edx, dword [edx]
mov dword [esp + 0x18], edx
call fcn.0042bd10
lea eax, [0x6a505c]
mov dword [esp], eax
mov dword [esp + 4], 0x10
call fcn.0042c6e0
mov eax, dword [esp + 0x20]
mov dword [esp], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 4], eax
call fcn.0042c3f0
lea eax, [0x6a1cc2]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.0042c6e0
fld qword [esp + 0x90]
fld st(0)
fstp qword [esp]
fstp st(0)
call fcn.0042bfd0
lea eax, [0x6a1c9a]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.0042c6e0
mov eax, dword [esp + 0x38]
mov dword [esp], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
call fcn.0042c3f0
lea eax, [0x6a1cb8]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.0042c6e0
fld qword [esp + 0x60]
fld st(0)
fstp qword [esp]
fstp st(0)
call fcn.0042bfd0
lea eax, [0x6a1c9f]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.0042c6e0
mov eax, dword [esp + 0x30]
mov dword [esp], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
call fcn.0042c3f0
lea eax, [0x6a1cbd]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.0042c6e0
fld qword [esp + 0x58]
fld st(0)
fstp qword [esp]
fstp st(0)
call fcn.0042bfd0
lea eax, [0x6a1ca4]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.0042c6e0
mov eax, dword [esp + 0x28]
mov dword [esp], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
call fcn.0042c520
lea eax, [0x6a1ce0]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.0042c6e0
fld qword [esp + 0x48]
fld st(0)
fstp qword [esp]
fstp st(0)
call fcn.0042bfd0
lea eax, [0x6a1ce5]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.0042c6e0
fld qword [0x7003e8]
fld st(0)
fstp qword [esp]
fstp st(0)
call fcn.0042bfd0
lea eax, [0x6a1cae]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.0042c6e0
mov eax, dword [esp + 0x18]
mov dword [esp], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], eax
call fcn.0042c520
lea eax, [0x6a2553]
mov dword [esp], eax
mov dword [esp + 4], 8
call fcn.0042c6e0
fld qword [esp + 0x88]
fld st(0)
fstp qword [esp]
fstp st(0)
call fcn.0042bfd0
lea eax, [0x6a2d06]
mov dword [esp], eax
mov dword [esp + 4], 0xa
call fcn.0042c6e0
fld qword [esp + 0x78]
fld st(0)
fstp qword [esp]
fstp st(0)
call fcn.0042bfd0
lea eax, [0x6a29d2]
mov dword [esp], eax
mov dword [esp + 4], 9
call fcn.0042c6e0
fld qword [esp + 0x80]
fld st(0)
fstp qword [esp]
fstp st(0)
call fcn.0042bfd0
call fcn.0042bf30
call fcn.0042bd80
jmp 0x415b8b
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], eax
mov eax, dword [ecx + 0x14]
mov edx, dword [ecx + 0x10]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.0044b600
mov eax, dword [0x8c0f10]
mov ecx, eax
mov eax, dword [esp + 0x10]
mov ebx, eax
mul ecx
fld qword [esp + 8]
fld st(0)
fstp qword [esp + 0x88]
mov dword [esp], eax
mov eax, ecx
sar ecx, 0x1f
imul ecx, ebx
mov ebx, dword [esp + 0x14]
imul ebx, eax
lea eax, [edx + ebx]
add eax, ecx
mov dword [esp + 4], eax
fstp st(0)
call fcn.0044b600
fld qword [esp + 8]
fld qword [esp + 0x88]
fld st(1)
fdivp st(1)
fld qword [0x7003e0]
fstp st(2)
fld st(0)
faddp st(2)
fld st(1)
fstp qword [esp + 0x40]
mov ecx, dword [esp + 0x9c]
fld qword [esp + 0x40]
fstp st(2)
fld st(1)
fstp qword [esp + 0x48]
fstp st(0)
fstp st(0)
jmp 0x415b03
fld qword [esp + 0x68]
fld st(0)
fstp qword [esp + 0x58]
fstp st(0)
jmp 0x415a4a
fld qword [0x8c4570]
fld st(0)
fstp qword [esp + 0xa0]
fstp st(0)
add esp, 0x98
ret
call fcn.0044f4e0
jmp fcn.00415990