Function at 0x140053190
Capabilities:
Set registry value

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x50
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [rsp + 0x78], rbx
mov rbp, rdx
mov rsi, rcx
mov edx, 0x5c
mov rcx, qword [rcx + 0x1b0]
call fcn.1400c6258
or rbx, 0xffffffffffffffff
test rax, rax
jne 0x1400531ca
mov eax, ebx
jmp 0x1400531d4
sub rax, qword [rsi + 0x1b0]
sar rax, 1
lea r8d, [rax + 1]
lea rdx, [rsp + 0x88]
lea rcx, [rsi + 0x1b0]
call fcn.140024ac0
nop
mov r8d, dword [0x1401a9d80]
lea ecx, [r8 + 1]
imul ecx, r8d
mov eax, 0x38e38e39
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*8]
add eax, eax
sub ecx, eax
cmp ecx, 0xf
jne 0x140053254
mov eax, 0x51eb851f
imul r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x64
sub r8d, edx
add r8d, 0x63
movsxd rcx, r8d
mov eax, 4
mul rcx
cmovo rax, rbx
mov rcx, rax
call fcn.1400c2fb8
mov rcx, rax
call fcn.1400c4098
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov r9d, 0x2001f
xor r8d, r8d
mov rdx, qword [rsi + 0x1b0]
mov rcx, qword [rsi + 0x2d8]
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1400532e5
call fcn.14004b800
mov r8, rax
lea rdx, [rsp + 0x88]
lea rcx, [rsp + 0x38]
call fcn.140019610
nop
mov dword [rsp + 0x28], 0x20
mov qword [rsp + 0x20], rbp
mov r9d, 3
xor r8d, r8d
mov rdx, qword [rax]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov edi, eax
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400532d9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test edi, edi
jne 0x1400532e5
mov dil, 1
jmp 0x1400533f6
call fcn.14004bfe0
mov rdi, rax
lea rcx, [0x1401a19a8]
mov rdx, qword [0x1401a19a8]
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0x70], rax
test rdi, rdi
je 0x14005334c
test rdi, 0xffffffffffff0000
jne 0x140053336
movzx edi, di
mov ecx, edi
call fcn.1400019f0
test rax, rax
je 0x14005335f
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.140002530
jmp 0x14005335f
mov rax, rbx
nop dword [rax]
inc rax
cmp word [rdi + rax*2], 0
jne 0x140053340
jmp 0x14005334e
xor eax, eax
mov r8d, eax
mov rdx, rdi
lea rcx, [rsp + 0x70]
call fcn.140002240
nop
call fcn.14004baf0
mov r8, rax
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x40]
call fcn.140019610
nop
lea r8, [rsi + 0x190]
mov rdx, rax
lea rcx, [rsp + 0x80]
call fcn.14000ee60
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400533a8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rdx, [rsp + 0x80]
mov rcx, rsi
call fcn.140013f70
nop
mov rdx, qword [rsp + 0x80]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400533d6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x1400533f3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor dil, dil
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140053413
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
movzx eax, dil
mov rbx, qword [rsp + 0x78]
add rsp, 0x50
pop rdi
pop rsi
pop rbp
ret