Function at 0x40fe28
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x34
mov eax, dword [0x78e580]
xor eax, esp
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x44]
and dword [esp], 0
push ebx
mov ebx, dword [esp + 0x3c]
push ebp
mov ebp, dword [esp + 0x48]
push esi
mov esi, dword [esp + 0x48]
push edi
mov edi, dword [esp + 0x58]
mov dword [esp + 0x1c], eax
xor eax, eax
push 0x501a6c
push esi
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], eax
call fcn.004486a3
pop ecx
pop ecx
test eax, eax
jne 0x40fec0
push 0x501a24
push ebp
call fcn.0044ac12
push 0x501a2c
push ebp
mov esi, eax
call fcn.0044ac12
add esp, 0x10
test esi, esi
jne 0x40fea6
test eax, eax
je 0x40feaa
push 3
push 0xffffffffffffffff
push eax
call fcn.00425176
add esp, 0xc
jmp 0x410008
test eax, eax
je 0x40feb5
push ebx
push 0x501c58
jmp 0x410173
push esi
call fcn.00425155
jmp 0x410007
push 0x501a74
push esi
call fcn.004486a3
mov ebp, 0x501a78
pop ecx
pop ecx
test eax, eax
je 0x40ff4b
push ebp
push esi
call fcn.004486a3
pop ecx
pop ecx
test eax, eax
je 0x40ff4b
push 0x501a84
push ebx
call fcn.004486a3
pop ecx
pop ecx
test eax, eax
jne 0x40ff27
push 0x501ed4
call fcn.00451b5b
pop ecx
push eax
push 0
call fcn.00408f70
push eax
push edi
call fcn.004418a5
push 0x501dc8
call fcn.00451b5b
push eax
push edi
call fcn.00441834
add esp, 0x1c
jmp 0x41018b
push ebx
push esi
push 0x501a90
call fcn.00451b5b
pop ecx
push eax
push 0xd
call fcn.00408f70
push eax
push edi
call fcn.004418a5
add esp, 0x18
jmp 0x41018b
push ebp
push esi
call fcn.004486a3
mov esi, dword [esp + 0x1c]
neg eax
push 0x501a38
sbb ebp, ebp
push esi
inc ebp
call fcn.0044ac12
add esp, 0x10
mov dword [esp + 0x28], eax
test eax, eax
jne 0x40ff7c
push ebx
push 0x501cd8
jmp 0x410173
push 0x501a40
push esi
call fcn.0044ac12
test eax, eax
mov esi, 0x501d24
push 0xa
cmovne esi, eax
lea eax, [esp + 0x2c]
push eax
push esi
call fcn.004bcaef
add esp, 0x14
mov ecx, eax
cmp byte [esi], 0
mov dword [esp + 0x24], ecx
je 0x41016d
mov eax, dword [esp + 0x20]
cmp byte [eax], 0
jne 0x41016d
test ecx, ecx
js 0x41016d
cmp ecx, 0x10000
jge 0x41016d
test ebp, ebp
je 0x40fffc
push 0x501a50
push dword [esp + 0x18]
call fcn.0044ac12
mov dword [esp + 0x20], eax
pop ecx
pop ecx
test eax, eax
jne 0x40fff8
push ebx
push 0x501d78
jmp 0x410173
mov ecx, dword [esp + 0x24]
push ecx
push dword [esp + 0x2c]
call fcn.00423b26
pop ecx
pop ecx
mov ebp, eax
test ebp, ebp
je 0x41018b
call fcn.00424b89
mov esi, eax
push 0
push esi
call fcn.00424b99
push edi
push dword [esp + 0x28]
push ebp
push esi
call fcn.00424597
push ebp
mov ebx, eax
call fcn.004760d1
push esi
call fcn.004760d1
add esp, 0x20
test ebx, ebx
je 0x41018b
mov ebp, dword [esp + 0x18]
mov esi, ebx
test ebp, ebp
je 0x41018f
push 0x501de0
push ebp
call fcn.004bcee6
pop ecx
pop ecx
mov dword [esp + 0x14], eax
call fcn.004bb8cc
mov ecx, dword [eax]
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x4100a7
push ecx
call fcn.00447d32
pop ecx
push eax
push ebp
push 0x501de4
call fcn.00451b5b
pop ecx
push eax
push 0xd
call fcn.00408f70
push eax
push edi
call fcn.004418a5
push ebx
call fcn.004760d1
add esp, 0x1c
xor esi, esi
jmp 0x41018f
push eax
push 0x11
lea eax, [esp + 0x34]
push 1
push eax
call fcn.004bd0d6
add esp, 0x10
mov dword [esp + 0x10], eax
call fcn.004bb8cc
mov ecx, dword [eax]
mov eax, dword [esp + 0x10]
cmp eax, 0x10
je 0x41011f
test eax, eax
jne 0x4100e3
push ecx
call fcn.00447d32
mov dword [esp + 0x14], eax
mov eax, 0x501e0c
pop ecx
jmp 0x4100e8
mov eax, 0x501e38
push eax
call fcn.00451b5b
mov esi, eax
call fcn.00408f70
mov ecx, dword [esp + 0x14]
push ecx
push ebp
push esi
push 0xd
push eax
push edi
call fcn.004418a5
push ebx
call fcn.004760d1
mov eax, dword [esp + 0x34]
and dword [esp + 0x30], 0
push eax
call fcn.004bcd32
add esp, 0x24
jmp 0x41018b
mov eax, dword [esp + 0x14]
push eax
call fcn.004bcd32
pop ecx
push edi
push dword [esp + 0x20]
lea eax, [esp + 0x34]
push 0
push 0x10
push eax
push ebx
call fcn.004169a7
pop ecx
push eax
call fcn.00419367
add esp, 0x18
test eax, eax
jne 0x41018f
push ebp
push 0x501e7c
call fcn.00451b5b
pop ecx
push eax
push edi
call fcn.00441834
push ebx
call fcn.004760d1
add esp, 0x10
jmp 0x4100a0
push ebx
push 0x501d28
call fcn.00451b5b
pop ecx
push eax
push 0xd
call fcn.00408f70
push eax
push edi
call fcn.004418a5
add esp, 0x14
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x40]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004b5ec4
add esp, 0x34
ret