Function at 0x10119010
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1018fa32
mov eax, dword fs:[0]
push eax
sub esp, 0xd0
mov eax, dword [0x101ebb68]
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 eax, dword [ebp + 8]
mov ebx, ecx
lea ecx, [ebp - 0xcc]
push ecx
mov dword [ebp - 0xc0], ebx
mov dword [ebp - 0xc4], eax
call fcn.10114a10
add esp, 4
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0xcc]
cmp dword [eax], 0
jne 0x101190b1
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0xc8]
test esi, esi
je 0x101190aa
lea edx, [esi + 4]
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x101190aa
mov edx, dword [esi]
mov eax, dword [edx]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x101190aa
mov eax, dword [esi]
mov edx, dword [eax + 4]
mov ecx, esi
call edx
xor al, al
jmp 0x101196ae
lea ecx, [eax + 8]
mov dword [ebp - 0xdc], ecx
call dword [sym.imp.MGCore.dll_public:_void___thiscall_MGRecMutex::lock_void_const]
mov byte [ebp - 0xd8], 1
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax]
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
lea esi, [eax + ecx*4]
lea esp, [esp]
cmp eax, esi
je 0x1011910c
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
cmp edx, dword [ebx]
jne 0x101190f5
cmp ecx, dword [ebx + 4]
je 0x101190fa
add eax, 4
jmp 0x101190e0
mov eax, dword [eax]
mov eax, dword [eax + 0x14]
push 0xffffffffffffffff
push 0
lea ecx, [ebx + 0x54]
push eax
call fcn.1000bd90
xor ecx, ecx
mov dword [ebp - 0x70], 7
mov dword [ebp - 0x74], 0
mov word [ebp - 0x84], cx
push ecx
lea esi, [ebx + 0x54]
lea edx, [ebp - 0x30]
push esi
push edx
mov byte [ebp - 4], 2
mov dword [ebp - 0xd0], esi
call dword [sym.imp.MGCore.dll_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____cdecl_MGStringUtil::convertANSIToUnicode_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___enum_MGStringUtil::eSrcCodePage_]
add esp, 0xc
lea ecx, [ebp - 0xd4]
push ecx
push eax
mov edi, 1
mov dword [ebp - 0xd4], 0x2f
call fcn.10014750
cmp dword [ebp - 0x1c], 8
mov edi, eax
jb 0x10119170
mov edx, dword [ebp - 0x30]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
cmp edi, 0xffffffff
je 0x101191e7
push 0
lea eax, [ebp - 0x30]
push esi
push eax
call dword [sym.imp.MGCore.dll_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____cdecl_MGStringUtil::convertANSIToUnicode_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___enum_MGStringUtil::eSrcCodePage_]
add esp, 0xc
push 0xffffffffffffffff
lea ecx, [edi + 1]
lea esi, [ebp - 0x68]
mov edx, eax
mov byte [ebp - 4], 3
call fcn.100143f0
mov edi, eax
lea esi, [ebp - 0x84]
mov byte [ebp - 4], 4
call fcn.1000ae80
cmp dword [ebp - 0x54], 8
jb 0x101191bc
mov ecx, dword [ebp - 0x68]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor edx, edx
mov byte [ebp - 4], 2
cmp dword [ebp - 0x1c], 8
mov dword [ebp - 0x54], 7
mov dword [ebp - 0x58], 0
mov word [ebp - 0x68], dx
jb 0x101191e7
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor ecx, ecx
push 1
mov eax, 0x101a37bc
lea esi, [ebp - 0x68]
mov dword [ebp - 0x54], 7
mov dword [ebp - 0x58], 0
mov word [ebp - 0x68], cx
call fcn.1000b950
push 0
add ebx, 8
lea edx, [ebp - 0xa0]
push ebx
push edx
mov byte [ebp - 4], 5
call dword [sym.imp.MGCore.dll_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____cdecl_MGStringUtil::convertANSIToUnicode_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___enum_MGStringUtil::eSrcCodePage_]
add esp, 0xc
mov ecx, eax
mov eax, esi
lea ebx, [ebp - 0xbc]
mov byte [ebp - 4], 6
call fcn.10007f90
mov ecx, eax
lea eax, [ebp - 0x84]
lea ebx, [ebp - 0x4c]
mov byte [ebp - 4], 7
call fcn.10008020
mov esi, 8
cmp dword [ebp - 0xa8], esi
jb 0x10119268
mov eax, dword [ebp - 0xbc]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov ebx, 7
xor edi, edi
xor ecx, ecx
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0xac], edi
mov word [ebp - 0xbc], cx
cmp dword [ebp - 0x8c], esi
jb 0x1011929c
mov edx, dword [ebp - 0xa0]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x90], edi
mov word [ebp - 0xa0], ax
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x54], esi
jb 0x101192c7
mov ecx, dword [ebp - 0x68]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor ebx, ebx
push ebx
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x30]
xor edx, edx
push ecx
mov dword [ebp - 0x54], 7
mov dword [ebp - 0x58], ebx
mov word [ebp - 0x68], dx
call dword [sym.imp.MGCore.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_MGStringUtil::convertUnicodeToANSI_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const___enum_MGStringUtil::eSrcCodePage_]
add esp, 0xc
mov esi, eax
mov edi, dword [ebp - 0xc0]
add edi, 0x38
cmp edi, esi
je 0x10119349
cmp dword [edi + 0x14], 0x10
jb 0x1011930c
mov eax, dword [edi]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov dword [edi + 0x14], 0xf
mov dword [edi + 0x10], ebx
mov byte [edi], 0
cmp dword [esi + 0x14], 0x10
jae 0x10119331
mov eax, dword [esi + 0x10]
inc eax
push eax
push esi
push edi
call dword [sym.imp.MSVCR100.dll_memmove]
add esp, 0xc
jmp 0x10119337
mov edx, dword [esi]
mov dword [edi], edx
mov dword [esi], ebx
mov eax, dword [esi + 0x10]
mov dword [edi + 0x10], eax
mov ecx, dword [esi + 0x14]
mov dword [edi + 0x14], ecx
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], ebx
mov esi, 0x10
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x1c], esi
jb 0x10119364
mov edx, dword [ebp - 0x30]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
lea eax, [ebp - 0x4c]
push eax
call dword [sym.imp.MGCore.dll_public:_static_void___cdecl_FilePath::GetValidLenPath_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t____]
mov ecx, dword [ebp - 0xc0]
add esp, 4
cmp byte [ecx + 0x24], 0
jne 0x101194d7
cmp dword [ebp - 0x38], 8
mov ecx, dword [ebp - 0x4c]
jae 0x1011938d
lea ecx, [ebp - 0x4c]
lea edx, [ebp - 0xc0]
push edx
call fcn.10003440
lea eax, [ebp - 0xc0]
push eax
mov byte [ebp - 4], 0xd
call dword [sym.imp.MGCore.dll_public:_static_void___cdecl_FilePath::GetUniquePath_class_ATL::CStringT_wchar_t__class_ATL::StrTraitATL_wchar_t__class_ATL::ChTraitsCRT_wchar_t_____]
mov eax, dword [ebp - 0xc0]
mov edx, dword [eax - 8]
mov ecx, 1
sub ecx, dword [eax - 4]
add esp, 4
or edx, ecx
jge 0x101193d5
xor eax, eax
lea ecx, [ebp - 0xc0]
call fcn.100041d0
mov eax, dword [ebp - 0xc0]
mov ecx, eax
lea esi, [ecx + 2]
lea ebx, [ebx]
mov dx, word [ecx]
add ecx, 2
cmp dx, bx
jne 0x101193e0
sub ecx, esi
sar ecx, 1
push ecx
lea esi, [ebp - 0x4c]
call fcn.1000b950
mov eax, dword [ebp - 0xc0]
cmp dword [eax - 8], ebx
jl 0x101194cd
mov dword [eax - 0xc], ebx
mov edx, dword [ebp - 0xc0]
xor ecx, ecx
push ebx
mov eax, esi
mov word [edx], cx
push eax
lea ecx, [ebp - 0x30]
push ecx
call dword [sym.imp.MGCore.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_MGStringUtil::convertUnicodeToANSI_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const___enum_MGStringUtil::eSrcCodePage_]
add esp, 0xc
push eax
mov ecx, edi
mov byte [ebp - 4], 0xe
call fcn.1000b240
mov esi, 0x10
mov byte [ebp - 4], 0xd
cmp dword [ebp - 0x1c], esi
jb 0x1011944d
mov edx, dword [ebp - 0x30]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
cmp dword [edi + 0x14], esi
jb 0x10119456
mov eax, dword [edi]
jmp 0x10119458
mov eax, edi
push eax
push str.We_indeed_Export_the_Video_to_the_Local__The_new_VideoLocalPath_is__s
lea esi, [ebp - 0x30]
call fcn.1000c270
add esp, 8
mov byte [ebp - 4], 0xf
cmp dword [eax + 0x14], 0x10
jb 0x10119475
mov eax, dword [eax]
push str.VIDEO_EXPORT_TASK_EX
push eax
call dword [sym.imp.MGCore.dll_public:_static_class_MGDecorateLog____cdecl_MGSingleton_class_MGDecorateLog__0_::getInstance_void_]
mov ebx, dword [sym.imp.MGCore.dll_public:_void___thiscall_MGDecorateLog::trace_char_const___char_const__]
mov ecx, eax
call ebx
cmp dword [ebp - 0x1c], 0x10
jb 0x1011949e
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0xc0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x101195ad
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x101195ad
push 0x80070057
call fcn.100045e0
cmp dword [ebp - 0x38], 8
mov eax, dword [ebp - 0x4c]
jae 0x101194e3
lea eax, [ebp - 0x4c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, 1
jne 0x1011954f
cmp dword [edi + 0x14], esi
jb 0x101194f8
mov eax, dword [edi]
jmp 0x101194fa
mov eax, edi
push eax
push str.Video_has_exist_in_Local_path______The_Video_Local_Path_is__s
lea esi, [ebp - 0x30]
call fcn.1000c270
add esp, 8
mov byte [ebp - 4], 0x10
cmp dword [eax + 0x14], 0x10
jb 0x10119517
mov eax, dword [eax]
push str.VIDEO_EXPORT_TASK_EX
push eax
call dword [sym.imp.MGCore.dll_public:_static_class_MGDecorateLog____cdecl_MGSingleton_class_MGDecorateLog__0_::getInstance_void_]
mov ebx, dword [sym.imp.MGCore.dll_public:_void___thiscall_MGDecorateLog::trace_char_const___char_const__]
mov ecx, eax
call ebx
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x1c], 0x10
jb 0x10119544
mov ecx, dword [ebp - 0x30]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov edx, dword [ebp - 0xc4]
mov byte [edx], 1
jmp 0x101195ad
cmp dword [edi + 0x14], esi
jb 0x10119558
mov eax, dword [edi]
jmp 0x1011955a
mov eax, edi
push eax
push str.Video_not_exist_in_Local_path______The_Video_Local_Path_is__s
lea esi, [ebp - 0x30]
call fcn.1000c270
add esp, 8
mov byte [ebp - 4], 0x11
cmp dword [eax + 0x14], 0x10
jb 0x10119577
mov eax, dword [eax]
push str.VIDEO_EXPORT_TASK_EX
push eax
call dword [sym.imp.MGCore.dll_public:_static_class_MGDecorateLog____cdecl_MGSingleton_class_MGDecorateLog__0_::getInstance_void_]
mov ebx, dword [sym.imp.MGCore.dll_public:_void___thiscall_MGDecorateLog::trace_char_const___char_const__]
mov ecx, eax
call ebx
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x1c], 0x10
jb 0x101195a4
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov ecx, dword [ebp - 0xc4]
mov byte [ecx], 0
mov eax, dword [ebp - 0xd0]
mov ecx, 0x10
cmp dword [eax + 0x14], ecx
jb 0x101195bf
mov eax, dword [eax]
cmp dword [edi + 0x14], ecx
jb 0x101195c6
mov edi, dword [edi]
push eax
push edi
push str.Video_Export_Local_Path___s__Remote_Path___s
lea esi, [ebp - 0x30]
call fcn.1000c270
add esp, 0xc
mov byte [ebp - 4], 0x12
cmp dword [eax + 0x14], 0x10
jb 0x101195e4
mov eax, dword [eax]
push str.VIDEO_EXPORT_TASK_EX
push eax
call dword [sym.imp.MGCore.dll_public:_static_class_MGDecorateLog____cdecl_MGSingleton_class_MGDecorateLog__0_::getInstance_void_]
mov ecx, eax
call ebx
cmp dword [ebp - 0x1c], 0x10
jb 0x10119607
mov edx, dword [ebp - 0x30]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor edi, edi
mov ebx, 8
mov dword [ebp - 0x1c], 0xf
mov dword [ebp - 0x20], edi
mov byte [ebp - 0x30], 0
cmp dword [ebp - 0x38], ebx
jb 0x1011962e
mov eax, dword [ebp - 0x4c]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor ecx, ecx
mov esi, 7
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x3c], edi
mov word [ebp - 0x4c], cx
cmp dword [ebp - 0x70], ebx
jb 0x10119654
mov edx, dword [ebp - 0x84]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
mov byte [ebp - 4], al
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x74], edi
mov word [ebp - 0x84], ax
call dword [sym.imp.MGCore.dll_public:_void___thiscall_MGRecMutex::unlock_void_const]
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0xc8]
cmp esi, edi
je 0x101196ac
lea ecx, [esi + 4]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x101196ac
mov eax, dword [esi]
mov edx, dword [eax]
mov ecx, esi
call edx
lea eax, [esi + 8]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x101196ac
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
mov al, 1
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.10178946
mov esp, ebp
pop ebp
ret 4