// File: /workspace/github_c_makefile_star2_O0/robertdavidgraham[P]wc2/wc2.c
// Function: compile_utf8_statemachine
static void
compile_utf8_statemachine(int is_multibyte)
{
    if (is_multibyte) {
        setlocale(LC_ALL, "");
        build_WASSPACE(table[WASSPACE]);
        build_WASSPACE(table[NEWLINE]);
        build_WASWORD(table[WASWORD]);
        build_WASWORD(table[NEWWORD]);
        build_unicode(NEWWORD, USPACE);
        build_unicode(WASWORD, UWORD);
    } else {
        int c;
        setlocale(LC_ALL, "");
        for (c=0; c<256; c++) {
            if (c == '\n') {
                table[WASSPACE][c] = NEWLINE;
                table[NEWLINE][c] = NEWLINE;
                table[NEWWORD][c] = NEWLINE;
                table[WASWORD][c] = NEWLINE;
            } else if (isspace(c)) {
                table[WASSPACE][c] = WASSPACE;
                table[NEWLINE][c] = WASSPACE;
                table[NEWWORD][c] = WASSPACE;
                table[WASWORD][c] = WASSPACE;
            } else {
                table[WASSPACE][c] = NEWWORD;
                table[NEWLINE][c] = NEWWORD;
                table[NEWWORD][c] = WASWORD;
                table[WASWORD][c] = WASWORD;
            }
        }
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
cmpl $0x0, -0x4(%rbp)
je 0x23da
movl $0x6, %edi
leaq 0xdb5(%rip), %rsi       # 0x3122
callq 0x1130
leaq 0x2d77(%rip), %rdi      # 0x50f0
callq 0x12a0
leaq 0x2d6b(%rip), %rdi      # 0x50f0
addq $0x100, %rdi            # imm = 0x100
callq 0x12a0
leaq 0x2d58(%rip), %rdi      # 0x50f0
addq $0x300, %rdi            # imm = 0x300
callq 0x1550
leaq 0x2d45(%rip), %rdi      # 0x50f0
addq $0x200, %rdi            # imm = 0x200
callq 0x1550
movl $0x2, %edi
movl $0x4, %esi
callq 0x1690
movl $0x3, %edi
movl $0x23, %esi
callq 0x1690
jmp 0x2512
movl $0x6, %edi
leaq 0xd3c(%rip), %rsi       # 0x3122
callq 0x1130
movl $0x0, -0x8(%rbp)
cmpl $0x100, -0x8(%rbp)      # imm = 0x100
jge 0x2510
cmpl $0xa, -0x8(%rbp)
jne 0x2452
movslq -0x8(%rbp), %rcx
leaq 0x2ce0(%rip), %rax      # 0x50f0
movb $0x1, (%rax,%rcx)
movslq -0x8(%rbp), %rcx
leaq 0x2cd1(%rip), %rax      # 0x50f0
movb $0x1, 0x100(%rax,%rcx)
movslq -0x8(%rbp), %rcx
leaq 0x2cbe(%rip), %rax      # 0x50f0
movb $0x1, 0x200(%rax,%rcx)
movslq -0x8(%rbp), %rcx
leaq 0x2cab(%rip), %rax      # 0x50f0
movb $0x1, 0x300(%rax,%rcx)
jmp 0x2500
callq 0x1190
movq (%rax), %rax
movslq -0x8(%rbp), %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x2000, %eax           # imm = 0x2000
cmpl $0x0, %eax
je 0x24b6
movslq -0x8(%rbp), %rcx
leaq 0x2c79(%rip), %rax      # 0x50f0
movb $0x0, (%rax,%rcx)
movslq -0x8(%rbp), %rcx
leaq 0x2c6a(%rip), %rax      # 0x50f0
movb $0x0, 0x100(%rax,%rcx)
movslq -0x8(%rbp), %rcx
leaq 0x2c57(%rip), %rax      # 0x50f0
movb $0x0, 0x200(%rax,%rcx)
movslq -0x8(%rbp), %rcx
leaq 0x2c44(%rip), %rax      # 0x50f0
movb $0x0, 0x300(%rax,%rcx)
jmp 0x24fe
movslq -0x8(%rbp), %rcx
leaq 0x2c2f(%rip), %rax      # 0x50f0
movb $0x2, (%rax,%rcx)
movslq -0x8(%rbp), %rcx
leaq 0x2c20(%rip), %rax      # 0x50f0
movb $0x2, 0x100(%rax,%rcx)
movslq -0x8(%rbp), %rcx
leaq 0x2c0d(%rip), %rax      # 0x50f0
movb $0x3, 0x200(%rax,%rcx)
movslq -0x8(%rbp), %rcx
leaq 0x2bfa(%rip), %rax      # 0x50f0
movb $0x3, 0x300(%rax,%rcx)
jmp 0x2500
jmp 0x2502
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
jmp 0x23f2
jmp 0x2512
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)