Function at 0x10007205
Capabilities:
Read file on windows

Disassembly:
push ebp
lea ebp, [esp - 0x38c]
sub esp, 0x40c
mov eax, dword [0x10024050]
xor eax, ebp
mov dword [ebp + 0x388], eax
push esi
push edi
mov esi, edx
mov edi, ecx
push esi
push edi
call fcn.10008900
mov dword [ebp - 0x80], eax
and eax, edx
mov dword [ebp - 0x7c], edx
or edx, 0xffffffff
pop ecx
pop ecx
cmp eax, edx
jne 0x10007245
mov eax, edx
jmp 0x10007429
xor ecx, ecx
push ebx
cmp byte [0x10025494], cl
je 0x10007440
movzx ecx, byte [esi + 0xf]
movzx eax, byte [esi + 0xe]
movzx edx, byte [esi + 0xb]
movzx ebx, byte [esi + 0xa]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0xd]
shl edx, 8
or edx, ebx
movzx ebx, byte [esi + 9]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0xc]
movzx esi, byte [esi + 8]
shl edx, 8
or edx, ebx
shl ecx, 8
or ecx, eax
shl edx, 8
or edx, esi
xor eax, eax
xor esi, esi
or eax, edx
or ecx, esi
jg 0x100072aa
jl 0x100074ab
test eax, eax
jb 0x100074ab
push 0
push ecx
push eax
push edi
call fcn.1000b041
add esp, 0x10
test edx, edx
jg 0x100072c9
jl 0x100074ab
test eax, eax
jb 0x100074ab
push 0x400
lea eax, [ebp - 0x78]
push eax
push edi
call fcn.10017507
add esp, 0xc
test eax, eax
js 0x100074ab
movzx eax, byte [ebp - 0x75]
movzx ecx, byte [ebp - 0x76]
shl eax, 8
or eax, ecx
movzx ecx, byte [ebp - 0x77]
shl eax, 8
or eax, ecx
movzx ecx, byte [ebp - 0x78]
shl eax, 8
or eax, ecx
cmp eax, 0x6064b50
jne 0x100074ab
movzx ecx, byte [ebp - 0x41]
movzx eax, byte [ebp - 0x42]
movzx edx, byte [ebp - 0x45]
movzx esi, byte [ebp - 0x46]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x43]
shl edx, 8
or edx, esi
movzx esi, byte [ebp - 0x47]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0x44]
shl edx, 8
or edx, esi
movzx esi, byte [ebp - 0x48]
shl ecx, 8
or ecx, eax
shl edx, 8
or edx, esi
xor eax, eax
xor esi, esi
or eax, edx
or ecx, esi
jg 0x10007363
jl 0x100074ab
test eax, eax
jb 0x100074ab
push 0
push ecx
push eax
push edi
call fcn.1000b041
add esp, 0x10
test edx, edx
jg 0x10007382
jl 0x100074ab
test eax, eax
jb 0x100074ab
movzx eax, byte [ebp - 0x41]
movzx ecx, byte [ebp - 0x42]
movzx edx, byte [ebp - 0x45]
movzx esi, byte [ebp - 0x46]
shl eax, 8
or eax, ecx
movzx ecx, byte [ebp - 0x43]
shl eax, 8
or eax, ecx
movzx ecx, byte [ebp - 0x44]
shl edx, 8
or edx, esi
movzx esi, byte [ebp - 0x47]
movzx edi, byte [ebp - 0x4d]
movzx ebx, byte [ebp - 0x4e]
shl eax, 8
or eax, ecx
shl edx, 8
or edx, esi
movzx esi, byte [ebp - 0x48]
xor ecx, ecx
shl edx, 8
or edx, esi
xor esi, esi
or eax, esi
movzx esi, byte [ebp - 0x4a]
or ecx, edx
push 0xffffffffffffffc8
pop edx
sub edx, ecx
push 0xffffffffffffffff
pop ecx
sbb ecx, eax
movzx eax, byte [ebp - 0x49]
shl eax, 8
or eax, esi
movzx esi, byte [ebp - 0x4b]
shl edi, 8
or edi, ebx
movzx ebx, byte [ebp - 0x4f]
shl eax, 8
or eax, esi
movzx esi, byte [ebp - 0x4c]
shl edi, 8
or edi, ebx
movzx ebx, byte [ebp - 0x50]
shl eax, 8
or eax, esi
shl edi, 8
or edi, ebx
xor esi, esi
xor ebx, ebx
or esi, edi
or eax, ebx
sub edx, esi
sbb ecx, eax
add dword [ebp - 0x80], edx
adc dword [ebp - 0x7c], ecx
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0x7c]
pop ebx
mov ecx, dword [ebp + 0x388]
pop edi
xor ecx, ebp
pop esi
call fcn.10008c61
add ebp, 0x38c
leave
ret
movzx eax, byte [esi + 0x13]
movzx edx, byte [esi + 0x12]
movzx ebx, byte [esi + 0xe]
shl eax, 8
or eax, edx
movzx edx, byte [esi + 0x11]
shl eax, 8
or eax, edx
movzx edx, byte [esi + 0x10]
shl eax, 8
or eax, edx
movzx edx, byte [esi + 0xf]
shl edx, 8
or edx, ebx
movzx ebx, byte [esi + 0xd]
movzx esi, byte [esi + 0xc]
shl edx, 8
or edx, ebx
shl edx, 8
or edx, esi
xor esi, esi
add edx, eax
adc esi, ecx
sub dword [ebp - 0x80], edx
push 0
sbb dword [ebp - 0x7c], esi
add eax, dword [ebp - 0x80]
adc ecx, dword [ebp - 0x7c]
push ecx
push eax
push edi
call fcn.1000b041
add esp, 0x10
test edx, edx
jg 0x10007422
jl 0x100074ab
test eax, eax
jae 0x10007422
or edx, 0xffffffff
mov eax, edx
jmp 0x10007428