// File: /workspace/github_c_makefile_star2_O1/mruby-zest[P]osc-bridge/src/mm_json.h
// Function: mm_json_init
MM_JSON_API void
mm_json_init(void)
{
    int i;
    if (mm_json_is_initialized) return;
    mm_json_is_initialized = 1;
    for (i = 48; i <= 57; ++i)
        mm_json_go_struct[i] = MM_JSON_STATE_BARE;
    mm_json_go_struct['\t'] = MM_JSON_STATE_LOOP;
    mm_json_go_struct['\r'] = MM_JSON_STATE_LOOP;
    mm_json_go_struct['\n'] = MM_JSON_STATE_LOOP;
    mm_json_go_struct[' '] = MM_JSON_STATE_LOOP;
    mm_json_go_struct['"'] = MM_JSON_STATE_QUP;
    mm_json_go_struct[':'] = MM_JSON_STATE_SEP;
    mm_json_go_struct['='] = MM_JSON_STATE_SEP;
    mm_json_go_struct[','] = MM_JSON_STATE_LOOP;
    mm_json_go_struct['['] = MM_JSON_STATE_UP;
    mm_json_go_struct[']'] = MM_JSON_STATE_DOWN;
    mm_json_go_struct['{'] = MM_JSON_STATE_UP;
    mm_json_go_struct['}'] = MM_JSON_STATE_DOWN;
    mm_json_go_struct['-'] = MM_JSON_STATE_BARE;
    mm_json_go_struct['t'] = MM_JSON_STATE_BARE;
    mm_json_go_struct['f'] = MM_JSON_STATE_BARE;
    mm_json_go_struct['n'] = MM_JSON_STATE_BARE;

    for (i = 32; i <= 126; ++i)
        mm_json_go_bare[i] = MM_JSON_STATE_LOOP;
    mm_json_go_bare['\t'] = MM_JSON_STATE_UNBARE;
    mm_json_go_bare['\r'] = MM_JSON_STATE_UNBARE;
    mm_json_go_bare['\n'] = MM_JSON_STATE_UNBARE;
    mm_json_go_bare[','] = MM_JSON_STATE_UNBARE;
    mm_json_go_bare[']'] = MM_JSON_STATE_UNBARE;
    mm_json_go_bare['}'] = MM_JSON_STATE_UNBARE;

    for (i = 32; i <= 126; ++i)
        mm_json_go_string[i] = MM_JSON_STATE_LOOP;
    for (i = 192; i <= 223; ++i)
        mm_json_go_string[i] = MM_JSON_STATE_UTF8_2;
    for (i = 224; i <= 239; ++i)
        mm_json_go_string[i] = MM_JSON_STATE_UTF8_3;
    for (i = 240; i <= 247; ++i)
        mm_json_go_string[i] = MM_JSON_STATE_UTF8_4;
    mm_json_go_string['\\'] = MM_JSON_STATE_ESC;
    mm_json_go_string['"'] = MM_JSON_STATE_QDOWN;
    for (i = 128; i <= 191; ++i)
        mm_json_go_utf8[i] = MM_JSON_STATE_UTF8_NEXT;

    mm_json_go_esc['"'] = MM_JSON_STATE_UNESC;
    mm_json_go_esc['\\'] = MM_JSON_STATE_UNESC;
    mm_json_go_esc['/'] = MM_JSON_STATE_UNESC;
    mm_json_go_esc['b'] = MM_JSON_STATE_UNESC;
    mm_json_go_esc['f'] = MM_JSON_STATE_UNESC;
    mm_json_go_esc['n'] = MM_JSON_STATE_UNESC;
    mm_json_go_esc['r'] = MM_JSON_STATE_UNESC;
    mm_json_go_esc['t'] = MM_JSON_STATE_UNESC;
    mm_json_go_esc['u'] = MM_JSON_STATE_UNESC;

    for (i = 48; i <= 57; ++i)
        mm_json_go_num[i] = MM_JSON_STATE_LOOP;
    mm_json_go_num['-'] = MM_JSON_STATE_NUM_LOOP;
    mm_json_go_num['+'] = MM_JSON_STATE_NUM_LOOP;
    mm_json_go_num['.'] = MM_JSON_STATE_NUM_FLT;
    mm_json_go_num['e'] = MM_JSON_STATE_NUM_EXP;
    mm_json_go_num['E'] = MM_JSON_STATE_NUM_EXP;
    mm_json_go_num[' '] = MM_JSON_STATE_NUM_BREAK;
    mm_json_go_num['\n'] = MM_JSON_STATE_NUM_BREAK;
    mm_json_go_num['\t'] = MM_JSON_STATE_NUM_BREAK;
    mm_json_go_num['\r'] = MM_JSON_STATE_NUM_BREAK;
}

// Assembly:
cmpb $0x0, 0x8fc5(%rip)      # 0xd220
jne 0x4463
pushq %rbp
movq %rsp, %rbp
movb $0x1, %al
movb %al, 0x8fb3(%rip)       # 0xd220
movabsq $0x909090909090909, %rcx # imm = 0x909090909090909
movq %rcx, 0x8fe2(%rip)      # 0xd260
movw $0x909, 0x8fe1(%rip)    # imm = 0x909
movw $0x101, %cx             # imm = 0x101
movw %cx, 0x8fa7(%rip)       # 0xd239
movb %al, 0x8fa5(%rip)       # 0xd23d
movb %al, 0x8fb2(%rip)       # 0xd250
movb $0x5, 0x8fad(%rip)      # 0xd252
movb $0x2, %dl
movb %dl, 0x8fbd(%rip)       # 0xd26a
movb %dl, 0x8fba(%rip)       # 0xd26d
movw $0x901, 0x8fa0(%rip)    # imm = 0x901
movb $0x3, %sil
movb %sil, 0x8fc5(%rip)      # 0xd28b
movb $0x4, %dl
movb %dl, 0x8fbf(%rip)       # 0xd28d
movb %sil, 0x8fd6(%rip)      # 0xd2ab
movb %dl, 0x8fd2(%rip)       # 0xd2ad
movb $0x9, %dil
movb %dil, 0x8fbf(%rip)      # 0xd2a4
movb %dil, 0x8faa(%rip)      # 0xd296
movb %dil, 0x8fab(%rip)      # 0xd29e
movaps 0x5236(%rip), %xmm0     # 0x9530
movaps %xmm0, 0x904f(%rip)     # 0xd350
movaps %xmm0, 0x9058(%rip)     # 0xd360
movaps %xmm0, 0x9061(%rip)     # 0xd370
movaps %xmm0, 0x906a(%rip)     # 0xd380
movaps %xmm0, 0x9073(%rip)     # 0xd390
movups %xmm0, 0x907b(%rip)     # 0xd39f
movw $0xa0a, 0x900c(%rip)    # imm = 0xA0A
movb $0xa, %dil
movb %dil, 0x9006(%rip)      # 0xd33d
movb %dil, 0x901e(%rip)      # 0xd35c
movb %dil, 0x9048(%rip)      # 0xd38d
movb %dil, 0x9061(%rip)      # 0xd3ad
movaps %xmm0, 0x912d(%rip)     # 0xd480
movaps %xmm0, 0x90f6(%rip)     # 0xd450
movaps %xmm0, 0x90ff(%rip)     # 0xd460
movaps %xmm0, 0x9108(%rip)     # 0xd470
movaps %xmm0, 0x9121(%rip)     # 0xd490
movups %xmm0, 0x9129(%rip)     # 0xd49f
movaps 0x51c3(%rip), %xmm0     # 0x9540
movaps %xmm0, 0x916c(%rip)     # 0xd4f0
movaps %xmm0, 0x9175(%rip)     # 0xd500
movaps 0x51be(%rip), %xmm0     # 0x9550
movaps %xmm0, 0x9177(%rip)     # 0xd510
movabsq $0xd0d0d0d0d0d0d0d, %rdi # imm = 0xD0D0D0D0D0D0D0D
movq %rdi, 0x9176(%rip)      # 0xd520
movb $0x7, 0x90db(%rip)      # 0xd48c
movb $0x6, 0x909a(%rip)      # 0xd452
movaps 0x51a1(%rip), %xmm0     # 0x9560
movaps %xmm0, 0x91ea(%rip)     # 0xd5b0
movaps %xmm0, 0x91f3(%rip)     # 0xd5c0
movaps %xmm0, 0x91fc(%rip)     # 0xd5d0
movaps %xmm0, 0x9205(%rip)     # 0xd5e0
movb $0x8, %dil
movb %dil, 0x926d(%rip)      # 0xd652
movb %dil, 0x92a0(%rip)      # 0xd68c
movb %dil, 0x926c(%rip)      # 0xd65f
movb %dil, 0x9298(%rip)      # 0xd692
movb %dil, 0x9295(%rip)      # 0xd696
movb %dil, 0x9296(%rip)      # 0xd69e
movb %dil, 0x9293(%rip)      # 0xd6a2
movw $0x808, 0x928c(%rip)    # imm = 0x808
movw %cx, 0x9349(%rip)       # 0xd768
movabsq $0x101010101010101, %rcx # imm = 0x101010101010101
movq %rcx, 0x9330(%rip)      # 0xd760
movw $0x201, 0x9324(%rip)    # imm = 0x201
movb %al, 0x931c(%rip)       # 0xd75b
movb %sil, 0x934f(%rip)      # 0xd795
movb %sil, 0x9328(%rip)      # 0xd775
movb %dl, 0x92fd(%rip)       # 0xd750
movw $0x404, 0x92dd(%rip)    # imm = 0x404
movb %dl, 0x92db(%rip)       # 0xd73d
popq %rbp
retq