Function at 0x419fb0
Capabilities:
Get common file path
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4c0a2c
mov eax, dword fs:[0]
push eax
sub esp, 0xec8
mov eax, dword [0x4e44b4]
xor eax, esp
mov dword [esp + 0xec0], eax
push ebx
push esi
push edi
mov eax, dword [0x4e44b4]
xor eax, esp
push eax
lea eax, [esp + 0xed8]
mov dword fs:[0], eax
xor ebx, ebx
mov eax, 0xf
mov dword [esp + 0x74], eax
mov dword [esp + 0x70], ebx
mov byte [esp + 0x60], bl
lea ecx, [esp + 0x5c]
push ecx
sub esp, 0x1c
mov dword [esp + 0xf00], ebx
mov dword [esp + 0x30], esp
mov ecx, esp
push 0x13
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x14], ebx
push str.UninstallOldVersion
mov byte [ecx + 4], bl
call fcn.00402d90
call fcn.00401a70
add esp, 0x20
cmp al, 1
je 0x41a068
mov edx, dword [esp + 0x70]
push 4
push str.true
push edx
push ebx
lea ecx, [esp + 0x6c]
call fcn.004060e0
test eax, eax
je 0x41a068
cmp dword [esp + 0x74], 0x10
jb 0x41a609
mov eax, dword [esp + 0x60]
push eax
jmp 0x41a601
mov esi, str.ck_WxS
call fcn.0044c540
mov eax, dword [0x4ee030]
cmp eax, ebx
mov dword [0x4ee074], 5
je 0x41a093
push ebx
push ebx
push 0x464
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
lea ecx, [esp + 0x14]
push ecx
push 0x20019
push ebx
push str.SOFTWARETencentQQ
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [esp + 0x24], 4
mov dword [esp + 0x34], 0x104
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x41a160
lea edx, [esp + 0x20]
push edx
mov edx, dword [esp + 0x18]
lea eax, [esp + 0xcc8]
push eax
lea ecx, [esp + 0x18]
push ecx
push ebx
push str.version
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
push 0x206
lea eax, [esp + 0x8ba]
push ebx
push eax
mov word [esp + 0x8c0], bx
call fcn.00499a30
add esp, 0xc
push 0x206
lea ecx, [esp + 0xac2]
push ebx
push ecx
mov word [esp + 0xac8], bx
call fcn.00499a30
add esp, 0xc
lea ecx, [esp + 0xcc4]
lea edi, [esp + 0xabc]
lea ebx, [esp + 0x8b4]
call fcn.00404d60
mov edx, ebx
push edx
call fcn.00496121
add esp, 4
test eax, eax
je 0x41a153
mov dword [0x4edad0], eax
mov eax, dword [esp + 0x14]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor ebx, ebx
mov edi, 7
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], ebx
mov word [esp + 0x28], bx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
mov byte [esp + 0xefc], 1
push 0xb
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push 0x4ca5dc
lea esi, [esp + 0x48]
mov byte [ecx + 4], bl
call fcn.00402d90
call fcn.00401be0
add esp, 0x1c
cmp dword [esp + 0x38], ebx
jne 0x41a1b8
cmp dword [esp + 0x3c], 8
jmp 0x41a5d9
mov esi, dword [esp + 0x28]
mov edi, 8
cmp dword [esp + 0x3c], edi
jae 0x41a1cb
lea esi, [esp + 0x28]
call fcn.00417020
cmp dword [esp + 0x3c], edi
mov eax, dword [esp + 0x28]
jae 0x41a1de
lea eax, [esp + 0x28]
push eax
push 0x4cc9fc
push 0x208
lea eax, [esp + 0x4b0]
push 0x104
push eax
call fcn.00496163
add esp, 0x14
lea ecx, [esp + 0x4a4]
push ecx
push str.__sQzoneMusic.exe____UnregServer
push 0x208
lea edx, [esp + 0xa0]
push 0x104
push edx
call fcn.00496163
add esp, 0x14
cmp dword [0x4ed31c], ebx
jne 0x41a245
lea eax, [esp + 0x4a4]
push eax
lea ecx, [esp + 0x98]
push ecx
call fcn.00419380
add esp, 8
lea edx, [esp + 0x4a4]
push edx
push str.__sQQPlayerSvr.exe____UnregServer
push 0x208
lea eax, [esp + 0xa0]
push 0x104
push eax
call fcn.00496163
add esp, 0x14
lea ecx, [esp + 0x4a4]
push ecx
lea edx, [esp + 0x98]
push edx
call fcn.00419380
push 1
push 5
call fcn.0044c3b0
push 0x206
lea eax, [esp + 0x2b2]
push ebx
push eax
mov dword [esp + 0x34], ebx
mov word [esp + 0x2b8], bx
call fcn.00499a30
add esp, 0x1c
push 0x206
lea ecx, [esp + 0x6b2]
push ebx
push ecx
mov word [esp + 0x6b8], bx
call fcn.00499a30
add esp, 0xc
lea edx, [esp + 0x18]
push edx
push 0x25
push ebx
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x29c]
push eax
push ecx
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
lea ecx, [esp + 0x78]
call fcn.00475600
lea edx, [esp + 0x78]
push edx
push 0x66
mov byte [esp + 0xee8], 2
call fcn.00476de0
lea eax, [esp + 0x2a4]
push eax
push str.__s_regsvr32.exe___s__u_QzoneMusic.dll
push 0x208
lea ecx, [esp + 0xa8]
push 0x104
push ecx
call fcn.00496163
add esp, 0x1c
cmp dword [0x4ed31c], ebx
jne 0x41a34f
lea edx, [esp + 0x4a4]
push edx
lea eax, [esp + 0x98]
push eax
call fcn.00419380
add esp, 8
lea ecx, [esp + 0x29c]
push ecx
push str.__s_regsvr32.exe___s__u_QQPlayerProxy.dll
push 0x208
lea edx, [esp + 0xa0]
push 0x104
push edx
call fcn.00496163
add esp, 0x14
lea eax, [esp + 0x4a4]
push eax
lea ecx, [esp + 0x98]
push ecx
call fcn.00419380
lea edx, [esp + 0x2a4]
push edx
push str.__s_regsvr32.exe___s__u_QQIEHelper.dll
push 0x208
lea eax, [esp + 0xa8]
push 0x104
push eax
call fcn.00496163
add esp, 0x1c
lea ecx, [esp + 0x4a4]
push ecx
lea edx, [esp + 0x98]
push edx
call fcn.00419380
mov eax, dword [esp + 0x30]
add esp, 8
cmp dword [esp + 0x3c], edi
jae 0x41a3d8
lea eax, [esp + 0x28]
push eax
push str._sQZone
push 0x208
lea eax, [esp + 0x6b8]
push 0x104
push eax
call fcn.00496163
add esp, 0x14
lea ecx, [esp + 0x29c]
push ecx
push str.__s_regsvr32.exe___s__u_QzoneMediaTools.ocx
push 0x208
lea edx, [esp + 0xa0]
push 0x104
push edx
call fcn.00496163
add esp, 0x14
lea eax, [esp + 0x6ac]
push eax
lea ecx, [esp + 0x98]
push ecx
call fcn.00419380
lea edx, [esp + 0x2a4]
push edx
push str.__s_regsvr32.exe___s__u_PhotoUploadCtrl.ocx
push 0x208
lea eax, [esp + 0xa8]
push 0x104
push eax
call fcn.00496163
add esp, 0x1c
lea ecx, [esp + 0x6ac]
push ecx
lea edx, [esp + 0x98]
push edx
call fcn.00419380
push 2
push 5
call fcn.0044c3b0
add esp, 0x10
cmp dword [esp + 0x3c], edi
mov edi, dword [esp + 0x28]
jae 0x41a48a
lea edi, [esp + 0x28]
call fcn.00417560
push 3
push 5
call fcn.0044c3b0
mov edi, dword [esp + 0x30]
mov esi, 8
add esp, 8
cmp dword [esp + 0x3c], esi
jae 0x41a4ae
lea edi, [esp + 0x28]
call fcn.004182e0
cmp dword [esp + 0x3c], esi
mov ecx, dword [esp + 0x28]
jae 0x41a4c1
lea ecx, [esp + 0x28]
call fcn.00418c10
cmp dword [esp + 0x3c], esi
mov ecx, dword [esp + 0x28]
jae 0x41a4d4
lea ecx, [esp + 0x28]
call fcn.00419300
mov dword [esp + 0x58], 7
mov dword [esp + 0x54], ebx
mov word [esp + 0x44], bx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
mov byte [esp + 0xefc], 3
push 0xf
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push str.QQUninstKeyName
lea esi, [esp + 0x64]
mov byte [ecx + 4], bl
call fcn.00402d90
call fcn.00401be0
mov eax, dword [esp + 0x60]
mov esi, 8
add esp, 0x1c
cmp dword [esp + 0x58], esi
jae 0x41a533
lea eax, [esp + 0x44]
push eax
mov edi, str.SectionQQ
call fcn.00419420
mov eax, dword [esp + 0x48]
add esp, 4
cmp dword [esp + 0x58], esi
jae 0x41a54f
lea eax, [esp + 0x44]
push eax
mov edi, str.SectionTT
call fcn.00419420
add esp, 4
push 4
push 5
call fcn.0044c3b0
add esp, 8
call fcn.00419810
test eax, eax
je 0x41a595
cmp dword [esp + 0x58], esi
mov ecx, dword [esp + 0x44]
jae 0x41a580
lea ecx, [esp + 0x44]
cmp dword [esp + 0x3c], esi
mov ebx, dword [esp + 0x28]
jae 0x41a58e
lea ebx, [esp + 0x28]
call fcn.00419e00
xor ebx, ebx
cmp dword [esp + 0x58], esi
mov dword [0x4edaec], 1
jb 0x41a5b2
mov eax, dword [esp + 0x44]
push eax
call fcn.00495fd1
add esp, 4
mov edi, 7
lea ecx, [esp + 0x78]
mov dword [esp + 0x58], edi
mov dword [esp + 0x54], ebx
mov word [esp + 0x44], bx
mov byte [esp + 0xee0], 1
call fcn.00475620
cmp dword [esp + 0x3c], esi
jb 0x41a5e8
mov ecx, dword [esp + 0x28]
push ecx
call fcn.00495fd1
add esp, 4
cmp dword [esp + 0x74], 0x10
mov word [esp + 0x28], bx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], edi
jb 0x41a609
mov edx, dword [esp + 0x60]
push edx
call fcn.00495fd1
add esp, 4
mov ecx, dword [esp + 0xed8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xec0]
xor ecx, esp
call fcn.00495cb8
mov esp, ebp
pop ebp
ret 4