Function at 0x100026a0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x28
push ebx
push ebp
push esi
mov esi, ecx
cmp byte [esi + 0x12828], 0
push edi
jne 0x100026dd
mov ecx, dword [esi + 4]
push ecx
push 1
lea eax, [esi + 0xc]
push 4
push eax
call fcn.1000a62c
add esp, 0x10
cmp eax, 1
jae 0x10002711
push str.Read_Error
mov ecx, esi
call fcn.10001850
cmp dword [esi + 0x1284c], 4
jae 0x100026f0
push str.Read_Error
call fcn.10001850
mov eax, dword [esi + 0x12850]
mov edx, dword [esi + 0x12848]
mov ecx, dword [eax + edx]
add eax, 4
mov dword [esi + 0xc], ecx
mov dword [esi + 0x12844], ecx
mov dword [esi + 0x12850], eax
cmp dword [esi + 0xc], 0
je 0x100028f6
mov ecx, esi
call fcn.10001a60
mov ecx, esi
call fcn.10001880
push 0xfc4
lea eax, [esi + 0x18]
push 0x20
push eax
call fcn.10009d80
xor ebp, ebp
add esp, 0xc
mov dword [esp + 0x14], 0xfc4
mov dword [esp + 0x18], ebp
cmp dword [esi + 0xc], ebp
jbe 0x100028e8
mov ecx, esi
call fcn.10001af0
mov ebx, eax
cmp ebx, 0x100
jge 0x100027ef
cmp byte [esi + 0x12828], 0
jne 0x10002780
mov eax, dword [esi + 8]
push eax
push ebx
call fcn.1000a1fc
add esp, 8
jmp 0x100027cf
mov eax, dword [esi + 0x12838]
lea edi, [esi + 0x1282c]
mov byte [esp + 0x13], bl
test eax, eax
jne 0x10002798
xor ecx, ecx
jmp 0x1000279d
mov ecx, dword [edi + 0x14]
sub ecx, eax
mov ebp, dword [edi + 0x10]
mov edx, ebp
sub edx, eax
cmp edx, ecx
jae 0x100027b1
mov byte [ebp], bl
inc ebp
mov dword [edi + 0x10], ebp
jmp 0x100027cf
cmp eax, ebp
jbe 0x100027ba
call fcn.1000a1ec
mov eax, dword [edi]
lea ecx, [esp + 0x13]
push ecx
push ebp
push eax
lea edx, [esp + 0x34]
push edx
mov ecx, edi
call fcn.10002510
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov byte [esi + eax + 0x18], bl
inc eax
and eax, 0xfff
inc ebp
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ebp
jmp 0x100028c5
mov ecx, esi
call fcn.10001c70
mov edi, dword [esp + 0x14]
sub edi, eax
dec edi
add ebx, 0xffffff03
and edi, 0xfff
xor eax, eax
mov dword [esp + 0x1c], edi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], eax
test ebx, ebx
jle 0x100028c5
add ebp, ebx
mov dword [esp + 0x18], ebp
add eax, edi
and eax, 0xfff
cmp byte [esi + 0x12828], 0
movzx ebx, byte [eax + esi + 0x18]
jne 0x10002849
mov eax, dword [esi + 8]
push eax
push ebx
call fcn.1000a1fc
add esp, 8
jmp 0x1000289c
mov eax, dword [esi + 0x12838]
lea edi, [esi + 0x1282c]
mov byte [esp + 0x13], bl
test eax, eax
jne 0x10002861
xor ecx, ecx
jmp 0x10002866
mov ecx, dword [edi + 0x14]
sub ecx, eax
mov ebp, dword [edi + 0x10]
mov edx, ebp
sub edx, eax
cmp edx, ecx
jae 0x1000287a
mov byte [ebp], bl
inc ebp
mov dword [edi + 0x10], ebp
jmp 0x10002898
cmp eax, ebp
jbe 0x10002883
call fcn.1000a1ec
mov eax, dword [edi]
lea ecx, [esp + 0x13]
push ecx
push ebp
push eax
lea edx, [esp + 0x3c]
push edx
mov ecx, edi
call fcn.10002510
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov byte [esi + eax + 0x18], bl
inc eax
and eax, 0xfff
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
inc eax
cmp eax, dword [esp + 0x24]
mov dword [esp + 0x20], eax
jl 0x10002825
mov ebp, dword [esp + 0x18]
cmp ebp, dword [esi + 0x14]
jbe 0x100028df
push ebp
push str._12lu_r
call fcn.10009ec6
add esp, 8
add dword [esi + 0x14], 0x400
cmp ebp, dword [esi + 0xc]
jb 0x10002753
push ebp
push str._12lu_n
call fcn.10009ec6
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret