Function at 0x10010400c
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 [0x100152198]
xor rax, rsp
mov qword [rsp + 0x290], rax
xor r12d, r12d
lea rax, [0x100027790]
mov rbx, rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
lea r9, [0x100026d38]
lea r8, [0x1000277b8]
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.1000f1d78
cmp eax, r12d
jge 0x1001040d7
mov rcx, qword [0x100153eb8]
lea rbx, [0x100153eb8]
cmp rcx, rbx
je 0x1001043de
test byte [rcx + 0x1c], 1
je 0x1001043de
lea edx, [r12 + 0x50]
mov rcx, qword [rcx + 0x10]
lea r8, [0x10001dad0]
mov r9d, eax
call fcn.100036510
jmp 0x1001043de
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 0x10010413a
mov rcx, qword [0x100153eb8]
lea rbx, [0x100153eb8]
cmp rcx, rbx
je 0x1001043de
test byte [rcx + 0x1c], 4
je 0x1001043de
mov edx, 0x51
jmp 0x1001040bf
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.KERNEL32.dll_RegQueryInfoKeyW]
cmp eax, r12d
jne 0x1001043de
mov eax, dword [rsp + 0x60]
cmp eax, r12d
jne 0x1001041c7
mov rcx, qword [0x100153eb8]
lea rbx, [0x100153eb8]
cmp rcx, rbx
je 0x1001043de
test byte [rcx + 0x1c], 4
je 0x1001043de
mov rcx, qword [rcx + 0x10]
lea r8, [0x10001dad0]
mov edx, 0x52
call fcn.100034784
jmp 0x1001043de
mov rcx, rax
mov eax, 8
mov r15, 0xffffffffffffffff
mul rcx
cmovo rax, r15
mov rcx, rax
call fcn.10011bdc8
lea rbx, [0x100153eb8]
mov rbp, rax
cmp rax, r12
jne 0x100104220
mov rcx, qword [0x100153eb8]
cmp rcx, rbx
je 0x100104367
test byte [rcx + 0x1c], 1
je 0x100104367
mov r9d, dword [rsp + 0x60]
lea edx, [r15 + 0x54]
shl r9d, 3
jmp 0x100104357
mov esi, r12d
cmp dword [rsp + 0x60], r12d
jbe 0x100104367
mov rdi, rax
mov r14d, 0x20
mov eax, 2
mov dword [rsp + 0x68], r14d
mul r14
cmovo rax, r15
mov rcx, rax
call fcn.10011bdc8
mov qword [rdi], rax
cmp rax, r12
je 0x100104338
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.KERNEL32.dll_RegEnumValueW]
cmp eax, r12d
jne 0x10010430c
mov r9d, dword [rsp + 0x6c]
cmp r9d, 0xb
je 0x1001042e8
cmp dword [rsp + 0x64], 8
jne 0x1001042e8
mov rcx, qword [0x100153eb8]
cmp rcx, rbx
je 0x1001042fa
test byte [rcx + 0x1c], 2
je 0x1001042fa
mov rax, qword [rdi]
mov rcx, qword [rcx + 0x10]
lea r8, [0x10001dad0]
mov edx, 0x56
mov qword [rsp + 0x20], rax
call fcn.10003ba64
jmp 0x1001042fa
cmp qword [rsp + 0x78], r12
je 0x1001042fa
mov rcx, qword [rdi]
call sub.msvcrt.dll_free
mov qword [rdi], r12
inc esi
add rdi, 8
cmp esi, dword [rsp + 0x60]
jb 0x100104237
jmp 0x100104367
mov rcx, qword [0x100153eb8]
cmp rcx, rbx
je 0x100104367
test byte [rcx + 0x1c], 1
je 0x100104367
mov rcx, qword [rcx + 0x10]
lea r8, [0x10001dad0]
mov edx, 0x55
mov r9d, eax
call fcn.100036510
jmp 0x100104367
mov rcx, qword [0x100153eb8]
cmp rcx, rbx
je 0x100104367
test byte [rcx + 0x1c], 1
je 0x100104367
mov r9d, dword [rsp + 0x68]
mov edx, 0x54
add r9d, r9d
mov rcx, qword [rcx + 0x10]
lea r8, [0x10001dad0]
call fcn.100036510
cmp rbp, r12
je 0x1001043de
mov esi, r12d
cmp dword [rsp + 0x60], r12d
jbe 0x1001043d6
mov rdi, rbp
mov rdx, qword [rdi]
cmp rdx, r12
je 0x1001043ca
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
cmp eax, r12d
je 0x1001043bf
mov rcx, qword [0x100153eb8]
cmp rcx, rbx
je 0x1001043bf
test byte [rcx + 0x1c], 2
je 0x1001043bf
mov r9, qword [rdi]
mov rcx, qword [rcx + 0x10]
lea r8, [0x10001dad0]
mov edx, 0x57
mov dword [rsp + 0x20], eax
call fcn.10003b678
mov rcx, qword [rdi]
call sub.msvcrt.dll_free
mov qword [rdi], r12
inc esi
add rdi, 8
cmp esi, dword [rsp + 0x60]
jb 0x100104379
mov rcx, rbp
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0x70]
cmp rcx, r12
je 0x1001043ee
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rsp + 0x290]
xor rcx, rsp
call fcn.10011be80
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