Function at 0x40b154
Capabilities:
Query or enumerate registry value

Disassembly:
push 0x24
mov eax, 0x4646ee
call fcn.00463531
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ecx + 0x94]
and dword [ebp - 0x14], 0
or dword [ebp - 0x20], 0xffffffff
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.00414d96
cmp dword [ebp + 8], 0
mov ebx, str.Autoupdate
mov edi, str.CQQUpdateApp::CheckIfNeedStartUpdateModule
mov esi, str.R:TempViewQQ1.84MiscAUClientQQUpdate.cpp
je 0x40b250
xor eax, eax
cmp dword [0x4ab404], eax
setne al
push eax
push str.hahahahahahhah
push ebx
push 3
push edi
push 0x247
push esi
call fcn.0040afd8
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x94]
add esp, 0x1c
call fcn.00414dd3
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x94]
call fcn.00414475
push eax
push dword [ebp + 8]
mov dword [ebp - 0x24], eax
push str.strategy:_d____startmode:_d
push ebx
push 3
push edi
push 0x24a
push esi
call fcn.0040afd8
xor eax, eax
cmp dword [0x4ab404], eax
setne al
push eax
push str.hahahahahahhah2222222
push ebx
push 3
push edi
push 0x24b
push esi
call fcn.0040afd8
add esp, 0x3c
cmp dword [0x4ab404], 0
jne 0x40b250
mov eax, dword [ebp + 8]
and dword [ebp - 0x14], 0
cmp eax, 3
je 0x40b23f
cmp eax, 5
je 0x40b23f
cmp eax, 0x17
je 0x40b23f
cmp eax, 0x16
jne 0x40b577
cmp dword [ebp - 0x24], 4
jne 0x40b577
mov dword [ebp - 0x14], 1
cmp dword [ebp - 0x14], 0
je 0x40b577
lea eax, [ebp - 0x24]
push eax
push 0x47218c
push ebx
push 3
push edi
push 0x260
push esi
mov dword [ebp - 0x24], str.bStartFlag
call fcn.00409f9e
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x94]
add esp, 0x1c
call fcn.004134c1
lea ecx, [ebp + 8]
mov dword [ebp - 0x24], eax
call dword [sym.imp.MFC80U.DLL_Ordinal_293]
mov ecx, dword [ebp - 0x24]
and dword [ebp - 4], 0
add ecx, 4
mov dword [ebp - 0x24], ecx
call dword [sym.imp.MFC80U.DLL_Ordinal_870]
push eax
call fcn.0045e4e0
test eax, eax
pop ecx
je 0x40b2fe
mov ecx, dword [ebp - 0x24]
call dword [sym.imp.MFC80U.DLL_Ordinal_870]
push eax
lea eax, [ebp + 8]
push str.__s_
push eax
call dword [sym.imp.MFC80U.DLL_Ordinal_2311]
pop ecx
pop ecx
mov ecx, esp
mov dword [ebp - 0x30], esp
push dword [ebp - 0x24]
call dword [sym.imp.MFC80U.DLL_Ordinal_280]
push 0x472b4c
mov ebx, str.Autoupdate::
push ebx
push 3
push edi
push 0x268
push esi
call fcn.0040af9b
add esp, 0x1c
jmp 0x40b4c5
lea eax, [ebp - 0x18]
push eax
push 0x47218c
push ebx
push 3
push edi
push 0x26c
push esi
mov dword [ebp - 0x18], 0x472b1c
call fcn.00409f9e
add esp, 0x1c
lea ecx, [ebp - 0x1c]
call dword [sym.imp.MFC80U.DLL_Ordinal_293]
mov ebx, 0x4ab410
push 0x472b14
mov ecx, ebx
mov byte [ebp - 4], 1
call dword [sym.imp.MFC80U.DLL_Ordinal_1472]
test eax, eax
jne 0x40b34a
push str.SOFTWARETencentQQ2009
jmp 0x40b360
push 0x472adc
mov ecx, ebx
call dword [sym.imp.MFC80U.DLL_Ordinal_1472]
test eax, eax
jne 0x40b369
push str.SOFTWARETencentTM2008
lea ecx, [ebp - 0x1c]
call dword [sym.imp.MFC80U.DLL_Ordinal_776]
and dword [ebp - 0x24], 0
lea eax, [ebp - 0x24]
push eax
push 1
push 0
lea ecx, [ebp - 0x1c]
call dword [sym.imp.MFC80U.DLL_Ordinal_870]
push eax
push SysStringLen
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x40b491
and dword [ebp - 0x2c], eax
lea ecx, [ebp - 0x10]
call dword [sym.imp.MFC80U.DLL_Ordinal_293]
lea ecx, [ebp - 0x18]
call dword [sym.imp.MFC80U.DLL_Ordinal_293]
lea ecx, [ebp - 0x28]
mov eax, 0x208
push ecx
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 3
mov dword [ebp - 0x28], eax
call dword [sym.imp.MFC80U.DLL_Ordinal_2460]
push eax
lea eax, [ebp - 0x2c]
push eax
push 0
push str.Install
push dword [ebp - 0x24]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
push 0xffffffffffffffff
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x30], eax
call dword [sym.imp.MFC80U.DLL_Ordinal_5398]
cmp dword [ebp - 0x30], 0
jne 0x40b42e
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x10]
call dword [sym.imp.MFC80U.DLL_Ordinal_774]
push 0x472b14
mov ecx, ebx
call dword [sym.imp.MFC80U.DLL_Ordinal_1472]
test eax, eax
jne 0x40b40f
push 0x472a84
jmp 0x40b425
push 0x472adc
mov ecx, ebx
call dword [sym.imp.MFC80U.DLL_Ordinal_1472]
test eax, eax
jne 0x40b42e
push str.BinTM.exe
lea ecx, [ebp - 0x10]
call dword [sym.imp.MFC80U.DLL_Ordinal_899]
push dword [ebp - 0x24]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x10]
call dword [sym.imp.MFC80U.DLL_Ordinal_870]
push eax
lea eax, [ebp + 8]
push str.__s_
push eax
call dword [sym.imp.MFC80U.DLL_Ordinal_2311]
pop ecx
pop ecx
lea eax, [ebp - 0x10]
mov ecx, esp
mov dword [ebp - 0x30], esp
push eax
call dword [sym.imp.MFC80U.DLL_Ordinal_280]
push 0x472b4c
mov ebx, str.Autoupdate::
push ebx
push 3
push edi
push 0x291
push esi
call fcn.0040af9b
add esp, 0x1c
lea ecx, [ebp - 0x18]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
lea ecx, [ebp - 0x10]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
jmp 0x40b4b8
lea eax, [ebp - 0x30]
push eax
push 0x47218c
mov ebx, str.Autoupdate::
push ebx
push 3
push edi
push 0x295
push esi
mov dword [ebp - 0x30], str.b_rN0R
call fcn.00409f9e
add esp, 0x1c
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
cmp dword [ebp - 0x20], 0
jne 0x40b4d2
push str.__U1
jmp 0x40b4ea
cmp dword [ebp - 0x20], 1
jne 0x40b4df
push str.__U2
jmp 0x40b4ea
cmp dword [ebp - 0x20], 2
jne 0x40b4f3
push 0x472a24
lea ecx, [ebp + 8]
call dword [sym.imp.MFC80U.DLL_Ordinal_899]
and dword [ebp - 0x24], 0
push ecx
lea eax, [ebp + 8]
mov ecx, esp
mov dword [ebp - 0x30], esp
push eax
call dword [sym.imp.MFC80U.DLL_Ordinal_280]
push 0x472a10
push ebx
push 3
push edi
push 0x2ad
push esi
call fcn.0040af9b
add esp, 0x1c
push 5
lea ecx, [ebp + 8]
call dword [sym.imp.MFC80U.DLL_Ordinal_870]
push eax
call fcn.0045f2e0
cmp eax, 0x1f
pop ecx
pop ecx
ja 0x40b56c
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jl 0x40b4f7
lea eax, [ebp - 0x30]
push eax
push 0x47218c
push ebx
push 3
push edi
push 0x2b7
push esi
mov dword [ebp - 0x30], 0x4729f8
call fcn.00409f9e
add esp, 0x1c
lea ecx, [ebp + 8]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
jmp 0x40b599
lea eax, [ebp - 0x30]
push eax
push 0x47218c
push ebx
push 3
push edi
push 0x2bb
push esi
mov dword [ebp - 0x30], 0x4729dc
call fcn.00409f9e
add esp, 0x1c
call fcn.00463609
ret 4