Function at 0x140012a60
Capabilities:
Set registry value

Disassembly:
mov qword [rsp + 0x10], rsi
push rbp
push rdi
push r14
mov rbp, rsp
sub rsp, 0x70
mov rax, qword [0x140077040]
xor rax, rsp
mov qword [rbp - 8], rax
xor esi, esi
mov r14, r9
mov rdi, r8
test dl, dl
jne 0x140012ac3
mov r8, qword [0x14007df78]
lea r9, str.ViewState
mov rdx, 0xffffffff80000002
mov qword [rsp + 0x20], rsi
call fcn.140010430
mov r8, qword [0x14007df78]
lea r9, str.ValidCPU
call fcn.14000feb0
xor al, al
jmp 0x140012e94
lea rdx, [rbp - 0x20]
mov qword [rsp + 0x90], rbx
mov qword [rbp - 0x20], rsi
call fcn.140013440
mov r8, 0xffffffffffffffff
mov rbx, rsi
inc r8
cmp word [rdi + r8*2], bx
jne 0x140012ae2
movzx eax, word [r14]
mov r10d, esi
test ax, ax
je 0x140012b3e
mov r11, rsi
mov r9, rsi
nop
movzx eax, ax
mov edx, eax
shl eax, 0x10
mov ecx, eax
add rcx, rdx
add rbx, rcx
imul rbx, rdx
cmp r11, r8
jae 0x140012b23
movzx eax, word [r9 + rdi]
sub rbx, rax
jmp 0x140012b2a
movzx eax, word [rdi]
imul rbx, rax
inc r10d
mov r11d, r10d
lea r9, [r10 + r10]
movzx eax, word [r9 + r14]
test ax, ax
jne 0x140012b00
mov r8, qword [0x14007df78]
lea r9, [0x140069ac0]
xor rbx, 0x6ad56413
mov dword [rsp + 0x20], 1
mov r14, rbx
mov rdx, 0xffffffff80000002
xor r14, qword [rbp - 0x20]
call fcn.14000ffb0
mov rdx, qword [0x14007df78]
lea rax, [rbp - 0x10]
mov qword [rsp + 0x40], rax
xor r9d, r9d
lea rax, [rbp - 0x20]
mov dword [rbp - 0x18], 1
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov qword [rsp + 0x30], rsi
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x28], 2
mov dword [rsp + 0x20], esi
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x140012beb
mov rcx, qword [rbp - 0x20]
lea rax, [rbp - 0x18]
mov dword [rsp + 0x28], 4
lea rdx, str.ValidCPU
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp - 0x20]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rdx, qword [0x14007df78]
lea rax, [rbp - 0x10]
mov qword [rsp + 0x40], rax
xor r9d, r9d
lea rax, [rbp - 0x20]
mov dword [rbp - 0x18], 1
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov qword [rsp + 0x30], rsi
mov rcx, 0xffffffff80000001
mov dword [rsp + 0x28], 2
mov dword [rsp + 0x20], esi
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x140012c68
mov rcx, qword [rbp - 0x20]
lea rax, [rbp - 0x18]
mov dword [rsp + 0x28], 4
lea rdx, str.ValidCPU
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp - 0x20]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rdx, qword [0x14007df78]
lea rax, [rbp - 0x10]
mov qword [rsp + 0x40], rax
xor r9d, r9d
lea rax, [rbp - 0x20]
mov dword [rbp - 0x18], 1
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov qword [rsp + 0x30], rsi
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x28], 2
mov dword [rsp + 0x20], esi
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x140012ce5
mov rcx, qword [rbp - 0x20]
lea rax, [rbp - 0x18]
mov dword [rsp + 0x28], 4
lea rdx, str.ValidCPU
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp - 0x20]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rdx, qword [0x14007df78]
lea rax, [rbp - 0x10]
mov qword [rsp + 0x40], rax
xor r9d, r9d
lea rax, [rbp - 0x20]
mov dword [rbp - 0x18], 1
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov qword [rsp + 0x30], rsi
mov rcx, 0xffffffff80000001
mov dword [rsp + 0x28], 2
mov dword [rsp + 0x20], esi
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x140012d62
mov rcx, qword [rbp - 0x20]
lea rax, [rbp - 0x18]
mov dword [rsp + 0x28], 4
lea rdx, str.ValidCPU
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp - 0x20]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rax, [rbp - 0x10]
mov dword [rbp - 0x18], 1
mov qword [rsp + 0x40], rax
lea rdx, str.SoftwareProcessLasso
lea rax, [rbp - 0x20]
xor r9d, r9d
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov qword [rsp + 0x30], rsi
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x28], 2
mov dword [rsp + 0x20], esi
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x140012ddf
mov rcx, qword [rbp - 0x20]
lea rax, [rbp - 0x18]
mov dword [rsp + 0x28], 4
lea rdx, [0x140069c80]
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp - 0x20]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r8, qword [0x14007df78]
lea r9, str.ViewState
mov rdx, 0xffffffff80000002
mov qword [rsp + 0x20], rbx
call fcn.140010430
test al, al
je 0x140012e35
mov r8, qword [0x14007df78]
lea r9, str.CacheTag
mov rdx, 0xffffffff80000002
mov qword [rsp + 0x20], r14
call fcn.140010430
test al, al
je 0x140012e35
mov r8, rdi
call fcn.140013100
test al, al
je 0x140012e35
mov al, 1
jmp 0x140012e8c
mov r8, qword [0x14007df78]
lea r9, str.ViewState
mov rdx, 0xffffffff80000001
mov qword [rsp + 0x20], rbx
call fcn.140010430
test al, al
je 0x140012e8a
mov r8, qword [0x14007df78]
lea r9, str.CacheTag
mov rdx, 0xffffffff80000001
mov qword [rsp + 0x20], r14
call fcn.140010430
test al, al
je 0x140012e8a
mov r8, rdi
call fcn.140013100
test al, al
setne al
jmp 0x140012e8c
xor al, al
mov rbx, qword [rsp + 0x90]
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.1400398f0
mov rsi, qword [rsp + 0x98]
add rsp, 0x70
pop r14
pop rdi
pop rbp
ret