#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */
typedef char uint8_t;
typedef int /*<<< orphan*/ mp_sys_ru;
typedef int /*<<< orphan*/ mp_sys_high;
typedef int /*<<< orphan*/ mp_sys_fr;
typedef int /*<<< orphan*/ mp_sys_de;
typedef int /*<<< orphan*/ donec;

/* Variables and functions */
int /*<<< orphan*/ memcpy(char *, char *, int);
int /*<<< orphan*/ memset(char *, int /*<<< orphan*/, int);
void mp_setup_sys(uint8_t **mp_sys) {
  uint8_t pos;
  uint8_t chr;
  uint8_t donec[0x100];
  memset(donec, 0, sizeof(donec));
  for (pos = 0, chr = 'a'; chr <= 'z'; chr++) {
    donec[chr] = 1;
    mp_sys[0][pos++] = chr;
  }
  for (pos = 0, chr = 'A'; chr <= 'Z'; chr++) {
    donec[chr] = 1;
    mp_sys[1][pos++] = chr;
  }
  for (pos = 0, chr = '0'; chr <= '9'; chr++) {
    donec[chr] = 1;
    mp_sys[2][pos++] = chr;
  }
  for (pos = 0, chr = 0x20; chr <= 0x7e; chr++) {
    if (donec[chr])
      continue;
    mp_sys[3][pos++] = chr;
  }
  for (pos = 0, chr = 0x20; chr <= 0x7e; chr++) {
    mp_sys[4][pos++] = chr;
  }
  uint8_t mp_sys_high[62] = {
      0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca,
      0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5,
      0xd6, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xe0, 0xe1,
      0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xec,
      0xed, 0xee, 0xef, 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf8,
      0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff};
  uint8_t mp_sys_de[7] = {0xc4, 0xd6, 0xdc, 0xdf, 0xe4, 0xf6, 0xfc};
  uint8_t mp_sys_fr[29] = {0xc0, 0xc2, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb,
                           0xce, 0xcf, 0xd4, 0xd9, 0xdb, 0xdc, 0xe0, 0xe2,
                           0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xee, 0xef,
                           0xf4, 0xf9, 0xfb, 0xfc, 0xff};
  uint8_t mp_sys_ru[66] = {
      0xa1, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9,
      0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 0xc0, 0xc1, 0xc2, 0xc3, 0xc4,
      0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
      0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda,
      0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5,
      0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 0xf1};
  memcpy(mp_sys[5], mp_sys_high, sizeof(mp_sys_high));
  memcpy(mp_sys[6], mp_sys_de, sizeof(mp_sys_de));
  memcpy(mp_sys[7], mp_sys_fr, sizeof(mp_sys_fr));
  memcpy(mp_sys[8], mp_sys_ru, sizeof(mp_sys_ru));
}


x86 assembly (clang, -O0):
<mp_setup_sys>:
push   %rbp
mov    %rsp,%rbp
sub    $0x1d0,%rsp
mov    %rdi,-0x8(%rbp)
lea    -0x110(%rbp),%rdi
xor    %esi,%esi
mov    $0x100,%edx
call   1030 <memset@plt>
movb   $0x0,-0x9(%rbp)
movb   $0x61,-0xa(%rbp)
movsbl -0xa(%rbp),%eax
cmp    $0x7a,%eax
jg     1190 <mp_setup_sys+0x70>
movsbq -0xa(%rbp),%rax
movb   $0x1,-0x110(%rbp,%rax,1)
01
mov    -0xa(%rbp),%dl
mov    -0x8(%rbp),%rax
mov    (%rax),%rax
mov    -0x9(%rbp),%cl
mov    %cl,%sil
add    $0x1,%sil
mov    %sil,-0x9(%rbp)
movsbq %cl,%rcx
mov    %dl,(%rax,%rcx,1)
mov    -0xa(%rbp),%al
add    $0x1,%al
mov    %al,-0xa(%rbp)
jmp    114a <mp_setup_sys+0x2a>
movb   $0x0,-0x9(%rbp)
movb   $0x41,-0xa(%rbp)
movsbl -0xa(%rbp),%eax
cmp    $0x5a,%eax
jg     11df <mp_setup_sys+0xbf>
movsbq -0xa(%rbp),%rax
movb   $0x1,-0x110(%rbp,%rax,1)
01
mov    -0xa(%rbp),%dl
mov    -0x8(%rbp),%rax
mov    0x8(%rax),%rax
mov    -0x9(%rbp),%cl
mov    %cl,%sil
add    $0x1,%sil
mov    %sil,-0x9(%rbp)
movsbq %cl,%rcx
mov    %dl,(%rax,%rcx,1)
mov    -0xa(%rbp),%al
add    $0x1,%al
mov    %al,-0xa(%rbp)
jmp    1198 <mp_setup_sys+0x78>
movb   $0x0,-0x9(%rbp)
movb   $0x30,-0xa(%rbp)
movsbl -0xa(%rbp),%eax
cmp    $0x39,%eax
jg     122e <mp_setup_sys+0x10e>
movsbq -0xa(%rbp),%rax
movb   $0x1,-0x110(%rbp,%rax,1)
mov    -0xa(%rbp),%dl
mov    -0x8(%rbp),%rax
mov    0x10(%rax),%rax
mov    -0x9(%rbp),%cl
mov    %cl,%sil
add    $0x1,%sil
mov    %sil,-0x9(%rbp)
movsbq %cl,%rcx
mov    %dl,(%rax,%rcx,1)
mov    -0xa(%rbp),%al
add    $0x1,%al
mov    %al,-0xa(%rbp)
jmp    11e7 <mp_setup_sys+0xc7>
movb   $0x0,-0x9(%rbp)
movb   $0x20,-0xa(%rbp)
movsbl -0xa(%rbp),%eax
cmp    $0x7e,%eax
jg     1288 <mp_setup_sys+0x168>
movsbq -0xa(%rbp),%rax
cmpb   $0x0,-0x110(%rbp,%rax,1)
je     125b <mp_setup_sys+0x13b>
jmp    127b <mp_setup_sys+0x15b>
mov    -0xa(%rbp),%dl
mov    -0x8(%rbp),%rax
mov    0x18(%rax),%rax
mov    -0x9(%rbp),%cl
mov    %cl,%sil
add    $0x1,%sil
mov    %sil,-0x9(%rbp)
movsbq %cl,%rcx
mov    %dl,(%rax,%rcx,1)
mov    -0xa(%rbp),%al
add    $0x1,%al
mov    %al,-0xa(%rbp)
jmp    1236 <mp_setup_sys+0x116>
movb   $0x0,-0x9(%rbp)
movb   $0x20,-0xa(%rbp)
movsbl -0xa(%rbp),%eax
cmp    $0x7e,%eax
jg     12ca <mp_setup_sys+0x1aa>
mov    -0xa(%rbp),%dl
mov    -0x8(%rbp),%rax
mov    0x20(%rax),%rax
mov    -0x9(%rbp),%cl
mov    %cl,%sil
add    $0x1,%sil
mov    %sil,-0x9(%rbp)
movsbq %cl,%rcx
mov    %dl,(%rax,%rcx,1)
mov    -0xa(%rbp),%al
add    $0x1,%al
mov    %al,-0xa(%rbp)
jmp    1290 <mp_setup_sys+0x170>
lea    -0x150(%rbp),%rdi
lea    0xd28(%rip),%rsi
mov    $0x3e,%edx
call   1040 <memcpy@plt>
mov    0xd56(%rip),%eax
mov    %eax,-0x157(%rbp)
mov    0xd4d(%rip),%ax
mov    %ax,-0x153(%rbp)
mov    0xd42(%rip),%al
mov    %al,-0x151(%rbp)
mov    0xd41(%rip),%rax
mov    %rax,-0x180(%rbp)
mov    0xd3b(%rip),%rax
mov    %rax,-0x178(%rbp)
mov    0xd35(%rip),%rax
mov    %rax,-0x170(%rbp)
mov    0xd30(%rip),%eax
mov    %eax,-0x168(%rbp)
mov    0xd28(%rip),%al
mov    %al,-0x164(%rbp)
lea    -0x1d0(%rbp),%rdi
lea    0xd18(%rip),%rsi
mov    $0x42,%edx
call   1040 <memcpy@plt>
mov    -0x8(%rbp),%rax
mov    0x28(%rax),%rdi
lea    -0x150(%rbp),%rsi
mov    $0x3e,%edx
call   1040 <memcpy@plt>
mov    -0x8(%rbp),%rax
mov    0x30(%rax),%rdi
lea    -0x157(%rbp),%rsi
mov    $0x7,%edx
call   1040 <memcpy@plt>
mov    -0x8(%rbp),%rax
mov    0x38(%rax),%rdi
lea    -0x180(%rbp),%rsi
mov    $0x1d,%edx
call   1040 <memcpy@plt>
mov    -0x8(%rbp),%rax
mov    0x40(%rax),%rdi
lea    -0x1d0(%rbp),%rsi
mov    $0x42,%edx
call   1040 <memcpy@plt>
add    $0x1d0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<mp_setup_sys>:
push   %rbx
sub    $0x1c0,%rsp
mov    %rdi,%rbx
lea    0xc0(%rsp),%rdi
xor    %esi,%esi
mov    $0x100,%edx
call   1030 <memset@plt>
mov    $0x62,%eax
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
movb   $0x1,0xbf(%rsp,%rax,1)
01
mov    (%rbx),%rcx
lea    -0x1(%rax),%edx
mov    %dl,-0x62(%rcx,%rax,1)
movb   $0x1,0xc0(%rsp,%rax,1)
01
mov    (%rbx),%rcx
mov    %al,-0x61(%rcx,%rax,1)
add    $0x2,%rax
cmp    $0x7c,%rax
jne    1150 <mp_setup_sys+0x30>
mov    $0x41,%eax
movb   $0x1,0xc0(%rsp,%rax,1)
01
mov    0x8(%rbx),%rcx
mov    %al,-0x41(%rcx,%rax,1)
movb   $0x1,0xc1(%rsp,%rax,1)
01
mov    0x8(%rbx),%rcx
lea    0x1(%rax),%edx
mov    %dl,-0x40(%rcx,%rax,1)
add    $0x2,%rax
cmp    $0x5b,%rax
jne    1180 <mp_setup_sys+0x60>
movb   $0x1,0xf0(%rsp)
01
mov    0x10(%rbx),%rax
movb   $0x30,(%rax)
movb   $0x1,0xf1(%rsp)
01
mov    0x10(%rbx),%rax
movb   $0x31,0x1(%rax)
movb   $0x1,0xf2(%rsp)
01
mov    0x10(%rbx),%rax
movb   $0x32,0x2(%rax)
movb   $0x1,0xf3(%rsp)
01
mov    0x10(%rbx),%rax
movb   $0x33,0x3(%rax)
movb   $0x1,0xf4(%rsp)
01
mov    0x10(%rbx),%rax
movb   $0x34,0x4(%rax)
movb   $0x1,0xf5(%rsp)
01
mov    0x10(%rbx),%rax
movb   $0x35,0x5(%rax)
movb   $0x1,0xf6(%rsp)
01
mov    0x10(%rbx),%rax
movb   $0x36,0x6(%rax)
movb   $0x1,0xf7(%rsp)
01
mov    0x10(%rbx),%rax
movb   $0x37,0x7(%rax)
movb   $0x1,0xf8(%rsp)
01
mov    0x10(%rbx),%rax
movb   $0x38,0x8(%rax)
movb   $0x1,0xf9(%rsp)
01
mov    0x10(%rbx),%rax
movb   $0x39,0x9(%rax)
mov    $0x21,%eax
mov    $0x20,%cl
xor    %edx,%edx
jmp    1267 <mp_setup_sys+0x147>
nopw   0x0(%rax,%rax,1)
add    $0x2,%rax
add    $0x2,%cl
cmpb   $0x0,0xbf(%rsp,%rax,1)
jne    127f <mp_setup_sys+0x15f>
mov    0x18(%rbx),%rsi
movsbq %dl,%rdi
add    $0x1,%dl
mov    %cl,(%rsi,%rdi,1)
cmp    $0x7f,%rax
je     129f <mp_setup_sys+0x17f>
cmpb   $0x0,0xc0(%rsp,%rax,1)
jne    1260 <mp_setup_sys+0x140>
mov    0x18(%rbx),%rsi
movsbq %dl,%rdi
add    $0x1,%dl
mov    %al,(%rsi,%rdi,1)
jmp    1260 <mp_setup_sys+0x140>
xor    %eax,%eax
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
mov    0x20(%rbx),%rcx
lea    0x20(%rax),%edx
mov    %dl,(%rcx,%rax,1)
mov    0x20(%rbx),%rcx
lea    0x21(%rax),%edx
mov    %dl,0x1(%rcx,%rax,1)
mov    0x20(%rbx),%rcx
lea    0x22(%rax),%edx
mov    %dl,0x2(%rcx,%rax,1)
mov    0x20(%rbx),%rcx
lea    0x23(%rax),%edx
mov    %dl,0x3(%rcx,%rax,1)
mov    0x20(%rbx),%rcx
lea    0x24(%rax),%edx
mov    %dl,0x4(%rcx,%rax,1)
add    $0x5,%rax
cmp    $0x7e,%dl
jne    12b0 <mp_setup_sys+0x190>
movups 0xd38(%rip),%xmm0
movups %xmm0,0xae(%rsp)
movaps 0xd1b(%rip),%xmm0
movaps %xmm0,0xa0(%rsp)
movaps 0xcfc(%rip),%xmm0
movaps %xmm0,0x90(%rsp)
movaps 0xcdd(%rip),%xmm0
movaps %xmm0,0x80(%rsp)
movl   $0xfcf6e4df,0xb(%rsp)
fc
movl   $0xdfdcd6c4,0x8(%rsp)
df
movups 0xd1b(%rip),%xmm0
movups %xmm0,0x1d(%rsp)
movaps 0xd02(%rip),%xmm0
movaps %xmm0,0x10(%rsp)
movaps 0xd46(%rip),%xmm0
movaps %xmm0,0x60(%rsp)
movaps 0xd2a(%rip),%xmm0
movaps %xmm0,0x50(%rsp)
movaps 0xd0e(%rip),%xmm0
movaps %xmm0,0x40(%rsp)
movaps 0xcf2(%rip),%xmm0
movaps %xmm0,0x30(%rsp)
movw   $0xf1ef,0x70(%rsp)
mov    0x28(%rbx),%rdi
lea    0x80(%rsp),%rsi
mov    $0x3e,%edx
call   1040 <memcpy@plt>
mov    0x30(%rbx),%rdi
lea    0x8(%rsp),%rsi
mov    $0x7,%edx
call   1040 <memcpy@plt>
mov    0x38(%rbx),%rdi
lea    0x10(%rsp),%rsi
mov    $0x1d,%edx
call   1040 <memcpy@plt>
mov    0x40(%rbx),%rdi
lea    0x30(%rsp),%rsi
mov    $0x42,%edx
call   1040 <memcpy@plt>
add    $0x1c0,%rsp
pop    %rbx
ret

LLVM IR (-O0):
@__const.mp_setup_sys.mp_sys_high = [62 x i8] c"\C0\C1\C2\C3\C4\C5\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\D0\D1\D2\D3\D4\D5\D6\D8\D9\DA\DB\DC\DD\DE\DF\E0\E1\E2\E3\E4\E5\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\F0\F1\F2\F3\F4\F5\F6\F8\F9\FA\FB\FC\FD\FE\FF"
@__const.mp_setup_sys.mp_sys_de = [7 x i8] c"\C4\D6\DC\DF\E4\F6\FC"
@__const.mp_setup_sys.mp_sys_fr = [29 x i8] c"\C0\C2\C6\C7\C8\C9\CA\CB\CE\CF\D4\D9\DB\DC\E0\E2\E6\E7\E8\E9\EA\EB\EE\EF\F4\F9\FB\FC\FF"
@__const.mp_setup_sys.mp_sys_ru = [66 x i8] c"\A1\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\BF\C0\C1\C2\C3\C4\C5\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\E0\E1\E2\E3\E4\E5\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\F1"
define void @mp_setup_sys(i8** %0) {
%2 = alloca i8**
%3 = alloca i8
%4 = alloca i8
%5 = alloca [256 x i8]
%6 = alloca [62 x i8]
%7 = alloca [7 x i8]
%8 = alloca [29 x i8]
%9 = alloca [66 x i8]
store i8** %0, i8*** %2
%10 = getelementptr inbounds [256 x i8], [256 x i8]* %5, i64 0, i64 0
%11 = call i32 @memset(i8* %10, i32 0, i32 256)
store i8 0, i8* %3
store i8 97, i8* %4
br label %12
12: ; preds = %28, %1
%13 = load i8, i8* %4
%14 = sext i8 %13 to i32
%15 = icmp sle i32 %14, 122
br i1 %15, label %16, label %31
16: ; preds = %12
%17 = load i8, i8* %4
%18 = sext i8 %17 to i64
%19 = getelementptr inbounds [256 x i8], [256 x i8]* %5, i64 0, i64 %18
store i8 1, i8* %19
%20 = load i8, i8* %4
%21 = load i8**, i8*** %2
%22 = getelementptr inbounds i8*, i8** %21, i64 0
%23 = load i8*, i8** %22
%24 = load i8, i8* %3
%25 = add i8 %24, 1
store i8 %25, i8* %3
%26 = sext i8 %24 to i64
%27 = getelementptr inbounds i8, i8* %23, i64 %26
store i8 %20, i8* %27
br label %28
28: ; preds = %16
%29 = load i8, i8* %4
%30 = add i8 %29, 1
store i8 %30, i8* %4
br label %12
31: ; preds = %12
store i8 0, i8* %3
store i8 65, i8* %4
br label %32
32: ; preds = %48, %31
%33 = load i8, i8* %4
%34 = sext i8 %33 to i32
%35 = icmp sle i32 %34, 90
br i1 %35, label %36, label %51
36: ; preds = %32
%37 = load i8, i8* %4
%38 = sext i8 %37 to i64
%39 = getelementptr inbounds [256 x i8], [256 x i8]* %5, i64 0, i64 %38
store i8 1, i8* %39
%40 = load i8, i8* %4
%41 = load i8**, i8*** %2
%42 = getelementptr inbounds i8*, i8** %41, i64 1
%43 = load i8*, i8** %42
%44 = load i8, i8* %3
%45 = add i8 %44, 1
store i8 %45, i8* %3
%46 = sext i8 %44 to i64
%47 = getelementptr inbounds i8, i8* %43, i64 %46
store i8 %40, i8* %47
br label %48
48: ; preds = %36
%49 = load i8, i8* %4
%50 = add i8 %49, 1
store i8 %50, i8* %4
br label %32
51: ; preds = %32
store i8 0, i8* %3
store i8 48, i8* %4
br label %52
52: ; preds = %68, %51
%53 = load i8, i8* %4
%54 = sext i8 %53 to i32
%55 = icmp sle i32 %54, 57
br i1 %55, label %56, label %71
56: ; preds = %52
%57 = load i8, i8* %4
%58 = sext i8 %57 to i64
%59 = getelementptr inbounds [256 x i8], [256 x i8]* %5, i64 0, i64 %58
store i8 1, i8* %59
%60 = load i8, i8* %4
%61 = load i8**, i8*** %2
%62 = getelementptr inbounds i8*, i8** %61, i64 2
%63 = load i8*, i8** %62
%64 = load i8, i8* %3
%65 = add i8 %64, 1
store i8 %65, i8* %3
%66 = sext i8 %64 to i64
%67 = getelementptr inbounds i8, i8* %63, i64 %66
store i8 %60, i8* %67
br label %68
68: ; preds = %56
%69 = load i8, i8* %4
%70 = add i8 %69, 1
store i8 %70, i8* %4
br label %52
71: ; preds = %52
store i8 0, i8* %3
store i8 32, i8* %4
br label %72
72: ; preds = %92, %71
%73 = load i8, i8* %4
%74 = sext i8 %73 to i32
%75 = icmp sle i32 %74, 126
br i1 %75, label %76, label %95
76: ; preds = %72
%77 = load i8, i8* %4
%78 = sext i8 %77 to i64
%79 = getelementptr inbounds [256 x i8], [256 x i8]* %5, i64 0, i64 %78
%80 = load i8, i8* %79
%81 = icmp ne i8 %80, 0
br i1 %81, label %82, label %83
82: ; preds = %76
br label %92
83: ; preds = %76
%84 = load i8, i8* %4
%85 = load i8**, i8*** %2
%86 = getelementptr inbounds i8*, i8** %85, i64 3
%87 = load i8*, i8** %86
%88 = load i8, i8* %3
%89 = add i8 %88, 1
store i8 %89, i8* %3
%90 = sext i8 %88 to i64
%91 = getelementptr inbounds i8, i8* %87, i64 %90
store i8 %84, i8* %91
br label %92
92: ; preds = %83, %82
%93 = load i8, i8* %4
%94 = add i8 %93, 1
store i8 %94, i8* %4
br label %72
95: ; preds = %72
store i8 0, i8* %3
store i8 32, i8* %4
br label %96
96: ; preds = %109, %95
%97 = load i8, i8* %4
%98 = sext i8 %97 to i32
%99 = icmp sle i32 %98, 126
br i1 %99, label %100, label %112
100: ; preds = %96
%101 = load i8, i8* %4
%102 = load i8**, i8*** %2
%103 = getelementptr inbounds i8*, i8** %102, i64 4
%104 = load i8*, i8** %103
%105 = load i8, i8* %3
%106 = add i8 %105, 1
store i8 %106, i8* %3
%107 = sext i8 %105 to i64
%108 = getelementptr inbounds i8, i8* %104, i64 %107
store i8 %101, i8* %108
br label %109
109: ; preds = %100
%110 = load i8, i8* %4
%111 = add i8 %110, 1
store i8 %111, i8* %4
br label %96
112: ; preds = %96
%113 = bitcast [62 x i8]* %6 to i8*
%114 = bitcast [7 x i8]* %7 to i8*
%115 = bitcast [29 x i8]* %8 to i8*
%116 = bitcast [66 x i8]* %9 to i8*
%117 = load i8**, i8*** %2
%118 = getelementptr inbounds i8*, i8** %117, i64 5
%119 = load i8*, i8** %118
%120 = getelementptr inbounds [62 x i8], [62 x i8]* %6, i64 0, i64 0
%121 = call i32 @memcpy(i8* %119, i8* %120, i32 62)
%122 = load i8**, i8*** %2
%123 = getelementptr inbounds i8*, i8** %122, i64 6
%124 = load i8*, i8** %123
%125 = getelementptr inbounds [7 x i8], [7 x i8]* %7, i64 0, i64 0
%126 = call i32 @memcpy(i8* %124, i8* %125, i32 7)
%127 = load i8**, i8*** %2
%128 = getelementptr inbounds i8*, i8** %127, i64 7
%129 = load i8*, i8** %128
%130 = getelementptr inbounds [29 x i8], [29 x i8]* %8, i64 0, i64 0
%131 = call i32 @memcpy(i8* %129, i8* %130, i32 29)
%132 = load i8**, i8*** %2
%133 = getelementptr inbounds i8*, i8** %132, i64 8
%134 = load i8*, i8** %133
%135 = getelementptr inbounds [66 x i8], [66 x i8]* %9, i64 0, i64 0
%136 = call i32 @memcpy(i8* %134, i8* %135, i32 66)
ret void
}

LLVM IR (-O2):
@__const.mp_setup_sys.mp_sys_high = [62 x i8] c"\C0\C1\C2\C3\C4\C5\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\D0\D1\D2\D3\D4\D5\D6\D8\D9\DA\DB\DC\DD\DE\DF\E0\E1\E2\E3\E4\E5\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\F0\F1\F2\F3\F4\F5\F6\F8\F9\FA\FB\FC\FD\FE\FF"
@__const.mp_setup_sys.mp_sys_de = [7 x i8] c"\C4\D6\DC\DF\E4\F6\FC"
@__const.mp_setup_sys.mp_sys_fr = [29 x i8] c"\C0\C2\C6\C7\C8\C9\CA\CB\CE\CF\D4\D9\DB\DC\E0\E2\E6\E7\E8\E9\EA\EB\EE\EF\F4\F9\FB\FC\FF"
@__const.mp_setup_sys.mp_sys_ru = [66 x i8] c"\A1\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\BF\C0\C1\C2\C3\C4\C5\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\E0\E1\E2\E3\E4\E5\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\F1"
define void @mp_setup_sys(i8** nocapture %0) {
%2 = alloca [256 x i8]
%3 = alloca [62 x i8]
%4 = alloca [7 x i8]
%5 = alloca [29 x i8]
%6 = alloca [66 x i8]
%7 = getelementptr inbounds [256 x i8], [256 x i8]* %2, i64 0, i64 0
%8 = call i32 @memset(i8* %7, i32 0, i32 256)
br label %11
9: ; preds = %11
%10 = getelementptr inbounds i8*, i8** %0, i64 1
br label %59
11: ; preds = %11, %1
%12 = phi i64 [ 0, %1 ], [ %22, %11 ]
%13 = phi i64 [ 97, %1 ], [ %25, %11 ]
%14 = getelementptr inbounds [256 x i8], [256 x i8]* %2, i64 0, i64 %13
store i8 1, i8* %14
%15 = load i8*, i8** %0
%16 = or i64 %12, 1
%17 = getelementptr inbounds i8, i8* %15, i64 %12
%18 = trunc i64 %13 to i8
store i8 %18, i8* %17
%19 = add nuw nsw i64 %13, 1
%20 = getelementptr inbounds [256 x i8], [256 x i8]* %2, i64 0, i64 %19
store i8 1, i8* %20
%21 = load i8*, i8** %0
%22 = add nuw nsw i64 %12, 2
%23 = getelementptr inbounds i8, i8* %21, i64 %16
%24 = trunc i64 %19 to i8
store i8 %24, i8* %23
%25 = add nuw nsw i64 %13, 2
%26 = icmp eq i64 %22, 26
br i1 %26, label %9, label %11
27: ; preds = %59
%28 = getelementptr inbounds i8*, i8** %0, i64 2
%29 = getelementptr inbounds [256 x i8], [256 x i8]* %2, i64 0, i64 48
store i8 1, i8* %29
%30 = load i8*, i8** %28
store i8 48, i8* %30
%31 = getelementptr inbounds [256 x i8], [256 x i8]* %2, i64 0, i64 49
store i8 1, i8* %31
%32 = load i8*, i8** %28
%33 = getelementptr inbounds i8, i8* %32, i64 1
store i8 49, i8* %33
%34 = getelementptr inbounds [256 x i8], [256 x i8]* %2, i64 0, i64 50
store i8 1, i8* %34
%35 = load i8*, i8** %28
%36 = getelementptr inbounds i8, i8* %35, i64 2
store i8 50, i8* %36
%37 = getelementptr inbounds [256 x i8], [256 x i8]* %2, i64 0, i64 51
store i8 1, i8* %37
%38 = load i8*, i8** %28
%39 = getelementptr inbounds i8, i8* %38, i64 3
store i8 51, i8* %39
%40 = getelementptr inbounds [256 x i8], [256 x i8]* %2, i64 0, i64 52
store i8 1, i8* %40
%41 = load i8*, i8** %28
%42 = getelementptr inbounds i8, i8* %41, i64 4
store i8 52, i8* %42
%43 = getelementptr inbounds [256 x i8], [256 x i8]* %2, i64 0, i64 53
store i8 1, i8* %43
%44 = load i8*, i8** %28
%45 = getelementptr inbounds i8, i8* %44, i64 5
store i8 53, i8* %45
%46 = getelementptr inbounds [256 x i8], [256 x i8]* %2, i64 0, i64 54
store i8 1, i8* %46
%47 = load i8*, i8** %28
%48 = getelementptr inbounds i8, i8* %47, i64 6
store i8 54, i8* %48
%49 = getelementptr inbounds [256 x i8], [256 x i8]* %2, i64 0, i64 55
store i8 1, i8* %49
%50 = load i8*, i8** %28
%51 = getelementptr inbounds i8, i8* %50, i64 7
store i8 55, i8* %51
%52 = getelementptr inbounds [256 x i8], [256 x i8]* %2, i64 0, i64 56
store i8 1, i8* %52
%53 = load i8*, i8** %28
%54 = getelementptr inbounds i8, i8* %53, i64 8
store i8 56, i8* %54
%55 = getelementptr inbounds [256 x i8], [256 x i8]* %2, i64 0, i64 57
store i8 1, i8* %55
%56 = load i8*, i8** %28
%57 = getelementptr inbounds i8, i8* %56, i64 9
store i8 57, i8* %57
%58 = getelementptr inbounds i8*, i8** %0, i64 3
br label %77
59: ; preds = %59, %9
%60 = phi i64 [ 0, %9 ], [ %70, %59 ]
%61 = phi i64 [ 65, %9 ], [ %73, %59 ]
%62 = getelementptr inbounds [256 x i8], [256 x i8]* %2, i64 0, i64 %61
store i8 1, i8* %62
%63 = load i8*, i8** %10
%64 = or i64 %60, 1
%65 = getelementptr inbounds i8, i8* %63, i64 %60
%66 = trunc i64 %61 to i8
store i8 %66, i8* %65
%67 = add nuw nsw i64 %61, 1
%68 = getelementptr inbounds [256 x i8], [256 x i8]* %2, i64 0, i64 %67
store i8 1, i8* %68
%69 = load i8*, i8** %10
%70 = add nuw nsw i64 %60, 2
%71 = getelementptr inbounds i8, i8* %69, i64 %64
%72 = trunc i64 %67 to i8
store i8 %72, i8* %71
%73 = add nuw nsw i64 %61, 2
%74 = icmp eq i64 %70, 26
br i1 %74, label %27, label %59
75: ; preds = %89
%76 = getelementptr inbounds i8*, i8** %0, i64 4
br label %106
77: ; preds = %103, %27
%78 = phi i64 [ 32, %27 ], [ %105, %103 ]
%79 = phi i8 [ 0, %27 ], [ %104, %103 ]
%80 = getelementptr inbounds [256 x i8], [256 x i8]* %2, i64 0, i64 %78
%81 = load i8, i8* %80
%82 = icmp eq i8 %81, 0
br i1 %82, label %83, label %89
83: ; preds = %77
%84 = load i8*, i8** %58
%85 = add i8 %79, 1
%86 = sext i8 %79 to i64
%87 = getelementptr inbounds i8, i8* %84, i64 %86
%88 = trunc i64 %78 to i8
store i8 %88, i8* %87
br label %89
89: ; preds = %77, %83
%90 = phi i8 [ %79, %77 ], [ %85, %83 ]
%91 = or i64 %78, 1
%92 = icmp eq i64 %91, 127
br i1 %92, label %75, label %93
93: ; preds = %89
%94 = getelementptr inbounds [256 x i8], [256 x i8]* %2, i64 0, i64 %91
%95 = load i8, i8* %94
%96 = icmp eq i8 %95, 0
br i1 %96, label %97, label %103
97: ; preds = %93
%98 = load i8*, i8** %58
%99 = add i8 %90, 1
%100 = sext i8 %90 to i64
%101 = getelementptr inbounds i8, i8* %98, i64 %100
%102 = trunc i64 %91 to i8
store i8 %102, i8* %101
br label %103
103: ; preds = %97, %93
%104 = phi i8 [ %90, %93 ], [ %99, %97 ]
%105 = add nuw nsw i64 %78, 2
br label %77
106: ; preds = %106, %75
%107 = phi i64 [ 0, %75 ], [ %126, %106 ]
%108 = phi i8 [ 32, %75 ], [ %128, %106 ]
%109 = load i8*, i8** %76
%110 = add nuw nsw i64 %107, 1
%111 = getelementptr inbounds i8, i8* %109, i64 %107
store i8 %108, i8* %111
%112 = add nuw nsw i8 %108, 1
%113 = load i8*, i8** %76
%114 = add nuw nsw i64 %107, 2
%115 = getelementptr inbounds i8, i8* %113, i64 %110
store i8 %112, i8* %115
%116 = add nuw nsw i8 %108, 2
%117 = load i8*, i8** %76
%118 = add nuw nsw i64 %107, 3
%119 = getelementptr inbounds i8, i8* %117, i64 %114
store i8 %116, i8* %119
%120 = add nuw nsw i8 %108, 3
%121 = load i8*, i8** %76
%122 = add nuw nsw i64 %107, 4
%123 = getelementptr inbounds i8, i8* %121, i64 %118
store i8 %120, i8* %123
%124 = add nuw nsw i8 %108, 4
%125 = load i8*, i8** %76
%126 = add nuw nsw i64 %107, 5
%127 = getelementptr inbounds i8, i8* %125, i64 %122
store i8 %124, i8* %127
%128 = add nuw nsw i8 %108, 5
%129 = icmp eq i8 %128, 127
br i1 %129, label %130, label %106
130: ; preds = %106
%131 = getelementptr inbounds [62 x i8], [62 x i8]* %3, i64 0, i64 0
%132 = getelementptr inbounds [7 x i8], [7 x i8]* %4, i64 0, i64 0
%133 = getelementptr inbounds [29 x i8], [29 x i8]* %5, i64 0, i64 0
%134 = getelementptr inbounds [66 x i8], [66 x i8]* %6, i64 0, i64 0
%135 = getelementptr inbounds i8*, i8** %0, i64 5
%136 = load i8*, i8** %135
%137 = call i32 @memcpy(i8* %136, i8* %131, i32 62)
%138 = getelementptr inbounds i8*, i8** %0, i64 6
%139 = load i8*, i8** %138
%140 = call i32 @memcpy(i8* %139, i8* %132, i32 7)
%141 = getelementptr inbounds i8*, i8** %0, i64 7
%142 = load i8*, i8** %141
%143 = call i32 @memcpy(i8* %142, i8* %133, i32 29)
%144 = getelementptr inbounds i8*, i8** %0, i64 8
%145 = load i8*, i8** %144
%146 = call i32 @memcpy(i8* %145, i8* %134, i32 66)
ret void
}