Function at 0x10050410
Capabilities:
Check if file exists
Copy file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10190c60
mov eax, dword fs:[0]
push eax
sub esp, 0x14c
mov eax, dword [0x101ebb68]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 0x14]
mov dword [ebp - 0x140], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov edi, ecx
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x134], edi
mov dword [ebp - 0x118], ecx
mov dword [ebp - 0x114], edx
test eax, eax
jne 0x10050487
push str.CONTACT_MULTIADD_IMPL
push str.ContactAddTransponderPtr_is_NULL___
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::warning_char_const___char_const__]
jmp 0x1005180f
mov edx, dword [edi + 0x54]
mov ecx, dword [edx + 0x20]
sub ecx, dword [edx + 0x1c]
mov eax, dword [edi + 0x5c]
sar ecx, 3
cmp eax, ecx
jae 0x100517f7
mov ecx, dword [edx + 0x1c]
mov edx, dword [edx + 0x20]
sub edx, ecx
sar edx, 3
cmp edx, eax
ja 0x100504b8
push str.invalid_vector_T__subscript
call dword [sym.imp.MSVCP100.dll_void___cdecl_std::_Xout_of_range_char_const__]
mov ebx, dword [ecx + eax*8 + 4]
mov eax, dword [ecx + eax*8]
xor esi, esi
mov dword [ebp - 0x128], esi
mov dword [ebp - 0x124], esi
mov dword [ebp - 0x130], eax
cmp ebx, esi
je 0x100504fa
mov edx, ebx
call fcn.1000ae40
test al, al
je 0x100504fa
mov ecx, dword [ebp - 0x130]
push ecx
lea esi, [ebp - 0x128]
call fcn.10044ae0
mov esi, dword [ebp - 0x128]
lea eax, [edi + 0x64]
mov dword [ebp - 4], 0
mov dword [ebp - 0x154], eax
add eax, 4
push eax
mov dword [ebp - 0x144], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [ebp - 0x150], 1
lea edx, [ebp - 0x13c]
push edx
mov byte [ebp - 4], 1
call fcn.10014420
add esp, 4
mov eax, dword [ebp - 0x140]
mov byte [ebp - 4], 2
mov eax, dword [eax]
mov byte [eax + 8], 1
mov ecx, dword [ebp - 0x13c]
mov eax, dword [ecx]
test eax, eax
jne 0x1005056d
push str.CONTACT_MULTIADD_IMPL
push str.dupCache__cacheMsgPtr_is_NULL___
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__]
jmp 0x1005168e
add ecx, 8
mov dword [ebp - 0x14c], ecx
call dword [sym.imp.MGCore.dll_public:_void___thiscall_MGRecMutex::lock_void_const]
mov byte [ebp - 0x148], 1
mov byte [ebp - 4], 3
mov eax, dword [esi]
add eax, 0x30
mov edi, 0x10
cmp dword [eax + 0x14], edi
jb 0x10050598
mov eax, dword [eax]
mov ecx, dword [ebp - 0x114]
mov edx, dword [ebp - 0x118]
push eax
push ecx
push edx
push str.Now_We_Insert_the_Contact_into_the_ContactList__ContactID___I64d__ContactName___s
lea esi, [ebp - 0x2c]
call fcn.1000c270
add esp, 0x10
mov byte [ebp - 4], 4
cmp dword [eax + 0x14], edi
jb 0x100505c2
mov eax, dword [eax]
push str.CONTACT_MULTIADD_IMPL
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__]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 3
call fcn.1000c240
mov eax, dword [ebp - 0x13c]
mov esi, dword [eax]
lea esi, [esi + 0x28]
call fcn.10041570
mov ecx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x114]
mov ebx, dword [ebp - 0x128]
mov edi, eax
or dword [edi + 0x64], 1
mov dword [edi + 8], ecx
mov dword [edi + 0xc], edx
mov eax, dword [ebx]
add eax, 0x30
push eax
mov esi, edi
mov dword [ebp - 0x130], edi
call fcn.10041980
mov eax, dword [ebx]
mov al, byte [eax + 0x4c]
or dword [edi + 0x64], 4
mov byte [edi + 0x5c], al
mov eax, dword [ebx]
add eax, 0x88
push eax
call fcn.10041930
push 0x101a4104
lea ecx, [ebp - 0x2c]
call fcn.1000c200
push eax
mov byte [ebp - 4], 5
call fcn.100416c0
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 3
call fcn.1000c240
mov eax, dword [ebx]
mov ebx, dword [eax + 0xa4]
mov eax, dword [ebp - 0x128]
mov eax, dword [eax]
mov eax, dword [eax + 0xa8]
cmp ebx, eax
je 0x100506ba
lea esp, [esp]
mov eax, edi
call fcn.100418f0
mov esi, eax
mov eax, dword [ebx]
add eax, 0x1c
push eax
call fcn.10041800
mov eax, dword [ebx]
add eax, 0x38
push eax
call fcn.100c2b70
mov eax, dword [ebx]
push eax
call fcn.10041710
mov ecx, dword [ebp - 0x128]
mov eax, dword [ecx]
add ebx, 8
cmp ebx, dword [eax + 0xa8]
jne 0x10050680
mov ecx, dword [ebp - 0x128]
mov eax, dword [ecx]
mov ebx, dword [eax + 0xb4]
mov eax, dword [eax + 0xb8]
cmp ebx, eax
je 0x10050804
mov edi, dword [ebp - 0x130]
mov eax, dword [edi + 0x40]
mov ecx, dword [edi + 0x44]
cmp eax, ecx
jge 0x100506f2
mov edx, dword [edi + 0x3c]
mov esi, dword [edx + eax*4]
inc eax
mov dword [edi + 0x40], eax
jmp 0x1005071e
mov eax, dword [edi + 0x48]
cmp ecx, eax
jne 0x10050703
inc eax
push eax
lea ecx, [edi + 0x3c]
call fcn.10125e20
mov esi, 1
add dword [edi + 0x44], esi
call fcn.10041760
mov ecx, dword [edi + 0x40]
mov edx, dword [edi + 0x3c]
mov dword [edx + ecx*4], eax
add dword [edi + 0x40], esi
mov esi, eax
mov edi, dword [ebx]
or dword [esi + 0x18], 2
cmp dword [esi + 0xc], 0x101eb21c
jne 0x10050754
push 0x1c
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
test eax, eax
je 0x1005074f
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], 0
mov byte [eax], 0
jmp 0x10050751
xor eax, eax
mov dword [esi + 0xc], eax
mov ecx, dword [esi + 0xc]
push 0xffffffffffffffff
push 0
add edi, 0x1c
push edi
call fcn.1000bd90
mov edi, dword [ebx]
or dword [esi + 0x18], 4
cmp dword [esi + 0x10], 0x101eb21c
jne 0x1005079a
push 0x1c
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
test eax, eax
je 0x10050795
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], 0
mov byte [eax], 0
jmp 0x10050797
xor eax, eax
mov dword [esi + 0x10], eax
mov ecx, dword [esi + 0x10]
push 0xffffffffffffffff
push 0
add edi, 0x38
push edi
call fcn.1000bd90
mov edi, dword [ebx]
or dword [esi + 0x18], 1
cmp dword [esi + 8], 0x101eb21c
jne 0x100507e0
push 0x1c
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
test eax, eax
je 0x100507db
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], 0
mov byte [eax], 0
jmp 0x100507dd
xor eax, eax
mov dword [esi + 8], eax
mov ecx, dword [esi + 8]
push 0xffffffffffffffff
push 0
push edi
call fcn.1000bd90
mov eax, dword [ebp - 0x128]
mov eax, dword [eax]
add ebx, 8
cmp ebx, dword [eax + 0xb8]
jne 0x100506d6
push str.CONTACT_MULTIADD_IMPL
push str.Then_Secondly__we_Insert_the_Contact_Into_the_group_Info____
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 eax, dword [ebp - 0x128]
mov ecx, dword [eax + 0xc]
sub ecx, dword [eax + 8]
test ecx, 0xfffffff8
je 0x10050cc4
mov ecx, dword [eax + 8]
mov dword [ebp - 0x11c], ecx
cmp ecx, dword [eax + 0xc]
je 0x10050eb5
jmp 0x10050850
mov edx, dword [ebp - 0x13c]
mov eax, dword [edx]
mov edi, dword [eax + 8]
mov dword [ebp - 0x120], eax
mov eax, dword [eax + 0xc]
lea eax, [edi + eax*4]
cmp edi, eax
je 0x10050ca1
nop
mov eax, dword [ebp - 0x134]
mov eax, dword [eax + 0x54]
mov ebx, 0x10
cmp dword [eax + 0x14], ebx
jb 0x10050887
mov ecx, dword [eax]
jmp 0x10050889
mov ecx, eax
mov eax, dword [edi]
mov eax, dword [eax + 8]
cmp dword [eax + 0x14], ebx
jb 0x10050895
mov eax, dword [eax]
push ecx
push eax
push str.Searching_Account_:__AccountName___s__the_des_Account___s
lea esi, [ebp - 0x2c]
call fcn.1000c270
add esp, 0xc
mov byte [ebp - 4], 6
cmp dword [eax + 0x14], ebx
jb 0x100508b2
mov eax, dword [eax]
push str.CONTACT_MULTIADD_IMPL
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 byte [ebp - 4], 3
cmp dword [ebp - 0x18], ebx
jb 0x100508dc
mov ecx, dword [ebp - 0x2c]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov edx, dword [ebp - 0x134]
mov eax, dword [edx + 0x54]
mov ecx, dword [edi]
mov ecx, dword [ecx + 8]
mov esi, dword [eax + 0x10]
cmp dword [eax + 0x14], ebx
jb 0x100508f4
mov eax, dword [eax]
mov ebx, dword [ecx + 0x10]
mov edx, ebx
cmp ebx, esi
jb 0x100508ff
mov edx, esi
cmp dword [ecx + 0x14], 0x10
jb 0x10050907
mov ecx, dword [ecx]
push edx
push eax
push ecx
call fcn.1000aff0
add esp, 0xc
test eax, eax
jne 0x10050923
cmp ebx, esi
jb 0x10050923
cmp ebx, esi
setne al
test eax, eax
je 0x10050942
mov ecx, dword [ebp - 0x120]
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
add edi, 4
lea eax, [eax + ecx*4]
cmp edi, eax
jne 0x10050870
jmp 0x10050ca1
mov eax, dword [edi]
mov eax, dword [eax + 8]
mov ebx, 0x10
cmp dword [eax + 0x14], ebx
jb 0x10050953
mov eax, dword [eax]
push eax
push str.Find_the_Account____AccountName___s
lea esi, [ebp - 0x2c]
call fcn.1000c270
add esp, 8
mov byte [ebp - 4], 7
cmp dword [eax + 0x14], ebx
jb 0x1005096f
mov eax, dword [eax]
push str.CONTACT_MULTIADD_IMPL
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 byte [ebp - 4], 3
cmp dword [ebp - 0x18], ebx
jb 0x10050999
mov eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov eax, dword [edi]
mov edi, dword [eax + 0x10]
mov dword [ebp - 0x12c], eax
mov eax, dword [eax + 0x14]
lea eax, [edi + eax*4]
cmp edi, eax
je 0x10050ca1
jmp 0x100509c5
mov ebx, 0x10
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ecx]
cmp dword [eax + 0x1c], ebx
jb 0x100509d7
mov ecx, dword [eax + 8]
jmp 0x100509da
lea ecx, [eax + 8]
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
cmp dword [eax + 0x14], ebx
jb 0x100509e6
mov eax, dword [eax]
push ecx
push eax
push str.Searching_Group:_GroupName___s__the_Des_Group:__s
lea esi, [ebp - 0x2c]
call fcn.1000c270
add esp, 0xc
mov byte [ebp - 4], 8
cmp dword [eax + 0x14], ebx
jb 0x10050a03
mov eax, dword [eax]
push str.CONTACT_MULTIADD_IMPL
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 byte [ebp - 4], 3
cmp dword [ebp - 0x18], ebx
jb 0x10050a2d
mov edx, dword [ebp - 0x2c]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov eax, dword [ebp - 0x11c]
mov eax, dword [eax]
cmp dword [eax + 0x18], 0
jne 0x10050af9
mov ecx, dword [edi]
mov edx, dword [ecx + 8]
mov esi, dword [eax + 0x24]
mov ecx, dword [ecx + 0xc]
push esi
push ecx
mov ecx, dword [eax + 4]
push edx
mov edx, dword [eax]
push ecx
push edx
push str.The_Contact_will_add_has_no_GroupName__Current_Group_:_GroupID___I64d__CurrentGroupID___I64d__GroupSize___d
lea esi, [ebp - 0x2c]
call fcn.1000c270
add esp, 0x18
mov byte [ebp - 4], 9
cmp dword [eax + 0x14], ebx
jb 0x10050a6f
mov eax, dword [eax]
push str.CONTACT_MULTIADD_IMPL
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 byte [ebp - 4], 3
cmp dword [ebp - 0x18], ebx
jb 0x10050a99
mov eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov eax, dword [edi]
mov ecx, dword [ebp - 0x11c]
mov edx, dword [eax + 8]
mov ecx, dword [ecx]
mov eax, dword [eax + 0xc]
cmp edx, dword [ecx]
jne 0x10050ba2
cmp eax, dword [ecx + 4]
jne 0x10050ba2
mov ecx, dword [edi]
mov eax, dword [ecx + 0x18]
mov edx, dword [ecx + 0x1c]
lea ecx, [eax + edx*8]
mov dword [ebp - 0x120], edi
cmp eax, ecx
je 0x10050bfa
mov edx, dword [ebp - 0x118]
mov esi, dword [ebp - 0x114]
nop
cmp dword [eax], edx
jne 0x10050aed
cmp dword [eax + 4], esi
je 0x10050bf2
add eax, 8
cmp eax, ecx
jne 0x10050ae0
jmp 0x10050bf2
cmp dword [eax + 0x1c], ebx
lea ecx, [eax + 8]
jb 0x10050b03
mov ecx, dword [ecx]
mov edx, dword [eax + 0x24]
push edx
push ecx
push str.The_Contact_will_add_has_GroupName:_GroupName___s__GroupSize___d
lea esi, [ebp - 0x2c]
call fcn.1000c270
add esp, 0xc
mov byte [ebp - 4], 0xa
cmp dword [eax + 0x14], ebx
jb 0x10050b23
mov eax, dword [eax]
push str.CONTACT_MULTIADD_IMPL
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 byte [ebp - 4], 3
cmp dword [ebp - 0x18], ebx
jb 0x10050b4d
mov eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ecx]
mov ecx, dword [edi]
mov ecx, dword [ecx + 0x10]
mov esi, dword [eax + 0x18]
add eax, 8
cmp dword [eax + 0x14], ebx
jb 0x10050b67
mov eax, dword [eax]
mov ebx, dword [ecx + 0x10]
mov edx, ebx
cmp ebx, esi
jb 0x10050b72
mov edx, esi
cmp dword [ecx + 0x14], 0x10
jb 0x10050b7a
mov ecx, dword [ecx]
push edx
push eax
push ecx
call fcn.1000aff0
add esp, 0xc
test eax, eax
jne 0x10050b9b
cmp ebx, esi
jae 0x10050b92
or eax, 0xffffffff
jmp 0x10050b99
xor eax, eax
cmp ebx, esi
setne al
test eax, eax
sete al
test al, al
jne 0x10050bc1
mov ecx, dword [ebp - 0x12c]
mov eax, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x14]
add edi, 4
lea eax, [eax + ecx*4]
cmp edi, eax
jne 0x100509c0
jmp 0x10050ca1
mov ecx, dword [edi]
mov eax, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x1c]
lea ecx, [eax + ecx*8]
mov dword [ebp - 0x120], edi
cmp eax, ecx
je 0x10050bfa
mov edx, dword [ebp - 0x118]
mov esi, dword [ebp - 0x114]
cmp dword [eax], edx
jne 0x10050beb
cmp dword [eax + 4], esi
je 0x10050bf2
add eax, 8
cmp eax, ecx
jne 0x10050be2
cmp eax, ecx
jne 0x10050ca1
push str.CONTACT_MULTIADD_IMPL
push str.Not_Find_the_Contact_in_Cache__Need_to_Insert_the_contact___
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, dword [edi]
mov eax, dword [esi + 0x20]
cmp dword [esi + 0x1c], eax
jne 0x10050c72
lea ecx, [eax + 1]
cmp eax, ecx
jge 0x10050c72
mov edi, dword [esi + 0x18]
add eax, eax
cmp eax, ecx
jg 0x10050c2e
mov eax, ecx
xor ecx, ecx
mov dword [esi + 0x20], eax
mov edx, 8
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.10124806
mov ecx, dword [esi + 0x1c]
add ecx, ecx
add ecx, ecx
add esp, 4
add ecx, ecx
push ecx
push edi
push eax
mov dword [esi + 0x18], eax
call sub.MSVCR100.dll_memcpy
lea edx, [esi + 0x28]
add esp, 0xc
cmp edi, edx
je 0x10050c72
push edi
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete___void__]
add esp, 4
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x1c]
mov edx, dword [ebp - 0x118]
mov dword [eax + ecx*8], edx
mov edx, dword [ebp - 0x114]
mov dword [eax + ecx*8 + 4], edx
inc dword [esi + 0x1c]
mov eax, dword [ebp - 0x120]
mov eax, dword [eax]
mov eax, dword [eax + 0x48]
or dword [esi + 0x50], 4
inc eax
mov dword [esi + 0x48], eax
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x128]
add eax, 8
mov dword [ebp - 0x11c], eax
cmp eax, dword [ecx + 0xc]
jne 0x10050850
jmp 0x10050eb5
push str.CONTACT_MULTIADD_IMPL
push str.The_Contact_Add_has_no_group____We_insert_the_contact_in_Not_Assigned___
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 edx, dword [ebp - 0x13c]
mov eax, dword [edx]
mov edi, dword [eax + 8]
mov dword [ebp - 0x12c], eax
mov eax, dword [eax + 0xc]
lea eax, [edi + eax*4]
cmp edi, eax
je 0x10050eb5
jmp 0x10050d00
mov eax, dword [ebp - 0x134]
mov eax, dword [eax + 0x54]
mov ebx, 0x10
cmp dword [eax + 0x14], ebx
jb 0x10050d17
mov ecx, dword [eax]
jmp 0x10050d19
mov ecx, eax
mov eax, dword [edi]
mov eax, dword [eax + 8]
cmp dword [eax + 0x14], ebx
jb 0x10050d25
mov eax, dword [eax]
push ecx
push eax
push str.Search_Account_:__AccountName___s__the_des_Account___s
lea esi, [ebp - 0x2c]
call fcn.1000c270
add esp, 0xc
mov byte [ebp - 4], 0xb
cmp dword [eax + 0x14], ebx
jb 0x10050d42
mov eax, dword [eax]
push str.CONTACT_MULTIADD_IMPL
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 byte [ebp - 4], 3
cmp dword [ebp - 0x18], ebx
jb 0x10050d6c
mov ecx, dword [ebp - 0x2c]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov edx, dword [ebp - 0x134]
mov eax, dword [edx + 0x54]
mov ecx, dword [edi]
mov ecx, dword [ecx + 8]
mov esi, dword [eax + 0x10]
cmp dword [eax + 0x14], ebx
jb 0x10050d84
mov eax, dword [eax]
mov ebx, dword [ecx + 0x10]
mov edx, ebx
cmp ebx, esi
jb 0x10050d8f
mov edx, esi
cmp dword [ecx + 0x14], 0x10
jb 0x10050d97
mov ecx, dword [ecx]
push edx
push eax
push ecx
call fcn.1000aff0
add esp, 0xc
test eax, eax
jne 0x10050db3
cmp ebx, esi
jb 0x10050db3
cmp ebx, esi
setne al
test eax, eax
je 0x10050dd2
mov ecx, dword [ebp - 0x12c]
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
add edi, 4
lea eax, [eax + ecx*4]
cmp edi, eax
jne 0x10050d00
jmp 0x10050eb5
mov eax, dword [edi]
mov edi, dword [eax + 0x10]
mov dword [ebp - 0x12c], eax
mov eax, dword [eax + 0x14]
lea eax, [edi + eax*4]
cmp edi, eax
je 0x10050eb5
jmp 0x10050df0
mov ebx, dword [edi]
mov eax, dword [ebx + 0x10]
mov esi, dword [eax + 0x10]
mov ecx, esi
cmp esi, 0xc
jb 0x10050e04
mov ecx, 0xc
cmp dword [eax + 0x14], 0x10
jb 0x10050e0c
mov eax, dword [eax]
push ecx
push str.Not_Assigned
push eax
call fcn.1000aff0
add esp, 0xc
test eax, eax
jne 0x10050e9b
cmp esi, 0xc
jb 0x10050e9b
cmp esi, 0xc
setne al
test eax, eax
jne 0x10050e9b
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x1c]
lea ecx, [eax + ecx*8]
cmp eax, ecx
je 0x10050e60
jmp 0x10050e40
mov edx, dword [eax]
cmp edx, dword [ebp - 0x118]
jne 0x10050e55
mov edx, dword [eax + 4]
cmp edx, dword [ebp - 0x114]
je 0x10050e5c
add eax, 8
cmp eax, ecx
jne 0x10050e40
cmp eax, ecx
jne 0x10050e9b
mov eax, dword [ebx + 0x20]
cmp dword [ebx + 0x1c], eax
jne 0x10050e72
inc eax
push eax
lea ecx, [ebx + 0x18]
call fcn.10041500
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x1c]
mov edx, dword [ebp - 0x118]
mov dword [eax + ecx*8], edx
mov edx, dword [ebp - 0x114]
mov dword [eax + ecx*8 + 4], edx
inc dword [ebx + 0x1c]
mov eax, dword [edi]
mov eax, dword [eax + 0x48]
or dword [ebx + 0x50], 4
inc eax
mov dword [ebx + 0x48], eax
mov ecx, dword [ebp - 0x12c]
mov eax, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x14]
add edi, 4
lea eax, [eax + ecx*4]
cmp edi, eax
jne 0x10050df0
mov eax, dword [ebp - 0x128]
mov eax, dword [eax]
cmp dword [eax + 0x7c], 0
je 0x1005164c
xor ecx, ecx
push 4
mov eax, 0x101a39f4
lea esi, [ebp - 0x80]
mov dword [ebp - 0x6c], 7
mov dword [ebp - 0x70], 0
mov word [ebp - 0x80], cx
call fcn.1000b950
mov edx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x118]
push edx
push eax
push str._I64d
lea esi, [ebp - 0x2c]
mov byte [ebp - 4], 0xc
call fcn.1000c270
add esp, 0xc
push 0
push eax
lea ecx, [ebp - 0xf0]
push ecx
mov byte [ebp - 4], 0xd
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 esi, eax
lea eax, [ebp - 0x10c]
mov byte [ebp - 4], 0xe
call fcn.1003a570
mov ecx, eax
mov eax, esi
lea ebx, [ebp - 0x48]
mov byte [ebp - 4], 0xf
call fcn.10007f90
mov ecx, eax
lea eax, [ebp - 0x80]
lea ebx, [ebp - 0xb8]
mov byte [ebp - 4], 0x10
call fcn.10007f90
cmp dword [ebp - 0x34], 8
jb 0x10050f6b
mov edx, dword [ebp - 0x48]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov ebx, 7
xor edi, edi
xor eax, eax
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x38], edi
mov word [ebp - 0x48], ax
mov esi, 8
cmp dword [ebp - 0xf8], esi
jb 0x10050f9b
mov ecx, dword [ebp - 0x10c]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor edx, edx
mov dword [ebp - 0xf8], ebx
mov dword [ebp - 0xfc], edi
mov word [ebp - 0x10c], dx
cmp dword [ebp - 0xdc], esi
jb 0x10050fc8
mov eax, dword [ebp - 0xf0]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor ecx, ecx
mov dword [ebp - 0xdc], ebx
mov dword [ebp - 0xe0], edi
mov word [ebp - 0xf0], cx
cmp dword [ebp - 0x18], 0x10
jb 0x10050ff0
mov edx, dword [ebp - 0x2c]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov esi, 0xf
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], edi
mov byte [ebp - 0x2c], 0
mov byte [ebp - 4], 0x16
cmp dword [ebp - 0x6c], 8
jb 0x10051016
mov eax, dword [ebp - 0x80]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
push edi
lea edx, [ebp - 0xb8]
push edx
lea eax, [ebp - 0xd4]
xor ecx, ecx
push eax
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x70], edi
mov word [ebp - 0x80], cx
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 ebx, dword [ebp - 0x130]
mov byte [ebp - 4], 0x17
or dword [ebx + 0x64], 8
cmp dword [ebx + 0x14], 0x101eb21c
jne 0x10051070
push 0x1c
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
cmp eax, edi
je 0x1005106b
mov dword [eax + 0x14], esi
mov dword [eax + 0x10], edi
mov byte [eax], 0
jmp 0x1005106d
xor eax, eax
mov dword [ebx + 0x14], eax
mov ecx, dword [ebx + 0x14]
push 0xffffffffffffffff
push edi
lea edx, [ebp - 0xd4]
push edx
call fcn.1000bd90
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x12c], 0x2f
cmp eax, 1
jb 0x1005111b
dec eax
cmp eax, 0xffffffff
jbe 0x100510a4
or eax, 0xffffffff
mov ebx, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xb8]
cmp ebx, 8
jae 0x100510bb
lea ecx, [ebp - 0xb8]
lea esi, [ecx + eax*2]
mov edi, edi
cmp word [esi], 0x2f
jne 0x10051107
mov edx, 1
lea ecx, [ebp - 0x12c]
mov eax, esi
mov di, word [eax]
cmp di, word [ecx]
jne 0x100510fd
add eax, 2
add ecx, 2
dec edx
jne 0x100510d3
mov eax, dword [ebp - 0xb8]
cmp ebx, 8
jae 0x100510f5
lea eax, [ebp - 0xb8]
sub esi, eax
sar esi, 1
xor edi, edi
jmp 0x1005111e
sbb ecx, ecx
and ecx, 0xfffffffe
inc ecx
je 0x100510e4
xor edi, edi
lea eax, [ebp - 0xb8]
call fcn.1000b5a0
cmp esi, eax
je 0x1005111b
sub esi, 2
jmp 0x100510c0
or esi, 0xffffffff
xor edx, edx
mov dword [ebp - 0x50], 7
mov dword [ebp - 0x54], edi
mov word [ebp - 0x64], dx
mov bl, 0x18
mov byte [ebp - 4], bl
cmp esi, 0xffffffff
je 0x100511d7
lea ecx, [esi + 1]
push 0xffffffffffffffff
lea esi, [ebp - 0x2c]
lea edx, [ebp - 0xb8]
call fcn.100143f0
mov esi, eax
lea eax, [ebp - 0x64]
cmp eax, esi
je 0x100511b1
cmp dword [ebp - 0x50], 8
jb 0x1005116b
mov ecx, dword [ebp - 0x64]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor edx, edx
mov dword [ebp - 0x50], 7
mov dword [ebp - 0x54], edi
mov word [ebp - 0x64], dx
cmp dword [esi + 0x14], 8
jae 0x10051198
mov eax, dword [esi + 0x10]
inc eax
add eax, eax
push eax
lea ecx, [ebp - 0x64]
push esi
push ecx
call dword [sym.imp.MSVCR100.dll_memmove]
add esp, 0xc
jmp 0x1005119f
mov edx, dword [esi]
mov dword [ebp - 0x64], edx
mov dword [esi], edi
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x54], eax
mov ecx, dword [esi + 0x14]
mov dword [ebp - 0x50], ecx
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], edi
mov byte [ebp - 4], bl
cmp dword [ebp - 0x18], 8
jb 0x100511c7
mov edx, dword [ebp - 0x2c]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], edi
mov word [ebp - 0x2c], ax
cmp dword [0x101feda4], edi
jne 0x10051229
mov ecx, 0x101fed94
call dword [sym.imp.MGCore.dll_public:_void___thiscall_MGStaticMutex::lock_void_const]
cmp dword [0x101feda4], edi
jne 0x1005121e
test byte [0x101fead0], 1
jne 0x10051214
or dword [0x101fead0], 1
call fcn.10061000
push 0x10195d20
call fcn.10178b2f
add esp, 4
mov dword [0x101feda4], 0x101fead8
mov ecx, 0x101fed94
call dword [sym.imp.MGCore.dll_public:_void___thiscall_MGStaticMutex::unlock_void_const]
mov ecx, dword [0x101feda4]
lea edx, [ebp - 0x10c]
call fcn.10062280
push eax
mov eax, 0x101a37bc
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x1a
call fcn.1003b0c0
add esp, 4
mov ecx, eax
lea eax, [ebp - 0x64]
lea ebx, [ebp - 0x9c]
mov byte [ebp - 4], 0x1b
call fcn.10008020
cmp dword [ebp - 0xdc], 8
jb 0x1005127f
mov ecx, dword [ebp - 0xf0]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov ebx, 7
xor edi, edi
xor edx, edx
mov dword [ebp - 0xdc], ebx
mov dword [ebp - 0xe0], edi
mov word [ebp - 0xf0], dx
mov esi, 8
mov byte [ebp - 4], 0x1e
cmp dword [ebp - 0xf8], esi
jb 0x100512bc
mov eax, dword [ebp - 0x10c]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov eax, dword [ebp - 0x9c]
xor ecx, ecx
mov dword [ebp - 0xf8], ebx
mov dword [ebp - 0xfc], edi
mov word [ebp - 0x10c], cx
cmp dword [ebp - 0x88], esi
jae 0x100512e5
lea eax, [ebp - 0x9c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov ebx, 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 edi
cmp eax, edi
je 0x100513c2
lea edx, [ebp - 0x9c]
push edx
lea eax, [ebp - 0x80]
push eax
call ebx
add esp, 0xc
mov esi, eax
push edi
lea ecx, [ebp - 0xb8]
push ecx
lea edx, [ebp - 0x48]
push edx
mov byte [ebp - 4], 0x1f
call ebx
add esp, 0xc
mov ebx, 0x10
mov byte [ebp - 4], 0x20
cmp dword [esi + 0x14], ebx
jb 0x10051332
mov esi, dword [esi]
cmp dword [eax + 0x14], ebx
jb 0x10051339
mov eax, dword [eax]
push esi
push eax
push str.Contact_Thumbail__Exist______ThumbnailRemotePath___s__ThumbnailLocalPath___s
lea esi, [ebp - 0x2c]
call fcn.1000c270
add esp, 0xc
mov byte [ebp - 4], 0x21
cmp dword [eax + 0x14], ebx
jb 0x10051356
mov eax, dword [eax]
push str.CONTACT_OBTAIN_IMPL
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 [ebp - 0x18], ebx
jb 0x1005137c
mov eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov esi, 0xf
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], edi
mov byte [ebp - 0x2c], 0
cmp dword [ebp - 0x34], ebx
jb 0x1005139d
mov ecx, dword [ebp - 0x48]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x38], edi
mov byte [ebp - 0x48], 0
cmp dword [ebp - 0x6c], ebx
jb 0x100515af
mov edx, dword [ebp - 0x80]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
jmp 0x100515af
lea eax, [ebp - 0x9c]
push eax
lea ecx, [ebp - 0x80]
push ecx
call ebx
add esp, 0xc
mov esi, eax
push edi
lea edx, [ebp - 0xb8]
push edx
lea eax, [ebp - 0x48]
push eax
mov byte [ebp - 4], 0x22
call ebx
add esp, 0xc
mov ebx, 0x10
mov byte [ebp - 4], 0x23
cmp dword [esi + 0x14], ebx
jb 0x100513f9
mov esi, dword [esi]
cmp dword [eax + 0x14], ebx
jb 0x10051400
mov eax, dword [eax]
push esi
push eax
push str.Contact_Thumbail_Not_Exist______ThumbnailRemotePath___s__ThumbnailLocalPath___s
lea esi, [ebp - 0x2c]
call fcn.1000c270
add esp, 0xc
mov byte [ebp - 4], 0x24
cmp dword [eax + 0x14], ebx
jb 0x1005141d
mov eax, dword [eax]
push str.CONTACT_OBTAIN_IMPL
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 [ebp - 0x18], ebx
jb 0x10051443
mov ecx, dword [ebp - 0x2c]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor esi, esi
mov edi, 0xf
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], esi
mov byte [ebp - 0x2c], 0
cmp dword [ebp - 0x34], ebx
jb 0x10051466
mov edx, dword [ebp - 0x48]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov byte [ebp - 4], 0x1e
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x38], esi
mov byte [ebp - 0x48], 0
cmp dword [ebp - 0x6c], ebx
jb 0x10051486
mov eax, dword [ebp - 0x80]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
lea ecx, [ebp - 0x11c]
call dword [sym.imp.AdbManager.dll_public:_void___thiscall_CAdbClient::constructor_void_]
push 0
lea ecx, [ebp - 0x9c]
push ecx
lea edx, [ebp - 0x48]
push edx
mov byte [ebp - 4], 0x25
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
push 0
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x2c]
push ecx
mov byte [ebp - 4], 0x26
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 byte [ebp - 4], 0x27
cmp dword [esi + 0x14], ebx
jb 0x100514d3
mov esi, dword [esi]
cmp dword [eax + 0x14], ebx
jb 0x100514da
mov eax, dword [eax]
push 1
push esi
push eax
lea ecx, [ebp - 0x11c]
call dword [sym.imp.AdbManager.dll_public:_enum_emError___thiscall_CAdbClient::PullFile_char_const___char_const___bool_]
mov esi, eax
cmp dword [ebp - 0x18], ebx
jb 0x100514fe
mov edx, dword [ebp - 0x2c]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov byte [ebp - 4], 0x25
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x2c], 0
cmp dword [ebp - 0x34], ebx
jb 0x10051522
mov eax, dword [ebp - 0x48]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
test esi, esi
je 0x10051595
push str.CONTACT_OBTAIN_IMPL
push str.Contact_Thumbnail_Adb_Pull_file_Failed_
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 ecx, dword [ebp - 0x128]
mov eax, dword [ecx]
push 0
add eax, 0x6c
push eax
lea edx, [ebp - 0x2c]
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_]
mov ecx, dword [ebp - 0x9c]
mov esi, 8
add esp, 0xc
cmp dword [ebp - 0x88], esi
jae 0x10051572
lea ecx, [ebp - 0x9c]
cmp dword [eax + 0x14], esi
jb 0x10051579
mov eax, dword [eax]
push 0
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
cmp dword [ebp - 0x18], esi
jb 0x10051595
mov eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
lea ecx, [ebp - 0x11c]
mov byte [ebp - 4], 0x1e
call dword [sym.imp.AdbManager.dll_public:_void___thiscall_CAdbClient::destructor_void_]
mov ebx, 0x10
lea esi, [ebx - 1]
xor edi, edi
cmp dword [ebp - 0x88], 8
jb 0x100515c8
mov ecx, dword [ebp - 0x9c]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor edx, edx
cmp dword [ebp - 0x50], 8
mov dword [ebp - 0x88], 7
mov dword [ebp - 0x8c], edi
mov word [ebp - 0x9c], dx
jb 0x100515f4
mov eax, dword [ebp - 0x64]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x50], 7
mov dword [ebp - 0x54], edi
mov word [ebp - 0x64], cx
cmp dword [ebp - 0xc0], ebx
jb 0x1005161c
mov edx, dword [ebp - 0xd4]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov byte [ebp - 4], 3
cmp dword [ebp - 0xa4], 8
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xc4], edi
mov byte [ebp - 0xd4], 0
jb 0x1005164c
mov eax, dword [ebp - 0xb8]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
push str.CONTACT_MULTIADD_IMPL
push str.Add_the_Last_Contact__Update_local_cache___
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 edi, dword [ebp - 0x13c]
call fcn.1001ed80
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x14c]
call dword [sym.imp.MGCore.dll_public:_void___thiscall_MGRecMutex::unlock_void_const]
mov eax, dword [ebp - 0x134]
inc dword [eax + 0x5c]
mov esi, dword [ebp - 0x128]
mov eax, dword [esi]
mov ecx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x114]
push 5
mov dword [eax + 0x28], ecx
mov ebx, 0xf
push str.phone
lea ecx, [ebp - 0xd4]
mov dword [eax + 0x2c], edx
mov dword [ebp - 0xc0], ebx
mov dword [ebp - 0xc4], 0
mov byte [ebp - 0xd4], 0
call fcn.1000c100
lea eax, [ebp - 0xd4]
mov byte [ebp - 4], 0x28
mov ecx, dword [esi]
push eax
call fcn.1000b240
mov byte [ebp - 4], 2
cmp dword [ebp - 0xc0], 0x10
jb 0x100516ff
mov ecx, dword [ebp - 0xd4]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov edx, dword [ebp - 0x140]
mov edi, dword [edx]
mov eax, dword [ebp - 0x128]
lea edi, [edi + 0x10]
call fcn.100ac2e0
mov eax, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x118]
push eax
push ecx
push str.Contact_Add_Successful__ContactID___I64d
lea esi, [ebp - 0x2c]
call fcn.1000c270
add esp, 0xc
mov esi, 0x10
mov byte [ebp - 4], 0x29
cmp dword [eax + 0x14], esi
jb 0x10051743
mov eax, dword [eax]
push str.CONTACT_MULTIADD_IMPL
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 [ebp - 0x18], esi
jb 0x10051769
mov edx, dword [ebp - 0x2c]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov byte [ebp - 4], 1
mov esi, dword [ebp - 0x138]
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x2c], 0
test esi, esi
je 0x100517ae
lea eax, [esi + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x100517ae
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 0x100517ae
mov eax, dword [esi]
mov edx, dword [eax + 4]
mov ecx, esi
call edx
mov eax, dword [ebp - 0x144]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x124]
test esi, esi
je 0x1005180f
lea ecx, [esi + 4]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x1005180f
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 0x1005180f
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
jmp 0x1005180f
push str.CONTACT_MULTIADD_IMPL
push str.Current_Index_is_NOT_Valid____
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 ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10178946
mov esp, ebp
pop ebp
ret 0x10