Function at 0x417020
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 0x41759e
sub esp, 0x98
movzx eax, byte [0x7e3e34]
test al, al
jne 0x417586
mov eax, dword [0x7e5768]
mov ecx, dword [0x7e6d10]
sub eax, ecx
mov ecx, dword [0x7e576c]
mov edx, dword [0x7e6d14]
mov dword [esp], eax
sbb ecx, edx
mov dword [esp + 4], ecx
call fcn.00453fa0
fld qword [esp + 8]
fld st(0)
fstp qword [esp + 0x90]
mov eax, dword [0x7e6d10]
mov ecx, dword [0x7e6d14]
mov dword [esp], eax
mov dword [esp + 4], ecx
fstp st(0)
call fcn.00453fa0
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 0x417575
fldz
fld st(0)
fstp qword [esp + 0x58]
fstp st(0)
mov eax, dword [0x7e6d00]
mov ecx, dword [0x7e6d04]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00453fa0
fld qword [esp + 8]
fld st(0)
fstp qword [esp + 0x90]
mov eax, dword [0x7e6d10]
mov ecx, dword [0x7e6d14]
mov dword [esp], eax
mov dword [esp + 4], ecx
fstp st(0)
call fcn.00453fa0
fld qword [esp + 8]
fld st(0)
fstp qword [esp + 0x88]
fstp st(0)
call fcn.0045d930
mov eax, dword [esp + 0x9c]
mov ecx, dword [eax + 0x30]
mov edx, dword [esp]
sub edx, ecx
mov ecx, dword [eax + 0x34]
mov ebx, dword [esp + 4]
sbb ebx, ecx
test ebx, ebx
setg cl
xchg ebp, ebx
sete bl
xchg ebp, ebx
test edx, edx
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 ecx, ebp
test cl, cl
fstp st(0)
fstp st(0)
jne 0x4174e0
fld qword [0x6c6f20]
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 [0x7e6cf0]
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 [0x6c6f48]
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 [0x6c6fa0]
fstp st(6)
fld st(2)
fmulp st(6)
fld st(3)
faddp st(6)
fld st(5)
fstp qword [esp + 0x50]
mov ecx, dword [0x7e3654]
test ecx, ecx
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jg 0x417231
fld qword [esp + 0x50]
fld st(0)
fstp qword [esp + 0xa0]
fstp st(0)
add esp, 0x98
ret
mov eax, dword [0x7e6d10]
mov dword [esp + 0x20], eax
mov ecx, dword [0x7e6d14]
mov dword [esp + 0x24], ecx
mov edx, dword [0x7e6cf8]
mov dword [esp + 0x38], edx
mov ebx, dword [0x7e6cfc]
mov dword [esp + 0x3c], ebx
mov ebp, dword [0x7e6d00]
mov dword [esp + 0x30], ebp
mov esi, dword [0x7e6d04]
mov dword [esp + 0x34], esi
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00453fa0
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.00453e10
mov eax, dword [esp + 8]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x2c], ecx
mov edx, dword [esp + 0x9c]
mov ebx, dword [edx]
mov dword [esp + 0x18], ebx
mov edx, dword [edx + 4]
mov dword [esp + 0x1c], edx
call fcn.00433c00
lea eax, [0x67d65b]
mov dword [esp], eax
mov dword [esp + 4], 0x10
call fcn.004345e0
mov eax, dword [esp + 0x20]
mov dword [esp], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 4], eax
call fcn.004342e0
lea eax, [0x679ddd]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.004345e0
fld qword [esp + 0x90]
fld st(0)
fstp qword [esp]
fstp st(0)
call fcn.00433ec0
lea eax, [0x679db5]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.004345e0
mov eax, dword [esp + 0x38]
mov dword [esp], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
call fcn.004342e0
lea eax, [0x679dd3]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.004345e0
fld qword [esp + 0x60]
fld st(0)
fstp qword [esp]
fstp st(0)
call fcn.00433ec0
lea eax, [0x679dba]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.004345e0
mov eax, dword [esp + 0x30]
mov dword [esp], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
call fcn.004342e0
lea eax, [0x679dd8]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.004345e0
fld qword [esp + 0x58]
fld st(0)
fstp qword [esp]
fstp st(0)
call fcn.00433ec0
lea eax, [0x679dbf]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.004345e0
mov eax, dword [esp + 0x28]
mov dword [esp], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
call fcn.00434410
lea eax, [0x679dfb]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.004345e0
fld qword [esp + 0x48]
fld st(0)
fstp qword [esp]
fstp st(0)
call fcn.00433ec0
lea eax, [0x679e00]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.004345e0
fld qword [0x6c6f48]
fld st(0)
fstp qword [esp]
fstp st(0)
call fcn.00433ec0
lea eax, [0x679dc9]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.004345e0
mov eax, dword [esp + 0x18]
mov dword [esp], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], eax
call fcn.00434410
lea eax, [0x67a629]
mov dword [esp], eax
mov dword [esp + 4], 8
call fcn.004345e0
fld qword [esp + 0x88]
fld st(0)
fstp qword [esp]
fstp st(0)
call fcn.00433ec0
lea eax, [0x67ae18]
mov dword [esp], eax
mov dword [esp + 4], 0xa
call fcn.004345e0
fld qword [esp + 0x78]
fld st(0)
fstp qword [esp]
fstp st(0)
call fcn.00433ec0
lea eax, [0x67aac0]
mov dword [esp], eax
mov dword [esp + 4], 9
call fcn.004345e0
fld qword [esp + 0x80]
fld st(0)
fstp qword [esp]
fstp st(0)
call fcn.00433ec0
call fcn.00433e20
call fcn.00433c70
jmp 0x41721b
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], edx
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.00453eb0
mov eax, dword [0x7e3278]
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 eax, ebx
add eax, edx
add eax, ecx
mov dword [esp + 4], eax
fstp st(0)
call fcn.00453eb0
fld qword [esp + 8]
fld qword [esp + 0x88]
fld st(1)
fdivp st(1)
fld qword [0x6c6f20]
fstp st(2)
fld st(0)
faddp st(2)
fld st(1)
fstp qword [esp + 0x40]
mov eax, dword [esp + 0x9c]
fld qword [esp + 0x40]
fstp st(2)
fld st(1)
fstp qword [esp + 0x48]
fstp st(0)
fstp st(0)
jmp 0x417193
fld qword [esp + 0x68]
fld st(0)
fstp qword [esp + 0x58]
fstp st(0)
jmp 0x4170da
fld qword [0x7e6cf0]
fld st(0)
fstp qword [esp + 0xa0]
fstp st(0)
add esp, 0x98
ret
call fcn.0045b380
jmp fcn.00417020