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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x108
mov eax, dword [0x10132ac4]
movaps xmm1, xmm3
movss dword [esp + 0x24], xmm1
mov dword [esp + 0x64], edx
push ebx
mov ebx, ecx
mov dword [esp + 0x3c], ebx
push ebp
push esi
push edi
test eax, eax
jne 0x10005160
mov edx, 0xe80c2f78
mov ecx, 0x101114a5
call fcn.10004930
mov edx, 0xc10bf213
mov ecx, 0x101113bd
mov esi, eax
call fcn.10004930
mov edx, esi
mov ecx, eax
call fcn.1007b050
movss xmm1, dword [esp + 0x34]
mov dword [0x10132ac4], eax
movd xmm0, dword [eax + ebx]
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
ja 0x100051ad
test eax, eax
jne 0x1000519f
mov edx, 0xe80c2f78
mov ecx, 0x101114a5
call fcn.10004930
mov edx, 0xc10bf213
mov ecx, 0x101113bd
mov esi, eax
call fcn.10004930
mov edx, esi
mov ecx, eax
call fcn.1007b050
mov dword [0x10132ac4], eax
movd xmm0, dword [eax + ebx]
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x34], xmm0
test eax, eax
jne 0x100051df
mov edx, 0xe80c2f78
mov ecx, 0x101114a5
call fcn.10004930
mov edx, 0xc10bf213
mov ecx, 0x101113bd
mov esi, eax
call fcn.10004930
mov edx, esi
mov ecx, eax
call fcn.1007b050
mov dword [0x10132ac4], eax
movd xmm0, dword [eax + ebx]
movss xmm1, dword [0x1012c844]
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x100051fc
movss dword [esp + 0x3c], xmm1
jmp 0x1000523c
test eax, eax
jne 0x1000522e
mov edx, 0xe80c2f78
mov ecx, 0x101114a5
call fcn.10004930
mov edx, 0xc10bf213
mov ecx, 0x101113bd
mov esi, eax
call fcn.10004930
mov edx, esi
mov ecx, eax
call fcn.1007b050
mov dword [0x10132ac4], eax
movd xmm0, dword [eax + ebx]
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x3c], xmm0
mov ebx, dword [0x10131d0c]
xorps xmm0, xmm0
mov edi, dword [0x10131d08]
xor ebp, ebp
xor eax, eax
movss dword [esp + 0x38], xmm0
xor esi, esi
movss dword [esp + 0x58], xmm0
movss dword [esp + 0x54], xmm0
movss dword [esp + 0x50], xmm0
mov dword [esp + 0x68], ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], eax
cmp edi, ebx
je 0x100052c0
mov ecx, dword [edi]
mov dword [esp + 0x24], ecx
cmp esi, eax
je 0x10005296
mov dword [esi], ecx
add esi, 4
mov dword [esp + 0x1c], esi
jmp 0x100052ad
lea eax, [esp + 0x24]
push eax
push esi
lea ecx, [esp + 0x20]
call fcn.10007150
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
add edi, 4
cmp edi, ebx
jne 0x10005281
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x24], eax
mov dword [esp + 0x68], ebp
xor eax, eax
xor edx, edx
mov dword [esp + 0x60], eax
xor ecx, ecx
mov dword [esp + 0x28], eax
xor edi, edi
mov dword [esp + 0x64], eax
xor ebx, ebx
mov dword [esp + 0x30], eax
mov eax, esi
sub eax, ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x40], edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x20], ecx
test eax, 0xfffffffc
je 0x100053cf
cmp ebp, esi
je 0x1000536f
nop word [eax + eax]
push dword [ebp]
mov ecx, dword [esp + 0x4c]
lea eax, [esp + 0x104]
push eax
call fcn.10004bc0
cmp edi, ebx
je 0x1000533f
movq xmm0, qword [eax]
movq qword [edi], xmm0
mov eax, dword [eax + 8]
mov dword [edi + 8], eax
add edi, 0xc
mov dword [esp + 0x2c], edi
jmp 0x10005352
push eax
push edi
lea ecx, [esp + 0x30]
call fcn.10006f00
mov ebx, dword [esp + 0x30]
mov edi, dword [esp + 0x2c]
add ebp, 4
cmp ebp, esi
jne 0x10005310
mov esi, dword [esp + 0x28]
xor ecx, ecx
mov dword [esp + 0x64], ebx
xor edx, edx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x60], esi
jmp 0x10005371
xor esi, esi
cmp esi, edi
je 0x100053cf
nop word [eax + eax]
movq xmm0, qword [esi]
mov eax, dword [esi + 8]
movq qword [esp + 0x28], xmm0
mov dword [esp + 0x30], eax
cmp ebx, ecx
je 0x100053a5
movq qword [ebx], xmm0
mov dword [ebx + 8], eax
add ebx, 0xc
mov dword [esp + 0x1c], ebx
jmp 0x100053bc
lea eax, [esp + 0x28]
push eax
push ebx
lea ecx, [esp + 0x20]
call fcn.10006f00
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
add esi, 0xc
cmp esi, edi
jne 0x10005380
mov edx, dword [esp + 0x18]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x40], edx
mov ecx, ebx
mov byte [esp + 0x4c], 0
sub ecx, edx
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1000569f
mov ebp, dword [esp + 0x40]
cmp ebp, ebx
je 0x10005646
mov dword [esp + 0x30], 0
mov eax, dword [ebp + 8]
movq xmm0, qword [ebp]
mov esi, dword [0x10132ac8]
mov ecx, esi
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10c]
push eax
movq qword [esp + 0x1c], xmm0
call fcn.10004950
push esi
push eax
lea ecx, [esp + 0x80]
call fcn.100078b0
movss xmm1, dword [esp + 0x7c]
subss xmm1, dword [esp + 0x1c]
movss xmm3, dword [esp + 0x78]
subss xmm3, dword [esp + 0x18]
movss xmm0, dword [esp + 0x80]
subss xmm0, dword [esp + 0x20]
movaps xmm2, xmm1
movss dword [esp + 0x6c], xmm1
mulss xmm2, xmm1
movaps xmm1, xmm3
movss dword [esp + 0x44], xmm3
mulss xmm1, xmm3
addss xmm2, xmm1
xorps xmm1, xmm1
sqrtss xmm1, xmm2
divss xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_atanf
mulss xmm0, dword [0x1012c93c]
movss dword [esp + 0x70], xmm0
movss xmm0, dword [esp + 0x6c]
divss xmm0, dword [esp + 0x44]
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_atanf
movaps xmm1, xmm0
xorps xmm2, xmm2
movss xmm0, dword [esp + 0x44]
comiss xmm0, xmm2
mulss xmm1, dword [0x1012c93c]
jb 0x100054cc
addss xmm1, dword [0x1012c96c]
movss xmm0, dword [esp + 0x70]
lea edx, [esp + 0xd8]
lea ecx, [esp + 0x28]
movss dword [esp + 0x28], xmm0
movss dword [esp + 0x2c], xmm1
call fcn.10007460
movss xmm3, dword [esp + 0xd8]
mov edx, 0xe80c2f78
movss xmm4, dword [esp + 0xdc]
movaps xmm1, xmm3
movss xmm2, dword [esp + 0xe0]
movaps xmm0, xmm4
mulss xmm0, xmm4
mov ecx, 0x101114dd
mov edi, dword [0x10132ac8]
mulss xmm1, xmm3
addss xmm1, xmm0
movaps xmm0, xmm2
mulss xmm0, xmm2
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss xmm1, dword [0x1012c844]
addss xmm0, dword [0x1012c734]
divss xmm1, xmm0
mulss xmm3, xmm1
mulss xmm4, xmm1
mulss xmm2, xmm1
movss dword [esp + 0xd8], xmm3
movss dword [esp + 0xdc], xmm4
movss dword [esp + 0xe0], xmm2
call fcn.10004930
mov edx, 0xc10bf213
mov ecx, 0x101113bd
mov esi, eax
call fcn.10004930
mov edx, esi
mov ecx, eax
call fcn.1007b050
mov ecx, dword [0x10132a94]
mov edx, dword [eax + edi]
mov eax, dword [ecx]
and edx, 0xfff
push edx
mov eax, dword [eax + 0xc]
call eax
lea ecx, [esp + 0x78]
mov edx, eax
push ecx
mov ecx, dword [0x10132ac8]
call fcn.10008500
add esp, 4
test al, al
je 0x100055d2
movss xmm0, dword [esp + 0xf4]
jmp 0x100055da
movss xmm0, dword [0x1012c9fc]
comiss xmm0, dword [esp + 0x38]
jbe 0x10005633
movss dword [esp + 0x38], xmm0
lea eax, [esp + 0x18]
movss xmm0, dword [esp + 0x18]
movss dword [esp + 0x50], xmm0
movss xmm0, dword [esp + 0x1c]
push eax
push dword [esp + 0x4c]
movss dword [esp + 0x5c], xmm0
movss xmm0, dword [esp + 0x28]
movss dword [esp + 0x60], xmm0
mov byte [esp + 0x1f], 0
call fcn.10004a10
movzx ecx, byte [esp + 0x17]
test al, al
mov eax, 1
cmovne ecx, eax
mov dword [esp + 0x4c], ecx
jmp 0x10005637
mov ecx, dword [esp + 0x4c]
add ebp, 0xc
cmp ebp, ebx
jne 0x10005402
test cl, cl
jne 0x10005652
movss xmm0, dword [esp + 0x34]
movss dword [esp + 0x3c], xmm0
movss xmm0, dword [esp + 0x38]
comiss xmm0, dword [esp + 0x3c]
jbe 0x1000569f
movss xmm2, dword [esp + 0x50]
xorps xmm0, xmm0
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jnp 0x1000569f
movss xmm1, dword [esp + 0x54]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x1000569f
mov eax, dword [esp + 0x74]
movss xmm0, dword [esp + 0x58]
mov byte [esp + 0x17], 1
movss dword [eax], xmm2
movss dword [eax + 4], xmm1
movss dword [eax + 8], xmm0
jmp 0x100056a4
mov byte [esp + 0x17], 0
mov ebx, dword [esp + 0x40]
test ebx, ebx
je 0x100056ec
mov ecx, dword [esp + 0x5c]
mov eax, 0x2aaaaaab
sub ecx, ebx
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, ebx
shl ecx, 2
cmp ecx, 0x1000
jb 0x100056e2
mov ebx, dword [eax - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000575f
push ecx
push ebx
call fcn.100d6ec2
add esp, 8
mov ebx, dword [esp + 0x60]
test ebx, ebx
je 0x10005734
mov ecx, dword [esp + 0x64]
mov eax, 0x2aaaaaab
sub ecx, ebx
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, ebx
shl ecx, 2
cmp ecx, 0x1000
jb 0x1000572a
mov ebx, dword [eax - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000575f
push ecx
push ebx
call fcn.100d6ec2
add esp, 8
mov edx, dword [esp + 0x68]
test edx, edx
je 0x1000576f
mov ecx, dword [esp + 0x24]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffffc
cmp ecx, 0x1000
jb 0x10005765
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10005765
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100d6ec2
add esp, 8
mov al, byte [esp + 0x17]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret