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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x68
mov eax, dword [0x5f3008]
xor eax, esp
mov dword [esp + 0x64], eax
mov eax, dword [ebp + 8]
xorps xmm1, xmm1
movsd xmm2, qword [ebp + 0x38]
movsd xmm3, qword [ebp + 0x40]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x28]
mov dword [esp + 0x10], eax
xor eax, eax
ucomisd xmm2, xmm1
push esi
mov word [esp + 0x4c], ax
mov esi, ecx
mov ecx, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 0x14]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x28], edi
lahf
test ah, 0x44
jp 0x5317a2
movups xmm0, xmmword [esi + 0x10]
movups xmmword [esp + 0x40], xmm0
jmp 0x53181f
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x14]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm3
cvttsd2si eax, xmm0
sub eax, dword [ebp + 0x30]
add ecx, eax
mov eax, dword [esi + 0x1c]
sub eax, dword [esi + 0x14]
mov dword [esp + 0x44], ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm3
cvttsd2si eax, xmm0
add eax, ecx
mov ecx, dword [edi]
mov dword [esp + 0x4c], eax
mov eax, dword [esi + 0x10]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
cvttsd2si eax, xmm0
sub eax, dword [ebp + 0x2c]
add ecx, eax
mov eax, dword [esi + 0x18]
sub eax, dword [esi + 0x10]
mov dword [esp + 0x40], ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
cvttsd2si eax, xmm0
add eax, ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x48], eax
movsd xmm0, qword [esi + 8]
mov eax, dword [esi + 0x20]
mov edi, dword [esi + 0x34]
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x3c], eax
mov eax, dword [esi + 0x24]
ucomisd xmm0, xmm1
mov dword [esp + 0x38], eax
movzx eax, word [esi + 0x28]
mov dword [esp + 0x34], eax
movzx eax, word [esi + 0x2a]
mov dword [esp + 0x30], eax
lahf
test ah, 0x44
jnp 0x53189b
cmp word [ebp + 0x34], 1
jne 0x531865
mulsd xmm0, qword [ecx + 0x28]
mulsd xmm0, qword [ecx + 0x38]
jmp 0x53186f
mulsd xmm0, qword [ecx + 0x30]
mulsd xmm0, qword [ecx + 0x40]
test dx, dx
jne 0x531879
divsd xmm0, qword [ecx + 0x60]
comisd xmm0, xmm1
jb 0x53188d
addsd xmm0, qword [0x5ea530]
cvttsd2si eax, xmm0
jmp 0x53189d
subsd xmm0, qword [0x5ea530]
cvttsd2si eax, xmm0
jmp 0x53189d
xor eax, eax
mov dword [esp + 0x14], eax
test edi, edi
je 0x53192f
nop dword [eax]
sub esp, 0x10
movsd qword [esp + 8], xmm3
movsd qword [esp], xmm2
push eax
lea eax, [esp + 0x64]
push eax
movzx eax, word [esi + 0x2e]
push 0
push 0
push 0
push dword [esp + 0x3c]
push eax
movzx eax, word [esi + 0x2c]
push eax
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x78]
push eax
push dword [esp + 0x5c]
lea eax, [esp + 0x84]
push dword [esp + 0x64]
push dword [esp + 0x6c]
push dword [esp + 0x74]
push edx
push ecx
push eax
push dword [esp + 0x88]
mov ecx, edi
call fcn.004690e0
mov edi, dword [edi]
movsd xmm2, qword [ebp + 0x38]
movsd xmm3, qword [ebp + 0x40]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov edx, dword [ebp + 0x10]
test edi, edi
jne 0x5318b0
mov ecx, dword [esp + 0x6c]
pop edi
pop esi
xor ecx, esp
call fcn.0056060a
mov esp, ebp
pop ebp
ret 0x40