Function at 0x140003d40
Capabilities:
Link many functions at runtime

Disassembly:
push rbx
sub rsp, 0x30
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rcx, rax
lea rdx, str.NtQuerySystemInformation
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.NtQueryInformationProcess
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.NtOpenProcess
mov rcx, rbx
mov qword [0x14007cb10], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.NtOpenProcessToken
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.NtQueryInformationToken
mov rcx, rbx
mov qword [0x14007cb08], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.NtClose
mov rcx, rbx
mov qword [0x14007cb00], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.NtDuplicateToken
mov rcx, rbx
mov qword [0x14007caf8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.NtImpersonateAnonymousToken
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.NtSetInformationThread
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.NtSetInformationToken
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.RtlAllocateAndInitializeSid
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.NtFilterToken
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.NtTerminateProcess
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.RtlLengthSid
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.RtlFreeSid
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.RtlSetLastWin32Error
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.RtlNtStatusToDosError
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.RtlCreateHeap
mov rcx, rbx
mov qword [0x14007caf0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.RtlAllocateHeap
mov rcx, rbx
mov qword [0x14007cae8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.RtlFreeHeap
mov rcx, rbx
mov qword [0x14007c678], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.RtlQueryElevationFlags
mov rcx, rbx
mov qword [0x14007c668], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.RtlInitUnicodeString
mov rcx, rbx
mov qword [0x14007cae0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14007cad8], rax
lea rdx, str.RtlExpandEnvironmentStrings_U
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.RtlNtStatusToDosErrorNoTeb
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.NtCreateFile
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.NtFsControlFile
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.NtDeleteFile
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.NtAllocateVirtualMemory
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.RtlAcquirePebLock
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.NtFreeVirtualMemory
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.RtlReleasePebLock
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.LdrEnumerateLoadedModules
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.NtOpenKey
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.NtQueryValueKey
mov rcx, rbx
mov qword [0x14007cad0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.NtRemoveProcessDebug
mov rcx, rbx
mov qword [0x14007cac8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.DbgUiSetThreadDebugObject
mov rcx, rbx
mov qword [0x14007cac0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.NtDuplicateObject
mov rcx, rbx
mov qword [0x14007cab8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.RtlSetHeapInformation
mov rcx, rbx
mov qword [0x14007cab0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, str.Advapi32.dll
mov qword [0x14007c688], rax
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rcx, rax
lea rdx, str.ImpersonateLoggedOnUser
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor eax, eax
xor r9d, r9d
mov qword [rsp + 0x28], rax
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rax
lea ecx, [rax + 2]
call qword [0x14007cae8]
xor r9d, r9d
xor r8d, r8d
mov rcx, rax
mov qword [0x14007c670], rax
lea edx, [r9 + 1]
call qword [0x14007c688]
add rsp, 0x30
pop rbx
jmp 0x140004200
mov r11, rsp
push rbp
push rbx
push rdi
lea rbp, [r11 - 0x1d8]
sub rsp, 0x2c0
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x1b0], rax
mov qword [r11 + 8], rsi
lea rdx, str.REGISTRY_
xor edi, edi
mov qword [r11 + 0x10], r14
mov qword [r11 + 0x18], r15
lea rcx, [rbp - 0x60]
mov r15d, 0x5c
mov qword [rsp + 0x40], rdi
mov ebx, edi
mov dword [rbp - 0x68], r15d
mov qword [rsp + 0x38], rbx
mov dword [rbp - 0x78], 0x790073
mov dword [rbp - 0x74], 0x740073
mov dword [rbp - 0x70], 0x6d0065
mov dword [rbp - 0x6c], 0x320033
mov dword [rsp + 0x30], edi
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
lea rdx, str.MACHINESOFTWAREMicrosoftWindows_NTCurrentVersion
lea rcx, [rbp - 0x60]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x48]
call qword [0x14007cad8]
lea rax, [rsp + 0x48]
mov dword [rsp + 0x58], 0x30
xorps xmm0, xmm0
mov qword [rsp + 0x68], rax
lea r8, [rsp + 0x58]
mov qword [rsp + 0x60], rdi
mov edx, 0x20019
mov dword [rsp + 0x70], 0x40
lea rcx, [rsp + 0x40]
movdqu xmmword [rsp + 0x78], xmm0
call qword [0x14007cad0]
test eax, eax
js 0x140004373
mov rcx, qword [rsp + 0x40]
lea rax, [rsp + 0x30]
lea r9, [rsp + 0x38]
mov qword [rsp + 0x20], rax
call fcn.140004090
mov rbx, qword [rsp + 0x38]
test eax, eax
js 0x140004373
mov eax, dword [rsp + 0x30]
shr rax, 1
mov rcx, rax
lea r14, [rax + rax]
cmp word [r14 + rbx - 2], r15w
je 0x14000431f
inc rax
lea esi, [rdi + 1]
jmp 0x140004321
mov esi, edi
add rax, 9
cmp rax, 0x104
jae 0x140004373
mov r8d, ecx
lea rdi, [0x14007c8a0]
mov rcx, rdi
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcpynW]
test esi, esi
je 0x14000434d
mov word [r14 + rdi - 2], r15w
mov rdx, rdi
lea rcx, [0x14007c690]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
lea rdx, [rbp - 0x78]
lea rcx, [0x14007c690]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
mov edi, 1
mov rcx, qword [rsp + 0x40]
mov r15, qword [rsp + 0x2f0]
mov r14, qword [rsp + 0x2e8]
mov rsi, qword [rsp + 0x2e0]
test rcx, rcx
je 0x14000439b
call qword [0x14007caf8]
test rbx, rbx
je 0x1400043b2
mov rcx, qword [0x14007c670]
mov r8, rbx
xor edx, edx
call qword [0x14007c668]
mov eax, edi
mov rcx, qword [rbp + 0x1b0]
xor rcx, rsp
call fcn.1400049d0
add rsp, 0x2c0
pop rdi
pop rbx
pop rbp
ret