Function at 0x6e1a4c18
Capabilities:
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x8c
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x60], ecx
mov dword [eax], sym.QtCore4.dll_QListData::shared_null
lock inc dword [sym.QtCore4.dll_QListData::shared_null]
setne al
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
lea eax, [ebp - 0x20]
mov dword [esp + 0x20], eax
lea eax, [ebp - 0x1c]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 0
lea eax, [ebp - 0x28]
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x24]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], edx
call sub.ADVAPI32.DLL_RegQueryInfoKeyW
sub esp, 0x30
test eax, eax
jne 0x6e1a4fd9
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x20]
inc edx
mov dword [ebp - 0x20], edx
cmp dword [ebp - 0x60], 1
je 0x6e1a5056
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x64], edx
mov dword [esp + 8], 0
lea eax, [eax + eax + 2]
mov dword [esp + 4], eax
lea eax, [ebp - 0x34]
mov dword [esp], eax
call method.QByteArray.QByteArray_int__char_
mov ebx, dword [ebp - 0x64]
test ebx, ebx
jle 0x6e1a4e26
xor edi, edi
lea esi, [ebp - 0x38]
jmp 0x6e1a4cfa
inc edi
cmp dword [ebp - 0x64], edi
jle 0x6e1a4e26
mov dword [ebp - 0x38], sym.QtCore4.dll_QString::shared_null
lock inc dword [sym.QtCore4.dll_QString::shared_null]
setne al
mov eax, dword [ebp - 0x34]
mov edx, dword [eax + 8]
mov ecx, edx
shr ecx, 1
mov dword [ebp - 0x3c], ecx
cmp dword [ebp - 0x60], 1
je 0x6e1a4ee0
mov ecx, dword [eax]
dec ecx
je 0x6e1a4f44
mov dword [esp + 4], edx
lea eax, [ebp - 0x34]
mov dword [esp], eax
mov ebx, esi
call method.QByteArray.realloc_int_
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
lea edx, [ebp - 0x3c]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp + 4], edi
mov eax, dword [ebp - 0x5c]
mov dword [esp], eax
mov ebx, esi
call sub.ADVAPI32.DLL_RegEnumKeyExW
sub esp, 0x20
test eax, eax
je 0x6e1a4e44
mov ebx, esi
mov edx, eax
lea eax, [ebp - 0x44]
call fcn.6e1a4850
lea eax, [ebp - 0x44]
mov dword [esp + 4], eax
lea edx, [ebp - 0x48]
mov dword [esp], edx
call method.QString.toLatin1___const
push edx
mov eax, dword [ebp - 0x48]
mov edx, dword [eax]
dec edx
je 0x6e1a4f9c
mov eax, dword [eax + 8]
mov dword [esp + 4], eax
lea eax, [ebp - 0x48]
mov dword [esp], eax
call method.QByteArray.realloc_int_
mov eax, dword [ebp - 0x48]
mov edx, dword [eax + 0xc]
mov dword [esp + 4], edx
mov dword [esp], str.QSettings:_RegEnumValue_failed:__s
call sym.QtCore4.dll_qWarning_char_const__::_
mov eax, dword [ebp - 0x48]
lock dec dword [eax]
setne dl
test dl, dl
je 0x6e1a4f8c
mov eax, dword [ebp - 0x44]
lock dec dword [eax]
setne dl
test dl, dl
je 0x6e1a4f68
nop
mov eax, dword [ebp - 0x38]
lock dec dword [eax]
setne dl
test dl, dl
jne 0x6e1a4cf0
mov eax, dword [ebp - 0x38]
mov dword [esp], eax
call method.QString.free_QString::Data_
inc edi
cmp dword [ebp - 0x64], edi
jg 0x6e1a4cfa
mov eax, dword [ebp - 0x34]
lock dec dword [eax]
setne dl
test dl, dl
je 0x6e1a4fc3
mov eax, dword [ebp - 0x68]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
leave
ret
mov eax, dword [ebp - 0x3c]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0xc]
mov dword [esp + 4], eax
lea edx, [ebp - 0x40]
mov dword [esp], edx
mov ebx, esi
call method.QString.fromWCharArray_wchar_t_const__int_
push ecx
lea eax, [ebp - 0x40]
mov dword [esp + 4], eax
mov dword [esp], esi
call method.QString.operator_QString_const_
mov eax, dword [ebp - 0x40]
lock dec dword [eax]
setne dl
test dl, dl
je 0x6e1a4f7c
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 8]
test ecx, ecx
jne 0x6e1a4ec9
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0x6e2f61a3
lea edx, [ebp - 0x4c]
mov dword [esp], edx
call method.QString.fromLatin1_char_const__int_
push eax
lea eax, [ebp - 0x4c]
mov dword [esp + 4], eax
mov dword [esp], esi
call method.QString.operator_QString_const_
mov eax, dword [ebp - 0x4c]
lock dec dword [eax]
setne dl
test dl, dl
je 0x6e1a4f58
mov dword [esp + 4], esi
mov eax, dword [ebp - 0x68]
mov dword [esp], eax
call fcn.6e244f70
jmp 0x6e1a4e00
mov ecx, dword [eax]
dec ecx
je 0x6e1a4fb0
mov dword [esp + 4], edx
lea edx, [ebp - 0x34]
mov dword [esp], edx
mov ebx, esi
call method.QByteArray.realloc_int_
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
lea eax, [ebp - 0x3c]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], edi
mov edx, dword [ebp - 0x5c]
mov dword [esp], edx
mov ebx, esi
call sub.ADVAPI32.DLL_RegEnumValueW
jmp 0x6e1a4d7e
mov ecx, dword [eax + 0xc]
add eax, 0x10
cmp ecx, eax
jne 0x6e1a4d2b
jmp 0x6e1a4d42
mov eax, dword [ebp - 0x4c]
mov dword [esp], eax
call method.QString.free_QString::Data_
jmp 0x6e1a4ec9
mov eax, dword [ebp - 0x44]
mov dword [esp], eax
mov ebx, esi
call method.QString.free_QString::Data_
jmp 0x6e1a4e00
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call method.QString.free_QString::Data_
jmp 0x6e1a4e83
mov eax, dword [ebp - 0x48]
mov dword [esp], eax
call sym.QtCore4.dll_qFree_void_
jmp 0x6e1a4ded
mov edx, dword [eax + 0xc]
lea ecx, [eax + 0x10]
cmp edx, ecx
jne 0x6e1a4db4
jmp 0x6e1a4dcc
mov ecx, dword [eax + 0xc]
add eax, 0x10
cmp ecx, eax
jne 0x6e1a4ee9
jmp 0x6e1a4f00
mov eax, dword [ebp - 0x34]
mov dword [esp], eax
call sym.QtCore4.dll_qFree_void_
mov eax, dword [ebp - 0x68]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
leave
ret
lea esi, [ebp - 0x2c]
mov edx, eax
mov eax, esi
call fcn.6e1a4850
lea ebx, [ebp - 0x30]
mov dword [esp + 4], esi
mov dword [esp], ebx
call method.QString.toLatin1___const
push edi
mov eax, dword [ebp - 0x30]
mov edx, dword [eax]
dec edx
je 0x6e1a5070
mov eax, dword [eax + 8]
mov dword [esp + 4], eax
mov dword [esp], ebx
call method.QByteArray.realloc_int_
mov eax, dword [ebp - 0x30]
mov edx, dword [eax + 0xc]
mov dword [esp + 4], edx
mov dword [esp], str.QSettings:_RegQueryInfoKey___failed:__s
call sym.QtCore4.dll_qWarning_char_const__::_
mov eax, dword [ebp - 0x30]
lock dec dword [eax]
setne dl
test dl, dl
je 0x6e1a5063
mov eax, dword [ebp - 0x2c]
lock dec dword [eax]
setne dl
test dl, dl
jne 0x6e1a4e37
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call method.QString.free_QString::Data_
mov eax, dword [ebp - 0x68]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
leave
ret
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x64], eax
mov eax, edx
jmp 0x6e1a4cc2
mov eax, dword [ebp - 0x30]
mov dword [esp], eax
call sym.QtCore4.dll_qFree_void_
jmp 0x6e1a502f
mov edx, dword [eax + 0xc]
lea ecx, [eax + 0x10]
cmp edx, ecx
jne 0x6e1a4ffd
jmp 0x6e1a5012