Function at 0x4f78b0
Capabilities:
Accept command line arguments
Check for time delay via gettickcount
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
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x505a25
mov eax, dword fs:[0]
push eax
sub esp, 0x920
mov eax, dword [0x551bd0]
xor eax, ebp
mov dword [ebp - 0x18], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x804], ecx
mov dword [ebp - 0x800], 0
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov ecx, dword [ebp - 0x804]
mov dword [ecx + 0x284], eax
cmp dword [0x556070], 1
jle 0x4f7add
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov dword [ebp - 0x4b8], eax
lea ecx, [ebp - 0x4b4]
call fcn.004fe3e0
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0x4b8]
push edx
lea ecx, [ebp - 0x4b4]
call fcn.004fe520
push str.uinst
lea ecx, [ebp - 0x4b4]
call fcn.004fe130
test eax, eax
je 0x4f7961
mov eax, dword [ebp - 0x804]
mov dword [eax + 0x10c], 0
push 0x520cd8
lea ecx, [ebp - 0x4b4]
call fcn.004fe130
test eax, eax
je 0x4f7985
mov ecx, dword [ebp - 0x804]
mov dword [ecx + 0x110], 1
push 0x520cdc
lea ecx, [ebp - 0x4b4]
call fcn.004fe130
test eax, eax
je 0x4f79b9
mov edx, dword [ebp - 0x804]
mov dword [edx + 0x114], 1
mov eax, dword [ebp - 0x804]
mov dword [eax + 0x10c], 1
push str.update
lea ecx, [ebp - 0x4b4]
call fcn.004fe130
test eax, eax
je 0x4f79ed
mov ecx, dword [ebp - 0x804]
mov dword [ecx + 0x118], 1
mov edx, dword [ebp - 0x804]
mov dword [edx + 0x10c], 1
push 0x520cfc
lea ecx, [ebp - 0x4b4]
call fcn.004fe130
mov dword [ebp - 0x480], eax
cmp dword [ebp - 0x480], 0
je 0x4f7a2b
push 0
mov ecx, dword [ebp - 0x480]
call fcn.004fe0f0
push eax
mov ecx, dword [ebp - 0x804]
add ecx, 0x278
call fcn.004037b0
push 0x520d00
lea ecx, [ebp - 0x4b4]
call fcn.004fe130
mov dword [ebp - 0x480], eax
cmp dword [ebp - 0x480], 0
je 0x4f7a69
push 0
mov ecx, dword [ebp - 0x480]
call fcn.004fe0f0
push eax
mov ecx, dword [ebp - 0x804]
add ecx, 0x104
call fcn.004037b0
push str.setuplog
lea ecx, [ebp - 0x4b4]
call fcn.004fe130
mov dword [ebp - 0x480], eax
cmp dword [ebp - 0x480], 0
je 0x4f7aa7
push 0
mov ecx, dword [ebp - 0x480]
call fcn.004fe0f0
push eax
mov ecx, dword [ebp - 0x804]
add ecx, 0x108
call fcn.004037b0
push str.deleteuserdata
lea ecx, [ebp - 0x4b4]
call fcn.004fe130
test eax, eax
je 0x4f7acb
mov eax, dword [ebp - 0x804]
mov dword [eax + 0x120], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4b4]
call fcn.004fe370
mov ecx, dword [ebp - 0x804]
cmp dword [ecx + 0x114], 0
jne 0x4f7baa
push str.Mutex_QiyiInstaller
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov edx, dword [ebp - 0x804]
mov dword [edx + 0x274], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x4f7baa
push ecx
mov ecx, esp
mov dword [ebp - 0x728], esp
push 0x520d6c
call fcn.004037d0
mov dword [ebp - 0x808], eax
mov ecx, 0x556f08
call fcn.004f68e0
push 0x520d98
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_FindWindowExW]
mov dword [ebp - 0x4bc], eax
mov eax, dword [ebp - 0x4bc]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x4f7ba3
mov dword [ebp - 0x4c4], 0
mov dword [ebp - 0x4c8], 0xa
mov dword [ebp - 0x4c0], 0
lea ecx, [ebp - 0x4c8]
push ecx
push 0
push 0x4a
mov edx, dword [ebp - 0x4bc]
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x4cc], eax
xor eax, eax
jmp 0x4f936e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebp - 0x804]
mov dword [ecx + 0x25c], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [ebp - 0x804]
mov dword [edx + 0x260], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebp - 0x804]
mov dword [ecx + 0x264], eax
mov edx, dword [ebp - 0x804]
add edx, 0x298
push edx
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push 0
call dword [sym.imp.USER32.dll_GetDC]
mov dword [ebp - 0x10], eax
push 0x58
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
test eax, eax
jle 0x4f7c30
push 0x58
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov ecx, eax
mov eax, 0x3c0
cdq
idiv ecx
mov edx, dword [ebp - 0x804]
mov dword [edx + 0x144], eax
push 0x58
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov dword [0x556ec4], eax
push 0x5a
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov dword [0x556ec0], eax
mov edx, dword [ebp - 0x10]
push edx
push 0
call dword [sym.imp.USER32.dll_ReleaseDC]
push 0x520dac
push 0
call fcn.004c231c
add esp, 8
mov dword [ebp - 0x470], 8
mov dword [ebp - 0x46c], 0xff
lea eax, [ebp - 0x470]
push eax
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
lea ecx, [ebp - 0x72c]
push ecx
mov ecx, dword [ebp - 0x804]
call fcn.004f6d10
mov dword [ebp - 0x80c], eax
mov edx, dword [ebp - 0x80c]
mov dword [ebp - 0x810], edx
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x810]
push eax
mov ecx, 0x557008
call fcn.00402e10
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x72c]
call fcn.00407160
push 0
call fcn.004a4317
add esp, 4
mov ecx, dword [ebp - 0x804]
call fcn.004f60a0
mov ecx, dword [ebp - 0x804]
call fcn.004f6020
push 0x104
push 0x104
mov ecx, dword [ebp - 0x804]
add ecx, 0xb8
call fcn.00403590
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x804]
add ecx, 0xb8
call fcn.00405e70
push 0
push 0x19
push 0x104
mov ecx, dword [ebp - 0x804]
add ecx, 0xb0
call fcn.00403590
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x804]
add ecx, 0xb0
call fcn.00405e70
push 0
push 0
push 0x104
mov ecx, dword [ebp - 0x804]
add ecx, 0xb4
call fcn.00403590
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x804]
add ecx, 0xb4
call fcn.00405e70
push 0
push 2
push 0x104
mov ecx, dword [ebp - 0x804]
add ecx, 0xe0
call fcn.00403590
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x804]
add ecx, 0xe0
call fcn.00405e70
push 0
push 0x17
push 0x104
mov ecx, dword [ebp - 0x804]
add ecx, 0xcc
call fcn.00403590
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x804]
add ecx, 0xcc
call fcn.00405e70
push 0x104
push 0x104
mov ecx, dword [ebp - 0x804]
add ecx, 0xd4
call fcn.00403590
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x804]
add ecx, 0xd4
call fcn.00405e70
push 0
push 0x14
push 0x104
mov ecx, dword [ebp - 0x804]
add ecx, 0xc4
call fcn.00403590
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x804]
add ecx, 0xc4
call fcn.00405e70
push 0x5c
mov ecx, dword [ebp - 0x804]
add ecx, 0xd4
call fcn.00403fc0
add eax, 1
push eax
lea ecx, [ebp - 0x730]
push ecx
mov ecx, dword [ebp - 0x804]
add ecx, 0xd4
call fcn.00404150
mov dword [ebp - 0x814], eax
mov edx, dword [ebp - 0x814]
mov dword [ebp - 0x818], edx
mov dword [ebp - 4], 2
mov eax, dword [ebp - 0x818]
push eax
mov ecx, dword [ebp - 0x804]
add ecx, 0xbc
call fcn.00402e10
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x730]
call fcn.00407160
push 0
push 0x1a
push 0x104
mov ecx, dword [ebp - 0x804]
add ecx, 0xd8
call fcn.00403590
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x804]
add ecx, 0xd8
call fcn.00405e70
push 0x104
mov ecx, dword [ebp - 0x804]
add ecx, 0xdc
call fcn.00403590
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x804]
add ecx, 0xdc
call fcn.00405e70
push 1
lea ecx, [ebp - 0x738]
push ecx
mov ecx, dword [ebp - 0x804]
add ecx, 0xdc
call fcn.004040c0
mov dword [ebp - 0x81c], eax
push 0x520db0
mov edx, dword [ebp - 0x81c]
push edx
call fcn.00404370
add esp, 8
mov byte [ebp - 0x731], al
lea ecx, [ebp - 0x738]
call fcn.00407160
movzx eax, byte [ebp - 0x731]
test eax, eax
je 0x4f7fb9
push 0x520db4
mov ecx, dword [ebp - 0x804]
add ecx, 0xdc
call fcn.00403ce0
mov ecx, dword [ebp - 0x804]
add ecx, 0xdc
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
call fcn.004e44f0
push 0x520db8
mov ecx, dword [ebp - 0x804]
add ecx, 0xd8
push ecx
lea edx, [ebp - 0x73c]
push edx
call fcn.004041d0
add esp, 0xc
mov dword [ebp - 0x820], eax
mov eax, dword [ebp - 0x820]
mov dword [ebp - 0x824], eax
mov dword [ebp - 4], 3
mov ecx, dword [ebp - 0x824]
push ecx
mov ecx, dword [ebp - 0x804]
add ecx, 0xa8
call fcn.00402e10
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x73c]
call fcn.00407160
mov ecx, dword [ebp - 0x804]
add ecx, 0xa8
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
call fcn.004e44f0
call fcn.004038a0
mov dword [ebp - 0x478], eax
mov edx, dword [ebp - 0x804]
add edx, 0x148
push edx
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x4f8338
mov eax, dword [ebp - 0x804]
cmp dword [eax + 0x14c], 6
jae 0x4f81cf
push 0x520dd4
mov ecx, dword [ebp - 0x804]
add ecx, 0x13c
call fcn.004037b0
push 0
push 0x23
lea ecx, [ebp - 0x6d4]
push ecx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea edx, [ebp - 0x6d4]
push edx
lea ecx, [ebp - 0x6d8]
call fcn.004037d0
mov dword [ebp - 4], 4
push str.QiYi
lea eax, [ebp - 0x6d8]
push eax
lea ecx, [ebp - 0x740]
push ecx
call fcn.004041d0
add esp, 0xc
mov dword [ebp - 0x828], eax
mov edx, dword [ebp - 0x828]
mov dword [ebp - 0x82c], edx
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x82c]
push eax
mov ecx, dword [ebp - 0x804]
add ecx, 0xac
call fcn.00402e10
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x740]
call fcn.00407160
mov ecx, dword [ebp - 0x804]
cmp dword [ecx + 0x14c], 5
jne 0x4f8193
mov edx, dword [ebp - 0x804]
cmp dword [edx + 0x150], 1
jne 0x4f8154
push str.windowsXP
mov ecx, dword [ebp - 0x804]
add ecx, 0x140
call fcn.004037b0
jmp 0x4f8191
mov eax, dword [ebp - 0x804]
cmp dword [eax + 0x150], 2
jne 0x4f817b
push str.windows2003
mov ecx, dword [ebp - 0x804]
add ecx, 0x140
call fcn.004037b0
jmp 0x4f8191
push str.windows2000
mov ecx, dword [ebp - 0x804]
add ecx, 0x140
call fcn.004037b0
jmp 0x4f81b8
mov ecx, dword [ebp - 0x804]
cmp dword [ecx + 0x14c], 5
jae 0x4f81b8
push str.windows98
mov ecx, dword [ebp - 0x804]
add ecx, 0x140
call fcn.004037b0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x6d8]
call fcn.00407160
jmp 0x4f8338
push 0x520e40
mov ecx, dword [ebp - 0x804]
add ecx, 0x13c
call fcn.004037b0
push 0x104
lea edx, [ebp - 0x6d4]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
lea eax, [ebp - 0x6d4]
push eax
lea ecx, [ebp - 0x6dc]
call fcn.004037d0
mov dword [ebp - 4], 6
push 2
lea ecx, [ebp - 0x744]
push ecx
lea ecx, [ebp - 0x6dc]
call fcn.00404150
mov dword [ebp - 0x830], eax
mov edx, dword [ebp - 0x830]
mov dword [ebp - 0x834], edx
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x834]
push eax
lea ecx, [ebp - 0x6dc]
call fcn.00402e10
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x744]
call fcn.00407160
push str.UsersPublicQiYi
lea ecx, [ebp - 0x6dc]
push ecx
lea edx, [ebp - 0x748]
push edx
call fcn.004041d0
add esp, 0xc
mov dword [ebp - 0x838], eax
mov eax, dword [ebp - 0x838]
mov dword [ebp - 0x83c], eax
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x83c]
push ecx
mov ecx, dword [ebp - 0x804]
add ecx, 0xac
call fcn.00402e10
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x748]
call fcn.00407160
mov edx, dword [ebp - 0x804]
cmp dword [edx + 0x14c], 6
jne 0x4f8326
mov eax, dword [ebp - 0x804]
cmp dword [eax + 0x150], 1
jne 0x4f82e9
push str.windows7
mov ecx, dword [ebp - 0x804]
add ecx, 0x140
call fcn.004037b0
jmp 0x4f8326
mov ecx, dword [ebp - 0x804]
cmp dword [ecx + 0x150], 2
jne 0x4f8310
push str.windows8
mov ecx, dword [ebp - 0x804]
add ecx, 0x140
call fcn.004037b0
jmp 0x4f8326
push str.windows_Vista
mov ecx, dword [ebp - 0x804]
add ecx, 0x140
call fcn.004037b0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x6dc]
call fcn.00407160
push 0x520eb8
mov ecx, dword [ebp - 0x804]
add ecx, 0x13c
call fcn.004037b0
push str.install.ini
mov edx, dword [ebp - 0x804]
add edx, 0xbc
push edx
lea eax, [ebp - 0x74c]
push eax
call fcn.004041d0
add esp, 0xc
mov dword [ebp - 0x840], eax
mov ecx, dword [ebp - 0x840]
mov dword [ebp - 0x844], ecx
mov dword [ebp - 4], 9
mov edx, dword [ebp - 0x844]
push edx
mov ecx, dword [ebp - 0x804]
add ecx, 0xc0
call fcn.00402e10
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x74c]
call fcn.00407160
push 0x520ed8
mov eax, dword [ebp - 0x804]
add eax, 0xbc
push eax
lea ecx, [ebp - 0x750]
push ecx
call fcn.004041d0
add esp, 0xc
mov dword [ebp - 0x848], eax
mov edx, dword [ebp - 0x848]
mov dword [ebp - 0x84c], edx
mov dword [ebp - 4], 0xa
mov eax, dword [ebp - 0x84c]
push eax
mov ecx, dword [ebp - 0x804]
add ecx, 0xd0
call fcn.00402e10
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x750]
call fcn.00407160
mov ecx, dword [ebp - 0x804]
add ecx, 0xc0
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4f85b5
push ecx
mov ecx, esp
mov dword [ebp - 0x758], esp
push str.main_version
call fcn.004037d0
mov dword [ebp - 0x850], eax
lea ecx, [ebp - 0x75c]
push ecx
call fcn.004e4ad0
add esp, 8
mov dword [ebp - 0x854], eax
mov edx, dword [ebp - 0x854]
mov dword [ebp - 0x858], edx
mov dword [ebp - 4], 0xb
mov eax, dword [ebp - 0x800]
or eax, 1
mov dword [ebp - 0x800], eax
mov ecx, dword [ebp - 0x858]
call fcn.004043d0
movzx ecx, al
test ecx, ecx
jne 0x4f84fe
push ecx
mov ecx, esp
mov dword [ebp - 0x760], esp
push 0x520f18
call fcn.004037d0
mov dword [ebp - 0x85c], eax
lea edx, [ebp - 0x764]
push edx
call fcn.004e4ad0
add esp, 8
mov dword [ebp - 0x860], eax
mov eax, dword [ebp - 0x860]
mov dword [ebp - 0x864], eax
mov ecx, dword [ebp - 0x800]
or ecx, 2
mov dword [ebp - 0x800], ecx
mov ecx, dword [ebp - 0x864]
call fcn.004043d0
movzx edx, al
test edx, edx
jne 0x4f84fe
mov dword [ebp - 0x868], 0
jmp 0x4f8508
mov dword [ebp - 0x868], 1
mov al, byte [ebp - 0x868]
mov byte [ebp - 0x751], al
mov ecx, dword [ebp - 0x800]
and ecx, 2
je 0x4f8531
and dword [ebp - 0x800], 0xfffffffd
lea ecx, [ebp - 0x764]
call fcn.00407160
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x800]
and edx, 1
je 0x4f8555
and dword [ebp - 0x800], 0xfffffffe
lea ecx, [ebp - 0x75c]
call fcn.00407160
movzx eax, byte [ebp - 0x751]
test eax, eax
je 0x4f85b5
mov ecx, dword [ebp - 0x804]
add ecx, 0xc0
push ecx
push str.Invalid_Install.ini
lea edx, [ebp - 0x768]
push edx
call fcn.00404280
add esp, 0xc
mov dword [ebp - 0x86c], eax
mov ecx, dword [ebp - 0x86c]
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea ecx, [ebp - 0x768]
call fcn.00407160
mov ecx, dword [ebp - 0x804]
add ecx, 0xc0
call fcn.00403240
mov ecx, dword [ebp - 0x804]
add ecx, 0xc0
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x4f88c1
push 0x520f5c
push 0x320
mov eax, dword [ebp - 0x804]
mov ecx, dword [eax + 0x284]
push ecx
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov dword [ebp - 0x6e0], eax
cmp dword [ebp - 0x6e0], 0
je 0x4f88ac
push 0x520f64
mov edx, dword [ebp - 0x804]
add edx, 0xdc
push edx
lea eax, [ebp - 0x76c]
push eax
call fcn.004041d0
add esp, 0xc
mov dword [ebp - 0x870], eax
mov ecx, dword [ebp - 0x870]
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [ebp - 0x76c]
call fcn.00407160
mov ecx, dword [ebp - 0x6e0]
push ecx
mov edx, dword [ebp - 0x804]
mov eax, dword [edx + 0x284]
push eax
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [ebp - 0x6e4], eax
cmp dword [ebp - 0x6e4], 0
je 0x4f88aa
mov ecx, dword [ebp - 0x6e4]
push ecx
call dword [sym.imp.KERNEL32.dll_LockResource]
mov dword [ebp - 0x6fc], eax
mov edx, dword [ebp - 0x6e0]
push edx
mov eax, dword [ebp - 0x804]
mov ecx, dword [eax + 0x284]
push ecx
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [ebp - 0x6e8], eax
lea ecx, [ebp - 0x6f8]
call fcn.004a32cc
mov dword [ebp - 4], 0xc
push 0x520f88
mov edx, dword [ebp - 0x804]
add edx, 0xdc
push edx
lea eax, [ebp - 0x774]
push eax
call fcn.004041d0
add esp, 0xc
mov dword [ebp - 0x874], eax
mov ecx, dword [ebp - 0x874]
mov dword [ebp - 0x878], ecx
mov byte [ebp - 4], 0xd
push 0
push 0x1002
mov ecx, dword [ebp - 0x878]
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
lea ecx, [ebp - 0x6f8]
call fcn.004a3755
mov dword [ebp - 0x770], eax
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x774]
call fcn.00407160
cmp dword [ebp - 0x770], 0
je 0x4f888b
mov edx, dword [ebp - 0x6e8]
push edx
mov eax, dword [ebp - 0x6fc]
push eax
lea ecx, [ebp - 0x6f8]
call fcn.004a3002
lea ecx, [ebp - 0x6f8]
call fcn.004a30ee
lea ecx, [ebp - 0x6f8]
call fcn.004a3266
push 0x520fac
mov ecx, dword [ebp - 0x804]
add ecx, 0xdc
push ecx
lea edx, [ebp - 0x778]
push edx
call fcn.004041d0
add esp, 0xc
mov dword [ebp - 0x87c], eax
mov eax, dword [ebp - 0x87c]
mov dword [ebp - 0x880], eax
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x880]
push ecx
mov ecx, dword [ebp - 0x804]
add ecx, 0xc0
call fcn.00402e10
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x778]
call fcn.00407160
mov edx, dword [ebp - 0x804]
cmp dword [edx + 0x10c], 0
je 0x4f882d
push str.PStyleQiyiInstaller.log
mov eax, dword [ebp - 0x804]
add eax, 0xa8
push eax
lea ecx, [ebp - 0x77c]
push ecx
call fcn.004041d0
add esp, 0xc
mov dword [ebp - 0x884], eax
mov edx, dword [ebp - 0x884]
mov dword [ebp - 0x888], edx
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x888]
push eax
mov ecx, dword [ebp - 0x804]
add ecx, 0xd0
call fcn.00402e10
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x77c]
call fcn.00407160
jmp 0x4f888b
push str.QiyiInstaller.log
mov ecx, dword [ebp - 0x804]
add ecx, 0xdc
push ecx
lea edx, [ebp - 0x780]
push edx
call fcn.004041d0
add esp, 0xc
mov dword [ebp - 0x88c], eax
mov eax, dword [ebp - 0x88c]
mov dword [ebp - 0x890], eax
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x890]
push ecx
mov ecx, dword [ebp - 0x804]
add ecx, 0xd0
call fcn.00402e10
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x780]
call fcn.00407160
mov edx, dword [ebp - 0x6e4]
push edx
call dword [sym.imp.KERNEL32.dll_FreeResource]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x6f8]
call fcn.004a33e5
jmp 0x4f88c1
push 0
push 0
push str.b_rN0R
call fcn.004a1d7c
xor eax, eax
jmp 0x4f936e
mov ecx, dword [ebp - 0x804]
add ecx, 0xd0
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0x5c
mov ecx, dword [ebp - 0x804]
add ecx, 0xd0
call fcn.00403fc0
add eax, 1
push eax
lea eax, [ebp - 0x460]
push eax
mov ecx, dword [ebp - 0x804]
add ecx, 0xd0
call fcn.00404150
mov dword [ebp - 4], 0x11
lea ecx, [ebp - 0x460]
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
call fcn.004e44f0
push 0
push 0x1041
mov ecx, dword [ebp - 0x804]
add ecx, 0xd0
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
mov ecx, dword [ebp - 0x804]
add ecx, 0x288
mov edx, dword [ebp - 0x804]
mov eax, dword [edx + 0x288]
mov edx, dword [eax + 0x20]
call edx
mov ecx, dword [ebp - 0x804]
add ecx, 0x288
call fcn.00407a10
mov byte [ebp - 0x464], 0xff
mov byte [ebp - 0x463], 0xfe
push 2
lea eax, [ebp - 0x464]
push eax
mov ecx, dword [ebp - 0x804]
add ecx, 0x288
mov edx, dword [ebp - 0x804]
mov eax, dword [edx + 0x288]
mov edx, dword [eax + 0x38]
call edx
mov ecx, dword [ebp - 0x804]
call fcn.004f7190
mov ecx, dword [ebp - 0x804]
add ecx, 0x104
call fcn.004043d0
movzx eax, al
test eax, eax
jne 0x4f8a16
mov ecx, dword [ebp - 0x804]
add ecx, 0x104
push ecx
mov edx, esp
mov dword [ebp - 0x784], esp
push ecx
mov ecx, edx
call fcn.004020c0
mov dword [ebp - 0x894], eax
mov eax, dword [ebp - 0x894]
mov dword [ebp - 0x898], eax
mov byte [ebp - 4], 0x12
push ecx
mov ecx, esp
mov dword [ebp - 0x788], esp
push str.forcerun_param
call fcn.004037d0
mov dword [ebp - 0x89c], eax
mov byte [ebp - 4], 0x11
call fcn.004e4a80
add esp, 8
push 0x521060
mov ecx, dword [ebp - 0x804]
call fcn.004a47ea
push 0x521080
push ecx
mov ecx, esp
mov dword [ebp - 0x790], esp
push 0x521084
call fcn.004037d0
mov dword [ebp - 0x8a0], eax
lea ecx, [ebp - 0x794]
push ecx
call fcn.004e4ad0
add esp, 8
mov dword [ebp - 0x8a4], eax
mov edx, dword [ebp - 0x8a4]
mov dword [ebp - 0x8a8], edx
mov eax, dword [ebp - 0x8a8]
push eax
call fcn.00404350
add esp, 8
mov byte [ebp - 0x789], al
lea ecx, [ebp - 0x794]
call fcn.00407160
movzx ecx, byte [ebp - 0x789]
test ecx, ecx
je 0x4f8aaf
mov edx, dword [ebp - 0x804]
cmp dword [edx + 0x10c], 0
je 0x4f8aaf
mov eax, dword [ebp - 0x804]
mov dword [eax + 0x110], 1
push 0x521094
push ecx
mov ecx, esp
mov dword [ebp - 0x79c], esp
push 0x521098
call fcn.004037d0
mov dword [ebp - 0x8ac], eax
lea ecx, [ebp - 0x7a0]
push ecx
call fcn.004e4ad0
add esp, 8
mov dword [ebp - 0x8b0], eax
mov edx, dword [ebp - 0x8b0]
mov dword [ebp - 0x8b4], edx
mov eax, dword [ebp - 0x8b4]
push eax
call fcn.00404350
add esp, 8
mov byte [ebp - 0x795], al
lea ecx, [ebp - 0x7a0]
call fcn.00407160
movzx ecx, byte [ebp - 0x795]
test ecx, ecx
je 0x4f8b29
mov edx, dword [ebp - 0x804]
mov dword [edx + 0x11c], 1
push 0x5210a8
push ecx
mov ecx, esp
mov dword [ebp - 0x7a8], esp
push 0x5210ac
call fcn.004037d0
mov dword [ebp - 0x8b8], eax
lea eax, [ebp - 0x7ac]
push eax
call fcn.004e4ad0
add esp, 8
mov dword [ebp - 0x8bc], eax
mov ecx, dword [ebp - 0x8bc]
mov dword [ebp - 0x8c0], ecx
mov edx, dword [ebp - 0x8c0]
push edx
call fcn.00404350
add esp, 8
mov byte [ebp - 0x7a1], al
lea ecx, [ebp - 0x7ac]
call fcn.00407160
movzx eax, byte [ebp - 0x7a1]
test eax, eax
je 0x4f8bb2
mov ecx, dword [ebp - 0x804]
cmp dword [ecx + 0x10c], 0
je 0x4f8bb2
mov edx, dword [ebp - 0x804]
mov dword [edx + 0x118], 1
mov eax, dword [ebp - 0x804]
cmp dword [eax + 0x118], 0
je 0x4f8cd1
lea ecx, [ebp - 0x700]
push ecx
push 0xf003f
push 0
push str.SoftwareQiYi
push SysReAllocStringLen
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x4f8ccc
mov dword [ebp - 0x708], 0x400
mov dword [ebp - 0x704], 1
lea ecx, [ebp - 0x70c]
call fcn.00402e30
mov byte [ebp - 4], 0x13
lea edx, [ebp - 0x708]
push edx
push 0x400
lea ecx, [ebp - 0x70c]
call fcn.00403590
push eax
lea eax, [ebp - 0x704]
push eax
push 0
push str.ChannelID
mov ecx, dword [ebp - 0x700]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
push 0xffffffffffffffff
lea ecx, [ebp - 0x70c]
call fcn.00405e70
lea ecx, [ebp - 0x70c]
call fcn.004043d0
movzx edx, al
test edx, edx
jne 0x4f8cb0
push ecx
mov ecx, esp
mov dword [ebp - 0x7b0], esp
lea eax, [ebp - 0x70c]
push eax
call fcn.004020c0
mov dword [ebp - 0x8c4], eax
mov ecx, dword [ebp - 0x8c4]
mov dword [ebp - 0x8c8], ecx
mov byte [ebp - 4], 0x14
push ecx
mov ecx, esp
mov dword [ebp - 0x7b4], esp
push 0x5210ec
call fcn.004037d0
mov dword [ebp - 0x8cc], eax
mov byte [ebp - 4], 0x13
call fcn.004e4a80
add esp, 8
mov edx, dword [ebp - 0x700]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x70c]
call fcn.00407160
jmp 0x4f92dd
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov dword [ebp - 0x714], eax
mov eax, dword [ebp - 0x714]
push eax
lea ecx, [ebp - 0x71c]
call fcn.004037d0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x71c]
call fcn.00401060
push ecx
mov ecx, esp
mov dword [ebp - 0x7b8], esp
push str.mincid
call fcn.004037d0
mov dword [ebp - 0x8d0], eax
lea ecx, [ebp - 0x718]
push ecx
call fcn.004e4ad0
add esp, 8
mov dword [ebp - 0x8d4], eax
mov byte [ebp - 4], 0x16
push ecx
mov ecx, esp
mov dword [ebp - 0x7bc], esp
push str.maxcid
call fcn.004037d0
mov dword [ebp - 0x8d8], eax
lea edx, [ebp - 0x710]
push edx
call fcn.004e4ad0
add esp, 8
mov dword [ebp - 0x8dc], eax
mov byte [ebp - 4], 0x17
push 0
push str._cid
lea ecx, [ebp - 0x71c]
call fcn.00403f40
cmp eax, 0xffffffff
je 0x4f8fd3
push 0x52112c
lea ecx, [ebp - 0x71c]
call fcn.00403ce0
push 0
push 0x521130
lea ecx, [ebp - 0x71c]
call fcn.00403f40
add eax, 5
push eax
push 0
lea ecx, [ebp - 0x71c]
call fcn.00406f70
push 0
push 0x52113c
lea ecx, [ebp - 0x71c]
call fcn.00403f40
push eax
lea eax, [ebp - 0x720]
push eax
lea ecx, [ebp - 0x71c]
call fcn.00404150
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x718]
push ecx
push 0x521150
lea edx, [ebp - 0x7c4]
push edx
call fcn.00404280
add esp, 0xc
mov dword [ebp - 0x8e0], eax
mov eax, dword [ebp - 0x8e0]
mov dword [ebp - 0x8e4], eax
mov byte [ebp - 4], 0x19
push 0x521140
mov ecx, dword [ebp - 0x8e4]
push ecx
lea edx, [ebp - 0x7c8]
push edx
call fcn.004041d0
add esp, 0xc
mov dword [ebp - 0x8e8], eax
mov eax, dword [ebp - 0x8e8]
mov dword [ebp - 0x8ec], eax
mov byte [ebp - 4], 0x1a
push ecx
mov ecx, esp
mov dword [ebp - 0x7c0], esp
lea edx, [ebp - 0x710]
push edx
mov eax, dword [ebp - 0x8ec]
push eax
push ecx
call fcn.00406a40
add esp, 0xc
mov dword [ebp - 0x8f0], eax
mov ecx, dword [ebp - 0x804]
call fcn.004f68e0
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x7c8]
call fcn.00407160
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x7c4]
call fcn.00407160
lea ecx, [ebp - 0x720]
call fcn.004043d0
movzx ecx, al
test ecx, ecx
jne 0x4f8fbf
lea ecx, [ebp - 0x720]
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
call fcn.004c24a2
add esp, 4
mov esi, eax
lea ecx, [ebp - 0x718]
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
call fcn.004c24a2
add esp, 4
cmp esi, eax
jl 0x4f8f90
lea ecx, [ebp - 0x720]
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
call fcn.004c24a2
add esp, 4
mov esi, eax
lea ecx, [ebp - 0x710]
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
call fcn.004c24a2
add esp, 4
cmp esi, eax
jg 0x4f8f90
lea ecx, [ebp - 0x720]
call fcn.00407030
push ecx
mov ecx, esp
mov dword [ebp - 0x7cc], esp
lea edx, [ebp - 0x720]
push edx
call fcn.004020c0
mov dword [ebp - 0x8f4], eax
mov eax, dword [ebp - 0x8f4]
mov dword [ebp - 0x8f8], eax
mov byte [ebp - 4], 0x1b
push ecx
mov ecx, esp
mov dword [ebp - 0x7d0], esp
push 0x5211a4
call fcn.004037d0
mov dword [ebp - 0x8fc], eax
mov byte [ebp - 4], 0x18
call fcn.004e4a80
add esp, 8
push ecx
mov ecx, esp
mov dword [ebp - 0x7d4], esp
lea edx, [ebp - 0x720]
push edx
push 0x5211b8
push ecx
call fcn.00404280
add esp, 0xc
mov dword [ebp - 0x900], eax
mov ecx, dword [ebp - 0x804]
call fcn.004f68e0
jmp 0x4f8fbf
push ecx
mov eax, esp
mov dword [ebp - 0x7d8], esp
lea ecx, [ebp - 0x720]
push ecx
push 0x5211e8
push eax
call fcn.00404280
add esp, 0xc
mov dword [ebp - 0x904], eax
mov ecx, dword [ebp - 0x804]
call fcn.004f68e0
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x720]
call fcn.00407160
jmp 0x4f92b0
lea ecx, [ebp - 0x718]
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
call fcn.004c24a2
add esp, 4
mov esi, eax
lea ecx, [ebp - 0x710]
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
call fcn.004c24a2
add esp, 4
cmp esi, eax
jge 0x4f92b0
push 0
push 0x52121c
lea ecx, [ebp - 0x71c]
call fcn.00403f40
cmp eax, 0xffffffff
je 0x4f92b0
push 0x521220
push 0x521224
lea ecx, [ebp - 0x71c]
call fcn.00403d60
push 0x5c
lea ecx, [ebp - 0x71c]
call fcn.00403fc0
add eax, 1
push eax
push 0
lea ecx, [ebp - 0x71c]
call fcn.00406f70
push 0
push 0x521228
lea ecx, [ebp - 0x71c]
call fcn.00403f40
add eax, 1
push eax
push 0
lea ecx, [ebp - 0x71c]
call fcn.00406f70
push 0
push 0x52122c
lea ecx, [ebp - 0x71c]
call fcn.00403f40
push eax
lea edx, [ebp - 0x724]
push edx
lea ecx, [ebp - 0x71c]
call fcn.00404150
mov byte [ebp - 4], 0x1c
lea eax, [ebp - 0x718]
push eax
push str.Current_Installer_Channel_ID_Range_From
lea ecx, [ebp - 0x7e0]
push ecx
call fcn.00404280
add esp, 0xc
mov dword [ebp - 0x908], eax
mov edx, dword [ebp - 0x908]
mov dword [ebp - 0x90c], edx
mov byte [ebp - 4], 0x1d
push 0x521230
mov eax, dword [ebp - 0x90c]
push eax
lea ecx, [ebp - 0x7e4]
push ecx
call fcn.004041d0
add esp, 0xc
mov dword [ebp - 0x910], eax
mov edx, dword [ebp - 0x910]
mov dword [ebp - 0x914], edx
mov byte [ebp - 4], 0x1e
push ecx
mov eax, esp
mov dword [ebp - 0x7dc], esp
lea ecx, [ebp - 0x710]
push ecx
mov edx, dword [ebp - 0x914]
push edx
push eax
call fcn.00406a40
add esp, 0xc
mov dword [ebp - 0x918], eax
mov ecx, dword [ebp - 0x804]
call fcn.004f68e0
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x7e4]
call fcn.00407160
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x7e0]
call fcn.00407160
lea ecx, [ebp - 0x724]
call fcn.004043d0
movzx eax, al
test eax, eax
jne 0x4f92a1
lea ecx, [ebp - 0x724]
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
call fcn.004c24a2
add esp, 4
test eax, eax
jle 0x4f92a1
lea ecx, [ebp - 0x724]
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
call fcn.004c24a2
add esp, 4
mov esi, eax
lea ecx, [ebp - 0x718]
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
call fcn.004c24a2
add esp, 4
cmp esi, eax
jl 0x4f9272
lea ecx, [ebp - 0x724]
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
call fcn.004c24a2
add esp, 4
mov esi, eax
lea ecx, [ebp - 0x710]
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
call fcn.004c24a2
add esp, 4
cmp esi, eax
jg 0x4f9272
lea ecx, [ebp - 0x724]
call fcn.00407030
push ecx
mov ecx, esp
mov dword [ebp - 0x7e8], esp
lea edx, [ebp - 0x724]
push edx
call fcn.004020c0
mov dword [ebp - 0x91c], eax
mov eax, dword [ebp - 0x91c]
mov dword [ebp - 0x920], eax
mov byte [ebp - 4], 0x1f
push ecx
mov ecx, esp
mov dword [ebp - 0x7ec], esp
push str.channelid
call fcn.004037d0
mov dword [ebp - 0x924], eax
mov byte [ebp - 4], 0x1c
call fcn.004e4a80
add esp, 8
push ecx
mov ecx, esp
mov dword [ebp - 0x7f0], esp
lea edx, [ebp - 0x724]
push edx
push 0x5212a8
push ecx
call fcn.00404280
add esp, 0xc
mov dword [ebp - 0x928], eax
mov ecx, dword [ebp - 0x804]
call fcn.004f68e0
jmp 0x4f92a1
push ecx
mov eax, esp
mov dword [ebp - 0x7f4], esp
lea ecx, [ebp - 0x724]
push ecx
push str.Channel_ID_Beyond_Range
push eax
call fcn.00404280
add esp, 0xc
mov dword [ebp - 0x92c], eax
mov ecx, dword [ebp - 0x804]
call fcn.004f68e0
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x724]
call fcn.00407160
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x710]
call fcn.00407160
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x718]
call fcn.00407160
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x71c]
call fcn.00407160
mov ecx, dword [ebp - 0x804]
call fcn.004f5f60
mov edx, dword [ebp - 0x804]
mov byte [edx + 0x27c], al
lea eax, [ebp - 0x7f8]
push eax
mov ecx, dword [ebp - 0x804]
call fcn.004f6f00
lea ecx, [ebp - 0x7f8]
call fcn.00407160
mov dword [ebp - 0x468], 0
push 0
lea ecx, [ebp - 0x45c]
call fcn.004f5870
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x45c]
call fcn.004a5120
mov dword [ebp - 0x468], eax
mov dword [ebp - 0x7fc], 0
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x45c]
call fcn.004f57c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x460]
call fcn.00407160
mov eax, dword [ebp - 0x7fc]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.004bfe65
mov esp, ebp
pop ebp
ret 8