Function at 0x14007c450
Capabilities:
Query or enumerate registry key
Set registry value

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x1e0]
sub rsp, 0x2e0
mov rax, qword [0x1404953c0]
xor rax, rsp
mov qword [rbp + 0x1d0], rax
mov r15, r9
mov r14, r8
mov rsi, rdx
xor edi, edi
cmp rcx, 0xffffffff80000001
jne 0x14007c717
mov r12d, edi
nop word [rax + rax]
xor edx, edx
mov r8d, 0x200
lea rcx, [rbp - 0x30]
call fcn.140306610
mov dword [rbp - 0x60], 0x100
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
lea r9, [rbp - 0x60]
lea r8, [rbp - 0x30]
mov edx, r12d
mov rcx, 0xffffffff80000003
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
mov ebx, eax
inc r12d
test eax, eax
jne 0x14007c701
xorps xmm0, xmm0
movups xmmword [rbp - 0x58], xmm0
mov qword [rbp - 0x48], rdi
mov qword [rbp - 0x40], rdi
lea rax, [rbp - 0x30]
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x14007c510
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x58]
call fcn.140030be0
nop
lea rcx, [rbp - 0x58]
cmp qword [rbp - 0x40], 7
cmova rcx, qword [rbp - 0x58]
mov qword [rsp + 0x20], 8
lea r9, str._Classes
xor r8d, r8d
mov rdx, qword [rbp - 0x48]
call fcn.14005ed00
cmp rax, 0xffffffffffffffff
je 0x14007c567
lea rcx, [rbp - 0x58]
call fcn.1400166f0
jmp 0x14007c4a0
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x68], rdi
mov r8d, 9
lea rdx, str.filecache
lea rcx, [rsp + 0x50]
call fcn.140030be0
nop
mov r9b, 1
xor r8d, r8d
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x58]
call fcn.14009cb60
cmp rax, qword [rbp - 0x48]
setb bl
lea rcx, [rsp + 0x50]
call fcn.1400166f0
test bl, bl
je 0x14007c5c8
lea rcx, [rbp - 0x58]
call fcn.1400166f0
jmp 0x14007c4a0
mov qword [rbp - 0x70], rdi
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x30]
mov rcx, 0xffffffff80000003
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
mov ebx, eax
test eax, eax
jne 0x14007c6f8
mov byte [rsp + 0x20], al
mov r9, r15
mov r8, r14
mov rdx, rsi
mov rcx, qword [rbp - 0x70]
call fcn.14007c450
test al, al
jne 0x14007c6ed
lea rcx, [rsp + 0x70]
call fcn.1400fffc0
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 7
jbe 0x14007c622
mov rax, qword [rax]
mov rdx, rax
lea rcx, [0x1404a9a40]
call fcn.14005efa0
lea rdx, str.D:JenkinsworkspaceA_MBAM3_UPDATEREXE_srcmbupdatrRegistry.cpp
mov rcx, rax
call fcn.140047ea0
mov rcx, rax
lea rdx, [0x14041313c]
call fcn.140047ea0
mov edx, 0x8b
mov rcx, rax
call fcn.140045730
mov rcx, rax
lea rdx, str.:_Failed_to_add_reg_string_value
call fcn.140047ea0
mov rdx, r14
cmp qword [r14 + 0x18], 7
jbe 0x14007c678
mov rdx, qword [r14]
mov r8, qword [r14 + 0x10]
mov rcx, rax
call fcn.14005efa0
lea rdx, str._under_regkey_HKU_
mov rcx, rax
call fcn.140047ea0
mov rdx, rsi
cmp qword [rsi + 0x18], 7
jbe 0x14007c6a0
mov rdx, qword [rsi]
mov r8, qword [rsi + 0x10]
mov rcx, rax
call fcn.14005efa0
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.14002ea70
movzx edx, ax
mov rcx, rbx
call fcn.140070ff0
mov rcx, rbx
call fcn.14002ddd0
nop
lea rcx, [rsp + 0x70]
call fcn.1400166f0
nop
lea rcx, [rbp - 0x58]
call fcn.1400166f0
jmp 0x14007c4a0
mov rcx, qword [rbp - 0x70]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
lea rcx, [rbp - 0x58]
call fcn.1400166f0
test ebx, ebx
je 0x14007c4a0
cmp ebx, 0x103
sete al
jmp 0x14007c981
mov qword [rbp - 0x68], rdi
cmp qword [rdx + 0x18], 7
jbe 0x14007c725
mov rdx, qword [rdx]
mov qword [rsp + 0x40], rdi
lea rax, [rbp - 0x68]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], 0xf003f
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov ebx, eax
test eax, eax
je 0x14007c836
lea rcx, [rsp + 0x70]
call fcn.1400fffc0
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 7
jbe 0x14007c773
mov rax, qword [rax]
mov rdx, rax
lea rcx, [0x1404a9a40]
call fcn.14005efa0
lea rdx, str.D:JenkinsworkspaceA_MBAM3_UPDATEREXE_srcmbupdatrRegistry.cpp
mov rcx, rax
call fcn.140047ea0
mov rcx, rax
lea rdx, [0x14041313c]
call fcn.140047ea0
mov edx, 0x98
mov rcx, rax
call fcn.140045730
mov rcx, rax
lea rdx, [0x1404121b8]
call fcn.140047ea0
mov rcx, rax
lea rdx, str.Failed_to_create_key
call fcn.140047ea0
mov r8, qword [rsi + 0x10]
cmp qword [rsi + 0x18], 7
jbe 0x14007c7d9
mov rsi, qword [rsi]
mov rdx, rsi
mov rcx, rax
call fcn.14005efa0
lea rdx, [0x1404121b8]
mov rcx, rax
call fcn.140047ea0
mov edx, ebx
mov rcx, rax
call fcn.140045730
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.14002ea70
movzx edx, ax
mov rcx, rbx
call fcn.140070ff0
mov rcx, rbx
call fcn.14002ddd0
nop
lea rcx, [rsp + 0x70]
call fcn.1400166f0
xor al, al
jmp 0x14007c981
mov eax, dword [r15 + 0x10]
lea eax, [rax*2 + 2]
cmp qword [r15 + 0x18], 7
jbe 0x14007c84b
mov r15, qword [r15]
mov rdx, r14
cmp qword [r14 + 0x18], 7
jbe 0x14007c858
mov rdx, qword [r14]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r15
mov r9d, 1
xor r8d, r8d
mov rcx, qword [rbp - 0x68]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ebx, eax
test eax, eax
je 0x14007c97f
lea rcx, [rsp + 0x70]
call fcn.1400fffc0
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 7
jbe 0x14007c897
mov rax, qword [rax]
mov rdx, rax
lea rcx, [0x1404a9a40]
call fcn.14005efa0
lea rdx, str.D:JenkinsworkspaceA_MBAM3_UPDATEREXE_srcmbupdatrRegistry.cpp
mov rcx, rax
call fcn.140047ea0
mov rcx, rax
lea rdx, [0x14041313c]
call fcn.140047ea0
mov edx, 0x9e
mov rcx, rax
call fcn.140045730
mov rcx, rax
lea rdx, [0x1404121b8]
call fcn.140047ea0
mov rcx, rax
lea rdx, str.Failed_to_set_value
call fcn.140047ea0
mov r8, qword [rsi + 0x10]
cmp qword [rsi + 0x18], 7
jbe 0x14007c8fd
mov rsi, qword [rsi]
mov rdx, rsi
mov rcx, rax
call fcn.14005efa0
lea rdx, [0x14041bb60]
mov rcx, rax
call fcn.140047ea0
mov r8, qword [r14 + 0x10]
cmp qword [r14 + 0x18], 7
jbe 0x14007c925
mov r14, qword [r14]
mov rdx, r14
mov rcx, rax
call fcn.14005efa0
lea rdx, [0x1404121b8]
mov rcx, rax
call fcn.140047ea0
mov edx, ebx
mov rcx, rax
call fcn.140045730
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.14002ea70
movzx edx, ax
mov rcx, rbx
call fcn.140070ff0
mov rcx, rbx
call fcn.14002ddd0
nop
lea rcx, [rsp + 0x70]
call fcn.1400166f0
xor al, al
jmp 0x14007c981
mov al, 1
mov rcx, qword [rbp + 0x1d0]
xor rcx, rsp
call fcn.1402b5c00
add rsp, 0x2e0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret