Function at 0x10013240
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1019165f
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x1144
call fcn.101790f0
mov eax, dword [0x101ebb68]
xor eax, esp
mov dword [esp + 0x1140], eax
push ebx
push esi
push edi
mov eax, dword [0x101ebb68]
xor eax, esp
push eax
lea eax, [esp + 0x1158]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
cmp dword [edi + 0x14], 0x10
mov ebx, dword [ebp + 0xc]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x24], ebx
jb 0x1001329d
mov eax, dword [edi]
jmp 0x1001329f
mov eax, edi
push eax
push str.Acquire_the_Contact_Info_by_number_:__s
lea esi, [esp + 0x58]
call fcn.1000c270
add esp, 8
mov dword [esp + 0x1160], 0
cmp dword [eax + 0x14], 0x10
jb 0x100132c4
mov eax, dword [eax]
push str.GET_CONTACT_BY_NUMBER
push eax
call dword [sym.imp.MGCore.dll_public:_static_class_MGDecorateLog____cdecl_MGSingleton_class_MGDecorateLog__0_::getInstance_void_]
mov ecx, eax
call dword [sym.imp.MGCore.dll_public:_void___thiscall_MGDecorateLog::trace_char_const___char_const__]
mov esi, 0x10
mov dword [esp + 0x1160], 0xffffffff
cmp dword [esp + 0x64], esi
jb 0x100132fc
mov eax, dword [esp + 0x50]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
cmp dword [ebx], 0
jne 0x10013362
cmp dword [edi + 0x14], esi
jb 0x10013308
mov edi, dword [edi]
push edi
push str._The_Out_ContactInfo_is_Null____Caller_wrong___
lea esi, [esp + 0x58]
call fcn.1000c270
add esp, 8
mov esi, 0x10
mov dword [esp + 0x1160], 1
cmp dword [eax + 0x14], esi
jb 0x10013331
mov eax, dword [eax]
push str.GET_CONTACT_BY_NUMBER
push eax
call dword [sym.imp.MGCore.dll_public:_static_class_MGDecorateLog____cdecl_MGSingleton_class_MGDecorateLog__0_::getInstance_void_]
mov ecx, eax
call dword [sym.imp.MGCore.dll_public:_void___thiscall_MGDecorateLog::trace_char_const___char_const__]
cmp dword [esp + 0x64], esi
jb 0x10014104
mov ecx, dword [esp + 0x50]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
jmp 0x10014104
lea edx, [esp + 0x34]
push edx
call fcn.10014420
add esp, 4
mov dword [esp + 0x1160], 2
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx]
test eax, eax
jne 0x10013525
push 0x7ff
push eax
mov byte [esp + 0x154], al
lea eax, [esp + 0x155]
push eax
call sub.MSVCR100.dll_memset
add esp, 0xc
push str.AndroidContactMgr::getContactInfoByNumber
push 0xb9
push str.AndroidContactMgr.cpp
push str.Contact_Cache_Pointer_is_NULL___Retry_update_the_cache_form_Phone____
push str._s__file:_s_line:__d_func:__s
lea ecx, [esp + 0x160]
push 0x800
push ecx
call dword [sym.imp.MSVCR100.dll_sprintf_s]
add esp, 0x1c
lea edx, [esp + 0x14c]
push str.GET_CONTACT_BY_NUMBER
push edx
call dword [sym.imp.MGCore.dll_public:_static_class_MGDecorateLog____cdecl_MGSingleton_class_MGDecorateLog__0_::getInstance_void_]
mov ecx, eax
call dword [sym.imp.MGCore.dll_public:_void___thiscall_MGDecorateLog::error_char_const___char_const__]
mov eax, dword [0x101feda8]
test eax, eax
jne 0x100133fd
call fcn.1000b0e0
lea ecx, [esp + 0x28]
push ecx
mov ecx, 8
mov edx, eax
call fcn.100b2370
mov esi, dword [esp + 0x2c]
test esi, esi
je 0x1001343f
lea edx, [esi + 4]
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x1001343f
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 0x1001343f
mov eax, dword [esi]
mov edx, dword [eax + 4]
mov ecx, esi
call edx
lea eax, [esp + 0x28]
push eax
call fcn.10014420
add esp, 4
lea edi, [esp + 0x34]
mov byte [esp + 0x1160], 3
call fcn.1000f990
mov byte [esp + 0x1160], 2
mov esi, dword [esp + 0x2c]
test esi, esi
je 0x10013496
lea ecx, [esi + 4]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x10013496
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 0x10013496
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
mov ecx, dword [esp + 0x34]
cmp dword [ecx], 0
jne 0x10013525
push 0x7ff
lea ecx, [esp + 0x151]
push 0
push ecx
mov byte [esp + 0x158], 0
call sub.MSVCR100.dll_memset
add esp, 0xc
push str.AndroidContactMgr::getContactInfoByNumber
push 0xc0
push str.AndroidContactMgr.cpp
push str.Contact_Cache_Pointer_is_NULL____The_Phone_not_ready___
push str._s__file:_s_line:__d_func:__s
lea edx, [esp + 0x160]
push 0x800
push edx
call dword [sym.imp.MSVCR100.dll_sprintf_s]
add esp, 0x1c
lea eax, [esp + 0x14c]
push str.GET_CONTACT_BY_NUMBER
push eax
call dword [sym.imp.MGCore.dll_public:_static_class_MGDecorateLog____cdecl_MGSingleton_class_MGDecorateLog__0_::getInstance_void_]
mov ecx, eax
call dword [sym.imp.MGCore.dll_public:_void___thiscall_MGDecorateLog::error_char_const___char_const__]
lea eax, [esp + 0x34]
mov dword [esp + 0x1160], 0xffffffff
call fcn.100089e0
jmp 0x10014104
add ecx, 8
mov dword [esp + 0x28], ecx
call dword [sym.imp.MGCore.dll_public:_void___thiscall_MGRecMutex::lock_void_const]
mov byte [esp + 0x2c], 1
mov byte [esp + 0x1160], 4
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx]
mov esi, dword [eax + 0x28]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x18], esi
mov ecx, dword [eax + 0x28]
mov eax, dword [eax + 0x2c]
lea eax, [ecx + eax*4]
mov edi, 0x10
cmp esi, eax
je 0x1001404b
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebx]
mov dword [ecx + 0x28], edx
mov dword [ecx + 0x2c], eax
mov eax, dword [esi]
mov al, byte [eax + 0x5c]
mov ecx, dword [ebx]
mov byte [ecx + 0x4c], al
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
mov ecx, dword [ebx]
push 0xffffffffffffffff
push 0
push eax
add ecx, 0x30
mov byte [esp + 0x23], 0
call fcn.1000bd90
mov eax, dword [esi]
mov eax, dword [eax + 0x18]
mov ecx, dword [ebx]
push 0xffffffffffffffff
push 0
push eax
add ecx, 0x88
call fcn.1000bd90
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
mov ecx, dword [ebx]
push 0xffffffffffffffff
push 0
push eax
add ecx, 0x50
call fcn.1000bd90
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
push 0
push eax
lea edx, [esp + 0x90]
push edx
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 byte [esp + 0x1160], 5
cmp dword [esp + 0x98], 0
jne 0x10013659
push 0
push 0x101a4104
lea ecx, [esp + 0x74]
mov dword [esp + 0x88], 0xf
mov dword [esp + 0x84], 0
mov byte [esp + 0x74], 0
call fcn.1000c100
mov byte [esp + 0x1160], 6
mov ecx, dword [ebx]
lea eax, [esp + 0x6c]
push eax
lea ecx, [ecx + 0x6c]
call fcn.1000b240
mov byte [esp + 0x1160], 5
cmp dword [esp + 0x80], edi
jb 0x10013c59
mov ecx, dword [esp + 0x6c]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
jmp 0x10013c59
mov esi, dword [esi]
mov eax, dword [esi + 0x14]
cmp dword [eax + 0x14], edi
jb 0x10013665
mov eax, dword [eax]
push eax
push str.The_Contact_has_Photo__the_Remote_Path_:__s
lea esi, [esp + 0x58]
call fcn.1000c270
add esp, 8
mov byte [esp + 0x1160], 7
cmp dword [eax + 0x14], edi
jb 0x10013686
mov eax, dword [eax]
push str.GET_CONTACT_BY_NUMBER
push eax
call dword [sym.imp.MGCore.dll_public:_static_class_MGDecorateLog____cdecl_MGSingleton_class_MGDecorateLog__0_::getInstance_void_]
mov ecx, eax
call dword [sym.imp.MGCore.dll_public:_void___thiscall_MGDecorateLog::trace_char_const___char_const__]
cmp dword [esp + 0x64], edi
jb 0x100136ae
mov edx, dword [esp + 0x50]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x8c]
push ecx
mov edi, 1
mov dword [esp + 0x28], 0x2f
call fcn.10014750
xor ebx, ebx
xor edx, edx
mov dword [esp + 0x10c], 7
mov dword [esp + 0x108], ebx
mov word [esp + 0xf8], dx
mov byte [esp + 0x1160], 8
cmp eax, 0xffffffff
je 0x10013740
push 0xffffffffffffffff
lea ecx, [eax + 1]
lea esi, [esp + 0x54]
lea edx, [esp + 0x8c]
call fcn.100143f0
mov edi, eax
lea esi, [esp + 0xf8]
mov byte [esp + 0x1160], 9
call fcn.1000ae80
mov byte [esp + 0x1160], 8
cmp dword [esp + 0x64], 8
jb 0x10013740
mov eax, dword [esp + 0x50]
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, [esp + 0x70]
mov dword [esp + 0x84], 7
mov dword [esp + 0x80], ebx
mov word [esp + 0x70], cx
call fcn.1000b950
mov byte [esp + 0x1160], 0xa
mov eax, dword [0x101feda4]
cmp eax, ebx
jne 0x1001377f
call fcn.10006d40
lea edx, [esp + 0x130]
mov ecx, eax
call fcn.10062280
mov ecx, eax
lea eax, [esp + 0x6c]
lea ebx, [esp + 0x114]
mov byte [esp + 0x1160], 0xb
call fcn.10007f90
mov ecx, eax
lea eax, [esp + 0xf8]
lea ebx, [esp + 0xa4]
mov byte [esp + 0x1160], 0xc
call fcn.10008020
mov esi, 8
cmp dword [esp + 0x128], esi
jb 0x100137e3
mov edx, dword [esp + 0x114]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov edi, 7
xor ebx, ebx
xor eax, eax
mov dword [esp + 0x128], edi
mov dword [esp + 0x124], ebx
mov word [esp + 0x114], ax
cmp dword [esp + 0x144], esi
jb 0x1001381c
mov ecx, dword [esp + 0x130]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor edx, edx
mov dword [esp + 0x144], edi
mov dword [esp + 0x140], ebx
mov word [esp + 0x130], dx
mov ebx, 0x10
mov byte [esp + 0x1160], bl
cmp dword [esp + 0x80], esi
jb 0x10013857
mov eax, dword [esp + 0x6c]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov eax, dword [esp + 0xa4]
xor ecx, ecx
mov dword [esp + 0x80], edi
mov dword [esp + 0x7c], 0
mov word [esp + 0x6c], cx
cmp dword [esp + 0xb8], esi
jae 0x10013884
lea eax, [esp + 0xa4]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x1001389f
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x100139b1
mov edi, 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_]
push 0
lea edx, [esp + 0xa8]
push edx
lea eax, [esp + 0xe4]
push eax
call edi
add esp, 0xc
mov esi, eax
push 0
lea ecx, [esp + 0x8c]
push ecx
lea edx, [esp + 0x58]
push edx
mov byte [esp + 0x116c], 0x11
call edi
add esp, 0xc
mov byte [esp + 0x1160], 0x12
cmp dword [esi + 0x14], ebx
jb 0x100138e9
mov esi, dword [esi]
cmp dword [eax + 0x14], ebx
jb 0x100138f0
mov eax, dword [eax]
push esi
push eax
push str.Contact_Thumbail__Exist______ThumbnailRemotePath___s__ThumbnailLocalPath___s
lea esi, [esp + 0xcc]
call fcn.1000c270
add esp, 0xc
mov byte [esp + 0x1160], 0x13
cmp dword [eax + 0x14], ebx
jb 0x10013915
mov eax, dword [eax]
push str.GET_CONTACT_BY_NUMBER
push eax
call dword [sym.imp.MGCore.dll_public:_static_class_MGDecorateLog____cdecl_MGSingleton_class_MGDecorateLog__0_::getInstance_void_]
mov ecx, eax
call dword [sym.imp.MGCore.dll_public:_void___thiscall_MGDecorateLog::trace_char_const___char_const__]
cmp dword [esp + 0xd4], ebx
jb 0x10013943
mov eax, dword [esp + 0xc0]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov esi, 0xf
mov dword [esp + 0xd4], esi
mov dword [esp + 0xd0], 0
mov byte [esp + 0xc0], 0
cmp dword [esp + 0x64], ebx
jb 0x10013976
mov ecx, dword [esp + 0x50]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov byte [esp + 0x1160], bl
mov dword [esp + 0x64], esi
mov dword [esp + 0x60], 0
mov byte [esp + 0x50], 0
cmp dword [esp + 0xf0], ebx
jb 0x10013bac
mov edx, dword [esp + 0xdc]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
jmp 0x10013bac
mov edi, 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_]
push 0
lea eax, [esp + 0xa8]
push eax
lea ecx, [esp + 0xe4]
push ecx
call edi
add esp, 0xc
mov esi, eax
push 0
lea edx, [esp + 0x8c]
push edx
lea eax, [esp + 0xc8]
push eax
mov byte [esp + 0x116c], 0x14
call edi
add esp, 0xc
mov byte [esp + 0x1160], 0x15
cmp dword [esi + 0x14], ebx
jb 0x100139fe
mov esi, dword [esi]
cmp dword [eax + 0x14], ebx
jb 0x10013a05
mov eax, dword [eax]
push esi
push eax
push str.Contact_Thumbail_Not_Exist______ThumbnailRemotePath___s__ThumbnailLocalPath___s
lea esi, [esp + 0x5c]
call fcn.1000c270
add esp, 0xc
mov byte [esp + 0x1160], 0x16
cmp dword [eax + 0x14], ebx
jb 0x10013a27
mov eax, dword [eax]
push str.GET_CONTACT_BY_NUMBER
push eax
call dword [sym.imp.MGCore.dll_public:_static_class_MGDecorateLog____cdecl_MGSingleton_class_MGDecorateLog__0_::getInstance_void_]
mov ecx, eax
call dword [sym.imp.MGCore.dll_public:_void___thiscall_MGDecorateLog::trace_char_const___char_const__]
cmp dword [esp + 0x64], ebx
jb 0x10013a4f
mov ecx, dword [esp + 0x50]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov esi, 0xf
mov dword [esp + 0x64], esi
mov dword [esp + 0x60], 0
mov byte [esp + 0x50], 0
cmp dword [esp + 0xd4], ebx
jb 0x10013a7f
mov edx, dword [esp + 0xc0]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov byte [esp + 0x1160], bl
mov dword [esp + 0xd4], esi
mov dword [esp + 0xd0], 0
mov byte [esp + 0xc0], 0
cmp dword [esp + 0xf0], ebx
jb 0x10013aba
mov eax, dword [esp + 0xdc]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
lea ecx, [esp + 0x30]
call dword [sym.imp.AdbManager.dll_public:_void___thiscall_CAdbClient::constructor_void_]
push 0
lea ecx, [esp + 0xa8]
push ecx
lea edx, [esp + 0xe4]
push edx
mov byte [esp + 0x116c], 0x17
call edi
add esp, 0xc
mov esi, eax
push 0
lea eax, [esp + 0x8c]
push eax
lea ecx, [esp + 0x58]
push ecx
mov byte [esp + 0x116c], 0x18
call edi
add esp, 0xc
mov byte [esp + 0x1160], 0x19
cmp dword [esi + 0x14], ebx
jb 0x10013b10
mov esi, dword [esi]
cmp dword [eax + 0x14], ebx
jb 0x10013b17
mov eax, dword [eax]
push 1
push esi
push eax
lea ecx, [esp + 0x3c]
call dword [sym.imp.AdbManager.dll_public:_enum_emError___thiscall_CAdbClient::PullFile_char_const___char_const___bool_]
mov esi, eax
cmp dword [esp + 0x64], ebx
jb 0x10013b3b
mov edx, dword [esp + 0x50]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov byte [esp + 0x1160], 0x17
mov dword [esp + 0x64], 0xf
mov dword [esp + 0x60], 0
mov byte [esp + 0x50], 0
cmp dword [esp + 0xf0], ebx
jb 0x10013b72
mov eax, dword [esp + 0xdc]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
push str.GET_CONTACT_BY_NUMBER
test esi, esi
je 0x10013b82
push str.Contact_Thumbnail_Adb_Pull_file_Failed_
jmp 0x10013b87
push str.Contact_Thumbnail_Adb_Pull_file_Successful_
call dword [sym.imp.MGCore.dll_public:_static_class_MGDecorateLog____cdecl_MGSingleton_class_MGDecorateLog__0_::getInstance_void_]
mov ecx, eax
call dword [sym.imp.MGCore.dll_public:_void___thiscall_MGDecorateLog::trace_char_const___char_const__]
lea ecx, [esp + 0x30]
mov byte [esp + 0x1160], bl
call dword [sym.imp.AdbManager.dll_public:_void___thiscall_CAdbClient::destructor_void_]
mov edi, 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_]
push 0
lea ecx, [esp + 0xa8]
push ecx
lea edx, [esp + 0xe4]
push edx
call edi
add esp, 0xc
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x1160], 0x1a
mov ecx, dword [ecx]
push eax
add ecx, 0x6c
call fcn.1000b240
cmp dword [esp + 0xf0], ebx
jb 0x10013bf4
mov edx, dword [esp + 0xdc]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov esi, 8
cmp dword [esp + 0xb8], esi
jb 0x10013c13
mov eax, dword [esp + 0xa4]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor ecx, ecx
mov byte [esp + 0x1160], 5
mov dword [esp + 0xb8], 7
mov dword [esp + 0xb4], 0
mov word [esp + 0xa4], cx
cmp dword [esp + 0x10c], esi
jb 0x10013c55
mov edx, dword [esp + 0xf8]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov esi, dword [esp + 0x18]
mov esi, dword [esi]
mov ebx, dword [esi + 0x1c]
mov dword [esp + 0x20], esi
mov ecx, dword [esi + 0x1c]
mov esi, dword [esi + 0x20]
mov eax, dword [esp + 0x1c]
lea ecx, [ecx + esi*4]
cmp ebx, ecx
je 0x10013e45
cmp dword [eax + 0x14], 0x10
mov ecx, dword [ebx]
mov ecx, dword [ecx + 0xc]
mov esi, dword [eax + 0x10]
jb 0x10013c87
mov eax, dword [eax]
mov edi, dword [ecx + 0x10]
mov edx, edi
cmp edi, esi
jb 0x10013c92
mov edx, esi
cmp dword [ecx + 0x14], 0x10
jb 0x10013c9a
mov ecx, dword [ecx]
push edx
push eax
push ecx
call fcn.1000aff0
add esp, 0xc
test eax, eax
jne 0x10013cbb
cmp edi, esi
jae 0x10013cb2
or eax, 0xffffffff
jmp 0x10013cb9
xor eax, eax
cmp edi, esi
setne al
test eax, eax
sete al
xor edi, edi
test al, al
je 0x10013d31
push 0x7ff
lea eax, [esp + 0x151]
push edi
push eax
mov byte [esp + 0x158], 0
call sub.MSVCR100.dll_memset
add esp, 0xc
push str.AndroidContactMgr::getContactInfoByNumber
push 0x117
push str.AndroidContactMgr.cpp
push str.Find_the_Contact_Number__Return_the_contactInfo___
push str._s__file:_s_line:__d_func:__s
lea ecx, [esp + 0x160]
push 0x800
push ecx
call dword [sym.imp.MSVCR100.dll_sprintf_s]
add esp, 0x1c
lea edx, [esp + 0x14c]
push str.GET_CONTACT_BY_NUMBER
push edx
call dword [sym.imp.MGCore.dll_public:_static_class_MGDecorateLog____cdecl_MGSingleton_class_MGDecorateLog__0_::getInstance_void_]
mov ecx, eax
call dword [sym.imp.MGCore.dll_public:_void___thiscall_MGDecorateLog::error_char_const___char_const__]
mov byte [esp + 0x17], 1
push 0x54
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
cmp eax, edi
je 0x10013d96
mov esi, 0xf
mov dword [eax + 0x14], esi
mov byte [eax], 0
mov dword [eax + 0x30], esi
mov dword [eax + 0x2c], edi
lea ecx, [eax + 0x1c]
mov byte [ecx], 0
lea edx, [eax + 0x38]
mov dword [edx + 0x14], esi
mov dword [edx + 0x10], edi
mov byte [edx], 0
cmp dword [eax + 0x14], 0x10
mov dword [eax + 0x10], edi
jb 0x10013d70
mov esi, dword [eax]
jmp 0x10013d72
mov esi, eax
mov byte [esi], 0
mov esi, 0x10
mov dword [ecx + 0x10], edi
cmp dword [ecx + 0x14], esi
jb 0x10013d84
mov ecx, dword [ecx]
mov byte [ecx], 0
mov dword [edx + 0x10], edi
cmp dword [edx + 0x14], esi
jb 0x10013d91
mov edx, dword [edx]
mov byte [edx], 0
jmp 0x10013d98
xor eax, eax
push eax
lea eax, [esp + 0x40]
xor edi, edi
push eax
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
call fcn.10016b10
mov byte [esp + 0x1160], 0x1b
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
mov esi, dword [esp + 0x3c]
push 0xffffffffffffffff
push edi
lea ecx, [esi + 0x1c]
push eax
call fcn.1000bd90
mov eax, dword [ebx]
mov eax, dword [eax + 0x10]
push 0xffffffffffffffff
push edi
lea ecx, [esi + 0x38]
push eax
call fcn.1000bd90
mov eax, dword [ebx]
mov eax, dword [eax + 8]
push 0xffffffffffffffff
push edi
push eax
mov ecx, esi
call fcn.1000bd90
mov ecx, dword [esp + 0x24]
mov edi, dword [ecx]
lea edi, [edi + 0xa4]
lea ecx, [esp + 0x3c]
call fcn.10032ab0
mov byte [esp + 0x1160], 5
mov esi, dword [esp + 0x40]
test esi, esi
je 0x10013e39
lea edx, [esi + 4]
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x10013e39
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 0x10013e39
mov eax, dword [esi]
mov edx, dword [eax + 4]
mov ecx, esi
call edx
mov esi, dword [esp + 0x20]
add ebx, 4
jmp 0x10013c62
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebx, dword [eax + 0x3c]
mov dword [esp + 0x20], eax
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x40]
lea eax, [ecx + eax*4]
cmp ebx, eax
je 0x10013f79
push 0x54
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
xor esi, esi
add esp, 4
cmp eax, esi
je 0x10013eca
mov edi, 0xf
mov dword [eax + 0x14], edi
mov byte [eax], 0
mov dword [eax + 0x30], edi
mov dword [eax + 0x2c], esi
lea ecx, [eax + 0x1c]
mov byte [ecx], 0
lea edx, [eax + 0x38]
mov dword [edx + 0x14], edi
mov dword [edx + 0x10], esi
mov byte [edx], 0
cmp dword [eax + 0x14], 0x10
mov dword [eax + 0x10], esi
jb 0x10013ea4
mov edi, dword [eax]
jmp 0x10013ea6
mov edi, eax
mov byte [edi], 0
mov edi, 0x10
mov dword [ecx + 0x10], esi
cmp dword [ecx + 0x14], edi
jb 0x10013eb8
mov ecx, dword [ecx]
mov byte [ecx], 0
mov dword [edx + 0x10], esi
cmp dword [edx + 0x14], edi
jb 0x10013ec5
mov edx, dword [edx]
mov byte [edx], 0
jmp 0x10013ecc
xor eax, eax
push eax
lea ecx, [esp + 0x48]
xor edi, edi
push ecx
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], edi
call fcn.10016bb0
mov byte [esp + 0x1160], 0x1c
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
mov esi, dword [esp + 0x44]
push 0xffffffffffffffff
push edi
lea ecx, [esi + 0x1c]
push eax
call fcn.1000bd90
mov eax, dword [ebx]
mov eax, dword [eax + 0x10]
push 0xffffffffffffffff
push edi
lea ecx, [esi + 0x38]
push eax
call fcn.1000bd90
mov eax, dword [ebx]
mov eax, dword [eax + 8]
push 0xffffffffffffffff
push edi
push eax
mov ecx, esi
call fcn.1000bd90
mov edx, dword [esp + 0x24]
mov edi, dword [edx]
lea edi, [edi + 0xb4]
lea ecx, [esp + 0x44]
call fcn.10032ab0
mov byte [esp + 0x1160], 5
mov esi, dword [esp + 0x48]
test esi, esi
je 0x10013f6d
lea eax, [esi + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x10013f6d
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 0x10013f6d
mov eax, dword [esi]
mov edx, dword [eax + 4]
mov ecx, esi
call edx
mov eax, dword [esp + 0x20]
add ebx, 4
jmp 0x10013e52
cmp byte [esp + 0x17], 0
jne 0x10013fb9
mov byte [esp + 0x1160], 4
cmp dword [esp + 0x9c], 8
jb 0x10013fa3
mov eax, dword [esp + 0x88]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
add dword [esp + 0x18], 4
mov ebx, dword [esp + 0x24]
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + 0x18]
jmp 0x10013550
cmp dword [esp + 0x9c], 8
jb 0x10013fd4
mov ecx, dword [esp + 0x88]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor edx, edx
mov byte [esp + 0x1160], 2
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x9c], 7
mov dword [esp + 0x98], 0
mov word [esp + 0x88], dx
call dword [sym.imp.MGCore.dll_public:_void___thiscall_MGRecMutex::unlock_void_const]
mov dword [esp + 0x1160], 0xffffffff
mov eax, dword [esp + 0x38]
test eax, eax
je 0x10014044
mov esi, eax
add eax, 4
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x10014044
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 0x10014044
mov eax, dword [esi]
mov edx, dword [eax + 4]
mov ecx, esi
call edx
mov al, 1
jmp 0x10014106
push 0x7ff
lea eax, [esp + 0x951]
push 0
push eax
mov byte [esp + 0x958], 0
call sub.MSVCR100.dll_memset
add esp, 0xc
push str.AndroidContactMgr::getContactInfoByNumber
push 0x136
push str.AndroidContactMgr.cpp
push str.The_Contact_has_not_been_found_in_cache___
push str._s__file:_s_line:__d_func:__s
lea ecx, [esp + 0x960]
push 0x800
push ecx
call dword [sym.imp.MSVCR100.dll_sprintf_s]
add esp, 0x1c
lea edx, [esp + 0x94c]
push str.GET_CONTACT_BY_NUMBER
push edx
call dword [sym.imp.MGCore.dll_public:_static_class_MGDecorateLog____cdecl_MGSingleton_class_MGDecorateLog__0_::getInstance_void_]
mov ecx, eax
call dword [sym.imp.MGCore.dll_public:_void___thiscall_MGDecorateLog::error_char_const___char_const__]
mov byte [esp + 0x1160], 2
mov ecx, dword [esp + 0x28]
call dword [sym.imp.MGCore.dll_public:_void___thiscall_MGRecMutex::unlock_void_const]
mov dword [esp + 0x1160], 0xffffffff
mov eax, dword [esp + 0x38]
test eax, eax
je 0x10014104
mov esi, eax
add eax, 4
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x10014104
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 0x10014104
mov eax, dword [esi]
mov edx, dword [eax + 4]
mov ecx, esi
call edx
xor al, al
mov ecx, dword [esp + 0x1158]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1140]
xor ecx, esp
call fcn.10178946
mov esp, ebp
pop ebp
ret 8