// File: /workspace/github_c_makefile_star2_O3/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 0x7c96
cmpl $0x63, %esi
ja 0x7ce6
cmpl $0xa, %esi
jb 0x7d67
movl %esi, %eax
leaq 0x2f27(%rip), %rcx      # 0xaba0
movzbl (%rax,%rcx), %ecx
movl %ecx, (%rdx)
leaq 0x2e4a(%rip), %rcx      # 0xaad0
movzwl (%rcx,%rax,2), %eax
movw %ax, (%rdi)
leaq 0x2(%rdi), %rax
jmp 0x7e07
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 0x7d28
cmpl $0x186a0, %esi          # imm = 0x186A0
jb 0x7d7d
leaq 0x2ed9(%rip), %rax      # 0xaba0
movzbl (%r9,%rax), %eax
movl %eax, (%rdx)
leaq 0x2dfb(%rip), %rax      # 0xaad0
movzwl (%rax,%r9,2), %eax
movw %ax, (%rdi)
leaq 0x2(%rdi), %rax
jmp 0x7e1f
imull $0x147b, %esi, %r8d     # imm = 0x147B
shrl $0x13, %r8d
imull $-0x64, %r8d, %ecx
addl %esi, %ecx
cmpl $0x3e8, %esi            # imm = 0x3E8
jb 0x7d93
leaq 0x2e96(%rip), %rax      # 0xaba0
movzbl (%r8,%rax), %eax
movl %eax, (%rdx)
movl %r8d, %eax
leaq 0x2db5(%rip), %rsi      # 0xaad0
movzwl (%rsi,%rax,2), %eax
movw %ax, (%rdi)
leaq 0x2(%rdi), %rax
jmp 0x7da4
imull $0x147b, %r9d, %r10d    # imm = 0x147B
shrl $0x13, %r10d
imull $-0x64, %r10d, %r8d
addl %r9d, %r8d
leaq 0x2e5f(%rip), %r9       # 0xaba0
cmpl $0x989680, %esi         # imm = 0x989680
jb 0x7dc6
movzbl (%r10,%r9), %eax
movl %eax, (%rdx)
movl %r10d, %eax
leaq 0x2d76(%rip), %rsi      # 0xaad0
movzwl (%rsi,%rax,2), %eax
movw %ax, (%rdi)
leaq 0x2(%rdi), %rax
jmp 0x7dd7
movl $0x0, (%rdx)
orb $0x30, %sil
leaq 0x1(%rdi), %rax
movb %sil, (%rdi)
jmp 0x7e07
movl $0x0, (%rdx)
orb $0x30, %r9b
leaq 0x1(%rdi), %rax
movb %r9b, (%rdi)
jmp 0x7e1f
movl $0x0, (%rdx)
orb $0x30, %r8b
leaq 0x1(%rdi), %rax
movb %r8b, (%rdi)
testl %ecx, %ecx
je 0x7df5
movl %ecx, %esi
leaq 0x2def(%rip), %r8       # 0xaba0
movzbl (%rsi,%r8), %esi
addl %ecx, %ecx
leaq 0x2d11(%rip), %r8       # 0xaad0
movzwl (%rcx,%r8), %ecx
jmp 0x7dfe
movl $0x0, (%rdx)
orb $0x30, %r10b
leaq 0x1(%rdi), %rax
movb %r10b, (%rdi)
testl %r8d, %r8d
je 0x7e0b
movl %r8d, %esi
movzbl (%rsi,%r9), %esi
addl %r8d, %r8d
leaq 0x2ce2(%rip), %r9       # 0xaad0
movzwl (%r8,%r9), %r8d
jmp 0x7e15
movl (%rdx), %esi
addl $0x2, %esi
movw $0x3030, %cx            # imm = 0x3030
movl %esi, (%rdx)
movw %cx, (%rax)
addq $0x2, %rax
subq %rdi, %rax
retq
movl (%rdx), %esi
addl $0x2, %esi
movw $0x3030, %r8w           # imm = 0x3030
movl %esi, (%rdx)
movw %r8w, (%rax)
addq $0x2, %rax
subl %edi, %eax
cltq
addq %rdi, %rax
testl %ecx, %ecx
je 0x7e6c
imull $0x147b, %ecx, %esi     # imm = 0x147B
shrl $0x13, %esi
imull $-0x64, %esi, %r8d
addl %ecx, %r8d
leaq 0x2c8f(%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 0x7e77
movl %r8d, %ecx
leaq 0x2d3a(%rip), %rsi      # 0xaba0
movzbl (%rcx,%rsi), %ecx
jmp 0x7e85
addl $0x4, (%rdx)
movl $0x30303030, (%rax)     # imm = 0x30303030
jmp 0x7e87
leaq 0x2d22(%rip), %rcx      # 0xaba0
movzbl (%rsi,%rcx), %ecx
addl $0x2, %ecx
movl %ecx, (%rdx)
subq %rdi, %rax
addq $0x4, %rax
retq