Function at 0x418610
Capabilities:
Check if file exists
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5757e9
mov eax, dword fs:[0]
push eax
mov eax, 0x1a628
call fcn.0054a430
mov eax, dword [0x5dbcc8]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov edi, edx
mov esi, ebx
mov dword [ebp - 0x1a62c], ebx
mov dword [ebp - 0x1a630], edi
call fcn.00419c30
push 1
mov esi, 0x5e67c4
call fcn.0043ccc0
lea edx, [ebx + 0x18]
mov ecx, edi
call fcn.0041ab00
test al, al
jne 0x419a13
mov ecx, dword [ebx + 0xd4]
test ecx, ecx
je 0x418695
mov eax, dword [ecx]
mov edx, dword [eax + 0x110]
push str.FilmDetailSkin_filmdetaildefault.png
push str.bkimage
call edx
mov ecx, dword [ebx + 0xdc]
test ecx, ecx
je 0x4186ab
mov eax, dword [ecx]
mov edx, dword [eax + 0xcc]
push 0
call edx
mov ecx, dword [ebx + 0xe0]
test ecx, ecx
je 0x4186c1
mov eax, dword [ecx]
mov edx, dword [eax + 0xcc]
push 0
call edx
mov ecx, dword [ebx + 0xd8]
test ecx, ecx
je 0x4186d7
mov eax, dword [ecx]
mov edx, dword [eax + 0x2c]
push 0x5a55b8
call edx
mov ecx, dword [ebx + 0xe4]
test ecx, ecx
je 0x4186ed
mov eax, dword [ecx]
mov edx, dword [eax + 0x2c]
push 0x5a55b8
call edx
mov ecx, dword [ebx + 0xe8]
test ecx, ecx
je 0x418703
mov eax, dword [ecx]
mov edx, dword [eax + 0x2c]
push 0x5a55b8
call edx
mov ecx, dword [ebx + 0xec]
test ecx, ecx
je 0x418719
mov eax, dword [ecx]
mov edx, dword [eax + 0x2c]
push 0x5a55b8
call edx
mov ecx, dword [ebx + 0xf0]
test ecx, ecx
je 0x41872f
mov eax, dword [ecx]
mov edx, dword [eax + 0x2c]
push 0x5a55b8
call edx
mov ecx, dword [ebx + 0xf4]
test ecx, ecx
je 0x418745
mov eax, dword [ecx]
mov edx, dword [eax + 0x2c]
push 0x5a55b8
call edx
mov ecx, dword [ebx + 0xf8]
test ecx, ecx
je 0x41875b
mov eax, dword [ecx]
mov edx, dword [eax + 0x2c]
push 0x5a55b8
call edx
mov ecx, dword [ebx + 0xfc]
test ecx, ecx
je 0x418771
mov eax, dword [ecx]
mov edx, dword [eax + 0x2c]
push 0x5a55b8
call edx
mov ecx, dword [ebx + 0x100]
test ecx, ecx
je 0x418787
mov eax, dword [ecx]
mov edx, dword [eax + 0x2c]
push 0x5a55b8
call edx
mov ecx, dword [ebx + 0x104]
test ecx, ecx
je 0x41879d
mov eax, dword [ecx]
mov edx, dword [eax + 0x2c]
push 0x5a55b8
call edx
mov ecx, dword [ebx + 0x3a8]
test ecx, ecx
je 0x4187b3
mov eax, dword [ecx]
mov edx, dword [eax + 0x2c]
push 0x5a55b8
call edx
mov ecx, dword [ebx + 0x108]
test ecx, ecx
je 0x4187c9
mov eax, dword [ecx]
mov edx, dword [eax + 0xcc]
push 0
call edx
mov ecx, dword [ebx + 0x10c]
test ecx, ecx
je 0x4187df
mov eax, dword [ecx]
mov edx, dword [eax + 0xcc]
push 0
call edx
mov ecx, dword [ebx + 0x110]
test ecx, ecx
je 0x4187f5
mov eax, dword [ecx]
mov edx, dword [eax + 0xcc]
push 0
call edx
mov ecx, dword [ebx + 0x118]
test ecx, ecx
je 0x418824
push 0xfff9f9f9
call dword [sym.imp.DuiLib_u.dll_public:_void___thiscall_DuiLib::CControlUI::SetBkColor_unsigned_long_int_]
mov ecx, dword [ebx + 0x118]
mov eax, dword [ecx]
mov edx, dword [eax + 0x110]
push str.fileFilmDetailSkin_arrow.png_source0_0_12_7_dest8_21_20_28
push str.bkimage
call edx
cmp dword [ebx + 0x390], 0
je 0x418865
mov ecx, dword [ebx + 0x398]
mov edx, dword [ebx + 0x394]
lea eax, [ebx + 0x394]
push ecx
push edx
lea ecx, [ebp - 0x1a61c]
push ecx
push eax
call fcn.0041ac70
mov ecx, dword [ebx + 0x390]
mov edx, dword [ecx + 0x4a0]
mov eax, dword [edx + 0x20]
add ecx, 0x4a0
call eax
push 1
lea ecx, [ebx + 0x11c]
push 0
call dword [sym.imp.DuiLib_u.dll_public:_void___thiscall_DuiLib::CWindowWnd::ShowWindow_bool__bool_]
mov ecx, dword [ebx + 0x3ac]
test ecx, ecx
je 0x41888b
mov edx, dword [ecx]
mov eax, dword [edx + 0xcc]
push 0
call eax
cmp dword [ebx + 0x3b0], 0
je 0x4188de
mov ecx, dword [ebx + 0xbc]
mov edx, dword [ebx + 0xb8]
lea eax, [ebx + 0xb8]
push ecx
push edx
lea ecx, [ebp - 0x1a61c]
push ecx
push eax
call fcn.0041ac70
mov ecx, dword [ebx + 0x3b0]
mov edx, dword [ecx + 0x4a0]
mov eax, dword [edx + 0x20]
add ecx, 0x4a0
call eax
mov ecx, dword [ebx + 0x3b0]
mov edx, dword [ecx]
mov eax, dword [edx + 0xcc]
push 0
call eax
mov ecx, dword [ebx + 0x3b4]
test ecx, ecx
je 0x4188f4
mov edx, dword [ecx]
mov eax, dword [edx + 0xcc]
push 0
call eax
mov ecx, dword [ebx + 0x3b8]
test ecx, ecx
je 0x41890a
mov edx, dword [ecx]
mov eax, dword [edx + 0xcc]
push 0
call eax
mov ecx, dword [ebx + 0x3bc]
test ecx, ecx
je 0x418920
mov edx, dword [ecx]
mov eax, dword [edx + 0xcc]
push 0
call eax
push 0
lea ecx, [ebx + 0x20]
push 0x5a55b8
call fcn.0040d560
lea esi, [ebx + 0x394]
push esi
lea edx, [ebx + 0xb8]
lea ecx, [ebx + 0x14]
push edi
call fcn.00405380
mov ecx, dword [esi + 4]
sub ecx, dword [esi]
mov eax, 0x63e7063f
imul ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add esp, 8
add ecx, edx
mov dword [ebp - 0x1a61c], 0
je 0x418ba7
mov dword [ebp - 0x1a618], 0
jmp 0x418980
mov edi, dword [ebx + 0x394]
add edi, dword [ebp - 0x1a618]
lea edx, [ebp - 0xcbc]
push edx
call fcn.0040b230
mov dword [ebp - 4], 0
mov esi, dword [ebx + 0x394]
add esi, dword [ebp - 0x1a618]
lea edi, [ebx + 0x14]
call fcn.004158c0
mov eax, dword [ebx + 0x394]
mov ecx, dword [ebp - 0x1a618]
mov esi, dword [ecx + eax + 0x6c]
lea edi, [ecx + eax + 0x6c]
mov ecx, dword [ebp - 0xc50]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x418a24
cmp dword [esi + 0xc], 0
jl 0x418a18
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x418a18
push eax
call fcn.0040d710
mov dword [ebp - 0x1a620], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x418a0b
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 0x1a620]
add ecx, 0x10
mov dword [edi], ecx
jmp 0x418a24
mov eax, dword [ecx - 0xc]
push eax
push ecx
mov ecx, edi
call fcn.0040d560
mov eax, dword [ebp - 0x1a618]
mov edx, dword [ebx + 0x394]
mov ecx, dword [ebp - 0xc90]
mov esi, dword [eax + edx + 0x2c]
lea edi, [eax + edx + 0x2c]
lea eax, [ecx - 0x10]
sub esi, 0x10
cmp eax, esi
je 0x418a95
cmp dword [esi + 0xc], 0
jl 0x418a89
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x418a89
push eax
call fcn.0040d710
mov dword [ebp - 0x1a620], eax
add esp, 4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x418a7c
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 0x1a620]
add ecx, 0x10
mov dword [edi], ecx
jmp 0x418a95
mov eax, dword [ecx - 0xc]
push eax
push ecx
mov ecx, edi
call fcn.0040d560
mov eax, dword [ebp - 0xc5c]
cmp dword [eax - 0xc], 0
jl 0x418ac2
push str..swf
push eax
call fcn.00547c5e
add esp, 8
test eax, eax
je 0x418ac2
mov ecx, dword [ebp - 0xc5c]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jne 0x418af0
mov edx, dword [ebx + 0x394]
mov edi, dword [ebp - 0x1a618]
push 5
lea ecx, [edi + edx + 0x60]
push str.__tN
call fcn.0040d560
mov eax, dword [ebx + 0x394]
mov ecx, dword [ebp - 0xc5c]
lea edi, [edi + eax + 0x68]
jmp 0x418b00
mov edx, dword [ebx + 0x394]
mov eax, dword [ebp - 0x1a618]
lea edi, [eax + edx + 0x60]
mov esi, dword [edi]
sub esi, 0x10
lea eax, [ecx - 0x10]
cmp eax, esi
je 0x418b59
cmp dword [esi + 0xc], 0
jl 0x418b4d
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x418b4d
push eax
call fcn.0040d710
mov dword [ebp - 0x1a620], eax
or ecx, 0xffffffff
lea eax, [esi + 0xc]
add esp, 4
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x418b40
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 0x1a620]
add ecx, 0x10
mov dword [edi], ecx
jmp 0x418b59
mov eax, dword [ecx - 0xc]
push eax
push ecx
mov ecx, edi
call fcn.0040d560
lea eax, [ebp - 0xcbc]
mov dword [ebp - 4], 0xffffffff
call fcn.00406a80
mov ecx, dword [ebx + 0x398]
sub ecx, dword [ebx + 0x394]
mov esi, dword [ebp - 0x1a61c]
add dword [ebp - 0x1a618], 0xa4
mov eax, 0x63e7063f
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
inc esi
add eax, edx
mov dword [ebp - 0x1a61c], esi
cmp esi, eax
jb 0x418980
lea ecx, [ebx + 0x11c]
call fcn.0041c7f0
cmp dword [ebx + 0xd4], 0
je 0x418e85
mov ecx, dword [ebx + 0x40]
cmp dword [ecx - 0xc], 0
je 0x418e85
push 0x3ff
lea edx, [ebp - 0xc13]
push 0
push edx
mov byte [ebp - 0xc14], 0
call fcn.00549e40
add esp, 0xc
push 1
push 0x1c
lea eax, [ebp - 0xc14]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
mov eax, dword [ebx + 0x40]
push ecx
sub eax, 0x10
mov dword [ebp - 0x1a61c], esp
mov esi, esp
push eax
call fcn.0040d710
add eax, 0x10
mov dword [esi], eax
add esp, 4
lea esi, [ebp - 0x1a624]
call fcn.004045e0
add esp, 4
lea esi, [ebp - 0xda0c]
mov dword [ebp - 4], 1
call fcn.00403050
mov esi, dword [ebx + 0x40]
mov dword [ebp - 0xda0c], 0x544547
test esi, esi
je 0x418c90
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jg 0x418c90
add eax, eax
mov dword [ebp - 0x1a618], eax
call fcn.0054bbf0
mov edi, esp
test edi, edi
je 0x418c90
mov ecx, dword [ebp - 0x1a618]
push 0
push 0
push ecx
push edi
push 0xffffffffffffffff
push esi
push 0
push 3
mov byte [edi], 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
neg eax
sbb eax, eax
and eax, edi
jmp 0x418c92
xor eax, eax
lea edx, [ebp - 0xd60c]
sub edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x418ca0
mov eax, dword [ebp - 0x1a624]
mov dword [ebp - 0x1a620], eax
test eax, eax
jne 0x418cc2
mov dword [ebp - 0x1a61c], eax
jmp 0x418d0d
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jg 0x418d05
lea edi, [eax + eax]
mov eax, edi
call fcn.0054bbf0
mov esi, esp
test esi, esi
je 0x418d05
mov edx, dword [ebp - 0x1a620]
push 0
push 0
push edi
push esi
push 0xffffffffffffffff
push edx
push 0
push 3
mov byte [esi], 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
neg eax
sbb eax, eax
and eax, esi
jmp 0x418d07
xor eax, eax
mov dword [ebp - 0x1a61c], eax
push 0x5a56b0
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jg 0x418d58
lea edi, [eax + eax]
mov eax, edi
call fcn.0054bbf0
mov esi, esp
test esi, esi
je 0x418d58
push 0
push 0
push edi
push esi
push 0xffffffffffffffff
push 0x5a56b0
push 0
push 3
mov byte [esi], 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
neg eax
sbb eax, eax
and eax, esi
mov dword [ebp - 0x1a618], eax
jmp 0x418d62
mov dword [ebp - 0x1a618], 0
push str.1905Cache1
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jg 0x418da7
lea edi, [eax + eax]
mov eax, edi
call fcn.0054bbf0
mov esi, esp
test esi, esi
je 0x418da7
push 0
push 0
push edi
push esi
push 0xffffffffffffffff
push str.1905Cache1
push 0
push 3
mov byte [esi], 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
neg eax
sbb eax, eax
and eax, esi
jmp 0x418da9
xor eax, eax
mov ecx, dword [ebp - 0x1a61c]
mov edx, dword [ebp - 0x1a618]
push ecx
push edx
push eax
lea eax, [ebp - 0xc14]
push eax
push str._s_s_s_s
lea ecx, [ebp - 0x860c]
push 0x2800
push ecx
call fcn.005468fa
add esp, 0x1c
lea edx, [ebp - 0x860c]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
jne 0x418e48
mov ecx, 0x5e5968
call dword [sym.imp.DuiLib_u.dll_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::GetHWND_void_const]
mov ecx, dword [ebp - 0x1a630]
mov dword [ebp - 0x360c], eax
lea eax, [ebp - 0x860c]
push eax
push ecx
push 0xa
lea edx, [ebp - 0x3604]
push str.type_did_s_saveFile_s
push edx
mov dword [ebp - 0x3608], 0x402
call fcn.00546876
add esp, 0x14
mov eax, 0xcc08
lea esi, [ebp - 0xda0c]
call fcn.0054a430
mov edi, esp
mov ecx, 0x3302
rep movsd dword es:[edi], dword [esi]
call fcn.004028a0
jmp 0x418e5c
mov ecx, dword [ebp - 0x1a630]
lea eax, [ebp - 0x860c]
push eax
mov esi, ebx
call fcn.00419a90
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1a624]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418e85
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebx + 0xdc]
mov esi, dword [sym.imp.DuiLib_u.dll_public:_void___thiscall_DuiLib::CControlUI::SetBkImage_wchar_t_const__]
test ecx, ecx
je 0x418f2d
cmp dword [ebx + 0xe0], 0
je 0x418f2d
mov eax, dword [ebx + 0x14]
cmp eax, 3
jne 0x418edc
push str.FilmDetailSkin_bigvip1.png
call esi
mov ecx, dword [ebx + 0xdc]
mov edx, dword [ecx]
mov eax, dword [edx + 0xcc]
push 1
call eax
mov ecx, dword [ebx + 0xe0]
push str.FilmDetailSkin_bigvip2.png
call esi
mov ecx, dword [ebx + 0xe0]
jmp 0x418f21
cmp eax, 4
jne 0x418f0f
push str.FilmDetailSkin_bigvod1.png
call esi
mov ecx, dword [ebx + 0xdc]
mov edx, dword [ecx]
mov eax, dword [edx + 0xcc]
push 1
call eax
mov ecx, dword [ebx + 0xe0]
push str.FilmDetailSkin_bigvod2.png
call esi
mov ecx, dword [ebx + 0xe0]
jmp 0x418f21
cmp eax, 1
jne 0x418f2d
push str.FilmDetailSkin_bigdetailyugao.png
call esi
mov ecx, dword [ebx + 0xdc]
mov edx, dword [ecx]
mov eax, dword [edx + 0xcc]
push 1
call eax
cmp dword [ebx + 0xd8], 0
je 0x4190fd
mov edi, dword [ebx + 0x24]
test edi, edi
je 0x418f87
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jg 0x418f87
add eax, eax
mov dword [ebp - 0x1a618], eax
call fcn.0054bbf0
mov esi, esp
test esi, esi
je 0x418f87
mov ecx, dword [ebp - 0x1a618]
push 0
push 0
push ecx
push esi
push 0xffffffffffffffff
push edi
push 0
push 3
mov byte [esi], 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
neg eax
sbb eax, eax
and eax, esi
jmp 0x418f89
xor eax, eax
push eax
call fcn.0054762f
add esp, 4
mov esi, eax
call fcn.004457a5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x418fae
push 0x80004005
call fcn.0040d6e0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x1a61c], eax
mov ecx, esi
shl ecx, 4
sub ecx, esi
add ecx, ecx
add ecx, ecx
push ecx
lea edx, [ebp - 0x1a61c]
push 0x5a55b0
push edx
mov dword [ebp - 4], 2
call fcn.0040cb10
add esp, 0xc
call fcn.004457a5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x419001
push 0x80004005
call fcn.0040d6e0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x1a624], eax
mov byte [ebp - 4], 3
mov esi, dword [ebp - 0x1a61c]
push 1
lea ecx, [ebp - 0x1a624]
push ecx
push ecx
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
add esi, 0xfffffff0
mov dword [ebp - 0x1a634], esp
mov dword [ebp - 0x1a620], esp
call eax
cmp dword [esi + 0xc], 0
lea edx, [esi + 0xc]
jl 0x41905a
cmp eax, dword [esi]
jne 0x41905a
mov edi, esi
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x419096
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
jne 0x419073
call fcn.0040d700
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
lea ecx, [eax + eax + 2]
push ecx
lea edx, [esi + 0x10]
push edx
lea eax, [eax + eax + 2]
push eax
lea ecx, [edi + 0x10]
push ecx
call fcn.0054703f
add esp, 0x10
mov edx, dword [ebp - 0x1a620]
add edi, 0x10
mov dword [edx], edi
call fcn.00405230
mov ecx, dword [ebx + 0xd8]
mov eax, dword [ecx]
mov edi, dword [ebp - 0x1a624]
mov edx, dword [eax + 0x2c]
add esp, 0xc
push edi
call edx
lea eax, [edi - 0x10]
mov byte [ebp - 4], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4190dd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [esi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4190fd
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push esi
call edx
mov ecx, dword [ebx + 0xe4]
test ecx, ecx
je 0x419112
mov eax, dword [ebx + 0x38]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x2c]
call eax
mov ecx, dword [ebx + 0xe8]
test ecx, ecx
je 0x419127
mov eax, dword [ebx + 0x60]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x2c]
call eax
mov ecx, dword [ebx + 0xec]
test ecx, ecx
je 0x41913c
mov eax, dword [ebx + 0x54]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x2c]
call eax
cmp dword [ebx + 0xf0], 0
je 0x4191ed
mov ecx, dword [ebx + 0x6c]
cmp dword [ecx - 0xc], 0
lea eax, [ebx + 0x6c]
je 0x4191ed
push eax
lea edx, [ebp - 0x1a624]
push 0x5a7988
push edx
call fcn.0041bb90
add esp, 0xc
push 0x5a7984
push eax
lea eax, [ebp - 0x1a61c]
push eax
mov dword [ebp - 4], 4
call fcn.0040d090
add esp, 0xc
mov byte [ebp - 4], 5
mov eax, dword [eax]
mov ecx, dword [ebx + 0xf0]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x2c]
call eax
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x1a61c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4191c4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1a624]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4191ed
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebx + 0xf4]
test ecx, ecx
je 0x419202
mov eax, dword [ebx + 0x58]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x2c]
call eax
mov ecx, dword [ebx + 0xf8]
test ecx, ecx
je 0x419217
mov eax, dword [ebx + 0x5c]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x2c]
call eax
mov ecx, dword [ebx + 0xfc]
test ecx, ecx
je 0x41922c
mov eax, dword [ebx + 0x50]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x2c]
call eax
mov ecx, dword [ebx + 0x100]
test ecx, ecx
je 0x419241
mov eax, dword [ebx + 0x70]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x2c]
call eax
mov ecx, dword [ebx + 0x104]
test ecx, ecx
je 0x419256
mov eax, dword [ebx + 0x48]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x2c]
call eax
mov ecx, dword [ebx + 0xbc]
sub ecx, dword [ebx + 0xb8]
mov eax, 0x63e7063f
imul ecx
sar edx, 6
mov edi, edx
shr edi, 0x1f
add edi, edx
mov dword [ebp - 0x1a61c], edi
je 0x4199b9
mov ecx, dword [ebx + 0x108]
test ecx, ecx
je 0x419295
mov edx, dword [ecx]
mov eax, dword [edx + 0xcc]
push 1
call eax
mov ecx, dword [ebx + 0x74]
cmp dword [ecx - 0xc], 0
jne 0x4192ec
mov edx, dword [ebx + 0x7c]
cmp dword [edx - 0xc], 0
jne 0x4192ec
mov ecx, dword [ebx + 0xdc]
test ecx, ecx
je 0x4192ce
push str.FilmDetailSkin_bigdetailyugao.png
call dword [sym.imp.DuiLib_u.dll_public:_void___thiscall_DuiLib::CControlUI::SetBkImage_wchar_t_const__]
mov ecx, dword [ebx + 0xdc]
mov eax, dword [ecx]
mov edx, dword [eax + 0xcc]
push 1
call edx
mov ecx, dword [ebx + 0x108]
test ecx, ecx
je 0x4192e4
mov eax, dword [ecx]
mov edx, dword [eax + 0x2c]
push 0x5a798c
call edx
mov ecx, dword [ebx + 0x10c]
jmp 0x419308
mov ecx, dword [ebx + 0x108]
test ecx, ecx
je 0x419302
mov eax, dword [ecx]
mov edx, dword [eax + 0x2c]
push 0x5a7994
call edx
mov ecx, dword [ebx + 0x110]
test ecx, ecx
je 0x419318
mov eax, dword [ecx]
mov edx, dword [eax + 0xcc]
push 1
call edx
mov ecx, dword [ebx + 0x3ac]
test ecx, ecx
je 0x419393
cmp dword [ebx + 0x3a8], 0
je 0x419393
mov eax, dword [ecx]
mov edx, dword [eax + 0xcc]
push 1
call edx
lea ecx, [ebp - 0xc9c]
call dword [sym.imp.DuiLib_u.dll_public:_void___thiscall_DuiLib::CDuiString::constructor_void_]
push edi
lea eax, [ebp - 0xc9c]
push 0x5a79a0
push eax
mov dword [ebp - 4], 6
call dword [sym.imp.DuiLib_u.dll_public:_int___cdecl_DuiLib::CDuiString::Format_wchar_t_const__]
mov ecx, dword [ebx + 0x3a8]
mov esi, dword [ecx]
add esp, 0xc
lea ecx, [ebp - 0xc9c]
call dword [sym.imp.DuiLib_u.dll_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const]
mov ecx, dword [ebx + 0x3a8]
mov edx, dword [esi + 0x2c]
push eax
call edx
lea ecx, [ebp - 0xc9c]
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.DuiLib_u.dll_public:_void___thiscall_DuiLib::CDuiString::destructor_void_]
xor eax, eax
cmp dword [ebx + 0x3b0], eax
je 0x419973
mov dword [ebp - 0x1a624], eax
cmp edi, eax
jle 0x419961
mov dword [ebp - 0x1a618], eax
jmp 0x4193c0
lea ecx, [ebp - 0xe04]
call dword [sym.imp.DuiLib_u.dll_public:_void___thiscall_DuiLib::CDialogBuilder::constructor_void_]
mov dword [ebp - 4], 7
mov eax, dword [0x5e5028]
push 0
push eax
lea ecx, [ebp - 0x1a634]
push ecx
push 0
push ecx
mov eax, esp
mov dword [ebp - method.CFilmRelateDialogBuilderCallbackEx.virtual_0], vtable.CFilmRelateDialogBuilderCallbackEx.0
lea ecx, [ebp - 0xe04]
mov dword [ebp - 0x1a628], esp
mov dword [eax], str.FilmDetailSkinFilmRelateXML.xml
call dword [sym.imp.DuiLib_u.dll_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CDialogBuilder::Create_class_DuiLib::STRINGorID__wchar_t_const___class_DuiLib::IDialogBuilderCallback___class_DuiLib::CPaintManagerUI___class_DuiLib::CControlUI__]
mov ebx, eax
mov edx, dword [ebx]
mov eax, dword [edx + 0x5c]
push 0xc4
mov ecx, ebx
call eax
push 0x3ff
lea ecx, [ebp - 0x413]
push 0
push ecx
mov byte [ebp - 0x414], 0
call fcn.00549e40
add esp, 0xc
lea edi, [ebp - 0x414]
mov esi, str.ListContainerElement
call fcn.00404fb0
call fcn.004457a5
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x418fa4
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x1a628], eax
mov ecx, edi
mov byte [ebp - 4], 8
test ecx, 0xffff0000
jne 0x419498
mov edx, edi
movzx esi, dx
push esi
call fcn.00445d6e
test eax, eax
je 0x4194aa
push esi
push eax
lea ecx, [ebp - 0x1a628]
call fcn.0040cd20
jmp 0x4194aa
lea eax, [ebp - 0x414]
push eax
lea ecx, [ebp - 0x1a628]
call fcn.0040d2c0
mov byte [ebp - 4], 9
mov edx, dword [ebx]
mov esi, dword [ebp - 0x1a628]
mov eax, dword [edx + 8]
push esi
mov ecx, ebx
call eax
lea eax, [esi - 0x10]
mov byte [ebp - 4], 7
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4194de
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [ebx]
mov eax, dword [edx + 0x110]
push str.FilmDetailSkin_filmrelatedefault.png
push str.bkimage
mov ecx, ebx
call eax
mov esi, dword [ebp - 0x1a62c]
mov eax, dword [esi + 0xb8]
add eax, dword [ebp - 0x1a618]
mov edx, dword [ebx]
mov edx, dword [edx + 0xc4]
lea edi, [esi + 0xb8]
push eax
mov ecx, ebx
call edx
mov ecx, dword [esi + 0x3b0]
mov eax, dword [ecx + 0x4a0]
mov edx, dword [eax + 0x10]
add ecx, 0x4a0
push ebx
call edx
mov ecx, dword [0x5e5028]
mov esi, dword [sym.imp.DuiLib_u.dll_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindSubControlByName_class_DuiLib::CControlUI___wchar_t_const__const]
push str.filmrelatetitle
push ebx
call esi
test eax, eax
je 0x41955f
mov ecx, dword [edi]
mov edx, dword [ebp - 0x1a618]
mov ecx, dword [ecx + edx + 0x24]
mov edx, dword [eax]
push ecx
mov ecx, eax
mov eax, dword [edx + 0x2c]
call eax
mov ecx, dword [edi]
mov edx, dword [ebp - 0x1a618]
cmp dword [edx + ecx], 1
jne 0x41958d
mov ecx, dword [0x5e5028]
push str.filmrelatetype
push ebx
call esi
test eax, eax
je 0x41958d
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xcc]
push 1
call eax
mov ecx, dword [ebp - 0x1a61c]
dec ecx
cmp dword [ebp - 0x1a624], ecx
je 0x4195f8
push 0x4f4
call fcn.00444c55
mov esi, eax
add esp, 4
mov dword [ebp - 0x1a628], esi
mov byte [ebp - 4], 0xa
test esi, esi
je 0x4195c9
mov ecx, esi
call dword [sym.imp.DuiLib_u.dll_public:_void___thiscall_DuiLib::CVerticalLayoutUI::constructor_void_]
mov dword [esi], vtable.DuiLib::CVerticalLayoutUI.0
jmp 0x4195cb
xor esi, esi
mov byte [ebp - 4], 7
mov edx, dword [esi]
mov eax, dword [edx + 0x5c]
push 0x14
mov ecx, esi
call eax
mov ecx, dword [ebp - 0x1a62c]
mov ecx, dword [ecx + 0x3b0]
mov edx, dword [ecx + 0x4a0]
mov eax, dword [edx + 0x10]
add ecx, 0x4a0
push esi
call eax
mov ecx, dword [edi]
mov edx, dword [ebp - 0x1a618]
mov eax, dword [ecx + edx + 0x2c]
cmp dword [eax - 0xc], 0
je 0x41991f
push 0x3ff
lea ecx, [ebp - 0x813]
push 0
push ecx
mov byte [ebp - 0x814], 0
call fcn.00549e40
add esp, 0xc
push 1
push 0x1c
lea edx, [ebp - 0x814]
push edx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
mov eax, dword [ebp - 0x1a62c]
mov eax, dword [eax + 0xb8]
add eax, dword [ebp - 0x1a618]
push ecx
mov esi, dword [eax + 0x2c]
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x1a628], esp
mov ebx, esp
call eax
cmp dword [esi - 4], 0
lea edx, [esi - 4]
jl 0x419682
cmp eax, dword [esi - 0x10]
jne 0x419682
lea edi, [esi - 0x10]
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x4196ba
mov ecx, dword [esi - 0xc]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x41906e
mov eax, dword [esi - 0xc]
mov dword [edi + 4], eax
mov eax, dword [esi - 0xc]
lea ecx, [eax + eax + 2]
push ecx
lea edx, [eax + eax + 2]
push esi
push edx
lea eax, [edi + 0x10]
push eax
call fcn.0054703f
add esp, 0x10
add edi, 0x10
lea esi, [ebp - 0x1a620]
mov dword [ebx], edi
call fcn.004045e0
add esp, 4
lea esi, [ebp - 0x1a614]
mov byte [ebp - 4], 0xb
call fcn.00403050
mov ecx, dword [ebp - 0x1a62c]
mov edx, dword [ecx + 0xb8]
mov eax, dword [ebp - 0x1a618]
mov dword [ebp - 0x1a614], 0x544547
mov edi, dword [edx + eax + 0x2c]
test edi, edi
je 0x41973d
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jg 0x41973d
lea ebx, [eax + eax]
mov eax, ebx
call fcn.0054bbf0
mov esi, esp
test esi, esi
je 0x41973d
push 0
push 0
push ebx
push esi
push 0xffffffffffffffff
push edi
push 0
push 3
mov byte [esi], 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
neg eax
sbb eax, eax
and eax, esi
jmp 0x41973f
xor eax, eax
lea edx, [ebp - 0x1a214]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x419747
mov eax, dword [ebp - 0x1a620]
mov ebx, eax
test eax, eax
jne 0x419765
mov dword [ebp - 0x1a628], eax
jmp 0x4197aa
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jg 0x4197a2
lea edi, [eax + eax]
mov eax, edi
call fcn.0054bbf0
mov esi, esp
test esi, esi
je 0x4197a2
push 0
push 0
push edi
push esi
push 0xffffffffffffffff
push ebx
push 0
push 3
mov byte [esi], 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
neg eax
sbb eax, eax
and eax, esi
jmp 0x4197a4
xor eax, eax
mov dword [ebp - 0x1a628], eax
push 0x5a56b0
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jg 0x4197f1
lea edi, [eax + eax]
mov eax, edi
call fcn.0054bbf0
mov esi, esp
test esi, esi
je 0x4197f1
push 0
push 0
push edi
push esi
push 0xffffffffffffffff
push 0x5a56b0
push 0
push 3
mov byte [esi], 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
neg eax
sbb eax, eax
and eax, esi
mov ebx, eax
jmp 0x4197f3
xor ebx, ebx
push str.1905Cache1
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jg 0x419838
lea edi, [eax + eax]
mov eax, edi
call fcn.0054bbf0
mov esi, esp
test esi, esi
je 0x419838
push 0
push 0
push edi
push esi
push 0xffffffffffffffff
push str.1905Cache1
push 0
push 3
mov byte [esi], 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
neg eax
sbb eax, eax
and eax, esi
jmp 0x41983a
xor eax, eax
mov ecx, dword [ebp - 0x1a628]
push ecx
push ebx
push eax
lea edx, [ebp - 0x814]
push edx
push str._s_s_s_s
lea eax, [ebp - 0x15214]
push 0x2800
push eax
call fcn.005468fa
add esp, 0x1c
lea ecx, [ebp - 0x15214]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
jne 0x4198da
mov ecx, 0x5e5968
call dword [sym.imp.DuiLib_u.dll_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::GetHWND_void_const]
mov ecx, dword [ebp - 0x1a630]
lea edx, [ebp - 0x15214]
push edx
mov dword [ebp - 0x10214], eax
lea eax, [ebp - 0x414]
push eax
push ecx
push 0xb
lea edx, [ebp - 0x1020c]
push str.type_did_s_name_s_saveFile_s
push edx
mov dword [ebp - 0x10210], 0x402
call fcn.00546876
add esp, 0x18
mov eax, 0xcc08
lea esi, [ebp - 0x1a614]
call fcn.0054a430
mov edi, esp
mov ecx, 0x3302
rep movsd dword es:[edi], dword [esi]
call fcn.004028a0
jmp 0x4198f9
mov edx, dword [ebp - 0x1a62c]
lea eax, [ebp - 0x15214]
push eax
lea ecx, [ebp - 0x414]
push ecx
mov ecx, dword [ebp - 0x1a630]
call fcn.00419b20
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x1a620]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x41991f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0xe04]
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.DuiLib_u.dll_public:_void___thiscall_DuiLib::CDialogBuilder::destructor_void_]
mov eax, dword [ebp - 0x1a624]
add dword [ebp - 0x1a618], 0xa4
inc eax
mov dword [ebp - 0x1a624], eax
cmp eax, dword [ebp - 0x1a61c]
jl 0x4193c0
mov ebx, dword [ebp - 0x1a62c]
mov edi, dword [ebp - 0x1a61c]
mov ecx, dword [ebx + 0x3b0]
mov edx, dword [ecx]
mov eax, dword [edx + 0xcc]
push 1
call eax
mov ecx, dword [ebx + 0x3b4]
test ecx, ecx
je 0x419a13
cmp edi, 5
jl 0x419a13
cmp dword [ebx + 0x3bc], 0
je 0x419a13
mov edx, dword [ecx]
mov eax, dword [edx + 0xcc]
push 1
call eax
mov ebx, dword [ebx + 0x3bc]
mov edx, dword [ebx]
mov eax, dword [edx + 0xcc]
push 1
mov ecx, ebx
call eax
jmp 0x419a13
mov ecx, dword [ebx + 0x74]
cmp dword [ecx - 0xc], 0
jne 0x4199d3
mov edx, dword [ebx + 0x7c]
cmp dword [edx - 0xc], 0
jne 0x4199d3
mov ebx, dword [ebx + 0x10c]
jmp 0x419a01
mov ecx, dword [ebx + 0x108]
test ecx, ecx
je 0x4199fb
mov eax, dword [ecx]
mov edx, dword [eax + 0x2c]
push 0x5a7994
call edx
mov ecx, dword [ebx + 0x108]
mov eax, dword [ecx]
mov edx, dword [eax + 0xcc]
push 1
call edx
mov ebx, dword [ebx + 0x110]
test ebx, ebx
je 0x419a13
mov eax, dword [ebx]
mov edx, dword [eax + 0xcc]
push 1
mov ecx, ebx
call edx
cmp dword [ebp + 8], 0
je 0x419a38
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x1a61c], esp
push str.horizontalFilmDetail
call fcn.0040cf20
mov ecx, 0x5e5968
call fcn.00433b90
lea esp, [ebp - 0x1a644]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00545eb2
mov esp, ebp
pop ebp
ret 4