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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5018a4
mov eax, dword fs:[0]
push eax
sub esp, 0x3d8
mov eax, dword [0x54eb90]
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, 0x553eec
call sym.QiyiInstaller.exe_public:_char_const____thiscall_Json::StaticString::operator_char_const__void_const
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4df75c
push 0x5169ac
push 0x553eec
lea eax, [ebp - 0x334]
push eax
call fcn.00404230
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:_char_const____thiscall_Json::StaticString::operator_char_const__void_const
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x4df750
push str.QiyiApp.exe
push 0x553eec
lea eax, [ebp - 0x338]
push eax
call fcn.00404230
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:_char_const____thiscall_Json::StaticString::operator_char_const__void_const
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4df75c
mov dword [ebp - 0x394], 0
jmp 0x4df766
mov dword [ebp - 0x394], 1
mov dl, byte [ebp - 0x394]
mov byte [ebp - 0x32d], dl
mov eax, dword [ebp - 0x380]
and eax, 2
je 0x4df78f
and dword [ebp - 0x380], 0xfffffffd
lea ecx, [ebp - 0x338]
call fcn.00402e80
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x380]
and ecx, 1
je 0x4df7b3
and dword [ebp - 0x380], 0xfffffffe
lea ecx, [ebp - 0x334]
call fcn.00402e80
movzx edx, byte [ebp - 0x32d]
test edx, edx
je 0x4df843
lea ecx, [ebp - 0x30c]
call fcn.004f5cf0
mov dword [ebp - 4], 1
push 0x5169e4
lea ecx, [ebp - 0x30c]
call fcn.004f5a30
push 0
lea ecx, [ebp - 0x30c]
call fcn.004f5ab0
push 0x516a08
lea ecx, [ebp - 0x30c]
call fcn.004f59c0
lea ecx, [ebp - 0x30c]
call sym.QiyiInstaller.exe_public:_unsigned_int___thiscall_DuiLib::CWindowWnd::ShowModal_void_
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.004f5cc0
jmp 0x4dffb5
push 0x516a10
push ecx
mov ecx, esp
mov dword [ebp - 0x340], esp
push 0x516a14
call fcn.00403820
mov dword [ebp - 0x398], eax
lea edx, [ebp - 0x344]
push edx
call fcn.004e15d0
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.004043b0
add esp, 8
mov byte [ebp - 0x339], al
lea ecx, [ebp - 0x344]
call fcn.00402e80
movzx edx, byte [ebp - 0x339]
test edx, edx
je 0x4df90a
push ecx
mov ecx, esp
mov dword [ebp - 0x348], esp
push 0x516a44
call fcn.00403820
mov dword [ebp - 0x3a4], eax
lea eax, [ebp - 0x310]
push eax
call fcn.004e15d0
add esp, 8
mov dword [ebp - 0x3a8], eax
lea ecx, [ebp - 0x310]
call fcn.00404430
movzx ecx, al
test ecx, ecx
jne 0x4df8fd
mov edx, dword [ebp - 0x384]
mov dword [edx + 0x3b8], 1
lea ecx, [ebp - 0x310]
call fcn.00402e80
jmp 0x4df91a
mov eax, dword [ebp - 0x384]
mov dword [eax + 0x3b8], 1
cmp dword [0x553f58], 0
je 0x4df94c
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.004df4f0
jmp 0x4dffb5
lea ecx, [ebp - 0x28]
call fcn.00410c70
mov dword [ebp - 4], 2
mov dword [ebp - 0x34c], 1
lea eax, [ebp - 0x34c]
push eax
lea ecx, [ebp - 0x28]
call fcn.00408280
mov dword [ebp - 0x350], 2
lea ecx, [ebp - 0x350]
push ecx
lea ecx, [ebp - 0x28]
call fcn.00408280
mov dword [ebp - 0x354], 6
lea edx, [ebp - 0x354]
push edx
lea ecx, [ebp - 0x28]
call fcn.00408280
lea ecx, [ebp - 0x10]
call fcn.00407130
mov byte [ebp - 4], 3
mov eax, dword [0x553ef0]
push eax
push str._sPStyleInstallConfig.ini
lea ecx, [ebp - 0x10]
push ecx
call fcn.00406020
add esp, 0xc
mov dword [ebp - 0x314], 0
jmp 0x4df9e4
mov edx, dword [ebp - 0x314]
add edx, 1
mov dword [ebp - 0x314], edx
lea ecx, [ebp - 0x28]
call fcn.0049df30
cmp dword [ebp - 0x314], eax
jae 0x4dfd5d
lea ecx, [ebp - 0x320]
call fcn.00407130
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x314]
push eax
lea ecx, [ebp - 0x28]
call fcn.0048bf60
mov ecx, dword [eax]
push ecx
push str.hot_d
lea edx, [ebp - 0x320]
push edx
call fcn.00406020
add esp, 0xc
lea ecx, [ebp - 0x324]
call fcn.00407130
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x31c]
call fcn.00407130
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x318]
call fcn.00407130
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x10]
call sym.QiyiInstaller.exe_public:_char_const____thiscall_Json::StaticString::operator_char_const__void_const
push eax
push 0x104
push 0x104
lea ecx, [ebp - 0x324]
call fcn.004035b0
push eax
push 0x516aa8
push str.AlbumID
lea ecx, [ebp - 0x320]
call sym.QiyiInstaller.exe_public:_char_const____thiscall_Json::StaticString::operator_char_const__void_const
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push 0xffffffffffffffff
lea ecx, [ebp - 0x324]
call fcn.00405f20
lea ecx, [ebp - 0x10]
call sym.QiyiInstaller.exe_public:_char_const____thiscall_Json::StaticString::operator_char_const__void_const
push eax
push 0x104
push 0x104
lea ecx, [ebp - 0x31c]
call fcn.004035b0
push eax
push 0x516abc
push str.AlbumName
lea ecx, [ebp - 0x320]
call sym.QiyiInstaller.exe_public:_char_const____thiscall_Json::StaticString::operator_char_const__void_const
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push 0xffffffffffffffff
lea ecx, [ebp - 0x31c]
call fcn.00405f20
lea ecx, [ebp - 0x10]
call sym.QiyiInstaller.exe_public:_char_const____thiscall_Json::StaticString::operator_char_const__void_const
push eax
push 0x104
push 0x104
lea ecx, [ebp - 0x318]
call fcn.004035b0
push eax
push 0x516ad4
push str.Picture
lea ecx, [ebp - 0x320]
call sym.QiyiInstaller.exe_public:_char_const____thiscall_Json::StaticString::operator_char_const__void_const
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push 0xffffffffffffffff
lea ecx, [ebp - 0x318]
call fcn.00405f20
lea ecx, [ebp - 0x324]
call sym.QiyiInstaller.exe_public:_char_const____thiscall_Json::StaticString::operator_char_const__void_const
push eax
call fcn.004bfddd
add esp, 4
mov dword [ebp - 0x3b0], eax
mov dword [ebp - 0x3ac], edx
cmp dword [ebp - 0x3ac], 0
jl 0x4dfd1c
jg 0x4dfb6e
cmp dword [ebp - 0x3b0], 0
jbe 0x4dfd1c
push 0
push 0x516ae8
lea ecx, [ebp - 0x318]
call fcn.00403fa0
cmp eax, 0xffffffff
je 0x4dfd1c
push 0x400
call fcn.0049eef8
add esp, 4
mov dword [ebp - 0x35c], eax
mov byte [ebp - 4], 8
cmp dword [ebp - 0x35c], 0
je 0x4dfc28
push ecx
mov ecx, esp
mov dword [ebp - 0x360], esp
lea eax, [ebp - 0x318]
push eax
call fcn.00402120
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.00402120
mov dword [ebp - 0x3bc], eax
lea ecx, [ebp - 0x324]
call sym.QiyiInstaller.exe_public:_char_const____thiscall_Json::StaticString::operator_char_const__void_const
push eax
call fcn.004bfddd
add esp, 4
push edx
push eax
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x35c]
call fcn.004f5600
mov dword [ebp - 0x3c0], eax
mov eax, dword [ebp - 0x3c0]
mov dword [ebp - 0x3c4], eax
jmp 0x4dfc32
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.0049eef8
add esp, 4
mov dword [ebp - 0x36c], eax
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x36c], 0
je 0x4dfcb1
mov ecx, dword [ebp - 0x36c]
call sym.QiyiInstaller.exe_public:_void___thiscall_DuiLib::CHorizontalLayoutUI::constructor_void_
mov dword [ebp - 0x3c8], eax
jmp 0x4dfcbb
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.00402e80
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x31c]
call fcn.00402e80
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x324]
call fcn.00402e80
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x320]
call fcn.00402e80
jmp 0x4df9d5
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 0x4dfdb1
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 0x4dfdf9
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 0x516af8
call fcn.00403820
mov dword [ebp - 0x3cc], eax
push esi
call fcn.004e15d0
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 0x516b18
call fcn.00403820
mov dword [ebp - 0x3d8], eax
push esi
call fcn.004e15d0
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, 0x553e48
call fcn.004f1b80
mov dword [ebp - 0x3e4], eax
cmp dword [ebp - 0x3e4], 0
je 0x4dff1b
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 0x516b30
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 0x4dff9a
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 0x516b38
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.00402e80
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.0040f0a0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x2c]
xor ecx, ebp
call fcn.004bd72f
mov esp, ebp
pop ebp
ret