// File: /workspace/github_c_makefile_star2_O0/neosploit[P]compiler/libfort/lib/fort.c
// Function: utf8cwidth
int utf8cwidth(utf8_int32_t c)
{
    // TODO: add non printable characters check
    if (c == 0)
        return 0;

    if (c < 0x1100)
        return 1;

    // Fullwidth
    if ((0x3000 == c) ||
        (0xFF01 <= c && c <= 0xFF60) ||
        (0xFFE0 <= c && c <= 0xFFE6)) {
        return 2;
    }

    // Wide
    if ((0x1100 <= c && c <= 0x115F) ||
        (0x11A3 <= c && c <= 0x11A7) ||
        (0x11FA <= c && c <= 0x11FF) ||
        (0x2329 <= c && c <= 0x232A) ||
        (0x2E80 <= c && c <= 0x2E99) ||
        (0x2E9B <= c && c <= 0x2EF3) ||
        (0x2F00 <= c && c <= 0x2FD5) ||
        (0x2FF0 <= c && c <= 0x2FFB) ||
        (0x3001 <= c && c <= 0x303E) ||
        (0x3041 <= c && c <= 0x3096) ||
        (0x3099 <= c && c <= 0x30FF) ||
        (0x3105 <= c && c <= 0x312D) ||
        (0x3131 <= c && c <= 0x318E) ||
        (0x3190 <= c && c <= 0x31BA) ||
        (0x31C0 <= c && c <= 0x31E3) ||
        (0x31F0 <= c && c <= 0x321E) ||
        (0x3220 <= c && c <= 0x3247) ||
        (0x3250 <= c && c <= 0x32FE) ||
        (0x3300 <= c && c <= 0x4DBF) ||
        (0x4E00 <= c && c <= 0xA48C) ||
        (0xA490 <= c && c <= 0xA4C6) ||
        (0xA960 <= c && c <= 0xA97C) ||
        (0xAC00 <= c && c <= 0xD7A3) ||
        (0xD7B0 <= c && c <= 0xD7C6) ||
        (0xD7CB <= c && c <= 0xD7FB) ||
        (0xF900 <= c && c <= 0xFAFF) ||
        (0xFE10 <= c && c <= 0xFE19) ||
        (0xFE30 <= c && c <= 0xFE52) ||
        (0xFE54 <= c && c <= 0xFE66) ||
        (0xFE68 <= c && c <= 0xFE6B) ||
        (0x1B000 <= c && c <= 0x1B001) ||
        (0x1F200 <= c && c <= 0x1F202) ||
        (0x1F210 <= c && c <= 0x1F23A) ||
        (0x1F240 <= c && c <= 0x1F248) ||
        (0x1F250 <= c && c <= 0x1F251) ||
        (0x20000 <= c && c <= 0x2F73F) ||
        (0x2B740 <= c && c <= 0x2FFFD) ||
        (0x30000 <= c && c <= 0x3FFFD)) {
        return 2;
    }

    return 1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl %edi, -0x8(%rbp)
cmpl $0x0, -0x8(%rbp)
jne 0x112c9
movl $0x0, -0x4(%rbp)
jmp 0x11678
cmpl $0x1100, -0x8(%rbp)     # imm = 0x1100
jge 0x112de
movl $0x1, -0x4(%rbp)
jmp 0x11678
movl $0x3000, %eax           # imm = 0x3000
cmpl -0x8(%rbp), %eax
je 0x1130e
movl $0xff01, %eax           # imm = 0xFF01
cmpl -0x8(%rbp), %eax
jg 0x112fb
cmpl $0xff60, -0x8(%rbp)     # imm = 0xFF60
jle 0x1130e
movl $0xffe0, %eax           # imm = 0xFFE0
cmpl -0x8(%rbp), %eax
jg 0x1131a
cmpl $0xffe6, -0x8(%rbp)     # imm = 0xFFE6
jg 0x1131a
movl $0x2, -0x4(%rbp)
jmp 0x11678
movl $0x1100, %eax           # imm = 0x1100
cmpl -0x8(%rbp), %eax
jg 0x11331
cmpl $0x115f, -0x8(%rbp)     # imm = 0x115F
jle 0x11668
movl $0x11a3, %eax           # imm = 0x11A3
cmpl -0x8(%rbp), %eax
jg 0x11348
cmpl $0x11a7, -0x8(%rbp)     # imm = 0x11A7
jle 0x11668
movl $0x11fa, %eax           # imm = 0x11FA
cmpl -0x8(%rbp), %eax
jg 0x1135f
cmpl $0x11ff, -0x8(%rbp)     # imm = 0x11FF
jle 0x11668
movl $0x2329, %eax           # imm = 0x2329
cmpl -0x8(%rbp), %eax
jg 0x11376
cmpl $0x232a, -0x8(%rbp)     # imm = 0x232A
jle 0x11668
movl $0x2e80, %eax           # imm = 0x2E80
cmpl -0x8(%rbp), %eax
jg 0x1138d
cmpl $0x2e99, -0x8(%rbp)     # imm = 0x2E99
jle 0x11668
movl $0x2e9b, %eax           # imm = 0x2E9B
cmpl -0x8(%rbp), %eax
jg 0x113a4
cmpl $0x2ef3, -0x8(%rbp)     # imm = 0x2EF3
jle 0x11668
movl $0x2f00, %eax           # imm = 0x2F00
cmpl -0x8(%rbp), %eax
jg 0x113bb
cmpl $0x2fd5, -0x8(%rbp)     # imm = 0x2FD5
jle 0x11668
movl $0x2ff0, %eax           # imm = 0x2FF0
cmpl -0x8(%rbp), %eax
jg 0x113d2
cmpl $0x2ffb, -0x8(%rbp)     # imm = 0x2FFB
jle 0x11668
movl $0x3001, %eax           # imm = 0x3001
cmpl -0x8(%rbp), %eax
jg 0x113e9
cmpl $0x303e, -0x8(%rbp)     # imm = 0x303E
jle 0x11668
movl $0x3041, %eax           # imm = 0x3041
cmpl -0x8(%rbp), %eax
jg 0x11400
cmpl $0x3096, -0x8(%rbp)     # imm = 0x3096
jle 0x11668
movl $0x3099, %eax           # imm = 0x3099
cmpl -0x8(%rbp), %eax
jg 0x11417
cmpl $0x30ff, -0x8(%rbp)     # imm = 0x30FF
jle 0x11668
movl $0x3105, %eax           # imm = 0x3105
cmpl -0x8(%rbp), %eax
jg 0x1142e
cmpl $0x312d, -0x8(%rbp)     # imm = 0x312D
jle 0x11668
movl $0x3131, %eax           # imm = 0x3131
cmpl -0x8(%rbp), %eax
jg 0x11445
cmpl $0x318e, -0x8(%rbp)     # imm = 0x318E
jle 0x11668
movl $0x3190, %eax           # imm = 0x3190
cmpl -0x8(%rbp), %eax
jg 0x1145c
cmpl $0x31ba, -0x8(%rbp)     # imm = 0x31BA
jle 0x11668
movl $0x31c0, %eax           # imm = 0x31C0
cmpl -0x8(%rbp), %eax
jg 0x11473
cmpl $0x31e3, -0x8(%rbp)     # imm = 0x31E3
jle 0x11668
movl $0x31f0, %eax           # imm = 0x31F0
cmpl -0x8(%rbp), %eax
jg 0x1148a
cmpl $0x321e, -0x8(%rbp)     # imm = 0x321E
jle 0x11668
movl $0x3220, %eax           # imm = 0x3220
cmpl -0x8(%rbp), %eax
jg 0x114a1
cmpl $0x3247, -0x8(%rbp)     # imm = 0x3247
jle 0x11668
movl $0x3250, %eax           # imm = 0x3250
cmpl -0x8(%rbp), %eax
jg 0x114b8
cmpl $0x32fe, -0x8(%rbp)     # imm = 0x32FE
jle 0x11668
movl $0x3300, %eax           # imm = 0x3300
cmpl -0x8(%rbp), %eax
jg 0x114cf
cmpl $0x4dbf, -0x8(%rbp)     # imm = 0x4DBF
jle 0x11668
movl $0x4e00, %eax           # imm = 0x4E00
cmpl -0x8(%rbp), %eax
jg 0x114e6
cmpl $0xa48c, -0x8(%rbp)     # imm = 0xA48C
jle 0x11668
movl $0xa490, %eax           # imm = 0xA490
cmpl -0x8(%rbp), %eax
jg 0x114fd
cmpl $0xa4c6, -0x8(%rbp)     # imm = 0xA4C6
jle 0x11668
movl $0xa960, %eax           # imm = 0xA960
cmpl -0x8(%rbp), %eax
jg 0x11514
cmpl $0xa97c, -0x8(%rbp)     # imm = 0xA97C
jle 0x11668
movl $0xac00, %eax           # imm = 0xAC00
cmpl -0x8(%rbp), %eax
jg 0x1152b
cmpl $0xd7a3, -0x8(%rbp)     # imm = 0xD7A3
jle 0x11668
movl $0xd7b0, %eax           # imm = 0xD7B0
cmpl -0x8(%rbp), %eax
jg 0x11542
cmpl $0xd7c6, -0x8(%rbp)     # imm = 0xD7C6
jle 0x11668
movl $0xd7cb, %eax           # imm = 0xD7CB
cmpl -0x8(%rbp), %eax
jg 0x11559
cmpl $0xd7fb, -0x8(%rbp)     # imm = 0xD7FB
jle 0x11668
movl $0xf900, %eax           # imm = 0xF900
cmpl -0x8(%rbp), %eax
jg 0x11570
cmpl $0xfaff, -0x8(%rbp)     # imm = 0xFAFF
jle 0x11668
movl $0xfe10, %eax           # imm = 0xFE10
cmpl -0x8(%rbp), %eax
jg 0x11587
cmpl $0xfe19, -0x8(%rbp)     # imm = 0xFE19
jle 0x11668
movl $0xfe30, %eax           # imm = 0xFE30
cmpl -0x8(%rbp), %eax
jg 0x1159e
cmpl $0xfe52, -0x8(%rbp)     # imm = 0xFE52
jle 0x11668
movl $0xfe54, %eax           # imm = 0xFE54
cmpl -0x8(%rbp), %eax
jg 0x115b5
cmpl $0xfe66, -0x8(%rbp)     # imm = 0xFE66
jle 0x11668
movl $0xfe68, %eax           # imm = 0xFE68
cmpl -0x8(%rbp), %eax
jg 0x115cc
cmpl $0xfe6b, -0x8(%rbp)     # imm = 0xFE6B
jle 0x11668
movl $0x1b000, %eax          # imm = 0x1B000
cmpl -0x8(%rbp), %eax
jg 0x115e3
cmpl $0x1b001, -0x8(%rbp)    # imm = 0x1B001
jle 0x11668
movl $0x1f200, %eax          # imm = 0x1F200
cmpl -0x8(%rbp), %eax
jg 0x115f6
cmpl $0x1f202, -0x8(%rbp)    # imm = 0x1F202
jle 0x11668
movl $0x1f210, %eax          # imm = 0x1F210
cmpl -0x8(%rbp), %eax
jg 0x11609
cmpl $0x1f23a, -0x8(%rbp)    # imm = 0x1F23A
jle 0x11668
movl $0x1f240, %eax          # imm = 0x1F240
cmpl -0x8(%rbp), %eax
jg 0x1161c
cmpl $0x1f248, -0x8(%rbp)    # imm = 0x1F248
jle 0x11668
movl $0x1f250, %eax          # imm = 0x1F250
cmpl -0x8(%rbp), %eax
jg 0x1162f
cmpl $0x1f251, -0x8(%rbp)    # imm = 0x1F251
jle 0x11668
movl $0x20000, %eax          # imm = 0x20000
cmpl -0x8(%rbp), %eax
jg 0x11642
cmpl $0x2f73f, -0x8(%rbp)    # imm = 0x2F73F
jle 0x11668
movl $0x2b740, %eax          # imm = 0x2B740
cmpl -0x8(%rbp), %eax
jg 0x11655
cmpl $0x2fffd, -0x8(%rbp)    # imm = 0x2FFFD
jle 0x11668
movl $0x30000, %eax          # imm = 0x30000
cmpl -0x8(%rbp), %eax
jg 0x11671
cmpl $0x3fffd, -0x8(%rbp)    # imm = 0x3FFFD
jg 0x11671
movl $0x2, -0x4(%rbp)
jmp 0x11678
movl $0x1, -0x4(%rbp)
movl -0x4(%rbp), %eax
popq %rbp
retq
nopl (%rax)