Function at 0x42c4b0
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x59b2ab
mov eax, dword fs:[0]
push eax
sub esp, 0xe8
mov eax, dword [0x6dd8d0]
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.00409dc0
push 0x40
push 1
push str.chgc
lea ecx, [ebp - 0xe4]
mov dword [ebp - 4], 0
call fcn.0040a3b0
test eax, eax
lea ecx, [ebp - 0xf4]
mov eax, dword [ebp - 0xf4]
push 0
mov eax, dword [eax + 4]
jne 0x42c527
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 0x42c531
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 0x42c598
lea ecx, [ebp - 0xe4]
call fcn.0040a310
test eax, eax
jne 0x42c575
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 0x5b45c8
call esi
push 0x5b45cc
call esi
push 0x5b45d0
call esi
add esp, 0xc
call fcn.0042b180
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.004e50e0
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0xf4]
push eax
call fcn.0042a5b0
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 0x42c6ac
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x34]
call fcn.0053daa0
mov esi, eax
cmp esi, dword [ebp - 0x34]
je 0x42c651
cmp dword [esi + 0x24], 0x10
lea edx, [esi + 0x10]
mov edi, dword [edx + 0x10]
jb 0x42c614
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.0041ed60
add esp, 0xc
test eax, eax
jne 0x42c64a
cmp ebx, edi
jae 0x42c641
or eax, 0xffffffff
jmp 0x42c648
xor eax, eax
cmp ebx, edi
setne al
test eax, eax
sets al
test al, al
je 0x42c681
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 0x6ee15b
call fcn.0042a7d0
push eax
add eax, 0x10
lea ecx, [ebp - 0x34]
push eax
push esi
lea eax, [ebp - 0x38]
push eax
call fcn.0042aab0
mov esi, dword [ebp - 0x38]
inc dword [esi + 0x28]
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0xf4]
push eax
call fcn.0042a5b0
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 0x42c5f3
lea ecx, [ebp - 0xe4]
call fcn.0040a310
test eax, eax
jne 0x42c6d5
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 str.cghc
lea ecx, [ebp - 0xe4]
call fcn.0040a3b0
test eax, eax
lea ecx, [ebp - 0xf4]
mov eax, dword [ebp - 0xf4]
push 0
mov eax, dword [eax + 4]
jne 0x42c70a
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 0x42c714
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.0042a5b0
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 0x42c800
lea esp, [esp]
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x34]
call fcn.0053daa0
mov esi, eax
cmp esi, dword [ebp - 0x34]
je 0x42c79e
cmp dword [esi + 0x24], 0x10
lea edx, [esi + 0x10]
mov edi, dword [edx + 0x10]
jb 0x42c761
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.0041ed60
add esp, 0xc
test eax, eax
jne 0x42c797
cmp ebx, edi
jae 0x42c78e
or eax, 0xffffffff
jmp 0x42c795
xor eax, eax
cmp ebx, edi
setne al
test eax, eax
sets al
test al, al
je 0x42c7ce
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 0x6ee15b
call fcn.0042a7d0
push eax
add eax, 0x10
lea ecx, [ebp - 0x34]
push eax
push esi
lea eax, [ebp - 0x3c]
push eax
call fcn.0042aab0
mov esi, dword [ebp - 0x3c]
cmp dword [esi + 0x28], 1
jg 0x42c87c
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0xf4]
push eax
call fcn.0042a5b0
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 0x42c740
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.0053dbe0
push dword [ebp - 0x34]
call sub.MSVCR120.dll_void___cdecl_operator_delete_void__
add esp, 4
cmp dword [ebp - 0x14], 0x10
jb 0x42c832
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.00409ef0
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.0059978a
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0xe4]
call fcn.0040a310
test eax, eax
jne 0x42c8a5
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.0042c040
int3