Function at 0x1400e4f00
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x5c0]
sub rsp, 0x6c0
mov r12, qword [sym.ProcessHacker.exe_PhStdGetClientIdName]
mov eax, 0x1e
mov qword [rbp + 0x138], rax
mov r13, r8
lea rax, str.EtwRegistration
mov r14, rdx
mov r15, rcx
mov qword [rbp + 0x140], rax
xor ebx, ebx
lea rdx, [rbp + 0x138]
mov r8b, 1
mov rcx, r9
mov rdi, r9
mov esi, ebx
call sym.ProcessHacker.exe_PhEqualStringRef
test al, al
je 0x1400e50ec
mov rcx, qword [0x140193948]
test rcx, rcx
je 0x1400e6307
mov dword [rsp + 0x48], ebx
lea rax, [rbp + 0x440]
mov qword [rsp + 0x40], rbx
xor r9d, r9d
mov qword [rbp + 0x298], rax
xor r8d, r8d
mov dword [rsp + 0x38], 0x30
lea rax, [rbp + 0x280]
mov qword [rsp + 0x30], rax
xor edx, edx
lea rax, [rbp + 0x488]
mov dword [rsp + 0x28], 0x9999225f
mov qword [rsp + 0x20], rax
mov qword [rbp + 0x280], r15
mov qword [rbp + 0x288], r14
mov dword [rbp + 0x290], 6
mov dword [rbp + 0x2a0], 0x18
mov qword [rbp + 0x2a8], rbx
call qword [sym.imp.ntdll.dll_NtDeviceIoControlFile]
test eax, eax
js 0x1400e6307
lea rcx, [rbp + 0x440]
call sym.ProcessHacker.exe_PhFormatGuid
mov rbx, qword [0x14018e130]
mov r14, rax
mov rdx, qword [0x140196800]
add rbx, qword [rax]
lea rcx, [rbx + 0x12]
call sym.ProcessHacker.exe_PhCreateObject
xor r12d, r12d
mov r15, rax
lea rcx, [rax + 0x10]
mov qword [rax], rbx
mov qword [rax + 8], rcx
mov word [rcx + rbx], r12w
mov r8, qword [0x14018e130]
mov rdx, qword [str.SoftwareMicrosoftWindowsCurrentVersionWINEVTPublishers_]
mov rcx, qword [rax + 8]
call fcn.14010e700
mov rcx, qword [0x14018e130]
add rcx, qword [r15 + 8]
mov r8, qword [r14]
mov rdx, qword [r14 + 8]
call fcn.14010e700
mov r9, r15
mov dword [rsp + 0x20], r12d
mov edx, 0x20019
lea r8, [rsi - 3]
lea rcx, [rbp - 0x68]
call sym.ProcessHacker.exe_PhOpenKey
or rdi, 0xffffffffffffffff
test eax, eax
js 0x1400e50c9
mov rcx, qword [rbp - 0x68]
xor edx, edx
call sym.ProcessHacker.exe_PhQueryRegistryString
mov rsi, rax
test rax, rax
je 0x1400e50bf
cmp qword [rax], r12
jne 0x1400e50bf
lea rcx, [rax - 0x10]
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1400e50bc
call fcn.1400c8bc0
mov rsi, r12
mov rcx, qword [rbp - 0x68]
call qword [sym.imp.ntdll.dll_NtClose]
lea rcx, [r15 - 0x10]
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1400e50de
call fcn.1400c8bc0
test rsi, rsi
je 0x1400e5bfa
jmp 0x1400e5c1a
lea rbx, [0x14015abe8]
mov qword [rbp + 0x148], 8
mov r8b, 1
mov qword [rbp + 0x150], rbx
lea rdx, [rbp + 0x148]
mov rcx, rdi
call sym.ProcessHacker.exe_PhEqualStringRef
test al, al
je 0x1400e52b8
mov rcx, r13
call sym.ProcessHacker.exe_PhResolveDevicePrefix
mov rsi, rax
test rax, rax
jne 0x1400e513c
mov rsi, r13
test r13, r13
je 0x1400e5146
lock inc dword [r13 - 8]
cmp qword [rsi], 0
je 0x1400e5146
xor al, al
jmp 0x1400e5148
mov al, 1
test al, al
je 0x1400e62f6
mov rcx, qword [0x140193948]
test rcx, rcx
je 0x1400e62f6
xor r12d, r12d
mov qword [rbp + 0x250], r15
mov dword [rsp + 0x48], r12d
lea rax, [rbp - 0x60]
mov qword [rsp + 0x40], r12
xor r9d, r9d
mov qword [rbp + 0x268], rax
xor r8d, r8d
mov dword [rsp + 0x38], 0x30
lea rax, [rbp + 0x250]
mov qword [rsp + 0x30], rax
xor edx, edx
lea rax, [rbp + 0x4a8]
mov dword [rsp + 0x28], 0x9999225f
mov qword [rsp + 0x20], rax
mov qword [rbp + 0x258], r14
mov dword [rbp + 0x260], 8
mov dword [rbp + 0x270], 8
mov qword [rbp + 0x278], r12
call qword [sym.imp.ntdll.dll_NtDeviceIoControlFile]
test eax, eax
js 0x1400e62f6
mov rcx, qword [rbp - 0x60]
test rcx, rcx
je 0x1400e62f6
lea r8, [rbp - 0x28]
lea edx, [r12 + 1]
call fcn.1400d6210
test eax, eax
js 0x1400e52af
mov r14, qword [rbp - 0x28]
movzx eax, word [r14]
test ax, ax
jne 0x1400e5219
call sym.ProcessHacker.exe_PhReferenceEmptyString
mov rbx, rax
jmp 0x1400e5257
mov rdx, qword [0x140196800]
mov r15, qword [r14 + 8]
movzx edi, ax
lea rcx, [rdi + 0x12]
call sym.ProcessHacker.exe_PhCreateObject
mov rbx, rax
mov qword [rax], rdi
add rax, 0x10
mov qword [rbx + 8], rax
mov word [rdi + rax], r12w
test r15, r15
je 0x1400e5257
mov rcx, qword [rbx + 8]
mov r8d, edi
mov rdx, r15
call fcn.14010e700
mov rcx, qword [0x140196670]
mov r8, r14
xor edx, edx
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
mov rdx, rbx
lea rcx, [0x14018e200]
call sym.ProcessHacker.exe_PhConcatStringRef2
mov rcx, rsi
or rdi, 0xffffffffffffffff
mov rsi, rax
test rcx, rcx
je 0x1400e529c
add rcx, 0xfffffffffffffff0
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1400e529c
call fcn.1400c8bc0
lea rcx, [rbx - 0x10]
lock xadd dword [rcx + 8], edi
cmp edi, 1
jne 0x1400e52af
call fcn.1400c8bc0
mov rcx, qword [rbp - 0x60]
jmp 0x1400e62f0
lea rax, [0x14015be58]
mov qword [rbp + 0x158], 6
mov r8b, 1
mov qword [rbp + 0x160], rax
lea rdx, [rbp + 0x158]
mov rcx, rdi
call sym.ProcessHacker.exe_PhEqualStringRef
test al, al
je 0x1400e548d
xor ebx, ebx
lea r9, [rbp - 0x58]
mov dword [rsp + 0x30], ebx
or rdi, 0xffffffffffffffff
mov dword [rsp + 0x28], ebx
mov r8, rdi
mov rdx, r14
mov dword [rsp + 0x20], 4
mov rcx, r15
call qword [sym.imp.ntdll.dll_NtDuplicateObject]
test eax, eax
js 0x1400e6307
test r12, r12
je 0x1400e5484
mov rcx, qword [rbp - 0x58]
lea rdx, [rsp + 0x58]
call sym.ProcessHacker.exe_PhGetJobProcessIdList
test eax, eax
js 0x1400e5484
mov rdx, qword [0x140196800]
lea ecx, [rbx + 0x3a]
mov qword [rbp - 0x78], 0x28
call sym.ProcessHacker.exe_PhCreateObject
mov r14, qword [rsp + 0x58]
mov rsi, rax
mov qword [rbp - 0x70], rsi
mov qword [rax], 0x28
add rax, 0x10
mov qword [rsi + 8], rax
mov word [rax + 0x28], bx
mov qword [rsi], rbx
mov rax, qword [rsi + 8]
mov word [rax], bx
mov qword [rbp + 0x170], rbx
cmp dword [r14 + 4], ebx
jbe 0x1400e5406
nop dword [rax + rax]
mov rax, qword [rsp + 0x58]
mov ecx, ebx
mov rcx, qword [rax + rcx*8 + 8]
mov qword [rbp + 0x168], rcx
lea rcx, [rbp + 0x168]
call r12
mov rsi, rax
test rax, rax
je 0x1400e53fa
mov r8, qword [rax]
lea rcx, [rbp - 0x78]
mov rdx, qword [rax + 8]
call sym.ProcessHacker.exe_PhAppendStringBuilderEx
lea rcx, [0x1401657d8]
call sym.ProcessHacker.exe_PhCountStringZ
lea rdx, [0x1401657d8]
lea rcx, [rbp - 0x78]
lea r8, [rax + rax]
call sym.ProcessHacker.exe_PhAppendStringBuilderEx
lea rcx, [rsi - 0x10]
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1400e53fa
call fcn.1400c8bc0
inc ebx
cmp ebx, dword [r14 + 4]
jb 0x1400e5390
mov rsi, qword [rbp - 0x70]
mov r8, qword [rsp + 0x58]
xor edx, edx
mov rcx, qword [0x140196670]
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
mov rdx, qword [rsi]
test rdx, rdx
je 0x1400e5460
mov rax, qword [rsi + 8]
mov rcx, rdx
mov r8, rdx
and rcx, 0xfffffffffffffffe
sub rcx, 4
shr rdx, 1
sub r8, rcx
add rcx, rax
sub r8, 4
lea rdx, [rax + rdx*2]
call fcn.14010e700
add qword [rsi], 0xfffffffffffffffc
xor edx, edx
mov rcx, qword [rsi]
mov rax, qword [rsi + 8]
mov word [rcx + rax], dx
cmp qword [rsi], rdx
jne 0x1400e5484
lea rcx, str._No_processes_
call sym.ProcessHacker.exe_PhCountStringZ
lea rdx, str._No_processes_
lea rcx, [rbp - 0x78]
lea r8, [rax + rax]
call sym.ProcessHacker.exe_PhAppendStringBuilderEx
mov rsi, qword [rbp - 0x70]
mov rcx, qword [rbp - 0x58]
jmp 0x1400e62f0
lea rax, [0x14015b9e0]
mov qword [rbp + 0x178], 6
mov r8b, 1
mov qword [rbp + 0x180], rax
lea rdx, [rbp + 0x178]
mov rcx, rdi
call sym.ProcessHacker.exe_PhEqualStringRef
test al, al
je 0x1400e54cc
mov rcx, r13
call sym.ProcessHacker.exe_PhFormatNativeKeyName
mov rsi, rax
jmp 0x1400e62f6
lea rax, [0x14015ab20]
mov qword [rbp + 0x188], 0xe
mov r8b, 1
mov qword [rbp + 0x190], rax
lea rdx, [rbp + 0x188]
mov rcx, rdi
call sym.ProcessHacker.exe_PhEqualStringRef
test al, al
je 0x1400e5622
mov rcx, qword [0x140193948]
xor ebx, ebx
mov qword [rbp + 0x80], rbx
test rcx, rcx
je 0x1400e559f
mov dword [rsp + 0x48], ebx
lea rax, [rbp + 0x4c8]
mov qword [rsp + 0x40], rbx
xor r9d, r9d
mov qword [rbp + 0x2c8], rax
xor r8d, r8d
mov dword [rsp + 0x38], 0x30
lea rax, [rbp + 0x2b0]
mov qword [rsp + 0x30], rax
xor edx, edx
lea rax, [rbp + 0x4b8]
mov dword [rsp + 0x28], 0x9999225f
mov qword [rsp + 0x20], rax
mov qword [rbp + 0x2b0], r15
mov qword [rbp + 0x2b8], r14
mov dword [rbp + 0x2c0], 4
mov dword [rbp + 0x2d0], 0x30
mov qword [rbp + 0x2d8], rbx
call qword [sym.imp.ntdll.dll_NtDeviceIoControlFile]
test eax, eax
js 0x1400e6307
mov rax, qword [rbp + 0x4e8]
jmp 0x1400e5606
mov eax, dword [sym.ProcessHacker.exe_ProcessQueryAccess]
lea r9, [rbp - 0x50]
mov dword [rsp + 0x30], ebx
or r8, 0xffffffffffffffff
mov dword [rsp + 0x28], ebx
mov rdx, r14
mov rcx, r15
mov dword [rsp + 0x20], eax
call qword [sym.imp.ntdll.dll_NtDuplicateObject]
test eax, eax
js 0x1400e6307
mov rcx, qword [rbp - 0x50]
lea r8, [rbp + 0x4f8]
mov r9d, 0x30
mov qword [rsp + 0x20], rbx
xor edx, edx
call qword [sym.imp.ntdll.dll_NtQueryInformationProcess]
mov rcx, qword [rbp - 0x50]
mov ebx, eax
call qword [sym.imp.ntdll.dll_NtClose]
test ebx, ebx
js 0x1400e6307
mov rax, qword [rbp + 0x518]
mov qword [rbp + 0x78], rax
test r12, r12
je 0x1400e6307
lea rcx, [rbp + 0x78]
call r12
mov rsi, rax
jmp 0x1400e62f6
lea rax, [0x14015ba28]
mov qword [rbp + 0x198], 0xe
mov r8b, 1
mov qword [rbp + 0x1a0], rax
lea rdx, [rbp + 0x198]
mov rcx, rdi
call sym.ProcessHacker.exe_PhEqualStringRef
test al, al
je 0x1400e57de
test r13, r13
je 0x1400e5664
cmp qword [r13], rsi
je 0x1400e5664
xor al, al
jmp 0x1400e5666
mov al, 1
test al, al
je 0x1400e6307
xor r12d, r12d
lea r9, [rsp + 0x60]
mov dword [rsp + 0x30], r12d
or rdi, 0xffffffffffffffff
mov dword [rsp + 0x28], r12d
mov r8, rdi
mov rdx, r14
mov dword [rsp + 0x20], 5
mov rcx, r15
call qword [sym.imp.ntdll.dll_NtDuplicateObject]
test eax, eax
js 0x1400e6307
mov rcx, qword [rsp + 0x60]
lea rdx, [rbp - 0x20]
call fcn.1400e4bf0
test eax, eax
js 0x1400e56e5
mov rbx, qword [rbp - 0x20]
mov rcx, rbx
call sym.ProcessHacker.exe_PhResolveDevicePrefix
mov rsi, rax
lea rcx, [rbx - 0x10]
lock xadd dword [rcx + 8], edi
cmp edi, 1
jne 0x1400e57d4
call fcn.1400c8bc0
mov rcx, qword [rsp + 0x60]
jmp 0x1400e62f0
mov rcx, qword [rsp + 0x60]
lea r8, [rbp + 0x318]
mov r9d, 0x18
mov qword [rsp + 0x20], r12
xor edx, edx
call qword [sym.imp.ntdll.dll_NtQuerySection]
test eax, eax
js 0x1400e57d4
mov eax, dword [rbp + 0x320]
lea rcx, [0x14015b828]
bt eax, 0x1b
jae 0x1400e5728
lea rbx, [0x14015fac8]
jmp 0x1400e574c
bt eax, 0x17
jb 0x1400e574c
bt eax, 0x18
jae 0x1400e573d
lea rbx, [0x14015fb00]
jmp 0x1400e574c
bt eax, 0x1a
lea rbx, str.Reserve
cmovae rbx, rcx
mov dword [rbp + 0x3c0], 1
inc rdi
cmp word [rbx + rdi*2], si
jne 0x1400e5756
lea rax, [0x14015bff8]
mov qword [rbp + 0x3d8], rbx
mov qword [rbp + 0x3f8], rax
lea rcx, [rbp + 0x3c0]
mov rax, qword [rbp + 0x328]
add rdi, rdi
mov qword [rbp + 0x410], rax
mov eax, 0x29
mov qword [rbp + 0x3d0], rdi
mov dword [rbp + 0x3e0], 1
mov qword [rbp + 0x3f0], 4
lea edx, [rax - 0x25]
mov dword [rbp + 0x400], 0xc
lea r8d, [rax - 0x15]
mov dword [rbp + 0x420], r12d
mov word [rbp + 0x430], ax
call sym.ProcessHacker.exe_PhFormat
mov rsi, rax
mov rcx, qword [rsp + 0x60]
jmp 0x1400e62f0
lea rax, [0x14015ba60]
mov qword [rbp + 0x1a8], 0xc
mov r8b, 1
mov qword [rbp + 0x1b0], rax
lea rdx, [rbp + 0x1a8]
mov rcx, rdi
call sym.ProcessHacker.exe_PhEqualStringRef
test al, al
je 0x1400e5933
mov rcx, qword [0x140193948]
test rcx, rcx
je 0x1400e58aa
lea rax, [rbp + 0x528]
mov qword [rbp + 0x2e0], r15
mov qword [rbp + 0x2f8], rax
xor r9d, r9d
xor eax, eax
mov qword [rbp + 0x2e8], r14
mov dword [rsp + 0x48], eax
xor r8d, r8d
mov qword [rsp + 0x40], rax
xor edx, edx
mov qword [rbp + 0x308], rax
lea rax, [rbp + 0x2e0]
mov dword [rsp + 0x38], 0x30
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x498]
mov dword [rsp + 0x28], 0x9999225f
mov qword [rsp + 0x20], rax
mov dword [rbp + 0x2f0], 5
mov dword [rbp + 0x300], 0x30
call qword [sym.imp.ntdll.dll_NtDeviceIoControlFile]
test eax, eax
js 0x1400e6307
movups xmm0, xmmword [rbp + 0x538]
jmp 0x1400e5911
mov eax, dword [sym.ProcessHacker.exe_ThreadQueryAccess]
lea r9, [rbp - 0x48]
xor ebx, ebx
or r8, 0xffffffffffffffff
mov dword [rsp + 0x30], ebx
mov rdx, r14
mov dword [rsp + 0x28], ebx
mov rcx, r15
mov dword [rsp + 0x20], eax
call qword [sym.imp.ntdll.dll_NtDuplicateObject]
test eax, eax
js 0x1400e6307
mov rcx, qword [rbp - 0x48]
lea r9d, [rbx + 0x30]
lea r8, [rbp + 0x558]
mov qword [rsp + 0x20], rbx
xor edx, edx
call qword [sym.imp.ntdll.dll_NtQueryInformationThread]
mov rcx, qword [rbp - 0x48]
mov ebx, eax
call qword [sym.imp.ntdll.dll_NtClose]
test ebx, ebx
js 0x1400e6307
movups xmm0, xmmword [rbp + 0x568]
movups xmmword [rbp + 0x1b8], xmm0
test r12, r12
je 0x1400e6307
lea rcx, [rbp + 0x1b8]
call r12
mov rsi, rax
jmp 0x1400e62f6
lea rax, str.TmEn
mov qword [rbp + 0x1c8], 8
mov r8b, 1
mov qword [rbp + 0x1d0], rax
lea rdx, [rbp + 0x1c8]
mov rcx, rdi
call sym.ProcessHacker.exe_PhEqualStringRef
test al, al
je 0x1400e5b23
xor r12d, r12d
lea r9, [rbp - 0x40]
mov dword [rsp + 0x30], r12d
or r8, 0xffffffffffffffff
mov dword [rsp + 0x28], r12d
mov rdx, r14
mov rcx, r15
mov dword [rsp + 0x20], 1
call qword [sym.imp.ntdll.dll_NtDuplicateObject]
test eax, eax
js 0x1400e6307
movzx eax, byte [0x1401941dd]
lea rdi, [0x140158b30]
mov rsi, qword [rbp - 0x40]
test al, al
je 0x1400e59bc
mov r10, qword [0x140194220]
mov rcx, r10
jmp 0x1400e5a48
lea r9, [rbp - 0x18]
mov dword [rbp + 0x88], 0x140012
lea r8, [rbp + 0x88]
mov qword [rbp + 0x90], rdi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ntdll.dll_LdrGetDllHandle]
test eax, eax
js 0x1400e5af8
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x1400e5af8
lea rax, str.NtQueryInformationEnlistment
mov dword [rbp + 0x98], 0x1d001c
lea r9, [rbp - 0x10]
mov qword [rbp + 0xa0], rax
xor r8d, r8d
lea rdx, [rbp + 0x98]
call qword [sym.imp.ntdll.dll_LdrGetProcedureAddress]
mov rcx, qword [rbp - 0x10]
test eax, eax
cmovs rcx, r12
mov qword [0x140194220], rcx
lock or dword [rsp], r12d
mov r10, qword [0x140194220]
mov al, 1
mov byte [0x1401941dd], al
test rcx, rcx
je 0x1400e5af8
test al, al
jne 0x1400e5ada
lea r9, [rbp - 8]
mov dword [rbp + 0xa8], 0x140012
lea r8, [rbp + 0xa8]
mov qword [rbp + 0xb0], rdi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ntdll.dll_LdrGetDllHandle]
test eax, eax
js 0x1400e5ad7
mov rcx, qword [rbp - 8]
test rcx, rcx
je 0x1400e5ad7
lea rax, str.NtQueryInformationEnlistment
mov dword [rbp + 0xb8], 0x1d001c
lea r9, [rbp]
mov qword [rbp + 0xc0], rax
xor r8d, r8d
lea rdx, [rbp + 0xb8]
call qword [sym.imp.ntdll.dll_LdrGetProcedureAddress]
mov r10, qword [rbp]
test eax, eax
cmovs r10, r12
mov qword [0x140194220], r10
lock or dword [rsp], r12d
mov byte [0x1401941dd], 1
jmp 0x1400e5ada
mov r10, r12
mov r9d, 0x30
mov qword [rsp + 0x20], r12
lea r8, [rbp + 0x588]
xor edx, edx
mov rcx, rsi
call r10
mov ebx, eax
jmp 0x1400e5afd
mov ebx, 0xc00000bb
mov rcx, qword [rbp - 0x40]
call qword [sym.imp.ntdll.dll_NtClose]
test ebx, ebx
js 0x1400e6307
lea rcx, [rbp + 0x588]
call sym.ProcessHacker.exe_PhFormatGuid
mov rsi, rax
jmp 0x1400e62f6
lea rax, str.TmRm
mov qword [rbp + 0x1d8], 8
mov r8b, 1
mov qword [rbp + 0x1e0], rax
lea rdx, [rbp + 0x1d8]
mov rcx, rdi
call sym.ProcessHacker.exe_PhEqualStringRef
test al, al
je 0x1400e5c36
xor eax, eax
lea r9, [rbp - 0x38]
mov dword [rsp + 0x30], eax
or rdi, 0xffffffffffffffff
mov dword [rsp + 0x28], eax
mov r8, rdi
mov rdx, r14
mov dword [rsp + 0x20], 1
mov rcx, r15
call qword [sym.imp.ntdll.dll_NtDuplicateObject]
test eax, eax
js 0x1400e6307
mov rcx, qword [rbp - 0x38]
lea r8, [rbp + 8]
call fcn.1400d5e20
mov esi, eax
test eax, eax
js 0x1400e5bcf
mov rbx, qword [rbp + 8]
movups xmm0, xmmword [rbx]
lea rcx, [rbx + 0x14]
movups xmmword [rbp + 0x330], xmm0
mov edx, dword [rbx + 0x10]
call sym.ProcessHacker.exe_PhCreateStringEx
mov rcx, qword [0x140196670]
mov r8, rbx
xor edx, edx
mov qword [rbp + 0x10], rax
mov r14, rax
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
jmp 0x1400e5bd3
mov r14, qword [rbp + 0x10]
mov rcx, qword [rbp - 0x38]
call qword [sym.imp.ntdll.dll_NtClose]
test esi, esi
js 0x1400e6307
test r14, r14
je 0x1400e5bf4
cmp qword [r14], 0
je 0x1400e5bf4
xor al, al
jmp 0x1400e5bf6
mov al, 1
test al, al
jne 0x1400e5c02
mov rsi, r14
jmp 0x1400e62f6
lea rcx, [rbp + 0x330]
call sym.ProcessHacker.exe_PhFormatGuid
mov rsi, rax
test r14, r14
je 0x1400e62f6
lea rcx, [r14 - 0x10]
lock xadd dword [rcx + 8], edi
cmp edi, 1
jne 0x1400e62f6
call fcn.1400c8bc0
jmp 0x1400e62f6
lea rax, str.TmTm
mov qword [rbp + 0x1e8], 8
mov r8b, 1
mov qword [rbp + 0x1f0], rax
lea rdx, [rbp + 0x1e8]
mov rcx, rdi
call sym.ProcessHacker.exe_PhEqualStringRef
test al, al
je 0x1400e5ecb
xor r12d, r12d
lea r9, [rsp + 0x68]
mov dword [rsp + 0x30], r12d
or rdi, 0xffffffffffffffff
mov dword [rsp + 0x28], r12d
mov r8, rdi
mov rdx, r14
mov dword [rsp + 0x20], 1
mov rcx, r15
call qword [sym.imp.ntdll.dll_NtDuplicateObject]
test eax, eax
js 0x1400e6307
mov rcx, qword [rsp + 0x68]
lea r8, [rbp + 0x18]
call fcn.1400d5a40
test eax, eax
js 0x1400e5d52
mov r15, qword [rbp + 0x18]
mov rdx, qword [0x140196800]
mov ebx, dword [r15]
lea r12, [r15 + 4]
lea rcx, [rbx + 0x12]
call sym.ProcessHacker.exe_PhCreateObject
xor edx, edx
mov r14, rax
mov qword [rax], rbx
lea rcx, [rax + 0x10]
mov qword [rax + 8], rcx
mov word [rbx + rcx], dx
test r12, r12
je 0x1400e5cf7
mov rcx, qword [rax + 8]
mov r8d, ebx
mov rdx, r12
call fcn.14010e700
mov rcx, qword [0x140196670]
mov r8, r15
xor edx, edx
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
cmp qword [r14], rsi
je 0x1400e5d3b
mov rcx, r14
call sym.ProcessHacker.exe_PhGetFileName
mov rsi, rax
lock xadd dword [r14 - 8], edi
cmp edi, 1
jne 0x1400e5ec1
lea rcx, [r14 - 0x10]
call fcn.1400c8bc0
mov rcx, qword [rsp + 0x68]
jmp 0x1400e62f0
lock xadd dword [r14 - 8], edi
cmp edi, 1
jne 0x1400e5d4f
lea rcx, [r14 - 0x10]
call fcn.1400c8bc0
xor r12d, r12d
movzx eax, byte [0x1401941dc]
lea rdi, [0x140158b30]
mov r15, qword [rsp + 0x68]
test al, al
je 0x1400e5d78
mov r10, qword [0x1401941f0]
mov rcx, r10
jmp 0x1400e5e03
lea r9, [rbp + 0x20]
mov dword [rbp + 0xc8], 0x140012
lea r8, [rbp + 0xc8]
mov qword [rbp + 0xd0], rdi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ntdll.dll_LdrGetDllHandle]
test eax, eax
js 0x1400e5ec1
mov rcx, qword [rbp + 0x20]
test rcx, rcx
je 0x1400e5ec1
lea rax, str.NtQueryInformationTransactionManager
mov dword [rbp + 0xd8], 0x250024
lea r9, [rbp + 0x28]
mov qword [rbp + 0xe0], rax
xor r8d, r8d
lea rdx, [rbp + 0xd8]
call qword [sym.imp.ntdll.dll_LdrGetProcedureAddress]
mov rcx, qword [rbp + 0x28]
test eax, eax
cmovs rcx, r12
mov qword [0x1401941f0], rcx
lock or dword [rsp], esi
mov r10, qword [0x1401941f0]
mov al, 1
mov byte [0x1401941dc], al
test rcx, rcx
je 0x1400e5ec1
test al, al
jne 0x1400e5e94
lea r9, [rbp + 0x30]
mov dword [rbp + 0xe8], 0x140012
lea r8, [rbp + 0xe8]
mov qword [rbp + 0xf0], rdi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ntdll.dll_LdrGetDllHandle]
test eax, eax
js 0x1400e5e91
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x1400e5e91
lea rax, str.NtQueryInformationTransactionManager
mov dword [rbp + 0xf8], 0x250024
lea r9, [rbp + 0x38]
mov qword [rbp + 0x100], rax
xor r8d, r8d
lea rdx, [rbp + 0xf8]
call qword [sym.imp.ntdll.dll_LdrGetProcedureAddress]
mov r10, qword [rbp + 0x38]
test eax, eax
cmovs r10, r12
mov qword [0x1401941f0], r10
lock or dword [rsp], esi
mov byte [0x1401941dc], 1
jmp 0x1400e5e94
mov r10, r12
mov r9d, 0x18
mov qword [rsp + 0x20], r12
lea r8, [rbp + 0x458]
xor edx, edx
mov rcx, r15
call r10
test eax, eax
js 0x1400e5ec1
lea rcx, [rbp + 0x458]
call sym.ProcessHacker.exe_PhFormatGuid
mov rsi, rax
mov rcx, qword [rsp + 0x68]
jmp 0x1400e62f0
lea rax, str.TmTx
mov qword [rbp + 0x1f8], 8
mov r8b, 1
mov qword [rbp + 0x200], rax
lea rdx, [rbp + 0x1f8]
mov rcx, rdi
call sym.ProcessHacker.exe_PhEqualStringRef
test al, al
je 0x1400e611b
xor eax, eax
lea r9, [rsp + 0x70]
mov dword [rsp + 0x30], eax
or rdi, 0xffffffffffffffff
mov dword [rsp + 0x28], eax
mov r8, rdi
mov rdx, r14
mov dword [rsp + 0x20], 1
mov rcx, r15
call qword [sym.imp.ntdll.dll_NtDuplicateObject]
test eax, eax
js 0x1400e6307
mov rcx, qword [rsp + 0x70]
lea r8, [rbp + 0x40]
call fcn.1400d5c30
test eax, eax
js 0x1400e5fa7
mov rbx, qword [rbp + 0x40]
mov edx, dword [rbx + 0x14]
lea rcx, [rbx + 0x18]
call sym.ProcessHacker.exe_PhCreateStringEx
mov rcx, qword [0x140196670]
mov r8, rbx
xor edx, edx
mov qword [rbp + 0x310], rax
mov r14, rax
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
test r14, r14
je 0x1400e5f7c
cmp qword [r14], rsi
je 0x1400e5f7c
xor al, al
jmp 0x1400e5f7e
mov al, 1
test al, al
jne 0x1400e5f8f
mov rcx, qword [rsp + 0x70]
mov rsi, r14
jmp 0x1400e62f0
test r14, r14
je 0x1400e5fa7
lea rcx, [r14 - 0x10]
lock xadd dword [rcx + 8], edi
cmp edi, 1
jne 0x1400e5fa7
call fcn.1400c8bc0
movzx eax, byte [0x1401941db]
lea rdi, [0x140158b30]
mov r12, qword [rsp + 0x70]
test al, al
je 0x1400e5fcd
mov r10, qword [0x140194218]
mov rcx, r10
jmp 0x1400e605b
lea r9, [rbp + 0x48]
mov dword [rbp + 0x108], 0x140012
lea r8, [rbp + 0x108]
mov qword [rbp + 0x110], rdi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ntdll.dll_LdrGetDllHandle]
test eax, eax
js 0x1400e6111
mov rcx, qword [rbp + 0x48]
test rcx, rcx
je 0x1400e6111
lea rax, str.NtQueryInformationTransaction
mov dword [rbp + 0x118], 0x1e001d
lea r9, [rbp + 0x50]
mov qword [rbp + 0x120], rax
xor r8d, r8d
lea rdx, [rbp + 0x118]
call qword [sym.imp.ntdll.dll_LdrGetProcedureAddress]
mov rcx, qword [rbp + 0x50]
test eax, eax
mov rax, rsi
cmovs rcx, rsi
mov qword [0x140194218], rcx
lock or dword [rsp], eax
mov r10, qword [0x140194218]
mov al, 1
mov byte [0x1401941db], al
test rcx, rcx
je 0x1400e6111
xor edx, edx
test al, al
jne 0x1400e60e4
lea r9, [rbp + 0x58]
mov dword [rbp + 0x128], 0x140012
lea r8, [rbp + 0x128]
mov qword [rbp + 0x130], rdi
xor ecx, ecx
call qword [sym.imp.ntdll.dll_LdrGetDllHandle]
test eax, eax
js 0x1400e60df
mov rcx, qword [rbp + 0x58]
test rcx, rcx
je 0x1400e60df
lea rax, str.NtQueryInformationTransaction
mov dword [rbp + 0x68], 0x1e001d
lea r9, [rbp + 0x60]
mov qword [rbp + 0x70], rax
xor r8d, r8d
lea rdx, [rbp + 0x68]
call qword [sym.imp.ntdll.dll_LdrGetProcedureAddress]
mov r10, qword [rbp + 0x60]
mov rdx, rsi
test eax, eax
cmovs r10, rsi
mov qword [0x140194218], r10
lock or dword [rsp], edx
mov byte [0x1401941db], 1
jmp 0x1400e60e4
xor edx, edx
mov r10d, edx
mov qword [rsp + 0x20], rdx
lea r8, [rbp + 0x470]
xor edx, edx
mov r9d, 0x18
mov rcx, r12
call r10
test eax, eax
js 0x1400e6111
lea rcx, [rbp + 0x470]
call sym.ProcessHacker.exe_PhFormatGuid
mov rsi, rax
mov rcx, qword [rsp + 0x70]
jmp 0x1400e62f0
lea rax, [0x14015be98]
mov qword [rbp + 0x208], 0xa
mov r8b, 1
mov qword [rbp + 0x210], rax
lea rdx, [rbp + 0x208]
mov rcx, rdi
call sym.ProcessHacker.exe_PhEqualStringRef
test al, al
je 0x1400e6307
xor eax, eax
lea r9, [rbp - 0x80]
xor ecx, ecx
mov qword [rbp + 0x218], rax
mov dword [rsp + 0x30], ecx
or rdi, 0xffffffffffffffff
mov dword [rsp + 0x28], ecx
mov r8, rdi
mov qword [rsp + 0x78], rcx
mov rdx, r14
mov rcx, r15
mov qword [rbp + 0x220], rax
mov qword [rbp + 0x228], rax
mov qword [rbp + 0x230], rax
mov qword [rbp + 0x238], rax
mov qword [rbp + 0x240], rax
mov qword [rbp + 0x248], rax
mov dword [rsp + 0x20], 8
call qword [sym.imp.ntdll.dll_NtDuplicateObject]
test eax, eax
js 0x1400e6307
mov rcx, qword [rbp - 0x80]
lea r8, [rsp + 0x78]
lea edx, [rdi + 2]
call fcn.1400d55f0
mov rcx, qword [rbp - 0x80]
lea r9d, [rdi + 0x39]
mov ebx, eax
lea r8, [rbp + 0x218]
lea rax, [rbp - 0x30]
lea edx, [rdi + 0xb]
mov qword [rsp + 0x20], rax
call qword [sym.imp.ntdll.dll_NtQueryInformationToken]
test ebx, ebx
js 0x1400e62ec
mov rcx, qword [rsp + 0x78]
xor r8d, r8d
mov dl, 1
mov rcx, qword [rcx]
call sym.ProcessHacker.exe_PhGetSidFullName
mov rbx, rax
test rax, rax
je 0x1400e62d8
movups xmm0, xmmword [rax]
mov ecx, dword [rbp + 0x220]
lea rax, str.:_0x
cmp dword [rbp + 0x230], 1
mov qword [rbp + 0x378], rax
lea rax, str.__Primary_
mov dword [rbp + 0x390], ecx
lea rcx, str.__Impersonation_
cmove rcx, rax
mov dword [rbp + 0x340], 1
mov rax, rdi
movaps xmmword [rbp + 0x350], xmm0
mov dword [rbp + 0x360], 1
mov qword [rbp + 0x370], 8
mov dword [rbp + 0x380], 0x108
mov byte [rbp + 0x38a], 0x10
mov dword [rbp + 0x3a0], 1
nop dword [rax + rax]
inc rax
cmp word [rcx + rax*2], si
jne 0x1400e6290
mov r8, qword [rbx]
add rax, rax
mov qword [rbp + 0x3b8], rcx
add r8, 0x28
mov edx, 4
mov qword [rbp + 0x3b0], rax
lea rcx, [rbp + 0x340]
call sym.ProcessHacker.exe_PhFormat
mov rsi, rax
lea rcx, [rbx - 0x10]
lock xadd dword [rcx + 8], edi
cmp edi, 1
jne 0x1400e62d8
call fcn.1400c8bc0
mov r8, qword [rsp + 0x78]
xor edx, edx
mov rcx, qword [0x140196670]
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
mov rcx, qword [rbp - 0x80]
call qword [sym.imp.ntdll.dll_NtClose]
test rsi, rsi
je 0x1400e6307
mov rax, qword [rbp + 0x610]
mov qword [rax], rsi
jmp 0x1400e631b
mov rax, qword [rbp + 0x610]
test r13, r13
je 0x1400e6318
lock inc dword [r13 - 8]
mov qword [rax], r13
lea r11, [rsp + 0x6c0]
xor eax, eax
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret