Function at 0x180196c10
Capabilities:
Query or enumerate registry key

Disassembly:
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x3d0
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov rax, qword [0x1804610b0]
xor rax, rsp
mov qword [rsp + 0x3c0], rax
cmp qword [rsp + 0x3e8], 0
jne 0x180196c59
xor al, al
jmp 0x18019727f
mov rcx, qword [rsp + 0x3f8]
call fcn.18019a250
lea rax, [rsp + 0xa8]
mov rdi, rax
xor eax, eax
mov ecx, 0x10
rep stosb byte [rdi], al
lea rcx, [rsp + 0xa8]
call fcn.1800f5140
nop
mov dword [rsp + 0x4c], 0
lea rax, [rsp + 0x1b0]
mov rdi, rax
xor eax, eax
mov ecx, 0x208
rep stosb byte [rdi], al
mov dword [rsp + 0x98], 0x104
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x98]
lea r8, [rsp + 0x1b0]
mov edx, dword [rsp + 0x4c]
mov rcx, qword [rsp + 0x3e8]
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
jne 0x180196dd1
lea rdx, [rsp + 0x1b0]
lea rcx, [rsp + 0xe0]
call fcn.180033860
nop
lea rcx, [rsp + 0xe0]
call fcn.180037960
cmp rax, 8
jne 0x180196d60
xor edx, edx
lea rcx, [rsp + 0x1b0]
call fcn.1801daff0
mov dword [rsp + 0xb8], eax
lea r8, [rsp + 0xb8]
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0xa8]
call fcn.1800f5240
mov eax, dword [rsp + 0x4c]
inc eax
mov dword [rsp + 0x4c], eax
mov dword [rsp + 0x98], 0x104
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x98]
lea r8, [rsp + 0x1b0]
mov edx, dword [rsp + 0x4c]
mov rcx, qword [rsp + 0x3e8]
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
mov dword [rsp + 0x48], eax
lea rcx, [rsp + 0xe0]
call fcn.180033840
jmp 0x180196cf9
cmp dword [rsp + 0x48], 0x103
je 0x180196df7
mov byte [rsp + 0x40], 0
lea rcx, [rsp + 0xa8]
call fcn.1800f3ca0
movzx eax, byte [rsp + 0x40]
jmp 0x18019727f
mov r8d, dword [rsp + 0x3f0]
lea rdx, [rsp + 0xc0]
mov rcx, qword [rsp + 0x3e0]
call fcn.180197f90
nop
mov edx, 8
lea rcx, [rsp + 0xa0]
call fcn.1800341e0
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0xa8]
call fcn.180048450
jmp 0x180196e4b
lea rcx, [rsp + 0xa0]
call fcn.1800482d0
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0xa8]
call fcn.180043230
mov rdx, rax
lea rcx, [rsp + 0xa0]
call fcn.1800431c0
movzx eax, al
test eax, eax
je 0x18019725a
mov eax, 0x53
mov word [rsp + 0x150], ax
mov eax, 0x6f
mov word [rsp + 0x152], ax
mov eax, 0x66
mov word [rsp + 0x154], ax
mov eax, 0x74
mov word [rsp + 0x156], ax
mov eax, 0x77
mov word [rsp + 0x158], ax
mov eax, 0x61
mov word [rsp + 0x15a], ax
mov eax, 0x72
mov word [rsp + 0x15c], ax
mov eax, 0x65
mov word [rsp + 0x15e], ax
mov eax, 0x5c
mov word [rsp + 0x160], ax
mov eax, 0x4d
mov word [rsp + 0x162], ax
mov eax, 0x69
mov word [rsp + 0x164], ax
mov eax, 0x63
mov word [rsp + 0x166], ax
mov eax, 0x72
mov word [rsp + 0x168], ax
mov eax, 0x6f
mov word [rsp + 0x16a], ax
mov eax, 0x73
mov word [rsp + 0x16c], ax
mov eax, 0x6f
mov word [rsp + 0x16e], ax
mov eax, 0x66
mov word [rsp + 0x170], ax
mov eax, 0x74
mov word [rsp + 0x172], ax
mov eax, 0x5c
mov word [rsp + 0x174], ax
mov eax, 0x43
mov word [rsp + 0x176], ax
mov eax, 0x54
mov word [rsp + 0x178], ax
mov eax, 0x46
mov word [rsp + 0x17a], ax
mov eax, 0x5c
mov word [rsp + 0x17c], ax
mov eax, 0x53
mov word [rsp + 0x17e], ax
mov eax, 0x6f
mov word [rsp + 0x180], ax
mov eax, 0x72
mov word [rsp + 0x182], ax
mov eax, 0x74
mov word [rsp + 0x184], ax
mov eax, 0x4f
mov word [rsp + 0x186], ax
mov eax, 0x72
mov word [rsp + 0x188], ax
mov eax, 0x64
mov word [rsp + 0x18a], ax
mov eax, 0x65
mov word [rsp + 0x18c], ax
mov eax, 0x72
mov word [rsp + 0x18e], ax
mov eax, 0x5c
mov word [rsp + 0x190], ax
mov eax, 0x41
mov word [rsp + 0x192], ax
mov eax, 0x73
mov word [rsp + 0x194], ax
mov eax, 0x73
mov word [rsp + 0x196], ax
mov eax, 0x65
mov word [rsp + 0x198], ax
mov eax, 0x6d
mov word [rsp + 0x19a], ax
mov eax, 0x62
mov word [rsp + 0x19c], ax
mov eax, 0x6c
mov word [rsp + 0x19e], ax
mov eax, 0x79
mov word [rsp + 0x1a0], ax
mov eax, 0x49
mov word [rsp + 0x1a2], ax
mov eax, 0x74
mov word [rsp + 0x1a4], ax
mov eax, 0x65
mov word [rsp + 0x1a6], ax
mov eax, 0x6d
mov word [rsp + 0x1a8], ax
xor eax, eax
mov word [rsp + 0x1aa], ax
lea rcx, [rsp + 0xa0]
call fcn.180144380
mov eax, dword [rax]
mov dword [rsp + 0x28], eax
lea rax, str.34745C63_B2F0_4784_8B67_5E12C8701A31
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0x3f0]
lea r8, [rsp + 0x150]
lea rdx, str._s0x_08x_s_08d
lea rcx, [rsp + 0xc0]
call fcn.1801dba60
mov qword [rsp + 0x90], 0
lea rcx, [rsp + 0xc0]
call fcn.180037970
lea rcx, [rsp + 0x90]
mov qword [rsp + 0x20], rcx
mov r9d, 0x20019
xor r8d, r8d
mov rdx, rax
mov rax, qword [rsp + 0x3e0]
mov rcx, qword [rax + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x180197187
mov byte [rsp + 0x41], 0
lea rcx, [rsp + 0xc0]
call fcn.180033840
nop
lea rcx, [rsp + 0xa8]
call fcn.1800f3ca0
movzx eax, byte [rsp + 0x41]
jmp 0x18019727f
lea rcx, [rsp + 0x100]
call fcn.18004b990
nop
mov eax, dword [rsp + 0x3f0]
mov dword [rsp + 0x100], eax
lea rdx, str.CLSID
lea rcx, [rsp + 0x60]
call fcn.180033860
nop
lea r9, [rsp + 0x100]
lea r8, [rsp + 0x60]
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x3e0]
call fcn.180196680
mov byte [rsp + 0x42], al
lea rcx, [rsp + 0x60]
call fcn.180033840
mov rcx, qword [rsp + 0x90]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
movzx eax, byte [rsp + 0x42]
test eax, eax
je 0x180197213
lea rdx, [rsp + 0x100]
mov rcx, qword [rsp + 0x3f8]
call fcn.180187150
jmp 0x180197248
mov byte [rsp + 0x43], 0
lea rcx, [rsp + 0x100]
call fcn.18004ba10
nop
lea rcx, [rsp + 0xc0]
call fcn.180033840
nop
lea rcx, [rsp + 0xa8]
call fcn.1800f3ca0
movzx eax, byte [rsp + 0x43]
jmp 0x18019727f
lea rcx, [rsp + 0x100]
call fcn.18004ba10
jmp 0x180196e3e
mov byte [rsp + 0x44], 1
lea rcx, [rsp + 0xc0]
call fcn.180033840
nop
lea rcx, [rsp + 0xa8]
call fcn.1800f3ca0
movzx eax, byte [rsp + 0x44]
mov rcx, qword [rsp + 0x3c0]
xor rcx, rsp
call fcn.1802994c0
add rsp, 0x3d0
pop rdi
ret