Function at 0x18000fd50
Capabilities:
Query or enumerate registry key

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rdx
push rbp
push rbx
push r12
lea rbp, [rax - 0x228]
sub rsp, 0x310
lea r12d, [rcx + 0x11]
mov rbx, r8
cmp ecx, r12d
jae 0x180010435
mov qword [rax + 0x18], rsi
lea r8, [0x180000000]
xor esi, esi
mov qword [rax - 0x20], rdi
mov qword [rax - 0x28], r13
lea r13d, [rcx - 0x53]
mov qword [rax - 0x30], r14
mov qword [rax - 0x38], r15
lea edi, [rsi + 0x69]
lea r10d, [rsi + 0x79]
lea r9d, [rsi + 8]
lea r11d, [rsi + 0x49]
lea r14d, [rsi + 0x63]
lea r15d, [rsi + 0x74]
cmp r13d, 0x2d
ja case.0x18000fdcf.16
movzx eax, byte [r8 + r13 + 0x1048c]
mov ecx, dword [r8 + rax*4 + 0x10448]
add rcx, r8
jmp rcx
mov dword [rbp - 0x66], 0x79
jmp case.0x18000fdcf.16
mov word [rbp - 0x4e], r9w
mov dword [rsp + 0x5c], 1
jmp case.0x18000fdcf.16
movsd xmm0, qword [0x1800993fc]
mov eax, 0x65
mov word [rbp - 0x7a], ax
movzx eax, word [0x180099404]
mov word [rbp - 0x68], ax
mov dword [rbp - 0x78], 0x730073
mov word [rbp - 0x74], si
movsd qword [rbp - 0x70], xmm0
mov word [rbp - 0x66], si
jmp case.0x18000fdcf.16
mov word [rsp + 0x70], r11w
mov dword [rsp + 0x72], 0x360073
mov dword [rsp + 0x76], 0x420034
mov word [rsp + 0x7a], di
jmp case.0x18000fdcf.16
mov edx, 0xad
lea r8, [rbp - 0x70]
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
lea ecx, [rdx + 0xa]
call fcn.18000a770
xor edx, edx
mov qword [rbp - 0x38], rax
mov r8d, 0x200
lea rcx, [rbp - 0x10]
call fcn.18006bea0
mov r9d, dword [rsp + 0x64]
lea rax, [rbp - 0x10]
mov r8d, dword [rsp + 0x60]
lea rcx, [rsp + 0x70]
mov edx, dword [rsp + 0x5c]
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x28]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x50]
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rsi
call qword [sym.imp.ADVAPI32.dll_GetInheritanceSourceW]
mov dword [rsp + 0x68], eax
mov rdx, qword [rbp + 0x238]
lea r8, [0x180000000]
mov r9d, 8
lea r10d, [r9 + 0x71]
lea r11d, [r9 + 0x41]
jmp case.0x18000fdcf.16
movsd xmm0, qword [0x1800994aa]
mov eax, 0x33
mov word [rbp - 0x64], ax
movzx eax, word [0x1800994b2]
mov word [rbp - 0x5a], ax
movsd qword [rbp - 0x62], xmm0
mov word [rbp - 0x58], si
jmp case.0x18000fdcf.16
mov dword [rsp + 0x58], esi
jmp case.0x18000fdcf.16
mov ecx, dword [rbx + 0x6c]
test ecx, ecx
jle 0x18000ffbf
mov r15d, 0xf5
nop dword [rax]
mov eax, r15d
sub eax, 0xf5
je 0x18000ff9c
cmp eax, 1
jne 0x18000ffa2
mov edi, dword [rbx + 0x28c]
mov esi, dword [rbx + 0x288]
mov r14d, dword [rbx + 0x294]
rol edi, 1
xor edi, esi
mov dword [rbx + 0x28c], edi
cmp r14d, eax
jle 0x18000ff58
mov dword [rbx + 0x74], 0
cmp dword [rbx + 0x290], 2
jl 0x18000ff8b
mov ecx, 2
call fcn.180070398
mov rcx, rax
lea rdx, str.declaring_a_void_parameter_list_with_a_typedef_is_nonstandard
mov eax, dword [rbx + 0x6c]
mov r9d, esi
mov dword [rsp + 0x28], eax
mov r8d, r14d
mov dword [rsp + 0x20], edi
call fcn.180069b10
xor r8d, r8d
mov rdx, rbx
lea ecx, [r8 + 0x27]
call fcn.18001bf10
jmp 0x18000ffa2
not dword [rbx + 0x288]
inc r15d
cmp r15d, 0xf7
jb 0x18000ff20
mov ecx, dword [rbx + 0x6c]
xor esi, esi
lea r14d, [rsi + 0x63]
lea r15d, [rsi + 0x74]
movsxd rax, ecx
add rax, qword [rbx + 0x20]
cmp dword [rbx + 0x294], 1
mov qword [rbx + 0x50], rax
jne 0x180010077
mov edi, 0x4c
nop dword [rax]
cmp edi, 0x4c
je 0x180010036
cmp edi, 0x1728
jne 0x180010062
mov r8d, 0x38
mov byte [rbp + 0x248], 0x5a
mov rdx, rbx
lea rcx, [rbp + 0x248]
call fcn.1800418c0
mov r8d, 0x38
mov byte [rbp + 0x248], 0x68
mov rdx, rbx
lea rcx, [rbp + 0x248]
call fcn.1800418c0
movzx eax, byte [rbx + 0x298]
add al, 0x30
mov byte [rbp + 0x248], al
jmp 0x18001004d
xor r8d, r8d
mov edx, 0xbf
mov rcx, rbx
call fcn.18004be90
mov byte [rbp + 0x248], 0x42
mov r8d, 0x38
lea rcx, [rbp + 0x248]
mov rdx, rbx
call fcn.1800418c0
add edi, 0x16dc
cmp edi, 0x2db8
jbe 0x18000ffe0
mov ecx, dword [rbx + 0x6c]
test ecx, ecx
jle 0x180010203
mov edi, 0x113
cmp edi, 0x113
je 0x18001019d
cmp edi, 0x2af8
je 0x180010178
cmp edi, 0x54dd
je 0x18001010d
cmp edi, 0x7ec2
je 0x1800100cc
cmp edi, 0xa8a7
jne 0x1800101f1
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 0x34]
call fcn.1800066e0
jmp 0x1800101f1
mov eax, dword [rbx + 0x30]
lea r8, [rsp + 0x50]
mov dword [rbp + 0x248], eax
mov r9, rbx
lea rax, [rbp + 0x248]
mov dword [rsp + 0x50], 0x18
xor edx, edx
mov qword [rsp + 0x20], rax
mov ecx, r14d
call fcn.180058af0
mov rdx, rbx
mov ecx, 0x9e
call fcn.18002f080
jmp 0x1800101f1
mov r8d, 0x38
mov byte [rbp + 0x248], 0x59
mov rdx, rbx
lea rcx, [rbp + 0x248]
call fcn.1800418c0
mov eax, dword [rbx + 0x288]
lea rdx, [rbp + 0x248]
mov r8d, 0x14
mov dword [rbp + 0x248], eax
mov rcx, rbx
call fcn.180027230
lea rax, [rbp + 0x248]
mov dword [rbp + 0x248], esi
mov r9, rbx
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x50]
mov dword [rsp + 0x50], 1
xor edx, edx
mov ecx, r14d
call fcn.180058af0
jmp 0x1800101f1
mov r8d, 0x38
mov byte [rbp + 0x248], 0x26
mov rdx, rbx
lea rcx, [rbp + 0x248]
call fcn.1800418c0
mov byte [rbp + 0x248], 0x53
jmp 0x1800101dc
mov r8d, 0x38
mov byte [rbp + 0x248], 0x31
mov rdx, rbx
lea rcx, [rbp + 0x248]
call fcn.1800418c0
mov r8d, 0x38
mov byte [rbp + 0x248], 0x41
mov rdx, rbx
lea rcx, [rbp + 0x248]
call fcn.1800418c0
mov byte [rbp + 0x248], 0x59
mov r8d, 0x38
lea rcx, [rbp + 0x248]
mov rdx, rbx
call fcn.1800418c0
add edi, 0x29e5
cmp edi, 0xd179
jbe 0x180010084
mov edi, 0x69
jmp 0x18000feb7
mov dword [rsp + 0x60], 4
mov dword [rsp + 0x64], esi
jmp case.0x18000fdcf.16
cmp dword [rsp + 0x68], 0
mov ecx, esi
movzx eax, byte [rbp + 0x230]
cmove ecx, eax
mov byte [rbp + 0x230], cl
cmp cl, 0
je 0x18001024c
mov edx, 0x20
lea rcx, [rbp - 0x10]
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_FreeInheritedFromArray]
mov rcx, qword [rbp - 0x30]
lea rax, [rbp - 0x48]
lea r9, [rbp - 0x44]
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x40]
lea rdx, [rbp - 0x3c]
call qword [sym.imp.SHLWAPI.dll_SHQueryInfoKeyA]
call qword [rbp - 0x38]
cmp eax, 1
sete byte [rsp + 0x58]
jmp 0x18000feb7
cmp byte [rdx], 0
je case.0x18000fdcf.16
mov edi, 0x80
nop dword [rax]
cmp edi, 0x80
je 0x180010362
cmp edi, 0x10a
je 0x18001033d
cmp edi, 0x194
je 0x180010318
cmp edi, 0x21e
jne 0x18001039a
mov eax, dword [rbx + 0x28c]
lea rdx, [rbp + 0x248]
mov r8d, 0x14
mov dword [rbp + 0x248], eax
mov rcx, rbx
call fcn.180027230
cmp dword [rbx + 0x290], 2
jl 0x180010306
mov ecx, 2
call fcn.180070398
mov r8d, dword [rbx + 0x28c]
lea rdx, str.FormattedHostProfilesCustomizations
mov rcx, rax
call fcn.180069b10
mov edx, 0x2c
mov rcx, rbx
call fcn.180068410
jmp 0x18001039a
mov r8d, 0x38
mov byte [rbp + 0x248], 0x50
mov rdx, rbx
lea rcx, [rbp + 0x248]
call fcn.1800418c0
mov byte [rbp + 0x248], 0x90
jmp 0x180010385
mov r8d, 0x38
mov byte [rbp + 0x248], 0x45
mov rdx, rbx
lea rcx, [rbp + 0x248]
call fcn.1800418c0
mov byte [rbp + 0x248], 0x38
jmp 0x180010385
mov r8d, 0x38
mov byte [rbp + 0x248], 0x17
mov rdx, rbx
lea rcx, [rbp + 0x248]
call fcn.1800418c0
mov byte [rbp + 0x248], 0x72
mov r8d, 0x38
lea rcx, [rbp + 0x248]
mov rdx, rbx
call fcn.1800418c0
add edi, 0x8a
cmp edi, 0x2a8
jb 0x180010290
mov edi, 0x69
jmp 0x18000feb7
mov byte [rbp + 0x230], 1
mov qword [rbp - 0x50], rsi
jmp case.0x18000fdcf.16
xor r9d, r9d
lea rdx, [0x1800b4de0]
mov r8d, 0x84
xor ecx, ecx
call fcn.18005d2b0
jmp 0x18000feb7
mov dword [rsp + 0x7c], 0x500074
mov dword [rbp - 0x80], 0x6f0072
mov word [rbp - 0x7c], r14w
jmp case.0x18000fdcf.16
mov qword [rbp - 0x30], 0xffffffff80000001
inc r13d
lea eax, [r13 + 0x53]
cmp eax, r12d
jb 0x18000fdb1
mov r14, qword [rsp + 0x2f8]
mov r13, qword [rsp + 0x300]
mov rdi, qword [rsp + 0x308]
mov rsi, qword [rsp + 0x340]
mov r15, qword [rsp + 0x2f0]
mov eax, dword [rsp + 0x58]
add rsp, 0x310
pop r12
pop rbx
pop rbp
ret