Function at 0x140131be0
Capabilities:
Read file on windows

Disassembly:
push rbp
push rbx
push rsi
push r13
push r15
lea rbp, [rsp - 0x440]
sub rsp, 0x540
mov rax, qword [0x1402a83b0]
xor rax, rsp
mov qword [rbp + 0x400], rax
mov r13, rdx
mov r15, rcx
mov rdx, rcx
lea rcx, [rbp + 0xd0]
movzx ebx, r9w
mov rsi, r8
mov qword [rsp + 0x48], r8
call fcn.1401203c0
test ax, ax
jne 0x140132361
mov qword [rsp + 0x580], rdi
mov qword [rsp + 0x538], r12
mov qword [rsp + 0x530], r14
movaps xmmword [rsp + 0x520], xmm6
movaps xmmword [rsp + 0x510], xmm7
lea rcx, [rsp + 0x60]
call fcn.140060c40
mov ecx, dword [rbp + 0xdc]
mov eax, 2
mov word [rbp - 0x58], ax
movzx eax, cx
mov word [rsp + 0x64], bx
and ax, 7
mov edi, 1
inc ax
mov word [rbp - 0x7e], ax
test cl, cl
jns 0x140131cae
mov r9, qword [r15]
movzx ecx, al
mov eax, edi
shl eax, cl
lea rcx, [rbp + 0x100]
mov r8d, edi
lea eax, [rax + rax*2]
movsxd rdx, eax
call fcn.1401c1e14
movsd xmm6, qword [0x140231530]
movsd xmm7, qword [0x14021d4a8]
xor r14d, r14d
movzx eax, r14w
movzx ebx, r14w
mov dword [r13 + 0x6c], r14d
mov dword [rsp + 0x44], eax
mov dword [rsp + 0x40], ebx
mov rcx, qword [r15]
call fcn.1401c3f28
mov r12d, eax
cmp eax, 0xffffffff
je 0x14013231e
cmp eax, 0x3b
je 0x14013231e
cmp eax, 0x21
jne 0x140131e6b
mov rcx, qword [r15]
call fcn.1401c3f28
mov ecx, eax
mov r12d, eax
sub ecx, 0xf9
je 0x140131f0f
sub ecx, 5
je 0x140131f5a
dec ecx
jne 0x140131e6b
mov rcx, qword [r15]
call fcn.1401c3f28
movsxd rbx, eax
cmp ebx, 0xb
jne 0x140132020
mov r9, qword [r15]
lea rcx, [rbp + 0xe8]
mov r8, rdi
mov edx, ebx
call fcn.1401c1e14
mov rax, qword [rbp + 0xe8]
mov byte [rbp + 0xf3], 0
cmp rax, qword [str.XMP_DataXMP]
jne 0x140132033
movzx eax, word [rbp + 0xf0]
cmp ax, word [0x1402358b8]
jne 0x140132033
movzx eax, byte [rbp + 0xf2]
cmp al, byte [0x1402358ba]
jne 0x140132033
mov ecx, 0x800
call fcn.1401bee78
mov rcx, qword [r15]
mov ebx, r14d
mov rsi, rax
mov r14d, 0x800
call fcn.1401c3f28
mov edi, eax
test eax, eax
je 0x140131e06
cmp edi, 0xffffffff
je 0x140131e06
lea ecx, [rdi + 1]
add ecx, ebx
cmp ecx, r14d
jl 0x140131dd7
add r14d, 0x800
mov rcx, rsi
movsxd rdx, r14d
call fcn.1401bef30
mov rsi, rax
movsxd rax, ebx
inc ebx
movsxd r8, edi
mov byte [rax + rsi], dil
mov r9, qword [r15]
movsxd rcx, ebx
add rcx, rsi
mov edx, 1
call fcn.1401c1e14
mov rcx, qword [r15]
add ebx, edi
call fcn.1401c3f28
mov edi, eax
test eax, eax
jne 0x140131db3
lea rdx, str.__xpacket_end_w___
mov rcx, rsi
call fcn.1401c2aac
test rax, rax
jne 0x140131e2e
lea rdx, str.__xpacket_endw__
mov rcx, rsi
call fcn.1401c2aac
test rax, rax
je 0x140131e3f
mov byte [rax + 0x13], 0
or rbx, 0xffffffffffffffff
inc rbx
cmp byte [rsi + rbx], 0
jne 0x140131e36
mov r9d, ebx
mov r8, rsi
mov edx, 3
mov rcx, r13
call fcn.14005a950
mov rcx, rsi
call fcn.1401be23c
xor r14d, r14d
mov rsi, qword [rsp + 0x48]
mov edi, 1
mov ebx, dword [rsp + 0x40]
cmp r12d, 0x2c
jne 0x140131cd5
lea rcx, [rsp + 0x50]
mov rdx, r15
call fcn.140132380
test ax, ax
je 0x140132319
mov edi, dword [rsp + 0x58]
lea ebx, [r12 - 0x2b]
test dil, dil
jns 0x140131ec6
mov r9, qword [r15]
movzx eax, di
mov r8d, ebx
and ax, 7
inc ax
movzx ecx, al
mov word [rbp - 0x7e], ax
mov eax, ebx
shl eax, cl
lea rcx, [rbp + 0x100]
lea eax, [rax + rax*2]
movsxd rdx, eax
call fcn.1401c1e14
shr edi, 6
and di, 1
test rsi, rsi
jne 0x140132076
movzx eax, byte [rbp + 0xd5]
movzx r9d, byte [rbp + 0xd4]
movzx r8d, byte [rbp + 0xd3]
mov dword [rsp + 0x20], eax
lea rcx, [rbp + 0x4e]
test di, di
je 0x140132068
lea rdx, str.Compuserve_GIF__Version__c_c_c___Interlaced_
call fcn.1401bea4c
jmp 0x14013208f
mov rcx, qword [r15]
call fcn.1401c3f28
cmp eax, 4
jne 0x140131f4f
mov rcx, qword [r15]
call fcn.1401c3f28
mov rcx, r15
mov ebx, eax
call fcn.140066da0
mov rcx, qword [r15]
call fcn.1401c3f28
test bl, 1
mov ebx, dword [rsp + 0x40]
je 0x140131cd5
movzx eax, al
mov word [rbp - 0x54], ax
jmp 0x140131cd5
movsxd rdx, eax
mov rcx, r15
call fcn.140066ff0
test dword [r13 + 0xc0], 0x10000
je 0x140131d25
mov rcx, qword [r15]
mov rdi, r14
mov esi, r14d
call fcn.1401c3f28
mov ebx, eax
test eax, eax
je 0x140131e5d
cmp ebx, 0xffffffff
je 0x140131fe3
test rdi, rdi
je 0x140131f9f
lea edx, [rbx + 1]
mov rcx, rdi
add edx, esi
movsxd rdx, edx
call fcn.1401bef30
jmp 0x140131faa
lea eax, [rbx + 1]
movsxd rcx, eax
call fcn.1401bee78
mov rdi, rax
movsxd rdx, ebx
test rax, rax
je 0x140131fcd
mov r9, qword [r15]
movsxd rcx, esi
mov r8d, 1
add rcx, rax
call fcn.1401c1e14
add esi, ebx
jmp 0x140131fd5
mov rcx, r15
call fcn.140066ff0
mov rcx, qword [r15]
call fcn.1401c3f28
mov ebx, eax
test eax, eax
jne 0x140131f83
test rdi, rdi
je 0x140131e5d
lea rdx, [0x1402358ac]
mov r8d, 3
mov rcx, rdi
call fcn.1401c25f0
test eax, eax
je 0x140132013
mov r8d, esi
mov rdx, rdi
mov rcx, r13
call fcn.14005a720
mov rcx, rdi
call fcn.1401be23c
jmp 0x140131e5d
mov rdx, rbx
mov rcx, r15
call fcn.140066ff0
test ebx, ebx
je 0x140131e67
mov rcx, qword [r15]
call fcn.1401c3f28
test eax, eax
je 0x140131e67
cmp eax, 0xffffffff
je 0x140131e67
movsxd rdx, eax
mov rcx, r15
call fcn.140066ff0
mov rcx, qword [r15]
call fcn.1401c3f28
test eax, eax
jne 0x140132043
jmp 0x140131e67
lea rdx, str.Compuserve_GIF__Version__c_c_c_
call fcn.1401bea4c
jmp 0x14013208f
lea rdx, [rbp + 0x4e]
mov rcx, rsi
sub rdx, rsi
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rdx + rcx - 1], al
test al, al
jne 0x140132080
movzx esi, word [rsp + 0x54]
movzx eax, byte [rbp + 0xe1]
movzx r12d, word [rsp + 0x56]
mov dword [rsp + 0x60], 2
mov word [rbp - 0x80], bx
mov dword [rsp + 0x78], esi
mov dword [rsp + 0x7c], r12d
mov dword [rbp - 0x78], esi
test al, al
je 0x1401320e1
movzx eax, al
mov dword [rbp - 0x74], 0x48
add eax, 0xf
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm6
mulsd xmm0, xmm7
cvttsd2si eax, xmm0
mov dword [rbp - 0x70], eax
test esi, esi
jle 0x1401322d8
test r12d, r12d
jle 0x1401322d8
mov rcx, qword [r15]
call fcn.1401c3f28
mov ebx, 9
mov r14d, eax
cmp ax, 2
jl 0x1401322b9
cmp bx, ax
jl 0x1401322b9
call fcn.1400653f0
test al, al
je 0x14013227e
mov ecx, dword [r13 + 0x6c]
lea eax, [rcx + 1]
mov dword [r13 + 0x6c], eax
cmp dword [r13 + 0xc4], ecx
jne 0x140132204
lea rdx, [rsp + 0x60]
mov rcx, r13
call fcn.14005ee10
movzx ebx, ax
mov dword [rsp + 0x40], ebx
test ax, ax
jne 0x140132250
mov r8, qword [rsp + 0x70]
mov qword [rsp + 0x38], r13
mov eax, 1
mov dword [rsp + 0x30], r12d
movzx r9d, di
movzx edx, r14w
mov rcx, r15
mov dword [rsp + 0x28], esi
mov word [rsp + 0x20], ax
call fcn.140131450
cmp word [rbp - 0x7e], 1
movzx ebx, ax
mov dword [rsp + 0x40], ebx
jne 0x1401321d8
cmp byte [rbp + 0x100], 0
jne 0x1401321d8
cmp byte [rbp + 0x101], 0
jne 0x1401321d8
cmp byte [rbp + 0x102], 0
jne 0x1401321d8
cmp byte [rbp + 0x103], 0
jne 0x1401321d8
cmp byte [rbp + 0x104], 0
jne 0x1401321d8
cmp byte [rbp + 0x105], 0
jne 0x1401321d8
mov word [rbp + 0x104], 0xffff
mov byte [rbp + 0x103], 0xff
lea r9, [rbp + 0x100]
mov edx, 0x100
mov r8d, 8
mov rcx, r13
call fcn.14005cb20
xor esi, esi
mov edi, 1
test bx, bx
jne 0x140132257
mov dword [rsp + 0x44], edi
jmp 0x140132257
lea eax, [rsi + 0x400]
movsxd rcx, eax
call fcn.1401bee78
mov qword [rsp + 0x38], r13
mov dword [rsp + 0x30], r12d
mov dword [rsp + 0x28], esi
xor esi, esi
movzx r9d, di
mov r8, rax
movzx edx, r14w
mov rcx, r15
mov rbx, rax
mov word [rsp + 0x20], si
call fcn.140131450
mov rcx, rbx
mov word [rsp + 0x40], ax
call fcn.1401be23c
mov ebx, dword [rsp + 0x40]
jmp 0x140132252
xor esi, esi
mov edi, 1
test dword [r13 + 0xc0], 0x8000
jne 0x140132320
test bx, bx
jne 0x140132320
mov rsi, qword [rsp + 0x48]
xor r14d, r14d
jmp 0x140131cd5
movups xmm0, xmmword [str.GIF_:_Bad_compression__LZW___]
movups xmmword [r13 + 0x74], xmm0
movsd xmm1, qword [0x140235988]
movsd qword [r13 + 0x84], xmm1
mov eax, dword [0x140235990]
mov dword [r13 + 0x8c], eax
movzx eax, word [0x140235994]
mov word [r13 + 0x90], ax
jmp 0x14013231e
movups xmm0, xmmword [str.GIF_:_Bad_codes_size__]
movups xmmword [r13 + 0x74], xmm0
movsd xmm1, qword [0x140235970]
movsd qword [r13 + 0x84], xmm1
jmp 0x14013231e
movups xmm0, xmmword [str.GIF_:_Bad_pictures_size__]
mov ebx, 9
movups xmmword [r13 + 0x74], xmm0
movsd xmm1, qword [0x140235950]
movsd qword [r13 + 0x84], xmm1
movzx eax, word [0x140235958]
mov word [r13 + 0x8c], ax
movzx eax, byte [0x14023595a]
mov byte [r13 + 0x8e], al
jmp 0x14013231e
mov ebx, 4
xor esi, esi
mov eax, dword [rsp + 0x44]
movaps xmm7, xmmword [rsp + 0x510]
movaps xmm6, xmmword [rsp + 0x520]
mov r14, qword [rsp + 0x530]
mov r12, qword [rsp + 0x538]
mov rdi, qword [rsp + 0x580]
test ax, ax
jne 0x14013235e
movsx esi, bx
test bx, bx
jne 0x14013235e
mov esi, 2
movzx eax, si
mov rcx, qword [rbp + 0x400]
xor rcx, rsp
call fcn.1401bd600
add rsp, 0x540
pop r15
pop r13
pop rsi
pop rbx
pop rbp
ret