Function at 0x405e10
Capabilities:
Delete file
Encrypt data using blowfish
Get file attributes
Set file attributes
Timestomp file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x420c61
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x3844
call fcn.0041d6a0
mov eax, dword [0x433028]
xor eax, ebp
mov dword [ebp - 0x18], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword [ebp + 8]
mov ebx, edx
push 0x48
xor esi, esi
mov dword [ebp - 4], esi
mov edi, dword [sym.imp.MSVCR90.dll_memmove]
lea edx, [ebp - 0x3854]
push 0x437418
push edx
mov dword [ebp - 0x26b0], ebx
mov dword [ebp - 0x26e4], eax
mov dword [ebp - 0x2760], ecx
mov dword [ebp - 0x273c], 3
mov dword [ebp - 0x280c], esi
call edi
add esp, 0xc
push 0x1000
lea eax, [ebp - 0x380c]
push 0x437460
push eax
call edi
add esp, 0xc
lea ecx, [ebp - 0x26f4]
call fcn.0041c980
lea ecx, [ebp - 0x26cc]
mov byte [ebp - 4], 1
call fcn.0041c980
lea ecx, [ebp - 0x26e0]
push ecx
mov byte [ebp - 4], 2
call fcn.004097c0
push 0x206
lea eax, [ebp - 0x22a]
xor edx, edx
push esi
mov byte [ebp - 4], 3
push eax
mov word [ebp - 0x22c], dx
call sub.MSVCR90.dll_memset
add esp, 0xc
push 0x206
lea edx, [ebp - 0x63a]
xor ecx, ecx
push esi
push edx
mov word [ebp - 0x63c], cx
call sub.MSVCR90.dll_memset
xor eax, eax
add esp, 0xc
push 0x60
mov dword [ebp - 0x26a3], eax
mov word [ebp - 0x269f], ax
mov byte [ebp - 0x269d], al
lea eax, [ebp - 0x269c]
push esi
push eax
mov byte [ebp - 0x26a4], 0
call sub.MSVCR90.dll_memset
add esp, 0xc
push 0x42803c
lea ecx, [ebp - 0x26ac]
mov dword [ebp - 0x2708], esi
mov dword [ebp - 0x2704], esi
mov dword [ebp - 0x26fc], esi
mov dword [ebp - 0x26f8], esi
mov dword [ebp - 0x2710], esi
mov dword [ebp - 0x270c], esi
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_class]
push 0x1fff
lea ecx, [ebp - 0x263b]
push esi
mov byte [ebp - 4], 4
push ecx
mov byte [ebp - 0x26a5], 1
mov byte [ebp - 0x263c], 0
call sub.MSVCR90.dll_memset
add esp, 0xc
mov esi, ebx
call fcn.00408f00
mov edi, dword [sym.imp.SolvusoftWMhelper.dll_public:_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t______thiscall_CSystweakApp::LoadStringW_wchar_t_const___wchar_t_const__]
push 0x42803c
push str.IDS_STR_ENCRYPT_FILES
lea edx, [ebp - 0x2764]
push edx
mov ecx, 0x43d668
call edi
mov byte [ebp - 4], 5
mov eax, dword [eax]
mov ecx, dword [0x43d3ec]
push eax
add ecx, 0x684
call sub.mfc90u.dll_CWnd::SetWindowTextW
lea ecx, [ebp - 0x2764]
mov byte [ebp - 4], 4
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
push 0x42803c
push str.IDS_STR_ENCRYPT
lea eax, [ebp - 0x2778]
push eax
mov ecx, 0x43d668
call edi
lea ecx, [ebp - 0x2734]
push ebx
push ecx
mov ecx, eax
mov byte [ebp - 4], 6
call fcn.004095b0
add esp, 8
mov byte [ebp - 4], 7
mov esi, dword [eax]
call fcn.00407b60
lea ecx, [ebp - 0x2734]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
lea ecx, [ebp - 0x2778]
mov byte [ebp - 4], 4
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
push 0x42803c
push str.IDS_STR_ENCRYPT
lea edx, [ebp - 0x276c]
push edx
mov ecx, 0x43d668
call edi
lea ecx, [ebp - 0x2754]
push ebx
push ecx
mov ecx, eax
mov byte [ebp - 4], 8
call fcn.004095b0
add esp, 8
push eax
mov ecx, 0x43d820
mov byte [ebp - 4], 9
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_3]
lea ecx, [ebp - 0x2754]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
lea ecx, [ebp - 0x276c]
mov byte [ebp - 4], 4
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov ecx, dword [ebx]
call fcn.00409410
test al, al
je 0x4061a9
lea ecx, [ebp - 0x26b8]
call dword [0x422924]
push 0x42803c
push str.IDS_STR_ALREADY_ENCRYPT
lea edx, [ebp - 0x2730]
push edx
mov ecx, 0x43d668
mov byte [ebp - 4], 0xa
call edi
push eax
lea eax, [ebp - 0x272c]
push eax
mov ecx, ebx
mov byte [ebp - 4], 0xb
call fcn.004095b0
add esp, 8
mov byte [ebp - 4], 0xc
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x26b8]
push ecx
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Format]
add esp, 8
lea ecx, [ebp - 0x272c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
lea ecx, [ebp - 0x2730]
mov byte [ebp - 4], 0xa
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov esi, dword [ebp - 0x26b8]
call fcn.00407b60
lea edx, [ebp - 0x26b8]
push edx
mov ecx, 0x43d820
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_3]
push 0
push 1
call fcn.00408a10
lea ecx, [ebp - 0x26b8]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
lea ecx, [ebp - 0x26ac]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
lea ecx, [ebp - 0x26d0]
mov dword [ebp - method.CFileException.virtual_0], vtable.CFileException.0
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
lea ecx, [ebp - 0x26cc]
mov byte [ebp - 4], 1
call sub.mfc90u.dll_CFile::CFile
lea ecx, [ebp - 0x26f4]
mov byte [ebp - 4], 0
call sub.mfc90u.dll_CFile::CFile
xor eax, eax
lea esp, [ebp - 0x3864]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.0041cef2
mov esp, ebp
pop ebp
ret 4
push ecx
mov ecx, esp
mov dword [ebp - 0x2714], esp
push ebx
call dword [0x4228d4]
call fcn.004028c0
add esp, 4
test al, al
je 0x40626b
lea ecx, [ebp - 0x26bc]
call dword [0x422924]
push 0x42803c
push str.IDS_STR_SYSFILE_SKIPPED
lea eax, [ebp - 0x2740]
push eax
mov ecx, 0x43d668
mov byte [ebp - 4], 0xd
call edi
push eax
lea ecx, [ebp - 0x2738]
push ecx
mov ecx, ebx
mov byte [ebp - 4], 0xe
call fcn.004095b0
add esp, 8
mov byte [ebp - 4], 0xf
mov eax, dword [eax]
push eax
lea edx, [ebp - 0x26bc]
push edx
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Format]
add esp, 8
lea ecx, [ebp - 0x2738]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
lea ecx, [ebp - 0x2740]
mov byte [ebp - 4], 0xd
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov esi, dword [ebp - 0x26bc]
call fcn.00407b60
lea eax, [ebp - 0x26bc]
push eax
mov ecx, 0x43d820
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_3]
push 0
push 1
call fcn.00408a10
lea ecx, [ebp - 0x26bc]
jmp 0x40613d
mov eax, dword [ebx]
lea ecx, [ebp - 0x26e0]
push ecx
push 0x10
push eax
lea ecx, [ebp - 0x26f4]
call sub.mfc90u.dll_CFile::Open
test eax, eax
jne 0x4062f7
push 0x42803c
push str.IDS_STR_CANT_READING
lea edx, [ebp - 0x2748]
push edx
mov ecx, 0x43d668
call edi
mov byte [ebp - 4], 0x10
mov eax, dword [eax]
push eax
lea edi, [ebp - 0x26e0]
call fcn.00407c90
lea ecx, [ebp - 0x2748]
mov byte [ebp - 4], 4
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
push 0x42803c
push str.IDS_STR_CANT_READING
lea eax, [ebp - 0x2750]
push eax
mov ecx, 0x43d668
call dword [sym.imp.SolvusoftWMhelper.dll_public:_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t______thiscall_CSystweakApp::LoadStringW_wchar_t_const___wchar_t_const__]
push eax
mov ecx, 0x43d820
mov byte [ebp - 4], 0x11
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_3]
lea ecx, [ebp - 0x2750]
jmp 0x40613d
lea ebx, [ebp - 0x26ac]
call fcn.00407eb0
test eax, eax
jne 0x406377
push 0x42803c
push str.IDS_STR_CANT_WRITE
lea ecx, [ebp - 0x2758]
push ecx
mov ecx, 0x43d668
call edi
mov byte [ebp - 4], 0x12
mov eax, dword [eax]
push eax
lea edi, [ebp - 0x26e0]
call fcn.00407c90
lea ecx, [ebp - 0x2758]
mov byte [ebp - 4], 4
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
push 0x42803c
push str.IDS_STR_CANT_WRITE
lea edx, [ebp - 0x2774]
push edx
mov ecx, 0x43d668
call dword [sym.imp.SolvusoftWMhelper.dll_public:_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t______thiscall_CSystweakApp::LoadStringW_wchar_t_const___wchar_t_const__]
push eax
mov ecx, 0x43d820
mov byte [ebp - 4], 0x13
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_3]
lea ecx, [ebp - 0x2774]
jmp 0x40613d
mov ecx, dword [ebp - 0x26ac]
lea edx, [ebp - 0x22c]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x406383
mov eax, dword [ebp - 0x26b0]
mov eax, dword [eax]
call fcn.00405d90
call fcn.0041d626
mov esi, eax
mov ebx, edx
mov ecx, esi
or ecx, ebx
mov dword [ebp - 0x2724], esi
mov dword [ebp - 0x2720], ebx
jne 0x40647d
lea ecx, [ebp - 0x26f4]
call sub.mfc90u.dll_CFile::Close
lea ecx, [ebp - 0x26b4]
call dword [0x422924]
push 0x42803c
push str.IDS_STR_FILESKIP2
lea edx, [ebp - 0x2770]
mov bl, 0x14
push edx
mov ecx, 0x43d668
mov byte [ebp - 4], bl
call edi
mov esi, eax
push 0x42803c
push str.IDS_STR_FILESKIP1
lea eax, [ebp - 0x277c]
push eax
mov ecx, 0x43d668
mov byte [ebp - 4], 0x15
call edi
mov edx, dword [ebp - 0x26b0]
mov byte [ebp - 4], 0x16
mov ecx, dword [esi]
push ecx
mov ecx, dword [edx]
mov edx, dword [eax]
push ecx
push edx
lea eax, [ebp - 0x26b4]
push str._s_s_s
push eax
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Format]
add esp, 0x14
lea ecx, [ebp - 0x277c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
lea ecx, [ebp - 0x2770]
mov byte [ebp - 4], bl
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov esi, dword [ebp - 0x26b4]
call fcn.00407b60
lea ecx, [ebp - 0x26b4]
push ecx
mov ecx, 0x43d820
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_3]
lea ecx, [ebp - 0x26b4]
jmp 0x40613d
lea edx, [ebp - 0x2710]
push edx
mov edx, dword [ebp - 0x26f0]
lea eax, [ebp - 0x26fc]
push eax
lea ecx, [ebp - 0x2708]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_GetFileTime]
push ebx
push esi
call fcn.00408a10
call fcn.00405cb0
lea eax, [ebp - 0x2728]
push eax
mov dword [ebp - 0x2728], esi
call fcn.00408e40
call fcn.00405cb0
cmp byte [0x43d3f6], 0
je 0x406501
mov ecx, dword [ebp - 0x26b0]
mov eax, dword [ecx]
push eax
lea edx, [ebp - 0x2724]
lea ecx, [ebp - 0x26ac]
call fcn.00408130
mov edx, dword [ebp - 0x26ac]
push 0x208
push edx
lea eax, [ebp - 0x22c]
push eax
call dword [sym.imp.MSVCR90.dll_wcsncpy]
add esp, 0xc
push 0x80
lea ecx, [ebp - 0x22c]
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea edx, [ebp - 0x26e0]
push edx
push 0x1011
lea eax, [ebp - 0x22c]
push eax
lea ecx, [ebp - 0x26cc]
call sub.mfc90u.dll_CFile::Open
test eax, eax
jne 0x4065a6
push 0x42803c
push str.IDS_STR_CANT_OPEN
lea ecx, [ebp - 0x275c]
push ecx
mov ecx, 0x43d668
call edi
mov byte [ebp - 4], 0x17
mov eax, dword [eax]
push eax
lea edi, [ebp - 0x26e0]
call fcn.00407c90
lea ecx, [ebp - 0x275c]
mov byte [ebp - 4], 4
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
push 0x42803c
push str.IDS_STR_CANT_OPEN
lea edx, [ebp - 0x26e4]
push edx
mov ecx, 0x43d668
call dword [sym.imp.SolvusoftWMhelper.dll_public:_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t______thiscall_CSystweakApp::LoadStringW_wchar_t_const___wchar_t_const__]
push eax
mov ecx, 0x43d820
mov byte [ebp - 4], 0x18
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_3]
lea ecx, [ebp - 0x26e4]
jmp 0x40613d
mov eax, dword [ebp - 0x26b0]
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
push 0x208
lea ecx, [ebp - 0x434]
push 0
push ecx
mov dword [ebp - 0x2714], eax
call sub.MSVCR90.dll_memset
mov esi, dword [ebp - 0x26e4]
mov eax, dword [esi]
mov ecx, dword [eax - 0xc]
add esp, 0xc
push ecx
push eax
lea edx, [ebp - 0x434]
push edx
call dword [sym.imp.MSVCR90.dll_wcsncpy]
add esp, 0xc
lea eax, [ebp - 0x2800]
push 3
lea ecx, [ebp - 0x434]
mov dword [ebp - 0x2804], eax
push ecx
lea eax, [ebp - 0x2804]
call fcn.00403550
mov ecx, dword [ebp - 0x2804]
lea edx, [ebp - 0x3854]
call fcn.00409d70
mov eax, dword [ebp - 0x2804]
lea edx, [ebp - 0x2800]
cmp eax, edx
je 0x406639
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
push 0x68
lea eax, [ebp - 0x26a4]
push 0
push eax
call sub.MSVCR90.dll_memset
mov ecx, dword [esi]
add esp, 0xc
lea edx, [ebp - 0x274c]
push edx
lea eax, [ebp - 0x2680]
push eax
call fcn.00408870
mov byte [0x43d3f5], 1
jmp 0x406670
mov cl, byte [0x43d3f5]
test cl, cl
je 0x406966
mov dl, byte [0x43d654]
test dl, dl
je 0x406966
call fcn.00405cb0
push 0x2000
lea eax, [ebp - 0x263c]
push eax
lea ecx, [ebp - 0x26f4]
call sub.mfc90u.dll_CFile::Read
mov esi, eax
mov dword [ebp - 0x2718], esi
test esi, esi
jle 0x406966
push 0
push esi
call fcn.00408b50
cmp byte [ebp - 0x26a5], 0
je 0x406856
push 0x13
lea ecx, [ebp - 0x2694]
push str.SYSTWEAK_ENCRYPT
push ecx
call dword [sym.imp.MSVCR90.dll_strncpy]
mov edx, dword [ebp - 0x2760]
mov ebx, dword [edx]
add esp, 0xc
test ebx, ebx
je 0x406741
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jg 0x406741
lea edi, [eax + eax]
mov eax, edi
call fcn.0041d6d0
mov esi, esp
mov dword [ebp - 0x10], esp
test esi, esi
je 0x40673b
mov eax, dword [ebp - 0x273c]
push 0
push 0
push edi
push esi
push 0xffffffffffffffff
push ebx
push 0
push eax
mov byte [esi], 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov edi, dword [sym.imp.SolvusoftWMhelper.dll_public:_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t______thiscall_CSystweakApp::LoadStringW_wchar_t_const___wchar_t_const__]
neg eax
sbb eax, eax
and eax, esi
jmp 0x406743
mov edi, dword [sym.imp.SolvusoftWMhelper.dll_public:_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t______thiscall_CSystweakApp::LoadStringW_wchar_t_const___wchar_t_const__]
xor eax, eax
push 0x18
push eax
lea ecx, [ebp - 0x266c]
push ecx
call dword [sym.imp.MSVCR90.dll_strncpy]
mov ecx, dword [ebp - 0x2704]
mov eax, dword [ebp - 0x2708]
add esp, 0xc
mov dword [ebp - 0x2650], ecx
mov ecx, dword [ebp - 0x2710]
push 0
mov edx, 2
mov dword [ebp - 0x2654], eax
mov eax, dword [ebp - 0x26f8]
mov word [ebp - 0x269a], dx
mov edx, dword [ebp - 0x26fc]
mov dword [ebp - 0x2644], ecx
mov ecx, dword [ebp - 0x2720]
push 8
mov dword [ebp - 0x2648], eax
mov eax, dword [ebp - 0x2724]
mov dword [ebp - 0x264c], edx
mov edx, dword [ebp - 0x270c]
push ecx
push eax
mov dword [ebp - 0x2640], edx
mov dword [ebp - 0x2698], eax
call fcn.0041d700
push 0x68
lea edx, [ebp - 0x26a4]
push edx
lea ecx, [ebp - 0x26cc]
mov word [ebp - 0x269c], ax
call sub.mfc90u.dll_CFile::Write
push 0x42803c
push str.IDS_STR_SUCCESS_WRITE
lea eax, [ebp - 0x2768]
push eax
mov ecx, 0x43d668
mov byte [ebp - 0x26a5], 0
call edi
mov byte [ebp - 4], 0x19
mov esi, dword [eax]
call fcn.00407b60
lea ecx, [ebp - 0x2768]
mov byte [ebp - 4], 4
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
push 0x42803c
push str.IDS_STR_SUCCESS_WRITE
lea ecx, [ebp - 0x2744]
push ecx
mov ecx, 0x43d668
call edi
push eax
mov ecx, 0x43d820
mov byte [ebp - 4], 0x1a
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_3]
lea ecx, [ebp - 0x2744]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov esi, dword [ebp - 0x2718]
push 1
lea edx, [ebp - 0x3854]
push edx
mov eax, esi
lea ecx, [ebp - 0x263c]
call fcn.00409b40
push esi
lea eax, [ebp - 0x263c]
push eax
lea ecx, [ebp - 0x26cc]
mov byte [ebp - 4], 0x1b
call sub.mfc90u.dll_CFile::Write
mov ebx, dword [ebp - 0x2718]
and ebx, 0x80000007
jns 0x406896
dec ebx
or ebx, 0xfffffff8
inc ebx
je 0x406924
xor eax, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov eax, ebx
neg eax
cdq
push 2
mov edi, edx
mov esi, eax
push edi
push esi
lea ecx, [ebp - 0x26f4]
call sub.mfc90u.dll_CFile::Seek
and eax, edx
cmp eax, 0xffffffff
je 0x406924
push ebx
lea ecx, [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x26f4]
call sub.mfc90u.dll_CFile::Read
push 1
lea edx, [ebp - 0x3854]
push edx
mov eax, 8
lea ecx, [ebp - 0x20]
call fcn.00409b40
lea ecx, [ebp - 0x26cc]
call fcn.004036c0
push 8
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x26cc]
call sub.mfc90u.dll_CFile::Write
push 2
push edi
push esi
lea ecx, [ebp - 0x26cc]
call sub.mfc90u.dll_CFile::Seek
push ebx
lea ecx, [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x26cc]
call sub.mfc90u.dll_CFile::Write
mov dword [ebp - 4], 4
call fcn.00405cb0
mov edi, dword [sym.imp.SolvusoftWMhelper.dll_public:_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t______thiscall_CSystweakApp::LoadStringW_wchar_t_const___wchar_t_const__]
jmp 0x406670
mov dl, byte [0x43d3f5]
test dl, dl
je 0x4069af
mov al, byte [0x43d654]
test al, al
je 0x4069af
lea ecx, [ebp - 0x2710]
push ecx
mov ecx, dword [ebp - 0x26c8]
lea edx, [ebp - 0x26fc]
push edx
lea eax, [ebp - 0x2708]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileTime]
mov edx, dword [ebp - 0x2714]
push edx
lea eax, [ebp - 0x22c]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea ecx, [ebp - 0x26cc]
call sub.mfc90u.dll_CFile::Close
lea ecx, [ebp - 0x26f4]
call sub.mfc90u.dll_CFile::Close
mov cl, byte [0x43d3f5]
test cl, cl
je 0x406a4d
mov dl, byte [0x43d654]
test dl, dl
je 0x406a4d
lea eax, [ebp - 0x22c]
push eax
lea ecx, [ebp - 0x2700]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_class]
mov edi, dword [ebp - 0x26b0]
lea ecx, [ebp - 0x2700]
push edi
push ecx
mov byte [ebp - 4], 0x1d
call dword [sym.imp.SolvusoftWMhelper.dll_enum_PCO_ERROR_CODES___cdecl_ShMoveFile_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const___class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const__]
add esp, 8
lea ecx, [ebp - 0x2700]
mov esi, eax
mov byte [ebp - 4], 4
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
test esi, esi
je 0x406a42
lea edx, [ebp - 0x22c]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push ecx
mov ecx, esp
mov dword [ebp - 0x274c], esp
push edi
call dword [0x4228d4]
call fcn.00405430
add esp, 4
call fcn.00405cb0
inc dword [0x43d634]
mov al, byte [0x43d654]
xor ecx, ecx
cmp al, 1
sete cl
mov esi, ecx
lea ecx, [ebp - 0x26ac]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
lea ecx, [ebp - 0x26d0]
mov dword [ebp - method.CFileException.virtual_0], vtable.CFileException.0
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
lea ecx, [ebp - 0x26cc]
mov byte [ebp - 4], 1
call sub.mfc90u.dll_CFile::CFile
lea ecx, [ebp - 0x26f4]
mov byte [ebp - 4], 0
call sub.mfc90u.dll_CFile::CFile
mov eax, esi
jmp 0x406185