// File: /workspace/github_cpp_makefile_star2_O3/karel-brinda[P]ococo/ext/htslib/./cram/cram_io.h
// Function: append_uint32
static inline unsigned char *append_uint32(unsigned char *cp, uint32_t i) {
    uint32_t j;

    if (i == 0) {
	*cp++ = '0';
	return cp;
    }

    if (i < 100)        goto b1;
    if (i < 10000)      goto b3;
    if (i < 1000000)    goto b5;
    if (i < 100000000)  goto b7;

    if ((j = i / 1000000000)) {*cp++ = j + '0'; i -= j*1000000000; goto x8;}
    if ((j = i / 100000000))  {*cp++ = j + '0'; i -= j*100000000;  goto x7;}
 b7:if ((j = i / 10000000))   {*cp++ = j + '0'; i -= j*10000000;   goto x6;}
    if ((j = i / 1000000))    {*cp++ = j + '0', i -= j*1000000;    goto x5;}
 b5:if ((j = i / 100000))     {*cp++ = j + '0', i -= j*100000;     goto x4;}
    if ((j = i / 10000))      {*cp++ = j + '0', i -= j*10000;      goto x3;}
 b3:if ((j = i / 1000))       {*cp++ = j + '0', i -= j*1000;       goto x2;}
    if ((j = i / 100))        {*cp++ = j + '0', i -= j*100;        goto x1;}
 b1:if ((j = i / 10))         {*cp++ = j + '0', i -= j*10;         goto x0;}
    if (i)                     *cp++ = i + '0';
    return cp;

 x8: *cp++ = i / 100000000 + '0', i %= 100000000;
 x7: *cp++ = i / 10000000  + '0', i %= 10000000;
 x6: *cp++ = i / 1000000   + '0', i %= 1000000;
 x5: *cp++ = i / 100000    + '0', i %= 100000;
 x4: *cp++ = i / 10000     + '0', i %= 10000;
 x3: *cp++ = i / 1000      + '0', i %= 1000;
 x2: *cp++ = i / 100       + '0', i %= 100;
 x1: *cp++ = i / 10        + '0', i %= 10;
 x0: *cp++ = i             + '0';

    return cp;
}

// Assembly:
movq %rdi, %rax
testl %esi, %esi
je 0x24896
cmpl $0x64, %esi
jae 0x2489d
cmpl $0xa, %esi
jae 0x248ce
orb $0x30, %sil
movb %sil, (%rax)
jmp 0x24899
movb $0x30, (%rax)
incq %rax
retq
cmpl $0x2710, %esi           # imm = 0x2710
jae 0x248f0
movzwl %si, %ecx
cmpl $0x3e8, %esi            # imm = 0x3E8
jae 0x24924
shrl $0x2, %ecx
imull $0x147b, %ecx, %edx     # imm = 0x147B
shrl $0x11, %edx
imull $-0x64, %edx, %ecx
orb $0x30, %dl
movb %dl, (%rax)
incq %rax
addl %esi, %ecx
jmp 0x24ac6
movzbl %sil, %ecx
imull $0xcd, %ecx, %ecx
shrl $0xb, %ecx
movl %ecx, %edx
orb $0x30, %dl
movb %dl, (%rax)
addl %ecx, %ecx
leal (%rcx,%rcx,4), %ecx
subl %ecx, %esi
movl %esi, %ecx
jmp 0x24ae1
cmpl $0xf4240, %esi          # imm = 0xF4240
jae 0x24942
cmpl $0x186a0, %esi          # imm = 0x186A0
jae 0x24974
movl %esi, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rcx, %rdx
shrq $0x2d, %rdx
imull $0xffffd8f0, %edx, %ecx # imm = 0xFFFFD8F0
orb $0x30, %dl
movb %dl, (%rax)
incq %rax
addl %esi, %ecx
jmp 0x24a8e
shrl $0x3, %ecx
imull $0x20c5, %ecx, %ecx     # imm = 0x20C5
shrl $0x14, %ecx
leal 0x30(%rcx), %edx
movb %dl, (%rax)
imull $0xfffffc18, %ecx, %ecx # imm = 0xFFFFFC18
addl %esi, %ecx
jmp 0x24aa9
cmpl $0x5f5e100, %esi        # imm = 0x5F5E100
jae 0x24996
movl %esi, %ecx
cmpl $0x989680, %esi         # imm = 0x989680
jae 0x249b9
imulq $0x431bde83, %rcx, %rdx # imm = 0x431BDE83
shrq $0x32, %rdx
imull $0xfff0bdc0, %edx, %ecx # imm = 0xFFF0BDC0
addb $0x30, %dl
movb %dl, (%rax)
incq %rax
addl %esi, %ecx
jmp 0x24a4f
movl %esi, %ecx
shrl $0x5, %ecx
imulq $0xa7c5ac5, %rcx, %rdx  # imm = 0xA7C5AC5
shrq $0x27, %rdx
imull $0xfffe7960, %edx, %ecx # imm = 0xFFFE7960
orb $0x30, %dl
movb %dl, (%rax)
addl %esi, %ecx
jmp 0x24a6d
cmpl $0x3b9aca00, %esi       # imm = 0x3B9ACA00
jae 0x249d3
leaq 0x1(%rax), %rdx
movl %esi, %ecx
imulq $0x55e63b89, %rcx, %rdi # imm = 0x55E63B89
shrq $0x39, %rdi
imull $0xfa0a1f00, %edi, %ecx # imm = 0xFA0A1F00
addl %esi, %ecx
jmp 0x24a0a
imulq $0x6b5fca6b, %rcx, %rdx # imm = 0x6B5FCA6B
shrq $0x36, %rdx
imull $0xff676980, %edx, %ecx # imm = 0xFF676980
orb $0x30, %dl
movb %dl, (%rax)
addl %esi, %ecx
jmp 0x24a2f
movl %esi, %ecx
shrl $0x9, %ecx
imulq $0x44b83, %rcx, %rdi    # imm = 0x44B83
shrq $0x27, %rdi
imull $0xc4653600, %edi, %ecx # imm = 0xC4653600
addl %esi, %ecx
imulq $0x55e63b89, %rcx, %rsi # imm = 0x55E63B89
shrq $0x39, %rsi
leal 0x30(%rsi), %r8d
leaq 0x2(%rax), %rdx
movb %r8b, 0x1(%rax)
imull $0x5f5e100, %esi, %esi  # imm = 0x5F5E100
subl %esi, %ecx
orb $0x30, %dil
movb %dil, (%rax)
movl %ecx, %eax
imulq $0x6b5fca6b, %rax, %rax # imm = 0x6B5FCA6B
shrq $0x36, %rax
leal 0x30(%rax), %esi
movb %sil, (%rdx)
imull $0x989680, %eax, %eax   # imm = 0x989680
subl %eax, %ecx
movq %rdx, %rax
movl %ecx, %edx
imulq $0x431bde83, %rdx, %rdx # imm = 0x431BDE83
shrq $0x32, %rdx
leal 0x30(%rdx), %esi
movb %sil, 0x1(%rax)
addq $0x2, %rax
imull $0xf4240, %edx, %edx    # imm = 0xF4240
subl %edx, %ecx
movl %ecx, %edx
shrl $0x5, %edx
imulq $0xa7c5ac5, %rdx, %rdx  # imm = 0xA7C5AC5
shrq $0x27, %rdx
leal 0x30(%rdx), %esi
movb %sil, (%rax)
imull $0x186a0, %edx, %edx    # imm = 0x186A0
subl %edx, %ecx
movl %ecx, %edx
movl $0xd1b71759, %esi       # imm = 0xD1B71759
imulq %rdx, %rsi
shrq $0x2d, %rsi
leal 0x30(%rsi), %edx
movb %dl, 0x1(%rax)
addq $0x2, %rax
imull $0x2710, %esi, %edx     # imm = 0x2710
subl %edx, %ecx
movl %ecx, %edx
imulq $0x10624dd3, %rdx, %rdx # imm = 0x10624DD3
shrq $0x26, %rdx
leal 0x30(%rdx), %esi
movb %sil, (%rax)
imull $0x3e8, %edx, %edx      # imm = 0x3E8
subl %edx, %ecx
movl %ecx, %edx
imulq $0x51eb851f, %rdx, %rdx # imm = 0x51EB851F
shrq $0x25, %rdx
leal 0x30(%rdx), %esi
movb %sil, 0x1(%rax)
addq $0x2, %rax
imull $0x64, %edx, %edx
subl %edx, %ecx
movl %ecx, %edx
movl $0xcccccccd, %esi       # imm = 0xCCCCCCCD
imulq %rdx, %rsi
shrq $0x23, %rsi
leal 0x30(%rsi), %edx
movb %dl, (%rax)
addl %esi, %esi
leal (%rsi,%rsi,4), %edx
subl %edx, %ecx
addb $0x30, %cl
movb %cl, 0x1(%rax)
addq $0x2, %rax
retq