joyce8/EMBER2024-capa huggingface dataset:
Function at 0x6c2320
Capabilities:
Execute anti-debugging instructions
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x198
push esi
push edi
push dword [0x884c50]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, eax
mov esi, dword [edi + 4]
cmp esi, dword [edi + 0xc]
jae 0x6c235d
mov dword [esi], str.TtBoxBox
rdtsc
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0xc]
lea eax, [esi + 0xc]
mov dword [esi + 4], ecx
mov dword [edi + 4], eax
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov eax, dword [esi]
mov ecx, dword [edi]
push dword [edi + 8]
movss xmm0, dword [eax + 0x10]
push dword [esi + 8]
shufps xmm0, xmm0, 0
addps xmm0, xmmword [eax + 0x20]
movaps xmmword [esp + 0x18], xmm0
movss xmm0, dword [ecx + 0x10]
shufps xmm0, xmm0, 0
addps xmm0, xmmword [ecx + 0x20]
lea ecx, [esp + 0x38]
movaps xmmword [esp + 0x28], xmm0
call fcn.0046efa0
mov eax, dword [ebp + 0x10]
lea ecx, [esp + 0x70]
movaps xmm7, xmmword [esp + 0x10]
movaps xmm6, xmmword [esp + 0x30]
movaps xmm1, xmmword [esp + 0x40]
movss xmm2, dword [eax + 0xc]
movaps xmm5, xmmword [esp + 0x20]
movaps xmm3, xmmword [esp + 0x50]
movaps xmm4, xmmword [esp + 0x60]
movss dword [esp + 0x120], xmm2
shufps xmm2, xmm2, 0
movaps xmm0, xmm2
movaps xmmword [esp + 0xf0], xmm2
addps xmm0, xmm7
mov eax, dword [esi + 8]
addps xmm2, xmm5
movaps xmmword [esp + 0x90], xmm6
movaps xmmword [esp + 0xa0], xmm1
movaps xmmword [esp + 0xc0], xmm4
movaps xmmword [esp + 0x130], xmm4
movaps xmmword [esp + 0x100], xmm0
movaps xmm0, xmm6
unpcklps xmm0, xmm1
unpckhps xmm6, xmm1
movaps xmm1, xmm0
movaps xmmword [esp + 0x110], xmm2
movlhps xmm1, xmm3
movaps xmm2, xmm1
shufps xmm6, xmm3, 0xe4
movhlps xmm2, xmm0
movaps xmm0, xmm4
shufps xmm0, xmm4, 0x55
shufps xmm2, xmm3, 0xd4
mulps xmm2, xmm0
movaps xmm0, xmm4
mov dword [esp + 0x84], eax
mov eax, dword [edi + 8]
shufps xmm0, xmm4, 0
mulps xmm0, xmm1
mov dword [esp + 0x88], eax
lea eax, [esp + 0xf0]
shufps xmm4, xmm4, 0xaa
mulps xmm4, xmm6
push eax
addps xmm2, xmm0
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
addps xmm2, xmm4
movaps xmmword [esp + 0xb4], xmm3
movaps xmmword [esp + 0xd4], xmm7
movaps xmmword [esp + 0xe4], xmm5
mov dword [esp + 0x128], 0x3c23d70a
movaps xmmword [esp + 0x144], xmm2
call fcn.006d5510
test eax, eax
jne 0x6c24d0
mov ecx, dword [ebp + 0x14]
push edi
push esi
mov eax, dword [ecx]
call dword [eax + 4]
push dword [0x884c50]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, eax
mov esi, dword [edi + 4]
cmp esi, dword [edi + 0xc]
jae 0x6c24ff
mov dword [esi], 0x77f5ec
rdtsc
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0xc]
lea eax, [esi + 0xc]
mov dword [esi + 4], ecx
mov dword [edi + 4], eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x6c25e4
Capabilities:
Get thread local storage value

Disassembly:
mov eax, dword [esp + 4]
push esi
mov esi, ecx
mov dword [esi], vtable.hkBaseObject.0
test al, 1
je 0x6c2633
test al, 4
jne 0x6c2628
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x50
cmp ax, cx
je 0x6c260b
mov edi, eax
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
pop edi
mov eax, esi
pop esi
ret 4
push 0x50
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4
Function at 0x6c28b0
Capabilities:
Execute anti-debugging instructions
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x58
push esi
push edi
push dword [0x884c50]
mov dword [esp + 0x1c], ecx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, eax
mov esi, dword [edi + 4]
cmp esi, dword [edi + 0xc]
jae 0x6c28f5
mov dword [esi], str.LthkpBvAgent
mov dword [esi + 0xc], str.StcheckBvShape
rdtsc
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov dword [esi + 4], eax
lea eax, [esi + 0x10]
mov dword [edi + 4], eax
mov eax, dword [ebp + 8]
lea edx, [esp + 0x30]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x2c], eax
push edx
mov ecx, dword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x2c], eax
push edx
mov eax, dword [ecx + 0x10]
lea edx, [esp + 0x28]
push dword [ebp + 0x10]
mov dword [esp + 0x28], ecx
mov ecx, dword [edi + 0xc]
push dword [ebp + 0xc]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], 0xffffffff
mov dword [esp + 0x40], vtable.hkpSimpleClosestContactCollector.0
mov byte [esp + 0x48], 0
mov dword [esp + 0x6c], 0x7f7fffee
mov dword [esp + 0x44], 0x7f7fffee
mov eax, dword [ecx]
push edx
call dword [eax + 0x14]
cmp byte [esp + 0x38], 0
je 0x6c2a15
push dword [0x884c50]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov dword [esp + 0x14], eax
mov esi, dword [eax + 4]
cmp esi, dword [eax + 0xc]
jae 0x6c2992
mov dword [esi], str.Stchild
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
cmp dword [edi + 0x10], 0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 0
jne 0x6c29fc
mov esi, dword [eax + 0xc]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
mov eax, dword [eax]
cmp dword [ecx + 0x18], 0
mov edx, dword [ecx]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x1c], eax
lea eax, [edx + 0x5a0]
jne 0x6c29d1
lea eax, [edx + 0x1a0]
push dword [edi + 8]
shl esi, 5
add esi, eax
mov eax, dword [esp + 0x20]
push ecx
push dword [ebp + 0xc]
lea ecx, [esp + 0x2c]
movzx eax, byte [esi + eax]
push ecx
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4 + 0x9a0]
call eax
add esp, 0x10
mov dword [edi + 0x10], eax
push dword [ebp + 0x18]
mov ecx, dword [edi + 0x10]
lea edx, [esp + 0x24]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
mov eax, dword [ecx]
push dword [ebp + 0xc]
push edx
call dword [eax + 0x14]
push dword [0x884c50]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, eax
mov esi, dword [edi + 4]
cmp esi, dword [edi + 0xc]
jae 0x6c2a44
mov dword [esi], 0x77f784
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 0x14
Function at 0x6c2a50
Capabilities:
Execute anti-debugging instructions
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x58
push esi
push edi
push dword [0x884c50]
mov edi, dword [sym.imp.KERNEL32.dll_TlsGetValue]
call edi
mov esi, eax
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 0xc]
jae 0x6c2a93
mov dword [ecx], str.LthkpBvAgent
mov dword [ecx + 0xc], str.StcheckBvShape
rdtsc
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov dword [ecx + 4], eax
lea eax, [ecx + 0x10]
mov dword [esi + 4], eax
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x2c], eax
mov ecx, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [esi]
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x1c], ecx
mov ecx, dword [ecx + 0x10]
mov dword [esp + 0x20], ecx
mov eax, dword [eax]
mov dword [esp + 0x24], 0xffffffff
mov eax, dword [eax + 0xc]
mov dword [esp + 0x10], eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x10]
add eax, 0xd
shl eax, 5
add eax, edx
movzx eax, byte [eax + ecx]
lea ecx, [esp + 0x30]
push ecx
push ecx
push esi
push dword [ebp + 0xc]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4 + 0x9ac]
lea ecx, [esp + 0x30]
push ecx
mov dword [esp + 0x44], vtable.hkpSimpleClosestContactCollector.0
mov byte [esp + 0x4c], 0
mov dword [esp + 0x70], 0x7f7fffee
mov dword [esp + 0x48], 0x7f7fffee
call eax
add esp, 0x14
cmp byte [esp + 0x38], 0
je 0x6c2b96
push dword [0x884c50]
call edi
mov dword [esp + 0x18], eax
mov esi, dword [eax + 4]
cmp esi, dword [eax + 0xc]
jae 0x6c2b4d
mov dword [esi], str.Stchild
rdtsc
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x14]
lea eax, [esi + 0xc]
mov dword [esi + 4], ecx
mov ecx, dword [esp + 0x18]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x1c]
mov edx, dword [ebp + 0x10]
push dword [ebp + 0x18]
mov esi, dword [esp + 0x14]
mov eax, dword [eax + 0x18]
mov ecx, dword [edx]
push dword [ebp + 0x14]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 0
mov eax, dword [eax + 0xc]
add eax, 0xd
shl eax, 5
add eax, ecx
push edx
push dword [ebp + 0xc]
lea edx, [esp + 0x30]
movzx eax, byte [eax + esi]
push edx
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 + 0x9ac]
call eax
add esp, 0x14
push dword [0x884c50]
call edi
mov edi, eax
mov esi, dword [edi + 4]
cmp esi, dword [edi + 0xc]
jae 0x6c2bc1
mov dword [esi], 0x77f784
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

Function at 0x6c34d4
Capabilities:
Get thread local storage value

Disassembly:
mov eax, dword [esp + 4]
push esi
mov esi, ecx
mov dword [esi], vtable.hkBaseObject.0
test al, 1
je 0x6c3523
test al, 4
jne 0x6c3518
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x14
cmp ax, cx
je 0x6c34fb
mov edi, eax
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
pop edi
mov eax, esi
pop esi
ret 4
push 0x14
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4
Function at 0x6c3594
Capabilities:
Get thread local storage value

Disassembly:
mov eax, dword [esp + 4]
push esi
mov esi, ecx
mov dword [esi], vtable.hkBaseObject.0
test al, 1
je 0x6c35e3
test al, 4
jne 0x6c35d8
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x14
cmp ax, cx
je 0x6c35bb
mov edi, eax
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
pop edi
mov eax, esi
pop esi
ret 4
push 0x14
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4

Function at 0x6c35f4
Capabilities:
Get thread local storage value

Disassembly:
mov eax, dword [esp + 4]
push esi
mov esi, ecx
mov dword [esi], vtable.hkpCdBodyPairCollector.0
test al, 1
je 0x6c362d
test al, 4
jne 0x6c3622
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push 8
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, esi
pop esi
ret 4
push 8
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4

Function at 0x6c3644
Capabilities:
Get thread local storage value

Disassembly:
mov eax, dword [esp + 4]
push esi
mov esi, ecx
mov dword [esi], vtable.hkpCdPointCollector.0
test al, 1
je 0x6c367d
test al, 4
jne 0x6c3672
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push 0x30
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, esi
pop esi
ret 4
push 0x30
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4
Function at 0x6c5e10
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
mov dword [esi], vtable.hkpBvTreeAgent.0
mov eax, dword [esi + 0x14]
mov dword [esi + 0x10], 0
test eax, eax
js 0x6c5e43
and eax, 0x3fffffff
mov ecx, 0x7d8954
lea eax, [eax + eax*2]
shl eax, 2
push eax
mov eax, dword [0x7d8954]
push dword [esi + 0xc]
call dword [eax + 0x10]
mov eax, dword [esp + 8]
mov dword [esi + 0xc], 0
mov dword [esi + 0x14], connect
mov dword [esi], vtable.hkBaseObject.0
test al, 1
je 0x6c5ea1
test al, 4
jne 0x6c5e96
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x40
cmp ax, cx
je 0x6c5e79
mov edi, eax
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
pop edi
mov eax, esi
pop esi
ret 4
push 0x40
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4

Function at 0x6c5f50
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
mov dword [esi], vtable.hkpBvTreeAgent.0
mov eax, dword [esi + 0x14]
mov dword [esi + 0x10], 0
test eax, eax
js 0x6c5f83
and eax, 0x3fffffff
mov ecx, 0x7d8954
lea eax, [eax + eax*2]
shl eax, 2
push eax
mov eax, dword [0x7d8954]
push dword [esi + 0xc]
call dword [eax + 0x10]
mov eax, dword [esp + 8]
mov dword [esi + 0xc], 0
mov dword [esi + 0x14], connect
mov dword [esi], vtable.hkBaseObject.0
test al, 1
je 0x6c5fe1
test al, 4
jne 0x6c5fd6
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x40
cmp ax, cx
je 0x6c5fb9
mov edi, eax
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
pop edi
mov eax, esi
pop esi
ret 4
push 0x40
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4
Function at 0x6c6ee0
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
mov dword [esi], vtable.hkpBvTreeStreamAgent.0
mov eax, dword [esi + 0x38]
mov dword [esi + 0x34], 0
test eax, eax
js 0x6c6f10
and eax, 0x3fffffff
mov ecx, 0x7d8954
shl eax, 2
push eax
mov eax, dword [0x7d8954]
push dword [esi + 0x30]
call dword [eax + 0x10]
mov eax, dword [esp + 8]
mov dword [esi + 0x30], 0
mov dword [esi + 0x38], connect
mov dword [esi], vtable.hkBaseObject.0
test al, 1
je 0x6c6f6e
test al, 4
jne 0x6c6f63
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x40
cmp ax, cx
je 0x6c6f46
mov edi, eax
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
pop edi
mov eax, esi
pop esi
ret 4
push 0x40
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4

Function at 0x6c6f80
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
mov eax, dword [esi + 0x14]
mov dword [esi + 0x10], 0
test eax, eax
js 0x6c6faa
and eax, 0x3fffffff
mov ecx, 0x7d8954
shl eax, 3
push eax
mov eax, dword [0x7d8954]
push dword [esi + 0xc]
call dword [eax + 0x10]
mov eax, dword [esp + 8]
mov dword [esi + 0xc], 0
mov dword [esi + 0x14], connect
mov dword [esi], vtable.hkBaseObject.0
test al, 1
je 0x6c7008
test al, 4
jne 0x6c6ffd
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x38
cmp ax, cx
je 0x6c6fe0
mov edi, eax
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
pop edi
mov eax, esi
pop esi
ret 4
push 0x38
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4

Function at 0x6c7140
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
mov dword [esi], vtable.hkpBvTreeStreamAgent.0
mov eax, dword [esi + 0x38]
mov dword [esi + 0x34], 0
test eax, eax
js 0x6c7170
and eax, 0x3fffffff
mov ecx, 0x7d8954
shl eax, 2
push eax
mov eax, dword [0x7d8954]
push dword [esi + 0x30]
call dword [eax + 0x10]
mov eax, dword [esp + 8]
mov dword [esi + 0x30], 0
mov dword [esi + 0x38], connect
mov dword [esi], vtable.hkBaseObject.0
test al, 1
je 0x6c71ce
test al, 4
jne 0x6c71c3
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x40
cmp ax, cx
je 0x6c71a6
mov edi, eax
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
pop edi
mov eax, esi
pop esi
ret 4
push 0x40
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4
Function at 0x6c7940
Capabilities:
Execute anti-debugging instructions
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x118
push esi
push edi
push dword [0x884c50]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, eax
mov esi, dword [edi + 4]
cmp esi, dword [edi + 0xc]
jae 0x6c797d
mov dword [esi], str.TtMopp
rdtsc
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0xc]
lea eax, [esi + 0xc]
mov dword [esi + 4], ecx
mov dword [edi + 4], eax
mov esi, dword [ebp + 8]
lea ecx, [esp + 0xa0]
mov edi, dword [ebp + 0xc]
push dword [esi + 8]
push dword [edi + 8]
call fcn.0046efa0
mov ecx, dword [esi]
lea edx, [esp + 0x80]
push edx
mov edx, dword [ebp + 0x10]
push ecx
mov eax, dword [ecx]
movss xmm0, dword [edx + 0xc]
lea edx, [esp + 0xa8]
movss dword [esp], xmm0
push edx
call dword [eax + 0x1c]
mov eax, dword [edi + 8]
lea ecx, [esp + 0xec]
movaps xmm0, xmmword [0x719700]
movaps xmm3, xmmword [0x727d50]
movaps xmm6, xmmword [esp + 0x90]
movaps xmm2, xmmword [eax]
movaps xmm1, xmmword [eax + 0x20]
movaps xmm5, xmm2
unpcklps xmm5, xmmword [eax + 0x10]
unpckhps xmm2, xmmword [eax + 0x10]
movaps xmm7, xmm5
mov eax, dword [ebp + 0x10]
shufps xmm0, xmm0, 0
movaps xmmword [esp + 0x10], xmm1
movlhps xmm7, xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0
movaps xmmword [esp + 0x30], xmm0
subps xmm3, xmm1
movaps xmm0, xmm6
movaps xmmword [esp + 0x20], xmm2
mulps xmm0, xmm1
movaps xmm2, xmm7
mov dword [esp + 0x70], eax
movaps xmm1, xmmword [eax + 0x50]
mulps xmm3, xmmword [esp + 0x80]
mov dword [esp + 0x74], esi
subps xmm6, xmmword [esp + 0x80]
movhlps xmm2, xmm5
shufps xmm2, xmmword [esp + 0x10], 0xd4
addps xmm3, xmm0
mov dword [esp + 0x78], edi
movaps xmm0, xmm1
shufps xmm0, xmm1, 0x55
mulps xmm6, xmmword [esp + 0x30]
mulps xmm2, xmm0
movaps xmm0, xmm1
push dword [ebp + 0x18]
shufps xmm0, xmm1, 0
push dword [ebp + 0x14]
mulps xmm0, xmm7
shufps xmm1, xmm1, 0xaa
movaps xmmword [esp + 0x48], xmm3
addps xmm2, xmm0
movaps xmm0, xmmword [esp + 0x28]
shufps xmm0, xmmword [esp + 0x18], 0xe4
mulps xmm1, xmm0
movss xmm0, dword [eax + 0xc]
lea eax, [esp + 0x48]
shufps xmm0, xmm0, 0
addps xmm6, xmm0
addps xmm2, xmm1
push eax
movaps xmmword [esp + 0x6c], xmm6
addps xmm2, xmm3
movaps xmmword [esp + 0x5c], xmm2
call fcn.006f7d30
push dword [0x884c50]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, eax
mov esi, dword [edi + 4]
cmp esi, dword [edi + 0xc]
jae 0x6c7ad5
mov dword [esi], 0x77f5ec
rdtsc
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0xc]
lea eax, [esi + 0xc]
mov dword [esi + 4], ecx
mov dword [edi + 4], eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x6c7b80
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
mov dword [esi], vtable.hkpBvTreeAgent.0
mov eax, dword [esi + 0x14]
mov dword [esi + 0x10], 0
test eax, eax
js 0x6c7bb3
and eax, 0x3fffffff
mov ecx, 0x7d8954
lea eax, [eax + eax*2]
shl eax, 2
push eax
mov eax, dword [0x7d8954]
push dword [esi + 0xc]
call dword [eax + 0x10]
mov eax, dword [esp + 8]
mov dword [esi + 0xc], 0
mov dword [esi + 0x14], connect
mov dword [esi], vtable.hkBaseObject.0
test al, 1
je 0x6c7c11
test al, 4
jne 0x6c7c06
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x40
cmp ax, cx
je 0x6c7be9
mov edi, eax
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
pop edi
mov eax, esi
pop esi
ret 4
push 0x40
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4

Function at 0x6c7cc0
Capabilities:
Get thread local storage value

Disassembly:
push esi
mov esi, ecx
mov dword [esi], vtable.hkpBvTreeAgent.0
mov eax, dword [esi + 0x14]
mov dword [esi + 0x10], 0
test eax, eax
js 0x6c7cf3
and eax, 0x3fffffff
mov ecx, 0x7d8954
lea eax, [eax + eax*2]
shl eax, 2
push eax
mov eax, dword [0x7d8954]
push dword [esi + 0xc]
call dword [eax + 0x10]
mov eax, dword [esp + 8]
mov dword [esi + 0xc], 0
mov dword [esi + 0x14], connect
mov dword [esi], vtable.hkBaseObject.0
test al, 1
je 0x6c7d51
test al, 4
jne 0x6c7d46
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x40
cmp ax, cx
je 0x6c7d29
mov edi, eax
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
pop edi
mov eax, esi
pop esi
ret 4
push 0x40
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4

Function at 0x6c82b4
Capabilities:
Get thread local storage value

Disassembly:
mov eax, dword [esp + 4]
push esi
mov esi, ecx
mov dword [esi], vtable.hkBaseObject.0
test al, 1
je 0x6c8303
test al, 4
jne 0x6c82f8
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x24
cmp ax, cx
je 0x6c82db
mov edi, eax
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
pop edi
mov eax, esi
pop esi
ret 4
push 0x24
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4
Function at 0x6c8560
Capabilities:
Execute anti-debugging instructions
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x68
push esi
push edi
push dword [0x884c50]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, eax
mov esi, dword [edi + 4]
cmp esi, dword [edi + 0xc]
jae 0x6c859a
mov dword [esi], str.TtSphereSphere
rdtsc
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0xc]
lea eax, [esi + 0xc]
mov dword [esi + 4], ecx
mov dword [edi + 4], eax
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov eax, dword [edi + 8]
mov edx, dword [esi]
mov ecx, dword [edi]
movaps xmm7, xmmword [eax + 0x30]
mov eax, dword [esi + 8]
movss xmm4, dword [ecx + 0x10]
movss xmm6, dword [edx + 0x10]
addss xmm6, xmm4
movaps xmm5, xmmword [eax + 0x30]
mov eax, dword [ebp + 0x10]
subps xmm5, xmm7
movaps xmm3, xmm5
mulps xmm3, xmm5
movaps xmm0, xmm3
shufps xmm0, xmm3, 0x55
addss xmm0, xmm3
shufps xmm3, xmm3, 0xaa
addss xmm3, xmm0
movss xmm0, dword [eax + 0xc]
addss xmm0, xmm6
shufps xmm3, xmm3, 0
mulss xmm0, xmm0
comiss xmm0, xmm3
jbe 0x6c867c
xorps xmm0, xmm0
comiss xmm3, xmm0
jbe 0x6c8624
xorps xmm0, xmm0
movss xmm1, dword [0x718824]
sqrtss xmm0, xmm3
divss xmm1, xmm0
movaps xmm2, xmm1
mulss xmm3, xmm1
shufps xmm2, xmm2, 0
mulps xmm2, xmm5
jmp 0x6c863a
movaps xmm2, xmmword [0x884bd0]
movaps xmm3, xmm0
movaps xmm0, xmm2
unpckhps xmm0, xmmword [esp + 0x20]
shufps xmm2, xmm0, 0xc4
mov ecx, dword [ebp + 0x14]
subss xmm3, xmm6
shufps xmm4, xmm4, 0
lea edx, [esp + 0x30]
mulps xmm4, xmm2
push edx
mov eax, dword [ecx]
movaps xmmword [esp + 0x24], xmm2
movss dword [esp + 0x30], xmm3
movaps xmm0, xmmword [esp + 0x24]
addps xmm4, xmm7
movaps xmmword [esp + 0x44], xmm0
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], edi
movaps xmmword [esp + 0x54], xmm0
movaps xmmword [esp + 0x34], xmm4
call dword [eax + 4]
push dword [0x884c50]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, eax
mov esi, dword [edi + 4]
cmp esi, dword [edi + 0xc]
jae 0x6c86ab
mov dword [esi], 0x77f5ec
rdtsc
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0xc]
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

Function at 0x6c8974
Capabilities:
Get thread local storage value

Disassembly:
mov eax, dword [esp + 4]
push esi
mov esi, ecx
mov dword [esi], vtable.hkBaseObject.0
test al, 1
je 0x6c89c3
test al, 4
jne 0x6c89b8
movzx eax, word [esi + 4]
mov ecx, 0xffff
push edi
mov edi, 0x10
cmp ax, cx
je 0x6c899b
mov edi, eax
push dword [0x884adc]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx]
call dword [eax + 8]
pop edi
mov eax, esi
pop esi
ret 4
push 0x10
push esi
call fcn.0045b780
add esp, 8
mov eax, esi
pop esi
ret 4