joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14009afd0
Capabilities:
Send data
Send data on socket

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rbp
mov qword [r11 + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x50
mov rsi, qword [rdx + 8]
lea r10, [rcx + 0x40]
mov rax, qword [rsp + 0xa0]
mov rbx, rdx
mov qword [rcx + 0x78], rax
xorps xmm0, xmm0
mov eax, dword [rsp + 0x98]
mov ebp, r9d
mov qword [rcx + 0x70], rdx
lea r9, [r11 + 0x38]
mov dword [rcx + 8], 5
mov r14, r8
movups xmmword [r10], xmm0
xor r15d, r15d
mov rdi, rcx
mov qword [r11 - 0x28], r15
mov r8d, ebp
mov qword [r11 - 0x30], r10
mov rdx, r14
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x90]
movups xmmword [r10 + 0x10], xmm0
mov rcx, qword [rbx + 0x70]
mov qword [r11 - 0x40], rax
mov dword [r11 - 0x48], r15d
call qword [sym.imp.WS2_32.dll_WSASendTo]
test eax, eax
jne 0x14009b0ce
test dword [rbx + 0x58], 0x20000
je 0x14009b0e3
mov qword [rdi + 0x60], r15
mov ecx, dword [rbx + 0x7c]
inc dword [rbx + 0x78]
mov rax, qword [rdi + 0x60]
add qword [rbx + 0x60], rax
inc qword [rbx + 0x68]
lea eax, [rcx + 1]
mov dword [rbx + 0x7c], eax
test ecx, ecx
jne 0x14009b09e
mov eax, dword [rbx + 0x58]
test al, 4
jne 0x14009b09e
or eax, 4
mov dword [rbx + 0x58], eax
test al, 8
je 0x14009b09e
mov rax, qword [rbx + 8]
inc dword [rax + 8]
inc dword [rsi + 0x20]
mov qword [rdi + 0x68], r15
mov rax, qword [rsi + 0x48]
test rax, rax
je 0x14009b0c4
mov rax, qword [rax + 0x68]
mov qword [rdi + 0x68], rax
mov rax, qword [rsi + 0x48]
mov qword [rax + 0x68], rdi
mov qword [rsi + 0x48], rdi
jmp 0x14009b128
mov qword [rdi + 0x68], rdi
mov qword [rsi + 0x48], rdi
jmp 0x14009b128
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
je 0x14009b0e3
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
jmp 0x14009b12a
mov edx, ebp
mov rcx, r14
call fcn.140090a30
mov qword [rdi + 0x60], rax
mov ecx, dword [rbx + 0x7c]
inc dword [rbx + 0x78]
mov rax, qword [rdi + 0x60]
add qword [rbx + 0x60], rax
inc qword [rbx + 0x68]
lea eax, [rcx + 1]
mov dword [rbx + 0x7c], eax
test ecx, ecx
jne 0x14009b125
mov eax, dword [rbx + 0x58]
test al, 4
jne 0x14009b125
or eax, 4
mov dword [rbx + 0x58], eax
test al, 8
je 0x14009b125
mov rax, qword [rbx + 8]
inc dword [rax + 8]
inc dword [rsi + 0x20]
xor eax, eax
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x80]
add rsp, 0x50
pop r15
pop r14
pop rdi
ret
Function at 0x14009b860
Capabilities:
Set socket configuration

Disassembly:
push rbx
push rdi
push r12
push r15
sub rsp, 0x48
test dword [rcx + 0x58], 0x2000
mov r15d, r9d
mov r12d, r8d
mov dword [rsp + 0x30], 0
mov rdi, rdx
mov rbx, rcx
je 0x14009b895
xor eax, eax
add rsp, 0x48
pop r15
pop r12
pop rdi
pop rbx
ret
mov qword [rsp + 0x80], rsi
mov esi, r15d
and esi, 1
je 0x14009b8b5
cmp word [rdx], 0x17
je 0x14009b8b5
mov eax, 0x57
jmp 0x14009b9ae
cmp qword [rcx + 0x70], 0xffffffffffffffff
mov qword [rsp + 0x78], rbp
mov qword [rsp + 0x40], r14
jne 0x14009b90e
movzx ecx, word [rdx]
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.WS2_32.dll_socket]
mov rbp, rax
cmp rax, 0xffffffffffffffff
je 0x14009b993
movzx r9d, word [rdi]
mov r8, rax
mov rcx, qword [rbx + 8]
mov rdx, rbx
call fcn.14009bb20
mov r14d, eax
test eax, eax
je 0x14009b90e
mov rcx, rbp
call qword [sym.imp.WS2_32.dll_closesocket]
mov eax, r14d
jmp 0x14009b9a4
test r15b, 4
je 0x14009b943
mov rcx, qword [rbx + 0x70]
lea r9, [rsp + 0x70]
mov edx, 0xffff
mov dword [rsp + 0x70], 1
mov r8d, 4
mov dword [rsp + 0x20], 4
call qword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x14009b993
movzx eax, word [rdi]
cmp ax, 0x17
jne 0x14009b97e
or dword [rbx + 0x58], 0x400000
movzx eax, word [rdi]
cmp ax, 0x17
jne 0x14009b97e
test esi, esi
jne 0x14009b97e
mov rcx, qword [rbx + 0x70]
lea r9, [rsp + 0x30]
lea edx, [rsi + 0x29]
mov dword [rsp + 0x20], 4
lea r8d, [rsi + 0x1b]
call qword [sym.imp.WS2_32.dll_setsockopt]
mov rcx, qword [rbx + 0x70]
mov r8d, r12d
mov rdx, rdi
call qword [sym.imp.WS2_32.dll_bind]
cmp eax, 0xffffffff
jne 0x14009b99b
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
jmp 0x14009b9a4
or dword [rbx + 0x58], 0x2000
xor eax, eax
mov rbp, qword [rsp + 0x78]
mov r14, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x80]
add rsp, 0x48
pop r15
pop r12
pop rdi
pop rbx
ret
Function at 0x14009bb20
Capabilities:
Set socket configuration

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
sub rsp, 0x2d0
mov rax, qword [0x14010bcf8]
xor rax, rsp
mov qword [rsp + 0x2c0], rax
cmp qword [rdx + 0x70], 0xffffffffffffffff
mov esi, r9d
mov rdi, r8
mov dword [rsp + 0x30], 1
mov rbx, rdx
mov rbp, rcx
je 0x14009bb66
mov eax, 0xfffff00e
jmp 0x14009bc4c
lea r8, [rsp + 0x30]
mov edx, 0x8004667e
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_ioctlsocket]
cmp eax, 0xffffffff
jne 0x14009bb89
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
jmp 0x14009bc4c
xor r8d, r8d
mov rcx, rdi
lea edx, [r8 + 1]
call qword [sym.imp.KERNEL32.dll_SetHandleInformation]
test eax, eax
jne 0x14009bba8
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x14009bc4c
mov rdx, qword [rbp + 0x38]
xor r9d, r9d
mov r8, rdi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CreateIoCompletionPort]
test rax, rax
je 0x14009bb9d
lea rax, [rsp + 0x34]
mov dword [rsp + 0x34], 0x274
lea r9, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov edx, 0xffff
mov r8d, 0x2005
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_getsockopt]
cmp eax, 0xffffffff
je 0x14009bb9d
cmp dword [rsp + 0x68], 1
jne 0x14009bc3a
mov dl, 3
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetFileCompletionNotificationModes]
test eax, eax
je 0x14009bc2b
or dword [rbx + 0x58], 0x20000
lea rax, [0x1400a2270]
mov qword [rbx + 0x198], rax
lea rax, [0x1400a2410]
mov qword [rbx + 0x1a0], rax
jmp 0x14009bc3a
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 1
jne 0x14009bb9d
mov qword [rbx + 0x70], rdi
cmp esi, 0x17
jne 0x14009bc4a
or dword [rbx + 0x58], 0x400000
xor eax, eax
mov rcx, qword [rsp + 0x2c0]
xor rcx, rsp
call fcn.1400b06c0
mov rbx, qword [rsp + 0x308]
add rsp, 0x2d0
pop rdi
pop rsi
pop rbp
ret
Function at 0x14009df90
Capabilities:
Manipulate console buffer

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x60
mov rax, qword [0x14010bcf8]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov r14, qword [rsp + 0xb8]
mov esi, r9d
movzx ebp, r8b
mov edi, edx
mov rbx, rcx
cmp dword [r14], 0
je 0x14009dfce
mov eax, 0xffffffff
jmp 0x14009e0f7
mov qword [rsp + 0x58], r12
xor r12d, r12d
mov qword [rsp + 0x50], r15
movzx r15d, byte [rsp + 0xb0]
mov rcx, qword [rbx + 0x110]
lea rdx, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
test eax, eax
jne 0x14009e003
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
movsx eax, word [rsp + 0x34]
mov edx, edi
movsx r8d, word [rsp + 0x38]
movsx r11d, word [rsp + 0x28]
sub r8d, eax
mov eax, dword [0x14010ac20]
inc r8d
movsx r9d, word [rsp + 0x2e]
mov dword [0x14010ac28], r11d
mov dword [0x14010ac24], r8d
cmp eax, 0xffffffff
jne 0x14009e040
mov eax, r9d
jmp 0x14009e04d
mov ecx, r9d
sub ecx, r8d
inc ecx
cmp eax, ecx
cmovl eax, ecx
movsx r10d, word [rsp + 0x2a]
lea ecx, [r8 + rax]
cmp ecx, r10d
jle 0x14009e062
mov eax, r10d
sub eax, r8d
test eax, eax
lea ecx, [r9 + rsi]
cmovs eax, r12d
mov dword [0x14010ac20], eax
test r15b, r15b
jne 0x14009e07a
lea ecx, [rax + rsi]
cmp ecx, eax
jge 0x14009e082
mov ecx, eax
jmp 0x14009e08f
lea r9d, [r8 + rax]
cmp ecx, r9d
jl 0x14009e08f
lea ecx, [r9 - 1]
test bpl, bpl
je 0x14009e09b
movsx edx, word [rsp + 0x2c]
add edx, edi
test edx, edx
jns 0x14009e0a4
mov edx, r12d
jmp 0x14009e0ad
cmp edx, r11d
jl 0x14009e0ad
lea edx, [r11 - 1]
mov word [rsp + 0x22], cx
mov rcx, qword [rbx + 0x110]
mov word [rsp + 0x20], dx
mov edx, dword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
test eax, eax
jne 0x14009e0eb
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x57
je 0x14009dfe4
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14], eax
mov eax, 0xffffffff
jmp 0x14009e0ed
xor eax, eax
mov r12, qword [rsp + 0x58]
mov r15, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.1400b06c0
add rsp, 0x60
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x14009e450
Capabilities:
Log keystrokes
Manipulate console buffer

Disassembly:
push rbx
sub rsp, 0x90
mov rax, qword [0x14010bcf8]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov rbx, rcx
mov ecx, dword [rcx + 0x58]
btr ecx, 0xc
mov eax, ecx
sub dword [rbx + 0x7c], 1
mov dword [rbx + 0x58], ecx
jne 0x14009e49b
test cl, 1
jne 0x14009e49b
test cl, 4
je 0x14009e49b
and eax, 0xfffffffb
mov dword [rbx + 0x58], eax
test al, 8
je 0x14009e49b
mov rax, qword [rbx + 8]
dec dword [rax + 8]
mov eax, dword [rbx + 0x58]
mov qword [rsp + 0xa8], rbp
mov qword [rsp + 0x88], rdi
bt eax, 0x10
jae 0x14009e52d
bt eax, 0x19
jae 0x14009e4f6
mov rcx, qword [rbx + 0x110]
lea r9, [rsp + 0x40]
xor eax, eax
lea rdx, [rsp + 0x60]
mov dword [rsp + 0x70], eax
xorps xmm0, xmm0
mov eax, reloc.WS2_32.dll_recv
movups xmmword [rsp + 0x60], xmm0
mov word [rsp + 0x60], ax
lea r8d, [rax - 0xf]
call qword [sym.imp.KERNEL32.dll_WriteConsoleInputW]
test eax, eax
jne 0x14009e52d
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x14009e52f
bt eax, 0x15
jb 0x14009e52d
lea rcx, [0x14010d248]
xor edi, edi
call fcn.14009a720
mov eax, 2
xchg dword [0x14010d200], eax
cmp eax, 1
je 0x14009e555
lea rcx, [0x14010d248]
call fcn.14009a6f0
or dword [rbx + 0x58], 0x200000
xor eax, eax
mov rdi, qword [rsp + 0x88]
mov rbp, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.1400b06c0
add rsp, 0x90
pop rbx
ret
xor r9d, r9d
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0xb0], rsi
lea rcx, str.conout_
mov dword [rsp + 0x28], 0x80
mov edx, 0xc0000000
mov qword [rsp + 0x80], r14
lea r8d, [r9 + 3]
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rsi, rax
cmp rax, 0xffffffffffffffff
je 0x14009e5b8
lea rdx, [0x14010d208]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
test eax, eax
je 0x14009e5b8
lock or dword [0x14010d204], 1
mov ebp, 1
mov dword [rsp + 0x50], 0xd0001
mov r14d, reloc.WS2_32.dll_listen
mov word [rsp + 0x48], bp
mov ecx, r14d
mov dword [rsp + 0x4c], ebp
xor edx, edx
call qword [sym.imp.USER32.dll_MapVirtualKeyW]
mov rcx, qword [rbx + 0x110]
lea r9, [rsp + 0x44]
mov r8d, ebp
mov word [rsp + 0x54], ax
lea rdx, [rsp + 0x48]
mov word [rsp + 0x56], r14w
mov dword [rsp + 0x58], edi
call qword [sym.imp.KERNEL32.dll_WriteConsoleInputW]
mov r14, qword [rsp + 0x80]
test eax, eax
jne 0x14009e61c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
cmp rsi, 0xffffffffffffffff
je 0x14009e62b
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rsi, qword [rsp + 0xb0]
test edi, edi
je 0x14009e526
mov eax, edi
jmp 0x14009e52f
Function at 0x1400a1080
Capabilities:
Get system information on windows

Disassembly:
sub rsp, 0x58
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rsp + 0x48]
lea rcx, [0x14010d2c0]
mov dword [0x14010d2e8], eax
call fcn.14009a5d0
test eax, eax
jne 0x1400a10dd
lea rax, [0x1403952f8]
mov edx, 0x100
lea rcx, [0x14010d2f0]
xor r8d, r8d
nop
mov qword [rax], rcx
add rcx, 0x2880
mov qword [rax - 8], r8
lea rax, [rax + 0x10]
sub rdx, 1
jne 0x1400a10c0
add rsp, 0x58
ret
lea rdx, str.uv_mutex_init
mov ecx, eax
call fcn.14009c120
int3
Function at 0x1400a20b0
Capabilities:
Initialize winsock library

Disassembly:
sub rsp, 0x478
mov rax, qword [0x14010bcf8]
xor rax, rsp
mov qword [rsp + 0x460], rax
lea r8, [0x140398980]
xor edx, edx
lea rcx, [0x1400dd5b0]
call fcn.140091350
test eax, eax
jne 0x1400a224d
lea r8, [0x140398960]
xor edx, edx
lea rcx, [0x1400e16c0]
call fcn.1400913a0
test eax, eax
jne 0x1400a224d
lea ecx, [rax + 0x43]
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cmp eax, 1
je 0x1400a2235
mov ecx, 0x202
lea rdx, [rsp + 0x2c0]
call qword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x1400a2253
mov qword [rsp + 0x480], rbx
lea edx, [rax + 1]
xor r8d, r8d
mov qword [rsp + 0x470], rdi
lea ecx, [rax + 2]
mov dword [0x140398994], 1
call qword [sym.imp.WS2_32.dll_socket]
xor edi, edi
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x1400a21b3
lea rax, [rsp + 0x30]
mov dword [rsp + 0x30], 0x274
lea r9, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov edx, 0xffff
mov r8d, 0x2005
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_getsockopt]
test eax, eax
jne 0x1400a21aa
mov eax, dword [0x140398994]
test dword [rsp + 0x40], 0x20000
cmovne eax, edi
mov dword [0x140398994], eax
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_closesocket]
xor r8d, r8d
mov dword [0x140398990], 1
lea edx, [r8 + 1]
lea ecx, [rdx + 0x16]
call qword [sym.imp.WS2_32.dll_socket]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x1400a2225
lea rax, [rsp + 0x30]
mov dword [rsp + 0x30], 0x274
lea r9, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov edx, 0xffff
mov r8d, 0x2005
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_getsockopt]
test eax, eax
jne 0x1400a221c
mov eax, dword [0x140398990]
test dword [rsp + 0x40], 0x20000
cmovne eax, edi
mov dword [0x140398990], eax
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_closesocket]
mov rbx, qword [rsp + 0x480]
mov rdi, qword [rsp + 0x470]
mov rcx, qword [rsp + 0x460]
xor rcx, rsp
call fcn.1400b06c0
add rsp, 0x478
ret
call fcn.1400b9db8
int3
lea rdx, str.WSAStartup
mov ecx, eax
call fcn.14009c120
int3

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

Disassembly:
mov rax, rdi
mov r11, rsi
mov rdi, rcx
mov rsi, rdx
mov rdx, r8
mov rcx, r9
mov r8, qword [rsp + 0x28]
mov r9d, dword [rsp + 0x30]
mov r10, rcx
shr rcx, 4
shl r10, 0x3c
je 0x1400a7a0d
add rcx, 1
sub rsi, 0x10
movdqa xmm1, xmmword [rdx]
pxor xmm1, xmmword [rdi]
pxor xmm1, xmmword [r8]
add rsi, 0x10
add rdi, 0x10
cmp r9d, 0xc
aesenc xmm1, xmmword [r8 + 0x10]
aesenc xmm1, xmmword [r8 + 0x20]
aesenc xmm1, xmmword [r8 + 0x30]
aesenc xmm1, xmmword [r8 + 0x40]
aesenc xmm1, xmmword [r8 + 0x50]
aesenc xmm1, xmmword [r8 + 0x60]
aesenc xmm1, xmmword [r8 + 0x70]
aesenc xmm1, xmmword [r8 + 0x80]
aesenc xmm1, xmmword [r8 + 0x90]
movdqa xmm2, xmmword [r8 + 0xa0]
jb 0x1400a7aba
cmp r9d, 0xe
aesenc xmm1, xmmword [r8 + 0xa0]
aesenc xmm1, xmmword [r8 + 0xb0]
movdqa xmm2, xmmword [r8 + 0xc0]
jb 0x1400a7aba
aesenc xmm1, xmmword [r8 + 0xc0]
aesenc xmm1, xmmword [r8 + 0xd0]
movdqa xmm2, xmmword [r8 + 0xe0]
dec rcx
aesenclast xmm1, xmm2
movdqu xmmword [rsi], xmm1
jne 0x1400a7a15
mov rdi, rax
mov rsi, r11
ret
Function at 0x1400a904d
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
mov rax, rdi
mov r11, rsi
mov rdi, rcx
mov rsi, rdx
mov dword [rsi + 0xf0], 0xa
movdqu xmm1, xmmword [rdi]
movdqa xmmword [rsi], xmm1
aeskeygenassist xmm2, xmm1, 1
call fcn.1400a911b
movdqa xmmword [rsi + 0x10], xmm1
aeskeygenassist xmm2, xmm1, 2
call fcn.1400a911b
movdqa xmmword [rsi + 0x20], xmm1
aeskeygenassist xmm2, xmm1, 4
call fcn.1400a911b
movdqa xmmword [rsi + 0x30], xmm1
aeskeygenassist xmm2, xmm1, 8
call fcn.1400a911b
movdqa xmmword [rsi + 0x40], xmm1
aeskeygenassist xmm2, xmm1, 0x10
call fcn.1400a911b
movdqa xmmword [rsi + 0x50], xmm1
aeskeygenassist xmm2, xmm1, 0x20
call fcn.1400a911b
movdqa xmmword [rsi + 0x60], xmm1
aeskeygenassist xmm2, xmm1, 0x40
call fcn.1400a911b
movdqa xmmword [rsi + 0x70], xmm1
aeskeygenassist xmm2, xmm1, 0x80
call fcn.1400a911b
movdqa xmmword [rsi + 0x80], xmm1
aeskeygenassist xmm2, xmm1, 0x1b
call fcn.1400a911b
movdqa xmmword [rsi + 0x90], xmm1
aeskeygenassist xmm2, xmm1, 0x36
call fcn.1400a911b
movdqa xmmword [rsi + 0xa0], xmm1
mov rdi, rax
mov rsi, r11
ret

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

Disassembly:
mov rax, rdi
mov r11, rsi
mov rdi, rcx
mov rsi, rdx
sub rsp, 0x18
movdqa xmmword [rsp], xmm6
movdqu xmm1, xmmword [rdi]
movq xmm3, qword [rdi + 0x10]
movdqa xmmword [rsi], xmm1
movdqa xmm5, xmm3
aeskeygenassist xmm2, xmm3, 1
call fcn.1400a9269
shufpd xmm5, xmm1, 0
movdqa xmmword [rsi + 0x10], xmm5
movdqa xmm6, xmm1
shufpd xmm6, xmm3, 1
movdqa xmmword [rsi + 0x20], xmm6
aeskeygenassist xmm2, xmm3, 2
call fcn.1400a9269
movdqa xmmword [rsi + 0x30], xmm1
movdqa xmm5, xmm3
aeskeygenassist xmm2, xmm3, 4
call fcn.1400a9269
shufpd xmm5, xmm1, 0
movdqa xmmword [rsi + 0x40], xmm5
movdqa xmm6, xmm1
shufpd xmm6, xmm3, 1
movdqa xmmword [rsi + 0x50], xmm6
aeskeygenassist xmm2, xmm3, 8
call fcn.1400a9269
movdqa xmmword [rsi + 0x60], xmm1
movdqa xmm5, xmm3
aeskeygenassist xmm2, xmm3, 0x10
call fcn.1400a9269
shufpd xmm5, xmm1, 0
movdqa xmmword [rsi + 0x70], xmm5
movdqa xmm6, xmm1
shufpd xmm6, xmm3, 1
movdqa xmmword [rsi + 0x80], xmm6
aeskeygenassist xmm2, xmm3, 0x20
call fcn.1400a9269
movdqa xmmword [rsi + 0x90], xmm1
movdqa xmm5, xmm3
aeskeygenassist xmm2, xmm3, 0x40
call fcn.1400a9269
shufpd xmm5, xmm1, 0
movdqa xmmword [rsi + 0xa0], xmm5
movdqa xmm6, xmm1
shufpd xmm6, xmm3, 1
movdqa xmmword [rsi + 0xb0], xmm6
aeskeygenassist xmm2, xmm3, 0x80
call fcn.1400a9269
movdqa xmmword [rsi + 0xc0], xmm1
movdqa xmmword [rsi + 0xd0], xmm3
mov rdi, rax
mov rsi, r11
movdqa xmm6, xmmword [rsp]
add rsp, 0x18
ret
Function at 0x1400a92a8
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
mov rax, rdi
mov r11, rsi
mov rdi, rcx
mov rsi, rdx
movdqu xmm1, xmmword [rdi]
movdqu xmm3, xmmword [rdi + 0x10]
movdqa xmmword [rsi], xmm1
movdqa xmmword [rsi + 0x10], xmm3
aeskeygenassist xmm2, xmm3, 1
call fcn.1400a93b2
movdqa xmmword [rsi + 0x20], xmm1
aeskeygenassist xmm2, xmm1, 0
call fcn.1400a93db
movdqa xmmword [rsi + 0x30], xmm3
aeskeygenassist xmm2, xmm3, 2
call fcn.1400a93b2
movdqa xmmword [rsi + 0x40], xmm1
aeskeygenassist xmm2, xmm1, 0
call fcn.1400a93db
movdqa xmmword [rsi + 0x50], xmm3
aeskeygenassist xmm2, xmm3, 4
call fcn.1400a93b2
movdqa xmmword [rsi + 0x60], xmm1
aeskeygenassist xmm2, xmm1, 0
call fcn.1400a93db
movdqa xmmword [rsi + 0x70], xmm3
aeskeygenassist xmm2, xmm3, 8
call fcn.1400a93b2
movdqa xmmword [rsi + 0x80], xmm1
aeskeygenassist xmm2, xmm1, 0
call fcn.1400a93db
movdqa xmmword [rsi + 0x90], xmm3
aeskeygenassist xmm2, xmm3, 0x10
call fcn.1400a93b2
movdqa xmmword [rsi + 0xa0], xmm1
aeskeygenassist xmm2, xmm1, 0
call fcn.1400a93db
movdqa xmmword [rsi + 0xb0], xmm3
aeskeygenassist xmm2, xmm3, 0x20
call fcn.1400a93b2
movdqa xmmword [rsi + 0xc0], xmm1
aeskeygenassist xmm2, xmm1, 0
call fcn.1400a93db
movdqa xmmword [rsi + 0xd0], xmm3
aeskeygenassist xmm2, xmm3, 0x40
call fcn.1400a93b2
movdqa xmmword [rsi + 0xe0], xmm1
mov rdi, rax
mov rsi, r11
ret
Function at 0x1400ac2d0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x248
mov rax, qword [0x14010bcf8]
xor rax, rsp
mov qword [rsp + 0x230], rax
mov qword [rsp + 0x20], reloc.WS2_32.dll_recv
mov dword [rsp + 4], 0
mov dword [rsp + 0x18], 0
mov dword [rsp + 0x10], 0
mov dword [rsp + 8], 0
jmp 0x1400ac32c
mov eax, dword [rsp + 8]
inc eax
mov dword [rsp + 8], eax
cmp dword [rsp + 8], 0x100
jge 0x1400ac36d
movsxd rax, dword [rsp + 8]
movzx ecx, byte [rsp + 8]
mov byte [rsp + rax + 0x30], cl
movsxd rax, dword [rsp + 8]
xor edx, edx
div qword [rsp + 0x20]
mov rax, rdx
movsxd rcx, dword [rsp + 8]
mov rdx, qword [rsp + 0x260]
movzx eax, byte [rdx + rax]
mov byte [rsp + rcx + 0x130], al
jmp 0x1400ac322
mov dword [rsp + 0xc], 0
jmp 0x1400ac381
mov eax, dword [rsp + 0xc]
inc eax
mov dword [rsp + 0xc], eax
cmp dword [rsp + 0xc], 0x100
jge 0x1400ac3ef
movsxd rax, dword [rsp + 0xc]
movzx eax, byte [rsp + rax + 0x30]
mov ecx, dword [rsp + 4]
add ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0xc]
movzx ecx, byte [rsp + rcx + 0x130]
add eax, ecx
cdq
and edx, 0xff
add eax, edx
and eax, 0xff
sub eax, edx
mov dword [rsp + 4], eax
movsxd rax, dword [rsp + 4]
movzx eax, byte [rsp + rax + 0x30]
mov byte [rsp], al
movsxd rax, dword [rsp + 0xc]
movsxd rcx, dword [rsp + 4]
movzx eax, byte [rsp + rax + 0x30]
mov byte [rsp + rcx + 0x30], al
movsxd rax, dword [rsp + 0xc]
movzx ecx, byte [rsp]
mov byte [rsp + rax + 0x30], cl
jmp 0x1400ac377
mov dword [rsp + 4], 0
mov dword [rsp + 0x14], 0
jmp 0x1400ac40b
mov eax, dword [rsp + 0x14]
inc eax
mov dword [rsp + 0x14], eax
mov eax, dword [rsp + 0x258]
cmp dword [rsp + 0x14], eax
jge 0x1400ac4e5
mov eax, dword [rsp + 0x10]
inc eax
cdq
and edx, 0xff
add eax, edx
and eax, 0xff
sub eax, edx
mov dword [rsp + 0x10], eax
movsxd rax, dword [rsp + 0x10]
movzx eax, byte [rsp + rax + 0x30]
mov ecx, dword [rsp + 4]
add ecx, eax
mov eax, ecx
cdq
and edx, 0xff
add eax, edx
and eax, 0xff
sub eax, edx
mov dword [rsp + 4], eax
movsxd rax, dword [rsp + 4]
movzx eax, byte [rsp + rax + 0x30]
mov byte [rsp], al
movsxd rax, dword [rsp + 0x10]
movsxd rcx, dword [rsp + 4]
movzx eax, byte [rsp + rax + 0x30]
mov byte [rsp + rcx + 0x30], al
movsxd rax, dword [rsp + 0x10]
movzx ecx, byte [rsp]
mov byte [rsp + rax + 0x30], cl
movsxd rax, dword [rsp + 0x10]
movzx eax, byte [rsp + rax + 0x30]
movsxd rcx, dword [rsp + 4]
movzx ecx, byte [rsp + rcx + 0x30]
add eax, ecx
cdq
and edx, 0xff
add eax, edx
and eax, 0xff
sub eax, edx
mov dword [rsp + 0x18], eax
movsxd rax, dword [rsp + 0x14]
mov rcx, qword [rsp + 0x250]
movzx eax, byte [rcx + rax]
movsxd rcx, dword [rsp + 0x18]
movzx ecx, byte [rsp + rcx + 0x30]
xor eax, ecx
movsxd rcx, dword [rsp + 0x14]
mov rdx, qword [rsp + 0x250]
mov byte [rdx + rcx], al
jmp 0x1400ac401
mov rcx, qword [rsp + 0x230]
xor rcx, rsp
call fcn.1400b06c0
add rsp, 0x248
ret
Function at 0x1400ade20
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov byte [rsp + 0x18], r8b
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x1d0
mov rax, qword [0x14010bcf8]
xor rax, rsp
mov qword [rsp + 0x1c0], rax
mov rax, qword [rsp + 0x1e8]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x1e8]
add rax, qword [rcx + 0x10]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x1e8]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x80]
mov rdi, rax
xor eax, eax
mov ecx, 0x40
rep stosb byte [rdi], al
mov rax, qword [rsp + 0x1e0]
add rax, 0x84
mov r8d, 0x40
mov rdx, rax
lea rcx, [rsp + 0x80]
call fcn.1400b14c0
mov eax, 4
imul rax, rax, 0
mov eax, dword [rsp + rax + 0x80]
xor rax, qword [rsp + 0x38]
mov ecx, 4
imul rcx, rcx, 0
mov dword [rsp + rcx + 0x80], eax
lea rax, [rsp + 0xc0]
mov rdi, rax
xor eax, eax
mov ecx, 0x100
rep stosb byte [rdi], al
mov qword [rsp + 0x30], 0
jmp 0x1400adeff
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], 4
jae 0x1400adf49
imul rax, qword [rsp + 0x30], 0x10
lea rax, [rsp + rax*4 + 0xc0]
lea rdx, [rsp + 0x80]
mov rcx, rax
call fcn.1400aa7c0
mov eax, 4
imul rax, rax, 0
mov eax, dword [rsp + rax + 0x80]
inc eax
mov ecx, 4
imul rcx, rcx, 0
mov dword [rsp + rcx + 0x80], eax
jmp 0x1400adef2
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x60], 0x100
xor edx, edx
mov rax, qword [rsp + 0x60]
mov ecx, 2
div rcx
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x28], 0
jmp 0x1400adf8b
mov rax, qword [rsp + 0x28]
inc rax
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x38]
cmp qword [rsp + 0x28], rax
jae 0x1400ae04e
movzx eax, byte [rsp + 0x1f0]
test eax, eax
je 0x1400adfbb
mov rax, qword [rsp + 0x38]
dec rax
sub rax, qword [rsp + 0x28]
mov qword [rsp + 0x50], rax
jmp 0x1400adfc5
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x48], rax
xor edx, edx
mov rax, qword [rsp + 0x48]
div qword [rsp + 0x68]
mov rax, rdx
mov rcx, qword [rsp + 0x70]
movzx eax, word [rcx + rax*2]
xor edx, edx
div qword [rsp + 0x38]
mov rax, rdx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
add rcx, rax
mov rax, rcx
movzx eax, byte [rax]
mov byte [rsp + 0x20], al
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x40]
add rdx, rcx
mov rcx, rdx
movzx ecx, byte [rcx]
mov byte [rax], cl
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x40]
add rcx, rax
mov rax, rcx
movzx ecx, byte [rsp + 0x20]
mov byte [rax], cl
jmp 0x1400adf7e
mov rcx, qword [rsp + 0x1c0]
xor rcx, rsp
call fcn.1400b06c0
add rsp, 0x1d0
pop rdi
ret