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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10190fd7
mov eax, dword fs:[0]
push eax
sub esp, 0x140
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 edx, dword [ebp + 0x10]
mov ebx, ecx
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x140], eax
lea eax, [ebp - 0x138]
xor esi, esi
push eax
mov dword [ebp - 0x11c], ebx
mov dword [ebp - 0x12c], ecx
mov dword [ebp - 0x128], edx
mov dword [ebp - 0x120], esi
call fcn.10014420
add esp, 4
mov dword [ebp - 4], esi
mov eax, dword [ebp - 0x138]
cmp dword [eax], esi
jne 0x1003f362
push str.CONTACT_ADD_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 0x100409ba
lea ecx, [eax + 8]
mov dword [ebp - 0x148], ecx
call dword [sym.imp.MGCore.dll_public:_void___thiscall_MGRecMutex::lock_void_const]
mov byte [ebp - 0x144], 1
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x138]
mov esi, dword [ecx]
lea esi, [esi + 0x28]
call fcn.10041570
mov ecx, dword [ebp - 0x128]
mov edx, dword [ebp - 0x12c]
mov edi, eax
or dword [edi + 0x64], 1
mov eax, dword [edi + 0x64]
mov dword [edi + 8], edx
mov dword [edi + 0xc], ecx
mov ecx, dword [ebx + 0x54]
mov esi, dword [ecx + 0x2c]
or eax, 2
cmp dword [edi + 0x10], 0x101eb21c
mov dword [ebp - 0x13c], edi
mov dword [edi + 0x64], eax
jne 0x1003f3e9
push 0x1c
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
test eax, eax
je 0x1003f3e4
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], 0
mov byte [eax], 0
jmp 0x1003f3e6
xor eax, eax
mov dword [edi + 0x10], eax
mov ecx, dword [edi + 0x10]
push 0xffffffffffffffff
push 0
add esi, 0x30
push esi
call fcn.1000bd90
mov eax, dword [ebx + 0x54]
mov eax, dword [eax + 0x2c]
mov cl, byte [eax + 0x4c]
or dword [edi + 0x64], 4
mov eax, dword [edi + 0x64]
mov byte [edi + 0x5c], cl
mov ebx, dword [ebx + 0x54]
mov ebx, dword [ebx + 0x2c]
or eax, 0x10
cmp dword [edi + 0x18], 0x101eb21c
mov dword [edi + 0x64], eax
jne 0x1003f44b
push 0x1c
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
xor esi, esi
add esp, 4
cmp eax, esi
je 0x1003f444
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], esi
mov byte [eax], 0
mov dword [edi + 0x18], eax
jmp 0x1003f44d
xor eax, eax
mov dword [edi + 0x18], eax
jmp 0x1003f44d
xor esi, esi
mov ecx, dword [edi + 0x18]
push 0xffffffffffffffff
push esi
add ebx, 0x88
push ebx
call fcn.1000bd90
push esi
push 0x101a4104
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x70], 0xf
mov dword [ebp - 0x74], esi
mov byte [ebp - 0x84], 0
call fcn.1000c100
mov byte [ebp - 4], 2
or dword [edi + 0x64], 8
cmp dword [edi + 0x14], 0x101eb21c
jne 0x1003f4b5
push 0x1c
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
cmp eax, esi
je 0x1003f4b0
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], esi
mov byte [eax], 0
jmp 0x1003f4b2
xor eax, eax
mov dword [edi + 0x14], eax
mov ecx, dword [edi + 0x14]
push 0xffffffffffffffff
push esi
lea edx, [ebp - 0x84]
push edx
call fcn.1000bd90
mov byte [ebp - 4], 1
cmp dword [ebp - 0x70], 0x10
jb 0x1003f4e1
mov eax, dword [ebp - 0x84]
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 + 0x54]
mov ecx, dword [eax + 0x2c]
mov ebx, dword [ecx + 0xa4]
cmp ebx, dword [ecx + 0xa8]
je 0x1003f652
nop
mov eax, dword [edi + 0x20]
mov ecx, dword [edi + 0x24]
cmp eax, ecx
jge 0x1003f516
mov edx, dword [edi + 0x1c]
mov esi, dword [edx + eax*4]
inc eax
mov dword [edi + 0x20], eax
jmp 0x1003f542
mov eax, dword [edi + 0x28]
cmp ecx, eax
jne 0x1003f527
inc eax
push eax
lea ecx, [edi + 0x1c]
call fcn.10125e20
mov esi, 1
add dword [edi + 0x24], esi
call fcn.10041850
mov ecx, dword [edi + 0x20]
mov edx, dword [edi + 0x1c]
mov dword [edx + ecx*4], eax
add dword [edi + 0x20], esi
mov esi, eax
mov eax, dword [ebx]
or dword [esi + 0x18], 2
cmp dword [esi + 0xc], 0x101eb21c
mov dword [ebp - 0x118], eax
jne 0x1003f57e
push 0x1c
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
test eax, eax
je 0x1003f579
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], 0
mov byte [eax], 0
jmp 0x1003f57b
xor eax, eax
mov dword [esi + 0xc], eax
mov edx, dword [ebp - 0x118]
mov ecx, dword [esi + 0xc]
push 0xffffffffffffffff
push 0
add edx, 0x1c
push edx
call fcn.1000bd90
mov eax, dword [ebx]
or dword [esi + 0x18], 4
cmp dword [esi + 0x10], 0x101eb21c
mov dword [ebp - 0x118], eax
jne 0x1003f5d0
push 0x1c
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
test eax, eax
je 0x1003f5cb
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], 0
mov byte [eax], 0
jmp 0x1003f5cd
xor eax, eax
mov dword [esi + 0x10], eax
mov edx, dword [ebp - 0x118]
mov ecx, dword [esi + 0x10]
push 0xffffffffffffffff
push 0
add edx, 0x38
push edx
call fcn.1000bd90
mov eax, dword [ebx]
or dword [esi + 0x18], 1
cmp dword [esi + 8], 0x101eb21c
mov dword [ebp - 0x118], eax
jne 0x1003f622
push 0x1c
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
test eax, eax
je 0x1003f61d
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], 0
mov byte [eax], 0
jmp 0x1003f61f
xor eax, eax
mov dword [esi + 8], eax
mov ecx, dword [ebp - 0x118]
mov esi, dword [esi + 8]
push 0xffffffffffffffff
push 0
push ecx
mov ecx, esi
call fcn.1000bd90
mov edx, dword [ebp - 0x11c]
mov eax, dword [edx + 0x54]
mov eax, dword [eax + 0x2c]
add ebx, 8
cmp ebx, dword [eax + 0xa8]
jne 0x1003f500
mov eax, dword [ebp - 0x11c]
mov eax, dword [eax + 0x54]
mov ecx, dword [eax + 0x2c]
mov ebx, dword [ecx + 0xb4]
cmp ebx, dword [ecx + 0xb8]
je 0x1003f7f8
add edi, 0x3c
mov dword [ebp - 0x118], edi
jmp 0x1003f686
mov edi, dword [ebp - 0x118]
mov eax, dword [edi + 4]
mov ecx, dword [edi + 8]
cmp eax, ecx
jge 0x1003f69b
mov ecx, dword [edi]
mov esi, dword [ecx + eax*4]
inc eax
mov dword [edi + 4], eax
jmp 0x1003f70e
mov edi, dword [edi + 0xc]
cmp ecx, edi
jne 0x1003f6b3
inc edi
push edi
mov edi, dword [ebp - 0x118]
mov ecx, edi
call fcn.10125e20
jmp 0x1003f6b9
mov edi, dword [ebp - 0x118]
inc dword [edi + 8]
push 0x1c
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
mov esi, eax
add esp, 4
mov dword [ebp - 0x120], esi
test esi, esi
je 0x1003f6fd
mov byte [ebp - 4], 4
lea ecx, [esi + 4]
mov dword [esi], vtable.TransferIO::ContactEmailInfo.0
call fcn.10145a60
mov eax, 0x101eb21c
xor ecx, ecx
mov dword [esi + 0x14], ecx
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x18], ecx
jmp 0x1003f6ff
xor esi, esi
mov byte [ebp - 4], 1
mov edx, dword [edi + 4]
mov eax, dword [edi]
mov dword [eax + edx*4], esi
inc dword [edi + 4]
mov edi, dword [ebx]
or dword [esi + 0x18], 2
cmp dword [esi + 0xc], 0x101eb21c
jne 0x1003f744
push 0x1c
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
test eax, eax
je 0x1003f73f
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], 0
mov byte [eax], 0
jmp 0x1003f741
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 0x1003f78a
push 0x1c
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
test eax, eax
je 0x1003f785
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], 0
mov byte [eax], 0
jmp 0x1003f787
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 0x1003f7d0
push 0x1c
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
test eax, eax
je 0x1003f7cb
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], 0
mov byte [eax], 0
jmp 0x1003f7cd
xor eax, eax
mov dword [esi + 8], eax
mov ecx, dword [esi + 8]
push 0xffffffffffffffff
push 0
push edi
call fcn.1000bd90
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ecx + 0x54]
mov eax, dword [eax + 0x2c]
add ebx, 8
cmp ebx, dword [eax + 0xb8]
jne 0x1003f680
mov edx, dword [ebp - 0x11c]
mov edi, dword [edx + 0x54]
mov eax, dword [edi + 0x20]
sub eax, dword [edi + 0x1c]
test eax, 0xfffffff8
je 0x1003ff2b
mov eax, dword [edi + 0x1c]
mov dword [ebp - 0x118], eax
cmp eax, dword [edi + 0x20]
je 0x10040294
mov ecx, dword [ebp - 0x138]
mov eax, dword [ecx]
mov ebx, dword [eax + 8]
mov dword [ebp - 0x120], eax
mov eax, dword [eax + 0xc]
lea eax, [ebx + eax*4]
mov dword [ebp - 0x114], ebx
cmp ebx, eax
je 0x1003ff05
lea esp, [esp]
mov edx, 0x10
cmp dword [edi + 0x14], edx
jb 0x1003f85e
mov ecx, dword [edi]
jmp 0x1003f860
mov ecx, edi
mov eax, dword [ebx]
mov eax, dword [eax + 8]
cmp dword [eax + 0x14], edx
jb 0x1003f86c
mov eax, dword [eax]
push ecx
push eax
push str.Search_Account_:__AccountName___s__the_des_Account___s
lea esi, [ebp - 0x30]
call fcn.1000c270
add esp, 0xc
mov esi, 0x10
mov byte [ebp - 4], 5
cmp dword [eax + 0x14], esi
jb 0x1003f88e
mov eax, dword [eax]
push str.CONTACT_ADD_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], 1
cmp dword [ebp - 0x1c], esi
jb 0x1003f8b8
mov edx, dword [ebp - 0x30]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov eax, dword [ebp - 0x11c]
mov edi, dword [eax + 0x54]
mov eax, dword [ebx]
mov eax, dword [eax + 8]
mov edx, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jb 0x1003f8d2
mov ecx, dword [edi]
jmp 0x1003f8d4
mov ecx, edi
mov esi, dword [eax + 0x10]
mov dword [ebp - 0x130], esi
cmp esi, edx
jae 0x1003f8e3
mov edx, esi
cmp dword [eax + 0x14], 0x10
jb 0x1003f8ed
mov esi, dword [eax]
jmp 0x1003f8ef
mov esi, eax
cmp edx, 4
jb 0x1003f908
mov eax, dword [esi]
cmp eax, dword [ecx]
jne 0x1003f90c
sub edx, 4
add ecx, 4
add esi, 4
cmp edx, 4
jae 0x1003f8f4
test edx, edx
je 0x1003f95b
movzx eax, byte [esi]
movzx ebx, byte [ecx]
sub eax, ebx
jne 0x1003f947
cmp edx, 1
jbe 0x1003f955
movzx eax, byte [esi + 1]
movzx ebx, byte [ecx + 1]
sub eax, ebx
jne 0x1003f947
cmp edx, 2
jbe 0x1003f955
movzx eax, byte [esi + 2]
movzx ebx, byte [ecx + 2]
sub eax, ebx
jne 0x1003f947
cmp edx, 3
jbe 0x1003f955
movzx eax, byte [esi + 3]
movzx ecx, byte [ecx + 3]
sub eax, ecx
mov ebx, dword [ebp - 0x114]
sar eax, 0x1f
or eax, 1
jmp 0x1003f95d
mov ebx, dword [ebp - 0x114]
xor eax, eax
test eax, eax
jne 0x1003f97b
mov eax, dword [edi + 0x10]
mov esi, dword [ebp - 0x130]
cmp esi, eax
jb 0x1003f97b
xor edx, edx
cmp esi, eax
setne dl
mov eax, edx
test eax, eax
je 0x1003f9a0
mov ecx, dword [ebp - 0x120]
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
add ebx, 4
lea eax, [eax + ecx*4]
mov dword [ebp - 0x114], ebx
cmp ebx, eax
jne 0x1003f850
jmp 0x1003ff05
push str.CONTACT_ADD_IMPL
push str.Find_the_Account___
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 ebx, dword [ebx]
mov esi, dword [ebx + 0x10]
mov eax, dword [ebx + 0x14]
lea eax, [esi + eax*4]
mov dword [ebp - 0x130], ebx
mov dword [ebp - 0x114], esi
cmp esi, eax
je 0x1003ff05
jmp 0x1003f9e6
mov esi, dword [ebp - 0x114]
mov eax, dword [ebp - 0x118]
mov eax, dword [eax]
mov edx, 0x10
cmp dword [eax + 0x1c], edx
jb 0x1003f9fd
mov ecx, dword [eax + 8]
jmp 0x1003fa00
lea ecx, [eax + 8]
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
cmp dword [eax + 0x14], edx
jb 0x1003fa0c
mov eax, dword [eax]
push ecx
push eax
push str.Search_Group:_GroupName___s__the_Des_Group:__s
lea esi, [ebp - 0x30]
call fcn.1000c270
add esp, 0xc
mov esi, 0x10
mov byte [ebp - 4], 6
cmp dword [eax + 0x14], esi
jb 0x1003fa2e
mov eax, dword [eax]
push str.CONTACT_ADD_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], 1
cmp dword [ebp - 0x1c], esi
jb 0x1003fa58
mov ecx, dword [ebp - 0x30]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov edi, dword [ebp - 0x118]
mov eax, dword [edi]
cmp dword [eax + 0x18], 0
jne 0x1003fc50
mov ebx, dword [ebp - 0x114]
mov ecx, dword [ebx]
mov esi, dword [eax + 0x24]
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
push esi
push ecx
push edx
mov edx, dword [eax + 4]
mov eax, dword [eax]
push edx
push eax
push str.The_Contact_will_add_has_no_GroupName__its_GroupID___I64d__CurrentGroupID___I64d__GroupSize___d
lea esi, [ebp - 0x30]
call fcn.1000c270
add esp, 0x18
mov byte [ebp - 4], 7
cmp dword [eax + 0x14], 0x10
jb 0x1003faa1
mov eax, dword [eax]
push str.CONTACT_ADD_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], 1
cmp dword [ebp - 0x1c], 0x10
jb 0x1003facc
mov ecx, dword [ebp - 0x30]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov eax, dword [ebx]
mov edx, dword [eax + 8]
mov ecx, dword [edi]
mov eax, dword [eax + 0xc]
cmp edx, dword [ecx]
jne 0x1003fd62
cmp eax, dword [ecx + 4]
jne 0x1003fd62
mov ecx, dword [ebx]
mov eax, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x1c]
lea ecx, [eax + ecx*8]
cmp eax, ecx
je 0x1003fb1a
mov esi, dword [ebp - 0x128]
mov edx, dword [ebp - 0x12c]
cmp dword [eax], edx
jne 0x1003fb0b
cmp dword [eax + 4], esi
je 0x1003fb12
add eax, 8
cmp eax, ecx
jne 0x1003fb02
cmp eax, ecx
jne 0x1003fbbb
push str.CONTACT_ADD_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 [ebx]
mov eax, dword [esi + 0x20]
cmp dword [esi + 0x1c], eax
jne 0x1003fb92
lea ecx, [eax + 1]
cmp eax, ecx
jge 0x1003fb92
mov edi, dword [esi + 0x18]
add eax, eax
cmp eax, ecx
jg 0x1003fb4e
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 0x1003fb92
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 - 0x12c]
mov dword [eax + ecx*8], edx
mov edx, dword [ebp - 0x128]
mov dword [eax + ecx*8 + 4], edx
inc dword [esi + 0x1c]
mov eax, dword [ebx]
mov eax, dword [eax + 0x48]
or dword [esi + 0x50], 4
inc eax
mov dword [esi + 0x48], eax
push str.CONTACT_ADD_IMPL
push str.Now_the_group_has_done____
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 [ebx]
xor edi, edi
cmp dword [eax + 0x1c], edi
jle 0x1003ff05
mov ecx, dword [eax + 0x18]
mov esi, dword [eax + 0x1c]
mov eax, dword [eax + 0x10]
cmp dword [eax + 0x14], 0x10
mov edx, dword [ecx + edi*8]
mov ecx, dword [ecx + edi*8 + 4]
jb 0x1003fbf8
mov eax, dword [eax]
push ecx
push edx
push esi
push eax
push str.GroupName____s__GroupSize___d__CurrentContactID___I64d
lea esi, [ebp - 0x30]
call fcn.1000c270
add esp, 0x14
mov byte [ebp - 4], 9
cmp dword [eax + 0x14], 0x10
jb 0x1003fc18
mov eax, dword [eax]
push str.CONTACT_ADD_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], 1
cmp dword [ebp - 0x1c], 0x10
jb 0x1003fc43
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov eax, dword [ebx]
inc edi
cmp edi, dword [eax + 0x1c]
jl 0x1003fbe0
jmp 0x1003ff05
lea ecx, [eax + 8]
mov ebx, esi
cmp dword [ecx + 0x14], ebx
jb 0x1003fc5c
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 - 0x30]
call fcn.1000c270
add esp, 0xc
mov byte [ebp - 4], 0xa
cmp dword [eax + 0x14], ebx
jb 0x1003fc7c
mov eax, dword [eax]
push str.CONTACT_ADD_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], 1
cmp dword [ebp - 0x1c], ebx
jb 0x1003fca6
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov eax, dword [edi]
mov ecx, dword [ebp - 0x114]
mov ecx, dword [ecx]
mov esi, dword [ecx + 0x10]
mov edi, dword [eax + 0x18]
add eax, 8
cmp dword [eax + 0x14], ebx
jb 0x1003fcc0
mov eax, dword [eax]
mov edx, dword [esi + 0x10]
mov dword [ebp - 0x120], edx
cmp edx, edi
jb 0x1003fccf
mov edx, edi
cmp dword [esi + 0x14], ebx
jb 0x1003fcd6
mov esi, dword [esi]
mov ecx, eax
cmp edx, 4
jb 0x1003fcf4
lea ecx, [ecx]
mov eax, dword [esi]
cmp eax, dword [ecx]
jne 0x1003fcf8
sub edx, 4
add ecx, 4
add esi, 4
cmp edx, 4
jae 0x1003fce0
test edx, edx
je 0x1003fd3b
movzx ebx, byte [ecx]
movzx eax, byte [esi]
sub eax, ebx
jne 0x1003fd33
cmp edx, 1
jbe 0x1003fd3b
movzx eax, byte [esi + 1]
movzx ebx, byte [ecx + 1]
sub eax, ebx
jne 0x1003fd33
cmp edx, 2
jbe 0x1003fd3b
movzx eax, byte [esi + 2]
movzx ebx, byte [ecx + 2]
sub eax, ebx
jne 0x1003fd33
cmp edx, 3
jbe 0x1003fd3b
movzx eax, byte [esi + 3]
movzx ecx, byte [ecx + 3]
sub eax, ecx
sar eax, 0x1f
or eax, 1
jmp 0x1003fd3d
xor eax, eax
test eax, eax
jne 0x1003fd5b
mov eax, dword [ebp - 0x120]
cmp eax, edi
jae 0x1003fd50
or eax, 0xffffffff
jmp 0x1003fd59
xor edx, edx
cmp eax, edi
setne dl
mov eax, edx
test eax, eax
sete al
test al, al
jne 0x1003fd8d
mov ecx, dword [ebp - 0x130]
mov eax, dword [ecx + 0x10]
mov edx, dword [ebp - 0x114]
mov ecx, dword [ecx + 0x14]
add edx, 4
lea eax, [eax + ecx*4]
mov dword [ebp - 0x114], edx
cmp edx, eax
jne 0x1003f9e0
jmp 0x1003ff05
mov ecx, dword [ebp - 0x114]
mov ecx, dword [ecx]
mov eax, dword [ecx + 0x18]
mov edx, dword [ecx + 0x1c]
mov ebx, dword [ebp - 0x12c]
lea ecx, [eax + edx*8]
cmp eax, ecx
je 0x1003fdc6
cmp dword [eax], ebx
jne 0x1003fdb7
mov edx, dword [eax + 4]
cmp edx, dword [ebp - 0x128]
je 0x1003fdbe
add eax, 8
cmp eax, ecx
jne 0x1003fda8
cmp eax, ecx
jne 0x1003fe6d
push str.CONTACT_ADD_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 eax, dword [ebp - 0x114]
mov esi, dword [eax]
mov eax, dword [esi + 0x20]
cmp dword [esi + 0x1c], eax
jne 0x1003fe44
lea ecx, [eax + 1]
cmp eax, ecx
jge 0x1003fe44
mov edi, dword [esi + 0x18]
add eax, eax
cmp eax, ecx
jg 0x1003fe00
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 0x1003fe44
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 - 0x128]
mov dword [eax + ecx*8], ebx
mov dword [eax + ecx*8 + 4], edx
inc dword [esi + 0x1c]
mov eax, dword [ebp - 0x114]
mov eax, dword [eax]
mov eax, dword [eax + 0x48]
or dword [esi + 0x50], 4
inc eax
mov dword [esi + 0x48], eax
push str.CONTACT_ADD_IMPL
push str.Now_the_group_has_done____
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 - 0x114]
mov eax, dword [ecx]
xor edi, edi
cmp dword [eax + 0x1c], edi
jle 0x1003ff05
lea ebx, [edi + 0x10]
mov ecx, dword [eax + 0x18]
mov esi, dword [eax + 0x1c]
mov eax, dword [eax + 0x10]
mov edx, dword [ecx + edi*8]
mov ecx, dword [ecx + edi*8 + 4]
cmp dword [eax + 0x14], ebx
jb 0x1003feae
mov eax, dword [eax]
push ecx
push edx
push esi
push eax
push str.GroupName____s__GroupSize___d__CurrentContactID___I64d
lea esi, [ebp - 0x30]
call fcn.1000c270
add esp, 0x14
mov byte [ebp - 4], 0xc
cmp dword [eax + 0x14], ebx
jb 0x1003fecd
mov eax, dword [eax]
push str.CONTACT_ADD_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], 1
cmp dword [ebp - 0x1c], ebx
jb 0x1003fef7
mov edx, dword [ebp - 0x30]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov eax, dword [ebp - 0x114]
mov eax, dword [eax]
inc edi
cmp edi, dword [eax + 0x1c]
jl 0x1003fe97
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x11c]
mov edi, dword [ecx + 0x54]
add eax, 8
mov dword [ebp - 0x118], eax
cmp eax, dword [edi + 0x20]
jne 0x1003f824
jmp 0x10040294
push str.CONTACT_ADD_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 - 0x138]
mov eax, dword [edx]
mov ebx, dword [eax + 8]
mov dword [ebp - 0x120], eax
mov eax, dword [eax + 0xc]
lea eax, [ebx + eax*4]
cmp ebx, eax
je 0x10040294
mov eax, dword [ebp - 0x11c]
mov eax, dword [eax + 0x54]
mov edi, 0x10
cmp dword [eax + 0x14], edi
jb 0x1003ff79
mov ecx, dword [eax]
jmp 0x1003ff7b
mov ecx, eax
mov eax, dword [ebx]
mov eax, dword [eax + 8]
cmp dword [eax + 0x14], edi
jb 0x1003ff87
mov eax, dword [eax]
push ecx
push eax
push str.Search_Account_:__AccountName___s__the_des_Account___s
lea esi, [ebp - 0x30]
call fcn.1000c270
add esp, 0xc
mov byte [ebp - 4], 0xd
cmp dword [eax + 0x14], edi
jb 0x1003ffa4
mov eax, dword [eax]
push str.CONTACT_ADD_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], 1
cmp dword [ebp - 0x1c], edi
jb 0x1003ffce
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 - 0x11c]
mov eax, dword [edx + 0x54]
mov ecx, dword [ebx]
mov ecx, dword [ecx + 8]
mov esi, dword [eax + 0x10]
cmp dword [eax + 0x14], edi
jb 0x1003ffe6
mov eax, dword [eax]
mov edi, dword [ecx + 0x10]
mov edx, edi
cmp edi, esi
jb 0x1003fff1
mov edx, esi
cmp dword [ecx + 0x14], 0x10
jb 0x1003fff9
mov ecx, dword [ecx]
push edx
push eax
push ecx
call fcn.1000aff0
add esp, 0xc
test eax, eax
jne 0x10040015
cmp edi, esi
jb 0x10040015
cmp edi, esi
setne al
test eax, eax
je 0x10040034
mov ecx, dword [ebp - 0x120]
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
add ebx, 4
lea eax, [eax + ecx*4]
cmp ebx, eax
jne 0x1003ff62
jmp 0x10040294
mov ebx, dword [ebx]
mov ecx, dword [ebx + 0x10]
mov eax, dword [ebx + 0x14]
lea eax, [ecx + eax*4]
mov dword [ebp - 0x120], ebx
mov dword [ebp - 0x114], ecx
cmp ecx, eax
je 0x10040294
jmp 0x1004005b
mov ecx, dword [ebp - 0x114]
mov esi, dword [ecx]
mov edi, dword [esi + 0x10]
mov ebx, dword [edi + 0x10]
mov dword [ebp - 0x118], ebx
mov edx, ebx
cmp ebx, 0xc
jb 0x10040075
mov edx, 0xc
cmp dword [edi + 0x14], 0x10
jb 0x1004007d
mov edi, dword [edi]
mov ecx, str.Not_Assigned
cmp edx, 4
jb 0x1004009b
mov eax, dword [edi]
cmp eax, dword [ecx]
jne 0x1004009f
sub edx, 4
add ecx, 4
add edi, 4
cmp edx, 4
jae 0x10040087
test edx, edx
je 0x100400ee
movzx eax, byte [edi]
movzx ebx, byte [ecx]
sub eax, ebx
jne 0x100400da
cmp edx, 1
jbe 0x100400e8
movzx eax, byte [edi + 1]
movzx ebx, byte [ecx + 1]
sub eax, ebx
jne 0x100400da
cmp edx, 2
jbe 0x100400e8
movzx eax, byte [edi + 2]
movzx ebx, byte [ecx + 2]
sub eax, ebx
jne 0x100400da
cmp edx, 3
jbe 0x100400e8
movzx eax, byte [edi + 3]
movzx ecx, byte [ecx + 3]
sub eax, ecx
mov ebx, dword [ebp - 0x118]
sar eax, 0x1f
or eax, 1
jmp 0x100400f0
mov ebx, dword [ebp - 0x118]
xor eax, eax
test eax, eax
jne 0x1004026e
cmp ebx, 0xc
jb 0x1004026e
cmp ebx, 0xc
setne al
test eax, eax
jne 0x1004026e
mov eax, dword [esi + 0x18]
mov edx, dword [esi + 0x1c]
lea ecx, [eax + edx*8]
cmp eax, ecx
je 0x10040140
mov edx, dword [ebp - 0x12c]
mov edi, dword [ebp - 0x128]
cmp dword [eax], edx
jne 0x10040131
cmp dword [eax + 4], edi
je 0x10040138
add eax, 8
cmp eax, ecx
jne 0x10040128
cmp eax, ecx
jne 0x100401ce
mov ecx, dword [esi + 0x20]
cmp dword [esi + 0x1c], ecx
jne 0x1004019f
lea edx, [ecx + 1]
cmp ecx, edx
jge 0x1004019f
mov edi, dword [esi + 0x18]
lea eax, [ecx + ecx]
cmp eax, edx
jg 0x1004015b
mov eax, edx
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 0x1004019f
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 - 0x12c]
mov dword [eax + ecx*8], edx
mov edx, dword [ebp - 0x128]
mov dword [eax + ecx*8 + 4], edx
inc dword [esi + 0x1c]
mov eax, dword [ebp - 0x114]
mov eax, dword [eax]
mov eax, dword [eax + 0x48]
or dword [esi + 0x50], 4
inc eax
mov dword [esi + 0x48], eax
push str.CONTACT_ADD_IMPL
push str.Now_the_group__Not_Assigned__has_done____
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 - 0x114]
mov eax, dword [ecx]
xor edi, edi
cmp dword [eax + 0x1c], edi
jle 0x1004026e
lea ebx, [edi + 0x10]
jmp 0x10040200
mov ecx, dword [eax + 0x18]
mov esi, dword [eax + 0x1c]
mov eax, dword [eax + 0x10]
mov edx, dword [ecx + edi*8]
mov ecx, dword [ecx + edi*8 + 4]
cmp dword [eax + 0x14], ebx
jb 0x10040217
mov eax, dword [eax]
push ecx
push edx
push esi
push eax
push str.GroupName____s__GroupSize___d__CurrentContactID___I64d
lea esi, [ebp - 0x30]
call fcn.1000c270
add esp, 0x14
mov byte [ebp - 4], 0xf
cmp dword [eax + 0x14], ebx
jb 0x10040236
mov eax, dword [eax]
push str.CONTACT_ADD_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], 1
cmp dword [ebp - 0x1c], ebx
jb 0x10040260
mov edx, dword [ebp - 0x30]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov eax, dword [ebp - 0x114]
mov eax, dword [eax]
inc edi
cmp edi, dword [eax + 0x1c]
jl 0x10040200
mov ecx, dword [ebp - 0x120]
mov eax, dword [ecx + 0x10]
mov edx, dword [ebp - 0x114]
mov ecx, dword [ecx + 0x14]
add edx, 4
lea eax, [eax + ecx*4]
mov dword [ebp - 0x114], edx
cmp edx, eax
jne 0x10040055
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ecx + 0x54]
mov eax, dword [eax + 0x2c]
cmp dword [eax + 0x7c], 0
je 0x10040981
xor edx, edx
push 4
mov eax, 0x101a39f4
lea esi, [ebp - 0x68]
mov dword [ebp - 0x54], 7
mov dword [ebp - 0x58], 0
mov word [ebp - 0x68], dx
call fcn.1000b950
mov eax, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x12c]
push eax
push ecx
push str._I64d
lea esi, [ebp - 0x30]
mov byte [ebp - 4], 0x10
call fcn.1000c270
add esp, 0xc
push 0
push eax
lea edx, [ebp - 0xd8]
push edx
mov byte [ebp - 4], 0x11
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 - 0xbc]
mov byte [ebp - 4], 0x12
call fcn.1003a570
mov ecx, eax
mov eax, esi
lea ebx, [ebp - 0x4c]
mov byte [ebp - 4], 0x13
call fcn.10007f90
mov ecx, eax
lea eax, [ebp - 0x68]
lea ebx, [ebp - 0x84]
mov byte [ebp - 4], 0x14
call fcn.10007f90
mov edi, 8
cmp dword [ebp - 0x38], edi
jb 0x10040352
mov eax, dword [ebp - 0x4c]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov esi, 7
xor ebx, ebx
xor ecx, ecx
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x3c], ebx
mov word [ebp - 0x4c], cx
cmp dword [ebp - 0xa8], edi
jb 0x1004037d
mov edx, dword [ebp - 0xbc]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0xac], ebx
mov word [ebp - 0xbc], ax
cmp dword [ebp - 0xc4], edi
jb 0x100403aa
mov ecx, dword [ebp - 0xd8]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor edx, edx
mov dword [ebp - 0xc4], esi
mov dword [ebp - 0xc8], ebx
mov word [ebp - 0xd8], dx
cmp dword [ebp - 0x1c], 0x10
jb 0x100403d2
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov dword [ebp - 0x1c], 0xf
mov dword [ebp - 0x20], ebx
mov byte [ebp - 0x30], bl
mov byte [ebp - 4], 0x1a
cmp dword [ebp - 0x54], edi
jb 0x100403f5
mov ecx, dword [ebp - 0x68]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
push ebx
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x110]
xor edx, edx
push ecx
mov dword [ebp - 0x54], esi
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, dword [ebp - 0x13c]
mov byte [ebp - 4], 0x1b
or dword [esi + 0x64], edi
cmp dword [esi + 0x14], 0x101eb21c
jne 0x10040451
push 0x1c
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
cmp eax, ebx
je 0x1004044c
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], ebx
mov byte [eax], bl
jmp 0x1004044e
xor eax, eax
mov dword [esi + 0x14], eax
push 0xffffffffffffffff
mov edx, esi
mov ecx, dword [edx + 0x14]
push ebx
lea eax, [ebp - 0x110]
push eax
call fcn.1000bd90
lea ecx, [ebp - 0x120]
push ecx
lea edx, [ebp - 0x84]
push edx
mov edi, 1
mov dword [ebp - 0x120], 0x2f
call fcn.10014750
xor ecx, ecx
mov dword [ebp - 0xe0], 7
mov dword [ebp - 0xe4], ebx
mov word [ebp - 0xf4], cx
mov byte [ebp - 4], 0x1c
cmp eax, 0xffffffff
je 0x100404f4
push 0xffffffffffffffff
lea ecx, [eax + 1]
lea esi, [ebp - 0x30]
lea edx, [ebp - 0x84]
call fcn.100143f0
mov edi, eax
lea esi, [ebp - 0xf4]
mov byte [ebp - 4], 0x1d
call fcn.1000ae80
mov byte [ebp - 4], 0x1c
cmp dword [ebp - 0x1c], 8
jb 0x100404e4
mov edx, dword [ebp - 0x30]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
mov dword [ebp - 0x1c], 7
mov dword [ebp - 0x20], ebx
mov word [ebp - 0x30], ax
mov eax, dword [0x101feda4]
mov esi, 8
cmp eax, ebx
jne 0x10040507
call fcn.10006d40
lea edx, [ebp - 0xbc]
mov ecx, eax
call fcn.10062280
push eax
mov eax, 0x101a37bc
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0x1e
call fcn.1003b0c0
add esp, 4
mov ecx, eax
lea eax, [ebp - 0xf4]
lea ebx, [ebp - 0xa0]
mov byte [ebp - 4], 0x1f
call fcn.10008020
cmp dword [ebp - 0xc4], esi
jb 0x1004055b
mov ecx, dword [ebp - 0xd8]
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 - 0xc4], ebx
mov dword [ebp - 0xc8], edi
mov word [ebp - 0xd8], dx
mov byte [ebp - 4], 0x22
cmp dword [ebp - 0xa8], esi
jb 0x10040593
mov eax, dword [ebp - 0xbc]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov eax, dword [ebp - 0xa0]
xor ecx, ecx
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0xac], edi
mov word [ebp - 0xbc], cx
cmp dword [ebp - 0x8c], esi
jae 0x100405bc
lea eax, [ebp - 0xa0]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, edi
je 0x10040699
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
lea edx, [ebp - 0xa0]
push edx
lea eax, [ebp - 0x68]
push eax
call ebx
add esp, 0xc
mov esi, eax
push edi
lea ecx, [ebp - 0x84]
push ecx
lea edx, [ebp - 0x4c]
push edx
mov byte [ebp - 4], 0x23
call ebx
add esp, 0xc
mov ebx, 0x10
mov byte [ebp - 4], 0x24
cmp dword [esi + 0x14], ebx
jb 0x10040609
mov esi, dword [esi]
cmp dword [eax + 0x14], ebx
jb 0x10040610
mov eax, dword [eax]
push esi
push eax
push str.Contact_Thumbail__Exist______ThumbnailRemotePath___s__ThumbnailLocalPath___s
lea esi, [ebp - 0x30]
call fcn.1000c270
add esp, 0xc
mov byte [ebp - 4], 0x25
cmp dword [eax + 0x14], ebx
jb 0x1004062d
mov eax, dword [eax]
push str.CONTACT_ADD_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 - 0x1c], ebx
jb 0x10040653
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov esi, 0xf
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x20], edi
mov byte [ebp - 0x30], 0
cmp dword [ebp - 0x38], ebx
jb 0x10040674
mov ecx, dword [ebp - 0x4c]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x3c], edi
mov byte [ebp - 0x4c], 0
cmp dword [ebp - 0x54], ebx
jb 0x100408d8
mov edx, dword [ebp - 0x68]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
jmp 0x100408d8
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, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x68]
push ecx
call edi
add esp, 0xc
mov esi, eax
push 0
lea edx, [ebp - 0x84]
push edx
lea eax, [ebp - 0x4c]
push eax
mov byte [ebp - 4], 0x26
call edi
add esp, 0xc
mov ebx, 0x10
mov byte [ebp - 4], 0x27
cmp dword [esi + 0x14], ebx
jb 0x100406d9
mov esi, dword [esi]
cmp dword [eax + 0x14], ebx
jb 0x100406e0
mov eax, dword [eax]
push esi
push eax
push str.Contact_Thumbail_Not_Exist______ThumbnailRemotePath___s__ThumbnailLocalPath___s
lea esi, [ebp - 0x30]
call fcn.1000c270
add esp, 0xc
mov byte [ebp - 4], 0x28
cmp dword [eax + 0x14], ebx
jb 0x100406fd
mov eax, dword [eax]
push str.CONTACT_ADD_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 - 0x1c], ebx
jb 0x10040723
mov ecx, dword [ebp - 0x30]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor esi, esi
mov dword [ebp - 0x1c], 0xf
mov dword [ebp - 0x20], esi
mov byte [ebp - 0x30], 0
cmp dword [ebp - 0x38], ebx
jb 0x10040745
mov edx, dword [ebp - 0x4c]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov byte [ebp - 4], 0x22
mov dword [ebp - 0x38], 0xf
mov dword [ebp - 0x3c], esi
mov byte [ebp - 0x4c], 0
cmp dword [ebp - 0x54], ebx
jb 0x10040769
mov eax, dword [ebp - 0x68]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
lea ecx, [ebp - 0x114]
call dword [sym.imp.AdbManager.dll_public:_void___thiscall_CAdbClient::constructor_void_]
mov byte [ebp - 4], 0x29
mov eax, dword [ebp - 0x110]
cmp dword [ebp - 0xfc], ebx
jae 0x1004078d
lea eax, [ebp - 0x110]
push 1
push eax
lea ecx, [ebp - 0x114]
call dword [sym.imp.AdbManager.dll_public:_bool___thiscall_CAdbClient::IsFileExist_char_const___bool_]
test al, al
je 0x100408a6
push 0
lea ecx, [ebp - 0xa0]
push ecx
lea edx, [ebp - 0x4c]
push edx
call edi
add esp, 0xc
mov esi, eax
push 0
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x30]
push ecx
mov byte [ebp - 4], 0x2a
call edi
add esp, 0xc
mov byte [ebp - 4], 0x2b
cmp dword [esi + 0x14], ebx
jb 0x100407d9
mov esi, dword [esi]
cmp dword [eax + 0x14], ebx
jb 0x100407e0
mov eax, dword [eax]
push 1
push esi
push eax
lea ecx, [ebp - 0x114]
call dword [sym.imp.AdbManager.dll_public:_enum_emError___thiscall_CAdbClient::PullFile_char_const___char_const___bool_]
mov edi, dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
mov esi, eax
cmp dword [ebp - 0x1c], ebx
jb 0x10040806
mov edx, dword [ebp - 0x30]
push edx
call edi
add esp, 4
mov byte [ebp - 4], 0x29
mov dword [ebp - 0x1c], 0xf
mov dword [ebp - 0x20], 0
mov byte [ebp - 0x30], 0
cmp dword [ebp - 0x38], ebx
jb 0x1004082a
mov eax, dword [ebp - 0x4c]
push eax
call edi
add esp, 4
push str.CONTACT_ADD_IMPL
test esi, esi
je 0x1004089f
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 - 0x11c]
mov eax, dword [ecx + 0x54]
mov eax, dword [eax + 0x2c]
push 0
add eax, 0x6c
push eax
lea edx, [ebp - 0x30]
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 - 0xa0]
mov esi, 8
add esp, 0xc
cmp dword [ebp - 0x8c], esi
jae 0x1004087e
lea ecx, [ebp - 0xa0]
cmp dword [eax + 0x14], esi
jb 0x10040885
mov eax, dword [eax]
push 0
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
cmp dword [ebp - 0x1c], esi
jb 0x100408be
mov eax, dword [ebp - 0x30]
push eax
call edi
add esp, 4
jmp 0x100408be
push str.Contact_Thumbnail_Adb_Pull_File_Successful___
jmp 0x100408b0
push str.CONTACT_ADD_IMPL
push str.This_Contact_has_no_generate_any_Thumbnail.png
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 - 0x114]
mov byte [ebp - 4], 0x22
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 - 0x8c], 8
jb 0x100408f1
mov ecx, dword [ebp - 0xa0]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor edx, edx
cmp dword [ebp - 0xe0], 8
mov dword [ebp - 0x8c], 7
mov dword [ebp - 0x90], edi
mov word [ebp - 0xa0], dx
jb 0x10040923
mov eax, dword [ebp - 0xf4]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor ecx, ecx
mov dword [ebp - 0xe0], 7
mov dword [ebp - 0xe4], edi
mov word [ebp - 0xf4], cx
cmp dword [ebp - 0xfc], ebx
jb 0x10040954
mov edx, dword [ebp - 0x110]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov byte [ebp - 4], 1
cmp dword [ebp - 0x70], 8
mov dword [ebp - 0xfc], esi
mov dword [ebp - 0x100], edi
mov byte [ebp - 0x110], 0
jb 0x10040981
mov eax, dword [ebp - 0x84]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
push str.CONTACT_ADD_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 - 0x138]
call fcn.1001ed80
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x148]
call dword [sym.imp.MGCore.dll_public:_void___thiscall_MGRecMutex::unlock_void_const]
mov ebx, dword [ebp - 0x11c]
mov eax, dword [ebx + 0x54]
mov eax, dword [eax + 0x2c]
mov ecx, dword [ebp - 0x128]
mov esi, dword [ebp - 0x12c]
mov edx, dword [ebp - 0x140]
mov dword [eax + 0x28], esi
mov dword [eax + 0x2c], ecx
mov eax, dword [ebx + 0x54]
mov edi, dword [edx]
lea eax, [eax + 0x2c]
lea edi, [edi + 0x10]
call fcn.100ac2e0
mov eax, dword [ebp - 0x128]
push eax
push esi
push str.Contact_Add_Successful__ContactID___I64d
lea esi, [ebp - 0x30]
call fcn.1000c270
add esp, 0xc
mov byte [ebp - 4], 0x2c
cmp dword [eax + 0x14], 0x10
jb 0x10040a0c
mov eax, dword [eax]
push str.CONTACT_ADD_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 - 0x1c], 0x10
jb 0x10040a33
mov ecx, dword [ebp - 0x30]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x134]
mov dword [ebp - 0x1c], 0xf
mov dword [ebp - 0x20], 0
mov byte [ebp - 0x30], 0
test esi, esi
je 0x10040a7f
lea edx, [esi + 4]
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x10040a7f
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 0x10040a7f
mov eax, dword [esi]
mov edx, dword [eax + 4]
mov ecx, esi
call edx
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 0xc