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

Disassembly:
push 0xffffffffffffffff
push 0x10044602
mov eax, dword fs:[0]
push eax
sub esp, 0xc4
mov eax, dword [0x1005e3c8]
xor eax, esp
mov dword [esp + 0xc0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1005e3c8]
xor eax, esp
push eax
lea eax, [esp + 0xd8]
mov dword fs:[0], eax
mov eax, dword [esp + 0x104]
mov ebx, dword [esp + 0xf4]
mov esi, dword [esp + 0xec]
mov edi, dword [esp + 0xf0]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x108]
mov dword [esp + 0x70], ebx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x50], ecx
call dword [sym.imp.xwmfUI.dll_public:_static_class_XFClientUI____cdecl_XFClientUI::getInstance_void_]
xor ebp, ebp
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebp
mov dword [esp + 0x64], ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0xe0], ebp
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ebp
push ebx
mov byte [esp + 0xe4], 1
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x5c], ebp
call dword [sym.imp.MSVCR80.dll_atoi]
mov ecx, eax
mov ebx, dword [esp + 0x1c]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x64
mov dword [esp + 0x4c], ecx
mov ecx, dword [ebx + 0x58]
add esp, 4
mov dword [esp + 0x54], eax
call dword [sym.imp.XecureMacuxCSM.dll_public:_void___thiscall_XWClientSM::resetError_void_]
cmp esi, ebp
je 0x10039b45
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10039017
sub eax, edx
je 0x10039b45
push esi
lea ecx, [esp + 0x80]
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 + 0xbc]
mov byte [esp + 0xe4], 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 + 0x80]
push edx
lea eax, [esp + 0xc0]
push eax
mov ecx, ebx
mov byte [esp + 0xec], 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 + 0xb8]
mov byte [esp + 0xe0], 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 + 0x7c]
mov byte [esp + 0xe0], 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 0x100390a9
mov dword [esp + 0x4c], ebp
jmp 0x100390c6
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 + 0x10c]
test eax, 0x20000
je 0x1003921a
mov ecx, dword [esp + 0xe8]
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 + 0x58], eax
xor ebx, ebx
lea ebx, [ebx]
mov esi, dword [esp + 0x24]
test esi, esi
je 0x10039563
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 0x10039563
cmp dword [esi + ebp + 0x18], 0x10
jb 0x1003913a
mov esi, dword [esi + ebp + 4]
jmp 0x1003913e
lea esi, [esi + ebp + 4]
mov edx, dword [esp + 0xe8]
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 0x10039179
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 0x10039183
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov esi, dword [esp + 0x24]
cmp dword [esi + ebp + 0x18], 0x10
jb 0x10039190
mov esi, dword [esi + ebp + 4]
jmp 0x10039194
lea esi, [esi + ebp + 4]
mov ecx, dword [esp + 0x58]
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 + 0xbc]
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 + 0xb8]
push edx
lea ecx, [esp + 0x34]
mov byte [esp + 0xe4], 4
call fcn.10034f60
lea ecx, [esp + 0xb8]
mov byte [esp + 0xe0], 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 0x10039201
push esi
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
mov dword [esp + 0x1c], 0
test edi, edi
je 0x1003920f
push edi
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
add ebx, 1
add ebp, 0x1c
jmp 0x10039100
test eax, 0x10000
je 0x100393ae
cmp edi, ebp
je 0x100392b9
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10039232
sub eax, edx
je 0x100392b9
push edi
lea ecx, [esp + 0x80]
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 + 0xbc]
mov byte [esp + 0xe4], 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 + 0x80]
push ecx
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0xc0]
push edx
mov byte [esp + 0xec], 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 + 0xb8]
mov byte [esp + 0xe0], 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 + 0x7c]
mov byte [esp + 0xe0], 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 0x1003955f
mov ebx, dword [esp + 0x18]
xor ebp, ebp
mov dword [esp + 0x1c], ebp
test esi, esi
je 0x10039563
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 0x10039563
push ebp
lea ecx, [esp + 0x24]
call fcn.1002e7c0
cmp dword [eax + 0x18], 0x10
jb 0x10039301
mov eax, dword [eax + 4]
jmp 0x10039304
add eax, 4
push 2
push eax
mov eax, dword [esp + 0xf0]
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 0x1003932d
mov eax, dword [eax + 4]
jmp 0x10039330
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 + 0xbc]
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 + 0xb8]
push edx
lea ecx, [esp + 0x34]
mov byte [esp + 0xe4], 5
call fcn.10034f60
lea ecx, [esp + 0xb8]
mov byte [esp + 0xe0], 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 0x10039394
push esi
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
mov dword [esp + 0x1c], 0
test edi, edi
je 0x100393a2
push edi
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
mov esi, dword [esp + 0x24]
add ebp, 1
jmp 0x100392c3
mov dword [esp + 0x80], ebp
mov dword [esp + 0x84], ebp
mov dword [esp + 0x88], ebp
lea ecx, [esp + 0xb8]
mov byte [esp + 0xe0], 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 + 0xe0], 9
xor esi, esi
mov eax, dword [esp + 0x24]
cmp eax, ebp
je 0x100394f5
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 0x100394f5
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 + 0xa4]
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 + 0xbc]
mov byte [esp + 0xe4], 0xa
call dword [0x1004613c]
lea ecx, [esp + 0x9c]
mov byte [esp + 0xe0], 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 0x1003948f
mov eax, dword [eax + 4]
jmp 0x10039492
add eax, 4
mov edx, dword [esp + 0xe8]
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 0x100394cb
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x100394b0
sub eax, edx
je 0x100394cb
push edi
lea ecx, [esp + 0xbc]
call dword [0x1004612c]
lea eax, [esp + 0xb8]
push eax
lea ecx, [esp + 0x80]
call fcn.10034f60
cmp edi, ebp
je 0x100394ed
push edi
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
add esi, 1
jmp 0x100393e2
lea ecx, [esp + 0x30]
push ecx
sub esp, 0x10
lea edx, [esp + 0x90]
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 + 0xe0], 8
lea ecx, [esp + 0xb8]
je 0x10039548
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 + 0x7c]
mov byte [esp + 0xe0], 1
call fcn.10034140
jmp 0x10039b61
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 + 0x7c]
mov byte [esp + 0xe0], 1
call fcn.10034140
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x34]
test edi, edi
mov ecx, dword [esp + 0x38]
jne 0x10039573
xor eax, eax
jmp 0x1003958a
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 0x100395ad
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__deEnvelopeFileWithCert__Fail_:_Count_the_number_of_input_files_and_output_files_are_different
push esi
jmp 0x10039b59
mov eax, dword [esp + 0x10c]
and eax, 0x80000
mov dword [esp + 0x74], eax
jne 0x100395d5
mov ecx, dword [esp + 0x5c]
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 0x1003998a
xor ebp, ebp
mov dword [esp + 0x1c], ebp
test edi, edi
je 0x10039604
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 0x10039612
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 0x1003961f
mov edi, dword [edi + ebp + 4]
jmp 0x10039623
lea edi, [edi + ebp + 4]
test esi, esi
je 0x10039644
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 0x1003964e
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov esi, dword [esp + 0x24]
cmp dword [esi + ebp + 0x18], 0x10
jb 0x1003965b
mov eax, dword [esi + ebp + 4]
jmp 0x1003965f
lea eax, [esi + ebp + 4]
mov ecx, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10039681
test dl, dl
je 0x1003967d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10039681
add eax, 2
add ecx, 2
test dl, dl
jne 0x10039661
xor eax, eax
jmp 0x10039686
sbb eax, eax
sbb eax, 0xffffffff
xor edi, edi
cmp eax, edi
je 0x100398e8
cmp esi, edi
je 0x100396b1
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 0x100396bb
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov esi, dword [esp + 0x24]
cmp dword [esi + ebp + 0x18], 0x10
jb 0x100396c8
mov esi, dword [esi + ebp + 4]
jmp 0x100396cc
lea esi, [esi + ebp + 4]
mov eax, esi
mov dword [esp + 0x44], edi
mov dword [esp + 0x40], edi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x100396e0
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 0x10039905
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 0x1003972d
push esi
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
test edi, edi
jne 0x10039905
test dword [esp + 0x10c], 0x40000
je 0x100397c1
push ebx
lea ecx, [esp + 0x34]
call fcn.1002e7c0
cmp dword [eax + 0x18], 0x10
jb 0x10039757
mov ecx, dword [eax + 4]
jmp 0x1003975a
lea ecx, [eax + 4]
xor edi, edi
mov eax, ecx
mov dword [esp + 0x44], edi
mov dword [esp + 0x40], edi
lea esi, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10039770
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 0x100397c1
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 0x100397b9
push esi
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
test edi, edi
je 0x10039922
mov esi, dword [esp + 0x34]
test esi, esi
je 0x100397e6
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 0x100397f0
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov esi, dword [esp + 0x34]
mov edi, 0x10
cmp dword [esi + ebp + 0x18], edi
jb 0x10039801
mov esi, dword [esi + ebp + 4]
jmp 0x10039805
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 0x1003993f
push ebx
lea ecx, [esp + 0x24]
call fcn.1002e7c0
cmp dword [eax + 0x18], edi
jb 0x10039834
mov eax, dword [eax + 4]
jmp 0x10039837
add eax, 4
lea ecx, [esp + 0x60]
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 0x10039958
mov ebp, dword [esp + 0x64]
test ebp, ebp
jg 0x10039971
mov edi, dword [esp + 0x60]
jl 0x1003986c
cmp edi, 0xffffffff
ja 0x10039971
cmp dword [esp + 0x74], 0
jne 0x100398c1
push ebx
lea ecx, [esp + 0x34]
call fcn.1002e7c0
cmp dword [eax + 0x18], 0x10
jb 0x10039888
mov esi, dword [eax + 4]
jmp 0x1003988b
lea esi, [eax + 4]
push ebx
lea ecx, [esp + 0x24]
call fcn.1002e7c0
cmp dword [eax + 0x18], 0x10
jb 0x100398a0
mov eax, dword [eax + 4]
jmp 0x100398a3
add eax, 4
mov ecx, dword [esp + 0x5c]
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 0x10039b23
add dword [esp + 0x1c], 0x1c
add ebx, 1
cmp ebx, dword [esp + 0x4c]
jge 0x1003998a
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x34]
mov ebp, dword [esp + 0x1c]
jmp 0x100395e7
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__deEnvelopeFileWithCert__Fail_:_Input_file_name_and_output_file_name_is_the_same
push esi
jmp 0x10039b59
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__deEnvelopeFileWithCert__Fail_:_Input_File_open_fail
push esi
jmp 0x10039b59
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__deEnvelopeFileWithCert__Fail_:_Output_file_already_exist
push esi
jmp 0x10039b59
mov ecx, dword [esi + 0x58]
push 0x989714
call dword [sym.imp.XecureMacuxCSM.dll_public:_void___thiscall_XWClientSM::setError_int_]
push str._NativeFCMSWrapper__deEnvelopeFileWithCert__Fail_:_Output_directory_write_fail
push esi
jmp 0x10039b59
mov ecx, dword [esi + 0x58]
push 0x9896f2
call dword [sym.imp.XecureMacuxCSM.dll_public:_void___thiscall_XWClientSM::setError_int_]
push str._NativeFCMSWrapper__deEnvelopeFileWithCert__Fail_:_Failed_to_get_the_file_size
push esi
jmp 0x10039b59
mov ecx, dword [esi + 0x58]
push 0x989715
call dword [sym.imp.XecureMacuxCSM.dll_public:_void___thiscall_XWClientSM::setError_int_]
push str._NativeFCMSWrapper__deEnvelopeFileWithCert__Fail_:_The_file_size_is_greater_than_3.9GB_4_294_967_295_byte_
push esi
jmp 0x10039b59
mov ebx, dword [esp + 0x18]
push 0x3c
xor edi, edi
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
cmp eax, edi
je 0x100399b4
mov dword [eax + 0x18], edi
mov dword [eax + 0x1c], edi
mov dword [eax + 0x20], edi
mov dword [eax + 0x28], edi
mov dword [eax + 0x2c], edi
mov dword [eax + 0x30], edi
mov esi, eax
jmp 0x100399b6
xor esi, esi
push 0x3c
push edi
push esi
mov byte [esp + 0xec], 1
mov dword [esp + 0x84], esi
call sub.MSVCR80.dll_memset
mov edx, dword [esp + 0xf4]
mov edi, dword [esp + 0x60]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x104]
mov dword [esi], edx
mov edx, dword [esp + 0x108]
add esp, 0xc
cmp edi, 0x190
mov dword [esi + 4], eax
mov dword [esi + 8], ecx
mov dword [esi + 0xc], edx
je 0x10039a08
mov eax, dword [esp + 0x6c]
mov dword [esi + 0x10], eax
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esi + 0x14]
call fcn.10035d30
lea edx, [esp + 0x30]
push edx
lea ecx, [esi + 0x24]
call fcn.10035d30
cmp edi, 0x190
mov eax, dword [esp + 0x4c]
mov ebp, dword [esp + 0x10c]
mov dword [esi + 0x34], eax
mov dword [esi + 0x38], ebp
jne 0x10039abf
mov ecx, dword [ebx + 0x58]
push 1
push 0
push edi
call dword [sym.imp.XecureMacuxCSM.dll_public:_char____thiscall_XWClientSM::getMediaList_int__int__int_]
test eax, eax
je 0x10039a99
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10039a54
sub eax, edx
je 0x10039a99
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x48]
push ecx
mov ecx, dword [ebx + 0x58]
push edx
call dword [sym.imp.XecureMacuxCSM.dll_public:_int___thiscall_XWClientSM::loginPKCS11_int__char_const__]
test eax, eax
je 0x10039ace
mov ecx, dword [ebx + 0x58]
push 0x9896fa
call dword [sym.imp.XecureMacuxCSM.dll_public:_void___thiscall_XWClientSM::setError_int_]
push str._NativeFCMSWrapper__deEnvelopeFileWithCert__Fail_to_loginPKCS11
push ebx
call sym.NativeMng.dll_public:_void___cdecl_NativeFCMSWrapper::logDebug_char_const__
add esp, 8
jmp 0x10039b6b
mov ecx, dword [ebx + 0x58]
push 0x98bd9e
call dword [sym.imp.XecureMacuxCSM.dll_public:_void___thiscall_XWClientSM::setError_int_]
push 0x190
push str._NativeFCMSWrapper__deEnvelopeFileWithCert__Fail_to_getMediaList__d_
push ebx
call sym.NativeMng.dll_public:_void___cdecl_NativeFCMSWrapper::logDebug_char_const__
add esp, 0xc
jmp 0x10039b6b
cmp edi, 0x44c
jne 0x10039ace
mov ecx, ebx
call sym.NativeMng.dll_public:_int___thiscall_NativeFCMSWrapper::getCertFromFileMap_void_
cmp dword [esp + 0x74], 0
jne 0x10039b3d
mov edi, dword [esp + 0x50]
test edi, edi
je 0x10039af1
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10039ae2
sub eax, edx
mov eax, edi
jne 0x10039af6
mov eax, str.deEnvelope_File
push ebp
push esi
push sym.NativeMng.dll_protected:_static_unsigned_int___stdcall_NativeFCMSWrapper::DeEnvelopeFileWithCertThread_void__
lea ecx, [esp + 0xa4]
push ecx
mov ecx, dword [esp + 0x6c]
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 0x10039b61
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__deEnvelopeFileWithCert__Fail_to_XFClientUI
push esi
jmp 0x10039b59
push esi
call sym.NativeMng.dll_protected:_static_unsigned_int___stdcall_NativeFCMSWrapper::DeEnvelopeFileWithCertThread_void__
jmp 0x10039b61
mov ecx, dword [ebx + 0x58]
push 0x9896ef
call dword [sym.imp.XecureMacuxCSM.dll_public:_void___thiscall_XWClientSM::setError_int_]
push str._NativeFCMSWrapper__deEnvelopeFileWithCert__Fail_:_aInFilePath_is_null
push ebx
call sym.NativeMng.dll_public:_void___cdecl_NativeFCMSWrapper::logDebug_char_const__
add esp, 8
cmp dword [esp + 0x54], 0x190
jne 0x10039b7f
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x58]
push eax
call dword [sym.imp.XecureMacuxCSM.dll_public:_int___thiscall_XWClientSM::finalizePKCS11FromIndex_int_]
jmp 0x10039b9f
cmp dword [esp + 0x54], 0x44c
jne 0x10039b9f
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 0x58]
push 1
push 0
push 0x44c
call dword [sym.imp.XecureMacuxCSM.dll_public:_char____thiscall_XWClientSM::getMediaList_int__int__int_]
mov esi, dword [esp + 0x18]
add esi, 4
cmp dword [esi + 0x18], 0x10
jb 0x10039bb1
mov eax, dword [esi + 4]
jmp 0x10039bb4
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 0x10039bde
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [esp + 0x78]
test esi, esi
je 0x10039bf6
mov ecx, esi
call fcn.100349f0
push esi
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
mov edi, dword [esp + 0x24]
test edi, edi
je 0x10039c55
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 0x10039c55
cmp edi, ebx
mov ebp, ebx
jbe 0x10039c2f
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 0x10039c3d
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
push ebp
push esi
lea eax, [esp + 0x28]
push edi
push eax
lea ecx, [esp + 0x70]
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 0x10039cbe
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 0x10039cbe
cmp ecx, ebp
mov ebx, ebp
jbe 0x10039c8e
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 0x10039c9e
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
push ebx
push esi
lea eax, [esp + 0x38]
push edi
push eax
lea ecx, [esp + 0x70]
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 + 0x58]
xor ebx, ebx
cmp eax, ebx
je 0x10039cde
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 + 0xe0], 0
je 0x10039d12
cmp ecx, ebp
mov edi, ebp
mov esi, ecx
je 0x10039d05
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 0x10039cf2
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 + 0xe0], 0xffffffff
je 0x10039d53
mov ebp, dword [esp + 0x28]
cmp edi, ebp
mov esi, edi
je 0x10039d4a
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 0x10039d37
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 + 0xd8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xc0]
xor ecx, esp
call fcn.10041218
add esp, 0xd0
ret 0x28