Function at 0x1000ba348
Capabilities:
Delete registry value
Query or enumerate registry value

Disassembly:
mov r11, rsp
mov qword [r11 + 0x18], rbx
mov qword [r11 + 0x20], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x2a0
mov rax, qword [0x1000de138]
xor rax, rsp
mov qword [rsp + 0x290], rax
xor r12d, r12d
lea rax, [0x10001af90]
mov rbx, rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
lea r9, [0x10001a510]
lea r8, [0x10001afb8]
lea rcx, [r11 - 0x248]
mov edx, 0x104
mov qword [rsp + 0x70], r12
mov dword [rsp + 0x60], r12d
mov dword [rsp + 0x68], r12d
mov qword [rsp + 0x78], r12
mov dword [rsp + 0x64], r12d
mov dword [rsp + 0x6c], r12d
mov word [r11 - 0x248], r12w
call fcn.100058674
cmp eax, r12d
jge 0x1000ba413
mov rcx, qword [0x1000dedd8]
lea rbx, [0x1000dedd8]
cmp rcx, rbx
je 0x1000ba71a
test byte [rcx + 0x1c], 1
je 0x1000ba71a
lea edx, [r12 + 0x50]
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002ed8]
mov r9d, eax
call fcn.100020d8c
jmp 0x1000ba71a
mov eax, dword [rbx + 0x2bc]
lea rdx, [rsp + 0x80]
mov r9d, 0xf003f
neg eax
lea rax, [rsp + 0x70]
sbb rcx, rcx
xor r8d, r8d
mov qword [rsp + 0x20], rax
neg rcx
add rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, r12d
je 0x1000ba476
mov rcx, qword [0x1000dedd8]
lea rbx, [0x1000dedd8]
cmp rcx, rbx
je 0x1000ba71a
test byte [rcx + 0x1c], 4
je 0x1000ba71a
mov edx, 0x51
jmp 0x1000ba3fb
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], r12
lea rax, [rsp + 0x60]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r12
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
call qword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
cmp eax, r12d
jne 0x1000ba71a
mov eax, dword [rsp + 0x60]
cmp eax, r12d
jne 0x1000ba503
mov rcx, qword [0x1000dedd8]
lea rbx, [0x1000dedd8]
cmp rcx, rbx
je 0x1000ba71a
test byte [rcx + 0x1c], 4
je 0x1000ba71a
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002ed8]
mov edx, 0x52
call fcn.100020584
jmp 0x1000ba71a
mov rcx, rax
mov eax, 8
mov r15, 0xffffffffffffffff
mul rcx
cmovo rax, r15
mov rcx, rax
call sub.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__
lea rbx, [0x1000dedd8]
mov rbp, rax
cmp rax, r12
jne 0x1000ba55c
mov rcx, qword [0x1000dedd8]
cmp rcx, rbx
je 0x1000ba6a3
test byte [rcx + 0x1c], 1
je 0x1000ba6a3
mov r9d, dword [rsp + 0x60]
lea edx, [r15 + 0x54]
shl r9d, 3
jmp 0x1000ba693
mov esi, r12d
cmp dword [rsp + 0x60], r12d
jbe 0x1000ba6a3
mov rdi, rax
mov r14d, 0x20
mov eax, 2
mov dword [rsp + 0x68], r14d
mul r14
cmovo rax, r15
mov rcx, rax
call sub.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__
mov qword [rdi], rax
cmp rax, r12
je 0x1000ba674
mov word [rax], r12w
mov rcx, qword [rsp + 0x70]
lea rax, [rsp + 0x64]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x78]
mov dword [rsp + 0x64], 8
mov r8, qword [rdi]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x6c]
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x68]
mov edx, esi
mov qword [rsp + 0x20], r12
call qword [sym.imp.ADVAPI32.dll_RegEnumValueW]
cmp eax, r12d
jne 0x1000ba648
mov r9d, dword [rsp + 0x6c]
cmp r9d, 0xb
je 0x1000ba624
cmp dword [rsp + 0x64], 8
jne 0x1000ba624
mov rcx, qword [0x1000dedd8]
cmp rcx, rbx
je 0x1000ba636
test byte [rcx + 0x1c], 2
je 0x1000ba636
mov rax, qword [rdi]
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002ed8]
mov edx, 0x56
mov qword [rsp + 0x20], rax
call fcn.100020dc8
jmp 0x1000ba636
cmp qword [rsp + 0x78], r12
je 0x1000ba636
mov rcx, qword [rdi]
call sub.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_
mov qword [rdi], r12
inc esi
add rdi, 8
cmp esi, dword [rsp + 0x60]
jb 0x1000ba573
jmp 0x1000ba6a3
mov rcx, qword [0x1000dedd8]
cmp rcx, rbx
je 0x1000ba6a3
test byte [rcx + 0x1c], 1
je 0x1000ba6a3
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002ed8]
mov edx, 0x55
mov r9d, eax
call fcn.100020d8c
jmp 0x1000ba6a3
mov rcx, qword [0x1000dedd8]
cmp rcx, rbx
je 0x1000ba6a3
test byte [rcx + 0x1c], 1
je 0x1000ba6a3
mov r9d, dword [rsp + 0x68]
mov edx, 0x54
add r9d, r9d
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002ed8]
call fcn.100020d8c
cmp rbp, r12
je 0x1000ba71a
mov esi, r12d
cmp dword [rsp + 0x60], r12d
jbe 0x1000ba712
mov rdi, rbp
mov rdx, qword [rdi]
cmp rdx, r12
je 0x1000ba706
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
cmp eax, r12d
je 0x1000ba6fb
mov rcx, qword [0x1000dedd8]
cmp rcx, rbx
je 0x1000ba6fb
test byte [rcx + 0x1c], 2
je 0x1000ba6fb
mov r9, qword [rdi]
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002ed8]
mov edx, 0x57
mov dword [rsp + 0x20], eax
call fcn.100020b88
mov rcx, qword [rdi]
call sub.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_
mov qword [rdi], r12
inc esi
add rdi, 8
cmp esi, dword [rsp + 0x60]
jb 0x1000ba6b5
mov rcx, rbp
call sub.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_
mov rcx, qword [rsp + 0x70]
cmp rcx, r12
je 0x1000ba72a
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rsp + 0x290]
xor rcx, rsp
call fcn.1000cd7d0
lea r11, [rsp + 0x2a0]
mov rbx, qword [r11 + 0x40]
mov rbp, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret