Function at 0x140084340
Capabilities:
Set registry value

Disassembly:
push rbp
push rsi
push rdi
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov rax, qword [0x140173040]
xor rax, rsp
mov qword [rbp - 8], rax
xor esi, esi
mov r15, r9
mov rdi, r8
mov r14, rcx
test dl, dl
jne 0x1400843a6
mov r8, qword [rcx + 0x20]
lea r9, str.ViewState
mov rdx, 0xffffffff80000002
mov qword [rsp + 0x20], rsi
call fcn.140088f60
mov r8, qword [r14 + 0x20]
lea r9, str.ValidCPU
mov rdx, 0xffffffff80000002
call fcn.140088840
xor al, al
jmp 0x140084760
lea rdx, [rbp - 0x20]
mov qword [rsp + 0xa8], rbx
mov qword [rbp - 0x20], rsi
call fcn.140084cc0
mov r8, 0xffffffffffffffff
mov rbx, rsi
inc r8
cmp word [rdi + r8*2], bx
jne 0x1400843c5
movzx eax, word [r15]
mov r10d, esi
test ax, ax
je 0x14008441f
mov r11, rsi
mov r9, rsi
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 0x140084404
movzx eax, word [r9 + rdi]
sub rbx, rax
jmp 0x14008440b
movzx eax, word [rdi]
imul rbx, rax
inc r10d
mov r11d, r10d
lea r9, [r10 + r10]
movzx eax, word [r9 + r15]
test ax, ax
jne 0x1400843e1
mov r8, qword [r14 + 0x20]
lea r9, [0x14014aae0]
xor rbx, 0x6ad56413
mov dword [rsp + 0x20], 1
mov r15, rbx
mov rdx, 0xffffffff80000002
xor r15, qword [rbp - 0x20]
call fcn.140088930
mov rdx, qword [r14 + 0x20]
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 0x1400844c6
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 [r14 + 0x20]
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 0x140084540
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 [r14 + 0x20]
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 0x1400845ba
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 [r14 + 0x20]
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 0x140084634
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 0x1400846b1
mov rcx, qword [rbp - 0x20]
lea rax, [rbp - 0x18]
mov dword [rsp + 0x28], 4
lea rdx, [0x140149a44]
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 [r14 + 0x20]
lea r9, str.ViewState
mov rdx, 0xffffffff80000002
mov qword [rsp + 0x20], rbx
call fcn.140088f60
test al, al
je 0x140084704
mov r8, qword [r14 + 0x20]
lea r9, str.CacheTag
mov rdx, 0xffffffff80000002
mov qword [rsp + 0x20], r15
call fcn.140088f60
test al, al
je 0x140084704
mov r8, rdi
mov rcx, r14
call fcn.140084a10
test al, al
je 0x140084704
mov al, 1
jmp 0x140084758
mov r8, qword [r14 + 0x20]
lea r9, str.ViewState
mov rdx, 0xffffffff80000001
mov qword [rsp + 0x20], rbx
call fcn.140088f60
test al, al
je 0x140084756
mov r8, qword [r14 + 0x20]
lea r9, str.CacheTag
mov rdx, 0xffffffff80000001
mov qword [rsp + 0x20], r15
call fcn.140088f60
test al, al
je 0x140084756
mov r8, rdi
mov rcx, r14
call fcn.140084a10
test al, al
setne al
jmp 0x140084758
xor al, al
mov rbx, qword [rsp + 0xa8]
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.1400ff350
add rsp, 0x70
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret