// File: /workspace/github_cpp_makefile_star2_O3/sisong[P]ApkDiffPatch/zlib1.3.1/trees.c
// Function: tr_init
void ZLIB_INTERNAL _tr_init(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;
#ifdef ZLIB_DEBUG
    s->compressed_len = 0L;
    s->bits_sent = 0L;
#endif

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

// Assembly:
leaq 0xd4(%rdi), %rax
movq %rax, 0xb58(%rdi)
leaq 0x2aebf(%rip), %rax     # 0x7bce0
movq %rax, 0xb68(%rdi)
leaq 0x9c8(%rdi), %rax
movq %rax, 0xb70(%rdi)
leaq 0x2aec3(%rip), %rax     # 0x7bd00
movq %rax, 0xb80(%rdi)
leaq 0xabc(%rdi), %rax
movq %rax, 0xb88(%rdi)
leaq 0x2aec7(%rip), %rax     # 0x7bd20
movq %rax, 0xb98(%rdi)
movw $0x0, 0x1730(%rdi)
movl $0x0, 0x1734(%rdi)
movdqa 0xeb05(%rip), %xmm2     # 0x5f980
movdqa 0xeb0d(%rip), %xmm3     # 0x5f990
movdqa 0xeb15(%rip), %xmm4     # 0x5f9a0
movdqa 0xeb1d(%rip), %xmm5     # 0x5f9b0
movl $0x3c, %eax
movdqa 0x15200(%rip), %xmm1    # 0x660a0
pshufd $0xa0, %xmm1, %xmm6     # xmm6 = xmm1[0,0,2,2]
movdqa 0xeb13(%rip), %xmm0     # 0x5f9c0
pshufd $0xf5, %xmm1, %xmm7     # xmm7 = xmm1[1,1,3,3]
movdqa 0xeb16(%rip), %xmm1     # 0x5f9d0
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 0x50f00
movw $0x0, -0x1c(%rdi,%rax,4)
packssdw %xmm8, %xmm8
packssdw %xmm8, %xmm8
movd %xmm8, %ecx
shrl $0x10, %ecx
testb $0x1, %cl
je 0x50f1e
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 0x50f64
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 0x50f81
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 0x50fc8
movw $0x0, -0xc(%rdi,%rax,4)
packssdw %xmm8, %xmm8
packssdw %xmm8, %xmm8
pextrw $0x5, %xmm8, %ecx
testb $0x1, %cl
je 0x50fe4
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 0x5102a
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 0x51046
movw $0x0, (%rdi,%rax,4)
paddq %xmm1, %xmm5
paddq %xmm1, %xmm4
paddq %xmm1, %xmm3
paddq %xmm1, %xmm2
addq $0x8, %rax
cmpq $0x15c, %rax            # imm = 0x15C
jne 0x50eba
movdqa 0xe912(%rip), %xmm2     # 0x5f980
movdqa 0xe91a(%rip), %xmm3     # 0x5f990
movdqa 0xe922(%rip), %xmm4     # 0x5f9a0
movdqa 0xe92a(%rip), %xmm5     # 0x5f9b0
xorl %eax, %eax
movdqa 0x15020(%rip), %xmm6    # 0x660b0
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 0x510e4
movw $0x0, 0x9c8(%rdi,%rax,4)
packssdw %xmm9, %xmm9
packssdw %xmm9, %xmm9
movd %xmm9, %ecx
shrl $0x10, %ecx
testb $0x1, %cl
je 0x51105
movw $0x0, 0x9cc(%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 0x5114e
movw $0x0, 0x9d0(%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 0x5116e
movw $0x0, 0x9d4(%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 0x511b8
movw $0x0, 0x9d8(%rdi,%rax,4)
packssdw %xmm9, %xmm9
packssdw %xmm9, %xmm9
pextrw $0x5, %xmm9, %ecx
testb $0x1, %cl
je 0x511d7
movw $0x0, 0x9dc(%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 0x51220
movw $0x0, 0x9e0(%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 0x51240
movw $0x0, 0x9e4(%rdi,%rax,4)
addq $0x8, %rax
paddq %xmm1, %xmm5
paddq %xmm1, %xmm4
paddq %xmm1, %xmm3
paddq %xmm1, %xmm2
cmpq $0x20, %rax
jne 0x51095
movdqa 0xe73a(%rip), %xmm1     # 0x5f9a0
movdqa 0xe742(%rip), %xmm2     # 0x5f9b0
xorl %eax, %eax
movdqa 0x14e48(%rip), %xmm3    # 0x660c0
pshufd $0xf5, %xmm3, %xmm4     # xmm4 = xmm3[1,1,3,3]
movdqa 0x14e4b(%rip), %xmm5    # 0x660d0
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 0x512b5
movw $0x0, 0xabc(%rdi,%rax,4)
pextrw $0x4, %xmm6, %ecx
testb $0x1, %cl
je 0x512c9
movw $0x0, 0xac0(%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 0x512fa
movw $0x0, 0xac4(%rdi,%rax,4)
pextrw $0x4, %xmm6, %ecx
testb $0x1, %cl
je 0x5130e
movw $0x0, 0xac8(%rdi,%rax,4)
addq $0x4, %rax
paddq %xmm5, %xmm2
paddq %xmm5, %xmm1
cmpq $0x14, %rax
jne 0x51285
movw $0x1, 0x4d4(%rdi)
xorl %eax, %eax
movl %eax, 0x170c(%rdi)
pxor %xmm0, %xmm0
movdqu %xmm0, 0x1718(%rdi)
movl %eax, 0x1728(%rdi)
retq