Function at 0x6d0bc0
Capabilities:
Execute anti-debugging instructions
Get thread local storage value
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, 0x11a8
call fcn.00607e10
push esi
push edi
push dword [0x884c50]
mov esi, ecx
mov dword [esp + 0x1c], esi
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, eax
mov ecx, dword [edi + 4]
cmp ecx, dword [edi + 0xc]
jae 0x6d0c0e
mov dword [ecx], str.LtCvxLst
mov dword [ecx + 0xc], str.StTim
rdtsc
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov dword [ecx + 4], eax
lea eax, [ecx + 0x10]
mov dword [edi + 4], eax
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
push dword [ebp + 0x14]
mov ecx, dword [eax]
mov dword [esp + 0x18], ecx
mov ecx, dword [eax + 8]
mov eax, dword [ebp + 8]
movss xmm4, dword [ecx + 0x5c]
mov eax, dword [eax + 8]
mulss xmm4, dword [edi + 0x58]
movaps xmm1, xmmword [ecx + 0x50]
movss xmm3, dword [eax + 0x5c]
mulss xmm3, dword [edi + 0x58]
movaps xmm2, xmmword [eax + 0x40]
subps xmm2, xmmword [eax + 0x50]
subps xmm1, xmmword [ecx + 0x40]
movaps xmm0, xmm3
shufps xmm0, xmm0, 0
mulps xmm2, xmm0
movaps xmm0, xmm4
shufps xmm0, xmm0, 0
mulps xmm1, xmm0
movss xmm0, dword [ecx + 0x9c]
mulss xmm0, xmm4
addps xmm2, xmm1
movss xmm1, dword [eax + 0x9c]
mulss xmm1, xmm3
mulss xmm0, dword [ecx + 0xa0]
lea ecx, [esp + 0x134]
mulss xmm1, dword [eax + 0xa0]
movaps xmmword [esp + 0x34], xmm2
addss xmm1, xmm0
movss dword [esp + 0x40], xmm1
call fcn.006be1c0
cmp byte [esi + 0x84], 0
movaps xmm2, xmmword [esp + 0x30]
je 0x6d0e18
movss xmm0, dword [esi + 0x2c]
comiss xmm0, dword [edi + 0xc]
jbe 0x6d0d00
movaps xmm1, xmmword [esi + 0x20]
movaps xmm0, xmm2
mulps xmm1, xmm2
shufps xmm0, xmm2, 0xff
movaps xmm2, xmm1
shufps xmm2, xmm1, 0xaa
addss xmm2, xmm0
movaps xmm0, xmm1
shufps xmm0, xmm1, 0x55
addss xmm0, xmm1
addps xmm2, xmm0
movss xmm0, dword [esi + 0x2c]
subss xmm0, xmm2
movss dword [esi + 0x2c], xmm0
comiss xmm0, dword [edi + 0xc]
ja 0x6d0f08
push dword [0x884c50]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov dword [esp + 0x10], eax
mov edi, dword [eax + 4]
cmp edi, dword [eax + 0xc]
jae 0x6d0d35
mov dword [edi], str.StGsk
rdtsc
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0xc]
lea eax, [edi + 0xc]
mov dword [edi + 4], ecx
mov ecx, dword [esp + 0x10]
mov dword [ecx + 4], eax
push dword [ebp + 0x14]
mov eax, dword [esi + 8]
mov ecx, esi
push dword [ebp + 0x10]
mov edi, dword [ebp + 8]
push dword [ebp + 0xc]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x28]
push edi
mov dword [esp + 0x30], 0x1ffff
mov dword [esp + 0x34], 2
mov dword [esp + 0x2c], vtable.hkpMapPointsToSubShapeContactMgr.0
mov byte [esp + 0x3c], 0
mov dword [esi + 8], eax
call fcn.006c1880
cmp byte [esp + 0x2c], 0
mov edx, dword [esp + 0x28]
mov dword [esi + 8], edx
jne 0x6d0def
cmp byte [esi + 0x32], 0
je 0x6d10e2
cmp byte [esi + 0x85], 0
jne 0x6d10e2
mov eax, dword [ebp + 0xc]
mov ecx, eax
mov eax, dword [eax + 0xc]
test eax, eax
je 0x6d0dae
mov ecx, eax
mov eax, dword [ecx + 0xc]
test eax, eax
jne 0x6d0da5
mov eax, dword [edi + 0xc]
movss xmm1, dword [ecx + 0x4c]
mov ecx, edi
test eax, eax
je 0x6d0dc9
nop dword [eax]
mov ecx, eax
mov eax, dword [ecx + 0xc]
test eax, eax
jne 0x6d0dc0
movss xmm0, dword [ecx + 0x4c]
comiss xmm1, xmm0
ja 0x6d0dd6
movaps xmm0, xmm1
mulss xmm0, dword [0x719724]
xorps xmm0, xmmword [0x719730]
comiss xmm0, dword [esi + 0x2c]
jbe 0x6d10e2
push edx
push dword [ebp + 0x14]
lea ecx, [esp + 0x138]
push dword [ebp + 0xc]
push edi
call fcn.006be580
mov eax, dword [ebp + 0x14]
mov ecx, esi
push dword [eax + 4]
call fcn.006d1750
mov dword [esp + 0x1c], vtable.hkBaseObject.0
push dword [0x884c50]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov dword [esp + 0x10], eax
mov edi, dword [eax + 4]
cmp edi, dword [eax + 0xc]
jae 0x6d0e4d
mov dword [edi], str.StStream
rdtsc
mov dword [esp + 8], eax
mov ecx, dword [esp + 8]
lea eax, [edi + 0xc]
mov dword [edi + 4], ecx
mov ecx, dword [esp + 0x10]
mov dword [ecx + 4], eax
movzx ecx, word [esi + 0x86]
mov edi, dword [ebp + 8]
lea eax, [ecx - 1]
mov word [esi + 0x86], ax
test cx, cx
jns 0x6d0f3d
mov eax, 0x19
lea ecx, [esp + 0xf0]
mov word [esi + 0x86], ax
mov eax, dword [ebp + 0xc]
push dword [eax + 8]
push dword [edi + 8]
call fcn.0046efa0
mov eax, dword [edi]
mov dword [esp + 0x54], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov dword [esp + 0x58], eax
lea eax, [esp + 0xf0]
mov dword [esp + 0x4c], eax
mov eax, dword [edi + 8]
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0x10]
movss xmm0, dword [eax + 0xc]
lea eax, [esp + 0x60]
push eax
lea eax, [esi + 0x20]
movss dword [esp + 0x60], xmm0
push eax
lea eax, [esi + 0xc]
push eax
lea eax, [esp + 0x58]
push eax
call fcn.00549510
add esp, 0x10
test eax, eax
je 0x6d0f2c
mov eax, dword [ebp + 0x14]
mov ecx, esi
push dword [eax + 4]
call fcn.006d1720
push dword [esi + 8]
lea ecx, [esp + 0x134]
push dword [ebp + 0x14]
push dword [ebp + 0xc]
push edi
call fcn.006be580
movaps xmm2, xmmword [esp + 0x30]
mov edi, dword [ebp + 0x10]
jmp 0x6d0cb6
cmp byte [esi + 0x32], 0
je 0x6d10e2
mov eax, dword [ebp + 0x14]
push dword [eax + 4]
lea eax, [esi + 0x30]
push dword [esi + 8]
push eax
call fcn.006f5720
add esp, 0xc
jmp 0x6d10e2
movss xmm0, dword [esi + 0x2c]
xorps xmm0, xmmword [0x719730]
movss dword [esi + 0x3c], xmm0
movaps xmm2, xmmword [esp + 0x30]
movaps xmm1, xmm2
mov ecx, dword [ebp + 0xc]
mulps xmm1, xmm2
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], 0
push dword [ecx + 8]
lea ecx, [esp + 0x94]
mov dword [esp + 0x74], edi
movaps xmm0, xmm1
movaps xmmword [esp + 0xe4], xmm2
shufps xmm0, xmm1, 0x55
addss xmm0, xmm1
shufps xmm1, xmm1, 0xaa
push dword [edi + 8]
addss xmm1, xmm0
movss xmm0, dword [esi + 0x3c]
sqrtss xmm1, xmm1
subss xmm0, xmm1
movss dword [esi + 0x3c], xmm0
mov eax, dword [esi + 8]
mov dword [esp + 0x88], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x84], eax
call fcn.0046efa0
mov ecx, dword [esp + 0x14]
push dword [0x884adc]
mov eax, dword [ecx + 0x48]
mov dword [esp + 0x10], eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edx, dword [esp + 0xc]
mov edi, dword [eax + 0xc]
lea ecx, [edx*4 + 0x83]
and ecx, 0xffffff80
mov dword [esp + 0x10], ecx
lea esi, [ecx + edi]
mov dword [esp + 8], esi
mov esi, dword [esp + 0x18]
cmp ecx, dword [eax + 8]
jg 0x6d0fff
lea esi, [ecx + edi]
cmp esi, dword [eax + 0x10]
mov esi, dword [esp + 0x18]
ja 0x6d0fff
mov ecx, dword [esp + 8]
mov dword [eax + 0xc], ecx
jmp 0x6d100d
push ecx
mov ecx, eax
call fcn.0046a3c0
mov edx, dword [esp + 0xc]
mov edi, eax
xor ecx, ecx
test edx, edx
jle 0x6d1088
cmp edx, 8
jb 0x6d1077
movaps xmm1, xmmword [0x78caf0]
mov eax, edx
and eax, 0x80000007
jns 0x6d102d
dec eax
or eax, 0xfffffff8
inc eax
sub edx, eax
mov dword [esp + 8], edx
mov edx, edi
mov esi, dword [esp + 8]
nop dword [eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm0, xmm0, 0
lea edx, [edx + 0x20]
paddd xmm0, xmm1
add ecx, 8
movups xmmword [edx - 0x20], xmm0
movd xmm0, eax
pshufd xmm0, xmm0, 0
paddd xmm0, xmm1
movups xmmword [edx - 0x10], xmm0
cmp ecx, esi
jl 0x6d1040
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0xc]
cmp ecx, edx
jge 0x6d1088
nop dword [eax + eax]
mov dword [edi + ecx*4], ecx
inc ecx
cmp ecx, edx
jl 0x6d1080
push dword [ebp + 0x14]
mov eax, dword [esp + 0x18]
add eax, 0x14
mov dword [edi + edx*4], 0xffffffff
push edi
push eax
lea eax, [esp + 0x7c]
push eax
lea eax, [esi + 0x30]
push eax
call fcn.006d9470
add esp, 0x14
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, dword [esp + 0x10]
lea edx, [ecx + 0xf]
and edx, 0xfffffff0
cmp ecx, dword [eax + 8]
jg 0x6d10d9
lea ecx, [edx + edi]
cmp ecx, dword [eax + 0xc]
jne 0x6d10d9
cmp dword [eax + 0x14], edi
je 0x6d10d9
mov dword [eax + 0xc], edi
jmp 0x6d10e2
push edx
push edi
mov ecx, eax
call fcn.0046a590
mov byte [esi + 0x85], 1
push dword [0x884c50]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, eax
mov esi, dword [edi + 4]
cmp esi, dword [edi + 0xc]
jae 0x6d1118
mov dword [esi], 0x77f784
rdtsc
mov dword [esp + 8], eax
mov ecx, dword [esp + 8]
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