Function at 0x568b40
Capabilities:
Check if file exists
Get file attributes
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc64
mov eax, dword [0x5ed130]
xor eax, ebp
mov dword [ebp - 8], eax
mov dword [ebp - 0xc64], ecx
mov eax, dword [ebp - 0xc64]
cmp dword [eax + 4], 0
jne 0x568b6c
xor al, al
jmp 0x568eb2
movzx ecx, byte [ebp + 0xc]
test ecx, ecx
jne 0x568b91
push 0x5dbbec
mov edx, dword [ebp + 8]
push edx
call fcn.00444730
add esp, 8
cmp eax, dword [ebp + 8]
jne 0x568b91
xor al, al
jmp 0x568eb2
push 0x3a
mov eax, dword [ebp + 8]
push eax
call fcn.00441850
add esp, 8
neg eax
sbb eax, eax
neg eax
mov byte [ebp - 0x231], al
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x230]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp - 0x230]
push eax
mov ecx, dword [ebp - 0xc64]
call fcn.00568ac0
mov cl, byte [0x5db147]
mov byte [ebp - 0x110], cl
push 0x103
push 0
lea edx, [ebp - 0x10f]
push edx
call fcn.0043fa10
add esp, 0xc
movzx eax, byte [ebp + 0xc]
test eax, eax
je 0x568c3c
lea ecx, [ebp - 0x458]
push ecx
lea edx, [ebp - 0x358]
push edx
push 0
push 0
mov eax, dword [ebp + 8]
push eax
call fcn.00445659
add esp, 0x14
lea ecx, [ebp - 0x458]
push ecx
lea edx, [ebp - 0x358]
push edx
push 0
push 0
lea eax, [ebp - 0x110]
push eax
call fcn.004456a5
add esp, 0x14
jmp 0x568cd9
movzx ecx, byte [ebp - 0x231]
test ecx, ecx
je 0x568c9c
mov edx, dword [ebp - 0xc64]
add edx, 8
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
mov eax, dword [ebp - 0xc64]
add eax, 8
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00443fdf
add esp, 0xc
test eax, eax
je 0x568c79
xor al, al
jmp 0x568eb2
mov edx, dword [ebp - 0xc64]
add edx, 8
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, dword [ebp + 8]
push eax
lea eax, [ebp - 0x110]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x568cd9
push 0x5dbbf0
mov ecx, dword [ebp + 8]
push ecx
call fcn.00444730
add esp, 8
cmp eax, dword [ebp + 8]
jne 0x568cc8
mov edx, dword [ebp + 8]
add edx, 2
push edx
lea eax, [ebp - 0x110]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x568cd9
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x110]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [ebp - 0x23c], 0
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov dword [ebp - 0x238], eax
push 1
lea ecx, [ebp - 0x124]
push ecx
lea edx, [ebp - 0x230]
push edx
call fcn.00568a00
add esp, 0xc
mov dword [ebp - 0x240], 0
movzx eax, word [ebp - 0x124]
mov dword [ebp - 0x244], eax
movzx ecx, word [ebp - 0x122]
sub ecx, 1
mov dword [ebp - 0x248], ecx
movzx edx, word [ebp - 0x11e]
mov dword [ebp - 0x24c], edx
movzx eax, word [ebp - 0x11c]
mov dword [ebp - 0x250], eax
movzx ecx, word [ebp - 0x11a]
mov dword [ebp - 0x254], ecx
movzx edx, word [ebp - 0x118]
mov dword [ebp - 0x258], edx
push 0
push 1
push 3
push 0
push 0
push accept
lea eax, [ebp - 0x230]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x114], eax
cmp dword [ebp - 0x114], 0xffffffff
jne 0x568d98
xor al, al
jmp 0x568eb2
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x258]
push ecx
lea edx, [ebp - 0x110]
push edx
mov eax, dword [ebp - 0xc64]
mov ecx, dword [eax + 4]
push ecx
or eax, 0xffffffff
mov ecx, 8
xor edx, edx
call fcn.0042e540
add esp, 0x1c
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x568e8e
mov edx, dword [ebp - 0xc64]
mov eax, dword [edx + 0x110]
add eax, 1
mov ecx, dword [ebp - 0xc64]
mov dword [ecx + 0x110], eax
mov dword [ebp - 0xc60], 0
mov dword [ebp - 0xc5c], 0
cmp dword [ebp - 4], 0
jne 0x568e70
push 0
lea edx, [ebp - 0xc60]
push edx
push 0x800
lea eax, [ebp - 0xc58]
push eax
mov ecx, dword [ebp - 0x114]
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x568e70
mov edx, dword [ebp - 0xc5c]
add edx, dword [ebp - 0xc60]
mov dword [ebp - 0xc5c], edx
cmp dword [ebp - 0xc60], 0
je 0x568e6c
mov eax, dword [ebp - 0xc60]
lea ecx, [ebp - 0xc58]
mov edx, dword [ebp - 0xc64]
mov edx, dword [edx + 4]
call fcn.0042e680
mov dword [ebp - 4], eax
jmp 0x568e6e
jmp 0x568e70
jmp 0x568e06
mov eax, dword [ebp - 0xc64]
mov ecx, dword [eax + 0x118]
add ecx, dword [ebp - 0xc5c]
mov edx, dword [ebp - 0xc64]
mov dword [edx + 0x118], ecx
mov eax, dword [ebp - 0xc64]
mov eax, dword [eax + 4]
call fcn.0042ee20
mov ecx, dword [ebp - 0x114]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
cmp dword [ebp - 4], 0
sete al
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0043dd0c
mov esp, ebp
pop ebp
ret 8