Function at 0x140128220
Capabilities:
Read file on windows

Disassembly:
movsx eax, word [r8 + 0x22]
cmp eax, 0xf
jl 0x140127118
cmp eax, 0x10
jle 0x140127113
cmp eax, 0x18
je 0x14012710e
cmp eax, 0x20
jne 0x140127118
jmp 0x1401280f0
jmp 0x140127fc0
jmp 0x140127e50
jmp 0x140128220
mov qword [rsp + 0x20], rbx
push rbp
push rdi
push r15
sub rsp, 0x20
mov r15, rdx
mov rbp, rcx
mov eax, 0xf
mov rdx, r8
mov rcx, r15
mov rdi, r8
mov dword [r8], 0x80
mov word [r8 + 0x22], ax
call fcn.14005ee10
movzx ebx, ax
test ax, ax
jne 0x140127f22
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], r12
xor r12d, r12d
mov qword [rsp + 0x50], r14
mov r14, qword [rdi + 0x10]
movzx esi, r12w
cmp dword [rdi + 0x1c], r12d
jle 0x140127f03
nop
movzx ebx, r12w
cmp dword [rdi + 0x18], r12d
jle 0x140127edb
nop word [rax + rax]
mov rcx, rbp
call fcn.140066da0
movzx ecx, bx
inc bx
mov word [r14 + rcx*2], ax
movzx eax, bx
cmp eax, dword [rdi + 0x18]
jl 0x140127ec0
or r8d, 0xffffffff
mov r9d, 1
mov rcx, r15
or edx, r8d
call fcn.1400615b0
movzx ebx, ax
test ax, ax
jne 0x140127f03
inc si
movzx eax, si
cmp eax, dword [rdi + 0x1c]
jl 0x140127eb0
xor r8d, r8d
xor edx, edx
xor r9d, r9d
mov rcx, r15
call fcn.14005cb20
mov r14, qword [rsp + 0x50]
mov r12, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x40]
movzx eax, bx
mov rbx, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop rdi
pop rbp
ret
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push r14
sub rsp, 0x20
mov rbp, rdx
mov r14, rcx
mov rdx, r8
mov rcx, rbp
mov rbx, r8
mov dword [r8], 8
call fcn.14005ee10
movzx esi, ax
test ax, ax
jne 0x140128062
mov qword [rsp + 0x30], rdi
xor edi, edi
cmp dword [rbx + 0x1c], edi
jle 0x14012804d
movsxd rdx, dword [rbx + 0x18]
mov r9, qword [r14]
mov rcx, qword [rbx + 0x10]
mov r8d, 3
call fcn.1401c1e14
cmp rax, 3
jne 0x140128048
or r8d, 0xffffffff
lea r9d, [rax - 2]
mov rcx, rbp
or edx, r8d
call fcn.1400615b0
movzx esi, ax
test ax, ax
jne 0x14012804d
inc di
movzx eax, di
cmp eax, dword [rbx + 0x1c]
jl 0x140128004
jmp 0x14012804d
mov esi, 4
xor r8d, r8d
xor edx, edx
xor r9d, r9d
mov rcx, rbp
call fcn.14005cb20
mov rdi, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
movzx eax, si
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push r14
sub rsp, 0x20
mov rbp, rdx
mov r14, rcx
mov rdx, r8
mov rcx, rbp
mov rbx, r8
mov dword [r8], 0x20
call fcn.14005ee10
movzx esi, ax
test ax, ax
jne 0x140128192
mov qword [rsp + 0x30], rdi
xor edi, edi
cmp dword [rbx + 0x1c], edi
jle 0x14012817d
movsxd rdx, dword [rbx + 0x18]
mov r9, qword [r14]
mov rcx, qword [rbx + 0x10]
mov r8d, 4
call fcn.1401c1e14
cmp rax, 4
jne 0x140128178
or r8d, 0xffffffff
lea r9d, [rax - 3]
mov rcx, rbp
or edx, r8d
call fcn.1400615b0
movzx esi, ax
test ax, ax
jne 0x14012817d
inc di
movzx eax, di
cmp eax, dword [rbx + 0x1c]
jl 0x140128134
jmp 0x14012817d
mov esi, 4
xor r8d, r8d
xor edx, edx
xor r9d, r9d
mov rcx, rbp
call fcn.14005cb20
mov rdi, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
movzx eax, si
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x20
mov rbx, r8
movzx r8d, word [r8 + 0x22]
mov r12, r9
mov r14, rdx
mov r15, rcx
cmp r8w, 8
jne 0x14012825c
movzx ebp, word [rbx + 0x18]
jmp 0x140128271
mov eax, dword [rbx + 0x18]
add eax, 7
cdq
and edx, 7
lea ebp, [rdx + rax]
sar ebp, 3
imul bp, r8w
xor edi, edi
mov rdx, rbx
mov rcx, r14
mov dword [rbx], edi
call fcn.14005ee10
movzx esi, ax
test ax, ax
jne 0x1401282ef
cmp dword [rbx + 0x1c], edi
jle 0x1401282d9
movzx ebp, bp
mov r9, qword [r15]
mov rcx, qword [rbx + 0x10]
mov r8d, 1
mov rdx, rbp
call fcn.1401c1e14
test rax, rax
je 0x1401282d4
or r8d, 0xffffffff
mov r9d, 1
mov rcx, r14
or edx, r8d
call fcn.1400615b0
movzx esi, ax
test ax, ax
jne 0x1401282d9
inc di
movzx eax, di
cmp eax, dword [rbx + 0x1c]
jl 0x140128290
jmp 0x1401282d9
mov esi, 4
mov edx, 0x200
mov r8d, 8
mov r9, r12
mov rcx, r14
call fcn.14005cb20
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x58]
movzx eax, si
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop r12
ret