Function at 0x10003b530
Capabilities:
Delete registry key
Delete registry value
Persist via contextmenuhandlers registry key
Query or enumerate registry key
Query or enumerate registry value
Set registry value

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
sub rsp, 0x4b0
mov rax, qword [0x10004a110]
xor rax, rsp
mov qword [rsp + 0x4a0], rax
xor esi, esi
lea rax, [rsp + 0x70]
mov rbp, 0xffffffff80000002
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rsi
mov r12d, 0x2001f
lea rdx, [0x100020f90]
xor r9d, r9d
xor r8d, r8d
mov rcx, rbp
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x58], rsi
mov dword [rsp + 0x20], esi
mov qword [rsp + 0x70], rsi
mov dword [rsp + 0x6c], esi
mov dword [rsp + 0x68], esi
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
cmp eax, esi
jne 0x10003b70d
lea rax, [rsp + 0x60]
lea rdx, [0x10001c500]
mov r9d, r12d
xor r8d, r8d
mov rcx, rbp
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, esi
jne 0x10003b702
mov ebx, esi
xor edx, edx
jmp 0x10003b6bb
lea rax, [rsp + 0x58]
lea rdx, [rsp + 0x80]
mov r9d, r12d
xor r8d, r8d
inc ebx
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, esi
jne 0x10003b6b9
mov rcx, qword [rsp + 0x58]
lea rax, [rsp + 0x6c]
lea rdx, [0x100021008]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x290]
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x6c], 0x208
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
cmp eax, esi
jne 0x10003b6ae
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x80]
repne scasw ax, word [rdi]
lea rdx, [rsp + 0x80]
mov r9d, 1
not rcx
xor r8d, r8d
lea eax, [rcx + rcx]
mov rcx, qword [rsp + 0x70]
mov dword [rsp + 0x28], eax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rsp + 0x58]
lea rdx, [0x100021008]
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edx, ebx
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
lea r9, [rsp + 0x68]
lea r8, [rsp + 0x80]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rsi
mov dword [rsp + 0x68], 0x104
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
mov rcx, qword [rsp + 0x60]
cmp eax, esi
je 0x10003b5f5
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rax, [rsp + 0x60]
mov edi, 0x20006
lea rdx, [0x100021030]
xor r8d, r8d
mov rcx, rbp
mov r9d, edi
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, esi
jne 0x10003b7cb
mov rcx, qword [rsp + 0x60]
lea rax, [rsp + 0x58]
lea rdx, [0x1000210f0]
mov r9d, edi
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, esi
jne 0x10003b77d
mov rcx, qword [rsp + 0x58]
lea rdx, [0x100021008]
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rsp + 0x60]
lea rax, [rsp + 0x58]
lea rdx, [0x100021140]
mov r9d, edi
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, esi
jne 0x10003b7c0
mov rcx, qword [rsp + 0x58]
lea rdx, [0x100021008]
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rdi, 0xffffffff80000000
lea rdx, [0x100021190]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
lea rdx, [0x100021230]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
lea rdx, [0x1000212d0]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
lea rdx, [0x100021370]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
lea rdx, [0x100021410]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
lea rdx, [0x100021490]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
lea rdx, [0x100021510]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
lea rdx, [0x100021590]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
lea rdx, [0x1000215f0]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
lea rdx, [0x100021650]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
lea rdx, [0x1000216b0]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
lea rdx, [0x1000217c0]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
lea rcx, [0x1000218d0]
call fcn.10003aff0
lea rcx, [0x100021910]
call fcn.10003aff0
lea rcx, [0x100021950]
call fcn.10003aff0
lea rcx, [0x1000219a0]
call fcn.10003aff0
lea rcx, [0x1000219f0]
call fcn.10003aff0
lea rcx, [0x100020f20]
call fcn.10003aff0
lea rcx, [0x100020f38]
call fcn.10003aff0
lea rcx, [0x100020f50]
call fcn.10003aff0
mov ecx, 1
call fcn.10003b304
lea rdx, [rsp + 0x50]
mov r9d, r12d
mov qword [rsp + 0x20], rdx
lea rdx, [0x100021a40]
xor r8d, r8d
mov rcx, rbp
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, esi
jne 0x10003b93d
mov rcx, qword [rsp + 0x50]
lea rdx, [0x100021b10]
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rax, [rsp + 0x50]
lea rdx, [0x100021b40]
mov r9d, r12d
xor r8d, r8d
mov rcx, rbp
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, esi
jne 0x10003b97e
mov rcx, qword [rsp + 0x50]
lea rdx, [0x100021c10]
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rax, [rsp + 0x50]
lea rdx, [0x100021c40]
mov r9d, r12d
xor r8d, r8d
mov rcx, rbp
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, esi
jne 0x10003b9bf
mov rcx, qword [rsp + 0x50]
lea rdx, [0x100021d30]
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rax, [rsp + 0x50]
lea rdx, [0x100021d80]
mov r9d, r12d
xor r8d, r8d
mov rcx, rbp
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, esi
jne 0x10003ba00
mov rcx, qword [rsp + 0x50]
lea rdx, [0x100021e58]
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rax, [rsp + 0x50]
lea rdx, [0x100021e90]
mov r9d, r12d
xor r8d, r8d
mov rcx, rbp
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, esi
jne 0x10003ba41
mov rcx, qword [rsp + 0x50]
lea rdx, [0x100021f68]
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rax, [rsp + 0x50]
lea rdx, [0x100021fa0]
mov r9d, r12d
xor r8d, r8d
mov rcx, rbp
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, esi
jne 0x10003ba82
mov rcx, qword [rsp + 0x50]
lea rdx, [0x100022078]
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rax, [rsp + 0x50]
lea rdx, [0x1000220b0]
mov r9d, r12d
xor r8d, r8d
mov rcx, rbp
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, esi
jne 0x10003bac3
mov rcx, qword [rsp + 0x50]
lea rdx, [0x100022078]
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rdx, [0x100022190]
mov rcx, rbp
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
lea rdx, [0x100022260]
mov rcx, rbp
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
lea rdx, [0x100022330]
mov rcx, rbp
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
lea rdx, [0x100022400]
mov rcx, rbp
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
lea rdx, [0x1000224e0]
mov rcx, rbp
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
lea rdx, [0x1000225c0]
mov rcx, rbp
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
mov rcx, qword [rsp + 0x4a0]
xor rcx, rsp
call fcn.1000475f0
lea r11, [rsp + 0x4b0]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop r12
ret