// File: /workspace/github_cpp_makefile_star2_O2/tomfunkhouser[P]gaps/pkgs/jpeg/jdmaster.c
// Function: jinit_master_decompress
GLOBAL(void)
jinit_master_decompress (j_decompress_ptr cinfo)
{
  my_master_ptr master;

  master = (my_master_ptr)
      (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE,
				  SIZEOF(my_decomp_master));
  cinfo->master = (struct jpeg_decomp_master *) master;
  master->pub.prepare_for_output_pass = prepare_for_output_pass;
  master->pub.finish_output_pass = finish_output_pass;

  master->pub.is_dummy_pass = FALSE;

  master_selection(cinfo);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0x8(%rdi), %rax
pushq $0x1
popq %rbp
pushq $0x30
popq %rdx
movl %ebp, %esi
callq *(%rax)
movq %rax, %r14
movq %rax, 0x220(%rbx)
leaq 0x2e3(%rip), %rax       # 0x6f9eb
movq %rax, (%r14)
leaq 0x441(%rip), %rax       # 0x6fb53
movq %rax, 0x8(%r14)
andl $0x0, 0x10(%r14)
movq %rbx, %rdi
callq 0x6f404
movq 0x8(%rbx), %rax
movl $0x580, %edx            # imm = 0x580
movq %rbx, %rdi
movl %ebp, %esi
callq *(%rax)
movq %rax, %r15
leaq 0x100(%rax), %r12
movq %r12, 0x1a8(%rbx)
xorl %r13d, %r13d
movl $0x100, %edx            # imm = 0x100
movq %rax, %rdi
xorl %esi, %esi
callq 0xe270
cmpq $0x100, %r13            # imm = 0x100
je 0x6f768
movb %r13b, (%r12,%r13)
incq %r13
jmp 0x6f756
xorl %eax, %eax
cmpq $0x180, %rax            # imm = 0x180
je 0x6f780
movb $-0x1, 0x200(%r15,%rax)
incq %rax
jmp 0x6f76a
leaq 0x380(%r15), %rdi
movl $0x180, %edx            # imm = 0x180
xorl %esi, %esi
callq 0xe270
addq $0x500, %r15            # imm = 0x500
movq 0x1a8(%rbx), %rsi
movl $0x80, %edx
movq %r15, %rdi
callq 0xe380
movl 0x88(%rbx), %eax
movslq 0x90(%rbx), %rcx
imulq %rax, %rcx
shrq $0x20, %rcx
je 0x6f7d4
movq (%rbx), %rax
movl $0x46, 0x28(%rax)
movq %rbx, %rdi
callq *(%rax)
andl $0x0, 0x18(%r14)
movq %rbx, %rdi
callq 0x6f5e4
movl %eax, 0x1c(%r14)
xorps %xmm0, %xmm0
movups %xmm0, 0x20(%r14)
cmpl $0x0, 0x6c(%rbx)
je 0x6f83d
cmpl $0x0, 0x58(%rbx)
jne 0x6f805
andq $0x0, 0x7c(%rbx)
andl $0x0, 0x84(%rbx)
cmpl $0x0, 0x5c(%rbx)
je 0x6f81a
movq (%rbx), %rax
movl $0x2f, 0x28(%rax)
movq %rbx, %rdi
callq *(%rax)
cmpl $0x3, 0x90(%rbx)
jne 0x6f84b
cmpq $0x0, 0xa0(%rbx)
je 0x6f9ca
movl $0x1, 0x80(%rbx)
jmp 0x6f862
andq $0x0, 0x7c(%rbx)
andl $0x0, 0x84(%rbx)
jmp 0x6f8a6
movq $0x1, 0x7c(%rbx)
andl $0x0, 0x84(%rbx)
andq $0x0, 0xa0(%rbx)
cmpl $0x0, 0x7c(%rbx)
je 0x6f881
movq %r14, %r15
addq $0x20, %r15
movq %rbx, %rdi
callq 0x76d94
movq 0x270(%rbx), %rax
movq %rax, (%r15)
cmpl $0x0, 0x84(%rbx)
jne 0x6f893
cmpl $0x0, 0x80(%rbx)
je 0x6f8a6
movq %rbx, %rdi
callq 0x77868
movq 0x270(%rbx), %rax
movq %rax, 0x28(%r14)
cmpl $0x0, 0x5c(%rbx)
jne 0x6f8db
cmpl $0x0, 0x1c(%r14)
je 0x6f8bd
movq %rbx, %rdi
callq 0x78b30
jmp 0x6f8cd
movq %rbx, %rdi
callq 0x76874
movq %rbx, %rdi
callq 0x761bc
movl 0x84(%rbx), %esi
movq %rbx, %rdi
callq 0x748f0
movq %rbx, %rdi
callq 0x74c4c
cmpl $0x0, 0x13c(%rbx)
je 0x6f8fd
movq (%rbx), %rax
movl $0x1, 0x28(%rax)
movq %rbx, %rdi
callq *(%rax)
jmp 0x6f918
cmpl $0x0, 0x138(%rbx)
je 0x6f910
movq %rbx, %rdi
callq 0x72614
jmp 0x6f918
movq %rbx, %rdi
callq 0x7203c
movq 0x240(%rbx), %rax
cmpl $0x0, 0x20(%rax)
jne 0x6f92f
xorl %ebp, %ebp
cmpl $0x0, 0x58(%rbx)
setne %bpl
movq %rbx, %rdi
movl %ebp, %esi
callq 0x73988
cmpl $0x0, 0x5c(%rbx)
jne 0x6f949
movq %rbx, %rdi
xorl %esi, %esi
callq 0x732c8
movq 0x8(%rbx), %rax
movq %rbx, %rdi
callq *0x30(%rax)
movq 0x240(%rbx), %rax
movq %rbx, %rdi
callq *0x10(%rax)
movq 0x10(%rbx), %rax
testq %rax, %rax
je 0x6f9bb
cmpl $0x0, 0x58(%rbx)
jne 0x6f9bb
movq 0x240(%rbx), %rcx
cmpl $0x0, 0x20(%rcx)
je 0x6f9bb
cmpl $0x0, 0x138(%rbx)
movl 0x38(%rbx), %ecx
leal 0x2(%rcx,%rcx,2), %edx
cmovel %ecx, %edx
andq $0x0, 0x8(%rax)
movl 0x1a4(%rbx), %ecx
movslq %edx, %rdx
imulq %rcx, %rdx
movq %rdx, 0x10(%rax)
andl $0x0, 0x18(%rax)
cmpl $0x1, 0x84(%rbx)
pushq $0x3
popq %rcx
sbbl $0x0, %ecx
movl %ecx, 0x1c(%rax)
incl 0x18(%r14)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
cmpl $0x0, 0x74(%rbx)
je 0x6f9df
movl $0x1, 0x84(%rbx)
jmp 0x6f862
movl $0x1, 0x7c(%rbx)
jmp 0x6f862