Function at 0x40f70c
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2244
call fcn.0040fc90
and dword [ebp - 0x14], 0
push 0x8000
push dword [ebp + 0x10]
call dword [sym.imp.MSVCR110.dll__open]
pop ecx
pop ecx
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xffffffff
jne 0x40f73e
or eax, 0xffffffff
jmp 0x40f9a2
lea eax, [ebp - 0x44]
push eax
push dword [ebp - 4]
call dword [sym.imp.MSVCR110.dll__fstat64i32]
pop ecx
pop ecx
cmp eax, 0xffffffff
jne 0x40f764
push dword [ebp - 4]
call dword [sym.imp.MSVCR110.dll__close]
pop ecx
or eax, 0xffffffff
jmp 0x40f9a2
push 0x200
push 0
lea eax, [ebp - 0x244]
push eax
call sub.MSVCR110.dll_memset
add esp, 0xc
push 0x64
push dword [ebp + 0x10]
lea eax, [ebp - 0x244]
push eax
call dword [sym.imp.MSVCR110.dll_strncpy]
add esp, 0xc
xor eax, eax
inc eax
imul eax, eax, 0x63
mov byte [ebp + eax - 0x244], 0
push dword [ebp - 0x30]
push 0x417660
push 0xc
lea eax, [ebp - 0x1c8]
push eax
call sub.libav.dll_Ordinal_44276
add esp, 0x10
lea eax, [ebp - 0x244]
mov dword [ebp - 0xc], eax
and dword [ebp - 0x10], 0
jmp 0x40f7cc
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0x200
jae 0x40f7ea
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
jmp 0x40f7c5
mov eax, dword [ebp - 0x14]
add eax, 0x100
push eax
push str._06o
push 8
lea eax, [ebp - 0x1b0]
push eax
call sub.libav.dll_Ordinal_44276
add esp, 0x10
cmp dword [ebp + 0xc], 0
je 0x40f83e
push 0x200
lea eax, [ebp - 0x244]
push eax
push dword [ebp + 0xc]
call sub.libav.dll_Ordinal_44294
add esp, 0xc
test eax, eax
jne 0x40f83c
push dword [ebp - 4]
call dword [sym.imp.MSVCR110.dll__close]
pop ecx
or eax, 0xffffffff
jmp 0x40f9a2
jmp 0x40f86f
push 0x200
lea eax, [ebp - 0x244]
push eax
push dword [ebp + 8]
call dword [sym.imp.MSVCR110.dll__write]
add esp, 0xc
cmp eax, 0x200
je 0x40f86f
push dword [ebp - 4]
call dword [sym.imp.MSVCR110.dll__close]
pop ecx
or eax, 0xffffffff
jmp 0x40f9a2
push 0x2000
lea eax, [ebp - 0x2244]
push eax
push dword [ebp - 4]
call dword [sym.imp.MSVCR110.dll__read]
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jle 0x40f8f5
cmp dword [ebp + 0xc], 0
je 0x40f8c3
push dword [ebp - 8]
lea eax, [ebp - 0x2244]
push eax
push dword [ebp + 0xc]
call sub.libav.dll_Ordinal_44294
add esp, 0xc
test eax, eax
jne 0x40f8c1
push dword [ebp - 4]
call dword [sym.imp.MSVCR110.dll__close]
pop ecx
or eax, 0xffffffff
jmp 0x40f9a2
jmp 0x40f8f0
push dword [ebp - 8]
lea eax, [ebp - 0x2244]
push eax
push dword [ebp + 8]
call dword [sym.imp.MSVCR110.dll__write]
add esp, 0xc
cmp eax, dword [ebp - 8]
je 0x40f8f0
push dword [ebp - 4]
call dword [sym.imp.MSVCR110.dll__close]
pop ecx
or eax, 0xffffffff
jmp 0x40f9a2
jmp 0x40f86f
push dword [ebp - 4]
call dword [sym.imp.MSVCR110.dll__close]
pop ecx
mov eax, dword [ebp - 0x30]
and eax, 0x800001ff
jns 0x40f910
dec eax
or eax, 0xfffffe00
inc eax
test eax, eax
je 0x40f9a0
push 0x200
push 0
lea eax, [ebp - 0x244]
push eax
call sub.MSVCR110.dll_memset
add esp, 0xc
cmp dword [ebp + 0xc], 0
je 0x40f96a
mov eax, dword [ebp - 0x30]
and eax, 0x800001ff
jns 0x40f945
dec eax
or eax, 0xfffffe00
inc eax
mov ecx, 0x200
sub ecx, eax
push ecx
lea eax, [ebp - 0x244]
push eax
push dword [ebp + 0xc]
call sub.libav.dll_Ordinal_44294
add esp, 0xc
test eax, eax
jne 0x40f968
or eax, 0xffffffff
jmp 0x40f9a2
jmp 0x40f9a0
mov eax, dword [ebp - 0x30]
and eax, 0x800001ff
jns 0x40f97b
dec eax
or eax, 0xfffffe00
inc eax
mov ecx, 0x200
sub ecx, eax
push ecx
lea eax, [ebp - 0x244]
push eax
push dword [ebp + 8]
call dword [sym.imp.MSVCR110.dll__write]
add esp, 0xc
cmp eax, 0xffffffff
jne 0x40f9a0
or eax, 0xffffffff
jmp 0x40f9a2
xor eax, eax
leave
ret