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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f9a40
mov eax, dword fs:[0]
push eax
sub esp, 0x3d8
mov eax, dword [0x541af0]
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, 0x546d8c
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4d571c
push 0x50dbfc
push 0x546d8c
lea eax, [ebp - 0x334]
push eax
call fcn.00404490
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 0x4d5710
push str.QiyiApp.exe
push 0x546d8c
lea eax, [ebp - 0x338]
push eax
call fcn.00404490
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 0x4d571c
mov dword [ebp - 0x394], 0
jmp 0x4d5726
mov dword [ebp - 0x394], 1
mov dl, byte [ebp - 0x394]
mov byte [ebp - 0x32d], dl
mov eax, dword [ebp - 0x380]
and eax, 2
je 0x4d574f
and dword [ebp - 0x380], 0xfffffffd
lea ecx, [ebp - 0x338]
call fcn.004030e0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x380]
and ecx, 1
je 0x4d5773
and dword [ebp - 0x380], 0xfffffffe
lea ecx, [ebp - 0x334]
call fcn.004030e0
movzx edx, byte [ebp - 0x32d]
test edx, edx
je 0x4d5805
lea ecx, [ebp - 0x30c]
call fcn.004edec0
mov dword [ebp - 4], 1
push 0x50dc34
lea ecx, [ebp - 0x30c]
call fcn.004edc00
push 0
lea ecx, [ebp - 0x30c]
call fcn.004edc80
push 0x50dc58
lea ecx, [ebp - 0x30c]
call fcn.004edb90
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.004ede90
jmp 0x4d5f77
push 0x50dc60
push ecx
mov ecx, esp
mov dword [ebp - 0x340], esp
push 0x50dc64
call fcn.00403a90
mov dword [ebp - 0x398], eax
lea edx, [ebp - 0x344]
push edx
call fcn.004d75f0
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.00404610
add esp, 8
mov byte [ebp - 0x339], al
lea ecx, [ebp - 0x344]
call fcn.004030e0
movzx edx, byte [ebp - 0x339]
test edx, edx
je 0x4d58cc
push ecx
mov ecx, esp
mov dword [ebp - 0x348], esp
push 0x50dc94
call fcn.00403a90
mov dword [ebp - 0x3a4], eax
lea eax, [ebp - 0x310]
push eax
call fcn.004d75f0
add esp, 8
mov dword [ebp - 0x3a8], eax
lea ecx, [ebp - 0x310]
call fcn.00404690
movzx ecx, al
test ecx, ecx
jne 0x4d58bf
mov edx, dword [ebp - 0x384]
mov dword [edx + 0x3b8], 1
lea ecx, [ebp - 0x310]
call fcn.004030e0
jmp 0x4d58dc
mov eax, dword [ebp - 0x384]
mov dword [eax + 0x3b8], 1
cmp dword [0x546df8], 0
je 0x4d590e
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.004d54b0
jmp 0x4d5f77
lea ecx, [ebp - 0x28]
call fcn.00414840
mov dword [ebp - 4], 2
mov dword [ebp - 0x34c], 1
lea eax, [ebp - 0x34c]
push eax
lea ecx, [ebp - 0x28]
call fcn.00408420
mov dword [ebp - 0x350], 2
lea ecx, [ebp - 0x350]
push ecx
lea ecx, [ebp - 0x28]
call fcn.00408420
mov dword [ebp - 0x354], 6
lea edx, [ebp - 0x354]
push edx
lea ecx, [ebp - 0x28]
call fcn.00408420
lea ecx, [ebp - 0x10]
call fcn.00407160
mov byte [ebp - 4], 3
mov eax, dword [0x546d90]
push eax
push str._sPStyleInstallConfig.ini
lea ecx, [ebp - 0x10]
push ecx
call fcn.00406050
add esp, 0xc
mov dword [ebp - 0x314], 0
jmp 0x4d59a6
mov edx, dword [ebp - 0x314]
add edx, 1
mov dword [ebp - 0x314], edx
lea ecx, [ebp - 0x28]
call fcn.00401180
cmp dword [ebp - 0x314], eax
jae 0x4d5d1f
lea ecx, [ebp - 0x320]
call fcn.00407160
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x314]
push eax
lea ecx, [ebp - 0x28]
call fcn.004010d0
mov ecx, dword [eax]
push ecx
push str.hot_d
lea edx, [ebp - 0x320]
push edx
call fcn.00406050
add esp, 0xc
lea ecx, [ebp - 0x324]
call fcn.00407160
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x31c]
call fcn.00407160
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x318]
call fcn.00407160
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.004037f0
push eax
push 0x50dcf8
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.00405f50
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.004037f0
push eax
push 0x50dd0c
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.00405f50
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.004037f0
push eax
push 0x50dd24
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.00405f50
lea ecx, [ebp - 0x324]
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
call fcn.004b82ad
add esp, 4
mov dword [ebp - 0x3b0], eax
mov dword [ebp - 0x3ac], edx
cmp dword [ebp - 0x3ac], 0
jl 0x4d5cde
jg 0x4d5b30
cmp dword [ebp - 0x3b0], 0
jbe 0x4d5cde
push 0
push 0x50dd38
lea ecx, [ebp - 0x318]
call fcn.00404200
cmp eax, 0xffffffff
je 0x4d5cde
push 0x400
call fcn.00496cc8
add esp, 4
mov dword [ebp - 0x35c], eax
mov byte [ebp - 4], 8
cmp dword [ebp - 0x35c], 0
je 0x4d5bea
push ecx
mov ecx, esp
mov dword [ebp - 0x360], esp
lea eax, [ebp - 0x318]
push eax
call fcn.00402350
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.00402350
mov dword [ebp - 0x3bc], eax
lea ecx, [ebp - 0x324]
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
call fcn.004b82ad
add esp, 4
push edx
push eax
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x35c]
call fcn.004ed7d0
mov dword [ebp - 0x3c0], eax
mov eax, dword [ebp - 0x3c0]
mov dword [ebp - 0x3c4], eax
jmp 0x4d5bf4
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 0x4d5c73
mov ecx, dword [ebp - 0x36c]
call sym.QiyiInstaller.exe_public:_void___thiscall_DuiLib::CHorizontalLayoutUI::constructor_void_
mov dword [ebp - 0x3c8], eax
jmp 0x4d5c7d
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.004030e0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x31c]
call fcn.004030e0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x324]
call fcn.004030e0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x320]
call fcn.004030e0
jmp 0x4d5997
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 0x4d5d73
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 0x4d5dbb
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 0x50dd48
call fcn.00403a90
mov dword [ebp - 0x3cc], eax
push esi
call fcn.004d75f0
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 0x50dd68
call fcn.00403a90
mov dword [ebp - 0x3d8], eax
push esi
call fcn.004d75f0
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, 0x546ce8
call fcn.004e95d0
mov dword [ebp - 0x3e4], eax
cmp dword [ebp - 0x3e4], 0
je 0x4d5edd
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 0x50dd80
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 0x4d5f5c
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 0x50dd88
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.004030e0
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.004b5c0b
mov esp, ebp
pop ebp
ret