// File: /workspace/github_c_makefile_star2_O1/lengjingzju[P]json/jnum.c
// Function: fill_1_8_digits
static inline int32_t fill_1_8_digits(char *buffer, uint32_t digits, int32_t *ptz)
{
    char *s = buffer;

    if (digits < 10000) {
        return fill_1_4_digits(s, digits, ptz);
    } else {
        uint32_t q = FAST_DIV10000(digits);
        uint32_t r = digits - q * 10000;

        s += fill_1_4_digits(s, q, ptz);
        if (!r) {
            *ptz += 4;
            memset(s, '0', 4);
            s += 4;
        } else {
            s += fill_t_4_digits(s, r, ptz);
        }
    }

    return (int32_t)(s - buffer);
}

// Assembly:
cmpl $0x270f, %esi           # imm = 0x270F
ja 0x7db5
cmpl $0x63, %esi
ja 0x7e05
cmpl $0xa, %esi
jb 0x7e86
movl %esi, %eax
leaq 0x2e08(%rip), %rcx      # 0xaba0
movzbl (%rax,%rcx), %ecx
movl %ecx, (%rdx)
leaq 0x2d2b(%rip), %rcx      # 0xaad0
movzwl (%rcx,%rax,2), %eax
movw %ax, (%rdi)
leaq 0x2(%rdi), %rax
jmp 0x7f25
movl %esi, %eax
imulq $0x68db8bb, %rax, %r9   # imm = 0x68DB8BB
shrq $0x28, %r9
imull $0xffffd8f0, %r9d, %ecx # imm = 0xFFFFD8F0
addl %esi, %ecx
cmpl $0xf423f, %esi          # imm = 0xF423F
ja 0x7e47
cmpl $0x186a0, %esi          # imm = 0x186A0
jb 0x7e9c
leaq 0x2dba(%rip), %rax      # 0xaba0
movzbl (%r9,%rax), %eax
movl %eax, (%rdx)
leaq 0x2cdc(%rip), %rax      # 0xaad0
movzwl (%rax,%r9,2), %eax
movw %ax, (%rdi)
leaq 0x2(%rdi), %rax
jmp 0x7f37
imull $0x147b, %esi, %r8d     # imm = 0x147B
shrl $0x13, %r8d
imull $-0x64, %r8d, %ecx
addl %esi, %ecx
cmpl $0x3e8, %esi            # imm = 0x3E8
jb 0x7eb2
leaq 0x2d77(%rip), %rax      # 0xaba0
movzbl (%r8,%rax), %eax
movl %eax, (%rdx)
movl %r8d, %eax
leaq 0x2c96(%rip), %rsi      # 0xaad0
movzwl (%rsi,%rax,2), %eax
movw %ax, (%rdi)
leaq 0x2(%rdi), %rax
jmp 0x7ec3
imull $0x147b, %r9d, %r10d    # imm = 0x147B
shrl $0x13, %r10d
imull $-0x64, %r10d, %r8d
addl %r9d, %r8d
leaq 0x2d40(%rip), %r9       # 0xaba0
cmpl $0x989680, %esi         # imm = 0x989680
jb 0x7ee6
movzbl (%r10,%r9), %eax
movl %eax, (%rdx)
movl %r10d, %eax
leaq 0x2c57(%rip), %rsi      # 0xaad0
movzwl (%rsi,%rax,2), %eax
movw %ax, (%rdi)
leaq 0x2(%rdi), %rax
jmp 0x7ef7
movl $0x0, (%rdx)
orb $0x30, %sil
leaq 0x1(%rdi), %rax
movb %sil, (%rdi)
jmp 0x7f25
movl $0x0, (%rdx)
orb $0x30, %r9b
leaq 0x1(%rdi), %rax
movb %r9b, (%rdi)
jmp 0x7f37
movl $0x0, (%rdx)
orb $0x30, %r8b
leaq 0x1(%rdi), %rax
movb %r8b, (%rdi)
testl %ecx, %ecx
je 0x7f17
movl %ecx, %esi
leaq 0x2cd0(%rip), %r8       # 0xaba0
movzbl (%rsi,%r8), %esi
movl %esi, (%rdx)
addl %ecx, %ecx
leaq 0x2bf0(%rip), %rdx      # 0xaad0
movzwl (%rcx,%rdx), %ecx
jmp 0x7f1e
movl $0x0, (%rdx)
orb $0x30, %r10b
leaq 0x1(%rdi), %rax
movb %r10b, (%rdi)
testl %r8d, %r8d
je 0x7f29
movl %r8d, %esi
movzbl (%rsi,%r9), %esi
movl %esi, (%rdx)
addl %r8d, %r8d
leaq 0x2bc0(%rip), %rsi      # 0xaad0
movzwl (%r8,%rsi), %esi
jmp 0x7f30
addl $0x2, (%rdx)
movw $0x3030, %cx            # imm = 0x3030
movw %cx, (%rax)
addq $0x2, %rax
subq %rdi, %rax
retq
addl $0x2, (%rdx)
movw $0x3030, %si            # imm = 0x3030
movw %si, (%rax)
addq $0x2, %rax
subl %edi, %eax
cltq
addq %rdi, %rax
testl %ecx, %ecx
je 0x7f84
imull $0x147b, %ecx, %esi     # imm = 0x147B
shrl $0x13, %esi
imull $-0x64, %esi, %r8d
addl %ecx, %r8d
leaq 0x2b77(%rip), %rcx      # 0xaad0
movzwl (%rcx,%rsi,2), %r9d
movw %r9w, (%rax)
leal (%r8,%r8), %r9d
movzwl (%r9,%rcx), %ecx
movw %cx, 0x2(%rax)
testl %r8d, %r8d
je 0x7f8f
movl %r8d, %ecx
leaq 0x2c22(%rip), %rsi      # 0xaba0
movzbl (%rcx,%rsi), %ecx
jmp 0x7f9d
addl $0x4, (%rdx)
movl $0x30303030, (%rax)     # imm = 0x30303030
jmp 0x7f9f
leaq 0x2c0a(%rip), %rcx      # 0xaba0
movzbl (%rsi,%rcx), %ecx
addl $0x2, %ecx
movl %ecx, (%rdx)
subq %rdi, %rax
addq $0x4, %rax
retq