Function at 0x4039f0
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 0x403e2e
mov edi, dword [sym.imp.MSVCR110.dll__chdir]
push ebp
call edi
pop ecx
cmp eax, 0xffffffff
jne 0x403a5b
push ebp
push str._buildcld:_Cant_access_directory__s_n
call fcn.004089d4
pop ecx
jmp 0x403e2d
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 0x403aa9
lea eax, [esp + 0x28]
push eax
push str._buildcld:_Cant_open__s_n
call fcn.004089d4
lea eax, [esp + 0x50]
push eax
call edi
add esp, 0xc
jmp 0x403e2e
push 0x200
lea eax, [esp + 0x24c]
push eax
push ebp
call dword [sym.imp.MSVCR110.dll__read]
add esp, 0xc
cmp eax, 0xffffffff
jne 0x403aea
lea eax, [esp + 0x28]
push eax
push str._buildcld:_Cant_read__s_n
call fcn.004089d4
lea eax, [esp + 0x50]
push eax
call edi
add esp, 0xc
push ebp
call dword [sym.imp.MSVCR110.dll__close]
jmp 0x403e2d
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 0x403b22
lea eax, [esp + 0x28]
push eax
push str._buildcld:_Bad_format_of__s_n
jmp 0x403a95
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 0x403b5d
push esi
push str._buildcld:_Cant_open__s_for_writing_n
jmp 0x403a95
push 0x200
lea eax, [esp + 0x24c]
push eax
push ebp
call dword [sym.imp.MSVCR110.dll__write]
add esp, 0xc
cmp eax, 0x200
je 0x403b9c
push esi
push str._buildcld:_Cant_write_to__s_n
call fcn.004089d4
lea eax, [esp + 0x50]
push eax
call edi
add esp, 0xc
push ebp
call dword [sym.imp.MSVCR110.dll__close]
jmp 0x403e25
push 0x40d324
call dword [sym.imp.libav.dll_Ordinal_44272]
pop ecx
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x403bbb
push dword [esp + 0x18]
push str._buildcld:_Cant_open_directory__s_n
jmp 0x403b81
cmp dword [esp + 0x464], ebx
je 0x403bff
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 0x403bff
push esi
push str._buildcld:_gzopen___failed_for__s_n
call fcn.004089d4
lea eax, [esp + 0x50]
push eax
call edi
add esp, 0xc
jmp 0x403e1b
push 4
push str.COPYING
call dword [sym.imp.libav.dll_Ordinal_44340]
pop ecx
pop ecx
test eax, eax
jne 0x403dd4
push str.COPYING
mov edx, ebx
mov ecx, ebp
call fcn.004089e2
pop ecx
cmp eax, 0xffffffff
jne 0x403c3f
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.004089d4
pop ecx
pop ecx
jmp 0x403dd4
lea eax, [esp + 0x28]
push 4
push eax
call dword [sym.imp.libav.dll_Ordinal_44340]
pop ecx
pop ecx
test eax, eax
jne 0x403c6f
lea eax, [esp + 0x28]
push eax
mov edx, ebx
mov ecx, ebp
call fcn.004089e2
pop ecx
cmp eax, 0xffffffff
jne 0x403c6f
lea eax, [esp + 0x28]
jmp 0x403dc2
push 4
push str.daily.cfg
call dword [sym.imp.libav.dll_Ordinal_44340]
pop ecx
pop ecx
test eax, eax
jne 0x403d72
push str.daily.cfg
mov edx, ebx
mov ecx, ebp
call fcn.004089e2
pop ecx
cmp eax, 0xffffffff
jne 0x403d72
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 0x403c33
xor ecx, ecx
cmp word [eax], cx
je 0x403d72
lea ecx, [eax + 3]
cmp byte [ecx], 0x2e
jne 0x403cc8
movzx eax, byte [ecx + 1]
test al, al
je 0x403d72
push 3
push 0x40d5a0
push ecx
call sub.MSVCR110.dll_memcmp
add esp, 0xc
test eax, eax
je 0x403d72
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 0x403d72
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 0x403d72
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 0x403d59
cmp byte [esp + 0x17], 0
je 0x403d55
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
mov byte [esp + 0x17], bl
mov ebx, dword [esp + 0x24]
jne 0x403d59
add eax, 2
add edx, 2
cmp byte [esp + 0x17], 0
jne 0x403d23
xor eax, eax
jmp 0x403d5e
sbb eax, eax
or eax, 1
test eax, eax
je 0x403d72
push ecx
mov edx, ebx
mov ecx, ebp
call fcn.004089e2
pop ecx
cmp eax, 0xffffffff
je 0x403dbb
push dword [esp + 0x1c]
call dword [sym.imp.libav.dll_Ordinal_44273]
mov dword [esp + 0x1c], eax
pop ecx
test eax, eax
jne 0x403ca9
push dword [esp + 0x1c]
call dword [sym.imp.libav.dll_Ordinal_44274]
pop ecx
test ebx, ebx
je 0x403de9
push ebx
call dword [sym.imp.libav.dll_Ordinal_44293]
pop ecx
test eax, eax
je 0x403dfe
push esi
push str._buildcld:_gzclose___failed_for__s_n
call fcn.004089d4
push esi
call dword [sym.imp.MSVCR110.dll__unlink]
jmp 0x403aa1
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.004089d4
add esp, 0xc
lea eax, [esp + 0x48]
push eax
call edi
pop ecx
test ebx, ebx
je 0x403e13
push ebx
call dword [sym.imp.libav.dll_Ordinal_44293]
jmp 0x403e1a
push ebp
call dword [sym.imp.MSVCR110.dll__close]
pop ecx
cmp eax, 0xffffffff
jne 0x403dfe
push esi
push str._buildcld:_close___failed_for__s_n
jmp 0x403daa
lea eax, [esp + 0x48]
push eax
call edi
pop ecx
xor ecx, ecx
cmp eax, 0xffffffff
setne cl
lea eax, [ecx - 1]
jmp 0x403e31
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.00401000
add esp, 0x44c
ret