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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x74
mov eax, dword [0x1012be80]
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 [0x10083120]
mov ebx, dword [0x1012d2f0]
mov esi, dword [0x1012d2f4]
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 0x100621ce
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 [0x1012d9d5], 1
jne 0x10061d66
comiss xmm1, dword [esi - 0x90]
ja 0x100621ae
cmp byte [0x1012d9d6], 1
jne 0x10061d78
cmp byte [ebx], 1
je 0x100621ae
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 [0x1012d570]
mov dword [ecx + 8], eax
mov eax, esp
movups xmmword [eax], xmm0
movups xmm0, xmmword [0x1012d580]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [0x1012d590]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [0x1012d5a0]
movups xmmword [eax + 0x30], xmm0
call fcn.100080d0
add esp, 0x54
test eax, eax
je 0x100621a7
cmp byte [0x1012da12], 0
je 0x10061f30
call fcn.10062540
mov eax, dword [0x1012d514]
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 [0x10083118]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
mov eax, dword [0x1012d518]
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 [0x10083118]
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 0x10061e58
sqrtsd xmm0, xmm0
jmp 0x10061e5d
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 0x100620f3
mov eax, dword [0x1012da14]
test eax, eax
jne 0x10061eb3
mov eax, dword [esi - 4]
movq xmm1, qword [esi - 0xc]
mov dword [esp + 0x14], eax
movss xmm0, dword [esp + 0x14]
addss xmm0, dword [0x100cb174]
movq qword [esp + 0x18], xmm1
movq qword [esp + 0xc], xmm1
movss dword [esp + 0x6c], xmm2
movss dword [esp + 0x14], xmm0
jmp 0x100620e1
cmp eax, 1
jne 0x10061eda
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 0x100620e1
cmp eax, 2
jne 0x10061f02
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 0x100620e1
cmp eax, 3
jne 0x10061f25
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 0x100620e1
call fcn.10062540
cmp byte [0x1012d9d5], 1
xorps xmm1, xmm1
jne 0x10061f4e
comiss xmm1, dword [esi - 0x90]
ja 0x100621aa
cmp byte [0x1012d9d6], 1
jne 0x10061f60
cmp byte [ebx], 1
je 0x100621aa
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 [0x1012d570]
mov dword [ecx + 8], eax
mov eax, esp
movups xmmword [eax], xmm0
movups xmm0, xmmword [0x1012d580]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [0x1012d590]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [0x1012d5a0]
movups xmmword [eax + 0x30], xmm0
call fcn.100080d0
add esp, 0x54
test eax, eax
je 0x100620f3
mov eax, dword [0x1012d514]
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 [0x10083118]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
mov eax, dword [0x1012d518]
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 [0x10083118]
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 0x1006202e
sqrtsd xmm0, xmm0
jmp 0x10062033
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 0x100620f3
mov eax, dword [0x1012da14]
test eax, eax
jne 0x10062080
mov eax, dword [esi - 4]
movq xmm1, qword [esi - 0xc]
mov dword [esp + 0x14], eax
movss xmm0, dword [esp + 0x14]
addss xmm0, dword [0x100cb174]
movq qword [esp + 0x18], xmm1
movq qword [esp + 0xc], xmm1
movss dword [esp + 0x14], xmm0
jmp 0x100620d8
cmp eax, 1
jne 0x1006209a
movq xmm1, qword [esi]
mov eax, dword [esi + 8]
movq qword [esp + 0x18], xmm1
movq qword [esp + 0xc], xmm1
jmp 0x100620d4
cmp eax, 2
jne 0x100620b5
movq xmm1, qword [esi + 0xc]
mov eax, dword [esi + 0x14]
movq qword [esp + 0x18], xmm1
movq qword [esp + 0xc], xmm1
jmp 0x100620d4
cmp eax, 3
jne 0x100620d8
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 [0x1012da12], 0
je 0x100621a7
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 [0x1012d570]
mov dword [ecx + 8], eax
mov eax, esp
movups xmmword [eax], xmm0
movups xmm0, xmmword [0x1012d580]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [0x1012d590]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [0x1012d5a0]
movups xmmword [eax + 0x30], xmm0
call fcn.100080d0
add esp, 0x54
test eax, eax
je 0x100621a2
movss xmm0, dword [0x1012b0ac]
push ecx
movss dword [esp], xmm0
push dword [esp + 0x68]
movd xmm0, dword [0x1012d514]
push dword [esp + 0x68]
cvtdq2ps xmm0, xmm0
sub esp, 8
movss dword [esp + 4], xmm0
movd xmm0, dword [0x1012d518]
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
call fcn.10006c80
add esp, 0x14
test al, al
jne 0x100621a7
call fcn.100630d0
xorps xmm1, xmm1
mov eax, dword [esp + 0x5c]
add ebx, 0x148
add esi, 0x148
cmp ebx, eax
jne 0x10061d50
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 [0x1012d2c4]
add eax, 0x378
push eax
push dword [0x1012d274]
call edi
mov esi, dword [esp + 0x6c]
lea eax, [esp + 0x5c]
push 0
push 4
push eax
lea eax, [esi + 0x6e4]
push eax
push dword [0x1012d274]
call edi
mov eax, dword [esp + 0x5c]
add eax, 0x120
push eax
lea eax, [esi + 0x150]
push eax
lea eax, [esp + 0x50]
push eax
call fcn.10007980
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 0x10062295
sqrtsd xmm0, xmm0
jmp 0x1006229a
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 0x2288
divss xmm0, dword [0x10083154]
push dword [0x1012d274]
movss dword [esp + 0x2c], xmm0
call edi
push 0
push 4
lea eax, [esp + 0x64]
push eax
mov eax, dword [esp + 0x78]
add eax, 0xcf8
push eax
push dword [0x1012d274]
call edi
push 0
push 4
lea eax, [esp + 0x74]
push eax
mov eax, dword [esp + 0x68]
add eax, 0x420
push eax
push dword [0x1012d274]
call edi
movss xmm1, dword [esp + 0x18]
movss xmm0, dword [0x100cb18c]
movaps xmm4, xmm1
comiss xmm0, xmm1
divss xmm4, dword [0x100cb188]
jbe 0x10062323
movss xmm0, dword [0x100cb170]
jmp 0x10062401
movss xmm0, dword [0x100cb190]
comiss xmm0, xmm1
jbe 0x1006233d
movss xmm0, dword [0x100cb16c]
jmp 0x10062401
movss xmm0, dword [0x100cb194]
comiss xmm0, xmm1
jbe 0x10062357
movss xmm0, dword [0x100cb154]
jmp 0x10062401
movss xmm0, dword [0x100cb198]
comiss xmm0, xmm1
jbe 0x10062371
movss xmm0, dword [0x100cb158]
jmp 0x10062401
movss xmm0, dword [0x100cb19c]
comiss xmm0, xmm1
jbe 0x10062388
movss xmm0, dword [0x100c67a4]
jmp 0x10062401
movss xmm0, dword [0x100cb1a0]
comiss xmm0, xmm1
jbe 0x1006239f
movss xmm0, dword [0x100cb15c]
jmp 0x10062401
movss xmm0, dword [0x100cb1a4]
comiss xmm0, xmm1
jbe 0x100623b6
movss xmm0, dword [0x100cb160]
jmp 0x10062401
movss xmm0, dword [0x100cb1a8]
comiss xmm0, xmm1
jbe 0x100623cd
movss xmm0, dword [0x100cb164]
jmp 0x10062401
movss xmm0, dword [0x100cb1ac]
comiss xmm0, xmm1
jbe 0x100623e4
movss xmm0, dword [0x100cb168]
jmp 0x10062401
movss xmm0, dword [0x100cb1b0]
comiss xmm0, xmm1
jbe 0x100623fb
movss xmm0, dword [0x100c68b4]
jmp 0x10062401
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 [0x100cb180]
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 0x10062490
sqrtsd xmm0, xmm0
jmp 0x10062495
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 [0x100cb17c]
divss xmm0, dword [0x100ca38c]
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 [0x100cb17c]
divss xmm0, dword [0x100ca38c]
movss dword [ebx + 4], xmm0
pop ebx
xor ecx, esp
call fcn.1007c51c
mov esp, ebp
pop ebp
ret