Function at 0x428ad0
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5874aa
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xe4
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0x80]
mov dword [ebp - 0xf0], 0x58f9ec
call dword [sym.imp.MSVCP120.dll_protected:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::constructor_void_]
push 0
push 0
lea eax, [ebp - 0xe0]
mov dword [ebp - 4], 0
push eax
lea ecx, [ebp - 0xf0]
mov dword [ebp - 0x20], 1
call dword [sym.imp.MSVCP120.dll_public:_void___thiscall_std::basic_istream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char_____bool_]
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 4], 1
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xf0], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0xf4], eax
lea eax, [ebp - 0xe0]
mov ecx, eax
mov dword [ebp - 0x1c], eax
call dword [sym.imp.MSVCP120.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void_]
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 2
mov dword [ebp - 0xe0], vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
mov byte [ebp - 0x94], 0
mov byte [ebp - 0x9b], 0
call dword [sym.imp.MSVCP120.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::_Init_void_]
mov eax, dword [0x6b77a0]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x98], eax
mov dword [ebp - 0xa0], 0
push 0x40
push 1
push 0x596e54
lea ecx, [ebp - 0xe0]
mov dword [ebp - 4], 3
call fcn.00409960
test eax, eax
lea ecx, [ebp - 0xf0]
mov eax, dword [ebp - 0xf0]
push 0
mov eax, dword [eax + 4]
jne 0x428bef
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 0x428bf9
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 - 0xf0]
lea ecx, [ebp - 0xf0]
push ebx
push esi
push edi
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 0x428c63
lea ecx, [ebp - 0xe0]
call fcn.004096b0
test eax, eax
jne 0x428c40
push eax
mov eax, dword [ebp - 0xf0]
lea ecx, [ebp - 0xf0]
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 0x5971cc
call esi
push 0x5971d0
call esi
push 0x596e54
call esi
add esp, 0xc
call fcn.00427810
mov dword [ebp - 0x24], 0xf
mov dword [ebp - 0x28], 0
mov byte [ebp - 0x38], 0
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 4
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
call fcn.00543440
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0xf0]
push eax
call fcn.004268e0
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 0x428d79
mov edi, edi
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x18]
call fcn.004295c0
mov esi, eax
cmp esi, dword [ebp - 0x18]
je 0x428d1e
cmp dword [esi + 0x24], 0x10
lea edx, [esi + 0x10]
mov edi, dword [edx + 0x10]
jb 0x428ce1
mov edx, dword [edx]
cmp dword [ebp - 0x24], 0x10
lea ecx, [ebp - 0x38]
mov ebx, dword [ebp - 0x28]
mov eax, edi
cmovae ecx, dword [ebp - 0x38]
cmp ebx, edi
cmovb eax, ebx
push eax
push edx
push ecx
call fcn.0041cdc0
add esp, 0xc
test eax, eax
jne 0x428d17
cmp ebx, edi
jae 0x428d0e
or eax, 0xffffffff
jmp 0x428d15
xor eax, eax
cmp ebx, edi
setne al
test eax, eax
sets al
test al, al
je 0x428d4e
lea eax, [ebp - 0x38]
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0x18]
lea eax, [ebp - 0xd]
push eax
lea eax, [ebp - 0x20]
push eax
push 0x6c06a8
call fcn.00426cf0
push eax
add eax, 0x10
lea ecx, [ebp - 0x18]
push eax
push esi
lea eax, [ebp - 0x1c]
push eax
call fcn.00426fc0
mov esi, dword [ebp - 0x1c]
inc dword [esi + 0x28]
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0xf0]
push eax
call fcn.004268e0
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 0x428cc0
lea ecx, [ebp - 0xe0]
call fcn.004096b0
test eax, eax
jne 0x428da2
push eax
mov eax, dword [ebp - 0xf0]
lea ecx, [ebp - 0xf0]
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 0x596e54
lea ecx, [ebp - 0xe0]
call fcn.00409960
test eax, eax
lea ecx, [ebp - 0xf0]
mov eax, dword [ebp - 0xf0]
push 0
mov eax, dword [eax + 4]
jne 0x428dd7
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 0x428de1
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 - 0x38]
push eax
lea eax, [ebp - 0xf0]
push eax
call fcn.004268e0
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 0x428ed0
lea esp, [esp]
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x18]
call fcn.004295c0
mov esi, eax
cmp esi, dword [ebp - 0x18]
je 0x428e6e
cmp dword [esi + 0x24], 0x10
lea edx, [esi + 0x10]
mov edi, dword [edx + 0x10]
jb 0x428e31
mov edx, dword [edx]
cmp dword [ebp - 0x24], 0x10
lea ecx, [ebp - 0x38]
mov ebx, dword [ebp - 0x28]
mov eax, edi
cmovae ecx, dword [ebp - 0x38]
cmp ebx, edi
cmovb eax, ebx
push eax
push edx
push ecx
call fcn.0041cdc0
add esp, 0xc
test eax, eax
jne 0x428e67
cmp ebx, edi
jae 0x428e5e
or eax, 0xffffffff
jmp 0x428e65
xor eax, eax
cmp ebx, edi
setne al
test eax, eax
sets al
test al, al
je 0x428e9e
lea eax, [ebp - 0x38]
mov dword [ebp - 0x1c], eax
lea ecx, [ebp - 0x18]
lea eax, [ebp - 0xd]
push eax
lea eax, [ebp - 0x1c]
push eax
push 0x6c06a8
call fcn.00426cf0
push eax
add eax, 0x10
lea ecx, [ebp - 0x18]
push eax
push esi
lea eax, [ebp - 0x20]
push eax
call fcn.00426fc0
mov esi, dword [ebp - 0x20]
cmp dword [esi + 0x28], 1
jg 0x428f3b
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0xf0]
push eax
call fcn.004268e0
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 0x428e10
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x18]
push eax
mov byte [ebp - 4], 4
push dword [eax]
lea eax, [ebp - 0x1c]
push eax
call fcn.004296a0
push dword [ebp - 0x18]
call sub.MSVCR120.dll_void___cdecl_operator_delete_void__
add esp, 4
cmp dword [ebp - 0x24], 0x10
pop edi
pop esi
pop ebx
jb 0x428f05
push dword [ebp - 0x38]
call sub.MSVCR120.dll_void___cdecl_operator_delete_void__
add esp, 4
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x24], 0xf
mov dword [ebp - 0x28], 0
mov byte [ebp - 0x38], 0
call fcn.00408e10
lea ecx, [ebp - 0x80]
call dword [sym.imp.MSVCP120.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
mov ecx, dword [ebp - 0xc]
mov eax, 1
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0xe0]
call fcn.004096b0
test eax, eax
jne 0x428f64
push eax
mov eax, dword [ebp - 0xf0]
lea ecx, [ebp - 0xf0]
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.00428660
int3