Function at 0x40e230
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x429a30
mov eax, dword fs:[0]
push eax
sub esp, 0x24
push ebx
push esi
push edi
mov eax, dword [0x44c264]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea eax, [ebp - 0x14]
push eax
push 0x20019
xor ebx, ebx
push ebx
push str.SOFTWARETencentQQPCMgr
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x40e29c
push str.CNewFixWnd::GetPCMgrVersion__RegOpenKey_failed
push 4
call dword [sym.imp.QQMusicCommon.dll_void___cdecl_qqmusic::WriteLog_unsigned_long_int__wchar_t_const__]
add esp, 8
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x1000
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x18], 0x1000
call dword [sym.imp.MSVCR80.dll_malloc]
push 0x1000
mov esi, eax
push ebx
push esi
call sub.MSVCR80.dll_memset
mov eax, dword [ebp - 0x14]
add esp, 0x10
lea ecx, [ebp - 0x18]
push ecx
push esi
lea edx, [ebp - 0x1c]
push edx
push ebx
push str.Version
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov ecx, dword [ebp - 0x14]
push ecx
mov edi, eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp edi, ebx
je 0x40e31a
push str.CNewFixWnd::GetPCMgrVersion__RegQueryValueEx_failed
push 4
call dword [sym.imp.QQMusicCommon.dll_void___cdecl_qqmusic::WriteLog_unsigned_long_int__wchar_t_const__]
push esi
call dword [sym.imp.MSVCR80.dll_free]
add esp, 0xc
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x42d8a0
lea ecx, [ebp - 0x10]
call fcn.00401e80
push esi
lea edx, [ebp - 0x10]
push 0x42d8e0
push edx
mov dword [ebp - 4], ebx
call fcn.004017c0
push esi
call dword [sym.imp.MSVCR80.dll_free]
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ebx
add esp, 0xc
mov ecx, esp
mov dword [ebp - 0x20], esp
push 0x430df0
mov byte [ebp - 4], 1
call fcn.00401e80
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x10]
push ecx
call dword [sym.imp.QQMusicCommon.dll__split_CUtil__SAXABV__CStringT__WV__StrTraitATL__WV__ChTraitsCRT__W_ATL___ATL___ATL__AAV__vector_V__CStr]
mov edx, dword [ebp - 0x2c]
add esp, 0xc
xor esi, esi
xor eax, eax
cmp edx, ebx
je 0x40e3cb
mov ecx, dword [ebp - 0x28]
sub ecx, edx
sar ecx, 2
cmp ecx, 2
jb 0x40e3cb
cmp ecx, ebx
ja 0x40e395
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov edx, dword [ebp - 0x2c]
mov edx, dword [edx]
mov edi, dword [sym.imp.MSVCR80.dll__wtol]
push edx
call edi
mov ecx, dword [ebp - 0x2c]
add esp, 4
cmp ecx, ebx
mov esi, eax
je 0x40e3b9
mov eax, dword [ebp - 0x28]
sub eax, ecx
sar eax, 2
cmp eax, 1
ja 0x40e3c2
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov ecx, dword [ebp - 0x2c]
mov ecx, dword [ecx + 4]
push ecx
call edi
add esp, 4
imul esi, esi, 0x64
lea ecx, [ebp - 0x30]
add esi, eax
mov byte [ebp - 4], bl
call fcn.0040df20
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40e401
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
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