Function at 0x140180450
Capabilities:
Set registry value

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
sub rsp, 0x60
mov rax, qword [0x140300040]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov rbx, rcx
mov rcx, qword [rcx]
test rcx, rcx
je 0x14018047a
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor esi, esi
mov qword [rsp + 0x20], rbx
mov r9d, 0x2001f
mov qword [rbx], rsi
xor r8d, r8d
lea rdx, str.SOFTWAREBandizipPassRecovery
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x1401804f0
mov rcx, qword [rbx]
test rcx, rcx
je 0x1401804b3
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rax, [rsp + 0x50]
mov qword [rbx], rsi
mov qword [rsp + 0x40], rax
lea rdx, str.SOFTWAREBandizipPassRecovery
mov qword [rsp + 0x38], rbx
xor r9d, r9d
mov qword [rsp + 0x30], rsi
xor r8d, r8d
mov dword [rsp + 0x28], 0x2001f
mov rcx, 0xffffffff80000001
mov dword [rsp + 0x20], esi
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov qword [rsp + 0x78], rdi
cmp qword [rbx], rsi
je 0x140180530
mov rdi, qword [rbx + 8]
test rdi, rdi
je 0x140180530
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov rcx, qword [rbx]
lea rdx, str.lastFilePathName
add eax, eax
mov r9d, 1
mov dword [rsp + 0x28], eax
xor r8d, r8d
mov qword [rsp + 0x20], rdi
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov eax, dword [rbx + 0x10]
lea rdx, str.chkNumber
mov rcx, qword [rbx]
mov r9d, 4
mov dword [rsp + 0x50], eax
xor r8d, r8d
lea rax, [rsp + 0x50]
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov eax, dword [rbx + 0x14]
lea rdx, str.chkAlphabet
mov rcx, qword [rbx]
mov r9d, 4
mov dword [rsp + 0x50], eax
xor r8d, r8d
lea rax, [rsp + 0x50]
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov eax, dword [rbx + 0x18]
lea rdx, str.chkCapital
mov rcx, qword [rbx]
mov r9d, 4
mov dword [rsp + 0x50], eax
xor r8d, r8d
lea rax, [rsp + 0x50]
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov eax, dword [rbx + 0x1c]
lea rdx, str.chkSimbol
mov rcx, qword [rbx]
mov r9d, 4
mov dword [rsp + 0x50], eax
xor r8d, r8d
lea rax, [rsp + 0x50]
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov eax, dword [rbx + 0x20]
lea rdx, str.chkSpace
mov rcx, qword [rbx]
mov r9d, 4
mov dword [rsp + 0x50], eax
xor r8d, r8d
lea rax, [rsp + 0x50]
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov eax, dword [rbx + 0x24]
lea rdx, str.chkAll
mov rcx, qword [rbx]
mov r9d, 4
mov dword [rsp + 0x50], eax
xor r8d, r8d
lea rax, [rsp + 0x50]
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov eax, dword [rbx + 0x28]
lea rdx, str.chkSpecified
mov rcx, qword [rbx]
mov r9d, 4
mov dword [rsp + 0x50], eax
xor r8d, r8d
lea rax, [rsp + 0x50]
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
cmp qword [rbx], rsi
je 0x1401806c9
mov rdi, qword [rbx + 0x30]
test rdi, rdi
je 0x1401806c9
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov rcx, qword [rbx]
lea rdx, str.strSpecified
add eax, eax
mov r9d, 1
mov dword [rsp + 0x28], eax
xor r8d, r8d
mov qword [rsp + 0x20], rdi
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov eax, dword [rbx + 0x38]
lea rdx, str.threadNum
mov rcx, qword [rbx]
mov r9d, 4
mov dword [rsp + 0x50], eax
xor r8d, r8d
lea rax, [rsp + 0x50]
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
cmp qword [rbx], rsi
je 0x140180736
mov rdi, qword [rbx + 0x40]
test rdi, rdi
je 0x140180736
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov rcx, qword [rbx]
lea rdx, str.prep
add eax, eax
mov r9d, 1
mov dword [rsp + 0x28], eax
xor r8d, r8d
mov qword [rsp + 0x20], rdi
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov eax, dword [rbx + 0x48]
lea rdx, str.bUseSignatureByExt
mov rcx, qword [rbx]
mov r9d, 4
mov dword [rsp + 0x50], eax
xor r8d, r8d
lea rax, [rsp + 0x50]
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbx]
mov rdi, qword [rsp + 0x78]
test rcx, rcx
je 0x14018077b
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rbx], rsi
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1401f74b0
mov rbx, qword [rsp + 0x80]
add rsp, 0x60
pop rsi
ret