
void mode_string(ulong mode,char *str)

{
  uint uVar1;
  char cVar2;
  char cVar3;
  char cVar4;
  char cVar5;
  char cVar6;
  char cVar7;
  char cVar8;
  
  uVar1 = mode & 0xf000;
  if (uVar1 == 0x4000) {
    cVar3 = 'd';
  }
  else {
    cVar3 = 'l';
    if (((uVar1 != 0xa000) && (cVar3 = 'b', uVar1 != 0x6000)) && (cVar3 = 'c', uVar1 != 0x2000)) {
      if (uVar1 == 0xc000) {
        cVar3 = 's';
      }
      else {
        cVar3 = '-';
        if (uVar1 == 0x1000) {
          cVar3 = 'p';
        }
      }
    }
  }
  cVar2 = '-';
  cVar8 = 'r';
  *str = cVar3;
  cVar3 = '-';
  if ((mode & 0x100) != 0) {
    cVar3 = 'r';
  }
  cVar7 = 'w';
  cVar4 = '-';
  str[1] = cVar3;
  if ((mode & 0x80) != 0) {
    cVar4 = 'w';
  }
  cVar3 = '-';
  if ((mode & 0x10) != 0) {
    cVar3 = 'w';
  }
  cVar5 = '-';
  str[2] = cVar4;
  if ((mode & 0x40) != 0) {
    cVar5 = 'x';
  }
  cVar4 = '-';
  if ((mode & 8) != 0) {
    cVar4 = 'x';
  }
  if ((mode & 2) == 0) {
    cVar7 = '-';
  }
  cVar6 = '-';
  if ((mode & 0x20) != 0) {
    cVar6 = 'r';
  }
  if ((mode & 4) == 0) {
    cVar8 = '-';
  }
  str[3] = cVar5;
  str[4] = cVar6;
  if ((mode & 1) != 0) {
    cVar2 = 'x';
  }
  str[5] = cVar3;
  str[6] = cVar4;
  str[7] = cVar8;
  str[8] = cVar7;
  str[9] = cVar2;
  if ((mode & 0x800) != 0) {
    if (cVar5 == 'x') {
      str[3] = 's';
    }
    else {
      str[3] = 'S';
    }
  }
  if ((mode & 0x400) != 0) {
    if (cVar4 == 'x') {
      str[6] = 's';
    }
    else {
      str[6] = 'S';
    }
  }
  if ((mode & 0x200) != 0) {
    if (cVar2 == 'x') {
      str[9] = 't';
      return;
    }
    str[9] = 'T';
  }
  return;
}



void mode_string(uint param_1,undefined1 *param_2)

{
  uint uVar1;
  char cVar2;
  undefined1 uVar3;
  undefined1 uVar4;
  char cVar5;
  undefined1 uVar6;
  char cVar7;
  undefined1 uVar8;
  
  uVar1 = param_1 & 0xf000;
  if (uVar1 == 0x4000) {
    uVar3 = 100;
  }
  else {
    uVar3 = 0x6c;
    if (((uVar1 != 0xa000) && (uVar3 = 0x62, uVar1 != 0x6000)) && (uVar3 = 99, uVar1 != 0x2000)) {
      if (uVar1 == 0xc000) {
        uVar3 = 0x73;
      }
      else {
        uVar3 = 0x2d;
        if (uVar1 == 0x1000) {
          uVar3 = 0x70;
        }
      }
    }
  }
  cVar2 = '-';
  uVar8 = 0x72;
  *param_2 = uVar3;
  uVar3 = 0x2d;
  if ((param_1 & 0x100) != 0) {
    uVar3 = 0x72;
  }
  uVar6 = 0x77;
  uVar4 = 0x2d;
  param_2[1] = uVar3;
  if ((param_1 & 0x80) != 0) {
    uVar4 = 0x77;
  }
  uVar3 = 0x2d;
  if ((param_1 & 0x10) != 0) {
    uVar3 = 0x77;
  }
  cVar5 = '-';
  param_2[2] = uVar4;
  if ((param_1 & 0x40) != 0) {
    cVar5 = 'x';
  }
  cVar7 = '-';
  if ((param_1 & 8) != 0) {
    cVar7 = 'x';
  }
  if ((param_1 & 2) == 0) {
    uVar6 = 0x2d;
  }
  uVar4 = 0x2d;
  if ((param_1 & 0x20) != 0) {
    uVar4 = 0x72;
  }
  if ((param_1 & 4) == 0) {
    uVar8 = 0x2d;
  }
  param_2[3] = cVar5;
  param_2[4] = uVar4;
  if ((param_1 & 1) != 0) {
    cVar2 = 'x';
  }
  param_2[5] = uVar3;
  param_2[6] = cVar7;
  param_2[7] = uVar8;
  param_2[8] = uVar6;
  param_2[9] = cVar2;
  if ((param_1 & 0x800) != 0) {
    if (cVar5 == 'x') {
      param_2[3] = 0x73;
    }
    else {
      param_2[3] = 0x53;
    }
  }
  if ((param_1 & 0x400) != 0) {
    if (cVar7 == 'x') {
      param_2[6] = 0x73;
    }
    else {
      param_2[6] = 0x53;
    }
  }
  if ((param_1 & 0x200) != 0) {
    if (cVar2 == 'x') {
      param_2[9] = 0x74;
      return;
    }
    param_2[9] = 0x54;
  }
  return;
}


addiu sp,sp,-0x8
li v1,0x4000
andi v0,a0,0xf000
beq v0,v1,0x0001a334
_sw s0,0x4(sp)
ori v1,zero,0xa000
beq v0,v1,0x0001a230
_li v1,0x6c
li v1,0x6000
beq v0,v1,0x0001a230
_li v1,0x62
li v1,0x2000
beq v0,v1,0x0001a230
_li v1,0x63
ori v1,zero,0xc000
beq v0,v1,0x0001a370
_li a2,0x70
li v1,0x2d
xori v0,v0,0x1000
movz v1,a2,v0
li v0,0x2d
li t8,0x72
sb v1,0x0(a1)
andi t6,a0,0x100
or v1,v0,zero
movn v1,t8,t6
li t7,0x77
andi t5,a0,0x80
li a3,0x78
andi t0,a0,0x40
or t6,v1,zero
or v1,v0,zero
sb t6,0x1(a1)
movn v1,t7,t5
andi t4,a0,0x20
andi t3,a0,0x10
or t9,v0,zero
movn t9,t7,t3
andi a2,a0,0x8
or t5,v1,zero
or v1,v0,zero
sb t5,0x2(a1)
movn v1,a3,t0
or s0,v0,zero
andi t2,a0,0x4
andi t1,a0,0x2
movn s0,a3,a2
or t3,t9,zero
or t0,v1,zero
movz t7,v0,t1
or v1,v0,zero
movn v1,t8,t4
andi t9,a0,0x800
or a2,s0,zero
movz t8,v0,t2
or t4,v1,zero
sb t0,0x3(a1)
andi v1,a0,0x1
sb t4,0x4(a1)
movn v0,a3,v1
sb t3,0x5(a1)
sb s0,0x6(a1)
sb t8,0x7(a1)
sb t7,0x8(a1)
beq t9,zero,0x0001a2f4
_sb v0,0x9(a1)
beq t0,a3,0x0001a35c
_li v1,0x53
sb v1,0x3(a1)
andi v1,a0,0x400
beq v1,zero,0x0001a30c
_li v1,0x78
beq a2,v1,0x0001a350
_li v1,0x53
sb v1,0x6(a1)
andi a0,a0,0x200
beq a0,zero,0x0001a32c
_lw s0,0x4(sp)
li v1,0x78
beq v0,v1,0x0001a33c
_li v0,0x54
sb v0,0x9(a1)
lw s0,0x4(sp)
jr ra
_addiu sp,sp,0x8
b 0x0001a230
_li v1,0x64
li v0,0x74
lw s0,0x4(sp)
addiu sp,sp,0x8
jr ra
_sb v0,0x9(a1)
li v1,0x73
b 0x0001a30c
_sb v1,0x6(a1)
li v1,0x73
b 0x0001a2f4
_sb v1,0x3(a1)
b 0x0001a230
_li v1,0x73
(translation_unit "void mode_string(uint param_1,undefined1 *param_2)\n\n{\n  uint uVar1;\n  char cVar2;\n  undefined1 uVar3;\n  undefined1 uVar4;\n  char cVar5;\n  undefined1 uVar6;\n  char cVar7;\n  undefined1 uVar8;\n  \n  uVar1 = param_1 & 0xf000;\n  if (uVar1 == 0x4000) {\n    uVar3 = 100;\n  }\n  else {\n    uVar3 = 0x6c;\n    if (((uVar1 != 0xa000) && (uVar3 = 0x62, uVar1 != 0x6000)) && (uVar3 = 99, uVar1 != 0x2000)) {\n      if (uVar1 == 0xc000) {\n        uVar3 = 0x73;\n      }\n      else {\n        uVar3 = 0x2d;\n        if (uVar1 == 0x1000) {\n          uVar3 = 0x70;\n        }\n      }\n    }\n  }\n  cVar2 = '-';\n  uVar8 = 0x72;\n  *param_2 = uVar3;\n  uVar3 = 0x2d;\n  if ((param_1 & 0x100) != 0) {\n    uVar3 = 0x72;\n  }\n  uVar6 = 0x77;\n  uVar4 = 0x2d;\n  param_2[1] = uVar3;\n  if ((param_1 & 0x80) != 0) {\n    uVar4 = 0x77;\n  }\n  uVar3 = 0x2d;\n  if ((param_1 & 0x10) != 0) {\n    uVar3 = 0x77;\n  }\n  cVar5 = '-';\n  param_2[2] = uVar4;\n  if ((param_1 & 0x40) != 0) {\n    cVar5 = 'x';\n  }\n  cVar7 = '-';\n  if ((param_1 & 8) != 0) {\n    cVar7 = 'x';\n  }\n  if ((param_1 & 2) == 0) {\n    uVar6 = 0x2d;\n  }\n  uVar4 = 0x2d;\n  if ((param_1 & 0x20) != 0) {\n    uVar4 = 0x72;\n  }\n  if ((param_1 & 4) == 0) {\n    uVar8 = 0x2d;\n  }\n  param_2[3] = cVar5;\n  param_2[4] = uVar4;\n  if ((param_1 & 1) != 0) {\n    cVar2 = 'x';\n  }\n  param_2[5] = uVar3;\n  param_2[6] = cVar7;\n  param_2[7] = uVar8;\n  param_2[8] = uVar6;\n  param_2[9] = cVar2;\n  if ((param_1 & 0x800) != 0) {\n    if (cVar5 == 'x') {\n      param_2[3] = 0x73;\n    }\n    else {\n      param_2[3] = 0x53;\n    }\n  }\n  if ((param_1 & 0x400) != 0) {\n    if (cVar7 == 'x') {\n      param_2[6] = 0x73;\n    }\n    else {\n      param_2[6] = 0x53;\n    }\n  }\n  if ((param_1 & 0x200) != 0) {\n    if (cVar2 == 'x') {\n      param_2[9] = 0x74;\n      return;\n    }\n    param_2[9] = 0x54;\n  }\n  return;\n}\n\n" (function_definition "void mode_string(uint param_1,undefined1 *param_2)\n\n{\n  uint uVar1;\n  char cVar2;\n  undefined1 uVar3;\n  undefined1 uVar4;\n  char cVar5;\n  undefined1 uVar6;\n  char cVar7;\n  undefined1 uVar8;\n  \n  uVar1 = param_1 & 0xf000;\n  if (uVar1 == 0x4000) {\n    uVar3 = 100;\n  }\n  else {\n    uVar3 = 0x6c;\n    if (((uVar1 != 0xa000) && (uVar3 = 0x62, uVar1 != 0x6000)) && (uVar3 = 99, uVar1 != 0x2000)) {\n      if (uVar1 == 0xc000) {\n        uVar3 = 0x73;\n      }\n      else {\n        uVar3 = 0x2d;\n        if (uVar1 == 0x1000) {\n          uVar3 = 0x70;\n        }\n      }\n    }\n  }\n  cVar2 = '-';\n  uVar8 = 0x72;\n  *param_2 = uVar3;\n  uVar3 = 0x2d;\n  if ((param_1 & 0x100) != 0) {\n    uVar3 = 0x72;\n  }\n  uVar6 = 0x77;\n  uVar4 = 0x2d;\n  param_2[1] = uVar3;\n  if ((param_1 & 0x80) != 0) {\n    uVar4 = 0x77;\n  }\n  uVar3 = 0x2d;\n  if ((param_1 & 0x10) != 0) {\n    uVar3 = 0x77;\n  }\n  cVar5 = '-';\n  param_2[2] = uVar4;\n  if ((param_1 & 0x40) != 0) {\n    cVar5 = 'x';\n  }\n  cVar7 = '-';\n  if ((param_1 & 8) != 0) {\n    cVar7 = 'x';\n  }\n  if ((param_1 & 2) == 0) {\n    uVar6 = 0x2d;\n  }\n  uVar4 = 0x2d;\n  if ((param_1 & 0x20) != 0) {\n    uVar4 = 0x72;\n  }\n  if ((param_1 & 4) == 0) {\n    uVar8 = 0x2d;\n  }\n  param_2[3] = cVar5;\n  param_2[4] = uVar4;\n  if ((param_1 & 1) != 0) {\n    cVar2 = 'x';\n  }\n  param_2[5] = uVar3;\n  param_2[6] = cVar7;\n  param_2[7] = uVar8;\n  param_2[8] = uVar6;\n  param_2[9] = cVar2;\n  if ((param_1 & 0x800) != 0) {\n    if (cVar5 == 'x') {\n      param_2[3] = 0x73;\n    }\n    else {\n      param_2[3] = 0x53;\n    }\n  }\n  if ((param_1 & 0x400) != 0) {\n    if (cVar7 == 'x') {\n      param_2[6] = 0x73;\n    }\n    else {\n      param_2[6] = 0x53;\n    }\n  }\n  if ((param_1 & 0x200) != 0) {\n    if (cVar2 == 'x') {\n      param_2[9] = 0x74;\n      return;\n    }\n    param_2[9] = 0x54;\n  }\n  return;\n}" primitive_type (function_declarator "mode_string(uint param_1,undefined1 *param_2)" identifier (parameter_list "(uint param_1,undefined1 *param_2)" ( (parameter_declaration "uint param_1" type_identifier identifier) , (parameter_declaration "undefined1 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  uint uVar1;\n  char cVar2;\n  undefined1 uVar3;\n  undefined1 uVar4;\n  char cVar5;\n  undefined1 uVar6;\n  char cVar7;\n  undefined1 uVar8;\n  \n  uVar1 = param_1 & 0xf000;\n  if (uVar1 == 0x4000) {\n    uVar3 = 100;\n  }\n  else {\n    uVar3 = 0x6c;\n    if (((uVar1 != 0xa000) && (uVar3 = 0x62, uVar1 != 0x6000)) && (uVar3 = 99, uVar1 != 0x2000)) {\n      if (uVar1 == 0xc000) {\n        uVar3 = 0x73;\n      }\n      else {\n        uVar3 = 0x2d;\n        if (uVar1 == 0x1000) {\n          uVar3 = 0x70;\n        }\n      }\n    }\n  }\n  cVar2 = '-';\n  uVar8 = 0x72;\n  *param_2 = uVar3;\n  uVar3 = 0x2d;\n  if ((param_1 & 0x100) != 0) {\n    uVar3 = 0x72;\n  }\n  uVar6 = 0x77;\n  uVar4 = 0x2d;\n  param_2[1] = uVar3;\n  if ((param_1 & 0x80) != 0) {\n    uVar4 = 0x77;\n  }\n  uVar3 = 0x2d;\n  if ((param_1 & 0x10) != 0) {\n    uVar3 = 0x77;\n  }\n  cVar5 = '-';\n  param_2[2] = uVar4;\n  if ((param_1 & 0x40) != 0) {\n    cVar5 = 'x';\n  }\n  cVar7 = '-';\n  if ((param_1 & 8) != 0) {\n    cVar7 = 'x';\n  }\n  if ((param_1 & 2) == 0) {\n    uVar6 = 0x2d;\n  }\n  uVar4 = 0x2d;\n  if ((param_1 & 0x20) != 0) {\n    uVar4 = 0x72;\n  }\n  if ((param_1 & 4) == 0) {\n    uVar8 = 0x2d;\n  }\n  param_2[3] = cVar5;\n  param_2[4] = uVar4;\n  if ((param_1 & 1) != 0) {\n    cVar2 = 'x';\n  }\n  param_2[5] = uVar3;\n  param_2[6] = cVar7;\n  param_2[7] = uVar8;\n  param_2[8] = uVar6;\n  param_2[9] = cVar2;\n  if ((param_1 & 0x800) != 0) {\n    if (cVar5 == 'x') {\n      param_2[3] = 0x73;\n    }\n    else {\n      param_2[3] = 0x53;\n    }\n  }\n  if ((param_1 & 0x400) != 0) {\n    if (cVar7 == 'x') {\n      param_2[6] = 0x73;\n    }\n    else {\n      param_2[6] = 0x53;\n    }\n  }\n  if ((param_1 & 0x200) != 0) {\n    if (cVar2 == 'x') {\n      param_2[9] = 0x74;\n      return;\n    }\n    param_2[9] = 0x54;\n  }\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "undefined1 uVar3;" type_identifier identifier ;) (declaration "undefined1 uVar4;" type_identifier identifier ;) (declaration "char cVar5;" primitive_type identifier ;) (declaration "undefined1 uVar6;" type_identifier identifier ;) (declaration "char cVar7;" primitive_type identifier ;) (declaration "undefined1 uVar8;" type_identifier identifier ;) (expression_statement "uVar1 = param_1 & 0xf000;" (assignment_expression "uVar1 = param_1 & 0xf000" identifier = (binary_expression "param_1 & 0xf000" identifier & number_literal)) ;) (if_statement "if (uVar1 == 0x4000) {\n    uVar3 = 100;\n  }\n  else {\n    uVar3 = 0x6c;\n    if (((uVar1 != 0xa000) && (uVar3 = 0x62, uVar1 != 0x6000)) && (uVar3 = 99, uVar1 != 0x2000)) {\n      if (uVar1 == 0xc000) {\n        uVar3 = 0x73;\n      }\n      else {\n        uVar3 = 0x2d;\n        if (uVar1 == 0x1000) {\n          uVar3 = 0x70;\n        }\n      }\n    }\n  }" if (parenthesized_expression "(uVar1 == 0x4000)" ( (binary_expression "uVar1 == 0x4000" identifier == number_literal) )) (compound_statement "{\n    uVar3 = 100;\n  }" { (expression_statement "uVar3 = 100;" (assignment_expression "uVar3 = 100" identifier = number_literal) ;) }) (else_clause "else {\n    uVar3 = 0x6c;\n    if (((uVar1 != 0xa000) && (uVar3 = 0x62, uVar1 != 0x6000)) && (uVar3 = 99, uVar1 != 0x2000)) {\n      if (uVar1 == 0xc000) {\n        uVar3 = 0x73;\n      }\n      else {\n        uVar3 = 0x2d;\n        if (uVar1 == 0x1000) {\n          uVar3 = 0x70;\n        }\n      }\n    }\n  }" else (compound_statement "{\n    uVar3 = 0x6c;\n    if (((uVar1 != 0xa000) && (uVar3 = 0x62, uVar1 != 0x6000)) && (uVar3 = 99, uVar1 != 0x2000)) {\n      if (uVar1 == 0xc000) {\n        uVar3 = 0x73;\n      }\n      else {\n        uVar3 = 0x2d;\n        if (uVar1 == 0x1000) {\n          uVar3 = 0x70;\n        }\n      }\n    }\n  }" { (expression_statement "uVar3 = 0x6c;" (assignment_expression "uVar3 = 0x6c" identifier = number_literal) ;) (if_statement "if (((uVar1 != 0xa000) && (uVar3 = 0x62, uVar1 != 0x6000)) && (uVar3 = 99, uVar1 != 0x2000)) {\n      if (uVar1 == 0xc000) {\n        uVar3 = 0x73;\n      }\n      else {\n        uVar3 = 0x2d;\n        if (uVar1 == 0x1000) {\n          uVar3 = 0x70;\n        }\n      }\n    }" if (parenthesized_expression "(((uVar1 != 0xa000) && (uVar3 = 0x62, uVar1 != 0x6000)) && (uVar3 = 99, uVar1 != 0x2000))" ( (binary_expression "((uVar1 != 0xa000) && (uVar3 = 0x62, uVar1 != 0x6000)) && (uVar3 = 99, uVar1 != 0x2000)" (parenthesized_expression "((uVar1 != 0xa000) && (uVar3 = 0x62, uVar1 != 0x6000))" ( (binary_expression "(uVar1 != 0xa000) && (uVar3 = 0x62, uVar1 != 0x6000)" (parenthesized_expression "(uVar1 != 0xa000)" ( (binary_expression "uVar1 != 0xa000" identifier != number_literal) )) && (parenthesized_expression "(uVar3 = 0x62, uVar1 != 0x6000)" ( (comma_expression "uVar3 = 0x62, uVar1 != 0x6000" (assignment_expression "uVar3 = 0x62" identifier = number_literal) , (binary_expression "uVar1 != 0x6000" identifier != number_literal)) ))) )) && (parenthesized_expression "(uVar3 = 99, uVar1 != 0x2000)" ( (comma_expression "uVar3 = 99, uVar1 != 0x2000" (assignment_expression "uVar3 = 99" identifier = number_literal) , (binary_expression "uVar1 != 0x2000" identifier != number_literal)) ))) )) (compound_statement "{\n      if (uVar1 == 0xc000) {\n        uVar3 = 0x73;\n      }\n      else {\n        uVar3 = 0x2d;\n        if (uVar1 == 0x1000) {\n          uVar3 = 0x70;\n        }\n      }\n    }" { (if_statement "if (uVar1 == 0xc000) {\n        uVar3 = 0x73;\n      }\n      else {\n        uVar3 = 0x2d;\n        if (uVar1 == 0x1000) {\n          uVar3 = 0x70;\n        }\n      }" if (parenthesized_expression "(uVar1 == 0xc000)" ( (binary_expression "uVar1 == 0xc000" identifier == number_literal) )) (compound_statement "{\n        uVar3 = 0x73;\n      }" { (expression_statement "uVar3 = 0x73;" (assignment_expression "uVar3 = 0x73" identifier = number_literal) ;) }) (else_clause "else {\n        uVar3 = 0x2d;\n        if (uVar1 == 0x1000) {\n          uVar3 = 0x70;\n        }\n      }" else (compound_statement "{\n        uVar3 = 0x2d;\n        if (uVar1 == 0x1000) {\n          uVar3 = 0x70;\n        }\n      }" { (expression_statement "uVar3 = 0x2d;" (assignment_expression "uVar3 = 0x2d" identifier = number_literal) ;) (if_statement "if (uVar1 == 0x1000) {\n          uVar3 = 0x70;\n        }" if (parenthesized_expression "(uVar1 == 0x1000)" ( (binary_expression "uVar1 == 0x1000" identifier == number_literal) )) (compound_statement "{\n          uVar3 = 0x70;\n        }" { (expression_statement "uVar3 = 0x70;" (assignment_expression "uVar3 = 0x70" identifier = number_literal) ;) })) }))) })) }))) (expression_statement "cVar2 = '-';" (assignment_expression "cVar2 = '-'" identifier = (char_literal "'-'" ' character ')) ;) (expression_statement "uVar8 = 0x72;" (assignment_expression "uVar8 = 0x72" identifier = number_literal) ;) (expression_statement "*param_2 = uVar3;" (assignment_expression "*param_2 = uVar3" (pointer_expression "*param_2" * identifier) = identifier) ;) (expression_statement "uVar3 = 0x2d;" (assignment_expression "uVar3 = 0x2d" identifier = number_literal) ;) (if_statement "if ((param_1 & 0x100) != 0) {\n    uVar3 = 0x72;\n  }" if (parenthesized_expression "((param_1 & 0x100) != 0)" ( (binary_expression "(param_1 & 0x100) != 0" (parenthesized_expression "(param_1 & 0x100)" ( (binary_expression "param_1 & 0x100" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    uVar3 = 0x72;\n  }" { (expression_statement "uVar3 = 0x72;" (assignment_expression "uVar3 = 0x72" identifier = number_literal) ;) })) (expression_statement "uVar6 = 0x77;" (assignment_expression "uVar6 = 0x77" identifier = number_literal) ;) (expression_statement "uVar4 = 0x2d;" (assignment_expression "uVar4 = 0x2d" identifier = number_literal) ;) (expression_statement "param_2[1] = uVar3;" (assignment_expression "param_2[1] = uVar3" (subscript_expression "param_2[1]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((param_1 & 0x80) != 0) {\n    uVar4 = 0x77;\n  }" if (parenthesized_expression "((param_1 & 0x80) != 0)" ( (binary_expression "(param_1 & 0x80) != 0" (parenthesized_expression "(param_1 & 0x80)" ( (binary_expression "param_1 & 0x80" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    uVar4 = 0x77;\n  }" { (expression_statement "uVar4 = 0x77;" (assignment_expression "uVar4 = 0x77" identifier = number_literal) ;) })) (expression_statement "uVar3 = 0x2d;" (assignment_expression "uVar3 = 0x2d" identifier = number_literal) ;) (if_statement "if ((param_1 & 0x10) != 0) {\n    uVar3 = 0x77;\n  }" if (parenthesized_expression "((param_1 & 0x10) != 0)" ( (binary_expression "(param_1 & 0x10) != 0" (parenthesized_expression "(param_1 & 0x10)" ( (binary_expression "param_1 & 0x10" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    uVar3 = 0x77;\n  }" { (expression_statement "uVar3 = 0x77;" (assignment_expression "uVar3 = 0x77" identifier = number_literal) ;) })) (expression_statement "cVar5 = '-';" (assignment_expression "cVar5 = '-'" identifier = (char_literal "'-'" ' character ')) ;) (expression_statement "param_2[2] = uVar4;" (assignment_expression "param_2[2] = uVar4" (subscript_expression "param_2[2]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((param_1 & 0x40) != 0) {\n    cVar5 = 'x';\n  }" if (parenthesized_expression "((param_1 & 0x40) != 0)" ( (binary_expression "(param_1 & 0x40) != 0" (parenthesized_expression "(param_1 & 0x40)" ( (binary_expression "param_1 & 0x40" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    cVar5 = 'x';\n  }" { (expression_statement "cVar5 = 'x';" (assignment_expression "cVar5 = 'x'" identifier = (char_literal "'x'" ' character ')) ;) })) (expression_statement "cVar7 = '-';" (assignment_expression "cVar7 = '-'" identifier = (char_literal "'-'" ' character ')) ;) (if_statement "if ((param_1 & 8) != 0) {\n    cVar7 = 'x';\n  }" if (parenthesized_expression "((param_1 & 8) != 0)" ( (binary_expression "(param_1 & 8) != 0" (parenthesized_expression "(param_1 & 8)" ( (binary_expression "param_1 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    cVar7 = 'x';\n  }" { (expression_statement "cVar7 = 'x';" (assignment_expression "cVar7 = 'x'" identifier = (char_literal "'x'" ' character ')) ;) })) (if_statement "if ((param_1 & 2) == 0) {\n    uVar6 = 0x2d;\n  }" if (parenthesized_expression "((param_1 & 2) == 0)" ( (binary_expression "(param_1 & 2) == 0" (parenthesized_expression "(param_1 & 2)" ( (binary_expression "param_1 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    uVar6 = 0x2d;\n  }" { (expression_statement "uVar6 = 0x2d;" (assignment_expression "uVar6 = 0x2d" identifier = number_literal) ;) })) (expression_statement "uVar4 = 0x2d;" (assignment_expression "uVar4 = 0x2d" identifier = number_literal) ;) (if_statement "if ((param_1 & 0x20) != 0) {\n    uVar4 = 0x72;\n  }" if (parenthesized_expression "((param_1 & 0x20) != 0)" ( (binary_expression "(param_1 & 0x20) != 0" (parenthesized_expression "(param_1 & 0x20)" ( (binary_expression "param_1 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    uVar4 = 0x72;\n  }" { (expression_statement "uVar4 = 0x72;" (assignment_expression "uVar4 = 0x72" identifier = number_literal) ;) })) (if_statement "if ((param_1 & 4) == 0) {\n    uVar8 = 0x2d;\n  }" if (parenthesized_expression "((param_1 & 4) == 0)" ( (binary_expression "(param_1 & 4) == 0" (parenthesized_expression "(param_1 & 4)" ( (binary_expression "param_1 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    uVar8 = 0x2d;\n  }" { (expression_statement "uVar8 = 0x2d;" (assignment_expression "uVar8 = 0x2d" identifier = number_literal) ;) })) (expression_statement "param_2[3] = cVar5;" (assignment_expression "param_2[3] = cVar5" (subscript_expression "param_2[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[4] = uVar4;" (assignment_expression "param_2[4] = uVar4" (subscript_expression "param_2[4]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((param_1 & 1) != 0) {\n    cVar2 = 'x';\n  }" if (parenthesized_expression "((param_1 & 1) != 0)" ( (binary_expression "(param_1 & 1) != 0" (parenthesized_expression "(param_1 & 1)" ( (binary_expression "param_1 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    cVar2 = 'x';\n  }" { (expression_statement "cVar2 = 'x';" (assignment_expression "cVar2 = 'x'" identifier = (char_literal "'x'" ' character ')) ;) })) (expression_statement "param_2[5] = uVar3;" (assignment_expression "param_2[5] = uVar3" (subscript_expression "param_2[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[6] = cVar7;" (assignment_expression "param_2[6] = cVar7" (subscript_expression "param_2[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[7] = uVar8;" (assignment_expression "param_2[7] = uVar8" (subscript_expression "param_2[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[8] = uVar6;" (assignment_expression "param_2[8] = uVar6" (subscript_expression "param_2[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[9] = cVar2;" (assignment_expression "param_2[9] = cVar2" (subscript_expression "param_2[9]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((param_1 & 0x800) != 0) {\n    if (cVar5 == 'x') {\n      param_2[3] = 0x73;\n    }\n    else {\n      param_2[3] = 0x53;\n    }\n  }" if (parenthesized_expression "((param_1 & 0x800) != 0)" ( (binary_expression "(param_1 & 0x800) != 0" (parenthesized_expression "(param_1 & 0x800)" ( (binary_expression "param_1 & 0x800" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    if (cVar5 == 'x') {\n      param_2[3] = 0x73;\n    }\n    else {\n      param_2[3] = 0x53;\n    }\n  }" { (if_statement "if (cVar5 == 'x') {\n      param_2[3] = 0x73;\n    }\n    else {\n      param_2[3] = 0x53;\n    }" if (parenthesized_expression "(cVar5 == 'x')" ( (binary_expression "cVar5 == 'x'" identifier == (char_literal "'x'" ' character ')) )) (compound_statement "{\n      param_2[3] = 0x73;\n    }" { (expression_statement "param_2[3] = 0x73;" (assignment_expression "param_2[3] = 0x73" (subscript_expression "param_2[3]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n      param_2[3] = 0x53;\n    }" else (compound_statement "{\n      param_2[3] = 0x53;\n    }" { (expression_statement "param_2[3] = 0x53;" (assignment_expression "param_2[3] = 0x53" (subscript_expression "param_2[3]" identifier [ number_literal ]) = number_literal) ;) }))) })) (if_statement "if ((param_1 & 0x400) != 0) {\n    if (cVar7 == 'x') {\n      param_2[6] = 0x73;\n    }\n    else {\n      param_2[6] = 0x53;\n    }\n  }" if (parenthesized_expression "((param_1 & 0x400) != 0)" ( (binary_expression "(param_1 & 0x400) != 0" (parenthesized_expression "(param_1 & 0x400)" ( (binary_expression "param_1 & 0x400" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    if (cVar7 == 'x') {\n      param_2[6] = 0x73;\n    }\n    else {\n      param_2[6] = 0x53;\n    }\n  }" { (if_statement "if (cVar7 == 'x') {\n      param_2[6] = 0x73;\n    }\n    else {\n      param_2[6] = 0x53;\n    }" if (parenthesized_expression "(cVar7 == 'x')" ( (binary_expression "cVar7 == 'x'" identifier == (char_literal "'x'" ' character ')) )) (compound_statement "{\n      param_2[6] = 0x73;\n    }" { (expression_statement "param_2[6] = 0x73;" (assignment_expression "param_2[6] = 0x73" (subscript_expression "param_2[6]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n      param_2[6] = 0x53;\n    }" else (compound_statement "{\n      param_2[6] = 0x53;\n    }" { (expression_statement "param_2[6] = 0x53;" (assignment_expression "param_2[6] = 0x53" (subscript_expression "param_2[6]" identifier [ number_literal ]) = number_literal) ;) }))) })) (if_statement "if ((param_1 & 0x200) != 0) {\n    if (cVar2 == 'x') {\n      param_2[9] = 0x74;\n      return;\n    }\n    param_2[9] = 0x54;\n  }" if (parenthesized_expression "((param_1 & 0x200) != 0)" ( (binary_expression "(param_1 & 0x200) != 0" (parenthesized_expression "(param_1 & 0x200)" ( (binary_expression "param_1 & 0x200" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    if (cVar2 == 'x') {\n      param_2[9] = 0x74;\n      return;\n    }\n    param_2[9] = 0x54;\n  }" { (if_statement "if (cVar2 == 'x') {\n      param_2[9] = 0x74;\n      return;\n    }" if (parenthesized_expression "(cVar2 == 'x')" ( (binary_expression "cVar2 == 'x'" identifier == (char_literal "'x'" ' character ')) )) (compound_statement "{\n      param_2[9] = 0x74;\n      return;\n    }" { (expression_statement "param_2[9] = 0x74;" (assignment_expression "param_2[9] = 0x74" (subscript_expression "param_2[9]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return;" return ;) })) (expression_statement "param_2[9] = 0x54;" (assignment_expression "param_2[9] = 0x54" (subscript_expression "param_2[9]" identifier [ number_literal ]) = number_literal) ;) })) (return_statement "return;" return ;) })))
(translation_unit "void mode_string(ulong mode,char *str)\n\n{\n  uint uVar1;\n  char cVar2;\n  char cVar3;\n  char cVar4;\n  char cVar5;\n  char cVar6;\n  char cVar7;\n  char cVar8;\n  \n  uVar1 = mode & 0xf000;\n  if (uVar1 == 0x4000) {\n    cVar3 = 'd';\n  }\n  else {\n    cVar3 = 'l';\n    if (((uVar1 != 0xa000) && (cVar3 = 'b', uVar1 != 0x6000)) && (cVar3 = 'c', uVar1 != 0x2000)) {\n      if (uVar1 == 0xc000) {\n        cVar3 = 's';\n      }\n      else {\n        cVar3 = '-';\n        if (uVar1 == 0x1000) {\n          cVar3 = 'p';\n        }\n      }\n    }\n  }\n  cVar2 = '-';\n  cVar8 = 'r';\n  *str = cVar3;\n  cVar3 = '-';\n  if ((mode & 0x100) != 0) {\n    cVar3 = 'r';\n  }\n  cVar7 = 'w';\n  cVar4 = '-';\n  str[1] = cVar3;\n  if ((mode & 0x80) != 0) {\n    cVar4 = 'w';\n  }\n  cVar3 = '-';\n  if ((mode & 0x10) != 0) {\n    cVar3 = 'w';\n  }\n  cVar5 = '-';\n  str[2] = cVar4;\n  if ((mode & 0x40) != 0) {\n    cVar5 = 'x';\n  }\n  cVar4 = '-';\n  if ((mode & 8) != 0) {\n    cVar4 = 'x';\n  }\n  if ((mode & 2) == 0) {\n    cVar7 = '-';\n  }\n  cVar6 = '-';\n  if ((mode & 0x20) != 0) {\n    cVar6 = 'r';\n  }\n  if ((mode & 4) == 0) {\n    cVar8 = '-';\n  }\n  str[3] = cVar5;\n  str[4] = cVar6;\n  if ((mode & 1) != 0) {\n    cVar2 = 'x';\n  }\n  str[5] = cVar3;\n  str[6] = cVar4;\n  str[7] = cVar8;\n  str[8] = cVar7;\n  str[9] = cVar2;\n  if ((mode & 0x800) != 0) {\n    if (cVar5 == 'x') {\n      str[3] = 's';\n    }\n    else {\n      str[3] = 'S';\n    }\n  }\n  if ((mode & 0x400) != 0) {\n    if (cVar4 == 'x') {\n      str[6] = 's';\n    }\n    else {\n      str[6] = 'S';\n    }\n  }\n  if ((mode & 0x200) != 0) {\n    if (cVar2 == 'x') {\n      str[9] = 't';\n      return;\n    }\n    str[9] = 'T';\n  }\n  return;\n}\n\n" (function_definition "void mode_string(ulong mode,char *str)\n\n{\n  uint uVar1;\n  char cVar2;\n  char cVar3;\n  char cVar4;\n  char cVar5;\n  char cVar6;\n  char cVar7;\n  char cVar8;\n  \n  uVar1 = mode & 0xf000;\n  if (uVar1 == 0x4000) {\n    cVar3 = 'd';\n  }\n  else {\n    cVar3 = 'l';\n    if (((uVar1 != 0xa000) && (cVar3 = 'b', uVar1 != 0x6000)) && (cVar3 = 'c', uVar1 != 0x2000)) {\n      if (uVar1 == 0xc000) {\n        cVar3 = 's';\n      }\n      else {\n        cVar3 = '-';\n        if (uVar1 == 0x1000) {\n          cVar3 = 'p';\n        }\n      }\n    }\n  }\n  cVar2 = '-';\n  cVar8 = 'r';\n  *str = cVar3;\n  cVar3 = '-';\n  if ((mode & 0x100) != 0) {\n    cVar3 = 'r';\n  }\n  cVar7 = 'w';\n  cVar4 = '-';\n  str[1] = cVar3;\n  if ((mode & 0x80) != 0) {\n    cVar4 = 'w';\n  }\n  cVar3 = '-';\n  if ((mode & 0x10) != 0) {\n    cVar3 = 'w';\n  }\n  cVar5 = '-';\n  str[2] = cVar4;\n  if ((mode & 0x40) != 0) {\n    cVar5 = 'x';\n  }\n  cVar4 = '-';\n  if ((mode & 8) != 0) {\n    cVar4 = 'x';\n  }\n  if ((mode & 2) == 0) {\n    cVar7 = '-';\n  }\n  cVar6 = '-';\n  if ((mode & 0x20) != 0) {\n    cVar6 = 'r';\n  }\n  if ((mode & 4) == 0) {\n    cVar8 = '-';\n  }\n  str[3] = cVar5;\n  str[4] = cVar6;\n  if ((mode & 1) != 0) {\n    cVar2 = 'x';\n  }\n  str[5] = cVar3;\n  str[6] = cVar4;\n  str[7] = cVar8;\n  str[8] = cVar7;\n  str[9] = cVar2;\n  if ((mode & 0x800) != 0) {\n    if (cVar5 == 'x') {\n      str[3] = 's';\n    }\n    else {\n      str[3] = 'S';\n    }\n  }\n  if ((mode & 0x400) != 0) {\n    if (cVar4 == 'x') {\n      str[6] = 's';\n    }\n    else {\n      str[6] = 'S';\n    }\n  }\n  if ((mode & 0x200) != 0) {\n    if (cVar2 == 'x') {\n      str[9] = 't';\n      return;\n    }\n    str[9] = 'T';\n  }\n  return;\n}" primitive_type (function_declarator "mode_string(ulong mode,char *str)" identifier (parameter_list "(ulong mode,char *str)" ( (parameter_declaration "ulong mode" type_identifier identifier) , (parameter_declaration "char *str" primitive_type (pointer_declarator "*str" * identifier)) ))) (compound_statement "{\n  uint uVar1;\n  char cVar2;\n  char cVar3;\n  char cVar4;\n  char cVar5;\n  char cVar6;\n  char cVar7;\n  char cVar8;\n  \n  uVar1 = mode & 0xf000;\n  if (uVar1 == 0x4000) {\n    cVar3 = 'd';\n  }\n  else {\n    cVar3 = 'l';\n    if (((uVar1 != 0xa000) && (cVar3 = 'b', uVar1 != 0x6000)) && (cVar3 = 'c', uVar1 != 0x2000)) {\n      if (uVar1 == 0xc000) {\n        cVar3 = 's';\n      }\n      else {\n        cVar3 = '-';\n        if (uVar1 == 0x1000) {\n          cVar3 = 'p';\n        }\n      }\n    }\n  }\n  cVar2 = '-';\n  cVar8 = 'r';\n  *str = cVar3;\n  cVar3 = '-';\n  if ((mode & 0x100) != 0) {\n    cVar3 = 'r';\n  }\n  cVar7 = 'w';\n  cVar4 = '-';\n  str[1] = cVar3;\n  if ((mode & 0x80) != 0) {\n    cVar4 = 'w';\n  }\n  cVar3 = '-';\n  if ((mode & 0x10) != 0) {\n    cVar3 = 'w';\n  }\n  cVar5 = '-';\n  str[2] = cVar4;\n  if ((mode & 0x40) != 0) {\n    cVar5 = 'x';\n  }\n  cVar4 = '-';\n  if ((mode & 8) != 0) {\n    cVar4 = 'x';\n  }\n  if ((mode & 2) == 0) {\n    cVar7 = '-';\n  }\n  cVar6 = '-';\n  if ((mode & 0x20) != 0) {\n    cVar6 = 'r';\n  }\n  if ((mode & 4) == 0) {\n    cVar8 = '-';\n  }\n  str[3] = cVar5;\n  str[4] = cVar6;\n  if ((mode & 1) != 0) {\n    cVar2 = 'x';\n  }\n  str[5] = cVar3;\n  str[6] = cVar4;\n  str[7] = cVar8;\n  str[8] = cVar7;\n  str[9] = cVar2;\n  if ((mode & 0x800) != 0) {\n    if (cVar5 == 'x') {\n      str[3] = 's';\n    }\n    else {\n      str[3] = 'S';\n    }\n  }\n  if ((mode & 0x400) != 0) {\n    if (cVar4 == 'x') {\n      str[6] = 's';\n    }\n    else {\n      str[6] = 'S';\n    }\n  }\n  if ((mode & 0x200) != 0) {\n    if (cVar2 == 'x') {\n      str[9] = 't';\n      return;\n    }\n    str[9] = 'T';\n  }\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "char cVar4;" primitive_type identifier ;) (declaration "char cVar5;" primitive_type identifier ;) (declaration "char cVar6;" primitive_type identifier ;) (declaration "char cVar7;" primitive_type identifier ;) (declaration "char cVar8;" primitive_type identifier ;) (expression_statement "uVar1 = mode & 0xf000;" (assignment_expression "uVar1 = mode & 0xf000" identifier = (binary_expression "mode & 0xf000" identifier & number_literal)) ;) (if_statement "if (uVar1 == 0x4000) {\n    cVar3 = 'd';\n  }\n  else {\n    cVar3 = 'l';\n    if (((uVar1 != 0xa000) && (cVar3 = 'b', uVar1 != 0x6000)) && (cVar3 = 'c', uVar1 != 0x2000)) {\n      if (uVar1 == 0xc000) {\n        cVar3 = 's';\n      }\n      else {\n        cVar3 = '-';\n        if (uVar1 == 0x1000) {\n          cVar3 = 'p';\n        }\n      }\n    }\n  }" if (parenthesized_expression "(uVar1 == 0x4000)" ( (binary_expression "uVar1 == 0x4000" identifier == number_literal) )) (compound_statement "{\n    cVar3 = 'd';\n  }" { (expression_statement "cVar3 = 'd';" (assignment_expression "cVar3 = 'd'" identifier = (char_literal "'d'" ' character ')) ;) }) (else_clause "else {\n    cVar3 = 'l';\n    if (((uVar1 != 0xa000) && (cVar3 = 'b', uVar1 != 0x6000)) && (cVar3 = 'c', uVar1 != 0x2000)) {\n      if (uVar1 == 0xc000) {\n        cVar3 = 's';\n      }\n      else {\n        cVar3 = '-';\n        if (uVar1 == 0x1000) {\n          cVar3 = 'p';\n        }\n      }\n    }\n  }" else (compound_statement "{\n    cVar3 = 'l';\n    if (((uVar1 != 0xa000) && (cVar3 = 'b', uVar1 != 0x6000)) && (cVar3 = 'c', uVar1 != 0x2000)) {\n      if (uVar1 == 0xc000) {\n        cVar3 = 's';\n      }\n      else {\n        cVar3 = '-';\n        if (uVar1 == 0x1000) {\n          cVar3 = 'p';\n        }\n      }\n    }\n  }" { (expression_statement "cVar3 = 'l';" (assignment_expression "cVar3 = 'l'" identifier = (char_literal "'l'" ' character ')) ;) (if_statement "if (((uVar1 != 0xa000) && (cVar3 = 'b', uVar1 != 0x6000)) && (cVar3 = 'c', uVar1 != 0x2000)) {\n      if (uVar1 == 0xc000) {\n        cVar3 = 's';\n      }\n      else {\n        cVar3 = '-';\n        if (uVar1 == 0x1000) {\n          cVar3 = 'p';\n        }\n      }\n    }" if (parenthesized_expression "(((uVar1 != 0xa000) && (cVar3 = 'b', uVar1 != 0x6000)) && (cVar3 = 'c', uVar1 != 0x2000))" ( (binary_expression "((uVar1 != 0xa000) && (cVar3 = 'b', uVar1 != 0x6000)) && (cVar3 = 'c', uVar1 != 0x2000)" (parenthesized_expression "((uVar1 != 0xa000) && (cVar3 = 'b', uVar1 != 0x6000))" ( (binary_expression "(uVar1 != 0xa000) && (cVar3 = 'b', uVar1 != 0x6000)" (parenthesized_expression "(uVar1 != 0xa000)" ( (binary_expression "uVar1 != 0xa000" identifier != number_literal) )) && (parenthesized_expression "(cVar3 = 'b', uVar1 != 0x6000)" ( (comma_expression "cVar3 = 'b', uVar1 != 0x6000" (assignment_expression "cVar3 = 'b'" identifier = (char_literal "'b'" ' character ')) , (binary_expression "uVar1 != 0x6000" identifier != number_literal)) ))) )) && (parenthesized_expression "(cVar3 = 'c', uVar1 != 0x2000)" ( (comma_expression "cVar3 = 'c', uVar1 != 0x2000" (assignment_expression "cVar3 = 'c'" identifier = (char_literal "'c'" ' character ')) , (binary_expression "uVar1 != 0x2000" identifier != number_literal)) ))) )) (compound_statement "{\n      if (uVar1 == 0xc000) {\n        cVar3 = 's';\n      }\n      else {\n        cVar3 = '-';\n        if (uVar1 == 0x1000) {\n          cVar3 = 'p';\n        }\n      }\n    }" { (if_statement "if (uVar1 == 0xc000) {\n        cVar3 = 's';\n      }\n      else {\n        cVar3 = '-';\n        if (uVar1 == 0x1000) {\n          cVar3 = 'p';\n        }\n      }" if (parenthesized_expression "(uVar1 == 0xc000)" ( (binary_expression "uVar1 == 0xc000" identifier == number_literal) )) (compound_statement "{\n        cVar3 = 's';\n      }" { (expression_statement "cVar3 = 's';" (assignment_expression "cVar3 = 's'" identifier = (char_literal "'s'" ' character ')) ;) }) (else_clause "else {\n        cVar3 = '-';\n        if (uVar1 == 0x1000) {\n          cVar3 = 'p';\n        }\n      }" else (compound_statement "{\n        cVar3 = '-';\n        if (uVar1 == 0x1000) {\n          cVar3 = 'p';\n        }\n      }" { (expression_statement "cVar3 = '-';" (assignment_expression "cVar3 = '-'" identifier = (char_literal "'-'" ' character ')) ;) (if_statement "if (uVar1 == 0x1000) {\n          cVar3 = 'p';\n        }" if (parenthesized_expression "(uVar1 == 0x1000)" ( (binary_expression "uVar1 == 0x1000" identifier == number_literal) )) (compound_statement "{\n          cVar3 = 'p';\n        }" { (expression_statement "cVar3 = 'p';" (assignment_expression "cVar3 = 'p'" identifier = (char_literal "'p'" ' character ')) ;) })) }))) })) }))) (expression_statement "cVar2 = '-';" (assignment_expression "cVar2 = '-'" identifier = (char_literal "'-'" ' character ')) ;) (expression_statement "cVar8 = 'r';" (assignment_expression "cVar8 = 'r'" identifier = (char_literal "'r'" ' character ')) ;) (expression_statement "*str = cVar3;" (assignment_expression "*str = cVar3" (pointer_expression "*str" * identifier) = identifier) ;) (expression_statement "cVar3 = '-';" (assignment_expression "cVar3 = '-'" identifier = (char_literal "'-'" ' character ')) ;) (if_statement "if ((mode & 0x100) != 0) {\n    cVar3 = 'r';\n  }" if (parenthesized_expression "((mode & 0x100) != 0)" ( (binary_expression "(mode & 0x100) != 0" (parenthesized_expression "(mode & 0x100)" ( (binary_expression "mode & 0x100" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    cVar3 = 'r';\n  }" { (expression_statement "cVar3 = 'r';" (assignment_expression "cVar3 = 'r'" identifier = (char_literal "'r'" ' character ')) ;) })) (expression_statement "cVar7 = 'w';" (assignment_expression "cVar7 = 'w'" identifier = (char_literal "'w'" ' character ')) ;) (expression_statement "cVar4 = '-';" (assignment_expression "cVar4 = '-'" identifier = (char_literal "'-'" ' character ')) ;) (expression_statement "str[1] = cVar3;" (assignment_expression "str[1] = cVar3" (subscript_expression "str[1]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((mode & 0x80) != 0) {\n    cVar4 = 'w';\n  }" if (parenthesized_expression "((mode & 0x80) != 0)" ( (binary_expression "(mode & 0x80) != 0" (parenthesized_expression "(mode & 0x80)" ( (binary_expression "mode & 0x80" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    cVar4 = 'w';\n  }" { (expression_statement "cVar4 = 'w';" (assignment_expression "cVar4 = 'w'" identifier = (char_literal "'w'" ' character ')) ;) })) (expression_statement "cVar3 = '-';" (assignment_expression "cVar3 = '-'" identifier = (char_literal "'-'" ' character ')) ;) (if_statement "if ((mode & 0x10) != 0) {\n    cVar3 = 'w';\n  }" if (parenthesized_expression "((mode & 0x10) != 0)" ( (binary_expression "(mode & 0x10) != 0" (parenthesized_expression "(mode & 0x10)" ( (binary_expression "mode & 0x10" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    cVar3 = 'w';\n  }" { (expression_statement "cVar3 = 'w';" (assignment_expression "cVar3 = 'w'" identifier = (char_literal "'w'" ' character ')) ;) })) (expression_statement "cVar5 = '-';" (assignment_expression "cVar5 = '-'" identifier = (char_literal "'-'" ' character ')) ;) (expression_statement "str[2] = cVar4;" (assignment_expression "str[2] = cVar4" (subscript_expression "str[2]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((mode & 0x40) != 0) {\n    cVar5 = 'x';\n  }" if (parenthesized_expression "((mode & 0x40) != 0)" ( (binary_expression "(mode & 0x40) != 0" (parenthesized_expression "(mode & 0x40)" ( (binary_expression "mode & 0x40" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    cVar5 = 'x';\n  }" { (expression_statement "cVar5 = 'x';" (assignment_expression "cVar5 = 'x'" identifier = (char_literal "'x'" ' character ')) ;) })) (expression_statement "cVar4 = '-';" (assignment_expression "cVar4 = '-'" identifier = (char_literal "'-'" ' character ')) ;) (if_statement "if ((mode & 8) != 0) {\n    cVar4 = 'x';\n  }" if (parenthesized_expression "((mode & 8) != 0)" ( (binary_expression "(mode & 8) != 0" (parenthesized_expression "(mode & 8)" ( (binary_expression "mode & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    cVar4 = 'x';\n  }" { (expression_statement "cVar4 = 'x';" (assignment_expression "cVar4 = 'x'" identifier = (char_literal "'x'" ' character ')) ;) })) (if_statement "if ((mode & 2) == 0) {\n    cVar7 = '-';\n  }" if (parenthesized_expression "((mode & 2) == 0)" ( (binary_expression "(mode & 2) == 0" (parenthesized_expression "(mode & 2)" ( (binary_expression "mode & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    cVar7 = '-';\n  }" { (expression_statement "cVar7 = '-';" (assignment_expression "cVar7 = '-'" identifier = (char_literal "'-'" ' character ')) ;) })) (expression_statement "cVar6 = '-';" (assignment_expression "cVar6 = '-'" identifier = (char_literal "'-'" ' character ')) ;) (if_statement "if ((mode & 0x20) != 0) {\n    cVar6 = 'r';\n  }" if (parenthesized_expression "((mode & 0x20) != 0)" ( (binary_expression "(mode & 0x20) != 0" (parenthesized_expression "(mode & 0x20)" ( (binary_expression "mode & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    cVar6 = 'r';\n  }" { (expression_statement "cVar6 = 'r';" (assignment_expression "cVar6 = 'r'" identifier = (char_literal "'r'" ' character ')) ;) })) (if_statement "if ((mode & 4) == 0) {\n    cVar8 = '-';\n  }" if (parenthesized_expression "((mode & 4) == 0)" ( (binary_expression "(mode & 4) == 0" (parenthesized_expression "(mode & 4)" ( (binary_expression "mode & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    cVar8 = '-';\n  }" { (expression_statement "cVar8 = '-';" (assignment_expression "cVar8 = '-'" identifier = (char_literal "'-'" ' character ')) ;) })) (expression_statement "str[3] = cVar5;" (assignment_expression "str[3] = cVar5" (subscript_expression "str[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "str[4] = cVar6;" (assignment_expression "str[4] = cVar6" (subscript_expression "str[4]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((mode & 1) != 0) {\n    cVar2 = 'x';\n  }" if (parenthesized_expression "((mode & 1) != 0)" ( (binary_expression "(mode & 1) != 0" (parenthesized_expression "(mode & 1)" ( (binary_expression "mode & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    cVar2 = 'x';\n  }" { (expression_statement "cVar2 = 'x';" (assignment_expression "cVar2 = 'x'" identifier = (char_literal "'x'" ' character ')) ;) })) (expression_statement "str[5] = cVar3;" (assignment_expression "str[5] = cVar3" (subscript_expression "str[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "str[6] = cVar4;" (assignment_expression "str[6] = cVar4" (subscript_expression "str[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "str[7] = cVar8;" (assignment_expression "str[7] = cVar8" (subscript_expression "str[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "str[8] = cVar7;" (assignment_expression "str[8] = cVar7" (subscript_expression "str[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "str[9] = cVar2;" (assignment_expression "str[9] = cVar2" (subscript_expression "str[9]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((mode & 0x800) != 0) {\n    if (cVar5 == 'x') {\n      str[3] = 's';\n    }\n    else {\n      str[3] = 'S';\n    }\n  }" if (parenthesized_expression "((mode & 0x800) != 0)" ( (binary_expression "(mode & 0x800) != 0" (parenthesized_expression "(mode & 0x800)" ( (binary_expression "mode & 0x800" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    if (cVar5 == 'x') {\n      str[3] = 's';\n    }\n    else {\n      str[3] = 'S';\n    }\n  }" { (if_statement "if (cVar5 == 'x') {\n      str[3] = 's';\n    }\n    else {\n      str[3] = 'S';\n    }" if (parenthesized_expression "(cVar5 == 'x')" ( (binary_expression "cVar5 == 'x'" identifier == (char_literal "'x'" ' character ')) )) (compound_statement "{\n      str[3] = 's';\n    }" { (expression_statement "str[3] = 's';" (assignment_expression "str[3] = 's'" (subscript_expression "str[3]" identifier [ number_literal ]) = (char_literal "'s'" ' character ')) ;) }) (else_clause "else {\n      str[3] = 'S';\n    }" else (compound_statement "{\n      str[3] = 'S';\n    }" { (expression_statement "str[3] = 'S';" (assignment_expression "str[3] = 'S'" (subscript_expression "str[3]" identifier [ number_literal ]) = (char_literal "'S'" ' character ')) ;) }))) })) (if_statement "if ((mode & 0x400) != 0) {\n    if (cVar4 == 'x') {\n      str[6] = 's';\n    }\n    else {\n      str[6] = 'S';\n    }\n  }" if (parenthesized_expression "((mode & 0x400) != 0)" ( (binary_expression "(mode & 0x400) != 0" (parenthesized_expression "(mode & 0x400)" ( (binary_expression "mode & 0x400" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    if (cVar4 == 'x') {\n      str[6] = 's';\n    }\n    else {\n      str[6] = 'S';\n    }\n  }" { (if_statement "if (cVar4 == 'x') {\n      str[6] = 's';\n    }\n    else {\n      str[6] = 'S';\n    }" if (parenthesized_expression "(cVar4 == 'x')" ( (binary_expression "cVar4 == 'x'" identifier == (char_literal "'x'" ' character ')) )) (compound_statement "{\n      str[6] = 's';\n    }" { (expression_statement "str[6] = 's';" (assignment_expression "str[6] = 's'" (subscript_expression "str[6]" identifier [ number_literal ]) = (char_literal "'s'" ' character ')) ;) }) (else_clause "else {\n      str[6] = 'S';\n    }" else (compound_statement "{\n      str[6] = 'S';\n    }" { (expression_statement "str[6] = 'S';" (assignment_expression "str[6] = 'S'" (subscript_expression "str[6]" identifier [ number_literal ]) = (char_literal "'S'" ' character ')) ;) }))) })) (if_statement "if ((mode & 0x200) != 0) {\n    if (cVar2 == 'x') {\n      str[9] = 't';\n      return;\n    }\n    str[9] = 'T';\n  }" if (parenthesized_expression "((mode & 0x200) != 0)" ( (binary_expression "(mode & 0x200) != 0" (parenthesized_expression "(mode & 0x200)" ( (binary_expression "mode & 0x200" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    if (cVar2 == 'x') {\n      str[9] = 't';\n      return;\n    }\n    str[9] = 'T';\n  }" { (if_statement "if (cVar2 == 'x') {\n      str[9] = 't';\n      return;\n    }" if (parenthesized_expression "(cVar2 == 'x')" ( (binary_expression "cVar2 == 'x'" identifier == (char_literal "'x'" ' character ')) )) (compound_statement "{\n      str[9] = 't';\n      return;\n    }" { (expression_statement "str[9] = 't';" (assignment_expression "str[9] = 't'" (subscript_expression "str[9]" identifier [ number_literal ]) = (char_literal "'t'" ' character ')) ;) (return_statement "return;" return ;) })) (expression_statement "str[9] = 'T';" (assignment_expression "str[9] = 'T'" (subscript_expression "str[9]" identifier [ number_literal ]) = (char_literal "'T'" ' character ')) ;) })) (return_statement "return;" return ;) })))
(translation_unit "void mode_string(uint param_1,undefined1 *param_2)\n\n{\n  uint uVar1;\n  char cVar2;\n  undefined1 uVar3;\n  undefined1 uVar4;\n  char cVar5;\n  undefined1 uVar6;\n  char cVar7;\n  undefined1 uVar8;\n  \n  uVar1 = param_1 & 0xf000;\n  if (uVar1 == 0x4000) {\n    uVar3 = 100;\n  }\n  else {\n    uVar3 = 0x6c;\n    if (((uVar1 != 0xa000) && (uVar3 = 0x62, uVar1 != 0x6000)) && (uVar3 = 99, uVar1 != 0x2000)) {\n      if (uVar1 == 0xc000) {\n        uVar3 = 0x73;\n      }\n      else {\n        uVar3 = 0x2d;\n        if (uVar1 == 0x1000) {\n          uVar3 = 0x70;\n        }\n      }\n    }\n  }\n  cVar2 = '-';\n  uVar8 = 0x72;\n  *param_2 = uVar3;\n  uVar3 = 0x2d;\n  if ((param_1 & 0x100) != 0) {\n    uVar3 = 0x72;\n  }\n  uVar6 = 0x77;\n  uVar4 = 0x2d;\n  param_2[1] = uVar3;\n  if ((param_1 & 0x80) != 0) {\n    uVar4 = 0x77;\n  }\n  uVar3 = 0x2d;\n  if ((param_1 & 0x10) != 0) {\n    uVar3 = 0x77;\n  }\n  cVar5 = '-';\n  param_2[2] = uVar4;\n  if ((param_1 & 0x40) != 0) {\n    cVar5 = 'x';\n  }\n  cVar7 = '-';\n  if ((param_1 & 8) != 0) {\n    cVar7 = 'x';\n  }\n  if ((param_1 & 2) == 0) {\n    uVar6 = 0x2d;\n  }\n  uVar4 = 0x2d;\n  if ((param_1 & 0x20) != 0) {\n    uVar4 = 0x72;\n  }\n  if ((param_1 & 4) == 0) {\n    uVar8 = 0x2d;\n  }\n  param_2[3] = cVar5;\n  param_2[4] = uVar4;\n  if ((param_1 & 1) != 0) {\n    cVar2 = 'x';\n  }\n  param_2[5] = uVar3;\n  param_2[6] = cVar7;\n  param_2[7] = uVar8;\n  param_2[8] = uVar6;\n  param_2[9] = cVar2;\n  if ((param_1 & 0x800) != 0) {\n    if (cVar5 == 'x') {\n      param_2[3] = 0x73;\n    }\n    else {\n      param_2[3] = 0x53;\n    }\n  }\n  if ((param_1 & 0x400) != 0) {\n    if (cVar7 == 'x') {\n      param_2[6] = 0x73;\n    }\n    else {\n      param_2[6] = 0x53;\n    }\n  }\n  if ((param_1 & 0x200) != 0) {\n    if (cVar2 == 'x') {\n      param_2[9] = 0x74;\n      return;\n    }\n    param_2[9] = 0x54;\n  }\n  return;\n}\n\n" (function_definition "void mode_string(uint param_1,undefined1 *param_2)\n\n{\n  uint uVar1;\n  char cVar2;\n  undefined1 uVar3;\n  undefined1 uVar4;\n  char cVar5;\n  undefined1 uVar6;\n  char cVar7;\n  undefined1 uVar8;\n  \n  uVar1 = param_1 & 0xf000;\n  if (uVar1 == 0x4000) {\n    uVar3 = 100;\n  }\n  else {\n    uVar3 = 0x6c;\n    if (((uVar1 != 0xa000) && (uVar3 = 0x62, uVar1 != 0x6000)) && (uVar3 = 99, uVar1 != 0x2000)) {\n      if (uVar1 == 0xc000) {\n        uVar3 = 0x73;\n      }\n      else {\n        uVar3 = 0x2d;\n        if (uVar1 == 0x1000) {\n          uVar3 = 0x70;\n        }\n      }\n    }\n  }\n  cVar2 = '-';\n  uVar8 = 0x72;\n  *param_2 = uVar3;\n  uVar3 = 0x2d;\n  if ((param_1 & 0x100) != 0) {\n    uVar3 = 0x72;\n  }\n  uVar6 = 0x77;\n  uVar4 = 0x2d;\n  param_2[1] = uVar3;\n  if ((param_1 & 0x80) != 0) {\n    uVar4 = 0x77;\n  }\n  uVar3 = 0x2d;\n  if ((param_1 & 0x10) != 0) {\n    uVar3 = 0x77;\n  }\n  cVar5 = '-';\n  param_2[2] = uVar4;\n  if ((param_1 & 0x40) != 0) {\n    cVar5 = 'x';\n  }\n  cVar7 = '-';\n  if ((param_1 & 8) != 0) {\n    cVar7 = 'x';\n  }\n  if ((param_1 & 2) == 0) {\n    uVar6 = 0x2d;\n  }\n  uVar4 = 0x2d;\n  if ((param_1 & 0x20) != 0) {\n    uVar4 = 0x72;\n  }\n  if ((param_1 & 4) == 0) {\n    uVar8 = 0x2d;\n  }\n  param_2[3] = cVar5;\n  param_2[4] = uVar4;\n  if ((param_1 & 1) != 0) {\n    cVar2 = 'x';\n  }\n  param_2[5] = uVar3;\n  param_2[6] = cVar7;\n  param_2[7] = uVar8;\n  param_2[8] = uVar6;\n  param_2[9] = cVar2;\n  if ((param_1 & 0x800) != 0) {\n    if (cVar5 == 'x') {\n      param_2[3] = 0x73;\n    }\n    else {\n      param_2[3] = 0x53;\n    }\n  }\n  if ((param_1 & 0x400) != 0) {\n    if (cVar7 == 'x') {\n      param_2[6] = 0x73;\n    }\n    else {\n      param_2[6] = 0x53;\n    }\n  }\n  if ((param_1 & 0x200) != 0) {\n    if (cVar2 == 'x') {\n      param_2[9] = 0x74;\n      return;\n    }\n    param_2[9] = 0x54;\n  }\n  return;\n}" primitive_type (function_declarator "mode_string(uint param_1,undefined1 *param_2)" identifier (parameter_list "(uint param_1,undefined1 *param_2)" ( (parameter_declaration "uint param_1" type_identifier identifier) , (parameter_declaration "undefined1 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  uint uVar1;\n  char cVar2;\n  undefined1 uVar3;\n  undefined1 uVar4;\n  char cVar5;\n  undefined1 uVar6;\n  char cVar7;\n  undefined1 uVar8;\n  \n  uVar1 = param_1 & 0xf000;\n  if (uVar1 == 0x4000) {\n    uVar3 = 100;\n  }\n  else {\n    uVar3 = 0x6c;\n    if (((uVar1 != 0xa000) && (uVar3 = 0x62, uVar1 != 0x6000)) && (uVar3 = 99, uVar1 != 0x2000)) {\n      if (uVar1 == 0xc000) {\n        uVar3 = 0x73;\n      }\n      else {\n        uVar3 = 0x2d;\n        if (uVar1 == 0x1000) {\n          uVar3 = 0x70;\n        }\n      }\n    }\n  }\n  cVar2 = '-';\n  uVar8 = 0x72;\n  *param_2 = uVar3;\n  uVar3 = 0x2d;\n  if ((param_1 & 0x100) != 0) {\n    uVar3 = 0x72;\n  }\n  uVar6 = 0x77;\n  uVar4 = 0x2d;\n  param_2[1] = uVar3;\n  if ((param_1 & 0x80) != 0) {\n    uVar4 = 0x77;\n  }\n  uVar3 = 0x2d;\n  if ((param_1 & 0x10) != 0) {\n    uVar3 = 0x77;\n  }\n  cVar5 = '-';\n  param_2[2] = uVar4;\n  if ((param_1 & 0x40) != 0) {\n    cVar5 = 'x';\n  }\n  cVar7 = '-';\n  if ((param_1 & 8) != 0) {\n    cVar7 = 'x';\n  }\n  if ((param_1 & 2) == 0) {\n    uVar6 = 0x2d;\n  }\n  uVar4 = 0x2d;\n  if ((param_1 & 0x20) != 0) {\n    uVar4 = 0x72;\n  }\n  if ((param_1 & 4) == 0) {\n    uVar8 = 0x2d;\n  }\n  param_2[3] = cVar5;\n  param_2[4] = uVar4;\n  if ((param_1 & 1) != 0) {\n    cVar2 = 'x';\n  }\n  param_2[5] = uVar3;\n  param_2[6] = cVar7;\n  param_2[7] = uVar8;\n  param_2[8] = uVar6;\n  param_2[9] = cVar2;\n  if ((param_1 & 0x800) != 0) {\n    if (cVar5 == 'x') {\n      param_2[3] = 0x73;\n    }\n    else {\n      param_2[3] = 0x53;\n    }\n  }\n  if ((param_1 & 0x400) != 0) {\n    if (cVar7 == 'x') {\n      param_2[6] = 0x73;\n    }\n    else {\n      param_2[6] = 0x53;\n    }\n  }\n  if ((param_1 & 0x200) != 0) {\n    if (cVar2 == 'x') {\n      param_2[9] = 0x74;\n      return;\n    }\n    param_2[9] = 0x54;\n  }\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "undefined1 uVar3;" type_identifier identifier ;) (declaration "undefined1 uVar4;" type_identifier identifier ;) (declaration "char cVar5;" primitive_type identifier ;) (declaration "undefined1 uVar6;" type_identifier identifier ;) (declaration "char cVar7;" primitive_type identifier ;) (declaration "undefined1 uVar8;" type_identifier identifier ;) (expression_statement "uVar1 = param_1 & 0xf000;" (assignment_expression "uVar1 = param_1 & 0xf000" identifier = (binary_expression "param_1 & 0xf000" identifier & number_literal)) ;) (if_statement "if (uVar1 == 0x4000) {\n    uVar3 = 100;\n  }\n  else {\n    uVar3 = 0x6c;\n    if (((uVar1 != 0xa000) && (uVar3 = 0x62, uVar1 != 0x6000)) && (uVar3 = 99, uVar1 != 0x2000)) {\n      if (uVar1 == 0xc000) {\n        uVar3 = 0x73;\n      }\n      else {\n        uVar3 = 0x2d;\n        if (uVar1 == 0x1000) {\n          uVar3 = 0x70;\n        }\n      }\n    }\n  }" if (parenthesized_expression "(uVar1 == 0x4000)" ( (binary_expression "uVar1 == 0x4000" identifier == number_literal) )) (compound_statement "{\n    uVar3 = 100;\n  }" { (expression_statement "uVar3 = 100;" (assignment_expression "uVar3 = 100" identifier = number_literal) ;) }) (else_clause "else {\n    uVar3 = 0x6c;\n    if (((uVar1 != 0xa000) && (uVar3 = 0x62, uVar1 != 0x6000)) && (uVar3 = 99, uVar1 != 0x2000)) {\n      if (uVar1 == 0xc000) {\n        uVar3 = 0x73;\n      }\n      else {\n        uVar3 = 0x2d;\n        if (uVar1 == 0x1000) {\n          uVar3 = 0x70;\n        }\n      }\n    }\n  }" else (compound_statement "{\n    uVar3 = 0x6c;\n    if (((uVar1 != 0xa000) && (uVar3 = 0x62, uVar1 != 0x6000)) && (uVar3 = 99, uVar1 != 0x2000)) {\n      if (uVar1 == 0xc000) {\n        uVar3 = 0x73;\n      }\n      else {\n        uVar3 = 0x2d;\n        if (uVar1 == 0x1000) {\n          uVar3 = 0x70;\n        }\n      }\n    }\n  }" { (expression_statement "uVar3 = 0x6c;" (assignment_expression "uVar3 = 0x6c" identifier = number_literal) ;) (if_statement "if (((uVar1 != 0xa000) && (uVar3 = 0x62, uVar1 != 0x6000)) && (uVar3 = 99, uVar1 != 0x2000)) {\n      if (uVar1 == 0xc000) {\n        uVar3 = 0x73;\n      }\n      else {\n        uVar3 = 0x2d;\n        if (uVar1 == 0x1000) {\n          uVar3 = 0x70;\n        }\n      }\n    }" if (parenthesized_expression "(((uVar1 != 0xa000) && (uVar3 = 0x62, uVar1 != 0x6000)) && (uVar3 = 99, uVar1 != 0x2000))" ( (binary_expression "((uVar1 != 0xa000) && (uVar3 = 0x62, uVar1 != 0x6000)) && (uVar3 = 99, uVar1 != 0x2000)" (parenthesized_expression "((uVar1 != 0xa000) && (uVar3 = 0x62, uVar1 != 0x6000))" ( (binary_expression "(uVar1 != 0xa000) && (uVar3 = 0x62, uVar1 != 0x6000)" (parenthesized_expression "(uVar1 != 0xa000)" ( (binary_expression "uVar1 != 0xa000" identifier != number_literal) )) && (parenthesized_expression "(uVar3 = 0x62, uVar1 != 0x6000)" ( (comma_expression "uVar3 = 0x62, uVar1 != 0x6000" (assignment_expression "uVar3 = 0x62" identifier = number_literal) , (binary_expression "uVar1 != 0x6000" identifier != number_literal)) ))) )) && (parenthesized_expression "(uVar3 = 99, uVar1 != 0x2000)" ( (comma_expression "uVar3 = 99, uVar1 != 0x2000" (assignment_expression "uVar3 = 99" identifier = number_literal) , (binary_expression "uVar1 != 0x2000" identifier != number_literal)) ))) )) (compound_statement "{\n      if (uVar1 == 0xc000) {\n        uVar3 = 0x73;\n      }\n      else {\n        uVar3 = 0x2d;\n        if (uVar1 == 0x1000) {\n          uVar3 = 0x70;\n        }\n      }\n    }" { (if_statement "if (uVar1 == 0xc000) {\n        uVar3 = 0x73;\n      }\n      else {\n        uVar3 = 0x2d;\n        if (uVar1 == 0x1000) {\n          uVar3 = 0x70;\n        }\n      }" if (parenthesized_expression "(uVar1 == 0xc000)" ( (binary_expression "uVar1 == 0xc000" identifier == number_literal) )) (compound_statement "{\n        uVar3 = 0x73;\n      }" { (expression_statement "uVar3 = 0x73;" (assignment_expression "uVar3 = 0x73" identifier = number_literal) ;) }) (else_clause "else {\n        uVar3 = 0x2d;\n        if (uVar1 == 0x1000) {\n          uVar3 = 0x70;\n        }\n      }" else (compound_statement "{\n        uVar3 = 0x2d;\n        if (uVar1 == 0x1000) {\n          uVar3 = 0x70;\n        }\n      }" { (expression_statement "uVar3 = 0x2d;" (assignment_expression "uVar3 = 0x2d" identifier = number_literal) ;) (if_statement "if (uVar1 == 0x1000) {\n          uVar3 = 0x70;\n        }" if (parenthesized_expression "(uVar1 == 0x1000)" ( (binary_expression "uVar1 == 0x1000" identifier == number_literal) )) (compound_statement "{\n          uVar3 = 0x70;\n        }" { (expression_statement "uVar3 = 0x70;" (assignment_expression "uVar3 = 0x70" identifier = number_literal) ;) })) }))) })) }))) (expression_statement "cVar2 = '-';" (assignment_expression "cVar2 = '-'" identifier = (char_literal "'-'" ' character ')) ;) (expression_statement "uVar8 = 0x72;" (assignment_expression "uVar8 = 0x72" identifier = number_literal) ;) (expression_statement "*param_2 = uVar3;" (assignment_expression "*param_2 = uVar3" (pointer_expression "*param_2" * identifier) = identifier) ;) (expression_statement "uVar3 = 0x2d;" (assignment_expression "uVar3 = 0x2d" identifier = number_literal) ;) (if_statement "if ((param_1 & 0x100) != 0) {\n    uVar3 = 0x72;\n  }" if (parenthesized_expression "((param_1 & 0x100) != 0)" ( (binary_expression "(param_1 & 0x100) != 0" (parenthesized_expression "(param_1 & 0x100)" ( (binary_expression "param_1 & 0x100" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    uVar3 = 0x72;\n  }" { (expression_statement "uVar3 = 0x72;" (assignment_expression "uVar3 = 0x72" identifier = number_literal) ;) })) (expression_statement "uVar6 = 0x77;" (assignment_expression "uVar6 = 0x77" identifier = number_literal) ;) (expression_statement "uVar4 = 0x2d;" (assignment_expression "uVar4 = 0x2d" identifier = number_literal) ;) (expression_statement "param_2[1] = uVar3;" (assignment_expression "param_2[1] = uVar3" (subscript_expression "param_2[1]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((param_1 & 0x80) != 0) {\n    uVar4 = 0x77;\n  }" if (parenthesized_expression "((param_1 & 0x80) != 0)" ( (binary_expression "(param_1 & 0x80) != 0" (parenthesized_expression "(param_1 & 0x80)" ( (binary_expression "param_1 & 0x80" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    uVar4 = 0x77;\n  }" { (expression_statement "uVar4 = 0x77;" (assignment_expression "uVar4 = 0x77" identifier = number_literal) ;) })) (expression_statement "uVar3 = 0x2d;" (assignment_expression "uVar3 = 0x2d" identifier = number_literal) ;) (if_statement "if ((param_1 & 0x10) != 0) {\n    uVar3 = 0x77;\n  }" if (parenthesized_expression "((param_1 & 0x10) != 0)" ( (binary_expression "(param_1 & 0x10) != 0" (parenthesized_expression "(param_1 & 0x10)" ( (binary_expression "param_1 & 0x10" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    uVar3 = 0x77;\n  }" { (expression_statement "uVar3 = 0x77;" (assignment_expression "uVar3 = 0x77" identifier = number_literal) ;) })) (expression_statement "cVar5 = '-';" (assignment_expression "cVar5 = '-'" identifier = (char_literal "'-'" ' character ')) ;) (expression_statement "param_2[2] = uVar4;" (assignment_expression "param_2[2] = uVar4" (subscript_expression "param_2[2]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((param_1 & 0x40) != 0) {\n    cVar5 = 'x';\n  }" if (parenthesized_expression "((param_1 & 0x40) != 0)" ( (binary_expression "(param_1 & 0x40) != 0" (parenthesized_expression "(param_1 & 0x40)" ( (binary_expression "param_1 & 0x40" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    cVar5 = 'x';\n  }" { (expression_statement "cVar5 = 'x';" (assignment_expression "cVar5 = 'x'" identifier = (char_literal "'x'" ' character ')) ;) })) (expression_statement "cVar7 = '-';" (assignment_expression "cVar7 = '-'" identifier = (char_literal "'-'" ' character ')) ;) (if_statement "if ((param_1 & 8) != 0) {\n    cVar7 = 'x';\n  }" if (parenthesized_expression "((param_1 & 8) != 0)" ( (binary_expression "(param_1 & 8) != 0" (parenthesized_expression "(param_1 & 8)" ( (binary_expression "param_1 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    cVar7 = 'x';\n  }" { (expression_statement "cVar7 = 'x';" (assignment_expression "cVar7 = 'x'" identifier = (char_literal "'x'" ' character ')) ;) })) (if_statement "if ((param_1 & 2) == 0) {\n    uVar6 = 0x2d;\n  }" if (parenthesized_expression "((param_1 & 2) == 0)" ( (binary_expression "(param_1 & 2) == 0" (parenthesized_expression "(param_1 & 2)" ( (binary_expression "param_1 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    uVar6 = 0x2d;\n  }" { (expression_statement "uVar6 = 0x2d;" (assignment_expression "uVar6 = 0x2d" identifier = number_literal) ;) })) (expression_statement "uVar4 = 0x2d;" (assignment_expression "uVar4 = 0x2d" identifier = number_literal) ;) (if_statement "if ((param_1 & 0x20) != 0) {\n    uVar4 = 0x72;\n  }" if (parenthesized_expression "((param_1 & 0x20) != 0)" ( (binary_expression "(param_1 & 0x20) != 0" (parenthesized_expression "(param_1 & 0x20)" ( (binary_expression "param_1 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    uVar4 = 0x72;\n  }" { (expression_statement "uVar4 = 0x72;" (assignment_expression "uVar4 = 0x72" identifier = number_literal) ;) })) (if_statement "if ((param_1 & 4) == 0) {\n    uVar8 = 0x2d;\n  }" if (parenthesized_expression "((param_1 & 4) == 0)" ( (binary_expression "(param_1 & 4) == 0" (parenthesized_expression "(param_1 & 4)" ( (binary_expression "param_1 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    uVar8 = 0x2d;\n  }" { (expression_statement "uVar8 = 0x2d;" (assignment_expression "uVar8 = 0x2d" identifier = number_literal) ;) })) (expression_statement "param_2[3] = cVar5;" (assignment_expression "param_2[3] = cVar5" (subscript_expression "param_2[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[4] = uVar4;" (assignment_expression "param_2[4] = uVar4" (subscript_expression "param_2[4]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((param_1 & 1) != 0) {\n    cVar2 = 'x';\n  }" if (parenthesized_expression "((param_1 & 1) != 0)" ( (binary_expression "(param_1 & 1) != 0" (parenthesized_expression "(param_1 & 1)" ( (binary_expression "param_1 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    cVar2 = 'x';\n  }" { (expression_statement "cVar2 = 'x';" (assignment_expression "cVar2 = 'x'" identifier = (char_literal "'x'" ' character ')) ;) })) (expression_statement "param_2[5] = uVar3;" (assignment_expression "param_2[5] = uVar3" (subscript_expression "param_2[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[6] = cVar7;" (assignment_expression "param_2[6] = cVar7" (subscript_expression "param_2[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[7] = uVar8;" (assignment_expression "param_2[7] = uVar8" (subscript_expression "param_2[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[8] = uVar6;" (assignment_expression "param_2[8] = uVar6" (subscript_expression "param_2[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[9] = cVar2;" (assignment_expression "param_2[9] = cVar2" (subscript_expression "param_2[9]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((param_1 & 0x800) != 0) {\n    if (cVar5 == 'x') {\n      param_2[3] = 0x73;\n    }\n    else {\n      param_2[3] = 0x53;\n    }\n  }" if (parenthesized_expression "((param_1 & 0x800) != 0)" ( (binary_expression "(param_1 & 0x800) != 0" (parenthesized_expression "(param_1 & 0x800)" ( (binary_expression "param_1 & 0x800" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    if (cVar5 == 'x') {\n      param_2[3] = 0x73;\n    }\n    else {\n      param_2[3] = 0x53;\n    }\n  }" { (if_statement "if (cVar5 == 'x') {\n      param_2[3] = 0x73;\n    }\n    else {\n      param_2[3] = 0x53;\n    }" if (parenthesized_expression "(cVar5 == 'x')" ( (binary_expression "cVar5 == 'x'" identifier == (char_literal "'x'" ' character ')) )) (compound_statement "{\n      param_2[3] = 0x73;\n    }" { (expression_statement "param_2[3] = 0x73;" (assignment_expression "param_2[3] = 0x73" (subscript_expression "param_2[3]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n      param_2[3] = 0x53;\n    }" else (compound_statement "{\n      param_2[3] = 0x53;\n    }" { (expression_statement "param_2[3] = 0x53;" (assignment_expression "param_2[3] = 0x53" (subscript_expression "param_2[3]" identifier [ number_literal ]) = number_literal) ;) }))) })) (if_statement "if ((param_1 & 0x400) != 0) {\n    if (cVar7 == 'x') {\n      param_2[6] = 0x73;\n    }\n    else {\n      param_2[6] = 0x53;\n    }\n  }" if (parenthesized_expression "((param_1 & 0x400) != 0)" ( (binary_expression "(param_1 & 0x400) != 0" (parenthesized_expression "(param_1 & 0x400)" ( (binary_expression "param_1 & 0x400" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    if (cVar7 == 'x') {\n      param_2[6] = 0x73;\n    }\n    else {\n      param_2[6] = 0x53;\n    }\n  }" { (if_statement "if (cVar7 == 'x') {\n      param_2[6] = 0x73;\n    }\n    else {\n      param_2[6] = 0x53;\n    }" if (parenthesized_expression "(cVar7 == 'x')" ( (binary_expression "cVar7 == 'x'" identifier == (char_literal "'x'" ' character ')) )) (compound_statement "{\n      param_2[6] = 0x73;\n    }" { (expression_statement "param_2[6] = 0x73;" (assignment_expression "param_2[6] = 0x73" (subscript_expression "param_2[6]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n      param_2[6] = 0x53;\n    }" else (compound_statement "{\n      param_2[6] = 0x53;\n    }" { (expression_statement "param_2[6] = 0x53;" (assignment_expression "param_2[6] = 0x53" (subscript_expression "param_2[6]" identifier [ number_literal ]) = number_literal) ;) }))) })) (if_statement "if ((param_1 & 0x200) != 0) {\n    if (cVar2 == 'x') {\n      param_2[9] = 0x74;\n      return;\n    }\n    param_2[9] = 0x54;\n  }" if (parenthesized_expression "((param_1 & 0x200) != 0)" ( (binary_expression "(param_1 & 0x200) != 0" (parenthesized_expression "(param_1 & 0x200)" ( (binary_expression "param_1 & 0x200" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    if (cVar2 == 'x') {\n      param_2[9] = 0x74;\n      return;\n    }\n    param_2[9] = 0x54;\n  }" { (if_statement "if (cVar2 == 'x') {\n      param_2[9] = 0x74;\n      return;\n    }" if (parenthesized_expression "(cVar2 == 'x')" ( (binary_expression "cVar2 == 'x'" identifier == (char_literal "'x'" ' character ')) )) (compound_statement "{\n      param_2[9] = 0x74;\n      return;\n    }" { (expression_statement "param_2[9] = 0x74;" (assignment_expression "param_2[9] = 0x74" (subscript_expression "param_2[9]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return;" return ;) })) (expression_statement "param_2[9] = 0x54;" (assignment_expression "param_2[9] = 0x54" (subscript_expression "param_2[9]" identifier [ number_literal ]) = number_literal) ;) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression IDENT != LIT)) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) }))) })) }))) (expression_statement (assignment_expression IDENT = (char_literal ' character ')) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (char_literal ' character ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (char_literal ' character ')) ;) })) (expression_statement (assignment_expression IDENT = (char_literal ' character ')) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (char_literal ' character ')) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (char_literal ' character ')) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }))) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }))) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (return_statement return ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) })) (return_statement return ;) })))
(function_definition "void mode_string(uint param_1,undefined1 *param_2)\n\n{\n  uint uVar1;\n  char cVar2;\n  undefined1 uVar3;\n  undefined1 uVar4;\n  char cVar5;\n  undefined1 uVar6;\n  char cVar7;\n  undefined1 uVar8;\n  \n  uVar1 = param_1 & 0xf000;\n  if (uVar1 == 0x4000) {\n    uVar3 = 100;\n  }\n  else {\n    uVar3 = 0x6c;\n    if (((uVar1 != 0xa000) && (uVar3 = 0x62, uVar1 != 0x6000)) && (uVar3 = 99, uVar1 != 0x2000)) {\n      if (uVar1 == 0xc000) {\n        uVar3 = 0x73;\n      }\n      else {\n        uVar3 = 0x2d;\n        if (uVar1 == 0x1000) {\n          uVar3 = 0x70;\n        }\n      }\n    }\n  }\n  cVar2 = '-';\n  uVar8 = 0x72;\n  *param_2 = uVar3;\n  uVar3 = 0x2d;\n  if ((param_1 & 0x100) != 0) {\n    uVar3 = 0x72;\n  }\n  uVar6 = 0x77;\n  uVar4 = 0x2d;\n  param_2[1] = uVar3;\n  if ((param_1 & 0x80) != 0) {\n    uVar4 = 0x77;\n  }\n  uVar3 = 0x2d;\n  if ((param_1 & 0x10) != 0) {\n    uVar3 = 0x77;\n  }\n  cVar5 = '-';\n  param_2[2] = uVar4;\n  if ((param_1 & 0x40) != 0) {\n    cVar5 = 'x';\n  }\n  cVar7 = '-';\n  if ((param_1 & 8) != 0) {\n    cVar7 = 'x';\n  }\n  if ((param_1 & 2) == 0) {\n    uVar6 = 0x2d;\n  }\n  uVar4 = 0x2d;\n  if ((param_1 & 0x20) != 0) {\n    uVar4 = 0x72;\n  }\n  if ((param_1 & 4) == 0) {\n    uVar8 = 0x2d;\n  }\n  param_2[3] = cVar5;\n  param_2[4] = uVar4;\n  if ((param_1 & 1) != 0) {\n    cVar2 = 'x';\n  }\n  param_2[5] = uVar3;\n  param_2[6] = cVar7;\n  param_2[7] = uVar8;\n  param_2[8] = uVar6;\n  param_2[9] = cVar2;\n  if ((param_1 & 0x800) != 0) {\n    if (cVar5 == 'x') {\n      param_2[3] = 0x73;\n    }\n    else {\n      param_2[3] = 0x53;\n    }\n  }\n  if ((param_1 & 0x400) != 0) {\n    if (cVar7 == 'x') {\n      param_2[6] = 0x73;\n    }\n    else {\n      param_2[6] = 0x53;\n    }\n  }\n  if ((param_1 & 0x200) != 0) {\n    if (cVar2 == 'x') {\n      param_2[9] = 0x74;\n      return;\n    }\n    param_2[9] = 0x54;\n  }\n  return;\n}" (primitive_type "void") (function_declarator "mode_string(uint param_1,undefined1 *param_2)" (identifier "mode_string") (parameter_list "(uint param_1,undefined1 *param_2)" (( "(") (parameter_declaration "uint param_1" (type_identifier "uint") (identifier "param_1")) (, ",") (parameter_declaration "undefined1 *param_2" (type_identifier "undefined1") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")"))) (compound_statement "{\n  uint uVar1;\n  char cVar2;\n  undefined1 uVar3;\n  undefined1 uVar4;\n  char cVar5;\n  undefined1 uVar6;\n  char cVar7;\n  undefined1 uVar8;\n  \n  uVar1 = param_1 & 0xf000;\n  if (uVar1 == 0x4000) {\n    uVar3 = 100;\n  }\n  else {\n    uVar3 = 0x6c;\n    if (((uVar1 != 0xa000) && (uVar3 = 0x62, uVar1 != 0x6000)) && (uVar3 = 99, uVar1 != 0x2000)) {\n      if (uVar1 == 0xc000) {\n        uVar3 = 0x73;\n      }\n      else {\n        uVar3 = 0x2d;\n        if (uVar1 == 0x1000) {\n          uVar3 = 0x70;\n        }\n      }\n    }\n  }\n  cVar2 = '-';\n  uVar8 = 0x72;\n  *param_2 = uVar3;\n  uVar3 = 0x2d;\n  if ((param_1 & 0x100) != 0) {\n    uVar3 = 0x72;\n  }\n  uVar6 = 0x77;\n  uVar4 = 0x2d;\n  param_2[1] = uVar3;\n  if ((param_1 & 0x80) != 0) {\n    uVar4 = 0x77;\n  }\n  uVar3 = 0x2d;\n  if ((param_1 & 0x10) != 0) {\n    uVar3 = 0x77;\n  }\n  cVar5 = '-';\n  param_2[2] = uVar4;\n  if ((param_1 & 0x40) != 0) {\n    cVar5 = 'x';\n  }\n  cVar7 = '-';\n  if ((param_1 & 8) != 0) {\n    cVar7 = 'x';\n  }\n  if ((param_1 & 2) == 0) {\n    uVar6 = 0x2d;\n  }\n  uVar4 = 0x2d;\n  if ((param_1 & 0x20) != 0) {\n    uVar4 = 0x72;\n  }\n  if ((param_1 & 4) == 0) {\n    uVar8 = 0x2d;\n  }\n  param_2[3] = cVar5;\n  param_2[4] = uVar4;\n  if ((param_1 & 1) != 0) {\n    cVar2 = 'x';\n  }\n  param_2[5] = uVar3;\n  param_2[6] = cVar7;\n  param_2[7] = uVar8;\n  param_2[8] = uVar6;\n  param_2[9] = cVar2;\n  if ((param_1 & 0x800) != 0) {\n    if (cVar5 == 'x') {\n      param_2[3] = 0x73;\n    }\n    else {\n      param_2[3] = 0x53;\n    }\n  }\n  if ((param_1 & 0x400) != 0) {\n    if (cVar7 == 'x') {\n      param_2[6] = 0x73;\n    }\n    else {\n      param_2[6] = 0x53;\n    }\n  }\n  if ((param_1 & 0x200) != 0) {\n    if (cVar2 == 'x') {\n      param_2[9] = 0x74;\n      return;\n    }\n    param_2[9] = 0x54;\n  }\n  return;\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "char cVar2;" (primitive_type "char") (identifier "cVar2") (; ";")) (declaration "undefined1 uVar3;" (type_identifier "undefined1") (identifier "uVar3") (; ";")) (declaration "undefined1 uVar4;" (type_identifier "undefined1") (identifier "uVar4") (; ";")) (declaration "char cVar5;" (primitive_type "char") (identifier "cVar5") (; ";")) (declaration "undefined1 uVar6;" (type_identifier "undefined1") (identifier "uVar6") (; ";")) (declaration "char cVar7;" (primitive_type "char") (identifier "cVar7") (; ";")) (declaration "undefined1 uVar8;" (type_identifier "undefined1") (identifier "uVar8") (; ";")) (expression_statement "uVar1 = param_1 & 0xf000;" (assignment_expression "uVar1 = param_1 & 0xf000" (identifier "uVar1") (= "=") (binary_expression "param_1 & 0xf000" (identifier "param_1") (& "&") (number_literal "0xf000"))) (; ";")) (if_statement "if (uVar1 == 0x4000) {\n    uVar3 = 100;\n  }\n  else {\n    uVar3 = 0x6c;\n    if (((uVar1 != 0xa000) && (uVar3 = 0x62, uVar1 != 0x6000)) && (uVar3 = 99, uVar1 != 0x2000)) {\n      if (uVar1 == 0xc000) {\n        uVar3 = 0x73;\n      }\n      else {\n        uVar3 = 0x2d;\n        if (uVar1 == 0x1000) {\n          uVar3 = 0x70;\n        }\n      }\n    }\n  }" (if "if") (parenthesized_expression "(uVar1 == 0x4000)" (( "(") (binary_expression "uVar1 == 0x4000" (identifier "uVar1") (== "==") (number_literal "0x4000")) () ")")) (compound_statement "{\n    uVar3 = 100;\n  }" ({ "{") (expression_statement "uVar3 = 100;" (assignment_expression "uVar3 = 100" (identifier "uVar3") (= "=") (number_literal "100")) (; ";")) (} "}")) (else_clause "else {\n    uVar3 = 0x6c;\n    if (((uVar1 != 0xa000) && (uVar3 = 0x62, uVar1 != 0x6000)) && (uVar3 = 99, uVar1 != 0x2000)) {\n      if (uVar1 == 0xc000) {\n        uVar3 = 0x73;\n      }\n      else {\n        uVar3 = 0x2d;\n        if (uVar1 == 0x1000) {\n          uVar3 = 0x70;\n        }\n      }\n    }\n  }" (else "else") (compound_statement "{\n    uVar3 = 0x6c;\n    if (((uVar1 != 0xa000) && (uVar3 = 0x62, uVar1 != 0x6000)) && (uVar3 = 99, uVar1 != 0x2000)) {\n      if (uVar1 == 0xc000) {\n        uVar3 = 0x73;\n      }\n      else {\n        uVar3 = 0x2d;\n        if (uVar1 == 0x1000) {\n          uVar3 = 0x70;\n        }\n      }\n    }\n  }" ({ "{") (expression_statement "uVar3 = 0x6c;" (assignment_expression "uVar3 = 0x6c" (identifier "uVar3") (= "=") (number_literal "0x6c")) (; ";")) (if_statement "if (((uVar1 != 0xa000) && (uVar3 = 0x62, uVar1 != 0x6000)) && (uVar3 = 99, uVar1 != 0x2000)) {\n      if (uVar1 == 0xc000) {\n        uVar3 = 0x73;\n      }\n      else {\n        uVar3 = 0x2d;\n        if (uVar1 == 0x1000) {\n          uVar3 = 0x70;\n        }\n      }\n    }" (if "if") (parenthesized_expression "(((uVar1 != 0xa000) && (uVar3 = 0x62, uVar1 != 0x6000)) && (uVar3 = 99, uVar1 != 0x2000))" (( "(") (binary_expression "((uVar1 != 0xa000) && (uVar3 = 0x62, uVar1 != 0x6000)) && (uVar3 = 99, uVar1 != 0x2000)" (parenthesized_expression "((uVar1 != 0xa000) && (uVar3 = 0x62, uVar1 != 0x6000))" (( "(") (binary_expression "(uVar1 != 0xa000) && (uVar3 = 0x62, uVar1 != 0x6000)" (parenthesized_expression "(uVar1 != 0xa000)" (( "(") (binary_expression "uVar1 != 0xa000" (identifier "uVar1") (!= "!=") (number_literal "0xa000")) () ")")) (&& "&&") (parenthesized_expression "(uVar3 = 0x62, uVar1 != 0x6000)" (( "(") (comma_expression "uVar3 = 0x62, uVar1 != 0x6000" (assignment_expression "uVar3 = 0x62" (identifier "uVar3") (= "=") (number_literal "0x62")) (, ",") (binary_expression "uVar1 != 0x6000" (identifier "uVar1") (!= "!=") (number_literal "0x6000"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(uVar3 = 99, uVar1 != 0x2000)" (( "(") (comma_expression "uVar3 = 99, uVar1 != 0x2000" (assignment_expression "uVar3 = 99" (identifier "uVar3") (= "=") (number_literal "99")) (, ",") (binary_expression "uVar1 != 0x2000" (identifier "uVar1") (!= "!=") (number_literal "0x2000"))) () ")"))) () ")")) (compound_statement "{\n      if (uVar1 == 0xc000) {\n        uVar3 = 0x73;\n      }\n      else {\n        uVar3 = 0x2d;\n        if (uVar1 == 0x1000) {\n          uVar3 = 0x70;\n        }\n      }\n    }" ({ "{") (if_statement "if (uVar1 == 0xc000) {\n        uVar3 = 0x73;\n      }\n      else {\n        uVar3 = 0x2d;\n        if (uVar1 == 0x1000) {\n          uVar3 = 0x70;\n        }\n      }" (if "if") (parenthesized_expression "(uVar1 == 0xc000)" (( "(") (binary_expression "uVar1 == 0xc000" (identifier "uVar1") (== "==") (number_literal "0xc000")) () ")")) (compound_statement "{\n        uVar3 = 0x73;\n      }" ({ "{") (expression_statement "uVar3 = 0x73;" (assignment_expression "uVar3 = 0x73" (identifier "uVar3") (= "=") (number_literal "0x73")) (; ";")) (} "}")) (else_clause "else {\n        uVar3 = 0x2d;\n        if (uVar1 == 0x1000) {\n          uVar3 = 0x70;\n        }\n      }" (else "else") (compound_statement "{\n        uVar3 = 0x2d;\n        if (uVar1 == 0x1000) {\n          uVar3 = 0x70;\n        }\n      }" ({ "{") (expression_statement "uVar3 = 0x2d;" (assignment_expression "uVar3 = 0x2d" (identifier "uVar3") (= "=") (number_literal "0x2d")) (; ";")) (if_statement "if (uVar1 == 0x1000) {\n          uVar3 = 0x70;\n        }" (if "if") (parenthesized_expression "(uVar1 == 0x1000)" (( "(") (binary_expression "uVar1 == 0x1000" (identifier "uVar1") (== "==") (number_literal "0x1000")) () ")")) (compound_statement "{\n          uVar3 = 0x70;\n        }" ({ "{") (expression_statement "uVar3 = 0x70;" (assignment_expression "uVar3 = 0x70" (identifier "uVar3") (= "=") (number_literal "0x70")) (; ";")) (} "}"))) (} "}")))) (} "}"))) (} "}")))) (expression_statement "cVar2 = '-';" (assignment_expression "cVar2 = '-'" (identifier "cVar2") (= "=") (char_literal "'-'" (' "'") (character "-") (' "'"))) (; ";")) (expression_statement "uVar8 = 0x72;" (assignment_expression "uVar8 = 0x72" (identifier "uVar8") (= "=") (number_literal "0x72")) (; ";")) (expression_statement "*param_2 = uVar3;" (assignment_expression "*param_2 = uVar3" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "uVar3 = 0x2d;" (assignment_expression "uVar3 = 0x2d" (identifier "uVar3") (= "=") (number_literal "0x2d")) (; ";")) (if_statement "if ((param_1 & 0x100) != 0) {\n    uVar3 = 0x72;\n  }" (if "if") (parenthesized_expression "((param_1 & 0x100) != 0)" (( "(") (binary_expression "(param_1 & 0x100) != 0" (parenthesized_expression "(param_1 & 0x100)" (( "(") (binary_expression "param_1 & 0x100" (identifier "param_1") (& "&") (number_literal "0x100")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    uVar3 = 0x72;\n  }" ({ "{") (expression_statement "uVar3 = 0x72;" (assignment_expression "uVar3 = 0x72" (identifier "uVar3") (= "=") (number_literal "0x72")) (; ";")) (} "}"))) (expression_statement "uVar6 = 0x77;" (assignment_expression "uVar6 = 0x77" (identifier "uVar6") (= "=") (number_literal "0x77")) (; ";")) (expression_statement "uVar4 = 0x2d;" (assignment_expression "uVar4 = 0x2d" (identifier "uVar4") (= "=") (number_literal "0x2d")) (; ";")) (expression_statement "param_2[1] = uVar3;" (assignment_expression "param_2[1] = uVar3" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar3")) (; ";")) (if_statement "if ((param_1 & 0x80) != 0) {\n    uVar4 = 0x77;\n  }" (if "if") (parenthesized_expression "((param_1 & 0x80) != 0)" (( "(") (binary_expression "(param_1 & 0x80) != 0" (parenthesized_expression "(param_1 & 0x80)" (( "(") (binary_expression "param_1 & 0x80" (identifier "param_1") (& "&") (number_literal "0x80")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    uVar4 = 0x77;\n  }" ({ "{") (expression_statement "uVar4 = 0x77;" (assignment_expression "uVar4 = 0x77" (identifier "uVar4") (= "=") (number_literal "0x77")) (; ";")) (} "}"))) (expression_statement "uVar3 = 0x2d;" (assignment_expression "uVar3 = 0x2d" (identifier "uVar3") (= "=") (number_literal "0x2d")) (; ";")) (if_statement "if ((param_1 & 0x10) != 0) {\n    uVar3 = 0x77;\n  }" (if "if") (parenthesized_expression "((param_1 & 0x10) != 0)" (( "(") (binary_expression "(param_1 & 0x10) != 0" (parenthesized_expression "(param_1 & 0x10)" (( "(") (binary_expression "param_1 & 0x10" (identifier "param_1") (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    uVar3 = 0x77;\n  }" ({ "{") (expression_statement "uVar3 = 0x77;" (assignment_expression "uVar3 = 0x77" (identifier "uVar3") (= "=") (number_literal "0x77")) (; ";")) (} "}"))) (expression_statement "cVar5 = '-';" (assignment_expression "cVar5 = '-'" (identifier "cVar5") (= "=") (char_literal "'-'" (' "'") (character "-") (' "'"))) (; ";")) (expression_statement "param_2[2] = uVar4;" (assignment_expression "param_2[2] = uVar4" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar4")) (; ";")) (if_statement "if ((param_1 & 0x40) != 0) {\n    cVar5 = 'x';\n  }" (if "if") (parenthesized_expression "((param_1 & 0x40) != 0)" (( "(") (binary_expression "(param_1 & 0x40) != 0" (parenthesized_expression "(param_1 & 0x40)" (( "(") (binary_expression "param_1 & 0x40" (identifier "param_1") (& "&") (number_literal "0x40")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    cVar5 = 'x';\n  }" ({ "{") (expression_statement "cVar5 = 'x';" (assignment_expression "cVar5 = 'x'" (identifier "cVar5") (= "=") (char_literal "'x'" (' "'") (character "x") (' "'"))) (; ";")) (} "}"))) (expression_statement "cVar7 = '-';" (assignment_expression "cVar7 = '-'" (identifier "cVar7") (= "=") (char_literal "'-'" (' "'") (character "-") (' "'"))) (; ";")) (if_statement "if ((param_1 & 8) != 0) {\n    cVar7 = 'x';\n  }" (if "if") (parenthesized_expression "((param_1 & 8) != 0)" (( "(") (binary_expression "(param_1 & 8) != 0" (parenthesized_expression "(param_1 & 8)" (( "(") (binary_expression "param_1 & 8" (identifier "param_1") (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    cVar7 = 'x';\n  }" ({ "{") (expression_statement "cVar7 = 'x';" (assignment_expression "cVar7 = 'x'" (identifier "cVar7") (= "=") (char_literal "'x'" (' "'") (character "x") (' "'"))) (; ";")) (} "}"))) (if_statement "if ((param_1 & 2) == 0) {\n    uVar6 = 0x2d;\n  }" (if "if") (parenthesized_expression "((param_1 & 2) == 0)" (( "(") (binary_expression "(param_1 & 2) == 0" (parenthesized_expression "(param_1 & 2)" (( "(") (binary_expression "param_1 & 2" (identifier "param_1") (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar6 = 0x2d;\n  }" ({ "{") (expression_statement "uVar6 = 0x2d;" (assignment_expression "uVar6 = 0x2d" (identifier "uVar6") (= "=") (number_literal "0x2d")) (; ";")) (} "}"))) (expression_statement "uVar4 = 0x2d;" (assignment_expression "uVar4 = 0x2d" (identifier "uVar4") (= "=") (number_literal "0x2d")) (; ";")) (if_statement "if ((param_1 & 0x20) != 0) {\n    uVar4 = 0x72;\n  }" (if "if") (parenthesized_expression "((param_1 & 0x20) != 0)" (( "(") (binary_expression "(param_1 & 0x20) != 0" (parenthesized_expression "(param_1 & 0x20)" (( "(") (binary_expression "param_1 & 0x20" (identifier "param_1") (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    uVar4 = 0x72;\n  }" ({ "{") (expression_statement "uVar4 = 0x72;" (assignment_expression "uVar4 = 0x72" (identifier "uVar4") (= "=") (number_literal "0x72")) (; ";")) (} "}"))) (if_statement "if ((param_1 & 4) == 0) {\n    uVar8 = 0x2d;\n  }" (if "if") (parenthesized_expression "((param_1 & 4) == 0)" (( "(") (binary_expression "(param_1 & 4) == 0" (parenthesized_expression "(param_1 & 4)" (( "(") (binary_expression "param_1 & 4" (identifier "param_1") (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar8 = 0x2d;\n  }" ({ "{") (expression_statement "uVar8 = 0x2d;" (assignment_expression "uVar8 = 0x2d" (identifier "uVar8") (= "=") (number_literal "0x2d")) (; ";")) (} "}"))) (expression_statement "param_2[3] = cVar5;" (assignment_expression "param_2[3] = cVar5" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "cVar5")) (; ";")) (expression_statement "param_2[4] = uVar4;" (assignment_expression "param_2[4] = uVar4" (subscript_expression "param_2[4]" (identifier "param_2") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "uVar4")) (; ";")) (if_statement "if ((param_1 & 1) != 0) {\n    cVar2 = 'x';\n  }" (if "if") (parenthesized_expression "((param_1 & 1) != 0)" (( "(") (binary_expression "(param_1 & 1) != 0" (parenthesized_expression "(param_1 & 1)" (( "(") (binary_expression "param_1 & 1" (identifier "param_1") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    cVar2 = 'x';\n  }" ({ "{") (expression_statement "cVar2 = 'x';" (assignment_expression "cVar2 = 'x'" (identifier "cVar2") (= "=") (char_literal "'x'" (' "'") (character "x") (' "'"))) (; ";")) (} "}"))) (expression_statement "param_2[5] = uVar3;" (assignment_expression "param_2[5] = uVar3" (subscript_expression "param_2[5]" (identifier "param_2") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "param_2[6] = cVar7;" (assignment_expression "param_2[6] = cVar7" (subscript_expression "param_2[6]" (identifier "param_2") ([ "[") (number_literal "6") (] "]")) (= "=") (identifier "cVar7")) (; ";")) (expression_statement "param_2[7] = uVar8;" (assignment_expression "param_2[7] = uVar8" (subscript_expression "param_2[7]" (identifier "param_2") ([ "[") (number_literal "7") (] "]")) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "param_2[8] = uVar6;" (assignment_expression "param_2[8] = uVar6" (subscript_expression "param_2[8]" (identifier "param_2") ([ "[") (number_literal "8") (] "]")) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "param_2[9] = cVar2;" (assignment_expression "param_2[9] = cVar2" (subscript_expression "param_2[9]" (identifier "param_2") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "cVar2")) (; ";")) (if_statement "if ((param_1 & 0x800) != 0) {\n    if (cVar5 == 'x') {\n      param_2[3] = 0x73;\n    }\n    else {\n      param_2[3] = 0x53;\n    }\n  }" (if "if") (parenthesized_expression "((param_1 & 0x800) != 0)" (( "(") (binary_expression "(param_1 & 0x800) != 0" (parenthesized_expression "(param_1 & 0x800)" (( "(") (binary_expression "param_1 & 0x800" (identifier "param_1") (& "&") (number_literal "0x800")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if (cVar5 == 'x') {\n      param_2[3] = 0x73;\n    }\n    else {\n      param_2[3] = 0x53;\n    }\n  }" ({ "{") (if_statement "if (cVar5 == 'x') {\n      param_2[3] = 0x73;\n    }\n    else {\n      param_2[3] = 0x53;\n    }" (if "if") (parenthesized_expression "(cVar5 == 'x')" (( "(") (binary_expression "cVar5 == 'x'" (identifier "cVar5") (== "==") (char_literal "'x'" (' "'") (character "x") (' "'"))) () ")")) (compound_statement "{\n      param_2[3] = 0x73;\n    }" ({ "{") (expression_statement "param_2[3] = 0x73;" (assignment_expression "param_2[3] = 0x73" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0x73")) (; ";")) (} "}")) (else_clause "else {\n      param_2[3] = 0x53;\n    }" (else "else") (compound_statement "{\n      param_2[3] = 0x53;\n    }" ({ "{") (expression_statement "param_2[3] = 0x53;" (assignment_expression "param_2[3] = 0x53" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0x53")) (; ";")) (} "}")))) (} "}"))) (if_statement "if ((param_1 & 0x400) != 0) {\n    if (cVar7 == 'x') {\n      param_2[6] = 0x73;\n    }\n    else {\n      param_2[6] = 0x53;\n    }\n  }" (if "if") (parenthesized_expression "((param_1 & 0x400) != 0)" (( "(") (binary_expression "(param_1 & 0x400) != 0" (parenthesized_expression "(param_1 & 0x400)" (( "(") (binary_expression "param_1 & 0x400" (identifier "param_1") (& "&") (number_literal "0x400")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if (cVar7 == 'x') {\n      param_2[6] = 0x73;\n    }\n    else {\n      param_2[6] = 0x53;\n    }\n  }" ({ "{") (if_statement "if (cVar7 == 'x') {\n      param_2[6] = 0x73;\n    }\n    else {\n      param_2[6] = 0x53;\n    }" (if "if") (parenthesized_expression "(cVar7 == 'x')" (( "(") (binary_expression "cVar7 == 'x'" (identifier "cVar7") (== "==") (char_literal "'x'" (' "'") (character "x") (' "'"))) () ")")) (compound_statement "{\n      param_2[6] = 0x73;\n    }" ({ "{") (expression_statement "param_2[6] = 0x73;" (assignment_expression "param_2[6] = 0x73" (subscript_expression "param_2[6]" (identifier "param_2") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0x73")) (; ";")) (} "}")) (else_clause "else {\n      param_2[6] = 0x53;\n    }" (else "else") (compound_statement "{\n      param_2[6] = 0x53;\n    }" ({ "{") (expression_statement "param_2[6] = 0x53;" (assignment_expression "param_2[6] = 0x53" (subscript_expression "param_2[6]" (identifier "param_2") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0x53")) (; ";")) (} "}")))) (} "}"))) (if_statement "if ((param_1 & 0x200) != 0) {\n    if (cVar2 == 'x') {\n      param_2[9] = 0x74;\n      return;\n    }\n    param_2[9] = 0x54;\n  }" (if "if") (parenthesized_expression "((param_1 & 0x200) != 0)" (( "(") (binary_expression "(param_1 & 0x200) != 0" (parenthesized_expression "(param_1 & 0x200)" (( "(") (binary_expression "param_1 & 0x200" (identifier "param_1") (& "&") (number_literal "0x200")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if (cVar2 == 'x') {\n      param_2[9] = 0x74;\n      return;\n    }\n    param_2[9] = 0x54;\n  }" ({ "{") (if_statement "if (cVar2 == 'x') {\n      param_2[9] = 0x74;\n      return;\n    }" (if "if") (parenthesized_expression "(cVar2 == 'x')" (( "(") (binary_expression "cVar2 == 'x'" (identifier "cVar2") (== "==") (char_literal "'x'" (' "'") (character "x") (' "'"))) () ")")) (compound_statement "{\n      param_2[9] = 0x74;\n      return;\n    }" ({ "{") (expression_statement "param_2[9] = 0x74;" (assignment_expression "param_2[9] = 0x74" (subscript_expression "param_2[9]" (identifier "param_2") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0x74")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "param_2[9] = 0x54;" (assignment_expression "param_2[9] = 0x54" (subscript_expression "param_2[9]" (identifier "param_2") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0x54")) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (number_literal)) right: (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 (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))))))))) (expression_statement (assignment_expression left: (identifier) right: (char_literal (character)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (char_literal (character)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (char_literal (character)))))) (expression_statement (assignment_expression left: (identifier) right: (char_literal (character)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (char_literal (character)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (char_literal (character)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (return_statement))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) (return_statement))))

void MASKED(uint param_1,undefined1 *param_2)

{
  uint uVar1;
  char cVar2;
  undefined1 uVar3;
  undefined1 uVar4;
  char cVar5;
  undefined1 uVar6;
  char cVar7;
  undefined1 uVar8;
  
  uVar1 = param_1 & 0xf000;
  if (uVar1 == 0x4000) {
    uVar3 = 100;
  }
  else {
    uVar3 = 0x6c;
    if (((uVar1 != 0xa000) && (uVar3 = 0x62, uVar1 != 0x6000)) && (uVar3 = 99, uVar1 != 0x2000)) {
      if (uVar1 == 0xc000) {
        uVar3 = 0x73;
      }
      else {
        uVar3 = 0x2d;
        if (uVar1 == 0x1000) {
          uVar3 = 0x70;
        }
      }
    }
  }
  cVar2 = '-';
  uVar8 = 0x72;
  *param_2 = uVar3;
  uVar3 = 0x2d;
  if ((param_1 & 0x100) != 0) {
    uVar3 = 0x72;
  }
  uVar6 = 0x77;
  uVar4 = 0x2d;
  param_2[1] = uVar3;
  if ((param_1 & 0x80) != 0) {
    uVar4 = 0x77;
  }
  uVar3 = 0x2d;
  if ((param_1 & 0x10) != 0) {
    uVar3 = 0x77;
  }
  cVar5 = '-';
  param_2[2] = uVar4;
  if ((param_1 & 0x40) != 0) {
    cVar5 = 'x';
  }
  cVar7 = '-';
  if ((param_1 & 8) != 0) {
    cVar7 = 'x';
  }
  if ((param_1 & 2) == 0) {
    uVar6 = 0x2d;
  }
  uVar4 = 0x2d;
  if ((param_1 & 0x20) != 0) {
    uVar4 = 0x72;
  }
  if ((param_1 & 4) == 0) {
    uVar8 = 0x2d;
  }
  param_2[3] = cVar5;
  param_2[4] = uVar4;
  if ((param_1 & 1) != 0) {
    cVar2 = 'x';
  }
  param_2[5] = uVar3;
  param_2[6] = cVar7;
  param_2[7] = uVar8;
  param_2[8] = uVar6;
  param_2[9] = cVar2;
  if ((param_1 & 0x800) != 0) {
    if (cVar5 == 'x') {
      param_2[3] = 0x73;
    }
    else {
      param_2[3] = 0x53;
    }
  }
  if ((param_1 & 0x400) != 0) {
    if (cVar7 == 'x') {
      param_2[6] = 0x73;
    }
    else {
      param_2[6] = 0x53;
    }
  }
  if ((param_1 & 0x200) != 0) {
    if (cVar2 == 'x') {
      param_2[9] = 0x74;
      return;
    }
    param_2[9] = 0x54;
  }
  return;
}

