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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x411570
mov eax, dword fs:[0]
push eax
mov eax, 0x1877c
call fcn.0040fc50
mov eax, dword [0x43f0d0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x18730], esi
mov ecx, dword [esi + 0x28]
call dword [sym.imp.QtGui4.dll_public:_void___thiscall_QComboBox::clear_void_]
lea ecx, [ebp - 0x18788]
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QVariant::constructor_void_]
mov ebx, eax
push 0xffffffffffffffff
push str.NONE
mov dword [ebp - 4], 0
call dword [sym.imp.QtCore4.dll_private:_static_struct_QString::Data____cdecl_QString::fromAscii_helper_char_const___int_]
add esp, 8
mov dword [ebp - 0x18724], eax
mov edi, dword [esi + 0x28]
mov ecx, edi
mov byte [ebp - 4], 1
call dword [sym.imp.QtGui4.dll_public:_int___thiscall_QComboBox::count_void_const]
lea ecx, [ebp - 0x1871c]
mov esi, eax
call dword [sym.imp.QtGui4.dll_public:_void___thiscall_QIcon::constructor_void_]
push ebx
lea ecx, [ebp - 0x18724]
mov byte [ebp - 4], 2
push ecx
push eax
push esi
mov ecx, edi
call dword [sym.imp.QtGui4.dll_public:_void___thiscall_QComboBox::insertItem_int__class_QIcon_const___class_QString_const___class_QVariant_const__]
lea ecx, [ebp - 0x1871c]
call dword [sym.imp.QtGui4.dll_public:_void___thiscall_QIcon::destructor_void_]
lea ecx, [ebp - 0x18724]
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::destructor_void_]
lea ecx, [ebp - 0x18788]
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QVariant::destructor_void_]
push 0x200
lea eax, [ebp - 0x310]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x100
lea eax, [ebp - 0x110]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
lea eax, [ebp - 0x110]
push str.HARDWAREDEVICEMAPSERIALCOMM
push eax
call fcn.00402fe0
lea ecx, [ebp - 0x110]
add esp, 0x20
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ac70
push 0x100
lea eax, [ebp - 0x310]
sub ecx, edx
push eax
push ecx
lea eax, [ebp - 0x110]
push eax
push 1
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea eax, [ebp - 0x1872c]
push eax
push 0x20019
push 0
lea eax, [ebp - 0x310]
push eax
push reloc.PComm.dll_Ordinal_2
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x40b0d6
push 0x208
push eax
lea eax, [ebp - 0x718]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x18748], 0x104
lea eax, [ebp - 0x18778]
mov dword [ebp - 0x18728], 0
push eax
lea eax, [ebp - 0x1875c]
push eax
lea eax, [ebp - 0x18760]
push eax
lea eax, [ebp - 0x18764]
push eax
lea eax, [ebp - 0x18738]
push eax
lea eax, [ebp - 0x18768]
push eax
lea eax, [ebp - 0x1876c]
push eax
lea eax, [ebp - 0x18728]
push eax
push 0
lea eax, [ebp - 0x18748]
push eax
lea eax, [ebp - 0x718]
push eax
push dword [ebp - 0x1872c]
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
mov eax, dword [ebp - 0x18728]
test eax, eax
je 0x40adc3
push eax
push str._nNumber_of_subkeys:__d_n
call fcn.0040ee40
xor esi, esi
add esp, 8
cmp dword [ebp - 0x18728], esi
jbe 0x40adc3
mov edi, dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
nop dword [eax]
nop dword [eax + eax]
lea eax, [ebp - 0x18778]
mov dword [ebp - 0x1874c], 0xff
push eax
push 0
push 0
push 0
lea eax, [ebp - 0x1874c]
push eax
lea eax, [ebp - 0x510]
push eax
push esi
push dword [ebp - 0x1872c]
call edi
test eax, eax
jne 0x40adba
lea eax, [ebp - 0x510]
push eax
lea eax, [esi + 1]
push eax
push str.__d___s_n
call fcn.0040ee40
add esp, 0xc
inc esi
cmp esi, dword [ebp - 0x18728]
jb 0x40ad70
mov eax, dword [sym.imp.QtCore4.dll_struct_QString::Data_QString::shared_null]
mov dword [ebp - 0x1873c], eax
lock inc dword [eax]
mov eax, dword [ebp - 0x18738]
mov dword [ebp - 4], 3
mov dword [ebp - 0x18744], 0x3fff
test eax, eax
je 0x40afe3
push eax
push str._nNumber_of_values:__d_n
call fcn.0040ee40
xor edi, edi
add esp, 8
mov dword [ebp - 0x1871c], edi
cmp dword [ebp - 0x18738], edi
jbe 0x40afe3
xor eax, eax
mov dword [ebp - 0x18744], 0x3fff
push eax
push eax
push eax
push eax
mov word [ebp - 0x8718], ax
lea eax, [ebp - 0x18744]
push eax
lea eax, [ebp - 0x8718]
push eax
push edi
push dword [ebp - 0x1872c]
call dword [sym.imp.ADVAPI32.dll_RegEnumValueW]
test eax, eax
jne 0x40afd0
lea eax, [ebp - 0x18718]
push eax
lea eax, [edi + 1]
push eax
push str.__d___s_n
call fcn.0040ee40
push 0xffffffffffffffff
lea eax, [ebp - 0x8718]
push eax
lea eax, [ebp - 0x18720]
push eax
call dword [sym.imp.QtCore4.dll_public:_static_class_QString___cdecl_QString::fromUtf16_unsigned_short_int_const___int_]
add esp, 0x18
push eax
lea ecx, [ebp - 0x1873c]
mov byte [ebp - 4], 4
call dword [sym.imp.QtCore4.dll_public:_class_QString____thiscall_QString::operator_class_QString_const__]
lea ecx, [ebp - 0x18720]
mov byte [ebp - 4], 3
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::destructor_void_]
push 0xffffffffffffffff
push str.Silabser
call dword [sym.imp.QtCore4.dll_private:_static_struct_QString::Data____cdecl_QString::fromAscii_helper_char_const___int_]
add esp, 8
mov dword [ebp - 0x18724], eax
push 1
lea eax, [ebp - 0x18724]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0x18731]
push eax
lea ecx, [ebp - 0x1873c]
call dword [sym.imp.QtCore4.dll_public:_class_QBool___thiscall_QString::contains_class_QString_const___enum_Qt::CaseSensitivity_]
mov esi, eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x18724]
mov bl, byte [esi]
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::destructor_void_]
xor ecx, ecx
test bl, bl
cmovne ecx, esi
test ecx, ecx
je 0x40afd0
xor eax, eax
mov dword [ebp - 0x18750], 0x3fff
mov word [ebp - 0x10718], ax
lea eax, [ebp - 0x18750]
push eax
lea eax, [ebp - 0x10718]
push eax
lea eax, [ebp - 0x18770]
push eax
push 0
lea eax, [ebp - 0x8718]
push eax
push dword [ebp - 0x1872c]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x40afd0
lea ecx, [ebp - 0x18788]
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QVariant::constructor_void_]
mov dword [ebp - 0x18754], eax
push 0xffffffffffffffff
lea eax, [ebp - 0x10718]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp - 0x18740]
push eax
call dword [sym.imp.QtCore4.dll_public:_static_class_QString___cdecl_QString::fromUtf16_unsigned_short_int_const___int_]
add esp, 0xc
mov edi, eax
mov eax, dword [ebp - 0x18730]
mov byte [ebp - 4], 7
mov ebx, dword [eax + 0x28]
mov ecx, ebx
call dword [sym.imp.QtGui4.dll_public:_int___thiscall_QComboBox::count_void_const]
lea ecx, [ebp - 0x18758]
mov esi, eax
call dword [sym.imp.QtGui4.dll_public:_void___thiscall_QIcon::constructor_void_]
push dword [ebp - 0x18754]
mov ecx, ebx
mov byte [ebp - 4], 8
push edi
push eax
push esi
call dword [sym.imp.QtGui4.dll_public:_void___thiscall_QComboBox::insertItem_int__class_QIcon_const___class_QString_const___class_QVariant_const__]
lea ecx, [ebp - 0x18758]
call dword [sym.imp.QtGui4.dll_public:_void___thiscall_QIcon::destructor_void_]
lea ecx, [ebp - 0x18740]
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::destructor_void_]
lea ecx, [ebp - 0x18788]
mov byte [ebp - 4], 3
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QVariant::destructor_void_]
mov edi, dword [ebp - 0x1871c]
inc edi
mov dword [ebp - 0x1871c], edi
cmp edi, dword [ebp - 0x18738]
jb 0x40ae12
mov eax, dword [0x43f728]
cmp dword [eax + 0xc], 0
je 0x40b0ca
mov eax, dword [sym.imp.QtCore4.dll_struct_QString::Data_QString::shared_null]
mov dword [ebp - 0x1871c], eax
lock inc dword [eax]
mov eax, dword [sym.imp.QtCore4.dll_struct_QString::Data_QString::shared_null]
mov dword [ebp - 0x18720], eax
lock inc dword [eax]
mov eax, dword [0x43f728]
mov byte [ebp - 4], 0xa
push dword [eax + 0xc]
lea eax, [ebp - 0x18720]
push str.COM_d
push eax
call dword [sym.imp.QtCore4.dll_public:_class_QString____cdecl_QString::sprintf_char_const__]
mov eax, dword [ebp - 0x18730]
add esp, 0xc
mov ecx, dword [eax + 0x28]
call dword [sym.imp.QtGui4.dll_public:_int___thiscall_QComboBox::count_void_const]
mov edi, eax
xor esi, esi
test edi, edi
jle 0x40b0b2
mov ebx, dword [sym.imp.QtGui4.dll_public:_class_QString___thiscall_QComboBox::itemText_int_]
nop dword [eax]
push esi
lea eax, [ebp - 0x18740]
push eax
mov eax, dword [ebp - 0x18730]
mov ecx, dword [eax + 0x28]
call ebx
push eax
lea ecx, [ebp - 0x1871c]
mov byte [ebp - 4], 0xb
call dword [sym.imp.QtCore4.dll_public:_class_QString____thiscall_QString::operator_class_QString_const__]
lea ecx, [ebp - 0x18740]
mov byte [ebp - 4], 0xa
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::destructor_void_]
lea eax, [ebp - 0x18720]
push eax
lea ecx, [ebp - 0x1871c]
call dword [sym.imp.QtCore4.dll_public:_bool___thiscall_QString::operator_class_QString_const__const]
test al, al
jne 0x40b0a2
inc esi
cmp esi, edi
jl 0x40b050
jmp 0x40b0b2
mov eax, dword [ebp - 0x18730]
push esi
mov ecx, dword [eax + 0x28]
call dword [sym.imp.QtGui4.dll_public:_void___thiscall_QComboBox::setCurrentIndex_int_]
lea ecx, [ebp - 0x18720]
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::destructor_void_]
lea ecx, [ebp - 0x1871c]
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::destructor_void_]
lea ecx, [ebp - 0x1873c]
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::destructor_void_]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0040fa41
mov esp, ebp
pop ebp
ret