Function at 0x18000f410
Capabilities:
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
mov r11, rsp
push rsi
sub rsp, 0x6b0
mov rax, qword [0x18010db20]
xor rax, rsp
mov qword [rsp + 0x690], rax
mov qword [r11 + 0x18], rbp
mov rbp, rcx
mov qword [r11 - 0x10], r12
xor r12d, r12d
lea rcx, [r11 - 0x236]
xor edx, edx
mov r8d, 0x206
mov esi, r12d
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x40], r12
mov word [r11 - 0x238], r12w
call fcn.180037390
lea rcx, [rsp + 0x272]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x270], r12w
call fcn.180037390
lea rcx, [rsp + 0x62]
xor edx, edx
mov r8d, 0xfe
mov word [rsp + 0x60], r12w
call fcn.180037390
lea rcx, [rsp + 0x161]
xor edx, edx
mov r8d, 0x103
mov byte [rsp + 0x160], sil
call fcn.180037390
lea r8, [rsp + 0x58]
lea rdx, str.SYSTEMCurrentControlSetControlClass4D36E972_E325_11CE_BFC1_08002BE10318_
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x50], r12d
mov dword [rsp + 0x48], r12d
mov dword [rsp + 0x54], 0x104
mov dword [rsp + 0x4c], r12d
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
test eax, eax
je 0x18000f4f6
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x18000f719
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
lea r9, [rsp + 0x54]
lea r8, [rsp + 0x270]
xor edx, edx
mov qword [rsp + 0x6c8], rbx
mov qword [rsp + 0x28], r12
mov ebx, r12d
mov qword [rsp + 0x20], r12
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x18000f711
mov qword [rsp + 0x6a0], r13
lea r13d, [rax + 1]
mov qword [rsp + 0x6d8], rdi
nop dword [rax + rax]
lea r9, [rsp + 0x270]
lea r8, str.SYSTEMCurrentControlSetControlClass4D36E972_E325_11CE_BFC1_08002BE10318_
lea rdx, str._ws_ws
lea rcx, [rsp + 0x480]
call fcn.180010520
lea rcx, [rsp + 0x270]
xor edx, edx
mov r8d, 0x208
call fcn.180037390
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x18000f59d
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rsp + 0x40], r12
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x480]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
test eax, eax
jne 0x18000f67b
lea rcx, [rsp + 0x60]
xor edx, edx
mov r8d, 0x100
mov dword [rsp + 0x48], r13d
mov dword [rsp + 0x50], pe_nt_image_headers64
call fcn.180037390
mov rcx, qword [rsp + 0x40]
lea rdx, [rsp + 0x50]
lea rax, [rsp + 0x60]
mov qword [rsp + 0x28], rdx
lea r9, [rsp + 0x48]
lea rdx, str.NetCfgInstanceId
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x18000f67b
lea rcx, [rsp + 0x160]
xor edx, edx
mov r8d, 0x104
call fcn.180037390
or rcx, 0xffffffffffffffff
xor eax, eax
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
lea rdi, [rsp + 0x60]
repne scasw ax, word [rdi]
lea rax, [rsp + 0x160]
lea r8, [rsp + 0x60]
not rcx
or r9d, 0xffffffff
xor edx, edx
dec rcx
mov dword [rsp + 0x28], ecx
xor ecx, ecx
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea rcx, [rsp + 0x160]
mov rdx, rbp
call fcn.1800399b8
test eax, eax
je 0x18000f6bd
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
inc ebx
lea r9, [rsp + 0x54]
lea r8, [rsp + 0x270]
mov edx, ebx
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x54], 0x104
mov qword [rsp + 0x20], r12
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
je 0x18000f550
jmp 0x18000f701
mov rcx, qword [rsp + 0x40]
lea rax, [rsp + 0x50]
lea r9, [rsp + 0x48]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x4c]
lea rdx, str.Characteristics
xor r8d, r8d
mov dword [rsp + 0x4c], r12d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x18000f701
movzx eax, byte [rsp + 0x4c]
and al, 0x84
cmp al, 0x84
cmove esi, r13d
mov rdi, qword [rsp + 0x6d8]
mov r13, qword [rsp + 0x6a0]
mov rbx, qword [rsp + 0x6c8]
mov rcx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x6d0]
test rcx, rcx
je 0x18000f736
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rsp + 0x40], r12
mov rcx, qword [rsp + 0x58]
mov r12, qword [rsp + 0x6a8]
test rcx, rcx
je 0x18000f74e
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, esi
mov rcx, qword [rsp + 0x690]
xor rcx, rsp
call fcn.180037360
add rsp, 0x6b0
pop rsi
ret