Function at 0x1400798c0
Capabilities:
Read file on windows

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r15
lea rbp, [rsp - 0x3a0]
sub rsp, 0x4a0
mov rax, qword [0x1402a83b0]
xor rax, rsp
mov qword [rbp + 0x390], rax
mov r13, qword [rbp + 0x400]
mov rdi, rcx
lea rcx, [rsp + 0x20]
movzx esi, r9w
mov r15d, r8d
mov r12, rdx
call fcn.140060c40
movzx ecx, byte [r12 + 0x13]
movzx edx, word [r12 + 0x14]
movabs rax, 0x325350204d4954
xor ebx, ebx
mov dword [rsp + 0x38], edx
mov qword [rbp + 0xe], rax
movzx eax, word [r12 + 0x16]
mov dword [rsp + 0x3c], eax
lea eax, [rbx + 8]
dec ecx
je 0x1400799dc
dec ecx
je 0x1400799bf
dec ecx
je 0x1400799b8
dec ecx
je 0x140079998
dec ecx
je 0x14007998e
movups xmm0, xmmword [str.TIM_:_Bad_pictures_format__]
movups xmmword [r13 + 0x74], xmm0
movsd xmm1, qword [0x140211d38]
movsd qword [r13 + 0x84], xmm1
mov eax, dword [0x140211d40]
mov dword [r13 + 0x8c], eax
movzx eax, byte [0x140211d44]
mov byte [r13 + 0x90], al
lea eax, [rbx + 9]
jmp 0x140079ca4
movzx ecx, ax
mov word [rsp + 0x42], ax
jmp 0x1400799a2
mov ecx, 4
mov word [rsp + 0x42], cx
lea eax, [rdx + 1]
movsx ecx, cx
imul eax, ecx
dec eax
cdq
and edx, 7
add eax, edx
sar eax, 3
jmp 0x1400799f1
mov eax, 0x20
jmp 0x1400799c4
mov eax, 0x18
mov word [rsp + 0x42], ax
cwde
mov dword [rsp + 0x20], ebx
imul eax, edx
cdq
and edx, 7
add eax, edx
sar eax, 3
jmp 0x1400799f1
mov eax, 0xf
mov dword [rsp + 0x20], 0x200
mov word [rsp + 0x42], ax
lea eax, [rdx + rdx]
mov rcx, qword [rdi]
mov dword [rsp + 0x48], eax
mov eax, 1
mov word [rsp + 0x40], ax
movzx eax, word [r12 + 0xc]
xor r8d, r8d
add r15d, eax
mov qword [rsp + 0x4f8], r14
cmp si, 1
jne 0x140079a25
lea edx, [r15 + 0x7f]
and edx, 0xffffff80
jmp 0x140079a2c
lea edx, [r15 + 0xf]
and edx, 0xfffffff0
call fcn.1401c1f88
lea rdx, [rsp + 0x20]
mov rcx, r13
call fcn.14005ee10
movzx r14d, ax
test ax, ax
jne 0x140079c98
mov esi, ebx
cmp dword [rsp + 0x3c], ebx
jle 0x140079add
nop word [rax + rax]
movsxd rdx, dword [rsp + 0x48]
mov r9, qword [rdi]
mov rcx, qword [rsp + 0x30]
mov r14d, 1
mov r8d, r14d
call fcn.1401c1e14
test rax, rax
je 0x140079ad7
cmp word [rsp + 0x42], 4
jne 0x140079ab2
mov edx, ebx
mov r8, rbx
cmp dword [rsp + 0x48], ebx
jle 0x140079ab2
mov rcx, qword [rsp + 0x30]
inc edx
lea r8, [r8 + 1]
movzx eax, byte [rcx + r8 - 1]
ror al, 4
mov byte [rcx + r8 - 1], al
cmp edx, dword [rsp + 0x48]
jl 0x140079a93
or r8d, 0xffffffff
mov r9d, r14d
mov rcx, r13
or edx, r8d
call fcn.1400615b0
movzx r14d, ax
test ax, ax
jne 0x140079add
inc esi
cmp esi, dword [rsp + 0x3c]
jl 0x140079a60
jmp 0x140079add
mov r14d, 4
mov rcx, qword [rdi]
add r15d, dword [r12 + 8]
call fcn.1401c2310
mov rcx, qword [rdi]
mov r8d, 1
sub r15d, eax
mov edx, r15d
call fcn.1401c1f88
test byte [r12 + 0x12], 3
je 0x140079c88
cmp dword [r12 + 4], ebx
je 0x140079c88
movzx ecx, byte [rsp + 0x42]
mov r15d, 1
mov esi, ebx
mov eax, r15d
shl eax, cl
test eax, eax
jle 0x140079c74
nop
movzx r8d, byte [r12 + 0x12]
test r8b, r8b
js 0x140079b71
mov eax, esi
cdq
and edx, 0x1f
add eax, edx
mov ecx, eax
and eax, 0x1f
sub eax, edx
cmp eax, 8
jl 0x140079b69
cmp eax, 0x10
jge 0x140079b61
cmp word [rsp + 0x42], 4
je 0x140079b69
add eax, 8
jmp 0x140079b69
cmp eax, 0x18
jge 0x140079b69
add eax, 0xfffffff8
and ecx, 0xffffffe0
add ecx, eax
lea ebx, [rcx + rcx*2]
movzx ecx, r8b
and ecx, 3
dec ecx
je 0x140079bd4
dec ecx
je 0x140079bb2
dec ecx
jne 0x140079c5d
mov r9, qword [rdi]
movsxd rax, ebx
lea rcx, [rbp + 0x90]
mov r8, r15
mov edx, 3
add rcx, rax
call fcn.1401c1e14
mov rcx, qword [rdi]
call fcn.1401c3f28
jmp 0x140079c5d
mov r9, qword [rdi]
movsxd rax, ebx
lea rcx, [rbp + 0x90]
mov r8, r15
mov edx, 3
add rcx, rax
call fcn.1401c1e14
jmp 0x140079c5d
mov rcx, rdi
call fcn.140066da0
movsxd r9, ebx
movzx r8d, ax
mov eax, r8d
shr eax, 0xa
and eax, 0x1f
imul ecx, eax, 0xff
mov eax, 0x84210843
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, r8d
and r8d, 0x1f
shr eax, 5
mov byte [rbp + r9 + 0x92], dl
and eax, 0x1f
imul ecx, eax, 0xff
mov eax, 0x84210843
imul ecx
add edx, ecx
imul ecx, r8d, 0xff
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x84210843
mov byte [rbp + r9 + 0x91], dl
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov byte [rbp + r9 + 0x90], dl
movzx ecx, byte [rsp + 0x42]
mov eax, r15d
inc esi
shl eax, cl
add ebx, 3
cmp esi, eax
jl 0x140079b30
mov edx, 0x100
mov r8d, 8
lea r9, [rbp + 0x90]
jmp 0x140079c90
xor r8d, r8d
xor edx, edx
xor r9d, r9d
mov rcx, r13
call fcn.14005cb20
movzx eax, r14w
mov r14, qword [rsp + 0x4f8]
mov rcx, qword [rbp + 0x390]
xor rcx, rsp
call fcn.1401bd600
add rsp, 0x4a0
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret