Function at 0x401efc
Capabilities:
Check os version

Disassembly:
mov eax, 0x43a2b0
call fcn.00432e40
sub esp, 0xc4
push ebx
push esi
mov esi, ecx
push 0x456730
mov ecx, dword [esi + 0x90]
call fcn.0041f322
test eax, eax
jne 0x401f2e
push 0x453bac
jmp 0x4020a9
lea ecx, [esi + 0xc]
push esi
call fcn.004275e0
test eax, eax
jne 0x401f5b
mov eax, dword [esi + 4]
mov eax, dword [eax + 4]
push dword [eax + esi + 0x78]
push 0x453ba0
call fcn.0041da43
pop ecx
pop ecx
push 0x453b8c
jmp 0x4020a9
mov ecx, dword [esi + 0x84]
call fcn.00403183
test eax, eax
je 0x401f86
mov ecx, dword [esi + 0x80]
call fcn.004042f2
test eax, eax
je 0x401f86
mov ecx, dword [esi + 0x84]
push 1
call fcn.004031af
mov ecx, esi
call fcn.00402411
test eax, eax
jne 0x401f95
push 0x1d
jmp 0x402008
lea ecx, [esi + 0x58]
mov dword [ebp - 0x18], ecx
call fcn.0041d2fc
mov ecx, dword [esi + 0x80]
test eax, eax
jne 0x402027
call fcn.004042f2
test eax, eax
je 0x401fbd
push 0x453b68
jmp 0x4020a9
mov ecx, dword [esi + 0x80]
call fcn.004042f9
test eax, eax
je 0x401fd6
push 0x453b48
jmp 0x4020a9
mov ecx, dword [esi + 0x80]
call fcn.004042eb
test eax, eax
je 0x401fec
push 0x453b2c
jmp 0x402000
mov ecx, dword [esi + 0x80]
call fcn.004075de
test eax, eax
je 0x402018
push 0x453b04
call fcn.0041da43
pop ecx
push 2
mov ecx, dword [esi + 0x8c]
call fcn.00416e96
jmp 0x40232c
push 0x453ae8
call fcn.0041da43
pop ecx
push 3
jmp 0x402008
call fcn.004042f2
test eax, eax
je 0x402047
mov ecx, dword [esi + 0x7c]
push 1
call fcn.00408b27
mov ecx, dword [esi + 0x8c]
push 2
call fcn.00418314
mov ecx, dword [esi + 0x80]
call fcn.004042eb
test eax, eax
je 0x40206d
mov ecx, dword [esi + 0x7c]
push 1
call fcn.00408b27
mov ecx, dword [esi + 0x8c]
push 1
call fcn.00418314
mov ecx, dword [esi + 0x80]
call fcn.004042f9
xor ebx, ebx
test eax, eax
je 0x4020cd
mov ecx, dword [esi + 0x80]
push 1
call fcn.00404300
cmp eax, 0xffffffff
jne 0x402097
push 0x453ad0
jmp 0x4020a9
sub eax, ebx
je 0x4020c0
dec eax
je 0x4020bc
dec eax
je 0x4020b8
dec eax
je 0x4020b4
push 0x453ab8
call fcn.0041da43
pop ecx
jmp 0x40232c
push 6
jmp 0x4020c2
push 5
jmp 0x4020c2
push 4
jmp 0x4020c2
push 3
mov ecx, dword [esi + 0x8c]
call fcn.00418314
mov ecx, dword [esi + 0x8c]
call fcn.0041834d
mov ecx, dword [esi + 0x80]
push eax
call fcn.0040448a
mov ecx, dword [esi + 0x7c]
lea eax, [ebp - 0x10]
push eax
call fcn.0040891a
mov eax, dword [ebp - 0x10]
mov dword [ebp - 4], ebx
cmp dword [eax - 8], 0xe4
jle 0x40213b
push 0x453a90
call fcn.0041da43
pop ecx
lea ecx, [ebp - 0x20]
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [esi + 0x8c]
push 4
mov byte [ebp - 4], 1
call fcn.00416e96
mov ecx, dword [ebp - 0x18]
call fcn.0041d414
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], bl
call sub.MFC42.DLL_CString::CString
jmp 0x402320
mov ecx, dword [esi + 0x84]
call fcn.00403183
test eax, eax
je 0x402156
mov ecx, esi
call fcn.004024a1
jmp 0x402320
lea eax, [ebp - 0xd0]
mov dword [ebp - 0xd0], 0x94
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
cmp dword [ebp - 0xcc], 6
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
jne 0x4021df
push 0xa
lea ecx, [ebp - 0x3c]
call fcn.004327dc
push str.update.music.qq.com
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 2
call sub.MFC42.DLL_CString::CString_1
push eax
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 3
call sub.MFC42.DLL_CStringList::AddTail
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x14]
call entry0
lea eax, [ebp - 0x3c]
lea ecx, [ebp - 0x14]
push eax
mov byte [ebp - 4], 4
call fcn.0040102c
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.00401025
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], bl
call sub.MFC42.DLL_CStringList::CStringList
mov ecx, dword [esi + 0x80]
call fcn.004042f2
test eax, eax
je 0x402208
mov ecx, dword [esi + 0x80]
call fcn.00407645
test eax, eax
jne 0x402208
push 0x453a64
call fcn.0041da43
pop ecx
mov ecx, dword [esi + 0x8c]
push 5
call fcn.00416f43
lea ecx, [esi + 0xc]
call fcn.00427610
test eax, eax
je 0x402289
mov ecx, dword [esi + 0x7c]
call fcn.00408913
test eax, eax
jne 0x40224b
mov ecx, dword [esi + 0x80]
call fcn.004042f2
test eax, eax
jne 0x40224b
mov ecx, dword [esi + 0x80]
call fcn.004042f9
test eax, eax
je 0x402289
mov ecx, dword [esi + 0x7c]
call fcn.00408913
test eax, eax
jne 0x402266
mov ecx, dword [esi + 0x80]
call fcn.004042f2
test eax, eax
jne 0x402281
mov ecx, dword [esi + 0x7c]
call fcn.00408913
test eax, eax
jne 0x402285
mov ecx, dword [esi + 0x80]
call fcn.004042f9
test eax, eax
je 0x402285
push 1
jmp 0x40228a
push 2
jmp 0x40228a
push ebx
mov ecx, dword [esi + 0x88]
call fcn.00427a60
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x8c]
mov eax, dword [eax + 4]
mov dword [eax + esi + 0x24], ecx
mov ecx, dword [esi + 0x8c]
mov eax, dword [ecx]
call dword [eax + 0xc0]
cmp eax, 1
jne 0x4022cc
push 0x453a30
call fcn.0041da43
pop ecx
mov ecx, esi
call fcn.0040233a
jmp 0x4022f3
cmp eax, 2
jne 0x4022d8
push 0x453a1c
jmp 0x4022ed
cmp eax, ebx
jne 0x4022e3
push 0x453a04
jmp 0x4022ed
cmp eax, 3
jne 0x4022f3
push 0x4539ec
call fcn.0041da43
pop ecx
mov ecx, dword [esi + 0x80]
call fcn.004042f2
test eax, eax
je 0x40230d
mov ecx, dword [esi + 0x80]
call fcn.004076cf
mov ecx, dword [ebp - 0x18]
call fcn.0041d414
push 0x4539d4
call fcn.0041da43
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call sub.MFC42.DLL_CString::CString
mov ecx, dword [ebp - 0xc]
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret