// File: /workspace/github_cpp_makefile_star2_O3/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 %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movq %rdi, %rbx
movq 0x8(%rdi), %rax
movl $0x30, %edx
movl $0x1, %esi
callq *(%rax)
movq %rax, %r14
movq %rax, 0x220(%rbx)
leaq 0x319(%rip), %rax       # 0x7b9d1
movq %rax, (%r14)
leaq 0x47f(%rip), %rax       # 0x7bb41
movq %rax, 0x8(%r14)
movl $0x0, 0x10(%r14)
movq %rbx, %rdi
callq 0x7b384
movq 0x8(%rbx), %rax
movl $0x580, %edx            # imm = 0x580
movq %rbx, %rdi
movl $0x1, %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 0xe260
movdqa 0x2f10c(%rip), %xmm0    # 0xaa820
movdqa 0x2f114(%rip), %xmm1    # 0xaa830
movdqu %xmm0, (%r12,%r13)
addq $0x10, %r13
paddb %xmm1, %xmm0
cmpq $0x100, %r13            # imm = 0x100
jne 0x7b71c
leaq 0x200(%r15), %rdi
movl $0x180, %edx            # imm = 0x180
movl $0xff, %esi
callq 0xe260
leaq 0x380(%r15), %rdi
movl $0x180, %edx            # imm = 0x180
xorl %esi, %esi
callq 0xe260
addq $0x500, %r15            # imm = 0x500
movq 0x1a8(%rbx), %rsi
movl $0x80, %edx
movq %r15, %rdi
callq 0xe370
movl 0x88(%rbx), %eax
movslq 0x90(%rbx), %rcx
imulq %rax, %rcx
shrq $0x20, %rcx
je 0x7b79d
movq (%rbx), %rax
movl $0x46, 0x28(%rax)
movq %rbx, %rdi
callq *(%rax)
movl $0x0, 0x18(%r14)
movq %rbx, %rdi
callq 0x7b591
movl %eax, 0x1c(%r14)
pxor %xmm0, %xmm0
movdqu %xmm0, 0x20(%r14)
cmpl $0x0, 0x6c(%rbx)
je 0x7b811
cmpl $0x0, 0x58(%rbx)
jne 0x7b7d9
movq $0x0, 0x7c(%rbx)
movl $0x0, 0x84(%rbx)
cmpl $0x0, 0x5c(%rbx)
je 0x7b7ee
movq (%rbx), %rax
movl $0x2f, 0x28(%rax)
movq %rbx, %rdi
callq *(%rax)
cmpl $0x3, 0x90(%rbx)
jne 0x7b825
cmpq $0x0, 0xa0(%rbx)
je 0x7b9b0
movl $0x1, 0x80(%rbx)
jmp 0x7b842
movq $0x0, 0x7c(%rbx)
movl $0x0, 0x84(%rbx)
jmp 0x7b886
movq $0x1, 0x7c(%rbx)
movl $0x0, 0x84(%rbx)
movq $0x0, 0xa0(%rbx)
cmpl $0x0, 0x7c(%rbx)
je 0x7b861
movq %r14, %r15
addq $0x20, %r15
movq %rbx, %rdi
callq 0x83588
movq 0x270(%rbx), %rax
movq %rax, (%r15)
cmpl $0x0, 0x84(%rbx)
jne 0x7b873
cmpl $0x0, 0x80(%rbx)
je 0x7b886
movq %rbx, %rdi
callq 0x84240
movq 0x270(%rbx), %rax
movq %rax, 0x28(%r14)
cmpl $0x0, 0x5c(%rbx)
jne 0x7b8bb
cmpl $0x0, 0x1c(%r14)
je 0x7b89d
movq %rbx, %rdi
callq 0x85648
jmp 0x7b8ad
movq %rbx, %rdi
callq 0x82f08
movq %rbx, %rdi
callq 0x827b8
movl 0x84(%rbx), %esi
movq %rbx, %rdi
callq 0x80e10
movq %rbx, %rdi
callq 0x81180
cmpl $0x0, 0x13c(%rbx)
je 0x7b8dd
movq (%rbx), %rax
movl $0x1, 0x28(%rax)
movq %rbx, %rdi
callq *(%rax)
jmp 0x7b8f8
cmpl $0x0, 0x138(%rbx)
je 0x7b8f0
movq %rbx, %rdi
callq 0x7e7dc
jmp 0x7b8f8
movq %rbx, %rdi
callq 0x7e1ab
movq 0x240(%rbx), %rax
movl $0x1, %esi
cmpl $0x0, 0x20(%rax)
jne 0x7b914
xorl %esi, %esi
cmpl $0x0, 0x58(%rbx)
setne %sil
movq %rbx, %rdi
callq 0x7fd64
cmpl $0x0, 0x5c(%rbx)
jne 0x7b92c
movq %rbx, %rdi
xorl %esi, %esi
callq 0x7f590
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 0x7b9a6
cmpl $0x0, 0x58(%rbx)
jne 0x7b9a6
movq 0x240(%rbx), %rcx
cmpl $0x0, 0x20(%rcx)
je 0x7b9a6
cmpl $0x0, 0x138(%rbx)
movl 0x38(%rbx), %ecx
leal 0x2(%rcx,%rcx,2), %edx
cmovel %ecx, %edx
movq $0x0, 0x8(%rax)
movl 0x1a4(%rbx), %ecx
movslq %edx, %rdx
imulq %rcx, %rdx
movq %rdx, 0x10(%rax)
movl $0x0, 0x18(%rax)
cmpl $0x1, 0x84(%rbx)
movl $0x3, %ecx
sbbl $0x0, %ecx
movl %ecx, 0x1c(%rax)
incl 0x18(%r14)
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
cmpl $0x0, 0x74(%rbx)
je 0x7b9c5
movl $0x1, 0x84(%rbx)
jmp 0x7b842
movl $0x1, 0x7c(%rbx)
jmp 0x7b842