Function at 0x18004a3e0
Capabilities:
Set registry value

Disassembly:
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x80
lea rbp, [rsp + 0x30]
mov qword [rbp + 0x38], 0xfffffffffffffffe
mov qword [rbp + 0x80], rbx
mov qword [rbp + 0x88], rsi
mov qword [rbp + 0x90], rdi
mov rax, qword [0x1801345d0]
xor rax, rbp
mov qword [rbp + 0x40], rax
mov r15, r8
mov qword [rbp + 0x10], r8
mov r14, rcx
mov qword [rbp], rcx
test rdx, rdx
je 0x18004a448
or r9d, 0x20006
mov r8d, r9d
call fcn.180048b40
mov r12, rax
jmp 0x18004a44b
mov r12, rcx
test r12, r12
je 0x18004a774
call fcn.18009fed0
test eax, eax
je 0x18004a606
mov r13d, 2
mov dword [rbp + 8], r13d
xor esi, esi
mov edi, esi
mov rbx, qword [rbp + 0xa0]
cmp dword [rbx + 8], esi
jle 0x18004a4ae
nop dword [rax + rax]
mov r8d, edi
lea rdx, [rbp + 8]
mov rcx, rbx
call fcn.180049bf0
mov rcx, qword [rax]
mov eax, dword [rcx - 8]
lea r13d, [r13 + rax*2 + 2]
lea rcx, [rbp + 8]
call fcn.180040610
inc edi
cmp edi, dword [rbx + 8]
jl 0x18004a480
mov dword [rbp + 8], r13d
mov edi, r13d
mov ecx, r13d
call fcn.18006f3c0
mov r15, rax
test rax, rax
je 0x18004a774
mov r8d, edi
xor edx, edx
mov rcx, rax
call fcn.18006f140
mov r13, r15
mov r14d, esi
cmp dword [rbx + 8], esi
jle 0x18004a53b
nop dword [rax]
mov r8d, r14d
lea rdx, [rbp + 0x30]
mov rcx, rbx
call fcn.180049bf0
mov rcx, qword [rax]
mov rdx, r13
nop word [rax + rax]
movzx eax, word [rcx]
mov word [rdx], ax
add rcx, 2
add rdx, 2
test ax, ax
jne 0x18004a500
lea rcx, [rbp + 0x30]
call fcn.180040610
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r13
repne scasw ax, word [rdi]
not rcx
and ecx, ecx
lea r13, [r13 + rcx*2]
inc r14d
cmp r14d, dword [rbx + 8]
jl 0x18004a4e0
mov rbx, qword [rbp + 0x10]
test rbx, rbx
je 0x18004a5a2
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenA]
lea r8d, [rax + 1]
lea ecx, [r8 + r8]
movsxd rdx, ecx
lea rax, [rdx + 0xf]
cmp rax, rdx
ja 0x18004a56b
movabs rax, 0xffffffffffffff0
and rax, 0xfffffffffffffff0
call fcn.1800724d0
sub rsp, rax
lea rdi, [rsp + 0x30]
test rdi, rdi
je 0x18004a5a2
mov word [rdi], si
mov dword [rsp + 0x28], r8d
mov qword [rsp + 0x20], rdi
or r9d, 0xffffffff
mov r8, rbx
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov rsi, rdi
mov eax, dword [rbp + 8]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r15
mov r9d, 7
xor r8d, r8d
mov rdx, rsi
mov rcx, r12
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
jne 0x18004a5e7
cmp r12, qword [rbp]
je 0x18004a5d5
mov rcx, r12
call fcn.180048b90
mov rcx, r15
call fcn.18006f310
mov eax, 1
jmp 0x18004a776
mov rcx, r15
call fcn.18006f310
cmp r12, qword [rbp]
je 0x18004a774
mov rcx, r12
call fcn.180048b90
jmp 0x18004a774
lea rcx, [rbp + 0x18]
call fcn.18003e590
nop
xor esi, esi
mov ebx, esi
mov rdi, qword [rbp + 0xa0]
cmp dword [rdi + 8], ebx
jle 0x18004a667
mov r8d, ebx
lea rdx, [rbp + 0x10]
mov rcx, rdi
call fcn.180049bf0
nop
mov rdx, qword [rax]
lea rcx, [rbp]
call fcn.180042470
nop
lea rcx, [rbp + 0x10]
call fcn.180040610
lea r8, [rbp]
mov edx, dword [rbp + 0x20]
lea rcx, [rbp + 0x18]
call fcn.180043f70
nop
lea rcx, [rbp]
call fcn.18003ecb0
inc ebx
cmp ebx, dword [rdi + 8]
jl 0x18004a620
mov ebx, 1
mov eax, dword [rbp + 0x20]
test eax, eax
jle 0x18004a693
mov rdx, qword [rbp + 0x18]
mov edi, eax
nop dword [rax]
mov rax, qword [rdx]
mov ecx, dword [rax - 8]
lea ebx, [rbx + rcx + 1]
add rdx, 8
dec rdi
jne 0x18004a680
mov edi, ebx
mov ecx, ebx
call fcn.18006f3c0
mov r13, rax
test rax, rax
je 0x18004a76b
mov r8d, edi
xor edx, edx
mov rcx, rax
call fcn.18006f140
mov r11, r13
cmp dword [rbp + 0x20], 0
jle 0x18004a70d
mov r8, rsi
nop word [rax + rax]
mov rax, qword [rbp + 0x18]
mov rcx, qword [r8 + rax]
mov rdx, r11
nop dword [rax + rax]
movzx eax, byte [rcx]
mov byte [rdx], al
inc rcx
inc rdx
test al, al
jne 0x18004a6e0
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r11
repne scasb al, byte [rdi]
not rcx
mov eax, ecx
add r11, rax
inc esi
add r8, 8
cmp esi, dword [rbp + 0x20]
jl 0x18004a6d0
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], r13
mov r9d, 7
xor r8d, r8d
mov rdx, r15
mov rcx, r12
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
jne 0x18004a755
cmp r12, r14
je 0x18004a73c
mov rcx, r12
call fcn.180048b90
mov rcx, r13
call fcn.18006f310
nop
lea rcx, [rbp + 0x18]
call fcn.180043cf0
mov eax, 1
jmp 0x18004a776
mov rcx, r13
call fcn.18006f310
cmp r12, r14
je 0x18004a76b
mov rcx, r12
call fcn.180048b90
nop
lea rcx, [rbp + 0x18]
call fcn.180043cf0
xor eax, eax
mov rcx, qword [rbp + 0x40]
xor rcx, rbp
call fcn.18006f110
mov rbx, qword [rbp + 0x80]
mov rsi, qword [rbp + 0x88]
mov rdi, qword [rbp + 0x90]
lea rsp, [rbp + 0x50]
pop r15
pop r14
pop r13
pop r12
pop rbp
ret