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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x88
push esi
push edi
push dword [0x884c50]
mov edi, dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov dword [esp + 0x20], ecx
call edi
mov dword [esp + 0x10], eax
mov esi, dword [eax + 4]
cmp esi, dword [eax + 0xc]
jae 0x4e04e9
mov dword [esi], str.TtrcCapsule
rdtsc
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x14]
lea eax, [esi + 0xc]
mov dword [esi + 4], ecx
mov ecx, dword [esp + 0x10]
mov dword [ecx + 4], eax
mov esi, dword [esp + 0x1c]
lea edx, [esp + 0x20]
push edx
lea ecx, [esi + 0x30]
push ecx
lea eax, [esi + 0x20]
mov dword [esp + 0x14], ecx
push eax
push dword [ebp + 0xc]
call fcn.004e09b0
mov eax, dword [ebp + 0xc]
add esp, 0x10
movaps xmm2, xmmword [eax]
movaps xmm1, xmm2
subps xmm1, xmmword [esp + 0x20]
mulps xmm1, xmm1
movaps xmm0, xmm1
shufps xmm0, xmm1, 0x55
addss xmm0, xmm1
shufps xmm1, xmm1, 0xaa
addss xmm1, xmm0
movss xmm0, dword [esi + 0x10]
mulss xmm0, xmm0
comiss xmm0, xmm1
ja 0x4e094b
movaps xmm0, xmmword [eax + 0x10]
lea edx, [esp + 0x40]
push edx
lea edx, [esp + 0x84]
mov dword [esp + 0x14], 0x7f7fffee
push edx
lea edx, [esp + 0x1c]
push edx
subps xmm0, xmm2
lea edx, [esp + 0x28]
push edx
lea edx, [esp + 0x20]
push edx
movaps xmmword [esp + 0x34], xmm0
lea edx, [esp + 0x44]
movaps xmm0, xmmword [esi + 0x30]
lea ecx, [esi + 0x20]
subps xmm0, xmmword [ecx]
push edx
push ecx
lea ecx, [esp + 0x3c]
push ecx
push eax
movaps xmmword [esp + 0x54], xmm0
call fcn.004e0a40
movss xmm0, dword [esi + 0x10]
add esp, 0x24
movss xmm1, dword [esp + 0x10]
mulss xmm0, xmm0
comiss xmm1, xmm0
movss dword [esp + 0x14], xmm0
ja 0x4e094b
movaps xmm4, xmmword [esp + 0x30]
xorps xmm6, xmm6
movaps xmm5, xmm4
mulps xmm5, xmm4
movaps xmm0, xmm5
movaps xmm1, xmm5
shufps xmm0, xmm5, 0x55
addss xmm0, xmm5
shufps xmm1, xmm5, 0xaa
addss xmm1, xmm0
comiss xmm1, dword [0x77f9a4]
jbe 0x4e0662
movaps xmm0, xmm5
movaps xmm7, xmm5
shufps xmm0, xmm5, 0x55
addss xmm0, xmm5
shufps xmm7, xmm5, 0xaa
addss xmm7, xmm0
movaps xmm0, xmm5
shufps xmm0, xmm5, 0x55
addss xmm0, xmm5
shufps xmm5, xmm5, 0xaa
shufps xmm7, xmm7, 0
addss xmm5, xmm0
movaps xmm0, xmm6
shufps xmm5, xmm5, 0
movaps xmm2, xmm5
movaps xmm3, xmm5
rsqrtss xmm2, xmm2
mulss xmm5, xmm2
cmpeqss xmm3, xmm0
movss xmm0, dword [0x719764]
movaps xmm1, xmm0
mulss xmm5, xmm2
subss xmm1, xmm5
movss xmm5, dword [0x719760]
movaps xmm0, xmm5
mulss xmm0, xmm2
mulss xmm0, xmm1
andnps xmm3, xmm0
shufps xmm3, xmm3, 0
mulss xmm7, xmm3
mulps xmm4, xmm3
shufps xmm7, xmm7, 0
jmp 0x4e0668
movaps xmm7, xmm6
xorps xmm4, xmm4
movaps xmm3, xmmword [0x719550]
movaps xmm1, xmm4
mulps xmm1, xmmword [esp + 0x20]
movaps xmm0, xmm1
shufps xmm0, xmm1, 0x55
addss xmm0, xmm1
shufps xmm1, xmm1, 0xaa
addss xmm1, xmm0
shufps xmm1, xmm1, 0
subps xmm3, xmm1
shufps xmm3, xmm3, 0
mulps xmm3, xmm4
addps xmm3, xmmword [esp + 0x20]
mulps xmm3, xmm3
movaps xmm0, xmm3
shufps xmm0, xmm3, 0x55
addss xmm0, xmm3
shufps xmm3, xmm3, 0xaa
addss xmm3, xmm0
ucomiss xmm3, xmm6
lahf
test ah, 0x44
jnp 0x4e06dc
movss xmm0, dword [esp + 0x14]
subss xmm0, dword [esp + 0x10]
movss xmm5, dword [esp + 0x1c]
divss xmm0, xmm3
sqrtss xmm0, xmm0
subss xmm5, xmm0
jmp 0x4e06e4
movss xmm5, dword [0x717e40]
mov edx, dword [ebp + 0x10]
comiss xmm5, dword [edx + 0x10]
jae 0x4e094b
comiss xmm5, xmm6
mov ecx, dword [ebp + 0xc]
movaps xmm1, xmmword [esi + 0x20]
movaps xmm3, xmmword [0x727d50]
mulps xmm1, xmm4
movaps xmm2, xmm3
movaps xmm0, xmm1
shufps xmm0, xmm1, 0x55
addss xmm0, xmm1
shufps xmm1, xmm1, 0xaa
addss xmm1, xmm0
movaps xmm0, xmm5
shufps xmm0, xmm0, 0
subps xmm2, xmm0
mulps xmm0, xmmword [ecx + 0x10]
mulps xmm2, xmmword [ecx]
addps xmm2, xmm0
movaps xmmword [esp + 0x40], xmm2
mulps xmm2, xmm4
movaps xmm0, xmm2
shufps xmm0, xmm2, 0x55
addss xmm0, xmm2
shufps xmm2, xmm2, 0xaa
addss xmm2, xmm0
shufps xmm2, xmm2, 0
subss xmm2, xmm1
jb 0x4e0838
comiss xmm2, xmm6
jbe 0x4e0838
comiss xmm7, xmm2
jbe 0x4e0838
divss xmm2, xmm7
mov eax, dword [esp + 0xc]
movaps xmm0, xmmword [eax]
movaps xmm7, xmmword [esp + 0x40]
shufps xmm2, xmm2, 0
subps xmm3, xmm2
mulps xmm0, xmm2
mov eax, dword [edx + 0x40]
mulps xmm3, xmmword [esi + 0x20]
mov dword [edx + 0x14], 2
movss dword [edx + 0x10], xmm5
addps xmm3, xmm0
subps xmm7, xmm3
movaps xmm4, xmm7
mulps xmm4, xmm7
movaps xmm0, xmm4
shufps xmm0, xmm4, 0x55
addss xmm0, xmm4
shufps xmm4, xmm4, 0xaa
addss xmm4, xmm0
movaps xmm0, xmm6
shufps xmm4, xmm4, 0
movaps xmm2, xmm4
movaps xmm3, xmm4
rsqrtss xmm2, xmm2
cmpeqss xmm3, xmm0
mulss xmm4, xmm2
movss xmm0, dword [0x719764]
movaps xmm1, xmm0
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 xmm3, xmm7
movaps xmmword [edx], xmm3
mov dword [edx + eax*4 + 0x20], 0xffffffff
mov eax, dword [ebp + 8]
push dword [0x884c50]
mov byte [eax], 1
call edi
mov edi, eax
mov esi, dword [edi + 4]
cmp esi, dword [edi + 0xc]
jae 0x4e097c
mov dword [esi], 0x77f5ec
rdtsc
mov dword [esp + 0xc], eax
jmp 0x4e096f
comiss xmm6, xmm5
mulps xmm4, xmmword [ecx]
movaps xmm0, xmm4
shufps xmm0, xmm4, 0x55
addss xmm0, xmm4
shufps xmm4, xmm4, 0xaa
addss xmm4, xmm0
shufps xmm4, xmm4, 0
subss xmm4, xmm1
divss xmm4, xmm7
shufps xmm4, xmm4, 0
subps xmm3, xmm4
mulps xmm4, xmmword [esi + 0x30]
mulps xmm3, xmmword [esi + 0x20]
addps xmm3, xmm4
movaps xmm4, xmmword [ecx]
movaps xmm1, xmm4
subps xmm1, xmm3
jbe 0x4e089b
mulps xmm1, xmm1
movaps xmm0, xmm1
shufps xmm0, xmm1, 0x55
addss xmm0, xmm1
shufps xmm1, xmm1, 0xaa
addss xmm1, xmm0
comiss xmm1, dword [esp + 0x14]
ja 0x4e094b
movaps xmm1, xmmword [ecx + 0x10]
xor eax, eax
movss xmm0, dword [esi + 0x10]
comiss xmm6, xmm2
push edx
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
setb al
mov dword [esp + 0x10], eax
add eax, 2
add eax, eax
subps xmm4, xmmword [esi + eax*8]
subps xmm1, xmmword [esi + eax*8]
lea eax, [esp + 0x54]
push eax
push ecx
lea eax, [esp + 0x27]
movss dword [esp], xmm0
push eax
movaps xmmword [esp + 0x60], xmm4
movaps xmmword [esp + 0x70], xmm1
call fcn.004e0ab0
add esp, 0x10
cmp byte [eax], 0
je 0x4e0925
mov ecx, dword [ebp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [ecx + 0x14], eax
mov eax, dword [ebp + 8]
push dword [0x884c50]
mov byte [eax], 1
call edi
mov edi, eax
mov esi, dword [edi + 4]
cmp esi, dword [edi + 0xc]
jae 0x4e097c
mov dword [esi], 0x77f5ec
rdtsc
mov dword [esp + 0xc], eax
jmp 0x4e096f
mov eax, dword [ebp + 8]
push dword [0x884c50]
mov byte [eax], 0
call edi
mov edi, eax
mov esi, dword [edi + 4]
cmp esi, dword [edi + 0xc]
jae 0x4e097c
mov dword [esi], 0x77f5ec
rdtsc
mov dword [esp + 0xc], eax
jmp 0x4e096f
mov eax, dword [ebp + 8]
push dword [0x884c50]
mov byte [eax], 0
call edi
mov edi, eax
mov esi, dword [edi + 4]
cmp esi, dword [edi + 0xc]
jae 0x4e097c
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 0xc