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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x416c83
sub esp, 0x74
mov eax, dword [0x9f0c2c]
test eax, eax
jge 0x4169a8
mov eax, 0x186a0
mov dword [esp + 0x40], eax
lea ecx, [0x9f4738]
mov dword [esp], ecx
call fcn.00402420
mov eax, dword [esp + 4]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x28], ecx
lea edx, [0x9f4740]
mov dword [esp], edx
call fcn.00402420
mov eax, dword [esp + 0x78]
test byte [eax], al
mov ecx, dword [esp + 4]
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 8]
mov dword [esp + 0x1c], edx
mov ebx, dword [esp + 8]
mov dword [esp + 0x20], ebx
mov dword [esp], eax
call fcn.004022c0
mov eax, dword [esp + 4]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x44], ecx
lea edx, [0x9f3188]
mov dword [esp], edx
call fcn.00402420
mov eax, dword [esp + 8]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 8]
mov dword [esp + 0x3c], edx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp], ebx
call fcn.00456220
movsd xmm0, qword [0x7e7a20]
mulsd xmm0, qword [esp + 8]
mov eax, dword [esp + 0x40]
add eax, 0x64
cvtsi2sd xmm1, eax
divsd xmm0, xmm1
movsd qword [esp], xmm0
call fcn.004560b0
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x24]
cmp eax, ecx
setb dl
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x28]
cmp ebx, ebp
setl bl
xchg esi, ebx
sete bl
xchg esi, ebx
and esi, edx
or ebx, esi
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 8]
mov edi, dword [esp + 0xc]
test bl, bl
je 0x416c4d
mov ecx, dword [esp + 0x3c]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00456150
movsd xmm0, qword [0x7e79d8]
mulsd xmm0, qword [esp + 8]
movsd qword [esp], xmm0
call fcn.004560b0
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x48]
sub ebx, ebp
mov ebp, dword [esp + 0x44]
sbb eax, ebp
test eax, eax
xchg ebp, ebx
setl bl
xchg ebp, ebx
xchg esi, ebx
sete bl
xchg esi, ebx
cmp ebx, 0x3e8
xchg edi, ebx
setb bl
xchg edi, ebx
and edi, esi
or edi, ebp
xchg edi, eax
test al, al
xchg edi, eax
je 0x416b1a
xor eax, eax
mov ebx, 0x3e8
mov ebp, dword [esp + 0x24]
sub ecx, ebp
mov ebp, dword [esp + 0x28]
sbb edx, ebp
test edx, edx
xchg ebp, ebx
setl bl
xchg ebp, ebx
xchg esi, ebx
sete bl
xchg esi, ebx
test ecx, ecx
xchg edi, ebx
setbe bl
xchg edi, ebx
and edi, esi
or edi, ebp
xchg edi, eax
test al, al
xchg edi, eax
je 0x416c42
xor ecx, ecx
mov edx, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x30], ecx
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00456150
movsd xmm0, qword [esp + 8]
movsd qword [esp + 0x6c], xmm0
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x2c]
mov dword [esp], ecx
call fcn.00456150
movsd xmm0, qword [esp + 0x6c]
divsd xmm0, qword [esp + 8]
movsd qword [esp + 0x5c], xmm0
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.00456150
movsd xmm0, qword [esp + 8]
movsd qword [esp + 0x6c], xmm0
mov eax, dword [esp + 0x14]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x10]
mov dword [esp], eax
call fcn.00456150
movsd xmm0, qword [esp + 0x6c]
divsd xmm0, qword [esp + 8]
movsd qword [esp + 0x64], xmm0
movsd xmm1, qword [esp + 0x5c]
movsd qword [esp + 0x54], xmm1
mov eax, dword [esp + 0x78]
lea ecx, [eax + 0x40]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x58]
mov dword [esp], ecx
mov dword [esp + 8], ebx
mov dword [esp + 4], edx
call fcn.00402440
movsd xmm0, qword [esp + 0x64]
movsd qword [esp + 0x4c], xmm0
mov eax, dword [esp + 0x78]
add eax, 0x48
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
mov dword [esp], eax
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
call fcn.00402440
add esp, 0x74
ret
mov ebp, ecx
mov ecx, edx
mov edx, ebp
jmp 0x416b54
mov ebx, dword [esp + 0x48]
cmp esi, ebx
xchg ebp, ebx
setb bl
xchg ebp, ebx
mov ecx, dword [esp + 0x44]
cmp ecx, edx
sete dl
setg cl
and edx, ebp
or ecx, edx
test cl, cl
jne 0x416aa8
mov eax, edi
mov ebx, esi
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
jmp 0x416ae0
call fcn.0045df10
jmp fcn.00416980