Function at 0x1002f4e0
Capabilities:
Print debug messages

Disassembly:
push 0xffffffffffffffff
push 0x10043ae9
mov eax, dword fs:[0]
push eax
sub esp, 0x30
mov eax, dword [0x1005e3c8]
xor eax, esp
mov dword [esp + 0x2c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1005e3c8]
xor eax, esp
push eax
lea eax, [esp + 0x44]
mov dword fs:[0], eax
mov esi, dword [esp + 0x54]
push str.SignFileThread_Start_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
xor ebx, ebx
push ebx
push ebx
call dword [sym.imp.XecureMacuxCSM.dll_public:_static_class_XWClientSM____cdecl_XWClientSM::getInstance_char_const___unsigned_long_int_]
add esp, 8
mov dword [esp + 0x1c], eax
call dword [sym.imp.xwmfUI.dll_public:_static_class_XFClientUI____cdecl_XFClientUI::getInstance_void_]
lea ecx, [esp + 0x24]
mov dword [esp + 0x14], eax
xor ebp, ebp
mov dword [esp + 0x20], ebx
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 eax, dword [sym.NativeMng.dll_class_NativeFCMSWrapper__NativeFCMSWrapper::mNativeFCMSWrapper]
mov dword [eax], 0xffffffff
cmp ebx, dword [esi + 0x40]
mov dword [esp + 0x4c], ebx
jae 0x1002f9b4
mov dword [esp + 0x18], ebp
jmp 0x1002f570
test dword [esi + 0x44], 0x80000
jne 0x1002f584
mov ecx, dword [esp + 0x14]
push ebx
call dword [sym.imp.xwmfUI.dll_public:_void___thiscall_XFClientUI::setProgressIndex_int_]
test byte [esi + 0x44], 0x40
jne 0x1002f5ee
mov eax, dword [esi + 0x34]
test eax, eax
je 0x1002f5ad
mov ecx, dword [esi + 0x38]
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 0x1002f5b3
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov ecx, dword [esi + 0x34]
add ecx, dword [esp + 0x18]
push ecx
lea ecx, [esp + 0x28]
call dword [0x1004613c]
test dword [esi + 0x44], 0x20000
jne 0x1002f5ee
mov ecx, dword [sym.NativeMng.dll_class_NativeFCMSWrapper__NativeFCMSWrapper::mNativeFCMSWrapper]
push str..tmp
push str._xwmftmp
call sym.NativeMng.dll_public:_char____thiscall_NativeFCMSWrapper::getTempFileName_char___char__
push eax
lea ecx, [esp + 0x28]
call dword [0x1004612c]
mov eax, dword [esi + 0x44]
xor edi, edi
cmp dword [esi + 0x18], edi
jbe 0x1002f6c5
test al, 1
je 0x1002f605
mov edi, 1
test al, 2
je 0x1002f60c
or edi, 2
test al, al
jns 0x1002f616
or edi, 0x800
test al, 0x40
je 0x1002f620
or edi, 0x1000
test eax, 0x100
je 0x1002f62d
or edi, 0x10000
test eax, 0x200
je 0x1002f63a
or edi, 0x2000000
cmp dword [esp + 0x3c], 0x10
mov ebp, dword [esp + 0x28]
jae 0x1002f649
lea ebp, [esp + 0x28]
mov eax, dword [esi + 0x24]
test eax, eax
je 0x1002f66c
mov ecx, dword [esi + 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 ebx, eax
jb 0x1002f672
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [esi + 0x24]
add eax, dword [esp + 0x18]
cmp dword [eax + 0x18], 0x10
jb 0x1002f684
mov eax, dword [eax + 4]
jmp 0x1002f687
add eax, 4
mov edx, dword [esi + 0x44]
mov ecx, dword [esi + 0x18]
and edx, 0x80000
neg edx
sbb edx, edx
not edx
and edx, sym.NativeMng.dll_protected:_static_int___cdecl_NativeFCMSWrapper::ProgressCallback_void___char_const___long_long___int64___long_long___int64___int_
push edx
mov edx, dword [esi + 0x14]
push edi
push ebp
push eax
mov eax, dword [esi + 0x1c]
push eax
mov eax, dword [esi + 4]
push ecx
mov ecx, dword [esi]
push edx
mov edx, dword [esp + 0x38]
push eax
push ecx
mov ecx, dword [edx + 4]
call dword [sym.imp.XecureMacuxCSM.dll_public:_char____thiscall_XWSignatureService::signFileWithPFX_unsigned_long_int__char_const___unsigned_char___unsigned_int__char_const___char_const___char_const___int__int____cdecl___void___char_const___long_long___int64___long_long___int64___int__]
jmp 0x1002f790
test al, 1
je 0x1002f6ce
mov edi, 1
test al, 2
je 0x1002f6d5
or edi, 2
test al, al
jns 0x1002f6df
or edi, 0x800
test al, 0x40
je 0x1002f6e9
or edi, 0x1000
test eax, 0x100
je 0x1002f6f6
or edi, 0x10000
test eax, 0x200
je 0x1002f703
or edi, 0x2000000
cmp dword [esp + 0x3c], 0x10
mov ebp, dword [esp + 0x28]
jae 0x1002f712
lea ebp, [esp + 0x28]
mov eax, dword [esi + 0x24]
test eax, eax
je 0x1002f735
mov ecx, dword [esi + 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 ebx, eax
jb 0x1002f73b
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [esi + 0x24]
add eax, dword [esp + 0x18]
cmp dword [eax + 0x18], 0x10
jb 0x1002f74d
mov eax, dword [eax + 4]
jmp 0x1002f750
add eax, 4
mov ecx, dword [esi + 0x44]
mov edx, dword [esi + 0x1c]
and ecx, 0x80000
neg ecx
sbb ecx, ecx
not ecx
and ecx, sym.NativeMng.dll_protected:_static_int___cdecl_NativeFCMSWrapper::ProgressCallback_void___char_const___long_long___int64___long_long___int64___int_
push ecx
mov ecx, dword [esi + 0xc]
push edi
push ebp
push eax
mov eax, dword [esi + 0x10]
push 0
push 0
push 0
push edx
mov edx, dword [esi + 8]
push eax
mov eax, dword [esi + 4]
push ecx
mov ecx, dword [esi]
push edx
push eax
push ecx
mov ecx, dword [esp + 0x50]
call dword [sym.imp.XecureMacuxCSM.dll_public:_char____thiscall_XWClientSM::signFile_unsigned_long_int__char_const___char_const___char_const___char_const___char_const___char_const___char_const___char_const___char_const___char_const___int__int____cdecl___void___char_const___long_long___int64___long_long___int64___int__]
mov edi, eax
test edi, edi
je 0x1002f8a2
cmp byte [edi], 0
je 0x1002f8a2
push 6
push str.CANCEL
push edi
call dword [sym.imp.MSVCR80.dll_strncmp]
add esp, 0xc
test eax, eax
je 0x1002f940
test ebx, ebx
jle 0x1002f7d4
mov ecx, dword [sym.NativeMng.dll_class_NativeFCMSWrapper__NativeFCMSWrapper::mNativeFCMSWrapper]
push 0x100466ec
add ecx, 4
call dword [0x1004612c]
test byte [esi + 0x44], 0x40
jne 0x1002f7f5
push ebx
lea ecx, [esi + 0x30]
call fcn.1002e7c0
mov ecx, dword [sym.NativeMng.dll_class_NativeFCMSWrapper__NativeFCMSWrapper::mNativeFCMSWrapper]
push eax
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_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
jmp 0x1002f805
mov ecx, dword [sym.NativeMng.dll_class_NativeFCMSWrapper__NativeFCMSWrapper::mNativeFCMSWrapper]
push edi
add ecx, 4
call dword [0x1004612c]
test dword [esi + 0x44], 0x80000
jne 0x1002f81a
mov ecx, dword [esp + 0x14]
push 2
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__]
mov eax, dword [esi + 0x44]
add esp, 4
xor ebp, ebp
test eax, 0x20000
jne 0x1002f92d
test al, 0x40
jne 0x1002f92d
lea edi, [esi + 0x30]
push ebx
mov ecx, edi
call fcn.1002e7c0
cmp dword [eax + 0x18], 0x10
jb 0x1002f852
mov eax, dword [eax + 4]
jmp 0x1002f855
add eax, 4
mov ecx, dword [sym.NativeMng.dll_class_NativeFCMSWrapper__NativeFCMSWrapper::mNativeFCMSWrapper]
push eax
push 0xfde9
call sym.NativeMng.dll_public:_int___thiscall_NativeFCMSWrapper::XMF_File_Delete_unsigned_int__char_const__
push ebx
mov ecx, edi
call fcn.1002e7c0
cmp dword [eax + 0x18], 0x10
jb 0x1002f879
mov eax, dword [eax + 4]
jmp 0x1002f87c
add eax, 4
cmp dword [esp + 0x3c], 0x10
mov ecx, dword [esp + 0x28]
jae 0x1002f88b
lea ecx, [esp + 0x28]
push eax
push ecx
mov ecx, dword [sym.NativeMng.dll_class_NativeFCMSWrapper__NativeFCMSWrapper::mNativeFCMSWrapper]
push 0xfde9
call sym.NativeMng.dll_public:_int___thiscall_NativeFCMSWrapper::XMF_File_Rename_unsigned_int__char_const___char_const__
jmp 0x1002f92d
cmp dword [esp + 0x3c], 0x10
mov eax, dword [esp + 0x28]
mov ebp, 2
mov dword [esp + 0x20], 1
jae 0x1002f8be
lea eax, [esp + 0x28]
mov ecx, dword [sym.NativeMng.dll_class_NativeFCMSWrapper__NativeFCMSWrapper::mNativeFCMSWrapper]
push eax
push 0xfde9
call sym.NativeMng.dll_public:_int___thiscall_NativeFCMSWrapper::XMF_File_Delete_unsigned_int__char_const__
test edi, edi
je 0x1002f8dd
push edi
call dword [sym.imp.XecureMacuxCSM.dll_public:_static_void___cdecl_XWClientSM::free_void__]
add esp, 4
test ebx, ebx
jle 0x1002f8f5
mov ecx, dword [sym.NativeMng.dll_class_NativeFCMSWrapper__NativeFCMSWrapper::mNativeFCMSWrapper]
push 0x100466ec
add ecx, 4
call dword [0x1004612c]
mov eax, dword [esi + 0x44]
test eax, 0x80000
jne 0x1002f926
test eax, 0x800000
mov ecx, dword [esp + 0x14]
push 3
je 0x1002f917
call dword [sym.imp.xwmfUI.dll_public:_int___thiscall_XFClientUI::setProgressStatus_unsigned_long_int_]
cmp eax, 0xffffffff
jmp 0x1002f92b
test eax, 0x400000
je 0x1002f989
call dword [sym.imp.xwmfUI.dll_public:_int___thiscall_XFClientUI::setProgressStatus_unsigned_long_int_]
jmp 0x1002f92d
test eax, 0x400000
je 0x1002f98f
add dword [esp + 0x18], 0x1c
add ebx, 1
cmp ebx, dword [esi + 0x40]
jb 0x1002f570
jmp 0x1002f98f
push edi
call dword [sym.imp.XecureMacuxCSM.dll_public:_static_void___cdecl_XWClientSM::free_void__]
add esp, 4
test ebx, ebx
mov ebp, 1
jle 0x1002f967
mov ecx, dword [sym.NativeMng.dll_class_NativeFCMSWrapper__NativeFCMSWrapper::mNativeFCMSWrapper]
push 0x100466ec
add ecx, 4
call dword [0x1004612c]
cmp dword [esp + 0x3c], 0x10
mov eax, dword [esp + 0x28]
jae 0x1002f976
lea eax, [esp + 0x28]
mov ecx, dword [sym.NativeMng.dll_class_NativeFCMSWrapper__NativeFCMSWrapper::mNativeFCMSWrapper]
push eax
push 0xfde9
call sym.NativeMng.dll_public:_int___thiscall_NativeFCMSWrapper::XMF_File_Delete_unsigned_int__char_const__
jmp 0x1002f98f
call dword [sym.imp.xwmfUI.dll_public:_int___thiscall_XFClientUI::setProgressStatus_unsigned_long_int_]
cmp ebx, dword [esi + 0x40]
jae 0x1002f9b4
test ebx, ebx
jle 0x1002f9ac
mov ecx, dword [sym.NativeMng.dll_class_NativeFCMSWrapper__NativeFCMSWrapper::mNativeFCMSWrapper]
push 0x100466ec
add ecx, 4
call dword [0x1004612c]
add ebx, 1
cmp ebx, dword [esi + 0x40]
jb 0x1002f994
mov edx, dword [sym.NativeMng.dll_class_NativeFCMSWrapper__NativeFCMSWrapper::mNativeFCMSWrapper]
mov dword [edx], ebp
mov esi, dword [esi + 0x44]
test esi, 0x200000
jne 0x1002f9d6
cmp dword [esp + 0x20], 0
jne 0x1002f9e8
test esi, 0x100000
je 0x1002f9e8
test esi, 0x80000
jne 0x1002f9e8
mov ecx, dword [esp + 0x14]
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.SignFileThread_End_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea ecx, [esp + 0x24]
mov dword [esp + 0x4c], 0xffffffff
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
xor eax, eax
mov ecx, dword [esp + 0x44]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x2c]
xor ecx, esp
call fcn.10041218
add esp, 0x3c
ret 4