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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x78
push esi
push edi
push dword [0x884c50]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], connect
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, eax
mov esi, dword [edi + 4]
cmp esi, dword [edi + 0xc]
jae 0x679606
mov dword [esi], str.TtVertexEnumeration
rdtsc
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x18]
lea eax, [esi + 0xc]
mov dword [esi + 4], ecx
mov dword [edi + 4], eax
mov edi, dword [ebp + 0xc]
mov eax, dword [esp + 0x2c]
and eax, 0x3fffffff
lea ecx, [edi + edi*2]
cmp eax, ecx
jge 0x679635
add eax, eax
cmp ecx, eax
push 0x10
cmovl ecx, eax
lea eax, [esp + 0x28]
push ecx
push eax
push 0x7d8954
call fcn.00467b80
add esp, 0x10
xor eax, eax
mov dword [esp + 0x18], eax
test edi, edi
jle 0x6797ff
mov ecx, dword [ebp + 8]
movss xmm4, dword [0x719730]
add ecx, 0xc
mov dword [esp + 0x10], ecx
movss xmm0, dword [ecx]
inc eax
mov dword [esp + 0x1c], eax
xorps xmm0, xmm4
movss dword [esp + 0x30], xmm0
mov esi, eax
cmp eax, edi
jge 0x6797ec
lea eax, [ecx + 8]
mov dword [esp + 0x14], eax
nop dword [eax + eax]
mov edx, dword [ebp + 0x10]
xorps xmm1, xmm1
movss xmm0, dword [eax + 8]
movss xmm3, dword [ecx - 0xc]
xorps xmm0, xmm4
movss xmm2, dword [eax - 4]
movss dword [esp + 0x34], xmm0
movss xmm0, dword [edx]
unpcklps xmm3, xmm0
movss xmm0, dword [edx + 4]
unpcklps xmm2, xmm1
unpcklps xmm3, xmm2
movss xmm2, dword [eax]
movaps xmmword [esp + 0x50], xmm3
movss xmm3, dword [ecx - 8]
unpcklps xmm3, xmm0
movss xmm0, dword [edx + 8]
unpcklps xmm2, xmm1
unpcklps xmm3, xmm2
movss xmm2, dword [eax + 4]
movaps xmmword [esp + 0x60], xmm3
movss xmm3, dword [ecx - 4]
unpcklps xmm3, xmm0
movss xmm0, dword [edx + 0xc]
unpcklps xmm2, xmm1
xorps xmm0, xmm4
push ecx
unpcklps xmm3, xmm2
lea ecx, [esp + 0x54]
movaps xmmword [esp + 0x74], xmm3
movss dword [esp + 0x3c], xmm0
mov dword [esp], 0x34000000
call fcn.00472910
test eax, eax
jne 0x6797c8
movaps xmm1, xmmword [esp + 0x30]
mov ecx, dword [ebp + 8]
movaps xmm2, xmm1
mov edx, dword [esp + 0x18]
movaps xmm0, xmm1
shufps xmm2, xmm1, 0x55
mulps xmm2, xmmword [esp + 0x60]
shufps xmm0, xmm1, 0
mulps xmm0, xmmword [esp + 0x50]
shufps xmm1, xmm1, 0xaa
mulps xmm1, xmmword [esp + 0x70]
addps xmm2, xmm0
addps xmm2, xmm1
movaps xmmword [esp + 0x40], xmm2
cmp eax, edx
je 0x679784
cmp eax, esi
je 0x679784
movaps xmm0, xmmword [ecx]
movaps xmm1, xmm0
shufps xmm0, xmm0, 0xff
mulps xmm1, xmm2
movaps xmm2, xmm1
shufps xmm2, xmm1, 0xaa
addss xmm2, xmm0
movaps xmm0, xmm1
shufps xmm0, xmm1, 0x55
addss xmm0, xmm1
addps xmm2, xmm0
comiss xmm2, dword [0x77f9a4]
ja 0x6797c8
movaps xmm2, xmmword [esp + 0x40]
inc eax
add ecx, 0x10
cmp eax, edi
jl 0x679748
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
and eax, 0x3fffffff
cmp ecx, eax
jne 0x6797b5
push 0x10
lea eax, [esp + 0x28]
push eax
push 0x7d8954
call fcn.00467c00
mov ecx, dword [esp + 0x34]
add esp, 0xc
movaps xmm0, xmmword [esp + 0x40]
shl ecx, 4
add ecx, dword [esp + 0x24]
movaps xmmword [ecx], xmm0
inc dword [esp + 0x28]
mov eax, dword [esp + 0x14]
inc esi
movss xmm4, dword [0x719730]
add eax, 0x10
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], eax
cmp esi, edi
jl 0x679680
mov eax, dword [esp + 0x1c]
add ecx, 0x10
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], ecx
cmp eax, edi
jl 0x679655
push dword [0x884c50]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, eax
mov esi, dword [edi + 4]
cmp esi, dword [edi + 0xc]
jae 0x67982e
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
mov ecx, dword [esp + 0x28]
cmp ecx, 3
jl 0x679863
push dword [ebp + 0x14]
mov eax, dword [esp + 0x28]
push dword [ebp + 0x10]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x38]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x28]
push eax
mov dword [esp + 0x44], 0x10
call fcn.00679180
mov esi, eax
jmp 0x679866
or esi, 0xffffffff
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x28], 0
test eax, eax
js 0x679890
and eax, 0x3fffffff
mov ecx, 0x7d8954
shl eax, 4
push eax
mov eax, dword [0x7d8954]
push dword [esp + 0x28]
call dword [eax + 0x10]
pop edi
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret 0x10