Function at 0x10083930
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1018ce88
mov eax, dword fs:[0]
push eax
sub esp, 0x44
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 ebx, ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebx + 0x58], eax
sub eax, dword [ebx + 0x54]
lea esi, [ebp - 0x2c]
push eax
push str.Caculate_the_Time_Cost_:_CreateTime_To_Begin_Call_Time__Cost_Time:__d_ms
call fcn.1000c270
add esp, 8
xor edi, edi
mov dword [ebp - 4], edi
cmp dword [eax + 0x14], 0x10
jb 0x10083987
mov eax, dword [eax]
push str.TRANSFER_COST_TEST
push eax
call dword [sym.imp.MGCore.dll_public:_static_class_MGDecorateLog____cdecl_MGSingleton_class_MGDecorateLog__0_::getInstance_void_]
mov esi, dword [sym.imp.MGCore.dll_public:_void___thiscall_MGDecorateLog::trace_char_const___char_const__]
mov ecx, eax
call esi
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x18], 0x10
jb 0x100839b7
mov eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
push str.MG_AUTOSEL_FILE_TRANSFER
push str.We_need_check_the_transfer_status:_Wifi_or_USB_______AcquireFileFromPhone_
call dword [sym.imp.MGCore.dll_public:_static_class_MGDecorateLog____cdecl_MGSingleton_class_MGDecorateLog__0_::getInstance_void_]
mov ecx, eax
call esi
push str.MG_AUTOSEL_FILE_TRANSFER
push str.Current_connection_based_on_USB_____
call dword [sym.imp.MGCore.dll_public:_static_class_MGDecorateLog____cdecl_MGSingleton_class_MGDecorateLog__0_::getInstance_void_]
mov ecx, eax
call esi
push 0x80
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
mov dword [ebp - 0x4c], eax
mov dword [ebp - 4], 1
cmp eax, edi
je 0x10083a16
mov ecx, dword [ebx + 0x44]
mov edx, dword [ebx + 0x40]
push ecx
push edx
lea ecx, [ebx + 0x24]
push ecx
mov ecx, dword [ebx + 0x48]
lea edx, [ebx + 8]
mov esi, eax
call fcn.10084f90
jmp 0x10083a18
xor eax, eax
push eax
lea edx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
push edx
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x4c], edi
call fcn.1005d150
lea eax, [ebp - 0x50]
mov edi, ebx
mov dword [ebp - 4], 2
call fcn.1000f990
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x4c]
test esi, esi
je 0x10083a77
lea eax, [esi + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x10083a77
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 0x10083a77
mov eax, dword [esi]
mov edx, dword [eax + 4]
mov ecx, esi
call edx
mov eax, dword [ebx + 0x4c]
test eax, eax
je 0x10083a88
lea edi, [eax + 4]
mov eax, ebx
call fcn.100ac2e0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebx + 0x58], eax
sub eax, dword [ebx + 0x54]
lea esi, [ebp - 0x2c]
push eax
push str.Caculate_the_Time_Cost_:_CreateTime_To_Begin_MTP_Transfer_Time__Cost_Time:__d_ms
call fcn.1000c270
add esp, 8
mov esi, 0x10
mov dword [ebp - 4], 3
cmp dword [eax + 0x14], esi
jb 0x10083ab8
mov eax, dword [eax]
push str.TRANSFER_COST_TEST
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 dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x18], esi
jb 0x10083ae5
mov eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov ecx, dword [ebx]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebx + 0x58], eax
sub eax, dword [ebx + 0x54]
lea esi, [ebp - 0x2c]
push eax
push str.Caculate_the_Time_Cost_:_CreateTime_To_End_MTP_Transfer_Time__Cost_Time:__d_ms
call fcn.1000c270
add esp, 8
mov dword [ebp - 4], 4
cmp dword [eax + 0x14], 0x10
jb 0x10083b1c
mov eax, dword [eax]
push str.TRANSFER_COST_TEST
push eax
call dword [sym.imp.MGCore.dll_public:_static_class_MGDecorateLog____cdecl_MGSingleton_class_MGDecorateLog__0_::getInstance_void_]
mov esi, dword [sym.imp.MGCore.dll_public:_void___thiscall_MGDecorateLog::trace_char_const___char_const__]
mov ecx, eax
call esi
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x18], 0x10
jb 0x10083b4c
mov ecx, dword [ebp - 0x2c]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
test edi, edi
je 0x10083d63
cmp edi, 9
je 0x10083d63
push 0x60
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
mov dword [ebp - 0x4c], eax
xor esi, esi
mov dword [ebp - 4], 5
cmp eax, esi
je 0x10083b92
mov edx, dword [ebx + 0x48]
mov ecx, dword [ebx + 0x44]
push edx
mov edx, dword [ebx + 0x40]
push ecx
push edx
lea edx, [ebx + 8]
lea ecx, [ebx + 0x24]
push eax
call fcn.10083100
jmp 0x10083b94
xor eax, eax
push eax
lea eax, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
push eax
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x4c], esi
call fcn.1002c750
lea eax, [ebp - 0x50]
mov edi, ebx
mov dword [ebp - 4], 6
call fcn.1000f990
lea eax, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.100089e0
mov eax, dword [ebx + 0x4c]
cmp eax, esi
je 0x10083bdc
lea edi, [eax + 4]
mov eax, ebx
call fcn.100ac2e0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebx + 0x58], eax
sub eax, dword [ebx + 0x54]
lea esi, [ebp - 0x2c]
push eax
push str.Caculate_the_Time_Cost_:_CreateTime_To_Begin_ADB_Transfer_Time__Cost_Time:__d_ms
call fcn.1000c270
add esp, 8
mov esi, 0x10
mov dword [ebp - 4], 7
cmp dword [eax + 0x14], esi
jb 0x10083c0c
mov eax, dword [eax]
push str.TRANSFER_COST_TEST
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 dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x18], esi
jb 0x10083c39
mov ecx, dword [ebp - 0x2c]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov ecx, dword [ebx]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebx + 0x58], eax
sub eax, dword [ebx + 0x54]
lea esi, [ebp - 0x2c]
push eax
push str.Caculate_the_Time_Cost_:_CreateTime_To_End_ADB_Transfer_Time__Cost_Time:__d_ms
call fcn.1000c270
add esp, 8
mov ebx, 0x10
mov dword [ebp - 4], 8
cmp dword [eax + 0x14], ebx
jb 0x10083c74
mov eax, dword [eax]
push str.TRANSFER_COST_TEST
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 dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x18], ebx
jb 0x10083ca1
mov ecx, dword [ebp - 0x2c]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
test edi, edi
je 0x10083ddb
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x2c], 0
lea eax, [edi - 1]
mov dword [ebp - 4], 9
cmp eax, 6
ja case.default.0x10083cca
jmp dword [eax*4 + 0x10083dfc]
push 0xe
push str.FILE_NOT_EXIST
jmp 0x10083d0d
push 0xe
push str.TRANSFER_ERROR
jmp 0x10083d0d
push 0x12
push str.CREATE_FILE_FAILED
jmp 0x10083d0d
push 0xc
push str.UNKOWN_ERROR
jmp 0x10083d0d
push 0x11
push str.INVALID_PARAMETER
jmp 0x10083d0d
push 0x12
push str.SDCARD_NOSPACELEFT
jmp 0x10083d0d
push ebx
push str.SYNC_DATA_FAILED
lea ecx, [ebp - 0x2c]
call fcn.1000c100
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x18], ebx
jae 0x10083d20
lea eax, [ebp - 0x2c]
push eax
push edi
push str.ADB_Push_File_Failed____ErrorCode___d__ErrorDescription:__s
lea esi, [ebp - 0x48]
call fcn.1000c270
add esp, 0xc
mov byte [ebp - 4], 0xa
cmp dword [eax + 0x14], ebx
jb 0x10083d3d
mov eax, dword [eax]
push str.MG_AUTOSEL_FILE_TRANSFER
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 - 0x48]
call fcn.1000c240
lea ecx, [ebp - 0x2c]
call fcn.1000c240
jmp 0x10083ddb
push str.MG_AUTOSEL_FILE_TRANSFER
push str.Current_Device_support_MTP_mode___
call dword [sym.imp.MGCore.dll_public:_static_class_MGDecorateLog____cdecl_MGSingleton_class_MGDecorateLog__0_::getInstance_void_]
mov ecx, eax
call esi
test edi, edi
je 0x10083dc7
push edi
push str.MTP_Transfer_error____errorCode___d
lea esi, [ebp - 0x48]
call fcn.1000c270
add esp, 8
mov esi, 0x10
mov dword [ebp - 4], 0xb
cmp dword [eax + 0x14], esi
jb 0x10083d9f
mov eax, dword [eax]
push str.MG_AUTOSEL_FILE_TRANSFER
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 - 0x34], esi
jb 0x10083ddb
mov edx, dword [ebp - 0x48]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
jmp 0x10083ddb
push str.MG_AUTOSEL_FILE_TRANSFER
push str.MTP_Tranfer_Successful___
call dword [sym.imp.MGCore.dll_public:_static_class_MGDecorateLog____cdecl_MGSingleton_class_MGDecorateLog__0_::getInstance_void_]
mov ecx, eax
call esi
mov eax, edi
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