Function at 0x670e5110
Capabilities:
Set registry value

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xe0
mov qword [rbp + 0x1f], 0xfffffffffffffffe
mov qword [rsp + 0x128], rbx
mov r15, r8
mov rdi, rdx
mov r13, rcx
mov rbx, qword [rcx + 0xc8]
cmp dword [rbx + 8], 0
je 0x670e575b
lea rcx, [rbx + 0x10]
call fcn.670e3b20
test rax, rax
je 0x670e575b
cmp byte [rbx + 0x28], 0
jne 0x670e575b
lea rcx, [rbx + 0x10]
call fcn.670e3b20
test rax, rax
je 0x670e575b
mov rax, qword [rdi]
mov qword [rbp + 7], rax
lock inc dword [rax]
lea rdx, [rbp + 7]
lea rcx, [rsp + 0x38]
call fcn.670e3e30
nop
lea rdx, [rsp + 0x38]
lea rcx, [rbp - 9]
call fcn.670e3bb0
mov rdi, rax
mov rbx, qword [r13 + 0xc8]
xor r12d, r12d
cmp dword [rbx + 8], r12d
je 0x670e51dd
lea rcx, [rbx + 0x10]
call fcn.670e3b20
test rax, rax
je 0x670e51dd
cmp byte [rbx + 0x28], r12b
jne 0x670e51dd
lea rcx, [rbx + 0x10]
call fcn.670e3b20
jmp 0x670e51e0
mov rax, r12
mov r8, rdi
mov edx, 0x2001f
mov rcx, rax
call fcn.670e39e0
mov r14, rax
mov qword [rbp + 0x17], rax
mov rdx, qword [rbp - 9]
lock dec dword [rdx]
jne 0x670e5209
mov rcx, qword [rbp - 9]
call sym.QtCoreVBox4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data____ptr64_
test r14, r14
jne 0x670e5238
lea edx, [r14 + 1]
mov rcx, r13
call fcn.670d0a70
nop
mov rax, qword [rsp + 0x38]
lock dec dword [rax]
jne 0x670e5768
mov rcx, qword [rsp + 0x38]
call sym.QtCoreVBox4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data____ptr64_
jmp 0x670e5768
lea rax, sym.QtCoreVBox4.dll_struct_QByteArray::Data_QByteArray::shared_null
mov qword [rsp + 0x30], rax
lock inc dword [sym.QtCoreVBox4.dll_struct_QByteArray::Data_QByteArray::shared_null]
mov rcx, r15
call sym.QtCoreVBox4.dll_public:_enum_QVariant::Type___cdecl_QVariant::type_void____ptr64
add eax, 0xfffffffe
cmp eax, 9
ja case.0x670e5272.6
cdqe
lea rdx, [0x67000000]
mov ecx, dword [rdx + rax*4 + 0xe5784]
add rcx, rdx
jmp rcx
mov dword [rbp + 0x7f], 7
lea rdx, [rbp - 0x49]
mov rcx, r15
call sym.QtCoreVBox4.dll_public:_class_QList_class_QVariant____cdecl_QVariant::toList_void____ptr64
nop
mov rdx, rax
lea rcx, [rbp - 0x69]
call fcn.670d74f0
nop
mov rax, qword [rbp - 0x49]
lock dec dword [rax]
jne 0x670e52f1
mov r14, qword [rbp - 0x49]
movsxd rax, dword [r14 + 0xc]
lea rbx, [r14 + rax*8 + 0x18]
movsxd rax, dword [r14 + 8]
lea r13, [r14 + rax*8 + 0x18]
cmp r13, rbx
je 0x670e52e1
nop dword [rax]
sub rbx, 8
mov rdi, qword [rbx]
test rdi, rdi
je 0x670e52dc
mov rcx, rdi
call sym.QtCoreVBox4.dll_public:_void___cdecl_QVariant::destructor_void____ptr64
mov rcx, rdi
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
cmp rbx, r13
jne 0x670e52c0
mov rcx, r14
call sym.QtCoreVBox4.dll_void___cdecl_qFree_void____ptr64_
mov r13, qword [rbp + 0x67]
mov r14, qword [rbp + 0x17]
mov rax, qword [rbp - 0x69]
movsxd rcx, dword [rax + 8]
lea rbx, [rax + rcx*8 + 0x18]
mov rcx, rbx
movsxd rdx, dword [rax + 0xc]
lea rdx, [rax + rdx*8 + 0x18]
cmp rbx, rdx
je 0x670e5418
mov rax, qword [rcx]
mov r9d, dword [rax + 8]
test r9d, r9d
je 0x670e5345
mov r8d, r12d
jle 0x670e533a
mov rax, qword [rax + 0x10]
cmp word [rax], 0
je 0x670e5345
inc r8d
add rax, 2
cmp r8d, r9d
jl 0x670e5328
add rcx, 8
cmp rcx, rdx
je 0x670e53b6
jmp 0x670e5313
mov dword [rbp + 0x7f], 3
mov rdx, r15
lea rcx, [rbp - 0x71]
call fcn.670d4630
nop
mov rax, qword [rbp - 0x71]
mov ecx, dword [rax + 8]
lea ebx, [rcx + rcx]
lea rcx, [rbp - 0x71]
call sym.QtCoreVBox4.dll_public:_unsigned_short_int_const____ptr64___cdecl_QString::utf16_void_const___ptr64
mov rdx, rax
mov r8d, ebx
lea rcx, [rbp - 1]
call sym.QtCoreVBox4.dll_public:_void___cdecl_QByteArray::constructor_char_const____ptr64__int____ptr64
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rax]
mov qword [rsp + 0x30], rcx
mov qword [rax], rdx
mov rax, qword [rbp - 1]
lock dec dword [rax]
jne 0x670e539e
mov rcx, qword [rbp - 1]
call sym.QtCoreVBox4.dll_void___cdecl_qFree_void____ptr64_
nop
mov rax, qword [rbp - 0x71]
lock dec dword [rax]
jne 0x670e5431
mov rcx, qword [rbp - 0x71]
call sym.QtCoreVBox4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data____ptr64_
jmp 0x670e5431
cmp rbx, rdx
je 0x670e5418
nop dword [rax + rax]
mov rax, qword [rbx]
mov ecx, dword [rax + 8]
lea edi, [rcx + rcx + 2]
mov rcx, rbx
call sym.QtCoreVBox4.dll_public:_unsigned_short_int_const____ptr64___cdecl_QString::utf16_void_const___ptr64
mov rdx, rax
mov r8d, edi
lea rcx, [rbp - 0x39]
call sym.QtCoreVBox4.dll_public:_void___cdecl_QByteArray::constructor_char_const____ptr64__int____ptr64
nop
mov rdx, rax
lea rcx, [rsp + 0x30]
call sym.QtCoreVBox4.dll_public:_class_QByteArray____ptr64___cdecl_QByteArray::append_class_QByteArray_const____ptr64____ptr64
nop
mov rax, qword [rbp - 0x39]
lock dec dword [rax]
jne 0x670e5402
mov rcx, qword [rbp - 0x39]
call sym.QtCoreVBox4.dll_void___cdecl_qFree_void____ptr64_
add rbx, 8
mov rax, qword [rbp - 0x69]
movsxd rcx, dword [rax + 0xc]
lea rax, [rax + rcx*8 + 0x18]
cmp rbx, rax
jne 0x670e53c0
xor edx, edx
lea rcx, [rsp + 0x30]
call sym.QtCoreVBox4.dll_public:_class_QByteArray____ptr64___cdecl_QByteArray::append_char____ptr64
xor edx, edx
lea rcx, [rsp + 0x30]
call sym.QtCoreVBox4.dll_public:_class_QByteArray____ptr64___cdecl_QByteArray::append_char____ptr64
nop
mov rax, qword [rbp - 0x69]
lock dec dword [rax]
jne 0x670e55fb
mov r12, qword [rbp - 0x69]
movsxd rax, dword [r12 + 0xc]
lea rbx, [r12 + rax*8 + 0x18]
movsxd rax, dword [r12 + 8]
lea rdi, [r12 + rax*8 + 0x18]
cmp rdi, rbx
je 0x670e5479
nop dword [rax + rax]
sub rbx, 8
mov rdx, qword [rbx]
lock dec dword [rdx]
jne 0x670e5474
mov rcx, qword [rbx]
call sym.QtCoreVBox4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data____ptr64_
cmp rbx, rdi
jne 0x670e5460
mov rcx, r12
call sym.QtCoreVBox4.dll_void___cdecl_qFree_void____ptr64_
jmp 0x670e55fb
mov ebx, 4
mov dword [rbp + 0x7f], ebx
xor edx, edx
mov rcx, r15
call sym.QtCoreVBox4.dll_public:_int___cdecl_QVariant::toInt_bool____ptr64_const___ptr64
mov dword [rbp - 0x61], eax
mov r8d, ebx
lea rdx, [rbp - 0x61]
lea rcx, [rbp - 0x59]
call sym.QtCoreVBox4.dll_public:_void___cdecl_QByteArray::constructor_char_const____ptr64__int____ptr64
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rax]
mov qword [rsp + 0x30], rcx
mov qword [rax], rdx
mov rax, qword [rbp - 0x59]
lock dec dword [rax]
jne 0x670e55fb
mov rcx, qword [rbp - 0x59]
call sym.QtCoreVBox4.dll_void___cdecl_qFree_void____ptr64_
jmp 0x670e55fb
mov dword [rbp + 0x7f], 0xb
xor edx, edx
mov rcx, r15
call sym.QtCoreVBox4.dll_public:_long_long___int64____cdecl_QVariant::toLongLong_bool____ptr64_const___ptr64
mov qword [rbp + 0xf], rax
mov r8d, 8
lea rdx, [rbp + 0xf]
lea rcx, [rbp - 0x29]
call sym.QtCoreVBox4.dll_public:_void___cdecl_QByteArray::constructor_char_const____ptr64__int____ptr64
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rax]
mov qword [rsp + 0x30], rcx
mov qword [rax], rdx
mov rax, qword [rbp - 0x29]
lock dec dword [rax]
jne 0x670e55fb
mov rcx, qword [rbp - 0x29]
call sym.QtCoreVBox4.dll_void___cdecl_qFree_void____ptr64_
jmp 0x670e55fb
mov rdx, r15
lea rcx, [rbp - 0x79]
call fcn.670d4630
nop
mov rax, qword [rbp - 0x79]
mov ebx, dword [rax + 8]
test ebx, ebx
jle 0x670e555d
mov rcx, qword [rax + 0x10]
cmp word [rcx], 0
je 0x670e5559
inc r12d
add rcx, 2
cmp r12d, ebx
jl 0x670e5545
jmp 0x670e555d
mov cl, 1
jmp 0x670e555f
xor cl, cl
mov eax, 1
mov edx, 3
test cl, cl
cmovne eax, edx
mov dword [rbp + 0x7f], eax
lea rcx, [rbp - 0x79]
cmp eax, edx
jne 0x670e55ae
add ebx, ebx
call sym.QtCoreVBox4.dll_public:_unsigned_short_int_const____ptr64___cdecl_QString::utf16_void_const___ptr64
mov rdx, rax
mov r8d, ebx
lea rcx, [rbp - 0x11]
call sym.QtCoreVBox4.dll_public:_void___cdecl_QByteArray::constructor_char_const____ptr64__int____ptr64
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rax]
mov qword [rsp + 0x30], rcx
mov qword [rax], rdx
mov rax, qword [rbp - 0x11]
lock dec dword [rax]
jne 0x670e55e9
mov rcx, qword [rbp - 0x11]
jmp 0x670e55e3
lea ebx, [rbx + rbx + 2]
call sym.QtCoreVBox4.dll_public:_unsigned_short_int_const____ptr64___cdecl_QString::utf16_void_const___ptr64
mov rdx, rax
mov r8d, ebx
lea rcx, [rbp - 0x19]
call sym.QtCoreVBox4.dll_public:_void___cdecl_QByteArray::constructor_char_const____ptr64__int____ptr64
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rax]
mov qword [rsp + 0x30], rcx
mov qword [rax], rdx
mov rax, qword [rbp - 0x19]
lock dec dword [rax]
jne 0x670e55e9
mov rcx, qword [rbp - 0x19]
call sym.QtCoreVBox4.dll_void___cdecl_qFree_void____ptr64_
nop
mov rax, qword [rbp - 0x79]
lock dec dword [rax]
jne 0x670e55fb
mov rcx, qword [rbp - 0x79]
call sym.QtCoreVBox4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data____ptr64_
lea rdx, [rsp + 0x38]
lea rcx, [rbp - 0x51]
call fcn.670e4390
nop
mov rcx, qword [rsp + 0x30]
mov ebx, dword [rcx + 8]
mov rdi, qword [rcx + 0x10]
mov rcx, rax
call sym.QtCoreVBox4.dll_public:_unsigned_short_int_const____ptr64___cdecl_QString::utf16_void_const___ptr64
mov rdx, rax
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rdi
mov r9d, dword [rbp + 0x7f]
xor r8d, r8d
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ebx, eax
mov rcx, qword [rbp - 0x51]
lock dec dword [rcx]
jne 0x670e564e
mov rcx, qword [rbp - 0x51]
call sym.QtCoreVBox4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data____ptr64_
test ebx, ebx
jne 0x670e565e
mov byte [r13 + 0xd0], bl
jmp 0x670e5737
mov edx, ebx
lea rcx, [rbp - 0x21]
call fcn.670e3c30
nop
lea rdx, [rbp - 0x31]
mov rcx, rax
call sym.QtCoreVBox4.dll_public:_class_QByteArray___cdecl_QString::toLatin1_void____ptr64
mov rdi, rax
lea rdx, [rbp - 0x41]
lea rcx, [rsp + 0x38]
call sym.QtCoreVBox4.dll_public:_class_QByteArray___cdecl_QString::toLatin1_void____ptr64
mov rbx, rax
mov rcx, qword [rdi]
mov edx, dword [rcx]
cmp edx, 1
jne 0x670e56a1
mov rdx, qword [rdi]
lea rcx, [rdx + 0x18]
cmp qword [rdx + 0x10], rcx
je 0x670e56af
mov rcx, qword [rdi]
mov edx, dword [rcx + 8]
mov rcx, rdi
call sym.QtCoreVBox4.dll_private:_void___cdecl_QByteArray::realloc_int____ptr64
mov rax, qword [rdi]
mov rdi, qword [rax + 0x10]
mov rax, qword [rbx]
mov ecx, dword [rax]
cmp ecx, 1
jne 0x670e56cd
mov rcx, qword [rbx]
lea rax, [rcx + 0x18]
cmp qword [rcx + 0x10], rax
je 0x670e56db
mov rax, qword [rbx]
mov edx, dword [rax + 8]
mov rcx, rbx
call sym.QtCoreVBox4.dll_private:_void___cdecl_QByteArray::realloc_int____ptr64
mov rax, qword [rbx]
mov r8, rdi
mov rdx, qword [rax + 0x10]
lea rcx, str.QSettings:_failed_to_set_subkey___s_:__s
call sym.QtCoreVBox4.dll_void___cdecl_qWarning_char_const____ptr64_
nop
mov rax, qword [rbp - 0x41]
lock dec dword [rax]
jne 0x670e5705
mov rcx, qword [rbp - 0x41]
call sym.QtCoreVBox4.dll_void___cdecl_qFree_void____ptr64_
nop
mov rax, qword [rbp - 0x31]
lock dec dword [rax]
jne 0x670e5718
mov rcx, qword [rbp - 0x31]
call sym.QtCoreVBox4.dll_void___cdecl_qFree_void____ptr64_
nop
mov rax, qword [rbp - 0x21]
lock dec dword [rax]
jne 0x670e572a
mov rcx, qword [rbp - 0x21]
call sym.QtCoreVBox4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data____ptr64_
mov edx, 1
mov rcx, r13
call fcn.670d0a70
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
mov rax, qword [rsp + 0x30]
lock dec dword [rax]
jne 0x670e5756
mov rcx, qword [rsp + 0x30]
call sym.QtCoreVBox4.dll_void___cdecl_qFree_void____ptr64_
nop
jmp 0x670e521b
mov edx, 1
mov rcx, r13
call fcn.670d0a70
mov rbx, qword [rsp + 0x128]
add rsp, 0xe0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret