Function at 0x140020e58
Capabilities:
Set registry value

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rbp
mov qword [r11 + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov r15, r8
mov r12, rdx
mov rcx, qword [0x140148ea8]
lea rax, [0x140148ea8]
mov r14d, 5
cmp rcx, rax
je 0x140020ebf
test byte [rcx + 0x1c], 1
je 0x140020ebf
cmp byte [rcx + 0x19], r14b
jb 0x140020ebf
mov rax, qword [r8]
mov r9, qword [r12]
mov rcx, qword [rcx + 0x10]
lea r8, [0x140005d50]
mov edx, 0xfb
mov qword [r11 - 0x78], rax
call fcn.140017150
xor r13d, r13d
lea r8, [0x140005b30]
lea rcx, [rsp + 0x58]
mov rdx, 0xffffffff80000002
mov dword [rsp + 0x28], 0x2011f
mov esi, r13d
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x68], r13
mov ebp, r13d
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], r13
call fcn.140029e44
mov ebx, eax
mov r10, qword [0x140148ea8]
lea rax, [0x140148ea8]
lea edi, [r13 + 2]
cmp r10, rax
je 0x140020f55
test byte [r10 + 0x1c], dil
je 0x140020f55
movzx edx, byte [r10 + 0x19]
test ebx, ebx
mov eax, edi
cmove eax, r14d
cmp edx, eax
jl 0x140020f55
mov rcx, qword [r10 + 0x10]
lea r8, [0x140005d50]
mov edx, 0xfc
mov r9d, ebx
call fcn.14000fd64
mov r10, qword [0x140148ea8]
mov r14, qword [rsp + 0x58]
test ebx, ebx
jne 0x140021074
mov r8, qword [r12]
lea rcx, [rsp + 0x40]
mov rdx, r14
mov dword [rsp + 0x28], 0x2011f
call fcn.140029e44
mov ebx, eax
mov r10, qword [0x140148ea8]
lea rax, [0x140148ea8]
mov r12d, 5
cmp r10, rax
je 0x140020fcc
test byte [r10 + 0x1c], dil
je 0x140020fcc
movzx ecx, byte [r10 + 0x19]
test ebx, ebx
mov eax, edi
cmove eax, r12d
cmp ecx, eax
jl 0x140020fcc
mov rcx, qword [r10 + 0x10]
lea r8, [0x140005d50]
mov edx, 0xfd
mov r9d, ebx
call fcn.14000fd64
mov r10, qword [0x140148ea8]
test ebx, ebx
jne 0x14002106d
mov rcx, qword [r15]
test rcx, rcx
je 0x140021108
or rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], r13w
jne 0x140020fe4
mov rbp, qword [rsp + 0x40]
lea eax, [rax*2 + 2]
lea rdx, [0x140005bb0]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
mov r9d, 1
mov rcx, rbp
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ebx, eax
mov r10, qword [0x140148ea8]
lea r15, [0x140148ea8]
cmp r10, r15
je 0x140021067
test byte [r10 + 0x1c], dil
je 0x140021067
movzx ecx, byte [r10 + 0x19]
test ebx, ebx
mov eax, edi
cmove eax, r12d
cmp ecx, eax
jl 0x140021067
mov rcx, qword [r10 + 0x10]
lea r8, [0x140005d50]
mov edx, 0xfe
mov r9d, ebx
call fcn.14000fd64
mov r10, qword [0x140148ea8]
test ebx, ebx
je 0x140021099
jmp 0x140021081
mov rbp, qword [rsp + 0x40]
jmp 0x14002107a
mov r12d, 5
lea r15, [0x140148ea8]
movzx esi, bx
mov eax, 0x80004005
or esi, 0x80070000
test ebx, ebx
cmovle esi, ebx
test esi, esi
cmovns esi, eax
cmp r10, r15
je 0x1400210cc
test byte [r10 + 0x1c], 1
je 0x1400210cc
movzx eax, byte [r10 + 0x19]
test esi, esi
cmovns edi, r12d
cmp eax, edi
jl 0x1400210cc
mov rcx, qword [r10 + 0x10]
lea r8, [0x140005d50]
mov edx, 0xff
mov r9d, esi
call fcn.14000fd64
test rbp, rbp
je 0x1400210da
mov rcx, rbp
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test r14, r14
je 0x1400210e8
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea r11, [rsp + 0x70]
mov eax, esi
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov ecx, 0x80004005
call fcn.1400119f0
int3