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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x5630]
mov eax, 0x5730
call fcn.18006ce90
sub rsp, rax
lea r12d, [rcx + 0xe]
mov r14, r9
mov r13, rdx
cmp ecx, r12d
jae case.0x18006120d.1
mov rbx, qword [rbp - 0x80]
lea r15d, [rcx - 0x1f]
xor esi, esi
lea rdx, [0x180000000]
lea edi, [rsi + 2]
lea r9d, [rsi + 1]
lea r10d, [rsi + 3]
nop dword [rax]
cmp r15d, 0x2b
ja case.0x18006120d.14
movzx eax, byte [rdx + r15 + 0x61b74]
mov ecx, dword [rdx + rax*4 + 0x61b38]
add rcx, rdx
jmp rcx
mov qword [rsp + 0x78], 0x3fff
mov dword [rsp + 0x74], esi
mov dword [rsp + 0x70], esi
jmp case.0x18006120d.14
mov rdx, rsi
nop dword [rax + rax]
movzx eax, byte [r14]
lea rcx, [rdx + 1]
test al, al
cmovne rcx, rdx
inc r14
mov rdx, rcx
test al, al
jne 0x180061230
cmp byte [r14], al
jne 0x180061230
mov qword [rbp - 0x68], rcx
jmp 0x180061aed
mov rax, qword [r14]
lea r8, [rbp + 0x5670]
lea rdx, [rbp - 0x70]
mov qword [rbp - 0x70], rax
mov ecx, 0x42
mov word [rbp + 0x5670], r9w
call fcn.180018420
movsxd rdi, eax
mov qword [rbp - 0x70], rdi
mov edi, 2
jmp 0x180061ada
lea rcx, [rbp + 0x300]
mov rdx, rdi
lea rax, [rbp + 0xe0]
nop dword [rax]
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x70], xmm1
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x60], xmm0
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x50], xmm1
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x40], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x30], xmm1
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x20], xmm0
movups xmmword [rcx - 0x10], xmm1
sub rdx, 1
jne 0x1800612a0
mov eax, dword [rax]
lea r9, [rsp + 0x68]
mov dword [rcx], eax
lea r8, [rbp + 0x300]
mov rax, qword [r14]
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x68], rax
lea rax, [rbp + 0x5670]
mov byte [rbp + 0x5670], dl
mov edx, 0x26
mov qword [rsp + 0x20], rax
mov word [rsp + 0x60], r10w
call fcn.18005fbb0
lea rcx, [rbp - 0x30]
mov rdx, rdi
lea rax, [rbp + 0x1f0]
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x70], xmm1
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x60], xmm0
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x50], xmm1
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x40], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x30], xmm1
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x20], xmm0
movups xmmword [rcx - 0x10], xmm1
sub rdx, 1
jne 0x180061340
mov eax, dword [rax]
lea r9, [rsp + 0x68]
mov dword [rcx], eax
lea r8, [rbp - 0x30]
mov eax, 4
mov byte [rbp + 0x5670], dl
mov word [rsp + 0x60], ax
lea rcx, [rsp + 0x60]
mov rax, qword [r14]
mov edx, 0x26
mov qword [rsp + 0x68], rax
lea rax, [rbp + 0x5670]
mov qword [rsp + 0x20], rax
call fcn.18005fbb0
mov rcx, qword [rbp - 0x78]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rax, qword [r14]
lea r9, [rbp + 0x5670]
mov qword [rsp + 0x40], rsi
lea rcx, [rbp - 0x50]
mov qword [rsp + 0x38], rsi
xor r8d, r8d
mov qword [rsp + 0x68], rax
xor edx, edx
lea rax, [rsp + 0x68]
mov dword [rbp + 0x5670], ebx
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 0x28
call fcn.180036ed0
jmp 0x180061ada
mov rax, qword [r14]
lea r8, [rbp + 0x5670]
mov r9d, 0x53
mov qword [rsp + 0x68], rax
lea rdx, [rsp + 0x68]
mov word [rbp + 0x5670], di
lea rcx, [rbp + 0xe30]
call fcn.18002dab0
mov eax, 3
lea r8, [rsp + 0x68]
mov word [rbp + 0x5670], ax
lea rdx, [rbp + 0x5670]
mov rax, qword [r14]
lea rcx, [rbp - 0x30]
mov r9d, 0x47
mov qword [rsp + 0x68], rax
call fcn.180015320
lea rcx, [rbp + 0x630]
mov rdx, rdi
nop dword [rax]
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x70], xmm1
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x60], xmm0
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x50], xmm1
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x40], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x30], xmm1
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x20], xmm0
movups xmmword [rcx - 0x10], xmm1
sub rdx, 1
jne 0x180061490
mov rax, qword [rax]
mov rdx, rdi
mov qword [rcx], rax
lea rcx, [rbp + 0xe0]
lea rax, [rbp + 0x630]
nop word [rax + rax]
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x70], xmm1
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x60], xmm0
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x50], xmm1
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x40], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x30], xmm1
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x20], xmm0
movups xmmword [rcx - 0x10], xmm1
sub rdx, 1
jne 0x180061500
mov eax, dword [rax]
lea r9d, [rdx + 0x47]
mov dword [rcx], eax
lea r8, [rsp + 0x68]
mov eax, 4
lea rdx, [rbp + 0x5670]
mov word [rbp + 0x5670], ax
lea rcx, [rbp - 0x30]
mov rax, qword [r14]
mov qword [rsp + 0x68], rax
call fcn.180015320
lea rcx, [rbp + 0x738]
mov rdx, rdi
nop
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x70], xmm1
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x60], xmm0
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x50], xmm1
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x40], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x30], xmm1
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x20], xmm0
movups xmmword [rcx - 0x10], xmm1
sub rdx, 1
jne 0x180061590
mov rax, qword [rax]
mov rdx, rdi
mov qword [rcx], rax
lea rcx, [rbp + 0x1f0]
lea rax, [rbp + 0x738]
nop word [rax + rax]
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x70], xmm1
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x60], xmm0
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x50], xmm1
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x40], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x30], xmm1
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x20], xmm0
movups xmmword [rcx - 0x10], xmm1
sub rdx, 1
jne 0x180061600
mov eax, dword [rax]
lea r8, [rbp + 0xe0]
mov dword [rcx], eax
lea rdx, [rbp + 0x5670]
xor ecx, ecx
mov dword [rbp + 0x5670], esi
mov r9d, 0xb6
mov qword [rsp + 0x20], rsi
call fcn.180034b90
jmp 0x180061ada
lea rcx, [r14 + 0xa]
cmp rcx, r13
je case.0x18006120d.14
cmp qword [r13 + 0x18], 0x10
mov rdx, r13
jb 0x18006169d
mov rdx, qword [r13]
mov r8, qword [r13 + 0x10]
call fcn.18004e1a0
jmp 0x180061ada
mov rcx, qword [rbp - 0x60]
lea rax, [rbp - 0x78]
mov r9d, 9
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, [rbp + 0xe30]
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x180061ada
mov rcx, qword [rbp - 0x78]
lea rax, [rsp + 0x74]
mov qword [rsp + 0x58], rsi
xor r9d, r9d
mov qword [rsp + 0x50], rsi
xor r8d, r8d
mov qword [rsp + 0x48], rsi
xor edx, edx
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
test eax, eax
jne 0x180061ada
mov eax, dword [rsp + 0x70]
test eax, eax
je 0x180061862
mov r9d, 0xb6
mov dword [rbp + 0x5670], eax
lea r8, [rbp + 0xe0]
mov qword [rsp + 0x20], rsi
lea rdx, [rbp + 0x5670]
xor ecx, ecx
call fcn.180034b90
cmp dword [rsp + 0x70], 0
mov ebx, esi
mov edi, esi
jbe 0x180061862
mov rcx, qword [rbp - 0x78]
lea rax, [rbp - 0x58]
mov qword [rsp + 0x38], rax
lea r9, [rsp + 0x78]
mov qword [rsp + 0x30], rsi
lea r8, [rbp + 0x1630]
mov qword [rsp + 0x28], rsi
mov edx, ebx
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x78], 0x3fff
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x180061856
inc edi
lea rcx, [rbp + 0x410]
lea rax, [rbp + 0xe0]
mov edx, 2
nop dword [rax]
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x70], xmm1
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x60], xmm0
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x50], xmm1
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x40], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x30], xmm1
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x20], xmm0
movups xmmword [rcx - 0x10], xmm1
sub rdx, 1
jne 0x1800617c0
mov eax, dword [rax]
lea r9, [rbp + 0x1630]
mov dword [rcx], eax
lea r8, [rbp - 0x80]
mov rax, qword [rsp + 0x78]
lea rcx, [rbp - 0x30]
mov qword [rbp - 0x80], rax
mov edx, 0xa5
mov eax, edi
mov qword [rsp + 0x68], rax
lea rax, [rbp + 0x410]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x68]
mov qword [rsp + 0x20], rax
call fcn.18003b5b0
inc ebx
cmp ebx, dword [rsp + 0x70]
jb 0x180061763
mov eax, dword [rsp + 0x74]
test eax, eax
je 0x1800619d8
mov r9d, 0xb6
mov dword [rbp + 0x5670], eax
lea r8, [rbp + 0x1f0]
mov qword [rsp + 0x20], rsi
lea rdx, [rbp + 0x5670]
xor ecx, ecx
call fcn.180034b90
xor eax, eax
mov esi, eax
mov edi, eax
cmp dword [rsp + 0x74], eax
jbe 0x1800619d8
mov ebx, 0x11f
nop dword [rax]
cmp ebx, 0x11f
jne 0x1800619b8
mov rcx, qword [rbp - 0x78]
lea r9, [rsp + 0x78]
mov qword [rsp + 0x38], rax
lea r8, [rbp + 0x1630]
mov qword [rsp + 0x30], rax
mov edx, esi
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x78], 0x3fff
mov byte [rbp + 0x1630], 0
call qword [sym.imp.ADVAPI32.dll_RegEnumValueW]
test eax, eax
jne 0x1800619b6
inc edi
lea rdx, [rbp + 0x520]
lea rax, [rbp + 0x1f0]
mov ecx, 2
nop word [rax + rax]
lea rdx, [rdx + 0x80]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rax + 0x80]
movups xmmword [rdx - 0x80], xmm0
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rdx - 0x70], xmm1
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rdx - 0x60], xmm0
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rdx - 0x50], xmm1
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rdx - 0x40], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rdx - 0x30], xmm1
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rdx - 0x20], xmm0
movups xmmword [rdx - 0x10], xmm1
sub rcx, 1
jne 0x180061920
mov ecx, dword [rax]
lea r9, [rbp + 0x1630]
mov rax, qword [rsp + 0x78]
lea r8, [rsp + 0x68]
mov qword [rsp + 0x68], rax
mov dword [rdx], ecx
mov edx, 0xa5
mov eax, edi
lea rcx, [rbp - 0x30]
mov qword [rbp - 0x80], rax
lea rax, [rbp + 0x520]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
call fcn.18003b5b0
xor eax, eax
add ebx, 0xb7
cmp ebx, 0x1d6
jb 0x1800618b0
inc esi
cmp esi, dword [rsp + 0x74]
jb 0x1800618a4
xor esi, esi
mov r9d, 1
mov ebx, r9d
lea edi, [r9 + 1]
jmp 0x180061ae0
mov eax, dword [r14]
lea r8, [rbp + 0x5670]
xor r9d, r9d
mov dword [rbp + 0xd9c], eax
mov rdx, r13
mov dword [rbp + 0x5670], 0x200
lea rcx, [rbp + 0xa40]
mov dword [rsp + 0x20], 0x157
call fcn.1800108e0
mov ecx, 0xfffffead
lea rdx, [rbp + 0x840]
call qword [0x1800ce8f0]
jmp 0x180061ada
mov r9d, 0xb6
mov dword [rbp + 0x5670], esi
lea r8, [rbp + 0x1f0]
mov qword [rsp + 0x20], rsi
lea rdx, [rbp + 0x5670]
xor ecx, ecx
call fcn.180034b90
jmp 0x180061ada
movzx eax, word [r8]
lea rdx, [rbp + 0x5670]
xor r8d, r8d
mov word [rbp + 0x5670], ax
mov r9d, 0x93
mov qword [rsp + 0x20], r14
xor ecx, ecx
call fcn.18003f800
lea rax, [0x180041b50]
mov qword [r14], rax
jmp 0x180061ada
xor edx, edx
mov qword [rbp - 0x70], rsi
mov r8d, 0x800
mov qword [rbp - 0x78], rsi
lea rcx, [rbp + 0xe30]
mov rbx, rsi
call fcn.18006e5e0
mov qword [rbp - 0x60], rsi
jmp 0x180061ada
mov rax, qword [rbp - 0x70]
xor r9d, r9d
mov qword [rbp - 0x80], rax
xor edx, edx
lea rax, [rbp - 0x80]
xor ecx, ecx
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 0x67]
call fcn.180051020
mov qword [rbp - 0x60], rax
mov r9d, 1
mov r8, qword [rbp + 0x5680]
mov r10d, 3
lea rdx, [0x180000000]
inc r15d
lea ecx, [r15 + 0x1f]
cmp ecx, r12d
jb 0x1800611f0
jmp case.0x18006120d.1
mov eax, dword [rbp + 0xdbc]
mov dword [rbp - 0x68], eax
mov word [0x1800ce8f8], si
mov rax, qword [rbp - 0x68]
mov rbx, qword [rsp + 0x5778]
add rsp, 0x5730
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret