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

Disassembly:
sub esp, 0x10c
mov eax, dword [0x101f7648]
movaps xmm1, xmm3
movss dword [esp + 0x1c], xmm1
mov dword [esp + 0x64], edx
push ebx
mov ebx, ecx
mov dword [esp + 0x34], ebx
push ebp
push esi
push edi
test eax, eax
jne 0x1000490a
mov edx, 0xe80c2f78
mov ecx, 0x1014c9ed
call fcn.10003ad0
mov edx, 0xc10bf213
mov ecx, 0x1014c915
mov esi, eax
call fcn.10003ad0
mov edx, esi
mov ecx, eax
call fcn.100abe50
movss xmm1, dword [esp + 0x2c]
mov dword [0x101f7648], eax
movd xmm0, dword [eax + ebx]
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
ja 0x10004957
test eax, eax
jne 0x10004949
mov edx, 0xe80c2f78
mov ecx, 0x1014c9ed
call fcn.10003ad0
mov edx, 0xc10bf213
mov ecx, 0x1014c915
mov esi, eax
call fcn.10003ad0
mov edx, esi
mov ecx, eax
call fcn.100abe50
mov dword [0x101f7648], eax
movd xmm0, dword [eax + ebx]
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x2c], xmm0
test eax, eax
jne 0x10004989
mov edx, 0xe80c2f78
mov ecx, 0x1014c9ed
call fcn.10003ad0
mov edx, 0xc10bf213
mov ecx, 0x1014c915
mov esi, eax
call fcn.10003ad0
mov edx, esi
mov ecx, eax
call fcn.100abe50
mov dword [0x101f7648], eax
movd xmm0, dword [eax + ebx]
movss xmm1, dword [0x101b8358]
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x100049a6
movss dword [esp + 0x34], xmm1
jmp 0x100049e6
test eax, eax
jne 0x100049d8
mov edx, 0xe80c2f78
mov ecx, 0x1014c9ed
call fcn.10003ad0
mov edx, 0xc10bf213
mov ecx, 0x1014c915
mov esi, eax
call fcn.10003ad0
mov edx, esi
mov ecx, eax
call fcn.100abe50
mov dword [0x101f7648], eax
movd xmm0, dword [eax + ebx]
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x34], xmm0
xorps xmm0, xmm0
mov dword [esp + 0x60], 0
push ecx
push 0
lea ecx, [esp + 0x68]
movss dword [esp + 0x38], xmm0
movss dword [esp + 0x58], xmm0
movss dword [esp + 0x54], xmm0
movss dword [esp + 0x50], xmm0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
call fcn.10006430
mov edi, dword [esp + 0x60]
xor eax, eax
mov dword [esp + 0x58], eax
xor ebp, ebp
mov dword [esp + 0x20], eax
xor edx, edx
mov eax, dword [esp + 0x64]
xor ecx, ecx
xor esi, esi
mov dword [esp + 0x5c], ebp
xor ebx, ebx
mov dword [esp + 0x24], esi
sub eax, edi
mov dword [esp + 0x28], ebp
mov dword [esp + 0x38], edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x1c], ecx
test eax, 0xfffffffc
je 0x10004b3f
cmp edi, dword [esp + 0x64]
je 0x10004ade
mov ebx, dword [esp + 0x40]
nop dword [eax + eax]
push dword [edi]
lea eax, [esp + 0x104]
mov ecx, ebx
push eax
call fcn.10003d70
cmp esi, ebp
je 0x10004aac
movq xmm0, qword [eax]
movq qword [esi], xmm0
mov eax, dword [eax + 8]
mov dword [esi + 8], eax
add esi, 0xc
mov dword [esp + 0x24], esi
jmp 0x10004abf
push eax
push esi
lea ecx, [esp + 0x28]
call fcn.10006240
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
add edi, 4
cmp edi, dword [esp + 0x64]
jne 0x10004a80
mov edi, dword [esp + 0x20]
xor ecx, ecx
mov ebx, dword [esp + 0x18]
xor edx, edx
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x58], edi
jmp 0x10004ae0
xor edi, edi
cmp edi, esi
je 0x10004b3f
nop dword [eax]
nop dword [eax + eax]
movq xmm0, qword [edi]
mov eax, dword [edi + 8]
movq qword [esp + 0x20], xmm0
mov dword [esp + 0x28], eax
cmp ebx, ecx
je 0x10004b15
movq qword [ebx], xmm0
mov dword [ebx + 8], eax
add ebx, 0xc
mov dword [esp + 0x18], ebx
jmp 0x10004b2c
lea eax, [esp + 0x20]
push eax
push ebx
lea ecx, [esp + 0x1c]
call fcn.10006240
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
add edi, 0xc
cmp edi, esi
jne 0x10004af0
mov edx, dword [esp + 0x14]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x38], edx
mov ecx, ebx
mov byte [esp + 0x44], 0
sub ecx, edx
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10004e0f
mov ebp, dword [esp + 0x38]
cmp ebp, ebx
je 0x10004db6
mov dword [esp + 0x28], 0
mov eax, dword [ebp + 8]
movq xmm0, qword [ebp]
mov esi, dword [0x101f764c]
mov ecx, esi
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x10c]
push eax
movq qword [esp + 0x18], xmm0
call fcn.10003b00
push esi
push eax
lea ecx, [esp + 0x80]
call fcn.10006c10
movss xmm1, dword [esp + 0x7c]
subss xmm1, dword [esp + 0x18]
movss xmm3, dword [esp + 0x78]
subss xmm3, dword [esp + 0x14]
movss xmm2, dword [esp + 0x80]
subss xmm2, dword [esp + 0x1c]
movaps xmm0, xmm1
movss dword [esp + 0x6c], xmm1
mulss xmm0, xmm1
movaps xmm1, xmm3
movss dword [esp + 0x3c], xmm3
mulss xmm1, xmm3
addss xmm0, xmm1
call fcn.100039c0
divss xmm2, xmm0
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_atanf
mulss xmm0, dword [0x101b84a0]
movss dword [esp + 0x70], xmm0
movss xmm0, dword [esp + 0x6c]
divss xmm0, dword [esp + 0x3c]
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_atanf
movaps xmm1, xmm0
movss xmm0, dword [esp + 0x3c]
comiss xmm0, dword [0x101b81e8]
mulss xmm1, dword [0x101b84a0]
jb 0x10004c3e
addss xmm1, dword [0x101b84e0]
movss xmm0, dword [esp + 0x70]
lea edx, [esp + 0xd8]
lea ecx, [esp + 0x20]
movss dword [esp + 0x20], xmm0
movss dword [esp + 0x24], xmm1
call fcn.100067d0
movss xmm3, dword [esp + 0xd8]
movss xmm4, dword [esp + 0xdc]
movaps xmm0, xmm3
movss xmm2, dword [esp + 0xe0]
movaps xmm1, xmm4
mulss xmm0, xmm3
mulss xmm1, xmm4
addss xmm0, xmm1
movaps xmm1, xmm2
mulss xmm1, xmm2
addss xmm0, xmm1
call fcn.100039c0
addss xmm0, dword [0x101b820c]
movss xmm1, dword [0x101b8358]
mov edx, 0xe80c2f78
mov edi, dword [0x101f764c]
mov ecx, 0x1014ca25
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.10003ad0
mov edx, 0xc10bf213
mov ecx, 0x1014c915
mov esi, eax
call fcn.10003ad0
mov edx, esi
mov ecx, eax
call fcn.100abe50
mov ecx, dword [0x101f75d0]
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 [0x101f764c]
call fcn.10007860
add esp, 4
test al, al
je 0x10004d42
movss xmm0, dword [esp + 0xf4]
jmp 0x10004d4a
movss xmm0, dword [0x101b85d4]
comiss xmm0, dword [esp + 0x30]
jbe 0x10004da3
movss dword [esp + 0x30], xmm0
lea eax, [esp + 0x14]
movss xmm0, dword [esp + 0x14]
movss dword [esp + 0x48], xmm0
movss xmm0, dword [esp + 0x18]
push eax
push dword [esp + 0x44]
movss dword [esp + 0x54], xmm0
movss xmm0, dword [esp + 0x24]
movss dword [esp + 0x58], xmm0
mov byte [esp + 0x1b], 0
call fcn.10003bc0
movzx ecx, byte [esp + 0x13]
test al, al
mov eax, 1
cmovne ecx, eax
mov dword [esp + 0x44], ecx
jmp 0x10004da7
mov ecx, dword [esp + 0x44]
add ebp, 0xc
cmp ebp, ebx
jne 0x10004b72
test cl, cl
jne 0x10004dc2
movss xmm0, dword [esp + 0x2c]
movss dword [esp + 0x34], xmm0
movss xmm0, dword [esp + 0x30]
comiss xmm0, dword [esp + 0x34]
jbe 0x10004e0f
movss xmm2, dword [esp + 0x48]
xorps xmm0, xmm0
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jnp 0x10004e0f
movss xmm1, dword [esp + 0x4c]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x10004e0f
mov eax, dword [esp + 0x74]
movss xmm0, dword [esp + 0x50]
mov byte [esp + 0x13], 1
movss dword [eax], xmm2
movss dword [eax + 4], xmm1
movss dword [eax + 8], xmm0
jmp 0x10004e14
mov byte [esp + 0x13], 0
mov ebx, dword [esp + 0x38]
test ebx, ebx
je 0x10004e5c
mov ecx, dword [esp + 0x54]
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 0x10004e52
mov ebx, dword [eax - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10004e9a
push ecx
push ebx
call fcn.1010fd52
add esp, 8
mov ebx, dword [esp + 0x58]
test ebx, ebx
je 0x10004eaa
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 0x10004ea0
mov ebx, dword [eax - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10004ea0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push ebx
call fcn.1010fd52
add esp, 8
lea ecx, [esp + 0x60]
call fcn.10005f70
mov al, byte [esp + 0x13]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10c
ret