Function at 0x1400fac80
Capabilities:
Set registry value

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x20]
sub rsp, 0x120
mov qword [rbp - 8], 0xfffffffffffffffe
mov qword [rsp + 0x168], rbx
mov r12, r8
mov rdi, rdx
mov r13, rcx
mov r9, qword [rcx + 0xa8]
cmp dword [r9 + 4], 0
je 0x1400fb49d
mov rbx, qword [r9 + 0x10]
add rbx, r9
mov rcx, rbx
call fcn.1400f9580
test rax, rax
je 0x1400fb49d
cmp byte [rbx + 0x18], 0
jne 0x1400fb49d
mov rcx, rbx
call fcn.1400f9580
test rax, rax
je 0x1400fb49d
mov rcx, qword [rdi]
mov qword [rsp + 0x58], rcx
mov eax, dword [rcx]
inc eax
cmp eax, 1
jbe 0x1400fad0a
lock inc dword [rcx]
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x48]
call fcn.1400f91d0
nop
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x60]
call fcn.1400f9960
mov rdi, rax
mov rcx, qword [r13 + 0xa8]
xor r14d, r14d
cmp dword [rcx + 4], r14d
je 0x1400fad60
mov rbx, qword [rcx + 0x10]
add rbx, rcx
mov rcx, rbx
call fcn.1400f9580
test rax, rax
je 0x1400fad60
cmp byte [rbx + 0x18], r14b
jne 0x1400fad60
mov rcx, rbx
call fcn.1400f9580
jmp 0x1400fad63
mov rax, r14
mov r9d, dword [r13 + 0xb4]
mov r8, rdi
mov edx, 0x2001f
mov rcx, rax
call fcn.1400f8c40
mov r15, rax
mov qword [rbp - 0x48], rax
mov rcx, qword [rsp + 0x60]
mov edx, dword [rcx]
or esi, 0xffffffff
test edx, edx
je 0x1400fada3
cmp edx, esi
je 0x1400fadb1
mov edx, esi
lock xadd dword [rcx], edx
cmp edx, 1
jne 0x1400fadb1
mov rcx, qword [rsp + 0x60]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.14002d570
test r15, r15
jne 0x1400fadc7
lea edx, [r15 + 1]
mov rcx, r13
call fcn.1400d0750
jmp 0x1400fb46f
lea rax, [0x140193080]
mov qword [rsp + 0x30], rax
mov rcx, r12
call fcn.1400b5610
add eax, 0xfffffffe
cmp eax, 0xa
ja case.0x1400fadfa.6
cdqe
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0xfb4c8]
add rcx, rdx
jmp rcx
mov dword [rbp + 0x60], 7
lea rdx, [rsp + 0x68]
mov rcx, r12
call fcn.1400b5230
nop
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.1400d2390
nop
mov r14, qword [rsp + 0x68]
mov eax, dword [r14]
test eax, eax
je 0x1400fae41
cmp eax, 0xffffffff
je 0x1400fae92
mov eax, esi
lock xadd dword [r14], eax
cmp eax, 1
jne 0x1400fae92
mov r14, qword [rsp + 0x68]
movsxd rbx, dword [r14 + 0xc]
add rbx, 2
lea rbx, [r14 + rbx*8]
movsxd r15, dword [r14 + 8]
add r15, 2
lea r15, [r14 + r15*8]
cmp r15, rbx
je 0x1400fae86
nop
sub rbx, 8
mov rdi, qword [rbx]
test rdi, rdi
je 0x1400fae81
mov rcx, rdi
call fcn.1400b14e0
mov edx, 0x10
mov rcx, rdi
call fcn.14010b6b0
cmp rbx, r15
jne 0x1400fae60
mov rcx, r14
call fcn.14010bca0
mov r15, qword [rbp - 0x48]
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 8]
add rax, 2
lea rbx, [rcx + rax*8]
movsxd rax, dword [rcx + 0xc]
add rax, 2
lea rax, [rcx + rax*8]
mov qword [rbp - 0x40], rax
cmp rbx, rax
setne al
test al, al
je 0x1400fafc4
xor edi, edi
mov rax, qword [rbx]
cmp dword [rax + 4], edi
je 0x1400faf0c
mov r9d, 1
xor r8d, r8d
movzx edx, di
mov rcx, rbx
call fcn.14001b850
cmp eax, 0xffffffff
jne 0x1400faf0c
add rbx, 8
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 0xc]
add rax, 2
lea rax, [rcx + rax*8]
mov qword [rbp - 0x40], rax
cmp rbx, rax
setne al
test al, al
jne 0x1400faec3
jmp 0x1400fafc4
mov dword [rbp + 0x60], 3
mov rdx, r12
lea rcx, [rsp + 0x50]
call fcn.1400d24a0
nop
mov rax, qword [rsp + 0x50]
mov ecx, dword [rax + 4]
lea ebx, [rcx + rcx]
lea rcx, [rsp + 0x50]
call fcn.140022410
mov rdx, rax
mov r8d, ebx
lea rcx, [rsp + 0x70]
call fcn.14002df40
mov rdx, qword [rsp + 0x30]
mov qword [rbp], rdx
mov rcx, qword [rax]
mov qword [rsp + 0x30], rcx
mov qword [rax], rdx
mov rcx, qword [rsp + 0x70]
mov eax, dword [rcx]
test eax, eax
je 0x1400faf7a
cmp eax, 0xffffffff
je 0x1400faf89
mov eax, esi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1400faf89
mov rcx, qword [rsp + 0x70]
mov edx, 1
lea r8d, [rdx + 7]
call fcn.14002d570
nop
mov rcx, qword [rsp + 0x50]
mov eax, dword [rcx]
test eax, eax
je 0x1400fafb1
cmp eax, 0xffffffff
je 0x1400fb092
mov eax, esi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1400fb092
mov rcx, qword [rsp + 0x50]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.14002d570
jmp 0x1400fb092
movsxd rax, dword [rcx + 8]
add rax, 2
lea rbx, [rcx + rax*8]
movsxd rax, dword [rcx + 0xc]
add rax, 2
lea rax, [rcx + rax*8]
mov qword [rbp - 0x38], rax
cmp rbx, rax
setne al
test al, al
je 0x1400fb079
nop
mov rax, qword [rbx]
mov ecx, dword [rax + 4]
lea edi, [rcx*2 + 2]
mov rcx, rbx
call fcn.140022410
mov rdx, rax
mov r8d, edi
lea rcx, [rsp + 0x78]
call fcn.14002df40
nop
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.14002e4d0
nop
mov rcx, qword [rsp + 0x78]
mov eax, dword [rcx]
test eax, eax
je 0x1400fb044
cmp eax, 0xffffffff
je 0x1400fb052
mov eax, esi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1400fb052
mov rcx, qword [rsp + 0x78]
mov edx, 1
lea r8d, [rdx + 7]
call fcn.14002d570
add rbx, 8
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 0xc]
add rcx, 2
lea rcx, [rax + rcx*8]
mov qword [rbp - 0x38], rcx
cmp rbx, rcx
setne al
test al, al
jne 0x1400faff0
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.14002e5a0
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.14002e5a0
nop
mov rdi, qword [rsp + 0x38]
mov eax, dword [rdi]
test eax, eax
je 0x1400fb0b2
cmp eax, 0xffffffff
je 0x1400fb10c
mov eax, esi
lock xadd dword [rdi], eax
cmp eax, 1
jne 0x1400fb10c
mov rdi, qword [rsp + 0x38]
movsxd rbx, dword [rdi + 0xc]
add rbx, 2
lea rbx, [rdi + rbx*8]
movsxd r14, dword [rdi + 8]
add r14, 2
lea r14, [rdi + r14*8]
cmp r14, rbx
je 0x1400fb103
nop
sub rbx, 8
mov rcx, qword [rbx]
mov eax, dword [rcx]
test eax, eax
je 0x1400fb0ed
cmp eax, 0xffffffff
je 0x1400fb0fe
mov eax, esi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1400fb0fe
mov edx, 2
lea r8d, [rdx + 6]
mov rcx, qword [rbx]
call fcn.14002d570
cmp rbx, r14
jne 0x1400fb0d0
mov rcx, rdi
call fcn.14010bca0
nop
jmp 0x1400fb2b9
mov ebx, 4
mov dword [rbp + 0x60], ebx
xor edx, edx
mov rcx, r12
call fcn.1400b5030
mov dword [rbp + 0x78], eax
mov r8d, ebx
lea rdx, [rbp + 0x78]
lea rcx, [rbp - 0x80]
call fcn.14002df40
mov rdx, qword [rsp + 0x30]
mov qword [rbp + 8], rdx
mov rcx, qword [rax]
mov qword [rsp + 0x30], rcx
mov qword [rax], rdx
mov rcx, qword [rbp - 0x80]
mov eax, dword [rcx]
test eax, eax
je 0x1400fb170
cmp eax, 0xffffffff
je 0x1400fb2b9
mov eax, esi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1400fb2b9
mov rcx, qword [rbp - 0x80]
mov edx, 1
jmp 0x1400fb2ae
mov dword [rbp + 0x60], 0xb
xor edx, edx
mov rcx, r12
call fcn.1400b5260
mov qword [rbp - 0x30], rax
mov r8d, 8
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x78]
call fcn.14002df40
mov rdx, qword [rsp + 0x30]
mov qword [rbp + 0x10], rdx
mov rcx, qword [rax]
mov qword [rsp + 0x30], rcx
mov qword [rax], rdx
mov rcx, qword [rbp - 0x78]
mov eax, dword [rcx]
test eax, eax
je 0x1400fb1dc
cmp eax, 0xffffffff
je 0x1400fb2b9
mov eax, esi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1400fb2b9
mov rcx, qword [rbp - 0x78]
mov edx, 1
jmp 0x1400fb2ae
mov rdx, r12
lea rcx, [rsp + 0x40]
call fcn.1400d24a0
nop
mov r9d, 1
xor r8d, r8d
movzx edx, r14w
lea rcx, [rsp + 0x40]
call fcn.14001b850
mov ecx, 1
mov edx, 3
cmp eax, 0xffffffff
cmovne ecx, edx
mov dword [rbp + 0x60], ecx
mov rax, qword [rsp + 0x40]
mov ebx, dword [rax + 4]
cmp ecx, 1
jne 0x1400fb22d
inc ebx
add ebx, ebx
lea rcx, [rsp + 0x40]
call fcn.140022410
mov rdx, rax
mov r8d, ebx
lea rcx, [rbp - 0x70]
call fcn.14002df40
mov rdx, qword [rsp + 0x30]
mov qword [rbp + 0x18], rdx
mov rcx, qword [rax]
mov qword [rsp + 0x30], rcx
mov qword [rax], rdx
mov rcx, qword [rbp - 0x70]
mov eax, dword [rcx]
test eax, eax
je 0x1400fb27a
cmp eax, 0xffffffff
je 0x1400fb289
mov eax, esi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1400fb289
mov rcx, qword [rbp - 0x70]
mov edx, 1
lea r8d, [rdx + 7]
call fcn.14002d570
nop
mov rcx, qword [rsp + 0x40]
mov eax, dword [rcx]
test eax, eax
je 0x1400fb2a9
cmp eax, 0xffffffff
je 0x1400fb2b9
mov eax, esi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1400fb2b9
mov rcx, qword [rsp + 0x40]
mov edx, 2
mov r8d, 8
call fcn.14002d570
lea rdx, [rsp + 0x48]
lea rcx, [rbp - 0x68]
call fcn.1400f9800
nop
mov rcx, qword [rsp + 0x30]
mov edi, dword [rcx + 4]
mov rbx, qword [rcx + 0x10]
add rbx, rcx
mov rcx, rax
call fcn.140022410
mov rdx, rax
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rbx
mov r9d, dword [rbp + 0x60]
xor r8d, r8d
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ebx, eax
mov rcx, qword [rbp - 0x68]
mov edx, dword [rcx]
test edx, edx
je 0x1400fb31b
cmp edx, 0xffffffff
je 0x1400fb329
mov edx, esi
lock xadd dword [rcx], edx
cmp edx, 1
jne 0x1400fb329
mov rcx, qword [rbp - 0x68]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.14002d570
test ebx, ebx
jne 0x1400fb339
mov byte [r13 + 0xb0], bl
jmp 0x1400fb436
mov edx, ebx
lea rcx, [rbp - 0x50]
call fcn.140041f90
nop
lea rdx, [rbp - 0x58]
mov rcx, rax
call fcn.140013320
mov rbx, rax
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x48]
call fcn.140013320
nop
mov rdx, qword [rbx]
mov r9, qword [rdx + 0x10]
add r9, rdx
mov rcx, qword [rax]
mov r8, qword [rcx + 0x10]
add r8, rcx
mov qword [rbp - 0x28], 2
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x20], xmm0
lea rax, [0x1402dd7d0]
mov qword [rbp - 0x10], rax
lea rdx, str.QSettings:_failed_to_set_subkey___s_:__s
lea rcx, [rbp - 0x28]
call fcn.140013420
nop
mov rcx, qword [rbp - 0x60]
mov eax, dword [rcx]
test eax, eax
je 0x1400fb3c1
cmp eax, 0xffffffff
je 0x1400fb3d0
mov eax, esi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1400fb3d0
mov rcx, qword [rbp - 0x60]
mov edx, 1
lea r8d, [rdx + 7]
call fcn.14002d570
nop
mov rcx, qword [rbp - 0x58]
mov eax, dword [rcx]
test eax, eax
je 0x1400fb3ee
cmp eax, 0xffffffff
je 0x1400fb3fd
mov eax, esi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1400fb3fd
mov rcx, qword [rbp - 0x58]
mov edx, 1
lea r8d, [rdx + 7]
call fcn.14002d570
nop
mov rcx, qword [rbp - 0x50]
mov eax, dword [rcx]
test eax, eax
je 0x1400fb41b
cmp eax, 0xffffffff
je 0x1400fb429
mov eax, esi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1400fb429
mov rcx, qword [rbp - 0x50]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.14002d570
mov edx, 1
mov rcx, r13
call fcn.1400d0750
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
mov rcx, qword [rsp + 0x30]
mov eax, dword [rcx]
test eax, eax
je 0x1400fb460
cmp eax, 0xffffffff
je 0x1400fb46f
mov eax, esi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1400fb46f
mov rcx, qword [rsp + 0x30]
mov edx, 1
lea r8d, [rdx + 7]
call fcn.14002d570
nop
mov rcx, qword [rsp + 0x48]
mov eax, dword [rcx]
test eax, eax
je 0x1400fb48d
cmp eax, 0xffffffff
je 0x1400fb4aa
lock xadd dword [rcx], esi
cmp esi, 1
jne 0x1400fb4aa
mov rcx, qword [rsp + 0x48]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.14002d570
jmp 0x1400fb4aa
mov edx, 1
mov rcx, r13
call fcn.1400d0750
mov rbx, qword [rsp + 0x168]
add rsp, 0x120
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret