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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4fa538
mov eax, dword fs:[0]
push eax
sub esp, 0x3d8
mov eax, dword [0x542af0]
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, 0x547d84
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4d567c
push 0x50ebdc
push 0x547d84
lea eax, [ebp - 0x334]
push eax
call fcn.00404270
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 0x4d5670
push str.QiyiApp.exe
push 0x547d84
lea eax, [ebp - 0x338]
push eax
call fcn.00404270
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 0x4d567c
mov dword [ebp - 0x394], 0
jmp 0x4d5686
mov dword [ebp - 0x394], 1
mov dl, byte [ebp - 0x394]
mov byte [ebp - 0x32d], dl
mov eax, dword [ebp - 0x380]
and eax, 2
je 0x4d56af
and dword [ebp - 0x380], 0xfffffffd
lea ecx, [ebp - 0x338]
call fcn.00402ea0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x380]
and ecx, 1
je 0x4d56d3
and dword [ebp - 0x380], 0xfffffffe
lea ecx, [ebp - 0x334]
call fcn.00402ea0
movzx edx, byte [ebp - 0x32d]
test edx, edx
je 0x4d5765
lea ecx, [ebp - 0x30c]
call fcn.004ee9b0
mov dword [ebp - 4], 1
push 0x50ec14
lea ecx, [ebp - 0x30c]
call fcn.004ee6f0
push 0
lea ecx, [ebp - 0x30c]
call fcn.004ee770
push 0x50ec38
lea ecx, [ebp - 0x30c]
call fcn.004ee680
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.004ee980
jmp 0x4d5ed7
push 0x50ec40
push ecx
mov ecx, esp
mov dword [ebp - 0x340], esp
push 0x50ec44
call fcn.00403870
mov dword [ebp - 0x398], eax
lea edx, [ebp - 0x344]
push edx
call fcn.004d7550
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.004043f0
add esp, 8
mov byte [ebp - 0x339], al
lea ecx, [ebp - 0x344]
call fcn.00402ea0
movzx edx, byte [ebp - 0x339]
test edx, edx
je 0x4d582c
push ecx
mov ecx, esp
mov dword [ebp - 0x348], esp
push 0x50ec74
call fcn.00403870
mov dword [ebp - 0x3a4], eax
lea eax, [ebp - 0x310]
push eax
call fcn.004d7550
add esp, 8
mov dword [ebp - 0x3a8], eax
lea ecx, [ebp - 0x310]
call fcn.00404470
movzx ecx, al
test ecx, ecx
jne 0x4d581f
mov edx, dword [ebp - 0x384]
mov dword [edx + 0x3b8], 1
lea ecx, [ebp - 0x310]
call fcn.00402ea0
jmp 0x4d583c
mov eax, dword [ebp - 0x384]
mov dword [eax + 0x3b8], 1
cmp dword [0x547df0], 0
je 0x4d586e
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.004d5410
jmp 0x4d5ed7
lea ecx, [ebp - 0x28]
call fcn.004010d0
mov dword [ebp - 4], 2
mov dword [ebp - 0x34c], 1
lea eax, [ebp - 0x34c]
push eax
lea ecx, [ebp - 0x28]
call fcn.00408550
mov dword [ebp - 0x350], 2
lea ecx, [ebp - 0x350]
push ecx
lea ecx, [ebp - 0x28]
call fcn.00408550
mov dword [ebp - 0x354], 6
lea edx, [ebp - 0x354]
push edx
lea ecx, [ebp - 0x28]
call fcn.00408550
lea ecx, [ebp - 0x10]
call fcn.00402e80
mov byte [ebp - 4], 3
mov eax, dword [0x547d88]
push eax
push str._sPStyleInstallConfig.ini
lea ecx, [ebp - 0x10]
push ecx
call fcn.004061c0
add esp, 0xc
mov dword [ebp - 0x314], 0
jmp 0x4d5906
mov edx, dword [ebp - 0x314]
add edx, 1
mov dword [ebp - 0x314], edx
lea ecx, [ebp - 0x28]
call fcn.00414c50
cmp dword [ebp - 0x314], eax
jae 0x4d5c7f
lea ecx, [ebp - 0x320]
call fcn.00402e80
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x314]
push eax
lea ecx, [ebp - 0x28]
call fcn.00408520
mov ecx, dword [eax]
push ecx
push str.hot_d
lea edx, [ebp - 0x320]
push edx
call fcn.004061c0
add esp, 0xc
lea ecx, [ebp - 0x324]
call fcn.00402e80
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x31c]
call fcn.00402e80
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x318]
call fcn.00402e80
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.00403630
push eax
push 0x50ecd8
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.004060c0
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.00403630
push eax
push 0x50ecec
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.004060c0
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.00403630
push eax
push 0x50ed04
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.004060c0
lea ecx, [ebp - 0x324]
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
call fcn.004b81cd
add esp, 4
mov dword [ebp - 0x3b0], eax
mov dword [ebp - 0x3ac], edx
cmp dword [ebp - 0x3ac], 0
jl 0x4d5c3e
jg 0x4d5a90
cmp dword [ebp - 0x3b0], 0
jbe 0x4d5c3e
push 0
push 0x50ed18
lea ecx, [ebp - 0x318]
call fcn.00403fe0
cmp eax, 0xffffffff
je 0x4d5c3e
push 0x400
call fcn.00496cc8
add esp, 4
mov dword [ebp - 0x35c], eax
mov byte [ebp - 4], 8
cmp dword [ebp - 0x35c], 0
je 0x4d5b4a
push ecx
mov ecx, esp
mov dword [ebp - 0x360], esp
lea eax, [ebp - 0x318]
push eax
call fcn.004020d0
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.004020d0
mov dword [ebp - 0x3bc], eax
lea ecx, [ebp - 0x324]
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
call fcn.004b81cd
add esp, 4
push edx
push eax
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x35c]
call fcn.004ee2c0
mov dword [ebp - 0x3c0], eax
mov eax, dword [ebp - 0x3c0]
mov dword [ebp - 0x3c4], eax
jmp 0x4d5b54
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.00496cc8
add esp, 4
mov dword [ebp - 0x36c], eax
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x36c], 0
je 0x4d5bd3
mov ecx, dword [ebp - 0x36c]
call sym.QiyiInstaller.exe_public:_void___thiscall_DuiLib::CHorizontalLayoutUI::constructor_void_
mov dword [ebp - 0x3c8], eax
jmp 0x4d5bdd
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.00402ea0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x31c]
call fcn.00402ea0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x324]
call fcn.00402ea0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x320]
call fcn.00402ea0
jmp 0x4d58f7
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 0x4d5cd3
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 0x4d5d1b
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 0x50ed28
call fcn.00403870
mov dword [ebp - 0x3cc], eax
push esi
call fcn.004d7550
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 0x50ed48
call fcn.00403870
mov dword [ebp - 0x3d8], eax
push esi
call fcn.004d7550
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, 0x547ce0
call fcn.004ea0c0
mov dword [ebp - 0x3e4], eax
cmp dword [ebp - 0x3e4], 0
je 0x4d5e3d
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 0x50ed60
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 0x4d5ebc
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 0x50ed68
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.00402ea0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.004010b0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x2c]
xor ecx, ebp
call fcn.004b5b83
mov esp, ebp
pop ebp
ret