// File: /workspace/github_c_makefile_star2_O3/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, 0x8fd9(%rip)      # 0xd220
jne 0x444f
pushq %rbp
movq %rsp, %rbp
movb $0x1, %al
movb %al, 0x8fc7(%rip)       # 0xd220
movabsq $0x909090909090909, %rcx # imm = 0x909090909090909
movq %rcx, 0x8ff6(%rip)      # 0xd260
movw $0x909, 0x8ff5(%rip)    # imm = 0x909
movw $0x101, %cx             # imm = 0x101
movw %cx, 0x8fbb(%rip)       # 0xd239
movb %al, 0x8fb9(%rip)       # 0xd23d
movb %al, 0x8fc6(%rip)       # 0xd250
movb $0x5, 0x8fc1(%rip)      # 0xd252
movb $0x2, %dl
movb %dl, 0x8fd1(%rip)       # 0xd26a
movb %dl, 0x8fce(%rip)       # 0xd26d
movw $0x901, 0x8fb4(%rip)    # imm = 0x901
movb $0x3, %sil
movb %sil, 0x8fd9(%rip)      # 0xd28b
movb $0x4, %dl
movb %dl, 0x8fd3(%rip)       # 0xd28d
movb %sil, 0x8fea(%rip)      # 0xd2ab
movb %dl, 0x8fe6(%rip)       # 0xd2ad
movb $0x9, %dil
movb %dil, 0x8fd3(%rip)      # 0xd2a4
movb %dil, 0x8fbe(%rip)      # 0xd296
movb %dil, 0x8fbf(%rip)      # 0xd29e
movaps 0x524a(%rip), %xmm0     # 0x9530
movaps %xmm0, 0x9063(%rip)     # 0xd350
movaps %xmm0, 0x906c(%rip)     # 0xd360
movaps %xmm0, 0x9075(%rip)     # 0xd370
movaps %xmm0, 0x907e(%rip)     # 0xd380
movaps %xmm0, 0x9087(%rip)     # 0xd390
movups %xmm0, 0x908f(%rip)     # 0xd39f
movw $0xa0a, 0x9020(%rip)    # imm = 0xA0A
movb $0xa, %dil
movb %dil, 0x901a(%rip)      # 0xd33d
movb %dil, 0x9032(%rip)      # 0xd35c
movb %dil, 0x905c(%rip)      # 0xd38d
movb %dil, 0x9075(%rip)      # 0xd3ad
movaps %xmm0, 0x9141(%rip)     # 0xd480
movaps %xmm0, 0x910a(%rip)     # 0xd450
movaps %xmm0, 0x9113(%rip)     # 0xd460
movaps %xmm0, 0x911c(%rip)     # 0xd470
movaps %xmm0, 0x9135(%rip)     # 0xd490
movups %xmm0, 0x913d(%rip)     # 0xd49f
movaps 0x51d7(%rip), %xmm0     # 0x9540
movaps %xmm0, 0x9180(%rip)     # 0xd4f0
movaps %xmm0, 0x9189(%rip)     # 0xd500
movaps 0x51d2(%rip), %xmm0     # 0x9550
movaps %xmm0, 0x918b(%rip)     # 0xd510
movabsq $0xd0d0d0d0d0d0d0d, %rdi # imm = 0xD0D0D0D0D0D0D0D
movq %rdi, 0x918a(%rip)      # 0xd520
movb $0x7, 0x90ef(%rip)      # 0xd48c
movb $0x6, 0x90ae(%rip)      # 0xd452
movaps 0x51b5(%rip), %xmm0     # 0x9560
movaps %xmm0, 0x91fe(%rip)     # 0xd5b0
movaps %xmm0, 0x9207(%rip)     # 0xd5c0
movaps %xmm0, 0x9210(%rip)     # 0xd5d0
movaps %xmm0, 0x9219(%rip)     # 0xd5e0
movb $0x8, %dil
movb %dil, 0x9281(%rip)      # 0xd652
movb %dil, 0x92b4(%rip)      # 0xd68c
movb %dil, 0x9280(%rip)      # 0xd65f
movb %dil, 0x92ac(%rip)      # 0xd692
movb %dil, 0x92a9(%rip)      # 0xd696
movb %dil, 0x92aa(%rip)      # 0xd69e
movb %dil, 0x92a7(%rip)      # 0xd6a2
movw $0x808, 0x92a0(%rip)    # imm = 0x808
movw %cx, 0x935d(%rip)       # 0xd768
movabsq $0x101010101010101, %rcx # imm = 0x101010101010101
movq %rcx, 0x9344(%rip)      # 0xd760
movw $0x201, 0x9338(%rip)    # imm = 0x201
movb %al, 0x9330(%rip)       # 0xd75b
movb %sil, 0x9363(%rip)      # 0xd795
movb %sil, 0x933c(%rip)      # 0xd775
movb %dl, 0x9311(%rip)       # 0xd750
movw $0x404, 0x92f1(%rip)    # imm = 0x404
movb %dl, 0x92ef(%rip)       # 0xd73d
popq %rbp
retq