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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 8]
cmp eax, dword [ecx + 8]
jbe 0x2afdb97
sub esp, 0x88
movzx eax, byte [esp + 0x90]
test al, al
jne 0x2afdb7b
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
call fcn.02afe510
movsd xmm0, qword [esp + 4]
movsd qword [esp + 0x50], xmm0
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + 0x30]
mov edx, dword [eax + 0x34]
mov ebx, dword [eax + 0x40]
mov dword [esp + 0x44], ebx
mov ebp, dword [eax + 0x44]
mov dword [esp + 0x40], ebp
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.02b380f0
movsd xmm0, qword [esp + 8]
movsd qword [esp + 0x80], xmm0
mov eax, dword [esp + 0x40]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call fcn.02b380f0
movsd xmm0, qword [esp + 0x80]
divsd xmm0, qword [esp + 8]
movsd qword [esp + 0x80], xmm0
call fcn.02b3f7c0
mov eax, dword [esp]
mov ecx, dword [esp + 0x8c]
mov edx, dword [ecx + 0x78]
sub eax, edx
mov edx, dword [esp + 4]
mov ebx, dword [ecx + 0x7c]
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 0x2afd7d3
movsd xmm1, qword [0x2da1f2c]
jmp 0x2afd847
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov eax, dword [ecx + 0x58]
mov edx, dword [ecx + 0x5c]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.02b38020
mov eax, dword [0x311e714]
mov ecx, eax
mov eax, dword [esp + 0x10]
mov ebx, eax
mul ecx
movsd xmm0, qword [esp + 8]
movsd qword [esp + 0x78], xmm0
mov ebp, ecx
sar ecx, 0x1f
imul ebx, ecx
mov ecx, dword [esp + 0x14]
imul ecx, ebp
add ecx, edx
add ecx, ebx
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.02b38020
movsd xmm0, qword [esp + 0x78]
divsd xmm0, qword [esp + 8]
movsd xmm1, qword [0x2da1f2c]
addsd xmm1, xmm0
mov ecx, dword [esp + 0x8c]
movsd xmm0, qword [esp + 0x80]
movsd xmm2, qword [0x2da1f84]
subsd xmm0, xmm2
movsd qword [esp + 0x58], xmm0
movsd xmm3, qword [ecx + 0x10]
movsd xmm4, qword [esp + 0x50]
subsd xmm4, xmm3
movsd qword [esp + 0x80], xmm4
movsd xmm6, qword [0x2da1f3c]
movsd xmm7, xmm1
divsd xmm1, xmm6
subsd xmm0, xmm3
movsd qword [esp + 0x78], xmm0
mulsd xmm0, xmm1
subsd xmm4, xmm0
movsd xmm0, qword [0x2da1f4c]
mulsd xmm0, xmm4
addsd xmm0, xmm3
mov eax, dword [0x311eb30]
test eax, eax
jle 0x2afdb6b
movsd qword [esp + 0x70], xmm3
movsd qword [esp + 0x68], xmm7
movsd qword [esp + 0x60], xmm1
movsd qword [esp + 0x48], xmm0
mov eax, dword [ecx + 0x40]
mov dword [esp + 0x20], eax
mov edx, dword [ecx + 0x44]
mov dword [esp + 0x24], edx
mov ebx, dword [ecx + 0x18]
mov dword [esp + 0x38], ebx
mov ebp, dword [ecx + 0x1c]
mov dword [esp + 0x3c], ebp
mov esi, dword [ecx + 0x30]
mov dword [esp + 0x30], esi
mov edi, dword [ecx + 0x34]
mov dword [esp + 0x34], edi
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.02b380f0
movsd xmm0, qword [0x2da1f84]
movsd xmm1, qword [esp + 0x50]
addsd xmm0, xmm1
mulsd xmm0, qword [esp + 8]
movsd qword [esp], xmm0
call fcn.02b37f80
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + 0x48]
mov dword [esp + 0x18], ecx
mov eax, dword [eax + 0x4c]
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.02b155b0
lea eax, [0x2d43151]
mov dword [esp], eax
mov dword [esp + 4], 0x10
call fcn.02b15e90
mov eax, dword [esp + 0x24]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x20]
mov dword [esp], eax
call fcn.02b15b30
lea eax, [0x2d3f77a]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.02b15e90
movsd xmm0, qword [esp + 0x70]
movsd qword [esp], xmm0
call fcn.02b15870
lea eax, [0x2d3f752]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.02b15e90
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.02b15b30
lea eax, [0x2d3f770]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.02b15e90
movsd xmm0, qword [esp + 0x58]
movsd qword [esp], xmm0
call fcn.02b15870
lea eax, [0x2d3f757]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.02b15e90
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.02b15b30
lea eax, [0x2d3f775]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.02b15e90
movsd xmm0, qword [esp + 0x50]
movsd qword [esp], xmm0
call fcn.02b15870
lea eax, [0x2d3f75c]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.02b15e90
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.02b15c90
lea eax, [0x2d3f79d]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.02b15e90
movsd xmm0, qword [esp + 0x68]
movsd qword [esp], xmm0
call fcn.02b15870
lea eax, [0x2d3f7a2]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.02b15e90
movsd xmm0, qword [0x2da1f3c]
movsd qword [esp], xmm0
call fcn.02b15870
lea eax, [0x2d3f766]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.02b15e90
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x18]
mov dword [esp], eax
call fcn.02b15c90
lea eax, [0x2d4000a]
mov dword [esp], eax
mov dword [esp + 4], 8
call fcn.02b15e90
movsd xmm0, qword [esp + 0x80]
movsd qword [esp], xmm0
call fcn.02b15870
lea eax, [0x2d40815]
mov dword [esp], eax
mov dword [esp + 4], 0xa
call fcn.02b15e90
movsd xmm0, qword [esp + 0x78]
movsd qword [esp], xmm0
call fcn.02b15870
lea eax, [0x2d404a2]
mov dword [esp], eax
mov dword [esp + 4], 9
call fcn.02b15e90
movsd xmm0, qword [esp + 0x60]
movsd qword [esp], xmm0
call fcn.02b15870
call fcn.02b157d0
call fcn.02b15620
movsd xmm0, qword [esp + 0x48]
movsd qword [esp + 0x94], xmm0
add esp, 0x88
ret
mov eax, dword [esp + 0x8c]
movsd xmm0, qword [eax + 0x10]
movsd qword [esp + 0x94], xmm0
add esp, 0x88
ret
call fcn.02b3d440
jmp fcn.02afd6e0