// File: /workspace/github_c_makefile_star2_O2/neosploit[P]compiler/libfort/lib/fort.c
// Function: utf8uprcodepoint
utf8_int32_t utf8uprcodepoint(utf8_int32_t cp)
{
    if (((0x0061 <= cp) && (0x007a >= cp)) ||
        ((0x00e0 <= cp) && (0x00f6 >= cp)) ||
        ((0x00f8 <= cp) && (0x00fe >= cp)) ||
        ((0x03b1 <= cp) && (0x03c1 >= cp)) ||
        ((0x03c3 <= cp) && (0x03cb >= cp))) {
        cp -= 32;
    } else if (((0x0100 <= cp) && (0x012f >= cp)) ||
               ((0x0132 <= cp) && (0x0137 >= cp)) ||
               ((0x014a <= cp) && (0x0177 >= cp)) ||
               ((0x0182 <= cp) && (0x0185 >= cp)) ||
               ((0x01a0 <= cp) && (0x01a5 >= cp)) ||
               ((0x01de <= cp) && (0x01ef >= cp)) ||
               ((0x01f8 <= cp) && (0x021f >= cp)) ||
               ((0x0222 <= cp) && (0x0233 >= cp)) ||
               ((0x0246 <= cp) && (0x024f >= cp)) ||
               ((0x03d8 <= cp) && (0x03ef >= cp))) {
        cp &= ~0x1;
    } else if (((0x0139 <= cp) && (0x0148 >= cp)) ||
               ((0x0179 <= cp) && (0x017e >= cp)) ||
               ((0x01af <= cp) && (0x01b0 >= cp)) ||
               ((0x01b3 <= cp) && (0x01b6 >= cp)) ||
               ((0x01cd <= cp) && (0x01dc >= cp))) {
        cp -= 1;
        cp |= 0x1;
    } else {
        switch (cp) {
            default: break;
            case 0x00ff: cp = 0x0178; break;
            case 0x0180: cp = 0x0243; break;
            case 0x01dd: cp = 0x018e; break;
            case 0x019a: cp = 0x023d; break;
            case 0x019e: cp = 0x0220; break;
            case 0x0292: cp = 0x01b7; break;
            case 0x01c6: cp = 0x01c4; break;
            case 0x01c9: cp = 0x01c7; break;
            case 0x01cc: cp = 0x01ca; break;
            case 0x01f3: cp = 0x01f1; break;
            case 0x01bf: cp = 0x01f7; break;
            case 0x0188: cp = 0x0187; break;
            case 0x018c: cp = 0x018b; break;
            case 0x0192: cp = 0x0191; break;
            case 0x0199: cp = 0x0198; break;
            case 0x01a8: cp = 0x01a7; break;
            case 0x01ad: cp = 0x01ac; break;
            case 0x01b0: cp = 0x01af; break;
            case 0x01b9: cp = 0x01b8; break;
            case 0x01bd: cp = 0x01bc; break;
            case 0x01f5: cp = 0x01f4; break;
            case 0x023c: cp = 0x023b; break;
            case 0x0242: cp = 0x0241; break;
            case 0x037b: cp = 0x03fd; break;
            case 0x037c: cp = 0x03fe; break;
            case 0x037d: cp = 0x03ff; break;
            case 0x03f3: cp = 0x037f; break;
            case 0x03ac: cp = 0x0386; break;
            case 0x03ad: cp = 0x0388; break;
            case 0x03ae: cp = 0x0389; break;
            case 0x03af: cp = 0x038a; break;
            case 0x03cc: cp = 0x038c; break;
            case 0x03cd: cp = 0x038e; break;
            case 0x03ce: cp = 0x038f; break;
            case 0x0371: cp = 0x0370; break;
            case 0x0373: cp = 0x0372; break;
            case 0x0377: cp = 0x0376; break;
            case 0x03d1: cp = 0x03f4; break;
            case 0x03d7: cp = 0x03cf; break;
            case 0x03f2: cp = 0x03f9; break;
            case 0x03f8: cp = 0x03f7; break;
            case 0x03fb: cp = 0x03fa; break;
        };
    }

    return cp;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl %edi, %eax
leal -0x3c3(%rax), %ecx
cmpl $0x9, %ecx
jb 0xe27a
leal -0x3b1(%rax), %ecx
cmpl $0x11, %ecx
jb 0xe27a
leal -0xf8(%rax), %ecx
cmpl $0x7, %ecx
jb 0xe27a
leal -0x61(%rax), %ecx
cmpl $0x1a, %ecx
jb 0xe27a
leal -0xe0(%rax), %ecx
cmpl $0x16, %ecx
jbe 0xe27a
leal -0x3d8(%rax), %ecx
cmpl $0x18, %ecx
jb 0xe27f
leal -0x246(%rax), %ecx
cmpl $0xa, %ecx
jb 0xe27f
leal -0x222(%rax), %ecx
cmpl $0x12, %ecx
jb 0xe27f
leal -0x1f8(%rax), %ecx
cmpl $0x28, %ecx
jb 0xe27f
leal -0x1de(%rax), %ecx
cmpl $0x12, %ecx
jb 0xe27f
leal -0x1a0(%rax), %ecx
cmpl $0x6, %ecx
jb 0xe27f
leal -0x182(%rax), %ecx
cmpl $0x4, %ecx
jb 0xe27f
leal -0x14a(%rax), %ecx
cmpl $0x2e, %ecx
jb 0xe27f
leal -0x100(%rax), %ecx
cmpl $0x30, %ecx
jb 0xe27f
leal -0x132(%rax), %ecx
cmpl $0x5, %ecx
jbe 0xe27f
leal -0x1cd(%rax), %ecx
cmpl $0x10, %ecx
jb 0xe284
leal -0x1b3(%rax), %ecx
cmpl $0x4, %ecx
jb 0xe284
leal -0x1af(%rax), %ecx
cmpl $0x2, %ecx
jb 0xe284
leal -0x139(%rax), %ecx
cmpl $0x10, %ecx
jb 0xe284
leal -0x179(%rax), %ecx
cmpl $0x5, %ecx
jbe 0xe284
leal -0x371(%rax), %ecx
cmpl $0xc, %ecx
jbe 0xe28b
leal -0x3cc(%rax), %ecx
cmpl $0xb, %ecx
jbe 0xe2a2
leal -0x3ac(%rax), %ecx
cmpl $0x3, %ecx
jbe 0xe2d0
leal -0x3f2(%rax), %ecx
cmpl $0x9, %ecx
jbe 0xe2b9
cmpl $0x292, %eax            # imm = 0x292
je 0xe443
cmpl $0x180, %eax            # imm = 0x180
je 0xe42f
cmpl $0x188, %eax            # imm = 0x188
je 0xe3f3
cmpl $0x18c, %eax            # imm = 0x18C
je 0xe3df
cmpl $0x192, %eax            # imm = 0x192
je 0xe439
cmpl $0x199, %eax            # imm = 0x199
je 0xe411
cmpl $0x19a, %eax            # imm = 0x19A
je 0xe3d5
cmpl $0x19e, %eax            # imm = 0x19E
je 0xe371
cmpl $0x1a8, %eax            # imm = 0x1A8
je 0xe3b7
cmpl $0x1ad, %eax            # imm = 0x1AD
je 0xe37b
cmpl $0x1b0, %eax            # imm = 0x1B0
je 0xe3fd
cmpl $0x1b9, %eax            # imm = 0x1B9
je 0xe399
cmpl $0x1bd, %eax            # imm = 0x1BD
je 0xe385
cmpl $0x1bf, %eax            # imm = 0x1BF
je 0xe41b
cmpl $0x1c6, %eax            # imm = 0x1C6
je 0xe3a3
cmpl $0x1c9, %eax            # imm = 0x1C9
je 0xe425
cmpl $0x1cc, %eax            # imm = 0x1CC
je 0xe3cb
cmpl $0x1dd, %eax            # imm = 0x1DD
je 0xe407
cmpl $0x1f3, %eax            # imm = 0x1F3
je 0xe3e9
cmpl $0x1f5, %eax            # imm = 0x1F5
je 0xe38f
cmpl $0x23c, %eax            # imm = 0x23C
je 0xe3c1
cmpl $0x242, %eax            # imm = 0x242
je 0xe3ad
cmpl $0xff, %eax
jne 0xe289
movl $0x178, %eax            # imm = 0x178
jmp 0xe289
addl $-0x20, %eax
jmp 0xe289
andl $-0x2, %eax
jmp 0xe289
decl %eax
orl $0x1, %eax
popq %rbp
retq
leaq 0xa226(%rip), %rdx      # 0x184b8
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movl $0x370, %eax            # imm = 0x370
jmp 0xe289
leaq 0xa253(%rip), %rdx      # 0x184fc
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movl $0x38c, %eax            # imm = 0x38C
jmp 0xe289
leaq 0xa26c(%rip), %rdx      # 0x1852c
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movl $0x3f9, %eax            # imm = 0x3F9
jmp 0xe289
leaq 0xa215(%rip), %rax      # 0x184ec
movslq (%rax,%rcx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
movl $0x386, %eax            # imm = 0x386
jmp 0xe289
movl $0x3fa, %eax            # imm = 0x3FA
jmp 0xe289
movl $0x3f7, %eax            # imm = 0x3F7
jmp 0xe289
movl $0x37f, %eax            # imm = 0x37F
jmp 0xe289
movl $0x3f4, %eax            # imm = 0x3F4
jmp 0xe289
movl $0x38e, %eax            # imm = 0x38E
jmp 0xe289
movl $0x3cf, %eax            # imm = 0x3CF
jmp 0xe289
movl $0x38f, %eax            # imm = 0x38F
jmp 0xe289
movl $0x3fd, %eax            # imm = 0x3FD
jmp 0xe289
movl $0x376, %eax            # imm = 0x376
jmp 0xe289
movl $0x372, %eax            # imm = 0x372
jmp 0xe289
movl $0x3ff, %eax            # imm = 0x3FF
jmp 0xe289
movl $0x3fe, %eax            # imm = 0x3FE
jmp 0xe289
movl $0x389, %eax            # imm = 0x389
jmp 0xe289
movl $0x38a, %eax            # imm = 0x38A
jmp 0xe289
movl $0x388, %eax            # imm = 0x388
jmp 0xe289
movl $0x220, %eax            # imm = 0x220
jmp 0xe289
movl $0x1ac, %eax            # imm = 0x1AC
jmp 0xe289
movl $0x1bc, %eax            # imm = 0x1BC
jmp 0xe289
movl $0x1f4, %eax            # imm = 0x1F4
jmp 0xe289
movl $0x1b8, %eax            # imm = 0x1B8
jmp 0xe289
movl $0x1c4, %eax            # imm = 0x1C4
jmp 0xe289
movl $0x241, %eax            # imm = 0x241
jmp 0xe289
movl $0x1a7, %eax            # imm = 0x1A7
jmp 0xe289
movl $0x23b, %eax            # imm = 0x23B
jmp 0xe289
movl $0x1ca, %eax            # imm = 0x1CA
jmp 0xe289
movl $0x23d, %eax            # imm = 0x23D
jmp 0xe289
movl $0x18b, %eax            # imm = 0x18B
jmp 0xe289
movl $0x1f1, %eax            # imm = 0x1F1
jmp 0xe289
movl $0x187, %eax            # imm = 0x187
jmp 0xe289
movl $0x1af, %eax            # imm = 0x1AF
jmp 0xe289
movl $0x18e, %eax            # imm = 0x18E
jmp 0xe289
movl $0x198, %eax            # imm = 0x198
jmp 0xe289
movl $0x1f7, %eax            # imm = 0x1F7
jmp 0xe289
movl $0x1c7, %eax            # imm = 0x1C7
jmp 0xe289
movl $0x243, %eax            # imm = 0x243
jmp 0xe289
movl $0x191, %eax            # imm = 0x191
jmp 0xe289
movl $0x1b7, %eax            # imm = 0x1B7
jmp 0xe289