// File: /workspace/github_c_makefile_star2_O0/icebert[P]pblat/htslib/cram/cram_codecs.c
// Function: cram_huffman_encode_store
int cram_huffman_encode_store(cram_codec *c, cram_block *b, char *prefix,
			      int version) {
    int i, len = 0;
    cram_huffman_code *codes = c->e_huffman.codes;
    /*
     * Up to code length 127 means 2.5e+26 bytes of data required (worst
     * case huffman tree needs symbols with freqs matching the Fibonacci
     * series). So guaranteed 1 byte per code.
     *
     * Symbols themselves could be 5 bytes (eg -1 is 5 bytes in itf8).
     *
     * Therefore 6*ncodes + 5 + 5 + 1 + 5 is max memory
     */
    char *tmp = malloc(6*c->e_huffman.nvals+16);
    char *tp = tmp;

    if (!tmp)
	return -1;

    if (prefix) {
	size_t l = strlen(prefix);
	BLOCK_APPEND(b, prefix, l);
	len += l;
    }

    tp += itf8_put(tp, c->e_huffman.nvals);
    for (i = 0; i < c->e_huffman.nvals; i++) {
	tp += itf8_put(tp, codes[i].symbol);
    }

    tp += itf8_put(tp, c->e_huffman.nvals);
    for (i = 0; i < c->e_huffman.nvals; i++) {
	tp += itf8_put(tp, codes[i].len);
    }

    len += itf8_put_blk(b, c->codec);
    len += itf8_put_blk(b, tp-tmp);
    BLOCK_APPEND(b, tmp, tp-tmp);
    len += tp-tmp;

    free(tmp);

    return len;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movl %ecx, -0x24(%rbp)
movl $0x0, -0x2c(%rbp)
movq -0x10(%rbp), %rax
movq 0x30(%rax), %rax
movq %rax, -0x38(%rbp)
movq -0x10(%rbp), %rax
imull $0x6, 0x38(%rax), %eax
addl $0x10, %eax
movslq %eax, %rdi
callq 0x69c0
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x48(%rbp)
cmpq $0x0, -0x40(%rbp)
jne 0xd0b2f
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xd17ab
cmpq $0x0, -0x20(%rbp)
je 0xd0c55
movq -0x20(%rbp), %rdi
callq 0x62c0
movq %rax, -0x50(%rbp)
jmp 0xd0b49
jmp 0xd0b4b
movq -0x18(%rbp), %rax
movq 0x28(%rax), %rax
movq -0x18(%rbp), %rcx
movq 0x30(%rcx), %rcx
addq -0x50(%rbp), %rcx
cmpq %rcx, %rax
ja 0xd0c18
movq -0x18(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0xd0bb1
movq -0x18(%rbp), %rax
movq 0x28(%rax), %xmm0
movaps 0x549d(%rip), %xmm1     # 0xd6020
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0x54a1(%rip), %xmm1     # 0xd6030
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movsd 0x9aca(%rip), %xmm1     # 0xda670
mulsd %xmm1, %xmm0
movsd %xmm0, -0x58(%rbp)
jmp 0xd0bc0
movsd 0x11fff(%rip), %xmm0    # 0xe2bb8
movsd %xmm0, -0x58(%rbp)
jmp 0xd0bc0
movsd -0x58(%rbp), %xmm0
movsd 0x1148b(%rip), %xmm2    # 0xe2058
movaps %xmm0, %xmm1
subsd %xmm2, %xmm1
cvttsd2si %xmm1, %rax
cvttsd2si %xmm0, %rcx
movq %rcx, %rdx
sarq $0x3f, %rdx
andq %rdx, %rax
orq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x28(%rax)
movq -0x18(%rbp), %rax
movq 0x20(%rax), %rdi
movq -0x18(%rbp), %rax
movq 0x28(%rax), %rsi
callq 0x6c80
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x20(%rax)
jmp 0xd0b4b
jmp 0xd0c1a
movq -0x18(%rbp), %rax
movq 0x20(%rax), %rdi
movq -0x18(%rbp), %rax
addq 0x30(%rax), %rdi
movq -0x20(%rbp), %rsi
movq -0x50(%rbp), %rdx
callq 0x6570
movq -0x50(%rbp), %rcx
movq -0x18(%rbp), %rax
addq 0x30(%rax), %rcx
movq %rcx, 0x30(%rax)
movq -0x50(%rbp), %rcx
movslq -0x2c(%rbp), %rax
addq %rcx, %rax
movl %eax, -0x2c(%rbp)
movq -0x10(%rbp), %rax
movl 0x38(%rax), %eax
andl $-0x80, %eax
cmpl $0x0, %eax
jne 0xd0c80
movq -0x10(%rbp), %rax
movl 0x38(%rax), %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, (%rax)
movl $0x1, %eax
movl %eax, -0x5c(%rbp)
jmp 0xd0e34
movq -0x10(%rbp), %rax
movl 0x38(%rax), %eax
andl $0xffffc000, %eax       # imm = 0xFFFFC000
cmpl $0x0, %eax
jne 0xd0cca
movq -0x10(%rbp), %rax
movl 0x38(%rax), %eax
sarl $0x8, %eax
orl $0x80, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, (%rax)
movq -0x10(%rbp), %rax
movl 0x38(%rax), %eax
andl $0xff, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, 0x1(%rax)
movl $0x2, %eax
movl %eax, -0x60(%rbp)
jmp 0xd0e2e
movq -0x10(%rbp), %rax
movl 0x38(%rax), %eax
andl $0xffe00000, %eax       # imm = 0xFFE00000
cmpl $0x0, %eax
jne 0xd0d2c
movq -0x10(%rbp), %rax
movl 0x38(%rax), %eax
sarl $0x10, %eax
orl $0xc0, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, (%rax)
movq -0x10(%rbp), %rax
movl 0x38(%rax), %eax
sarl $0x8, %eax
andl $0xff, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, 0x1(%rax)
movq -0x10(%rbp), %rax
movl 0x38(%rax), %eax
andl $0xff, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, 0x2(%rax)
movl $0x3, %eax
movl %eax, -0x64(%rbp)
jmp 0xd0e28
movq -0x10(%rbp), %rax
movl 0x38(%rax), %eax
andl $0xf0000000, %eax       # imm = 0xF0000000
cmpl $0x0, %eax
jne 0xd0da3
movq -0x10(%rbp), %rax
movl 0x38(%rax), %eax
sarl $0x18, %eax
orl $0xe0, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, (%rax)
movq -0x10(%rbp), %rax
movl 0x38(%rax), %eax
sarl $0x10, %eax
andl $0xff, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, 0x1(%rax)
movq -0x10(%rbp), %rax
movl 0x38(%rax), %eax
sarl $0x8, %eax
andl $0xff, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, 0x2(%rax)
movq -0x10(%rbp), %rax
movl 0x38(%rax), %eax
andl $0xff, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, 0x3(%rax)
movl $0x4, %eax
movl %eax, -0x68(%rbp)
jmp 0xd0e22
movq -0x10(%rbp), %rax
movl 0x38(%rax), %eax
sarl $0x1c, %eax
andl $0xff, %eax
orl $0xf0, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, (%rax)
movq -0x10(%rbp), %rax
movl 0x38(%rax), %eax
sarl $0x14, %eax
andl $0xff, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, 0x1(%rax)
movq -0x10(%rbp), %rax
movl 0x38(%rax), %eax
sarl $0xc, %eax
andl $0xff, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, 0x2(%rax)
movq -0x10(%rbp), %rax
movl 0x38(%rax), %eax
sarl $0x4, %eax
andl $0xff, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, 0x3(%rax)
movq -0x10(%rbp), %rax
movl 0x38(%rax), %eax
andl $0xf, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, 0x4(%rax)
movl $0x5, %eax
movl %eax, -0x68(%rbp)
movl -0x68(%rbp), %eax
movl %eax, -0x64(%rbp)
movl -0x64(%rbp), %eax
movl %eax, -0x60(%rbp)
movl -0x60(%rbp), %eax
movl %eax, -0x5c(%rbp)
movl -0x5c(%rbp), %ecx
movq -0x48(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x48(%rbp)
movl $0x0, -0x28(%rbp)
movl -0x28(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl 0x38(%rcx), %eax
jge 0xd111f
movq -0x38(%rbp), %rax
movslq -0x28(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movl (%rax), %eax
andl $-0x80, %eax
cmpl $0x0, %eax
jne 0xd0e9b
movq -0x38(%rbp), %rax
movslq -0x28(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movl (%rax), %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, (%rax)
movl $0x1, %eax
movl %eax, -0x6c(%rbp)
jmp 0xd1100
movq -0x38(%rbp), %rax
movslq -0x28(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movl (%rax), %eax
andl $0xffffc000, %eax       # imm = 0xFFFFC000
cmpl $0x0, %eax
jne 0xd0f03
movq -0x38(%rbp), %rax
movslq -0x28(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movl (%rax), %eax
sarl $0x8, %eax
orl $0x80, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, (%rax)
movq -0x38(%rbp), %rax
movslq -0x28(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movl (%rax), %eax
andl $0xff, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, 0x1(%rax)
movl $0x2, %eax
movl %eax, -0x70(%rbp)
jmp 0xd10fa
movq -0x38(%rbp), %rax
movslq -0x28(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movl (%rax), %eax
andl $0xffe00000, %eax       # imm = 0xFFE00000
cmpl $0x0, %eax
jne 0xd0f8d
movq -0x38(%rbp), %rax
movslq -0x28(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movl (%rax), %eax
sarl $0x10, %eax
orl $0xc0, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, (%rax)
movq -0x38(%rbp), %rax
movslq -0x28(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movl (%rax), %eax
sarl $0x8, %eax
andl $0xff, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, 0x1(%rax)
movq -0x38(%rbp), %rax
movslq -0x28(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movl (%rax), %eax
andl $0xff, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, 0x2(%rax)
movl $0x3, %eax
movl %eax, -0x74(%rbp)
jmp 0xd10f4
movq -0x38(%rbp), %rax
movslq -0x28(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movl (%rax), %eax
andl $0xf0000000, %eax       # imm = 0xF0000000
cmpl $0x0, %eax
jne 0xd103d
movq -0x38(%rbp), %rax
movslq -0x28(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movl (%rax), %eax
sarl $0x18, %eax
orl $0xe0, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, (%rax)
movq -0x38(%rbp), %rax
movslq -0x28(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movl (%rax), %eax
sarl $0x10, %eax
andl $0xff, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, 0x1(%rax)
movq -0x38(%rbp), %rax
movslq -0x28(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movl (%rax), %eax
sarl $0x8, %eax
andl $0xff, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, 0x2(%rax)
movq -0x38(%rbp), %rax
movslq -0x28(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movl (%rax), %eax
andl $0xff, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, 0x3(%rax)
movl $0x4, %eax
movl %eax, -0x78(%rbp)
jmp 0xd10ee
movq -0x38(%rbp), %rax
movslq -0x28(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movl (%rax), %eax
sarl $0x1c, %eax
andl $0xff, %eax
orl $0xf0, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, (%rax)
movq -0x38(%rbp), %rax
movslq -0x28(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movl (%rax), %eax
sarl $0x14, %eax
andl $0xff, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, 0x1(%rax)
movq -0x38(%rbp), %rax
movslq -0x28(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movl (%rax), %eax
sarl $0xc, %eax
andl $0xff, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, 0x2(%rax)
movq -0x38(%rbp), %rax
movslq -0x28(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movl (%rax), %eax
sarl $0x4, %eax
andl $0xff, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, 0x3(%rax)
movq -0x38(%rbp), %rax
movslq -0x28(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movl (%rax), %eax
andl $0xf, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, 0x4(%rax)
movl $0x5, %eax
movl %eax, -0x78(%rbp)
movl -0x78(%rbp), %eax
movl %eax, -0x74(%rbp)
movl -0x74(%rbp), %eax
movl %eax, -0x70(%rbp)
movl -0x70(%rbp), %eax
movl %eax, -0x6c(%rbp)
movl -0x6c(%rbp), %ecx
movq -0x48(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x48(%rbp)
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
jmp 0xd0e4c
movq -0x10(%rbp), %rax
movl 0x38(%rax), %eax
andl $-0x80, %eax
cmpl $0x0, %eax
jne 0xd114a
movq -0x10(%rbp), %rax
movl 0x38(%rax), %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, (%rax)
movl $0x1, %eax
movl %eax, -0x7c(%rbp)
jmp 0xd1313
movq -0x10(%rbp), %rax
movl 0x38(%rax), %eax
andl $0xffffc000, %eax       # imm = 0xFFFFC000
cmpl $0x0, %eax
jne 0xd1194
movq -0x10(%rbp), %rax
movl 0x38(%rax), %eax
sarl $0x8, %eax
orl $0x80, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, (%rax)
movq -0x10(%rbp), %rax
movl 0x38(%rax), %eax
andl $0xff, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, 0x1(%rax)
movl $0x2, %eax
movl %eax, -0x80(%rbp)
jmp 0xd130d
movq -0x10(%rbp), %rax
movl 0x38(%rax), %eax
andl $0xffe00000, %eax       # imm = 0xFFE00000
cmpl $0x0, %eax
jne 0xd11f9
movq -0x10(%rbp), %rax
movl 0x38(%rax), %eax
sarl $0x10, %eax
orl $0xc0, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, (%rax)
movq -0x10(%rbp), %rax
movl 0x38(%rax), %eax
sarl $0x8, %eax
andl $0xff, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, 0x1(%rax)
movq -0x10(%rbp), %rax
movl 0x38(%rax), %eax
andl $0xff, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, 0x2(%rax)
movl $0x3, %eax
movl %eax, -0x84(%rbp)
jmp 0xd1304
movq -0x10(%rbp), %rax
movl 0x38(%rax), %eax
andl $0xf0000000, %eax       # imm = 0xF0000000
cmpl $0x0, %eax
jne 0xd1276
movq -0x10(%rbp), %rax
movl 0x38(%rax), %eax
sarl $0x18, %eax
orl $0xe0, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, (%rax)
movq -0x10(%rbp), %rax
movl 0x38(%rax), %eax
sarl $0x10, %eax
andl $0xff, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, 0x1(%rax)
movq -0x10(%rbp), %rax
movl 0x38(%rax), %eax
sarl $0x8, %eax
andl $0xff, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, 0x2(%rax)
movq -0x10(%rbp), %rax
movl 0x38(%rax), %eax
andl $0xff, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, 0x3(%rax)
movl $0x4, %eax
movl %eax, -0x88(%rbp)
jmp 0xd12f8
movq -0x10(%rbp), %rax
movl 0x38(%rax), %eax
sarl $0x1c, %eax
andl $0xff, %eax
orl $0xf0, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, (%rax)
movq -0x10(%rbp), %rax
movl 0x38(%rax), %eax
sarl $0x14, %eax
andl $0xff, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, 0x1(%rax)
movq -0x10(%rbp), %rax
movl 0x38(%rax), %eax
sarl $0xc, %eax
andl $0xff, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, 0x2(%rax)
movq -0x10(%rbp), %rax
movl 0x38(%rax), %eax
sarl $0x4, %eax
andl $0xff, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, 0x3(%rax)
movq -0x10(%rbp), %rax
movl 0x38(%rax), %eax
andl $0xf, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, 0x4(%rax)
movl $0x5, %eax
movl %eax, -0x88(%rbp)
movl -0x88(%rbp), %eax
movl %eax, -0x84(%rbp)
movl -0x84(%rbp), %eax
movl %eax, -0x80(%rbp)
movl -0x80(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x7c(%rbp), %ecx
movq -0x48(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x48(%rbp)
movl $0x0, -0x28(%rbp)
movl -0x28(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl 0x38(%rcx), %eax
jge 0xd1635
movq -0x38(%rbp), %rax
movslq -0x28(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movl 0xc(%rax), %eax
andl $-0x80, %eax
cmpl $0x0, %eax
jne 0xd137f
movq -0x38(%rbp), %rax
movslq -0x28(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movl 0xc(%rax), %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, (%rax)
movl $0x1, %eax
movl %eax, -0x8c(%rbp)
jmp 0xd1613
movq -0x38(%rbp), %rax
movslq -0x28(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movl 0xc(%rax), %eax
andl $0xffffc000, %eax       # imm = 0xFFFFC000
cmpl $0x0, %eax
jne 0xd13ed
movq -0x38(%rbp), %rax
movslq -0x28(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movl 0xc(%rax), %eax
sarl $0x8, %eax
orl $0x80, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, (%rax)
movq -0x38(%rbp), %rax
movslq -0x28(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movl 0xc(%rax), %eax
andl $0xff, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, 0x1(%rax)
movl $0x2, %eax
movl %eax, -0x90(%rbp)
jmp 0xd1607
movq -0x38(%rbp), %rax
movslq -0x28(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movl 0xc(%rax), %eax
andl $0xffe00000, %eax       # imm = 0xFFE00000
cmpl $0x0, %eax
jne 0xd147e
movq -0x38(%rbp), %rax
movslq -0x28(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movl 0xc(%rax), %eax
sarl $0x10, %eax
orl $0xc0, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, (%rax)
movq -0x38(%rbp), %rax
movslq -0x28(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movl 0xc(%rax), %eax
sarl $0x8, %eax
andl $0xff, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, 0x1(%rax)
movq -0x38(%rbp), %rax
movslq -0x28(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movl 0xc(%rax), %eax
andl $0xff, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, 0x2(%rax)
movl $0x3, %eax
movl %eax, -0x94(%rbp)
jmp 0xd15fb
movq -0x38(%rbp), %rax
movslq -0x28(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movl 0xc(%rax), %eax
andl $0xf0000000, %eax       # imm = 0xF0000000
cmpl $0x0, %eax
jne 0xd1536
movq -0x38(%rbp), %rax
movslq -0x28(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movl 0xc(%rax), %eax
sarl $0x18, %eax
orl $0xe0, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, (%rax)
movq -0x38(%rbp), %rax
movslq -0x28(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movl 0xc(%rax), %eax
sarl $0x10, %eax
andl $0xff, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, 0x1(%rax)
movq -0x38(%rbp), %rax
movslq -0x28(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movl 0xc(%rax), %eax
sarl $0x8, %eax
andl $0xff, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, 0x2(%rax)
movq -0x38(%rbp), %rax
movslq -0x28(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movl 0xc(%rax), %eax
andl $0xff, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, 0x3(%rax)
movl $0x4, %eax
movl %eax, -0x98(%rbp)
jmp 0xd15ef
movq -0x38(%rbp), %rax
movslq -0x28(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movl 0xc(%rax), %eax
sarl $0x1c, %eax
andl $0xff, %eax
orl $0xf0, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, (%rax)
movq -0x38(%rbp), %rax
movslq -0x28(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movl 0xc(%rax), %eax
sarl $0x14, %eax
andl $0xff, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, 0x1(%rax)
movq -0x38(%rbp), %rax
movslq -0x28(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movl 0xc(%rax), %eax
sarl $0xc, %eax
andl $0xff, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, 0x2(%rax)
movq -0x38(%rbp), %rax
movslq -0x28(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movl 0xc(%rax), %eax
sarl $0x4, %eax
andl $0xff, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, 0x3(%rax)
movq -0x38(%rbp), %rax
movslq -0x28(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movl 0xc(%rax), %eax
andl $0xf, %eax
movb %al, %cl
movq -0x48(%rbp), %rax
movb %cl, 0x4(%rax)
movl $0x5, %eax
movl %eax, -0x98(%rbp)
movl -0x98(%rbp), %eax
movl %eax, -0x94(%rbp)
movl -0x94(%rbp), %eax
movl %eax, -0x90(%rbp)
movl -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x8c(%rbp), %ecx
movq -0x48(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x48(%rbp)
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
jmp 0xd132b
movq -0x18(%rbp), %rdi
movq -0x10(%rbp), %rax
movl (%rax), %esi
callq 0x7d910
addl -0x2c(%rbp), %eax
movl %eax, -0x2c(%rbp)
movq -0x18(%rbp), %rdi
movq -0x48(%rbp), %rax
movq -0x40(%rbp), %rcx
subq %rcx, %rax
movl %eax, %esi
callq 0x7d910
addl -0x2c(%rbp), %eax
movl %eax, -0x2c(%rbp)
jmp 0xd1668
jmp 0xd166a
movq -0x18(%rbp), %rax
movq 0x28(%rax), %rax
movq -0x18(%rbp), %rcx
movq 0x30(%rcx), %rcx
movq -0x48(%rbp), %rdx
movq -0x40(%rbp), %rsi
subq %rsi, %rdx
addq %rdx, %rcx
cmpq %rcx, %rax
ja 0xd174a
movq -0x18(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0xd16dd
movq -0x18(%rbp), %rax
movq 0x28(%rax), %xmm0
movaps 0x4974(%rip), %xmm1     # 0xd6020
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0x4978(%rip), %xmm1     # 0xd6030
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movsd 0x8fa1(%rip), %xmm1     # 0xda670
mulsd %xmm1, %xmm0
movsd %xmm0, -0xa0(%rbp)
jmp 0xd16ef
movsd 0x114d3(%rip), %xmm0    # 0xe2bb8
movsd %xmm0, -0xa0(%rbp)
jmp 0xd16ef
movsd -0xa0(%rbp), %xmm0
movsd 0x10959(%rip), %xmm2    # 0xe2058
movaps %xmm0, %xmm1
subsd %xmm2, %xmm1
cvttsd2si %xmm1, %rax
cvttsd2si %xmm0, %rcx
movq %rcx, %rdx
sarq $0x3f, %rdx
andq %rdx, %rax
orq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x28(%rax)
movq -0x18(%rbp), %rax
movq 0x20(%rax), %rdi
movq -0x18(%rbp), %rax
movq 0x28(%rax), %rsi
callq 0x6c80
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x20(%rax)
jmp 0xd166a
jmp 0xd174c
movq -0x18(%rbp), %rax
movq 0x20(%rax), %rdi
movq -0x18(%rbp), %rax
addq 0x30(%rax), %rdi
movq -0x40(%rbp), %rsi
movq -0x48(%rbp), %rdx
movq -0x40(%rbp), %rax
subq %rax, %rdx
callq 0x6570
movq -0x48(%rbp), %rcx
movq -0x40(%rbp), %rax
subq %rax, %rcx
movq -0x18(%rbp), %rax
addq 0x30(%rax), %rcx
movq %rcx, 0x30(%rax)
movq -0x48(%rbp), %rcx
movq -0x40(%rbp), %rax
subq %rax, %rcx
movslq -0x2c(%rbp), %rax
addq %rcx, %rax
movl %eax, -0x2c(%rbp)
movq -0x40(%rbp), %rdi
callq 0x6880
movl -0x2c(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0xa0, %rsp
popq %rbp
retq
nopw (%rax,%rax)