Function at 0x40916c
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.0040de72
test eax, eax
jne 0x4091c4
mov dword [0x431550], ebx
jmp 0x40942a
mov edi, eax
call fcn.00411ea1
mov eax, dword [0x4319a4]
test eax, eax
je 0x4091db
mov esi, dword [eax + 4]
test esi, esi
jns 0x4091f2
mov dword [esp], 2
call dword [0x428f14]
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.0041b3f4
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.00408dd1
mov eax, dword [ebp - 0x34]
mov dword [0x431550], ebx
mov dword [ebp - 0x4c], eax
test eax, eax
jns 0x40928d
xor ebx, ebx
mov dword [esp], 0x7f
mov dword [esp + 4], ebx
call fcn.00408d42
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.00412148
jmp 0x40940d
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 0x4092ac
mov dword [esp], eax
call sub.msvcrt.dll__close
mov dword [esp], 0xc9
xor esi, esi
call fcn.00411351
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 0x4092f6
call dword [sym.imp.msvcrt.dll__errno]
cmp dword [eax], 4
je 0x4092c3
jmp 0x409328
test eax, eax
jle 0x409328
add esi, eax
mov eax, dword [ebp - 0x54]
cmp esi, eax
jne 0x4092c3
lea eax, [esi + 0x200]
mov dword [esp], ebx
mov dword [ebp - 0x50], eax
lea eax, [esi + 0x201]
mov dword [esp + 4], eax
call fcn.004113a5
mov ebx, eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x54], eax
jmp 0x4092c3
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 0x409356
xor edx, edx
mov dword [esp], 1
mov dword [esp + 4], edx
call fcn.0040e3d9
jmp 0x409339
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x4093a1
test byte [0x43154c], 2
je 0x40938b
mov dword [esp + 4], eax
mov dword [esp], str.Cleaning_up_temporary_batch_file__s_n
call fcn.00406977
mov dword [esp], 1
call dword [0x428f14]
mov dword [esp], eax
call sub.msvcrt.dll_fflush
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.004254f4
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 0x4093da
cmp cl, 0xd
jne 0x4093c8
cmp byte [esi + 1], 0xa
jne 0x4093d2
jmp 0x4093d7
cmp cl, 0xa
jne 0x4093d2
mov byte [eax], 0x20
jmp 0x4093d6
mov byte [eax], cl
mov edx, eax
inc eax
inc esi
jmp 0x4093b5
cmp dword [ebp + 0x10], 0
jne 0x4093e8
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.00404039
mov dword [esp], ebx
mov dword [ebp + 8], eax
call fcn.004254f4
mov eax, dword [edi]
mov dword [esp], eax
call fcn.004254f4
mov dword [esp], edi
call fcn.004254f4
lea eax, [ebp - 0x2c]
mov dword [esp], eax
call fcn.0040db8b
mov eax, dword [ebp + 8]
add esp, 0x6c
pop ebx
pop esi
pop edi
pop ebp
ret