Function at 0x409430
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44b463
mov eax, dword fs:[0]
push eax
sub esp, 0xbc
push ebx
push esi
push edi
mov eax, dword [0x45e054]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push ecx
lea ecx, [ebp - 0xc8]
mov dword [ebp - 4], 0
xor edi, edi
call fcn.0040be00
mov byte [ebp - 4], 1
lea eax, [ebp + 8]
cmp dword [ebp + 0x1c], 0x10
push ecx
cmovae eax, dword [ebp + 8]
lea ecx, [ebp - 0xb8]
push 1
push eax
call fcn.004043e0
test eax, eax
lea ecx, [ebp - 0xc8]
mov eax, dword [ebp - 0xc8]
push edi
mov eax, dword [eax + 4]
jne 0x4094ae
push 2
add ecx, eax
call dword [sym.imp.MSVCP120.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool_]
jmp 0x4094b8
push 0
add ecx, eax
call dword [sym.imp.MSVCP120.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::clear_int__bool_]
cmp dword [ebp - 0x68], 0
je 0x4095be
lea ecx, [ebp - 0xc8]
call fcn.00403980
mov bl, 1
nop
cmp edi, 0x64
jge 0x4095be
inc edi
lea eax, [ebp + 8]
cmp dword [ebp + 0x1c], 0x10
cmovae eax, dword [ebp + 8]
push eax
call dword [sym.imp.MSVCR120.dll_remove]
cmp dword [ebp + 0x1c], 0x10
lea eax, [ebp + 8]
push 1
cmovae eax, dword [ebp + 8]
lea ecx, [ebp - 0xb8]
push eax
call fcn.004043e0
test eax, eax
lea ecx, [ebp - 0xc8]
mov eax, dword [ebp - 0xc8]
push 0
mov eax, dword [eax + 4]
jne 0x409526
push 2
add ecx, eax
call dword [sym.imp.MSVCP120.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool_]
jmp 0x409530
push 0
add ecx, eax
call dword [sym.imp.MSVCP120.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::clear_int__bool_]
mov eax, dword [ebp - 0x68]
lea esi, [ebp - 0xb8]
xor ecx, ecx
movzx ebx, bl
test eax, eax
cmove ebx, ecx
jne 0x409549
xor esi, esi
jmp 0x40956e
lea ecx, [ebp - 0xb8]
call fcn.00404ab0
push dword [ebp - 0x68]
xor ecx, ecx
test al, al
cmove esi, ecx
call dword [sym.imp.MSVCR120.dll_fclose]
xor ecx, ecx
add esp, 4
test eax, eax
cmovne esi, ecx
lea ecx, [ebp - 0xb8]
mov byte [ebp - 0x6c], 0
mov byte [ebp - 0x73], 0
call dword [sym.imp.MSVCP120.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::_Init_void_]
mov eax, dword [0x45edfc]
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x78], 0
test esi, esi
jne 0x4095b6
mov eax, dword [ebp - 0xc8]
lea ecx, [ebp - 0xc8]
push esi
push 2
mov eax, dword [eax + 4]
add ecx, eax
call dword [sym.imp.MSVCP120.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool_]
test bl, bl
jne 0x4094d0
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xc8], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0xcc], eax
lea ecx, [ebp - 0xb8]
call fcn.004044f0
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 4]
mov eax, dword [sym.imp.MSVCP120.dll_const_std::basic_istream_char__struct_std::char_traits_char__::vftable]
mov dword [ebp + ecx - 0xc8], eax
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x18]
mov dword [ebp + ecx - 0xcc], eax
lea ecx, [ebp - 0x58]
call dword [sym.imp.MSVCP120.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
cmp dword [ebp + 0x1c], 0x10
jb 0x409633
push dword [ebp + 8]
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret