
void mode_string(ulong mode,char *str)

{
  char cVar1;
  char cVar2;
  char cVar3;
  uint uVar4;
  char cVar5;
  
  cVar1 = 'd';
  uVar4 = mode & 0xf000;
  if ((((uVar4 != 0x4000) && (cVar1 = 'l', uVar4 != 0xa000)) && (cVar1 = 'b', uVar4 != 0x6000)) &&
     (((cVar1 = 'c', uVar4 != 0x2000 && (cVar1 = 's', uVar4 != 0xc000)) &&
      (cVar1 = 'p', uVar4 != 0x1000)))) {
    cVar1 = '-';
  }
  *str = cVar1;
  str[1] = (-((mode & 0x100) == 0) & 0xbbU) + 0x72;
  str[2] = (-((mode & 0x80) == 0) & 0xb6U) + 0x77;
  cVar2 = (-((mode & 0x40) == 0) & 0xb5U) + 0x78;
  str[3] = cVar2;
  str[4] = (-((mode & 0x20) == 0) & 0xbbU) + 0x72;
  str[5] = (-((mode & 0x10) == 0) & 0xb6U) + 0x77;
  cVar3 = (-((mode & 8) == 0) & 0xb5U) + 0x78;
  str[6] = cVar3;
  str[7] = (-((mode & 4) == 0) & 0xbbU) + 0x72;
  str[8] = (-((mode & 2) == 0) & 0xb6U) + 0x77;
  cVar1 = (-((mode & 1) == 0) & 0xb5U) + 0x78;
  str[9] = cVar1;
  if ((mode & 0x800) != 0) {
    cVar5 = 's';
    if (cVar2 != 'x') {
      cVar5 = 'S';
    }
    str[3] = cVar5;
  }
  if ((mode & 0x400) != 0) {
    cVar2 = 's';
    if (cVar3 != 'x') {
      cVar2 = 'S';
    }
    str[6] = cVar2;
  }
  if ((mode & 0x200) != 0) {
    cVar2 = 't';
    if (cVar1 != 'x') {
      cVar2 = 'T';
    }
    str[9] = cVar2;
  }
  return;
}



void FUN_0002d5a0(uint param_1,undefined1 *param_2)

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


PUSH EBP
MOV ECX,0x64
PUSH EDI
PUSH ESI
PUSH EBX
MOV EAX,dword ptr [ESP + 0x14]
MOV EDX,dword ptr [ESP + 0x18]
MOV EBX,EAX
AND EBX,0xf000
CMP EBX,0x4000
JZ 0x0002d608
MOV ECX,0x6c
CMP EBX,0xa000
JZ 0x0002d608
MOV ECX,0x62
CMP EBX,0x6000
JZ 0x0002d608
MOV ECX,0x63
CMP EBX,0x2000
JZ 0x0002d608
MOV ECX,0x73
CMP EBX,0xc000
JZ 0x0002d608
CMP EBX,0x1000
MOV ECX,0x70
MOV EBX,0x2d
CMOVNZ ECX,EBX
MOV byte ptr [EDX],CL
MOV ECX,EAX
AND ECX,0x100
CMP ECX,0x1
SBB ECX,ECX
AND ECX,0xffffffbb
ADD ECX,0x72
MOV byte ptr [EDX + 0x1],CL
MOV ECX,EAX
AND ECX,0x80
CMP ECX,0x1
SBB ECX,ECX
AND ECX,0xffffffb6
ADD ECX,0x77
MOV byte ptr [EDX + 0x2],CL
MOV ECX,EAX
AND ECX,0x40
CMP ECX,0x1
MOV ECX,EAX
SBB ESI,ESI
AND ECX,0x20
AND ESI,0xffffffb5
ADD ESI,0x78
CMP ECX,0x1
SBB ECX,ECX
MOV EBX,ESI
AND ECX,0xffffffbb
MOV byte ptr [EDX + 0x3],BL
ADD ECX,0x72
MOV byte ptr [EDX + 0x4],CL
MOV ECX,EAX
AND ECX,0x10
CMP ECX,0x1
SBB ECX,ECX
AND ECX,0xffffffb6
ADD ECX,0x77
MOV byte ptr [EDX + 0x5],CL
MOV ECX,EAX
AND ECX,0x8
CMP ECX,0x1
MOV ECX,EAX
SBB EBX,EBX
AND ECX,0x4
AND EBX,0xffffffb5
ADD EBX,0x78
CMP ECX,0x1
SBB ECX,ECX
MOV byte ptr [EDX + 0x6],BL
AND ECX,0xffffffbb
ADD ECX,0x72
MOV byte ptr [EDX + 0x7],CL
MOV ECX,EAX
AND ECX,0x2
CMP ECX,0x1
SBB ECX,ECX
AND ECX,0xffffffb6
ADD ECX,0x77
MOV byte ptr [EDX + 0x8],CL
MOV ECX,EAX
AND ECX,0x1
CMP ECX,0x1
SBB EBP,EBP
AND EBP,0xffffffb5
ADD EBP,0x78
MOV ECX,EBP
MOV byte ptr [EDX + 0x9],CL
TEST AH,0x8
JZ 0x0002d6db
MOV ECX,ESI
MOV EDI,0x53
MOV ESI,0x73
CMP CL,0x78
CMOVNZ ESI,EDI
MOV ECX,ESI
MOV byte ptr [EDX + 0x3],CL
TEST AH,0x4
JZ 0x0002d6f3
CMP BL,0x78
MOV ESI,0x53
MOV EBX,0x73
CMOVNZ EBX,ESI
MOV byte ptr [EDX + 0x6],BL
TEST AH,0x2
JZ 0x0002d70c
MOV EAX,EBP
MOV ECX,0x54
CMP AL,0x78
MOV EAX,0x74
CMOVNZ EAX,ECX
MOV byte ptr [EDX + 0x9],AL
POP EBX
POP ESI
POP EDI
POP EBP
RET
(translation_unit "void FUN_0002d5a0(uint param_1,undefined1 *param_2)\n\n{\n  undefined1 uVar1;\n  char cVar2;\n  char cVar3;\n  char cVar4;\n  uint uVar5;\n  \n  uVar1 = 100;\n  uVar5 = param_1 & 0xf000;\n  if ((((uVar5 != 0x4000) && (uVar1 = 0x6c, uVar5 != 0xa000)) && (uVar1 = 0x62, uVar5 != 0x6000)) &&\n     (((uVar1 = 99, uVar5 != 0x2000 && (uVar1 = 0x73, uVar5 != 0xc000)) &&\n      (uVar1 = 0x70, uVar5 != 0x1000)))) {\n    uVar1 = 0x2d;\n  }\n  *param_2 = uVar1;\n  param_2[1] = (-((param_1 & 0x100) == 0) & 0xbbU) + 0x72;\n  param_2[2] = (-((param_1 & 0x80) == 0) & 0xb6U) + 0x77;\n  cVar3 = (-((param_1 & 0x40) == 0) & 0xb5U) + 0x78;\n  param_2[3] = cVar3;\n  param_2[4] = (-((param_1 & 0x20) == 0) & 0xbbU) + 0x72;\n  param_2[5] = (-((param_1 & 0x10) == 0) & 0xb6U) + 0x77;\n  cVar4 = (-((param_1 & 8) == 0) & 0xb5U) + 0x78;\n  param_2[6] = cVar4;\n  param_2[7] = (-((param_1 & 4) == 0) & 0xbbU) + 0x72;\n  param_2[8] = (-((param_1 & 2) == 0) & 0xb6U) + 0x77;\n  cVar2 = (-((param_1 & 1) == 0) & 0xb5U) + 0x78;\n  param_2[9] = cVar2;\n  if ((param_1 & 0x800) != 0) {\n    uVar1 = 0x73;\n    if (cVar3 != 'x') {\n      uVar1 = 0x53;\n    }\n    param_2[3] = uVar1;\n  }\n  if ((param_1 & 0x400) != 0) {\n    uVar1 = 0x73;\n    if (cVar4 != 'x') {\n      uVar1 = 0x53;\n    }\n    param_2[6] = uVar1;\n  }\n  if ((param_1 & 0x200) != 0) {\n    uVar1 = 0x74;\n    if (cVar2 != 'x') {\n      uVar1 = 0x54;\n    }\n    param_2[9] = uVar1;\n  }\n  return;\n}\n\n" (function_definition "void FUN_0002d5a0(uint param_1,undefined1 *param_2)\n\n{\n  undefined1 uVar1;\n  char cVar2;\n  char cVar3;\n  char cVar4;\n  uint uVar5;\n  \n  uVar1 = 100;\n  uVar5 = param_1 & 0xf000;\n  if ((((uVar5 != 0x4000) && (uVar1 = 0x6c, uVar5 != 0xa000)) && (uVar1 = 0x62, uVar5 != 0x6000)) &&\n     (((uVar1 = 99, uVar5 != 0x2000 && (uVar1 = 0x73, uVar5 != 0xc000)) &&\n      (uVar1 = 0x70, uVar5 != 0x1000)))) {\n    uVar1 = 0x2d;\n  }\n  *param_2 = uVar1;\n  param_2[1] = (-((param_1 & 0x100) == 0) & 0xbbU) + 0x72;\n  param_2[2] = (-((param_1 & 0x80) == 0) & 0xb6U) + 0x77;\n  cVar3 = (-((param_1 & 0x40) == 0) & 0xb5U) + 0x78;\n  param_2[3] = cVar3;\n  param_2[4] = (-((param_1 & 0x20) == 0) & 0xbbU) + 0x72;\n  param_2[5] = (-((param_1 & 0x10) == 0) & 0xb6U) + 0x77;\n  cVar4 = (-((param_1 & 8) == 0) & 0xb5U) + 0x78;\n  param_2[6] = cVar4;\n  param_2[7] = (-((param_1 & 4) == 0) & 0xbbU) + 0x72;\n  param_2[8] = (-((param_1 & 2) == 0) & 0xb6U) + 0x77;\n  cVar2 = (-((param_1 & 1) == 0) & 0xb5U) + 0x78;\n  param_2[9] = cVar2;\n  if ((param_1 & 0x800) != 0) {\n    uVar1 = 0x73;\n    if (cVar3 != 'x') {\n      uVar1 = 0x53;\n    }\n    param_2[3] = uVar1;\n  }\n  if ((param_1 & 0x400) != 0) {\n    uVar1 = 0x73;\n    if (cVar4 != 'x') {\n      uVar1 = 0x53;\n    }\n    param_2[6] = uVar1;\n  }\n  if ((param_1 & 0x200) != 0) {\n    uVar1 = 0x74;\n    if (cVar2 != 'x') {\n      uVar1 = 0x54;\n    }\n    param_2[9] = uVar1;\n  }\n  return;\n}" primitive_type (function_declarator "FUN_0002d5a0(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  undefined1 uVar1;\n  char cVar2;\n  char cVar3;\n  char cVar4;\n  uint uVar5;\n  \n  uVar1 = 100;\n  uVar5 = param_1 & 0xf000;\n  if ((((uVar5 != 0x4000) && (uVar1 = 0x6c, uVar5 != 0xa000)) && (uVar1 = 0x62, uVar5 != 0x6000)) &&\n     (((uVar1 = 99, uVar5 != 0x2000 && (uVar1 = 0x73, uVar5 != 0xc000)) &&\n      (uVar1 = 0x70, uVar5 != 0x1000)))) {\n    uVar1 = 0x2d;\n  }\n  *param_2 = uVar1;\n  param_2[1] = (-((param_1 & 0x100) == 0) & 0xbbU) + 0x72;\n  param_2[2] = (-((param_1 & 0x80) == 0) & 0xb6U) + 0x77;\n  cVar3 = (-((param_1 & 0x40) == 0) & 0xb5U) + 0x78;\n  param_2[3] = cVar3;\n  param_2[4] = (-((param_1 & 0x20) == 0) & 0xbbU) + 0x72;\n  param_2[5] = (-((param_1 & 0x10) == 0) & 0xb6U) + 0x77;\n  cVar4 = (-((param_1 & 8) == 0) & 0xb5U) + 0x78;\n  param_2[6] = cVar4;\n  param_2[7] = (-((param_1 & 4) == 0) & 0xbbU) + 0x72;\n  param_2[8] = (-((param_1 & 2) == 0) & 0xb6U) + 0x77;\n  cVar2 = (-((param_1 & 1) == 0) & 0xb5U) + 0x78;\n  param_2[9] = cVar2;\n  if ((param_1 & 0x800) != 0) {\n    uVar1 = 0x73;\n    if (cVar3 != 'x') {\n      uVar1 = 0x53;\n    }\n    param_2[3] = uVar1;\n  }\n  if ((param_1 & 0x400) != 0) {\n    uVar1 = 0x73;\n    if (cVar4 != 'x') {\n      uVar1 = 0x53;\n    }\n    param_2[6] = uVar1;\n  }\n  if ((param_1 & 0x200) != 0) {\n    uVar1 = 0x74;\n    if (cVar2 != 'x') {\n      uVar1 = 0x54;\n    }\n    param_2[9] = uVar1;\n  }\n  return;\n}" { (declaration "undefined1 uVar1;" type_identifier identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "char cVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (expression_statement "uVar1 = 100;" (assignment_expression "uVar1 = 100" identifier = number_literal) ;) (expression_statement "uVar5 = param_1 & 0xf000;" (assignment_expression "uVar5 = param_1 & 0xf000" identifier = (binary_expression "param_1 & 0xf000" identifier & number_literal)) ;) (if_statement "if ((((uVar5 != 0x4000) && (uVar1 = 0x6c, uVar5 != 0xa000)) && (uVar1 = 0x62, uVar5 != 0x6000)) &&\n     (((uVar1 = 99, uVar5 != 0x2000 && (uVar1 = 0x73, uVar5 != 0xc000)) &&\n      (uVar1 = 0x70, uVar5 != 0x1000)))) {\n    uVar1 = 0x2d;\n  }" if (parenthesized_expression "((((uVar5 != 0x4000) && (uVar1 = 0x6c, uVar5 != 0xa000)) && (uVar1 = 0x62, uVar5 != 0x6000)) &&\n     (((uVar1 = 99, uVar5 != 0x2000 && (uVar1 = 0x73, uVar5 != 0xc000)) &&\n      (uVar1 = 0x70, uVar5 != 0x1000))))" ( (binary_expression "(((uVar5 != 0x4000) && (uVar1 = 0x6c, uVar5 != 0xa000)) && (uVar1 = 0x62, uVar5 != 0x6000)) &&\n     (((uVar1 = 99, uVar5 != 0x2000 && (uVar1 = 0x73, uVar5 != 0xc000)) &&\n      (uVar1 = 0x70, uVar5 != 0x1000)))" (parenthesized_expression "(((uVar5 != 0x4000) && (uVar1 = 0x6c, uVar5 != 0xa000)) && (uVar1 = 0x62, uVar5 != 0x6000))" ( (binary_expression "((uVar5 != 0x4000) && (uVar1 = 0x6c, uVar5 != 0xa000)) && (uVar1 = 0x62, uVar5 != 0x6000)" (parenthesized_expression "((uVar5 != 0x4000) && (uVar1 = 0x6c, uVar5 != 0xa000))" ( (binary_expression "(uVar5 != 0x4000) && (uVar1 = 0x6c, uVar5 != 0xa000)" (parenthesized_expression "(uVar5 != 0x4000)" ( (binary_expression "uVar5 != 0x4000" identifier != number_literal) )) && (parenthesized_expression "(uVar1 = 0x6c, uVar5 != 0xa000)" ( (comma_expression "uVar1 = 0x6c, uVar5 != 0xa000" (assignment_expression "uVar1 = 0x6c" identifier = number_literal) , (binary_expression "uVar5 != 0xa000" identifier != number_literal)) ))) )) && (parenthesized_expression "(uVar1 = 0x62, uVar5 != 0x6000)" ( (comma_expression "uVar1 = 0x62, uVar5 != 0x6000" (assignment_expression "uVar1 = 0x62" identifier = number_literal) , (binary_expression "uVar5 != 0x6000" identifier != number_literal)) ))) )) && (parenthesized_expression "(((uVar1 = 99, uVar5 != 0x2000 && (uVar1 = 0x73, uVar5 != 0xc000)) &&\n      (uVar1 = 0x70, uVar5 != 0x1000)))" ( (parenthesized_expression "((uVar1 = 99, uVar5 != 0x2000 && (uVar1 = 0x73, uVar5 != 0xc000)) &&\n      (uVar1 = 0x70, uVar5 != 0x1000))" ( (binary_expression "(uVar1 = 99, uVar5 != 0x2000 && (uVar1 = 0x73, uVar5 != 0xc000)) &&\n      (uVar1 = 0x70, uVar5 != 0x1000)" (parenthesized_expression "(uVar1 = 99, uVar5 != 0x2000 && (uVar1 = 0x73, uVar5 != 0xc000))" ( (comma_expression "uVar1 = 99, uVar5 != 0x2000 && (uVar1 = 0x73, uVar5 != 0xc000)" (assignment_expression "uVar1 = 99" identifier = number_literal) , (binary_expression "uVar5 != 0x2000 && (uVar1 = 0x73, uVar5 != 0xc000)" (binary_expression "uVar5 != 0x2000" identifier != number_literal) && (parenthesized_expression "(uVar1 = 0x73, uVar5 != 0xc000)" ( (comma_expression "uVar1 = 0x73, uVar5 != 0xc000" (assignment_expression "uVar1 = 0x73" identifier = number_literal) , (binary_expression "uVar5 != 0xc000" identifier != number_literal)) )))) )) && (parenthesized_expression "(uVar1 = 0x70, uVar5 != 0x1000)" ( (comma_expression "uVar1 = 0x70, uVar5 != 0x1000" (assignment_expression "uVar1 = 0x70" identifier = number_literal) , (binary_expression "uVar5 != 0x1000" identifier != number_literal)) ))) )) ))) )) (compound_statement "{\n    uVar1 = 0x2d;\n  }" { (expression_statement "uVar1 = 0x2d;" (assignment_expression "uVar1 = 0x2d" identifier = number_literal) ;) })) (expression_statement "*param_2 = uVar1;" (assignment_expression "*param_2 = uVar1" (pointer_expression "*param_2" * identifier) = identifier) ;) (expression_statement "param_2[1] = (-((param_1 & 0x100) == 0) & 0xbbU) + 0x72;" (assignment_expression "param_2[1] = (-((param_1 & 0x100) == 0) & 0xbbU) + 0x72" (subscript_expression "param_2[1]" identifier [ number_literal ]) = (binary_expression "(-((param_1 & 0x100) == 0) & 0xbbU) + 0x72" (parenthesized_expression "(-((param_1 & 0x100) == 0) & 0xbbU)" ( (binary_expression "-((param_1 & 0x100) == 0) & 0xbbU" (unary_expression "-((param_1 & 0x100) == 0)" - (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) ))) & number_literal) )) + number_literal)) ;) (expression_statement "param_2[2] = (-((param_1 & 0x80) == 0) & 0xb6U) + 0x77;" (assignment_expression "param_2[2] = (-((param_1 & 0x80) == 0) & 0xb6U) + 0x77" (subscript_expression "param_2[2]" identifier [ number_literal ]) = (binary_expression "(-((param_1 & 0x80) == 0) & 0xb6U) + 0x77" (parenthesized_expression "(-((param_1 & 0x80) == 0) & 0xb6U)" ( (binary_expression "-((param_1 & 0x80) == 0) & 0xb6U" (unary_expression "-((param_1 & 0x80) == 0)" - (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) ))) & number_literal) )) + number_literal)) ;) (expression_statement "cVar3 = (-((param_1 & 0x40) == 0) & 0xb5U) + 0x78;" (assignment_expression "cVar3 = (-((param_1 & 0x40) == 0) & 0xb5U) + 0x78" identifier = (binary_expression "(-((param_1 & 0x40) == 0) & 0xb5U) + 0x78" (parenthesized_expression "(-((param_1 & 0x40) == 0) & 0xb5U)" ( (binary_expression "-((param_1 & 0x40) == 0) & 0xb5U" (unary_expression "-((param_1 & 0x40) == 0)" - (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) ))) & number_literal) )) + number_literal)) ;) (expression_statement "param_2[3] = cVar3;" (assignment_expression "param_2[3] = cVar3" (subscript_expression "param_2[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[4] = (-((param_1 & 0x20) == 0) & 0xbbU) + 0x72;" (assignment_expression "param_2[4] = (-((param_1 & 0x20) == 0) & 0xbbU) + 0x72" (subscript_expression "param_2[4]" identifier [ number_literal ]) = (binary_expression "(-((param_1 & 0x20) == 0) & 0xbbU) + 0x72" (parenthesized_expression "(-((param_1 & 0x20) == 0) & 0xbbU)" ( (binary_expression "-((param_1 & 0x20) == 0) & 0xbbU" (unary_expression "-((param_1 & 0x20) == 0)" - (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) ))) & number_literal) )) + number_literal)) ;) (expression_statement "param_2[5] = (-((param_1 & 0x10) == 0) & 0xb6U) + 0x77;" (assignment_expression "param_2[5] = (-((param_1 & 0x10) == 0) & 0xb6U) + 0x77" (subscript_expression "param_2[5]" identifier [ number_literal ]) = (binary_expression "(-((param_1 & 0x10) == 0) & 0xb6U) + 0x77" (parenthesized_expression "(-((param_1 & 0x10) == 0) & 0xb6U)" ( (binary_expression "-((param_1 & 0x10) == 0) & 0xb6U" (unary_expression "-((param_1 & 0x10) == 0)" - (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) ))) & number_literal) )) + number_literal)) ;) (expression_statement "cVar4 = (-((param_1 & 8) == 0) & 0xb5U) + 0x78;" (assignment_expression "cVar4 = (-((param_1 & 8) == 0) & 0xb5U) + 0x78" identifier = (binary_expression "(-((param_1 & 8) == 0) & 0xb5U) + 0x78" (parenthesized_expression "(-((param_1 & 8) == 0) & 0xb5U)" ( (binary_expression "-((param_1 & 8) == 0) & 0xb5U" (unary_expression "-((param_1 & 8) == 0)" - (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) ))) & number_literal) )) + number_literal)) ;) (expression_statement "param_2[6] = cVar4;" (assignment_expression "param_2[6] = cVar4" (subscript_expression "param_2[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[7] = (-((param_1 & 4) == 0) & 0xbbU) + 0x72;" (assignment_expression "param_2[7] = (-((param_1 & 4) == 0) & 0xbbU) + 0x72" (subscript_expression "param_2[7]" identifier [ number_literal ]) = (binary_expression "(-((param_1 & 4) == 0) & 0xbbU) + 0x72" (parenthesized_expression "(-((param_1 & 4) == 0) & 0xbbU)" ( (binary_expression "-((param_1 & 4) == 0) & 0xbbU" (unary_expression "-((param_1 & 4) == 0)" - (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) ))) & number_literal) )) + number_literal)) ;) (expression_statement "param_2[8] = (-((param_1 & 2) == 0) & 0xb6U) + 0x77;" (assignment_expression "param_2[8] = (-((param_1 & 2) == 0) & 0xb6U) + 0x77" (subscript_expression "param_2[8]" identifier [ number_literal ]) = (binary_expression "(-((param_1 & 2) == 0) & 0xb6U) + 0x77" (parenthesized_expression "(-((param_1 & 2) == 0) & 0xb6U)" ( (binary_expression "-((param_1 & 2) == 0) & 0xb6U" (unary_expression "-((param_1 & 2) == 0)" - (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) ))) & number_literal) )) + number_literal)) ;) (expression_statement "cVar2 = (-((param_1 & 1) == 0) & 0xb5U) + 0x78;" (assignment_expression "cVar2 = (-((param_1 & 1) == 0) & 0xb5U) + 0x78" identifier = (binary_expression "(-((param_1 & 1) == 0) & 0xb5U) + 0x78" (parenthesized_expression "(-((param_1 & 1) == 0) & 0xb5U)" ( (binary_expression "-((param_1 & 1) == 0) & 0xb5U" (unary_expression "-((param_1 & 1) == 0)" - (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) ))) & number_literal) )) + number_literal)) ;) (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    uVar1 = 0x73;\n    if (cVar3 != 'x') {\n      uVar1 = 0x53;\n    }\n    param_2[3] = uVar1;\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    uVar1 = 0x73;\n    if (cVar3 != 'x') {\n      uVar1 = 0x53;\n    }\n    param_2[3] = uVar1;\n  }" { (expression_statement "uVar1 = 0x73;" (assignment_expression "uVar1 = 0x73" identifier = number_literal) ;) (if_statement "if (cVar3 != 'x') {\n      uVar1 = 0x53;\n    }" if (parenthesized_expression "(cVar3 != 'x')" ( (binary_expression "cVar3 != 'x'" identifier != (char_literal "'x'" ' character ')) )) (compound_statement "{\n      uVar1 = 0x53;\n    }" { (expression_statement "uVar1 = 0x53;" (assignment_expression "uVar1 = 0x53" identifier = number_literal) ;) })) (expression_statement "param_2[3] = uVar1;" (assignment_expression "param_2[3] = uVar1" (subscript_expression "param_2[3]" identifier [ number_literal ]) = identifier) ;) })) (if_statement "if ((param_1 & 0x400) != 0) {\n    uVar1 = 0x73;\n    if (cVar4 != 'x') {\n      uVar1 = 0x53;\n    }\n    param_2[6] = uVar1;\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    uVar1 = 0x73;\n    if (cVar4 != 'x') {\n      uVar1 = 0x53;\n    }\n    param_2[6] = uVar1;\n  }" { (expression_statement "uVar1 = 0x73;" (assignment_expression "uVar1 = 0x73" identifier = number_literal) ;) (if_statement "if (cVar4 != 'x') {\n      uVar1 = 0x53;\n    }" if (parenthesized_expression "(cVar4 != 'x')" ( (binary_expression "cVar4 != 'x'" identifier != (char_literal "'x'" ' character ')) )) (compound_statement "{\n      uVar1 = 0x53;\n    }" { (expression_statement "uVar1 = 0x53;" (assignment_expression "uVar1 = 0x53" identifier = number_literal) ;) })) (expression_statement "param_2[6] = uVar1;" (assignment_expression "param_2[6] = uVar1" (subscript_expression "param_2[6]" identifier [ number_literal ]) = identifier) ;) })) (if_statement "if ((param_1 & 0x200) != 0) {\n    uVar1 = 0x74;\n    if (cVar2 != 'x') {\n      uVar1 = 0x54;\n    }\n    param_2[9] = uVar1;\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    uVar1 = 0x74;\n    if (cVar2 != 'x') {\n      uVar1 = 0x54;\n    }\n    param_2[9] = uVar1;\n  }" { (expression_statement "uVar1 = 0x74;" (assignment_expression "uVar1 = 0x74" identifier = number_literal) ;) (if_statement "if (cVar2 != 'x') {\n      uVar1 = 0x54;\n    }" if (parenthesized_expression "(cVar2 != 'x')" ( (binary_expression "cVar2 != 'x'" identifier != (char_literal "'x'" ' character ')) )) (compound_statement "{\n      uVar1 = 0x54;\n    }" { (expression_statement "uVar1 = 0x54;" (assignment_expression "uVar1 = 0x54" identifier = number_literal) ;) })) (expression_statement "param_2[9] = uVar1;" (assignment_expression "param_2[9] = uVar1" (subscript_expression "param_2[9]" identifier [ number_literal ]) = identifier) ;) })) (return_statement "return;" return ;) })))
(translation_unit "void mode_string(ulong mode,char *str)\n\n{\n  char cVar1;\n  char cVar2;\n  char cVar3;\n  uint uVar4;\n  char cVar5;\n  \n  cVar1 = 'd';\n  uVar4 = mode & 0xf000;\n  if ((((uVar4 != 0x4000) && (cVar1 = 'l', uVar4 != 0xa000)) && (cVar1 = 'b', uVar4 != 0x6000)) &&\n     (((cVar1 = 'c', uVar4 != 0x2000 && (cVar1 = 's', uVar4 != 0xc000)) &&\n      (cVar1 = 'p', uVar4 != 0x1000)))) {\n    cVar1 = '-';\n  }\n  *str = cVar1;\n  str[1] = (-((mode & 0x100) == 0) & 0xbbU) + 0x72;\n  str[2] = (-((mode & 0x80) == 0) & 0xb6U) + 0x77;\n  cVar2 = (-((mode & 0x40) == 0) & 0xb5U) + 0x78;\n  str[3] = cVar2;\n  str[4] = (-((mode & 0x20) == 0) & 0xbbU) + 0x72;\n  str[5] = (-((mode & 0x10) == 0) & 0xb6U) + 0x77;\n  cVar3 = (-((mode & 8) == 0) & 0xb5U) + 0x78;\n  str[6] = cVar3;\n  str[7] = (-((mode & 4) == 0) & 0xbbU) + 0x72;\n  str[8] = (-((mode & 2) == 0) & 0xb6U) + 0x77;\n  cVar1 = (-((mode & 1) == 0) & 0xb5U) + 0x78;\n  str[9] = cVar1;\n  if ((mode & 0x800) != 0) {\n    cVar5 = 's';\n    if (cVar2 != 'x') {\n      cVar5 = 'S';\n    }\n    str[3] = cVar5;\n  }\n  if ((mode & 0x400) != 0) {\n    cVar2 = 's';\n    if (cVar3 != 'x') {\n      cVar2 = 'S';\n    }\n    str[6] = cVar2;\n  }\n  if ((mode & 0x200) != 0) {\n    cVar2 = 't';\n    if (cVar1 != 'x') {\n      cVar2 = 'T';\n    }\n    str[9] = cVar2;\n  }\n  return;\n}\n\n" (function_definition "void mode_string(ulong mode,char *str)\n\n{\n  char cVar1;\n  char cVar2;\n  char cVar3;\n  uint uVar4;\n  char cVar5;\n  \n  cVar1 = 'd';\n  uVar4 = mode & 0xf000;\n  if ((((uVar4 != 0x4000) && (cVar1 = 'l', uVar4 != 0xa000)) && (cVar1 = 'b', uVar4 != 0x6000)) &&\n     (((cVar1 = 'c', uVar4 != 0x2000 && (cVar1 = 's', uVar4 != 0xc000)) &&\n      (cVar1 = 'p', uVar4 != 0x1000)))) {\n    cVar1 = '-';\n  }\n  *str = cVar1;\n  str[1] = (-((mode & 0x100) == 0) & 0xbbU) + 0x72;\n  str[2] = (-((mode & 0x80) == 0) & 0xb6U) + 0x77;\n  cVar2 = (-((mode & 0x40) == 0) & 0xb5U) + 0x78;\n  str[3] = cVar2;\n  str[4] = (-((mode & 0x20) == 0) & 0xbbU) + 0x72;\n  str[5] = (-((mode & 0x10) == 0) & 0xb6U) + 0x77;\n  cVar3 = (-((mode & 8) == 0) & 0xb5U) + 0x78;\n  str[6] = cVar3;\n  str[7] = (-((mode & 4) == 0) & 0xbbU) + 0x72;\n  str[8] = (-((mode & 2) == 0) & 0xb6U) + 0x77;\n  cVar1 = (-((mode & 1) == 0) & 0xb5U) + 0x78;\n  str[9] = cVar1;\n  if ((mode & 0x800) != 0) {\n    cVar5 = 's';\n    if (cVar2 != 'x') {\n      cVar5 = 'S';\n    }\n    str[3] = cVar5;\n  }\n  if ((mode & 0x400) != 0) {\n    cVar2 = 's';\n    if (cVar3 != 'x') {\n      cVar2 = 'S';\n    }\n    str[6] = cVar2;\n  }\n  if ((mode & 0x200) != 0) {\n    cVar2 = 't';\n    if (cVar1 != 'x') {\n      cVar2 = 'T';\n    }\n    str[9] = cVar2;\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  char cVar1;\n  char cVar2;\n  char cVar3;\n  uint uVar4;\n  char cVar5;\n  \n  cVar1 = 'd';\n  uVar4 = mode & 0xf000;\n  if ((((uVar4 != 0x4000) && (cVar1 = 'l', uVar4 != 0xa000)) && (cVar1 = 'b', uVar4 != 0x6000)) &&\n     (((cVar1 = 'c', uVar4 != 0x2000 && (cVar1 = 's', uVar4 != 0xc000)) &&\n      (cVar1 = 'p', uVar4 != 0x1000)))) {\n    cVar1 = '-';\n  }\n  *str = cVar1;\n  str[1] = (-((mode & 0x100) == 0) & 0xbbU) + 0x72;\n  str[2] = (-((mode & 0x80) == 0) & 0xb6U) + 0x77;\n  cVar2 = (-((mode & 0x40) == 0) & 0xb5U) + 0x78;\n  str[3] = cVar2;\n  str[4] = (-((mode & 0x20) == 0) & 0xbbU) + 0x72;\n  str[5] = (-((mode & 0x10) == 0) & 0xb6U) + 0x77;\n  cVar3 = (-((mode & 8) == 0) & 0xb5U) + 0x78;\n  str[6] = cVar3;\n  str[7] = (-((mode & 4) == 0) & 0xbbU) + 0x72;\n  str[8] = (-((mode & 2) == 0) & 0xb6U) + 0x77;\n  cVar1 = (-((mode & 1) == 0) & 0xb5U) + 0x78;\n  str[9] = cVar1;\n  if ((mode & 0x800) != 0) {\n    cVar5 = 's';\n    if (cVar2 != 'x') {\n      cVar5 = 'S';\n    }\n    str[3] = cVar5;\n  }\n  if ((mode & 0x400) != 0) {\n    cVar2 = 's';\n    if (cVar3 != 'x') {\n      cVar2 = 'S';\n    }\n    str[6] = cVar2;\n  }\n  if ((mode & 0x200) != 0) {\n    cVar2 = 't';\n    if (cVar1 != 'x') {\n      cVar2 = 'T';\n    }\n    str[9] = cVar2;\n  }\n  return;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "char cVar5;" primitive_type identifier ;) (expression_statement "cVar1 = 'd';" (assignment_expression "cVar1 = 'd'" identifier = (char_literal "'d'" ' character ')) ;) (expression_statement "uVar4 = mode & 0xf000;" (assignment_expression "uVar4 = mode & 0xf000" identifier = (binary_expression "mode & 0xf000" identifier & number_literal)) ;) (if_statement "if ((((uVar4 != 0x4000) && (cVar1 = 'l', uVar4 != 0xa000)) && (cVar1 = 'b', uVar4 != 0x6000)) &&\n     (((cVar1 = 'c', uVar4 != 0x2000 && (cVar1 = 's', uVar4 != 0xc000)) &&\n      (cVar1 = 'p', uVar4 != 0x1000)))) {\n    cVar1 = '-';\n  }" if (parenthesized_expression "((((uVar4 != 0x4000) && (cVar1 = 'l', uVar4 != 0xa000)) && (cVar1 = 'b', uVar4 != 0x6000)) &&\n     (((cVar1 = 'c', uVar4 != 0x2000 && (cVar1 = 's', uVar4 != 0xc000)) &&\n      (cVar1 = 'p', uVar4 != 0x1000))))" ( (binary_expression "(((uVar4 != 0x4000) && (cVar1 = 'l', uVar4 != 0xa000)) && (cVar1 = 'b', uVar4 != 0x6000)) &&\n     (((cVar1 = 'c', uVar4 != 0x2000 && (cVar1 = 's', uVar4 != 0xc000)) &&\n      (cVar1 = 'p', uVar4 != 0x1000)))" (parenthesized_expression "(((uVar4 != 0x4000) && (cVar1 = 'l', uVar4 != 0xa000)) && (cVar1 = 'b', uVar4 != 0x6000))" ( (binary_expression "((uVar4 != 0x4000) && (cVar1 = 'l', uVar4 != 0xa000)) && (cVar1 = 'b', uVar4 != 0x6000)" (parenthesized_expression "((uVar4 != 0x4000) && (cVar1 = 'l', uVar4 != 0xa000))" ( (binary_expression "(uVar4 != 0x4000) && (cVar1 = 'l', uVar4 != 0xa000)" (parenthesized_expression "(uVar4 != 0x4000)" ( (binary_expression "uVar4 != 0x4000" identifier != number_literal) )) && (parenthesized_expression "(cVar1 = 'l', uVar4 != 0xa000)" ( (comma_expression "cVar1 = 'l', uVar4 != 0xa000" (assignment_expression "cVar1 = 'l'" identifier = (char_literal "'l'" ' character ')) , (binary_expression "uVar4 != 0xa000" identifier != number_literal)) ))) )) && (parenthesized_expression "(cVar1 = 'b', uVar4 != 0x6000)" ( (comma_expression "cVar1 = 'b', uVar4 != 0x6000" (assignment_expression "cVar1 = 'b'" identifier = (char_literal "'b'" ' character ')) , (binary_expression "uVar4 != 0x6000" identifier != number_literal)) ))) )) && (parenthesized_expression "(((cVar1 = 'c', uVar4 != 0x2000 && (cVar1 = 's', uVar4 != 0xc000)) &&\n      (cVar1 = 'p', uVar4 != 0x1000)))" ( (parenthesized_expression "((cVar1 = 'c', uVar4 != 0x2000 && (cVar1 = 's', uVar4 != 0xc000)) &&\n      (cVar1 = 'p', uVar4 != 0x1000))" ( (binary_expression "(cVar1 = 'c', uVar4 != 0x2000 && (cVar1 = 's', uVar4 != 0xc000)) &&\n      (cVar1 = 'p', uVar4 != 0x1000)" (parenthesized_expression "(cVar1 = 'c', uVar4 != 0x2000 && (cVar1 = 's', uVar4 != 0xc000))" ( (comma_expression "cVar1 = 'c', uVar4 != 0x2000 && (cVar1 = 's', uVar4 != 0xc000)" (assignment_expression "cVar1 = 'c'" identifier = (char_literal "'c'" ' character ')) , (binary_expression "uVar4 != 0x2000 && (cVar1 = 's', uVar4 != 0xc000)" (binary_expression "uVar4 != 0x2000" identifier != number_literal) && (parenthesized_expression "(cVar1 = 's', uVar4 != 0xc000)" ( (comma_expression "cVar1 = 's', uVar4 != 0xc000" (assignment_expression "cVar1 = 's'" identifier = (char_literal "'s'" ' character ')) , (binary_expression "uVar4 != 0xc000" identifier != number_literal)) )))) )) && (parenthesized_expression "(cVar1 = 'p', uVar4 != 0x1000)" ( (comma_expression "cVar1 = 'p', uVar4 != 0x1000" (assignment_expression "cVar1 = 'p'" identifier = (char_literal "'p'" ' character ')) , (binary_expression "uVar4 != 0x1000" identifier != number_literal)) ))) )) ))) )) (compound_statement "{\n    cVar1 = '-';\n  }" { (expression_statement "cVar1 = '-';" (assignment_expression "cVar1 = '-'" identifier = (char_literal "'-'" ' character ')) ;) })) (expression_statement "*str = cVar1;" (assignment_expression "*str = cVar1" (pointer_expression "*str" * identifier) = identifier) ;) (expression_statement "str[1] = (-((mode & 0x100) == 0) & 0xbbU) + 0x72;" (assignment_expression "str[1] = (-((mode & 0x100) == 0) & 0xbbU) + 0x72" (subscript_expression "str[1]" identifier [ number_literal ]) = (binary_expression "(-((mode & 0x100) == 0) & 0xbbU) + 0x72" (parenthesized_expression "(-((mode & 0x100) == 0) & 0xbbU)" ( (binary_expression "-((mode & 0x100) == 0) & 0xbbU" (unary_expression "-((mode & 0x100) == 0)" - (parenthesized_expression "((mode & 0x100) == 0)" ( (binary_expression "(mode & 0x100) == 0" (parenthesized_expression "(mode & 0x100)" ( (binary_expression "mode & 0x100" identifier & number_literal) )) == number_literal) ))) & number_literal) )) + number_literal)) ;) (expression_statement "str[2] = (-((mode & 0x80) == 0) & 0xb6U) + 0x77;" (assignment_expression "str[2] = (-((mode & 0x80) == 0) & 0xb6U) + 0x77" (subscript_expression "str[2]" identifier [ number_literal ]) = (binary_expression "(-((mode & 0x80) == 0) & 0xb6U) + 0x77" (parenthesized_expression "(-((mode & 0x80) == 0) & 0xb6U)" ( (binary_expression "-((mode & 0x80) == 0) & 0xb6U" (unary_expression "-((mode & 0x80) == 0)" - (parenthesized_expression "((mode & 0x80) == 0)" ( (binary_expression "(mode & 0x80) == 0" (parenthesized_expression "(mode & 0x80)" ( (binary_expression "mode & 0x80" identifier & number_literal) )) == number_literal) ))) & number_literal) )) + number_literal)) ;) (expression_statement "cVar2 = (-((mode & 0x40) == 0) & 0xb5U) + 0x78;" (assignment_expression "cVar2 = (-((mode & 0x40) == 0) & 0xb5U) + 0x78" identifier = (binary_expression "(-((mode & 0x40) == 0) & 0xb5U) + 0x78" (parenthesized_expression "(-((mode & 0x40) == 0) & 0xb5U)" ( (binary_expression "-((mode & 0x40) == 0) & 0xb5U" (unary_expression "-((mode & 0x40) == 0)" - (parenthesized_expression "((mode & 0x40) == 0)" ( (binary_expression "(mode & 0x40) == 0" (parenthesized_expression "(mode & 0x40)" ( (binary_expression "mode & 0x40" identifier & number_literal) )) == number_literal) ))) & number_literal) )) + number_literal)) ;) (expression_statement "str[3] = cVar2;" (assignment_expression "str[3] = cVar2" (subscript_expression "str[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "str[4] = (-((mode & 0x20) == 0) & 0xbbU) + 0x72;" (assignment_expression "str[4] = (-((mode & 0x20) == 0) & 0xbbU) + 0x72" (subscript_expression "str[4]" identifier [ number_literal ]) = (binary_expression "(-((mode & 0x20) == 0) & 0xbbU) + 0x72" (parenthesized_expression "(-((mode & 0x20) == 0) & 0xbbU)" ( (binary_expression "-((mode & 0x20) == 0) & 0xbbU" (unary_expression "-((mode & 0x20) == 0)" - (parenthesized_expression "((mode & 0x20) == 0)" ( (binary_expression "(mode & 0x20) == 0" (parenthesized_expression "(mode & 0x20)" ( (binary_expression "mode & 0x20" identifier & number_literal) )) == number_literal) ))) & number_literal) )) + number_literal)) ;) (expression_statement "str[5] = (-((mode & 0x10) == 0) & 0xb6U) + 0x77;" (assignment_expression "str[5] = (-((mode & 0x10) == 0) & 0xb6U) + 0x77" (subscript_expression "str[5]" identifier [ number_literal ]) = (binary_expression "(-((mode & 0x10) == 0) & 0xb6U) + 0x77" (parenthesized_expression "(-((mode & 0x10) == 0) & 0xb6U)" ( (binary_expression "-((mode & 0x10) == 0) & 0xb6U" (unary_expression "-((mode & 0x10) == 0)" - (parenthesized_expression "((mode & 0x10) == 0)" ( (binary_expression "(mode & 0x10) == 0" (parenthesized_expression "(mode & 0x10)" ( (binary_expression "mode & 0x10" identifier & number_literal) )) == number_literal) ))) & number_literal) )) + number_literal)) ;) (expression_statement "cVar3 = (-((mode & 8) == 0) & 0xb5U) + 0x78;" (assignment_expression "cVar3 = (-((mode & 8) == 0) & 0xb5U) + 0x78" identifier = (binary_expression "(-((mode & 8) == 0) & 0xb5U) + 0x78" (parenthesized_expression "(-((mode & 8) == 0) & 0xb5U)" ( (binary_expression "-((mode & 8) == 0) & 0xb5U" (unary_expression "-((mode & 8) == 0)" - (parenthesized_expression "((mode & 8) == 0)" ( (binary_expression "(mode & 8) == 0" (parenthesized_expression "(mode & 8)" ( (binary_expression "mode & 8" identifier & number_literal) )) == number_literal) ))) & number_literal) )) + number_literal)) ;) (expression_statement "str[6] = cVar3;" (assignment_expression "str[6] = cVar3" (subscript_expression "str[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "str[7] = (-((mode & 4) == 0) & 0xbbU) + 0x72;" (assignment_expression "str[7] = (-((mode & 4) == 0) & 0xbbU) + 0x72" (subscript_expression "str[7]" identifier [ number_literal ]) = (binary_expression "(-((mode & 4) == 0) & 0xbbU) + 0x72" (parenthesized_expression "(-((mode & 4) == 0) & 0xbbU)" ( (binary_expression "-((mode & 4) == 0) & 0xbbU" (unary_expression "-((mode & 4) == 0)" - (parenthesized_expression "((mode & 4) == 0)" ( (binary_expression "(mode & 4) == 0" (parenthesized_expression "(mode & 4)" ( (binary_expression "mode & 4" identifier & number_literal) )) == number_literal) ))) & number_literal) )) + number_literal)) ;) (expression_statement "str[8] = (-((mode & 2) == 0) & 0xb6U) + 0x77;" (assignment_expression "str[8] = (-((mode & 2) == 0) & 0xb6U) + 0x77" (subscript_expression "str[8]" identifier [ number_literal ]) = (binary_expression "(-((mode & 2) == 0) & 0xb6U) + 0x77" (parenthesized_expression "(-((mode & 2) == 0) & 0xb6U)" ( (binary_expression "-((mode & 2) == 0) & 0xb6U" (unary_expression "-((mode & 2) == 0)" - (parenthesized_expression "((mode & 2) == 0)" ( (binary_expression "(mode & 2) == 0" (parenthesized_expression "(mode & 2)" ( (binary_expression "mode & 2" identifier & number_literal) )) == number_literal) ))) & number_literal) )) + number_literal)) ;) (expression_statement "cVar1 = (-((mode & 1) == 0) & 0xb5U) + 0x78;" (assignment_expression "cVar1 = (-((mode & 1) == 0) & 0xb5U) + 0x78" identifier = (binary_expression "(-((mode & 1) == 0) & 0xb5U) + 0x78" (parenthesized_expression "(-((mode & 1) == 0) & 0xb5U)" ( (binary_expression "-((mode & 1) == 0) & 0xb5U" (unary_expression "-((mode & 1) == 0)" - (parenthesized_expression "((mode & 1) == 0)" ( (binary_expression "(mode & 1) == 0" (parenthesized_expression "(mode & 1)" ( (binary_expression "mode & 1" identifier & number_literal) )) == number_literal) ))) & number_literal) )) + number_literal)) ;) (expression_statement "str[9] = cVar1;" (assignment_expression "str[9] = cVar1" (subscript_expression "str[9]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((mode & 0x800) != 0) {\n    cVar5 = 's';\n    if (cVar2 != 'x') {\n      cVar5 = 'S';\n    }\n    str[3] = cVar5;\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    cVar5 = 's';\n    if (cVar2 != 'x') {\n      cVar5 = 'S';\n    }\n    str[3] = cVar5;\n  }" { (expression_statement "cVar5 = 's';" (assignment_expression "cVar5 = 's'" identifier = (char_literal "'s'" ' character ')) ;) (if_statement "if (cVar2 != 'x') {\n      cVar5 = 'S';\n    }" if (parenthesized_expression "(cVar2 != 'x')" ( (binary_expression "cVar2 != 'x'" identifier != (char_literal "'x'" ' character ')) )) (compound_statement "{\n      cVar5 = 'S';\n    }" { (expression_statement "cVar5 = 'S';" (assignment_expression "cVar5 = 'S'" identifier = (char_literal "'S'" ' character ')) ;) })) (expression_statement "str[3] = cVar5;" (assignment_expression "str[3] = cVar5" (subscript_expression "str[3]" identifier [ number_literal ]) = identifier) ;) })) (if_statement "if ((mode & 0x400) != 0) {\n    cVar2 = 's';\n    if (cVar3 != 'x') {\n      cVar2 = 'S';\n    }\n    str[6] = cVar2;\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    cVar2 = 's';\n    if (cVar3 != 'x') {\n      cVar2 = 'S';\n    }\n    str[6] = cVar2;\n  }" { (expression_statement "cVar2 = 's';" (assignment_expression "cVar2 = 's'" identifier = (char_literal "'s'" ' character ')) ;) (if_statement "if (cVar3 != 'x') {\n      cVar2 = 'S';\n    }" if (parenthesized_expression "(cVar3 != 'x')" ( (binary_expression "cVar3 != 'x'" identifier != (char_literal "'x'" ' character ')) )) (compound_statement "{\n      cVar2 = 'S';\n    }" { (expression_statement "cVar2 = 'S';" (assignment_expression "cVar2 = 'S'" identifier = (char_literal "'S'" ' character ')) ;) })) (expression_statement "str[6] = cVar2;" (assignment_expression "str[6] = cVar2" (subscript_expression "str[6]" identifier [ number_literal ]) = identifier) ;) })) (if_statement "if ((mode & 0x200) != 0) {\n    cVar2 = 't';\n    if (cVar1 != 'x') {\n      cVar2 = 'T';\n    }\n    str[9] = cVar2;\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    cVar2 = 't';\n    if (cVar1 != 'x') {\n      cVar2 = 'T';\n    }\n    str[9] = cVar2;\n  }" { (expression_statement "cVar2 = 't';" (assignment_expression "cVar2 = 't'" identifier = (char_literal "'t'" ' character ')) ;) (if_statement "if (cVar1 != 'x') {\n      cVar2 = 'T';\n    }" if (parenthesized_expression "(cVar1 != 'x')" ( (binary_expression "cVar1 != 'x'" identifier != (char_literal "'x'" ' character ')) )) (compound_statement "{\n      cVar2 = 'T';\n    }" { (expression_statement "cVar2 = 'T';" (assignment_expression "cVar2 = 'T'" identifier = (char_literal "'T'" ' character ')) ;) })) (expression_statement "str[9] = cVar2;" (assignment_expression "str[9] = cVar2" (subscript_expression "str[9]" identifier [ number_literal ]) = identifier) ;) })) (return_statement "return;" return ;) })))
(translation_unit "void FUN_0002d5a0(uint param_1,undefined1 *param_2)\n\n{\n  undefined1 uVar1;\n  char cVar2;\n  char cVar3;\n  char cVar4;\n  uint uVar5;\n  \n  uVar1 = 100;\n  uVar5 = param_1 & 0xf000;\n  if ((((uVar5 != 0x4000) && (uVar1 = 0x6c, uVar5 != 0xa000)) && (uVar1 = 0x62, uVar5 != 0x6000)) &&\n     (((uVar1 = 99, uVar5 != 0x2000 && (uVar1 = 0x73, uVar5 != 0xc000)) &&\n      (uVar1 = 0x70, uVar5 != 0x1000)))) {\n    uVar1 = 0x2d;\n  }\n  *param_2 = uVar1;\n  param_2[1] = (-((param_1 & 0x100) == 0) & 0xbbU) + 0x72;\n  param_2[2] = (-((param_1 & 0x80) == 0) & 0xb6U) + 0x77;\n  cVar3 = (-((param_1 & 0x40) == 0) & 0xb5U) + 0x78;\n  param_2[3] = cVar3;\n  param_2[4] = (-((param_1 & 0x20) == 0) & 0xbbU) + 0x72;\n  param_2[5] = (-((param_1 & 0x10) == 0) & 0xb6U) + 0x77;\n  cVar4 = (-((param_1 & 8) == 0) & 0xb5U) + 0x78;\n  param_2[6] = cVar4;\n  param_2[7] = (-((param_1 & 4) == 0) & 0xbbU) + 0x72;\n  param_2[8] = (-((param_1 & 2) == 0) & 0xb6U) + 0x77;\n  cVar2 = (-((param_1 & 1) == 0) & 0xb5U) + 0x78;\n  param_2[9] = cVar2;\n  if ((param_1 & 0x800) != 0) {\n    uVar1 = 0x73;\n    if (cVar3 != 'x') {\n      uVar1 = 0x53;\n    }\n    param_2[3] = uVar1;\n  }\n  if ((param_1 & 0x400) != 0) {\n    uVar1 = 0x73;\n    if (cVar4 != 'x') {\n      uVar1 = 0x53;\n    }\n    param_2[6] = uVar1;\n  }\n  if ((param_1 & 0x200) != 0) {\n    uVar1 = 0x74;\n    if (cVar2 != 'x') {\n      uVar1 = 0x54;\n    }\n    param_2[9] = uVar1;\n  }\n  return;\n}\n\n" (function_definition "void FUN_0002d5a0(uint param_1,undefined1 *param_2)\n\n{\n  undefined1 uVar1;\n  char cVar2;\n  char cVar3;\n  char cVar4;\n  uint uVar5;\n  \n  uVar1 = 100;\n  uVar5 = param_1 & 0xf000;\n  if ((((uVar5 != 0x4000) && (uVar1 = 0x6c, uVar5 != 0xa000)) && (uVar1 = 0x62, uVar5 != 0x6000)) &&\n     (((uVar1 = 99, uVar5 != 0x2000 && (uVar1 = 0x73, uVar5 != 0xc000)) &&\n      (uVar1 = 0x70, uVar5 != 0x1000)))) {\n    uVar1 = 0x2d;\n  }\n  *param_2 = uVar1;\n  param_2[1] = (-((param_1 & 0x100) == 0) & 0xbbU) + 0x72;\n  param_2[2] = (-((param_1 & 0x80) == 0) & 0xb6U) + 0x77;\n  cVar3 = (-((param_1 & 0x40) == 0) & 0xb5U) + 0x78;\n  param_2[3] = cVar3;\n  param_2[4] = (-((param_1 & 0x20) == 0) & 0xbbU) + 0x72;\n  param_2[5] = (-((param_1 & 0x10) == 0) & 0xb6U) + 0x77;\n  cVar4 = (-((param_1 & 8) == 0) & 0xb5U) + 0x78;\n  param_2[6] = cVar4;\n  param_2[7] = (-((param_1 & 4) == 0) & 0xbbU) + 0x72;\n  param_2[8] = (-((param_1 & 2) == 0) & 0xb6U) + 0x77;\n  cVar2 = (-((param_1 & 1) == 0) & 0xb5U) + 0x78;\n  param_2[9] = cVar2;\n  if ((param_1 & 0x800) != 0) {\n    uVar1 = 0x73;\n    if (cVar3 != 'x') {\n      uVar1 = 0x53;\n    }\n    param_2[3] = uVar1;\n  }\n  if ((param_1 & 0x400) != 0) {\n    uVar1 = 0x73;\n    if (cVar4 != 'x') {\n      uVar1 = 0x53;\n    }\n    param_2[6] = uVar1;\n  }\n  if ((param_1 & 0x200) != 0) {\n    uVar1 = 0x74;\n    if (cVar2 != 'x') {\n      uVar1 = 0x54;\n    }\n    param_2[9] = uVar1;\n  }\n  return;\n}" primitive_type (function_declarator "FUN_0002d5a0(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  undefined1 uVar1;\n  char cVar2;\n  char cVar3;\n  char cVar4;\n  uint uVar5;\n  \n  uVar1 = 100;\n  uVar5 = param_1 & 0xf000;\n  if ((((uVar5 != 0x4000) && (uVar1 = 0x6c, uVar5 != 0xa000)) && (uVar1 = 0x62, uVar5 != 0x6000)) &&\n     (((uVar1 = 99, uVar5 != 0x2000 && (uVar1 = 0x73, uVar5 != 0xc000)) &&\n      (uVar1 = 0x70, uVar5 != 0x1000)))) {\n    uVar1 = 0x2d;\n  }\n  *param_2 = uVar1;\n  param_2[1] = (-((param_1 & 0x100) == 0) & 0xbbU) + 0x72;\n  param_2[2] = (-((param_1 & 0x80) == 0) & 0xb6U) + 0x77;\n  cVar3 = (-((param_1 & 0x40) == 0) & 0xb5U) + 0x78;\n  param_2[3] = cVar3;\n  param_2[4] = (-((param_1 & 0x20) == 0) & 0xbbU) + 0x72;\n  param_2[5] = (-((param_1 & 0x10) == 0) & 0xb6U) + 0x77;\n  cVar4 = (-((param_1 & 8) == 0) & 0xb5U) + 0x78;\n  param_2[6] = cVar4;\n  param_2[7] = (-((param_1 & 4) == 0) & 0xbbU) + 0x72;\n  param_2[8] = (-((param_1 & 2) == 0) & 0xb6U) + 0x77;\n  cVar2 = (-((param_1 & 1) == 0) & 0xb5U) + 0x78;\n  param_2[9] = cVar2;\n  if ((param_1 & 0x800) != 0) {\n    uVar1 = 0x73;\n    if (cVar3 != 'x') {\n      uVar1 = 0x53;\n    }\n    param_2[3] = uVar1;\n  }\n  if ((param_1 & 0x400) != 0) {\n    uVar1 = 0x73;\n    if (cVar4 != 'x') {\n      uVar1 = 0x53;\n    }\n    param_2[6] = uVar1;\n  }\n  if ((param_1 & 0x200) != 0) {\n    uVar1 = 0x74;\n    if (cVar2 != 'x') {\n      uVar1 = 0x54;\n    }\n    param_2[9] = uVar1;\n  }\n  return;\n}" { (declaration "undefined1 uVar1;" type_identifier identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "char cVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (expression_statement "uVar1 = 100;" (assignment_expression "uVar1 = 100" identifier = number_literal) ;) (expression_statement "uVar5 = param_1 & 0xf000;" (assignment_expression "uVar5 = param_1 & 0xf000" identifier = (binary_expression "param_1 & 0xf000" identifier & number_literal)) ;) (if_statement "if ((((uVar5 != 0x4000) && (uVar1 = 0x6c, uVar5 != 0xa000)) && (uVar1 = 0x62, uVar5 != 0x6000)) &&\n     (((uVar1 = 99, uVar5 != 0x2000 && (uVar1 = 0x73, uVar5 != 0xc000)) &&\n      (uVar1 = 0x70, uVar5 != 0x1000)))) {\n    uVar1 = 0x2d;\n  }" if (parenthesized_expression "((((uVar5 != 0x4000) && (uVar1 = 0x6c, uVar5 != 0xa000)) && (uVar1 = 0x62, uVar5 != 0x6000)) &&\n     (((uVar1 = 99, uVar5 != 0x2000 && (uVar1 = 0x73, uVar5 != 0xc000)) &&\n      (uVar1 = 0x70, uVar5 != 0x1000))))" ( (binary_expression "(((uVar5 != 0x4000) && (uVar1 = 0x6c, uVar5 != 0xa000)) && (uVar1 = 0x62, uVar5 != 0x6000)) &&\n     (((uVar1 = 99, uVar5 != 0x2000 && (uVar1 = 0x73, uVar5 != 0xc000)) &&\n      (uVar1 = 0x70, uVar5 != 0x1000)))" (parenthesized_expression "(((uVar5 != 0x4000) && (uVar1 = 0x6c, uVar5 != 0xa000)) && (uVar1 = 0x62, uVar5 != 0x6000))" ( (binary_expression "((uVar5 != 0x4000) && (uVar1 = 0x6c, uVar5 != 0xa000)) && (uVar1 = 0x62, uVar5 != 0x6000)" (parenthesized_expression "((uVar5 != 0x4000) && (uVar1 = 0x6c, uVar5 != 0xa000))" ( (binary_expression "(uVar5 != 0x4000) && (uVar1 = 0x6c, uVar5 != 0xa000)" (parenthesized_expression "(uVar5 != 0x4000)" ( (binary_expression "uVar5 != 0x4000" identifier != number_literal) )) && (parenthesized_expression "(uVar1 = 0x6c, uVar5 != 0xa000)" ( (comma_expression "uVar1 = 0x6c, uVar5 != 0xa000" (assignment_expression "uVar1 = 0x6c" identifier = number_literal) , (binary_expression "uVar5 != 0xa000" identifier != number_literal)) ))) )) && (parenthesized_expression "(uVar1 = 0x62, uVar5 != 0x6000)" ( (comma_expression "uVar1 = 0x62, uVar5 != 0x6000" (assignment_expression "uVar1 = 0x62" identifier = number_literal) , (binary_expression "uVar5 != 0x6000" identifier != number_literal)) ))) )) && (parenthesized_expression "(((uVar1 = 99, uVar5 != 0x2000 && (uVar1 = 0x73, uVar5 != 0xc000)) &&\n      (uVar1 = 0x70, uVar5 != 0x1000)))" ( (parenthesized_expression "((uVar1 = 99, uVar5 != 0x2000 && (uVar1 = 0x73, uVar5 != 0xc000)) &&\n      (uVar1 = 0x70, uVar5 != 0x1000))" ( (binary_expression "(uVar1 = 99, uVar5 != 0x2000 && (uVar1 = 0x73, uVar5 != 0xc000)) &&\n      (uVar1 = 0x70, uVar5 != 0x1000)" (parenthesized_expression "(uVar1 = 99, uVar5 != 0x2000 && (uVar1 = 0x73, uVar5 != 0xc000))" ( (comma_expression "uVar1 = 99, uVar5 != 0x2000 && (uVar1 = 0x73, uVar5 != 0xc000)" (assignment_expression "uVar1 = 99" identifier = number_literal) , (binary_expression "uVar5 != 0x2000 && (uVar1 = 0x73, uVar5 != 0xc000)" (binary_expression "uVar5 != 0x2000" identifier != number_literal) && (parenthesized_expression "(uVar1 = 0x73, uVar5 != 0xc000)" ( (comma_expression "uVar1 = 0x73, uVar5 != 0xc000" (assignment_expression "uVar1 = 0x73" identifier = number_literal) , (binary_expression "uVar5 != 0xc000" identifier != number_literal)) )))) )) && (parenthesized_expression "(uVar1 = 0x70, uVar5 != 0x1000)" ( (comma_expression "uVar1 = 0x70, uVar5 != 0x1000" (assignment_expression "uVar1 = 0x70" identifier = number_literal) , (binary_expression "uVar5 != 0x1000" identifier != number_literal)) ))) )) ))) )) (compound_statement "{\n    uVar1 = 0x2d;\n  }" { (expression_statement "uVar1 = 0x2d;" (assignment_expression "uVar1 = 0x2d" identifier = number_literal) ;) })) (expression_statement "*param_2 = uVar1;" (assignment_expression "*param_2 = uVar1" (pointer_expression "*param_2" * identifier) = identifier) ;) (expression_statement "param_2[1] = (-((param_1 & 0x100) == 0) & 0xbbU) + 0x72;" (assignment_expression "param_2[1] = (-((param_1 & 0x100) == 0) & 0xbbU) + 0x72" (subscript_expression "param_2[1]" identifier [ number_literal ]) = (binary_expression "(-((param_1 & 0x100) == 0) & 0xbbU) + 0x72" (parenthesized_expression "(-((param_1 & 0x100) == 0) & 0xbbU)" ( (binary_expression "-((param_1 & 0x100) == 0) & 0xbbU" (unary_expression "-((param_1 & 0x100) == 0)" - (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) ))) & number_literal) )) + number_literal)) ;) (expression_statement "param_2[2] = (-((param_1 & 0x80) == 0) & 0xb6U) + 0x77;" (assignment_expression "param_2[2] = (-((param_1 & 0x80) == 0) & 0xb6U) + 0x77" (subscript_expression "param_2[2]" identifier [ number_literal ]) = (binary_expression "(-((param_1 & 0x80) == 0) & 0xb6U) + 0x77" (parenthesized_expression "(-((param_1 & 0x80) == 0) & 0xb6U)" ( (binary_expression "-((param_1 & 0x80) == 0) & 0xb6U" (unary_expression "-((param_1 & 0x80) == 0)" - (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) ))) & number_literal) )) + number_literal)) ;) (expression_statement "cVar3 = (-((param_1 & 0x40) == 0) & 0xb5U) + 0x78;" (assignment_expression "cVar3 = (-((param_1 & 0x40) == 0) & 0xb5U) + 0x78" identifier = (binary_expression "(-((param_1 & 0x40) == 0) & 0xb5U) + 0x78" (parenthesized_expression "(-((param_1 & 0x40) == 0) & 0xb5U)" ( (binary_expression "-((param_1 & 0x40) == 0) & 0xb5U" (unary_expression "-((param_1 & 0x40) == 0)" - (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) ))) & number_literal) )) + number_literal)) ;) (expression_statement "param_2[3] = cVar3;" (assignment_expression "param_2[3] = cVar3" (subscript_expression "param_2[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[4] = (-((param_1 & 0x20) == 0) & 0xbbU) + 0x72;" (assignment_expression "param_2[4] = (-((param_1 & 0x20) == 0) & 0xbbU) + 0x72" (subscript_expression "param_2[4]" identifier [ number_literal ]) = (binary_expression "(-((param_1 & 0x20) == 0) & 0xbbU) + 0x72" (parenthesized_expression "(-((param_1 & 0x20) == 0) & 0xbbU)" ( (binary_expression "-((param_1 & 0x20) == 0) & 0xbbU" (unary_expression "-((param_1 & 0x20) == 0)" - (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) ))) & number_literal) )) + number_literal)) ;) (expression_statement "param_2[5] = (-((param_1 & 0x10) == 0) & 0xb6U) + 0x77;" (assignment_expression "param_2[5] = (-((param_1 & 0x10) == 0) & 0xb6U) + 0x77" (subscript_expression "param_2[5]" identifier [ number_literal ]) = (binary_expression "(-((param_1 & 0x10) == 0) & 0xb6U) + 0x77" (parenthesized_expression "(-((param_1 & 0x10) == 0) & 0xb6U)" ( (binary_expression "-((param_1 & 0x10) == 0) & 0xb6U" (unary_expression "-((param_1 & 0x10) == 0)" - (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) ))) & number_literal) )) + number_literal)) ;) (expression_statement "cVar4 = (-((param_1 & 8) == 0) & 0xb5U) + 0x78;" (assignment_expression "cVar4 = (-((param_1 & 8) == 0) & 0xb5U) + 0x78" identifier = (binary_expression "(-((param_1 & 8) == 0) & 0xb5U) + 0x78" (parenthesized_expression "(-((param_1 & 8) == 0) & 0xb5U)" ( (binary_expression "-((param_1 & 8) == 0) & 0xb5U" (unary_expression "-((param_1 & 8) == 0)" - (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) ))) & number_literal) )) + number_literal)) ;) (expression_statement "param_2[6] = cVar4;" (assignment_expression "param_2[6] = cVar4" (subscript_expression "param_2[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[7] = (-((param_1 & 4) == 0) & 0xbbU) + 0x72;" (assignment_expression "param_2[7] = (-((param_1 & 4) == 0) & 0xbbU) + 0x72" (subscript_expression "param_2[7]" identifier [ number_literal ]) = (binary_expression "(-((param_1 & 4) == 0) & 0xbbU) + 0x72" (parenthesized_expression "(-((param_1 & 4) == 0) & 0xbbU)" ( (binary_expression "-((param_1 & 4) == 0) & 0xbbU" (unary_expression "-((param_1 & 4) == 0)" - (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) ))) & number_literal) )) + number_literal)) ;) (expression_statement "param_2[8] = (-((param_1 & 2) == 0) & 0xb6U) + 0x77;" (assignment_expression "param_2[8] = (-((param_1 & 2) == 0) & 0xb6U) + 0x77" (subscript_expression "param_2[8]" identifier [ number_literal ]) = (binary_expression "(-((param_1 & 2) == 0) & 0xb6U) + 0x77" (parenthesized_expression "(-((param_1 & 2) == 0) & 0xb6U)" ( (binary_expression "-((param_1 & 2) == 0) & 0xb6U" (unary_expression "-((param_1 & 2) == 0)" - (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) ))) & number_literal) )) + number_literal)) ;) (expression_statement "cVar2 = (-((param_1 & 1) == 0) & 0xb5U) + 0x78;" (assignment_expression "cVar2 = (-((param_1 & 1) == 0) & 0xb5U) + 0x78" identifier = (binary_expression "(-((param_1 & 1) == 0) & 0xb5U) + 0x78" (parenthesized_expression "(-((param_1 & 1) == 0) & 0xb5U)" ( (binary_expression "-((param_1 & 1) == 0) & 0xb5U" (unary_expression "-((param_1 & 1) == 0)" - (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) ))) & number_literal) )) + number_literal)) ;) (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    uVar1 = 0x73;\n    if (cVar3 != 'x') {\n      uVar1 = 0x53;\n    }\n    param_2[3] = uVar1;\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    uVar1 = 0x73;\n    if (cVar3 != 'x') {\n      uVar1 = 0x53;\n    }\n    param_2[3] = uVar1;\n  }" { (expression_statement "uVar1 = 0x73;" (assignment_expression "uVar1 = 0x73" identifier = number_literal) ;) (if_statement "if (cVar3 != 'x') {\n      uVar1 = 0x53;\n    }" if (parenthesized_expression "(cVar3 != 'x')" ( (binary_expression "cVar3 != 'x'" identifier != (char_literal "'x'" ' character ')) )) (compound_statement "{\n      uVar1 = 0x53;\n    }" { (expression_statement "uVar1 = 0x53;" (assignment_expression "uVar1 = 0x53" identifier = number_literal) ;) })) (expression_statement "param_2[3] = uVar1;" (assignment_expression "param_2[3] = uVar1" (subscript_expression "param_2[3]" identifier [ number_literal ]) = identifier) ;) })) (if_statement "if ((param_1 & 0x400) != 0) {\n    uVar1 = 0x73;\n    if (cVar4 != 'x') {\n      uVar1 = 0x53;\n    }\n    param_2[6] = uVar1;\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    uVar1 = 0x73;\n    if (cVar4 != 'x') {\n      uVar1 = 0x53;\n    }\n    param_2[6] = uVar1;\n  }" { (expression_statement "uVar1 = 0x73;" (assignment_expression "uVar1 = 0x73" identifier = number_literal) ;) (if_statement "if (cVar4 != 'x') {\n      uVar1 = 0x53;\n    }" if (parenthesized_expression "(cVar4 != 'x')" ( (binary_expression "cVar4 != 'x'" identifier != (char_literal "'x'" ' character ')) )) (compound_statement "{\n      uVar1 = 0x53;\n    }" { (expression_statement "uVar1 = 0x53;" (assignment_expression "uVar1 = 0x53" identifier = number_literal) ;) })) (expression_statement "param_2[6] = uVar1;" (assignment_expression "param_2[6] = uVar1" (subscript_expression "param_2[6]" identifier [ number_literal ]) = identifier) ;) })) (if_statement "if ((param_1 & 0x200) != 0) {\n    uVar1 = 0x74;\n    if (cVar2 != 'x') {\n      uVar1 = 0x54;\n    }\n    param_2[9] = uVar1;\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    uVar1 = 0x74;\n    if (cVar2 != 'x') {\n      uVar1 = 0x54;\n    }\n    param_2[9] = uVar1;\n  }" { (expression_statement "uVar1 = 0x74;" (assignment_expression "uVar1 = 0x74" identifier = number_literal) ;) (if_statement "if (cVar2 != 'x') {\n      uVar1 = 0x54;\n    }" if (parenthesized_expression "(cVar2 != 'x')" ( (binary_expression "cVar2 != 'x'" identifier != (char_literal "'x'" ' character ')) )) (compound_statement "{\n      uVar1 = 0x54;\n    }" { (expression_statement "uVar1 = 0x54;" (assignment_expression "uVar1 = 0x54" identifier = number_literal) ;) })) (expression_statement "param_2[9] = uVar1;" (assignment_expression "param_2[9] = uVar1" (subscript_expression "param_2[9]" identifier [ number_literal ]) = identifier) ;) })) (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 ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (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)) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_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 { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))) & LIT) )) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))) & LIT) )) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))) & LIT) )) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))) & LIT) )) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))) & LIT) )) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))) & LIT) )) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))) & LIT) )) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))) & LIT) )) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))) & LIT) )) + 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) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' character ')) )) (compound_statement { (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) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' character ')) )) (compound_statement { (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) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (return_statement return ;) })))
(function_definition "void FUN_0002d5a0(uint param_1,undefined1 *param_2)\n\n{\n  undefined1 uVar1;\n  char cVar2;\n  char cVar3;\n  char cVar4;\n  uint uVar5;\n  \n  uVar1 = 100;\n  uVar5 = param_1 & 0xf000;\n  if ((((uVar5 != 0x4000) && (uVar1 = 0x6c, uVar5 != 0xa000)) && (uVar1 = 0x62, uVar5 != 0x6000)) &&\n     (((uVar1 = 99, uVar5 != 0x2000 && (uVar1 = 0x73, uVar5 != 0xc000)) &&\n      (uVar1 = 0x70, uVar5 != 0x1000)))) {\n    uVar1 = 0x2d;\n  }\n  *param_2 = uVar1;\n  param_2[1] = (-((param_1 & 0x100) == 0) & 0xbbU) + 0x72;\n  param_2[2] = (-((param_1 & 0x80) == 0) & 0xb6U) + 0x77;\n  cVar3 = (-((param_1 & 0x40) == 0) & 0xb5U) + 0x78;\n  param_2[3] = cVar3;\n  param_2[4] = (-((param_1 & 0x20) == 0) & 0xbbU) + 0x72;\n  param_2[5] = (-((param_1 & 0x10) == 0) & 0xb6U) + 0x77;\n  cVar4 = (-((param_1 & 8) == 0) & 0xb5U) + 0x78;\n  param_2[6] = cVar4;\n  param_2[7] = (-((param_1 & 4) == 0) & 0xbbU) + 0x72;\n  param_2[8] = (-((param_1 & 2) == 0) & 0xb6U) + 0x77;\n  cVar2 = (-((param_1 & 1) == 0) & 0xb5U) + 0x78;\n  param_2[9] = cVar2;\n  if ((param_1 & 0x800) != 0) {\n    uVar1 = 0x73;\n    if (cVar3 != 'x') {\n      uVar1 = 0x53;\n    }\n    param_2[3] = uVar1;\n  }\n  if ((param_1 & 0x400) != 0) {\n    uVar1 = 0x73;\n    if (cVar4 != 'x') {\n      uVar1 = 0x53;\n    }\n    param_2[6] = uVar1;\n  }\n  if ((param_1 & 0x200) != 0) {\n    uVar1 = 0x74;\n    if (cVar2 != 'x') {\n      uVar1 = 0x54;\n    }\n    param_2[9] = uVar1;\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0002d5a0(uint param_1,undefined1 *param_2)" (identifier "FUN_0002d5a0") (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  undefined1 uVar1;\n  char cVar2;\n  char cVar3;\n  char cVar4;\n  uint uVar5;\n  \n  uVar1 = 100;\n  uVar5 = param_1 & 0xf000;\n  if ((((uVar5 != 0x4000) && (uVar1 = 0x6c, uVar5 != 0xa000)) && (uVar1 = 0x62, uVar5 != 0x6000)) &&\n     (((uVar1 = 99, uVar5 != 0x2000 && (uVar1 = 0x73, uVar5 != 0xc000)) &&\n      (uVar1 = 0x70, uVar5 != 0x1000)))) {\n    uVar1 = 0x2d;\n  }\n  *param_2 = uVar1;\n  param_2[1] = (-((param_1 & 0x100) == 0) & 0xbbU) + 0x72;\n  param_2[2] = (-((param_1 & 0x80) == 0) & 0xb6U) + 0x77;\n  cVar3 = (-((param_1 & 0x40) == 0) & 0xb5U) + 0x78;\n  param_2[3] = cVar3;\n  param_2[4] = (-((param_1 & 0x20) == 0) & 0xbbU) + 0x72;\n  param_2[5] = (-((param_1 & 0x10) == 0) & 0xb6U) + 0x77;\n  cVar4 = (-((param_1 & 8) == 0) & 0xb5U) + 0x78;\n  param_2[6] = cVar4;\n  param_2[7] = (-((param_1 & 4) == 0) & 0xbbU) + 0x72;\n  param_2[8] = (-((param_1 & 2) == 0) & 0xb6U) + 0x77;\n  cVar2 = (-((param_1 & 1) == 0) & 0xb5U) + 0x78;\n  param_2[9] = cVar2;\n  if ((param_1 & 0x800) != 0) {\n    uVar1 = 0x73;\n    if (cVar3 != 'x') {\n      uVar1 = 0x53;\n    }\n    param_2[3] = uVar1;\n  }\n  if ((param_1 & 0x400) != 0) {\n    uVar1 = 0x73;\n    if (cVar4 != 'x') {\n      uVar1 = 0x53;\n    }\n    param_2[6] = uVar1;\n  }\n  if ((param_1 & 0x200) != 0) {\n    uVar1 = 0x74;\n    if (cVar2 != 'x') {\n      uVar1 = 0x54;\n    }\n    param_2[9] = uVar1;\n  }\n  return;\n}" ({ "{") (declaration "undefined1 uVar1;" (type_identifier "undefined1") (identifier "uVar1") (; ";")) (declaration "char cVar2;" (primitive_type "char") (identifier "cVar2") (; ";")) (declaration "char cVar3;" (primitive_type "char") (identifier "cVar3") (; ";")) (declaration "char cVar4;" (primitive_type "char") (identifier "cVar4") (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (expression_statement "uVar1 = 100;" (assignment_expression "uVar1 = 100" (identifier "uVar1") (= "=") (number_literal "100")) (; ";")) (expression_statement "uVar5 = param_1 & 0xf000;" (assignment_expression "uVar5 = param_1 & 0xf000" (identifier "uVar5") (= "=") (binary_expression "param_1 & 0xf000" (identifier "param_1") (& "&") (number_literal "0xf000"))) (; ";")) (if_statement "if ((((uVar5 != 0x4000) && (uVar1 = 0x6c, uVar5 != 0xa000)) && (uVar1 = 0x62, uVar5 != 0x6000)) &&\n     (((uVar1 = 99, uVar5 != 0x2000 && (uVar1 = 0x73, uVar5 != 0xc000)) &&\n      (uVar1 = 0x70, uVar5 != 0x1000)))) {\n    uVar1 = 0x2d;\n  }" (if "if") (parenthesized_expression "((((uVar5 != 0x4000) && (uVar1 = 0x6c, uVar5 != 0xa000)) && (uVar1 = 0x62, uVar5 != 0x6000)) &&\n     (((uVar1 = 99, uVar5 != 0x2000 && (uVar1 = 0x73, uVar5 != 0xc000)) &&\n      (uVar1 = 0x70, uVar5 != 0x1000))))" (( "(") (binary_expression "(((uVar5 != 0x4000) && (uVar1 = 0x6c, uVar5 != 0xa000)) && (uVar1 = 0x62, uVar5 != 0x6000)) &&\n     (((uVar1 = 99, uVar5 != 0x2000 && (uVar1 = 0x73, uVar5 != 0xc000)) &&\n      (uVar1 = 0x70, uVar5 != 0x1000)))" (parenthesized_expression "(((uVar5 != 0x4000) && (uVar1 = 0x6c, uVar5 != 0xa000)) && (uVar1 = 0x62, uVar5 != 0x6000))" (( "(") (binary_expression "((uVar5 != 0x4000) && (uVar1 = 0x6c, uVar5 != 0xa000)) && (uVar1 = 0x62, uVar5 != 0x6000)" (parenthesized_expression "((uVar5 != 0x4000) && (uVar1 = 0x6c, uVar5 != 0xa000))" (( "(") (binary_expression "(uVar5 != 0x4000) && (uVar1 = 0x6c, uVar5 != 0xa000)" (parenthesized_expression "(uVar5 != 0x4000)" (( "(") (binary_expression "uVar5 != 0x4000" (identifier "uVar5") (!= "!=") (number_literal "0x4000")) () ")")) (&& "&&") (parenthesized_expression "(uVar1 = 0x6c, uVar5 != 0xa000)" (( "(") (comma_expression "uVar1 = 0x6c, uVar5 != 0xa000" (assignment_expression "uVar1 = 0x6c" (identifier "uVar1") (= "=") (number_literal "0x6c")) (, ",") (binary_expression "uVar5 != 0xa000" (identifier "uVar5") (!= "!=") (number_literal "0xa000"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(uVar1 = 0x62, uVar5 != 0x6000)" (( "(") (comma_expression "uVar1 = 0x62, uVar5 != 0x6000" (assignment_expression "uVar1 = 0x62" (identifier "uVar1") (= "=") (number_literal "0x62")) (, ",") (binary_expression "uVar5 != 0x6000" (identifier "uVar5") (!= "!=") (number_literal "0x6000"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(((uVar1 = 99, uVar5 != 0x2000 && (uVar1 = 0x73, uVar5 != 0xc000)) &&\n      (uVar1 = 0x70, uVar5 != 0x1000)))" (( "(") (parenthesized_expression "((uVar1 = 99, uVar5 != 0x2000 && (uVar1 = 0x73, uVar5 != 0xc000)) &&\n      (uVar1 = 0x70, uVar5 != 0x1000))" (( "(") (binary_expression "(uVar1 = 99, uVar5 != 0x2000 && (uVar1 = 0x73, uVar5 != 0xc000)) &&\n      (uVar1 = 0x70, uVar5 != 0x1000)" (parenthesized_expression "(uVar1 = 99, uVar5 != 0x2000 && (uVar1 = 0x73, uVar5 != 0xc000))" (( "(") (comma_expression "uVar1 = 99, uVar5 != 0x2000 && (uVar1 = 0x73, uVar5 != 0xc000)" (assignment_expression "uVar1 = 99" (identifier "uVar1") (= "=") (number_literal "99")) (, ",") (binary_expression "uVar5 != 0x2000 && (uVar1 = 0x73, uVar5 != 0xc000)" (binary_expression "uVar5 != 0x2000" (identifier "uVar5") (!= "!=") (number_literal "0x2000")) (&& "&&") (parenthesized_expression "(uVar1 = 0x73, uVar5 != 0xc000)" (( "(") (comma_expression "uVar1 = 0x73, uVar5 != 0xc000" (assignment_expression "uVar1 = 0x73" (identifier "uVar1") (= "=") (number_literal "0x73")) (, ",") (binary_expression "uVar5 != 0xc000" (identifier "uVar5") (!= "!=") (number_literal "0xc000"))) () ")")))) () ")")) (&& "&&") (parenthesized_expression "(uVar1 = 0x70, uVar5 != 0x1000)" (( "(") (comma_expression "uVar1 = 0x70, uVar5 != 0x1000" (assignment_expression "uVar1 = 0x70" (identifier "uVar1") (= "=") (number_literal "0x70")) (, ",") (binary_expression "uVar5 != 0x1000" (identifier "uVar5") (!= "!=") (number_literal "0x1000"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n    uVar1 = 0x2d;\n  }" ({ "{") (expression_statement "uVar1 = 0x2d;" (assignment_expression "uVar1 = 0x2d" (identifier "uVar1") (= "=") (number_literal "0x2d")) (; ";")) (} "}"))) (expression_statement "*param_2 = uVar1;" (assignment_expression "*param_2 = uVar1" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (identifier "uVar1")) (; ";")) (expression_statement "param_2[1] = (-((param_1 & 0x100) == 0) & 0xbbU) + 0x72;" (assignment_expression "param_2[1] = (-((param_1 & 0x100) == 0) & 0xbbU) + 0x72" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "(-((param_1 & 0x100) == 0) & 0xbbU) + 0x72" (parenthesized_expression "(-((param_1 & 0x100) == 0) & 0xbbU)" (( "(") (binary_expression "-((param_1 & 0x100) == 0) & 0xbbU" (unary_expression "-((param_1 & 0x100) == 0)" (- "-") (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")) () ")"))) (& "&") (number_literal "0xbbU")) () ")")) (+ "+") (number_literal "0x72"))) (; ";")) (expression_statement "param_2[2] = (-((param_1 & 0x80) == 0) & 0xb6U) + 0x77;" (assignment_expression "param_2[2] = (-((param_1 & 0x80) == 0) & 0xb6U) + 0x77" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "(-((param_1 & 0x80) == 0) & 0xb6U) + 0x77" (parenthesized_expression "(-((param_1 & 0x80) == 0) & 0xb6U)" (( "(") (binary_expression "-((param_1 & 0x80) == 0) & 0xb6U" (unary_expression "-((param_1 & 0x80) == 0)" (- "-") (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")) () ")"))) (& "&") (number_literal "0xb6U")) () ")")) (+ "+") (number_literal "0x77"))) (; ";")) (expression_statement "cVar3 = (-((param_1 & 0x40) == 0) & 0xb5U) + 0x78;" (assignment_expression "cVar3 = (-((param_1 & 0x40) == 0) & 0xb5U) + 0x78" (identifier "cVar3") (= "=") (binary_expression "(-((param_1 & 0x40) == 0) & 0xb5U) + 0x78" (parenthesized_expression "(-((param_1 & 0x40) == 0) & 0xb5U)" (( "(") (binary_expression "-((param_1 & 0x40) == 0) & 0xb5U" (unary_expression "-((param_1 & 0x40) == 0)" (- "-") (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")) () ")"))) (& "&") (number_literal "0xb5U")) () ")")) (+ "+") (number_literal "0x78"))) (; ";")) (expression_statement "param_2[3] = cVar3;" (assignment_expression "param_2[3] = cVar3" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "cVar3")) (; ";")) (expression_statement "param_2[4] = (-((param_1 & 0x20) == 0) & 0xbbU) + 0x72;" (assignment_expression "param_2[4] = (-((param_1 & 0x20) == 0) & 0xbbU) + 0x72" (subscript_expression "param_2[4]" (identifier "param_2") ([ "[") (number_literal "4") (] "]")) (= "=") (binary_expression "(-((param_1 & 0x20) == 0) & 0xbbU) + 0x72" (parenthesized_expression "(-((param_1 & 0x20) == 0) & 0xbbU)" (( "(") (binary_expression "-((param_1 & 0x20) == 0) & 0xbbU" (unary_expression "-((param_1 & 0x20) == 0)" (- "-") (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")) () ")"))) (& "&") (number_literal "0xbbU")) () ")")) (+ "+") (number_literal "0x72"))) (; ";")) (expression_statement "param_2[5] = (-((param_1 & 0x10) == 0) & 0xb6U) + 0x77;" (assignment_expression "param_2[5] = (-((param_1 & 0x10) == 0) & 0xb6U) + 0x77" (subscript_expression "param_2[5]" (identifier "param_2") ([ "[") (number_literal "5") (] "]")) (= "=") (binary_expression "(-((param_1 & 0x10) == 0) & 0xb6U) + 0x77" (parenthesized_expression "(-((param_1 & 0x10) == 0) & 0xb6U)" (( "(") (binary_expression "-((param_1 & 0x10) == 0) & 0xb6U" (unary_expression "-((param_1 & 0x10) == 0)" (- "-") (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")) () ")"))) (& "&") (number_literal "0xb6U")) () ")")) (+ "+") (number_literal "0x77"))) (; ";")) (expression_statement "cVar4 = (-((param_1 & 8) == 0) & 0xb5U) + 0x78;" (assignment_expression "cVar4 = (-((param_1 & 8) == 0) & 0xb5U) + 0x78" (identifier "cVar4") (= "=") (binary_expression "(-((param_1 & 8) == 0) & 0xb5U) + 0x78" (parenthesized_expression "(-((param_1 & 8) == 0) & 0xb5U)" (( "(") (binary_expression "-((param_1 & 8) == 0) & 0xb5U" (unary_expression "-((param_1 & 8) == 0)" (- "-") (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")) () ")"))) (& "&") (number_literal "0xb5U")) () ")")) (+ "+") (number_literal "0x78"))) (; ";")) (expression_statement "param_2[6] = cVar4;" (assignment_expression "param_2[6] = cVar4" (subscript_expression "param_2[6]" (identifier "param_2") ([ "[") (number_literal "6") (] "]")) (= "=") (identifier "cVar4")) (; ";")) (expression_statement "param_2[7] = (-((param_1 & 4) == 0) & 0xbbU) + 0x72;" (assignment_expression "param_2[7] = (-((param_1 & 4) == 0) & 0xbbU) + 0x72" (subscript_expression "param_2[7]" (identifier "param_2") ([ "[") (number_literal "7") (] "]")) (= "=") (binary_expression "(-((param_1 & 4) == 0) & 0xbbU) + 0x72" (parenthesized_expression "(-((param_1 & 4) == 0) & 0xbbU)" (( "(") (binary_expression "-((param_1 & 4) == 0) & 0xbbU" (unary_expression "-((param_1 & 4) == 0)" (- "-") (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")) () ")"))) (& "&") (number_literal "0xbbU")) () ")")) (+ "+") (number_literal "0x72"))) (; ";")) (expression_statement "param_2[8] = (-((param_1 & 2) == 0) & 0xb6U) + 0x77;" (assignment_expression "param_2[8] = (-((param_1 & 2) == 0) & 0xb6U) + 0x77" (subscript_expression "param_2[8]" (identifier "param_2") ([ "[") (number_literal "8") (] "]")) (= "=") (binary_expression "(-((param_1 & 2) == 0) & 0xb6U) + 0x77" (parenthesized_expression "(-((param_1 & 2) == 0) & 0xb6U)" (( "(") (binary_expression "-((param_1 & 2) == 0) & 0xb6U" (unary_expression "-((param_1 & 2) == 0)" (- "-") (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")) () ")"))) (& "&") (number_literal "0xb6U")) () ")")) (+ "+") (number_literal "0x77"))) (; ";")) (expression_statement "cVar2 = (-((param_1 & 1) == 0) & 0xb5U) + 0x78;" (assignment_expression "cVar2 = (-((param_1 & 1) == 0) & 0xb5U) + 0x78" (identifier "cVar2") (= "=") (binary_expression "(-((param_1 & 1) == 0) & 0xb5U) + 0x78" (parenthesized_expression "(-((param_1 & 1) == 0) & 0xb5U)" (( "(") (binary_expression "-((param_1 & 1) == 0) & 0xb5U" (unary_expression "-((param_1 & 1) == 0)" (- "-") (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")) () ")"))) (& "&") (number_literal "0xb5U")) () ")")) (+ "+") (number_literal "0x78"))) (; ";")) (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    uVar1 = 0x73;\n    if (cVar3 != 'x') {\n      uVar1 = 0x53;\n    }\n    param_2[3] = uVar1;\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    uVar1 = 0x73;\n    if (cVar3 != 'x') {\n      uVar1 = 0x53;\n    }\n    param_2[3] = uVar1;\n  }" ({ "{") (expression_statement "uVar1 = 0x73;" (assignment_expression "uVar1 = 0x73" (identifier "uVar1") (= "=") (number_literal "0x73")) (; ";")) (if_statement "if (cVar3 != 'x') {\n      uVar1 = 0x53;\n    }" (if "if") (parenthesized_expression "(cVar3 != 'x')" (( "(") (binary_expression "cVar3 != 'x'" (identifier "cVar3") (!= "!=") (char_literal "'x'" (' "'") (character "x") (' "'"))) () ")")) (compound_statement "{\n      uVar1 = 0x53;\n    }" ({ "{") (expression_statement "uVar1 = 0x53;" (assignment_expression "uVar1 = 0x53" (identifier "uVar1") (= "=") (number_literal "0x53")) (; ";")) (} "}"))) (expression_statement "param_2[3] = uVar1;" (assignment_expression "param_2[3] = uVar1" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar1")) (; ";")) (} "}"))) (if_statement "if ((param_1 & 0x400) != 0) {\n    uVar1 = 0x73;\n    if (cVar4 != 'x') {\n      uVar1 = 0x53;\n    }\n    param_2[6] = uVar1;\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    uVar1 = 0x73;\n    if (cVar4 != 'x') {\n      uVar1 = 0x53;\n    }\n    param_2[6] = uVar1;\n  }" ({ "{") (expression_statement "uVar1 = 0x73;" (assignment_expression "uVar1 = 0x73" (identifier "uVar1") (= "=") (number_literal "0x73")) (; ";")) (if_statement "if (cVar4 != 'x') {\n      uVar1 = 0x53;\n    }" (if "if") (parenthesized_expression "(cVar4 != 'x')" (( "(") (binary_expression "cVar4 != 'x'" (identifier "cVar4") (!= "!=") (char_literal "'x'" (' "'") (character "x") (' "'"))) () ")")) (compound_statement "{\n      uVar1 = 0x53;\n    }" ({ "{") (expression_statement "uVar1 = 0x53;" (assignment_expression "uVar1 = 0x53" (identifier "uVar1") (= "=") (number_literal "0x53")) (; ";")) (} "}"))) (expression_statement "param_2[6] = uVar1;" (assignment_expression "param_2[6] = uVar1" (subscript_expression "param_2[6]" (identifier "param_2") ([ "[") (number_literal "6") (] "]")) (= "=") (identifier "uVar1")) (; ";")) (} "}"))) (if_statement "if ((param_1 & 0x200) != 0) {\n    uVar1 = 0x74;\n    if (cVar2 != 'x') {\n      uVar1 = 0x54;\n    }\n    param_2[9] = uVar1;\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    uVar1 = 0x74;\n    if (cVar2 != 'x') {\n      uVar1 = 0x54;\n    }\n    param_2[9] = uVar1;\n  }" ({ "{") (expression_statement "uVar1 = 0x74;" (assignment_expression "uVar1 = 0x74" (identifier "uVar1") (= "=") (number_literal "0x74")) (; ";")) (if_statement "if (cVar2 != 'x') {\n      uVar1 = 0x54;\n    }" (if "if") (parenthesized_expression "(cVar2 != 'x')" (( "(") (binary_expression "cVar2 != 'x'" (identifier "cVar2") (!= "!=") (char_literal "'x'" (' "'") (character "x") (' "'"))) () ")")) (compound_statement "{\n      uVar1 = 0x54;\n    }" ({ "{") (expression_statement "uVar1 = 0x54;" (assignment_expression "uVar1 = 0x54" (identifier "uVar1") (= "=") (number_literal "0x54")) (; ";")) (} "}"))) (expression_statement "param_2[9] = uVar1;" (assignment_expression "param_2[9] = uVar1" (subscript_expression "param_2[9]" (identifier "param_2") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "uVar1")) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

void function_1(type_1 var_1,char *str)

{
  char var_5;
  char var_3;
  char var_4;
  type_2 var_2;
  char cVar5;
  
  var_5 = 'd';
  var_2 = var_1 & 0xf000;
  if ((((var_2 != 0x4000) && (var_5 = 'l', var_2 != 0xa000)) && (var_5 = 'b', var_2 != 0x6000)) &&
     (((var_5 = 'c', var_2 != 0x2000 && (var_5 = 's', var_2 != 0xc000)) &&
      (var_5 = 'p', var_2 != 0x1000)))) {
    var_5 = '-';
  }
  *str = var_5;
  str[1] = (-((var_1 & 0x100) == 0) & 0xbbU) + 0x72;
  str[2] = (-((var_1 & 0x80) == 0) & 0xb6U) + 0x77;
  var_3 = (-((var_1 & 0x40) == 0) & 0xb5U) + 0x78;
  str[3] = var_3;
  str[4] = (-((var_1 & 0x20) == 0) & 0xbbU) + 0x72;
  str[5] = (-((var_1 & 0x10) == 0) & 0xb6U) + 0x77;
  var_4 = (-((var_1 & 8) == 0) & 0xb5U) + 0x78;
  str[6] = var_4;
  str[7] = (-((var_1 & 4) == 0) & 0xbbU) + 0x72;
  str[8] = (-((var_1 & 2) == 0) & 0xb6U) + 0x77;
  var_5 = (-((var_1 & 1) == 0) & 0xb5U) + 0x78;
  str[9] = var_5;
  if ((var_1 & 0x800) != 0) {
    cVar5 = 's';
    if (var_3 != 'x') {
      cVar5 = 'S';
    }
    str[3] = cVar5;
  }
  if ((var_1 & 0x400) != 0) {
    var_3 = 's';
    if (var_4 != 'x') {
      var_3 = 'S';
    }
    str[6] = var_3;
  }
  if ((var_1 & 0x200) != 0) {
    var_3 = 't';
    if (var_5 != 'x') {
      var_3 = 'T';
    }
    str[9] = var_3;
  }
  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: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (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)))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (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 (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal))) 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: (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal))) 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: (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal))) 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))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) 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))))) (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: (identifier) right: (char_literal (character)))) 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))))) (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: (identifier) right: (char_literal (character)))) 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))))) (return_statement))))

void MASKED(uint param_1,undefined1 *param_2)

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

