joyce8/EMBER2024-capa huggingface dataset:
Function at 0x418320
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x41854a
sub rsp, 0x58
mov qword [rsp + 0x50], rbp
lea rbp, [rsp + 0x50]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rbx
mov rcx, qword [sym.imp.kernel32.dll_VirtualAlloc]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], 0x1000
mov qword [rsp + 0x20], 4
call fcn.00437b40
xorps xmm15, xmm15
mov r14, qword [0x005aa7a8]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x60]
mov rcx, rax
cmp qword [rsp + 0x28], rax
je 0x418399
mov rbx, qword [rsp + 0x68]
mov rax, rbx
jmp 0x4183c0
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
ret
mov rax, rcx
call fcn.004520e0
mov rbx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
sub rbx, rcx
mov rcx, rax
mov rax, qword [rsp + 0x68]
test rbx, rbx
jbe 0x4183e5
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rcx
mov rdx, rbx
jmp 0x4183f9
cmp rbx, 0x1000
jae 0x4183a3
nop dword [rax]
jmp 0x418474
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
ret
shr rbx, 1
and rbx, 0xfffffffffffff000
mov qword [rsp + 0x38], rbx
nop
cmp rbx, 0x1000
jae 0x41840d
xor esi, esi
jmp 0x41846a
mov rax, qword [sym.imp.kernel32.dll_VirtualAlloc]
mov qword [rsp], rax
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], 0x1000
mov qword [rsp + 0x20], 4
call fcn.00437b40
xorps xmm15, xmm15
mov r14, qword [0x005aa7a8]
mov r14, qword gs:[r14]
mov r14, qword [r14]
cmp qword [rsp + 0x28], 0
sete al
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x38]
mov esi, eax
mov rax, qword [rsp + 0x68]
test sil, sil
jne 0x4183ef
jmp 0x4183d4
call fcn.004684e0
xorps xmm15, xmm15
mov r14, qword [0x005aa7a8]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov eax, dword [rsp]
mov dword [rsp + 0x34], eax
cmp eax, 8
jne 0x4184ec
call fcn.0043c1c0
lea rax, [0x004c5db8]
mov ebx, 0x19
call fcn.0043cac0
mov rax, qword [rsp + 0x68]
call fcn.0043c7c0
lea rax, [0x004c59d0]
mov ebx, 0x19
call fcn.0043cac0
mov eax, dword [rsp + 0x34]
call fcn.0043c7c0
call fcn.0043c420
call fcn.0043c240
lea rax, [0x004c2960]
mov ebx, 0xd
call fcn.0043a980
cmp eax, 0x5af
je 0x418497
call fcn.0043c1c0
lea rax, [0x004c5db8]
mov ebx, 0x19
call fcn.0043cac0
mov rax, qword [rsp + 0x38]
call fcn.0043c7c0
lea rax, [0x004c59d0]
mov ebx, 0x19
nop
call fcn.0043cac0
mov eax, dword [rsp + 0x34]
call fcn.0043c7c0
call fcn.0043c420
call fcn.0043c240
lea rax, [0x004c7596]
mov ebx, 0x1f
call fcn.0043a980
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.00464940
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.00418320
Function at 0x4237a0
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x42389e
sub rsp, 0x48
mov qword [rsp + 0x40], rbp
lea rbp, [rsp + 0x40]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rbx
mov qword [rsp + 8], 0
jmp 0x4237e0
mov rax, qword [rsp + 0x50]
mov rcx, rdx
mov rbx, qword [rsp + 0x58]
nop
cmp qword [rsp + 8], rbx
jae 0x42388f
test byte [rax], al
lea rcx, [rax + 0x100b8]
mov rax, rcx
call fcn.00424300
nop dword [rax]
test rax, rax
je 0x42388f
movups xmmword [rsp + 0x10], xmm15
movups xmmword [rsp + 0x20], xmm15
movups xmmword [rsp + 0x30], xmm15
lea rcx, [0x004238e0]
mov qword [rsp + 0x10], rcx
lea rdx, [rsp + 8]
mov qword [rsp + 0x18], rdx
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], rbx
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x38], rax
lea rbx, [rsp + 0x10]
mov qword [rsp], rbx
call fcn.00464800
xorps xmm15, xmm15
mov r14, qword [0x005aa7a8]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rdx, qword [rsp + 0x60]
test rdx, rdx
jne 0x42387d
xor eax, eax
jmp 0x423887
mov rax, qword [rdx]
call rax
mov rdx, qword [rsp + 0x60]
test al, al
je 0x4237d2
mov rax, qword [rsp + 8]
mov rbp, qword [rsp + 0x40]
add rsp, 0x48
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
call fcn.00464940
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
jmp fcn.004237a0

Function at 0x45cb20
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x45cbd9
sub rsp, 0x60
mov qword [rsp + 0x58], rbp
lea rbp, [rsp + 0x58]
mov qword [rsp + 0x70], rbx
mov qword [rsp + 8], 0
movups xmmword [rsp + 0x10], xmm15
movups xmmword [rsp + 0x18], xmm15
movups xmmword [rsp + 0x28], xmm15
movups xmmword [rsp + 0x38], xmm15
movups xmmword [rsp + 0x48], xmm15
lea rdx, [0x0045cc20]
mov qword [rsp + 0x10], rdx
lea rdx, [rsp + 8]
mov qword [rsp + 0x18], rdx
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x20], rdx
lea rdx, [rsp + 0x68]
mov qword [rsp + 0x28], rdx
mov rdx, r14
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x50], rdi
lea rax, [rsp + 0x10]
mov qword [rsp], rax
call fcn.00464800
xorps xmm15, xmm15
mov r14, qword [0x005aa7a8]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 8]
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.00464940
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.0045cb20
Function at 0x4669e0
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x402f8f
sub rsp, 0x20
mov qword [rsp + 0x18], rbp
lea rbp, [rsp + 0x18]
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
mov rax, rdx
nop
call fcn.00409bc0
mov rbp, qword [rsp + 0x18]
add rsp, 0x20
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.00464940
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp 0x402f60
cmp byte [0x005aa5cf], 0
je 0x4669f5
mov rcx, qword [rax + 8]
mov rax, qword [rax]
jmp 0x463a40
jmp 0x402f60

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

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x40a02f
sub rsp, 0x18
mov qword [rsp + 0x10], rbp
lea rbp, [rsp + 0x10]
mov qword [rsp + 0x28], rbx
call fcn.0040a120
movabs rcx, 0xe7037ed1a0b428db
xor rcx, rax
mov rbx, qword [rsp + 0x28]
xor rbx, rax
xor rbx, qword [0x005aa8a0]
movabs rdx, 0xa0761d6478bd642f
xor rbx, rdx
mov rax, rcx
call fcn.0040a100
mov rbx, rax
movabs rax, 0x1d8e4e27c47d124b
nop dword [rax]
call fcn.0040a100
mov rbp, qword [rsp + 0x10]
add rsp, 0x18
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.00464940
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp 0x409fc0
cmp byte [0x005aa5cf], 0
je 0x466a35
movq xmm0, rbx
pinsrd xmm0, dword [rax], 2
aesenc xmm0, xmmword [0x005aabe0]
aesenc xmm0, xmmword [0x005aabf0]
aesenc xmm0, xmmword [0x005aac00]
movq rax, xmm0
ret
jmp 0x409fc0

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

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x40a0cf
sub rsp, 0x18
mov qword [rsp + 0x10], rbp
lea rbp, [rsp + 0x10]
mov qword [rsp + 0x28], rbx
call fcn.0040a160
movabs rcx, 0xe7037ed1a0b428db
xor rcx, rax
mov rbx, qword [rsp + 0x28]
xor rbx, rax
xor rbx, qword [0x005aa8a0]
movabs rdx, 0xa0761d6478bd642f
xor rbx, rdx
mov rax, rcx
call fcn.0040a100
mov rbx, rax
movabs rax, 0x1d8e4e27c47d1247
nop dword [rax]
call fcn.0040a100
mov rbp, qword [rsp + 0x10]
add rsp, 0x18
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.00464940
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp 0x40a060
cmp byte [0x005aa5cf], 0
je 0x466a76
movq xmm0, rbx
pinsrq xmm0, qword [rax], 1
aesenc xmm0, xmmword [0x005aabe0]
aesenc xmm0, xmmword [0x005aabf0]
aesenc xmm0, xmmword [0x005aac00]
movq rax, xmm0
ret
jmp 0x40a060

Function at 0x468460
Capabilities:
Write file on windows

Disassembly:
sub rsp, 0x30
mov rcx, 0xfffffffffffffff4
mov qword [rsp], rcx
mov rax, qword [sym.imp.kernel32.dll_GetStdHandle]
call rax
mov rcx, rax
mov qword [rsp], rcx
lea rdx, [0x005aab60]
mov qword [rsp + 8], rdx
lea r8d, [0x005aa5e8]
mov qword [rsp + 0x10], r8
lea r9, [rsp + 0x28]
mov qword [r9], 0
mov qword [rsp + 0x18], r9
mov qword [rsp + 0x20], 0
mov rax, qword [sym.imp.kernel32.dll_WriteFile]
call rax
call fcn.00466920
add rsp, 0x30
ret
Function at 0x4689a0
Capabilities:
Allocate thread local storage

Disassembly:
mov rax, rsp
and rsp, 0xfffffffffffffff0
sub rsp, 0x30
mov qword [rsp + 0x20], rax
mov rax, qword [sym.imp.kernel32.dll_TlsAlloc]
call rax
mov rsp, qword [rsp + 0x20]
mov rcx, rax
cmp rcx, 0x40
jb 0x4689d0
mov rcx, 0x28
jmp 0x4689db
shl rcx, 3
add rcx, 0x1480
mov qword [0x005aa7a8], rcx
ret
Function at 0x1800014a0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov byte [rsp + 8], cl
sub rsp, 0x18
mov byte [rsp], 0
jmp 0x1800014b7
movzx eax, byte [rsp]
add al, 1
mov byte [rsp], al
movzx eax, byte [rsp]
cmp eax, 4
jge 0x18000153e
mov byte [rsp + 1], 0
jmp 0x1800014d2
movzx eax, byte [rsp + 1]
add al, 1
mov byte [rsp + 1], al
movzx eax, byte [rsp + 1]
cmp eax, 4
jge 0x180001539
movzx ecx, byte [rsp]
mov rax, qword [0x1800112e8]
lea r8, [rax + rcx*4]
movzx edx, byte [rsp + 1]
movzx ecx, byte [rsp + 0x20]
shl ecx, 2
movzx eax, byte [rsp]
shl eax, 2
lea eax, [rax + rcx*4]
movzx ecx, byte [rsp + 1]
add eax, ecx
movsxd rcx, eax
lea rax, [0x180011230]
movzx eax, byte [rax + rcx]
movzx r8d, byte [r8 + rdx]
xor r8d, eax
movzx edx, byte [rsp + 1]
movzx ecx, byte [rsp]
mov rax, qword [0x1800112e8]
lea rax, [rax + rcx*4]
mov byte [rax + rdx], r8b
jmp 0x1800014c7
jmp 0x1800014ae
add rsp, 0x18
ret

Function at 0x180004ba0
Capabilities:
Get file attributes

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0xd8
mov qword [rsp + 0xb8], 0xffffffffffffffff
mov rdx, qword [rsp + 0xe0]
lea rcx, [rsp + 0x70]
call qword [sym.imp.ntoskrnl.exe_RtlInitUnicodeString]
mov dword [rsp + 0x88], 0x30
mov qword [rsp + 0x90], 0
mov dword [rsp + 0xa0], 0x40
lea rax, [rsp + 0x70]
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xa8], 0
mov qword [rsp + 0xb0], 0
mov dword [rsp + 0x68], 0x100
mov qword [rsp + 0x60], 0
mov dword [rsp + 0x58], 0
mov dword [rsp + 0x50], 0
mov qword [rsp + 0x48], 0
mov dword [rsp + 0x40], 0x4021
mov dword [rsp + 0x38], 1
mov dword [rsp + 0x30], 3
mov dword [rsp + 0x28], 0x80
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0xc0]
lea r8, [rsp + 0x88]
mov edx, 0x100001
lea rcx, [rsp + 0xb8]
call qword [sym.imp.ntoskrnl.exe_IoCreateFile]
mov dword [rsp + 0x80], eax
cmp dword [rsp + 0x80], 0
jne 0x180004d37
cmp qword [rsp + 0xb8], 0xffffffffffffffff
je 0x180004d37
mov byte [rsp + 0x50], 0
mov qword [rsp + 0x48], 0
mov byte [rsp + 0x40], 1
mov dword [rsp + 0x38], 3
mov eax, dword [rsp + 0xf0]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0xb8]
call qword [sym.imp.ntoskrnl.exe_ZwQueryDirectoryFile]
mov dword [rsp + 0x80], eax
cmp dword [rsp + 0x80], 0
je 0x180004d37
mov rcx, qword [rsp + 0xb8]
call qword [sym.imp.ntoskrnl.exe_ZwClose]
mov qword [rsp + 0xb8], 0xffffffffffffffff
mov rax, qword [rsp + 0xb8]
add rsp, 0xd8
ret
Function at 0x180004d50
Capabilities:
Get file attributes

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x88
mov byte [rsp + 0x50], 0
mov qword [rsp + 0x48], 0
mov byte [rsp + 0x40], 0
mov dword [rsp + 0x38], 3
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x68]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x90]
call qword [sym.imp.ntoskrnl.exe_ZwQueryDirectoryFile]
mov dword [rsp + 0x60], eax
cmp dword [rsp + 0x60], 0
jne 0x180004dca
mov al, 1
jmp 0x180004dcc
xor al, al
add rsp, 0x88
ret
Function at 0x180005870
Capabilities:
Query or enumerate registry value

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x68
mov rdx, qword [rsp + 0x78]
lea rcx, [rsp + 0x40]
call qword [sym.imp.ntoskrnl.exe_RtlInitUnicodeString]
lea r11, [rsp + 0x38]
mov qword [rsp + 0x28], r11
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, 2
lea rdx, [rsp + 0x40]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ntoskrnl.exe_ZwQueryValueKey]
mov dword [rsp + 0x50], eax
cmp dword [rsp + 0x50], 0xc0000034
je 0x1800058d3
cmp dword [rsp + 0x38], 0
jne 0x1800058da
xor al, al
jmp 0x180005980
mov edx, dword [rsp + 0x38]
mov r8d, 0x6b6f6b6f
xor ecx, ecx
call qword [sym.imp.ntoskrnl.exe_ExAllocatePoolWithTag]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x38]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x20], eax
mov r9, qword [rsp + 0x30]
mov r8d, 2
lea rdx, [rsp + 0x40]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ntoskrnl.exe_ZwQueryValueKey]
mov dword [rsp + 0x50], eax
cmp dword [rsp + 0x50], 0
jge 0x18000592d
xor al, al
jmp 0x180005980
mov rax, qword [rsp + 0x30]
cmp dword [rax + 4], 4
jne 0x18000596a
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 8]
cmp rax, 4
jne 0x18000596a
mov rax, qword [rsp + 0x30]
add rax, 0xc
mov qword [rsp + 0x58], rax
mov rcx, qword [rsp + 0x58]
mov eax, dword [rsp + 0x80]
cmp dword [rcx], eax
je 0x180005968
xor al, al
jmp 0x180005980
jmp 0x18000596e
xor al, al
jmp 0x180005980
mov edx, 0x6b6f6b6f
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ntoskrnl.exe_ExFreePoolWithTag]
mov al, 1
add rsp, 0x68
ret
Function at 0x180007a70
Capabilities:
Check os version

Disassembly:
push rdi
sub rsp, 0x160
cmp dword [0x180011710], 0
je 0x180007a8d
mov eax, dword [0x180011710]
jmp 0x180007b97
mov dword [rsp + 0x30], 0x11c
lea rdi, [rsp + 0x34]
xor eax, eax
mov ecx, 0x118
rep stosb byte [rdi], al
mov qword [rsp + 0x150], 0
lea rdx, str.RtlGetVersion
lea rcx, [rsp + 0x20]
call qword [sym.imp.ntoskrnl.exe_RtlInitUnicodeString]
lea rcx, [rsp + 0x20]
call qword [sym.imp.ntoskrnl.exe_MmGetSystemRoutineAddress]
mov qword [rsp + 0x150], rax
cmp qword [rsp + 0x150], 0
je 0x180007aed
lea rcx, [rsp + 0x30]
call qword [rsp + 0x150]
jmp 0x180007b05
xor r9d, r9d
lea r8, [rsp + 0x3c]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x34]
call qword [sym.imp.ntoskrnl.exe_PsGetVersion]
cmp dword [rsp + 0x34], 5
jne 0x180007b1f
cmp dword [rsp + 0x38], 1
jne 0x180007b1f
mov dword [0x180011710], 0x33
jmp 0x180007b91
cmp dword [rsp + 0x34], 6
jne 0x180007b39
cmp dword [rsp + 0x38], 1
jne 0x180007b39
mov dword [0x180011710], 0x3d
jmp 0x180007b91
cmp dword [rsp + 0x34], 6
jne 0x180007b53
cmp dword [rsp + 0x38], 2
jne 0x180007b53
mov dword [0x180011710], 0x3e
jmp 0x180007b91
cmp dword [rsp + 0x34], 6
jne 0x180007b6d
cmp dword [rsp + 0x38], 3
jne 0x180007b6d
mov dword [0x180011710], 0x3f
jmp 0x180007b91
cmp dword [rsp + 0x34], 0xa
jne 0x180007b87
cmp dword [rsp + 0x38], 0
jne 0x180007b87
mov dword [0x180011710], 0x64
jmp 0x180007b91
mov dword [0x180011710], 0x64
mov eax, dword [0x180011710]
add rsp, 0x160
pop rdi
ret
Function at 0x18000a180
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x88
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x48], 0x30
mov qword [rsp + 0x50], 0
mov dword [rsp + 0x60], 0
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x70], 0
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x30], rax
lea rax, [0x18000a220]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
xor r9d, r9d
lea r8, [rsp + 0x48]
mov edx, 0x1fffff
lea rcx, [rsp + 0x40]
call qword [sym.imp.ntoskrnl.exe_PsCreateSystemThread]
add rsp, 0x88
ret
Function at 0x18000aa10
Capabilities:
Create device object

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x78
mov r8d, 0x6b6f6b6f
mov edx, 0x104
xor ecx, ecx
call qword [sym.imp.ntoskrnl.exe_ExAllocatePoolWithTag]
mov qword [0x180011838], rax
xor eax, eax
mov word [0x180011830], ax
mov eax, 0x104
mov word [0x180011832], ax
mov r8d, 0x104
xor edx, edx
mov rcx, qword [0x180011838]
call fcn.18000dcd0
mov r8d, 0x6b6f6b6f
mov edx, 0x104
xor ecx, ecx
call qword [sym.imp.ntoskrnl.exe_ExAllocatePoolWithTag]
mov qword [rsp + 0x50], rax
xor eax, eax
mov word [rsp + 0x48], ax
mov eax, 0x104
mov word [rsp + 0x4a], ax
mov r8d, 0x104
xor edx, edx
mov rcx, qword [rsp + 0x50]
call fcn.18000dcd0
lea rdx, [0x18000fd34]
lea rcx, [rsp + 0x58]
call qword [sym.imp.ntoskrnl.exe_RtlInitAnsiString]
xor r8d, r8d
lea rdx, [rsp + 0x58]
lea rcx, [0x180011830]
call qword [sym.imp.ntoskrnl.exe_RtlAnsiStringToUnicodeString]
mov dword [rsp + 0x68], eax
lea rcx, [rsp + 0x48]
call fcn.18000b7b0
lea rdx, [rsp + 0x48]
lea rcx, [0x180011830]
call qword [sym.imp.ntoskrnl.exe_RtlAppendUnicodeStringToString]
lea r11, [0x1800117f8]
mov qword [rsp + 0x30], r11
mov byte [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov r9d, 0x22
lea r8, [0x180011830]
xor edx, edx
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.ntoskrnl.exe_IoCreateDevice]
mov dword [rsp + 0x68], eax
cmp dword [rsp + 0x68], 0
jge 0x18000ab25
mov eax, dword [rsp + 0x68]
jmp 0x18000ab75
mov rax, qword [0x1800117f8]
mov ecx, dword [rax + 0x30]
or ecx, 4
mov rax, qword [0x1800117f8]
mov dword [rax + 0x30], ecx
mov dword [rsp + 0x40], 0
jmp 0x18000ab51
mov eax, dword [rsp + 0x40]
add eax, 1
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0x1b
jge 0x18000ab73
movsxd rdx, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x80]
lea rax, [0x18000ad40]
mov qword [rcx + rdx*8 + 0x70], rax
jmp 0x18000ab46
xor eax, eax
add rsp, 0x78
ret
Function at 0x18000c060
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0xf8
mov qword [rsp + 0x80], 0
mov dword [rsp + 0xb8], 0x30
mov qword [rsp + 0xc0], 0
mov dword [rsp + 0xd0], 0
mov qword [rsp + 0xc8], 0
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0x48], 0
mov dword [rsp + 0x88], 0x30
mov qword [rsp + 0x90], 0
mov dword [rsp + 0xa0], 0
mov qword [rsp + 0x98], 0
mov qword [rsp + 0xa8], 0
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x50], 0x30
mov qword [rsp + 0x58], 0
mov dword [rsp + 0x68], 0
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 0
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x30], rax
lea rax, [0x1800086e0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
xor r9d, r9d
lea r8, [rsp + 0xb8]
mov edx, 0x1fffff
lea rcx, [rsp + 0x80]
call qword [sym.imp.ntoskrnl.exe_PsCreateSystemThread]
mov r11, qword [rsp + 0x100]
mov qword [rsp + 0x30], r11
lea rax, [0x180008770]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
xor r9d, r9d
lea r8, [rsp + 0x88]
mov edx, 0x1fffff
lea rcx, [rsp + 0x48]
call qword [sym.imp.ntoskrnl.exe_PsCreateSystemThread]
mov r11, qword [rsp + 0x100]
mov qword [rsp + 0x30], r11
lea rax, [0x180007f80]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
xor r9d, r9d
lea r8, [rsp + 0x50]
mov edx, 0x1fffff
lea rcx, [rsp + 0x40]
call qword [sym.imp.ntoskrnl.exe_PsCreateSystemThread]
add rsp, 0xf8
ret

Function at 0x18000c2f0
Capabilities:
Write file on windows

Disassembly:
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0xd8
lea rdx, str.__C:log.txt
lea rcx, [rsp + 0x68]
call qword [sym.imp.ntoskrnl.exe_RtlInitUnicodeString]
mov dword [rsp + 0x88], 0x30
mov qword [rsp + 0x90], 0
mov dword [rsp + 0xa0], 0x40
lea rax, [rsp + 0x68]
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xa8], 0
mov qword [rsp + 0xb0], 0
mov dword [rsp + 0x50], 0
mov qword [rsp + 0x48], 0
mov dword [rsp + 0x40], 0x20
mov dword [rsp + 0x38], 3
mov dword [rsp + 0x30], 3
mov dword [rsp + 0x28], 0x80
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x78]
lea r8, [rsp + 0x88]
mov edx, 0x40000000
lea rcx, [rsp + 0x60]
call qword [sym.imp.ntoskrnl.exe_ZwCreateFile]
mov dword [rsp + 0xb8], eax
cmp dword [rsp + 0xb8], 0
jl 0x18000c423
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0x40], 0
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x38], rax
mov eax, dword [rsp + 0xe8]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.ntoskrnl.exe_ZwWriteFile]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.ntoskrnl.exe_ZwClose]
add rsp, 0xd8
ret
Function at 0x18000d9c0
Capabilities:
Attach user process memory
Find process by pid

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x78
mov qword [rsp + 0x20], 0
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x20]
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.ntoskrnl.exe_PsLookupProcessByProcessId]
mov dword [rsp + 0x60], eax
cmp dword [rsp + 0x60], 0
jge 0x18000da09
xor al, al
jmp 0x18000dacb
cmp qword [rsp + 0x20], 0
je 0x18000da23
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.ntoskrnl.exe_MmIsAddressValid]
movzx eax, al
test eax, eax
jne 0x18000da2a
xor al, al
jmp 0x18000dacb
lea rdx, [rsp + 0x30]
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.ntoskrnl.exe_KeStackAttachProcess]
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.ntoskrnl.exe_ObfDereferenceObject]
call qword [sym.imp.ntoskrnl.exe_IoGetCurrentProcess]
mov r11, rax
mov rax, qword [sym.imp.ntoskrnl.exe_PsInitialSystemProcess]
cmp r11, qword [rax]
jne 0x18000da77
mov rax, qword [rsp + 0x28]
or rax, 0xffffffff80000000
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x88], rax
mov byte [rsp + 0x64], 0
mov byte [rsp + 0x65], 0
xor r8d, r8d
lea rdx, [rsp + 0x64]
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.ntoskrnl.exe_ObSetHandleAttributes]
mov dword [rsp + 0x60], eax
lea rcx, [rsp + 0x30]
call qword [sym.imp.ntoskrnl.exe_KeUnstackDetachProcess]
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.ntoskrnl.exe_ZwClose]
mov dword [rsp + 0x60], eax
cmp dword [rsp + 0x60], 0
jge 0x18000dac3
xor al, al
jmp 0x18000dacb
jmp 0x18000dac9
mov al, 1
add rsp, 0x78
ret
Function at 0x140008f70
Capabilities:
Delete file

Disassembly:
push rbx
sub rsp, 0x90
movaps xmmword [rsp + 0x80], xmm6
lea rbx, [0x14001f30a]
lea rax, [0x140032120]
mov rcx, qword [0x140034128]
movq xmm6, rax
movq xmm0, rbx
punpcklqdq xmm6, xmm0
test rcx, rcx
je 0x140008fdf
call qword [sym.imp.KERNEL32.dll_GetProcessId]
xor ecx, ecx
mov edx, eax
call qword [sym.imp.KERNEL32.dll_GenerateConsoleCtrlEvent]
test eax, eax
je 0x140009048
mov rcx, qword [0x140034128]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [0x140034128]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp byte [0x140034120], 0
jne 0x140009000
movaps xmm6, xmmword [rsp + 0x80]
add rsp, 0x90
pop rbx
ret
mov eax, 0x414
mov dword [rsp + 0x48], 3
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x40], 0
mov word [rsp + 0x60], ax
mov dword [rsp + 0x64], 0
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x70], rbx
movaps xmmword [rsp + 0x50], xmm6
call qword [sym.imp.SHELL32.dll_SHFileOperationW]
jmp 0x140008fe8
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, 0x400
xor edx, edx
mov qword [rsp + 0x30], 0
mov r8d, eax
lea rax, [rsp + 0x40]
mov dword [rsp + 0x28], 0
mov ecx, 0x1300
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_FormatMessageA]
lea rcx, str.Failed_to_send_CTRL_C_to_child_process.
call sub.msvcrt.dll_puts
mov rcx, qword [rsp + 0x40]
call sub.msvcrt.dll_puts
jmp 0x140008fc0