Function at 0x10009b40
Capabilities:
Read file on windows

Disassembly:
push 0xffffffffffffffff
push 0x1007ce7e
mov eax, dword fs:[0]
push eax
sub esp, 0x14
push ebx
push ebp
push esi
push edi
mov eax, dword [0x100a0000]
xor eax, esp
push eax
lea eax, [esp + 0x28]
mov dword fs:[0], eax
mov eax, dword [esp + 0x38]
cmp dword [eax + 0x14], 8
jb 0x10009b73
mov eax, dword [eax]
push 0x100861f0
push eax
call fcn.100548fd
mov ebp, eax
add esp, 8
mov dword [esp + 0x18], ebp
test ebp, ebp
je 0x10009d38
xor esi, esi
xor ebx, ebx
xor edi, edi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x38], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], edi
push ebp
push 1
lea eax, [esp + 0x1f]
push 1
push eax
mov dword [esp + 0x40], edi
call fcn.100541ad
add esp, 0x10
test eax, eax
je 0x10009cab
lea eax, [esp + 0x17]
cmp eax, esi
jae 0x10009c30
cmp ebx, eax
ja 0x10009c30
mov ebp, eax
sub ebp, ebx
cmp esi, edi
jne 0x10009c21
mov eax, edi
sub eax, esi
cmp eax, 1
jae 0x10009c21
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 1
jb 0x10009ccd
sub edi, ebx
mov ecx, edi
shr ecx, 1
or eax, 0xffffffff
sub esi, ebx
sub eax, ecx
inc esi
cmp eax, edi
jae 0x10009c04
xor edi, edi
jmp 0x10009c06
add edi, ecx
cmp edi, esi
cmovb edi, esi
push edi
lea ecx, [esp + 0x20]
call fcn.1000164f
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
test esi, esi
je 0x10009c2a
mov al, byte [ebx + ebp]
mov byte [esi], al
mov ebp, dword [esp + 0x18]
jmp 0x10009c88
cmp esi, edi
jne 0x10009c7e
mov eax, edi
sub eax, esi
cmp eax, 1
jae 0x10009c7e
mov eax, ebx
sub eax, esi
dec eax
cmp eax, 1
jb 0x10009ccd
sub edi, ebx
mov ecx, edi
shr ecx, 1
or eax, 0xffffffff
sub esi, ebx
sub eax, ecx
inc esi
cmp eax, edi
jae 0x10009c61
xor edi, edi
jmp 0x10009c63
add edi, ecx
cmp edi, esi
cmovb edi, esi
push edi
lea ecx, [esp + 0x20]
call fcn.1000164f
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
test esi, esi
je 0x10009c88
mov al, byte [esp + 0x17]
mov byte [esi], al
push ebp
push 1
lea eax, [esp + 0x1f]
inc esi
push 1
push eax
mov dword [esp + 0x30], esi
mov dword [esp + 0x48], esi
call fcn.100541ad
add esp, 0x10
test eax, eax
jne 0x10009bc3
push ebp
call fcn.10053f58
mov edi, dword [esp + 0x40]
mov eax, esi
mov ebp, dword [edi + 0x10]
sub eax, ebx
add esp, 4
cmp eax, ebp
ja 0x10009cd7
mov byte [esp + 0x38], 0
jmp 0x10009d53
push str.vector_T__too_long
call fcn.100520b4
xor ecx, ecx
mov dword [esp + 0x18], ecx
lea ecx, [ecx]
xor edx, edx
test ebp, ebp
je 0x10009d18
mov esi, dword [esp + 0x18]
lea ebx, [ebx]
cmp dword [edi + 0x14], 8
jb 0x10009cfa
mov eax, dword [edi]
jmp 0x10009cfc
mov eax, edi
movzx ecx, word [eax + edx*2]
lea eax, [ebx + edx]
movsx eax, byte [eax + esi]
cmp eax, ecx
jne 0x10009d10
inc edx
cmp edx, ebp
jb 0x10009cf0
mov esi, dword [esp + 0x38]
mov ecx, dword [esp + 0x18]
cmp edx, ebp
je 0x10009d4e
mov eax, esi
sub eax, ebp
inc ecx
sub eax, ebx
mov dword [esp + 0x18], ecx
cmp ecx, eax
jbe 0x10009ce0
test ebx, ebx
je 0x10009d38
push ebx
call fcn.10052462
add esp, 4
xor al, al
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
mov byte [esp + 0x38], 1
test ebx, ebx
je 0x10009d60
push ebx
call fcn.10052462
add esp, 4
mov al, byte [esp + 0x38]
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret