Function at 0x4e2b20
Capabilities:
Check if file exists
Hide graphical window
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5060c1
mov eax, dword fs:[0]
push eax
sub esp, 0x3d8
mov eax, dword [0x551bd0]
xor eax, ebp
mov dword [ebp - 0x2c], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x384], ecx
mov dword [ebp - 0x380], 0
mov ecx, 0x556fac
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4e2c1c
push 0x51bb84
push 0x556fac
lea eax, [ebp - 0x334]
push eax
call fcn.004041d0
add esp, 0xc
mov dword [ebp - 0x388], eax
mov ecx, dword [ebp - 0x388]
mov dword [ebp - 0x38c], ecx
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0x380]
or edx, 1
mov dword [ebp - 0x380], edx
mov ecx, dword [ebp - 0x38c]
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x4e2c10
push str.QiyiApp.exe
push 0x556fac
lea eax, [ebp - 0x338]
push eax
call fcn.004041d0
add esp, 0xc
mov dword [ebp - 0x390], eax
mov ecx, dword [ebp - 0x380]
or ecx, 2
mov dword [ebp - 0x380], ecx
mov ecx, dword [ebp - 0x390]
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4e2c1c
mov dword [ebp - 0x394], 0
jmp 0x4e2c26
mov dword [ebp - 0x394], 1
mov dl, byte [ebp - 0x394]
mov byte [ebp - 0x32d], dl
mov eax, dword [ebp - 0x380]
and eax, 2
je 0x4e2c4f
and dword [ebp - 0x380], 0xfffffffd
lea ecx, [ebp - 0x338]
call fcn.00407160
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x380]
and ecx, 1
je 0x4e2c73
and dword [ebp - 0x380], 0xfffffffe
lea ecx, [ebp - 0x334]
call fcn.00407160
movzx edx, byte [ebp - 0x32d]
test edx, edx
je 0x4e2d05
lea ecx, [ebp - 0x30c]
call fcn.004faa20
mov dword [ebp - 4], 1
push 0x51bbbc
lea ecx, [ebp - 0x30c]
call fcn.004fa760
push 0
lea ecx, [ebp - 0x30c]
call fcn.004fa7e0
push 0x51bbe0
lea ecx, [ebp - 0x30c]
call fcn.004fa6f0
push 1
lea ecx, [ebp - 0x30c]
call sym.QiyiInstaller.exe_public:_unsigned_int___thiscall_DuiLib::CWindowWnd::ShowModal_bool_
push 0
push 0
push 0x464
mov eax, dword [ebp - 0x384]
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x30c]
call fcn.004fa9f0
jmp 0x4e3477
push 0x51bbe8
push ecx
mov ecx, esp
mov dword [ebp - 0x340], esp
push 0x51bbec
call fcn.004037d0
mov dword [ebp - 0x398], eax
lea edx, [ebp - 0x344]
push edx
call fcn.004e4ad0
add esp, 8
mov dword [ebp - 0x39c], eax
mov eax, dword [ebp - 0x39c]
mov dword [ebp - 0x3a0], eax
mov ecx, dword [ebp - 0x3a0]
push ecx
call fcn.00404350
add esp, 8
mov byte [ebp - 0x339], al
lea ecx, [ebp - 0x344]
call fcn.00407160
movzx edx, byte [ebp - 0x339]
test edx, edx
je 0x4e2dcc
push ecx
mov ecx, esp
mov dword [ebp - 0x348], esp
push 0x51bc1c
call fcn.004037d0
mov dword [ebp - 0x3a4], eax
lea eax, [ebp - 0x310]
push eax
call fcn.004e4ad0
add esp, 8
mov dword [ebp - 0x3a8], eax
lea ecx, [ebp - 0x310]
call fcn.004043d0
movzx ecx, al
test ecx, ecx
jne 0x4e2dbf
mov edx, dword [ebp - 0x384]
mov dword [edx + 0x3b8], 1
lea ecx, [ebp - 0x310]
call fcn.00407160
jmp 0x4e2ddc
mov eax, dword [ebp - 0x384]
mov dword [eax + 0x3b8], 1
cmp dword [0x557018], 0
je 0x4e2e0e
push 0
mov ecx, dword [ebp - 0x384]
mov edx, dword [ecx + 4]
push edx
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [ebp - 0x384]
call fcn.004e29b0
jmp 0x4e3477
lea ecx, [ebp - 0x28]
call fcn.00407070
mov dword [ebp - 4], 2
mov dword [ebp - 0x34c], 1
lea eax, [ebp - 0x34c]
push eax
lea ecx, [ebp - 0x28]
call fcn.00408410
mov dword [ebp - 0x350], 2
lea ecx, [ebp - 0x350]
push ecx
lea ecx, [ebp - 0x28]
call fcn.00408410
mov dword [ebp - 0x354], 6
lea edx, [ebp - 0x354]
push edx
lea ecx, [ebp - 0x28]
call fcn.00408410
lea ecx, [ebp - 0x10]
call fcn.00402e30
mov byte [ebp - 4], 3
mov eax, dword [0x556fb0]
push eax
push str._sPStyleInstallConfig.ini
lea ecx, [ebp - 0x10]
push ecx
call fcn.00405f70
add esp, 0xc
mov dword [ebp - 0x314], 0
jmp 0x4e2ea6
mov edx, dword [ebp - 0x314]
add edx, 1
mov dword [ebp - 0x314], edx
lea ecx, [ebp - 0x28]
call fcn.00408390
cmp dword [ebp - 0x314], eax
jae 0x4e321f
lea ecx, [ebp - 0x320]
call fcn.00402e30
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x314]
push eax
lea ecx, [ebp - 0x28]
call fcn.00491fb0
mov ecx, dword [eax]
push ecx
push str.hot_d
lea edx, [ebp - 0x320]
push edx
call fcn.00405f70
add esp, 0xc
lea ecx, [ebp - 0x324]
call fcn.00402e30
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x31c]
call fcn.00402e30
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x318]
call fcn.00402e30
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x10]
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
push 0x104
push 0x104
lea ecx, [ebp - 0x324]
call fcn.00403590
push eax
push 0x51bc80
push str.AlbumID
lea ecx, [ebp - 0x320]
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push 0xffffffffffffffff
lea ecx, [ebp - 0x324]
call fcn.00405e70
lea ecx, [ebp - 0x10]
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
push 0x104
push 0x104
lea ecx, [ebp - 0x31c]
call fcn.00403590
push eax
push 0x51bc94
push str.AlbumName
lea ecx, [ebp - 0x320]
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push 0xffffffffffffffff
lea ecx, [ebp - 0x31c]
call fcn.00405e70
lea ecx, [ebp - 0x10]
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
push 0x104
push 0x104
lea ecx, [ebp - 0x318]
call fcn.00403590
push eax
push 0x51bcac
push str.Picture
lea ecx, [ebp - 0x320]
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push 0xffffffffffffffff
lea ecx, [ebp - 0x318]
call fcn.00405e70
lea ecx, [ebp - 0x324]
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
call fcn.004c24ad
add esp, 4
mov dword [ebp - 0x3b0], eax
mov dword [ebp - 0x3ac], edx
cmp dword [ebp - 0x3ac], 0
jl 0x4e31de
jg 0x4e3030
cmp dword [ebp - 0x3b0], 0
jbe 0x4e31de
push 0
push 0x51bcc0
lea ecx, [ebp - 0x318]
call fcn.00403f40
cmp eax, 0xffffffff
je 0x4e31de
push 0x400
call fcn.004a12b8
add esp, 4
mov dword [ebp - 0x35c], eax
mov byte [ebp - 4], 8
cmp dword [ebp - 0x35c], 0
je 0x4e30ea
push ecx
mov ecx, esp
mov dword [ebp - 0x360], esp
lea eax, [ebp - 0x318]
push eax
call fcn.004020c0
mov dword [ebp - 0x3b4], eax
mov ecx, dword [ebp - 0x3b4]
mov dword [ebp - 0x3b8], ecx
mov byte [ebp - 4], 9
push ecx
mov ecx, esp
mov dword [ebp - 0x364], esp
lea edx, [ebp - 0x31c]
push edx
call fcn.004020c0
mov dword [ebp - 0x3bc], eax
lea ecx, [ebp - 0x324]
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
call fcn.004c24ad
add esp, 4
push edx
push eax
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x35c]
call fcn.004fa330
mov dword [ebp - 0x3c0], eax
mov eax, dword [ebp - 0x3c0]
mov dword [ebp - 0x3c4], eax
jmp 0x4e30f4
mov dword [ebp - 0x3c4], 0
mov ecx, dword [ebp - 0x3c4]
mov dword [ebp - 0x358], ecx
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x358]
mov dword [ebp - 0x32c], edx
mov eax, dword [ebp - 0x32c]
push eax
mov ecx, dword [ebp - 0x384]
mov edx, dword [ecx + 0x3a4]
mov eax, dword [ebp - 0x384]
mov ecx, dword [eax + 0x3a4]
add ecx, 0x3ac
mov edx, dword [edx + 0x3ac]
mov eax, dword [edx + 0x10]
call eax
push 0x404
call fcn.004a12b8
add esp, 4
mov dword [ebp - 0x36c], eax
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x36c], 0
je 0x4e3173
mov ecx, dword [ebp - 0x36c]
call sym.QiyiInstaller.exe_public:_void___thiscall_DuiLib::CHorizontalLayoutUI::constructor_void_
mov dword [ebp - 0x3c8], eax
jmp 0x4e317d
mov dword [ebp - 0x3c8], 0
mov ecx, dword [ebp - 0x3c8]
mov dword [ebp - 0x368], ecx
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x368]
mov dword [ebp - 0x328], edx
push 0x14
mov eax, dword [ebp - 0x328]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x328]
mov eax, dword [edx + 0x5c]
call eax
mov ecx, dword [ebp - 0x328]
push ecx
mov edx, dword [ebp - 0x384]
mov eax, dword [edx + 0x3a4]
mov ecx, dword [ebp - 0x384]
mov ecx, dword [ecx + 0x3a4]
add ecx, 0x3ac
mov edx, dword [eax + 0x3ac]
mov eax, dword [edx + 0x10]
call eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x318]
call fcn.00407160
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x31c]
call fcn.00407160
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x324]
call fcn.00407160
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x320]
call fcn.00407160
jmp 0x4e2e97
mov ecx, dword [ebp - 0x384]
mov edx, dword [ecx + 0x3a4]
mov eax, dword [ebp - 0x384]
mov ecx, dword [eax + 0x3a4]
add ecx, 0x3ac
mov edx, dword [edx + 0x3ac]
mov eax, dword [edx + 0xc]
call eax
cmp eax, 1
jge 0x4e3273
push 1
mov ecx, dword [ebp - 0x384]
mov edx, dword [ecx + 0x3ac]
mov eax, dword [ebp - 0x384]
mov ecx, dword [eax + 0x3ac]
mov edx, dword [edx]
mov eax, dword [edx + 0xc8]
call eax
jmp 0x4e32bb
push 1
mov ecx, dword [ebp - 0x384]
mov edx, dword [ecx + 0x3a8]
mov eax, dword [ebp - 0x384]
mov ecx, dword [eax + 0x3a8]
mov edx, dword [edx]
mov eax, dword [edx + 0xc8]
call eax
push 1
mov ecx, dword [ebp - 0x384]
mov edx, dword [ecx + 0x3a4]
mov eax, dword [ebp - 0x384]
mov ecx, dword [eax + 0x3a4]
mov edx, dword [edx]
mov eax, dword [edx + 0xc8]
call eax
push ecx
mov esi, esp
mov dword [ebp - 0x370], esp
push ecx
mov ecx, esp
mov dword [ebp - 0x374], esp
push 0x51bcd0
call fcn.004037d0
mov dword [ebp - 0x3cc], eax
push esi
call fcn.004e4ad0
add esp, 8
mov dword [ebp - 0x3d0], eax
mov ecx, dword [ebp - 0x3d0]
mov dword [ebp - 0x3d4], ecx
mov byte [ebp - 4], 0xb
push ecx
mov esi, esp
mov dword [ebp - 0x378], esp
push ecx
mov ecx, esp
mov dword [ebp - 0x37c], esp
push 0x51bcf0
call fcn.004037d0
mov dword [ebp - 0x3d8], eax
push esi
call fcn.004e4ad0
add esp, 8
mov dword [ebp - 0x3dc], eax
mov edx, dword [ebp - 0x3dc]
mov dword [ebp - 0x3e0], edx
mov byte [ebp - 4], 3
mov ecx, 0x556f08
call fcn.004f66c0
mov dword [ebp - 0x3e4], eax
cmp dword [ebp - 0x3e4], 0
je 0x4e33dd
push 1
mov eax, dword [ebp - 0x384]
mov ecx, dword [eax + 0x394]
mov edx, dword [ebp - 0x384]
mov eax, dword [edx + 0x394]
mov edx, dword [ecx]
mov ecx, eax
mov eax, dword [edx + 0xc8]
call eax
push 1
mov ecx, dword [ebp - 0x384]
mov ecx, dword [ecx + 0x394]
call sym.QiyiInstaller.exe_public:_void___thiscall_DuiLib::COptionUI::Selected_bool_
push 1
mov edx, dword [ebp - 0x384]
mov eax, dword [edx + 0x398]
mov ecx, dword [ebp - 0x384]
mov ecx, dword [ecx + 0x398]
mov edx, dword [eax]
mov eax, dword [edx + 0xc8]
call eax
push 0x51bd08
mov ecx, dword [ebp - 0x384]
mov edx, dword [ecx + 0x3a0]
mov eax, dword [ebp - 0x384]
mov ecx, dword [eax + 0x3a0]
mov edx, dword [edx]
mov eax, dword [edx + 0x2c]
call eax
jmp 0x4e345c
push 1
mov ecx, dword [ebp - 0x384]
mov edx, dword [ecx + 0x390]
mov eax, dword [ebp - 0x384]
mov ecx, dword [eax + 0x390]
mov edx, dword [edx]
mov eax, dword [edx + 0xc8]
call eax
push 1
mov ecx, dword [ebp - 0x384]
mov ecx, dword [ecx + 0x390]
call sym.QiyiInstaller.exe_public:_void___thiscall_DuiLib::COptionUI::Selected_bool_
push 1
mov edx, dword [ebp - 0x384]
mov eax, dword [edx + 0x398]
mov ecx, dword [ebp - 0x384]
mov ecx, dword [ecx + 0x398]
mov edx, dword [eax]
mov eax, dword [edx + 0xc8]
call eax
push 0x51bd10
mov ecx, dword [ebp - 0x384]
mov edx, dword [ecx + 0x3a0]
mov eax, dword [ebp - 0x384]
mov ecx, dword [eax + 0x3a0]
mov edx, dword [edx]
mov eax, dword [edx + 0x2c]
call eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x10]
call fcn.00407160
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.004070e0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x2c]
xor ecx, ebp
call fcn.004bfe65
mov esp, ebp
pop ebp
ret