// File: /workspace/github_c_makefile_star2_O2/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:
pushq %rbp
movq %rsp, %rbp
cmpb $0x0, 0x8149(%rip)      # 0xc220
jne 0x42bf
movb $0x1, 0x813c(%rip)      # 0xc220
movabsq $-0xa, %rax
leaq 0x813b(%rip), %rcx      # 0xc230
testq %rax, %rax
je 0x4104
movb $0x9, 0x3a(%rax,%rcx)
incq %rax
jmp 0x40f5
movw $0x101, 0x812c(%rip)    # imm = 0x101
movb $0x1, %al
movb %al, 0x8128(%rip)       # 0xc23d
movb %al, 0x8135(%rip)       # 0xc250
movb $0x5, 0x8130(%rip)      # 0xc252
movb $0x2, %al
movb %al, 0x8140(%rip)       # 0xc26a
movb %al, 0x813d(%rip)       # 0xc26d
movw $0x901, 0x8123(%rip)    # imm = 0x901
movb $0x3, %al
movb %al, 0x814a(%rip)       # 0xc28b
movb $0x4, %cl
movb %cl, 0x8144(%rip)       # 0xc28d
movb %al, 0x815c(%rip)       # 0xc2ab
movb %cl, 0x8158(%rip)       # 0xc2ad
movb $0x9, %al
movb %al, 0x8147(%rip)       # 0xc2a4
movb %al, 0x8133(%rip)       # 0xc296
movb %al, 0x8135(%rip)       # 0xc29e
movabsq $0x20, %rax
leaq 0x81b6(%rip), %rcx      # 0xc330
cmpq $0x7f, %rax
je 0x4189
movb $0x1, (%rax,%rcx)
incq %rax
jmp 0x417a
movw $0xa0a, 0x81a7(%rip)    # imm = 0xA0A
movb $0xa, %al
movb %al, 0x81a3(%rip)       # 0xc33d
movb %al, 0x81bc(%rip)       # 0xc35c
movb %al, 0x81e7(%rip)       # 0xc38d
movb %al, 0x8201(%rip)       # 0xc3ad
movabsq $0x20, %rcx
leaq 0x8273(%rip), %rax      # 0xc430
cmpq $0x7f, %rcx
je 0x41cc
movb $0x1, (%rcx,%rax)
incq %rcx
jmp 0x41bd
xorl %ecx, %ecx
cmpq $0x20, %rcx
je 0x41e1
movb $0xb, 0xc0(%rcx,%rax)
incq %rcx
jmp 0x41ce
xorl %ecx, %ecx
cmpq $0x10, %rcx
je 0x41f6
movb $0xc, 0xe0(%rcx,%rax)
incq %rcx
jmp 0x41e3
xorl %ecx, %ecx
cmpq $0x8, %rcx
je 0x420b
movb $0xd, 0xf0(%rcx,%rax)
incq %rcx
jmp 0x41f8
movb $0x7, 0x827a(%rip)      # 0xc48c
movb $0x6, 0x8239(%rip)      # 0xc452
xorl %eax, %eax
leaq 0x830e(%rip), %rcx      # 0xc530
cmpq $0x40, %rax
je 0x4235
movb $0xe, 0x80(%rax,%rcx)
incq %rax
jmp 0x4222
movb $0x8, %al
movb %al, 0x8415(%rip)       # 0xc652
movb %al, 0x8449(%rip)       # 0xc68c
movb %al, 0x8416(%rip)       # 0xc65f
movb %al, 0x8443(%rip)       # 0xc692
movb %al, 0x8441(%rip)       # 0xc696
movb %al, 0x8443(%rip)       # 0xc69e
movb %al, 0x8441(%rip)       # 0xc6a2
movw $0x808, 0x843a(%rip)    # imm = 0x808
movabsq $-0xa, %rax
leaq 0x84b5(%rip), %rcx      # 0xc730
testq %rax, %rax
je 0x428a
movb $0x1, 0x3a(%rax,%rcx)
incq %rax
jmp 0x427b
movw $0x201, 0x84ca(%rip)    # imm = 0x201
movb $0x1, 0x84c1(%rip)      # 0xc75b
movb $0x3, %al
movb %al, 0x84f3(%rip)       # 0xc795
movb %al, 0x84cd(%rip)       # 0xc775
movb $0x4, %al
movb %al, 0x84a0(%rip)       # 0xc750
movw $0x404, 0x8480(%rip)    # imm = 0x404
movb %al, 0x847e(%rip)       # 0xc73d
popq %rbp
retq