Function at 0x6e0d46dc
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x8c
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x1c], sym.QtCore4.dll_QString::shared_null
lock inc dword [sym.QtCore4.dll_QString::shared_null]
setne al
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
mov word [esp + 4], 0x5c
mov dword [esp], esi
call method.QString.lastIndexOf_QChar__int__Qt::CaseSensitivity__const
cmp eax, 0xffffffff
je 0x6e0d48c4
lea ebx, [ebp - 0x50]
mov dword [esp + 0xc], 0xffffffff
inc eax
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov dword [esp], ebx
call method.QString.mid_int__int__const
push eax
mov dword [ebp - 0x5c], 0x6e27a4e0
lea eax, [ebp - 0x5c]
mov dword [esp + 4], eax
mov dword [esp], ebx
call method.QString.operator_QLatin1String_const__const
test al, al
je 0x6e0d4a18
mov dword [ebp - 0x54], sym.QtCore4.dll_QString::shared_null
lock inc dword [sym.QtCore4.dll_QString::shared_null]
setne al
lea edi, [ebp - 0x54]
mov dword [esp + 4], edi
mov dword [esp], ebx
call method.QString.operator_QString_const_
mov eax, dword [ebp - 0x54]
lock dec dword [eax]
setne dl
test dl, dl
je 0x6e0d4a60
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x20], eax
lock inc dword [eax]
setne dl
mov eax, dword [ebp - 0x50]
lock dec dword [eax]
setne dl
test dl, dl
je 0x6e0d4a08
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
mov word [esp + 4], 0x5c
mov dword [esp], esi
call method.QString.lastIndexOf_QChar__int__Qt::CaseSensitivity__const
cmp eax, 0xffffffff
jne 0x6e0d4884
mov dword [ebp - 0x24], sym.QtCore4.dll_QString::shared_null
lock inc dword [sym.QtCore4.dll_QString::shared_null]
setne al
lea eax, [ebp - 0x24]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x70]
mov dword [esp], eax
lea esi, [ebp - 0x20]
call method.QString.utf16___const
lea edx, [ebp - 0x28]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], 0x20019
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call sub.ADVAPI32.DLL_RegOpenKeyExW
sub esp, 0x14
test eax, eax
je 0x6e0d48d4
mov edx, dword [ebp + 8]
mov dword [edx], sym.QtCore4.dll_QString::shared_null
lock inc dword [sym.QtCore4.dll_QString::shared_null]
setne al
mov eax, dword [ebp - 0x24]
lock dec dword [eax]
setne dl
test dl, dl
je 0x6e0d48a4
mov eax, dword [ebp - 0x20]
lock dec dword [eax]
setne dl
test dl, dl
je 0x6e0d48b4
mov eax, dword [ebp - 0x1c]
lock dec dword [eax]
setne dl
test dl, dl
jne 0x6e0d4877
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call method.QString.free_QString::Data_
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
leave
ret 4
lea edx, [ebp - 0x24]
mov dword [ebp - 0x70], edx
inc eax
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov dword [esp], edx
call method.QString.left_int__const
push edi
jmp 0x6e0d47ec
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call method.QString.free_QString::Data_
jmp 0x6e0d4852
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call method.QString.free_QString::Data_
jmp 0x6e0d485f
mov eax, dword [esi]
mov dword [ebp - 0x20], eax
lock inc dword [eax]
setne dl
jmp 0x6e0d47ad
lea esi, [ebp - 0x20]
mov dword [esp], esi
call method.QString.utf16___const
lea ebx, [ebp - 0x30]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], 0
lea edx, [ebp - 0x2c]
mov dword [esp + 0xc], edx
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call sub.ADVAPI32.DLL_RegQueryValueExW
sub esp, 0x18
test eax, eax
jne 0x6e0d4a3c
mov dword [esp + 8], 0
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
lea edi, [ebp - 0x34]
mov dword [esp], edi
call method.QByteArray.QByteArray_int__char_
mov eax, dword [ebp - 0x34]
mov edx, dword [eax]
dec edx
je 0x6e0d4bf8
mov eax, dword [eax + 8]
mov dword [esp + 4], eax
mov dword [esp], edi
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x74], eax
call method.QByteArray.realloc_int_
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x6c], eax
mov dword [esp], esi
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x74], edx
call method.QString.utf16___const
mov dword [esp + 0x14], ebx
mov edx, dword [ebp - 0x6c]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x74], eax
call sub.ADVAPI32.DLL_RegQueryValueExW
sub esp, 0x18
test eax, eax
jne 0x6e0d4bcc
mov eax, dword [ebp - 0x2c]
cmp eax, 7
jbe switch.0x6e0d4a70
mov dword [esp + 4], eax
mov dword [esp], str.QSettings:_unknown_data__u_type_in_windows_registry
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x74], edx
call sym.QtCore4.dll_qWarning_char_const__::_
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x74], eax
call sub.ADVAPI32.DLL_RegCloseKey
push eax
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp + 8]
mov dword [edx], eax
lock inc dword [eax]
setne dl
mov eax, dword [ebp - 0x34]
lock dec dword [eax]
setne dl
test dl, dl
jne 0x6e0d4845
mov eax, dword [ebp - 0x34]
mov dword [esp], eax
call sym.QtCore4.dll_qFree_void_
jmp 0x6e0d4845
mov eax, dword [ebp - 0x50]
mov dword [esp], eax
call method.QString.free_QString::Data_
jmp 0x6e0d47ad
mov dword [ebp - 0x58], 0x6e27a4e8
lea eax, [ebp - 0x58]
mov dword [esp + 4], eax
mov dword [esp], ebx
call method.QString.operator_QLatin1String_const__const
test al, al
je 0x6e0d4790
jmp 0x6e0d475f
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call sub.ADVAPI32.DLL_RegCloseKey
push esi
mov eax, dword [ebp + 8]
mov dword [eax], sym.QtCore4.dll_QString::shared_null
lock inc dword [sym.QtCore4.dll_QString::shared_null]
setne al
jmp 0x6e0d4845
mov eax, dword [ebp - 0x54]
mov dword [esp], eax
call method.QString.free_QString::Data_
jmp 0x6e0d4790
jmp dword [eax*4 + 0x6e27a524]
mov dword [ebp - 0x3c], sym.QtCore4.dll_QListData::shared_null
lock inc dword [sym.QtCore4.dll_QListData::shared_null]
setne al
mov dword [ebp - 0x6c], 0
lea ebx, [ebp - 0x50]
jmp 0x6e0d4aa2
mov edx, dword [ebp - 0x6c]
lea edi, [edi + edx + 1]
mov dword [ebp - 0x6c], edi
mov dword [esp + 8], 0xffffffff
mov eax, dword [ebp - 0x6c]
shl eax, 1
mov edx, dword [ebp - 0x34]
add eax, dword [edx + 0xc]
mov dword [esp + 4], eax
mov dword [esp], ebx
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x74], eax
call method.QString.fromWCharArray_wchar_t_const__int_
push edx
mov eax, dword [ebp - 0x50]
mov edi, dword [eax + 8]
test edi, edi
je 0x6e0d4c10
mov dword [esp + 4], ebx
lea edx, [ebp - 0x3c]
mov dword [esp], edx
call fcn.6e244f70
mov eax, dword [ebp - 0x50]
lock dec dword [eax]
setne dl
test dl, dl
jne 0x6e0d4a98
mov eax, dword [ebp - 0x50]
mov dword [esp], eax
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x74], edx
call method.QString.free_QString::Data_
jmp 0x6e0d4a98
lea ebx, [ebp - 0x4c]
mov dword [esp + 8], 0xa
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov dword [esp + 4], eax
mov dword [esp], ebx
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x74], edx
call method.QString.number_int__int_
push edx
mov dword [esp + 4], ebx
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x74], eax
mov dword [esp], eax
call method.QString.operator_QString_const_
mov dword [esp], ebx
call method.QString.QString__
jmp 0x6e0d49c6
lea ebx, [ebp - 0x38]
mov dword [esp + 8], 0xffffffff
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0xc]
mov dword [esp + 4], eax
mov dword [esp], ebx
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x74], edx
call method.QString.fromWCharArray_wchar_t_const__int_
push ecx
mov dword [esp + 4], ebx
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x74], eax
mov dword [esp], eax
call method.QString.operator_QString_const_
jmp 0x6e0d4b40
mov eax, dword [ebp - 0x34]
lea ebx, [ebp - 0x48]
mov ecx, dword [eax + 8]
mov edx, ecx
shr edx, 0x1f
add edx, ecx
sar edx, 1
mov dword [esp + 8], edx
mov eax, dword [eax + 0xc]
mov dword [esp + 4], eax
mov dword [esp], ebx
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x74], edx
call method.QString.fromWCharArray_wchar_t_const__int_
push ecx
mov dword [esp + 4], ebx
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x74], eax
mov dword [esp], eax
call method.QString.operator_QString_const_
jmp 0x6e0d4b40
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x74], edx
call sub.ADVAPI32.DLL_RegCloseKey
push ebx
mov eax, dword [ebp + 8]
mov dword [eax], sym.QtCore4.dll_QString::shared_null
lock inc dword [sym.QtCore4.dll_QString::shared_null]
setne al
jmp 0x6e0d49e6
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x6c], edx
lea edx, [eax + 0x10]
cmp dword [ebp - 0x6c], edx
jne 0x6e0d493d
jmp 0x6e0d495b
mov dword [esp], ebx
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x74], eax
call method.QString.QString__
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0x6e27a4ea
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x74], eax
call fcn.6e11c044
mov dword [ebp - 0x40], eax
lea ebx, [ebp - 0x44]
lea edi, [ebp - 0x40]
mov dword [esp + 8], edi
lea edx, [ebp - 0x3c]
mov dword [esp + 4], edx
mov dword [esp], ebx
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x74], eax
call method.QtPrivate.QStringList_join_QStringList_const__QString_const_
push eax
mov dword [esp + 4], ebx
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x74], edx
mov dword [esp], edx
call method.QString.operator_QString_const_
mov dword [esp], ebx
call method.QString.QString__
mov dword [esp], edi
call method.QString.QString__
mov eax, dword [ebp - 0x3c]
lock dec dword [eax]
setne dl
test dl, dl
jne 0x6e0d49c6
mov eax, dword [ebp - 0x3c]
mov dword [esp + 4], eax
lea eax, [ebp - 0x3c]
mov dword [esp], eax
call fcn.6e244e74
jmp 0x6e0d49c6