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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x413d79
add esp, 0xffffff80
movzx eax, byte [0xf2c670]
test al, al
jne 0x413d64
call fcn.00414870
movsd xmm0, qword [esp]
movsd qword [esp + 0x48], xmm0
mov eax, dword [0xf2ed58]
mov ecx, dword [0xf2ed5c]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00451120
movsd xmm0, qword [esp + 8]
movsd qword [esp + 0x78], xmm0
mov eax, dword [0xf2ed68]
mov ecx, dword [0xf2ed6c]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00451120
movsd xmm0, qword [esp + 0x78]
divsd xmm0, qword [esp + 8]
movsd qword [esp + 0x78], xmm0
call fcn.00459040
mov eax, dword [esp]
mov ecx, dword [esp + 0x84]
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
test eax, eax
xchg ebp, ebx
seta bl
xchg ebp, ebx
test edx, edx
xchg esi, ebx
sete bl
xchg esi, ebx
and esi, ebp
or ebx, esi
test bl, bl
jne 0x413ceb
movsd xmm0, qword [0x4c3b44]
movsd xmm1, qword [esp + 0x78]
movsd xmm2, qword [0x4c3b74]
subsd xmm1, xmm2
movsd qword [esp + 0x50], xmm1
movsd xmm3, qword [0xf2ed48]
movsd xmm4, qword [esp + 0x48]
subsd xmm4, xmm3
movsd qword [esp + 0x78], xmm4
movsd xmm6, qword [0x4c3b4c]
movsd xmm7, xmm0
divsd xmm0, xmm6
subsd xmm1, xmm3
movsd qword [esp + 0x70], xmm1
mulsd xmm1, xmm0
subsd xmm4, xmm1
movsd xmm1, qword [0x4c3b54]
mulsd xmm1, xmm4
addsd xmm1, xmm3
mov eax, dword [0xf2c030]
test eax, eax
jg 0x413a27
movsd qword [esp + 0x88], xmm1
sub esp, 0xffffff80
ret
movsd qword [esp + 0x68], xmm3
movsd qword [esp + 0x60], xmm7
movsd qword [esp + 0x58], xmm0
movsd qword [esp + 0x40], xmm1
mov eax, dword [0xf2ed68]
mov dword [esp + 0x20], eax
mov ecx, dword [0xf2ed6c]
mov dword [esp + 0x24], ecx
mov edx, dword [0xf2ed50]
mov dword [esp + 0x38], edx
mov ebx, dword [0xf2ed54]
mov dword [esp + 0x3c], ebx
mov ebp, dword [0xf2ed58]
mov dword [esp + 0x30], ebp
mov esi, dword [0xf2ed5c]
mov dword [esp + 0x34], esi
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00451120
movsd xmm0, qword [0x4c3b74]
movsd xmm1, qword [esp + 0x48]
addsd xmm0, xmm1
mulsd xmm0, qword [esp + 8]
movsd qword [esp], xmm0
call fcn.00450fb0
mov eax, dword [esp + 0x84]
mov ecx, dword [eax]
mov dword [esp + 0x18], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 8]
mov dword [esp + 0x28], edx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x2c], ebx
call fcn.00430920
lea eax, [0x4a7be0]
mov dword [esp], eax
mov dword [esp + 4], 0x10
call fcn.00431220
mov eax, dword [esp + 0x24]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x20]
mov dword [esp], eax
call fcn.00430ec0
lea eax, [0x4a5bf9]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.00431220
movsd xmm0, qword [esp + 0x68]
movsd qword [esp], xmm0
call fcn.00430be0
lea eax, [0x4a5bd1]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.00431220
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.00430ec0
lea eax, [0x4a5bef]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.00431220
movsd xmm0, qword [esp + 0x50]
movsd qword [esp], xmm0
call fcn.00430be0
lea eax, [0x4a5bd6]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.00431220
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.00430ec0
lea eax, [0x4a5bf4]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.00431220
movsd xmm0, qword [esp + 0x48]
movsd qword [esp], xmm0
call fcn.00430be0
lea eax, [0x4a5bdb]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.00431220
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.00431030
lea eax, [0x4a5c1c]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.00431220
movsd xmm0, qword [esp + 0x60]
movsd qword [esp], xmm0
call fcn.00430be0
lea eax, [0x4a5c21]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.00431220
movsd xmm0, qword [0x4c3b4c]
movsd qword [esp], xmm0
call fcn.00430be0
lea eax, [0x4a5be5]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.00431220
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x18]
mov dword [esp], eax
call fcn.00431030
lea eax, [0x4a610a]
mov dword [esp], eax
mov dword [esp + 4], 8
call fcn.00431220
movsd xmm0, qword [esp + 0x78]
movsd qword [esp], xmm0
call fcn.00430be0
lea eax, [0x4a65f2]
mov dword [esp], eax
mov dword [esp + 4], 0xa
call fcn.00431220
movsd xmm0, qword [esp + 0x70]
movsd qword [esp], xmm0
call fcn.00430be0
lea eax, [0x4a63f0]
mov dword [esp], eax
mov dword [esp + 4], 9
call fcn.00431220
movsd xmm0, qword [esp + 0x58]
movsd qword [esp], xmm0
call fcn.00430be0
call fcn.00430b40
call fcn.00430990
movsd xmm1, qword [esp + 0x40]
jmp 0x413a1a
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov eax, dword [ecx + 0x10]
mov edx, dword [ecx + 0x14]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00451050
mov eax, dword [0xf2bd98]
mov ecx, eax
mov eax, dword [esp + 0x10]
mov ebx, eax
mul ecx
movsd xmm0, qword [esp + 8]
movsd qword [esp + 0x70], xmm0
mov ebp, ecx
sar ecx, 0x1f
imul ecx, ebx
mov ebx, dword [esp + 0x14]
imul ebx, ebp
add edx, ebx
add ecx, edx
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00451050
movsd xmm0, qword [esp + 0x70]
divsd xmm0, qword [esp + 8]
movsd xmm1, qword [0x4c3b44]
addsd xmm0, xmm1
mov ecx, dword [esp + 0x84]
jmp 0x4139ae
movsd xmm0, qword [0xf2ed48]
movsd qword [esp + 0x88], xmm0
sub esp, 0xffffff80
ret
call fcn.00456af0
jmp fcn.004138e0