Function at 0x4055b0
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea eax, [ebp - 0x18]
push ebx
sub esp, 0x24c
mov dword [ebp - 0x21c], eax
lea eax, [ebp - 0x23c]
mov dword [ebp - 0x224], sym.___gxx_personality_sj0
mov dword [ebp - 0x220], 0x4f1298
mov dword [ebp - 0x218], 0x40597d
mov dword [ebp - 0x214], esp
mov dword [esp], eax
call dbg._Unwind_SjLj_Register
lea ecx, [ebp - 0xa0]
call fcn.004e2280
xor eax, eax
mov ebx, dword [0x506864]
mov dword [ebp - 0xa0], 0x50858c
mov word [ebp - 0x2c], ax
mov eax, dword [0x506860]
lea ecx, [ebp - 0x110]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x110], eax
mov eax, dword [eax - 0xc]
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp + eax - 0x110], ebx
mov eax, dword [0x506860]
mov dword [ebp - 0x10c], 0
add ecx, dword [eax - 0xc]
mov dword [esp], 0
mov dword [ebp - 0x238], 7
call method.std::basic_ios_char__std::char_traits_char___.init_std::basic_streambuf_char__std::char_traits_char____
mov dword [ebp - fcn.004b1e90], 0x507a14
lea eax, [ebp - 0x108]
sub esp, 4
mov dword [ebp - 0xa0], 0x507a28
mov ecx, eax
mov dword [ebp - 0x238], 3
mov dword [ebp - 0x240], eax
call fcn.004a2c40
mov eax, dword [ebp - 0x240]
lea esi, [ebp - 0xa0]
mov ecx, esi
mov dword [esp], eax
mov dword [ebp - 0x238], 4
call method.std::basic_ios_char__std::char_traits_char___.init_std::basic_streambuf_char__std::char_traits_char____
sub esp, 4
mov dword [esp + 4], 0xc
mov edi, dword [ebp + 8]
mov eax, dword [edi]
mov dword [esp], eax
mov ecx, dword [ebp - 0x240]
call method.std::basic_filebuf_char__std::char_traits_char___.open_char_const__std::_Ios_Openmode_
mov edx, dword [ebp - 0x110]
lea ecx, [ebp - 0x110]
sub esp, 8
add ecx, dword [edx - 0xc]
test eax, eax
je 0x405918
mov dword [esp], 0
mov dword [ebp - 0x238], 4
call method.std::basic_ios_char__std::char_traits_char___.clear_std::_Ios_Iostate_
sub esp, 4
lea ecx, [ebp - 0x204]
mov dword [esp + 4], 4
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [ebp - 0x238], 1
call fcn.004b4680
mov eax, dword [ebp - 0x184]
or eax, dword [ebp - 0x8c]
sub esp, 8
test al, 5
je 0x4058a0
lea eax, [ebp - 0x200]
mov byte [ebp - 0x241], 0
mov dword [ebp - 0x248], eax
mov dword [ebp - sym.virtual_thunk_to_std::basic_ofstream_char__std::char_traits_char___::basic_ofstream__], 0x507ab4
mov ecx, dword [ebp - 0x248]
mov dword [ebp - fcn.004a3160], 0x5078b4
mov dword [ebp - 0x238], 5
mov dword [ebp - method.std::basic_ofstream_char__std::char_traits_char___.basic_ofstream__], 0x507aa0
call method.std::basic_filebuf_char__std::char_traits_char___.close__
lea ecx, [ebp - 0x1dc]
call method.std::__basic_file_char_.__basic_file__
lea ecx, [ebp - 0x1e4]
mov dword [ebp - fcn.004b8b90], vtable.c_streambufIwSt11char_traitsIwEE.0
call fcn.004c3f30
mov eax, dword [0x50689c]
mov edx, dword [0x5068a0]
lea ecx, [ebp - 0x198]
mov dword [ebp - 0x204], eax
mov eax, dword [eax - 0xc]
mov dword [ebp + eax - 0x204], edx
mov dword [ebp - fcn.004e4250], 0x50858c
call method.std::ios_base.ios_base__
mov ecx, dword [ebp - 0x240]
mov dword [ebp - 0xa0], 0x507a28
mov dword [ebp - fcn.004a3160], 0x5078b4
mov dword [ebp - 0x238], 6
mov dword [ebp - fcn.004b1e90], 0x507a14
call method.std::basic_filebuf_char__std::char_traits_char___.close__
lea ecx, [ebp - 0xe4]
call method.std::__basic_file_char_.__basic_file__
lea ecx, [ebp - 0xec]
mov dword [ebp - fcn.004b8b90], vtable.c_streambufIwSt11char_traitsIwEE.0
call fcn.004c3f30
mov eax, dword [0x506860]
mov ebx, dword [0x506864]
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x110], eax
mov eax, dword [eax - 0xc]
mov dword [ebp + eax - 0x110], ebx
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0xa0], 0x50858c
call method.std::ios_base.ios_base__
lea eax, [ebp - 0x23c]
mov dword [esp], eax
call sym.__Unwind_SjLj_Unregister
movzx eax, byte [ebp - 0x241]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebp - 0x240]
lea ecx, [ebp - 0x204]
mov dword [esp], eax
mov dword [ebp - 0x238], 2
call method.std::ostream.operator___std::basic_streambuf_char__std::char_traits_char____
lea eax, [ebp - 0x200]
sub esp, 4
mov ecx, eax
mov dword [ebp - 0x248], eax
call method.std::basic_filebuf_char__std::char_traits_char___.close__
test eax, eax
je 0x405930
mov dword [ebp - 0x238], 2
mov ecx, dword [ebp - 0x240]
call method.std::basic_filebuf_char__std::char_traits_char___.close__
test eax, eax
je 0x405958
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [esp], eax
mov dword [ebp - 0x238], 2
call sym._remove
mov byte [ebp - 0x241], 1
jmp 0x405770
mov eax, dword [ecx + 0x14]
or eax, 4
mov dword [esp], eax
call method.std::basic_ios_char__std::char_traits_char___.clear_std::_Ios_Iostate_
jmp 0x405720
mov eax, dword [ebp - 0x204]
lea ecx, [ebp - 0x204]
add ecx, dword [eax - 0xc]
mov eax, dword [ecx + 0x14]
or eax, 4
mov dword [esp], eax
call method.std::basic_ios_char__std::char_traits_char___.clear_std::_Ios_Iostate_
sub esp, 4
jmp 0x4058d8
mov eax, dword [ebp - 0x110]
lea ecx, [ebp - 0x110]
add ecx, dword [eax - 0xc]
mov eax, dword [ecx + 0x14]
or eax, 4
mov dword [esp], eax
call method.std::basic_ios_char__std::char_traits_char___.clear_std::_Ios_Iostate_
sub esp, 4
jmp 0x4058f1