Function at 0x467c04
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe4
push ebx
push esi
push edi
mov dword [ebp - 4], edx
mov ebx, eax
xor eax, eax
mov dword [ebp - 8], eax
mov esi, dword [ebx + 0x40]
mov edx, dword [ebx + 0x28]
mov eax, edx
add eax, 0x17
cmp esi, eax
jb 0x467c2b
mov dword [ebp - 0x18], eax
jmp 0x467c4d
test edx, edx
jne 0x467c38
mov dword [ebp - 0x18], 0x17
jmp 0x467c4d
cmp esi, 0x8000
jbe 0x467c49
mov dword [ebp - 0x18], 0x8000
jmp 0x467c4d
dec esi
mov dword [ebp - 0x18], esi
mov byte [ebx + 0x31e], 0
mov eax, dword [ebx + 0x40]
mov esi, dword [ebp - 0x18]
cmp eax, esi
jbe 0x467edc
cmp dword [ebp - 0x18], 0x16
jbe 0x467edc
mov eax, dword [ebp - 0x18]
inc eax
call fcn.0040271c
mov dword [ebp - 0x14], eax
xor edi, edi
push ebp
push 0x467ed5
push dword fs:[edi]
mov dword fs:[edi], esp
mov eax, dword [ebx + 0x40]
sub eax, esi
je 0x467ebb
mov edx, dword [ebx + 0x40]
sub edx, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004610e0
test al, al
je 0x467ebb
push 0
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 4]
push eax
call sub.KERNEL32.DLL_ReadFile_1
sub dword [ebp - 0x1c], 0x16
cmp dword [ebp - 0x1c], 0
jbe 0x467ebb
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
add eax, edx
mov dword [ebx + 0x50], eax
cmp dword [eax], 0x6054b50
jne 0x467eae
mov edx, eax
lea eax, [ebx + 0xcc]
mov ecx, 0x16
call fcn.004675bc
mov eax, dword [ebx + 0x40]
mov edx, dword [ebp - 0x18]
sub edx, dword [ebp - 0x1c]
sub eax, edx
add eax, 0x16
mov dword [ebx + 0x2c], eax
or byte [ebx + 0x31e], 1
mov edx, dword [ebx + 0xdc]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004610e0
push 0
lea eax, [ebp - 0x1c]
push eax
push 0x2e
lea eax, [ebx + 0x68]
push eax
mov eax, dword [ebp - 4]
push eax
call sub.KERNEL32.DLL_ReadFile_1
cmp dword [ebx + 0x68], 0x2014b50
jne 0x467e03
or byte [ebx + 0x31e], 8
mov eax, dword [ebx + 0xdc]
mov dword [ebp - 8], eax
test byte [ebx + 0x70], 0x40
jne 0x467d9b
mov edx, dword [ebx + 0x92]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004610e0
push 0
lea eax, [ebp - 0x1c]
push eax
push 0x1e
lea eax, [ebx + 0xe2]
push eax
mov eax, dword [ebp - 4]
push eax
call sub.KERNEL32.DLL_ReadFile_1
cmp dword [ebx + 0xe2], 0x4034b50
jne 0x467ebb
or byte [ebx + 0x31e], 0x10
jmp 0x467ebb
mov edx, eax
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004610e0
push 0
lea eax, [ebp - 0x1c]
push eax
push 0x2e
lea eax, [ebx + 0x96]
push eax
mov eax, dword [ebp - 4]
push eax
call sub.KERNEL32.DLL_ReadFile_1
mov edx, dword [ebx + 0xc0]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004610e0
push 0
lea eax, [ebp - 0x1c]
push eax
push 0x1e
lea eax, [ebx + 0x100]
push eax
mov eax, dword [ebp - 4]
push eax
call sub.KERNEL32.DLL_ReadFile_1
cmp dword [ebx + 0x100], 0x4034b50
jne 0x467ebb
or byte [ebx + 0x31e], 0x10
jmp 0x467ebb
mov eax, 0x8001
call fcn.0040271c
mov dword [ebp - 0x10], eax
xor edi, edi
push ebp
push 0x467ea7
push dword fs:[edi]
mov dword fs:[edi], esp
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.004610e0
test al, al
je 0x467e91
xor eax, eax
mov dword [ebp - 0xc], eax
push 0
lea eax, [ebp - 0x1c]
push eax
push 0x8000
mov esi, dword [ebp - 0x10]
push esi
mov eax, dword [ebp - 4]
push eax
call sub.KERNEL32.DLL_ReadFile_1
mov edx, esi
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x467e82
inc eax
xor ecx, ecx
cmp byte [edx], 0x50
jne 0x467e7d
mov esi, dword [ebp - 0x10]
add esi, ecx
cmp dword [esi], 0x4034b50
jne 0x467e7d
mov eax, dword [ebp - 0xc]
shl eax, 0xf
add ecx, eax
mov dword [ebp - 8], ecx
mov byte [ebx + 0x31e], 0x10
jmp 0x467e82
inc edx
inc ecx
dec eax
jne 0x467e57
cmp dword [ebp - 8], 0
ja 0x467e91
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 4
jne 0x467e33
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x467ebb
mov eax, dword [ebp - 0x10]
call fcn.00402734
ret
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0
ja 0x467cce
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x467edc
mov edx, dword [ebp - 0x18]
inc edx
mov eax, dword [ebp - 0x14]
call fcn.00402734
ret
mov eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret