Function at 0x670e6a80
Capabilities:
Delete registry key

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
mov rbp, rsp
sub rsp, 0x58
mov qword [rbp - 0x10], 0xfffffffffffffffe
mov rbx, rcx
mov r8d, 2
mov rdx, rcx
lea rcx, [rbp + 0x38]
call fcn.670e6220
nop
xor edi, edi
mov rax, qword [rbp + 0x38]
xor esi, esi
mov ecx, dword [rax + 0xc]
sub ecx, dword [rax + 8]
test ecx, ecx
jle 0x670e6c9f
nop word [rax + rax]
movsxd rcx, dword [rax + 8]
add rcx, rsi
mov rax, qword [rax + rcx*8 + 0x18]
mov qword [rbp + 0x30], rax
lock inc dword [rax]
mov qword [rbp + 0x40], 0
lea rcx, [rbp + 0x30]
call sym.QtCoreVBox4.dll_public:_unsigned_short_int_const____ptr64___cdecl_QString::utf16_void_const___ptr64
mov rdx, rax
lea rax, [rbp + 0x40]
mov qword [rsp + 0x20], rax
mov r9d, 0x2001f
xor r8d, r8d
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x670e6b53
mov rbx, qword [rbp + 0x40]
test rbx, rbx
je 0x670e6b4f
mov rcx, rbx
call fcn.670e6a80
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rcx, [rbp + 0x30]
call sym.QtCoreVBox4.dll_public:_unsigned_short_int_const____ptr64___cdecl_QString::utf16_void_const___ptr64
mov rdx, rax
mov rbx, qword [rbp + 0x28]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
test eax, eax
jne 0x670e6b81
jmp 0x670e6b53
mov rbx, qword [rbp + 0x28]
mov rax, qword [rbp + 0x30]
lock dec dword [rax]
jne 0x670e6b65
mov rcx, qword [rbp + 0x30]
call sym.QtCoreVBox4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data____ptr64_
inc edi
inc rsi
mov rax, qword [rbp + 0x38]
mov ecx, dword [rax + 0xc]
sub ecx, dword [rax + 8]
cmp edi, ecx
jge 0x670e6c9f
jmp 0x670e6ad0
mov edx, eax
lea rcx, [rbp - 0x18]
call fcn.670e3c30
nop
lea rdx, [rbp - 0x20]
mov rcx, rax
call sym.QtCoreVBox4.dll_public:_class_QByteArray___cdecl_QString::toLatin1_void____ptr64
mov rdi, rax
lea rdx, [rbp - 0x28]
lea rcx, [rbp + 0x30]
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 0x670e6bc3
mov rdx, qword [rdi]
lea rcx, [rdx + 0x18]
cmp qword [rdx + 0x10], rcx
je 0x670e6bd1
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 0x670e6bef
mov rcx, qword [rbx]
lea rax, [rcx + 0x18]
cmp qword [rcx + 0x10], rax
je 0x670e6bfd
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:_RegDeleteKey_failed_on_subkey___s_:__s
call sym.QtCoreVBox4.dll_void___cdecl_qWarning_char_const____ptr64_
nop
mov rax, qword [rbp - 0x28]
lock dec dword [rax]
jne 0x670e6c27
mov rcx, qword [rbp - 0x28]
call sym.QtCoreVBox4.dll_void___cdecl_qFree_void____ptr64_
nop
mov rax, qword [rbp - 0x20]
lock dec dword [rax]
jne 0x670e6c3a
mov rcx, qword [rbp - 0x20]
call sym.QtCoreVBox4.dll_void___cdecl_qFree_void____ptr64_
nop
mov rax, qword [rbp - 0x18]
lock dec dword [rax]
jne 0x670e6c4d
mov rcx, qword [rbp - 0x18]
call sym.QtCoreVBox4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data____ptr64_
nop
mov rax, qword [rbp + 0x30]
lock dec dword [rax]
jne 0x670e6c60
mov rcx, qword [rbp + 0x30]
call sym.QtCoreVBox4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data____ptr64_
nop
mov rax, qword [rbp + 0x38]
lock dec dword [rax]
jne 0x670e6ce1
mov rsi, qword [rbp + 0x38]
movsxd rax, dword [rsi + 0xc]
lea rbx, [rsi + rax*8 + 0x18]
movsxd rax, dword [rsi + 8]
lea rdi, [rsi + rax*8 + 0x18]
cmp rdi, rbx
je 0x670e6cd9
sub rbx, 8
mov rdx, qword [rbx]
lock dec dword [rdx]
jne 0x670e6c98
mov rcx, qword [rbx]
call sym.QtCoreVBox4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data____ptr64_
cmp rbx, rdi
jne 0x670e6c84
jmp 0x670e6cd9
lock dec dword [rax]
jne 0x670e6ce1
mov rsi, qword [rbp + 0x38]
movsxd rax, dword [rsi + 0xc]
lea rbx, [rsi + rax*8 + 0x18]
movsxd rax, dword [rsi + 8]
lea rdi, [rsi + rax*8 + 0x18]
cmp rdi, rbx
je 0x670e6cd9
nop
sub rbx, 8
mov rdx, qword [rbx]
lock dec dword [rdx]
jne 0x670e6cd4
mov rcx, qword [rbx]
call sym.QtCoreVBox4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data____ptr64_
cmp rbx, rdi
jne 0x670e6cc0
mov rcx, rsi
call sym.QtCoreVBox4.dll_void___cdecl_qFree_void____ptr64_
add rsp, 0x58
pop rdi
pop rsi
pop rbx
pop rbp
ret