Function at 0x403b1e
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x44c
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x444], eax
push ebx
push ebp
push esi
mov esi, dword [esp + 0x45c]
xor eax, eax
push edi
mov ebx, eax
lea eax, [esp + 0x48]
mov ebp, ecx
push 0x200
push eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x2c], ebx
call dword [sym.imp.MSVCR110.dll__getcwd]
pop ecx
pop ecx
test eax, eax
je 0x403f5c
mov edi, dword [sym.imp.MSVCR110.dll__chdir]
push ebp
call edi
pop ecx
cmp eax, 0xffffffff
jne 0x403b89
push ebp
push str._buildcld:_Cant_access_directory__s_n
call fcn.004077c4
pop ecx
jmp 0x403f5b
push dword [esp + 0x20]
lea eax, [esp + 0x2c]
push str._s.info
push 0x20
push eax
call dword [sym.imp.libav.dll_Ordinal_44276]
lea eax, [esp + 0x38]
push 0x8000
push eax
call dword [sym.imp.MSVCR110.dll__open]
mov ebp, eax
add esp, 0x18
cmp ebp, 0xffffffff
jne 0x403bd7
lea eax, [esp + 0x28]
push eax
push str._buildcld:_Cant_open__s_n
call fcn.004077c4
lea eax, [esp + 0x50]
push eax
call edi
add esp, 0xc
jmp 0x403f5c
push 0x200
lea eax, [esp + 0x24c]
push eax
push ebp
call dword [sym.imp.MSVCR110.dll__read]
add esp, 0xc
cmp eax, 0xffffffff
jne 0x403c18
lea eax, [esp + 0x28]
push eax
push str._buildcld:_Cant_read__s_n
call fcn.004077c4
lea eax, [esp + 0x50]
push eax
call edi
add esp, 0xc
push ebp
call dword [sym.imp.MSVCR110.dll__close]
jmp 0x403f5b
xor eax, eax
push ebp
mov byte [esp + 0x44c], al
call dword [sym.imp.MSVCR110.dll__close]
pop ecx
lea eax, [esp + 0x248]
push 0xa
push eax
call dword [sym.imp.MSVCR110.dll_strchr]
pop ecx
pop ecx
mov ecx, eax
test ecx, ecx
jne 0x403c50
lea eax, [esp + 0x28]
push eax
push str._buildcld:_Bad_format_of__s_n
jmp 0x403bc3
lea eax, [esp + 0x448]
sub eax, ecx
push eax
push 0x20
push ecx
call sub.MSVCR110.dll_memset
add esp, 0xc
push 0x1a4
push 0x8501
push esi
call dword [sym.imp.MSVCR110.dll__open]
mov ebp, eax
add esp, 0xc
cmp ebp, 0xffffffff
jne 0x403c8b
push esi
push str._buildcld:_Cant_open__s_for_writing_n
jmp 0x403bc3
push 0x200
lea eax, [esp + 0x24c]
push eax
push ebp
call dword [sym.imp.MSVCR110.dll__write]
add esp, 0xc
cmp eax, 0x200
je 0x403cca
push esi
push str._buildcld:_Cant_write_to__s_n
call fcn.004077c4
lea eax, [esp + 0x50]
push eax
call edi
add esp, 0xc
push ebp
call dword [sym.imp.MSVCR110.dll__close]
jmp 0x403f53
push 0x40d354
call dword [sym.imp.libav.dll_Ordinal_44272]
pop ecx
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x403ce9
push dword [esp + 0x18]
push str._buildcld:_Cant_open_directory__s_n
jmp 0x403caf
cmp dword [esp + 0x464], ebx
je 0x403d2d
push ebp
call dword [sym.imp.MSVCR110.dll__close]
mov dword [esp], str.ab9f
push esi
call dword [sym.imp.libav.dll_Ordinal_44290]
mov ebx, eax
pop ecx
pop ecx
mov dword [esp + 0x24], ebx
test ebx, ebx
jne 0x403d2d
push esi
push str._buildcld:_gzopen___failed_for__s_n
call fcn.004077c4
lea eax, [esp + 0x50]
push eax
call edi
add esp, 0xc
jmp 0x403f49
push 4
push str.COPYING
call dword [sym.imp.libav.dll_Ordinal_44340]
pop ecx
pop ecx
test eax, eax
jne 0x403f02
push str.COPYING
mov edx, ebx
mov ecx, ebp
call fcn.00407a2a
pop ecx
cmp eax, 0xffffffff
jne 0x403d6d
push dword [esp + 0x20]
push str._buildcld:_Cant_add_COPYING_to_new__s.cld___please_check_if_there_is_enough_disk_space_available_n
call fcn.004077c4
pop ecx
pop ecx
jmp 0x403f02
lea eax, [esp + 0x28]
push 4
push eax
call dword [sym.imp.libav.dll_Ordinal_44340]
pop ecx
pop ecx
test eax, eax
jne 0x403d9d
lea eax, [esp + 0x28]
push eax
mov edx, ebx
mov ecx, ebp
call fcn.00407a2a
pop ecx
cmp eax, 0xffffffff
jne 0x403d9d
lea eax, [esp + 0x28]
jmp 0x403ef0
push 4
push str.daily.cfg
call dword [sym.imp.libav.dll_Ordinal_44340]
pop ecx
pop ecx
test eax, eax
jne 0x403ea0
push str.daily.cfg
mov edx, ebx
mov ecx, ebp
call fcn.00407a2a
pop ecx
cmp eax, 0xffffffff
jne 0x403ea0
push dword [esp + 0x20]
push str._buildcld:_Cant_add_daily.cfg_to_new__s.cld___please_check_if_there_is_enough_disk_space_available_n
jmp 0x403d61
xor ecx, ecx
cmp word [eax], cx
je 0x403ea0
lea ecx, [eax + 3]
cmp byte [ecx], 0x2e
jne 0x403df6
movzx eax, byte [ecx + 1]
test al, al
je 0x403ea0
push 3
push 0x40d5d0
push ecx
call sub.MSVCR110.dll_memcmp
add esp, 0xc
test eax, eax
je 0x403ea0
mov eax, dword [esp + 0x18]
push 8
add eax, 3
push str.COPYING
push eax
call sub.MSVCR110.dll_memcmp
add esp, 0xc
test eax, eax
je 0x403ea0
mov eax, dword [esp + 0x18]
push 0xa
add eax, 3
push str.daily.cfg
push eax
call sub.MSVCR110.dll_memcmp
add esp, 0xc
test eax, eax
je 0x403ea0
mov ecx, dword [esp + 0x18]
add ecx, 3
lea edx, [esp + 0x28]
mov eax, ecx
mov bl, byte [eax]
cmp bl, byte [edx]
mov byte [esp + 0x17], bl
mov ebx, dword [esp + 0x24]
jne 0x403e87
cmp byte [esp + 0x17], 0
je 0x403e83
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
mov byte [esp + 0x17], bl
mov ebx, dword [esp + 0x24]
jne 0x403e87
add eax, 2
add edx, 2
cmp byte [esp + 0x17], 0
jne 0x403e51
xor eax, eax
jmp 0x403e8c
sbb eax, eax
or eax, 1
test eax, eax
je 0x403ea0
push ecx
mov edx, ebx
mov ecx, ebp
call fcn.00407a2a
pop ecx
cmp eax, 0xffffffff
je 0x403ee9
push dword [esp + 0x1c]
call dword [sym.imp.libav.dll_Ordinal_44273]
mov dword [esp + 0x1c], eax
pop ecx
test eax, eax
jne 0x403dd7
push dword [esp + 0x1c]
call dword [sym.imp.libav.dll_Ordinal_44274]
pop ecx
test ebx, ebx
je 0x403f17
push ebx
call dword [sym.imp.libav.dll_Ordinal_44293]
pop ecx
test eax, eax
je 0x403f2c
push esi
push str._buildcld:_gzclose___failed_for__s_n
call fcn.004077c4
push esi
call dword [sym.imp.MSVCR110.dll__unlink]
jmp 0x403bcf
mov eax, dword [esp + 0x18]
add eax, 3
push dword [esp + 0x20]
push eax
push str._buildcld:_Cant_add__s_to_new__s.cld___please_check_if_there_is_enough_disk_space_available_n
call fcn.004077c4
add esp, 0xc
lea eax, [esp + 0x48]
push eax
call edi
pop ecx
test ebx, ebx
je 0x403f41
push ebx
call dword [sym.imp.libav.dll_Ordinal_44293]
jmp 0x403f48
push ebp
call dword [sym.imp.MSVCR110.dll__close]
pop ecx
cmp eax, 0xffffffff
jne 0x403f2c
push esi
push str._buildcld:_close___failed_for__s_n
jmp 0x403ed8
lea eax, [esp + 0x48]
push eax
call edi
pop ecx
xor ecx, ecx
cmp eax, 0xffffffff
setne cl
lea eax, [ecx - 1]
jmp 0x403f5f
push ebp
call dword [sym.imp.MSVCR110.dll__close]
pop ecx
push dword [esp + 0x1c]
call dword [sym.imp.libav.dll_Ordinal_44274]
pop ecx
push esi
call dword [sym.imp.MSVCR110.dll__unlink]
pop ecx
or eax, 0xffffffff
mov ecx, dword [esp + 0x454]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00407bf7
add esp, 0x44c
ret