// File: cqbqdd11519[P]DockerClient/rapidjson/include/rapidjson/internal/itoa.h
// Function: rapidjson::internal::u32toa(unsigned int, char*)
inline char* u32toa(uint32_t value, char* buffer) {
    RAPIDJSON_ASSERT(buffer != 0);

    const char* cDigitsLut = GetDigitsLut();

    if (value < 10000) {
        const uint32_t d1 = (value / 100) << 1;
        const uint32_t d2 = (value % 100) << 1;

        if (value >= 1000)
            *buffer++ = cDigitsLut[d1];
        if (value >= 100)
            *buffer++ = cDigitsLut[d1 + 1];
        if (value >= 10)
            *buffer++ = cDigitsLut[d2];
        *buffer++ = cDigitsLut[d2 + 1];
    }
    else if (value < 100000000) {
        // value = bbbbcccc
        const uint32_t b = value / 10000;
        const uint32_t c = value % 10000;

        const uint32_t d1 = (b / 100) << 1;
        const uint32_t d2 = (b % 100) << 1;

        const uint32_t d3 = (c / 100) << 1;
        const uint32_t d4 = (c % 100) << 1;

        if (value >= 10000000)
            *buffer++ = cDigitsLut[d1];
        if (value >= 1000000)
            *buffer++ = cDigitsLut[d1 + 1];
        if (value >= 100000)
            *buffer++ = cDigitsLut[d2];
        *buffer++ = cDigitsLut[d2 + 1];

        *buffer++ = cDigitsLut[d3];
        *buffer++ = cDigitsLut[d3 + 1];
        *buffer++ = cDigitsLut[d4];
        *buffer++ = cDigitsLut[d4 + 1];
    }
    else {
        // value = aabbbbcccc in decimal

        const uint32_t a = value / 100000000; // 1 to 42
        value %= 100000000;

        if (a >= 10) {
            const unsigned i = a << 1;
            *buffer++ = cDigitsLut[i];
            *buffer++ = cDigitsLut[i + 1];
        }
        else
            *buffer++ = static_cast<char>('0' + static_cast<char>(a));

        const uint32_t b = value / 10000; // 0 to 9999
        const uint32_t c = value % 10000; // 0 to 9999

        const uint32_t d1 = (b / 100) << 1;
        const uint32_t d2 = (b % 100) << 1;

        const uint32_t d3 = (c / 100) << 1;
        const uint32_t d4 = (c % 100) << 1;

        *buffer++ = cDigitsLut[d1];
        *buffer++ = cDigitsLut[d1 + 1];
        *buffer++ = cDigitsLut[d2];
        *buffer++ = cDigitsLut[d2 + 1];
        *buffer++ = cDigitsLut[d3];
        *buffer++ = cDigitsLut[d3 + 1];
        *buffer++ = cDigitsLut[d4];
        *buffer++ = cDigitsLut[d4 + 1];
    }
    return buffer;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movl %edi, -0x4(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x16fa8
jmp 0x16fc7
leaq 0x8130(%rip), %rdi      # 0x1f0df
leaq 0x8135(%rip), %rsi      # 0x1f0eb
movl $0x28, %edx
leaq 0x8188(%rip), %rcx      # 0x1f14a
callq 0xe600
callq 0xe840
movq %rax, -0x18(%rbp)
cmpl $0x2710, -0x4(%rbp)     # imm = 0x2710
jae 0x1708f
movl -0x4(%rbp), %eax
movl $0x64, %ecx
xorl %edx, %edx
divl %ecx
shll %eax
movl %eax, -0x1c(%rbp)
movl -0x4(%rbp), %eax
movl $0x64, %ecx
xorl %edx, %edx
divl %ecx
shll %edx
movl %edx, -0x20(%rbp)
cmpl $0x3e8, -0x4(%rbp)      # imm = 0x3E8
jb 0x17023
movq -0x18(%rbp), %rax
movl -0x1c(%rbp), %ecx
movb (%rax,%rcx), %cl
movq -0x10(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x10(%rbp)
movb %cl, (%rax)
cmpl $0x64, -0x4(%rbp)
jb 0x17049
movq -0x18(%rbp), %rax
movl -0x1c(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, %ecx
movb (%rax,%rcx), %cl
movq -0x10(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x10(%rbp)
movb %cl, (%rax)
cmpl $0xa, -0x4(%rbp)
jb 0x1706a
movq -0x18(%rbp), %rax
movl -0x20(%rbp), %ecx
movb (%rax,%rcx), %cl
movq -0x10(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x10(%rbp)
movb %cl, (%rax)
movq -0x18(%rbp), %rax
movl -0x20(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, %ecx
movb (%rax,%rcx), %cl
movq -0x10(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x10(%rbp)
movb %cl, (%rax)
jmp 0x173df
cmpl $0x5f5e100, -0x4(%rbp)  # imm = 0x5F5E100
jae 0x1720a
movl -0x4(%rbp), %eax
movl $0x2710, %ecx           # imm = 0x2710
xorl %edx, %edx
divl %ecx
movl %eax, -0x24(%rbp)
movl -0x4(%rbp), %eax
movl $0x2710, %ecx           # imm = 0x2710
xorl %edx, %edx
divl %ecx
movl %edx, -0x28(%rbp)
movl -0x24(%rbp), %eax
movl $0x64, %ecx
xorl %edx, %edx
divl %ecx
shll %eax
movl %eax, -0x2c(%rbp)
movl -0x24(%rbp), %eax
movl $0x64, %ecx
xorl %edx, %edx
divl %ecx
shll %edx
movl %edx, -0x30(%rbp)
movl -0x28(%rbp), %eax
movl $0x64, %ecx
xorl %edx, %edx
divl %ecx
shll %eax
movl %eax, -0x34(%rbp)
movl -0x28(%rbp), %eax
movl $0x64, %ecx
xorl %edx, %edx
divl %ecx
shll %edx
movl %edx, -0x38(%rbp)
cmpl $0x989680, -0x4(%rbp)   # imm = 0x989680
jb 0x17122
movq -0x18(%rbp), %rax
movl -0x2c(%rbp), %ecx
movb (%rax,%rcx), %cl
movq -0x10(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x10(%rbp)
movb %cl, (%rax)
cmpl $0xf4240, -0x4(%rbp)    # imm = 0xF4240
jb 0x1714b
movq -0x18(%rbp), %rax
movl -0x2c(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, %ecx
movb (%rax,%rcx), %cl
movq -0x10(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x10(%rbp)
movb %cl, (%rax)
cmpl $0x186a0, -0x4(%rbp)    # imm = 0x186A0
jb 0x1716f
movq -0x18(%rbp), %rax
movl -0x30(%rbp), %ecx
movb (%rax,%rcx), %cl
movq -0x10(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x10(%rbp)
movb %cl, (%rax)
movq -0x18(%rbp), %rax
movl -0x30(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, %ecx
movb (%rax,%rcx), %cl
movq -0x10(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x10(%rbp)
movb %cl, (%rax)
movq -0x18(%rbp), %rax
movl -0x34(%rbp), %ecx
movb (%rax,%rcx), %cl
movq -0x10(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x10(%rbp)
movb %cl, (%rax)
movq -0x18(%rbp), %rax
movl -0x34(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, %ecx
movb (%rax,%rcx), %cl
movq -0x10(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x10(%rbp)
movb %cl, (%rax)
movq -0x18(%rbp), %rax
movl -0x38(%rbp), %ecx
movb (%rax,%rcx), %cl
movq -0x10(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x10(%rbp)
movb %cl, (%rax)
movq -0x18(%rbp), %rax
movl -0x38(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, %ecx
movb (%rax,%rcx), %cl
movq -0x10(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x10(%rbp)
movb %cl, (%rax)
jmp 0x173dd
movl -0x4(%rbp), %eax
movl $0x5f5e100, %ecx        # imm = 0x5F5E100
xorl %edx, %edx
divl %ecx
movl %eax, -0x3c(%rbp)
movl -0x4(%rbp), %eax
movl $0x5f5e100, %ecx        # imm = 0x5F5E100
xorl %edx, %edx
divl %ecx
movl %edx, -0x4(%rbp)
cmpl $0xa, -0x3c(%rbp)
jb 0x17273
movl -0x3c(%rbp), %eax
shll %eax
movl %eax, -0x40(%rbp)
movq -0x18(%rbp), %rax
movl -0x40(%rbp), %ecx
movb (%rax,%rcx), %cl
movq -0x10(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x10(%rbp)
movb %cl, (%rax)
movq -0x18(%rbp), %rax
movl -0x40(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, %ecx
movb (%rax,%rcx), %cl
movq -0x10(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x10(%rbp)
movb %cl, (%rax)
jmp 0x1728f
movl -0x3c(%rbp), %eax
movsbl %al, %eax
addl $0x30, %eax
movb %al, %cl
movq -0x10(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x10(%rbp)
movb %cl, (%rax)
movl -0x4(%rbp), %eax
movl $0x2710, %ecx           # imm = 0x2710
xorl %edx, %edx
divl %ecx
movl %eax, -0x44(%rbp)
movl -0x4(%rbp), %eax
movl $0x2710, %ecx           # imm = 0x2710
xorl %edx, %edx
divl %ecx
movl %edx, -0x48(%rbp)
movl -0x44(%rbp), %eax
movl $0x64, %ecx
xorl %edx, %edx
divl %ecx
shll %eax
movl %eax, -0x4c(%rbp)
movl -0x44(%rbp), %eax
movl $0x64, %ecx
xorl %edx, %edx
divl %ecx
shll %edx
movl %edx, -0x50(%rbp)
movl -0x48(%rbp), %eax
movl $0x64, %ecx
xorl %edx, %edx
divl %ecx
shll %eax
movl %eax, -0x54(%rbp)
movl -0x48(%rbp), %eax
movl $0x64, %ecx
xorl %edx, %edx
divl %ecx
shll %edx
movl %edx, -0x58(%rbp)
movq -0x18(%rbp), %rax
movl -0x4c(%rbp), %ecx
movb (%rax,%rcx), %cl
movq -0x10(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x10(%rbp)
movb %cl, (%rax)
movq -0x18(%rbp), %rax
movl -0x4c(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, %ecx
movb (%rax,%rcx), %cl
movq -0x10(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x10(%rbp)
movb %cl, (%rax)
movq -0x18(%rbp), %rax
movl -0x50(%rbp), %ecx
movb (%rax,%rcx), %cl
movq -0x10(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x10(%rbp)
movb %cl, (%rax)
movq -0x18(%rbp), %rax
movl -0x50(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, %ecx
movb (%rax,%rcx), %cl
movq -0x10(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x10(%rbp)
movb %cl, (%rax)
movq -0x18(%rbp), %rax
movl -0x54(%rbp), %ecx
movb (%rax,%rcx), %cl
movq -0x10(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x10(%rbp)
movb %cl, (%rax)
movq -0x18(%rbp), %rax
movl -0x54(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, %ecx
movb (%rax,%rcx), %cl
movq -0x10(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x10(%rbp)
movb %cl, (%rax)
movq -0x18(%rbp), %rax
movl -0x58(%rbp), %ecx
movb (%rax,%rcx), %cl
movq -0x10(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x10(%rbp)
movb %cl, (%rax)
movq -0x18(%rbp), %rax
movl -0x58(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, %ecx
movb (%rax,%rcx), %cl
movq -0x10(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x10(%rbp)
movb %cl, (%rax)
jmp 0x173df
movq -0x10(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
nopl (%rax)