Function at 0x671c4650
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x672853c8
mov eax, dword fs:[0]
push eax
sub esp, 0x120
push ebx
push esi
push edi
mov eax, dword [0x674c412c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov esi, sym.Qt5Core.dll_struct_QArrayData_const__const_const_QArrayData::shared_null
mov dword [ebp - 0x18], esi
mov eax, dword [edi]
mov dword [ebp - 4], 0
test eax, eax
je 0x671c47c2
mov ebx, dword [ebp + 0x10]
lea ecx, [ebp - 0x10]
push ecx
push 0
lea ecx, [ebp - 0x14]
push ecx
push 0
push ebx
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x671c47c2
mov eax, dword [ebp - 0x14]
cmp eax, 1
je 0x671c46c6
cmp eax, 2
jne 0x671c47c2
mov eax, dword [ebp - 0x10]
cmp eax, 2
jbe 0x671c47c2
add eax, 2
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x128], eax
cmp eax, 0x100
jle 0x671c4717
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov ecx, eax
add esp, 4
mov dword [ebp - 0x124], ecx
test ecx, ecx
jne 0x671c4706
call sym.Qt5Core.dll_void___cdecl_qBadAlloc_void_
mov ecx, dword [ebp - 0x124]
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x10]
jmp 0x671c472d
lea ecx, [ebp - 0x11c]
mov dword [ebp - 0x12c], 0x100
mov dword [ebp - 0x124], ecx
push eax
push 0
push ecx
mov byte [ebp - 4], 1
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 0x124]
lea eax, [ebp - 0x14]
push eax
push 0
push ebx
push dword [edi]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x671c477e
push 0xffffffffffffffff
push dword [ebp - 0x124]
lea eax, [ebp - 0x1c]
push eax
call sym.Qt5Core.dll_public:_static_class_QString___cdecl_QString::fromWCharArray_wchar_t_const___int_
add esp, 0xc
lea ecx, [ebp - 0x1c]
mov esi, dword [eax]
mov dword [eax], sym.Qt5Core.dll_struct_QArrayData_const__const_const_QArrayData::shared_null
call sym.Qt5Core.dll_public:_void___thiscall_QString::destructor_void_
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x11c]
mov ecx, dword [ebp - 0x124]
mov dword [ebp - 0x18], sym.Qt5Core.dll_struct_QArrayData_const__const_const_QArrayData::shared_null
mov dword [edi], esi
cmp ecx, eax
je 0x671c47a4
push ecx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
lea ecx, [ebp - 0x18]
call sym.Qt5Core.dll_public:_void___thiscall_QString::destructor_void_
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov esi, dword [ebp + 8]
mov eax, dword [sym.Qt5Core.dll_struct_QArrayData_const__const_const_QArrayData::shared_null]
mov dword [esi], sym.Qt5Core.dll_struct_QArrayData_const__const_const_QArrayData::shared_null
test eax, eax
je 0x671c47ec
cmp eax, 0xffffffff
je 0x671c47fd
or eax, 0xffffffff
lock xadd dword [sym.Qt5Core.dll_struct_QArrayData_const__const_const_QArrayData::shared_null], eax
dec eax
setne al
test al, al
jne 0x671c47fd
push 4
push 2
push sym.Qt5Core.dll_struct_QArrayData_const__const_const_QArrayData::shared_null
call sym.Qt5Core.dll_public:_static_void___cdecl_QArrayData::deallocate_struct_QArrayData___unsigned_int__unsigned_int_
add esp, 0xc
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc