Function at 0x1800f2f00
Capabilities:
Set registry value

Disassembly:
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x80
lea rbp, [rsp + 0x40]
mov qword [rbp + 0x30], 0xfffffffffffffffe
mov qword [rbp + 0x70], rbx
mov qword [rbp + 0x78], rsi
mov qword [rbp + 0x80], rdi
mov rax, qword [0x18021dd90]
xor rax, rbp
mov qword [rbp + 0x38], rax
mov r15, r8
mov qword [rbp + 8], r8
mov r14, rcx
mov qword [rbp], rcx
test rdx, rdx
je 0x1800f2f62
or r9d, 0x20006
mov r8d, r9d
call fcn.1800f15e0
mov r13, rax
jmp 0x1800f2f65
mov r13, rcx
test r13, r13
je 0x1800f3291
call fcn.180127c90
test eax, eax
je 0x1800f30ab
xor esi, esi
lea r15d, [rsi + 2]
mov edi, esi
mov rbx, qword [rbp + 0x90]
cmp dword [rbx + 8], esi
jle 0x1800f2fba
nop
mov r8d, edi
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1800f26e0
mov rcx, qword [rax]
mov eax, dword [rcx - 8]
lea r15d, [r15 + rax*2 + 2]
lea rcx, [rbp + 0x10]
call fcn.1800e5c00
inc edi
cmp edi, dword [rbx + 8]
jl 0x1800f2f90
mov edi, r15d
mov ecx, r15d
call fcn.1800f8d24
mov r14, rax
test rax, rax
je 0x1800f3291
mov r8d, edi
xor edx, edx
mov rcx, rax
call fcn.1800f8b90
mov r12, r14
cmp dword [rbx + 8], esi
jle 0x1800f3048
nop word [rax + rax]
mov r8d, esi
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1800f26e0
mov rcx, qword [rax]
mov rdx, r12
nop word [rax + rax]
movzx eax, word [rcx]
mov word [rdx], ax
add rcx, 2
add rdx, 2
test ax, ax
jne 0x1800f3010
lea rcx, [rbp + 0x10]
call fcn.1800e5c00
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r12
repne scasw ax, word [rdi]
not rcx
and ecx, ecx
lea r12, [r12 + rcx*2]
inc esi
cmp esi, dword [rbx + 8]
jl 0x1800f2ff0
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r14
mov r9d, 7
xor r8d, r8d
mov rdx, qword [rbp + 8]
mov rcx, r13
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
jne 0x1800f308c
cmp r13, qword [rbp]
je 0x1800f307a
mov rcx, r13
call fcn.1800f1630
mov rcx, r14
call fcn.1800f8dc8
mov eax, 1
jmp 0x1800f3293
mov rcx, r14
call fcn.1800f8dc8
cmp r13, qword [rbp]
je 0x1800f3291
mov rcx, r13
call fcn.1800f1630
jmp 0x1800f3291
lea rcx, [rbp + 0x18]
call fcn.1800e7470
nop
xor esi, esi
mov ebx, esi
mov rdi, qword [rbp + 0x90]
cmp dword [rdi + 8], ebx
jle 0x1800f3117
nop word [rax + rax]
mov r8d, ebx
lea rdx, [rbp + 8]
mov rcx, rdi
call fcn.1800f26e0
nop
mov rdx, qword [rax]
lea rcx, [rbp]
call fcn.1800eab10
nop
lea rcx, [rbp + 8]
call fcn.1800e5c00
lea r8, [rbp]
mov edx, dword [rbp + 0x20]
lea rcx, [rbp + 0x18]
call fcn.1800ebce0
nop
lea rcx, [rbp]
call fcn.1800e7ee0
inc ebx
cmp ebx, dword [rdi + 8]
jl 0x1800f30d0
mov ebx, 1
mov eax, dword [rbp + 0x20]
test eax, eax
jle 0x1800f3143
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 0x1800f3130
mov edi, ebx
mov ecx, ebx
call fcn.1800f8d24
mov r12, rax
test rax, rax
je 0x1800f3288
mov r8d, edi
xor edx, edx
mov rcx, rax
call fcn.1800f8b90
mov r11, r12
mov r9d, esi
cmp dword [rbp + 0x20], esi
jle 0x1800f31bf
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 0x1800f3190
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r11
repne scasb al, byte [rdi]
not rcx
mov eax, ecx
add r11, rax
inc r9d
add r8, 8
cmp r9d, dword [rbp + 0x20]
jl 0x1800f3180
test r15, r15
je 0x1800f322a
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea edx, [rax + rax + 2]
movsxd rax, edx
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x1800f31e7
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.1800fb440
sub rsp, rcx
lea rdi, [rsp + 0x40]
test rdi, rdi
je 0x1800f322a
mov byte [rdi], 0
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], edx
mov qword [rsp + 0x20], rdi
or r9d, 0xffffffff
mov r8, r15
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov rsi, rdi
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], r12
mov r9d, 7
xor r8d, r8d
mov rdx, rsi
mov rcx, r13
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
jne 0x1800f3272
cmp r13, r14
je 0x1800f3259
mov rcx, r13
call fcn.1800f1630
mov rcx, r12
call fcn.1800f8dc8
nop
lea rcx, [rbp + 0x18]
call fcn.1800eba60
mov eax, 1
jmp 0x1800f3293
mov rcx, r12
call fcn.1800f8dc8
cmp r13, r14
je 0x1800f3288
mov rcx, r13
call fcn.1800f1630
nop
lea rcx, [rbp + 0x18]
call fcn.1800eba60
xor eax, eax
mov rcx, qword [rbp + 0x38]
xor rcx, rbp
call fcn.1800f98f0
mov rbx, qword [rbp + 0x70]
mov rsi, qword [rbp + 0x78]
mov rdi, qword [rbp + 0x80]
lea rsp, [rbp + 0x40]
pop r15
pop r14
pop r13
pop r12
pop rbp
ret