Function at 0x4e2bf0
Capabilities:
Execute anti-debugging instructions
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x98
push esi
push edi
push dword [0x884c50]
mov dword [esp + 0xc], ecx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, eax
mov esi, dword [edi + 4]
cmp esi, dword [edi + 0xc]
jae 0x4e2c31
mov dword [esi], str.TtrcSphereBundle
rdtsc
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0xc]
lea eax, [esi + 0xc]
mov dword [esi + 4], ecx
mov dword [edi + 4], eax
mov eax, dword [ebp + 0x14]
lea esi, [esp + 0x30]
mov edi, dword [ebp + 8]
xorps xmm2, xmm2
mov edx, 3
movups xmm0, xmmword [eax]
mov eax, dword [esp + 8]
movups xmmword [edi], xmm0
movss xmm0, dword [eax + 0x10]
mov eax, dword [ebp + 0xc]
mov ecx, eax
shufps xmm0, xmm0, 0
sub esi, eax
movaps xmm1, xmm0
movaps xmmword [esp + 0x90], xmm0
mulps xmm1, xmm0
movaps xmm5, xmmword [eax + 0x30]
subps xmm5, xmmword [eax]
movaps xmm6, xmmword [eax + 0x40]
subps xmm6, xmmword [eax + 0x10]
movaps xmm3, xmmword [eax + 0x50]
subps xmm3, xmmword [eax + 0x20]
movaps xmm0, xmm5
movaps xmmword [esp + 0x20], xmm1
mulps xmm0, xmm5
mulps xmm5, xmmword [eax]
movaps xmm7, xmm6
mulps xmm7, xmm6
mulps xmm6, xmmword [eax + 0x10]
addps xmm7, xmm0
movaps xmm0, xmm3
mulps xmm0, xmm3
mulps xmm3, xmmword [eax + 0x20]
addps xmm6, xmm5
addps xmm7, xmm0
addps xmm6, xmm3
movaps xmm3, xmm7
movaps xmm0, xmm7
mulps xmm3, xmmword [esp + 0x20]
movaps xmm1, xmm6
mulps xmm1, xmm6
mulps xmm3, xmmword [0x77fa70]
cmpltps xmm3, xmm1
movaps xmm5, xmm3
movaps xmm4, xmm3
andnps xmm3, xmm1
andps xmm5, xmm6
xorps xmm5, xmmword [0x719130]
andnps xmm4, xmm6
rcpps xmm1, xmm7
movaps xmm6, xmmword [0x719330]
mulps xmm0, xmm1
movaps xmmword [esp + 0x70], xmm3
movaps xmmword [esp + 0x80], xmm4
movaps xmm4, xmm6
mulps xmm0, xmm1
addps xmm1, xmm1
subps xmm1, xmm0
movaps xmm3, xmm1
movaps xmmword [esp + 0x10], xmm1
mulps xmm3, xmm5
subps xmm4, xmm3
movaps xmm1, xmmword [ecx + 0x30]
movaps xmm0, xmmword [ecx]
mulps xmm1, xmm3
mulps xmm0, xmm4
addps xmm1, xmm0
movaps xmmword [esi + ecx], xmm1
add ecx, 0x10
mulps xmm1, xmm1
addps xmm2, xmm1
sub edx, 1
jne 0x4e2d16
subps xmm2, xmmword [esp + 0x20]
xorps xmm7, xmmword [0x719130]
lea esi, [esp + 0x30]
subps xmm5, xmmword [esp + 0x80]
mov ecx, dword [ebp + 0x10]
xorps xmm3, xmm3
movaps xmm4, xmmword [edi]
sub esi, eax
mulps xmm7, xmm2
mov edx, 3
movaps xmm2, xmmword [0x719710]
addps xmm7, xmmword [esp + 0x70]
rsqrtps xmm1, xmm7
movaps xmm0, xmm7
mulps xmm0, xmm1
cmpltps xmm3, xmm7
mulps xmm0, xmm1
mulps xmm1, xmmword [0x719700]
andps xmm4, xmm3
movaps xmmword [edi], xmm4
subps xmm2, xmm0
movss xmm0, dword [ecx + 0xb0]
mulps xmm2, xmm1
movss xmm1, dword [ecx + 0x100]
mulps xmm2, xmm7
andps xmm2, xmm3
movss xmm3, dword [ecx + 0x10]
subps xmm5, xmm2
unpcklps xmm3, xmm0
movss xmm2, dword [ecx + 0x60]
xorps xmm0, xmm0
unpcklps xmm2, xmm1
unpcklps xmm3, xmm2
mulps xmm5, xmmword [esp + 0x10]
movaps xmm7, xmm5
movaps xmmword [esp + 0x10], xmm5
cmpltps xmm7, xmm3
cmpleps xmm0, xmm5
andps xmm7, xmm4
subps xmm6, xmm5
andps xmm7, xmm0
movaps xmm0, xmmword [esp + 0x90]
rcpps xmm2, xmm0
movaps xmmword [edi], xmm7
mulps xmm0, xmm2
mulps xmm0, xmm2
addps xmm2, xmm2
subps xmm2, xmm0
nop dword [eax]
movaps xmm1, xmmword [eax + 0x30]
movaps xmm0, xmm6
mulps xmm0, xmmword [eax]
mulps xmm1, xmm5
addps xmm1, xmm0
mulps xmm1, xmm2
movaps xmmword [esi + eax], xmm1
add eax, 0x10
sub edx, 1
jne 0x4e2e00
movaps xmm4, xmmword [esp + 0x30]
lea esi, [esp + 0x30]
movaps xmm2, xmmword [esp + 0x50]
xorps xmm0, xmm0
movaps xmm3, xmm4
movmskps edi, xmm7
shufps xmm3, xmmword [esp + 0x40], 0x44
movaps xmm1, xmm2
shufps xmm4, xmmword [esp + 0x40], 0xee
shufps xmm1, xmm0, 0x44
shufps xmm2, xmm0, 0xee
movaps xmm0, xmm3
shufps xmm0, xmm1, 0x88
movaps xmmword [esp + 0x30], xmm0
movaps xmm0, xmm4
shufps xmm3, xmm1, 0xdd
shufps xmm0, xmm2, 0x88
shufps xmm4, xmm2, 0xdd
movaps xmmword [esp + 0x40], xmm3
movaps xmmword [esp + 0x50], xmm0
movaps xmmword [esp + 0x60], xmm4
test dword [edx + 0x7bfd70], edi
je 0x4e2e97
mov eax, dword [esp + edx + 0x10]
movaps xmm0, xmmword [esi]
mov dword [ecx + 0x10], eax
movaps xmmword [ecx], xmm0
mov eax, dword [ecx + 0x40]
mov dword [ecx + eax*4 + 0x20], 0xffffffff
add edx, 4
add esi, 0x10
add ecx, 0x50
cmp edx, 0x10
jl 0x4e2e77
push dword [0x884c50]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, eax
mov esi, dword [edi + 4]
cmp esi, dword [edi + 0xc]
jae 0x4e2ed4
mov dword [esi], 0x77f5ec
rdtsc
mov dword [esp + 8], eax
mov ecx, dword [esp + 8]
mov dword [esi + 4], ecx
lea ecx, [esi + 0xc]
mov dword [edi + 4], ecx
mov eax, dword [ebp + 8]
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10