Function at 0x4e3ac0
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 + 0x10], ecx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, eax
mov esi, dword [edi + 4]
cmp esi, dword [edi + 0xc]
jae 0x4e3b01
mov dword [esi], str.TtrayBundleTriangle
rdtsc
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x2c]
lea eax, [esi + 0xc]
mov dword [esi + 4], ecx
mov dword [edi + 4], eax
mov eax, dword [ebp + 0x14]
mov edi, dword [ebp + 8]
movups xmm0, xmmword [eax]
mov eax, dword [esp + 0xc]
movaps xmm3, xmmword [eax + 0x20]
lea esi, [eax + 0x20]
movaps xmm2, xmmword [eax + 0x30]
lea ecx, [eax + 0x30]
movaps xmm4, xmmword [eax + 0x40]
subps xmm2, xmm3
movups xmmword [edi], xmm0
lea edx, [eax + 0x40]
mov eax, dword [ebp + 0xc]
subps xmm4, xmm3
movaps xmm0, xmm2
shufps xmm0, xmm2, 0xd2
shufps xmm2, xmm2, 0xc9
movaps xmm1, xmm4
shufps xmm1, xmm4, 0xc9
mulps xmm1, xmm0
shufps xmm4, xmm4, 0xd2
mulps xmm4, xmm2
subps xmm4, xmm1
movaps xmm6, xmm4
movaps xmmword [esp + 0x30], xmm4
mulps xmm6, xmm3
movaps xmm7, xmm4
shufps xmm7, xmm4, 0
movaps xmm5, xmm4
shufps xmm5, xmm4, 0x55
movaps xmm3, xmm4
movaps xmm2, xmm5
shufps xmm3, xmm4, 0xaa
movaps xmm0, xmm6
shufps xmm2, xmm5, 0
shufps xmm0, xmm6, 0x55
movaps xmm1, xmm3
addss xmm0, xmm6
shufps xmm1, xmm3, 0
shufps xmm6, xmm6, 0xaa
shufps xmm5, xmm5, 0
shufps xmm3, xmm3, 0
movaps xmmword [esp + 0x50], xmm4
xorps xmm4, xmm4
addss xmm6, xmm0
movaps xmm0, xmm7
mulps xmm0, xmmword [eax]
mulps xmm7, xmmword [eax + 0x30]
shufps xmm6, xmm6, 0
movaps xmmword [esp + 0x10], xmm0
movaps xmm0, xmmword [eax + 0x10]
mulps xmm0, xmm2
movaps xmm2, xmmword [esp + 0x10]
addps xmm2, xmm0
movaps xmm0, xmmword [eax + 0x20]
mulps xmm0, xmm1
addps xmm2, xmm0
movaps xmm0, xmmword [eax + 0x40]
mulps xmm0, xmm5
movaps xmm5, xmm4
subps xmm2, xmm6
addps xmm7, xmm0
movaps xmm0, xmmword [eax + 0x50]
mulps xmm0, xmm3
movaps xmm1, xmm2
movaps xmmword [esp + 0x10], xmm2
addps xmm7, xmm0
movaps xmm0, xmm4
cmpeqps xmm0, xmm2
subps xmm7, xmm6
cmpeqps xmm5, xmm7
subps xmm1, xmm7
andnps xmm5, xmmword [0x77fa80]
orps xmm5, xmm0
movaps xmm0, xmm7
mulps xmm0, xmm2
cmpleps xmm4, xmm0
andps xmm5, xmm4
andnps xmm5, xmmword [0x77fa80]
andps xmm5, xmmword [edi]
movaps xmmword [edi], xmm5
rcpps xmm6, xmm1
mov edi, dword [ebp + 0x10]
movss xmm3, dword [edi + 0x10]
movaps xmm0, xmm6
movaps xmm4, xmmword [0x719330]
mulps xmm0, xmm1
movaps xmm1, xmmword [esp + 0x30]
mulps xmm1, xmm1
mulps xmm0, xmm6
addps xmm6, xmm6
subps xmm6, xmm0
movaps xmm0, xmm1
shufps xmm0, xmm1, 0x55
addss xmm0, xmm1
shufps xmm1, xmm1, 0xaa
mulps xmm6, xmm2
movss xmm2, dword [edi + 0x60]
addss xmm1, xmm0
movss xmm0, dword [edi + 0xb0]
unpcklps xmm3, xmm0
movaps xmm0, xmm6
movaps xmmword [esp + 0x60], xmm6
subps xmm4, xmm6
shufps xmm1, xmm1, 0
mulps xmm1, xmmword [0x77fad0]
movaps xmmword [esp + 0x30], xmm1
movss xmm1, dword [edi + 0x100]
mov edi, dword [ebp + 8]
unpcklps xmm2, xmm1
movaps xmm1, xmm4
mulps xmm1, xmmword [eax]
unpcklps xmm3, xmm2
cmpltps xmm0, xmm3
andps xmm0, xmm5
movaps xmmword [edi], xmm0
movaps xmm0, xmm6
mulps xmm0, xmmword [eax + 0x30]
addps xmm0, xmm1
movaps xmm1, xmm4
mulps xmm1, xmmword [eax + 0x10]
mulps xmm4, xmmword [eax + 0x20]
movaps xmmword [esp + 0x70], xmm0
movaps xmm0, xmm6
mulps xmm0, xmmword [eax + 0x40]
mulps xmm6, xmmword [eax + 0x50]
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x78]
addps xmm0, xmm1
addps xmm6, xmm4
push eax
push ecx
push esi
movaps xmmword [esp + 0x94], xmm0
movaps xmmword [esp + 0xa4], xmm6
call fcn.004e3f90
movaps xmm0, xmmword [esp + 0x44]
mov eax, edi
cmpleps xmm0, xmmword [esp + 0x54]
andps xmm0, xmmword [eax]
movaps xmmword [eax], xmm0
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x8c]
push eax
push edx
push ecx
call fcn.004e3f90
movaps xmm0, xmmword [esp + 0x58]
lea eax, [esp + 0x68]
cmpleps xmm0, xmmword [esp + 0x68]
mov ecx, edi
push eax
lea eax, [esp + 0x7c]
push eax
andps xmm0, xmmword [ecx]
movaps xmmword [ecx], xmm0
lea eax, [esp + 0xa0]
push eax
push esi
push edx
call fcn.004e3f90
movaps xmm0, xmmword [esp + 0x6c]
add esp, 0x3c
cmpleps xmm0, xmmword [esp + 0x40]
mov edi, dword [ebp + 0x10]
movaps xmm7, xmmword [esp + 0x50]
andps xmm0, xmmword [ecx]
movaps xmm5, xmmword [esp + 0x60]
movaps xmm6, xmmword [esp + 0x10]
movaps xmmword [ecx], xmm0
xor ecx, ecx
movmskps esi, xmm0
test dword [ecx*4 + 0x7bfd70], esi
je 0x4e3e6e
movaps xmm4, xmm7
mov eax, dword [esp + ecx*4 + 0x60]
mulps xmm4, xmm7
lea edx, [ecx + ecx*4]
shl edx, 4
xorps xmm1, xmm1
add edx, edi
movaps xmm0, xmm4
shufps xmm0, xmm4, 0x55
mov dword [edx + 0x10], eax
addss xmm0, xmm4
shufps xmm4, xmm4, 0xaa
addss xmm4, xmm0
movaps xmm0, xmm1
shufps xmm4, xmm4, 0
movaps xmm2, xmm4
movaps xmm3, xmm4
cmpeqss xmm3, xmm0
movss xmm0, dword [0x719764]
movaps xmm1, xmm0
rsqrtss xmm2, xmm2
mulss xmm4, xmm2
mulss xmm4, xmm2
subss xmm1, xmm4
movss xmm4, dword [0x719760]
movaps xmm0, xmm4
mulss xmm0, xmm2
mulss xmm0, xmm1
andnps xmm3, xmm0
shufps xmm3, xmm3, 0
mulps xmm7, xmm3
test ecx, ecx
jne 0x4e3e19
movaps xmm5, xmmword [esp + 0x10]
shufps xmm5, xmmword [esp + 0x10], 0
movaps xmm6, xmmword [esp + 0x10]
jmp 0x4e3e53
cmp ecx, 1
jne 0x4e3e30
movaps xmm5, xmmword [esp + 0x10]
shufps xmm5, xmmword [esp + 0x10], 0x55
movaps xmm6, xmmword [esp + 0x10]
jmp 0x4e3e53
cmp ecx, 2
jne 0x4e3e47
movaps xmm5, xmmword [esp + 0x10]
shufps xmm5, xmmword [esp + 0x10], 0xaa
movaps xmm6, xmmword [esp + 0x10]
jmp 0x4e3e53
cmp ecx, 3
jne 0x4e3e53
movaps xmm5, xmm6
shufps xmm5, xmm6, 0xff
movaps xmm0, xmm5
andps xmm0, xmmword [0x77f7f0]
xorps xmm0, xmm7
movaps xmmword [edx], xmm0
mov eax, dword [edx + 0x40]
mov dword [edx + eax*4 + 0x20], 0xffffffff
inc ecx
cmp ecx, 4
jl 0x4e3d81
push dword [0x884c50]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, eax
mov esi, dword [edi + 4]
cmp esi, dword [edi + 0xc]
jae 0x4e3ea7
mov dword [esi], 0x77f5ec
rdtsc
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0xc]
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