#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 */

/* Variables and functions */
int /*<<< orphan*/ RamWrite32A(int, int);
int /*<<< orphan*/ RegWriteA(int, int);
void IniPtMovMod(unsigned char UcPtMod) {
  switch (UcPtMod) {
  case 0x00:
    RegWriteA(0x0142, 0x01);
    RegWriteA(0x0143, 0x00);
    RegWriteA(0x0144, 0x00);
    RegWriteA(0x0145, 0x00);
    RegWriteA(0x0148, 0x00);
    RegWriteA(0x0149, 0x07);
    RegWriteA(0x014C, 0x00);
    RegWriteA(0x014D, 0x00);
    RegWriteA(0x014E, 0x00);
    RegWriteA(0x014F, 0x00);
    RegWriteA(0x015A, 0x0F);
    RamWrite32A(0x108F, 0x40424476);
    RamWrite32A(0x118F, 0x40424476);
    RamWrite32A(0x1043, 0x37A8A800);
    RamWrite32A(0x1044, 0xB261CF49);
    RamWrite32A(0x1045, 0x3261CF49);
    RamWrite32A(0x1046, 0x37A8A800);
    RamWrite32A(0x1047, 0xB261CF49);
    RamWrite32A(0x1048, 0x3261CF49);
    RamWrite32A(0x1049, 0x3A2F91C0);
    RamWrite32A(0x104A, 0xB261CF49);
    RamWrite32A(0x104B, 0x3F800000);
    RamWrite32A(0x104C, 0x37A8A800);
    RamWrite32A(0x104D, 0xB261CF49);
    RamWrite32A(0x104E, 0x3261CF49);
    RamWrite32A(0x1143, 0x37A8A800);
    RamWrite32A(0x1144, 0xB261CF49);
    RamWrite32A(0x1145, 0x3261CF49);
    RamWrite32A(0x1146, 0x37A8A800);
    RamWrite32A(0x1147, 0xB261CF49);
    RamWrite32A(0x1148, 0x3261CF49);
    RamWrite32A(0x1149, 0x3A2F91C0);
    RamWrite32A(0x114A, 0xB261CF49);
    RamWrite32A(0x114B, 0x3F800000);
    RamWrite32A(0x114C, 0x37A8A800);
    RamWrite32A(0x114D, 0xB261CF49);
    RamWrite32A(0x114E, 0x3261CF49);
    break;
  case 0x01:
    RegWriteA(0x0142, 0x00);
    RegWriteA(0x0143, 0x00);
    RegWriteA(0x0144, 0x07);
    RegWriteA(0x0145, 0x00);
    RegWriteA(0x0148, 0x00);
    RegWriteA(0x0149, 0x07);
    RegWriteA(0x014C, 0x00);
    RegWriteA(0x014D, 0x07);
    RegWriteA(0x014E, 0x01);
    RegWriteA(0x014F, 0x00);
    RegWriteA(0x015A, 0xF0);
    RamWrite32A(0x108F, 0x3F72D594);
    RamWrite32A(0x118F, 0x3F72D594);
    RamWrite32A(0x1043, 0x37A8A800);
    RamWrite32A(0x1044, 0xB261CF49);
    RamWrite32A(0x1045, 0x3261CF49);
    RamWrite32A(0x1046, 0x37A8A800);
    RamWrite32A(0x1047, 0xB261CF49);
    RamWrite32A(0x1048, 0x3261CF49);
    RamWrite32A(0x1049, 0x37A8A800);
    RamWrite32A(0x104A, 0xB261CF49);
    RamWrite32A(0x104B, 0x3261CF49);
    RamWrite32A(0x104C, 0x3A2F91C0);
    RamWrite32A(0x104D, 0xB261CF49);
    RamWrite32A(0x104E, 0x3F800000);
    RamWrite32A(0x1143, 0x37A8A800);
    RamWrite32A(0x1144, 0xB261CF49);
    RamWrite32A(0x1145, 0x3261CF49);
    RamWrite32A(0x1146, 0x37A8A800);
    RamWrite32A(0x1147, 0xB261CF49);
    RamWrite32A(0x1148, 0x3261CF49);
    RamWrite32A(0x1149, 0x37A8A800);
    RamWrite32A(0x114A, 0xB261CF49);
    RamWrite32A(0x114B, 0x3261CF49);
    RamWrite32A(0x114C, 0x3A2F91C0);
    RamWrite32A(0x114D, 0xB261CF49);
    RamWrite32A(0x114E, 0x3F800000);
    break;
  }
}


x86 assembly (clang, -O0):
<IniPtMovMod>:
push   %rbp
mov    %rsp,%rbp
sub    $0x10,%rsp
mov    %dil,%al
mov    %al,-0x1(%rbp)
movzbl -0x1(%rbp),%eax
mov    %eax,-0x8(%rbp)
test   %eax,%eax
je     1153 <IniPtMovMod+0x33>
jmp    1142 <IniPtMovMod+0x22>
mov    -0x8(%rbp),%eax
sub    $0x1,%eax
je     136b <IniPtMovMod+0x24b>
jmp    1584 <IniPtMovMod+0x464>
mov    $0x142,%edi
mov    $0x1,%esi
call   1040 <RegWriteA@plt>
mov    $0x143,%edi
xor    %esi,%esi
call   1040 <RegWriteA@plt>
mov    $0x144,%edi
xor    %esi,%esi
call   1040 <RegWriteA@plt>
mov    $0x145,%edi
xor    %esi,%esi
call   1040 <RegWriteA@plt>
mov    $0x148,%edi
xor    %esi,%esi
call   1040 <RegWriteA@plt>
mov    $0x149,%edi
mov    $0x7,%esi
call   1040 <RegWriteA@plt>
mov    $0x14c,%edi
xor    %esi,%esi
call   1040 <RegWriteA@plt>
mov    $0x14d,%edi
xor    %esi,%esi
call   1040 <RegWriteA@plt>
mov    $0x14e,%edi
xor    %esi,%esi
call   1040 <RegWriteA@plt>
mov    $0x14f,%edi
xor    %esi,%esi
call   1040 <RegWriteA@plt>
mov    $0x15a,%edi
mov    $0xf,%esi
call   1040 <RegWriteA@plt>
mov    $0x108f,%edi
mov    $0x40424476,%esi
call   1030 <RamWrite32A@plt>
mov    $0x118f,%edi
mov    $0x40424476,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1043,%edi
mov    $0x37a8a800,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1044,%edi
mov    $0xb261cf49,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1045,%edi
mov    $0x3261cf49,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1046,%edi
mov    $0x37a8a800,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1047,%edi
mov    $0xb261cf49,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1048,%edi
mov    $0x3261cf49,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1049,%edi
mov    $0x3a2f91c0,%esi
call   1030 <RamWrite32A@plt>
mov    $0x104a,%edi
mov    $0xb261cf49,%esi
call   1030 <RamWrite32A@plt>
mov    $0x104b,%edi
mov    $0x3f800000,%esi
call   1030 <RamWrite32A@plt>
mov    $0x104c,%edi
mov    $0x37a8a800,%esi
call   1030 <RamWrite32A@plt>
mov    $0x104d,%edi
mov    $0xb261cf49,%esi
call   1030 <RamWrite32A@plt>
mov    $0x104e,%edi
mov    $0x3261cf49,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1143,%edi
mov    $0x37a8a800,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1144,%edi
mov    $0xb261cf49,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1145,%edi
mov    $0x3261cf49,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1146,%edi
mov    $0x37a8a800,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1147,%edi
mov    $0xb261cf49,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1148,%edi
mov    $0x3261cf49,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1149,%edi
mov    $0x3a2f91c0,%esi
call   1030 <RamWrite32A@plt>
mov    $0x114a,%edi
mov    $0xb261cf49,%esi
call   1030 <RamWrite32A@plt>
mov    $0x114b,%edi
mov    $0x3f800000,%esi
call   1030 <RamWrite32A@plt>
mov    $0x114c,%edi
mov    $0x37a8a800,%esi
call   1030 <RamWrite32A@plt>
mov    $0x114d,%edi
mov    $0xb261cf49,%esi
call   1030 <RamWrite32A@plt>
mov    $0x114e,%edi
mov    $0x3261cf49,%esi
call   1030 <RamWrite32A@plt>
jmp    1584 <IniPtMovMod+0x464>
mov    $0x142,%edi
xor    %esi,%esi
call   1040 <RegWriteA@plt>
mov    $0x143,%edi
xor    %esi,%esi
call   1040 <RegWriteA@plt>
mov    $0x144,%edi
mov    $0x7,%esi
call   1040 <RegWriteA@plt>
mov    $0x145,%edi
xor    %esi,%esi
call   1040 <RegWriteA@plt>
mov    $0x148,%edi
xor    %esi,%esi
call   1040 <RegWriteA@plt>
mov    $0x149,%edi
mov    $0x7,%esi
call   1040 <RegWriteA@plt>
mov    $0x14c,%edi
xor    %esi,%esi
call   1040 <RegWriteA@plt>
mov    $0x14d,%edi
mov    $0x7,%esi
call   1040 <RegWriteA@plt>
mov    $0x14e,%edi
mov    $0x1,%esi
call   1040 <RegWriteA@plt>
mov    $0x14f,%edi
xor    %esi,%esi
call   1040 <RegWriteA@plt>
mov    $0x15a,%edi
mov    $0xf0,%esi
call   1040 <RegWriteA@plt>
mov    $0x108f,%edi
mov    $0x3f72d594,%esi
call   1030 <RamWrite32A@plt>
mov    $0x118f,%edi
mov    $0x3f72d594,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1043,%edi
mov    $0x37a8a800,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1044,%edi
mov    $0xb261cf49,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1045,%edi
mov    $0x3261cf49,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1046,%edi
mov    $0x37a8a800,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1047,%edi
mov    $0xb261cf49,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1048,%edi
mov    $0x3261cf49,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1049,%edi
mov    $0x37a8a800,%esi
call   1030 <RamWrite32A@plt>
mov    $0x104a,%edi
mov    $0xb261cf49,%esi
call   1030 <RamWrite32A@plt>
mov    $0x104b,%edi
mov    $0x3261cf49,%esi
call   1030 <RamWrite32A@plt>
mov    $0x104c,%edi
mov    $0x3a2f91c0,%esi
call   1030 <RamWrite32A@plt>
mov    $0x104d,%edi
mov    $0xb261cf49,%esi
call   1030 <RamWrite32A@plt>
mov    $0x104e,%edi
mov    $0x3f800000,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1143,%edi
mov    $0x37a8a800,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1144,%edi
mov    $0xb261cf49,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1145,%edi
mov    $0x3261cf49,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1146,%edi
mov    $0x37a8a800,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1147,%edi
mov    $0xb261cf49,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1148,%edi
mov    $0x3261cf49,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1149,%edi
mov    $0x37a8a800,%esi
call   1030 <RamWrite32A@plt>
mov    $0x114a,%edi
mov    $0xb261cf49,%esi
call   1030 <RamWrite32A@plt>
mov    $0x114b,%edi
mov    $0x3261cf49,%esi
call   1030 <RamWrite32A@plt>
mov    $0x114c,%edi
mov    $0x3a2f91c0,%esi
call   1030 <RamWrite32A@plt>
mov    $0x114d,%edi
mov    $0xb261cf49,%esi
call   1030 <RamWrite32A@plt>
mov    $0x114e,%edi
mov    $0x3f800000,%esi
call   1030 <RamWrite32A@plt>
add    $0x10,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<IniPtMovMod>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
push   %rax
test   %edi,%edi
je     116e <IniPtMovMod+0x4e>
cmp    $0x1,%dil
jne    13a7 <IniPtMovMod+0x287>
movl   $0x3f800000,0x4(%rsp)
3f
movl   $0x3a2f91c0,(%rsp)
mov    $0x3261cf49,%r12d
mov    $0x37a8a800,%r13d
mov    $0x3f72d594,%ebx
mov    $0xf0,%ebp
mov    $0x1,%r14d
mov    $0x7,%r15d
xor    %esi,%esi
jmp    119e <IniPtMovMod+0x7e>
movl   $0x3261cf49,0x4(%rsp)
32
movl   $0x37a8a800,(%rsp)
mov    $0x3f800000,%r12d
mov    $0x3a2f91c0,%r13d
mov    $0x40424476,%ebx
mov    $0xf,%ebp
xor    %r15d,%r15d
mov    $0x1,%esi
xor    %r14d,%r14d
mov    $0x142,%edi
call   1040 <RegWriteA@plt>
mov    $0x143,%edi
xor    %esi,%esi
call   1040 <RegWriteA@plt>
mov    $0x144,%edi
mov    %r15d,%esi
call   1040 <RegWriteA@plt>
mov    $0x145,%edi
xor    %esi,%esi
call   1040 <RegWriteA@plt>
mov    $0x148,%edi
xor    %esi,%esi
call   1040 <RegWriteA@plt>
mov    $0x149,%edi
mov    $0x7,%esi
call   1040 <RegWriteA@plt>
mov    $0x14c,%edi
xor    %esi,%esi
call   1040 <RegWriteA@plt>
mov    $0x14d,%edi
mov    %r15d,%esi
call   1040 <RegWriteA@plt>
mov    $0x14e,%edi
mov    %r14d,%esi
call   1040 <RegWriteA@plt>
mov    $0x14f,%edi
xor    %esi,%esi
call   1040 <RegWriteA@plt>
mov    $0x15a,%edi
mov    %ebp,%esi
call   1040 <RegWriteA@plt>
mov    $0x108f,%edi
mov    %ebx,%esi
call   1030 <RamWrite32A@plt>
mov    $0x118f,%edi
mov    %ebx,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1043,%edi
mov    $0x37a8a800,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1044,%edi
mov    $0xb261cf49,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1045,%edi
mov    $0x3261cf49,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1046,%edi
mov    $0x37a8a800,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1047,%edi
mov    $0xb261cf49,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1048,%edi
mov    $0x3261cf49,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1049,%edi
mov    %r13d,%esi
call   1030 <RamWrite32A@plt>
mov    $0x104a,%edi
mov    $0xb261cf49,%esi
call   1030 <RamWrite32A@plt>
mov    $0x104b,%edi
mov    %r12d,%esi
call   1030 <RamWrite32A@plt>
mov    $0x104c,%edi
mov    (%rsp),%ebp
mov    %ebp,%esi
call   1030 <RamWrite32A@plt>
mov    $0x104d,%edi
mov    $0xb261cf49,%esi
call   1030 <RamWrite32A@plt>
mov    $0x104e,%edi
mov    0x4(%rsp),%ebx
mov    %ebx,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1143,%edi
mov    $0x37a8a800,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1144,%edi
mov    $0xb261cf49,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1145,%edi
mov    $0x3261cf49,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1146,%edi
mov    $0x37a8a800,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1147,%edi
mov    $0xb261cf49,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1148,%edi
mov    $0x3261cf49,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1149,%edi
mov    %r13d,%esi
call   1030 <RamWrite32A@plt>
mov    $0x114a,%edi
mov    $0xb261cf49,%esi
call   1030 <RamWrite32A@plt>
mov    $0x114b,%edi
mov    %r12d,%esi
call   1030 <RamWrite32A@plt>
mov    $0x114c,%edi
mov    %ebp,%esi
call   1030 <RamWrite32A@plt>
mov    $0x114d,%edi
mov    $0xb261cf49,%esi
call   1030 <RamWrite32A@plt>
mov    $0x114e,%edi
mov    %ebx,%esi
add    $0x8,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
jmp    1030 <RamWrite32A@plt>
add    $0x8,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
define void @IniPtMovMod(i8 zeroext %0) {
%2 = alloca i8
store i8 %0, i8* %2
%3 = load i8, i8* %2
%4 = zext i8 %3 to i32
switch i32 %4, label %81 [
i32 0, label %5
i32 1, label %43
]
5: ; preds = %1
%6 = call i32 @RegWriteA(i32 322, i32 1)
%7 = call i32 @RegWriteA(i32 323, i32 0)
%8 = call i32 @RegWriteA(i32 324, i32 0)
%9 = call i32 @RegWriteA(i32 325, i32 0)
%10 = call i32 @RegWriteA(i32 328, i32 0)
%11 = call i32 @RegWriteA(i32 329, i32 7)
%12 = call i32 @RegWriteA(i32 332, i32 0)
%13 = call i32 @RegWriteA(i32 333, i32 0)
%14 = call i32 @RegWriteA(i32 334, i32 0)
%15 = call i32 @RegWriteA(i32 335, i32 0)
%16 = call i32 @RegWriteA(i32 346, i32 15)
%17 = call i32 @RamWrite32A(i32 4239, i32 1078084726)
%18 = call i32 @RamWrite32A(i32 4495, i32 1078084726)
%19 = call i32 @RamWrite32A(i32 4163, i32 933799936)
%20 = call i32 @RamWrite32A(i32 4164, i32 -1302212791)
%21 = call i32 @RamWrite32A(i32 4165, i32 845270857)
%22 = call i32 @RamWrite32A(i32 4166, i32 933799936)
%23 = call i32 @RamWrite32A(i32 4167, i32 -1302212791)
%24 = call i32 @RamWrite32A(i32 4168, i32 845270857)
%25 = call i32 @RamWrite32A(i32 4169, i32 976196032)
%26 = call i32 @RamWrite32A(i32 4170, i32 -1302212791)
%27 = call i32 @RamWrite32A(i32 4171, i32 1065353216)
%28 = call i32 @RamWrite32A(i32 4172, i32 933799936)
%29 = call i32 @RamWrite32A(i32 4173, i32 -1302212791)
%30 = call i32 @RamWrite32A(i32 4174, i32 845270857)
%31 = call i32 @RamWrite32A(i32 4419, i32 933799936)
%32 = call i32 @RamWrite32A(i32 4420, i32 -1302212791)
%33 = call i32 @RamWrite32A(i32 4421, i32 845270857)
%34 = call i32 @RamWrite32A(i32 4422, i32 933799936)
%35 = call i32 @RamWrite32A(i32 4423, i32 -1302212791)
%36 = call i32 @RamWrite32A(i32 4424, i32 845270857)
%37 = call i32 @RamWrite32A(i32 4425, i32 976196032)
%38 = call i32 @RamWrite32A(i32 4426, i32 -1302212791)
%39 = call i32 @RamWrite32A(i32 4427, i32 1065353216)
%40 = call i32 @RamWrite32A(i32 4428, i32 933799936)
%41 = call i32 @RamWrite32A(i32 4429, i32 -1302212791)
%42 = call i32 @RamWrite32A(i32 4430, i32 845270857)
br label %81
43: ; preds = %1
%44 = call i32 @RegWriteA(i32 322, i32 0)
%45 = call i32 @RegWriteA(i32 323, i32 0)
%46 = call i32 @RegWriteA(i32 324, i32 7)
%47 = call i32 @RegWriteA(i32 325, i32 0)
%48 = call i32 @RegWriteA(i32 328, i32 0)
%49 = call i32 @RegWriteA(i32 329, i32 7)
%50 = call i32 @RegWriteA(i32 332, i32 0)
%51 = call i32 @RegWriteA(i32 333, i32 7)
%52 = call i32 @RegWriteA(i32 334, i32 1)
%53 = call i32 @RegWriteA(i32 335, i32 0)
%54 = call i32 @RegWriteA(i32 346, i32 240)
%55 = call i32 @RamWrite32A(i32 4239, i32 1064490388)
%56 = call i32 @RamWrite32A(i32 4495, i32 1064490388)
%57 = call i32 @RamWrite32A(i32 4163, i32 933799936)
%58 = call i32 @RamWrite32A(i32 4164, i32 -1302212791)
%59 = call i32 @RamWrite32A(i32 4165, i32 845270857)
%60 = call i32 @RamWrite32A(i32 4166, i32 933799936)
%61 = call i32 @RamWrite32A(i32 4167, i32 -1302212791)
%62 = call i32 @RamWrite32A(i32 4168, i32 845270857)
%63 = call i32 @RamWrite32A(i32 4169, i32 933799936)
%64 = call i32 @RamWrite32A(i32 4170, i32 -1302212791)
%65 = call i32 @RamWrite32A(i32 4171, i32 845270857)
%66 = call i32 @RamWrite32A(i32 4172, i32 976196032)
%67 = call i32 @RamWrite32A(i32 4173, i32 -1302212791)
%68 = call i32 @RamWrite32A(i32 4174, i32 1065353216)
%69 = call i32 @RamWrite32A(i32 4419, i32 933799936)
%70 = call i32 @RamWrite32A(i32 4420, i32 -1302212791)
%71 = call i32 @RamWrite32A(i32 4421, i32 845270857)
%72 = call i32 @RamWrite32A(i32 4422, i32 933799936)
%73 = call i32 @RamWrite32A(i32 4423, i32 -1302212791)
%74 = call i32 @RamWrite32A(i32 4424, i32 845270857)
%75 = call i32 @RamWrite32A(i32 4425, i32 933799936)
%76 = call i32 @RamWrite32A(i32 4426, i32 -1302212791)
%77 = call i32 @RamWrite32A(i32 4427, i32 845270857)
%78 = call i32 @RamWrite32A(i32 4428, i32 976196032)
%79 = call i32 @RamWrite32A(i32 4429, i32 -1302212791)
%80 = call i32 @RamWrite32A(i32 4430, i32 1065353216)
br label %81
81: ; preds = %1, %43, %5
ret void
}

LLVM IR (-O2):
define void @IniPtMovMod(i8 zeroext %0) {
switch i8 %0, label %50 [
i8 0, label %3
i8 1, label %2
]
2: ; preds = %1
br label %3
3: ; preds = %1, %2
%4 = phi i32 [ 0, %2 ], [ 1, %1 ]
%5 = phi i32 [ 7, %2 ], [ 0, %1 ]
%6 = phi i32 [ 1, %2 ], [ 0, %1 ]
%7 = phi i32 [ 240, %2 ], [ 15, %1 ]
%8 = phi i32 [ 1064490388, %2 ], [ 1078084726, %1 ]
%9 = phi i32 [ 933799936, %2 ], [ 976196032, %1 ]
%10 = phi i32 [ 845270857, %2 ], [ 1065353216, %1 ]
%11 = phi i32 [ 976196032, %2 ], [ 933799936, %1 ]
%12 = phi i32 [ 1065353216, %2 ], [ 845270857, %1 ]
%13 = tail call i32 @RegWriteA(i32 322, i32 %4)
%14 = tail call i32 @RegWriteA(i32 323, i32 0)
%15 = tail call i32 @RegWriteA(i32 324, i32 %5)
%16 = tail call i32 @RegWriteA(i32 325, i32 0)
%17 = tail call i32 @RegWriteA(i32 328, i32 0)
%18 = tail call i32 @RegWriteA(i32 329, i32 7)
%19 = tail call i32 @RegWriteA(i32 332, i32 0)
%20 = tail call i32 @RegWriteA(i32 333, i32 %5)
%21 = tail call i32 @RegWriteA(i32 334, i32 %6)
%22 = tail call i32 @RegWriteA(i32 335, i32 0)
%23 = tail call i32 @RegWriteA(i32 346, i32 %7)
%24 = tail call i32 @RamWrite32A(i32 4239, i32 %8)
%25 = tail call i32 @RamWrite32A(i32 4495, i32 %8)
%26 = tail call i32 @RamWrite32A(i32 4163, i32 933799936)
%27 = tail call i32 @RamWrite32A(i32 4164, i32 -1302212791)
%28 = tail call i32 @RamWrite32A(i32 4165, i32 845270857)
%29 = tail call i32 @RamWrite32A(i32 4166, i32 933799936)
%30 = tail call i32 @RamWrite32A(i32 4167, i32 -1302212791)
%31 = tail call i32 @RamWrite32A(i32 4168, i32 845270857)
%32 = tail call i32 @RamWrite32A(i32 4169, i32 %9)
%33 = tail call i32 @RamWrite32A(i32 4170, i32 -1302212791)
%34 = tail call i32 @RamWrite32A(i32 4171, i32 %10)
%35 = tail call i32 @RamWrite32A(i32 4172, i32 %11)
%36 = tail call i32 @RamWrite32A(i32 4173, i32 -1302212791)
%37 = tail call i32 @RamWrite32A(i32 4174, i32 %12)
%38 = tail call i32 @RamWrite32A(i32 4419, i32 933799936)
%39 = tail call i32 @RamWrite32A(i32 4420, i32 -1302212791)
%40 = tail call i32 @RamWrite32A(i32 4421, i32 845270857)
%41 = tail call i32 @RamWrite32A(i32 4422, i32 933799936)
%42 = tail call i32 @RamWrite32A(i32 4423, i32 -1302212791)
%43 = tail call i32 @RamWrite32A(i32 4424, i32 845270857)
%44 = tail call i32 @RamWrite32A(i32 4425, i32 %9)
%45 = tail call i32 @RamWrite32A(i32 4426, i32 -1302212791)
%46 = tail call i32 @RamWrite32A(i32 4427, i32 %10)
%47 = tail call i32 @RamWrite32A(i32 4428, i32 %11)
%48 = tail call i32 @RamWrite32A(i32 4429, i32 -1302212791)
%49 = tail call i32 @RamWrite32A(i32 4430, i32 %12)
br label %50
50: ; preds = %3, %1
ret void
}