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

Disassembly:
jmp 0x140095810
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rsi, rcx
mov ecx, dword [0x1401230e0]
test ecx, ecx
je 0x14009583a
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jbe 0x140095853
add rax, 8
jmp 0x1400958ea
lea rcx, [0x1401230c8]
call fcn.140082430
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
ja 0x140095831
je 0x14009586f
test rsi, rsi
je 0x140095873
mov rdi, qword [rsi]
mov qword [rsi], 0
test rdi, rdi
je 0x140095875
mov rdi, qword [rsi + 8]
jmp 0x140095875
xor eax, eax
jmp 0x1400958ea
xor edi, edi
movzx eax, byte [0x1401bb111]
mov edx, 0x10
xor ecx, ecx
call fcn.140089d40
test rax, rax
je 0x140095912
mov rbx, rax
mov rsi, rax
lea rax, [0x1401230c8]
mov qword [rsi], rax
mov qword [rsi + 8], rdi
mov ecx, dword [0x1401230e0]
test ecx, ecx
je 0x1400958f2
dec ecx
call sub.KERNEL32.dll_TlsGetValue
mov rdi, rax
mov ecx, dword [0x1401230e0]
test ecx, ecx
je 0x140095902
dec ecx
add rbx, 8
mov rdx, rsi
call sub.KERNEL32.dll_TlsSetValue
test rdi, rdi
je 0x1400958e7
mov rcx, qword [0x1401bb0c8]
xor edx, edx
mov r8, rdi
call fcn.1400fda74
mov rax, rbx
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret
lea rcx, [0x1401230c8]
call fcn.140082430
mov ecx, eax
jmp 0x1400958b1
lea rcx, [0x1401230c8]
call fcn.140082430
mov ecx, eax
jmp 0x1400958c5
ud2

Function at 0x140095920
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
jmp 0x140095920
push rsi
push rdi
push rbx
sub rsp, 0x40
movaps xmmword [rsp + 0x30], xmm6
mov rsi, rcx
mov ecx, dword [0x140123120]
test ecx, ecx
je 0x14009594f
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jbe 0x140095968
add rax, 8
jmp 0x140095a19
lea rcx, [0x140123108]
call fcn.140082430
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
ja 0x140095946
je 0x140095a17
test rsi, rsi
je 0x140095984
movups xmm6, xmmword [rsi + 8]
cmp qword [rsi], 0
mov qword [rsi], 0
jne 0x1400959a0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x20], xmm0
lea rcx, [rsp + 0x20]
mov edx, 0x10
call sub.bcryptprimitives.dll_ProcessPrng
movaps xmm6, xmmword [rsp + 0x20]
movzx eax, byte [0x1401bb111]
mov edx, 0x18
xor ecx, ecx
call fcn.140089d40
test rax, rax
je 0x140095a46
mov rbx, rax
mov rsi, rax
lea rax, [0x140123108]
mov qword [rsi], rax
movups xmmword [rsi + 8], xmm6
mov ecx, dword [0x140123120]
test ecx, ecx
je 0x140095a26
dec ecx
call sub.KERNEL32.dll_TlsGetValue
mov rdi, rax
mov ecx, dword [0x140123120]
test ecx, ecx
je 0x140095a36
dec ecx
add rbx, 8
mov rdx, rsi
call sub.KERNEL32.dll_TlsSetValue
test rdi, rdi
je 0x140095a12
mov rcx, qword [0x1401bb0c8]
xor edx, edx
mov r8, rdi
call fcn.1400fda74
mov rax, rbx
jmp 0x140095a19
xor eax, eax
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x40
pop rbx
pop rdi
pop rsi
ret
lea rcx, [0x140123108]
call fcn.140082430
mov ecx, eax
jmp 0x1400959dc
lea rcx, [0x140123108]
call fcn.140082430
mov ecx, eax
jmp 0x1400959f0
ud2
Function at 0x1400997d0
Capabilities:
Receive data
Receive data on socket

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov rdi, r8
mov rsi, rdx
mov r14, rcx
mov r15, qword [rdx]
mov rbx, qword [rdx + 0x10]
test r8, r8
je 0x14009985a
cmp r9, 0xfffffffffffffbff
ja 0x140099822
lea r12, [r9 + 0x400]
mov rax, r12
and rax, 0x1fff
je 0x140099828
mov ecx, 0x2000
sub rcx, rax
add r12, rcx
setb al
test al, 1
je 0x140099828
mov r12d, 0x2000
mov rdx, rbx
test r9, r9
jne 0x14009986f
mov rax, r15
sub rax, rbx
cmp rax, 0x20
jae 0x14009986c
mov rcx, r14
mov rdx, rsi
call fcn.140099a50
test rax, rax
je 0x1400999ed
mov eax, 1
jmp 0x140099a37
mov r12d, 0x2000
mov rax, r15
sub rax, rbx
cmp rax, 0x20
jb 0x14009983c
mov rdx, rbx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x30], r14
mov r14, qword [r14]
xor ebp, ebp
nop
mov rax, qword [rsi]
cmp rdx, rax
jne 0x1400998af
cmp rax, r15
jne 0x1400998af
mov rcx, qword [rsp + 0x30]
mov rdx, rsi
call fcn.140099a50
test rax, rax
jne 0x140099850
test rdx, rdx
mov rdx, qword [rsi + 0x10]
je 0x140099a0c
mov rax, qword [rsi]
cmp rdx, rax
jne 0x140099900
cmp rax, 0xffffffffffffffdf
ja 0x1400999fb
lea r13, [rax + 0x20]
lea rcx, [rax + rax]
cmp rcx, r13
cmova r13, rcx
cmp r13, 9
mov ecx, 8
cmovb r13, rcx
mov rbx, rdx
test rax, rax
je 0x140099905
mov rcx, qword [rsi + 8]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x48], rax
mov eax, 1
jmp 0x140099907
mov r13, rax
jmp 0x140099943
xor eax, eax
mov rdx, r13
not rdx
shr rdx, 0x3f
mov qword [rsp + 0x40], rax
lea rcx, [rsp + 0x50]
mov r8, r13
lea r9, [rsp + 0x38]
call fcn.14009c110
cmp qword [rsp + 0x50], 0
jne 0x140099a22
mov rax, qword [rsp + 0x58]
mov qword [rsi + 8], rax
mov qword [rsi], r13
mov rdx, rbx
sub r13, rdx
add rdx, qword [rsi + 8]
cmp r13, r12
cmovae r13, r12
cmp r13, 0x7fffffff
mov r8d, 0x7fffffff
cmovb r8, r13
mov rcx, r14
xor r9d, r9d
call sub.ws2_32.dll_recv
cmp eax, 0xffffffff
je 0x1400999ca
cdqe
cmp rbp, rax
mov rcx, rbp
cmovbe rcx, rax
mov rdx, qword [rsi + 0x10]
test rax, rax
je 0x1400999e3
mov rbp, rcx
sub rbp, rax
add rdx, rax
mov qword [rsi + 0x10], rdx
cmp rdi, 1
je 0x140099880
cmp rcx, r13
mov r8, 0xffffffffffffffff
cmovne r12, r8
lea rcx, [r12 + r12]
test r12, r12
cmovs rcx, r8
cmp r13, r12
cmovb rcx, r12
cmp rax, r13
cmove r12, rcx
jmp 0x140099880
call sub.ws2_32.dll_WSAGetLastError
mov edx, eax
cmp eax, 0x274a
mov rax, qword [rsp + 0x28]
jne 0x140099a13
mov rdx, qword [rsi + 0x10]
jmp 0x1400999e8
mov rax, qword [rsp + 0x28]
sub rdx, rax
jmp 0x140099a35
test rdx, rdx
je 0x140099a33
mov rdx, qword [rsi + 0x10]
jmp 0x14009986f
mov eax, 1
movabs rdx, 0x2600000003
jmp 0x140099a37
sub rdx, qword [rsp + 0x28]
jmp 0x140099a35
shl rdx, 0x20
or rdx, 2
mov eax, 1
jmp 0x140099a37
movabs rdx, 0x2600000003
mov eax, 1
jmp 0x140099a37
xor edx, edx
xor eax, eax
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
Function at 0x140099a50
Capabilities:
Receive data
Receive data on socket

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x40
mov rsi, rdx
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x20], xmm0
mov rcx, qword [rcx]
lea rdx, [rsp + 0x20]
mov r8d, 0x20
xor r9d, r9d
call sub.ws2_32.dll_recv
cmp eax, 0xffffffff
je 0x140099aae
movsxd rdi, eax
cmp rdi, 0x20
ja 0x140099af9
mov rax, qword [rsi]
mov rbx, qword [rsi + 0x10]
sub rax, rbx
cmp rax, rdi
jae 0x140099ac0
mov rcx, rsi
mov rdx, rbx
mov r8, rdi
call fcn.140026460
mov rbx, qword [rsi + 0x10]
jmp 0x140099ac0
call sub.ws2_32.dll_WSAGetLastError
cmp eax, 0x274a
jne 0x140099ae8
mov rbx, qword [rsi + 0x10]
xor edi, edi
mov rcx, qword [rsi + 8]
add rcx, rbx
lea rdx, [rsp + 0x20]
mov r8, rdi
call sub.msvcrt.dll_memcpy
add rbx, rdi
mov qword [rsi + 0x10], rbx
xor eax, eax
mov rdx, rdi
add rsp, 0x40
pop rbx
pop rdi
pop rsi
ret
mov edi, eax
shl rdi, 0x20
or rdi, 2
mov eax, 1
jmp 0x140099add
ud2
Function at 0x1400a89f0
Capabilities:
Set socket configuration

Disassembly:
push rsi
push rdi
sub rsp, 0x38
mov esi, r9d
mov rdi, r8
call qword [rdx + 0xb8]
mov rcx, rax
xor eax, eax
test rcx, rcx
je 0x1400a8aa1
cmp esi, 0x3b9aca00
je 0x1400a8a67
mov edx, 0x3e8
mov rax, rdi
mul rdx
mul edx

Function at 0x1400a8ac0
Capabilities:
Connect socket
Enumerate pe sections
Resolve function by parsing pe exports
Set socket configuration

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x928
movaps xmmword [rsp + 0x910], xmm6
mov rbx, rdx
mov r14, rcx
mov qword [rsp + 0xb0], r8
mov qword [rsp + 0xb8], r9
mov rbp, qword [rdx + 0x98]
mov esi, dword [rbp + 0x80]
cmp esi, 0x3b9aca00
jne 0x1400a8be2
mov rax, qword [rbx + 0x88]
mov qword [rsp + 0xa0], rax
mov eax, dword [rbx + 0x90]
mov dword [rsp + 0x44], eax
movabs r13, 0x8000000000000000
cmp qword [rbp + 0x28], r13
mov qword [rsp + 0x90], rbp
jne case.0x1400a3a6d.818
mov rdi, qword [rbp + 0x78]
call fcn.140089ab0
mov dword [rsp + 0x44], 0x3b9aca00
add rax, rdi
jae case.0x1400a3a6d.794

Function at 0x1400ad450
Capabilities:
Send data
Send data on socket

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
test r8, r8
je 0x1400ad4a7
mov rdi, r8
mov rbx, rdx
mov r14, qword [rcx]
lea rsi, [0x14016c1b0]
nop
cmp rdi, 0x7fffffff
mov r8d, 0x7fffffff
cmovb r8, rdi
mov rcx, r14
mov rdx, rbx
xor r9d, r9d
call sub.ws2_32.dll_send
cmp eax, 0xffffffff
je 0x1400ad4ab
test eax, eax
je 0x1400ad4ba
cdqe
cmp rdi, rax
jb 0x1400ad4c7
add rbx, rax
sub rdi, rax
jne 0x1400ad470
xor esi, esi
jmp 0x1400ad4ba
call sub.ws2_32.dll_WSAGetLastError
mov esi, eax
shl rsi, 0x20
or rsi, 2
mov rax, rsi
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
ret
ud2
Function at 0x1400b5790
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x40
movaps xmmword [rsp + 0x30], xmm6
mov rsi, rcx
mov ecx, dword [0x140123120]
test ecx, ecx
je 0x1400b57bf
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jbe 0x1400b57d8
add rax, 8
jmp 0x1400b5889
lea rcx, [0x140123108]
call fcn.140082430
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
ja 0x1400b57b6
je 0x1400b5887
test rsi, rsi
je 0x1400b57f4
movups xmm6, xmmword [rsi + 8]
cmp qword [rsi], 0
mov qword [rsi], 0
jne 0x1400b5810
xorps xmm0, xmm0
movaps xmmword [rsp + 0x20], xmm0
lea rcx, [rsp + 0x20]
mov edx, 0x10
call sub.bcryptprimitives.dll_ProcessPrng
movaps xmm6, xmmword [rsp + 0x20]
movzx eax, byte [0x1401bb111]
mov edx, 0x18
xor ecx, ecx
call fcn.140089d40
test rax, rax
je 0x1400b58b6
mov rbx, rax
mov rsi, rax
lea rax, [0x140123108]
mov qword [rsi], rax
movups xmmword [rsi + 8], xmm6
mov ecx, dword [0x140123120]
test ecx, ecx
je 0x1400b5896
dec ecx
call sub.KERNEL32.dll_TlsGetValue
mov rdi, rax
mov ecx, dword [0x140123120]
test ecx, ecx
je 0x1400b58a6
dec ecx
add rbx, 8
mov rdx, rsi
call sub.KERNEL32.dll_TlsSetValue
test rdi, rdi
je 0x1400b5882
mov rcx, qword [0x1401bb0c8]
xor edx, edx
mov r8, rdi
call fcn.1400fda74
mov rax, rbx
jmp 0x1400b5889
xor eax, eax
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x40
pop rbx
pop rdi
pop rsi
ret
lea rcx, [0x140123108]
call fcn.140082430
mov ecx, eax
jmp 0x1400b584c
lea rcx, [0x140123108]
call fcn.140082430
mov ecx, eax
jmp 0x1400b5860
ud2
Function at 0x1400bebe0
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov r14, rdx
mov rsi, rcx
movabs rcx, 0xaaaaaaaaaaaaaaab
mov rax, r9
mul rcx
mov rax, r9
shr rax, 0x3e
cmp eax, 2
ja 0x1400bf1cd
mov r12, r9
mov r15, r8
mov rdi, rdx
movzx ecx, byte [r14]
shr rdi, 1
lea rax, [rdi + rdi*2]
mov r13, r9
sub r13, rax
shl rdi, 2
test r13, r13
mov byte [rsp + 0x2f], cl
je 0x1400bec51
test cl, cl
je 0x1400bec5f
cmp rdi, 0xfffffffffffffffc
je 0x1400bf1cd
add rdi, 4
jmp 0x1400bec6f
test rdi, rdi
jne 0x1400bec6f
mov ebx, 1
xor edi, edi
jmp 0x1400bec91
xor eax, eax
cmp r13, 1
sete al
xor rax, 3
or rdi, rax
test rdi, rdi
js 0x1400bf1cd
mov ecx, 8
mov rdx, rdi
call fcn.140089d40
test rax, rax
je 0x1400bf1cd
mov rbx, rax
xor eax, eax
mov rdx, r12
mov ecx, 0
sub rdx, 0x1a
cmovb rdx, rax
jbe 0x1400befa7
mov eax, 0x20
xor ecx, ecx
Function at 0x1400d81e0
Capabilities:
Connect to wmi namespace via wbemlocator

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x70
mov r14, r8
mov r15, rdx
mov rsi, rcx
mov qword [rsp + 0x50], 0
lea r12, [rsp + 0x50]
mov qword [rsp + 0x20], r12
lea rcx, [0x1401809f0]
lea r9, [0x1401809d4]
xor ebx, ebx
xor edx, edx
mov r8d, 1
call sub.ole32.dll_CoCreateInstance
test eax, eax
js 0x1400d82ef
mov rdi, qword [rsp + 0x50]
test rdi, rdi
je 0x1400d8306
mov rcx, r15
mov rdx, r14
call fcn.1400d4aa0
mov r14, rax
mov qword [rsp + 0x50], 0
mov rax, qword [rdi]
mov qword [rsp + 0x40], r12
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x28], pe_nt_image_headers64
mov qword [rsp + 0x20], 0
xor r15d, r15d
mov rcx, rdi
mov rdx, r14
xor r8d, r8d
xor r9d, r9d
call qword [rax + 0x18]
test eax, eax
js 0x1400d8328
mov rbx, qword [rsp + 0x50]
test rbx, rbx
je 0x1400d8340
test r14, r14
je 0x1400d82aa
mov rcx, r14
call sub.oleaut32.dll_SysFreeString
mov dword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], 3
mov rcx, rbx
mov edx, 0xa
xor r8d, r8d
xor r9d, r9d
call sub.ole32.dll_CoSetProxyBlanket
test eax, eax
js 0x1400d8387
mov qword [rsi + 8], rbx
mov byte [rsi], 0x12
jmp 0x1400d836e
mov ecx, eax
call fcn.1400d4500
mov ebx, edx
test rax, rax
je 0x1400d8306
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x10]
movzx eax, byte [rsp + 0x4f]
mov byte [rsi + 3], al
movzx eax, word [rsp + 0x4d]
mov word [rsi + 1], ax
mov dword [rsi + 4], ebx
movups xmm0, xmmword [rsp + 0x58]
movups xmmword [rsi + 0x10], xmm0
mov byte [rsi], 0
jmp 0x1400d8377
mov ecx, eax
call fcn.1400d4500
mov r15d, edx
test rax, rax
je 0x1400d8340
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x10]
test r14, r14
je 0x1400d834d
mov rcx, r14
call sub.oleaut32.dll_SysFreeString
movzx eax, byte [rsp + 0x4f]
mov byte [rsi + 3], al
movzx eax, word [rsp + 0x4d]
mov word [rsi + 1], ax
mov dword [rsi + 4], r15d
movups xmm0, xmmword [rsp + 0x58]
movups xmmword [rsi + 0x10], xmm0
mov byte [rsi], 0
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
nop
add rsp, 0x70
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov ecx, eax
call fcn.1400d4500
mov ebp, edx
test rax, rax
je 0x1400d839e
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x10]
mov byte [rsi], 0
movzx eax, word [rsp + 0x50]
mov word [rsi + 1], ax
movzx eax, byte [rsp + 0x52]
mov byte [rsi + 3], al
mov dword [rsi + 4], ebp
movups xmm0, xmmword [rsp + 0x58]
movups xmmword [rsi + 8], xmm0
mov rax, qword [rsp + 0x68]
mov qword [rsi + 0x18], rax
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
jmp 0x1400d836e
Function at 0x1400da590
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.1400da590
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
ret

Function at 0x1400da69a
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 0x1400da670
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
ret
Function at 0x1400dbebd
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rdi
mov qword [rsp + 0x10], rsi
mov rax, rsp
mov rdi, rcx
mov rsi, rdx
mov rdx, r8
mov rcx, r9
mov r8, qword [rsp + 0x28]
xchg rcx, rdx
test rcx, rcx
je 0x1400dc031
lea rsp, [rsp - 0xb8]
movaps xmmword [rsp + 0x10], xmm6
movaps xmmword [rsp + 0x20], xmm7
movaps xmmword [rsp + 0x30], xmm8
movaps xmmword [rsp + 0x40], xmm9
movaps xmmword [rsp + 0x50], xmm10
movaps xmmword [rsp + 0x60], xmm11
movaps xmmword [rsp + 0x70], xmm12
movaps xmmword [rsp + 0x80], xmm13
movaps xmmword [rsp + 0x90], xmm14
movaps xmmword [rsp + 0xa0], xmm15
movdqu xmm0, xmmword [r8]
movdqa xmm8, xmmword [0x140182e60]
sub rsi, rdi
call fcn.1400dc040
movdqa xmm6, xmm0
pshufb xmm6, xmmword [0x140182e50]
test rcx, 1
je 0x1400dbf7a
movdqu xmm7, xmmword [rdi]
call fcn.1400db6c0
pxor xmm0, xmm7
paddd xmm6, xmm8
movdqu xmmword [rsi + rdi], xmm0
sub rcx, 1
lea rdi, [rdi + 0x10]
je 0x1400dbfe6
movdqa xmm14, xmm6
movdqa xmm15, xmm6
paddd xmm15, xmm8
movdqa xmm1, xmmword [0x140182e50]
movdqa xmm0, xmm14
movdqa xmm6, xmm15
pshufb xmm0, xmm1
pshufb xmm6, xmm1
call fcn.1400db820
movdqu xmm1, xmmword [rdi]
movdqu xmm2, xmmword [rdi + 0x10]
movdqa xmm3, xmmword [0x140182e70]
pxor xmm0, xmm1
pxor xmm6, xmm2
paddd xmm14, xmm3
paddd xmm15, xmm3
movdqu xmmword [rsi + rdi], xmm0
movdqu xmmword [rsi + rdi + 0x10], xmm6
sub rcx, 2
lea rdi, [rdi + 0x20]
jne 0x1400dbf89
movaps xmm6, xmmword [rsp + 0x10]
movaps xmm7, xmmword [rsp + 0x20]
movaps xmm8, xmmword [rsp + 0x30]
movaps xmm9, xmmword [rsp + 0x40]
movaps xmm10, xmmword [rsp + 0x50]
movaps xmm11, xmmword [rsp + 0x60]
movaps xmm12, xmmword [rsp + 0x70]
movaps xmm13, xmmword [rsp + 0x80]
movaps xmm14, xmmword [rsp + 0x90]
movaps xmm15, xmmword [rsp + 0xa0]
lea rsp, [rsp + 0xb8]
mov rdi, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
ret
Function at 0x1400e5240
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
vmovdqu xmm4, xmmword [r9 - 0x80]
vmovdqu xmm2, xmmword [r11 + 0x20]
lea r13, [r10 - 1]
vmovups xmm15, xmmword [r9 - 0x70]
lea r12, [r9 - 0x60]
vpxor xmm9, xmm1, xmm4
add ebx, 0x6000000
jb 0x1400e5360
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 0x1400e52a0
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 0x1400e52a0
vmovdqu xmm3, xmmword [r12]
vaesenc xmm9, xmm9, xmm15
vpxor xmm4, xmm3, xmmword [rcx]
vaesenc xmm10, xmm10, xmm15
vpxor xmm5, xmm3, xmmword [rcx + 0x10]
vaesenc xmm11, xmm11, xmm15
vpxor xmm6, xmm3, xmmword [rcx + 0x20]
vaesenc xmm12, xmm12, xmm15
vpxor xmm8, xmm3, xmmword [rcx + 0x30]
vaesenc xmm13, xmm13, xmm15
vpxor xmm2, xmm3, xmmword [rcx + 0x40]
vaesenc xmm14, xmm14, xmm15
vpxor xmm3, xmm3, xmmword [rcx + 0x50]
lea rcx, [rcx + 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 [rdx], xmm9
vmovups xmmword [rdx + 0x10], xmm10
vmovups xmmword [rdx + 0x20], xmm11
vmovups xmmword [rdx + 0x30], xmm12
vmovups xmmword [rdx + 0x40], xmm13
vmovups xmmword [rdx + 0x50], xmm14
lea rdx, [rdx + 0x60]
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 0x1400e52a0
Function at 0x1400e91c0
Capabilities:
Encode data using xor

Disassembly:
xor r10, r10
xor r11, r11
xor r12, r12
cmp r8, 0xd
jne 0x1400e926e
mov r10, qword [rcx]
mov r11, qword [rcx + 5]
shr r11, 0x18
mov r12d, 1
mov rax, qword [rbp + 0xa0]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp + 0xa0]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 0xa8]
mov r9, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 0xa8]
mul r11
add r15, rax
adc rdx, 0
imul r9, r12
add r15, r10
adc r9, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r9
shrd r15, r9, 2
shr r9, 2
add r15, r13
adc r9, r14
add r10, r15
adc r11, r9
adc r12, 0
ret
cmp r8, 0x10
jb 0x1400e9319
add r10, qword [rcx]
adc r11, qword [rcx + 8]
adc r12, 1
mov rax, qword [rbp + 0xa0]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp + 0xa0]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 0xa8]
mov r9, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 0xa8]
mul r11
add r15, rax
adc rdx, 0
imul r9, r12
add r15, r10
adc r9, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r9
shrd r15, r9, 2
shr r9, 2
add r15, r13
adc r9, r14
add r10, r15
adc r11, r9
adc r12, 0
lea rcx, [rcx + 0x10]
sub r8, 0x10
jmp 0x1400e926e
cmp r8, 0
je 0x1400e93df
xor r13, r13
xor r14, r14
xor r15, r15
add rcx, r8
shld r14, r13, 8
shl r13, 8
movzx r15, byte [rcx - 1]
xor r13, r15
dec rcx
dec r8
jne 0x1400e932f
add r10, r13
adc r11, r14
adc r12, 1
mov rax, qword [rbp + 0xa0]
mov r15, rax
mul r10
mov r13, rax
mov r14, rdx
mov rax, qword [rbp + 0xa0]
mul r11
imul r15, r12
add r14, rax
adc r15, rdx
mov rax, qword [rbp + 0xa8]
mov r9, rax
mul r10
add r14, rax
adc rdx, 0
mov r10, rdx
mov rax, qword [rbp + 0xa8]
mul r11
add r15, rax
adc rdx, 0
imul r9, r12
add r15, r10
adc r9, rdx
mov r10, r13
mov r11, r14
mov r12, r15
and r12, 3
mov r13, r15
and r13, 0xfffffffffffffffc
mov r14, r9
shrd r15, r9, 2
shr r9, 2
add r15, r13
adc r9, r14
add r10, r15
adc r11, r9
adc r12, 0
ret