Function at 0x1401309a4
Capabilities:
Query or enumerate registry value

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x218]
sub rsp, 0x2e0
mov qword [rbp - 0x50], 0xfffffffffffffffe
mov qword [rax + 0x20], rbx
mov rax, qword [0x14016f608]
xor rax, rsp
mov qword [rbp + 0x1d0], rax
mov qword [rbp - 0x78], r8
mov qword [rbp - 0x80], rdx
mov r12, rcx
xor edi, edi
mov r14d, edi
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x60], rdi
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
lea r9, [0x140154f98]
xor edx, edx
lea r8d, [rdi + 1]
lea rcx, [0x140145778]
call qword [sym.imp.ole32.dll_CoCreateInstance]
mov esi, eax
test eax, eax
js 0x14013118f
mov r13d, 0x9a
lea r15, str.sdkinc_atlmfc_atlcomcli.h
mov rbx, qword [rsp + 0x58]
test rbx, rbx
jne 0x140130a58
lea r8, str.p_0
mov edx, r13d
mov rcx, r15
call fcn.140082070
mov rbx, qword [rsp + 0x58]
lea rcx, str.RegistryExcludes
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rdi, rax
mov qword [rsp + 0x40], rax
test rax, rax
je 0x140131221
cmp qword [rsp + 0x60], 0
je 0x140130a92
lea r8, str.p0
mov edx, reloc.OLEAUT32.dll_SysAllocStringByteLen
mov rcx, r15
call fcn.140082070
mov rax, qword [rbx]
lea r8, [rsp + 0x60]
mov rdx, rdi
mov rcx, rbx
mov rax, qword [rax + 0x178]
call qword [case.0x1400057f3.0]
mov esi, eax
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
test esi, esi
js 0x14013118f
mov rcx, qword [rsp + 0x58]
test rcx, rcx
jne 0x140130ae1
lea r8, str.p_0
mov edx, r13d
mov rcx, r15
call fcn.140082070
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
xor r8d, r8d
mov rdx, qword [rsp + 0x60]
mov rax, qword [rax + 0xa8]
call qword [case.0x1400057f3.0]
mov esi, eax
test eax, eax
js 0x14013118f
mov ecx, 0x2000
call fcn.14013de98
mov rdi, rax
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, str.SYSTEMCurrentControlSetControlBackupRestoreFilesNotToBackup
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
xor esi, esi
test eax, eax
je 0x140130cc4
lea r15, [0x14016f048]
mov rcx, qword [0x14016f048]
cmp rcx, r15
je 0x140130b83
test byte [rcx + 0x1c], 1
je 0x140130b83
cmp byte [rcx + 0x19], 3
jb 0x140130b83
lea edx, [rsi + 0x20]
mov dword [rsp + 0x20], eax
lea r9, str.SYSTEMCurrentControlSetControlBackupRestoreFilesNotToBackup
lea r8, [0x140157e38]
mov rcx, qword [rcx + 0x10]
call fcn.140005938
mov rbx, qword [rbp - 0x80]
mov r13, qword [rbx + 8]
mov r14, rsi
test r13, r13
je 0x14013113e
mov r15, rsi
mov qword [rsp + 0x48], rsi
mov rax, qword [rbx + 8]
cmp r14, rax
jb 0x140130bcd
lea r8, str.iElement___m_nSize
mov edx, 0x271
lea rcx, str.sdkinc_atlmfc_atlcoll.h
call fcn.140082070
mov rax, qword [rbx + 8]
cmp r14, rax
jae 0x14013129c
mov r12, qword [rbx]
mov rbx, qword [rsp + 0x58]
test rbx, rbx
jne 0x140130bf7
lea r8, str.p_0
mov edx, 0x9a
lea rcx, str.sdkinc_atlmfc_atlcomcli.h
call fcn.140082070
mov rbx, qword [rsp + 0x58]
lea rcx, str.Exclude
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rdi, rax
mov qword [rsp + 0x40], rax
test rax, rax
je 0x140131291
cmp qword [rsp + 0x48], rsi
je 0x140130c34
lea r8, str.p0
mov edx, reloc.OLEAUT32.dll_SysAllocStringByteLen
lea rcx, str.sdkinc_atlmfc_atlcomcli.h
call fcn.140082070
mov rax, qword [rbx]
lea r8, [rsp + 0x48]
mov rdx, rdi
mov rcx, rbx
mov rax, qword [rax + 0x178]
call qword [case.0x1400057f3.0]
mov esi, eax
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
xor edi, edi
test esi, esi
js 0x14013121a
lea rcx, str.Additional_Files_To_Exclude
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rbx, rax
mov qword [rsp + 0x40], rax
test rax, rax
je 0x140131286
lea r8, [rsp + 0x40]
lea rdx, str.Value
lea rcx, [rsp + 0x48]
call fcn.140130010
mov esi, eax
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
test esi, esi
js 0x14013121a
mov rcx, qword [r15 + r12]
test rcx, rcx
jne 0x140130fdd
mov ebx, edi
mov qword [rsp + 0x40], rbx
jmp 0x140130ff4
mov ebx, esi
lea r15, [0x14016f048]
mov dword [rsp + 0x6c], 0x104
mov dword [rsp + 0x68], 0x2000
mov qword [rsp + 0x40], rsi
xor edx, edx
mov r8d, 0x104
lea rcx, [rbp - 0x40]
call sub.msvcrt.dll_memset
lea rax, [rsp + 0x68]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rdi
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
lea r9, [rsp + 0x6c]
lea r8, [rbp - 0x40]
mov edx, ebx
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.ADVAPI32.dll_RegEnumValueW]
mov r13d, eax
inc ebx
mov dword [rsp + 0x48], ebx
lea rax, [rbp - 0x40]
or rcx, 0xffffffffffffffff
inc rcx
cmp word [rax + rcx*2], si
jne 0x140130d38
mov r8d, ecx
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x40]
call fcn.1400697ac
test eax, eax
jns 0x140130d68
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 1]
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_RaiseException]
test r13d, r13d
jne 0x140130f40
cmp dword [rsp + 0x70], 7
jne 0x140130f4d
mov rbx, rsi
mov rax, qword [r12 + 8]
test rax, rax
je 0x140130dd9
cmp rbx, rax
jb 0x140130db1
lea r8, str.iElement___m_nSize
mov edx, 0x2c3
lea rcx, str.sdkinc_atlmfc_atlcoll.h
call fcn.140082070
cmp rbx, qword [r12 + 8]
jae 0x14013122c
mov rdx, qword [r12]
mov rdx, qword [rdx + rbx*8]
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
je 0x140130ecf
inc rbx
mov rax, qword [r12 + 8]
cmp rbx, rax
jb 0x140130db1
mov qword [rbp - 0x70], rsi
mov qword [rbp - 0x68], rsi
mov qword [rbp - 0x60], rsi
mov dword [rbp - 0x58], esi
lea rax, [rbp - 0x70]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x58]
mov r8d, dword [rsp + 0x68]
mov rdx, rdi
lea rcx, [rsp + 0x40]
call fcn.1401312a8
mov rdi, qword [rbp - 0x70]
mov r14, qword [rbp - 0x68]
test eax, eax
js 0x140130e79
mov rbx, rsi
test r14, r14
je 0x140130e79
mov rcx, qword [rsp + 0x60]
test rcx, rcx
jne 0x140130e43
lea r8, str.p_0
mov edx, 0x9a
lea rcx, str.sdkinc_atlmfc_atlcomcli.h
call fcn.140082070
mov rcx, qword [rsp + 0x60]
cmp rbx, r14
jae 0x140131242
mov rax, qword [rcx]
xor r8d, r8d
mov rdx, qword [rdi + rbx*8]
mov rax, qword [rax + 0xa8]
call qword [case.0x1400057f3.0]
mov esi, eax
xor eax, eax
test esi, esi
js 0x140130f9b
inc rbx
cmp rbx, r14
mov esi, eax
jb 0x140130e1c
test rdi, rdi
je 0x140130ead
mov rbx, rsi
test r14, r14
je 0x140130ea4
mov rcx, qword [rdi + rbx*8]
test rcx, rcx
je 0x140130e9c
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400057f3.0]
inc rbx
cmp rbx, r14
jb 0x140130e86
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_free]
mov rdi, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
test r13d, r13d
jne 0x140130b83
mov ebx, dword [rsp + 0x48]
jmp 0x140130ccd
mov rcx, qword [0x14016f048]
cmp rcx, r15
je 0x140130eb2
test byte [rcx + 0x1c], 1
je 0x140130eb2
cmp byte [rcx + 0x19], 4
jb 0x140130eb2
mov rax, qword [r12 + 8]
cmp rbx, rax
jb 0x140130f1e
lea r8, str.iElement___m_nSize
mov edx, 0x2c3
lea rcx, str.sdkinc_atlmfc_atlcoll.h
call fcn.140082070
mov rax, qword [r12 + 8]
mov rcx, qword [0x14016f048]
cmp rbx, rax
jae 0x140131237
mov rax, qword [r12]
mov edx, 0x21
mov r9, qword [rax + rbx*8]
lea r8, [0x140157e38]
mov rcx, qword [rcx + 0x10]
call fcn.1400058d8
jmp 0x140130eb2
cmp r13d, 0x103
je 0x140130eb2
mov rcx, qword [0x14016f048]
cmp rcx, r15
je 0x140130eb2
test byte [rcx + 0x1c], 1
je 0x140130eb2
cmp byte [rcx + 0x19], 3
jb 0x140130eb2
mov edx, 0x22
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], ebx
lea r9, str.SYSTEMCurrentControlSetControlBackupRestoreFilesNotToBackup
lea r8, [0x140157e38]
mov rcx, qword [rcx + 0x10]
call fcn.14001017c
jmp 0x140130eb2
test rdi, rdi
je 0x140130fcd
mov rbx, rax
mov rcx, qword [rdi + rbx*8]
test rcx, rcx
je 0x140130fbb
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400057f3.0]
xor eax, eax
inc rbx
cmp rbx, r14
jb 0x140130fa3
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_free]
nop
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x14013118a
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rbx, rax
mov qword [rsp + 0x40], rax
test rax, rax
je 0x14013127b
lea r8, [rsp + 0x40]
lea rdx, str.FilePath
lea rcx, [rsp + 0x48]
call fcn.140130010
mov esi, eax
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
test esi, esi
js 0x14013121a
mov rcx, qword [r15 + r12 + 8]
test rcx, rcx
jne 0x140131031
mov rbx, rdi
mov qword [rsp + 0x40], rbx
jmp 0x140131048
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rbx, rax
mov qword [rsp + 0x40], rax
test rax, rax
je 0x140131270
lea r8, [rsp + 0x40]
lea rdx, str.FileSpec
lea rcx, [rsp + 0x48]
call fcn.140130010
mov esi, eax
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
test esi, esi
js 0x14013121a
lea rax, str.true
lea rcx, str.false
cmp byte [r15 + r12 + 0x10], dil
cmovne rcx, rax
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rbx, rax
mov qword [rsp + 0x40], rax
test rax, rax
je 0x140131265
lea r8, [rsp + 0x40]
lea rdx, str.IsRecursive
lea rcx, [rsp + 0x48]
call fcn.140130010
mov esi, eax
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
test esi, esi
js 0x14013121a
mov rcx, qword [rsp + 0x60]
test rcx, rcx
jne 0x1401310ef
lea r8, str.p_0
mov edx, 0x9a
lea rcx, str.sdkinc_atlmfc_atlcomcli.h
call fcn.140082070
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx]
xor r8d, r8d
mov rdx, qword [rsp + 0x48]
mov rax, qword [rax + 0xa8]
call qword [case.0x1400057f3.0]
mov esi, eax
mov rcx, qword [rsp + 0x48]
test eax, eax
js 0x140131203
xor esi, esi
test rcx, rcx
je 0x14013112a
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400057f3.0]
inc r14
add r15, 0x18
cmp r14, r13
mov rbx, qword [rbp - 0x80]
jb 0x140130b9a
mov rbx, qword [rbp - 0x78]
mov rcx, qword [rbx]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], rsi
mov rcx, qword [rsp + 0x58]
test rcx, rcx
jne 0x140131175
lea r8, str.p_0
mov edx, 0x9a
lea rcx, str.sdkinc_atlmfc_atlcomcli.h
call fcn.140082070
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
mov rdx, rbx
mov rax, qword [rax + 0x110]
call qword [case.0x1400057f3.0]
mov esi, eax
mov r14, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x14013119f
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, r14
call fcn.14013de90
nop
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x1401311c0
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400057f3.0]
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x1401311d7
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400057f3.0]
mov eax, esi
mov rcx, qword [rbp + 0x1d0]
xor rcx, rsp
call fcn.14013e290
mov rbx, qword [rsp + 0x338]
add rsp, 0x2e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
test rcx, rcx
je 0x14013118a
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400057f3.0]
jmp 0x14013118a
mov rcx, qword [rsp + 0x48]
jmp 0x140131203
mov ecx, 0x8007000e
call fcn.140001b04
nop
mov ecx, 0x80070057
call fcn.140001b04
int3
mov ecx, 0x80070057
call fcn.140001b04
nop
lea r8, str.iElement___m_nSize
mov edx, 0x2cd
lea rcx, str.sdkinc_atlmfc_atlcoll.h
call fcn.140082070
mov ecx, 0x80070057
call fcn.140001b04
nop
mov ecx, 0x8007000e
call fcn.140001b04
int3
mov ecx, 0x8007000e
call fcn.140001b04
int3
mov ecx, 0x8007000e
call fcn.140001b04
int3
mov ecx, 0x8007000e
call fcn.140001b04
int3
mov ecx, 0x8007000e
call fcn.140001b04
int3
mov ecx, 0x80070057
call fcn.140001b04
int3