Function at 0x5abb10
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
mov ebx, ecx
push esi
push edi
mov dword [ebp - 4], ebx
mov edi, dword [ebx]
test edi, edi
je 0x5abbbc
mov edx, dword [0x7e7500]
xor esi, esi
test edx, edx
jle 0x5abbaf
mov eax, 0x7e7708
mov ecx, dword [eax]
cmp edi, ecx
je 0x5abb49
inc esi
add eax, 0x210
cmp esi, edx
jl 0x5abb37
jmp 0x5abbaf
imul edi, esi, 0x210
add dword [edi + 0x7e7710], 0xffffffff
jne 0x5abbaf
push ecx
call fcn.005cff1c
mov eax, dword [0x7e7500]
add esp, 4
dec eax
mov dword [edi + 0x7e7708], 0
mov dword [edi + 0x7e770c], 0
mov dword [0x7e7500], eax
cmp esi, eax
jge 0x5abbaf
imul eax, eax, 0x210
lea edi, [edi + 0x7e7508]
push 0x210
mov ecx, 0x84
push 0
lea eax, [eax + 0x7e7508]
mov esi, eax
rep movsd dword es:[edi], dword [esi]
push eax
call fcn.005c0be0
add esp, 0xc
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x5abda5
mov ecx, eax
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x5abbd0
sub ecx, edx
cmp ecx, 0x200
jae 0x5abda5
xor esi, esi
cmp dword [0x7e7500], esi
jle 0x5abc3c
mov edi, 0x7e7508
mov eax, dword [ebp + 0xc]
mov ecx, edi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5abc20
test dl, dl
je 0x5abc1c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5abc20
add eax, 2
add ecx, 2
test dl, dl
jne 0x5abc00
xor eax, eax
jmp 0x5abc25
sbb eax, eax
or eax, 1
test eax, eax
je 0x5abcd4
inc esi
add edi, 0x210
cmp esi, dword [0x7e7500]
jl 0x5abbf4
mov eax, dword [ebp + 0x14]
test eax, eax
jne 0x5abcfc
cmp byte [ebp + 8], al
je 0x5abda5
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x5abda5
push esi
call fcn.005cff37
mov edi, eax
add esp, 4
test edi, edi
je 0x5abda5
push esi
push 0
push edi
call fcn.005c0be0
push dword [ebp + 0xc]
mov dword [ebx + 4], esi
mov dword [ebx], edi
imul ecx, dword [0x7e7500], 0x210
push 0x200
mov dword [ecx + 0x7e7708], edi
mov eax, dword [ebx + 4]
mov dword [ecx + 0x7e770c], eax
lea eax, [ecx + 0x7e7508]
push eax
call fcn.0058e640
add esp, 0x18
mov ecx, dword [0x7e7500]
imul eax, ecx, 0x210
inc ecx
pop edi
pop esi
mov dword [0x7e7500], ecx
pop ebx
mov dword [eax + 0x7e7710], 1
mov al, 1
mov esp, ebp
pop ebp
ret 0x10
imul ecx, esi, 0x210
pop edi
pop esi
mov eax, dword [ecx + 0x7e7708]
mov dword [ebx], eax
mov eax, dword [ecx + 0x7e770c]
mov dword [ebx + 4], eax
mov al, 1
inc dword [ecx + 0x7e7710]
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 0x796c7c
push eax
call fcn.0058e310
mov esi, eax
add esp, 8
test esi, esi
je 0x5abda5
push 2
push 0
push esi
call fcn.005c5363
push esi
call fcn.005c4cd9
push 0
push 0
push esi
mov edi, eax
call fcn.005c5363
add esp, 0x1c
test edi, edi
jle 0x5abd9c
push edi
call fcn.005cff37
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x5abd9c
push edi
push 0
push ebx
call fcn.005c0be0
push esi
push 1
push edi
push ebx
call fcn.005cb2c3
push esi
call fcn.005c5010
mov eax, dword [ebp - 4]
push dword [ebp + 0xc]
push 0x200
mov dword [eax], ebx
mov dword [eax + 4], edi
imul ecx, dword [0x7e7500], 0x210
mov dword [ecx + 0x7e7708], ebx
mov eax, dword [eax + 4]
mov dword [ecx + 0x7e770c], eax
lea eax, [ecx + 0x7e7508]
push eax
call fcn.0058e640
add esp, 0x2c
jmp 0x5abcac
push esi
call fcn.005c5010
add esp, 4
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret 0x10