Function at 0x1001e910
Capabilities:
Print debug messages

Disassembly:
sub esp, 8
push ebx
push ebp
push esi
push edi
push str.UploadFileThreadEx_Start_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
call dword [sym.imp.xwmfUI.dll_public:_static_class_XFClientUI____cdecl_XFClientUI::getInstance_void_]
xor ebx, ebx
push ebx
push ebx
mov ebp, eax
call dword [sym.imp.XecureMacuxCSM.dll_public:_static_class_XWClientSM____cdecl_XWClientSM::getInstance_char_const___unsigned_long_int_]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
mov eax, dword [sym.NativeMngUAC.dll_class_NativeFCMSWrapper__NativeFCMSWrapper::mNativeFCMSWrapper]
add esp, 8
xor edi, edi
mov dword [eax], 0xffffffff
cmp dword [esi + 0x28], ebx
mov dword [esp + 0x10], ebx
jbe 0x1001ead1
mov dword [esp + 0x1c], ebx
lea ecx, [ecx]
test dword [esi + 0x30], 0x80000
jne 0x1001e972
push ebx
mov ecx, ebp
call dword [sym.imp.xwmfUI.dll_public:_void___thiscall_XFClientUI::setProgressIndex_int_]
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x1001e995
mov ecx, dword [esi + 0x20]
sub ecx, eax
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x1001e99b
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [esi + 0x1c]
add eax, dword [esp + 0x1c]
cmp dword [eax + 0x18], 0x10
jb 0x1001e9ad
mov ecx, dword [eax + 4]
jmp 0x1001e9b0
lea ecx, [eax + 4]
mov eax, dword [esi + 0x30]
mov edx, eax
and edx, 0x80000
neg edx
sbb edx, edx
not edx
and edx, sym.NativeMngUAC.dll_protected:_static_int___cdecl_NativeFCMSWrapper::ProgressCallback_void___char_const___long_long___int64___long_long___int64___int_
push edx
mov edx, dword [esi + 0x38]
push edx
mov edx, dword [esi + 0x34]
push edx
mov edx, dword [esi + 0x10]
push eax
mov eax, dword [esi + 0x2c]
push eax
mov eax, dword [esi + 0xc]
push ecx
mov ecx, dword [esi + 0x14]
push ecx
mov ecx, dword [esi + 8]
push edx
mov edx, dword [esi + 4]
push eax
mov eax, dword [esi]
push ecx
mov ecx, dword [esp + 0x3c]
push edx
push eax
call dword [sym.imp.XecureMacuxCSM.dll_public:_char____thiscall_XWClientSM::uploadFileEx_unsigned_long_int__char_const___char_const___char_const___char_const___int__char_const___char_const___int__char_const___char_const___int____cdecl___void___char_const___long_long___int64___long_long___int64___int__]
mov edi, eax
test edi, edi
je 0x1001ea64
cmp byte [edi], 0
je 0x1001ea64
push 6
push str.CANCEL
push edi
call dword [sym.imp.MSVCR80.dll_strncmp]
add esp, 0xc
test eax, eax
je 0x1001eaba
test ebx, ebx
jle 0x1001ea33
mov ecx, dword [sym.NativeMngUAC.dll_class_NativeFCMSWrapper__NativeFCMSWrapper::mNativeFCMSWrapper]
push 0x10035b24
add ecx, 4
call dword [sym.imp.MSVCP80.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
mov ecx, dword [sym.NativeMngUAC.dll_class_NativeFCMSWrapper__NativeFCMSWrapper::mNativeFCMSWrapper]
push edi
add ecx, 4
call dword [sym.imp.MSVCP80.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
test dword [esi + 0x30], 0x80000
jne 0x1001ea56
push 2
mov ecx, ebp
call dword [sym.imp.xwmfUI.dll_public:_int___thiscall_XFClientUI::setProgressStatus_unsigned_long_int_]
push edi
call dword [sym.imp.XecureMacuxCSM.dll_public:_static_void___cdecl_XWClientSM::free_void__]
add esp, 4
xor edi, edi
jmp 0x1001eaa7
mov eax, dword [esi + 0x30]
test eax, 0x80000
mov edi, 2
mov dword [esp + 0x10], 1
jne 0x1001eaa0
test eax, 0x800000
push 3
mov ecx, ebp
je 0x1001ea91
call dword [sym.imp.xwmfUI.dll_public:_int___thiscall_XFClientUI::setProgressStatus_unsigned_long_int_]
cmp eax, 0xffffffff
jmp 0x1001eaa5
test eax, 0x400000
je 0x1001eacb
call dword [sym.imp.xwmfUI.dll_public:_int___thiscall_XFClientUI::setProgressStatus_unsigned_long_int_]
jmp 0x1001eaa7
test eax, 0x400000
je 0x1001ead1
add dword [esp + 0x1c], 0x1c
add ebx, 1
cmp ebx, dword [esi + 0x28]
jb 0x1001e960
jmp 0x1001ead1
push edi
call dword [sym.imp.XecureMacuxCSM.dll_public:_static_void___cdecl_XWClientSM::free_void__]
add esp, 4
mov edi, 1
jmp 0x1001ead1
call dword [sym.imp.xwmfUI.dll_public:_int___thiscall_XFClientUI::setProgressStatus_unsigned_long_int_]
mov ecx, dword [sym.NativeMngUAC.dll_class_NativeFCMSWrapper__NativeFCMSWrapper::mNativeFCMSWrapper]
mov dword [ecx], edi
mov esi, dword [esi + 0x30]
test esi, 0x200000
jne 0x1001eaf3
cmp dword [esp + 0x10], 0
jne 0x1001eb03
test esi, 0x100000
je 0x1001eb03
test esi, 0x80000
jne 0x1001eb03
mov ecx, ebp
call dword [sym.imp.xwmfUI.dll_public:_void___thiscall_XFClientUI::endProgress_void_]
call dword [sym.imp.XecureMacuxCSM.dll_public:_static_void___cdecl_XWClientSM::removeInstance_void_]
push str.UploadFileThreadEx_End_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret 4