Function at 0x10026f10
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x1002f9c2
mov eax, dword fs:[0]
push eax
sub esp, 0xb4
mov eax, dword [0x1004a0b4]
xor eax, esp
mov dword [esp + 0xb0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1004a0b4]
xor eax, esp
push eax
lea eax, [esp + 0xc8]
mov dword fs:[0], eax
mov eax, dword [esp + 0xe8]
mov esi, dword [esp + 0xdc]
mov edi, dword [esp + 0xe0]
mov ebx, ecx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x50], eax
call dword [sym.imp.xwmfUI.dll_public:_static_class_XFClientUI____cdecl_XFClientUI::getInstance_void_]
xor ebp, ebp
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x60], ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0xd0], ebp
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ebp
mov ecx, dword [ebx + 0x58]
mov byte [esp + 0xd0], 1
mov dword [esp + 0x68], ebp
mov dword [esp + 0x64], ebp
mov dword [esp + 0x54], ebp
call dword [sym.imp.XecureMacuxCSM.dll_public:_void___thiscall_XWClientSM::resetError_void_]
cmp esi, ebp
je 0x10027a13
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10026fc7
sub eax, edx
je 0x10027a13
push esi
lea ecx, [esp + 0x70]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push 0x10035b24
lea ecx, [esp + 0xac]
mov byte [esp + 0xd4], 2
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x70]
push edx
lea eax, [esp + 0xb0]
push eax
mov ecx, ebx
mov byte [esp + 0xdc], 3
call sym.NativeMngUAC.dll_public:_int___thiscall_NativeFCMSWrapper::splitList_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___class_std::vector_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____class_std::allocator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______
lea ecx, [esp + 0xa8]
mov byte [esp + 0xd0], 2
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x6c]
mov byte [esp + 0xd0], 1
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov esi, dword [esp + 0x24]
cmp esi, ebp
jne 0x10027053
mov dword [esp + 0x4c], ebp
jmp 0x10027070
mov ecx, dword [esp + 0x28]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0xec]
test eax, 0x20000
je 0x100271be
mov ecx, dword [esp + 0xd8]
push str.XgateAddress
push ecx
mov ecx, dword [esp + 0x20]
xor ebp, ebp
mov dword [esp + 0x24], ebp
call sym.NativeMngUAC.dll_public:_char____thiscall_NativeFCMSWrapper::getAttribute_unsigned_long_int__char_const__
mov dword [esp + 0x54], eax
xor ebx, ebx
mov esi, dword [esp + 0x24]
test esi, esi
je 0x10027500
mov ecx, dword [esp + 0x28]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jae 0x10027500
cmp dword [esi + ebp + 0x18], 0x10
jb 0x100270de
mov esi, dword [esi + ebp + 4]
jmp 0x100270e2
lea esi, [esi + ebp + 4]
mov edx, dword [esp + 0xd8]
mov ecx, dword [esp + 0x18]
push 2
push esi
push edx
call sym.NativeMngUAC.dll_public:_char____thiscall_NativeFCMSWrapper::getEnvelopedFileInfo_unsigned_long_int__char_const___int_
mov esi, dword [esp + 0x24]
test esi, esi
mov edi, eax
je 0x1002711d
mov ecx, dword [esp + 0x28]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x10027127
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov esi, dword [esp + 0x24]
cmp dword [esi + ebp + 0x18], 0x10
jb 0x10027134
mov esi, dword [esi + ebp + 4]
jmp 0x10027138
lea esi, [esi + ebp + 4]
mov ecx, dword [esp + 0x54]
push 0
push edi
lea eax, [esp + 0x24]
push eax
push esi
push ecx
mov ecx, dword [esp + 0x2c]
call sym.NativeMngUAC.dll_public:_int___thiscall_NativeFCMSWrapper::makeTempFilePath_char_const___char_const___char____char_const___char_const__
mov esi, dword [esp + 0x1c]
push esi
lea ecx, [esp + 0xac]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea edx, [esp + 0xa8]
push edx
lea ecx, [esp + 0x34]
mov byte [esp + 0xd4], 4
call fcn.100220e0
lea ecx, [esp + 0xa8]
mov byte [esp + 0xd0], 1
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
test esi, esi
je 0x100271a5
push esi
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
mov dword [esp + 0x1c], 0
test edi, edi
je 0x100271b3
push edi
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
add ebx, 1
add ebp, 0x1c
jmp 0x100270a4
test eax, 0x10000
je 0x1002734c
cmp edi, ebp
je 0x10027257
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x100271d6
sub eax, edx
je 0x10027257
push edi
lea ecx, [esp + 0x70]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov bl, 6
push 0x10035b24
lea ecx, [esp + 0xac]
mov byte [esp + 0xd4], bl
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0xb0]
push edx
mov byte [esp + 0xdc], 7
call sym.NativeMngUAC.dll_public:_int___thiscall_NativeFCMSWrapper::splitList_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___class_std::vector_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____class_std::allocator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______
lea ecx, [esp + 0xa8]
mov byte [esp + 0xd0], bl
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x6c]
mov byte [esp + 0xd0], 1
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
jmp 0x100274fc
mov ebx, dword [esp + 0x18]
xor ebp, ebp
mov dword [esp + 0x1c], ebp
test esi, esi
je 0x10027500
mov ecx, dword [esp + 0x28]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebp, eax
jae 0x10027500
push ebp
lea ecx, [esp + 0x24]
call fcn.1001bba0
cmp dword [eax + 0x18], 0x10
jb 0x1002729f
mov eax, dword [eax + 4]
jmp 0x100272a2
add eax, 4
push 2
push eax
mov eax, dword [esp + 0xe0]
push eax
mov ecx, ebx
call sym.NativeMngUAC.dll_public:_char____thiscall_NativeFCMSWrapper::getEnvelopedFileInfo_unsigned_long_int__char_const___int_
push ebp
lea ecx, [esp + 0x24]
mov edi, eax
call fcn.1001bba0
cmp dword [eax + 0x18], 0x10
jb 0x100272cb
mov eax, dword [eax + 4]
jmp 0x100272ce
add eax, 4
lea ecx, [esp + 0x1c]
push ecx
push edi
push eax
mov ecx, ebx
call sym.NativeMngUAC.dll_public:_int___thiscall_NativeFCMSWrapper::changeFileName_char_const___char_const___char___
mov esi, dword [esp + 0x1c]
push esi
lea ecx, [esp + 0xac]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea edx, [esp + 0xa8]
push edx
lea ecx, [esp + 0x34]
mov byte [esp + 0xd4], 5
call fcn.100220e0
lea ecx, [esp + 0xa8]
mov byte [esp + 0xd0], 1
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
test esi, esi
je 0x10027332
push esi
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
mov dword [esp + 0x1c], 0
test edi, edi
je 0x10027340
push edi
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
mov esi, dword [esp + 0x24]
add ebp, 1
jmp 0x10027261
mov dword [esp + 0x70], ebp
mov dword [esp + 0x74], ebp
mov dword [esp + 0x78], ebp
lea ecx, [esp + 0xa8]
mov byte [esp + 0xd0], 8
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
mov byte [esp + 0xd0], 9
xor esi, esi
jmp 0x10027380
mov eax, dword [esp + 0x24]
cmp eax, ebp
je 0x10027492
mov ecx, dword [esp + 0x28]
sub ecx, eax
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jae 0x10027492
mov eax, dword [sym.imp.MSVCP80.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov edi, dword [eax]
push esi
lea ecx, [esp + 0x24]
call fcn.1001bba0
push 1
push edi
push 0x100350e8
mov ecx, eax
call dword [sym.imp.MSVCP80.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_last_of_char_const___unsigned_int__unsigned_int_const]
add eax, 1
push eax
push ebp
lea ecx, [esp + 0x94]
push ecx
push esi
lea ecx, [esp + 0x30]
call fcn.1001bba0
mov ecx, eax
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__::substr_unsigned_int__unsigned_int_]
push eax
lea ecx, [esp + 0xac]
mov byte [esp + 0xd4], 0xa
call dword [0x100321c0]
lea ecx, [esp + 0x8c]
mov byte [esp + 0xd0], 9
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
push esi
lea ecx, [esp + 0x24]
call fcn.1001bba0
cmp dword [eax + 0x18], 0x10
jb 0x1002742d
mov eax, dword [eax + 4]
jmp 0x10027430
add eax, 4
mov edx, dword [esp + 0xd8]
push 2
push eax
push edx
mov ecx, ebx
call sym.NativeMngUAC.dll_public:_char____thiscall_NativeFCMSWrapper::getEnvelopedFileInfo_unsigned_long_int__char_const___int_
mov edi, eax
cmp edi, ebp
je 0x1002746b
lea edx, [eax + 1]
jmp 0x10027450
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10027450
sub eax, edx
je 0x1002746b
push edi
lea ecx, [esp + 0xac]
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__]
lea eax, [esp + 0xa8]
push eax
lea ecx, [esp + 0x70]
call fcn.100220e0
cmp edi, ebp
je 0x1002748a
push edi
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
add esi, 1
jmp 0x10027380
lea ecx, [esp + 0x30]
push ecx
sub esp, 0x10
lea edx, [esp + 0x80]
mov ecx, esp
mov dword [esp + 0x54], esp
push edx
call fcn.10021850
push ebp
push ebp
mov ecx, ebx
call sym.NativeMngUAC.dll_public:_int___thiscall_NativeFCMSWrapper::selectFileList_char___char___class_std::vector_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____class_std::allocator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______class_std::vector_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____class_std::allocator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______
cmp eax, ebp
mov byte [esp + 0xd0], 8
lea ecx, [esp + 0xa8]
je 0x100274e5
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x6c]
mov byte [esp + 0xd0], 1
call fcn.10021480
jmp 0x10027a2f
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x6c]
mov byte [esp + 0xd0], 1
call fcn.10021480
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x34]
test edi, edi
mov ecx, dword [esp + 0x38]
jne 0x10027510
xor eax, eax
jmp 0x10027527
mov ebp, ecx
sub ebp, edi
mov eax, 0x92492493
imul ebp
add edx, ebp
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [esp + 0x4c], eax
je 0x1002754a
mov esi, dword [esp + 0x18]
mov ecx, dword [esi + 0x58]
push 0x9896ef
call dword [sym.imp.XecureMacuxCSM.dll_public:_void___thiscall_XWClientSM::setError_int_]
push str._NativeFCMSWrapper__deEnvelopeFileWithPasswd__Fail_:_Count_the_number_of_input_files_and_output_files_are_different
push esi
jmp 0x10027a27
mov eax, dword [esp + 0xec]
and eax, 0x80000
mov dword [esp + 0x48], eax
jne 0x10027572
mov ecx, dword [esp + 0x58]
call dword [sym.imp.xwmfUI.dll_public:_int___thiscall_XFClientUI::initProgress_void_]
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x34]
xor ebx, ebx
cmp dword [esp + 0x4c], ebx
jle 0x1002791f
xor ebp, ebp
mov dword [esp + 0x1c], ebp
test edi, edi
je 0x100275a1
sub ecx, edi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x100275af
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x34]
cmp dword [edi + ebp + 0x18], 0x10
jb 0x100275bc
mov edi, dword [edi + ebp + 4]
jmp 0x100275c0
lea edi, [edi + ebp + 4]
test esi, esi
je 0x100275e1
mov ecx, dword [esp + 0x28]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x100275eb
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov esi, dword [esp + 0x24]
cmp dword [esi + ebp + 0x18], 0x10
jb 0x100275f8
mov eax, dword [esi + ebp + 4]
jmp 0x100275fc
lea eax, [esi + ebp + 4]
mov ecx, edi
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10027620
test dl, dl
je 0x1002761c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10027620
add eax, 2
add ecx, 2
test dl, dl
jne 0x10027600
xor eax, eax
jmp 0x10027625
sbb eax, eax
sbb eax, 0xffffffff
xor edi, edi
cmp eax, edi
je 0x1002787d
cmp esi, edi
je 0x10027650
mov ecx, dword [esp + 0x28]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x1002765a
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov esi, dword [esp + 0x24]
cmp dword [esi + ebp + 0x18], 0x10
jb 0x10027667
mov esi, dword [esi + ebp + 4]
jmp 0x1002766b
lea esi, [esi + ebp + 4]
mov eax, esi
mov dword [esp + 0x44], edi
mov dword [esp + 0x40], edi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10027678
sub eax, edx
push eax
push esi
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x50]
push ecx
mov ecx, dword [esp + 0x28]
push 0xfde9
call sym.NativeMngUAC.dll_public:_int___thiscall_NativeFCMSWrapper::XMF_MultiByteToWideChar_unsigned_int__wchar_t____int___char___int_
cmp eax, edi
jne 0x1002789a
mov esi, dword [esp + 0x44]
push 4
push esi
call dword [sym.imp.MSVCR80.dll__waccess]
add esp, 8
test esi, esi
mov edi, eax
je 0x100276c5
push esi
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
test edi, edi
jne 0x1002789a
test dword [esp + 0xec], 0x40000
je 0x10027756
push ebx
lea ecx, [esp + 0x34]
call fcn.1001bba0
cmp dword [eax + 0x18], 0x10
jb 0x100276f3
mov ecx, dword [eax + 4]
jmp 0x100276f6
lea ecx, [eax + 4]
xor edi, edi
mov eax, ecx
mov dword [esp + 0x44], edi
mov dword [esp + 0x40], edi
lea esi, [eax + 1]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10027705
sub eax, esi
push eax
push ecx
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x48]
push edx
lea eax, [esp + 0x50]
push eax
push 0xfde9
call sym.NativeMngUAC.dll_public:_int___thiscall_NativeFCMSWrapper::XMF_MultiByteToWideChar_unsigned_int__wchar_t____int___char___int_
cmp eax, edi
jne 0x10027756
mov esi, dword [esp + 0x44]
push 0
push esi
call dword [sym.imp.MSVCR80.dll__waccess]
add esp, 8
test esi, esi
mov edi, eax
je 0x1002774e
push esi
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
test edi, edi
je 0x100278b7
mov esi, dword [esp + 0x34]
test esi, esi
je 0x1002777b
mov ecx, dword [esp + 0x38]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x10027785
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov esi, dword [esp + 0x34]
mov edi, 0x10
cmp dword [esi + ebp + 0x18], edi
jb 0x10027796
mov esi, dword [esi + ebp + 4]
jmp 0x1002779a
lea esi, [esi + ebp + 4]
push 2
push esi
mov esi, dword [esp + 0x20]
push 0xfde9
mov ecx, esi
call sym.NativeMngUAC.dll_public:_int___thiscall_NativeFCMSWrapper::XMF_File_Access_unsigned_int__char_const___int_
test eax, eax
jne 0x100278d4
push ebx
lea ecx, [esp + 0x24]
call fcn.1001bba0
cmp dword [eax + 0x18], edi
jb 0x100277c9
mov eax, dword [eax + 4]
jmp 0x100277cc
add eax, 4
lea ecx, [esp + 0x5c]
push ecx
push eax
push 0xfde9
mov ecx, esi
call sym.NativeMngUAC.dll_public:_int___thiscall_NativeFCMSWrapper::XMF_GetFileSize_unsigned_int__char_const___long_long___int64___
test eax, eax
jne 0x100278ed
mov ebp, dword [esp + 0x60]
test ebp, ebp
jg 0x10027906
mov edi, dword [esp + 0x5c]
jl 0x10027801
cmp edi, 0xffffffff
ja 0x10027906
cmp dword [esp + 0x48], 0
jne 0x10027856
push ebx
lea ecx, [esp + 0x34]
call fcn.1001bba0
cmp dword [eax + 0x18], 0x10
jb 0x1002781d
mov esi, dword [eax + 4]
jmp 0x10027820
lea esi, [eax + 4]
push ebx
lea ecx, [esp + 0x24]
call fcn.1001bba0
cmp dword [eax + 0x18], 0x10
jb 0x10027835
mov eax, dword [eax + 4]
jmp 0x10027838
add eax, 4
mov ecx, dword [esp + 0x58]
push 1
push ebp
push edi
push esi
push eax
push ebx
push 0xfde9
call dword [sym.imp.xwmfUI.dll_public:_int___thiscall_XFClientUI::addProgressFile_unsigned_int__int__char_const___char_const___long_long___int64___unsigned_long_int_]
test eax, eax
jne 0x100279f1
add dword [esp + 0x1c], 0x1c
add ebx, 1
cmp ebx, dword [esp + 0x4c]
jge 0x1002791f
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x34]
mov ebp, dword [esp + 0x1c]
jmp 0x10027584
mov esi, dword [esp + 0x18]
mov ecx, dword [esi + 0x58]
push 0x9896ef
call dword [sym.imp.XecureMacuxCSM.dll_public:_void___thiscall_XWClientSM::setError_int_]
push str._NativeFCMSWrapper__deEnvelopeFileWithPasswd__Fail_:_Input_file_name_and_output_file_name_is_the_same
push esi
jmp 0x10027a27
mov esi, dword [esp + 0x18]
mov ecx, dword [esi + 0x58]
push 0x9896f2
call dword [sym.imp.XecureMacuxCSM.dll_public:_void___thiscall_XWClientSM::setError_int_]
push str._NativeFCMSWrapper__deEnvelopeFileWithPasswd__Fail_:_Input_File_open_fail
push esi
jmp 0x10027a27
mov esi, dword [esp + 0x18]
mov ecx, dword [esi + 0x58]
push 0x989713
call dword [sym.imp.XecureMacuxCSM.dll_public:_void___thiscall_XWClientSM::setError_int_]
push str._NativeFCMSWrapper__deEnvelopeFileWithPasswd__Fail_:_Output_file_already_existl
push esi
jmp 0x10027a27
mov ecx, dword [esi + 0x58]
push 0x989714
call dword [sym.imp.XecureMacuxCSM.dll_public:_void___thiscall_XWClientSM::setError_int_]
push str._NativeFCMSWrapper__deEnvelopeFileWithPasswd__Fail_:_Output_directory_write_fail
push esi
jmp 0x10027a27
mov ecx, dword [esi + 0x58]
push 0x9896f2
call dword [sym.imp.XecureMacuxCSM.dll_public:_void___thiscall_XWClientSM::setError_int_]
push str._NativeFCMSWrapper__deEnvelopeFileWithPasswd__Fail_:_Failed_to_get_the_file_size
push esi
jmp 0x10027a27
mov ecx, dword [esi + 0x58]
push 0x989715
call dword [sym.imp.XecureMacuxCSM.dll_public:_void___thiscall_XWClientSM::setError_int_]
push str._NativeFCMSWrapper__deEnvelopeFileWithPasswd__Fail_:_The_file_size_is_greater_than_3.9GB_4_294_967_295_byte_
push esi
jmp 0x10027a27
push 0x30
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
xor ebp, ebp
cmp eax, ebp
je 0x10027945
mov dword [eax + 0xc], ebp
mov dword [eax + 0x10], ebp
mov dword [eax + 0x14], ebp
mov dword [eax + 0x1c], ebp
mov dword [eax + 0x20], ebp
mov dword [eax + 0x24], ebp
mov esi, eax
jmp 0x10027947
xor esi, esi
push 0x30
push ebp
push esi
mov byte [esp + 0xdc], 1
mov dword [esp + 0x70], esi
call sub.MSVCR80.dll_memset
mov edx, dword [esp + 0xe4]
mov eax, dword [esp + 0xf0]
add esp, 0xc
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esi + 8]
mov dword [esi], edx
mov dword [esi + 4], eax
call fcn.10022eb0
lea edx, [esp + 0x30]
push edx
lea ecx, [esi + 0x18]
call fcn.10022eb0
cmp dword [esp + 0x48], ebp
mov eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0xec]
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], ebx
jne 0x10027a0b
mov edi, dword [esp + 0x50]
cmp edi, ebp
je 0x100279bf
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x100279b0
sub eax, edx
mov eax, edi
jne 0x100279c4
mov eax, str.deEnvelope_File
push ebx
push esi
push sym.NativeMngUAC.dll_protected:_static_unsigned_int___stdcall_NativeFCMSWrapper::DeEnvelopeFileWithPasswdThread_void__
lea ecx, [esp + 0x94]
push ecx
mov ecx, dword [esp + 0x68]
lea edx, [esp + 0x78]
push edx
push eax
push str.AnySign_for_PC_FCMS
push 0xfde9
call dword [sym.imp.xwmfUI.dll_public:_int___thiscall_XFClientUI::progressDialog_unsigned_int__char_const___char_const___void____unsigned_long_int___unsigned_int____stdcall___void____void___int_]
test eax, eax
je 0x10027a2f
mov esi, dword [esp + 0x18]
mov ecx, dword [esi + 0x58]
push 0x9896a2
call dword [sym.imp.XecureMacuxCSM.dll_public:_void___thiscall_XWClientSM::setError_int_]
push str._NativeFCMSWrapper__deEnvelopeFileWithPasswd__Fail_to_XFClientUI
push esi
jmp 0x10027a27
push esi
call sym.NativeMngUAC.dll_protected:_static_unsigned_int___stdcall_NativeFCMSWrapper::DeEnvelopeFileWithPasswdThread_void__
jmp 0x10027a2f
mov ecx, dword [ebx + 0x58]
push 0x9896ef
call dword [sym.imp.XecureMacuxCSM.dll_public:_void___thiscall_XWClientSM::setError_int_]
push str._NativeFCMSWrapper__deEnvelopeFileWithPasswd__Fail_:_aInFilePath_is_null
push ebx
call sym.NativeMngUAC.dll_public:_void___cdecl_NativeFCMSWrapper::logDebug_char_const__
add esp, 8
mov esi, dword [esp + 0x18]
add esi, 4
cmp dword [esi + 0x18], 0x10
jb 0x10027a41
mov eax, dword [esi + 4]
jmp 0x10027a44
lea eax, [esi + 4]
push eax
call dword [sym.imp.MSVCR80.dll__strdup]
add esp, 4
push 0x10033982
mov ecx, esi
mov dword [esp + 0x4c], eax
call dword [0x100321b0]
mov eax, dword [esp + 0x68]
test eax, eax
je 0x10027a6e
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [esp + 0x64]
test esi, esi
je 0x10027a86
mov ecx, esi
call fcn.10021b20
push esi
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
mov edi, dword [esp + 0x24]
test edi, edi
je 0x10027ae5
mov ebx, dword [esp + 0x28]
mov ecx, ebx
sub ecx, edi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10027ae5
cmp edi, ebx
mov ebp, ebx
jbe 0x10027abf
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
cmp edi, ebx
lea esi, [esp + 0x20]
jbe 0x10027acd
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
push ebp
push esi
lea eax, [esp + 0x28]
push edi
push eax
lea ecx, [esp + 0x6c]
push ecx
mov ecx, eax
call fcn.100219f0
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x34]
test ecx, ecx
mov ebp, dword [esp + 0x38]
je 0x10027b4e
mov esi, ebp
sub esi, ecx
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10027b4e
cmp ecx, ebp
mov ebx, ebp
jbe 0x10027b1e
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov ebp, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
cmp ecx, ebp
lea esi, [esp + 0x30]
mov edi, ecx
jbe 0x10027b2e
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
push ebx
push esi
lea eax, [esp + 0x38]
push edi
push eax
lea ecx, [esp + 0x6c]
push ecx
mov ecx, eax
call fcn.100219f0
mov edi, dword [esp + 0x24]
mov ebp, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x54]
xor ebx, ebx
cmp eax, ebx
je 0x10027b6e
push eax
call dword [sym.imp.MSVCR80.dll_free]
mov edi, dword [esp + 0x28]
mov ebp, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
add esp, 4
cmp ecx, ebx
mov byte [esp + 0xd0], 0
je 0x10027ba2
cmp ecx, ebp
mov edi, ebp
mov esi, ecx
je 0x10027b95
mov ecx, esi
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
add esi, 0x1c
cmp esi, edi
jne 0x10027b82
mov ecx, dword [esp + 0x34]
push ecx
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
mov edi, dword [esp + 0x28]
add esp, 4
cmp edi, ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0xd0], 0xffffffff
je 0x10027be3
mov ebp, dword [esp + 0x28]
cmp edi, ebp
mov esi, edi
je 0x10027bda
mov ecx, esi
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
add esi, 0x1c
cmp esi, ebp
jne 0x10027bc7
mov edi, dword [esp + 0x24]
push edi
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0xc8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.1002d777
add esp, 0xc0
ret 0x18