Function at 0x140135440
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x68
xor eax, eax
xor r13d, r13d
xor r10d, r10d
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rax
mov rax, qword [rdx + 0x10]
mov rsi, rdx
mov rbp, rcx
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x28], r10
test rax, rax
je 0x14013549f
movzx r14d, byte [rax]
movzx r15d, byte [rax + 1]
movzx r12d, byte [rax + 2]
jmp 0x1401354a8
xor r12b, r12b
xor r15b, r15b
xor r14b, r14b
movsx ecx, word [rdx]
mov byte [rsp + 0x20], r12b
lea eax, [rcx + 0xf]
cdq
and edx, 7
lea edi, [rdx + rax]
movsx eax, word [rsi + 4]
mov dword [r9 + 0x28], ecx
sar edi, 3
mov ecx, 1
and edi, 0xfffffffe
imul eax, edi
cmp word [rsi + 4], 8
mov dword [rsp + 0x24], eax
mov eax, 0x800
jg 0x1401354fa
test word [rsi + 8], ax
jne 0x1401354fa
mov word [r9 + 0x20], cx
movzx eax, word [rsi + 4]
or dword [r9], 2
mov word [r9 + 0x22], ax
jmp 0x140135502
mov dword [r9 + 0x20], 0x80003
movsx eax, word [rsi]
mov dword [r9 + 0x18], eax
movsx eax, word [rsi + 2]
mov dword [r9 + 0x1c], eax
cmp word [rsi + 6], r10w
je 0x14013551d
mov word [r9 + 0x48], cx
movups xmm0, xmmword [str.Amiga_Interchange_Format_IFF_ILBM]
mov rdx, r9
mov rcx, r8
movups xmmword [r9 + 0xee], xmm0
movups xmm1, xmmword [0x140235ab8]
movups xmmword [r9 + 0xfe], xmm1
movzx eax, word [0x140235ac8]
mov word [r9 + 0x10e], ax
call fcn.14005ee10
movzx ebx, ax
test ax, ax
jne 0x140135951
mov ecx, dword [rsp + 0x24]
mov edx, 1
add ecx, 0x40
movsxd rcx, ecx
call fcn.1401be1f8
mov r11, rax
mov qword [rsp + 0x50], rax
test rax, rax
jne 0x14013558b
lea eax, [r11 + 1]
jmp 0x140135962
xor edx, edx
mov dword [rsp + 0x48], edx
cmp dx, word [rsi + 2]
jge 0x140135912
movsxd rdi, edi
mov qword [rsp + 0x58], rdi
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rsp + 0xc8]
cmp word [rax + 0x20], 3
jne 0x1401355e3
mov r13, qword [rax + 0x10]
movsx rax, word [rsi]
lea r10, [rax + r13]
add eax, eax
mov qword [rsp + 0x40], r13
cdqe
mov qword [rsp + 0x28], r10
add rax, r13
mov qword [rsp + 0x30], rax
jmp 0x1401355f4
mov rbp, qword [rax + 0x10]
mov qword [rsp + 0x38], rbp
mov rbp, qword [rsp + 0xb0]
movsx ecx, word [rsi + 6]
test ecx, ecx
je 0x1401356d3
mov eax, dword [rsp + 0x24]
dec ecx
jne 0x1401356b8
mov rbp, r11
mov esi, eax
test eax, eax
jle 0x1401356b0
mov r13, qword [rsp + 0xb0]
lea r12d, [rcx + 1]
mov rcx, qword [r13]
call fcn.1401c3f28
cmp al, 0x80
jae 0x140135663
mov r9, qword [r13]
inc al
mov r8, r12
movzx ecx, al
movzx edi, al
movzx eax, sil
cmp ecx, esi
mov rcx, rbp
cmovg edi, eax
movzx ebx, dil
mov edx, ebx
call fcn.1401c1e14
movzx eax, dil
add rbp, rbx
sub esi, eax
jmp 0x140135691
mov rcx, qword [r13]
movzx eax, al
mov edi, 0x101
sub edi, eax
call fcn.1401c3f28
cmp edi, esi
cmovg edi, esi
movzx edx, al
mov rcx, rbp
movsxd rbx, edi
mov r8, rbx
call fcn.1401c0040
add rbp, rbx
sub esi, edi
test esi, esi
jg 0x140135625
movzx r12d, byte [rsp + 0x20]
mov r13, qword [rsp + 0x40]
mov r11, qword [rsp + 0x50]
mov eax, dword [rsp + 0x24]
mov rdi, qword [rsp + 0x58]
xor edx, edx
mov rsi, qword [rsp + 0xb8]
cmp byte [rsi + 0x18], 0
je 0x1401356f7
mov rcx, qword [rsp + 0x38]
movsxd r8, eax
mov rdx, r11
call fcn.1401bd6e0
jmp 0x1401358c8
movsxd rdx, dword [rsp + 0x24]
mov r9, qword [rbp]
mov r8d, 1
mov rcx, r11
call fcn.1401c1e14
mov r11, qword [rsp + 0x50]
mov eax, dword [rsp + 0x24]
xor edx, edx
jmp 0x1401356b8
mov rbx, r11
mov r10b, 0x80
mov r11d, edx
cmp dx, word [rsi]
jge 0x1401358c8
nop dword [rax]
movsx r9d, word [rsi + 4]
mov eax, edx
mov ecx, r9d
dec ecx
movsxd rdx, ecx
js 0x140135749
mov rcx, rdi
mov r8, rdi
neg r8
imul rcx, rdx
add rcx, rbx
test byte [rcx], r10b
je 0x14013573f
lea eax, [rax*2 + 1]
jmp 0x140135741
add eax, eax
add rcx, r8
dec rdx
jns 0x140135731
mov ecx, 0x800
test word [rsi + 8], cx
je 0x140135847
mov ecx, eax
cmp r9w, 6
jg 0x1401357b3
shr ecx, 4
test ecx, ecx
je 0x1401357ae
dec ecx
je 0x14013579e
dec ecx
je 0x14013578b
dec ecx
jne 0x14013581e
movzx r15d, al
shl al, 4
and r15b, 0xf
xor r15b, al
jmp 0x14013581e
movzx r14d, al
shl al, 4
and r14b, 0xf
xor r14b, al
jmp 0x14013581e
movzx r12d, al
shl al, 4
and r12b, 0xf
xor r12b, al
jmp 0x14013581e
and eax, 0xf
jmp 0x140135802
shr ecx, 6
test ecx, ecx
je 0x1401357ff
dec ecx
je 0x1401357ec
dec ecx
je 0x1401357d9
dec ecx
jne 0x14013581e
movzx ecx, r15b
shl al, 2
and cl, 3
movzx r15d, al
or r15b, cl
jmp 0x14013581e
movzx ecx, r14b
shl al, 2
and cl, 3
movzx r14d, al
or r14b, cl
jmp 0x14013581e
movzx ecx, r12b
shl al, 2
and cl, 3
movzx r12d, al
or r12b, cl
jmp 0x14013581e
and eax, 0x3f
mov r8, qword [rsi + 0x10]
lea edx, [rax + rax*2]
movzx r14d, byte [rdx + r8]
lea eax, [rdx + 1]
movzx r15d, byte [rax + r8]
lea eax, [rdx + 2]
movzx r12d, byte [rax + r8]
mov rdx, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
mov byte [r13], r14b
mov byte [rdx], r15b
inc rdx
inc r13
mov byte [r8], r12b
inc r8
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], r8
jmp 0x14013589f
cmp r9w, 0x18
jne 0x140135881
mov rdx, qword [rsp + 0x30]
mov ecx, eax
shr ecx, 0x10
inc rdx
mov byte [rdx - 1], cl
mov qword [rsp + 0x30], rdx
mov rdx, qword [rsp + 0x28]
inc rdx
mov ecx, eax
shr ecx, 8
mov qword [rsp + 0x28], rdx
inc r13
mov byte [rdx - 1], cl
mov byte [r13 - 1], al
jmp 0x14013589f
movsx ecx, word [rsi + 0xa]
mov rbp, qword [rsp + 0x38]
cmp eax, ecx
jae 0x140135893
mov byte [rbp], al
jmp 0x140135897
mov byte [rbp], 0
inc rbp
mov qword [rsp + 0x38], rbp
shr r10b, 1
jne 0x1401358aa
mov r10b, 0x80
inc rbx
movsx eax, word [rsi]
inc r11d
mov edx, 0
cmp r11d, eax
jl 0x140135710
mov qword [rsp + 0x40], r13
mov byte [rsp + 0x20], r12b
mov rcx, qword [rsp + 0xc0]
or r8d, 0xffffffff
mov r9d, 1
or edx, r8d
call fcn.1400615b0
movzx ebx, ax
test ax, ax
jne 0x140135912
mov ecx, dword [rsp + 0x48]
movsx eax, word [rsi + 2]
mov rbp, qword [rsp + 0xb0]
mov r11, qword [rsp + 0x50]
inc ecx
mov edx, 0
mov dword [rsp + 0x48], ecx
cmp ecx, eax
jl 0x1401355b0
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xc0]
cmp word [rax + 0x20], 1
jne 0x14013593a
mov r9, qword [rsi + 0x10]
mov edx, 0x100
mov r8d, 8
jmp 0x140135942
xor r8d, r8d
xor edx, edx
xor r9d, r9d
call fcn.14005cb20
mov rcx, qword [rsp + 0x50]
call fcn.1401be23c
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x14013595f
call fcn.1401be23c
movzx eax, bx
add rsp, 0x68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret