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

Disassembly:
push 0xffffffffffffffff
push 0x100446b2
mov eax, dword fs:[0]
push eax
sub esp, 0xb4
mov eax, dword [0x1005e3c8]
xor eax, esp
mov dword [esp + 0xb0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1005e3c8]
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 0x1003a893
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10039e47
sub eax, edx
je 0x1003a893
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 0x100466ec
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.NativeMng.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 0x10039ed3
mov dword [esp + 0x4c], ebp
jmp 0x10039ef0
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 0x1003a03e
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.NativeMng.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 0x1003a380
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 0x1003a380
cmp dword [esi + ebp + 0x18], 0x10
jb 0x10039f5e
mov esi, dword [esi + ebp + 4]
jmp 0x10039f62
lea esi, [esi + ebp + 4]
mov edx, dword [esp + 0xd8]
mov ecx, dword [esp + 0x18]
push 2
push esi
push edx
call sym.NativeMng.dll_public:_char____thiscall_NativeFCMSWrapper::getEnvelopedFileInfo_unsigned_long_int__char_const___int_
mov esi, dword [esp + 0x24]
test esi, esi
mov edi, eax
je 0x10039f9d
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 0x10039fa7
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov esi, dword [esp + 0x24]
cmp dword [esi + ebp + 0x18], 0x10
jb 0x10039fb4
mov esi, dword [esi + ebp + 4]
jmp 0x10039fb8
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.NativeMng.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.10034f60
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 0x1003a025
push esi
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
mov dword [esp + 0x1c], 0
test edi, edi
je 0x1003a033
push edi
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
add ebx, 1
add ebp, 0x1c
jmp 0x10039f24
test eax, 0x10000
je 0x1003a1cc
cmp edi, ebp
je 0x1003a0d7
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1003a056
sub eax, edx
je 0x1003a0d7
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 0x100466ec
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.NativeMng.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 0x1003a37c
mov ebx, dword [esp + 0x18]
xor ebp, ebp
mov dword [esp + 0x1c], ebp
test esi, esi
je 0x1003a380
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 0x1003a380
push ebp
lea ecx, [esp + 0x24]
call fcn.1002e7c0
cmp dword [eax + 0x18], 0x10
jb 0x1003a11f
mov eax, dword [eax + 4]
jmp 0x1003a122
add eax, 4
push 2
push eax
mov eax, dword [esp + 0xe0]
push eax
mov ecx, ebx
call sym.NativeMng.dll_public:_char____thiscall_NativeFCMSWrapper::getEnvelopedFileInfo_unsigned_long_int__char_const___int_
push ebp
lea ecx, [esp + 0x24]
mov edi, eax
call fcn.1002e7c0
cmp dword [eax + 0x18], 0x10
jb 0x1003a14b
mov eax, dword [eax + 4]
jmp 0x1003a14e
add eax, 4
lea ecx, [esp + 0x1c]
push ecx
push edi
push eax
mov ecx, ebx
call sym.NativeMng.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.10034f60
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 0x1003a1b2
push esi
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
mov dword [esp + 0x1c], 0
test edi, edi
je 0x1003a1c0
push edi
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
mov esi, dword [esp + 0x24]
add ebp, 1
jmp 0x1003a0e1
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 0x1003a200
mov eax, dword [esp + 0x24]
cmp eax, ebp
je 0x1003a312
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 0x1003a312
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.1002e7c0
push 1
push edi
push 0x1004ef80
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.1002e7c0
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 [0x1004613c]
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.1002e7c0
cmp dword [eax + 0x18], 0x10
jb 0x1003a2ad
mov eax, dword [eax + 4]
jmp 0x1003a2b0
add eax, 4
mov edx, dword [esp + 0xd8]
push 2
push eax
push edx
mov ecx, ebx
call sym.NativeMng.dll_public:_char____thiscall_NativeFCMSWrapper::getEnvelopedFileInfo_unsigned_long_int__char_const___int_
mov edi, eax
cmp edi, ebp
je 0x1003a2eb
lea edx, [eax + 1]
jmp 0x1003a2d0
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1003a2d0
sub eax, edx
je 0x1003a2eb
push edi
lea ecx, [esp + 0xac]
call dword [0x1004612c]
lea eax, [esp + 0xa8]
push eax
lea ecx, [esp + 0x70]
call fcn.10034f60
cmp edi, ebp
je 0x1003a30a
push edi
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
add esi, 1
jmp 0x1003a200
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.10034510
push ebp
push ebp
mov ecx, ebx
call sym.NativeMng.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 0x1003a365
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.10034140
jmp 0x1003a8af
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.10034140
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x34]
test edi, edi
mov ecx, dword [esp + 0x38]
jne 0x1003a390
xor eax, eax
jmp 0x1003a3a7
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 0x1003a3ca
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 0x1003a8a7
mov eax, dword [esp + 0xec]
and eax, 0x80000
mov dword [esp + 0x48], eax
jne 0x1003a3f2
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 0x1003a79f
xor ebp, ebp
mov dword [esp + 0x1c], ebp
test edi, edi
je 0x1003a421
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 0x1003a42f
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 0x1003a43c
mov edi, dword [edi + ebp + 4]
jmp 0x1003a440
lea edi, [edi + ebp + 4]
test esi, esi
je 0x1003a461
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 0x1003a46b
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov esi, dword [esp + 0x24]
cmp dword [esi + ebp + 0x18], 0x10
jb 0x1003a478
mov eax, dword [esi + ebp + 4]
jmp 0x1003a47c
lea eax, [esi + ebp + 4]
mov ecx, edi
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1003a4a0
test dl, dl
je 0x1003a49c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1003a4a0
add eax, 2
add ecx, 2
test dl, dl
jne 0x1003a480
xor eax, eax
jmp 0x1003a4a5
sbb eax, eax
sbb eax, 0xffffffff
xor edi, edi
cmp eax, edi
je 0x1003a6fd
cmp esi, edi
je 0x1003a4d0
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 0x1003a4da
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov esi, dword [esp + 0x24]
cmp dword [esi + ebp + 0x18], 0x10
jb 0x1003a4e7
mov esi, dword [esi + ebp + 4]
jmp 0x1003a4eb
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 0x1003a4f8
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.NativeMng.dll_public:_int___thiscall_NativeFCMSWrapper::XMF_MultiByteToWideChar_unsigned_int__wchar_t____int___char___int_
cmp eax, edi
jne 0x1003a71a
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 0x1003a545
push esi
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
test edi, edi
jne 0x1003a71a
test dword [esp + 0xec], 0x40000
je 0x1003a5d6
push ebx
lea ecx, [esp + 0x34]
call fcn.1002e7c0
cmp dword [eax + 0x18], 0x10
jb 0x1003a573
mov ecx, dword [eax + 4]
jmp 0x1003a576
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 0x1003a585
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.NativeMng.dll_public:_int___thiscall_NativeFCMSWrapper::XMF_MultiByteToWideChar_unsigned_int__wchar_t____int___char___int_
cmp eax, edi
jne 0x1003a5d6
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 0x1003a5ce
push esi
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
test edi, edi
je 0x1003a737
mov esi, dword [esp + 0x34]
test esi, esi
je 0x1003a5fb
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 0x1003a605
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov esi, dword [esp + 0x34]
mov edi, 0x10
cmp dword [esi + ebp + 0x18], edi
jb 0x1003a616
mov esi, dword [esi + ebp + 4]
jmp 0x1003a61a
lea esi, [esi + ebp + 4]
push 2
push esi
mov esi, dword [esp + 0x20]
push 0xfde9
mov ecx, esi
call sym.NativeMng.dll_public:_int___thiscall_NativeFCMSWrapper::XMF_File_Access_unsigned_int__char_const___int_
test eax, eax
jne 0x1003a754
push ebx
lea ecx, [esp + 0x24]
call fcn.1002e7c0
cmp dword [eax + 0x18], edi
jb 0x1003a649
mov eax, dword [eax + 4]
jmp 0x1003a64c
add eax, 4
lea ecx, [esp + 0x5c]
push ecx
push eax
push 0xfde9
mov ecx, esi
call sym.NativeMng.dll_public:_int___thiscall_NativeFCMSWrapper::XMF_GetFileSize_unsigned_int__char_const___long_long___int64___
test eax, eax
jne 0x1003a76d
mov ebp, dword [esp + 0x60]
test ebp, ebp
jg 0x1003a786
mov edi, dword [esp + 0x5c]
jl 0x1003a681
cmp edi, 0xffffffff
ja 0x1003a786
cmp dword [esp + 0x48], 0
jne 0x1003a6d6
push ebx
lea ecx, [esp + 0x34]
call fcn.1002e7c0
cmp dword [eax + 0x18], 0x10
jb 0x1003a69d
mov esi, dword [eax + 4]
jmp 0x1003a6a0
lea esi, [eax + 4]
push ebx
lea ecx, [esp + 0x24]
call fcn.1002e7c0
cmp dword [eax + 0x18], 0x10
jb 0x1003a6b5
mov eax, dword [eax + 4]
jmp 0x1003a6b8
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 0x1003a871
add dword [esp + 0x1c], 0x1c
add ebx, 1
cmp ebx, dword [esp + 0x4c]
jge 0x1003a79f
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x34]
mov ebp, dword [esp + 0x1c]
jmp 0x1003a404
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 0x1003a8a7
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 0x1003a8a7
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 0x1003a8a7
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 0x1003a8a7
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 0x1003a8a7
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 0x1003a8a7
push 0x30
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
xor ebp, ebp
cmp eax, ebp
je 0x1003a7c5
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 0x1003a7c7
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.10035d30
lea edx, [esp + 0x30]
push edx
lea ecx, [esi + 0x18]
call fcn.10035d30
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 0x1003a88b
mov edi, dword [esp + 0x50]
cmp edi, ebp
je 0x1003a83f
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1003a830
sub eax, edx
mov eax, edi
jne 0x1003a844
mov eax, str.deEnvelope_File
push ebx
push esi
push sym.NativeMng.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 0x1003a8af
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 0x1003a8a7
push esi
call sym.NativeMng.dll_protected:_static_unsigned_int___stdcall_NativeFCMSWrapper::DeEnvelopeFileWithPasswdThread_void__
jmp 0x1003a8af
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.NativeMng.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 0x1003a8c1
mov eax, dword [esi + 4]
jmp 0x1003a8c4
lea eax, [esi + 4]
push eax
call dword [sym.imp.MSVCR80.dll__strdup]
add esp, 4
push 0x10046637
mov ecx, esi
mov dword [esp + 0x4c], 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__::operator_char_const__]
mov eax, dword [esp + 0x68]
test eax, eax
je 0x1003a8ee
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [esp + 0x64]
test esi, esi
je 0x1003a906
mov ecx, esi
call fcn.10034a50
push esi
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
mov edi, dword [esp + 0x24]
test edi, edi
je 0x1003a965
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 0x1003a965
cmp edi, ebx
mov ebp, ebx
jbe 0x1003a93f
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 0x1003a94d
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.100346b0
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x34]
test ecx, ecx
mov ebp, dword [esp + 0x38]
je 0x1003a9ce
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 0x1003a9ce
cmp ecx, ebp
mov ebx, ebp
jbe 0x1003a99e
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 0x1003a9ae
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.100346b0
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 0x1003a9ee
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 0x1003aa22
cmp ecx, ebp
mov edi, ebp
mov esi, ecx
je 0x1003aa15
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 0x1003aa02
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 0x1003aa63
mov ebp, dword [esp + 0x28]
cmp edi, ebp
mov esi, edi
je 0x1003aa5a
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 0x1003aa47
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.10041218
add esp, 0xc0
ret 0x18