Function at 0x42f540
Capabilities:
Delete file
Timestomp file

Disassembly:
sub esp, 0x1c
mov eax, 0x400
push ebx
push ebp
push esi
mov esi, ecx
xor ebx, ebx
push edi
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x38], ebx
cmp ecx, eax
jae 0x42f55d
mov dword [esi + 0x18], eax
cmp dword [esi + 0x24], ebx
jne 0x42f571
mov eax, dword [esi + 0x18]
push eax
call fcn.004319ab
add esp, 4
mov dword [esi + 0x24], eax
cmp dword [esi + 0x28], ebx
jne 0x42f585
mov ecx, dword [esi + 0x18]
push ecx
call fcn.004319ab
add esp, 4
mov dword [esi + 0x28], eax
cmp dword [esi + 0x24], ebx
je 0x42f7dc
cmp dword [esi + 0x28], ebx
je 0x42f7dc
mov eax, dword [esp + 0x30]
mov edi, dword [sym.imp.KERNEL32.dll_CreateFileA]
or ebp, 0xffffffff
cmp eax, ebx
mov dword [esi + 4], ebx
mov dword [esi + 0xc], ebp
mov dword [esi + 0x10], ebp
mov dword [esi + 0x43c], ebx
mov dword [esi + 0x440], ebx
mov word [esi + 0x25ac], bx
mov byte [esi + 0x25ae], bl
mov word [esi + 0x25b0], bx
mov byte [esi + 0x25b2], bl
mov dword [esi + 0x14], ebx
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x20], ebx
mov dword [esi + 0x2c], ebx
mov dword [esp + 0x10], ebx
je 0x42f626
push ebx
push 0x80
push 3
push ebx
push ebx
push 0x80000000
push eax
call edi
cmp eax, ebp
mov dword [esi + 0xc], eax
jne 0x42f60c
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret 0x14
lea edx, [esp + 0x24]
lea ecx, [esp + 0x1c]
push edx
lea edx, [esp + 0x18]
push ecx
push edx
push eax
call dword [sym.imp.KERNEL32.dll_GetFileTime]
mov dword [esp + 0x10], eax
mov ebp, dword [esp + 0x34]
cmp ebp, ebx
je 0x42f6fc
push ebx
push 0x80
push 4
push ebx
push ebx
push 0xc0000000
push ebp
call edi
or edi, 0xffffffff
mov dword [esi + 0x10], eax
cmp eax, edi
jne 0x42f66b
mov ecx, dword [esi + 0xc]
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0xc]
mov dword [esi + 0xc], edi
pop edi
pop esi
pop ebp
mov eax, 0xfffffffe
pop ebx
add esp, 0x1c
ret 0x14
cmp dword [esp + 0x38], ebx
je 0x42f6ef
push ebx
push ebx
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
test eax, eax
je 0x42f6b0
mov eax, dword [esi + 0xc]
mov edx, dword [esi]
push eax
mov ecx, esi
call dword [edx + 0xc]
mov ecx, dword [esi + 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebp
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov dword [esi + 0xc], edi
mov dword [esi + 0x10], edi
pop edi
pop esi
pop ebp
mov eax, 0xfffffffc
pop ebx
add esp, 0x1c
ret 0x14
mov edx, dword [esi + 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
jne 0x42f727
mov ecx, dword [esi + 0xc]
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0xc]
mov edx, dword [esi + 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebp
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov dword [esi + 0xc], edi
mov dword [esi + 0x10], edi
pop edi
pop esi
pop ebp
mov eax, 0xfffffffb
pop ebx
add esp, 0x1c
ret 0x14
push 2
push ebx
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
jmp 0x42f727
mov eax, dword [esp + 0x38]
mov dword [esp + 0x10], ebx
cmp eax, ebx
je 0x42f718
mov ecx, dword [esi + 0x10]
mov eax, dword [esi]
push ebx
push ebx
push ebx
push ecx
mov ecx, esi
call dword [eax + 0x10]
jmp 0x42f727
mov eax, dword [esi + 0x10]
mov edx, dword [esi]
push 2
push ebx
push ebx
push eax
mov ecx, esi
call dword [edx + 0x10]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
mov dword [esi + 4], ecx
mov ecx, esi
mov dword [esi + 8], edx
call fcn.0042f330
mov edi, eax
mov eax, dword [esi + 0x10]
push eax
mov ecx, esi
call fcn.0042ee60
mov eax, dword [esi + 0xc]
mov edx, dword [esi]
push eax
mov ecx, esi
call dword [edx + 0xc]
cmp dword [esp + 0x10], ebx
je 0x42f773
lea ecx, [esp + 0x24]
lea edx, [esp + 0x1c]
push ecx
mov ecx, dword [esi + 0x10]
lea eax, [esp + 0x18]
push edx
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileTime]
mov eax, dword [esi + 0x10]
mov edx, dword [esi]
push eax
mov ecx, esi
call dword [edx + 0xc]
or eax, 0xffffffff
cmp di, bx
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
mov dword [esi + 4], ebx
jne 0x42f7c4
cmp dword [esi + 0x30], ebx
je 0x42f7c4
mov ecx, dword [esi + 0x34]
mov eax, dword [esi + 0x38]
cmp ecx, eax
je 0x42f7b8
cmp ebp, ebx
je 0x42f7a9
push ebp
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
pop edi
pop esi
pop ebp
mov eax, 0x100
pop ebx
add esp, 0x1c
ret 0x14
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1c
ret 0x14
cmp ebp, ebx
je 0x42f7cf
push ebp
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x1c
ret 0x14
pop edi
pop esi
pop ebp
mov eax, 0xfffffffd
pop ebx
add esp, 0x1c
ret 0x14