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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x47]
sub rsp, 0xd0
and qword [rbp + 0x67], 0
xorps xmm0, xmm0
and dword [rbp + 0x13], 0
xorps xmm1, xmm1
and dword [rbp + 0x2b], 0
mov rsi, rcx
mov ebx, 0xc0000001
movups xmmword [rbp - 0x19], xmm0
movups xmmword [rbp - 0x29], xmm1
test rcx, rcx
je 0x1400018a2
lea rdx, [0x14000c070]
lea rcx, [rbp - 0x19]
call qword [sym.imp.ntoskrnl.exe_RtlInitUnicodeString]
and dword [rsp + 0x50], 0
lea rax, [rbp - 0x19]
and qword [rsp + 0x48], 0
lea r9, [rbp - 0x29]
and qword [rbp + 0x17], 0
lea r8, [rbp + 0xf]
mov dword [rsp + 0x40], 0x20
lea rcx, [rbp + 0x67]
mov qword [rbp + 0x1f], rax
xorps xmm0, xmm0
mov eax, 1
mov dword [rbp + 0xf], 0x30
mov dword [rsp + 0x38], eax
mov edx, 0x80000000
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], 0x80
and qword [rsp + 0x20], 0
mov dword [rbp + 0x27], 0x240
movdqu xmmword [rbp + 0x2f], xmm0
call qword [sym.imp.ntoskrnl.exe_ZwCreateFile]
mov ebx, eax
test eax, eax
js 0x1400018a2
mov rcx, qword [rbp + 0x67]
lea r8, [rbp - 9]
xor eax, eax
mov dword [rsp + 0x20], 5
xorps xmm0, xmm0
mov qword [rbp + 7], rax
lea rdx, [rbp - 0x29]
movups xmmword [rbp - 9], xmm0
lea r9d, [rax + 0x18]
call qword [sym.imp.ntoskrnl.exe_ZwQueryInformationFile]
mov ebx, eax
test eax, eax
js 0x140001898
cmp dword [rbp - 1], 0x1000
jbe 0x140001898
mov ecx, dword [rbp - 1]
call fcn.140003ac4
mov rdi, rax
test rax, rax
je 0x140001898
mov ecx, dword [rbp - 1]
xor eax, eax
and qword [rsp + 0x40], rax
xor r9d, r9d
mov qword [rbp + 0x6f], rax
xor r8d, r8d
lea rax, [rbp + 0x6f]
xor edx, edx
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x29]
mov dword [rsp + 0x30], ecx
mov rcx, qword [rbp + 0x67]
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rax
call qword [sym.imp.ntoskrnl.exe_ZwReadFile]
mov ebx, eax
test eax, eax
js 0x140001890
mov r8d, dword [rbp - 1]
lea r9, [0x14000c0b0]
mov rdx, rdi
mov rcx, rsi
call fcn.1400038d8
mov rcx, qword [0x140010940]
lea r9, [0x14000c0d0]
mov rdx, rdi
mov qword [rcx + 0x68], rax
mov rcx, rsi
mov r8d, dword [rbp - 1]
call fcn.1400038d8
mov rcx, qword [0x140010940]
mov qword [rcx + 0x70], rax
mov rcx, rdi
call fcn.140003bc4
mov rcx, qword [rbp + 0x67]
call qword [sym.imp.ntoskrnl.exe_ZwClose]
mov eax, ebx
mov rbx, qword [rsp + 0x100]
add rsp, 0xd0
pop rdi
pop rsi
pop rbp
ret
Function at 0x1400018c0
Capabilities:
Print debug messages

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rdi
push rbp
mov rbp, rsp
sub rsp, 0x70
and qword [rbp + 0x10], 0
lea rax, [0x14000c140]
mov qword [rbp - 0x28], rax
xor r9d, r9d
lea rax, [rbp + 0x10]
mov dword [rbp - 0x30], 0x1a0018
mov qword [r11 - 0x40], rax
xor r8d, r8d
and qword [r11 - 0x48], 0
mov edx, 0x240
mov rax, qword [sym.imp.ntoskrnl.exe_IoDriverObjectType]
mov edi, 0x18
mov byte [rsp + 0x28], 0
mov rcx, qword [rax]
mov qword [r11 - 0x58], rcx
lea rcx, [rbp - 0x30]
call fcn.1400047e4
mov rcx, qword [rbp + 0x10]
call fcn.140001688
test eax, eax
js 0x140001993
call fcn.1400014bc
test eax, eax
js 0x140001993
mov rcx, qword [0x140011c20]
call fcn.140003540
mov rcx, rax
call fcn.1400016f4
test eax, eax
js 0x140001993
mov rcx, qword [0x140010940]
add rcx, 0x48
call fcn.1400013b4
test eax, eax
js 0x140001993
mov rax, qword [rbp + 0x10]
lea rdx, [rbp - 0x20]
mov qword [rbp - 0x10], rax
lea ecx, [rdi + 0x33]
lea rax, [0x140008450]
mov dword [rbp - 0x20], 0x41435854
mov r8d, edi
mov qword [rbp - 0x18], rax
mov dword [rbp - 0x1c], 1
call fcn.14000489c
jmp 0x14000199f
lea rcx, [0x14000c160]
call sub.ntoskrnl.exe_DbgPrint
mov rdi, qword [rsp + 0x88]
add rsp, 0x70
pop rbp
ret

Function at 0x1400022b4
Capabilities:
Create thread

Disassembly:
mov rax, rsp
sub rsp, 0x78
and qword [rax - 0x48], 0
lea r8, [rax - 0x38]
and qword [rax + 0x10], 0
xorps xmm0, xmm0
and dword [rax - 0x34], 0
xor r9d, r9d
and dword [rax - 0x1c], 0
mov edx, 0x1fffff
and qword [rax - 0x30], 0
and qword [rax - 0x28], 0
mov qword [rax - 0x50], rcx
lea rcx, [rax + 0x10]
and qword [rax - 0x58], 0
mov dword [rax - 0x38], 0x30
mov dword [rax - 0x20], 0x200
movdqu xmmword [rax - 0x18], xmm0
call qword [sym.imp.ntoskrnl.exe_PsCreateSystemThread]
test eax, eax
js 0x140002320
mov rcx, qword [rsp + 0x88]
xor edx, edx
call qword [sym.imp.ntoskrnl.exe_ObCloseHandle]
add rsp, 0x78
ret
Function at 0x14000309c
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
movsxd rdi, dword [rcx + 0x3c]
mov r15, rcx
add rdi, rcx
mov ebp, edx
mov r8d, edx
xor ebx, ebx
mov eax, dword [rdi + 0x88]
mov edx, eax
mov ecx, dword [rdi + 0x8c]
mov dword [rsp + 0x88], ecx
mov rcx, rdi
mov dword [rsp + 0x70], eax
call fcn.140003eac
test eax, eax
je 0x1400031d9
mov esi, eax
mov r8d, ebp
add rsi, r15
mov rcx, rdi
mov edx, dword [rsi + 0x1c]
call fcn.140003eac
mov r12d, eax
test eax, eax
je 0x1400031d9
mov edx, dword [rsi + 0x24]
mov r8d, ebp
mov rcx, rdi
call fcn.140003eac
mov r14d, eax
test eax, eax
je 0x1400031d9
mov edx, dword [rsi + 0x20]
mov r8d, ebp
mov rcx, rdi
call fcn.140003eac
test eax, eax
je 0x1400031d9
add r12, r15
mov r13d, eax
mov eax, dword [rsi + 0x18]
add r13, r15
add r14, r15
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], eax
mov r12d, ebx
test eax, eax
je 0x1400031d9
mov esi, dword [rsp + 0x70]
mov edx, dword [r13]
mov r8d, ebp
mov rcx, rdi
call fcn.140003eac
test eax, eax
je 0x1400031b8
mov rdx, qword [rsp + 0x28]
mov ecx, eax
movzx eax, word [r14]
add rcx, r15
mov edx, dword [rdx + rax*4]
cmp edx, esi
jb 0x140003194
mov eax, dword [rsp + 0x88]
add eax, esi
cmp edx, eax
jb 0x1400031b8
mov r9, qword [rsp + 0x80]
sub r9, rcx
movzx eax, byte [rcx]
movzx r8d, byte [rcx + r9]
sub eax, r8d
jne 0x1400031b4
inc rcx
test r8d, r8d
jne 0x14000319f
test eax, eax
je 0x1400031cc
inc r12d
add r13, 4
add r14, 2
cmp r12d, dword [rsp + 0x20]
jae 0x1400031d9
jmp 0x14000315f
mov r8d, ebp
mov rcx, rdi
call fcn.140003eac
mov ebx, eax
mov eax, ebx
mov rbx, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x1400032c8
Capabilities:
Resolve function by parsing pe exports

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
xor r9d, r9d
mov rsi, rdx
mov r8, rcx
test rcx, rcx
je 0x1400033af
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x1400033af
movsxd rax, dword [rcx + 0x3c]
mov ecx, 0x20b
cmp word [rax + r8 + 0x18], cx
jne 0x14000331c
mov ecx, dword [rax + r8 + 0x88]
jmp 0x140003321
mov ecx, dword [rax + r8 + 0x78]
mov r10d, ecx
mov edx, r9d
mov r14d, dword [r10 + r8 + 0x24]
mov r15d, dword [r10 + r8 + 0x20]
add r14, r8
mov edi, dword [r10 + r8 + 0x1c]
add r15, r8
mov r12d, dword [r10 + r8 + 0x14]
add rdi, r8
test r12d, r12d
je 0x1400033aa
cmp rsi, 0xffff
ja 0x140003365
movzx r11d, dx
mov ecx, r11d
movzx eax, si
add ecx, dword [r10 + r8 + 0x10]
cmp eax, ecx
jmp 0x140003394
cmp edx, dword [r10 + r8 + 0x18]
jae 0x1400033af
mov eax, edx
mov rbp, rsi
mov ecx, dword [r15 + rax*4]
movzx r11d, word [r14 + rax*2]
add rcx, r8
sub rbp, rcx
movzx eax, byte [rcx]
movzx ebx, byte [rcx + rbp]
sub eax, ebx
jne 0x140003392
inc rcx
test ebx, ebx
jne 0x140003380
test eax, eax
je 0x14000339f
inc edx
cmp edx, r12d
jb 0x140003349
jmp 0x1400033aa
movzx eax, r11w
mov r9d, dword [rdi + rax*4]
add r9, r8
mov rax, r9
jmp 0x1400033b1
xor eax, eax
mov rbx, qword [rsp + 0x20]
mov rbp, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
pop r15
pop r14
pop r12
ret

Function at 0x14000349c
Capabilities:
Resolve function by parsing pe exports

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 r14
movsxd rax, dword [rcx + 0x3c]
xor r8d, r8d
mov rbp, rdx
mov r9, rcx
mov r11d, r8d
mov r10d, dword [rax + rcx + 0x88]
add r10, rcx
mov ebx, dword [r10 + 0x18]
test ebx, ebx
je 0x140003525
mov r14d, dword [r10 + 0x20]
mov esi, r11d
mov rdi, rbp
lea rax, [r14 + rsi*4]
mov ecx, dword [rax + r9]
add rcx, r9
sub rdi, rcx
movzx eax, byte [rcx]
movzx edx, byte [rcx + rdi]
sub eax, edx
jne 0x1400034fe
inc rcx
test edx, edx
jne 0x1400034ec
test eax, eax
je 0x14000350c
inc r11d
cmp r11d, ebx
jb 0x1400034d8
jmp 0x140003525
mov ecx, dword [r10 + 0x24]
add rcx, r9
movzx edx, word [rcx + rsi*2]
mov ecx, dword [r10 + 0x1c]
add rcx, r9
mov r8d, dword [rcx + rdx*4]
add r8, r9
mov rbx, qword [rsp + 0x10]
mov rax, r8
mov rbp, qword [rsp + 0x18]
mov rsi, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x28]
pop r14
ret
Function at 0x1400035b0
Capabilities:
Attach user process memory

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], rbp
push rsi
push r14
push r15
sub rsp, 0x50
xor ebx, ebx
mov rbp, rcx
cmp qword [0x1400119c0], rbx
jne 0x1400035f2
xor edx, edx
xor ecx, ecx
call fcn.1400031f0
mov rcx, rax
call fcn.140003578
mov qword [0x1400119c0], rax
test rax, rax
je 0x1400036ed
lea rcx, [0x14000c360]
call fcn.1400033cc
test rax, rax
je 0x1400036ed
xor r8d, r8d
mov qword [rsp + 0x80], rbx
lea rdx, [rsp + 0x80]
mov rcx, rax
call fcn.1400039e4
test eax, eax
js 0x1400036ed
mov r14, qword [0x1400119c0]
lea rdx, [rsp + 0x78]
xor r8d, r8d
mov qword [rsp + 0x78], rbx
lea rcx, [0x14000c370]
mov r15, qword [r14 + 0x20]
call fcn.140003c54
test eax, eax
js 0x1400036ed
cmp qword [rsp + 0x78], rbx
je 0x1400036ed
mov rcx, qword [rsp + 0x78]
call fcn.140003b24
mov rsi, rax
test rax, rax
je 0x1400036dd
mov rdx, rbp
mov rcx, rax
call fcn.14000349c
test rax, rax
je 0x1400036cf
movsxd rcx, dword [rax + 4]
lea eax, [rcx - 0x1000]
cmp eax, 0xffffffff
jle 0x1400036cf
lea rax, [rcx - 0x1000]
mov rbp, rcx
cmp rax, qword [r14 + 0x30]
jae 0x1400036cf
mov rcx, qword [rsp + 0x80]
lea rdx, [rsp + 0x20]
call qword [sym.imp.ntoskrnl.exe_KeStackAttachProcess]
movsxd rbx, dword [r15 + rbp*4 - 0x4000]
lea rcx, [rsp + 0x20]
sar rbx, 4
add rbx, r15
call qword [sym.imp.ntoskrnl.exe_KeUnstackDetachProcess]
mov edx, 0x5347
mov rcx, rsi
call qword [sym.imp.ntoskrnl.exe_ExFreePoolWithTag]
mov rcx, qword [rsp + 0x78]
mov edx, 0x5347
call qword [sym.imp.ntoskrnl.exe_ExFreePoolWithTag]
lea r11, [rsp + 0x50]
mov rax, rbx
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rsi
ret

Function at 0x1400039e4
Capabilities:
Find process by pid

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x40
mov rsi, r8
mov rdi, rdx
call qword [sym.imp.ntoskrnl.exe_PsLookupProcessByProcessId]
mov ebx, eax
test eax, eax
js 0x140003a3c
test rsi, rsi
je 0x140003a33
mov rcx, qword [rdi]
mov r9d, 0x1fffff
mov qword [rsp + 0x30], rsi
xor r8d, r8d
mov byte [rsp + 0x28], 0
mov edx, 0x200
and qword [rsp + 0x20], 0
call qword [sym.imp.ntoskrnl.exe_ObOpenObjectByPointer]
mov ebx, eax
mov rcx, qword [rdi]
call qword [sym.imp.ntoskrnl.exe_ObfDereferenceObject]
mov rsi, qword [rsp + 0x58]
mov eax, ebx
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
ret
Function at 0x140003c54
Capabilities:
Get file attributes
Read file on windows

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xe0
mov r15, rdx
mov r14, r8
mov rdx, rcx
lea rcx, [rbp - 0x11]
call qword [sym.imp.ntoskrnl.exe_RtlInitUnicodeString]
and qword [rbp + 0x1f], 0
lea rax, [rbp - 0x11]
mov dword [rsp + 0x68], 0x100
lea r9, [rbp - 0x21]
and qword [rsp + 0x60], 0
lea r8, [rbp + 0x17]
and dword [rsp + 0x58], 0
lea rcx, [rbp + 0x7f]
and dword [rsp + 0x50], 0
xorps xmm0, xmm0
and qword [rsp + 0x48], 0
mov edx, 0x100080
mov dword [rsp + 0x40], 0x20
mov qword [rbp + 0x27], rax
mov eax, 1
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], 0x80
and qword [rsp + 0x20], 0
mov dword [rbp + 0x17], 0x30
mov dword [rbp + 0x2f], 0x240
movdqu xmmword [rbp + 0x37], xmm0
call qword [sym.imp.ntoskrnl.exe_IoCreateFile]
mov edi, eax
test eax, eax
js 0x140003dab
mov rcx, qword [rbp + 0x7f]
lea r8, [rbp - 1]
mov r9d, 0x18
mov dword [rsp + 0x20], 5
lea rdx, [rbp - 0x21]
call qword [sym.imp.ntoskrnl.exe_ZwQueryInformationFile]
mov edi, eax
test eax, eax
js 0x140003da1
mov esi, dword [rbp + 7]
mov ecx, esi
call fcn.140003ac4
mov rcx, qword [rbp + 0x7f]
mov rbx, rax
xor eax, eax
xor r9d, r9d
and qword [rsp + 0x40], rax
xor r8d, r8d
mov qword [rbp - 0x29], rax
xor edx, edx
lea rax, [rbp - 0x29]
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x21]
mov dword [rsp + 0x30], esi
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rax
call qword [sym.imp.ntoskrnl.exe_ZwReadFile]
mov edi, eax
test eax, eax
js 0x140003d8e
test r15, r15
je 0x140003d84
mov qword [r15], rbx
test r14, r14
je 0x140003da1
mov dword [r14], esi
jmp 0x140003da1
test rbx, rbx
je 0x140003da1
mov edx, 0x5347
mov rcx, rbx
call qword [sym.imp.ntoskrnl.exe_ExFreePoolWithTag]
mov rcx, qword [rbp + 0x7f]
call qword [sym.imp.ntoskrnl.exe_ZwClose]
lea r11, [rsp + 0xe0]
mov eax, edi
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret

Function at 0x140003eac
Capabilities:
Enumerate pe sections

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
movzx eax, word [rcx + 0x14]
lea r10, [rcx + 0x18]
movzx ebx, word [rcx + 6]
xor r9d, r9d
add r10, rax
mov edi, r8d
cmp r9w, bx
movzx r11d, r9w
jae 0x140003f08
mov r8d, dword [r10 + 0xc]
cmp r8d, edx
ja 0x140003ee9
mov ecx, dword [r10 + 8]
add ecx, r8d
cmp ecx, edx
ja 0x140003ef7
add r10, 0x28
inc r11w
cmp r11w, bx
jmp 0x140003ed3
mov eax, dword [r10 + 0x14]
sub eax, r8d
add edx, eax
cmp edx, edi
sbb r9d, r9d
and r9d, edx
mov rbx, qword [rsp + 8]
mov eax, r9d
mov rdi, qword [rsp + 0x10]
ret
Function at 0x140004d2c
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
movsxd rax, dword [rcx + 0x3c]
xor r8d, r8d
mov rbp, rdx
mov r9d, dword [rax + rcx + 0x88]
add r9, rcx
mov esi, dword [r9 + 0x1c]
mov r11d, dword [r9 + 0x20]
add rsi, rcx
mov r10d, dword [r9 + 0x24]
add r11, rcx
add r10, rcx
test edx, 0xffff0000
jne 0x140004d7a
movzx eax, bp
sub eax, dword [r9 + 0x10]
jmp 0x140004db9
mov edx, dword [r9 + 0x18]
jmp 0x140004daf
mov eax, dword [r11]
dec edx
add rax, rcx
mov rdi, rbp
sub rdi, rax
movzx r9d, byte [rax]
movzx ebx, byte [rax + rdi]
sub r9d, ebx
jne 0x140004da2
inc rax
test ebx, ebx
jne 0x140004d8e
test r9d, r9d
je 0x140004db5
add r11, 4
add r10, 2
test edx, edx
jne 0x140004d80
jmp 0x140004dc0
movzx eax, word [r10]
mov r8d, dword [rsi + rax*4]
add r8, rcx
mov rbx, qword [rsp + 8]
mov rax, r8
mov rbp, qword [rsp + 0x10]
mov rsi, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
ret

Function at 0x140006340
Capabilities:
Find process by pid

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, 0x40
and qword [rax - 0x28], 0
mov r15, rdx
lea rdx, [rax - 0x28]
mov rdi, r9
mov r12, r8
call qword [sym.imp.ntoskrnl.exe_PsLookupProcessByProcessId]
mov ebp, eax
test eax, eax
js 0x14000640a
mov rbx, qword [rsp + 0x30]
xor r14d, r14d
mov rsi, qword [rbx + 0x28]
test rsi, rsi
jne 0x14000639b
call fcn.140006318
mov ecx, eax
mov rsi, qword [rcx + rbx]
test rdi, rdi
je 0x14000640f
lea rdx, [r14 + r15]
mov rcx, rsi
call fcn.140006440
test rax, rax
je 0x14000640a
and qword [rsp + 0x38], 0
mov rcx, rax
and ecx, 0xfff
mov edx, 0x1000
sub rdx, rcx
mov r8, rdi
cmp rdx, rdi
lea rcx, [r14 + r12]
mov r9d, 1
cmovb r8, rdx
lea rdx, [rsp + 0x38]
mov qword [rsp + 0x20], rdx
mov rdx, rax
call qword [sym.imp.ntoskrnl.exe_MmCopyMemory]
mov ebp, eax
mov rax, qword [rsp + 0x38]
sub rdi, rax
add r14, rax
test ebp, ebp
js 0x14000640a
test rax, rax
je 0x14000640a
test rdi, rdi
jne 0x1400063a0
mov rbx, qword [rsp + 0x30]
test rbx, rbx
je 0x14000641d
mov rcx, rbx
call qword [sym.imp.ntoskrnl.exe_ObfDereferenceObject]
mov rbx, qword [rsp + 0x60]
mov eax, ebp
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x78]
add rsp, 0x40
pop r15
pop r14
pop r12
ret
Function at 0x140006634
Capabilities:
Find process by pid

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, 0x30
and qword [rax - 0x28], 0
mov r15, rdx
lea rdx, [rax - 0x28]
mov rdi, r9
mov r12, r8
call qword [sym.imp.ntoskrnl.exe_PsLookupProcessByProcessId]
mov ebp, eax
test eax, eax
js 0x1400066ee
mov rbx, qword [rsp + 0x20]
xor r14d, r14d
mov rsi, qword [rbx + 0x28]
test rsi, rsi
jne 0x14000668b
call fcn.140006318
mov ecx, eax
mov rsi, qword [rcx + rbx]
test rdi, rdi
je 0x1400066f3
lea rdx, [r14 + r15]
mov rcx, rsi
call fcn.140006440
test rax, rax
je 0x1400066ee
and qword [rsp + 0x28], 0
lea r9, [rsp + 0x28]
mov rcx, rax
mov edx, 0x1000
and ecx, 0xfff
mov r8, rdi
sub rdx, rcx
mov rcx, rax
cmp rdx, rdi
cmovb r8, rdx
lea rdx, [r14 + r12]
call fcn.1400065b4
mov ebp, eax
mov rax, qword [rsp + 0x28]
sub rdi, rax
add r14, rax
test ebp, ebp
js 0x1400066ee
test rax, rax
je 0x1400066ee
test rdi, rdi
jne 0x140006690
mov rbx, qword [rsp + 0x20]
test rbx, rbx
je 0x140006701
mov rcx, rbx
call qword [sym.imp.ntoskrnl.exe_ObfDereferenceObject]
mov rbx, qword [rsp + 0x50]
mov eax, ebp
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
add rsp, 0x30
pop r15
pop r14
pop r12
ret

Function at 0x140006994
Capabilities:
Attach user process memory
Find process by pid

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x70
and qword [rax - 0x58], 0
mov r15, rdx
lea rdx, [rax - 0x58]
mov ebx, r9d
mov r14, r8
call qword [sym.imp.ntoskrnl.exe_PsLookupProcessByProcessId]
mov ebp, eax
test eax, eax
js 0x140006a98
mov ecx, ebx
mov esi, ebx
call fcn.140003ac4
mov rdi, rax
test rax, rax
je 0x140006a8d
mov r8d, ebx
mov rdx, r14
mov rcx, rax
call fcn.14000bdc0
mov rcx, qword [rsp + 0x30]
lea rdx, [rsp + 0x38]
call qword [sym.imp.ntoskrnl.exe_KeStackAttachProcess]
mov r8d, ebx
mov rdx, r15
xor ecx, ecx
call qword [sym.imp.ntoskrnl.exe_MmCreateMdl]
mov rbx, rax
test rax, rax
je 0x140006a7a
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.ntoskrnl.exe_MmProbeAndLockPages]
xor r9d, r9d
mov dword [rsp + 0x28], 0x10
and dword [rsp + 0x20], 0
xor edx, edx
mov rcx, rbx
lea r8d, [r9 + 1]
call qword [sym.imp.ntoskrnl.exe_MmMapLockedPagesSpecifyCache]
mov r14, rax
test rax, rax
je 0x140006a68
mov r8d, esi
mov rdx, rdi
mov rcx, rax
call fcn.14000bdc0
mov rdx, rbx
mov rcx, r14
call qword [sym.imp.ntoskrnl.exe_MmUnmapLockedPages]
xor ebp, ebp
mov rcx, rbx
call qword [sym.imp.ntoskrnl.exe_MmUnlockPages]
mov rcx, rbx
call qword [sym.imp.ntoskrnl.exe_IoFreeMdl]
lea rcx, [rsp + 0x38]
call qword [sym.imp.ntoskrnl.exe_KeUnstackDetachProcess]
mov rcx, rdi
call fcn.140003bc4
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ntoskrnl.exe_ObfDereferenceObject]
lea r11, [rsp + 0x70]
mov eax, ebp
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rdi
ret
Function at 0x140006ab4
Capabilities:
Attach user process memory
Find process by pid

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x70
and qword [rax - 0x58], 0
mov r14, rdx
lea rdx, [rax - 0x58]
mov ecx, ecx
mov r15d, r9d
mov rbx, r8
xor bpl, bpl
call qword [sym.imp.ntoskrnl.exe_PsLookupProcessByProcessId]
mov edi, eax
test eax, eax
js 0x140006bda
mov rcx, rbx
call qword [sym.imp.ntoskrnl.exe_MmIsAddressValid]
test al, al
je 0x140006bda
cmp qword [rsp + 0x30], 0
je 0x140006bda
and qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov edx, r15d
mov rcx, rbx
call qword [sym.imp.ntoskrnl.exe_IoAllocateMdl]
mov rbx, rax
test rax, rax
jne 0x140006b3a
mov eax, 0xc0000001
jmp 0x140006bdc
mov rcx, rbx
call qword [sym.imp.ntoskrnl.exe_MmBuildMdlForNonPagedPool]
xor edx, edx
mov rcx, rbx
call qword [sym.imp.ntoskrnl.exe_MmMapLockedPages]
mov rsi, rax
test rax, rax
jne 0x140006b61
mov rcx, rbx
call qword [sym.imp.ntoskrnl.exe_IoFreeMdl]
jmp 0x140006b30
call qword [sym.imp.ntoskrnl.exe_IoGetCurrentProcess]
mov rcx, qword [rsp + 0x30]
cmp rax, rcx
je 0x140006b7f
lea rdx, [rsp + 0x38]
call qword [sym.imp.ntoskrnl.exe_KeStackAttachProcess]
mov bpl, 1
mov rcx, r14
call qword [sym.imp.ntoskrnl.exe_MmIsAddressValid]
test al, al
je 0x140006bb0
mov r8, r15
mov rdx, r14
mov rcx, rsi
call fcn.14000bdc0
mov rax, cr8
mov ecx, 2
mov cr8, rcx
movzx eax, al
mov cr8, rax
jmp 0x140006bb5
mov edi, 0xc0000005
test bpl, bpl
je 0x140006bc5
lea rcx, [rsp + 0x38]
call qword [sym.imp.ntoskrnl.exe_KeUnstackDetachProcess]
mov rdx, rbx
mov rcx, rsi
call qword [sym.imp.ntoskrnl.exe_MmUnmapLockedPages]
mov rcx, rbx
call qword [sym.imp.ntoskrnl.exe_IoFreeMdl]
mov eax, edi
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rdi
ret
Function at 0x140006cb8
Capabilities:
Delete file

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], rdi
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0xd0
xor edi, edi
xorps xmm0, xmm0
xorps xmm1, xmm1
mov qword [rbp + 0x77], rdi
mov rdx, rcx
mov dword [rbp + 0x2b], edi
lea rcx, [rbp + 7]
mov dword [rbp + 0x43], edi
movups xmmword [rbp + 7], xmm0
movups xmmword [rbp + 0x17], xmm1
call qword [sym.imp.ntoskrnl.exe_RtlInitUnicodeString]
mov qword [rsp + 0x70], rdi
lea rax, [rbp + 7]
mov dword [rsp + 0x68], 0x100
lea r9, [rbp + 0x17]
mov qword [rsp + 0x60], rdi
lea r8, [rbp + 0x27]
mov dword [rsp + 0x58], edi
lea rcx, [rbp + 0x77]
mov dword [rsp + 0x50], edi
xorps xmm0, xmm0
mov qword [rsp + 0x48], rdi
mov edx, 0x110000
mov dword [rsp + 0x40], 0x60
mov dword [rsp + 0x38], 1
mov dword [rsp + 0x30], 4
mov dword [rsp + 0x28], 0x80
mov qword [rsp + 0x20], rdi
mov dword [rbp + 0x27], 0x30
mov qword [rbp + 0x2f], rdi
mov dword [rbp + 0x3f], 0x240
mov qword [rbp + 0x37], rax
movdqu xmmword [rbp + 0x47], xmm0
call qword [sym.imp.ntoskrnl.exe_IoCreateFileEx]
mov ebx, eax
test eax, eax
js 0x140006def
mov r8, qword [sym.imp.ntoskrnl.exe_IoFileObjectType]
lea rax, [rbp + 0x6f]
mov rcx, qword [rbp + 0x77]
xor r9d, r9d
mov qword [rsp + 0x30], rdi
mov edx, 0x110000
mov qword [rsp + 0x28], rax
mov r8, qword [r8]
mov dword [rsp + 0x20], 0x746c6644
call qword [sym.imp.ntoskrnl.exe_ObReferenceObjectByHandleWithTag]
mov ebx, eax
test eax, eax
js 0x140006def
mov rax, qword [rbp + 0x6f]
xor edx, edx
mov rcx, qword [rax + 0x28]
mov qword [rcx + 0x10], rdi
mov rcx, qword [rbp + 0x6f]
mov rcx, qword [rcx + 0x28]
call qword [sym.imp.ntoskrnl.exe_MmFlushImageSection]
lea rcx, [rbp + 0x27]
call qword [sym.imp.ntoskrnl.exe_ZwDeleteFile]
mov rcx, qword [rbp + 0x6f]
mov ebx, eax
call qword [sym.imp.ntoskrnl.exe_ObfDereferenceObject]
mov rcx, qword [rbp + 0x77]
xor edx, edx
call qword [sym.imp.ntoskrnl.exe_ObCloseHandle]
lea r11, [rsp + 0xd0]
mov eax, ebx
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret