
/* WARNING: Enum "GravityType": Some values do not have unique names */
/* WARNING: Enum "DisposeType": Some values do not have unique names */
/* WARNING: Enum "ChannelType": Some values do not have unique names */
/* WARNING: Enum "PixelChannel": Some values do not have unique names */
/* WARNING: Enum "ExceptionType": Some values do not have unique names */

void __regparm3
Riemersma(Image *image,CacheView *image_view,CubeInfo_conflict *cube_info,size_t level,
         uint direction,ExceptionInfo *exception)

{
  if (level == 1) {
    if (direction == 4) {
LAB_00148148:
      RiemersmaDither(image,image_view,cube_info,6,exception);
      RiemersmaDither(image,image_view,cube_info,8,exception);
      level = 4;
      goto LAB_00148133;
    }
    if (direction < 5) {
      if (direction != 2) {
        return;
      }
LAB_00148102:
      RiemersmaDither(image,image_view,cube_info,8,exception);
      RiemersmaDither(image,image_view,cube_info,6,exception);
      level = 2;
      goto LAB_00148133;
    }
    if (direction == 6) goto LAB_001481a0;
    if (direction != 8) {
      return;
    }
  }
  else {
    if (direction == 4) goto LAB_00147f31;
    if (direction < 5) {
      if (direction == 2) goto LAB_00148000;
      return;
    }
    if (direction == 6) {
      do {
        level = level - 1;
        Riemersma(image,image_view,cube_info,level,8,exception);
        RiemersmaDither(image,image_view,cube_info,4,exception);
        Riemersma(image,image_view,cube_info,level,6,exception);
        RiemersmaDither(image,image_view,cube_info,2,exception);
        Riemersma(image,image_view,cube_info,level,6,exception);
        RiemersmaDither(image,image_view,cube_info,6,exception);
        if (level == 1) goto LAB_00148102;
LAB_00148000:
        level = level - 1;
        Riemersma(image,image_view,cube_info,level,4,exception);
        RiemersmaDither(image,image_view,cube_info,8,exception);
        Riemersma(image,image_view,cube_info,level,2,exception);
        RiemersmaDither(image,image_view,cube_info,6,exception);
        Riemersma(image,image_view,cube_info,level,2,exception);
        RiemersmaDither(image,image_view,cube_info,2,exception);
      } while (level != 1);
LAB_001481a0:
      RiemersmaDither(image,image_view,cube_info,4,exception);
      RiemersmaDither(image,image_view,cube_info,2,exception);
      level = 6;
      goto LAB_00148133;
    }
    if (direction != 8) {
      return;
    }
    do {
      level = level - 1;
      Riemersma(image,image_view,cube_info,level,6,exception);
      RiemersmaDither(image,image_view,cube_info,2,exception);
      Riemersma(image,image_view,cube_info,level,8,exception);
      RiemersmaDither(image,image_view,cube_info,4,exception);
      Riemersma(image,image_view,cube_info,level,8,exception);
      RiemersmaDither(image,image_view,cube_info,8,exception);
      if (level == 1) goto LAB_00148148;
LAB_00147f31:
      level = level - 1;
      Riemersma(image,image_view,cube_info,level,2,exception);
      RiemersmaDither(image,image_view,cube_info,6,exception);
      Riemersma(image,image_view,cube_info,level,4,exception);
      RiemersmaDither(image,image_view,cube_info,8,exception);
      Riemersma(image,image_view,cube_info,level,4,exception);
      RiemersmaDither(image,image_view,cube_info,4,exception);
    } while (level != 1);
  }
  RiemersmaDither(image,image_view,cube_info,2,exception);
  RiemersmaDither(image,image_view,cube_info,4,exception);
  level = 8;
LAB_00148133:
  RiemersmaDither(image,image_view,cube_info,level,exception);
  return;
}



void FUN_00147e60(int param_1,uint param_2,undefined4 param_3)

{
  if (param_1 == 1) {
    if (param_2 == 4) {
LAB_00148148:
      FUN_00146e10(6,param_3);
      FUN_00146e10(8,param_3);
      goto LAB_00148133;
    }
    if (param_2 < 5) {
      if (param_2 != 2) {
        return;
      }
LAB_00148102:
      FUN_00146e10(8,param_3);
      FUN_00146e10(6,param_3);
      goto LAB_00148133;
    }
    if (param_2 == 6) goto LAB_001481a0;
    if (param_2 != 8) {
      return;
    }
  }
  else {
    if (param_2 == 4) goto LAB_00147f31;
    if (param_2 < 5) {
      if (param_2 == 2) goto LAB_00148000;
      return;
    }
    if (param_2 == 6) {
      do {
        param_1 = param_1 + -1;
        FUN_00147e60(param_1,8,param_3);
        FUN_00146e10(4,param_3);
        FUN_00147e60(param_1,6,param_3);
        FUN_00146e10(2,param_3);
        FUN_00147e60(param_1,6,param_3);
        FUN_00146e10(6,param_3);
        if (param_1 == 1) goto LAB_00148102;
LAB_00148000:
        param_1 = param_1 + -1;
        FUN_00147e60(param_1,4,param_3);
        FUN_00146e10(8,param_3);
        FUN_00147e60(param_1,2,param_3);
        FUN_00146e10(6,param_3);
        FUN_00147e60(param_1,2,param_3);
        FUN_00146e10(2,param_3);
      } while (param_1 != 1);
LAB_001481a0:
      FUN_00146e10(4,param_3);
      FUN_00146e10(2,param_3);
      goto LAB_00148133;
    }
    if (param_2 != 8) {
      return;
    }
    do {
      param_1 = param_1 + -1;
      FUN_00147e60(param_1,6,param_3);
      FUN_00146e10(2,param_3);
      FUN_00147e60(param_1,8,param_3);
      FUN_00146e10(4,param_3);
      FUN_00147e60(param_1,8,param_3);
      FUN_00146e10(8,param_3);
      if (param_1 == 1) goto LAB_00148148;
LAB_00147f31:
      param_1 = param_1 + -1;
      FUN_00147e60(param_1,2,param_3);
      FUN_00146e10(6,param_3);
      FUN_00147e60(param_1,4,param_3);
      FUN_00146e10(8,param_3);
      FUN_00147e60(param_1,4,param_3);
      FUN_00146e10(4,param_3);
    } while (param_1 != 1);
  }
  FUN_00146e10(2,param_3);
  FUN_00146e10(4,param_3);
LAB_00148133:
  FUN_00146e10();
  return;
}


PUSH EBP
PUSH EDI
PUSH ESI
MOV ESI,ECX
PUSH EBX
MOV EBX,EDX
SUB ESP,0x1c
MOV EBP,dword ptr [ESP + 0x30]
MOV dword ptr [ESP + 0xc],EAX
MOV EDI,dword ptr [ESP + 0x38]
MOV EAX,dword ptr [ESP + 0x34]
CMP EBP,0x1
JZ 0x00148180
CMP EAX,0x4
JZ 0x00147f31
JBE 0x00147ff0
CMP EAX,0x6
JZ 0x00148081
CMP EAX,0x8
JZ 0x00147eb0
ADD ESP,0x1c
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0x4
SUB EBP,0x1
MOV ECX,ESI
PUSH EDI
MOV EDX,EBX
PUSH 0x6
PUSH EBP
MOV EAX,dword ptr [ESP + 0x1c]
CALL 0x00147e60
POP EAX
MOV ECX,ESI
POP EDX
PUSH EDI
MOV EDX,EBX
PUSH 0x2
MOV EAX,dword ptr [ESP + 0x1c]
CALL 0x00146e10
ADD ESP,0xc
MOV ECX,ESI
MOV EDX,EBX
PUSH EDI
PUSH 0x8
PUSH EBP
MOV EAX,dword ptr [ESP + 0x1c]
CALL 0x00147e60
POP ECX
MOV EDX,EBX
MOV ECX,ESI
POP EAX
PUSH EDI
PUSH 0x4
MOV EAX,dword ptr [ESP + 0x1c]
CALL 0x00146e10
ADD ESP,0xc
MOV ECX,ESI
MOV EDX,EBX
PUSH EDI
PUSH 0x8
PUSH EBP
MOV EAX,dword ptr [ESP + 0x1c]
CALL 0x00147e60
POP EAX
MOV ECX,ESI
POP EDX
PUSH EDI
MOV EDX,EBX
PUSH 0x8
MOV EAX,dword ptr [ESP + 0x1c]
CALL 0x00146e10
ADD ESP,0x10
CMP EBP,0x1
JZ 0x00148148
SUB ESP,0x4
SUB EBP,0x1
MOV ECX,ESI
PUSH EDI
MOV EDX,EBX
PUSH 0x2
PUSH EBP
MOV EAX,dword ptr [ESP + 0x1c]
CALL 0x00147e60
POP ECX
MOV EDX,EBX
MOV ECX,ESI
POP EAX
PUSH EDI
PUSH 0x6
MOV EAX,dword ptr [ESP + 0x1c]
CALL 0x00146e10
ADD ESP,0xc
MOV ECX,ESI
MOV EDX,EBX
PUSH EDI
PUSH 0x4
PUSH EBP
MOV EAX,dword ptr [ESP + 0x1c]
CALL 0x00147e60
POP EAX
MOV ECX,ESI
POP EDX
PUSH EDI
MOV EDX,EBX
PUSH 0x8
MOV EAX,dword ptr [ESP + 0x1c]
CALL 0x00146e10
ADD ESP,0xc
MOV ECX,ESI
MOV EDX,EBX
PUSH EDI
PUSH 0x4
PUSH EBP
MOV EAX,dword ptr [ESP + 0x1c]
CALL 0x00147e60
POP ECX
MOV EDX,EBX
MOV ECX,ESI
POP EAX
PUSH EDI
PUSH 0x4
MOV EAX,dword ptr [ESP + 0x1c]
CALL 0x00146e10
ADD ESP,0x10
CMP EBP,0x1
JNZ 0x00147eb0
SUB ESP,0x8
MOV ECX,ESI
MOV EDX,EBX
PUSH EDI
PUSH 0x2
MOV EBP,dword ptr [ESP + 0x1c]
MOV EAX,EBP
CALL 0x00146e10
POP EAX
MOV ECX,ESI
MOV EAX,EBP
POP EDX
MOV EDX,EBX
PUSH EDI
PUSH 0x4
CALL 0x00146e10
MOV dword ptr [ESP + 0x44],EDI
MOV dword ptr [ESP + 0x40],0x8
JMP 0x00148133
CMP EAX,0x2
JNZ 0x00147ea1
LEA ESI,[ESI]
SUB ESP,0x4
SUB EBP,0x1
MOV ECX,ESI
PUSH EDI
MOV EDX,EBX
PUSH 0x4
PUSH EBP
MOV EAX,dword ptr [ESP + 0x1c]
CALL 0x00147e60
POP ECX
MOV EDX,EBX
MOV ECX,ESI
POP EAX
PUSH EDI
PUSH 0x8
MOV EAX,dword ptr [ESP + 0x1c]
CALL 0x00146e10
ADD ESP,0xc
MOV ECX,ESI
MOV EDX,EBX
PUSH EDI
PUSH 0x2
PUSH EBP
MOV EAX,dword ptr [ESP + 0x1c]
CALL 0x00147e60
POP EAX
MOV ECX,ESI
POP EDX
PUSH EDI
MOV EDX,EBX
PUSH 0x6
MOV EAX,dword ptr [ESP + 0x1c]
CALL 0x00146e10
ADD ESP,0xc
MOV ECX,ESI
MOV EDX,EBX
PUSH EDI
PUSH 0x2
PUSH EBP
MOV EAX,dword ptr [ESP + 0x1c]
CALL 0x00147e60
POP ECX
MOV EDX,EBX
MOV ECX,ESI
POP EAX
PUSH EDI
PUSH 0x2
MOV EAX,dword ptr [ESP + 0x1c]
CALL 0x00146e10
ADD ESP,0x10
CMP EBP,0x1
JZ 0x001481a0
SUB ESP,0x4
SUB EBP,0x1
MOV ECX,ESI
PUSH EDI
MOV EDX,EBX
PUSH 0x8
PUSH EBP
MOV EAX,dword ptr [ESP + 0x1c]
CALL 0x00147e60
POP EAX
MOV ECX,ESI
POP EDX
PUSH EDI
MOV EDX,EBX
PUSH 0x4
MOV EAX,dword ptr [ESP + 0x1c]
CALL 0x00146e10
ADD ESP,0xc
MOV ECX,ESI
MOV EDX,EBX
PUSH EDI
PUSH 0x6
PUSH EBP
MOV EAX,dword ptr [ESP + 0x1c]
CALL 0x00147e60
POP ECX
MOV EDX,EBX
MOV ECX,ESI
POP EAX
PUSH EDI
PUSH 0x2
MOV EAX,dword ptr [ESP + 0x1c]
CALL 0x00146e10
ADD ESP,0xc
MOV ECX,ESI
MOV EDX,EBX
PUSH EDI
PUSH 0x6
PUSH EBP
MOV EAX,dword ptr [ESP + 0x1c]
CALL 0x00147e60
POP EAX
MOV ECX,ESI
POP EDX
PUSH EDI
MOV EDX,EBX
PUSH 0x6
MOV EAX,dword ptr [ESP + 0x1c]
CALL 0x00146e10
ADD ESP,0x10
CMP EBP,0x1
JNZ 0x00148000
SUB ESP,0x8
MOV ECX,ESI
MOV EDX,EBX
PUSH EDI
PUSH 0x8
MOV EBP,dword ptr [ESP + 0x1c]
MOV EAX,EBP
CALL 0x00146e10
POP ECX
MOV EDX,EBX
MOV ECX,ESI
POP EAX
MOV EAX,EBP
PUSH EDI
PUSH 0x6
CALL 0x00146e10
MOV dword ptr [ESP + 0x44],EDI
MOV dword ptr [ESP + 0x40],0x2
ADD ESP,0x2c
MOV ECX,ESI
MOV EDX,EBX
MOV EAX,EBP
POP EBX
POP ESI
POP EDI
POP EBP
JMP 0x00146e10
SUB ESP,0x8
MOV ECX,ESI
MOV EDX,EBX
PUSH EDI
PUSH 0x6
MOV EBP,dword ptr [ESP + 0x1c]
MOV EAX,EBP
CALL 0x00146e10
POP ECX
MOV EDX,EBX
MOV ECX,ESI
POP EAX
MOV EAX,EBP
PUSH EDI
PUSH 0x8
CALL 0x00146e10
MOV dword ptr [ESP + 0x44],EDI
MOV dword ptr [ESP + 0x40],0x4
JMP 0x00148133
CMP EAX,0x4
JZ 0x00148148
JBE 0x001481e0
CMP EAX,0x6
JZ 0x001481a0
CMP EAX,0x8
JNZ 0x00147ea1
JMP 0x00147fb2
SUB ESP,0x8
MOV ECX,ESI
MOV EDX,EBX
PUSH EDI
PUSH 0x4
MOV EBP,dword ptr [ESP + 0x1c]
MOV EAX,EBP
CALL 0x00146e10
POP EAX
MOV ECX,ESI
MOV EAX,EBP
POP EDX
MOV EDX,EBX
PUSH EDI
PUSH 0x2
CALL 0x00146e10
MOV dword ptr [ESP + 0x44],EDI
MOV dword ptr [ESP + 0x40],0x6
JMP 0x00148133
CMP EAX,0x2
JNZ 0x00147ea1
JMP 0x00148102
(translation_unit "void FUN_00147e60(int param_1,uint param_2,undefined4 param_3)\n\n{\n  if (param_1 == 1) {\n    if (param_2 == 4) {\nLAB_00148148:\n      FUN_00146e10(6,param_3);\n      FUN_00146e10(8,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 < 5) {\n      if (param_2 != 2) {\n        return;\n      }\nLAB_00148102:\n      FUN_00146e10(8,param_3);\n      FUN_00146e10(6,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 == 6) goto LAB_001481a0;\n    if (param_2 != 8) {\n      return;\n    }\n  }\n  else {\n    if (param_2 == 4) goto LAB_00147f31;\n    if (param_2 < 5) {\n      if (param_2 == 2) goto LAB_00148000;\n      return;\n    }\n    if (param_2 == 6) {\n      do {\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,8,param_3);\n        FUN_00146e10(4,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(2,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(6,param_3);\n        if (param_1 == 1) goto LAB_00148102;\nLAB_00148000:\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,4,param_3);\n        FUN_00146e10(8,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(6,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(2,param_3);\n      } while (param_1 != 1);\nLAB_001481a0:\n      FUN_00146e10(4,param_3);\n      FUN_00146e10(2,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 != 8) {\n      return;\n    }\n    do {\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,6,param_3);\n      FUN_00146e10(2,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(4,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(8,param_3);\n      if (param_1 == 1) goto LAB_00148148;\nLAB_00147f31:\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,2,param_3);\n      FUN_00146e10(6,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(8,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(4,param_3);\n    } while (param_1 != 1);\n  }\n  FUN_00146e10(2,param_3);\n  FUN_00146e10(4,param_3);\nLAB_00148133:\n  FUN_00146e10();\n  return;\n}\n\n" (function_definition "void FUN_00147e60(int param_1,uint param_2,undefined4 param_3)\n\n{\n  if (param_1 == 1) {\n    if (param_2 == 4) {\nLAB_00148148:\n      FUN_00146e10(6,param_3);\n      FUN_00146e10(8,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 < 5) {\n      if (param_2 != 2) {\n        return;\n      }\nLAB_00148102:\n      FUN_00146e10(8,param_3);\n      FUN_00146e10(6,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 == 6) goto LAB_001481a0;\n    if (param_2 != 8) {\n      return;\n    }\n  }\n  else {\n    if (param_2 == 4) goto LAB_00147f31;\n    if (param_2 < 5) {\n      if (param_2 == 2) goto LAB_00148000;\n      return;\n    }\n    if (param_2 == 6) {\n      do {\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,8,param_3);\n        FUN_00146e10(4,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(2,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(6,param_3);\n        if (param_1 == 1) goto LAB_00148102;\nLAB_00148000:\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,4,param_3);\n        FUN_00146e10(8,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(6,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(2,param_3);\n      } while (param_1 != 1);\nLAB_001481a0:\n      FUN_00146e10(4,param_3);\n      FUN_00146e10(2,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 != 8) {\n      return;\n    }\n    do {\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,6,param_3);\n      FUN_00146e10(2,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(4,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(8,param_3);\n      if (param_1 == 1) goto LAB_00148148;\nLAB_00147f31:\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,2,param_3);\n      FUN_00146e10(6,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(8,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(4,param_3);\n    } while (param_1 != 1);\n  }\n  FUN_00146e10(2,param_3);\n  FUN_00146e10(4,param_3);\nLAB_00148133:\n  FUN_00146e10();\n  return;\n}" primitive_type (function_declarator "FUN_00147e60(int param_1,uint param_2,undefined4 param_3)" identifier (parameter_list "(int param_1,uint param_2,undefined4 param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "uint param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) ))) (compound_statement "{\n  if (param_1 == 1) {\n    if (param_2 == 4) {\nLAB_00148148:\n      FUN_00146e10(6,param_3);\n      FUN_00146e10(8,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 < 5) {\n      if (param_2 != 2) {\n        return;\n      }\nLAB_00148102:\n      FUN_00146e10(8,param_3);\n      FUN_00146e10(6,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 == 6) goto LAB_001481a0;\n    if (param_2 != 8) {\n      return;\n    }\n  }\n  else {\n    if (param_2 == 4) goto LAB_00147f31;\n    if (param_2 < 5) {\n      if (param_2 == 2) goto LAB_00148000;\n      return;\n    }\n    if (param_2 == 6) {\n      do {\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,8,param_3);\n        FUN_00146e10(4,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(2,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(6,param_3);\n        if (param_1 == 1) goto LAB_00148102;\nLAB_00148000:\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,4,param_3);\n        FUN_00146e10(8,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(6,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(2,param_3);\n      } while (param_1 != 1);\nLAB_001481a0:\n      FUN_00146e10(4,param_3);\n      FUN_00146e10(2,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 != 8) {\n      return;\n    }\n    do {\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,6,param_3);\n      FUN_00146e10(2,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(4,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(8,param_3);\n      if (param_1 == 1) goto LAB_00148148;\nLAB_00147f31:\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,2,param_3);\n      FUN_00146e10(6,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(8,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(4,param_3);\n    } while (param_1 != 1);\n  }\n  FUN_00146e10(2,param_3);\n  FUN_00146e10(4,param_3);\nLAB_00148133:\n  FUN_00146e10();\n  return;\n}" { (if_statement "if (param_1 == 1) {\n    if (param_2 == 4) {\nLAB_00148148:\n      FUN_00146e10(6,param_3);\n      FUN_00146e10(8,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 < 5) {\n      if (param_2 != 2) {\n        return;\n      }\nLAB_00148102:\n      FUN_00146e10(8,param_3);\n      FUN_00146e10(6,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 == 6) goto LAB_001481a0;\n    if (param_2 != 8) {\n      return;\n    }\n  }\n  else {\n    if (param_2 == 4) goto LAB_00147f31;\n    if (param_2 < 5) {\n      if (param_2 == 2) goto LAB_00148000;\n      return;\n    }\n    if (param_2 == 6) {\n      do {\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,8,param_3);\n        FUN_00146e10(4,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(2,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(6,param_3);\n        if (param_1 == 1) goto LAB_00148102;\nLAB_00148000:\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,4,param_3);\n        FUN_00146e10(8,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(6,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(2,param_3);\n      } while (param_1 != 1);\nLAB_001481a0:\n      FUN_00146e10(4,param_3);\n      FUN_00146e10(2,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 != 8) {\n      return;\n    }\n    do {\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,6,param_3);\n      FUN_00146e10(2,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(4,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(8,param_3);\n      if (param_1 == 1) goto LAB_00148148;\nLAB_00147f31:\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,2,param_3);\n      FUN_00146e10(6,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(8,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(4,param_3);\n    } while (param_1 != 1);\n  }" if (parenthesized_expression "(param_1 == 1)" ( (binary_expression "param_1 == 1" identifier == number_literal) )) (compound_statement "{\n    if (param_2 == 4) {\nLAB_00148148:\n      FUN_00146e10(6,param_3);\n      FUN_00146e10(8,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 < 5) {\n      if (param_2 != 2) {\n        return;\n      }\nLAB_00148102:\n      FUN_00146e10(8,param_3);\n      FUN_00146e10(6,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 == 6) goto LAB_001481a0;\n    if (param_2 != 8) {\n      return;\n    }\n  }" { (if_statement "if (param_2 == 4) {\nLAB_00148148:\n      FUN_00146e10(6,param_3);\n      FUN_00146e10(8,param_3);\n      goto LAB_00148133;\n    }" if (parenthesized_expression "(param_2 == 4)" ( (binary_expression "param_2 == 4" identifier == number_literal) )) (compound_statement "{\nLAB_00148148:\n      FUN_00146e10(6,param_3);\n      FUN_00146e10(8,param_3);\n      goto LAB_00148133;\n    }" { (labeled_statement "LAB_00148148:\n      FUN_00146e10(6,param_3);" statement_identifier : (expression_statement "FUN_00146e10(6,param_3);" (call_expression "FUN_00146e10(6,param_3)" identifier (argument_list "(6,param_3)" ( number_literal , identifier ))) ;)) (expression_statement "FUN_00146e10(8,param_3);" (call_expression "FUN_00146e10(8,param_3)" identifier (argument_list "(8,param_3)" ( number_literal , identifier ))) ;) (goto_statement "goto LAB_00148133;" goto statement_identifier ;) })) (if_statement "if (param_2 < 5) {\n      if (param_2 != 2) {\n        return;\n      }\nLAB_00148102:\n      FUN_00146e10(8,param_3);\n      FUN_00146e10(6,param_3);\n      goto LAB_00148133;\n    }" if (parenthesized_expression "(param_2 < 5)" ( (binary_expression "param_2 < 5" identifier < number_literal) )) (compound_statement "{\n      if (param_2 != 2) {\n        return;\n      }\nLAB_00148102:\n      FUN_00146e10(8,param_3);\n      FUN_00146e10(6,param_3);\n      goto LAB_00148133;\n    }" { (if_statement "if (param_2 != 2) {\n        return;\n      }" if (parenthesized_expression "(param_2 != 2)" ( (binary_expression "param_2 != 2" identifier != number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (labeled_statement "LAB_00148102:\n      FUN_00146e10(8,param_3);" statement_identifier : (expression_statement "FUN_00146e10(8,param_3);" (call_expression "FUN_00146e10(8,param_3)" identifier (argument_list "(8,param_3)" ( number_literal , identifier ))) ;)) (expression_statement "FUN_00146e10(6,param_3);" (call_expression "FUN_00146e10(6,param_3)" identifier (argument_list "(6,param_3)" ( number_literal , identifier ))) ;) (goto_statement "goto LAB_00148133;" goto statement_identifier ;) })) (if_statement "if (param_2 == 6) goto LAB_001481a0;" if (parenthesized_expression "(param_2 == 6)" ( (binary_expression "param_2 == 6" identifier == number_literal) )) (goto_statement "goto LAB_001481a0;" goto statement_identifier ;)) (if_statement "if (param_2 != 8) {\n      return;\n    }" if (parenthesized_expression "(param_2 != 8)" ( (binary_expression "param_2 != 8" identifier != number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) }) (else_clause "else {\n    if (param_2 == 4) goto LAB_00147f31;\n    if (param_2 < 5) {\n      if (param_2 == 2) goto LAB_00148000;\n      return;\n    }\n    if (param_2 == 6) {\n      do {\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,8,param_3);\n        FUN_00146e10(4,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(2,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(6,param_3);\n        if (param_1 == 1) goto LAB_00148102;\nLAB_00148000:\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,4,param_3);\n        FUN_00146e10(8,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(6,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(2,param_3);\n      } while (param_1 != 1);\nLAB_001481a0:\n      FUN_00146e10(4,param_3);\n      FUN_00146e10(2,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 != 8) {\n      return;\n    }\n    do {\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,6,param_3);\n      FUN_00146e10(2,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(4,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(8,param_3);\n      if (param_1 == 1) goto LAB_00148148;\nLAB_00147f31:\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,2,param_3);\n      FUN_00146e10(6,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(8,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(4,param_3);\n    } while (param_1 != 1);\n  }" else (compound_statement "{\n    if (param_2 == 4) goto LAB_00147f31;\n    if (param_2 < 5) {\n      if (param_2 == 2) goto LAB_00148000;\n      return;\n    }\n    if (param_2 == 6) {\n      do {\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,8,param_3);\n        FUN_00146e10(4,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(2,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(6,param_3);\n        if (param_1 == 1) goto LAB_00148102;\nLAB_00148000:\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,4,param_3);\n        FUN_00146e10(8,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(6,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(2,param_3);\n      } while (param_1 != 1);\nLAB_001481a0:\n      FUN_00146e10(4,param_3);\n      FUN_00146e10(2,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 != 8) {\n      return;\n    }\n    do {\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,6,param_3);\n      FUN_00146e10(2,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(4,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(8,param_3);\n      if (param_1 == 1) goto LAB_00148148;\nLAB_00147f31:\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,2,param_3);\n      FUN_00146e10(6,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(8,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(4,param_3);\n    } while (param_1 != 1);\n  }" { (if_statement "if (param_2 == 4) goto LAB_00147f31;" if (parenthesized_expression "(param_2 == 4)" ( (binary_expression "param_2 == 4" identifier == number_literal) )) (goto_statement "goto LAB_00147f31;" goto statement_identifier ;)) (if_statement "if (param_2 < 5) {\n      if (param_2 == 2) goto LAB_00148000;\n      return;\n    }" if (parenthesized_expression "(param_2 < 5)" ( (binary_expression "param_2 < 5" identifier < number_literal) )) (compound_statement "{\n      if (param_2 == 2) goto LAB_00148000;\n      return;\n    }" { (if_statement "if (param_2 == 2) goto LAB_00148000;" if (parenthesized_expression "(param_2 == 2)" ( (binary_expression "param_2 == 2" identifier == number_literal) )) (goto_statement "goto LAB_00148000;" goto statement_identifier ;)) (return_statement "return;" return ;) })) (if_statement "if (param_2 == 6) {\n      do {\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,8,param_3);\n        FUN_00146e10(4,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(2,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(6,param_3);\n        if (param_1 == 1) goto LAB_00148102;\nLAB_00148000:\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,4,param_3);\n        FUN_00146e10(8,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(6,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(2,param_3);\n      } while (param_1 != 1);\nLAB_001481a0:\n      FUN_00146e10(4,param_3);\n      FUN_00146e10(2,param_3);\n      goto LAB_00148133;\n    }" if (parenthesized_expression "(param_2 == 6)" ( (binary_expression "param_2 == 6" identifier == number_literal) )) (compound_statement "{\n      do {\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,8,param_3);\n        FUN_00146e10(4,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(2,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(6,param_3);\n        if (param_1 == 1) goto LAB_00148102;\nLAB_00148000:\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,4,param_3);\n        FUN_00146e10(8,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(6,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(2,param_3);\n      } while (param_1 != 1);\nLAB_001481a0:\n      FUN_00146e10(4,param_3);\n      FUN_00146e10(2,param_3);\n      goto LAB_00148133;\n    }" { (do_statement "do {\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,8,param_3);\n        FUN_00146e10(4,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(2,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(6,param_3);\n        if (param_1 == 1) goto LAB_00148102;\nLAB_00148000:\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,4,param_3);\n        FUN_00146e10(8,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(6,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(2,param_3);\n      } while (param_1 != 1);" do (compound_statement "{\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,8,param_3);\n        FUN_00146e10(4,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(2,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(6,param_3);\n        if (param_1 == 1) goto LAB_00148102;\nLAB_00148000:\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,4,param_3);\n        FUN_00146e10(8,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(6,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(2,param_3);\n      }" { (expression_statement "param_1 = param_1 + -1;" (assignment_expression "param_1 = param_1 + -1" identifier = (binary_expression "param_1 + -1" identifier + number_literal)) ;) (expression_statement "FUN_00147e60(param_1,8,param_3);" (call_expression "FUN_00147e60(param_1,8,param_3)" identifier (argument_list "(param_1,8,param_3)" ( identifier , number_literal , identifier ))) ;) (expression_statement "FUN_00146e10(4,param_3);" (call_expression "FUN_00146e10(4,param_3)" identifier (argument_list "(4,param_3)" ( number_literal , identifier ))) ;) (expression_statement "FUN_00147e60(param_1,6,param_3);" (call_expression "FUN_00147e60(param_1,6,param_3)" identifier (argument_list "(param_1,6,param_3)" ( identifier , number_literal , identifier ))) ;) (expression_statement "FUN_00146e10(2,param_3);" (call_expression "FUN_00146e10(2,param_3)" identifier (argument_list "(2,param_3)" ( number_literal , identifier ))) ;) (expression_statement "FUN_00147e60(param_1,6,param_3);" (call_expression "FUN_00147e60(param_1,6,param_3)" identifier (argument_list "(param_1,6,param_3)" ( identifier , number_literal , identifier ))) ;) (expression_statement "FUN_00146e10(6,param_3);" (call_expression "FUN_00146e10(6,param_3)" identifier (argument_list "(6,param_3)" ( number_literal , identifier ))) ;) (if_statement "if (param_1 == 1) goto LAB_00148102;" if (parenthesized_expression "(param_1 == 1)" ( (binary_expression "param_1 == 1" identifier == number_literal) )) (goto_statement "goto LAB_00148102;" goto statement_identifier ;)) (labeled_statement "LAB_00148000:\n        param_1 = param_1 + -1;" statement_identifier : (expression_statement "param_1 = param_1 + -1;" (assignment_expression "param_1 = param_1 + -1" identifier = (binary_expression "param_1 + -1" identifier + number_literal)) ;)) (expression_statement "FUN_00147e60(param_1,4,param_3);" (call_expression "FUN_00147e60(param_1,4,param_3)" identifier (argument_list "(param_1,4,param_3)" ( identifier , number_literal , identifier ))) ;) (expression_statement "FUN_00146e10(8,param_3);" (call_expression "FUN_00146e10(8,param_3)" identifier (argument_list "(8,param_3)" ( number_literal , identifier ))) ;) (expression_statement "FUN_00147e60(param_1,2,param_3);" (call_expression "FUN_00147e60(param_1,2,param_3)" identifier (argument_list "(param_1,2,param_3)" ( identifier , number_literal , identifier ))) ;) (expression_statement "FUN_00146e10(6,param_3);" (call_expression "FUN_00146e10(6,param_3)" identifier (argument_list "(6,param_3)" ( number_literal , identifier ))) ;) (expression_statement "FUN_00147e60(param_1,2,param_3);" (call_expression "FUN_00147e60(param_1,2,param_3)" identifier (argument_list "(param_1,2,param_3)" ( identifier , number_literal , identifier ))) ;) (expression_statement "FUN_00146e10(2,param_3);" (call_expression "FUN_00146e10(2,param_3)" identifier (argument_list "(2,param_3)" ( number_literal , identifier ))) ;) }) while (parenthesized_expression "(param_1 != 1)" ( (binary_expression "param_1 != 1" identifier != number_literal) )) ;) (labeled_statement "LAB_001481a0:\n      FUN_00146e10(4,param_3);" statement_identifier : (expression_statement "FUN_00146e10(4,param_3);" (call_expression "FUN_00146e10(4,param_3)" identifier (argument_list "(4,param_3)" ( number_literal , identifier ))) ;)) (expression_statement "FUN_00146e10(2,param_3);" (call_expression "FUN_00146e10(2,param_3)" identifier (argument_list "(2,param_3)" ( number_literal , identifier ))) ;) (goto_statement "goto LAB_00148133;" goto statement_identifier ;) })) (if_statement "if (param_2 != 8) {\n      return;\n    }" if (parenthesized_expression "(param_2 != 8)" ( (binary_expression "param_2 != 8" identifier != number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (do_statement "do {\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,6,param_3);\n      FUN_00146e10(2,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(4,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(8,param_3);\n      if (param_1 == 1) goto LAB_00148148;\nLAB_00147f31:\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,2,param_3);\n      FUN_00146e10(6,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(8,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(4,param_3);\n    } while (param_1 != 1);" do (compound_statement "{\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,6,param_3);\n      FUN_00146e10(2,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(4,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(8,param_3);\n      if (param_1 == 1) goto LAB_00148148;\nLAB_00147f31:\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,2,param_3);\n      FUN_00146e10(6,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(8,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(4,param_3);\n    }" { (expression_statement "param_1 = param_1 + -1;" (assignment_expression "param_1 = param_1 + -1" identifier = (binary_expression "param_1 + -1" identifier + number_literal)) ;) (expression_statement "FUN_00147e60(param_1,6,param_3);" (call_expression "FUN_00147e60(param_1,6,param_3)" identifier (argument_list "(param_1,6,param_3)" ( identifier , number_literal , identifier ))) ;) (expression_statement "FUN_00146e10(2,param_3);" (call_expression "FUN_00146e10(2,param_3)" identifier (argument_list "(2,param_3)" ( number_literal , identifier ))) ;) (expression_statement "FUN_00147e60(param_1,8,param_3);" (call_expression "FUN_00147e60(param_1,8,param_3)" identifier (argument_list "(param_1,8,param_3)" ( identifier , number_literal , identifier ))) ;) (expression_statement "FUN_00146e10(4,param_3);" (call_expression "FUN_00146e10(4,param_3)" identifier (argument_list "(4,param_3)" ( number_literal , identifier ))) ;) (expression_statement "FUN_00147e60(param_1,8,param_3);" (call_expression "FUN_00147e60(param_1,8,param_3)" identifier (argument_list "(param_1,8,param_3)" ( identifier , number_literal , identifier ))) ;) (expression_statement "FUN_00146e10(8,param_3);" (call_expression "FUN_00146e10(8,param_3)" identifier (argument_list "(8,param_3)" ( number_literal , identifier ))) ;) (if_statement "if (param_1 == 1) goto LAB_00148148;" if (parenthesized_expression "(param_1 == 1)" ( (binary_expression "param_1 == 1" identifier == number_literal) )) (goto_statement "goto LAB_00148148;" goto statement_identifier ;)) (labeled_statement "LAB_00147f31:\n      param_1 = param_1 + -1;" statement_identifier : (expression_statement "param_1 = param_1 + -1;" (assignment_expression "param_1 = param_1 + -1" identifier = (binary_expression "param_1 + -1" identifier + number_literal)) ;)) (expression_statement "FUN_00147e60(param_1,2,param_3);" (call_expression "FUN_00147e60(param_1,2,param_3)" identifier (argument_list "(param_1,2,param_3)" ( identifier , number_literal , identifier ))) ;) (expression_statement "FUN_00146e10(6,param_3);" (call_expression "FUN_00146e10(6,param_3)" identifier (argument_list "(6,param_3)" ( number_literal , identifier ))) ;) (expression_statement "FUN_00147e60(param_1,4,param_3);" (call_expression "FUN_00147e60(param_1,4,param_3)" identifier (argument_list "(param_1,4,param_3)" ( identifier , number_literal , identifier ))) ;) (expression_statement "FUN_00146e10(8,param_3);" (call_expression "FUN_00146e10(8,param_3)" identifier (argument_list "(8,param_3)" ( number_literal , identifier ))) ;) (expression_statement "FUN_00147e60(param_1,4,param_3);" (call_expression "FUN_00147e60(param_1,4,param_3)" identifier (argument_list "(param_1,4,param_3)" ( identifier , number_literal , identifier ))) ;) (expression_statement "FUN_00146e10(4,param_3);" (call_expression "FUN_00146e10(4,param_3)" identifier (argument_list "(4,param_3)" ( number_literal , identifier ))) ;) }) while (parenthesized_expression "(param_1 != 1)" ( (binary_expression "param_1 != 1" identifier != number_literal) )) ;) }))) (expression_statement "FUN_00146e10(2,param_3);" (call_expression "FUN_00146e10(2,param_3)" identifier (argument_list "(2,param_3)" ( number_literal , identifier ))) ;) (expression_statement "FUN_00146e10(4,param_3);" (call_expression "FUN_00146e10(4,param_3)" identifier (argument_list "(4,param_3)" ( number_literal , identifier ))) ;) (labeled_statement "LAB_00148133:\n  FUN_00146e10();" statement_identifier : (expression_statement "FUN_00146e10();" (call_expression "FUN_00146e10()" identifier (argument_list "()" ( ))) ;)) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Enum "GravityType": Some values do not have unique names */\n/* WARNING: Enum "DisposeType": Some values do not have unique names */\n/* WARNING: Enum "ChannelType": Some values do not have unique names */\n/* WARNING: Enum "PixelChannel": Some values do not have unique names */\n/* WARNING: Enum "ExceptionType": Some values do not have unique names */\n\nvoid __regparm3\nRiemersma(Image *image,CacheView *image_view,CubeInfo_conflict *cube_info,size_t level,\n         uint direction,ExceptionInfo *exception)\n\n{\n  if (level == 1) {\n    if (direction == 4) {\nLAB_00148148:\n      RiemersmaDither(image,image_view,cube_info,6,exception);\n      RiemersmaDither(image,image_view,cube_info,8,exception);\n      level = 4;\n      goto LAB_00148133;\n    }\n    if (direction < 5) {\n      if (direction != 2) {\n        return;\n      }\nLAB_00148102:\n      RiemersmaDither(image,image_view,cube_info,8,exception);\n      RiemersmaDither(image,image_view,cube_info,6,exception);\n      level = 2;\n      goto LAB_00148133;\n    }\n    if (direction == 6) goto LAB_001481a0;\n    if (direction != 8) {\n      return;\n    }\n  }\n  else {\n    if (direction == 4) goto LAB_00147f31;\n    if (direction < 5) {\n      if (direction == 2) goto LAB_00148000;\n      return;\n    }\n    if (direction == 6) {\n      do {\n        level = level - 1;\n        Riemersma(image,image_view,cube_info,level,8,exception);\n        RiemersmaDither(image,image_view,cube_info,4,exception);\n        Riemersma(image,image_view,cube_info,level,6,exception);\n        RiemersmaDither(image,image_view,cube_info,2,exception);\n        Riemersma(image,image_view,cube_info,level,6,exception);\n        RiemersmaDither(image,image_view,cube_info,6,exception);\n        if (level == 1) goto LAB_00148102;\nLAB_00148000:\n        level = level - 1;\n        Riemersma(image,image_view,cube_info,level,4,exception);\n        RiemersmaDither(image,image_view,cube_info,8,exception);\n        Riemersma(image,image_view,cube_info,level,2,exception);\n        RiemersmaDither(image,image_view,cube_info,6,exception);\n        Riemersma(image,image_view,cube_info,level,2,exception);\n        RiemersmaDither(image,image_view,cube_info,2,exception);\n      } while (level != 1);\nLAB_001481a0:\n      RiemersmaDither(image,image_view,cube_info,4,exception);\n      RiemersmaDither(image,image_view,cube_info,2,exception);\n      level = 6;\n      goto LAB_00148133;\n    }\n    if (direction != 8) {\n      return;\n    }\n    do {\n      level = level - 1;\n      Riemersma(image,image_view,cube_info,level,6,exception);\n      RiemersmaDither(image,image_view,cube_info,2,exception);\n      Riemersma(image,image_view,cube_info,level,8,exception);\n      RiemersmaDither(image,image_view,cube_info,4,exception);\n      Riemersma(image,image_view,cube_info,level,8,exception);\n      RiemersmaDither(image,image_view,cube_info,8,exception);\n      if (level == 1) goto LAB_00148148;\nLAB_00147f31:\n      level = level - 1;\n      Riemersma(image,image_view,cube_info,level,2,exception);\n      RiemersmaDither(image,image_view,cube_info,6,exception);\n      Riemersma(image,image_view,cube_info,level,4,exception);\n      RiemersmaDither(image,image_view,cube_info,8,exception);\n      Riemersma(image,image_view,cube_info,level,4,exception);\n      RiemersmaDither(image,image_view,cube_info,4,exception);\n    } while (level != 1);\n  }\n  RiemersmaDither(image,image_view,cube_info,2,exception);\n  RiemersmaDither(image,image_view,cube_info,4,exception);\n  level = 8;\nLAB_00148133:\n  RiemersmaDither(image,image_view,cube_info,level,exception);\n  return;\n}\n\n" comment comment comment comment comment (function_definition "void __regparm3\nRiemersma(Image *image,CacheView *image_view,CubeInfo_conflict *cube_info,size_t level,\n         uint direction,ExceptionInfo *exception)\n\n{\n  if (level == 1) {\n    if (direction == 4) {\nLAB_00148148:\n      RiemersmaDither(image,image_view,cube_info,6,exception);\n      RiemersmaDither(image,image_view,cube_info,8,exception);\n      level = 4;\n      goto LAB_00148133;\n    }\n    if (direction < 5) {\n      if (direction != 2) {\n        return;\n      }\nLAB_00148102:\n      RiemersmaDither(image,image_view,cube_info,8,exception);\n      RiemersmaDither(image,image_view,cube_info,6,exception);\n      level = 2;\n      goto LAB_00148133;\n    }\n    if (direction == 6) goto LAB_001481a0;\n    if (direction != 8) {\n      return;\n    }\n  }\n  else {\n    if (direction == 4) goto LAB_00147f31;\n    if (direction < 5) {\n      if (direction == 2) goto LAB_00148000;\n      return;\n    }\n    if (direction == 6) {\n      do {\n        level = level - 1;\n        Riemersma(image,image_view,cube_info,level,8,exception);\n        RiemersmaDither(image,image_view,cube_info,4,exception);\n        Riemersma(image,image_view,cube_info,level,6,exception);\n        RiemersmaDither(image,image_view,cube_info,2,exception);\n        Riemersma(image,image_view,cube_info,level,6,exception);\n        RiemersmaDither(image,image_view,cube_info,6,exception);\n        if (level == 1) goto LAB_00148102;\nLAB_00148000:\n        level = level - 1;\n        Riemersma(image,image_view,cube_info,level,4,exception);\n        RiemersmaDither(image,image_view,cube_info,8,exception);\n        Riemersma(image,image_view,cube_info,level,2,exception);\n        RiemersmaDither(image,image_view,cube_info,6,exception);\n        Riemersma(image,image_view,cube_info,level,2,exception);\n        RiemersmaDither(image,image_view,cube_info,2,exception);\n      } while (level != 1);\nLAB_001481a0:\n      RiemersmaDither(image,image_view,cube_info,4,exception);\n      RiemersmaDither(image,image_view,cube_info,2,exception);\n      level = 6;\n      goto LAB_00148133;\n    }\n    if (direction != 8) {\n      return;\n    }\n    do {\n      level = level - 1;\n      Riemersma(image,image_view,cube_info,level,6,exception);\n      RiemersmaDither(image,image_view,cube_info,2,exception);\n      Riemersma(image,image_view,cube_info,level,8,exception);\n      RiemersmaDither(image,image_view,cube_info,4,exception);\n      Riemersma(image,image_view,cube_info,level,8,exception);\n      RiemersmaDither(image,image_view,cube_info,8,exception);\n      if (level == 1) goto LAB_00148148;\nLAB_00147f31:\n      level = level - 1;\n      Riemersma(image,image_view,cube_info,level,2,exception);\n      RiemersmaDither(image,image_view,cube_info,6,exception);\n      Riemersma(image,image_view,cube_info,level,4,exception);\n      RiemersmaDither(image,image_view,cube_info,8,exception);\n      Riemersma(image,image_view,cube_info,level,4,exception);\n      RiemersmaDither(image,image_view,cube_info,4,exception);\n    } while (level != 1);\n  }\n  RiemersmaDither(image,image_view,cube_info,2,exception);\n  RiemersmaDither(image,image_view,cube_info,4,exception);\n  level = 8;\nLAB_00148133:\n  RiemersmaDither(image,image_view,cube_info,level,exception);\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "Riemersma(Image *image,CacheView *image_view,CubeInfo_conflict *cube_info,size_t level,\n         uint direction,ExceptionInfo *exception)" identifier (parameter_list "(Image *image,CacheView *image_view,CubeInfo_conflict *cube_info,size_t level,\n         uint direction,ExceptionInfo *exception)" ( (parameter_declaration "Image *image" type_identifier (pointer_declarator "*image" * identifier)) , (parameter_declaration "CacheView *image_view" type_identifier (pointer_declarator "*image_view" * identifier)) , (parameter_declaration "CubeInfo_conflict *cube_info" type_identifier (pointer_declarator "*cube_info" * identifier)) , (parameter_declaration "size_t level" primitive_type identifier) , (parameter_declaration "uint direction" type_identifier identifier) , (parameter_declaration "ExceptionInfo *exception" type_identifier (pointer_declarator "*exception" * identifier)) ))) (compound_statement "{\n  if (level == 1) {\n    if (direction == 4) {\nLAB_00148148:\n      RiemersmaDither(image,image_view,cube_info,6,exception);\n      RiemersmaDither(image,image_view,cube_info,8,exception);\n      level = 4;\n      goto LAB_00148133;\n    }\n    if (direction < 5) {\n      if (direction != 2) {\n        return;\n      }\nLAB_00148102:\n      RiemersmaDither(image,image_view,cube_info,8,exception);\n      RiemersmaDither(image,image_view,cube_info,6,exception);\n      level = 2;\n      goto LAB_00148133;\n    }\n    if (direction == 6) goto LAB_001481a0;\n    if (direction != 8) {\n      return;\n    }\n  }\n  else {\n    if (direction == 4) goto LAB_00147f31;\n    if (direction < 5) {\n      if (direction == 2) goto LAB_00148000;\n      return;\n    }\n    if (direction == 6) {\n      do {\n        level = level - 1;\n        Riemersma(image,image_view,cube_info,level,8,exception);\n        RiemersmaDither(image,image_view,cube_info,4,exception);\n        Riemersma(image,image_view,cube_info,level,6,exception);\n        RiemersmaDither(image,image_view,cube_info,2,exception);\n        Riemersma(image,image_view,cube_info,level,6,exception);\n        RiemersmaDither(image,image_view,cube_info,6,exception);\n        if (level == 1) goto LAB_00148102;\nLAB_00148000:\n        level = level - 1;\n        Riemersma(image,image_view,cube_info,level,4,exception);\n        RiemersmaDither(image,image_view,cube_info,8,exception);\n        Riemersma(image,image_view,cube_info,level,2,exception);\n        RiemersmaDither(image,image_view,cube_info,6,exception);\n        Riemersma(image,image_view,cube_info,level,2,exception);\n        RiemersmaDither(image,image_view,cube_info,2,exception);\n      } while (level != 1);\nLAB_001481a0:\n      RiemersmaDither(image,image_view,cube_info,4,exception);\n      RiemersmaDither(image,image_view,cube_info,2,exception);\n      level = 6;\n      goto LAB_00148133;\n    }\n    if (direction != 8) {\n      return;\n    }\n    do {\n      level = level - 1;\n      Riemersma(image,image_view,cube_info,level,6,exception);\n      RiemersmaDither(image,image_view,cube_info,2,exception);\n      Riemersma(image,image_view,cube_info,level,8,exception);\n      RiemersmaDither(image,image_view,cube_info,4,exception);\n      Riemersma(image,image_view,cube_info,level,8,exception);\n      RiemersmaDither(image,image_view,cube_info,8,exception);\n      if (level == 1) goto LAB_00148148;\nLAB_00147f31:\n      level = level - 1;\n      Riemersma(image,image_view,cube_info,level,2,exception);\n      RiemersmaDither(image,image_view,cube_info,6,exception);\n      Riemersma(image,image_view,cube_info,level,4,exception);\n      RiemersmaDither(image,image_view,cube_info,8,exception);\n      Riemersma(image,image_view,cube_info,level,4,exception);\n      RiemersmaDither(image,image_view,cube_info,4,exception);\n    } while (level != 1);\n  }\n  RiemersmaDither(image,image_view,cube_info,2,exception);\n  RiemersmaDither(image,image_view,cube_info,4,exception);\n  level = 8;\nLAB_00148133:\n  RiemersmaDither(image,image_view,cube_info,level,exception);\n  return;\n}" { (if_statement "if (level == 1) {\n    if (direction == 4) {\nLAB_00148148:\n      RiemersmaDither(image,image_view,cube_info,6,exception);\n      RiemersmaDither(image,image_view,cube_info,8,exception);\n      level = 4;\n      goto LAB_00148133;\n    }\n    if (direction < 5) {\n      if (direction != 2) {\n        return;\n      }\nLAB_00148102:\n      RiemersmaDither(image,image_view,cube_info,8,exception);\n      RiemersmaDither(image,image_view,cube_info,6,exception);\n      level = 2;\n      goto LAB_00148133;\n    }\n    if (direction == 6) goto LAB_001481a0;\n    if (direction != 8) {\n      return;\n    }\n  }\n  else {\n    if (direction == 4) goto LAB_00147f31;\n    if (direction < 5) {\n      if (direction == 2) goto LAB_00148000;\n      return;\n    }\n    if (direction == 6) {\n      do {\n        level = level - 1;\n        Riemersma(image,image_view,cube_info,level,8,exception);\n        RiemersmaDither(image,image_view,cube_info,4,exception);\n        Riemersma(image,image_view,cube_info,level,6,exception);\n        RiemersmaDither(image,image_view,cube_info,2,exception);\n        Riemersma(image,image_view,cube_info,level,6,exception);\n        RiemersmaDither(image,image_view,cube_info,6,exception);\n        if (level == 1) goto LAB_00148102;\nLAB_00148000:\n        level = level - 1;\n        Riemersma(image,image_view,cube_info,level,4,exception);\n        RiemersmaDither(image,image_view,cube_info,8,exception);\n        Riemersma(image,image_view,cube_info,level,2,exception);\n        RiemersmaDither(image,image_view,cube_info,6,exception);\n        Riemersma(image,image_view,cube_info,level,2,exception);\n        RiemersmaDither(image,image_view,cube_info,2,exception);\n      } while (level != 1);\nLAB_001481a0:\n      RiemersmaDither(image,image_view,cube_info,4,exception);\n      RiemersmaDither(image,image_view,cube_info,2,exception);\n      level = 6;\n      goto LAB_00148133;\n    }\n    if (direction != 8) {\n      return;\n    }\n    do {\n      level = level - 1;\n      Riemersma(image,image_view,cube_info,level,6,exception);\n      RiemersmaDither(image,image_view,cube_info,2,exception);\n      Riemersma(image,image_view,cube_info,level,8,exception);\n      RiemersmaDither(image,image_view,cube_info,4,exception);\n      Riemersma(image,image_view,cube_info,level,8,exception);\n      RiemersmaDither(image,image_view,cube_info,8,exception);\n      if (level == 1) goto LAB_00148148;\nLAB_00147f31:\n      level = level - 1;\n      Riemersma(image,image_view,cube_info,level,2,exception);\n      RiemersmaDither(image,image_view,cube_info,6,exception);\n      Riemersma(image,image_view,cube_info,level,4,exception);\n      RiemersmaDither(image,image_view,cube_info,8,exception);\n      Riemersma(image,image_view,cube_info,level,4,exception);\n      RiemersmaDither(image,image_view,cube_info,4,exception);\n    } while (level != 1);\n  }" if (parenthesized_expression "(level == 1)" ( (binary_expression "level == 1" identifier == number_literal) )) (compound_statement "{\n    if (direction == 4) {\nLAB_00148148:\n      RiemersmaDither(image,image_view,cube_info,6,exception);\n      RiemersmaDither(image,image_view,cube_info,8,exception);\n      level = 4;\n      goto LAB_00148133;\n    }\n    if (direction < 5) {\n      if (direction != 2) {\n        return;\n      }\nLAB_00148102:\n      RiemersmaDither(image,image_view,cube_info,8,exception);\n      RiemersmaDither(image,image_view,cube_info,6,exception);\n      level = 2;\n      goto LAB_00148133;\n    }\n    if (direction == 6) goto LAB_001481a0;\n    if (direction != 8) {\n      return;\n    }\n  }" { (if_statement "if (direction == 4) {\nLAB_00148148:\n      RiemersmaDither(image,image_view,cube_info,6,exception);\n      RiemersmaDither(image,image_view,cube_info,8,exception);\n      level = 4;\n      goto LAB_00148133;\n    }" if (parenthesized_expression "(direction == 4)" ( (binary_expression "direction == 4" identifier == number_literal) )) (compound_statement "{\nLAB_00148148:\n      RiemersmaDither(image,image_view,cube_info,6,exception);\n      RiemersmaDither(image,image_view,cube_info,8,exception);\n      level = 4;\n      goto LAB_00148133;\n    }" { (labeled_statement "LAB_00148148:\n      RiemersmaDither(image,image_view,cube_info,6,exception);" statement_identifier : (expression_statement "RiemersmaDither(image,image_view,cube_info,6,exception);" (call_expression "RiemersmaDither(image,image_view,cube_info,6,exception)" identifier (argument_list "(image,image_view,cube_info,6,exception)" ( identifier , identifier , identifier , number_literal , identifier ))) ;)) (expression_statement "RiemersmaDither(image,image_view,cube_info,8,exception);" (call_expression "RiemersmaDither(image,image_view,cube_info,8,exception)" identifier (argument_list "(image,image_view,cube_info,8,exception)" ( identifier , identifier , identifier , number_literal , identifier ))) ;) (expression_statement "level = 4;" (assignment_expression "level = 4" identifier = number_literal) ;) (goto_statement "goto LAB_00148133;" goto statement_identifier ;) })) (if_statement "if (direction < 5) {\n      if (direction != 2) {\n        return;\n      }\nLAB_00148102:\n      RiemersmaDither(image,image_view,cube_info,8,exception);\n      RiemersmaDither(image,image_view,cube_info,6,exception);\n      level = 2;\n      goto LAB_00148133;\n    }" if (parenthesized_expression "(direction < 5)" ( (binary_expression "direction < 5" identifier < number_literal) )) (compound_statement "{\n      if (direction != 2) {\n        return;\n      }\nLAB_00148102:\n      RiemersmaDither(image,image_view,cube_info,8,exception);\n      RiemersmaDither(image,image_view,cube_info,6,exception);\n      level = 2;\n      goto LAB_00148133;\n    }" { (if_statement "if (direction != 2) {\n        return;\n      }" if (parenthesized_expression "(direction != 2)" ( (binary_expression "direction != 2" identifier != number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (labeled_statement "LAB_00148102:\n      RiemersmaDither(image,image_view,cube_info,8,exception);" statement_identifier : (expression_statement "RiemersmaDither(image,image_view,cube_info,8,exception);" (call_expression "RiemersmaDither(image,image_view,cube_info,8,exception)" identifier (argument_list "(image,image_view,cube_info,8,exception)" ( identifier , identifier , identifier , number_literal , identifier ))) ;)) (expression_statement "RiemersmaDither(image,image_view,cube_info,6,exception);" (call_expression "RiemersmaDither(image,image_view,cube_info,6,exception)" identifier (argument_list "(image,image_view,cube_info,6,exception)" ( identifier , identifier , identifier , number_literal , identifier ))) ;) (expression_statement "level = 2;" (assignment_expression "level = 2" identifier = number_literal) ;) (goto_statement "goto LAB_00148133;" goto statement_identifier ;) })) (if_statement "if (direction == 6) goto LAB_001481a0;" if (parenthesized_expression "(direction == 6)" ( (binary_expression "direction == 6" identifier == number_literal) )) (goto_statement "goto LAB_001481a0;" goto statement_identifier ;)) (if_statement "if (direction != 8) {\n      return;\n    }" if (parenthesized_expression "(direction != 8)" ( (binary_expression "direction != 8" identifier != number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) }) (else_clause "else {\n    if (direction == 4) goto LAB_00147f31;\n    if (direction < 5) {\n      if (direction == 2) goto LAB_00148000;\n      return;\n    }\n    if (direction == 6) {\n      do {\n        level = level - 1;\n        Riemersma(image,image_view,cube_info,level,8,exception);\n        RiemersmaDither(image,image_view,cube_info,4,exception);\n        Riemersma(image,image_view,cube_info,level,6,exception);\n        RiemersmaDither(image,image_view,cube_info,2,exception);\n        Riemersma(image,image_view,cube_info,level,6,exception);\n        RiemersmaDither(image,image_view,cube_info,6,exception);\n        if (level == 1) goto LAB_00148102;\nLAB_00148000:\n        level = level - 1;\n        Riemersma(image,image_view,cube_info,level,4,exception);\n        RiemersmaDither(image,image_view,cube_info,8,exception);\n        Riemersma(image,image_view,cube_info,level,2,exception);\n        RiemersmaDither(image,image_view,cube_info,6,exception);\n        Riemersma(image,image_view,cube_info,level,2,exception);\n        RiemersmaDither(image,image_view,cube_info,2,exception);\n      } while (level != 1);\nLAB_001481a0:\n      RiemersmaDither(image,image_view,cube_info,4,exception);\n      RiemersmaDither(image,image_view,cube_info,2,exception);\n      level = 6;\n      goto LAB_00148133;\n    }\n    if (direction != 8) {\n      return;\n    }\n    do {\n      level = level - 1;\n      Riemersma(image,image_view,cube_info,level,6,exception);\n      RiemersmaDither(image,image_view,cube_info,2,exception);\n      Riemersma(image,image_view,cube_info,level,8,exception);\n      RiemersmaDither(image,image_view,cube_info,4,exception);\n      Riemersma(image,image_view,cube_info,level,8,exception);\n      RiemersmaDither(image,image_view,cube_info,8,exception);\n      if (level == 1) goto LAB_00148148;\nLAB_00147f31:\n      level = level - 1;\n      Riemersma(image,image_view,cube_info,level,2,exception);\n      RiemersmaDither(image,image_view,cube_info,6,exception);\n      Riemersma(image,image_view,cube_info,level,4,exception);\n      RiemersmaDither(image,image_view,cube_info,8,exception);\n      Riemersma(image,image_view,cube_info,level,4,exception);\n      RiemersmaDither(image,image_view,cube_info,4,exception);\n    } while (level != 1);\n  }" else (compound_statement "{\n    if (direction == 4) goto LAB_00147f31;\n    if (direction < 5) {\n      if (direction == 2) goto LAB_00148000;\n      return;\n    }\n    if (direction == 6) {\n      do {\n        level = level - 1;\n        Riemersma(image,image_view,cube_info,level,8,exception);\n        RiemersmaDither(image,image_view,cube_info,4,exception);\n        Riemersma(image,image_view,cube_info,level,6,exception);\n        RiemersmaDither(image,image_view,cube_info,2,exception);\n        Riemersma(image,image_view,cube_info,level,6,exception);\n        RiemersmaDither(image,image_view,cube_info,6,exception);\n        if (level == 1) goto LAB_00148102;\nLAB_00148000:\n        level = level - 1;\n        Riemersma(image,image_view,cube_info,level,4,exception);\n        RiemersmaDither(image,image_view,cube_info,8,exception);\n        Riemersma(image,image_view,cube_info,level,2,exception);\n        RiemersmaDither(image,image_view,cube_info,6,exception);\n        Riemersma(image,image_view,cube_info,level,2,exception);\n        RiemersmaDither(image,image_view,cube_info,2,exception);\n      } while (level != 1);\nLAB_001481a0:\n      RiemersmaDither(image,image_view,cube_info,4,exception);\n      RiemersmaDither(image,image_view,cube_info,2,exception);\n      level = 6;\n      goto LAB_00148133;\n    }\n    if (direction != 8) {\n      return;\n    }\n    do {\n      level = level - 1;\n      Riemersma(image,image_view,cube_info,level,6,exception);\n      RiemersmaDither(image,image_view,cube_info,2,exception);\n      Riemersma(image,image_view,cube_info,level,8,exception);\n      RiemersmaDither(image,image_view,cube_info,4,exception);\n      Riemersma(image,image_view,cube_info,level,8,exception);\n      RiemersmaDither(image,image_view,cube_info,8,exception);\n      if (level == 1) goto LAB_00148148;\nLAB_00147f31:\n      level = level - 1;\n      Riemersma(image,image_view,cube_info,level,2,exception);\n      RiemersmaDither(image,image_view,cube_info,6,exception);\n      Riemersma(image,image_view,cube_info,level,4,exception);\n      RiemersmaDither(image,image_view,cube_info,8,exception);\n      Riemersma(image,image_view,cube_info,level,4,exception);\n      RiemersmaDither(image,image_view,cube_info,4,exception);\n    } while (level != 1);\n  }" { (if_statement "if (direction == 4) goto LAB_00147f31;" if (parenthesized_expression "(direction == 4)" ( (binary_expression "direction == 4" identifier == number_literal) )) (goto_statement "goto LAB_00147f31;" goto statement_identifier ;)) (if_statement "if (direction < 5) {\n      if (direction == 2) goto LAB_00148000;\n      return;\n    }" if (parenthesized_expression "(direction < 5)" ( (binary_expression "direction < 5" identifier < number_literal) )) (compound_statement "{\n      if (direction == 2) goto LAB_00148000;\n      return;\n    }" { (if_statement "if (direction == 2) goto LAB_00148000;" if (parenthesized_expression "(direction == 2)" ( (binary_expression "direction == 2" identifier == number_literal) )) (goto_statement "goto LAB_00148000;" goto statement_identifier ;)) (return_statement "return;" return ;) })) (if_statement "if (direction == 6) {\n      do {\n        level = level - 1;\n        Riemersma(image,image_view,cube_info,level,8,exception);\n        RiemersmaDither(image,image_view,cube_info,4,exception);\n        Riemersma(image,image_view,cube_info,level,6,exception);\n        RiemersmaDither(image,image_view,cube_info,2,exception);\n        Riemersma(image,image_view,cube_info,level,6,exception);\n        RiemersmaDither(image,image_view,cube_info,6,exception);\n        if (level == 1) goto LAB_00148102;\nLAB_00148000:\n        level = level - 1;\n        Riemersma(image,image_view,cube_info,level,4,exception);\n        RiemersmaDither(image,image_view,cube_info,8,exception);\n        Riemersma(image,image_view,cube_info,level,2,exception);\n        RiemersmaDither(image,image_view,cube_info,6,exception);\n        Riemersma(image,image_view,cube_info,level,2,exception);\n        RiemersmaDither(image,image_view,cube_info,2,exception);\n      } while (level != 1);\nLAB_001481a0:\n      RiemersmaDither(image,image_view,cube_info,4,exception);\n      RiemersmaDither(image,image_view,cube_info,2,exception);\n      level = 6;\n      goto LAB_00148133;\n    }" if (parenthesized_expression "(direction == 6)" ( (binary_expression "direction == 6" identifier == number_literal) )) (compound_statement "{\n      do {\n        level = level - 1;\n        Riemersma(image,image_view,cube_info,level,8,exception);\n        RiemersmaDither(image,image_view,cube_info,4,exception);\n        Riemersma(image,image_view,cube_info,level,6,exception);\n        RiemersmaDither(image,image_view,cube_info,2,exception);\n        Riemersma(image,image_view,cube_info,level,6,exception);\n        RiemersmaDither(image,image_view,cube_info,6,exception);\n        if (level == 1) goto LAB_00148102;\nLAB_00148000:\n        level = level - 1;\n        Riemersma(image,image_view,cube_info,level,4,exception);\n        RiemersmaDither(image,image_view,cube_info,8,exception);\n        Riemersma(image,image_view,cube_info,level,2,exception);\n        RiemersmaDither(image,image_view,cube_info,6,exception);\n        Riemersma(image,image_view,cube_info,level,2,exception);\n        RiemersmaDither(image,image_view,cube_info,2,exception);\n      } while (level != 1);\nLAB_001481a0:\n      RiemersmaDither(image,image_view,cube_info,4,exception);\n      RiemersmaDither(image,image_view,cube_info,2,exception);\n      level = 6;\n      goto LAB_00148133;\n    }" { (do_statement "do {\n        level = level - 1;\n        Riemersma(image,image_view,cube_info,level,8,exception);\n        RiemersmaDither(image,image_view,cube_info,4,exception);\n        Riemersma(image,image_view,cube_info,level,6,exception);\n        RiemersmaDither(image,image_view,cube_info,2,exception);\n        Riemersma(image,image_view,cube_info,level,6,exception);\n        RiemersmaDither(image,image_view,cube_info,6,exception);\n        if (level == 1) goto LAB_00148102;\nLAB_00148000:\n        level = level - 1;\n        Riemersma(image,image_view,cube_info,level,4,exception);\n        RiemersmaDither(image,image_view,cube_info,8,exception);\n        Riemersma(image,image_view,cube_info,level,2,exception);\n        RiemersmaDither(image,image_view,cube_info,6,exception);\n        Riemersma(image,image_view,cube_info,level,2,exception);\n        RiemersmaDither(image,image_view,cube_info,2,exception);\n      } while (level != 1);" do (compound_statement "{\n        level = level - 1;\n        Riemersma(image,image_view,cube_info,level,8,exception);\n        RiemersmaDither(image,image_view,cube_info,4,exception);\n        Riemersma(image,image_view,cube_info,level,6,exception);\n        RiemersmaDither(image,image_view,cube_info,2,exception);\n        Riemersma(image,image_view,cube_info,level,6,exception);\n        RiemersmaDither(image,image_view,cube_info,6,exception);\n        if (level == 1) goto LAB_00148102;\nLAB_00148000:\n        level = level - 1;\n        Riemersma(image,image_view,cube_info,level,4,exception);\n        RiemersmaDither(image,image_view,cube_info,8,exception);\n        Riemersma(image,image_view,cube_info,level,2,exception);\n        RiemersmaDither(image,image_view,cube_info,6,exception);\n        Riemersma(image,image_view,cube_info,level,2,exception);\n        RiemersmaDither(image,image_view,cube_info,2,exception);\n      }" { (expression_statement "level = level - 1;" (assignment_expression "level = level - 1" identifier = (binary_expression "level - 1" identifier - number_literal)) ;) (expression_statement "Riemersma(image,image_view,cube_info,level,8,exception);" (call_expression "Riemersma(image,image_view,cube_info,level,8,exception)" identifier (argument_list "(image,image_view,cube_info,level,8,exception)" ( identifier , identifier , identifier , identifier , number_literal , identifier ))) ;) (expression_statement "RiemersmaDither(image,image_view,cube_info,4,exception);" (call_expression "RiemersmaDither(image,image_view,cube_info,4,exception)" identifier (argument_list "(image,image_view,cube_info,4,exception)" ( identifier , identifier , identifier , number_literal , identifier ))) ;) (expression_statement "Riemersma(image,image_view,cube_info,level,6,exception);" (call_expression "Riemersma(image,image_view,cube_info,level,6,exception)" identifier (argument_list "(image,image_view,cube_info,level,6,exception)" ( identifier , identifier , identifier , identifier , number_literal , identifier ))) ;) (expression_statement "RiemersmaDither(image,image_view,cube_info,2,exception);" (call_expression "RiemersmaDither(image,image_view,cube_info,2,exception)" identifier (argument_list "(image,image_view,cube_info,2,exception)" ( identifier , identifier , identifier , number_literal , identifier ))) ;) (expression_statement "Riemersma(image,image_view,cube_info,level,6,exception);" (call_expression "Riemersma(image,image_view,cube_info,level,6,exception)" identifier (argument_list "(image,image_view,cube_info,level,6,exception)" ( identifier , identifier , identifier , identifier , number_literal , identifier ))) ;) (expression_statement "RiemersmaDither(image,image_view,cube_info,6,exception);" (call_expression "RiemersmaDither(image,image_view,cube_info,6,exception)" identifier (argument_list "(image,image_view,cube_info,6,exception)" ( identifier , identifier , identifier , number_literal , identifier ))) ;) (if_statement "if (level == 1) goto LAB_00148102;" if (parenthesized_expression "(level == 1)" ( (binary_expression "level == 1" identifier == number_literal) )) (goto_statement "goto LAB_00148102;" goto statement_identifier ;)) (labeled_statement "LAB_00148000:\n        level = level - 1;" statement_identifier : (expression_statement "level = level - 1;" (assignment_expression "level = level - 1" identifier = (binary_expression "level - 1" identifier - number_literal)) ;)) (expression_statement "Riemersma(image,image_view,cube_info,level,4,exception);" (call_expression "Riemersma(image,image_view,cube_info,level,4,exception)" identifier (argument_list "(image,image_view,cube_info,level,4,exception)" ( identifier , identifier , identifier , identifier , number_literal , identifier ))) ;) (expression_statement "RiemersmaDither(image,image_view,cube_info,8,exception);" (call_expression "RiemersmaDither(image,image_view,cube_info,8,exception)" identifier (argument_list "(image,image_view,cube_info,8,exception)" ( identifier , identifier , identifier , number_literal , identifier ))) ;) (expression_statement "Riemersma(image,image_view,cube_info,level,2,exception);" (call_expression "Riemersma(image,image_view,cube_info,level,2,exception)" identifier (argument_list "(image,image_view,cube_info,level,2,exception)" ( identifier , identifier , identifier , identifier , number_literal , identifier ))) ;) (expression_statement "RiemersmaDither(image,image_view,cube_info,6,exception);" (call_expression "RiemersmaDither(image,image_view,cube_info,6,exception)" identifier (argument_list "(image,image_view,cube_info,6,exception)" ( identifier , identifier , identifier , number_literal , identifier ))) ;) (expression_statement "Riemersma(image,image_view,cube_info,level,2,exception);" (call_expression "Riemersma(image,image_view,cube_info,level,2,exception)" identifier (argument_list "(image,image_view,cube_info,level,2,exception)" ( identifier , identifier , identifier , identifier , number_literal , identifier ))) ;) (expression_statement "RiemersmaDither(image,image_view,cube_info,2,exception);" (call_expression "RiemersmaDither(image,image_view,cube_info,2,exception)" identifier (argument_list "(image,image_view,cube_info,2,exception)" ( identifier , identifier , identifier , number_literal , identifier ))) ;) }) while (parenthesized_expression "(level != 1)" ( (binary_expression "level != 1" identifier != number_literal) )) ;) (labeled_statement "LAB_001481a0:\n      RiemersmaDither(image,image_view,cube_info,4,exception);" statement_identifier : (expression_statement "RiemersmaDither(image,image_view,cube_info,4,exception);" (call_expression "RiemersmaDither(image,image_view,cube_info,4,exception)" identifier (argument_list "(image,image_view,cube_info,4,exception)" ( identifier , identifier , identifier , number_literal , identifier ))) ;)) (expression_statement "RiemersmaDither(image,image_view,cube_info,2,exception);" (call_expression "RiemersmaDither(image,image_view,cube_info,2,exception)" identifier (argument_list "(image,image_view,cube_info,2,exception)" ( identifier , identifier , identifier , number_literal , identifier ))) ;) (expression_statement "level = 6;" (assignment_expression "level = 6" identifier = number_literal) ;) (goto_statement "goto LAB_00148133;" goto statement_identifier ;) })) (if_statement "if (direction != 8) {\n      return;\n    }" if (parenthesized_expression "(direction != 8)" ( (binary_expression "direction != 8" identifier != number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (do_statement "do {\n      level = level - 1;\n      Riemersma(image,image_view,cube_info,level,6,exception);\n      RiemersmaDither(image,image_view,cube_info,2,exception);\n      Riemersma(image,image_view,cube_info,level,8,exception);\n      RiemersmaDither(image,image_view,cube_info,4,exception);\n      Riemersma(image,image_view,cube_info,level,8,exception);\n      RiemersmaDither(image,image_view,cube_info,8,exception);\n      if (level == 1) goto LAB_00148148;\nLAB_00147f31:\n      level = level - 1;\n      Riemersma(image,image_view,cube_info,level,2,exception);\n      RiemersmaDither(image,image_view,cube_info,6,exception);\n      Riemersma(image,image_view,cube_info,level,4,exception);\n      RiemersmaDither(image,image_view,cube_info,8,exception);\n      Riemersma(image,image_view,cube_info,level,4,exception);\n      RiemersmaDither(image,image_view,cube_info,4,exception);\n    } while (level != 1);" do (compound_statement "{\n      level = level - 1;\n      Riemersma(image,image_view,cube_info,level,6,exception);\n      RiemersmaDither(image,image_view,cube_info,2,exception);\n      Riemersma(image,image_view,cube_info,level,8,exception);\n      RiemersmaDither(image,image_view,cube_info,4,exception);\n      Riemersma(image,image_view,cube_info,level,8,exception);\n      RiemersmaDither(image,image_view,cube_info,8,exception);\n      if (level == 1) goto LAB_00148148;\nLAB_00147f31:\n      level = level - 1;\n      Riemersma(image,image_view,cube_info,level,2,exception);\n      RiemersmaDither(image,image_view,cube_info,6,exception);\n      Riemersma(image,image_view,cube_info,level,4,exception);\n      RiemersmaDither(image,image_view,cube_info,8,exception);\n      Riemersma(image,image_view,cube_info,level,4,exception);\n      RiemersmaDither(image,image_view,cube_info,4,exception);\n    }" { (expression_statement "level = level - 1;" (assignment_expression "level = level - 1" identifier = (binary_expression "level - 1" identifier - number_literal)) ;) (expression_statement "Riemersma(image,image_view,cube_info,level,6,exception);" (call_expression "Riemersma(image,image_view,cube_info,level,6,exception)" identifier (argument_list "(image,image_view,cube_info,level,6,exception)" ( identifier , identifier , identifier , identifier , number_literal , identifier ))) ;) (expression_statement "RiemersmaDither(image,image_view,cube_info,2,exception);" (call_expression "RiemersmaDither(image,image_view,cube_info,2,exception)" identifier (argument_list "(image,image_view,cube_info,2,exception)" ( identifier , identifier , identifier , number_literal , identifier ))) ;) (expression_statement "Riemersma(image,image_view,cube_info,level,8,exception);" (call_expression "Riemersma(image,image_view,cube_info,level,8,exception)" identifier (argument_list "(image,image_view,cube_info,level,8,exception)" ( identifier , identifier , identifier , identifier , number_literal , identifier ))) ;) (expression_statement "RiemersmaDither(image,image_view,cube_info,4,exception);" (call_expression "RiemersmaDither(image,image_view,cube_info,4,exception)" identifier (argument_list "(image,image_view,cube_info,4,exception)" ( identifier , identifier , identifier , number_literal , identifier ))) ;) (expression_statement "Riemersma(image,image_view,cube_info,level,8,exception);" (call_expression "Riemersma(image,image_view,cube_info,level,8,exception)" identifier (argument_list "(image,image_view,cube_info,level,8,exception)" ( identifier , identifier , identifier , identifier , number_literal , identifier ))) ;) (expression_statement "RiemersmaDither(image,image_view,cube_info,8,exception);" (call_expression "RiemersmaDither(image,image_view,cube_info,8,exception)" identifier (argument_list "(image,image_view,cube_info,8,exception)" ( identifier , identifier , identifier , number_literal , identifier ))) ;) (if_statement "if (level == 1) goto LAB_00148148;" if (parenthesized_expression "(level == 1)" ( (binary_expression "level == 1" identifier == number_literal) )) (goto_statement "goto LAB_00148148;" goto statement_identifier ;)) (labeled_statement "LAB_00147f31:\n      level = level - 1;" statement_identifier : (expression_statement "level = level - 1;" (assignment_expression "level = level - 1" identifier = (binary_expression "level - 1" identifier - number_literal)) ;)) (expression_statement "Riemersma(image,image_view,cube_info,level,2,exception);" (call_expression "Riemersma(image,image_view,cube_info,level,2,exception)" identifier (argument_list "(image,image_view,cube_info,level,2,exception)" ( identifier , identifier , identifier , identifier , number_literal , identifier ))) ;) (expression_statement "RiemersmaDither(image,image_view,cube_info,6,exception);" (call_expression "RiemersmaDither(image,image_view,cube_info,6,exception)" identifier (argument_list "(image,image_view,cube_info,6,exception)" ( identifier , identifier , identifier , number_literal , identifier ))) ;) (expression_statement "Riemersma(image,image_view,cube_info,level,4,exception);" (call_expression "Riemersma(image,image_view,cube_info,level,4,exception)" identifier (argument_list "(image,image_view,cube_info,level,4,exception)" ( identifier , identifier , identifier , identifier , number_literal , identifier ))) ;) (expression_statement "RiemersmaDither(image,image_view,cube_info,8,exception);" (call_expression "RiemersmaDither(image,image_view,cube_info,8,exception)" identifier (argument_list "(image,image_view,cube_info,8,exception)" ( identifier , identifier , identifier , number_literal , identifier ))) ;) (expression_statement "Riemersma(image,image_view,cube_info,level,4,exception);" (call_expression "Riemersma(image,image_view,cube_info,level,4,exception)" identifier (argument_list "(image,image_view,cube_info,level,4,exception)" ( identifier , identifier , identifier , identifier , number_literal , identifier ))) ;) (expression_statement "RiemersmaDither(image,image_view,cube_info,4,exception);" (call_expression "RiemersmaDither(image,image_view,cube_info,4,exception)" identifier (argument_list "(image,image_view,cube_info,4,exception)" ( identifier , identifier , identifier , number_literal , identifier ))) ;) }) while (parenthesized_expression "(level != 1)" ( (binary_expression "level != 1" identifier != number_literal) )) ;) }))) (expression_statement "RiemersmaDither(image,image_view,cube_info,2,exception);" (call_expression "RiemersmaDither(image,image_view,cube_info,2,exception)" identifier (argument_list "(image,image_view,cube_info,2,exception)" ( identifier , identifier , identifier , number_literal , identifier ))) ;) (expression_statement "RiemersmaDither(image,image_view,cube_info,4,exception);" (call_expression "RiemersmaDither(image,image_view,cube_info,4,exception)" identifier (argument_list "(image,image_view,cube_info,4,exception)" ( identifier , identifier , identifier , number_literal , identifier ))) ;) (expression_statement "level = 8;" (assignment_expression "level = 8" identifier = number_literal) ;) (labeled_statement "LAB_00148133:\n  RiemersmaDither(image,image_view,cube_info,level,exception);" statement_identifier : (expression_statement "RiemersmaDither(image,image_view,cube_info,level,exception);" (call_expression "RiemersmaDither(image,image_view,cube_info,level,exception)" identifier (argument_list "(image,image_view,cube_info,level,exception)" ( identifier , identifier , identifier , identifier , identifier ))) ;)) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00147e60(int param_1,uint param_2,undefined4 param_3)\n\n{\n  if (param_1 == 1) {\n    if (param_2 == 4) {\nLAB_00148148:\n      FUN_00146e10(6,param_3);\n      FUN_00146e10(8,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 < 5) {\n      if (param_2 != 2) {\n        return;\n      }\nLAB_00148102:\n      FUN_00146e10(8,param_3);\n      FUN_00146e10(6,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 == 6) goto LAB_001481a0;\n    if (param_2 != 8) {\n      return;\n    }\n  }\n  else {\n    if (param_2 == 4) goto LAB_00147f31;\n    if (param_2 < 5) {\n      if (param_2 == 2) goto LAB_00148000;\n      return;\n    }\n    if (param_2 == 6) {\n      do {\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,8,param_3);\n        FUN_00146e10(4,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(2,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(6,param_3);\n        if (param_1 == 1) goto LAB_00148102;\nLAB_00148000:\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,4,param_3);\n        FUN_00146e10(8,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(6,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(2,param_3);\n      } while (param_1 != 1);\nLAB_001481a0:\n      FUN_00146e10(4,param_3);\n      FUN_00146e10(2,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 != 8) {\n      return;\n    }\n    do {\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,6,param_3);\n      FUN_00146e10(2,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(4,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(8,param_3);\n      if (param_1 == 1) goto LAB_00148148;\nLAB_00147f31:\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,2,param_3);\n      FUN_00146e10(6,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(8,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(4,param_3);\n    } while (param_1 != 1);\n  }\n  FUN_00146e10(2,param_3);\n  FUN_00146e10(4,param_3);\nLAB_00148133:\n  FUN_00146e10();\n  return;\n}\n\n" (function_definition "void FUN_00147e60(int param_1,uint param_2,undefined4 param_3)\n\n{\n  if (param_1 == 1) {\n    if (param_2 == 4) {\nLAB_00148148:\n      FUN_00146e10(6,param_3);\n      FUN_00146e10(8,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 < 5) {\n      if (param_2 != 2) {\n        return;\n      }\nLAB_00148102:\n      FUN_00146e10(8,param_3);\n      FUN_00146e10(6,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 == 6) goto LAB_001481a0;\n    if (param_2 != 8) {\n      return;\n    }\n  }\n  else {\n    if (param_2 == 4) goto LAB_00147f31;\n    if (param_2 < 5) {\n      if (param_2 == 2) goto LAB_00148000;\n      return;\n    }\n    if (param_2 == 6) {\n      do {\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,8,param_3);\n        FUN_00146e10(4,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(2,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(6,param_3);\n        if (param_1 == 1) goto LAB_00148102;\nLAB_00148000:\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,4,param_3);\n        FUN_00146e10(8,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(6,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(2,param_3);\n      } while (param_1 != 1);\nLAB_001481a0:\n      FUN_00146e10(4,param_3);\n      FUN_00146e10(2,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 != 8) {\n      return;\n    }\n    do {\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,6,param_3);\n      FUN_00146e10(2,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(4,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(8,param_3);\n      if (param_1 == 1) goto LAB_00148148;\nLAB_00147f31:\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,2,param_3);\n      FUN_00146e10(6,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(8,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(4,param_3);\n    } while (param_1 != 1);\n  }\n  FUN_00146e10(2,param_3);\n  FUN_00146e10(4,param_3);\nLAB_00148133:\n  FUN_00146e10();\n  return;\n}" primitive_type (function_declarator "FUN_00147e60(int param_1,uint param_2,undefined4 param_3)" identifier (parameter_list "(int param_1,uint param_2,undefined4 param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "uint param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) ))) (compound_statement "{\n  if (param_1 == 1) {\n    if (param_2 == 4) {\nLAB_00148148:\n      FUN_00146e10(6,param_3);\n      FUN_00146e10(8,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 < 5) {\n      if (param_2 != 2) {\n        return;\n      }\nLAB_00148102:\n      FUN_00146e10(8,param_3);\n      FUN_00146e10(6,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 == 6) goto LAB_001481a0;\n    if (param_2 != 8) {\n      return;\n    }\n  }\n  else {\n    if (param_2 == 4) goto LAB_00147f31;\n    if (param_2 < 5) {\n      if (param_2 == 2) goto LAB_00148000;\n      return;\n    }\n    if (param_2 == 6) {\n      do {\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,8,param_3);\n        FUN_00146e10(4,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(2,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(6,param_3);\n        if (param_1 == 1) goto LAB_00148102;\nLAB_00148000:\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,4,param_3);\n        FUN_00146e10(8,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(6,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(2,param_3);\n      } while (param_1 != 1);\nLAB_001481a0:\n      FUN_00146e10(4,param_3);\n      FUN_00146e10(2,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 != 8) {\n      return;\n    }\n    do {\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,6,param_3);\n      FUN_00146e10(2,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(4,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(8,param_3);\n      if (param_1 == 1) goto LAB_00148148;\nLAB_00147f31:\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,2,param_3);\n      FUN_00146e10(6,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(8,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(4,param_3);\n    } while (param_1 != 1);\n  }\n  FUN_00146e10(2,param_3);\n  FUN_00146e10(4,param_3);\nLAB_00148133:\n  FUN_00146e10();\n  return;\n}" { (if_statement "if (param_1 == 1) {\n    if (param_2 == 4) {\nLAB_00148148:\n      FUN_00146e10(6,param_3);\n      FUN_00146e10(8,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 < 5) {\n      if (param_2 != 2) {\n        return;\n      }\nLAB_00148102:\n      FUN_00146e10(8,param_3);\n      FUN_00146e10(6,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 == 6) goto LAB_001481a0;\n    if (param_2 != 8) {\n      return;\n    }\n  }\n  else {\n    if (param_2 == 4) goto LAB_00147f31;\n    if (param_2 < 5) {\n      if (param_2 == 2) goto LAB_00148000;\n      return;\n    }\n    if (param_2 == 6) {\n      do {\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,8,param_3);\n        FUN_00146e10(4,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(2,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(6,param_3);\n        if (param_1 == 1) goto LAB_00148102;\nLAB_00148000:\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,4,param_3);\n        FUN_00146e10(8,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(6,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(2,param_3);\n      } while (param_1 != 1);\nLAB_001481a0:\n      FUN_00146e10(4,param_3);\n      FUN_00146e10(2,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 != 8) {\n      return;\n    }\n    do {\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,6,param_3);\n      FUN_00146e10(2,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(4,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(8,param_3);\n      if (param_1 == 1) goto LAB_00148148;\nLAB_00147f31:\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,2,param_3);\n      FUN_00146e10(6,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(8,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(4,param_3);\n    } while (param_1 != 1);\n  }" if (parenthesized_expression "(param_1 == 1)" ( (binary_expression "param_1 == 1" identifier == number_literal) )) (compound_statement "{\n    if (param_2 == 4) {\nLAB_00148148:\n      FUN_00146e10(6,param_3);\n      FUN_00146e10(8,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 < 5) {\n      if (param_2 != 2) {\n        return;\n      }\nLAB_00148102:\n      FUN_00146e10(8,param_3);\n      FUN_00146e10(6,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 == 6) goto LAB_001481a0;\n    if (param_2 != 8) {\n      return;\n    }\n  }" { (if_statement "if (param_2 == 4) {\nLAB_00148148:\n      FUN_00146e10(6,param_3);\n      FUN_00146e10(8,param_3);\n      goto LAB_00148133;\n    }" if (parenthesized_expression "(param_2 == 4)" ( (binary_expression "param_2 == 4" identifier == number_literal) )) (compound_statement "{\nLAB_00148148:\n      FUN_00146e10(6,param_3);\n      FUN_00146e10(8,param_3);\n      goto LAB_00148133;\n    }" { (labeled_statement "LAB_00148148:\n      FUN_00146e10(6,param_3);" statement_identifier : (expression_statement "FUN_00146e10(6,param_3);" (call_expression "FUN_00146e10(6,param_3)" identifier (argument_list "(6,param_3)" ( number_literal , identifier ))) ;)) (expression_statement "FUN_00146e10(8,param_3);" (call_expression "FUN_00146e10(8,param_3)" identifier (argument_list "(8,param_3)" ( number_literal , identifier ))) ;) (goto_statement "goto LAB_00148133;" goto statement_identifier ;) })) (if_statement "if (param_2 < 5) {\n      if (param_2 != 2) {\n        return;\n      }\nLAB_00148102:\n      FUN_00146e10(8,param_3);\n      FUN_00146e10(6,param_3);\n      goto LAB_00148133;\n    }" if (parenthesized_expression "(param_2 < 5)" ( (binary_expression "param_2 < 5" identifier < number_literal) )) (compound_statement "{\n      if (param_2 != 2) {\n        return;\n      }\nLAB_00148102:\n      FUN_00146e10(8,param_3);\n      FUN_00146e10(6,param_3);\n      goto LAB_00148133;\n    }" { (if_statement "if (param_2 != 2) {\n        return;\n      }" if (parenthesized_expression "(param_2 != 2)" ( (binary_expression "param_2 != 2" identifier != number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (labeled_statement "LAB_00148102:\n      FUN_00146e10(8,param_3);" statement_identifier : (expression_statement "FUN_00146e10(8,param_3);" (call_expression "FUN_00146e10(8,param_3)" identifier (argument_list "(8,param_3)" ( number_literal , identifier ))) ;)) (expression_statement "FUN_00146e10(6,param_3);" (call_expression "FUN_00146e10(6,param_3)" identifier (argument_list "(6,param_3)" ( number_literal , identifier ))) ;) (goto_statement "goto LAB_00148133;" goto statement_identifier ;) })) (if_statement "if (param_2 == 6) goto LAB_001481a0;" if (parenthesized_expression "(param_2 == 6)" ( (binary_expression "param_2 == 6" identifier == number_literal) )) (goto_statement "goto LAB_001481a0;" goto statement_identifier ;)) (if_statement "if (param_2 != 8) {\n      return;\n    }" if (parenthesized_expression "(param_2 != 8)" ( (binary_expression "param_2 != 8" identifier != number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) }) (else_clause "else {\n    if (param_2 == 4) goto LAB_00147f31;\n    if (param_2 < 5) {\n      if (param_2 == 2) goto LAB_00148000;\n      return;\n    }\n    if (param_2 == 6) {\n      do {\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,8,param_3);\n        FUN_00146e10(4,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(2,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(6,param_3);\n        if (param_1 == 1) goto LAB_00148102;\nLAB_00148000:\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,4,param_3);\n        FUN_00146e10(8,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(6,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(2,param_3);\n      } while (param_1 != 1);\nLAB_001481a0:\n      FUN_00146e10(4,param_3);\n      FUN_00146e10(2,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 != 8) {\n      return;\n    }\n    do {\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,6,param_3);\n      FUN_00146e10(2,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(4,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(8,param_3);\n      if (param_1 == 1) goto LAB_00148148;\nLAB_00147f31:\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,2,param_3);\n      FUN_00146e10(6,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(8,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(4,param_3);\n    } while (param_1 != 1);\n  }" else (compound_statement "{\n    if (param_2 == 4) goto LAB_00147f31;\n    if (param_2 < 5) {\n      if (param_2 == 2) goto LAB_00148000;\n      return;\n    }\n    if (param_2 == 6) {\n      do {\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,8,param_3);\n        FUN_00146e10(4,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(2,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(6,param_3);\n        if (param_1 == 1) goto LAB_00148102;\nLAB_00148000:\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,4,param_3);\n        FUN_00146e10(8,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(6,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(2,param_3);\n      } while (param_1 != 1);\nLAB_001481a0:\n      FUN_00146e10(4,param_3);\n      FUN_00146e10(2,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 != 8) {\n      return;\n    }\n    do {\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,6,param_3);\n      FUN_00146e10(2,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(4,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(8,param_3);\n      if (param_1 == 1) goto LAB_00148148;\nLAB_00147f31:\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,2,param_3);\n      FUN_00146e10(6,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(8,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(4,param_3);\n    } while (param_1 != 1);\n  }" { (if_statement "if (param_2 == 4) goto LAB_00147f31;" if (parenthesized_expression "(param_2 == 4)" ( (binary_expression "param_2 == 4" identifier == number_literal) )) (goto_statement "goto LAB_00147f31;" goto statement_identifier ;)) (if_statement "if (param_2 < 5) {\n      if (param_2 == 2) goto LAB_00148000;\n      return;\n    }" if (parenthesized_expression "(param_2 < 5)" ( (binary_expression "param_2 < 5" identifier < number_literal) )) (compound_statement "{\n      if (param_2 == 2) goto LAB_00148000;\n      return;\n    }" { (if_statement "if (param_2 == 2) goto LAB_00148000;" if (parenthesized_expression "(param_2 == 2)" ( (binary_expression "param_2 == 2" identifier == number_literal) )) (goto_statement "goto LAB_00148000;" goto statement_identifier ;)) (return_statement "return;" return ;) })) (if_statement "if (param_2 == 6) {\n      do {\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,8,param_3);\n        FUN_00146e10(4,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(2,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(6,param_3);\n        if (param_1 == 1) goto LAB_00148102;\nLAB_00148000:\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,4,param_3);\n        FUN_00146e10(8,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(6,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(2,param_3);\n      } while (param_1 != 1);\nLAB_001481a0:\n      FUN_00146e10(4,param_3);\n      FUN_00146e10(2,param_3);\n      goto LAB_00148133;\n    }" if (parenthesized_expression "(param_2 == 6)" ( (binary_expression "param_2 == 6" identifier == number_literal) )) (compound_statement "{\n      do {\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,8,param_3);\n        FUN_00146e10(4,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(2,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(6,param_3);\n        if (param_1 == 1) goto LAB_00148102;\nLAB_00148000:\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,4,param_3);\n        FUN_00146e10(8,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(6,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(2,param_3);\n      } while (param_1 != 1);\nLAB_001481a0:\n      FUN_00146e10(4,param_3);\n      FUN_00146e10(2,param_3);\n      goto LAB_00148133;\n    }" { (do_statement "do {\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,8,param_3);\n        FUN_00146e10(4,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(2,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(6,param_3);\n        if (param_1 == 1) goto LAB_00148102;\nLAB_00148000:\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,4,param_3);\n        FUN_00146e10(8,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(6,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(2,param_3);\n      } while (param_1 != 1);" do (compound_statement "{\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,8,param_3);\n        FUN_00146e10(4,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(2,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(6,param_3);\n        if (param_1 == 1) goto LAB_00148102;\nLAB_00148000:\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,4,param_3);\n        FUN_00146e10(8,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(6,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(2,param_3);\n      }" { (expression_statement "param_1 = param_1 + -1;" (assignment_expression "param_1 = param_1 + -1" identifier = (binary_expression "param_1 + -1" identifier + number_literal)) ;) (expression_statement "FUN_00147e60(param_1,8,param_3);" (call_expression "FUN_00147e60(param_1,8,param_3)" identifier (argument_list "(param_1,8,param_3)" ( identifier , number_literal , identifier ))) ;) (expression_statement "FUN_00146e10(4,param_3);" (call_expression "FUN_00146e10(4,param_3)" identifier (argument_list "(4,param_3)" ( number_literal , identifier ))) ;) (expression_statement "FUN_00147e60(param_1,6,param_3);" (call_expression "FUN_00147e60(param_1,6,param_3)" identifier (argument_list "(param_1,6,param_3)" ( identifier , number_literal , identifier ))) ;) (expression_statement "FUN_00146e10(2,param_3);" (call_expression "FUN_00146e10(2,param_3)" identifier (argument_list "(2,param_3)" ( number_literal , identifier ))) ;) (expression_statement "FUN_00147e60(param_1,6,param_3);" (call_expression "FUN_00147e60(param_1,6,param_3)" identifier (argument_list "(param_1,6,param_3)" ( identifier , number_literal , identifier ))) ;) (expression_statement "FUN_00146e10(6,param_3);" (call_expression "FUN_00146e10(6,param_3)" identifier (argument_list "(6,param_3)" ( number_literal , identifier ))) ;) (if_statement "if (param_1 == 1) goto LAB_00148102;" if (parenthesized_expression "(param_1 == 1)" ( (binary_expression "param_1 == 1" identifier == number_literal) )) (goto_statement "goto LAB_00148102;" goto statement_identifier ;)) (labeled_statement "LAB_00148000:\n        param_1 = param_1 + -1;" statement_identifier : (expression_statement "param_1 = param_1 + -1;" (assignment_expression "param_1 = param_1 + -1" identifier = (binary_expression "param_1 + -1" identifier + number_literal)) ;)) (expression_statement "FUN_00147e60(param_1,4,param_3);" (call_expression "FUN_00147e60(param_1,4,param_3)" identifier (argument_list "(param_1,4,param_3)" ( identifier , number_literal , identifier ))) ;) (expression_statement "FUN_00146e10(8,param_3);" (call_expression "FUN_00146e10(8,param_3)" identifier (argument_list "(8,param_3)" ( number_literal , identifier ))) ;) (expression_statement "FUN_00147e60(param_1,2,param_3);" (call_expression "FUN_00147e60(param_1,2,param_3)" identifier (argument_list "(param_1,2,param_3)" ( identifier , number_literal , identifier ))) ;) (expression_statement "FUN_00146e10(6,param_3);" (call_expression "FUN_00146e10(6,param_3)" identifier (argument_list "(6,param_3)" ( number_literal , identifier ))) ;) (expression_statement "FUN_00147e60(param_1,2,param_3);" (call_expression "FUN_00147e60(param_1,2,param_3)" identifier (argument_list "(param_1,2,param_3)" ( identifier , number_literal , identifier ))) ;) (expression_statement "FUN_00146e10(2,param_3);" (call_expression "FUN_00146e10(2,param_3)" identifier (argument_list "(2,param_3)" ( number_literal , identifier ))) ;) }) while (parenthesized_expression "(param_1 != 1)" ( (binary_expression "param_1 != 1" identifier != number_literal) )) ;) (labeled_statement "LAB_001481a0:\n      FUN_00146e10(4,param_3);" statement_identifier : (expression_statement "FUN_00146e10(4,param_3);" (call_expression "FUN_00146e10(4,param_3)" identifier (argument_list "(4,param_3)" ( number_literal , identifier ))) ;)) (expression_statement "FUN_00146e10(2,param_3);" (call_expression "FUN_00146e10(2,param_3)" identifier (argument_list "(2,param_3)" ( number_literal , identifier ))) ;) (goto_statement "goto LAB_00148133;" goto statement_identifier ;) })) (if_statement "if (param_2 != 8) {\n      return;\n    }" if (parenthesized_expression "(param_2 != 8)" ( (binary_expression "param_2 != 8" identifier != number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (do_statement "do {\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,6,param_3);\n      FUN_00146e10(2,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(4,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(8,param_3);\n      if (param_1 == 1) goto LAB_00148148;\nLAB_00147f31:\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,2,param_3);\n      FUN_00146e10(6,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(8,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(4,param_3);\n    } while (param_1 != 1);" do (compound_statement "{\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,6,param_3);\n      FUN_00146e10(2,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(4,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(8,param_3);\n      if (param_1 == 1) goto LAB_00148148;\nLAB_00147f31:\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,2,param_3);\n      FUN_00146e10(6,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(8,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(4,param_3);\n    }" { (expression_statement "param_1 = param_1 + -1;" (assignment_expression "param_1 = param_1 + -1" identifier = (binary_expression "param_1 + -1" identifier + number_literal)) ;) (expression_statement "FUN_00147e60(param_1,6,param_3);" (call_expression "FUN_00147e60(param_1,6,param_3)" identifier (argument_list "(param_1,6,param_3)" ( identifier , number_literal , identifier ))) ;) (expression_statement "FUN_00146e10(2,param_3);" (call_expression "FUN_00146e10(2,param_3)" identifier (argument_list "(2,param_3)" ( number_literal , identifier ))) ;) (expression_statement "FUN_00147e60(param_1,8,param_3);" (call_expression "FUN_00147e60(param_1,8,param_3)" identifier (argument_list "(param_1,8,param_3)" ( identifier , number_literal , identifier ))) ;) (expression_statement "FUN_00146e10(4,param_3);" (call_expression "FUN_00146e10(4,param_3)" identifier (argument_list "(4,param_3)" ( number_literal , identifier ))) ;) (expression_statement "FUN_00147e60(param_1,8,param_3);" (call_expression "FUN_00147e60(param_1,8,param_3)" identifier (argument_list "(param_1,8,param_3)" ( identifier , number_literal , identifier ))) ;) (expression_statement "FUN_00146e10(8,param_3);" (call_expression "FUN_00146e10(8,param_3)" identifier (argument_list "(8,param_3)" ( number_literal , identifier ))) ;) (if_statement "if (param_1 == 1) goto LAB_00148148;" if (parenthesized_expression "(param_1 == 1)" ( (binary_expression "param_1 == 1" identifier == number_literal) )) (goto_statement "goto LAB_00148148;" goto statement_identifier ;)) (labeled_statement "LAB_00147f31:\n      param_1 = param_1 + -1;" statement_identifier : (expression_statement "param_1 = param_1 + -1;" (assignment_expression "param_1 = param_1 + -1" identifier = (binary_expression "param_1 + -1" identifier + number_literal)) ;)) (expression_statement "FUN_00147e60(param_1,2,param_3);" (call_expression "FUN_00147e60(param_1,2,param_3)" identifier (argument_list "(param_1,2,param_3)" ( identifier , number_literal , identifier ))) ;) (expression_statement "FUN_00146e10(6,param_3);" (call_expression "FUN_00146e10(6,param_3)" identifier (argument_list "(6,param_3)" ( number_literal , identifier ))) ;) (expression_statement "FUN_00147e60(param_1,4,param_3);" (call_expression "FUN_00147e60(param_1,4,param_3)" identifier (argument_list "(param_1,4,param_3)" ( identifier , number_literal , identifier ))) ;) (expression_statement "FUN_00146e10(8,param_3);" (call_expression "FUN_00146e10(8,param_3)" identifier (argument_list "(8,param_3)" ( number_literal , identifier ))) ;) (expression_statement "FUN_00147e60(param_1,4,param_3);" (call_expression "FUN_00147e60(param_1,4,param_3)" identifier (argument_list "(param_1,4,param_3)" ( identifier , number_literal , identifier ))) ;) (expression_statement "FUN_00146e10(4,param_3);" (call_expression "FUN_00146e10(4,param_3)" identifier (argument_list "(4,param_3)" ( number_literal , identifier ))) ;) }) while (parenthesized_expression "(param_1 != 1)" ( (binary_expression "param_1 != 1" identifier != number_literal) )) ;) }))) (expression_statement "FUN_00146e10(2,param_3);" (call_expression "FUN_00146e10(2,param_3)" identifier (argument_list "(2,param_3)" ( number_literal , identifier ))) ;) (expression_statement "FUN_00146e10(4,param_3);" (call_expression "FUN_00146e10(4,param_3)" identifier (argument_list "(4,param_3)" ( number_literal , identifier ))) ;) (labeled_statement "LAB_00148133:\n  FUN_00146e10();" statement_identifier : (expression_statement "FUN_00146e10();" (call_expression "FUN_00146e10()" identifier (argument_list "()" ( ))) ;)) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;)) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;)) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;)) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return ;) })) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) }))) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (return_statement return ;) })))
(function_definition "void FUN_00147e60(int param_1,uint param_2,undefined4 param_3)\n\n{\n  if (param_1 == 1) {\n    if (param_2 == 4) {\nLAB_00148148:\n      FUN_00146e10(6,param_3);\n      FUN_00146e10(8,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 < 5) {\n      if (param_2 != 2) {\n        return;\n      }\nLAB_00148102:\n      FUN_00146e10(8,param_3);\n      FUN_00146e10(6,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 == 6) goto LAB_001481a0;\n    if (param_2 != 8) {\n      return;\n    }\n  }\n  else {\n    if (param_2 == 4) goto LAB_00147f31;\n    if (param_2 < 5) {\n      if (param_2 == 2) goto LAB_00148000;\n      return;\n    }\n    if (param_2 == 6) {\n      do {\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,8,param_3);\n        FUN_00146e10(4,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(2,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(6,param_3);\n        if (param_1 == 1) goto LAB_00148102;\nLAB_00148000:\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,4,param_3);\n        FUN_00146e10(8,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(6,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(2,param_3);\n      } while (param_1 != 1);\nLAB_001481a0:\n      FUN_00146e10(4,param_3);\n      FUN_00146e10(2,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 != 8) {\n      return;\n    }\n    do {\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,6,param_3);\n      FUN_00146e10(2,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(4,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(8,param_3);\n      if (param_1 == 1) goto LAB_00148148;\nLAB_00147f31:\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,2,param_3);\n      FUN_00146e10(6,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(8,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(4,param_3);\n    } while (param_1 != 1);\n  }\n  FUN_00146e10(2,param_3);\n  FUN_00146e10(4,param_3);\nLAB_00148133:\n  FUN_00146e10();\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00147e60(int param_1,uint param_2,undefined4 param_3)" (identifier "FUN_00147e60") (parameter_list "(int param_1,uint param_2,undefined4 param_3)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "uint param_2" (type_identifier "uint") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) () ")"))) (compound_statement "{\n  if (param_1 == 1) {\n    if (param_2 == 4) {\nLAB_00148148:\n      FUN_00146e10(6,param_3);\n      FUN_00146e10(8,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 < 5) {\n      if (param_2 != 2) {\n        return;\n      }\nLAB_00148102:\n      FUN_00146e10(8,param_3);\n      FUN_00146e10(6,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 == 6) goto LAB_001481a0;\n    if (param_2 != 8) {\n      return;\n    }\n  }\n  else {\n    if (param_2 == 4) goto LAB_00147f31;\n    if (param_2 < 5) {\n      if (param_2 == 2) goto LAB_00148000;\n      return;\n    }\n    if (param_2 == 6) {\n      do {\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,8,param_3);\n        FUN_00146e10(4,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(2,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(6,param_3);\n        if (param_1 == 1) goto LAB_00148102;\nLAB_00148000:\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,4,param_3);\n        FUN_00146e10(8,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(6,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(2,param_3);\n      } while (param_1 != 1);\nLAB_001481a0:\n      FUN_00146e10(4,param_3);\n      FUN_00146e10(2,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 != 8) {\n      return;\n    }\n    do {\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,6,param_3);\n      FUN_00146e10(2,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(4,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(8,param_3);\n      if (param_1 == 1) goto LAB_00148148;\nLAB_00147f31:\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,2,param_3);\n      FUN_00146e10(6,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(8,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(4,param_3);\n    } while (param_1 != 1);\n  }\n  FUN_00146e10(2,param_3);\n  FUN_00146e10(4,param_3);\nLAB_00148133:\n  FUN_00146e10();\n  return;\n}" ({ "{") (if_statement "if (param_1 == 1) {\n    if (param_2 == 4) {\nLAB_00148148:\n      FUN_00146e10(6,param_3);\n      FUN_00146e10(8,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 < 5) {\n      if (param_2 != 2) {\n        return;\n      }\nLAB_00148102:\n      FUN_00146e10(8,param_3);\n      FUN_00146e10(6,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 == 6) goto LAB_001481a0;\n    if (param_2 != 8) {\n      return;\n    }\n  }\n  else {\n    if (param_2 == 4) goto LAB_00147f31;\n    if (param_2 < 5) {\n      if (param_2 == 2) goto LAB_00148000;\n      return;\n    }\n    if (param_2 == 6) {\n      do {\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,8,param_3);\n        FUN_00146e10(4,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(2,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(6,param_3);\n        if (param_1 == 1) goto LAB_00148102;\nLAB_00148000:\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,4,param_3);\n        FUN_00146e10(8,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(6,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(2,param_3);\n      } while (param_1 != 1);\nLAB_001481a0:\n      FUN_00146e10(4,param_3);\n      FUN_00146e10(2,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 != 8) {\n      return;\n    }\n    do {\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,6,param_3);\n      FUN_00146e10(2,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(4,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(8,param_3);\n      if (param_1 == 1) goto LAB_00148148;\nLAB_00147f31:\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,2,param_3);\n      FUN_00146e10(6,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(8,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(4,param_3);\n    } while (param_1 != 1);\n  }" (if "if") (parenthesized_expression "(param_1 == 1)" (( "(") (binary_expression "param_1 == 1" (identifier "param_1") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n    if (param_2 == 4) {\nLAB_00148148:\n      FUN_00146e10(6,param_3);\n      FUN_00146e10(8,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 < 5) {\n      if (param_2 != 2) {\n        return;\n      }\nLAB_00148102:\n      FUN_00146e10(8,param_3);\n      FUN_00146e10(6,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 == 6) goto LAB_001481a0;\n    if (param_2 != 8) {\n      return;\n    }\n  }" ({ "{") (if_statement "if (param_2 == 4) {\nLAB_00148148:\n      FUN_00146e10(6,param_3);\n      FUN_00146e10(8,param_3);\n      goto LAB_00148133;\n    }" (if "if") (parenthesized_expression "(param_2 == 4)" (( "(") (binary_expression "param_2 == 4" (identifier "param_2") (== "==") (number_literal "4")) () ")")) (compound_statement "{\nLAB_00148148:\n      FUN_00146e10(6,param_3);\n      FUN_00146e10(8,param_3);\n      goto LAB_00148133;\n    }" ({ "{") (labeled_statement "LAB_00148148:\n      FUN_00146e10(6,param_3);" (statement_identifier "LAB_00148148") (: ":") (expression_statement "FUN_00146e10(6,param_3);" (call_expression "FUN_00146e10(6,param_3)" (identifier "FUN_00146e10") (argument_list "(6,param_3)" (( "(") (number_literal "6") (, ",") (identifier "param_3") () ")"))) (; ";"))) (expression_statement "FUN_00146e10(8,param_3);" (call_expression "FUN_00146e10(8,param_3)" (identifier "FUN_00146e10") (argument_list "(8,param_3)" (( "(") (number_literal "8") (, ",") (identifier "param_3") () ")"))) (; ";")) (goto_statement "goto LAB_00148133;" (goto "goto") (statement_identifier "LAB_00148133") (; ";")) (} "}"))) (if_statement "if (param_2 < 5) {\n      if (param_2 != 2) {\n        return;\n      }\nLAB_00148102:\n      FUN_00146e10(8,param_3);\n      FUN_00146e10(6,param_3);\n      goto LAB_00148133;\n    }" (if "if") (parenthesized_expression "(param_2 < 5)" (( "(") (binary_expression "param_2 < 5" (identifier "param_2") (< "<") (number_literal "5")) () ")")) (compound_statement "{\n      if (param_2 != 2) {\n        return;\n      }\nLAB_00148102:\n      FUN_00146e10(8,param_3);\n      FUN_00146e10(6,param_3);\n      goto LAB_00148133;\n    }" ({ "{") (if_statement "if (param_2 != 2) {\n        return;\n      }" (if "if") (parenthesized_expression "(param_2 != 2)" (( "(") (binary_expression "param_2 != 2" (identifier "param_2") (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\n        return;\n      }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (labeled_statement "LAB_00148102:\n      FUN_00146e10(8,param_3);" (statement_identifier "LAB_00148102") (: ":") (expression_statement "FUN_00146e10(8,param_3);" (call_expression "FUN_00146e10(8,param_3)" (identifier "FUN_00146e10") (argument_list "(8,param_3)" (( "(") (number_literal "8") (, ",") (identifier "param_3") () ")"))) (; ";"))) (expression_statement "FUN_00146e10(6,param_3);" (call_expression "FUN_00146e10(6,param_3)" (identifier "FUN_00146e10") (argument_list "(6,param_3)" (( "(") (number_literal "6") (, ",") (identifier "param_3") () ")"))) (; ";")) (goto_statement "goto LAB_00148133;" (goto "goto") (statement_identifier "LAB_00148133") (; ";")) (} "}"))) (if_statement "if (param_2 == 6) goto LAB_001481a0;" (if "if") (parenthesized_expression "(param_2 == 6)" (( "(") (binary_expression "param_2 == 6" (identifier "param_2") (== "==") (number_literal "6")) () ")")) (goto_statement "goto LAB_001481a0;" (goto "goto") (statement_identifier "LAB_001481a0") (; ";"))) (if_statement "if (param_2 != 8) {\n      return;\n    }" (if "if") (parenthesized_expression "(param_2 != 8)" (( "(") (binary_expression "param_2 != 8" (identifier "param_2") (!= "!=") (number_literal "8")) () ")")) (compound_statement "{\n      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    if (param_2 == 4) goto LAB_00147f31;\n    if (param_2 < 5) {\n      if (param_2 == 2) goto LAB_00148000;\n      return;\n    }\n    if (param_2 == 6) {\n      do {\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,8,param_3);\n        FUN_00146e10(4,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(2,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(6,param_3);\n        if (param_1 == 1) goto LAB_00148102;\nLAB_00148000:\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,4,param_3);\n        FUN_00146e10(8,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(6,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(2,param_3);\n      } while (param_1 != 1);\nLAB_001481a0:\n      FUN_00146e10(4,param_3);\n      FUN_00146e10(2,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 != 8) {\n      return;\n    }\n    do {\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,6,param_3);\n      FUN_00146e10(2,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(4,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(8,param_3);\n      if (param_1 == 1) goto LAB_00148148;\nLAB_00147f31:\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,2,param_3);\n      FUN_00146e10(6,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(8,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(4,param_3);\n    } while (param_1 != 1);\n  }" (else "else") (compound_statement "{\n    if (param_2 == 4) goto LAB_00147f31;\n    if (param_2 < 5) {\n      if (param_2 == 2) goto LAB_00148000;\n      return;\n    }\n    if (param_2 == 6) {\n      do {\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,8,param_3);\n        FUN_00146e10(4,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(2,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(6,param_3);\n        if (param_1 == 1) goto LAB_00148102;\nLAB_00148000:\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,4,param_3);\n        FUN_00146e10(8,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(6,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(2,param_3);\n      } while (param_1 != 1);\nLAB_001481a0:\n      FUN_00146e10(4,param_3);\n      FUN_00146e10(2,param_3);\n      goto LAB_00148133;\n    }\n    if (param_2 != 8) {\n      return;\n    }\n    do {\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,6,param_3);\n      FUN_00146e10(2,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(4,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(8,param_3);\n      if (param_1 == 1) goto LAB_00148148;\nLAB_00147f31:\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,2,param_3);\n      FUN_00146e10(6,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(8,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(4,param_3);\n    } while (param_1 != 1);\n  }" ({ "{") (if_statement "if (param_2 == 4) goto LAB_00147f31;" (if "if") (parenthesized_expression "(param_2 == 4)" (( "(") (binary_expression "param_2 == 4" (identifier "param_2") (== "==") (number_literal "4")) () ")")) (goto_statement "goto LAB_00147f31;" (goto "goto") (statement_identifier "LAB_00147f31") (; ";"))) (if_statement "if (param_2 < 5) {\n      if (param_2 == 2) goto LAB_00148000;\n      return;\n    }" (if "if") (parenthesized_expression "(param_2 < 5)" (( "(") (binary_expression "param_2 < 5" (identifier "param_2") (< "<") (number_literal "5")) () ")")) (compound_statement "{\n      if (param_2 == 2) goto LAB_00148000;\n      return;\n    }" ({ "{") (if_statement "if (param_2 == 2) goto LAB_00148000;" (if "if") (parenthesized_expression "(param_2 == 2)" (( "(") (binary_expression "param_2 == 2" (identifier "param_2") (== "==") (number_literal "2")) () ")")) (goto_statement "goto LAB_00148000;" (goto "goto") (statement_identifier "LAB_00148000") (; ";"))) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (param_2 == 6) {\n      do {\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,8,param_3);\n        FUN_00146e10(4,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(2,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(6,param_3);\n        if (param_1 == 1) goto LAB_00148102;\nLAB_00148000:\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,4,param_3);\n        FUN_00146e10(8,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(6,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(2,param_3);\n      } while (param_1 != 1);\nLAB_001481a0:\n      FUN_00146e10(4,param_3);\n      FUN_00146e10(2,param_3);\n      goto LAB_00148133;\n    }" (if "if") (parenthesized_expression "(param_2 == 6)" (( "(") (binary_expression "param_2 == 6" (identifier "param_2") (== "==") (number_literal "6")) () ")")) (compound_statement "{\n      do {\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,8,param_3);\n        FUN_00146e10(4,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(2,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(6,param_3);\n        if (param_1 == 1) goto LAB_00148102;\nLAB_00148000:\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,4,param_3);\n        FUN_00146e10(8,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(6,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(2,param_3);\n      } while (param_1 != 1);\nLAB_001481a0:\n      FUN_00146e10(4,param_3);\n      FUN_00146e10(2,param_3);\n      goto LAB_00148133;\n    }" ({ "{") (do_statement "do {\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,8,param_3);\n        FUN_00146e10(4,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(2,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(6,param_3);\n        if (param_1 == 1) goto LAB_00148102;\nLAB_00148000:\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,4,param_3);\n        FUN_00146e10(8,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(6,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(2,param_3);\n      } while (param_1 != 1);" (do "do") (compound_statement "{\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,8,param_3);\n        FUN_00146e10(4,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(2,param_3);\n        FUN_00147e60(param_1,6,param_3);\n        FUN_00146e10(6,param_3);\n        if (param_1 == 1) goto LAB_00148102;\nLAB_00148000:\n        param_1 = param_1 + -1;\n        FUN_00147e60(param_1,4,param_3);\n        FUN_00146e10(8,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(6,param_3);\n        FUN_00147e60(param_1,2,param_3);\n        FUN_00146e10(2,param_3);\n      }" ({ "{") (expression_statement "param_1 = param_1 + -1;" (assignment_expression "param_1 = param_1 + -1" (identifier "param_1") (= "=") (binary_expression "param_1 + -1" (identifier "param_1") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "FUN_00147e60(param_1,8,param_3);" (call_expression "FUN_00147e60(param_1,8,param_3)" (identifier "FUN_00147e60") (argument_list "(param_1,8,param_3)" (( "(") (identifier "param_1") (, ",") (number_literal "8") (, ",") (identifier "param_3") () ")"))) (; ";")) (expression_statement "FUN_00146e10(4,param_3);" (call_expression "FUN_00146e10(4,param_3)" (identifier "FUN_00146e10") (argument_list "(4,param_3)" (( "(") (number_literal "4") (, ",") (identifier "param_3") () ")"))) (; ";")) (expression_statement "FUN_00147e60(param_1,6,param_3);" (call_expression "FUN_00147e60(param_1,6,param_3)" (identifier "FUN_00147e60") (argument_list "(param_1,6,param_3)" (( "(") (identifier "param_1") (, ",") (number_literal "6") (, ",") (identifier "param_3") () ")"))) (; ";")) (expression_statement "FUN_00146e10(2,param_3);" (call_expression "FUN_00146e10(2,param_3)" (identifier "FUN_00146e10") (argument_list "(2,param_3)" (( "(") (number_literal "2") (, ",") (identifier "param_3") () ")"))) (; ";")) (expression_statement "FUN_00147e60(param_1,6,param_3);" (call_expression "FUN_00147e60(param_1,6,param_3)" (identifier "FUN_00147e60") (argument_list "(param_1,6,param_3)" (( "(") (identifier "param_1") (, ",") (number_literal "6") (, ",") (identifier "param_3") () ")"))) (; ";")) (expression_statement "FUN_00146e10(6,param_3);" (call_expression "FUN_00146e10(6,param_3)" (identifier "FUN_00146e10") (argument_list "(6,param_3)" (( "(") (number_literal "6") (, ",") (identifier "param_3") () ")"))) (; ";")) (if_statement "if (param_1 == 1) goto LAB_00148102;" (if "if") (parenthesized_expression "(param_1 == 1)" (( "(") (binary_expression "param_1 == 1" (identifier "param_1") (== "==") (number_literal "1")) () ")")) (goto_statement "goto LAB_00148102;" (goto "goto") (statement_identifier "LAB_00148102") (; ";"))) (labeled_statement "LAB_00148000:\n        param_1 = param_1 + -1;" (statement_identifier "LAB_00148000") (: ":") (expression_statement "param_1 = param_1 + -1;" (assignment_expression "param_1 = param_1 + -1" (identifier "param_1") (= "=") (binary_expression "param_1 + -1" (identifier "param_1") (+ "+") (number_literal "-1"))) (; ";"))) (expression_statement "FUN_00147e60(param_1,4,param_3);" (call_expression "FUN_00147e60(param_1,4,param_3)" (identifier "FUN_00147e60") (argument_list "(param_1,4,param_3)" (( "(") (identifier "param_1") (, ",") (number_literal "4") (, ",") (identifier "param_3") () ")"))) (; ";")) (expression_statement "FUN_00146e10(8,param_3);" (call_expression "FUN_00146e10(8,param_3)" (identifier "FUN_00146e10") (argument_list "(8,param_3)" (( "(") (number_literal "8") (, ",") (identifier "param_3") () ")"))) (; ";")) (expression_statement "FUN_00147e60(param_1,2,param_3);" (call_expression "FUN_00147e60(param_1,2,param_3)" (identifier "FUN_00147e60") (argument_list "(param_1,2,param_3)" (( "(") (identifier "param_1") (, ",") (number_literal "2") (, ",") (identifier "param_3") () ")"))) (; ";")) (expression_statement "FUN_00146e10(6,param_3);" (call_expression "FUN_00146e10(6,param_3)" (identifier "FUN_00146e10") (argument_list "(6,param_3)" (( "(") (number_literal "6") (, ",") (identifier "param_3") () ")"))) (; ";")) (expression_statement "FUN_00147e60(param_1,2,param_3);" (call_expression "FUN_00147e60(param_1,2,param_3)" (identifier "FUN_00147e60") (argument_list "(param_1,2,param_3)" (( "(") (identifier "param_1") (, ",") (number_literal "2") (, ",") (identifier "param_3") () ")"))) (; ";")) (expression_statement "FUN_00146e10(2,param_3);" (call_expression "FUN_00146e10(2,param_3)" (identifier "FUN_00146e10") (argument_list "(2,param_3)" (( "(") (number_literal "2") (, ",") (identifier "param_3") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(param_1 != 1)" (( "(") (binary_expression "param_1 != 1" (identifier "param_1") (!= "!=") (number_literal "1")) () ")")) (; ";")) (labeled_statement "LAB_001481a0:\n      FUN_00146e10(4,param_3);" (statement_identifier "LAB_001481a0") (: ":") (expression_statement "FUN_00146e10(4,param_3);" (call_expression "FUN_00146e10(4,param_3)" (identifier "FUN_00146e10") (argument_list "(4,param_3)" (( "(") (number_literal "4") (, ",") (identifier "param_3") () ")"))) (; ";"))) (expression_statement "FUN_00146e10(2,param_3);" (call_expression "FUN_00146e10(2,param_3)" (identifier "FUN_00146e10") (argument_list "(2,param_3)" (( "(") (number_literal "2") (, ",") (identifier "param_3") () ")"))) (; ";")) (goto_statement "goto LAB_00148133;" (goto "goto") (statement_identifier "LAB_00148133") (; ";")) (} "}"))) (if_statement "if (param_2 != 8) {\n      return;\n    }" (if "if") (parenthesized_expression "(param_2 != 8)" (( "(") (binary_expression "param_2 != 8" (identifier "param_2") (!= "!=") (number_literal "8")) () ")")) (compound_statement "{\n      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (do_statement "do {\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,6,param_3);\n      FUN_00146e10(2,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(4,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(8,param_3);\n      if (param_1 == 1) goto LAB_00148148;\nLAB_00147f31:\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,2,param_3);\n      FUN_00146e10(6,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(8,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(4,param_3);\n    } while (param_1 != 1);" (do "do") (compound_statement "{\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,6,param_3);\n      FUN_00146e10(2,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(4,param_3);\n      FUN_00147e60(param_1,8,param_3);\n      FUN_00146e10(8,param_3);\n      if (param_1 == 1) goto LAB_00148148;\nLAB_00147f31:\n      param_1 = param_1 + -1;\n      FUN_00147e60(param_1,2,param_3);\n      FUN_00146e10(6,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(8,param_3);\n      FUN_00147e60(param_1,4,param_3);\n      FUN_00146e10(4,param_3);\n    }" ({ "{") (expression_statement "param_1 = param_1 + -1;" (assignment_expression "param_1 = param_1 + -1" (identifier "param_1") (= "=") (binary_expression "param_1 + -1" (identifier "param_1") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "FUN_00147e60(param_1,6,param_3);" (call_expression "FUN_00147e60(param_1,6,param_3)" (identifier "FUN_00147e60") (argument_list "(param_1,6,param_3)" (( "(") (identifier "param_1") (, ",") (number_literal "6") (, ",") (identifier "param_3") () ")"))) (; ";")) (expression_statement "FUN_00146e10(2,param_3);" (call_expression "FUN_00146e10(2,param_3)" (identifier "FUN_00146e10") (argument_list "(2,param_3)" (( "(") (number_literal "2") (, ",") (identifier "param_3") () ")"))) (; ";")) (expression_statement "FUN_00147e60(param_1,8,param_3);" (call_expression "FUN_00147e60(param_1,8,param_3)" (identifier "FUN_00147e60") (argument_list "(param_1,8,param_3)" (( "(") (identifier "param_1") (, ",") (number_literal "8") (, ",") (identifier "param_3") () ")"))) (; ";")) (expression_statement "FUN_00146e10(4,param_3);" (call_expression "FUN_00146e10(4,param_3)" (identifier "FUN_00146e10") (argument_list "(4,param_3)" (( "(") (number_literal "4") (, ",") (identifier "param_3") () ")"))) (; ";")) (expression_statement "FUN_00147e60(param_1,8,param_3);" (call_expression "FUN_00147e60(param_1,8,param_3)" (identifier "FUN_00147e60") (argument_list "(param_1,8,param_3)" (( "(") (identifier "param_1") (, ",") (number_literal "8") (, ",") (identifier "param_3") () ")"))) (; ";")) (expression_statement "FUN_00146e10(8,param_3);" (call_expression "FUN_00146e10(8,param_3)" (identifier "FUN_00146e10") (argument_list "(8,param_3)" (( "(") (number_literal "8") (, ",") (identifier "param_3") () ")"))) (; ";")) (if_statement "if (param_1 == 1) goto LAB_00148148;" (if "if") (parenthesized_expression "(param_1 == 1)" (( "(") (binary_expression "param_1 == 1" (identifier "param_1") (== "==") (number_literal "1")) () ")")) (goto_statement "goto LAB_00148148;" (goto "goto") (statement_identifier "LAB_00148148") (; ";"))) (labeled_statement "LAB_00147f31:\n      param_1 = param_1 + -1;" (statement_identifier "LAB_00147f31") (: ":") (expression_statement "param_1 = param_1 + -1;" (assignment_expression "param_1 = param_1 + -1" (identifier "param_1") (= "=") (binary_expression "param_1 + -1" (identifier "param_1") (+ "+") (number_literal "-1"))) (; ";"))) (expression_statement "FUN_00147e60(param_1,2,param_3);" (call_expression "FUN_00147e60(param_1,2,param_3)" (identifier "FUN_00147e60") (argument_list "(param_1,2,param_3)" (( "(") (identifier "param_1") (, ",") (number_literal "2") (, ",") (identifier "param_3") () ")"))) (; ";")) (expression_statement "FUN_00146e10(6,param_3);" (call_expression "FUN_00146e10(6,param_3)" (identifier "FUN_00146e10") (argument_list "(6,param_3)" (( "(") (number_literal "6") (, ",") (identifier "param_3") () ")"))) (; ";")) (expression_statement "FUN_00147e60(param_1,4,param_3);" (call_expression "FUN_00147e60(param_1,4,param_3)" (identifier "FUN_00147e60") (argument_list "(param_1,4,param_3)" (( "(") (identifier "param_1") (, ",") (number_literal "4") (, ",") (identifier "param_3") () ")"))) (; ";")) (expression_statement "FUN_00146e10(8,param_3);" (call_expression "FUN_00146e10(8,param_3)" (identifier "FUN_00146e10") (argument_list "(8,param_3)" (( "(") (number_literal "8") (, ",") (identifier "param_3") () ")"))) (; ";")) (expression_statement "FUN_00147e60(param_1,4,param_3);" (call_expression "FUN_00147e60(param_1,4,param_3)" (identifier "FUN_00147e60") (argument_list "(param_1,4,param_3)" (( "(") (identifier "param_1") (, ",") (number_literal "4") (, ",") (identifier "param_3") () ")"))) (; ";")) (expression_statement "FUN_00146e10(4,param_3);" (call_expression "FUN_00146e10(4,param_3)" (identifier "FUN_00146e10") (argument_list "(4,param_3)" (( "(") (number_literal "4") (, ",") (identifier "param_3") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(param_1 != 1)" (( "(") (binary_expression "param_1 != 1" (identifier "param_1") (!= "!=") (number_literal "1")) () ")")) (; ";")) (} "}")))) (expression_statement "FUN_00146e10(2,param_3);" (call_expression "FUN_00146e10(2,param_3)" (identifier "FUN_00146e10") (argument_list "(2,param_3)" (( "(") (number_literal "2") (, ",") (identifier "param_3") () ")"))) (; ";")) (expression_statement "FUN_00146e10(4,param_3);" (call_expression "FUN_00146e10(4,param_3)" (identifier "FUN_00146e10") (argument_list "(4,param_3)" (( "(") (number_literal "4") (, ",") (identifier "param_3") () ")"))) (; ";")) (labeled_statement "LAB_00148133:\n  FUN_00146e10();" (statement_identifier "LAB_00148133") (: ":") (expression_statement "FUN_00146e10();" (call_expression "FUN_00146e10()" (identifier "FUN_00146e10") (argument_list "()" (( "(") () ")"))) (; ";"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Enum "GravityType": Some values do not have unique names */
/* WARNING: Enum "DisposeType": Some values do not have unique names */
/* WARNING: Enum "ChannelType": Some values do not have unique names */
/* WARNING: Enum "PixelChannel": Some values do not have unique names */
/* WARNING: Enum "ExceptionType": Some values do not have unique names */

void __regparm3
function_1(type_1 *image,type_2 *image_view,type_3 *cube_info,size_t var_1,
         type_4 var_2,type_5 *exception)

{
  if (var_1 == 1) {
    if (var_2 == 4) {
LAB_00148148:
      var_3(image,image_view,cube_info,6,exception);
      var_3(image,image_view,cube_info,8,exception);
      var_1 = 4;
      goto LAB_00148133;
    }
    if (var_2 < 5) {
      if (var_2 != 2) {
        return;
      }
LAB_00148102:
      var_3(image,image_view,cube_info,8,exception);
      var_3(image,image_view,cube_info,6,exception);
      var_1 = 2;
      goto LAB_00148133;
    }
    if (var_2 == 6) goto LAB_001481a0;
    if (var_2 != 8) {
      return;
    }
  }
  else {
    if (var_2 == 4) goto LAB_00147f31;
    if (var_2 < 5) {
      if (var_2 == 2) goto LAB_00148000;
      return;
    }
    if (var_2 == 6) {
      do {
        var_1 = var_1 - 1;
        function_1(image,image_view,cube_info,var_1,8,exception);
        var_3(image,image_view,cube_info,4,exception);
        function_1(image,image_view,cube_info,var_1,6,exception);
        var_3(image,image_view,cube_info,2,exception);
        function_1(image,image_view,cube_info,var_1,6,exception);
        var_3(image,image_view,cube_info,6,exception);
        if (var_1 == 1) goto LAB_00148102;
LAB_00148000:
        var_1 = var_1 - 1;
        function_1(image,image_view,cube_info,var_1,4,exception);
        var_3(image,image_view,cube_info,8,exception);
        function_1(image,image_view,cube_info,var_1,2,exception);
        var_3(image,image_view,cube_info,6,exception);
        function_1(image,image_view,cube_info,var_1,2,exception);
        var_3(image,image_view,cube_info,2,exception);
      } while (var_1 != 1);
LAB_001481a0:
      var_3(image,image_view,cube_info,4,exception);
      var_3(image,image_view,cube_info,2,exception);
      var_1 = 6;
      goto LAB_00148133;
    }
    if (var_2 != 8) {
      return;
    }
    do {
      var_1 = var_1 - 1;
      function_1(image,image_view,cube_info,var_1,6,exception);
      var_3(image,image_view,cube_info,2,exception);
      function_1(image,image_view,cube_info,var_1,8,exception);
      var_3(image,image_view,cube_info,4,exception);
      function_1(image,image_view,cube_info,var_1,8,exception);
      var_3(image,image_view,cube_info,8,exception);
      if (var_1 == 1) goto LAB_00148148;
LAB_00147f31:
      var_1 = var_1 - 1;
      function_1(image,image_view,cube_info,var_1,2,exception);
      var_3(image,image_view,cube_info,6,exception);
      function_1(image,image_view,cube_info,var_1,4,exception);
      var_3(image,image_view,cube_info,8,exception);
      function_1(image,image_view,cube_info,var_1,4,exception);
      var_3(image,image_view,cube_info,4,exception);
    } while (var_1 != 1);
  }
  var_3(image,image_view,cube_info,2,exception);
  var_3(image,image_view,cube_info,4,exception);
  var_1 = 8;
LAB_00148133:
  var_3(image,image_view,cube_info,var_1,exception);
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))) (return_statement))))

void MASKED(int param_1,uint param_2,undefined4 param_3)

{
  if (param_1 == 1) {
    if (param_2 == 4) {
LAB_00148148:
      FUN_00146e10(6,param_3);
      FUN_00146e10(8,param_3);
      goto LAB_00148133;
    }
    if (param_2 < 5) {
      if (param_2 != 2) {
        return;
      }
LAB_00148102:
      FUN_00146e10(8,param_3);
      FUN_00146e10(6,param_3);
      goto LAB_00148133;
    }
    if (param_2 == 6) goto LAB_001481a0;
    if (param_2 != 8) {
      return;
    }
  }
  else {
    if (param_2 == 4) goto LAB_00147f31;
    if (param_2 < 5) {
      if (param_2 == 2) goto LAB_00148000;
      return;
    }
    if (param_2 == 6) {
      do {
        param_1 = param_1 + -1;
        MASKED(param_1,8,param_3);
        FUN_00146e10(4,param_3);
        MASKED(param_1,6,param_3);
        FUN_00146e10(2,param_3);
        MASKED(param_1,6,param_3);
        FUN_00146e10(6,param_3);
        if (param_1 == 1) goto LAB_00148102;
LAB_00148000:
        param_1 = param_1 + -1;
        MASKED(param_1,4,param_3);
        FUN_00146e10(8,param_3);
        MASKED(param_1,2,param_3);
        FUN_00146e10(6,param_3);
        MASKED(param_1,2,param_3);
        FUN_00146e10(2,param_3);
      } while (param_1 != 1);
LAB_001481a0:
      FUN_00146e10(4,param_3);
      FUN_00146e10(2,param_3);
      goto LAB_00148133;
    }
    if (param_2 != 8) {
      return;
    }
    do {
      param_1 = param_1 + -1;
      MASKED(param_1,6,param_3);
      FUN_00146e10(2,param_3);
      MASKED(param_1,8,param_3);
      FUN_00146e10(4,param_3);
      MASKED(param_1,8,param_3);
      FUN_00146e10(8,param_3);
      if (param_1 == 1) goto LAB_00148148;
LAB_00147f31:
      param_1 = param_1 + -1;
      MASKED(param_1,2,param_3);
      FUN_00146e10(6,param_3);
      MASKED(param_1,4,param_3);
      FUN_00146e10(8,param_3);
      MASKED(param_1,4,param_3);
      FUN_00146e10(4,param_3);
    } while (param_1 != 1);
  }
  FUN_00146e10(2,param_3);
  FUN_00146e10(4,param_3);
LAB_00148133:
  FUN_00146e10();
  return;
}

