joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400b3eb0
Capabilities:
Create tcp socket
Create udp socket

Disassembly:
push rsi
push rdi
sub rsp, 0x38
mov rsi, rcx
test dx, dx
mov eax, 2
mov edi, 0x17
cmove edi, eax
mov dword [rsp + 0x28], 0x81
mov dword [rsp + 0x20], 0
mov ecx, edi
mov edx, 1
xor r8d, r8d
xor r9d, r9d
call sub.ws2_32.dll_WSASocketW
cmp rax, 0xffffffffffffffff
je 0x1400b3efe
mov qword [rsi + 8], rax
mov qword [rsi], 0
jmp 0x1400b3f6e
call sub.ws2_32.dll_WSAGetLastError
cmp eax, 0x2726
je 0x1400b3f11
cmp eax, 0x2739
jne 0x1400b3f5b
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 0
mov ecx, edi
mov edx, 1
xor r8d, r8d
xor r9d, r9d
call sub.ws2_32.dll_WSASocketW
cmp rax, 0xffffffffffffffff
je 0x1400b3f56
mov rdi, rax
mov rcx, rax
mov edx, 1
xor r8d, r8d
call sub.KERNEL32.dll_SetHandleInformation
test eax, eax
je 0x1400b3f75
mov qword [rsi + 8], rdi
jmp 0x1400b3ef5
call sub.ws2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov qword [rsi], 1
add rsp, 0x38
pop rdi
pop rsi
ret
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov qword [rsi], 1
mov rcx, rdi
add rsp, 0x38
pop rdi
pop rsi
jmp fcn.14011d184

Function at 0x1400b4030
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x38
xor r9d, r9d
cmp r8d, 0x3b9aca00
je 0x1400b408e
mov r9d, 0x3e8
mov rax, rdx
mul r9
mov r9d, 0xffffffff
jo 0x1400b408e
mov edx, r8d
imul rdx, rdx, 0x431bde83
shr rdx, 0x32
add rax, rdx
jb 0x1400b408e
imul edx, edx, 0xf4240
xor r10d, r10d
sub r8d, edx
setne r10b
add rax, r10
jb 0x1400b408e
mov r9d, 0xffffffff
cmp rax, r9
cmovb r9, rax
test r9, r9
je 0x1400b40ce
mov dword [rsp + 0x34], r9d
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x34]
mov edx, 0xffff
mov r8d, 0x1006
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1400b40bc
xor eax, eax
add rsp, 0x38
ret
call sub.ws2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret
lea rax, str.cannot_set_a_0_duration_timeout
add rsp, 0x38
ret

Function at 0x1400b40e0
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x38
xor r9d, r9d
cmp r8d, 0x3b9aca00
je 0x1400b413e
mov r9d, 0x3e8
mov rax, rdx
mul r9
mov r9d, 0xffffffff
jo 0x1400b413e
mov edx, r8d
imul rdx, rdx, 0x431bde83
shr rdx, 0x32
add rax, rdx
jb 0x1400b413e
imul edx, edx, 0xf4240
xor r10d, r10d
sub r8d, edx
setne r10b
add rax, r10
jb 0x1400b413e
mov r9d, 0xffffffff
cmp rax, r9
cmovb r9, rax
test r9, r9
je 0x1400b417e
mov dword [rsp + 0x34], r9d
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x34]
mov edx, 0xffff
mov r8d, 0x1005
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1400b416c
xor eax, eax
add rsp, 0x38
ret
call sub.ws2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret
lea rax, str.cannot_set_a_0_duration_timeout
add rsp, 0x38
ret
Function at 0x1400b46c0
Capabilities:
Get local ipv4 addresses
Get socket information

Disassembly:
push rsi
sub rsp, 0xb0
mov rax, rdx
mov rsi, rcx
xorps xmm0, xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x2c], pe_nt_image_headers64
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x2c]
mov rcx, rax
call sub.ws2_32.dll_getsockname
cmp eax, 0xffffffff
je 0x1400b476f
mov eax, dword [rsp + 0x2c]
movzx ecx, word [rsp + 0x30]
cmp ecx, 2
je 0x1400b477e
cmp ecx, 0x17
jne 0x1400b47a5
cmp eax, 0x1b
jbe 0x1400b47be
movzx eax, word [rsp + 0x32]
rol ax, 8
movups xmm0, xmmword [rsp + 0x38]
mov ecx, dword [rsp + 0x34]
mov edx, dword [rsp + 0x48]
mov word [rsi], 1
movups xmmword [rsi + 4], xmm0
mov dword [rsi + 0x14], ecx
mov dword [rsi + 0x18], edx
mov word [rsi + 0x1c], ax
add rsp, 0xb0
pop rsi
ret
call sub.ws2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
jmp 0x1400b47ac
cmp eax, 0xf
jbe 0x1400b47d8
movzx eax, word [rsp + 0x32]
rol ax, 8
mov ecx, dword [rsp + 0x34]
mov word [rsi], 0
mov word [rsi + 6], ax
mov dword [rsi + 2], ecx
add rsp, 0xb0
pop rsi
ret
lea rax, str.invalid_argument
mov qword [rsi + 8], rax
mov word [rsi], 2
add rsp, 0xb0
pop rsi
ret
lea rcx, str.assertion_failed:_len_as_usize___mem::size_of::_c::sockaddr_in6___
lea r8, [0x14016cd00]
mov edx, 0x43
call fcn.140004ed0
ud2
lea rcx, str.assertion_failed:_len_as_usize___mem::size_of::_c::sockaddr_in___library_std_src_sys_common_net.rs
lea r8, [0x14016cca0]
mov edx, 0x42
call fcn.140004ed0
ud2

Function at 0x1400b4e70
Capabilities:
Create thread

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x38
mov rdi, r8
mov rbx, rdx
mov r14, rcx
movzx eax, byte [0x1401e61e9]
mov rcx, qword [0x1401e6138]
test rcx, rcx
jne 0x1400b4ead
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x1400b4f5d
mov rcx, rax
mov qword [0x1401e6138], rax
mov r8d, 0x10
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x1400b4f5d
mov rsi, rax
mov qword [rax], rbx
mov qword [rax + 8], rdi
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x10000
lea r8, [0x1400b4fc0]
xor edi, edi
xor ecx, ecx
mov rdx, r14
mov r9, rax
call sub.KERNEL32.dll_CreateThread
mov rdx, rax
test rax, rax
jne 0x1400b4f50
mov rdi, qword [rsi]
mov rbx, qword [rsi + 8]
mov rcx, rdi
call qword [rbx]
cmp qword [rbx + 8], 0
je 0x1400b4f2b
cmp qword [rbx + 0x10], 0x11
jb 0x1400b4f1a
mov rdi, qword [rdi - 8]
mov rcx, qword [0x1401e6138]
xor edx, edx
mov r8, rdi
call sub.KERNEL32.dll_HeapFree
mov rcx, qword [0x1401e6138]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
call sub.KERNEL32.dll_GetLastError
mov edx, eax
shl rdx, 0x20
or rdx, 2
mov edi, 1
mov rax, rdi
add rsp, 0x38
pop rbx
pop rdi
pop rsi
pop r14
ret
mov ecx, 8
mov edx, 0x10
call fcn.140002ac0
ud2
Function at 0x1400b50a0
Capabilities:
Generate random numbers via rtlgenrandom

Disassembly:
push rsi
sub rsp, 0x80
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
lea rcx, [rsp + 0x30]
mov edx, 0x10
call sub.ADVAPI32.dll_SystemFunction036
test al, al
je 0x1400b50d6
mov rax, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
add rsp, 0x80
pop rsi
ret
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x28]
mov qword [rsp + 0x40], rax
lea rax, [fcn.1400b0560]
mov qword [rsp + 0x48], rax
lea rax, str.fallback_RNG_broken:
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 1
mov qword [rsp + 0x70], 0
lea rax, [rsp + 0x40]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], 1
lea rdx, str.library_std_src_syswindows_rand.rs
lea rcx, [rsp + 0x50]
call fcn.140004170
ud2

Function at 0x1400b8850
Capabilities:
Connect socket

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x40
mov rbx, r8
mov rsi, rcx
test rdx, rdx
je 0x1400b8872
mov qword [rsi + 8], rbx
mov qword [rsi], 1
jmp 0x1400b893e
mov rax, qword [0x1401e6140]
cmp rax, 3
jne 0x1400b8947
movzx edx, word [rbx]
lea rcx, [rsp + 0x20]
call fcn.1400b3eb0
cmp qword [rsp + 0x20], 0
mov rdi, qword [rsp + 0x28]
je 0x1400b88ad
mov qword [rsi + 8], rdi
mov qword [rsi], 1
jmp 0x1400b893e
cmp word [rbx], 0
je 0x1400b88ce
movups xmm0, xmmword [rbx + 4]
mov eax, dword [rbx + 0x14]
mov edx, dword [rbx + 0x18]
movzx ecx, word [rbx + 0x1c]
mov r8d, 0x1c
mov r9w, 0x17
jmp 0x1400b88e3
mov eax, dword [rbx + 2]
movzx ecx, word [rbx + 6]
mov r8d, 0x10
mov r9w, 2
xorps xmm0, xmm0
rol cx, 8
mov word [rsp + 0x20], r9w
mov word [rsp + 0x22], cx
mov dword [rsp + 0x24], eax
movups xmmword [rsp + 0x28], xmm0
mov dword [rsp + 0x38], edx
lea rdx, [rsp + 0x20]
mov rcx, rdi
call sub.ws2_32.dll_connect
cmp eax, 0xffffffff
je 0x1400b891e
mov qword [rsi + 8], rdi
mov qword [rsi], 0
jmp 0x1400b893e
call sub.ws2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov qword [rsi], 1
mov rcx, rdi
call fcn.14011d184
nop
add rsp, 0x40
pop rbx
pop rdi
pop rsi
ret
call fcn.1400b3320
jmp 0x1400b8883
Function at 0x1400b89a0
Capabilities:
Generate random numbers via winapi
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
sub rsp, 0x30
mov ecx, dword [0x140140110]
test ecx, ecx
je 0x1400b89cd
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jb 0x1400b89e6
cmp qword [rax + 8], 0
je 0x1400b89e6
add rax, 0x10
add rsp, 0x30
pop rsi
ret
lea rcx, [0x1401400f8]
call fcn.14008c7e0
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jae 0x1400b89bc
mov ecx, dword [0x140140110]
test ecx, ecx
je 0x1400b8acd
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x1400b8aea
mov rsi, rax
test rax, rax
jne 0x1400b8a7b
movzx eax, byte [0x1401e61e9]
mov rcx, qword [0x1401e6138]
test rcx, rcx
jne 0x1400b8a38
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x1400b8b05
mov rcx, rax
mov qword [0x1401e6138], rax
mov r8d, 0x20
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x1400b8b05
mov rsi, rax
lea rax, [0x1401400f8]
mov qword [rsi], rax
mov qword [rsi + 8], 0
mov ecx, dword [0x140140110]
test ecx, ecx
je 0x1400b8af2
dec ecx
mov rdx, rsi
call sub.KERNEL32.dll_TlsSetValue
xorps xmm0, xmm0
movaps xmmword [rsp + 0x20], xmm0
lea rdx, [rsp + 0x20]
xor ecx, ecx
mov r8d, 0x10
mov r9d, 2
call sub.bcrypt.dll_BCryptGenRandom
test eax, eax
js 0x1400b8aab
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
jmp 0x1400b8ab3
call fcn.1400b50a0
mov rcx, rax
mov qword [rsi + 8], 1
lea rax, [rsi + 0x10]
mov qword [rsi + 0x10], rcx
mov qword [rsi + 0x18], rdx
add rsp, 0x30
pop rsi
ret
lea rcx, [0x1401400f8]
call fcn.14008c7e0
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jne 0x1400b8a05
xor eax, eax
add rsp, 0x30
pop rsi
ret
lea rcx, [0x1401400f8]
call fcn.14008c7e0
mov ecx, eax
jmp 0x1400b8a73
mov ecx, 8
mov edx, 0x20
call fcn.140002ac0
ud2
Function at 0x1400ba2c0
Capabilities:
Accept command line arguments

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
mov rax, rdx
mov rsi, rcx
lea rdx, [rsp + 0x24]
mov rcx, rax
call sub.shell32.dll_CommandLineToArgvW
test rax, rax
je 0x1400ba3de
mov rdi, rax
mov qword [rsp + 0x40], rsi
movsxd rbp, dword [rsp + 0x24]
mov qword [rsp + 0x28], 8
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
test rbp, rbp
je 0x1400ba3b4
shl rbp, 3
mov r15d, 8
xor esi, esi
lea rbx, [rsp + 0x60]
lea r14, [rsp + 0x48]
xor r12d, r12d
jmp 0x1400ba35e
lea rax, [r12 + r12*2]
mov rcx, qword [rsp + 0x70]
mov qword [r15 + rax*8 + 0x10], rcx
movups xmm0, xmmword [rsp + 0x60]
movups xmmword [r15 + rax*8], xmm0
mov r12, qword [rsp + 0x38]
inc r12
mov qword [rsp + 0x38], r12
add rsi, 8
cmp rbp, rsi
je 0x1400ba3b4
mov r13, qword [rdi + rsi]
mov rcx, r13
call sub.msvcrt.dll_wcslen
lea rax, [rax*2]
add rax, r13
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], rax
mov word [rsp + 0x58], 0
mov rcx, rbx
mov rdx, r14
call fcn.1400bfca0
cmp r12, qword [rsp + 0x30]
jne 0x1400ba330
lea rcx, [rsp + 0x28]
mov rdx, r12
call fcn.1400bab50
mov r15, qword [rsp + 0x28]
mov r12, qword [rsp + 0x38]
jmp 0x1400ba330
mov rcx, rdi
call sub.KERNEL32.dll_LocalFree
test rax, rax
jne 0x1400ba3c6
call sub.KERNEL32.dll_GetLastError
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rsp + 0x28]
movups xmmword [rcx], xmm0
jmp 0x1400ba3ec
mov qword [rsi], 8
xorps xmm0, xmm0
movups xmmword [rsi + 8], xmm0
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
Function at 0x1400d1820
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
movaps xmmword [rsp + 0x30], xmm6
mov rbp, qword [rdx + 0x68]
lock inc qword [rbp]
jle 0x1400d19e5
mov rdi, rdx
mov r13, qword [rdx + 0x70]
lock inc qword [r13]
jle 0x1400d19e5
mov rsi, rcx
mov r15, qword [rdi + 0x78]
mov r14, qword [rdi + 0x88]
mov ebx, 1
mov r12d, 1
test r14, r14
je 0x1400d18bb
js 0x1400d19f8
movzx eax, byte [0x1401e61e9]
mov rcx, qword [0x1401e6138]
test rcx, rcx
jne 0x1400d18a5
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x1400d19e9
mov rcx, rax
mov qword [0x1401e6138], rax
xor edx, edx
mov r8, r14
call sub.KERNEL32.dll_HeapAlloc
mov r12, rax
test rax, rax
je 0x1400d19e9
mov qword [rsp + 0x28], r13
mov rcx, r12
mov rdx, r15
mov r8, r14
call sub.msvcrt.dll_memcpy
mov qword [rsi + 0x78], r12
mov qword [rsi + 0x80], r14
mov qword [rsi + 0x88], r14
mov r15, qword [rdi + 0x10]
mov r14, qword [rdi + 0x20]
test r14, r14
je 0x1400d1934
js 0x1400d19f8
movzx eax, byte [0x1401e61e9]
mov rcx, qword [0x1401e6138]
test rcx, rcx
jne 0x1400d191e
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x1400d19e9
mov rcx, rax
mov qword [0x1401e6138], rax
xor edx, edx
mov r8, r14
call sub.KERNEL32.dll_HeapAlloc
mov rbx, rax
test rax, rax
je 0x1400d19e9
mov rcx, rbx
mov rdx, r15
mov r8, r14
call sub.msvcrt.dll_memcpy
mov r15d, dword [rdi + 0x28]
mov r12d, dword [rdi + 0x3c]
movups xmm6, xmmword [rdi]
movzx r13d, byte [rdi + 0xa8]
lea rcx, [rsi + 0x90]
mov rdx, qword [rdi + 0x90]
mov r8, qword [rdi + 0xa0]
call fcn.1400c44a0
mov eax, dword [rdi + 0x60]
mov rcx, qword [rdi + 0x58]
mov qword [rsi + 0x68], rbp
mov rdx, qword [rsp + 0x28]
mov qword [rsi + 0x70], rdx
movups xmmword [rsi], xmm6
mov qword [rsi + 0x10], rbx
mov qword [rsi + 0x18], r14
mov qword [rsi + 0x20], r14
mov dword [rsi + 0x28], r15d
movups xmm0, xmmword [rdi + 0x2c]
movups xmmword [rsi + 0x2c], xmm0
mov dword [rsi + 0x3c], r12d
movups xmm0, xmmword [rdi + 0x40]
movups xmmword [rsi + 0x40], xmm0
movzx edx, byte [rdi + 0x50]
mov byte [rsi + 0x50], dl
mov edx, dword [rsp + 0x21]
mov r8d, dword [rsp + 0x24]
mov dword [rsi + 0x51], edx
mov dword [rsi + 0x54], r8d
mov byte [rsi + 0xa8], r13b
mov qword [rsi + 0x58], rcx
mov dword [rsi + 0x60], eax
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
ud2
mov ecx, 1
mov rdx, r14
call fcn.140002ac0
ud2
call fcn.140002a80
ud2
Function at 0x1400e3e20
Capabilities:
Send data
Send data on socket

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
test r8, r8
je 0x1400e3e78
mov rdi, r8
mov rbx, rdx
mov r14, qword [rcx]
lea rsi, str.failed_to_write_whole_buffer
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 0x1400e3e7c
test eax, eax
je 0x1400e3e8b
movsxd rcx, eax
cmp rdi, rcx
jb 0x1400e3e98
add rbx, rcx
sub rdi, rcx
jne 0x1400e3e40
xor esi, esi
jmp 0x1400e3e8b
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
lea r8, str._rustc_a28077b28a02b92985b3a3faecf92813155f1ea1library_std_srciomod.rs
mov rdx, rdi
call fcn.1400041b0
ud2
Function at 0x1400e6de0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
mov rax, rcx
add qword [rcx + 0x30], r8
mov r11, qword [rcx + 0x40]
test r11, r11
je 0x1400e6e22
mov r10d, 8
sub r10, r11
cmp r8, r10
mov rdi, r10
cmovb rdi, r8
cmp rdi, 3
jbe 0x1400e6e2a
mov esi, dword [rdx]
mov r9d, 4
mov rcx, r9
or rcx, 1
cmp rcx, rdi
jb 0x1400e6e3b
jmp 0x1400e6e52
xor r10d, r10d
jmp 0x1400e6edd
xor esi, esi
xor r9d, r9d
mov rcx, r9
or rcx, 1
cmp rcx, rdi
jae 0x1400e6e52
movzx ebx, word [rdx + r9]
lea ecx, [r9*8]
shl rbx, cl
or rsi, rbx
or r9, 2
cmp r9, rdi
jae 0x1400e6e69
movzx edi, byte [rdx + r9]
shl r9d, 3
mov ecx, r9d
shl rdi, cl
or rsi, rdi
lea ecx, [r11*8]
shl rsi, cl
or rsi, qword [rax + 0x38]
mov qword [rax + 0x38], rsi
cmp r10, r8
jbe 0x1400e6e89
add r11, r8
jmp 0x1400e6fba
mov r11, qword [rax + 0x18]
mov r9, qword [rax + 0x10]
mov rcx, qword [rax]
add rcx, r9
rol r9, 0xd
xor r11, rsi
xor r9, rcx
rol rcx, 0x20
mov rdi, qword [rax + 8]
add rdi, r11
rol r11, 0x10
xor r11, rdi
add rcx, r11
rol r11, 0x15
xor r11, rcx
add rdi, r9
rol r9, 0x11
mov qword [rax + 0x18], r11
xor r9, rdi
rol rdi, 0x20
rol edi, 0x20
mov qword [rax + 0x10], r9
mov qword [rax + 8], rdi
or byte [rax + 0x31], cl
int1
mov qword [rax], rcx
sub r8, r10
mov r11d, r8d
and r11d, 7
and r8, 0xfffffffffffffff8
cmp r10, r8
jae 0x1400e6f52
mov rcx, qword [rax]
mov r9, qword [rax + 8]
mov rdi, qword [rax + 0x18]
mov rsi, qword [rax + 0x10]
invalid
nop
add rcx, rsi
rol rsi, 0xd
mov rbx, qword [rdx + r10]
xor rsi, rcx
xor esi, ecx
rol rcx, 0x20
xor rdi, rbx
add r9, rdi
rol rdi, 0x10
xor rdi, r9
add rcx, rdi
rol rdi, 0x15
add r9, rsi
rol rsi, 0x11
adc dword [rcx + rsi - 0x32], ecx
rol r9, 0x20
xor rdi, rcx
iretd
xor rcx, rbx
add r10, 8
cmp r10, r8
jb 0x1400e6f00
mov qword [rax + 0x18], rdi
mov qword [rax + 0x10], rsi
mov qword [rax + 8], r9
mov qword [rax], rcx
cmp r11d, 3
jbe 0x1400e6f70
mov r9d, dword [rdx + r10]
mov r8d, 4
add al, 0
add byte [rax], al
mov rcx, r8
or rcx, 1
cmp rcx, r11
jb 0x1400e6f82
jmp 0x1400e6f9c
xor r9d, r9d
xor r8d, r8d
mov rcx, r8
or rcx, 1
cmp rcx, r11
jae 0x1400e6f9c
lea rcx, [r8 + r10]
movzx esi, word [rdx + rcx]
lea ecx, [r8*8]
shl rsi, cl
or r9, rsi
or r8, 2
cmp r8, r11
jae 0x1400e6fb6
add r10, r8
movzx edx, byte [rdx + r10]
shl r8d, 3
mov ecx, r8d
shl rdx, cl
or r9, rdx
mov qword [rax + 0x38], r9
mov qword [rax + 0x40], r11
pop rbx
pop rdi
pop rsi
ret
Function at 0x140100850
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.140100850
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 0x14010095a
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 0x140100930
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 0x14010217d
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 0x1401022f1
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 [0x1401ab660]
sub rsi, rdi
call fcn.140102300
movdqa xmm6, xmm0
pshufb xmm6, xmmword [0x1401ab650]
test rcx, 1
je 0x14010223a
movdqu xmm7, xmmword [rdi]
call fcn.140101980
pxor xmm0, xmm7
paddd xmm6, xmm8
movdqu xmmword [rsi + rdi], xmm0
sub rcx, 1
lea rdi, [rdi + 0x10]
je 0x1401022a6
movdqa xmm14, xmm6
movdqa xmm15, xmm6
paddd xmm15, xmm8
movdqa xmm1, xmmword [0x1401ab650]
movdqa xmm0, xmm14
movdqa xmm6, xmm15
pshufb xmm0, xmm1
pshufb xmm6, xmm1
call fcn.140101ae0
movdqu xmm1, xmmword [rdi]
movdqu xmm2, xmmword [rdi + 0x10]
movdqa xmm3, xmmword [0x1401ab670]
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 0x140102249
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 0x14010b500
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 0x14010b620
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 0x14010b560
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 0x14010b560
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 0x14010b560