Function at 0x1400c2030
Capabilities:
Delete registry value
Set registry value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x140]
sub rsp, 0x240
mov rax, qword [0x140672360]
xor rax, rsp
mov qword [rbp + 0x138], rax
mov rdi, rdx
xor esi, esi
mov r13d, esi
mov dword [rsp + 0x54], esi
mov r12b, 1
mov byte [rsp + 0x50], r12b
xorps xmm0, xmm0
movups xmmword [rbp + 0xe0], xmm0
movups xmmword [rbp + 0xf0], xmm0
movups xmmword [rbp + 0x100], xmm0
xor edx, edx
movzx ecx, r12b
call fcn.1401d3b80
mov rbx, rax
mov qword [rbp + 0xe0], rax
mov qword [rbp + 0xe8], rsi
movdqa xmm0, xmmword [0x14060af30]
movdqu xmmword [rbp + 0xf8], xmm0
mov word [rbp + 0xe8], si
mov dword [rbp + 0x108], 2
test rax, rax
jne 0x1400c2120
lea rcx, str.0cg_
mov rax, qword [str.0cg_]
cmp rax, rcx
je 0x1400c2118
test byte [rax + 0x1c], r12b
je 0x1400c2118
cmp byte [rax + 0x19], 2
jb 0x1400c2118
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [str.0cg_]
lea edx, [rsi + 0x12]
mov r9d, eax
lea r8, [0x1405f62c8]
mov rcx, qword [rcx + 0x10]
call fcn.140082b10
xor r12b, r12b
jmp 0x1400c2a7d
xorps xmm0, xmm0
movups xmmword [rbp + 0x70], xmm0
movups xmmword [rbp + 0x80], xmm0
movups xmmword [rbp + 0x90], xmm0
mov qword [rbp - 0x78], rsi
mov qword [rbp - 0x68], rsi
mov qword [rbp - 0x60], 7
mov word [rbp - 0x78], si
mov r8d, 0xa
lea rdx, str._profiles_
lea rcx, [rbp - 0x78]
call fcn.1400739a0
nop
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x70], xmm0
movdqa xmm1, xmmword [0x14060af30]
movdqu xmmword [rbp + 0x88], xmm1
mov word [rbp + 0x78], si
mov dword [rbp + 0x98], 2
lea rdx, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae rdx, qword [rbp - 0x78]
mov r8, qword [rbp - 0x68]
lea rcx, [rbp + 0x78]
call fcn.1400739a0
lea rdx, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae rdx, qword [rbp - 0x78]
lea rax, [rbp + 0x98]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0x70]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], 0x20119
mov dword [rsp + 0x20], esi
xor r9d, r9d
xor r8d, r8d
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
nop
mov rdx, qword [rbp - 0x60]
cmp rdx, 8
jb 0x1400c2225
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c2220
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c2ad8
call fcn.140359090
cmp qword [rbp + 0x70], 0
jne 0x1400c2280
lea rcx, str.0cg_
mov rax, qword [str.0cg_]
cmp rax, rcx
je 0x1400c2278
test byte [rax + 0x1c], 1
je 0x1400c2278
cmp byte [rax + 0x19], 2
jb 0x1400c2278
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [str.0cg_]
mov edx, 0x13
mov dword [rsp + 0x20], eax
lea r9, str._profiles_
lea r8, [0x1405f62c8]
mov rcx, qword [rcx + 0x10]
call fcn.140079f00
xor r12b, r12b
jmp 0x1400c2a60
mov r14, qword [rdi]
mov qword [rbp - 0x58], r14
mov rax, qword [rdi + 8]
mov qword [rbp - 8], rax
cmp r14, rax
je 0x1400c2a60
lea r15, [r14 + 0x30]
mov qword [rbp - 0x50], r15
lea r12, str.0cg_
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
movups xmmword [rbp + 0x60], xmm0
mov rbx, qword [rbp + 0x70]
movdqu xmmword [rbp + 0x40], xmm0
mov qword [rbp + 0x58], rsi
mov qword [rbp + 0x60], 7
mov word [rbp + 0x48], si
mov dword [rbp + 0x68], 2
lea rax, [rbp + 0x48]
cmp rax, r14
je 0x1400c22f5
mov rdx, r14
cmp qword [r15 - 0x18], 8
jb 0x1400c22e8
mov rdx, qword [r14]
mov r8, qword [r15 - 0x20]
lea rcx, [rbp + 0x48]
call fcn.1400739a0
mov rdx, r14
cmp qword [r15 - 0x18], 8
jb 0x1400c2302
mov rdx, qword [r14]
lea rax, [rbp + 0x68]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0x40]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], 0x102
mov dword [rsp + 0x20], esi
xor r9d, r9d
xor r8d, r8d
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
nop
mov rcx, qword [rbp + 0x40]
test rcx, rcx
je 0x1400c29ef
mov rdi, qword [r15 + 0x10]
mov rsi, qword [r15 + 0x18]
cmp rdi, rsi
je 0x1400c259b
nop dword [rax]
nop word [rax + rax]
mov rdx, rdi
lea rcx, [rbp + 0x110]
call fcn.1400733c0
mov ecx, dword [rdi + 0x20]
mov dword [rbp + 0x130], ecx
lea eax, [rcx + 1]
cmp eax, 1
jbe 0x1400c2395
cmp ecx, 1
je 0x1400c238e
cmp ecx, 2
jne 0x1400c2395
mov ebx, ecx
jmp 0x1400c2397
mov ebx, 1
jmp 0x1400c2397
xor ebx, ebx
xorps xmm0, xmm0
movups xmmword [rbp + 0xa0], xmm0
movups xmmword [rbp + 0xb0], xmm0
movups xmmword [rbp + 0xc0], xmm0
movups xmmword [rbp + 0xd0], xmm0
xor eax, eax
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x70], xmm1
mov qword [rbp - 0x80], rax
lea ecx, [rax + 4]
call fcn.1403590cc
mov qword [rsp + 0x70], rax
lea rcx, [rax + 4]
mov qword [rbp - 0x80], rcx
xor edx, edx
mov dword [rax], edx
mov qword [rsp + 0x78], rcx
or r13d, 1
mov dword [rsp + 0x54], r13d
mov rax, qword [rsp + 0x70]
mov dword [rax], ebx
lea rdx, [rbp + 0x110]
lea rcx, [rbp + 0xa0]
call fcn.1400733c0
nop
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0xc0]
call fcn.1400ae170
mov r9d, 4
mov dword [rbp + 0xd8], r9d
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x1400c2478
mov rdx, qword [rbp - 0x80]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c245b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c2ade
call fcn.140359090
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
xor ebx, ebx
mov qword [rbp - 0x80], rbx
mov r9d, dword [rbp + 0xd8]
jmp 0x1400c247a
xor ebx, ebx
mov rcx, qword [rbp + 0xc8]
mov rax, qword [rbp + 0xc0]
sub rcx, rax
lea rdx, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 8
cmovae rdx, qword [rbp + 0xa0]
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rcx, qword [rbp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
je 0x1400c2520
mov rax, qword [str.0cg_]
cmp rax, r12
je 0x1400c2511
test byte [rax + 0x1c], 1
je 0x1400c2511
cmp byte [rax + 0x19], 2
jb 0x1400c2511
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r9, [rbp + 0x110]
cmp qword [rbp + 0x128], 8
cmovae r9, qword [rbp + 0x110]
mov rcx, qword [str.0cg_]
mov edx, 0x15
mov dword [rsp + 0x20], eax
lea r8, [0x1405f62c8]
mov rcx, qword [rcx + 0x10]
call fcn.140079f00
xor r12b, r12b
mov byte [rsp + 0x50], r12b
lea r12, str.0cg_
mov rcx, qword [rbp + 0xc0]
test rcx, rcx
je 0x1400c2575
mov rdx, qword [rbp + 0xd0]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c255b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c2ae4
call fcn.140359090
mov qword [rbp + 0xc0], rbx
mov qword [rbp + 0xc8], rbx
mov qword [rbp + 0xd0], rbx
lea rcx, [rbp + 0xa0]
call fcn.140073b90
nop
lea rcx, [rbp + 0x110]
call fcn.140073b90
add rdi, 0x28
cmp rdi, rsi
jne 0x1400c2360
mov rax, qword [r15]
test rax, rax
jne 0x1400c262e
xor esi, esi
mov qword [rbp - 0x28], rsi
mov qword [rbp - 0x18], rsi
mov qword [rbp - 0x10], 7
lea r8d, [rax + 8]
lea rdx, [0x1405f6298]
lea rcx, [rbp - 0x28]
call fcn.1400739a0
lea rdx, [rbp - 0x28]
cmp qword [rbp - 0x10], 8
cmovae rdx, qword [rbp - 0x28]
mov rcx, qword [rbp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov rdx, qword [rbp - 0x10]
cmp rdx, 8
jb 0x1400c29b1
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c2624
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c2aea
call fcn.140359090
jmp 0x1400c29b1
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x10], xmm0
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x30], xmm0
xor ecx, ecx
lea rdi, [rax*2 + 2]
movdqu xmmword [rsp + 0x58], xmm0
xor r12d, r12d
mov qword [rsp + 0x68], rcx
test rdi, rdi
je 0x1400c26a9
movabs rax, 0x7fffffffffffffff
cmp rdi, rax
ja 0x1400c2af0
lfence
mov rcx, rdi
call fcn.140073800
mov qword [rsp + 0x58], rax
lea rbx, [rax + rdi]
mov qword [rsp + 0x68], rbx
mov r8, rdi
xor edx, edx
mov rcx, rax
call fcn.14035c350
mov qword [rsp + 0x60], rbx
mov rax, qword [r15]
mov rcx, qword [rsp + 0x68]
mov r13d, dword [rsp + 0x54]
or r13d, 2
mov dword [rsp + 0x54], r13d
lea rbx, [r15 - 0x10]
mov rdx, rbx
cmp qword [r15 + 8], 8
jb 0x1400c26c3
mov rdx, qword [rbx]
lea rdi, [rdx + rax*2]
jb 0x1400c26cc
mov rbx, qword [rbx]
sub rdi, rbx
mov rsi, qword [rsp + 0x58]
sub rcx, rsi
cmp rdi, rcx
jbe 0x1400c26f6
lfence
mov rdx, rdi
lea rcx, [rsp + 0x58]
call fcn.1400b6180
mov rsi, qword [rsp + 0x58]
mov r13d, dword [rsp + 0x54]
mov r8, rdi
mov rdx, rbx
mov rcx, rsi
call fcn.14035bc80
lea rax, [rdi + rsi]
mov qword [rsp + 0x60], rax
mov qword [rbp - 0x48], r12
mov qword [rbp - 0x38], r12
mov qword [rbp - 0x30], 7
mov word [rbp - 0x48], r12w
mov r8d, 8
lea rdx, [0x1405f6298]
lea rcx, [rbp - 0x48]
call fcn.1400739a0
nop
mov qword [rbp], r12
mov qword [rbp + 0x10], r12
mov qword [rbp + 0x18], r12
lea rsi, [rbp - 0x48]
mov r14, qword [rbp - 0x48]
mov r15, qword [rbp - 0x30]
cmp r15, 8
cmovae rsi, r14
mov rdi, qword [rbp - 0x38]
cmp rdi, 8
jae 0x1400c2778
movups xmm0, xmmword [rsi]
movaps xmmword [rbp], xmm0
mov qword [rbp + 0x10], rdi
mov qword [rbp + 0x18], 7
jmp 0x1400c27df
or rdi, 7
movabs rax, 0x7ffffffffffffffe
cmp rdi, rax
cmova rdi, rax
lea rcx, [rdi + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x1400c2ad2
lfence
add rcx, rcx
call fcn.140073800
mov qword [rbp], rax
mov rbx, qword [rbp - 0x38]
lea r8, [rbx*2 + 2]
mov rdx, rsi
mov rcx, rax
call fcn.14035bc80
mov qword [rbp + 0x10], rbx
mov qword [rbp + 0x18], rdi
mov r15, qword [rbp - 0x30]
mov r14, qword [rbp - 0x48]
mov r13d, dword [rsp + 0x54]
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], r12
mov rsi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x60]
cmp rsi, r12
je 0x1400c2838
mov rbx, r12
sub rbx, rsi
mov rcx, rbx
call fcn.140073800
mov rdi, rax
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], rax
lea rcx, [rax + rbx]
mov qword [rbp + 0x30], rcx
mov r8, rbx
mov rdx, rsi
mov rcx, rax
call fcn.14035bc80
sub rdi, rsi
add rdi, r12
mov qword [rbp + 0x28], rdi
mov rsi, qword [rsp + 0x58]
mov dword [rbp + 0x38], 1
cmp r15, 8
jb 0x1400c287f
lea rdx, [r15*2 + 2]
mov rax, r14
cmp rdx, 0x1000
jb 0x1400c2872
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c2af6
mov rcx, r14
call fcn.140359090
mov rsi, qword [rsp + 0x58]
and r13d, 0xfffffffd
mov dword [rsp + 0x54], r13d
test rsi, rsi
je 0x1400c28d2
mov rdx, qword [rsp + 0x68]
sub rdx, rsi
mov rax, rsi
cmp rdx, 0x1000
jb 0x1400c28ba
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c2afc
mov rcx, rsi
call fcn.140359090
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x58], xmm0
xor esi, esi
mov qword [rsp + 0x68], rsi
mov rcx, qword [rbp + 0x28]
mov rax, qword [rbp + 0x20]
sub rcx, rax
lea rdx, [rbp]
cmp qword [rbp + 0x18], 8
cmovae rdx, qword [rbp]
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x20], rax
mov r9d, dword [rbp + 0x38]
xor r8d, r8d
mov rcx, qword [rbp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
je 0x1400c295a
mov rax, qword [str.0cg_]
lea rcx, str.0cg_
cmp rax, rcx
je 0x1400c2955
test byte [rax + 0x1c], 1
je 0x1400c2955
cmp byte [rax + 0x19], 2
jb 0x1400c2955
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [str.0cg_]
mov edx, 0x16
mov dword [rsp + 0x20], eax
lea r9, [0x1405f6298]
lea r8, [0x1405f62c8]
mov rcx, qword [rcx + 0x10]
call fcn.140079f00
mov byte [rsp + 0x50], 0
mov rcx, qword [rbp + 0x20]
test rcx, rcx
je 0x1400c29a0
mov rdx, qword [rbp + 0x30]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c298f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c2b02
call fcn.140359090
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], rsi
lea rcx, [rbp]
call fcn.140073b90
mov r14, qword [rbp - 0x58]
mov r15, qword [rbp - 0x50]
mov rcx, qword [rbp + 0x40]
test rcx, rcx
je 0x1400c29c4
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rbp + 0x40], rsi
lea rcx, [rbp + 0x48]
call fcn.140073b90
add r14, 0x58
mov qword [rbp - 0x58], r14
add r15, 0x58
mov qword [rbp - 0x50], r15
cmp r14, qword [rbp - 8]
jne 0x1400c22a0
movzx r12d, byte [rsp + 0x50]
jmp 0x1400c2a59
mov rax, qword [str.0cg_]
cmp rax, r12
je 0x1400c2a3e
test byte [rax + 0x1c], 1
je 0x1400c2a3e
cmp byte [rax + 0x19], 2
jb 0x1400c2a3e
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp qword [r14 + 0x18], 8
jb 0x1400c2a17
mov r14, qword [r14]
mov rcx, qword [str.0cg_]
mov edx, 0x14
mov dword [rsp + 0x20], eax
mov r9, r14
lea r8, [0x1405f62c8]
mov rcx, qword [rcx + 0x10]
call fcn.140079f00
mov rcx, qword [rbp + 0x40]
xor r12b, r12b
test rcx, rcx
je 0x1400c2a50
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rbp + 0x40], rsi
lea rcx, [rbp + 0x48]
call fcn.140073b90
mov rbx, qword [rbp + 0xe0]
mov rcx, qword [rbp + 0x70]
test rcx, rcx
je 0x1400c2a73
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rbp + 0x70], rsi
lea rcx, [rbp + 0x78]
call fcn.140073b90
nop
test rbx, rbx
je 0x1400c2a92
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rbp + 0xe0], rsi
lea rcx, [rbp + 0xe8]
call fcn.140073b90
movzx eax, r12b
mov rcx, qword [rbp + 0x138]
xor rcx, rsp
call fcn.140359070
lea r11, [rsp + 0x240]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140073980
nop
call fcn.140368068
nop
call fcn.140368068
int3
call fcn.140368068
nop
call fcn.140368068
nop
call fcn.1400710c0
int3
call fcn.140368068
nop
call fcn.140368068
int3
call fcn.140368068
int3