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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x38
push esi
push edi
push dword [0x884c50]
mov edi, ecx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov dword [esp + 0x14], eax
mov esi, dword [eax + 4]
cmp esi, dword [eax + 0xc]
jae 0x6cc7a2
mov dword [esi], str.TtSphereBox
rdtsc
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x18]
lea eax, [esi + 0xc]
mov dword [esi + 4], ecx
mov ecx, dword [esp + 0x14]
mov dword [ecx + 4], eax
mov eax, dword [ebp + 0x14]
lea ecx, [esp + 0x20]
mov edx, dword [ebp + 8]
mov esi, dword [eax]
mov eax, dword [edx + 8]
add eax, 0x30
push eax
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0xc]
push dword [eax + 8]
call fcn.0046ea30
mov edx, dword [ebp + 0xc]
xorps xmm0, xmm0
movaps xmm7, xmmword [esp + 0x20]
mov eax, dword [ebp + 8]
movaps xmm2, xmm7
andps xmm2, xmmword [0x719140]
mov ecx, dword [edx]
movaps xmm5, xmm2
mov eax, dword [eax]
mov dword [esp + 0x18], eax
minps xmm5, xmmword [ecx + 0x20]
subps xmm5, xmm2
movaps xmm1, xmm5
cmpltps xmm1, xmm0
movmskps eax, xmm1
test al, 7
je 0x6cc91b
movaps xmm4, xmm5
mov eax, dword [ebp + 0x10]
mulps xmm4, xmm5
movaps xmm0, xmm4
movaps xmm6, xmm4
shufps xmm0, xmm4, 0x55
addss xmm0, xmm4
shufps xmm6, xmm4, 0xaa
addss xmm6, xmm0
movaps xmm0, xmm4
shufps xmm0, xmm4, 0x55
addss xmm0, xmm4
shufps xmm4, xmm4, 0xaa
shufps xmm6, xmm6, 0
addss xmm4, xmm0
xorps xmm0, xmm0
movaps xmm1, xmm0
shufps xmm4, xmm4, 0
movaps xmm0, xmm4
movaps xmm3, xmm4
cmpeqss xmm0, xmm1
rsqrtss xmm3, xmm3
mulss xmm4, xmm3
movaps xmmword [esp + 0x30], xmm0
movss xmm0, dword [0x719764]
movaps xmm2, xmm0
mulss xmm4, xmm3
movss xmm0, dword [0x719760]
movaps xmm1, xmm0
movss xmm0, dword [ecx + 0x10]
mov ecx, dword [esp + 0x18]
subss xmm2, xmm4
mulss xmm1, xmm3
addss xmm0, dword [ecx + 0x10]
mulss xmm1, xmm2
movaps xmm2, xmmword [esp + 0x30]
andnps xmm2, xmm1
shufps xmm2, xmm2, 0
mulss xmm6, xmm2
shufps xmm6, xmm6, 0
subss xmm6, xmm0
comiss xmm6, dword [eax + 0xc]
ja 0x6cc8ed
andps xmm7, xmmword [0x77f7f0]
mov eax, dword [edx + 8]
mulps xmm5, xmm2
xorps xmm5, xmm7
xorps xmm5, xmmword [0x719130]
movaps xmm1, xmm5
movaps xmm0, xmm5
shufps xmm1, xmm5, 0x55
mulps xmm1, xmmword [eax + 0x10]
shufps xmm0, xmm5, 0
mulps xmm0, xmmword [eax]
shufps xmm5, xmm5, 0xaa
mulps xmm5, xmmword [eax + 0x20]
addps xmm1, xmm0
addps xmm1, xmm5
movaps xmmword [esi + 0x10], xmm1
jmp 0x6cc9b4
movzx eax, word [edi + 0xc]
mov esi, 0xffff
cmp ax, si
je 0x6cca21
mov ecx, dword [edi + 8]
mov edx, dword [ebp + 0x14]
mov eax, dword [ecx]
push dword [edx + 4]
movzx edx, word [edi + 0xc]
push edx
call dword [eax + 0x14]
mov word [edi + 0xc], si
jmp 0x6cca21
mov eax, dword [edx + 8]
movaps xmm4, xmm2
movaps xmm3, xmm2
shufps xmm4, xmm2, 0x55
subss xmm3, dword [ecx + 0x20]
subss xmm4, dword [ecx + 0x24]
shufps xmm2, xmm2, 0xaa
subss xmm2, dword [ecx + 0x28]
comiss xmm3, xmm4
jbe 0x6cc952
comiss xmm3, xmm2
jbe 0x6cc968
movaps xmm1, xmmword [eax]
mov dword [esp + 0x14], 0
jmp 0x6cc977
comiss xmm4, xmm2
jbe 0x6cc968
movaps xmm1, xmmword [eax + 0x10]
movaps xmm3, xmm4
mov dword [esp + 0x14], 1
jmp 0x6cc977
movaps xmm1, xmmword [eax + 0x20]
movaps xmm3, xmm2
mov dword [esp + 0x14], 2
mov eax, dword [esp + 0x14]
movaps xmm0, xmm1
unpckhps xmm0, xmmword [esi + 0x10]
shufps xmm1, xmm0, 0xc4
xorps xmm0, xmm0
movaps xmmword [esi + 0x10], xmm1
comiss xmm0, dword [esp + eax*4 + 0x20]
jbe 0x6cc9a3
movaps xmm0, xmmword [esi + 0x10]
xorps xmm0, xmmword [0x719130]
movaps xmmword [esi + 0x10], xmm0
subss xmm3, dword [ecx + 0x10]
mov ecx, dword [esp + 0x18]
subss xmm3, dword [ecx + 0x10]
movaps xmm6, xmm3
mov eax, dword [esp + 0x1c]
movaps xmm0, xmm6
xorps xmm0, xmmword [0x719730]
subss xmm0, dword [ecx + 0x10]
shufps xmm0, xmm0, 0
mulps xmm0, xmmword [esi + 0x10]
addps xmm0, xmmword [eax]
mov eax, 0xffff
movaps xmmword [esi], xmm0
movss dword [esi + 0x1c], xmm6
mov dword [esi + 0xc], 0x3f800000
cmp word [edi + 0xc], ax
jne 0x6cca0d
mov ecx, dword [edi + 8]
push esi
push 0
push dword [ebp + 0x14]
mov eax, dword [ecx]
push dword [ebp + 0x10]
push edx
mov edx, dword [ebp + 8]
mov eax, dword [eax + 0xc]
push edx
call eax
mov word [edi + 0xc], ax
mov eax, 0xffff
movzx ecx, word [edi + 0xc]
cmp cx, ax
je 0x6cca21
mov eax, ecx
mov dword [esi + 0x20], eax
mov eax, dword [ebp + 0x14]
add dword [eax], 0x30
push dword [0x884c50]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, eax
mov esi, dword [edi + 4]
cmp esi, dword [edi + 0xc]
jae 0x6cca50
mov dword [esi], 0x77f5ec
rdtsc
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x1c]
lea eax, [esi + 0xc]
mov dword [esi + 4], ecx
mov dword [edi + 4], eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10