Function at 0x41f805
Capabilities:
Clear file content
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
push esi
push edi
rdtsc
mov dword [ebp - 0x10], eax
mov eax, dword [0x4bcbe0]
or eax, dword [0x4bcbe4]
push 0
mov dword [ebp - 0xc], edx
pop esi
je 0x41f878
push 1
push esi
push esi
push dword [0x4cce98]
call fcn.0044df99
or eax, edx
jne 0x41f86c
push 1
push dword [0x4bcbe4]
push dword [0x4bcbe0]
push dword [0x4cce98]
call fcn.0044df99
push dword [0x4cce98]
call dword [sym.imp.___total_physical_size__lu_MB_SetEndOfFile]
push esi
push esi
push esi
push dword [0x4cce98]
call fcn.0044df99
mov dword [0x4bcbe0], esi
mov dword [0x4bcbe4], esi
push 1
push esi
push esi
push dword [0x4cce98]
call fcn.0044df99
mov ebx, dword [sym.imp.___total_physical_size__lu_MB_SetLastError]
push esi
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edx
call ebx
mov edi, dword [ebp + 0xc]
push esi
lea eax, [ebp - 4]
push eax
push edi
push dword [ebp + 8]
mov dword [ebp - 4], esi
push dword [0x4cce98]
call dword [sym.imp.___total_physical_size__lu_MB_WriteFile]
test eax, eax
je 0x41f8be
cmp dword [ebp - 4], edi
je 0x41f95c
call dword [sym.imp.___total_physical_size__lu_MB_GetLastError]
cmp eax, 0x17
jne 0x41f9ed
mov eax, dword [ebp - 4]
mov dword [ebp - 8], eax
cmp eax, edi
jae 0x41f95c
mov edi, 0x200
push esi
call ebx
mov eax, dword [ebp - 8]
xor ecx, ecx
add eax, dword [ebp - 0x18]
push esi
adc ecx, dword [ebp - 0x14]
mov dword [ebp - 4], esi
push ecx
push eax
push dword [0x4cce98]
call fcn.0044df99
push esi
lea eax, [ebp - 4]
push eax
mov eax, dword [ebp - 8]
add eax, dword [ebp + 8]
push edi
push eax
push dword [0x4cce98]
call dword [sym.imp.___total_physical_size__lu_MB_WriteFile]
test eax, eax
je 0x41f921
cmp dword [ebp - 4], edi
je 0x41f94e
call dword [sym.imp.___total_physical_size__lu_MB_GetLastError]
cmp eax, 0x17
jne 0x41f9bd
inc dword [0x4cdde8]
push dword [0x4cdde8]
push str.could_not_write__u_sectors
push 0x518
call fcn.00447f71
add esp, 0xc
add dword [ebp - 8], edi
mov eax, dword [ebp - 8]
cmp eax, dword [ebp + 0xc]
jb 0x41f8e0
mov edi, dword [ebp + 0xc]
lea eax, [ebp - 0x10]
push eax
call fcn.0041dfd7
add dword [0x4bcbec], eax
add dword [0x4bcb78], edi
mov eax, dword [0x4cd558]
adc dword [0x4bcb7c], esi
cmp eax, esi
jle 0x41f9a1
imul eax, eax, 0x3e8
push eax
push 0x4cdfb0
call fcn.004430f8
test eax, eax
je 0x41f9a1
push dword [0x4cce98]
call dword [sym.imp.___total_physical_size__lu_MB_FlushFileBuffers]
cmp dword [0x4cd640], esi
jbe 0x41f9b5
push dword [0x4cddec]
call dword [sym.imp.___total_physical_size__lu_MB_Sleep]
xor eax, eax
inc eax
jmp 0x41fa66
push dword [ebp - 4]
push 0xe
push 1
push esi
push esi
push dword [0x4cce98]
call fcn.0044df99
push edx
push eax
call fcn.0040c6f5
push eax
push edi
push str._ncould_not_write__u_bytes_at_filepos__s__written__d_n
call dword [sym.imp.___total_physical_size__lu_MB_GetLastError]
push eax
push 0x2d5
jmp 0x41fa37
mov ebx, dword [sym.imp.___total_physical_size__lu_MB_GetLastError]
call ebx
cmp eax, 0x70
jne 0x41fa0c
cmp dword [0x4cddc8], esi
jne 0x41fa0c
mov dword [0x4cddc8], 6
push 0xe
push 1
push esi
push esi
push dword [0x4cce98]
call fcn.0044df99
push edx
push eax
call fcn.0040c6f5
push eax
push edi
sub edi, dword [ebp - 4]
push edi
push str._ncould_not_write__u_of__u_bytes_at_filepos__s_n
call ebx
push eax
push 0x2e4
push str.NTCOPY
call fcn.0044dc85
add esp, 0x1c
lea eax, [ebp - 0x10]
push eax
call fcn.0041dff7
push eax
push str.last_write_operation_needs__u_milliseconds
call fcn.0041c7ee
pop ecx
pop ecx
mov dword [0x4d659c], 1
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 8