Function at 0x14001e140
Capabilities:
Access peb ldr_data
Delete registry value
Get kernel32 base address
Map section object
Set registry value

Disassembly:
push rbp
push rbx
push r15
lea rbp, [rsp - 0x190]
sub rsp, 0x290
mov rbx, rdx
mov qword [rbp - 0x68], 8
mov r15, rcx
lea rax, [0x14015abe8]
mov r8b, 1
mov qword [rbp - 0x60], rax
lea rdx, [rbp - 0x68]
mov rcx, qword [rbx + 0x10]
call sym.ProcessHacker.exe_PhEqualStringRef
test al, al
jne 0x14001ea1e
mov rcx, qword [rbx + 0x10]
lea rax, [0x14015abe0]
mov r8b, 1
mov qword [rbp - 0x50], rax
lea rdx, [rbp - 0x58]
mov qword [rbp - 0x58], 6
call sym.ProcessHacker.exe_PhEqualStringRef
test al, al
jne 0x14001ea1e
mov rcx, qword [rbx + 0x10]
lea rax, str.Mapped_file
mov r8b, 1
mov qword [rbp - 0x40], rax
lea rdx, [rbp - 0x48]
mov qword [rbp - 0x48], 0x16
call sym.ProcessHacker.exe_PhEqualStringRef
test al, al
jne 0x14001ea1e
mov rcx, qword [rbx + 0x10]
lea rax, str.Mapped_image
mov r8b, 1
mov qword [rbp - 0x30], rax
lea rdx, [rbp - 0x38]
mov qword [rbp - 0x38], 0x18
call sym.ProcessHacker.exe_PhEqualStringRef
test al, al
jne 0x14001ea1e
mov rcx, qword [rbx + 0x10]
lea rax, [0x14015b9e0]
mov r8b, 1
mov qword [rbp - 0x20], rax
lea rdx, [rbp - 0x28]
mov qword [rbp - 0x28], 6
call sym.ProcessHacker.exe_PhEqualStringRef
test al, al
je 0x14001e265
mov rdx, qword [rbx + 0x18]
mov rcx, r15
test rdx, rdx
je 0x14001e249
add rsp, 0x290
pop r15
pop rbx
pop rbp
jmp fcn.14000d7d0
lea r8, str.Unable_to_open_key_because_the_object_is_unnamed.
mov edx, 0x10
add rsp, 0x290
pop r15
pop rbx
pop rbp
jmp sym.ProcessHacker.exe_PhShowMessage
mov rcx, qword [rbx + 0x10]
lea rax, [0x14015ab20]
mov r8b, 1
mov qword [rbp - 0x10], rax
lea rdx, [rbp - 0x18]
mov qword [rsp + 0x280], rdi
mov qword [rbp - 0x18], 0xe
call sym.ProcessHacker.exe_PhEqualStringRef
test al, al
je 0x14001e3e3
mov r8, qword [rbx]
xor edi, edi
cmp qword [0x140193948], rdi
mov edx, dword [sym.ProcessHacker.exe_ProcessQueryAccess]
je 0x14001e344
lea rcx, [rsp + 0x68]
call fcn.1400d3b50
test eax, eax
js 0x14001e826
mov rax, qword [rsp + 0x68]
xor r9d, r9d
mov rcx, qword [rbx + 8]
xor r8d, r8d
mov dword [rsp + 0x48], edi
xor edx, edx
mov qword [rbp + 0x18], rax
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x40], rdi
mov qword [rbp + 0x30], rax
lea rax, [rbp + 0x18]
mov dword [rsp + 0x38], 0x30
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x90]
mov qword [rbp + 0x20], rcx
mov rcx, qword [0x140193948]
mov dword [rsp + 0x28], 0x9999225f
mov qword [rsp + 0x20], rax
mov dword [rbp + 0x28], 4
mov dword [rbp + 0x38], 0x30
mov qword [rbp + 0x40], rdi
call qword [sym.imp.ntdll.dll_NtDeviceIoControlFile]
mov rcx, qword [rsp + 0x68]
test eax, eax
cmovns rdi, qword [rbp + 0xd0]
jmp 0x14001e388
mov r9, qword [rbx + 8]
lea rcx, [rsp + 0x70]
call fcn.14001e030
test eax, eax
js 0x14001e826
mov rcx, qword [rsp + 0x70]
lea r8, [rbp + 0xe0]
mov r9d, 0x30
mov qword [rsp + 0x20], rdi
xor edx, edx
call qword [sym.imp.ntdll.dll_NtQueryInformationProcess]
mov rcx, qword [rsp + 0x70]
test eax, eax
cmovns rdi, qword [rbp + 0x100]
call qword [sym.imp.ntdll.dll_NtClose]
test rdi, rdi
je 0x14001e826
mov rcx, rdi
call sym.ProcessHacker.exe_PhReferenceProcessItem
mov rbx, rax
test rax, rax
je 0x14001ea05
mov rcx, qword [sym.ProcessHacker.exe_PhMainWndHandle]
mov r9, rax
xor r8d, r8d
mov edx, 0x8078
call qword [sym.imp.USER32.dll_SendMessageW]
lea rcx, [rbx - 0x10]
or rbx, 0xffffffffffffffff
lock xadd dword [rcx + 8], ebx
cmp ebx, 1
jne 0x14001e826
call fcn.1400c8bc0
jmp 0x14001e826
mov rcx, qword [rbx + 0x10]
lea rax, [0x14015ba28]
mov r8b, 1
mov qword [rbp], rax
lea rdx, [rbp - 8]
mov qword [rbp - 8], 0xe
call sym.ProcessHacker.exe_PhEqualStringRef
test al, al
je 0x14001e868
mov r9, qword [rbx + 8]
lea rcx, [rbp + 0x1c8]
mov r8, qword [rbx]
xor edi, edi
mov qword [rsp + 0x288], rsi
mov qword [rsp + 0x270], r14
xor r14b, r14b
mov qword [rbp + 0x1c8], rdi
lea edx, [rdi + 7]
call fcn.14001e030
mov esi, eax
test eax, eax
jns 0x14001e461
mov r9, qword [rbx + 8]
lea edx, [rdi + 5]
mov r8, qword [rbx]
lea rcx, [rbp + 0x1c8]
call fcn.14001e030
mov esi, eax
mov r14b, 1
mov rdx, qword [rbp + 0x1c8]
or rbx, 0xffffffffffffffff
test rdx, rdx
je 0x14001e7b2
mov qword [rsp + 0x48], rdi
lea rax, [rsp + 0x50]
mov qword [rsp + 0x40], rax
xor r9d, r9d
mov qword [rsp + 0x38], rdi
lea rax, [rbp + 0x1b8]
mov qword [rsp + 0x30], rdi
or r8d, 0xffffffff
mov qword [rsp + 0x28], rdi
mov rcx, rbx
mov qword [rsp + 0x278], r12
xor r12b, r12b
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], 0x2000000
mov qword [rsp + 0x60], rdi
call sym.ProcessHacker.exe_PhGetHandleInformationEx
test eax, eax
js 0x14001e4fc
cmp dword [rbp + 0x1b8], edi
jge 0x14001e4fc
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x50], rdi
test rcx, rcx
je 0x14001e4fc
add rcx, 0xfffffffffffffff0
mov eax, ebx
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14001e4fc
call fcn.1400c8bc0
mov rcx, qword [rbp + 0x1c8]
lea r8, [rbp + 0x78]
mov r9d, 0x18
mov qword [rsp + 0x20], rdi
xor edx, edx
call qword [sym.imp.ntdll.dll_NtQuerySection]
mov esi, eax
test eax, eax
js 0x14001e77e
mov rax, qword [rbp + 0x88]
cmp rax, 0x2000000
jg 0x14001e53a
mov qword [rsp + 0x58], rax
jmp 0x14001e53d
mov r12b, 1
mov rcx, qword [rbp + 0x1c8]
lea r8, [rsp + 0x60]
movzx eax, r14b
xor r9d, r9d
xor eax, 1
mov rdx, rbx
lea eax, [rax*2 + 2]
mov dword [rsp + 0x48], eax
lea rax, [rsp + 0x58]
mov dword [rsp + 0x40], edi
mov dword [rsp + 0x38], 1
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
call qword [sym.imp.ntdll.dll_NtMapViewOfSection]
mov esi, eax
cmp eax, 0xc000004e
jne 0x14001e5db
test r14b, r14b
jne 0x14001e6fe
mov rcx, qword [rbp + 0x1c8]
lea rax, [rsp + 0x58]
mov dword [rsp + 0x48], 2
lea r8, [rsp + 0x60]
mov dword [rsp + 0x40], edi
xor r9d, r9d
mov dword [rsp + 0x38], 1
mov rdx, rbx
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
call qword [sym.imp.ntdll.dll_NtMapViewOfSection]
mov esi, eax
test esi, esi
js 0x14001e6ee
mov rcx, qword [0x140196670]
mov edx, 4
lea r8d, [rdx + 0x34]
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov r14, rax
test r12b, r12b
je 0x14001e615
lea r8, str.The_section_size_is_greater_than_32_MB._Only_the_first_32_MB_will_be_available_for_editing.
mov edx, 0x30
mov rcx, r15
call sym.ProcessHacker.exe_PhShowMessage
xor eax, eax
mov qword [r14], rax
mov qword [r14 + 8], rax
mov qword [r14 + 0x10], rax
mov qword [r14 + 0x18], rax
mov qword [r14 + 0x20], rax
mov qword [r14 + 0x28], rax
mov qword [r14 + 0x30], rax
mov rax, qword gs:[0x30]
mov rcx, qword [rax + 0x40]
mov qword [r14 + 8], rcx
mov rax, qword [rsp + 0x60]
mov qword [r14 + 0x10], rax
mov rax, qword [rsp + 0x58]
mov qword [r14 + 0x18], rax
mov rax, qword [rsp + 0x50]
mov dword [r14 + 0x20], 0xffffffff
mov dword [r14 + 0x24], edi
test rax, rax
je 0x14001e67d
mov rdx, qword [rax + 8]
lea rcx, str.Section__
call sym.ProcessHacker.exe_PhConcatStrings2
jmp 0x14001e6c5
mov rdx, qword [0x140196800]
mov ecx, 0x20
call sym.ProcessHacker.exe_PhCreateObject
mov qword [rax], 0xe
lea rcx, [rax + 0x10]
mov qword [rax + 8], rcx
mov word [rcx + 0xe], di
mov rdx, qword [rax + 8]
movsd xmm0, qword [0x14015ba28]
movsd qword [rdx], xmm0
mov ecx, dword [0x14015ba30]
mov dword [rdx + 8], ecx
movzx ecx, word [0x14015ba34]
mov word [rdx + 0xc], cx
mov qword [r14 + 0x28], rax
mov r9, r14
mov dword [r14 + 0x30], 1
xor r8d, r8d
mov rcx, qword [sym.ProcessHacker.exe_PhMainWndHandle]
mov edx, 0x8080
call qword [sym.imp.USER32.dll_PostMessageW]
jmp 0x14001e77e
cmp esi, 0xc0000022
je 0x14001e711
cmp esi, 0xc0000005
je 0x14001e711
mov eax, esi
and eax, 0xfff0000
cmp eax, 0x70000
jne 0x14001e71d
movzx eax, si
jmp 0x14001e719
mov ecx, esi
call qword [sym.imp.ntdll.dll_RtlNtStatusToDosError]
test eax, eax
jne 0x14001e726
mov ecx, esi
call sym.ProcessHacker.exe_PhGetNtMessage
jmp 0x14001e72d
mov ecx, eax
call sym.ProcessHacker.exe_PhGetWin32Message
lea r9, str.Unable_to_map_a_view_of_the_section.
mov rdi, rax
mov rcx, r15
test rax, rax
jne 0x14001e750
lea r8, [0x1401689f8]
lea edx, [rax + 0x10]
call sym.ProcessHacker.exe_PhShowMessage
jmp 0x14001e77e
mov rax, qword [rdi + 8]
mov edx, 0x20
mov r8d, 0xfffe
mov qword [rsp + 0x20], rax
call sym.ProcessHacker.exe_PhShowMessage2
lea rcx, [rdi - 0x10]
mov eax, ebx
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14001e77e
call fcn.1400c8bc0
mov rax, qword [rsp + 0x50]
mov r12, qword [rsp + 0x278]
test rax, rax
je 0x14001e7a5
lea rcx, [rax - 0x10]
mov eax, ebx
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14001e7a5
call fcn.1400c8bc0
mov rcx, qword [rbp + 0x1c8]
call qword [sym.imp.ntdll.dll_NtClose]
mov r14, qword [rsp + 0x270]
test esi, esi
jns 0x14001e81e
cmp esi, 0xc0000022
je 0x14001e7e1
cmp esi, 0xc0000005
je 0x14001e7e1
mov eax, esi
and eax, 0xfff0000
cmp eax, 0x70000
jne 0x14001e7ed
movzx eax, si
jmp 0x14001e7e9
mov ecx, esi
call qword [sym.imp.ntdll.dll_RtlNtStatusToDosError]
test eax, eax
jne 0x14001e7f6
mov ecx, esi
call sym.ProcessHacker.exe_PhGetNtMessage
jmp 0x14001e7fd
mov ecx, eax
call sym.ProcessHacker.exe_PhGetWin32Message
lea r9, str.Unable_to_query_the_section.
mov rdi, rax
mov rcx, r15
test rax, rax
jne 0x14001e83a
lea r8, [0x1401689f8]
lea edx, [rax + 0x10]
call sym.ProcessHacker.exe_PhShowMessage
mov rsi, qword [rsp + 0x288]
mov rdi, qword [rsp + 0x280]
add rsp, 0x290
pop r15
pop rbx
pop rbp
ret
mov rax, qword [rdi + 8]
mov edx, 0x20
mov r8d, 0xfffe
mov qword [rsp + 0x20], rax
call sym.ProcessHacker.exe_PhShowMessage2
lea rcx, [rdi - 0x10]
lock xadd dword [rcx + 8], ebx
cmp ebx, 1
jne 0x14001e81e
call fcn.1400c8bc0
jmp 0x14001e81e
mov rcx, qword [rbx + 0x10]
lea rax, [0x14015ba60]
mov r8b, 1
mov qword [rbp + 0x10], rax
lea rdx, [rbp + 8]
mov qword [rbp + 8], 0xc
call sym.ProcessHacker.exe_PhEqualStringRef
test al, al
je 0x14001e826
cmp qword [0x140193948], 0
xorps xmm0, xmm0
mov r8, qword [rbx]
movdqu xmmword [rbp - 0x78], xmm0
je 0x14001e949
mov edx, dword [sym.ProcessHacker.exe_ProcessQueryAccess]
lea rcx, [rsp + 0x78]
call fcn.1400d3b50
test eax, eax
js 0x14001e826
mov rax, qword [rsp + 0x78]
xor edi, edi
mov rcx, qword [rbx + 8]
xor r9d, r9d
mov dword [rsp + 0x48], edi
xor r8d, r8d
mov qword [rbp + 0x48], rax
xor edx, edx
mov qword [rsp + 0x40], rdi
lea rax, [rbp + 0x110]
mov qword [rbp + 0x60], rax
lea rax, [rbp + 0x48]
mov dword [rsp + 0x38], 0x30
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0xa0]
mov qword [rbp + 0x50], rcx
mov rcx, qword [0x140193948]
mov dword [rsp + 0x28], 0x9999225f
mov qword [rsp + 0x20], rax
mov dword [rbp + 0x58], 5
mov dword [rbp + 0x68], 0x30
mov qword [rbp + 0x70], rdi
call qword [sym.imp.ntdll.dll_NtDeviceIoControlFile]
test eax, eax
js 0x14001e942
movups xmm0, xmmword [rbp + 0x120]
movups xmmword [rbp - 0x78], xmm0
mov rcx, qword [rsp + 0x78]
jmp 0x14001e995
mov r9, qword [rbx + 8]
lea rcx, [rbp - 0x80]
mov edx, dword [sym.ProcessHacker.exe_ThreadQueryAccess]
call fcn.14001e030
test eax, eax
js 0x14001e826
mov rcx, qword [rbp - 0x80]
lea r8, [rbp + 0x140]
xor edi, edi
xor edx, edx
mov qword [rsp + 0x20], rdi
lea r9d, [rdi + 0x30]
call qword [sym.imp.ntdll.dll_NtQueryInformationThread]
test eax, eax
js 0x14001e991
movups xmm0, xmmword [rbp + 0x150]
movups xmmword [rbp - 0x78], xmm0
mov rcx, qword [rbp - 0x80]
call qword [sym.imp.ntdll.dll_NtClose]
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x14001e826
call sym.ProcessHacker.exe_PhReferenceProcessItem
mov rbx, rax
test rax, rax
je 0x14001ea05
mov rdx, rax
xor ecx, ecx
call sym.ProcessHacker.exe_PhCreateProcessPropContext
lea rcx, [rbx - 0x10]
mov rdi, rax
or rbx, 0xffffffffffffffff
lock xadd dword [rcx + 8], ebx
cmp ebx, 1
jne 0x14001e9d9
call fcn.1400c8bc0
mov rcx, qword [rbp - 0x70]
lea r9, [0x14001e100]
mov qword [rdi + 0x90], rcx
mov r8, rdi
mov rcx, qword [sym.ProcessHacker.exe_PhMainWndHandle]
mov edx, 0x808a
call qword [sym.imp.USER32.dll_PostMessageW]
jmp 0x14001e826
lea r8, str.The_process_does_not_exist.
mov edx, 0x10
mov rcx, r15
call sym.ProcessHacker.exe_PhShowMessage
jmp 0x14001e826
mov r8, qword [rbx + 0x18]
test r8, r8
je 0x14001ea59
mov r8, qword [r8 + 8]
lea rax, str.Make_sure_the_Explorer_executable_file_is_present.
mov rcx, qword [sym.ProcessHacker.exe_PhMainWndHandle]
lea rdx, str.FileBrowseExecutable
xor r9d, r9d
mov qword [rsp + 0x20], rax
call sym.ProcessHacker.exe_PhShellExecuteUserString
add rsp, 0x290
pop r15
pop rbx
pop rbp
ret
lea r8, str.Unable_to_open_file_location_because_the_object_is_unnamed.
mov edx, 0x10
mov rcx, r15
add rsp, 0x290
pop r15
pop rbx
pop rbp
jmp sym.ProcessHacker.exe_PhShowMessage