// File: /workspace/github_cpp_makefile_star2_O3/tomfunkhouser[P]gaps/pkgs/png/trees.c
// Function: tr_init
void ZLIB_INTERNAL _tr_init(s)
    deflate_state *s;
{
    tr_static_init();

    s->l_desc.dyn_tree = s->dyn_ltree;
    s->l_desc.stat_desc = &static_l_desc;

    s->d_desc.dyn_tree = s->dyn_dtree;
    s->d_desc.stat_desc = &static_d_desc;

    s->bl_desc.dyn_tree = s->bl_tree;
    s->bl_desc.stat_desc = &static_bl_desc;

    s->bi_buf = 0;
    s->bi_valid = 0;
    s->last_eob_len = 8; /* enough lookahead for inflate */
#ifdef DEBUG
    s->compressed_len = 0L;
    s->bits_sent = 0L;
#endif

    /* Initialize the first block of the first file: */
    init_block(s);
}

// Assembly:
leaq 0xc4(%rdi), %rax
movq %rax, 0xb48(%rdi)
leaq 0x4e463(%rip), %rax     # 0xe5bb0
movq %rax, 0xb58(%rdi)
leaq 0x9b8(%rdi), %rax
movq %rax, 0xb60(%rdi)
leaq 0x4e467(%rip), %rax     # 0xe5bd0
movq %rax, 0xb70(%rdi)
leaq 0xaac(%rdi), %rax
movq %rax, 0xb78(%rdi)
leaq 0x4e46b(%rip), %rax     # 0xe5bf0
movq %rax, 0xb88(%rdi)
movw $0x0, 0x1720(%rdi)
movl $0x0, 0x1724(%rdi)
movl $0x8, 0x171c(%rdi)
movdqa 0x12d4f(%rip), %xmm2    # 0xaa500
movdqa 0x12d57(%rip), %xmm3    # 0xaa510
movdqa 0x12d5f(%rip), %xmm4    # 0xaa520
movdqa 0xaab7(%rip), %xmm5     # 0xa2280
movl $0x38, %eax
movdqa 0x1a4ca(%rip), %xmm1    # 0xb1ca0
pshufd $0xa0, %xmm1, %xmm6     # xmm6 = xmm1[0,0,2,2]
movdqa 0xaaad(%rip), %xmm0     # 0xa2290
pshufd $0xf5, %xmm1, %xmm7     # xmm7 = xmm1[1,1,3,3]
movdqa 0x12d40(%rip), %xmm1    # 0xaa530
movdqa %xmm5, %xmm8
pxor %xmm0, %xmm8
pshufd $0xa0, %xmm8, %xmm9     # xmm9 = xmm8[0,0,2,2]
movdqa %xmm6, %xmm10
pcmpgtd %xmm9, %xmm10
pshufd $0xf5, %xmm8, %xmm8     # xmm8 = xmm8[1,1,3,3]
pcmpeqd %xmm7, %xmm8
pand %xmm10, %xmm8
pshuflw $0xe8, %xmm8, %xmm9     # xmm9 = xmm8[0,2,2,3,4,5,6,7]
packssdw %xmm9, %xmm9
movd %xmm9, %ecx
testb $0x1, %cl
je 0x97836
movw $0x0, -0x1c(%rdi,%rax,4)
packssdw %xmm8, %xmm8
packssdw %xmm8, %xmm8
movd %xmm8, %ecx
shrl $0x10, %ecx
testb $0x1, %cl
je 0x97854
movw $0x0, -0x18(%rdi,%rax,4)
movdqa %xmm4, %xmm8
pxor %xmm0, %xmm8
pshufd $0xa0, %xmm8, %xmm9     # xmm9 = xmm8[0,0,2,2]
movdqa %xmm6, %xmm10
pcmpgtd %xmm9, %xmm10
pshufd $0xf5, %xmm8, %xmm8     # xmm8 = xmm8[1,1,3,3]
pcmpeqd %xmm7, %xmm8
pand %xmm10, %xmm8
packssdw %xmm8, %xmm9
packssdw %xmm9, %xmm9
pextrw $0x2, %xmm9, %ecx
testb $0x1, %cl
je 0x9789a
movw $0x0, -0x14(%rdi,%rax,4)
pshufhw $0x84, %xmm8, %xmm8     # xmm8 = xmm8[0,1,2,3,4,5,4,6]
packssdw %xmm8, %xmm8
pextrw $0x3, %xmm8, %ecx
testb $0x1, %cl
je 0x978b7
movw $0x0, -0x10(%rdi,%rax,4)
movdqa %xmm3, %xmm8
pxor %xmm0, %xmm8
pshufd $0xa0, %xmm8, %xmm9     # xmm9 = xmm8[0,0,2,2]
movdqa %xmm6, %xmm10
pcmpgtd %xmm9, %xmm10
pshufd $0xf5, %xmm8, %xmm8     # xmm8 = xmm8[1,1,3,3]
pcmpeqd %xmm7, %xmm8
pand %xmm10, %xmm8
pshuflw $0xe8, %xmm8, %xmm9     # xmm9 = xmm8[0,2,2,3,4,5,6,7]
packssdw %xmm9, %xmm9
pextrw $0x4, %xmm9, %ecx
testb $0x1, %cl
je 0x978fe
movw $0x0, -0xc(%rdi,%rax,4)
packssdw %xmm8, %xmm8
packssdw %xmm8, %xmm8
pextrw $0x5, %xmm8, %ecx
testb $0x1, %cl
je 0x9791a
movw $0x0, -0x8(%rdi,%rax,4)
movdqa %xmm2, %xmm8
pxor %xmm0, %xmm8
pshufd $0xa0, %xmm8, %xmm9     # xmm9 = xmm8[0,0,2,2]
movdqa %xmm6, %xmm10
pcmpgtd %xmm9, %xmm10
pshufd $0xf5, %xmm8, %xmm8     # xmm8 = xmm8[1,1,3,3]
pcmpeqd %xmm7, %xmm8
pand %xmm10, %xmm8
packssdw %xmm8, %xmm9
packssdw %xmm9, %xmm9
pextrw $0x6, %xmm9, %ecx
testb $0x1, %cl
je 0x97960
movw $0x0, -0x4(%rdi,%rax,4)
pshufhw $0x84, %xmm8, %xmm8     # xmm8 = xmm8[0,1,2,3,4,5,4,6]
packssdw %xmm8, %xmm8
pextrw $0x7, %xmm8, %ecx
testb $0x1, %cl
je 0x9797c
movw $0x0, (%rdi,%rax,4)
paddq %xmm1, %xmm5
paddq %xmm1, %xmm4
paddq %xmm1, %xmm3
paddq %xmm1, %xmm2
addq $0x8, %rax
cmpq $0x158, %rax            # imm = 0x158
jne 0x977f0
movdqa 0x12b5c(%rip), %xmm2    # 0xaa500
movdqa 0x12b64(%rip), %xmm3    # 0xaa510
movdqa 0x12b6c(%rip), %xmm4    # 0xaa520
movdqa 0xa8c4(%rip), %xmm5     # 0xa2280
xorl %eax, %eax
movdqa 0x1a2ea(%rip), %xmm6    # 0xb1cb0
pshufd $0xa0, %xmm6, %xmm7     # xmm7 = xmm6[0,0,2,2]
movdqa %xmm5, %xmm9
pxor %xmm0, %xmm9
pshufd $0xa0, %xmm9, %xmm8     # xmm8 = xmm9[0,0,2,2]
movdqa %xmm7, %xmm10
pcmpgtd %xmm8, %xmm10
pshufd $0xf5, %xmm6, %xmm8     # xmm8 = xmm6[1,1,3,3]
pshufd $0xf5, %xmm9, %xmm9     # xmm9 = xmm9[1,1,3,3]
pcmpeqd %xmm8, %xmm9
pand %xmm10, %xmm9
pshuflw $0xe8, %xmm9, %xmm10    # xmm10 = xmm9[0,2,2,3,4,5,6,7]
packssdw %xmm10, %xmm10
movd %xmm10, %ecx
testb $0x1, %cl
je 0x97a1a
movw $0x0, 0x9b8(%rdi,%rax,4)
packssdw %xmm9, %xmm9
packssdw %xmm9, %xmm9
movd %xmm9, %ecx
shrl $0x10, %ecx
testb $0x1, %cl
je 0x97a3b
movw $0x0, 0x9bc(%rdi,%rax,4)
movdqa %xmm4, %xmm9
pxor %xmm0, %xmm9
pshufd $0xa0, %xmm9, %xmm10    # xmm10 = xmm9[0,0,2,2]
movdqa %xmm7, %xmm11
pcmpgtd %xmm10, %xmm11
pshufd $0xf5, %xmm9, %xmm9     # xmm9 = xmm9[1,1,3,3]
pcmpeqd %xmm8, %xmm9
pand %xmm11, %xmm9
packssdw %xmm9, %xmm10
packssdw %xmm10, %xmm10
pextrw $0x2, %xmm10, %ecx
testb $0x1, %cl
je 0x97a84
movw $0x0, 0x9c0(%rdi,%rax,4)
pshufhw $0x84, %xmm9, %xmm9     # xmm9 = xmm9[0,1,2,3,4,5,4,6]
packssdw %xmm9, %xmm9
pextrw $0x3, %xmm9, %ecx
testb $0x1, %cl
je 0x97aa4
movw $0x0, 0x9c4(%rdi,%rax,4)
movdqa %xmm3, %xmm9
pxor %xmm0, %xmm9
pshufd $0xa0, %xmm9, %xmm10    # xmm10 = xmm9[0,0,2,2]
movdqa %xmm7, %xmm11
pcmpgtd %xmm10, %xmm11
pshufd $0xf5, %xmm9, %xmm9     # xmm9 = xmm9[1,1,3,3]
pcmpeqd %xmm8, %xmm9
pand %xmm11, %xmm9
pshuflw $0xe8, %xmm9, %xmm10    # xmm10 = xmm9[0,2,2,3,4,5,6,7]
packssdw %xmm10, %xmm10
pextrw $0x4, %xmm10, %ecx
testb $0x1, %cl
je 0x97aee
movw $0x0, 0x9c8(%rdi,%rax,4)
packssdw %xmm9, %xmm9
packssdw %xmm9, %xmm9
pextrw $0x5, %xmm9, %ecx
testb $0x1, %cl
je 0x97b0d
movw $0x0, 0x9cc(%rdi,%rax,4)
movdqa %xmm2, %xmm9
pxor %xmm0, %xmm9
pshufd $0xa0, %xmm9, %xmm10    # xmm10 = xmm9[0,0,2,2]
movdqa %xmm7, %xmm11
pcmpgtd %xmm10, %xmm11
pshufd $0xf5, %xmm9, %xmm9     # xmm9 = xmm9[1,1,3,3]
pcmpeqd %xmm9, %xmm8
pand %xmm11, %xmm8
packssdw %xmm8, %xmm9
packssdw %xmm9, %xmm9
pextrw $0x6, %xmm9, %ecx
testb $0x1, %cl
je 0x97b56
movw $0x0, 0x9d0(%rdi,%rax,4)
pshufhw $0x84, %xmm8, %xmm8     # xmm8 = xmm8[0,1,2,3,4,5,4,6]
packssdw %xmm8, %xmm8
pextrw $0x7, %xmm8, %ecx
testb $0x1, %cl
je 0x97b76
movw $0x0, 0x9d4(%rdi,%rax,4)
addq $0x8, %rax
paddq %xmm1, %xmm5
paddq %xmm1, %xmm4
paddq %xmm1, %xmm3
paddq %xmm1, %xmm2
cmpq $0x20, %rax
jne 0x979cb
movdqa 0x12984(%rip), %xmm1    # 0xaa520
movdqa 0xa6dc(%rip), %xmm2     # 0xa2280
xorl %eax, %eax
movdqa 0x1a112(%rip), %xmm3    # 0xb1cc0
pshufd $0xf5, %xmm3, %xmm4     # xmm4 = xmm3[1,1,3,3]
movdqa 0x12f95(%rip), %xmm5    # 0xaab50
movdqa %xmm2, %xmm6
pxor %xmm0, %xmm6
movdqa %xmm3, %xmm7
pcmpgtd %xmm6, %xmm7
pshufd $0xf5, %xmm6, %xmm6     # xmm6 = xmm6[1,1,3,3]
pcmpeqd %xmm4, %xmm6
pand %xmm7, %xmm6
movd %xmm6, %ecx
testb $0x1, %cl
je 0x97beb
movw $0x0, 0xaac(%rdi,%rax,4)
pextrw $0x4, %xmm6, %ecx
testb $0x1, %cl
je 0x97bff
movw $0x0, 0xab0(%rdi,%rax,4)
movdqa %xmm1, %xmm6
pxor %xmm0, %xmm6
movdqa %xmm3, %xmm7
pcmpgtd %xmm6, %xmm7
pshufd $0xf5, %xmm6, %xmm6     # xmm6 = xmm6[1,1,3,3]
pcmpeqd %xmm4, %xmm6
pand %xmm7, %xmm6
pextrw $0x0, %xmm6, %ecx
testb $0x1, %cl
je 0x97c30
movw $0x0, 0xab4(%rdi,%rax,4)
pextrw $0x4, %xmm6, %ecx
testb $0x1, %cl
je 0x97c44
movw $0x0, 0xab8(%rdi,%rax,4)
addq $0x4, %rax
paddq %xmm5, %xmm2
paddq %xmm5, %xmm1
cmpq $0x14, %rax
jne 0x97bbb
movw $0x1, 0x4c4(%rdi)
xorl %eax, %eax
movl %eax, 0x16fc(%rdi)
pxor %xmm0, %xmm0
movdqu %xmm0, 0x1708(%rdi)
movl %eax, 0x1718(%rdi)
retq