Function at 0x42b530
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x468abf
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x470
mov eax, dword [0x48644c]
mov dword [esp + 0x468], eax
xor eax, eax
push ebx
push esi
mov dword [esp + 0x24], eax
mov esi, ecx
mov dword [esp + 0x28], eax
push edi
lea ecx, [esp + 0x28]
mov dword [esp + 0x30], eax
push ecx
mov dword [esp + 0x38], eax
push 2
mov ecx, esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], 2
mov dword [esp + 0x1c], 0xa
mov dword [esp + 0x40], eax
call fcn.0042a550
test eax, eax
je 0x42b5a6
mov edx, dword [esp + 0x38]
mov dword [esp + 0x14], edx
call fcn.00421b30
mov ebx, eax
lea eax, [ebp + 8]
push eax
lea ecx, [esp + 0x44]
lea edi, [esi + 0x14]
push ecx
mov ecx, edi
mov dword [esp + 0x2c], edx
call fcn.00428450
mov eax, dword [esi + 0x18]
mov esi, dword [esp + 0x40]
cmp esi, eax
je 0x42b606
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x18]
imul eax, eax, 0x3e8
mov edi, ebx
sub edi, ecx
mov ecx, dword [esp + 0x24]
sbb ecx, dword [esi + 0x1c]
cdq
cmp ecx, edx
jg 0x42b5fa
jl 0x42ba86
cmp edi, eax
jbe 0x42ba86
mov edx, dword [esp + 0x24]
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], edx
jmp 0x42b62a
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x28]
mov dword [esp + 0x28], eax
push edx
lea eax, [esp + 0x24]
mov dword [esp + 0x38], ecx
push eax
mov ecx, edi
mov dword [esp + 0x38], ebx
call fcn.0042a9d0
push 0x46e89c
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71U.DLL_ATL::CStringT::CStringT]
mov byte [esp + 0x70], 0
xor eax, eax
mov ecx, 0xff
lea edi, [esp + 0x71]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [esp + 0x54]
mov dword [esp + 0x484], 0
stosb byte es:[edi], al
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
mov eax, dword [ebp + 8]
sub eax, 0
mov byte [esp + 0x484], 1
lea ecx, [esp + 0x54]
je 0x42b757
dec eax
jne 0x42ba6e
push str._div_class_f_cn__id_f_cn__
call dword [0x46d8fc]
push str._div_class_f_top____div_
lea ecx, [esp + 0x58]
call dword [0x46d8fc]
push str._h3_class_f_titles__
lea ecx, [esp + 0x58]
call dword [0x46d8fc]
lea ecx, [esp + 0x10]
push 0x4720a4
push ecx
call dword [sym.imp.MFC71U.DLL_ATL::CStringT::Format]
add esp, 8
xor eax, eax
push eax
push eax
push 0x400
lea edx, [esp + 0x7c]
mov ecx, 0x100
lea edi, [esp + 0x7c]
push edx
rep stosd dword es:[edi], eax
push 0xffffffffffffffff
lea ecx, [esp + 0x24]
call dword [sym.imp.MFC71U.DLL_ATL::CSimpleStringT::operator_class_ATL::CSimpleStringT_]
mov esi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push eax
push 0
push 0xfde9
call esi
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x58]
call dword [0x46d8fc]
push str.__h3_
lea ecx, [esp + 0x58]
call dword [0x46d8fc]
push str._a_href_guaguacjclose:8___class_f_close__id_close____a_
lea ecx, [esp + 0x58]
call dword [0x46d8fc]
push str._div_class_f_center__
lea ecx, [esp + 0x58]
call dword [0x46d8fc]
push str._div_class_f_title____div_
lea ecx, [esp + 0x58]
call dword [0x46d8fc]
push str._p_class_wzxx__
lea ecx, [esp + 0x58]
call dword [0x46d8fc]
push 0x471fb8
jmp 0x42b827
push str._div_class_f_cn__id_f_cn__
call dword [0x46d8fc]
push str._div_class_f_top____div_
lea ecx, [esp + 0x58]
call dword [0x46d8fc]
push str._h3_class_f_titles__
lea ecx, [esp + 0x58]
call dword [0x46d8fc]
lea ecx, [esp + 0x10]
push 0x4720a4
push ecx
call dword [sym.imp.MFC71U.DLL_ATL::CStringT::Format]
add esp, 8
xor eax, eax
push eax
push eax
push 0x400
lea edx, [esp + 0x7c]
mov ecx, 0x100
lea edi, [esp + 0x7c]
push edx
rep stosd dword es:[edi], eax
push 0xffffffffffffffff
lea ecx, [esp + 0x24]
call dword [sym.imp.MFC71U.DLL_ATL::CSimpleStringT::operator_class_ATL::CSimpleStringT_]
mov esi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push eax
push 0
push 0xfde9
call esi
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x58]
call dword [0x46d8fc]
push str.__h3_
lea ecx, [esp + 0x58]
call dword [0x46d8fc]
push str._a_href_guaguacjclose:8___class_f_close__id_close____a_
lea ecx, [esp + 0x58]
call dword [0x46d8fc]
push str._div_class_f_center__
lea ecx, [esp + 0x58]
call dword [0x46d8fc]
push str._div_class_f_title____div_
lea ecx, [esp + 0x58]
call dword [0x46d8fc]
push str._p_class_wzxx__
lea ecx, [esp + 0x58]
call dword [0x46d8fc]
push 0x471f50
lea ecx, [esp + 0x14]
push ecx
call dword [sym.imp.MFC71U.DLL_ATL::CStringT::Format]
add esp, 8
xor eax, eax
push eax
push eax
lea edi, [esp + 0x78]
mov edx, edi
push 0x400
mov ecx, 0x100
push edx
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x20]
push 0xffffffffffffffff
call dword [sym.imp.MFC71U.DLL_ATL::CSimpleStringT::operator_class_ATL::CSimpleStringT_]
push eax
push 0
push 0xfde9
call esi
lea eax, [esp + 0x70]
lea ecx, [esp + 0x54]
push eax
call dword [0x46d8fc]
lea ecx, [esp + 0x54]
push str.__p_
call dword [0x46d8fc]
lea ecx, [esp + 0x54]
push str.__div_
call dword [0x46d8fc]
lea ecx, [esp + 0x54]
push str._div_class_f_bottom____div_
call dword [0x46d8fc]
lea ecx, [esp + 0x54]
push str.__div_
call dword [0x46d8fc]
mov esi, dword [esp + 0x18]
mov eax, dword [esi + 0x10]
xor edi, edi
cmp eax, 0x2328
jl 0x42b8c4
mov dword [esi + 0x10], 0x1f40
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
lea ecx, [esi + 0x8fc]
call fcn.00428bf0
mov eax, dword [esi + 0x900]
mov ebx, dword [esp + 0x18]
cmp ebx, eax
je 0x42ba6a
lea ecx, [esp + 0x54]
call dword [sym.imp.MSVCP71.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42b8f8
sub eax, edx
mov dword [esp + 0x1c], eax
je 0x42ba6a
push 0x46e89c
lea ecx, [esp + 0x18]
call dword [sym.imp.MFC71U.DLL_ATL::CStringT::CStringT]
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x9c]
mov edx, dword [esi + 0x98]
push eax
push ecx
push edx
lea eax, [esi + 0xa0]
push eax
lea ecx, [esp + 0x24]
push str._smsgs_I64d_dindex.html
push ecx
mov byte [esp + 0x49c], 2
call dword [sym.imp.MFC71U.DLL_ATL::CStringT::Format]
add esp, 0x18
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71U.DLL_ATL::CSimpleStringT::operator_class_ATL::CSimpleStringT_]
push eax
mov ecx, esi
call fcn.004261c0
push 0
lea ecx, [esp + 0x18]
call dword [sym.imp.MFC71U.DLL_ATL::CSimpleStringT::operator_class_ATL::CSimpleStringT_]
push eax
call dword [sym.imp.MSVCR71.dll__waccess]
add esp, 8
test eax, eax
jne 0x42b98b
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71U.DLL_ATL::CSimpleStringT::operator_class_ATL::CSimpleStringT_]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [esp + 0x44]
call sub.MFC71U.DLL_CFile::CFile
push 0
push 0x1001
lea ecx, [esp + 0x1c]
mov byte [esp + 0x48c], 3
call dword [sym.imp.MFC71U.DLL_ATL::CSimpleStringT::operator_class_ATL::CSimpleStringT_]
push eax
lea ecx, [esp + 0x50]
call sub.MFC71U.DLL_CDataPathProperty::Open
test eax, eax
je 0x42ba33
lea edx, [ebx + 0x14]
mov eax, edx
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42b9c7
sub eax, edi
push eax
push edx
lea ecx, [esp + 0x4c]
call sub.MFC71U.DLL_CArchiveStream::Write
lea ecx, [esp + 0x54]
call dword [sym.imp.MSVCP71.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42b9e8
sub eax, edx
push eax
lea ecx, [esp + 0x58]
call dword [sym.imp.MSVCP71.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
push eax
lea ecx, [esp + 0x4c]
call sub.MFC71U.DLL_CArchiveStream::Write
lea ecx, [ebx + 0x2014]
mov eax, ecx
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x42ba11
sub eax, edi
push eax
push ecx
lea ecx, [esp + 0x4c]
call sub.MFC71U.DLL_CArchiveStream::Write
lea ecx, [esp + 0x44]
call sub.MFC71U.DLL_CDatabase::Close
mov edi, 1
lea ecx, [esp + 0x44]
mov byte [esp + 0x484], 2
call sub.MFC71U.DLL_CEvent::CEvent
lea ecx, [esp + 0x14]
mov byte [esp + 0x484], 1
call dword [sym.imp.MFC71U.DLL_ATL::CSimpleStringT::CSimpleStringT]
test edi, edi
je 0x42ba6a
mov edx, dword [esi + 0x8a0]
push edx
call sub.MFC71U.DLL_CMenu::FromHandle
test eax, eax
jne 0x42ba8a
lea ecx, [esp + 0x54]
mov byte [esp + 0x484], 0
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71U.DLL_ATL::CSimpleStringT::CSimpleStringT]
xor eax, eax
jmp 0x42bac7
mov ecx, dword [esi + 0x10]
mov eax, dword [eax + 0x20]
push 0x14
push ecx
push 0x1b71
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, dword [esi + 0x10]
inc eax
lea ecx, [esp + 0x54]
mov dword [esi + 0x10], eax
mov byte [esp + 0x484], 0
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71U.DLL_ATL::CSimpleStringT::CSimpleStringT]
mov eax, 1
mov ecx, dword [esp + 0x47c]
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x474]
call fcn.00436153
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4