Function at 0x46d6b0
Capabilities:
Accept command line arguments
Check if file exists
Check mutex on windows
Check os version
Delete file
Extract resource via kernel32 functions
Get common file path
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x477846
mov eax, dword fs:[0]
push eax
mov eax, 0x29b0
call fcn.0043de80
mov eax, dword [0x497750]
xor eax, ebp
mov dword [ebp - 0x58], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x28e4], ecx
mov dword [ebp - 0x28e0], 0
cmp dword [0x49b2f4], 1
jle 0x46d7c0
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x40]
call fcn.00402e50
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x40]
call fcn.00405310
push 0
push str._uinst
lea ecx, [ebp - 0x40]
call fcn.004017b0
cmp eax, 0xffffffff
je 0x46d745
mov ecx, dword [ebp - 0x28e4]
mov dword [ecx + 0xfc], 0
push 0
push 0x485a04
lea ecx, [ebp - 0x40]
call fcn.004017b0
cmp eax, 0xffffffff
jne 0x46d76d
push 0
push 0x485a0c
lea ecx, [ebp - 0x40]
call fcn.004017b0
cmp eax, 0xffffffff
je 0x46d77d
mov edx, dword [ebp - 0x28e4]
mov dword [edx + 0x100], 1
push 0
push 0x485a14
lea ecx, [ebp - 0x40]
call fcn.004017b0
cmp eax, 0xffffffff
je 0x46d7b1
mov eax, dword [ebp - 0x28e4]
mov dword [eax + 0x104], 1
mov ecx, dword [ebp - 0x28e4]
mov dword [ecx + 0xfc], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x40]
call fcn.004034b0
mov edx, dword [ebp - 0x28e4]
cmp dword [edx + 0x104], 0
jne 0x46d871
push str.Mutex_QiyiInstaller
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov ecx, dword [ebp - 0x28e4]
mov dword [ecx + 0x250], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x46d871
push ecx
mov ecx, esp
mov dword [ebp - 0x2848], esp
push 0x485a4c
call fcn.00402e50
mov dword [ebp - 0x28e8], eax
mov ecx, 0x49c320
call fcn.0046c9c0
push 0x485a78
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_FindWindowExW]
mov dword [ebp - 0x44], eax
mov edx, dword [ebp - 0x44]
push edx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x46d86a
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x50], 0xa
mov dword [ebp - 0x48], 0
lea eax, [ebp - 0x50]
push eax
push 0
push 0x4a
mov ecx, dword [ebp - 0x44]
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x54], eax
xor eax, eax
jmp 0x46ea99
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [ebp - 0x28e4]
mov dword [edx + 0x238], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebp - 0x28e4]
mov dword [ecx + 0x23c], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [ebp - 0x28e4]
mov dword [edx + 0x240], eax
mov eax, dword [ebp - 0x28e4]
add eax, 0x264
push eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push 0
call dword [sym.imp.USER32.dll_GetDC]
mov dword [ebp - 0x10], eax
push 0x58
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
test eax, eax
jle 0x46d8f6
push 0x58
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov ecx, eax
mov eax, 0x3c0
cdq
idiv ecx
mov edx, dword [ebp - 0x28e4]
mov dword [edx + 0x120], eax
push 0x58
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov dword [0x49c154], eax
push 0x5a
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov dword [0x49c150], eax
mov edx, dword [ebp - 0x10]
push edx
push 0
call dword [sym.imp.USER32.dll_ReleaseDC]
push 0x485a8c
push 0
call fcn.0043c7fe
add esp, 8
mov dword [ebp - 0x24], 8
mov dword [ebp - 0x20], 0xff
lea eax, [ebp - 0x24]
push eax
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
lea ecx, [ebp - 0x284c]
push ecx
mov ecx, dword [ebp - 0x28e4]
call fcn.0046c3c0
mov dword [ebp - 0x28ec], eax
mov edx, dword [ebp - 0x28ec]
mov dword [ebp - 0x28f0], edx
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x28f0]
push eax
mov ecx, 0x49c418
call fcn.00403400
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x284c]
call fcn.004034b0
mov ecx, dword [ebp - 0x28e4]
call fcn.00426776
push 0
call fcn.0042823e
add esp, 4
mov ecx, dword [ebp - 0x28e4]
call fcn.0046bf00
push 0x104
push 0x104
mov ecx, dword [ebp - 0x28e4]
add ecx, 0xb4
call fcn.00402b60
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x28e4]
add ecx, 0xb4
call fcn.00402b30
push 0
push 0x19
push 0x104
mov ecx, dword [ebp - 0x28e4]
add ecx, 0xac
call fcn.00402b60
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x28e4]
add ecx, 0xac
call fcn.00402b30
push 0
push 0
push 0x104
mov ecx, dword [ebp - 0x28e4]
add ecx, 0xb0
call fcn.00402b60
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x28e4]
add ecx, 0xb0
call fcn.00402b30
push 0
push 2
push 0x104
mov ecx, dword [ebp - 0x28e4]
add ecx, 0xd8
call fcn.00402b60
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x28e4]
add ecx, 0xd8
call fcn.00402b30
push 0
push 0x17
push 0x104
mov ecx, dword [ebp - 0x28e4]
add ecx, 0xc4
call fcn.00402b60
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x28e4]
add ecx, 0xc4
call fcn.00402b30
push 0x104
push 0x104
mov ecx, dword [ebp - 0x28e4]
add ecx, 0xcc
call fcn.00402b60
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x28e4]
add ecx, 0xcc
call fcn.00402b30
push 0
push 0x14
push 0x104
mov ecx, dword [ebp - 0x28e4]
add ecx, 0xc0
call fcn.00402b60
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x28e4]
add ecx, 0xc0
call fcn.00402b30
push 0x5c
mov ecx, dword [ebp - 0x28e4]
add ecx, 0xcc
call fcn.004042a0
add eax, 1
push eax
lea ecx, [ebp - 0x2850]
push ecx
mov ecx, dword [ebp - 0x28e4]
add ecx, 0xcc
call fcn.00404380
mov dword [ebp - 0x28f4], eax
mov edx, dword [ebp - 0x28f4]
mov dword [ebp - 0x28f8], edx
mov dword [ebp - 4], 2
mov eax, dword [ebp - 0x28f8]
push eax
mov ecx, dword [ebp - 0x28e4]
add ecx, 0xb8
call fcn.00403400
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2850]
call fcn.004034b0
push 0
push 0x1a
push 0x104
mov ecx, dword [ebp - 0x28e4]
add ecx, 0xd0
call fcn.00402b60
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x28e4]
add ecx, 0xd0
call fcn.00402b30
push 0x104
mov ecx, dword [ebp - 0x28e4]
add ecx, 0xd4
call fcn.00402b60
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x28e4]
add ecx, 0xd4
call fcn.00402b30
push 1
lea ecx, [ebp - 0x2858]
push ecx
mov ecx, dword [ebp - 0x28e4]
add ecx, 0xd4
call fcn.004042f0
mov dword [ebp - 0x28fc], eax
push 0x485a90
mov edx, dword [ebp - 0x28fc]
push edx
call fcn.00405380
add esp, 8
mov byte [ebp - 0x2851], al
lea ecx, [ebp - 0x2858]
call fcn.004034b0
movzx eax, byte [ebp - 0x2851]
test eax, eax
je 0x46dc76
push 0x485a94
mov ecx, dword [ebp - 0x28e4]
add ecx, 0xd4
call fcn.00405050
call fcn.004046a0
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x28e4]
add ecx, 0xd4
call fcn.00406be0
push eax
call fcn.0045b0b0
mov ecx, dword [ebp - 0x28e4]
add ecx, 0x124
push ecx
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x46e044
lea ecx, [ebp - 0x268]
call fcn.00402df0
mov dword [ebp - 4], 3
mov edx, dword [ebp - 0x28e4]
cmp dword [edx + 0x128], 6
jae 0x46de6c
push 0x485a98
mov ecx, dword [ebp - 0x28e4]
add ecx, 0x118
call fcn.00403240
push 0
push 0x23
lea eax, [ebp - 0x264]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea ecx, [ebp - 0x264]
push ecx
lea ecx, [ebp - 0x26c]
call fcn.00402e50
mov byte [ebp - 4], 4
push str.QiYi
lea edx, [ebp - 0x26c]
push edx
lea eax, [ebp - 0x285c]
push eax
call fcn.004018a0
add esp, 0xc
mov dword [ebp - 0x2900], eax
mov ecx, dword [ebp - 0x2900]
mov dword [ebp - 0x2904], ecx
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x2904]
push edx
mov ecx, dword [ebp - 0x28e4]
add ecx, 0xa8
call fcn.00403400
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x285c]
call fcn.004034b0
push str.QiYiQiyiClientcache_
lea eax, [ebp - 0x26c]
push eax
lea ecx, [ebp - 0x2860]
push ecx
call fcn.004018a0
add esp, 0xc
mov dword [ebp - 0x2908], eax
mov edx, dword [ebp - 0x2908]
mov dword [ebp - 0x290c], edx
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x290c]
push eax
lea ecx, [ebp - 0x268]
call fcn.00403400
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2860]
call fcn.004034b0
mov ecx, dword [ebp - 0x28e4]
cmp dword [ecx + 0x128], 5
jne 0x46de33
mov edx, dword [ebp - 0x28e4]
cmp dword [edx + 0x12c], 1
jne 0x46ddf4
push str.windowsXP
mov ecx, dword [ebp - 0x28e4]
add ecx, 0x11c
call fcn.00403240
jmp 0x46de31
mov eax, dword [ebp - 0x28e4]
cmp dword [eax + 0x12c], 2
jne 0x46de1b
push str.windows2003
mov ecx, dword [ebp - 0x28e4]
add ecx, 0x11c
call fcn.00403240
jmp 0x46de31
push str.windows2000
mov ecx, dword [ebp - 0x28e4]
add ecx, 0x11c
call fcn.00403240
jmp 0x46de58
mov ecx, dword [ebp - 0x28e4]
cmp dword [ecx + 0x128], 5
jae 0x46de58
push str.windows98
mov ecx, dword [ebp - 0x28e4]
add ecx, 0x11c
call fcn.00403240
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x26c]
call fcn.004034b0
jmp 0x46e021
push 0x485b34
mov ecx, dword [ebp - 0x28e4]
add ecx, 0x118
call fcn.00403240
push 0x104
lea edx, [ebp - 0x264]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
lea eax, [ebp - 0x264]
push eax
lea ecx, [ebp - 0x270]
call fcn.00402e50
mov byte [ebp - 4], 7
push 2
lea ecx, [ebp - 0x2864]
push ecx
lea ecx, [ebp - 0x270]
call fcn.00404380
mov dword [ebp - 0x2910], eax
mov edx, dword [ebp - 0x2910]
mov dword [ebp - 0x2914], edx
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x2914]
push eax
lea ecx, [ebp - 0x270]
call fcn.00403400
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2864]
call fcn.004034b0
push str.UsersPublicQiYi
lea ecx, [ebp - 0x270]
push ecx
lea edx, [ebp - 0x2868]
push edx
call fcn.004018a0
add esp, 0xc
mov dword [ebp - 0x2918], eax
mov eax, dword [ebp - 0x2918]
mov dword [ebp - 0x291c], eax
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x291c]
push ecx
mov ecx, dword [ebp - 0x28e4]
add ecx, 0xa8
call fcn.00403400
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2868]
call fcn.004034b0
push str.UsersPublicQiYiQiyiClientcache_
lea edx, [ebp - 0x270]
push edx
lea eax, [ebp - 0x286c]
push eax
call fcn.004018a0
add esp, 0xc
mov dword [ebp - 0x2920], eax
mov ecx, dword [ebp - 0x2920]
mov dword [ebp - 0x2924], ecx
mov byte [ebp - 4], 0xa
mov edx, dword [ebp - 0x2924]
push edx
lea ecx, [ebp - 0x268]
call fcn.00403400
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x286c]
call fcn.004034b0
mov eax, dword [ebp - 0x28e4]
cmp dword [eax + 0x128], 6
jne 0x46e012
mov ecx, dword [ebp - 0x28e4]
cmp dword [ecx + 0x12c], 1
jne 0x46dfd5
push str.windows7
mov ecx, dword [ebp - 0x28e4]
add ecx, 0x11c
call fcn.00403240
jmp 0x46e012
mov edx, dword [ebp - 0x28e4]
cmp dword [edx + 0x12c], 2
jne 0x46dffc
push str.windows8
mov ecx, dword [ebp - 0x28e4]
add ecx, 0x11c
call fcn.00403240
jmp 0x46e012
push str.windows_Vista
mov ecx, dword [ebp - 0x28e4]
add ecx, 0x11c
call fcn.00403240
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x270]
call fcn.004034b0
lea ecx, [ebp - 0x268]
call fcn.00406be0
push eax
call fcn.0045b0b0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x268]
call fcn.004034b0
push 0x485bf8
mov ecx, dword [ebp - 0x28e4]
add ecx, 0x118
call fcn.00403240
push str.install.ini
mov eax, dword [ebp - 0x28e4]
add eax, 0xb8
push eax
lea ecx, [ebp - 0x2870]
push ecx
call fcn.004018a0
add esp, 0xc
mov dword [ebp - 0x2928], eax
mov edx, dword [ebp - 0x2928]
mov dword [ebp - 0x292c], edx
mov dword [ebp - 4], 0xb
mov eax, dword [ebp - 0x292c]
push eax
mov ecx, dword [ebp - 0x28e4]
add ecx, 0xbc
call fcn.00403400
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2870]
call fcn.004034b0
push 0x485c18
mov ecx, dword [ebp - 0x28e4]
add ecx, 0xb8
push ecx
lea edx, [ebp - 0x2874]
push edx
call fcn.004018a0
add esp, 0xc
mov dword [ebp - 0x2930], eax
mov eax, dword [ebp - 0x2930]
mov dword [ebp - 0x2934], eax
mov dword [ebp - 4], 0xc
mov ecx, dword [ebp - 0x2934]
push ecx
mov ecx, dword [ebp - 0x28e4]
add ecx, 0xc8
call fcn.00403400
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2874]
call fcn.004034b0
mov ecx, dword [ebp - 0x28e4]
add ecx, 0xbc
call fcn.00406be0
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x46e2c1
push ecx
mov ecx, esp
mov dword [ebp - 0x287c], esp
push str.main_version
call fcn.00402e50
mov dword [ebp - 0x2938], eax
lea edx, [ebp - 0x2880]
push edx
call fcn.0045b690
add esp, 8
mov dword [ebp - 0x293c], eax
mov eax, dword [ebp - 0x293c]
mov dword [ebp - 0x2940], eax
mov dword [ebp - 4], 0xd
mov ecx, dword [ebp - 0x28e0]
or ecx, 1
mov dword [ebp - 0x28e0], ecx
mov ecx, dword [ebp - 0x2940]
call fcn.00401a00
movzx edx, al
test edx, edx
jne 0x46e20a
push ecx
mov ecx, esp
mov dword [ebp - 0x2884], esp
push 0x485c58
call fcn.00402e50
mov dword [ebp - 0x2944], eax
lea eax, [ebp - 0x2888]
push eax
call fcn.0045b690
add esp, 8
mov dword [ebp - 0x2948], eax
mov ecx, dword [ebp - 0x2948]
mov dword [ebp - 0x294c], ecx
mov edx, dword [ebp - 0x28e0]
or edx, 2
mov dword [ebp - 0x28e0], edx
mov ecx, dword [ebp - 0x294c]
call fcn.00401a00
movzx eax, al
test eax, eax
jne 0x46e20a
mov dword [ebp - 0x2950], 0
jmp 0x46e214
mov dword [ebp - 0x2950], 1
mov cl, byte [ebp - 0x2950]
mov byte [ebp - 0x2875], cl
mov edx, dword [ebp - 0x28e0]
and edx, 2
je 0x46e23d
and dword [ebp - 0x28e0], 0xfffffffd
lea ecx, [ebp - 0x2888]
call fcn.004034b0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x28e0]
and eax, 1
je 0x46e261
and dword [ebp - 0x28e0], 0xfffffffe
lea ecx, [ebp - 0x2880]
call fcn.004034b0
movzx ecx, byte [ebp - 0x2875]
test ecx, ecx
je 0x46e2c1
mov edx, dword [ebp - 0x28e4]
add edx, 0xbc
push edx
push str.Invalid_Install.ini
lea eax, [ebp - 0x288c]
push eax
call fcn.00401950
add esp, 0xc
mov dword [ebp - 0x2954], eax
mov ecx, dword [ebp - 0x2954]
call fcn.00406be0
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea ecx, [ebp - 0x288c]
call fcn.004034b0
mov ecx, dword [ebp - 0x28e4]
add ecx, 0xbc
call fcn.00403360
mov ecx, dword [ebp - 0x28e4]
add ecx, 0xbc
call fcn.00406be0
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x46e5ac
push 0x485c9c
push 0x320
push 0
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov dword [ebp - 0x274], eax
cmp dword [ebp - 0x274], 0
je 0x46e597
push 0x485ca4
mov ecx, dword [ebp - 0x28e4]
add ecx, 0xd4
push ecx
lea edx, [ebp - 0x2890]
push edx
call fcn.004018a0
add esp, 0xc
mov dword [ebp - 0x2958], eax
mov ecx, dword [ebp - 0x2958]
call fcn.00406be0
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [ebp - 0x2890]
call fcn.004034b0
mov eax, dword [ebp - 0x274]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [ebp - 0x278], eax
cmp dword [ebp - 0x278], 0
je 0x46e595
mov ecx, dword [ebp - 0x278]
push ecx
call dword [sym.imp.KERNEL32.dll_LockResource]
mov dword [ebp - 0x290], eax
mov edx, dword [ebp - 0x274]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [ebp - 0x27c], eax
lea ecx, [ebp - 0x28c]
call fcn.00427339
mov dword [ebp - 4], 0xe
push 0x485cc8
mov eax, dword [ebp - 0x28e4]
add eax, 0xd4
push eax
lea ecx, [ebp - 0x2898]
push ecx
call fcn.004018a0
add esp, 0xc
mov dword [ebp - 0x295c], eax
mov edx, dword [ebp - 0x295c]
mov dword [ebp - 0x2960], edx
mov byte [ebp - 4], 0xf
push 0
push 0x1002
mov ecx, dword [ebp - 0x2960]
call fcn.00406be0
push eax
lea ecx, [ebp - 0x28c]
call fcn.0042777d
mov dword [ebp - 0x2894], eax
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x2898]
call fcn.004034b0
cmp dword [ebp - 0x2894], 0
je 0x46e576
mov eax, dword [ebp - 0x27c]
push eax
mov ecx, dword [ebp - 0x290]
push ecx
lea ecx, [ebp - 0x28c]
call fcn.00427087
lea ecx, [ebp - 0x28c]
call fcn.0042716d
lea ecx, [ebp - 0x28c]
call fcn.004272d7
push str.qiyi_install.ini
mov edx, dword [ebp - 0x28e4]
add edx, 0xd4
push edx
lea eax, [ebp - 0x289c]
push eax
call fcn.004018a0
add esp, 0xc
mov dword [ebp - 0x2964], eax
mov ecx, dword [ebp - 0x2964]
mov dword [ebp - 0x2968], ecx
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x2968]
push edx
mov ecx, dword [ebp - 0x28e4]
add ecx, 0xbc
call fcn.00403400
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x289c]
call fcn.004034b0
mov eax, dword [ebp - 0x28e4]
cmp dword [eax + 0xfc], 0
je 0x46e518
push str.QiyiClientQiyiInstaller.log
mov ecx, dword [ebp - 0x28e4]
add ecx, 0xa8
push ecx
lea edx, [ebp - 0x28a0]
push edx
call fcn.004018a0
add esp, 0xc
mov dword [ebp - 0x296c], eax
mov eax, dword [ebp - 0x296c]
mov dword [ebp - 0x2970], eax
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x2970]
push ecx
mov ecx, dword [ebp - 0x28e4]
add ecx, 0xc8
call fcn.00403400
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x28a0]
call fcn.004034b0
jmp 0x46e576
push str.QiyiInstaller.log
mov edx, dword [ebp - 0x28e4]
add edx, 0xd4
push edx
lea eax, [ebp - 0x28a4]
push eax
call fcn.004018a0
add esp, 0xc
mov dword [ebp - 0x2974], eax
mov ecx, dword [ebp - 0x2974]
mov dword [ebp - 0x2978], ecx
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0x2978]
push edx
mov ecx, dword [ebp - 0x28e4]
add ecx, 0xc8
call fcn.00403400
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x28a4]
call fcn.004034b0
mov eax, dword [ebp - 0x278]
push eax
call dword [sym.imp.KERNEL32.dll_FreeResource]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28c]
call fcn.00427446
jmp 0x46e5ac
push 0
push 0
push str.b_rN0R
call fcn.004250d2
xor eax, eax
jmp 0x46ea99
mov ecx, dword [ebp - 0x28e4]
add ecx, 0xc8
call fcn.00406be0
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0
push 0x1041
mov ecx, dword [ebp - 0x28e4]
add ecx, 0xc8
call fcn.00406be0
push eax
mov ecx, dword [ebp - 0x28e4]
add ecx, 0x254
mov edx, dword [ebp - 0x28e4]
mov eax, dword [edx + 0x254]
mov edx, dword [eax + 0x20]
call edx
mov ecx, dword [ebp - 0x28e4]
add ecx, 0x254
call fcn.00405dd0
mov byte [ebp - 0x18], 0xff
mov byte [ebp - 0x17], 0xfe
push 2
lea eax, [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0x28e4]
add ecx, 0x254
mov edx, dword [ebp - 0x28e4]
mov eax, dword [edx + 0x254]
mov edx, dword [eax + 0x38]
call edx
mov ecx, dword [ebp - 0x28e4]
call fcn.0046cb00
push 0x485d88
mov ecx, dword [ebp - 0x28e4]
call fcn.004287b3
push 0x485da8
push ecx
mov ecx, esp
mov dword [ebp - 0x28ac], esp
push 0x485dac
call fcn.00402e50
mov dword [ebp - 0x297c], eax
lea eax, [ebp - 0x28b0]
push eax
call fcn.0045b690
add esp, 8
mov dword [ebp - 0x2980], eax
mov ecx, dword [ebp - 0x2980]
mov dword [ebp - 0x2984], ecx
mov edx, dword [ebp - 0x2984]
push edx
call fcn.00404730
add esp, 8
mov byte [ebp - 0x28a5], al
lea ecx, [ebp - 0x28b0]
call fcn.004034b0
movzx eax, byte [ebp - 0x28a5]
test eax, eax
je 0x46e6cb
mov ecx, dword [ebp - 0x28e4]
mov dword [ecx + 0x100], 1
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0x2c]
push edx
lea ecx, [ebp - 0x34]
call fcn.00402e50
mov dword [ebp - 4], 0x13
lea ecx, [ebp - 0x34]
call fcn.00405310
push 0
push 0x485dbc
lea ecx, [ebp - 0x34]
call fcn.004017b0
cmp eax, 0xffffffff
je 0x46e9cb
push 0x485dc8
lea ecx, [ebp - 0x34]
call fcn.00405050
push ecx
mov ecx, esp
mov dword [ebp - 0x28b4], esp
push 0x485dcc
call fcn.00402e50
mov dword [ebp - 0x2988], eax
lea eax, [ebp - 0x29c]
push eax
call fcn.0045b690
add esp, 8
mov dword [ebp - 0x298c], eax
mov byte [ebp - 4], 0x14
push ecx
mov ecx, esp
mov dword [ebp - 0x28b8], esp
push str.maxcid
call fcn.00402e50
mov dword [ebp - 0x2990], eax
lea ecx, [ebp - 0x298]
push ecx
call fcn.0045b690
add esp, 8
mov dword [ebp - 0x2994], eax
mov byte [ebp - 4], 0x15
push 0
push str._cid
lea ecx, [ebp - 0x34]
call fcn.004017b0
add eax, 5
push eax
push 0
lea ecx, [ebp - 0x34]
call fcn.00405070
push 0
push 0x485df8
lea ecx, [ebp - 0x34]
call fcn.004017b0
push eax
lea edx, [ebp - 0x294]
push edx
lea ecx, [ebp - 0x34]
call fcn.00404380
mov byte [ebp - 4], 0x16
lea eax, [ebp - 0x29c]
push eax
push str.Current_Installer_Channel_ID_Range_From
lea ecx, [ebp - 0x28c0]
push ecx
call fcn.00401950
add esp, 0xc
mov dword [ebp - 0x2998], eax
mov edx, dword [ebp - 0x2998]
mov dword [ebp - 0x299c], edx
mov byte [ebp - 4], 0x17
push 0x485dfc
mov eax, dword [ebp - 0x299c]
push eax
lea ecx, [ebp - 0x28c4]
push ecx
call fcn.004018a0
add esp, 0xc
mov dword [ebp - 0x29a0], eax
mov edx, dword [ebp - 0x29a0]
mov dword [ebp - 0x29a4], edx
mov byte [ebp - 4], 0x18
push ecx
mov eax, esp
mov dword [ebp - 0x28bc], esp
lea ecx, [ebp - 0x298]
push ecx
mov edx, dword [ebp - 0x29a4]
push edx
push eax
call fcn.00404400
add esp, 0xc
mov dword [ebp - 0x29a8], eax
mov ecx, dword [ebp - 0x28e4]
call fcn.0046c9c0
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x28c4]
call fcn.004034b0
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x28c0]
call fcn.004034b0
lea ecx, [ebp - 0x294]
call fcn.00401a00
movzx eax, al
test eax, eax
jne 0x46e99e
lea ecx, [ebp - 0x294]
call fcn.00406be0
push eax
call fcn.0043b116
add esp, 4
mov esi, eax
lea ecx, [ebp - 0x29c]
call fcn.00406be0
push eax
call fcn.0043b116
add esp, 4
cmp esi, eax
jl 0x46e96f
lea ecx, [ebp - 0x294]
call fcn.00406be0
push eax
call fcn.0043b116
add esp, 4
mov esi, eax
lea ecx, [ebp - 0x298]
call fcn.00406be0
push eax
call fcn.0043b116
add esp, 4
cmp esi, eax
jg 0x46e96f
lea ecx, [ebp - 0x294]
call fcn.00405360
push ecx
mov ecx, esp
mov dword [ebp - 0x28c8], esp
lea edx, [ebp - 0x294]
push edx
call fcn.004029b0
mov dword [ebp - 0x29ac], eax
mov eax, dword [ebp - 0x29ac]
mov dword [ebp - 0x29b0], eax
mov byte [ebp - 4], 0x19
push ecx
mov ecx, esp
mov dword [ebp - 0x28cc], esp
push str.channelid
call fcn.00402e50
mov dword [ebp - 0x29b4], eax
mov byte [ebp - 4], 0x16
call fcn.0045b640
add esp, 8
push ecx
mov ecx, esp
mov dword [ebp - 0x28d0], esp
lea edx, [ebp - 0x294]
push edx
push str.Change_Channel_ID_To_:
push ecx
call fcn.00401950
add esp, 0xc
mov dword [ebp - 0x29b8], eax
mov ecx, dword [ebp - 0x28e4]
call fcn.0046c9c0
jmp 0x46e99e
push ecx
mov eax, esp
mov dword [ebp - 0x28d4], esp
lea ecx, [ebp - 0x294]
push ecx
push str.Channel_ID_Beyond_Range
push eax
call fcn.00401950
add esp, 0xc
mov dword [ebp - 0x29bc], eax
mov ecx, dword [ebp - 0x28e4]
call fcn.0046c9c0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x294]
call fcn.004034b0
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x298]
call fcn.004034b0
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x29c]
call fcn.004034b0
lea edx, [ebp - 0x28d8]
push edx
mov ecx, dword [ebp - 0x28e4]
call fcn.0046d420
lea ecx, [ebp - 0x28d8]
call fcn.004034b0
mov dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x28e4]
cmp dword [eax + 0xfc], 0
je 0x46ea3d
push 0
lea ecx, [ebp - 0x162c]
call fcn.0046a0e0
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x28e4]
lea edx, [ebp - 0x162c]
mov dword [ecx + 0x20], edx
lea ecx, [ebp - 0x162c]
call fcn.00425da3
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x162c]
call fcn.00404f00
jmp 0x46ea7a
push 0
lea ecx, [ebp - 0x2844]
call fcn.00473250
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0x28e4]
lea ecx, [ebp - 0x2844]
mov dword [eax + 0x20], ecx
lea ecx, [ebp - 0x2844]
call fcn.00425da3
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x2844]
call fcn.00473110
mov dword [ebp - 0x28dc], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x34]
call fcn.004034b0
mov eax, dword [ebp - 0x28dc]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x58]
xor ecx, ebp
call fcn.0043ad5b
mov esp, ebp
pop ebp
ret