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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x74
mov eax, dword [0x100ab000]
xor eax, esp
mov dword [esp + 0x70], eax
push ebx
push esi
push edi
mov eax, dword [ebp + 8]
xorps xmm1, xmm1
movss xmm0, dword [0x1005f340]
mov ebx, dword [0x100ab33c]
mov esi, dword [0x100ab340]
movss dword [esp + 0x28], xmm1
mov dword [eax], 0
mov dword [eax + 4], 0
movss dword [esp + 0xc], xmm1
movss dword [esp + 0x10], xmm1
mov dword [esp + 0x14], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
movss dword [esp + 0x30], xmm1
movss dword [esp + 0x34], xmm1
movss dword [esp + 0x38], xmm1
movss dword [esp + 0x6c], xmm0
mov dword [esp + 0x70], 0
mov dword [esp + 0x5c], esi
cmp ebx, esi
je 0x1005a80e
movq xmm0, qword [esp + 0xc]
lea esi, [ebx + 0xa0]
mov eax, dword [esp + 0x5c]
movq qword [esp + 0x18], xmm0
nop word [eax + eax]
cmp byte [0x100ab7e1], 1
jne 0x1005a3a6
comiss xmm1, dword [esi - 0x90]
ja 0x1005a7ee
cmp byte [0x100ab7e2], 1
jne 0x1005a3b8
cmp byte [ebx], 1
je 0x1005a7ee
movq xmm0, qword [esi]
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x64]
push eax
mov eax, dword [esi + 8]
sub esp, 0xc
mov ecx, esp
sub esp, 0x40
movq qword [ecx], xmm0
movups xmm0, xmmword [0x100ab3d8]
mov dword [ecx + 8], eax
mov eax, esp
movups xmmword [eax], xmm0
movups xmm0, xmmword [0x100ab3e8]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [0x100ab3f8]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [0x100ab408]
movups xmmword [eax + 0x30], xmm0
call fcn.10003780
add esp, 0x54
test eax, eax
je 0x1005a7e7
cmp byte [0x100ab81e], 0
je 0x1005a570
call fcn.1005ab80
mov eax, dword [0x100ab3a4]
movss xmm1, dword [esp + 0x64]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
cvtps2pd xmm0, xmm1
movsd xmm1, qword [0x1005f338]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
mov eax, dword [0x100ab3a8]
movss xmm2, dword [esp + 0x60]
cdq
sub eax, edx
movsd qword [esp + 0x28], xmm0
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm2, xmm1
movsd xmm1, qword [0x1005f338]
cvtps2pd xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
addsd xmm0, qword [esp + 0x28]
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x1005a498
sqrtsd xmm0, xmm0
jmp 0x1005a49d
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
movss xmm1, dword [esp + 0x6c]
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm0
comiss xmm1, xmm2
jbe 0x1005a733
mov eax, dword [0x100ab820]
test eax, eax
jne 0x1005a4f3
mov eax, dword [esi - 4]
movq xmm1, qword [esi - 0xc]
mov dword [esp + 0x14], eax
movss xmm0, dword [esp + 0x14]
addss xmm0, dword [0x100a6fd4]
movq qword [esp + 0x18], xmm1
movq qword [esp + 0xc], xmm1
movss dword [esp + 0x6c], xmm2
movss dword [esp + 0x14], xmm0
jmp 0x1005a721
cmp eax, 1
jne 0x1005a51a
movq xmm1, qword [esi]
mov eax, dword [esi + 8]
movq qword [esp + 0x18], xmm1
movq qword [esp + 0xc], xmm1
mov dword [esp + 0x14], eax
movss dword [esp + 0x6c], xmm2
jmp 0x1005a721
cmp eax, 2
jne 0x1005a542
movq xmm1, qword [esi + 0xc]
mov eax, dword [esi + 0x14]
movq qword [esp + 0x18], xmm1
movq qword [esp + 0xc], xmm1
mov dword [esp + 0x14], eax
movss dword [esp + 0x6c], xmm2
jmp 0x1005a721
cmp eax, 3
jne 0x1005a565
movq xmm0, qword [esi + 0x9c]
mov eax, dword [esi + 0xa4]
movq qword [esp + 0x18], xmm0
movq qword [esp + 0xc], xmm0
mov dword [esp + 0x14], eax
movss dword [esp + 0x6c], xmm2
jmp 0x1005a721
call fcn.1005ab80
cmp byte [0x100ab7e1], 1
xorps xmm1, xmm1
jne 0x1005a58e
comiss xmm1, dword [esi - 0x90]
ja 0x1005a7ea
cmp byte [0x100ab7e2], 1
jne 0x1005a5a0
cmp byte [ebx], 1
je 0x1005a7ea
movq xmm0, qword [esi]
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x64]
push eax
mov eax, dword [esi + 8]
sub esp, 0xc
mov ecx, esp
sub esp, 0x40
movq qword [ecx], xmm0
movups xmm0, xmmword [0x100ab3d8]
mov dword [ecx + 8], eax
mov eax, esp
movups xmmword [eax], xmm0
movups xmm0, xmmword [0x100ab3e8]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [0x100ab3f8]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [0x100ab408]
movups xmmword [eax + 0x30], xmm0
call fcn.10003780
add esp, 0x54
test eax, eax
je 0x1005a733
mov eax, dword [0x100ab3a4]
movss xmm1, dword [esp + 0x64]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
cvtps2pd xmm0, xmm1
movsd xmm1, qword [0x1005f338]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
mov eax, dword [0x100ab3a8]
movss xmm2, dword [esp + 0x60]
cdq
sub eax, edx
movsd qword [esp + 0x28], xmm0
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm2, xmm1
movsd xmm1, qword [0x1005f338]
cvtps2pd xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
addsd xmm0, qword [esp + 0x28]
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x1005a66e
sqrtsd xmm0, xmm0
jmp 0x1005a673
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
movss xmm1, dword [esp + 0x6c]
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm0
comiss xmm1, xmm2
jbe 0x1005a733
mov eax, dword [0x100ab820]
test eax, eax
jne 0x1005a6c0
mov eax, dword [esi - 4]
movq xmm1, qword [esi - 0xc]
mov dword [esp + 0x14], eax
movss xmm0, dword [esp + 0x14]
addss xmm0, dword [0x100a6fd4]
movq qword [esp + 0x18], xmm1
movq qword [esp + 0xc], xmm1
movss dword [esp + 0x14], xmm0
jmp 0x1005a718
cmp eax, 1
jne 0x1005a6da
movq xmm1, qword [esi]
mov eax, dword [esi + 8]
movq qword [esp + 0x18], xmm1
movq qword [esp + 0xc], xmm1
jmp 0x1005a714
cmp eax, 2
jne 0x1005a6f5
movq xmm1, qword [esi + 0xc]
mov eax, dword [esi + 0x14]
movq qword [esp + 0x18], xmm1
movq qword [esp + 0xc], xmm1
jmp 0x1005a714
cmp eax, 3
jne 0x1005a718
movq xmm0, qword [esi + 0x9c]
mov eax, dword [esi + 0xa4]
movq qword [esp + 0x18], xmm0
movq qword [esp + 0xc], xmm0
mov dword [esp + 0x14], eax
movaps xmm0, xmm2
movss dword [esp + 0x6c], xmm0
movq xmm0, qword [esi - 0x1c]
mov eax, dword [esi - 0x14]
mov dword [esp + 0x38], eax
movq qword [esp + 0x30], xmm0
cmp byte [0x100ab81e], 0
je 0x1005a7e7
movq xmm0, qword [esp + 0x18]
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x64]
push eax
mov eax, dword [esp + 0x1c]
sub esp, 0xc
mov ecx, esp
sub esp, 0x40
movq qword [ecx], xmm0
movups xmm0, xmmword [0x100ab3d8]
mov dword [ecx + 8], eax
mov eax, esp
movups xmmword [eax], xmm0
movups xmm0, xmmword [0x100ab3e8]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [0x100ab3f8]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [0x100ab408]
movups xmmword [eax + 0x30], xmm0
call fcn.10003780
add esp, 0x54
test eax, eax
je 0x1005a7e2
movss xmm0, dword [0x100aa654]
push ecx
movss dword [esp], xmm0
push dword [esp + 0x68]
movd xmm0, dword [0x100ab3a4]
push dword [esp + 0x68]
cvtdq2ps xmm0, xmm0
sub esp, 8
movss dword [esp + 4], xmm0
movd xmm0, dword [0x100ab3a8]
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
call fcn.10002ed0
add esp, 0x14
test al, al
jne 0x1005a7e7
call fcn.1005b710
xorps xmm1, xmm1
mov eax, dword [esp + 0x5c]
add ebx, 0x148
add esi, 0x148
cmp ebx, eax
jne 0x1005a390
movss xmm0, dword [esp + 0xc]
movss dword [esp + 0x28], xmm0
mov edi, dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
lea eax, [esp + 0x6c]
push 0
push 4
push eax
mov eax, dword [0x100ab310]
add eax, 0x34c
push eax
push dword [0x100ab2f0]
call edi
mov esi, dword [esp + 0x6c]
lea eax, [esp + 0x5c]
push 0
push 4
push eax
lea eax, [esi + 0x68c]
push eax
push dword [0x100ab2f0]
call edi
mov eax, dword [esp + 0x5c]
add eax, 0x120
push eax
lea eax, [esi + 0x140]
push eax
lea eax, [esp + 0x50]
push eax
call fcn.10003030
mov ecx, eax
add esp, 0xc
movq xmm0, qword [ecx]
mov eax, dword [ecx + 8]
movq qword [esp + 0x3c], xmm0
movq xmm0, xmm0
movq qword [esp + 0x18], xmm0
movss xmm1, dword [esp + 0x18]
movss xmm2, dword [esp + 0x1c]
subss xmm2, dword [esp + 0x10]
subss xmm1, dword [esp + 0x28]
mov dword [esp + 0x20], eax
movss xmm0, dword [esp + 0x20]
subss xmm0, dword [esp + 0x14]
mulss xmm2, xmm2
mov dword [esp + 0x44], eax
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
xorps xmm1, xmm1
addss xmm2, xmm0
cvtps2pd xmm0, xmm2
ucomisd xmm1, xmm0
ja 0x1005a8d5
sqrtsd xmm0, xmm0
jmp 0x1005a8da
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
cvtsd2ss xmm0, xmm0
push 0
push 4
lea eax, [esp + 0x74]
push eax
push 0x1d64
divss xmm0, dword [0x1005f374]
push dword [0x100ab2f0]
movss dword [esp + 0x2c], xmm0
call edi
push 0
push 4
lea eax, [esp + 0x64]
push eax
mov eax, dword [esp + 0x78]
add eax, 0xc40
push eax
push dword [0x100ab2f0]
call edi
push 0
push 4
lea eax, [esp + 0x74]
push eax
mov eax, dword [esp + 0x68]
add eax, 0x294
push eax
push dword [0x100ab2f0]
call edi
movss xmm1, dword [esp + 0x18]
movss xmm0, dword [0x100a6fec]
movaps xmm4, xmm1
comiss xmm0, xmm1
divss xmm4, dword [0x100a6fe8]
jbe 0x1005a963
movss xmm0, dword [0x100a6fd0]
jmp 0x1005aa41
movss xmm0, dword [0x100a6ff0]
comiss xmm0, xmm1
jbe 0x1005a97d
movss xmm0, dword [0x100a6fcc]
jmp 0x1005aa41
movss xmm0, dword [0x100a6ff4]
comiss xmm0, xmm1
jbe 0x1005a997
movss xmm0, dword [0x100a6fb4]
jmp 0x1005aa41
movss xmm0, dword [0x100a6ff8]
comiss xmm0, xmm1
jbe 0x1005a9b1
movss xmm0, dword [0x100a6fb8]
jmp 0x1005aa41
movss xmm0, dword [0x100a6ffc]
comiss xmm0, xmm1
jbe 0x1005a9c8
movss xmm0, dword [0x100a2850]
jmp 0x1005aa41
movss xmm0, dword [0x100a7000]
comiss xmm0, xmm1
jbe 0x1005a9df
movss xmm0, dword [0x100a6fbc]
jmp 0x1005aa41
movss xmm0, dword [0x100a7004]
comiss xmm0, xmm1
jbe 0x1005a9f6
movss xmm0, dword [0x100a6fc0]
jmp 0x1005aa41
movss xmm0, dword [0x100a7008]
comiss xmm0, xmm1
jbe 0x1005aa0d
movss xmm0, dword [0x100a6fc4]
jmp 0x1005aa41
movss xmm0, dword [0x100a700c]
comiss xmm0, xmm1
jbe 0x1005aa24
movss xmm0, dword [0x100a6fc8]
jmp 0x1005aa41
movss xmm0, dword [0x100a7010]
comiss xmm0, xmm1
jbe 0x1005aa3b
movss xmm0, dword [0x100a2964]
jmp 0x1005aa41
movss xmm0, dword [esp + 0x18]
movaps xmm1, xmm4
movaps xmm3, xmm4
mulss xmm1, dword [esp + 0x38]
movaps xmm2, xmm4
mulss xmm3, dword [esp + 0x30]
mulss xmm1, xmm0
movaps xmm0, xmm4
mulss xmm0, dword [0x100a6fe0]
mulss xmm2, dword [esp + 0x34]
addss xmm3, dword [esp + 0x28]
mulss xmm0, xmm4
addss xmm2, dword [esp + 0x10]
subss xmm3, dword [esp + 0x3c]
addss xmm1, xmm0
subss xmm2, dword [esp + 0x40]
movss dword [esp + 0x28], xmm3
addss xmm1, dword [esp + 0x14]
movss dword [esp + 0x18], xmm2
subss xmm1, dword [esp + 0x44]
cvtps2pd xmm0, xmm1
movaps xmm1, xmm2
movsd qword [esp + 0x70], xmm0
movaps xmm0, xmm3
mulss xmm1, xmm2
mulss xmm0, xmm3
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x1005aad0
sqrtsd xmm0, xmm0
jmp 0x1005aad5
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
fld qword [esp + 0x70]
cvtsd2ss xmm0, xmm0
cvtss2sd xmm0, xmm0
movsd qword [esp + 0x60], xmm0
fld qword [esp + 0x60]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIatan2
fstp qword [esp + 0x60]
movsd xmm0, qword [esp + 0x60]
cvtpd2ps xmm0, xmm0
mov ebx, dword [ebp + 8]
mulss xmm0, dword [0x100a6fdc]
divss xmm0, dword [0x100a643c]
movss dword [ebx], xmm0
movss xmm0, dword [esp + 0x18]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x60], xmm0
movss xmm0, dword [esp + 0x28]
fld qword [esp + 0x60]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x60], xmm0
fld qword [esp + 0x60]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIatan2
fstp qword [esp + 0x60]
movsd xmm0, qword [esp + 0x60]
mov eax, ebx
cvtpd2ps xmm0, xmm0
mov ecx, dword [esp + 0x7c]
pop edi
pop esi
mulss xmm0, dword [0x100a6fdc]
divss xmm0, dword [0x100a643c]
movss dword [ebx + 4], xmm0
pop ebx
xor ecx, esp
call fcn.1005c7f7
mov esp, ebp
pop ebp
ret