Function at 0x14001f498
Capabilities:
Delete registry key
Query or enumerate registry value

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0x98
xor r13d, r13d
lea rax, [rbp - 1]
mov r12, rcx
mov dword [rbp + 0x6f], r13d
mov ebx, 0xf003f
mov qword [rbp - 1], r13
mov r9d, ebx
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, str.SoftwareMicrosoftNotepadAutosave
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
nop dword [rax + rax]
test eax, eax
je 0x14001f4fd
mov dil, r13b
jmp 0x14001f81d
mov rdx, qword [r12 + 0x10]
lea rax, [rbp - 9]
mov rcx, qword [rbp - 1]
mov r9d, ebx
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov qword [rbp - 9], r13
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
nop dword [rax + rax]
test eax, eax
jne 0x14001f805
mov rcx, qword [rbp - 9]
lea rax, [rbp + 0x77]
mov qword [rsp + 0x58], r13
xor r9d, r9d
mov qword [rsp + 0x50], r13
xor r8d, r8d
mov qword [rsp + 0x48], rax
xor edx, edx
lea rax, [rbp + 0x6f]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0x7f]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r13
call qword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
nop dword [rax + rax]
test eax, eax
jne 0x14001f805
lea edi, [rax + 1]
cmp dword [rbp + 0x7f], edi
je 0x14001f58e
call fcn.140023954
mov eax, dword [rbp + 0x6f]
lea rcx, [rbp - 0x11]
mov esi, dword [rbp + 0x77]
add eax, edi
mov r8d, eax
xor edx, edx
mov dword [rbp + 0x6f], eax
shr rsi, 1
call fcn.14000e2e4
lea r8, [rsi + 1]
xor edx, edx
lea rcx, [rbp + 0xf]
call fcn.14000e2e4
mov rbx, qword [rbp + 0xf]
lea rax, [rbp + 0x77]
mov r8, qword [rbp - 0x11]
lea r9, [rbp + 0x6f]
mov rcx, qword [rbp - 9]
xor edx, edx
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r13
call qword [sym.imp.ADVAPI32.dll_RegEnumValueW]
nop dword [rax + rax]
test eax, eax
je 0x14001f5fb
mov dil, r13b
jmp 0x14001f7da
lea r8, [rsi - 1]
mov word [rbx + rsi*2], r13w
lea rdx, [rbx + 4]
lea rcx, [rbp - 0x19]
call fcn.14000e2e4
movzx r15d, word [rbx]
mov r8d, 2
mov rax, qword [0x140030658]
sub r15d, 0x30
mov rdx, qword [rbp - 0x11]
sub rdx, rax
movzx esi, word [rax]
movzx ecx, word [rax + rdx]
sub esi, ecx
jne 0x14001f63f
add rax, r8
test ecx, ecx
jne 0x14001f62d
mov rax, qword [rbp - 0x19]
movzx r14d, word [rax]
test r14w, r14w
setne r13b
xor ecx, ecx
test r14w, r14w
jne 0x14001f65b
test esi, esi
je 0x14001f6d3
mov qword [rsp + 0x30], rcx
lea rax, [rbp - 0x11]
mov r8d, 3
mov dword [rsp + 0x28], 0x80
test r14w, r14w
mov dword [rsp + 0x20], r8d
lea r12, [rbp - 0x19]
mov edx, 0x80000000
cmove r12, rax
xor r9d, r9d
mov rcx, qword [r12]
call qword [0x140026910]
nop dword [rax + rax]
mov qword [0x140031500], rax
cmp rax, 0xffffffffffffffff
je 0x14001f6c6
mov edx, r15d
mov eax, 2
test r14w, r14w
mov r8b, r13b
mov rcx, r12
cmovne edx, eax
call fcn.14000f1ac
test al, al
jne 0x14001f6cf
mov rcx, qword [rbp - 0x19]
call fcn.14000fddc
mov r12, qword [rbp + 0x67]
xor r13d, r13d
test r14w, r14w
je 0x14001f7aa
lea rdx, [0x1400320e0]
lea rcx, [rbp - 0x19]
call fcn.14000c6c8
test esi, esi
mov eax, r13d
sete al
mov dword [0x140030678], eax
test esi, esi
jne 0x14001f70e
mov qword [rbp + 0xf], r13
lea rdx, [rbp + 0xf]
mov esi, edi
jmp 0x14001f723
mov rax, qword [rbp - 0x11]
lea rdx, [rbp + 7]
mov qword [rbp + 7], rax
mov esi, 2
mov qword [rbp - 0x11], r13
lea rcx, [0x1400320e0]
call fcn.14000c6c8
mov eax, 2
test al, sil
je 0x14001f751
mov rcx, qword [rbp + 7]
and esi, 0xfffffffd
test rcx, rcx
je 0x14001f751
call qword [0x140026d98]
nop dword [rax + rax]
test dil, sil
je 0x14001f76b
mov rcx, qword [rbp + 0xf]
test rcx, rcx
je 0x14001f76b
call qword [0x140026d98]
nop dword [rax + rax]
mov rcx, qword [0x140032588]
xor r9d, r9d
mov r8, rdi
mov dword [0x1400315e4], r15d
mov edx, 0xb9
call qword [0x140026d58]
nop dword [rax + rax]
call fcn.14000b7fc
call fcn.14000b120
mov rcx, qword [rbp - 0x19]
call qword [0x1400269c8]
nop dword [rax + rax]
mov rdx, qword [r12 + 0x10]
xor r9d, r9d
mov rcx, qword [rbp - 1]
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyExW]
nop dword [rax + rax]
mov rcx, qword [rbp - 0x19]
test rcx, rcx
je 0x14001f7da
call qword [0x140026d98]
nop dword [rax + rax]
test rbx, rbx
je 0x14001f7ee
mov rcx, rbx
call qword [0x140026d98]
nop dword [rax + rax]
mov rcx, qword [rbp - 0x11]
test rcx, rcx
je 0x14001f808
call qword [0x140026d98]
nop dword [rax + rax]
jmp 0x14001f808
mov dil, r13b
mov rcx, qword [rbp - 9]
test rcx, rcx
je 0x14001f81d
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop dword [rax + rax]
mov rcx, qword [rbp - 1]
test rcx, rcx
je 0x14001f832
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop dword [rax + rax]
mov al, dil
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret