Function at 0x409190
Capabilities:
Delete file
Read file on windows

Disassembly:
push ebp
xor eax, eax
mov ecx, 5
mov ebp, esp
push edi
push esi
lea edi, [ebp - 0x2c]
push ebx
sub esp, 0x6c
mov ebx, dword [0x431550]
rep stosd dword es:[edi], eax
xor eax, eax
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [0x431550], eax
lea eax, [ebp - 0x3c]
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0xc], eax
mov dword [esp + 8], eax
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.0040de8e
test eax, eax
jne 0x4091e8
mov dword [0x431550], ebx
jmp 0x40944e
mov edi, eax
call fcn.00411eb5
mov eax, dword [0x4319a4]
test eax, eax
je 0x4091ff
mov esi, dword [eax + 4]
test esi, esi
jns 0x409216
mov dword [esp], 2
call dword [0x428f30]
mov dword [esp], eax
call sub.msvcrt.dll__fileno
mov esi, eax
xor eax, eax
mov dword [esp + 4], eax
mov dword [esp], eax
call fcn.0041b3c3
mov dword [esp + 0xc], edi
mov dword [ebp - 0x28], eax
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x38]
mov dword [esp + 8], eax
lea eax, [ebp - 0x34]
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.00408df5
mov eax, dword [ebp - 0x34]
mov dword [0x431550], ebx
mov dword [ebp - 0x4c], eax
test eax, eax
jns 0x4092b1
xor ebx, ebx
mov dword [esp], 0x7f
mov dword [esp + 4], ebx
call fcn.00408d66
mov esi, dword [sym.imp.msvcrt.dll__errno]
call esi
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_strerror
mov ebx, eax
call esi
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_strerror
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov dword [esp + 0xc], ebx
mov dword [esp + 4], eax
mov eax, dword [0x4339e0]
mov dword [esp + 8], str.pipe:__s
mov dword [esp], eax
call fcn.0041215f
jmp 0x409431
mov eax, dword [ebp - 0x38]
xor ecx, ecx
mov dword [0x431170], ecx
mov dword [0x431160], eax
mov eax, dword [ebp - 0x30]
test eax, eax
js 0x4092d0
mov dword [esp], eax
call sub.msvcrt.dll__close
mov dword [esp], 0xc9
xor esi, esi
call fcn.00411363
mov dword [ebp - 0x54], 0xc8
mov ebx, eax
lea eax, [ebx + esi]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x54]
sub eax, esi
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x50]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x4c]
mov dword [esp], eax
call sub.msvcrt.dll__read
cmp eax, 0xffffffff
jne 0x40931a
call dword [sym.imp.msvcrt.dll__errno]
cmp dword [eax], 4
je 0x4092e7
jmp 0x40934c
test eax, eax
jle 0x40934c
add esi, eax
mov eax, dword [ebp - 0x54]
cmp esi, eax
jne 0x4092e7
lea eax, [esi + 0x200]
mov dword [esp], ebx
mov dword [ebp - 0x50], eax
lea eax, [esi + 0x201]
mov dword [esp + 4], eax
call fcn.004113b7
mov ebx, eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x54], eax
jmp 0x4092e7
mov eax, dword [ebp - 0x50]
mov byte [eax], 0
mov eax, dword [ebp - 0x4c]
mov dword [esp], eax
call sub.msvcrt.dll__close
cmp dword [0x431170], 0
jne 0x40937a
xor edx, edx
mov dword [esp], 1
mov dword [esp + 4], edx
call fcn.0040e3f0
jmp 0x40935d
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x4093c5
test byte [0x43154c], 2
je 0x4093af
mov dword [esp + 4], eax
mov dword [esp], str.Cleaning_up_temporary_batch_file__s_n
call fcn.00406982
mov dword [esp], 1
call dword [0x428f30]
mov dword [esp], eax
call fcn.00425884
mov eax, dword [ebp - 0x3c]
mov dword [esp], eax
call sub.msvcrt.dll_remove
mov eax, dword [ebp - 0x3c]
mov dword [esp], eax
call fcn.004258bc
xor eax, eax
lea edx, [ebx - 1]
mov esi, ebx
mov dword [0x431160], eax
mov eax, dword [ebp - 0x50]
mov byte [eax], 0
mov eax, ebx
mov cl, byte [esi]
test cl, cl
je 0x4093fe
cmp cl, 0xd
jne 0x4093ec
cmp byte [esi + 1], 0xa
jne 0x4093f6
jmp 0x4093fb
cmp cl, 0xa
jne 0x4093f6
mov byte [eax], 0x20
jmp 0x4093fa
mov byte [eax], cl
mov edx, eax
inc eax
inc esi
jmp 0x4093d9
cmp dword [ebp + 0x10], 0
jne 0x40940c
sub eax, 2
cmp edx, eax
cmovb edx, eax
mov byte [edx + 1], 0
mov eax, dword [ebp + 8]
inc edx
sub edx, ebx
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.00404051
mov dword [esp], ebx
mov dword [ebp + 8], eax
call fcn.004258bc
mov eax, dword [edi]
mov dword [esp], eax
call fcn.004258bc
mov dword [esp], edi
call fcn.004258bc
lea eax, [ebp - 0x2c]
mov dword [esp], eax
call fcn.0040dba7
mov eax, dword [ebp + 8]
add esp, 0x6c
pop ebx
pop esi
pop edi
pop ebp
ret