joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14005cc08
Capabilities:
Copy file

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
cmp r8d, 2
mov ebx, r8d
mov rdi, rdx
mov rsi, rcx
jle 0x14005cc30
call qword [sym.imp.SHLWAPI.dll_StrCmpNIW]
test eax, eax
je 0x14005cc53
movzx eax, word [rdi]
cmp word [rsi], ax
jne 0x14005cc51
movzx eax, word [rdi + 2]
cmp word [rsi + 2], ax
jne 0x14005cc51
mov ecx, 0x3a
cmp cx, ax
jne 0x14005cc51
lea ebx, [rcx - 0x38]
jmp 0x14005cc53
xor ebx, ebx
movsxd rax, ebx
xor r8d, r8d
mov rcx, rdi
lea rdx, [rsi + rax*2]
call fcn.14005ca64
xor r8d, r8d
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CreateHardLinkW]
mov r8d, 1
mov rdx, rdi
mov rcx, rsi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp qword [sym.imp.KERNEL32.dll_CopyFileW]
adc esp, dword [rsi]
movsd dword [rdi], dword [rsi]
xor byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
adc esp, dword [rsi]
movsd dword [rdi], dword [rsi]
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
adc esp, dword [rsi]
movsd dword [rdi], dword [rsi]
xor byte [rbx], dl
movsd dword [rdi], dword es:[rsi]
out dx, eax
adc eax, 0x17ffcf31
cmp dh, al
call qword [rdi]
cmp dh, al
call qword [rdi]
cmp dh, al
call qword [rdi]
cmp dh, al
call qword [rdi]
cmp dh, al
call qword [rdi]
cmp dh, al
call qword [rdi]
cmp dh, al
call qword [rdi]
cmp dh, al
call qword [rdi]
cmp dh, al
call qword [rdi]
cmp dh, al
call qword [rdi]
cmp dh, al
call qword [rdi]
cmp dh, al
call qword [0x154230832]
movsd dword [rdi], dword es:[rsi]
out dx, eax
adc esp, dword [rsi]
movsd dword [rdi], dword [rsi]
xor byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rbx], dl
movsd dword [rdi], dword es:[rsi]
adc byte [rbx], dl
movsd dword [rdi], dword es:[rsi]
fist word [0x15823085a]
cmp dh, al
call qword [rdi]
cmp dh, al
call qword [rdi]
cmp dh, al
call qword [rdi]
cmp dh, al
call qword [rdi]
cmp dh, al
call qword [rdi]
cmp dh, al
call qword [rdi]
cmp dh, al
call qword [rdi]
cmp dh, al
call qword [rdi]
cmp dh, al
call qword [rdi]
cmp dh, al
call qword [rdi]
cmp dh, al
call qword [rdi]
cmp dh, al
call qword [rdi]
cmp dh, al
call qword [rdi]
cmp dh, al
call qword [0x154230896]
movsd dword [rdi], dword es:[rsi]
fist word [rbx]
movsd dword [rdi], dword es:[rsi]
adc byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rbx], dl
movsd dword [rdi], dword es:[rsi]
invalid
Function at 0x1401059b0
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x40
mov ebp, r8d
mov r13, rdx
mov r14, rcx
call fcn.1400f92c0
xor ebx, ebx
mov rdi, rax
cmp qword [0x14012f398], rbx
jne 0x140105ab6
lea rcx, str.USER32.DLL
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rsi, rax
test rax, rax
je 0x140105b8b
lea rdx, str.MessageBoxA
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140105b8b
mov rcx, rax
call sub.KERNEL32.dll_EncodePointer
lea rdx, [0x1401204d0]
mov rcx, rsi
mov qword [0x14012f398], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
call sub.KERNEL32.dll_EncodePointer
lea rdx, str.GetLastActivePopup
mov rcx, rsi
mov qword [0x14012f3a0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
call sub.KERNEL32.dll_EncodePointer
lea rdx, str.GetUserObjectInformationA
mov rcx, rsi
mov qword [0x14012f3a8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
call sub.KERNEL32.dll_EncodePointer
mov r11, rax
mov qword [0x14012f3b8], rax
test rax, rax
je 0x140105aad
lea rdx, str.GetProcessWindowStation
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
call sub.KERNEL32.dll_EncodePointer
mov qword [0x14012f3b0], rax
jmp 0x140105abd
mov rax, qword [0x14012f3b0]
jmp 0x140105ac4
mov rax, qword [0x14012f3b0]
mov r11, qword [0x14012f3b8]
cmp rax, rdi
je 0x140105b2c
cmp r11, rdi
je 0x140105b2c
mov rcx, rax
call sub.KERNEL32.dll_DecodePointer
mov rcx, qword [0x14012f3b8]
mov rsi, rax
call sub.KERNEL32.dll_DecodePointer
mov r12, rax
test rsi, rsi
je 0x140105b2c
test rax, rax
je 0x140105b2c
call rsi
test rax, rax
je 0x140105b26
lea rcx, [rsp + 0x88]
mov r9d, 0xc
lea r8, [rsp + 0x30]
mov qword [rsp + 0x20], rcx
lea edx, [r9 - 0xb]
mov rcx, rax
call r12
test eax, eax
je 0x140105b26
test byte [rsp + 0x38], 1
jne 0x140105b2c
bts ebp, 0x15
jmp 0x140105b6a
mov rcx, qword [0x14012f3a0]
cmp rcx, rdi
je 0x140105b6a
call sub.KERNEL32.dll_DecodePointer
test rax, rax
je 0x140105b6a
call rax
mov rbx, rax
test rax, rax
je 0x140105b6a
mov rcx, qword [0x14012f3a8]
cmp rcx, rdi
je 0x140105b6a
call sub.KERNEL32.dll_DecodePointer
test rax, rax
je 0x140105b6a
mov rcx, rbx
call rax
mov rbx, rax
mov rcx, qword [0x14012f398]
call sub.KERNEL32.dll_DecodePointer
test rax, rax
je 0x140105b8b
mov r9d, ebp
mov r8, r13
mov rdx, r14
mov rcx, rbx
call rax
jmp 0x140105b8d
xor eax, eax
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
add rsp, 0x40
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret

Function at 0x1400025c0
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x14000260a
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x14000260a
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x14000260a
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x14000260a
cmp dword [rcx + 0x84], 0xe
jbe 0x14000260a
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x14000260c
xor al, al
add rsp, 0x28
ret
Function at 0x140a2ecb0
Capabilities:
Terminate process

Disassembly:
mov edi, 0xc2e441aa
mov r13b, 0x7b
neg cl
or al, 0x99
lodsd eax, dword [rsi]
invalid
cld
pop r11
jmp 0x140a2ecbd
inc rsi
mov byte [rdi], dl
inc rdi
mov dl, byte [rsi]
add ebx, ebx
jne 0x140a2eccd
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
mov dl, byte [rsi]
jb 0x140a2ecb5
lea eax, [rcx + 1]
jmp 0x140a2ecdb
dec eax
call r11
adc eax, eax
call r11
adc eax, eax
add ebx, ebx
jne 0x140a2ecee
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
mov dl, byte [rsi]
jae 0x140a2ecd4
sub eax, 3
jb 0x140a2ed0e
shl eax, 8
movzx edx, dl
or eax, edx
inc rsi
xor eax, 0xffffffff
je 0x140a2ed5d
sar eax, 1
movsxd rbp, eax
jb 0x140a2ed44
jmp 0x140a2ed1c
add ebx, ebx
jne 0x140a2ed1a
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jb 0x140a2ed44
inc ecx
add ebx, ebx
jne 0x140a2ed2a
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jb 0x140a2ed44
call r11
adc ecx, ecx
add ebx, ebx
jne 0x140a2ed3d
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jae 0x140a2ed2c
add ecx, 2
jmp 0x140a2ed49
call r11
adc ecx, ecx
cmp rbp, 0xfffffffffffffb00
adc ecx, 2
call fcn.140a2ec72
jmp 0x140a2ecbd
pop rsi
pop rdi
pop rax
mov dword [rdi], eax
sub rsp, 0x28
lea rdi, [rsi + 0xa23000]
mov eax, dword [rdi]
or eax, eax
je 0x140a2edc9
mov ebx, dword [rdi + 4]
lea rcx, [rax + rsi + 0xa2f1e4]
add rbx, rsi
add rdi, 8
call qword [sym.imp.KERNEL32.DLL_LoadLibraryA]
xchg rbp, rax
mov al, byte [rdi]
inc rdi
or al, al
je 0x140a2ed6d
jns 0x140a2eda2
movzx rdx, word [rdi]
add rdi, 2
jmp 0x140a2edac
mov rcx, rdi
mov rdx, rdi
dec eax
repne scasb al, byte [rdi]
mov rcx, rbp
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
or rax, rax
je 0x140a2edc3
mov qword [rbx], rax
add rbx, 8
jmp 0x140a2ed8d
jmp qword [sym.imp.KERNEL32.DLL_ExitProcess]
add rsp, 0x28
add rdi, 4
lea rbx, [rsi - 4]
xor eax, eax
mov al, byte [rdi]
inc rdi
or eax, eax
je 0x140a2ee0d
cmp al, 0xef
ja 0x140a2edf5
add rbx, rax
mov rax, qword [rbx]
bswap rax
add rax, rsi
mov qword [rbx], rax
jmp 0x140a2edd5
and al, 0xf
shl eax, 0x10
mov ax, word [rdi]
add rdi, 2
or eax, eax
jne 0x140a2ede4
mov eax, dword [rdi]
add rdi, 4
jmp 0x140a2ede4
mov rbp, qword [sym.imp.KERNEL32.DLL_VirtualProtect]
lea rdi, [rsi - 0x1000]
mov ebx, 0x1000
push rax
mov r9, rsp
mov r8d, 4
mov rdx, rbx
mov rcx, rdi
sub rsp, 0x20
call rbp
lea rax, [rdi + 0x26f]
and byte [rax], 0x7f
and byte [rax + 0x28], 0x7f
lea r9, [rsp + 0x20]
mov r8, qword [r9]
mov rdx, rbx
mov rcx, rdi
call rbp
add rsp, 0x28
mov byte [fcn.140a2ee8c], 0xfc
lea rcx, [rsi - 0x1000]
push 1
pop rdx
xor r8, r8
push rax
call fcn.140a2ee8c
pop rax
pop rbp
pop rdi
pop rsi
pop rbx
lea rax, [rsp - 0x80]
push 0
cmp rsp, rax
jne 0x140a2ee7c
sub rsp, 0xffffffffffffff80
jmp 0x1406e767c
Function at 0x123c0
Capabilities:
Create device object

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x58
lea rax, [0x0002dde0]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x100
mov r9d, 0x22
lea r8, [0x0002d960]
xor edx, edx
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.ntoskrnl.exe_IoCreateDevice]
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
jge 0x12410
mov eax, dword [rsp + 0x40]
jmp 0x124a7
mov rax, qword [0x0002dde0]
mov ecx, dword [rax + 0x30]
and ecx, 0xffffff7f
mov rax, qword [0x0002dde0]
mov dword [rax + 0x30], ecx
lea rdx, [0x0002d960]
lea rcx, [0x0002db70]

Function at 0x12500
Capabilities:
Complete processing asynchronous io request

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x38
mov rcx, qword [rsp + 0x48]
call fcn.00012330
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
movzx eax, byte [rax]
mov dword [rsp + 0x2c], eax
cmp dword [rsp + 0x2c], 0x16
ja case.0x1254a.1
movsxd rax, dword [rsp + 0x2c]
lea rcx, [0x00010000]
mov eax, dword [rcx + rax*4 + 0x25f4]
add rax, rcx
jmp rax
mov rdx, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x48]
call fcn.0001bbd0
jmp 0x125ee
mov rdx, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x48]
call fcn.0001bc20
jmp 0x125ee
mov rdx, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x48]
call fcn.0001bc20
jmp 0x125ee
mov rdx, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x48]
and al, 0x48
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
call fcn.00020de0
jmp 0x125ee
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
call fcn.00020ff0
jmp 0x125ee
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
call fcn.000124c0
jmp 0x125ee
mov rax, qword [rsp + 0x48]
mov dword [rax + 0x30], 0
mov rax, qword [rsp + 0x48]
mov qword [rax + 0x38], 0
xor edx, edx
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ntoskrnl.exe_IofCompleteRequest]
xor eax, eax
Function at 0x17160
Capabilities:
Complete processing asynchronous io request

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x48
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x3c], 0
call fcn.0001bc70
movzx eax, al
test eax, eax
jne 0x171af
mov rcx, qword [rsp + 0x50]
call fcn.00012660
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.ntoskrnl.exe_IofCallDriver]
jmp 0x17357
lea rcx, [0x0002de00]
call qword [sym.imp.ntoskrnl.exe_KeAcquireSpinLockRaiseToDpc]
mov byte [rsp + 0x20], al
mov rdx, qword [rsp + 0x58]
mov rdx, qword [rdx + 0x30]
mov rcx, qword [0x0002de18]
call fcn.00011d40
mov qword [rsp + 0x28], rax
cmp qword [rsp + 0x28], 0
je 0x1731b
mov rax, qword [rsp + 0x28]
sub rax, 0x10
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 0x48]
and eax, 2
test eax, eax
je 0x1731b
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0xe9]
test eax, eax
jne 0x1731b
call fcn.0001bc70
movzx eax, al
test eax, eax
je 0x172dc
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x18d]
test eax, eax
jne 0x172dc
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0xe7]
test eax, eax
je 0x172dc
mov rcx, qword [rsp + 0x30]
add rcx, 0x190
call qword [sym.imp.ntoskrnl.exe_KeAcquireSpinLockRaiseToDpc]
mov byte [rsp + 0x38], al
mov rdx, qword [rsp + 0x50]
add rdx, 0xa8
mov rcx, qword [rsp + 0x30]
add rcx, 0x110
call fcn.00011ef0
mov rcx, qword [rsp + 0x30]
add rcx, 0x190
movzx edx, byte [rsp + 0x38]
call qword [sym.imp.ntoskrnl.exe_KeReleaseSpinLock]
mov rcx, qword [rsp + 0x50]
call fcn.00012c40
mov rax, qword [rsp + 0x50]
add rax, 0x68
lea rcx, [0x00017030]
xchg qword [rax], rcx
mov rax, qword [rsp + 0x50]
mov dword [rax + 0x30], 0x103
xor edx, edx
mov rcx, qword [rsp + 0x30]
call fcn.00016dd0
mov dword [rsp + 0x3c], 0x103
jmp 0x1731b
movzx edx, byte [rsp + 0x20]
lea rcx, [0x0002de00]
call qword [sym.imp.ntoskrnl.exe_KeReleaseSpinLock]
mov r11, qword [rsp + 0x50]
mov qword [r11 + 0x38], 0
mov rax, qword [rsp + 0x50]
mov dword [rax + 0x30], 0xc0000184
xor edx, edx
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ntoskrnl.exe_IofCompleteRequest]
mov eax, 0xc0000184
jmp 0x17357
movzx edx, byte [rsp + 0x20]
lea rcx, [0x0002de00]
call qword [sym.imp.ntoskrnl.exe_KeReleaseSpinLock]
cmp dword [rsp + 0x3c], 0x103
jne 0x1733d
mov eax, dword [rsp + 0x3c]
jmp 0x17357
mov rcx, qword [rsp + 0x50]
call fcn.00012660
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.ntoskrnl.exe_IofCallDriver]
add rsp, 0x48
ret
Function at 0x19a70
Capabilities:
Create device object

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x68
mov byte [rsp + 0x40], 0
mov rdx, qword [rsp + 0x78]
lea rcx, [rsp + 0x48]
call qword [sym.imp.ntoskrnl.exe_RtlInitUnicodeString]
mov r9, qword [rsp + 0x90]
mov r8, qword [rsp + 0x88]
mov edx, 0x1f01ff
lea rcx, [rsp + 0x48]
call qword [sym.imp.ntoskrnl.exe_IoGetDeviceObjectPointer]
mov dword [rsp + 0x44], eax
cmp dword [rsp + 0x44], 0
jge 0x19ad1
mov eax, dword [rsp + 0x44]
jmp 0x19c9e
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
mov eax, dword [rax + 0x30]
and eax, 0x80
test eax, eax
je 0x19b11
mov byte [rsp + 0x40], 1
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
mov ecx, dword [rax + 0x30]
and ecx, 0xffffff7f
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
mov dword [rax + 0x30], ecx
jmp 0x19b16
mov byte [rsp + 0x40], 0
mov rdx, qword [rsp + 0x90]
mov rdx, qword [rdx]
mov rcx, qword [rsp + 0x90]
mov rcx, qword [rcx]
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], 0
mov eax, dword [rdx + 0x34]
mov dword [rsp + 0x20], eax
mov r9d, dword [rcx + 0x48]
mov r8, qword [rsp + 0x80]
xor edx, edx
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ntoskrnl.exe_IoCreateDevice]
mov dword [rsp + 0x44], eax
cmp dword [rsp + 0x44], 0
jge 0x19ba1
mov rcx, qword [rsp + 0x88]
mov rcx, qword [rcx]
call qword [sym.imp.ntoskrnl.exe_ObfDereferenceObject]
mov r11, qword [rsp + 0x98]
mov qword [r11], 0
mov rax, qword [rsp + 0x90]
mov qword [rax], 0
mov eax, dword [rsp + 0x44]
jmp 0x19c9e
mov rdx, qword [rsp + 0x90]
mov rdx, qword [rdx]
mov rcx, qword [rsp + 0x98]
mov rcx, qword [rcx]
call qword [sym.imp.ntoskrnl.exe_IoAttachDeviceToDeviceStack]
mov r11, rax
mov rax, qword [rsp + 0x90]
mov qword [rax], r11
mov rax, qword [rsp + 0x90]
cmp qword [rax], 0
jne 0x19c20
mov rcx, qword [rsp + 0x88]
mov rcx, qword [rcx]
call qword [sym.imp.ntoskrnl.exe_ObfDereferenceObject]
mov rcx, qword [rsp + 0x98]
mov rcx, qword [rcx]
call qword [sym.imp.ntoskrnl.exe_IoDeleteDevice]
mov r11, qword [rsp + 0x98]
mov qword [r11], 0
mov rax, qword [rsp + 0x90]
mov qword [rax], 0
mov eax, 0xc0000001
jmp 0x19c9e
mov rcx, qword [rsp + 0x98]
mov rcx, qword [rcx]
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
mov eax, dword [rax + 0x30]
and eax, 0x14
mov ecx, dword [rcx + 0x30]
or ecx, eax
mov rax, qword [rsp + 0x98]
mov rax, qword [rax]
mov dword [rax + 0x30], ecx
mov rax, qword [rsp + 0x98]
mov rax, qword [rax]
mov ecx, dword [rax + 0x30]
and ecx, 0xffffff7f
mov rax, qword [rsp + 0x98]
mov rax, qword [rax]
mov dword [rax + 0x30], ecx
movzx eax, byte [rsp + 0x40]
test eax, eax
je 0x19c9c
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
mov ecx, dword [rax + 0x30]
or ecx, 0x80
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
mov dword [rax + 0x30], ecx
xor eax, eax
add rsp, 0x68
ret
Function at 0x1b890
Capabilities:
Complete processing asynchronous io request

Disassembly:
sub rsp, 0x78
lea rcx, [0x0002de70]
call fcn.00011e70
movzx eax, al
test eax, eax
jne 0x1b9e5
lea rcx, [0x0002de70]
call fcn.00011ea0
mov qword [rsp + 0x40], rax
cmp qword [rsp + 0x40], 0
je 0x1b9e5
lea rax, [0x0002de70]
cmp qword [rsp + 0x40], rax
je 0x1b9e5
mov rax, qword [rsp + 0x40]
sub rax, 0xa8
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x50]
add rcx, 0xa8
call fcn.00011e40
mov rax, qword [rsp + 0x50]
add rax, 0x68
xor ecx, ecx
xchg qword [rax], rcx
mov rcx, qword [rsp + 0x50]
call fcn.00012330
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 8]
movsx eax, word [rax + 0xa]
and eax, 5
test eax, eax
je 0x1b940
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x60], rax
jmp 0x1b96f
mov dword [rsp + 0x28], 0x10
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, 1
xor edx, edx
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 8]
call qword [sym.imp.ntoskrnl.exe_MmMapLockedPagesSpecifyCache]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], 0
jne 0x1b9a1
mov rax, qword [rsp + 0x50]
mov dword [rax + 0x30], 0xc000009a
xor edx, edx
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ntoskrnl.exe_IofCompleteRequest]
mov eax, 0xc000009a
jmp 0x1b9e7
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 8]
mov dword [rsp + 0x48], eax
mov edx, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x30]
call fcn.0001a900
mov dword [rsp + 0x38], eax
mov ecx, dword [rsp + 0x38]
mov rax, qword [rsp + 0x50]
mov qword [rax + 0x38], rcx
mov rax, qword [rsp + 0x50]
mov dword [rax + 0x30], 0
xor edx, edx
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ntoskrnl.exe_IofCompleteRequest]
xor eax, eax
add rsp, 0x78
ret

Function at 0x1bbd0
Capabilities:
Complete processing asynchronous io request

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x28
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x30], 0
mov rax, qword [rsp + 0x30]
mov qword [rax + 0x38], 0
xor edx, edx
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ntoskrnl.exe_IofCompleteRequest]
mov r11, qword [rsp + 0x30]
mov eax, dword [r11 + 0x30]
add rsp, 0x28
ret

Function at 0x1bc20
Capabilities:
Complete processing asynchronous io request

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x28
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x30], 0
mov rax, qword [rsp + 0x30]
mov qword [rax + 0x38], 0
xor edx, edx
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ntoskrnl.exe_IofCompleteRequest]
xor eax, eax
add rsp, 0x28
ret
Function at 0x200f0
Capabilities:
Create thread

Disassembly:
push rdi
sub rsp, 0x50
mov dword [rsp + 0x40], sym.imp.TDI.SYS_TdiMapUserRequest
mov byte [0x0002e0f1], 0
mov byte [0x0002e0f0], 0
lea rdi, [0x0002d110]
xor eax, eax
mov ecx, 2
rep stosb byte [rdi], al
mov eax, dword [rsp + 0x40]
add eax, 0x64
mov edx, eax
xor ecx, ecx
call qword [sym.imp.ntoskrnl.exe_ExAllocatePool]
mov qword [0x0002d0f0], rax
mov qword [rsp + 0x30], 0
lea rax, [0x0001ffa0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x48]
call qword [sym.imp.ntoskrnl.exe_PsCreateSystemThread]
mov dword [rsp + 0x44], eax
cmp dword [rsp + 0x44], 0
jge 0x20176
mov eax, dword [rsp + 0x44]
jmp 0x201b0
mov qword [rsp + 0x28], 0
lea rax, [0x0002e110]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1fffff
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ntoskrnl.exe_ObReferenceObjectByHandle]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ntoskrnl.exe_ZwClose]
mov eax, dword [rsp + 0x44]
add rsp, 0x50
pop rdi
ret

Function at 0x20c20
Capabilities:
Check os version

Disassembly:
sub rsp, 0x38
lea rcx, [0x0002d0ec]
call fcn.00020b70
mov dword [rsp + 0x2c], eax
cmp dword [rsp + 0x2c], 0
jge 0x20c44
mov eax, dword [rsp + 0x2c]
jmp 0x20db9
call qword [sym.imp.ntoskrnl.exe_IoGetCurrentProcess]
mov qword [0x0002d108], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x24]
call qword [sym.imp.ntoskrnl.exe_PsGetVersion]
cmp dword [rsp + 0x24], 5
jne 0x20ca2
cmp dword [rsp + 0x20], 0
jne 0x20ca2
mov dword [0x0002d0fc], 0x9c
mov dword [0x0002d0f8], 0xa0
mov dword [0x0002d100], 0x13c
mov dword [0x0002d104], 0x128
jmp 0x20db7
cmp dword [rsp + 0x24], 5
jne 0x20cdd
cmp dword [rsp + 0x20], 1
jne 0x20cdd
mov dword [0x0002d0fc], 0xd8
mov dword [0x0002d0f8], 0xe0
mov dword [0x0002d100], 0x13c
mov dword [0x0002d104], 0xc4
jmp 0x20db7
cmp dword [rsp + 0x24], 5
jne 0x20d18
cmp dword [rsp + 0x20], 2
jne 0x20d18
mov dword [0x0002d0fc], 0xd8
mov dword [0x0002d0f8], 0xe0
mov dword [0x0002d100], 0x13c
mov dword [0x0002d104], 0xc4
jmp 0x20db7
cmp dword [rsp + 0x24], 6
jne 0x20d50
cmp dword [rsp + 0x20], 0
jne 0x20d50
mov dword [0x0002d0fc], 0xe0
mov dword [0x0002d0f8], 0xe8
mov dword [0x0002d100], 0x13c
mov dword [0x0002d104], 0xc4
jmp 0x20db7
cmp dword [rsp + 0x24], 6
jne 0x20d88
cmp dword [rsp + 0x20], 1
jne 0x20d88
mov dword [0x0002d0fc], 0x180
mov dword [0x0002d0f8], 0x188
mov dword [0x0002d100], 0x13c
mov dword [0x0002d104], 0xc4
jmp 0x20db7
mov dword [0x0002d0fc], 0
mov dword [0x0002d0f8], 0
mov dword [0x0002d100], 0
mov dword [0x0002d104], 0
mov eax, 0xc0000001
jmp 0x20db9
xor eax, eax
add rsp, 0x38
ret
Function at 0x20de0
Capabilities:
Complete processing asynchronous io request

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0xe8
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x90], 0
mov dword [rsp + 0xac], 0
mov rcx, qword [rsp + 0xf8]
call fcn.00012330
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x9c], 0
call qword [sym.imp.ntoskrnl.exe_PsGetCurrentProcessId]
mov dword [rsp + 0x98], eax
mov qword [rsp + 0x78], 0
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x74], eax
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 8]
mov dword [rsp + 0xd0], eax
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 0x18]
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0xf8]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x90], rax
mov qword [rsp + 0xb0], 0
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0xd4], eax
cmp dword [rsp + 0xd4], 0x22e054
je 0x20ed0
cmp dword [rsp + 0xd4], 0x22e058
je 0x20f03
cmp dword [rsp + 0xd4], 0x22e05c
je 0x20f30
cmp dword [rsp + 0xd4], 0x22e064
je 0x20f5d
jmp 0x20f8f
mov ecx, dword [rsp + 0xd0]
mov rax, qword [rsp + 0xf8]
mov qword [rax + 0x38], rcx
cmp qword [rsp + 0x90], 0
je 0x20efe
mov rax, qword [rsp + 0x90]
mov eax, dword [rax]
mov dword [0x0002e158], eax
jmp 0x20faa
mov ecx, dword [rsp + 0xd0]
mov rax, qword [rsp + 0xf8]
mov qword [rax + 0x38], rcx
cmp qword [rsp + 0x90], 0
je 0x20f2e
mov rcx, qword [rsp + 0x90]
call fcn.000113e0
jmp 0x20faa
mov ecx, dword [rsp + 0xd0]
mov rax, qword [rsp + 0xf8]
mov qword [rax + 0x38], rcx
cmp qword [rsp + 0x90], 0
je 0x20f5b
mov rcx, qword [rsp + 0x90]
call fcn.00011690
jmp 0x20faa
mov ecx, dword [rsp + 0xd0]
mov rax, qword [rsp + 0xf8]
mov qword [rax + 0x38], rcx
mov rax, qword [rsp + 0x90]
mov eax, dword [rax]
mov dword [rsp + 0xb8], eax
mov ecx, dword [rsp + 0xb8]
call fcn.00020dd0
jmp 0x20faa
mov dword [rsp + 0xac], 0xc000000d
mov rax, qword [rsp + 0xf8]
mov qword [rax + 0x38], 0
mov rcx, qword [rsp + 0xf8]
mov eax, dword [rsp + 0xac]
mov dword [rcx + 0x30], eax
xor edx, edx
mov rcx, qword [rsp + 0xf8]
call qword [sym.imp.ntoskrnl.exe_IofCompleteRequest]
mov eax, dword [rsp + 0xac]
add rsp, 0xe8
ret

Function at 0x20ff0
Capabilities:
Complete processing asynchronous io request

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x38
mov byte [0x0002e118], 1
mov rax, qword [rsp + 0x48]
mov dword [rax + 0x30], 0
mov rax, qword [rsp + 0x48]
mov qword [rax + 0x38], 0
xor edx, edx
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ntoskrnl.exe_IofCompleteRequest]
xor eax, eax
add rsp, 0x38
ret