Function at 0x1e73c
Capabilities:
Find process by pid
Get file attributes
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
push r12
push r13
push r14
push r15
sub rsp, 0xf0
xor edi, edi
mov rbx, rcx
mov r15, rdx
lea rcx, [rax - 0x84]
lea r8d, [rdi + 0x14]
xor edx, edx
mov r14, r9
mov r13d, edi
mov qword [rsp + 0x78], rdi
mov rbp, rdi
mov dword [rax - 0x88], edi
call fcn.000407c0
lea rdx, [rsp + 0x78]
mov rcx, rbx
call qword [sym.imp.ntoskrnl.exe_PsLookupProcessByProcessId]
cmp eax, edi
jge 0x1e7a2
xor eax, eax
jmp 0x1ea16
lea rax, [rsp + 0x70]
mov r9d, 0x1f0fff
xor r8d, r8d
mov qword [rsp + 0x30], rax
mov rax, qword [0x00042018]
mov byte [rsp + 0x28], dil
mov rcx, qword [rax]
xor edx, edx
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.ntoskrnl.exe_ObOpenObjectByPointer]
mov rcx, qword [rsp + 0x78]
cmp eax, edi
jge 0x1e7ec
cmp rcx, rdi
je 0x1e79b
call qword [sym.imp.ntoskrnl.exe_ObfDereferenceObject]
jmp 0x1e79b
cmp rcx, rdi
je 0x1e7f7
call qword [sym.imp.ntoskrnl.exe_ObfDereferenceObject]
mov r12d, 0x1000
mov esi, 1
mov rdx, r12
mov ecx, esi
call qword [sym.imp.ntoskrnl.exe_ExAllocatePool]
mov rbx, rax
cmp rax, rdi
jne 0x1e825
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ntoskrnl.exe_ZwClose]
jmp 0x1e79b
mov r8, r12
xor edx, edx
mov rcx, rax
call fcn.000407c0
mov rcx, qword [rsp + 0x70]
lea r11, [rsp + 0x88]
mov r9d, r12d
mov r8, rbx
mov edx, 0x1b
mov qword [rsp + 0x20], r11
call qword [sym.imp.ntoskrnl.exe_ZwQueryInformationProcess]
mov rcx, qword [rsp + 0x70]
cmp eax, edi
jge 0x1e869
call qword [sym.imp.ntoskrnl.exe_ZwClose]
jmp 0x1ea09
call qword [sym.imp.ntoskrnl.exe_ZwClose]
mov dword [rsp + 0x68], 0x100
mov qword [rsp + 0x60], rdi
mov dword [rsp + 0x58], edi
mov dword [rsp + 0x50], edi
mov qword [rsp + 0x48], rdi
mov dword [rsp + 0x40], 0x60
mov dword [rsp + 0x38], esi
mov dword [rsp + 0x30], esi
lea r9, [rsp + 0xa8]
lea r8, [rsp + 0xb8]
lea rcx, [rsp + 0x80]
mov edx, 0x80100000
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0xb8], 0x30
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0xc0], rdi
mov dword [rsp + 0xd0], 0x240
mov qword [rsp + 0xc8], rbx
mov qword [rsp + 0xd8], rdi
mov qword [rsp + 0xe0], rdi
call qword [sym.imp.ntoskrnl.exe_IoCreateFile]
cmp eax, edi
jl 0x1e9ec
mov rcx, qword [rsp + 0x80]
lea r8, [rsp + 0x90]
lea rdx, [rsp + 0xa8]
mov r9d, 0x18
mov dword [rsp + 0x20], 5
call qword [sym.imp.ntoskrnl.exe_ZwQueryInformationFile]
cmp eax, edi
jne 0x1e9ce
mov esi, dword [rsp + 0x98]
cmp esi, edi
je 0x1e9ce
cmp dword [rsp + 0x9c], edi
jne 0x1e9ce
cmp esi, 0x8000000
ja 0x1e9ce
mov rdx, rsi
mov ecx, 1
call qword [sym.imp.ntoskrnl.exe_ExAllocatePool]
mov rbp, rax
cmp rax, rdi
je 0x1e9ce
mov r8, rsi
xor edx, edx
mov rcx, rax
call fcn.000407c0
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x38], rdi
lea rax, [rsp + 0xa8]
mov dword [rsp + 0x30], esi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rax
call qword [sym.imp.ntoskrnl.exe_ZwReadFile]
cmp eax, edi
jne 0x1e9ce
mov r9d, 0x10
mov r8, r15
mov edx, esi
mov rcx, rbp
call fcn.0001e000
mov r13d, eax
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.ntoskrnl.exe_ZwClose]
cmp rbp, rdi
je 0x1e9ec
xor edx, edx
mov rcx, rbp
call qword [sym.imp.ntoskrnl.exe_ExFreePoolWithTag]
mov eax, 0x248
cmp ax, word [rbx]
jbe 0x1ea06
movzx r8d, word [rbx]
mov rdx, qword [rbx + 8]
mov rcx, r14
call fcn.00040300
mov edi, r13d
xor edx, edx
mov rcx, rbx
call qword [sym.imp.ntoskrnl.exe_ExFreePoolWithTag]
mov eax, edi
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret