// File: /workspace/github_cpp_makefile_star2_O1/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 0x4db5b(%rip), %rax     # 0xe5bb0
movq %rax, 0xb58(%rdi)
leaq 0x9b8(%rdi), %rax
movq %rax, 0xb60(%rdi)
leaq 0x4db5f(%rip), %rax     # 0xe5bd0
movq %rax, 0xb70(%rdi)
leaq 0xaac(%rdi), %rax
movq %rax, 0xb78(%rdi)
leaq 0x4db63(%rip), %rax     # 0xe5bf0
movq %rax, 0xb88(%rdi)
movw $0x0, 0x1720(%rdi)
movl $0x0, 0x1724(%rdi)
movl $0x8, 0x171c(%rdi)
movdqa 0x12437(%rip), %xmm2    # 0xaa4f0
movdqa 0x1243f(%rip), %xmm3    # 0xaa500
movdqa 0x12447(%rip), %xmm4    # 0xaa510
movdqa 0xa1af(%rip), %xmm5     # 0xa2280
movl $0x38, %eax
movdqa 0x19b72(%rip), %xmm1    # 0xb1c50
pshufd $0xa0, %xmm1, %xmm6     # xmm6 = xmm1[0,0,2,2]
movdqa 0xa1a5(%rip), %xmm0     # 0xa2290
pshufd $0xf5, %xmm1, %xmm7     # xmm7 = xmm1[1,1,3,3]
movdqa 0x12428(%rip), %xmm1    # 0xaa520
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 0x9813e
movw $0x0, -0x1c(%rdi,%rax,4)
packssdw %xmm8, %xmm8
packssdw %xmm8, %xmm8
movd %xmm8, %ecx
shrl $0x10, %ecx
testb $0x1, %cl
je 0x9815c
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 0x981a2
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 0x981bf
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 0x98206
movw $0x0, -0xc(%rdi,%rax,4)
packssdw %xmm8, %xmm8
packssdw %xmm8, %xmm8
pextrw $0x5, %xmm8, %ecx
testb $0x1, %cl
je 0x98222
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 0x98268
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 0x98284
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 0x980f8
movdqa 0x12244(%rip), %xmm2    # 0xaa4f0
movdqa 0x1224c(%rip), %xmm3    # 0xaa500
movdqa 0x12254(%rip), %xmm4    # 0xaa510
movdqa 0x9fbc(%rip), %xmm5     # 0xa2280
xorl %eax, %eax
movdqa 0x19992(%rip), %xmm6    # 0xb1c60
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 0x98322
movw $0x0, 0x9b8(%rdi,%rax,4)
packssdw %xmm9, %xmm9
packssdw %xmm9, %xmm9
movd %xmm9, %ecx
shrl $0x10, %ecx
testb $0x1, %cl
je 0x98343
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 0x9838c
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 0x983ac
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 0x983f6
movw $0x0, 0x9c8(%rdi,%rax,4)
packssdw %xmm9, %xmm9
packssdw %xmm9, %xmm9
pextrw $0x5, %xmm9, %ecx
testb $0x1, %cl
je 0x98415
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 0x9845e
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 0x9847e
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 0x982d3
movdqa 0x1206c(%rip), %xmm1    # 0xaa510
movdqa 0x9dd4(%rip), %xmm2     # 0xa2280
xorl %eax, %eax
movdqa 0x197ba(%rip), %xmm3    # 0xb1c70
pshufd $0xf5, %xmm3, %xmm4     # xmm4 = xmm3[1,1,3,3]
movdqa 0x1267d(%rip), %xmm5    # 0xaab40
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 0x984f3
movw $0x0, 0xaac(%rdi,%rax,4)
pextrw $0x4, %xmm6, %ecx
testb $0x1, %cl
je 0x98507
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 0x98538
movw $0x0, 0xab4(%rdi,%rax,4)
pextrw $0x4, %xmm6, %ecx
testb $0x1, %cl
je 0x9854c
movw $0x0, 0xab8(%rdi,%rax,4)
addq $0x4, %rax
paddq %xmm5, %xmm2
paddq %xmm5, %xmm1
cmpq $0x14, %rax
jne 0x984c3
movw $0x1, 0x4c4(%rdi)
xorl %eax, %eax
movl %eax, 0x16fc(%rdi)
pxor %xmm0, %xmm0
movdqu %xmm0, 0x1708(%rdi)
movl %eax, 0x1718(%rdi)
retq