Function at 0x42ac80
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x59908b
mov eax, dword fs:[0]
push eax
sub esp, 0xe8
mov eax, dword [0x6d28d0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 1
lea ecx, [ebp - 0xf4]
call fcn.00409570
push 0x40
push 1
push 0x5ade54
lea ecx, [ebp - 0xe4]
mov dword [ebp - 4], 0
call fcn.0040a280
test eax, eax
lea ecx, [ebp - 0xf4]
mov eax, dword [ebp - 0xf4]
push 0
mov eax, dword [eax + 4]
jne 0x42acf7
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 0x42ad01
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 - 0xf4]
lea ecx, [ebp - 0xf4]
mov eax, dword [eax + 4]
add ecx, eax
call dword [sym.imp.MSVCP120.dll_public:_bool___thiscall_std::ios_base::fail_void_const]
test al, al
je 0x42ad68
lea ecx, [ebp - 0xe4]
call fcn.00409fd0
test eax, eax
jne 0x42ad45
push eax
mov eax, dword [ebp - 0xf4]
lea ecx, [ebp - 0xf4]
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_]
mov esi, dword [sym.imp.MSVCR120.dll_remove]
push 0x5ae1cc
call esi
push 0x5ae1d0
call esi
push 0x5ade54
call esi
add esp, 0xc
call fcn.00429950
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 1
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
call fcn.0053bdd0
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0xf4]
push eax
call fcn.004289c0
add esp, 8
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
call dword [sym.imp.MSVCP120.dll_public:_bool___thiscall_std::ios_base::operator_bool_void_const]
test al, al
je 0x42ae7c
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x34]
call fcn.0042b6d0
mov esi, eax
cmp esi, dword [ebp - 0x34]
je 0x42ae21
cmp dword [esi + 0x24], 0x10
lea edx, [esi + 0x10]
mov edi, dword [edx + 0x10]
jb 0x42ade4
mov edx, dword [edx]
cmp dword [ebp - 0x14], 0x10
lea ecx, [ebp - 0x28]
mov ebx, dword [ebp - 0x18]
mov eax, edi
cmovae ecx, dword [ebp - 0x28]
cmp ebx, edi
cmovb eax, ebx
push eax
push edx
push ecx
call fcn.0041e890
add esp, 0xc
test eax, eax
jne 0x42ae1a
cmp ebx, edi
jae 0x42ae11
or eax, 0xffffffff
jmp 0x42ae18
xor eax, eax
cmp ebx, edi
setne al
test eax, eax
sets al
test al, al
je 0x42ae51
lea eax, [ebp - 0x28]
mov dword [ebp - 0x3c], eax
lea ecx, [ebp - 0x34]
lea eax, [ebp - 0x29]
push eax
lea eax, [ebp - 0x3c]
push eax
push 0x6e30e0
call fcn.00428df0
push eax
add eax, 0x10
lea ecx, [ebp - 0x34]
push eax
push esi
lea eax, [ebp - 0x38]
push eax
call fcn.004290d0
mov esi, dword [ebp - 0x38]
inc dword [esi + 0x28]
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0xf4]
push eax
call fcn.004289c0
add esp, 8
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
call dword [sym.imp.MSVCP120.dll_public:_bool___thiscall_std::ios_base::operator_bool_void_const]
test al, al
jne 0x42adc3
lea ecx, [ebp - 0xe4]
call fcn.00409fd0
test eax, eax
jne 0x42aea5
push eax
mov eax, dword [ebp - 0xf4]
lea ecx, [ebp - 0xf4]
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_]
push 0x40
push 1
push 0x5ade54
lea ecx, [ebp - 0xe4]
call fcn.0040a280
test eax, eax
lea ecx, [ebp - 0xf4]
mov eax, dword [ebp - 0xf4]
push 0
mov eax, dword [eax + 4]
jne 0x42aeda
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 0x42aee4
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_]
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0xf4]
push eax
call fcn.004289c0
add esp, 8
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
call dword [sym.imp.MSVCP120.dll_public:_bool___thiscall_std::ios_base::operator_bool_void_const]
test al, al
je 0x42afd0
lea esp, [esp]
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x34]
call fcn.0042b6d0
mov esi, eax
cmp esi, dword [ebp - 0x34]
je 0x42af6e
cmp dword [esi + 0x24], 0x10
lea edx, [esi + 0x10]
mov edi, dword [edx + 0x10]
jb 0x42af31
mov edx, dword [edx]
cmp dword [ebp - 0x14], 0x10
lea ecx, [ebp - 0x28]
mov ebx, dword [ebp - 0x18]
mov eax, edi
cmovae ecx, dword [ebp - 0x28]
cmp ebx, edi
cmovb eax, ebx
push eax
push edx
push ecx
call fcn.0041e890
add esp, 0xc
test eax, eax
jne 0x42af67
cmp ebx, edi
jae 0x42af5e
or eax, 0xffffffff
jmp 0x42af65
xor eax, eax
cmp ebx, edi
setne al
test eax, eax
sets al
test al, al
je 0x42af9e
lea eax, [ebp - 0x28]
mov dword [ebp - 0x38], eax
lea ecx, [ebp - 0x34]
lea eax, [ebp - 0x29]
push eax
lea eax, [ebp - 0x38]
push eax
push 0x6e30e0
call fcn.00428df0
push eax
add eax, 0x10
lea ecx, [ebp - 0x34]
push eax
push esi
lea eax, [ebp - 0x3c]
push eax
call fcn.004290d0
mov esi, dword [ebp - 0x3c]
cmp dword [esi + 0x28], 1
jg 0x42b04c
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0xf4]
push eax
call fcn.004289c0
add esp, 8
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
call dword [sym.imp.MSVCP120.dll_public:_bool___thiscall_std::ios_base::operator_bool_void_const]
test al, al
jne 0x42af10
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x34]
push eax
mov byte [ebp - 4], 1
push dword [eax]
lea eax, [ebp - 0x38]
push eax
call fcn.0053bea0
push dword [ebp - 0x34]
call sub.MSVCR120.dll_void___cdecl_operator_delete_void__
add esp, 4
cmp dword [ebp - 0x14], 0x10
jb 0x42b002
push dword [ebp - 0x28]
call sub.MSVCR120.dll_void___cdecl_operator_delete_void__
add esp, 4
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
call fcn.00409700
lea ecx, [ebp - 0x84]
call dword [sym.imp.MSVCP120.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00597574
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0xe4]
call fcn.00409fd0
test eax, eax
jne 0x42b075
push eax
mov eax, dword [ebp - 0xf4]
lea ecx, [ebp - 0xf4]
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_]
call fcn.0042a810
int3