joyce8/EMBER2024-capa huggingface dataset:
Function at 0x180013bec
Capabilities:
Read file on windows

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
push rdi
sub rsp, 0x40
and dword [rax + 0x20], 0
and dword [rax - 0x18], 0
xor ebx, ebx
and qword [rax - 0x28], rbx
mov edi, r8d
mov rbp, rdx
lea r8d, [rbx + 4]
lea r9, [rax + 0x20]
lea rdx, [rax - 0x18]
mov rsi, rcx
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x180013c79
cmp dword [rsp + 0x68], 4
jne 0x180013c79
mov eax, dword [rsp + 0x30]
cmp eax, edi
jg 0x180013c79
test eax, eax
jle 0x180013c75
and qword [rsp + 0x20], 0
sub eax, ebx
movsxd rdx, ebx
lea r9, [rsp + 0x68]
mov rcx, rsi
add rdx, rbp
mov r8d, eax
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x180013c79
mov eax, dword [rsp + 0x68]
test eax, eax
je 0x180013c79
add ebx, eax
mov eax, dword [rsp + 0x30]
cmp ebx, eax
jl 0x180013c40
mov eax, ebx
jmp 0x180013c7c
or eax, 0xffffffff
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
ret

Function at 0x180013d34
Capabilities:
Write file on windows

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov dword [rax + 0x18], r8d
push rsi
push rdi
push r14
sub rsp, 0x30
xor ebx, ebx
mov rsi, rdx
lea r9, [rax + 0x20]
and dword [rax + 0x20], ebx
and qword [rax - 0x28], rbx
lea rdx, [rax + 0x18]
lea r8d, [rbx + 4]
mov rdi, rcx
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov r8d, eax
test eax, eax
jne 0x180013d73
xor eax, eax
jmp 0x180013dc3
cmp dword [rsp + 0x68], 4
jne 0x180013dc3
mov eax, dword [rsp + 0x60]
test eax, eax
je 0x180013dc0
mov r14d, 0x2000
sub eax, ebx
mov edx, ebx
lea r9, [rsp + 0x68]
cmp eax, r14d
mov rcx, rdi
cmova eax, r14d
and qword [rsp + 0x20], 0
add rdx, rsi
mov r8d, eax
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov r8d, eax
test eax, eax
je 0x180013d6f
add ebx, dword [rsp + 0x68]
mov eax, dword [rsp + 0x60]
cmp ebx, eax
jb 0x180013d88
mov eax, r8d
mov rbx, qword [rsp + 0x50]
add rsp, 0x30
pop r14
pop rdi
pop rsi
ret
Function at 0x180013dd4
Capabilities:
Get hostname
Get session user name

Disassembly:
mov qword [rsp + 0x10], rbx
mov dword [rsp + 0x18], r8d
mov dword [rsp + 8], ecx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov ecx, 0x294
mov r14, rdx
call fcn.180013f54
mov edi, __WSAFDIsSet
mov rcx, rax
mov edx, edi
mov r12, rax
call fcn.180014038
lea ebx, [rdi + 0x6c]
mov rcx, r12
mov edx, ebx
mov rsi, rax
call fcn.180014038
mov edx, ebx
mov rcx, r12
mov r13, rax
call fcn.180014038
lea rdx, [rsp + 0xb8]
mov rcx, rax
mov r15, rax
mov dword [rsp + 0xb8], ebx
call qword [sym.imp.ADVAPI32.dll_GetUserNameA]
call fcn.180017494
test eax, eax
je 0x180013e68
lea r8, [0x18002b308]
mov r9d, 2
mov edx, ebx
mov rcx, r15
call fcn.18001c4f0
lea rdx, [rsp + 0xb8]
mov rcx, r13
mov dword [rsp + 0xb8], ebx
call qword [sym.imp.KERNEL32.dll_GetComputerNameA]
mov r8, rdi
xor edx, edx
mov rcx, rsi
call fcn.18001b160
mov rcx, rsi
mov dword [rsi], edi
call qword [sym.imp.KERNEL32.dll_GetVersionExA]
call fcn.180011264
test eax, eax
jne 0x180013eb7
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
call fcn.18001121c
test eax, eax
jne 0x180013eb7
xor ebp, ebp
jmp 0x180013ebc
mov ebp, 1
call fcn.180011264
mov ebx, eax
call fcn.18000e1ec
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ecx, dword [rsi + 8]
movsxd rdx, dword [rsp + 0xb0]
mov r9d, dword [rsp + 0xa0]
mov dword [rsp + 0x58], ebx
mov dword [rsp + 0x50], ebp
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsi + 4]
mov dword [rsp + 0x28], ecx
lea r8, str._d_t_d_t_d._d_t_s_t_s_t_s_t_d_t_d
mov rcx, r14
mov dword [rsp + 0x20], eax
call fcn.18001a12c
or rbx, 0xffffffffffffffff
inc rbx
cmp byte [r14 + rbx], 0
jne 0x180013f1d
mov eax, 0x5d
mov rcx, r12
cmp ebx, eax
cmovg ebx, eax
call fcn.180013fd0
mov eax, ebx
mov rbx, qword [rsp + 0xa8]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x180014298
Capabilities:
Connect socket
Resolve dns
Set socket configuration

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x350]
sub rsp, 0x450
mov rax, qword [0x18003b2e0]
xor rax, rsp
mov qword [rbp + 0x340], rax
mov rdi, rcx
mov ecx, dword [rcx]
mov r12d, 4
mov rsi, r8
mov ebx, edx
mov dword [rsp + 0x24], 1
mov dword [rsp + 0x20], ecx
add rdi, r12
call qword [sym.imp.WS2_32.dll_ntohl]
movzx ecx, word [rdi]
lea r13d, [r12 - 2]
sub ebx, 6
mov r14d, eax
add rdi, r13
call qword [sym.imp.WS2_32.dll_ntohs]
movzx r15d, ax
mov eax, 0x3ff
lea rcx, [rsp + 0x40]
cmp ebx, eax
mov rdx, rdi
cmovge ebx, eax
movsxd rbx, ebx
mov r8, rbx
call fcn.18001ac60
cmp rbx, 0x400
jae 0x18001442f
mov byte [rsp + rbx + 0x40], 0
call fcn.18000e44c
lea edx, [r12 - 3]
xor r8d, r8d
mov ecx, r13d
call qword [sym.imp.WS2_32.dll_socket]
or rdi, 0xffffffffffffffff
mov rbx, rax
cmp rax, rdi
jne 0x180014399
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_closesocket]
lea rcx, [rsp + 0x20]
mov r8d, r12d
mov edx, r12d
call rsi
mov rcx, qword [rbp + 0x340]
xor rcx, rsp
call fcn.18001ac30
mov rbx, qword [rsp + 0x4a8]
add rsp, 0x450
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rcx, [rsp + 0x40]
call qword [sym.imp.WS2_32.dll_gethostbyname]
test rax, rax
jne 0x1800143ae
mov rcx, rbx
jmp 0x18001435c
mov rdx, qword [rax + 0x18]
movsx r8, word [rax + 0x12]
lea rcx, [rsp + 0x2c]
mov rdx, qword [rdx]
call fcn.18001ac60
movzx ecx, r15w
mov word [rsp + 0x28], r13w
call qword [sym.imp.WS2_32.dll_htons]
lea r8, [rsp + 0x24]
mov edx, 0x8004667e
mov rcx, rbx
mov word [rsp + 0x2a], ax
call qword [sym.imp.WS2_32.dll_ioctlsocket]
mov rcx, rbx
cmp eax, edi
je 0x18001435c
lea rdx, [rsp + 0x28]
mov r8d, reloc.WS2_32.dll_recv
call qword [sym.imp.WS2_32.dll_connect]
cmp eax, edi
jne 0x180014419
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x1800143a9
mov r8d, 0x7530
mov edx, r14d
mov rcx, rbx
call fcn.18001423c
jmp 0x18001436f
call fcn.18001b61c
int3
Function at 0x1800145f0
Capabilities:
Set socket configuration

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0x40
mov rax, qword [0x18003b2e0]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov ebx, 1
mov edi, edx
mov esi, ecx
mov dword [rsp + 0x20], ebx
call fcn.18000e44c
lea r14d, [rbx + 1]
mov ecx, r14d
xor r8d, r8d
mov edx, ebx
call qword [sym.imp.WS2_32.dll_socket]
or rbp, 0xffffffffffffffff
mov rbx, rax
cmp rax, rbp
jne 0x180014646
mov rax, rbp
jmp 0x1800146ad
movzx ecx, si
mov word [rsp + 0x28], r14w
call qword [sym.imp.WS2_32.dll_htons]
and dword [rsp + 0x2c], 0
lea r8, [rsp + 0x20]
mov edx, 0x8004667e
mov rcx, rbx
mov word [rsp + 0x2a], ax
call qword [sym.imp.WS2_32.dll_ioctlsocket]
mov rcx, rbx
cmp eax, ebp
jne 0x180014681
call qword [sym.imp.WS2_32.dll_closesocket]
jmp 0x180014641
lea rdx, [rsp + 0x28]
mov r8d, reloc.WS2_32.dll_recv
call qword [sym.imp.WS2_32.dll_bind]
mov rcx, rbx
cmp eax, ebp
je 0x180014679
mov edx, edi
call qword [sym.imp.WS2_32.dll_listen]
cmp eax, ebp
jne 0x1800146aa
mov rcx, rbx
jmp 0x180014679
mov rax, rbx
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.18001ac30
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
add rsp, 0x40
pop r14
pop rdi
pop rsi
ret

Function at 0x1800146ec
Capabilities:
Check for time delay via gettickcount

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
call fcn.180014714
mov rcx, rbx
call fcn.180014990
test eax, eax
jg 0x1800146fa
mov rcx, rbx
add rsp, 0x20
pop rbx
jmp 0x180014a9c
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rbx, qword [0x18003cfa0]
xor edi, edi
test rbx, rbx
je 0x180014b3a
mov eax, dword [rbx + 4]
test eax, eax
jne 0x180014acd
cmp dword [rbx + 0xc], eax
jne 0x180014ad6
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rbx + 0xc], eax
mov rdi, rbx
mov rbx, qword [rbx + 0x28]
jmp 0x180014aaf
test eax, eax
jne 0x180014acd
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [rbx + 0xc]
cmp eax, 0x3e8
jbe 0x180014acd
cmp dword [rbx + 0x10], 0
jne 0x180014aff
mov rcx, qword [rbx + 0x20]
mov edx, 2
call qword [sym.imp.WS2_32.dll_shutdown]
mov rcx, qword [rbx + 0x20]
call qword [sym.imp.WS2_32.dll_closesocket]
test eax, eax
je 0x180014b13
cmp dword [rbx + 0x10], 2
je 0x180014acd
mov rax, qword [rbx + 0x28]
mov rcx, rbx
test rdi, rdi
je 0x180014b2e
mov qword [rdi + 0x28], rax
call fcn.18001aaa0
mov rbx, qword [rdi + 0x28]
jmp 0x180014aaf
mov qword [0x18003cfa0], rax
call fcn.18001aaa0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x180014714
Capabilities:
Get socket status

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r15
lea rbp, [rax - 0x5b8]
sub rsp, 0x6a0
mov rax, qword [0x18003b2e0]
xor rax, rsp
mov qword [rbp + 0x590], rax
mov rdi, qword [0x18003cfa0]
and dword [rsp + 0x30], 0
and dword [rsp + 0x38], 0
mov rsi, rcx
mov dword [rsp + 0x3c], 0x64
test rdi, rdi
je 0x180014961
mov r12d, 1
lea r15d, [r12 + 3]
cmp dword [rdi + 4], 2
jne 0x180014954
mov ecx, dword [rdi]
call qword [sym.imp.WS2_32.dll_htonl]
and dword [rbp + 0x380], 0
and dword [rbp + 0x170], 0
and dword [rsp + 0x60], 0
mov dword [rsp + 0x30], eax
mov rax, qword [rdi + 0x20]
mov qword [rbp + 0x388], rax
mov dword [rbp + 0x380], r12d
mov rax, qword [rdi + 0x20]
mov qword [rbp + 0x178], rax
mov dword [rbp + 0x170], r12d
mov rax, qword [rdi + 0x20]
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x38]
lea r9, [rbp + 0x170]
lea r8, [rbp + 0x380]
lea rdx, [rsp + 0x60]
xor ecx, ecx
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x60], r12d
call qword [sym.imp.WS2_32.dll_select]
cmp dword [rdi + 0x10], 2
mov rcx, qword [rdi + 0x20]
jne 0x1800148ab
lea rdx, [rsp + 0x60]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x180014954
mov rcx, qword [rdi + 0x20]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.WS2_32.dll_accept]
mov rbx, rax
call fcn.1800146d0
xor r9d, r9d
mov r8d, 0x2bf20
mov rcx, rbx
mov edx, eax
mov dword [rsp + 0x28], r12d
and dword [rsp + 0x20], 0
mov dword [rsp + 0x30], eax
call fcn.18001419c
lea rcx, [rsp + 0x40]
mov edx, 0x80
call fcn.18000d4c8
mov edx, dword [rsp + 0x30]
lea rcx, [rsp + 0x40]
call fcn.18000d510
mov edx, dword [rdi + 0x14]
lea rcx, [rsp + 0x40]
call fcn.18000d510
lea rcx, [rsp + 0x40]
call fcn.18000d540
lea rcx, [rsp + 0x40]
mov ebx, eax
call fcn.18000d5a4
mov r8d, reloc.WS2_32.dll_socket
mov rcx, rax
mov edx, ebx
call rsi
lea rcx, [rsp + 0x40]
call fcn.18000d4a4
jmp 0x180014954
lea rdx, [rbp + 0x170]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
jne 0x180014943
mov rcx, qword [rdi + 0x20]
lea rdx, [rbp + 0x380]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x1800148df
mov dword [rdi + 4], r12d
mov r8d, 6
jmp 0x18001494a
mov rcx, qword [rdi + 0x20]
lea rdx, [rsp + 0x60]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x180014935
mov rbx, qword [rdi + 0x20]
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_accept]
mov edx, r15d
lea rcx, [rsp + 0x30]
mov qword [rdi + 0x20], rax
cmp rax, 0xffffffffffffffff
jne 0x18001491e
and dword [rdi + 4], 0
mov r8d, r15d
jmp 0x180014928
mov dword [rdi + 4], r12d
mov r8d, 6
call rsi
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_closesocket]
jmp 0x180014954
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [rdi + 0x18]
cmp eax, dword [rdi + 8]
jbe 0x180014954
and dword [rdi + 4], 0
mov r8d, r15d
lea rcx, [rsp + 0x30]
mov edx, r15d
call rsi
mov rdi, qword [rdi + 0x28]
test rdi, rdi
jne 0x180014777
mov rcx, qword [rbp + 0x590]
xor rcx, rsp
call fcn.18001ac30
lea r11, [rsp + 0x6a0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r12
pop rbp
ret
Function at 0x180014990
Capabilities:
Set socket configuration

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r15
sub rsp, 0x20
and dword [rax + 0x10], 0
mov rbx, qword [0x18003cfa0]
xor edi, edi
cmp qword [0x18003cfa8], rdi
mov rsi, rcx
jne 0x1800149cf
mov ecx, 0x100000
call fcn.18001aae0
mov qword [0x18003cfa8], rax
test rbx, rbx
je 0x180014a83
mov r15d, 0xffffc
cmp dword [rbx + 4], 1
jne 0x180014a76
mov ecx, dword [rbx]
call qword [sym.imp.WS2_32.dll_htonl]
lea r8, [rsp + 0x38]
mov edx, 0x4004667f
mov ecx, eax
mov rax, qword [0x18003cfa8]
mov dword [rax], ecx
mov rcx, qword [rbx + 0x20]
call qword [sym.imp.WS2_32.dll_ioctlsocket]
mov r8d, dword [rsp + 0x38]
cmp r8d, r15d
cmova r8d, r15d
mov dword [rsp + 0x38], r8d
cmp eax, 0xffffffff
je 0x180014a43
test r8d, r8d
je 0x180014a76
mov rdx, qword [0x18003cfa8]
mov rcx, qword [rbx + 0x20]
add rdx, 4
call fcn.180014b48
cmp eax, 0xffffffff
jne 0x180014a5a
mov rcx, qword [0x18003cfa8]
and dword [rbx + 4], 0
mov edx, 4
mov r8d, edx
call rsi
jmp 0x180014a76
mov edx, dword [rsp + 0x38]
cmp eax, edx
jne 0x180014a76
mov rcx, qword [0x18003cfa8]
add edx, 4
mov r8d, 5
call rsi
inc edi
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x1800149de
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
mov eax, edi
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r15
ret

Function at 0x180014a9c
Capabilities:
Check for time delay via gettickcount

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
call fcn.180014714
mov rcx, rbx
call fcn.180014990
test eax, eax
jg 0x1800146fa
mov rcx, rbx
add rsp, 0x20
pop rbx
jmp 0x180014a9c
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rbx, qword [0x18003cfa0]
xor edi, edi
test rbx, rbx
je 0x180014b3a
mov eax, dword [rbx + 4]
test eax, eax
jne 0x180014acd
cmp dword [rbx + 0xc], eax
jne 0x180014ad6
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rbx + 0xc], eax
mov rdi, rbx
mov rbx, qword [rbx + 0x28]
jmp 0x180014aaf
test eax, eax
jne 0x180014acd
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [rbx + 0xc]
cmp eax, 0x3e8
jbe 0x180014acd
cmp dword [rbx + 0x10], 0
jne 0x180014aff
mov rcx, qword [rbx + 0x20]
mov edx, 2
call qword [sym.imp.WS2_32.dll_shutdown]
mov rcx, qword [rbx + 0x20]
call qword [sym.imp.WS2_32.dll_closesocket]
test eax, eax
je 0x180014b13
cmp dword [rbx + 0x10], 2
je 0x180014acd
mov rax, qword [rbx + 0x28]
mov rcx, rbx
test rdi, rdi
je 0x180014b2e
mov qword [rdi + 0x28], rax
call fcn.18001aaa0
mov rbx, qword [rdi + 0x28]
jmp 0x180014aaf
mov qword [0x18003cfa0], rax
call fcn.18001aaa0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x180014b48
Capabilities:
Receive data
Receive data on socket

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
xor ebx, ebx
mov esi, r8d
mov rbp, rdx
mov rdi, rcx
test r8d, r8d
jle 0x180014b92
mov r8d, esi
xor r9d, r9d
mov rdx, rbp
sub r8d, ebx
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_recv]
movsxd rcx, eax
add rbp, rcx
add ebx, ecx
cmp ecx, 0xffffffff
je 0x180014ba9
cmp ebx, esi
jl 0x180014b6c
mov eax, ebx
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
mov edx, 2
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_shutdown]
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_closesocket]
or eax, 0xffffffff
jmp 0x180014b94

Function at 0x180014bc8
Capabilities:
Get socket status
Send data
Send data on socket

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
sub rsp, 0x470
mov rax, qword [0x18003b2e0]
xor rax, rsp
mov qword [rsp + 0x460], rax
mov ebp, r8d
mov rsi, rdx
mov rbx, rcx
call qword [sym.imp.KERNEL32.dll_GetTickCount]
and dword [rsp + 0x30], 0
mov dword [rsp + 0x34], 0x64
lea edi, [rax + 0x7530]
jmp 0x180014cac
mov rax, qword [rbx + 0x20]
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x250]
mov qword [rsp + 0x258], rax
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x30]
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x250], 1
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x40], 1
call qword [sym.imp.WS2_32.dll_select]
mov rcx, qword [rbx + 0x20]
lea rdx, [rsp + 0x40]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
jne 0x180014cba
mov rcx, qword [rbx + 0x20]
lea rdx, [rsp + 0x250]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x180014cac
mov rcx, qword [rbx + 0x20]
xor r9d, r9d
mov r8d, ebp
mov rdx, rsi
call qword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x180014cba
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x180014cba
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, edi
jb 0x180014c10
mov rcx, qword [rsp + 0x460]
xor rcx, rsp
call fcn.18001ac30
mov rbx, qword [rsp + 0x4a8]
add rsp, 0x470
pop rdi
pop rsi
pop rbp
ret
Function at 0x180015aec
Capabilities:
Terminate process

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
push rdi
sub rsp, 0x40
and qword [r11 - 0x28], 0
xor eax, eax
mov r8d, edx
mov rdx, rcx
lea rcx, [r11 - 0x28]
mov qword [r11 - 0x20], rax
mov qword [r11 - 0x18], rax
mov qword [r11 - 0x10], rax
call fcn.180013ff0
lea rcx, [rsp + 0x20]
call fcn.180014000
xor edx, edx
lea ecx, [rdx + 1]
mov r8d, eax
mov edi, eax
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov rbx, rax
test rax, rax
je 0x180015b4b
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
test eax, eax
jne 0x180015b62
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.Could_not_kill__d:__d_n
mov edx, edi
mov r8d, eax
call fcn.18000d9a8
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
ret
Function at 0x180015ecc
Capabilities:
Enumerate files on windows

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x20
mov r14, rcx
mov r12d, 0x8000
mov r15, r8
mov ecx, r12d
mov rsi, rdx
call fcn.18001aae0
lea r8, str._s
mov r9, r14
mov rcx, rax
mov edx, r12d
mov rbx, rax
call fcn.18001a12c
mov rdx, rsi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov rcx, rbx
mov rbp, rax
call fcn.18001aaa0
cmp rbp, 0xffffffffffffffff
je 0x180015fea
lea rdi, [rsi + 0x2c]
test byte [rsi], 0x10
je 0x180015fc1
mov al, byte [rdi]
cmp al, byte [0x18002b4dc]
jne 0x180015f57
mov al, byte [rdi + 1]
cmp al, byte [0x18002b4dd]
je 0x180015fcd
mov al, byte [rdi]
cmp al, byte [0x18002b4e0]
jne 0x180015f77
mov al, byte [rdi + 1]
cmp al, byte [0x18002b4e1]
jne 0x180015f77
mov al, byte [rdi + 2]
cmp al, byte [0x18002b4e2]
je 0x180015fcd
mov rcx, r12
call fcn.18001aae0
lea r8, [0x18002a6d4]
mov r9, rdi
mov rcx, rax
mov rdx, r12
mov rbx, rax
call fcn.18001a12c
mov r9, r15
mov r8, rsi
mov rdx, rdi
mov rcx, r14
call fcn.18001600c
mov r8d, 1
mov rdx, rbx
mov rcx, r14
call r15
mov rcx, rbx
call fcn.18001aaa0
jmp 0x180015fcd
xor r8d, r8d
mov rdx, rdi
mov rcx, r14
call r15
mov rdx, rsi
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x180015f3d
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop r12
ret
Function at 0x180016af8
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r15
sub rsp, 0x40
mov ebx, 0x200
mov ecx, ebx
call fcn.18001aae0
mov r8d, ebx
xor edx, edx
mov rcx, rax
mov qword [0x18004a5b0], rax
call fcn.18001b160
xor r15d, r15d
lea rbp, str.ihihikiiikihiki9ijikimii
mov eax, r15d
xor byte [rax + rbp], 0x69
inc rax
cmp rax, 0x1000
jl 0x180016b3e
lea rcx, [rsp + 0x20]
mov r8d, 0x1000
mov rdx, rbp
call fcn.180013ff0
jmp 0x180016c0b
lea rcx, [rsp + 0x20]
call fcn.180014060
lea rcx, [rsp + 0x20]
movsx ebx, ax
call fcn.180014060
mov rcx, qword [0x18004a5b0]
movsx rdi, di
mov edx, ebx
movzx esi, ax
shl rdi, 4
mov word [rdi + rcx], bx
dec edx
je 0x180016bf5
dec edx
je 0x180016bde
dec edx
jne 0x180016c0b
movsx rbx, ax
mov rcx, rbx
call fcn.18001aae0
mov rcx, qword [0x18004a5b0]
movsx edx, si
mov qword [rdi + rcx + 8], rax
lea rcx, [rsp + 0x20]
call fcn.180014038
mov rcx, qword [0x18004a5b0]
mov r8, rbx
mov rcx, qword [rdi + rcx + 8]
mov rdx, rax
call fcn.18001ac60
jmp 0x180016c0b
lea rcx, [rsp + 0x20]
call fcn.180014000
mov rcx, qword [0x18004a5b0]
mov dword [rdi + rcx + 8], eax
jmp 0x180016c0b
lea rcx, [rsp + 0x20]
call fcn.180014060
mov rdx, qword [0x18004a5b0]
mov word [rdi + rdx + 8], ax
lea rcx, [rsp + 0x20]
call fcn.180014060
movzx edi, ax
test ax, ax
jg 0x180016b65
xor edx, edx
mov r8d, 0x1000
mov rcx, rbp
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
add rsp, 0x40
pop r15
jmp fcn.18001b160
Function at 0x180016d0c
Capabilities:
Create pipe

Disassembly:
mov qword [rsp + 8], rbx
push rbp
lea rbp, [rsp - 0x390]
sub rsp, 0x490
mov rax, qword [0x18003b2e0]
xor rax, rsp
mov qword [rbp + 0x380], rax
lea rcx, [rbp - 0x7f]
xor edx, edx
mov r8d, 0x3ff
mov byte [rbp - 0x80], 0
call fcn.18001b160
and dword [rsp + 0x40], 0
xor eax, eax
lea rcx, [rsp + 0x59]
xor edx, edx
lea r8d, [rax + 0x27]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rax
mov byte [rsp + 0x58], al
call fcn.18001b160
lea rcx, [rsp + 0x58]
mov edx, 1
call qword [sym.imp.ADVAPI32.dll_InitializeSecurityDescriptor]
xor r9d, r9d
lea rcx, [rsp + 0x58]
lea edx, [r9 + 1]
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorDacl]
lea rax, [rsp + 0x58]
lea rdx, [rbp - 0x80]
lea rcx, [0x18002b4dc]
mov r8d, 0x400
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x40], 0x18
mov dword [rsp + 0x50], 1
call fcn.180013c94
lea rax, [rsp + 0x40]
mov edx, 3
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x38], rax
and dword [rsp + 0x30], 0
lea r8d, [rdx + 3]
mov r9d, 0xff
mov dword [rsp + 0x28], 0x100000
mov dword [rsp + 0x20], 0x100000
call qword [sym.imp.KERNEL32.dll_CreateNamedPipeA]
mov rbx, rax
cmp rax, 0xffffffffffffffff
jne 0x180016e1a
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.could_not_create_pipe:__d
mov edx, eax
call fcn.18000d9a8
xor eax, eax
jmp 0x180016e48
mov ecx, 0x100000
call fcn.18001aae0
and dword [0x180046318], 0
mov dword [reloc.WS2_32.dll_accept], 2
mov qword [0x180046310], rax
mov qword [0x18003b2c0], rbx
mov eax, 1
mov rcx, qword [rbp + 0x380]
xor rcx, rsp
call fcn.18001ac30
mov rbx, qword [rsp + 0x4a0]
add rsp, 0x490
pop rbp
ret

Function at 0x180016f94
Capabilities:
Connect pipe

Disassembly:
push rbx
sub rsp, 0x440
mov rax, qword [0x18003b2e0]
xor rax, rsp
mov qword [rsp + 0x430], rax
movsxd r8, dword [rdx + 4]
mov dword [rsp + 0x20], ecx
mov rbx, rdx
lea rcx, [rsp + 0x24]
add rdx, 8
call fcn.18001ac60
mov rcx, qword [0x18003b2c0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_ConnectNamedPipe]
test eax, eax
jne 0x180016fef
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor ecx, ecx
cmp eax, 0x217
sete cl
test ecx, ecx
je 0x180016fc8
mov r8d, dword [rbx + 4]
mov rcx, qword [0x18003b2c0]
lea rdx, [rsp + 0x20]
add r8d, 4
call fcn.180013d34
mov rcx, qword [rsp + 0x430]
xor rcx, rsp
call fcn.18001ac30
add rsp, 0x440
pop rbx
ret