// File: /workspace/github_c_makefile_star2_O3/neosploit[P]compiler/libfort/lib/fort.c
// Function: utf8lwrcodepoint
utf8_int32_t utf8lwrcodepoint(utf8_int32_t cp)
{
    if (((0x0041 <= cp) && (0x005a >= cp)) ||
        ((0x00c0 <= cp) && (0x00d6 >= cp)) ||
        ((0x00d8 <= cp) && (0x00de >= cp)) ||
        ((0x0391 <= cp) && (0x03a1 >= cp)) ||
        ((0x03a3 <= cp) && (0x03ab >= 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 0x0178: cp = 0x00ff; break;
            case 0x0243: cp = 0x0180; break;
            case 0x018e: cp = 0x01dd; break;
            case 0x023d: cp = 0x019a; break;
            case 0x0220: cp = 0x019e; break;
            case 0x01b7: cp = 0x0292; break;
            case 0x01c4: cp = 0x01c6; break;
            case 0x01c7: cp = 0x01c9; break;
            case 0x01ca: cp = 0x01cc; break;
            case 0x01f1: cp = 0x01f3; break;
            case 0x01f7: cp = 0x01bf; break;
            case 0x0187: cp = 0x0188; break;
            case 0x018b: cp = 0x018c; break;
            case 0x0191: cp = 0x0192; break;
            case 0x0198: cp = 0x0199; break;
            case 0x01a7: cp = 0x01a8; break;
            case 0x01ac: cp = 0x01ad; break;
            case 0x01af: cp = 0x01b0; break;
            case 0x01b8: cp = 0x01b9; break;
            case 0x01bc: cp = 0x01bd; break;
            case 0x01f4: cp = 0x01f5; break;
            case 0x023b: cp = 0x023c; break;
            case 0x0241: cp = 0x0242; break;
            case 0x03fd: cp = 0x037b; break;
            case 0x03fe: cp = 0x037c; break;
            case 0x03ff: cp = 0x037d; break;
            case 0x037f: cp = 0x03f3; break;
            case 0x0386: cp = 0x03ac; break;
            case 0x0388: cp = 0x03ad; break;
            case 0x0389: cp = 0x03ae; break;
            case 0x038a: cp = 0x03af; break;
            case 0x038c: cp = 0x03cc; break;
            case 0x038e: cp = 0x03cd; break;
            case 0x038f: cp = 0x03ce; break;
            case 0x0370: cp = 0x0371; break;
            case 0x0372: cp = 0x0373; break;
            case 0x0376: cp = 0x0377; break;
            case 0x03f4: cp = 0x03d1; break;
            case 0x03cf: cp = 0x03d7; break;
            case 0x03f9: cp = 0x03f2; break;
            case 0x03f7: cp = 0x03f8; break;
            case 0x03fa: cp = 0x03fb; break;
        };
    }

    return cp;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl %edi, %eax
leal -0x3a3(%rax), %ecx
cmpl $0x9, %ecx
jb 0xd564
leal -0x391(%rax), %ecx
cmpl $0x11, %ecx
jb 0xd564
leal -0xd8(%rax), %ecx
cmpl $0x7, %ecx
jb 0xd564
leal -0x41(%rax), %ecx
cmpl $0x1a, %ecx
jb 0xd564
leal -0xc0(%rax), %ecx
cmpl $0x16, %ecx
jbe 0xd564
leal -0x3d8(%rax), %ecx
cmpl $0x18, %ecx
jb 0xd569
leal -0x246(%rax), %ecx
cmpl $0xa, %ecx
jb 0xd569
leal -0x222(%rax), %ecx
cmpl $0x12, %ecx
jb 0xd569
leal -0x1f8(%rax), %ecx
cmpl $0x28, %ecx
jb 0xd569
leal -0x1de(%rax), %ecx
cmpl $0x12, %ecx
jb 0xd569
leal -0x1a0(%rax), %ecx
cmpl $0x6, %ecx
jb 0xd569
leal -0x182(%rax), %ecx
cmpl $0x4, %ecx
jb 0xd569
leal -0x14a(%rax), %ecx
cmpl $0x2e, %ecx
jb 0xd569
leal -0x100(%rax), %ecx
cmpl $0x30, %ecx
jb 0xd569
leal -0x132(%rax), %ecx
cmpl $0x5, %ecx
jbe 0xd569
leal -0x1cd(%rax), %ecx
cmpl $0x10, %ecx
jb 0xd56e
leal -0x1b3(%rax), %ecx
cmpl $0x4, %ecx
jb 0xd56e
leal -0x1af(%rax), %ecx
cmpl $0x2, %ecx
jb 0xd56e
leal -0x139(%rax), %ecx
cmpl $0x10, %ecx
jb 0xd56e
leal -0x179(%rax), %ecx
cmpl $0x5, %ecx
jbe 0xd56e
cmpl $0x36f, %eax            # imm = 0x36F
jg 0xd577
cmpl $0x1c3, %eax            # imm = 0x1C3
jg 0xd5a2
cmpl $0x1a6, %eax            # imm = 0x1A6
jg 0xd614
cmpl $0x18d, %eax            # imm = 0x18D
jg 0xd6a1
cmpl $0x178, %eax            # imm = 0x178
je 0xd751
cmpl $0x187, %eax            # imm = 0x187
je 0xd779
cmpl $0x18b, %eax            # imm = 0x18B
jne 0xd575
movl $0x18c, %eax            # imm = 0x18C
jmp 0xd575
addl $0x20, %eax
jmp 0xd575
orl $0x1, %eax
jmp 0xd575
incl %eax
andl $0x3fe, %eax            # imm = 0x3FE
popq %rbp
retq
cmpl $0x37e, %eax            # imm = 0x37E
jg 0xd5dc
cmpl $0x370, %eax            # imm = 0x370
je 0xd697
cmpl $0x372, %eax            # imm = 0x372
je 0xd68d
cmpl $0x376, %eax            # imm = 0x376
jne 0xd575
movl $0x377, %eax            # imm = 0x377
jmp 0xd575
cmpl $0x1f6, %eax            # imm = 0x1F6
jg 0xd64a
cmpl $0x1c9, %eax            # imm = 0x1C9
jle 0xd6f7
cmpl $0x1ca, %eax            # imm = 0x1CA
je 0xd733
cmpl $0x1f1, %eax            # imm = 0x1F1
je 0xd73d
cmpl $0x1f4, %eax            # imm = 0x1F4
jne 0xd575
movl $0x1f5, %eax            # imm = 0x1F5
jmp 0xd575
leal -0x37f(%rax), %ecx
cmpl $0x10, %ecx
jbe 0xd673
leal -0x3f4(%rax), %ecx
cmpl $0xb, %ecx
ja 0xd7c9
leaq 0xbe87(%rip), %rdx      # 0x19488
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movl $0x3d1, %eax            # imm = 0x3D1
jmp 0xd575
cmpl $0x1b6, %eax            # imm = 0x1B6
jg 0xd6cc
cmpl $0x1a7, %eax            # imm = 0x1A7
je 0xd75b
cmpl $0x1ac, %eax            # imm = 0x1AC
je 0xd783
cmpl $0x1af, %eax            # imm = 0x1AF
jne 0xd575
movl $0x1b0, %eax            # imm = 0x1B0
jmp 0xd575
leal -0x23b(%rax), %ecx
cmpl $0x8, %ecx
ja 0xd713
leaq 0xbdc0(%rip), %rdx      # 0x19420
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movl $0x23c, %eax            # imm = 0x23C
jmp 0xd575
leaq 0xbdca(%rip), %rdx      # 0x19444
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movl $0x3f3, %eax            # imm = 0x3F3
jmp 0xd575
movl $0x373, %eax            # imm = 0x373
jmp 0xd575
movl $0x371, %eax            # imm = 0x371
jmp 0xd575
cmpl $0x18e, %eax            # imm = 0x18E
je 0xd765
cmpl $0x191, %eax            # imm = 0x191
je 0xd78d
cmpl $0x198, %eax            # imm = 0x198
jne 0xd575
movl $0x199, %eax            # imm = 0x199
jmp 0xd575
cmpl $0x1b7, %eax            # imm = 0x1B7
je 0xd76f
cmpl $0x1b8, %eax            # imm = 0x1B8
je 0xd797
cmpl $0x1bc, %eax            # imm = 0x1BC
jne 0xd575
movl $0x1bd, %eax            # imm = 0x1BD
jmp 0xd575
cmpl $0x1c4, %eax            # imm = 0x1C4
je 0xd747
cmpl $0x1c7, %eax            # imm = 0x1C7
jne 0xd575
movl $0x1c9, %eax            # imm = 0x1C9
jmp 0xd575
cmpl $0x1f7, %eax            # imm = 0x1F7
je 0xd7bf
cmpl $0x220, %eax            # imm = 0x220
jne 0xd575
movl $0x19e, %eax            # imm = 0x19E
jmp 0xd575
movl $0x1cc, %eax            # imm = 0x1CC
jmp 0xd575
movl $0x1f3, %eax            # imm = 0x1F3
jmp 0xd575
movl $0x1c6, %eax            # imm = 0x1C6
jmp 0xd575
movl $0xff, %eax
jmp 0xd575
movl $0x1a8, %eax            # imm = 0x1A8
jmp 0xd575
movl $0x1dd, %eax            # imm = 0x1DD
jmp 0xd575
movl $0x292, %eax            # imm = 0x292
jmp 0xd575
movl $0x188, %eax            # imm = 0x188
jmp 0xd575
movl $0x1ad, %eax            # imm = 0x1AD
jmp 0xd575
movl $0x192, %eax            # imm = 0x192
jmp 0xd575
movl $0x1b9, %eax            # imm = 0x1B9
jmp 0xd575
movl $0x180, %eax            # imm = 0x180
jmp 0xd575
movl $0x19a, %eax            # imm = 0x19A
jmp 0xd575
movl $0x242, %eax            # imm = 0x242
jmp 0xd575
movl $0x1bf, %eax            # imm = 0x1BF
jmp 0xd575
cmpl $0x3cf, %eax            # imm = 0x3CF
jne 0xd575
movl $0x3d7, %eax            # imm = 0x3D7
jmp 0xd575
movl $0x3cc, %eax            # imm = 0x3CC
jmp 0xd575
movl $0x3ac, %eax            # imm = 0x3AC
jmp 0xd575
movl $0x3ad, %eax            # imm = 0x3AD
jmp 0xd575
movl $0x3ce, %eax            # imm = 0x3CE
jmp 0xd575
movl $0x3ae, %eax            # imm = 0x3AE
jmp 0xd575
movl $0x3af, %eax            # imm = 0x3AF
jmp 0xd575
movl $0x3cd, %eax            # imm = 0x3CD
jmp 0xd575
movl $0x37b, %eax            # imm = 0x37B
jmp 0xd575
movl $0x3f8, %eax            # imm = 0x3F8
jmp 0xd575
movl $0x3fb, %eax            # imm = 0x3FB
jmp 0xd575
movl $0x3f2, %eax            # imm = 0x3F2
jmp 0xd575
movl $0x37c, %eax            # imm = 0x37C
jmp 0xd575
movl $0x37d, %eax            # imm = 0x37D
jmp 0xd575