// File: /workspace/github_c_makefile_star2_O0/MaoKo[P]FGFX/tools/src/lexer.c
// Function: change_lexer_state
static void
change_lexer_state(lexer_t* lex,
                uint8_t (**state_table)[256], uint8_t (**final_table)[2]) {
    switch (lex->crt_state) {
        case S_GLOBAL:
            (*state_table) = fgfx_GLOBAL_state_table;
            (*final_table) = fgfx_GLOBAL_final_table;
            break;

        case S_BEG_REGEX:
            (*state_table) = fgfx_BEG_REGEX_state_table;
            (*final_table) = fgfx_BEG_REGEX_final_table;
            break;

        case S_BODY_REGEX:
            (*state_table) = fgfx_BODY_REGEX_state_table;
            (*final_table) = fgfx_BODY_REGEX_final_table;
            break;

        case S_STRING:
            (*state_table) = fgfx_STRING_state_table;
            (*final_table) = fgfx_STRING_final_table;
            break;

        case S_FINITE_SEQ:
            (*state_table) = fgfx_FINITE_SEQ_state_table;
            (*final_table) = fgfx_FINITE_SEQ_final_table;
            break;

        case S_BEG_CCL:
            (*state_table) = fgfx_BEG_CCL_state_table;
            (*final_table) = fgfx_BEG_CCL_final_table;
            break;

        case S_BODY_CCL:
            (*state_table) = fgfx_BODY_CCL_state_table;
            (*final_table) = fgfx_BODY_CCL_final_table;
            break;

        case S_NESTED_COM:
            (*state_table) = fgfx_NESTED_COM_state_table;
            (*final_table) = fgfx_NESTED_COM_final_table;
            break;

        case S_REG_COM:
            (*state_table) = fgfx_REG_COM_state_table;
            (*final_table) = fgfx_REG_COM_final_table;
            break;

        case S_REG_PARAMS:
            (*state_table) = fgfx_REG_PARAMS_state_table;
            (*final_table) = fgfx_REG_PARAMS_final_table;
            break;

        case S_REG_NO_PARAMS:
            (*state_table) = fgfx_REG_NO_PARAMS_state_table;
            (*final_table) = fgfx_REG_NO_PARAMS_final_table;
            break;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
decq %rax
movq %rax, -0x20(%rbp)
subq $0xa, %rax
ja 0x35f7
movq -0x20(%rbp), %rax
leaq 0x8b88(%rip), %rcx      # 0xc01c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x10(%rbp), %rax
leaq 0xe688(%rip), %rcx      # 0x11b30
movq %rcx, (%rax)
movq -0x18(%rbp), %rax
leaq 0xe00a(%rip), %rcx      # 0x114c0
movq %rcx, (%rax)
jmp 0x35f7
movq -0x10(%rbp), %rax
leaq 0x11767(%rip), %rcx     # 0x14c30
movq %rcx, (%rax)
movq -0x18(%rbp), %rax
leaq 0xe027(%rip), %rcx      # 0x114fe
movq %rcx, (%rax)
jmp 0x35f7
movq -0x10(%rbp), %rax
leaq 0x11d46(%rip), %rcx     # 0x15230
movq %rcx, (%rax)
movq -0x18(%rbp), %rax
leaq 0xe018(%rip), %rcx      # 0x11510
movq %rcx, (%rax)
jmp 0x35f7
movq -0x10(%rbp), %rax
leaq 0x15725(%rip), %rcx     # 0x18c30
movq %rcx, (%rax)
movq -0x18(%rbp), %rax
leaq 0xe047(%rip), %rcx      # 0x11560
movq %rcx, (%rax)
jmp 0x35f7
movq -0x10(%rbp), %rax
leaq 0x16704(%rip), %rcx     # 0x19c30
movq %rcx, (%rax)
movq -0x18(%rbp), %rax
leaq 0xe042(%rip), %rcx      # 0x1157c
movq %rcx, (%rax)
jmp 0x35f7
movq -0x10(%rbp), %rax
leaq 0x16ce3(%rip), %rcx     # 0x1a230
movq %rcx, (%rax)
movq -0x18(%rbp), %rax
leaq 0xe035(%rip), %rcx      # 0x11590
movq %rcx, (%rax)
jmp 0x35f7
movq -0x10(%rbp), %rax
leaq 0x188c2(%rip), %rcx     # 0x1be30
movq %rcx, (%rax)
movq -0x18(%rbp), %rax
leaq 0xe044(%rip), %rcx      # 0x115c0
movq %rcx, (%rax)
jmp 0x35f7
movq -0x10(%rbp), %rax
leaq 0x1a5a4(%rip), %rcx     # 0x1db30
movq %rcx, (%rax)
movq -0x18(%rbp), %rax
leaq 0xe04c(%rip), %rcx      # 0x115e6
movq %rcx, (%rax)
jmp 0x35f7
movq -0x10(%rbp), %rax
leaq 0xe056(%rip), %rcx      # 0x11600
movq %rcx, (%rax)
movq -0x18(%rbp), %rax
leaq 0xe548(%rip), %rcx      # 0x11b00
movq %rcx, (%rax)
jmp 0x35f7
movq -0x10(%rbp), %rax
leaq 0x1ad68(%rip), %rcx     # 0x1e330
movq %rcx, (%rax)
movq -0x18(%rbp), %rax
leaq 0xe532(%rip), %rcx      # 0x11b08
movq %rcx, (%rax)
jmp 0x35f7
movq -0x10(%rbp), %rax
leaq 0x1b54a(%rip), %rcx     # 0x1eb30
movq %rcx, (%rax)
movq -0x18(%rbp), %rax
leaq 0xe522(%rip), %rcx      # 0x11b16
movq %rcx, (%rax)
popq %rbp
retq
nopl (%rax)