
/* WARNING: Unknown calling convention -- yet parameter storage is locked */

void noise_regular(void)

{
  long lVar1;
  int iVar2;
  ssize_t sVar3;
  long in_FS_OFFSET;
  rusage rusage;
  char buf [512];
  
  lVar1 = *(long *)(in_FS_OFFSET + 0x28);
  iVar2 = open64("/proc/meminfo",0);
  if (-1 < iVar2) {
    while( true ) {
      sVar3 = read(iVar2,buf,0x200);
      if ((int)sVar3 < 1) break;
      random_add_noise(buf,(int)sVar3);
    }
    close(iVar2);
  }
  iVar2 = open64("/proc/stat",0);
  if (-1 < iVar2) {
    while( true ) {
      sVar3 = read(iVar2,buf,0x200);
      if ((int)sVar3 < 1) break;
      random_add_noise(buf,(int)sVar3);
    }
    close(iVar2);
  }
  getrusage(RUSAGE_SELF,(rusage *)&rusage);
  random_add_noise(&rusage,0x90);
  if (lVar1 != *(long *)(in_FS_OFFSET + 0x28)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail();
  }
  return;
}



void FUN_0018d2a4(void)

{
  int iVar1;
  ulong uVar2;
  long in_FS_OFFSET;
  rusage rStack_2b8;
  undefined1 local_228 [520];
  long local_20;
  
  local_20 = *(long *)(in_FS_OFFSET + 0x28);
  iVar1 = open64("/proc/meminfo",0);
  if (-1 < iVar1) {
    while (uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2) {
      FUN_0015b10f(local_228,uVar2 & 0xffffffff);
    }
    close(iVar1);
  }
  iVar1 = open64("/proc/stat",0);
  if (-1 < iVar1) {
    while (uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2) {
      FUN_0015b10f(local_228,uVar2 & 0xffffffff);
    }
    close(iVar1);
  }
  getrusage(RUSAGE_SELF,&rStack_2b8);
  FUN_0015b10f(&rStack_2b8,0x90);
  if (local_20 != *(long *)(in_FS_OFFSET + 0x28)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail();
  }
  return;
}


PUSH RBP
PUSH RBX
SUB RSP,0x2a8
MOV RAX,qword ptr FS:[0x28]
MOV qword ptr [RSP + 0x298],RAX
XOR EAX,EAX
MOV ESI,0x0
LEA RDI,[0x1cc56d]
CALL 0x00115c80
MOV EBP,EAX
LEA RBX,[RSP + 0x90]
TEST EAX,EAX
JS 0x0018d305
MOV EDX,0x200
MOV RSI,RBX
MOV EDI,EBP
CALL 0x001157c0
TEST EAX,EAX
JLE 0x0018d2fe
MOV ESI,EAX
MOV RDI,RBX
CALL 0x0015b10f
JMP 0x0018d2df
MOV EDI,EBP
CALL 0x00116050
MOV ESI,0x0
LEA RDI,[0x1cc57b]
MOV EAX,0x0
CALL 0x00115c80
MOV EBP,EAX
LEA RBX,[RSP + 0x90]
TEST EAX,EAX
JNS 0x0018d335
JMP 0x0018d34f
MOV ESI,EAX
MOV RDI,RBX
CALL 0x0015b10f
MOV EDX,0x200
MOV RSI,RBX
MOV EDI,EBP
CALL 0x001157c0
TEST EAX,EAX
JG 0x0018d32b
MOV EDI,EBP
CALL 0x00116050
MOV RBX,RSP
MOV RSI,RBX
MOV EDI,0x0
CALL 0x00114880
MOV ESI,0x90
MOV RDI,RBX
CALL 0x0015b10f
MOV RAX,qword ptr [RSP + 0x298]
XOR RAX,qword ptr FS:[0x28]
JNZ 0x0018d389
ADD RSP,0x2a8
POP RBX
POP RBP
RET
CALL 0x00115250
(translation_unit "void FUN_0018d2a4(void)\n\n{\n  int iVar1;\n  ulong uVar2;\n  long in_FS_OFFSET;\n  rusage rStack_2b8;\n  undefined1 local_228 [520];\n  long local_20;\n  \n  local_20 = *(long *)(in_FS_OFFSET + 0x28);\n  iVar1 = open64("/proc/meminfo",0);\n  if (-1 < iVar1) {\n    while (uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2) {\n      FUN_0015b10f(local_228,uVar2 & 0xffffffff);\n    }\n    close(iVar1);\n  }\n  iVar1 = open64("/proc/stat",0);\n  if (-1 < iVar1) {\n    while (uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2) {\n      FUN_0015b10f(local_228,uVar2 & 0xffffffff);\n    }\n    close(iVar1);\n  }\n  getrusage(RUSAGE_SELF,&rStack_2b8);\n  FUN_0015b10f(&rStack_2b8,0x90);\n  if (local_20 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return;\n}\n\n" (function_definition "void FUN_0018d2a4(void)\n\n{\n  int iVar1;\n  ulong uVar2;\n  long in_FS_OFFSET;\n  rusage rStack_2b8;\n  undefined1 local_228 [520];\n  long local_20;\n  \n  local_20 = *(long *)(in_FS_OFFSET + 0x28);\n  iVar1 = open64("/proc/meminfo",0);\n  if (-1 < iVar1) {\n    while (uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2) {\n      FUN_0015b10f(local_228,uVar2 & 0xffffffff);\n    }\n    close(iVar1);\n  }\n  iVar1 = open64("/proc/stat",0);\n  if (-1 < iVar1) {\n    while (uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2) {\n      FUN_0015b10f(local_228,uVar2 & 0xffffffff);\n    }\n    close(iVar1);\n  }\n  getrusage(RUSAGE_SELF,&rStack_2b8);\n  FUN_0015b10f(&rStack_2b8,0x90);\n  if (local_20 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return;\n}" primitive_type (function_declarator "FUN_0018d2a4(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  ulong uVar2;\n  long in_FS_OFFSET;\n  rusage rStack_2b8;\n  undefined1 local_228 [520];\n  long local_20;\n  \n  local_20 = *(long *)(in_FS_OFFSET + 0x28);\n  iVar1 = open64("/proc/meminfo",0);\n  if (-1 < iVar1) {\n    while (uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2) {\n      FUN_0015b10f(local_228,uVar2 & 0xffffffff);\n    }\n    close(iVar1);\n  }\n  iVar1 = open64("/proc/stat",0);\n  if (-1 < iVar1) {\n    while (uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2) {\n      FUN_0015b10f(local_228,uVar2 & 0xffffffff);\n    }\n    close(iVar1);\n  }\n  getrusage(RUSAGE_SELF,&rStack_2b8);\n  FUN_0015b10f(&rStack_2b8,0x90);\n  if (local_20 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "ulong uVar2;" type_identifier identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "rusage rStack_2b8;" type_identifier identifier ;) (declaration "undefined1 local_228 [520];" type_identifier (array_declarator "local_228 [520]" identifier [ number_literal ]) ;) (declaration "long local_20;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_20 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_20 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = open64("/proc/meminfo",0);" (assignment_expression "iVar1 = open64("/proc/meminfo",0)" identifier = (call_expression "open64("/proc/meminfo",0)" identifier (argument_list "("/proc/meminfo",0)" ( (string_literal ""/proc/meminfo"" " string_content ") , number_literal )))) ;) (if_statement "if (-1 < iVar1) {\n    while (uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2) {\n      FUN_0015b10f(local_228,uVar2 & 0xffffffff);\n    }\n    close(iVar1);\n  }" if (parenthesized_expression "(-1 < iVar1)" ( (binary_expression "-1 < iVar1" number_literal < identifier) )) (compound_statement "{\n    while (uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2) {\n      FUN_0015b10f(local_228,uVar2 & 0xffffffff);\n    }\n    close(iVar1);\n  }" { (while_statement "while (uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2) {\n      FUN_0015b10f(local_228,uVar2 & 0xffffffff);\n    }" while (parenthesized_expression "(uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2)" ( (comma_expression "uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2" (assignment_expression "uVar2 = read(iVar1,local_228,0x200)" identifier = (call_expression "read(iVar1,local_228,0x200)" identifier (argument_list "(iVar1,local_228,0x200)" ( identifier , identifier , number_literal )))) , (binary_expression "0 < (int)uVar2" number_literal < (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier))) )) (compound_statement "{\n      FUN_0015b10f(local_228,uVar2 & 0xffffffff);\n    }" { (expression_statement "FUN_0015b10f(local_228,uVar2 & 0xffffffff);" (call_expression "FUN_0015b10f(local_228,uVar2 & 0xffffffff)" identifier (argument_list "(local_228,uVar2 & 0xffffffff)" ( identifier , (binary_expression "uVar2 & 0xffffffff" identifier & number_literal) ))) ;) })) (expression_statement "close(iVar1);" (call_expression "close(iVar1)" identifier (argument_list "(iVar1)" ( identifier ))) ;) })) (expression_statement "iVar1 = open64("/proc/stat",0);" (assignment_expression "iVar1 = open64("/proc/stat",0)" identifier = (call_expression "open64("/proc/stat",0)" identifier (argument_list "("/proc/stat",0)" ( (string_literal ""/proc/stat"" " string_content ") , number_literal )))) ;) (if_statement "if (-1 < iVar1) {\n    while (uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2) {\n      FUN_0015b10f(local_228,uVar2 & 0xffffffff);\n    }\n    close(iVar1);\n  }" if (parenthesized_expression "(-1 < iVar1)" ( (binary_expression "-1 < iVar1" number_literal < identifier) )) (compound_statement "{\n    while (uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2) {\n      FUN_0015b10f(local_228,uVar2 & 0xffffffff);\n    }\n    close(iVar1);\n  }" { (while_statement "while (uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2) {\n      FUN_0015b10f(local_228,uVar2 & 0xffffffff);\n    }" while (parenthesized_expression "(uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2)" ( (comma_expression "uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2" (assignment_expression "uVar2 = read(iVar1,local_228,0x200)" identifier = (call_expression "read(iVar1,local_228,0x200)" identifier (argument_list "(iVar1,local_228,0x200)" ( identifier , identifier , number_literal )))) , (binary_expression "0 < (int)uVar2" number_literal < (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier))) )) (compound_statement "{\n      FUN_0015b10f(local_228,uVar2 & 0xffffffff);\n    }" { (expression_statement "FUN_0015b10f(local_228,uVar2 & 0xffffffff);" (call_expression "FUN_0015b10f(local_228,uVar2 & 0xffffffff)" identifier (argument_list "(local_228,uVar2 & 0xffffffff)" ( identifier , (binary_expression "uVar2 & 0xffffffff" identifier & number_literal) ))) ;) })) (expression_statement "close(iVar1);" (call_expression "close(iVar1)" identifier (argument_list "(iVar1)" ( identifier ))) ;) })) (expression_statement "getrusage(RUSAGE_SELF,&rStack_2b8);" (call_expression "getrusage(RUSAGE_SELF,&rStack_2b8)" identifier (argument_list "(RUSAGE_SELF,&rStack_2b8)" ( identifier , (pointer_expression "&rStack_2b8" & identifier) ))) ;) (expression_statement "FUN_0015b10f(&rStack_2b8,0x90);" (call_expression "FUN_0015b10f(&rStack_2b8,0x90)" identifier (argument_list "(&rStack_2b8,0x90)" ( (pointer_expression "&rStack_2b8" & identifier) , number_literal ))) ;) (if_statement "if (local_20 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }" if (parenthesized_expression "(local_20 != *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_20 != *(long *)(in_FS_OFFSET + 0x28)" identifier != (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }" { comment (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Unknown calling convention -- yet parameter storage is locked */\n\nvoid noise_regular(void)\n\n{\n  long lVar1;\n  int iVar2;\n  ssize_t sVar3;\n  long in_FS_OFFSET;\n  rusage rusage;\n  char buf [512];\n  \n  lVar1 = *(long *)(in_FS_OFFSET + 0x28);\n  iVar2 = open64("/proc/meminfo",0);\n  if (-1 < iVar2) {\n    while( true ) {\n      sVar3 = read(iVar2,buf,0x200);\n      if ((int)sVar3 < 1) break;\n      random_add_noise(buf,(int)sVar3);\n    }\n    close(iVar2);\n  }\n  iVar2 = open64("/proc/stat",0);\n  if (-1 < iVar2) {\n    while( true ) {\n      sVar3 = read(iVar2,buf,0x200);\n      if ((int)sVar3 < 1) break;\n      random_add_noise(buf,(int)sVar3);\n    }\n    close(iVar2);\n  }\n  getrusage(RUSAGE_SELF,(rusage *)&rusage);\n  random_add_noise(&rusage,0x90);\n  if (lVar1 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return;\n}\n\n" comment (function_definition "void noise_regular(void)\n\n{\n  long lVar1;\n  int iVar2;\n  ssize_t sVar3;\n  long in_FS_OFFSET;\n  rusage rusage;\n  char buf [512];\n  \n  lVar1 = *(long *)(in_FS_OFFSET + 0x28);\n  iVar2 = open64("/proc/meminfo",0);\n  if (-1 < iVar2) {\n    while( true ) {\n      sVar3 = read(iVar2,buf,0x200);\n      if ((int)sVar3 < 1) break;\n      random_add_noise(buf,(int)sVar3);\n    }\n    close(iVar2);\n  }\n  iVar2 = open64("/proc/stat",0);\n  if (-1 < iVar2) {\n    while( true ) {\n      sVar3 = read(iVar2,buf,0x200);\n      if ((int)sVar3 < 1) break;\n      random_add_noise(buf,(int)sVar3);\n    }\n    close(iVar2);\n  }\n  getrusage(RUSAGE_SELF,(rusage *)&rusage);\n  random_add_noise(&rusage,0x90);\n  if (lVar1 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return;\n}" primitive_type (function_declarator "noise_regular(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  long lVar1;\n  int iVar2;\n  ssize_t sVar3;\n  long in_FS_OFFSET;\n  rusage rusage;\n  char buf [512];\n  \n  lVar1 = *(long *)(in_FS_OFFSET + 0x28);\n  iVar2 = open64("/proc/meminfo",0);\n  if (-1 < iVar2) {\n    while( true ) {\n      sVar3 = read(iVar2,buf,0x200);\n      if ((int)sVar3 < 1) break;\n      random_add_noise(buf,(int)sVar3);\n    }\n    close(iVar2);\n  }\n  iVar2 = open64("/proc/stat",0);\n  if (-1 < iVar2) {\n    while( true ) {\n      sVar3 = read(iVar2,buf,0x200);\n      if ((int)sVar3 < 1) break;\n      random_add_noise(buf,(int)sVar3);\n    }\n    close(iVar2);\n  }\n  getrusage(RUSAGE_SELF,(rusage *)&rusage);\n  random_add_noise(&rusage,0x90);\n  if (lVar1 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return;\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "ssize_t sVar3;" primitive_type identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "rusage rusage;" type_identifier identifier ;) (declaration "char buf [512];" primitive_type (array_declarator "buf [512]" identifier [ number_literal ]) ;) (expression_statement "lVar1 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "lVar1 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = open64("/proc/meminfo",0);" (assignment_expression "iVar2 = open64("/proc/meminfo",0)" identifier = (call_expression "open64("/proc/meminfo",0)" identifier (argument_list "("/proc/meminfo",0)" ( (string_literal ""/proc/meminfo"" " string_content ") , number_literal )))) ;) (if_statement "if (-1 < iVar2) {\n    while( true ) {\n      sVar3 = read(iVar2,buf,0x200);\n      if ((int)sVar3 < 1) break;\n      random_add_noise(buf,(int)sVar3);\n    }\n    close(iVar2);\n  }" if (parenthesized_expression "(-1 < iVar2)" ( (binary_expression "-1 < iVar2" number_literal < identifier) )) (compound_statement "{\n    while( true ) {\n      sVar3 = read(iVar2,buf,0x200);\n      if ((int)sVar3 < 1) break;\n      random_add_noise(buf,(int)sVar3);\n    }\n    close(iVar2);\n  }" { (while_statement "while( true ) {\n      sVar3 = read(iVar2,buf,0x200);\n      if ((int)sVar3 < 1) break;\n      random_add_noise(buf,(int)sVar3);\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      sVar3 = read(iVar2,buf,0x200);\n      if ((int)sVar3 < 1) break;\n      random_add_noise(buf,(int)sVar3);\n    }" { (expression_statement "sVar3 = read(iVar2,buf,0x200);" (assignment_expression "sVar3 = read(iVar2,buf,0x200)" identifier = (call_expression "read(iVar2,buf,0x200)" identifier (argument_list "(iVar2,buf,0x200)" ( identifier , identifier , number_literal )))) ;) (if_statement "if ((int)sVar3 < 1) break;" if (parenthesized_expression "((int)sVar3 < 1)" ( (binary_expression "(int)sVar3 < 1" (cast_expression "(int)sVar3" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (break_statement "break;" break ;)) (expression_statement "random_add_noise(buf,(int)sVar3);" (call_expression "random_add_noise(buf,(int)sVar3)" identifier (argument_list "(buf,(int)sVar3)" ( identifier , (cast_expression "(int)sVar3" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) })) (expression_statement "close(iVar2);" (call_expression "close(iVar2)" identifier (argument_list "(iVar2)" ( identifier ))) ;) })) (expression_statement "iVar2 = open64("/proc/stat",0);" (assignment_expression "iVar2 = open64("/proc/stat",0)" identifier = (call_expression "open64("/proc/stat",0)" identifier (argument_list "("/proc/stat",0)" ( (string_literal ""/proc/stat"" " string_content ") , number_literal )))) ;) (if_statement "if (-1 < iVar2) {\n    while( true ) {\n      sVar3 = read(iVar2,buf,0x200);\n      if ((int)sVar3 < 1) break;\n      random_add_noise(buf,(int)sVar3);\n    }\n    close(iVar2);\n  }" if (parenthesized_expression "(-1 < iVar2)" ( (binary_expression "-1 < iVar2" number_literal < identifier) )) (compound_statement "{\n    while( true ) {\n      sVar3 = read(iVar2,buf,0x200);\n      if ((int)sVar3 < 1) break;\n      random_add_noise(buf,(int)sVar3);\n    }\n    close(iVar2);\n  }" { (while_statement "while( true ) {\n      sVar3 = read(iVar2,buf,0x200);\n      if ((int)sVar3 < 1) break;\n      random_add_noise(buf,(int)sVar3);\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      sVar3 = read(iVar2,buf,0x200);\n      if ((int)sVar3 < 1) break;\n      random_add_noise(buf,(int)sVar3);\n    }" { (expression_statement "sVar3 = read(iVar2,buf,0x200);" (assignment_expression "sVar3 = read(iVar2,buf,0x200)" identifier = (call_expression "read(iVar2,buf,0x200)" identifier (argument_list "(iVar2,buf,0x200)" ( identifier , identifier , number_literal )))) ;) (if_statement "if ((int)sVar3 < 1) break;" if (parenthesized_expression "((int)sVar3 < 1)" ( (binary_expression "(int)sVar3 < 1" (cast_expression "(int)sVar3" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (break_statement "break;" break ;)) (expression_statement "random_add_noise(buf,(int)sVar3);" (call_expression "random_add_noise(buf,(int)sVar3)" identifier (argument_list "(buf,(int)sVar3)" ( identifier , (cast_expression "(int)sVar3" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) })) (expression_statement "close(iVar2);" (call_expression "close(iVar2)" identifier (argument_list "(iVar2)" ( identifier ))) ;) })) (expression_statement "getrusage(RUSAGE_SELF,(rusage *)&rusage);" (call_expression "getrusage(RUSAGE_SELF,(rusage *)&rusage)" identifier (argument_list "(RUSAGE_SELF,(rusage *)&rusage)" ( identifier , (cast_expression "(rusage *)&rusage" ( (type_descriptor "rusage *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&rusage" & identifier)) ))) ;) (expression_statement "random_add_noise(&rusage,0x90);" (call_expression "random_add_noise(&rusage,0x90)" identifier (argument_list "(&rusage,0x90)" ( (pointer_expression "&rusage" & identifier) , number_literal ))) ;) (if_statement "if (lVar1 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }" if (parenthesized_expression "(lVar1 != *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "lVar1 != *(long *)(in_FS_OFFSET + 0x28)" identifier != (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }" { comment (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return;" return ;) })))
(translation_unit "void FUN_0018d2a4(void)\n\n{\n  int iVar1;\n  ulong uVar2;\n  long in_FS_OFFSET;\n  rusage rStack_2b8;\n  undefined1 local_228 [520];\n  long local_20;\n  \n  local_20 = *(long *)(in_FS_OFFSET + 0x28);\n  iVar1 = open64("/proc/meminfo",0);\n  if (-1 < iVar1) {\n    while (uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2) {\n      FUN_0015b10f(local_228,uVar2 & 0xffffffff);\n    }\n    close(iVar1);\n  }\n  iVar1 = open64("/proc/stat",0);\n  if (-1 < iVar1) {\n    while (uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2) {\n      FUN_0015b10f(local_228,uVar2 & 0xffffffff);\n    }\n    close(iVar1);\n  }\n  getrusage(RUSAGE_SELF,&rStack_2b8);\n  FUN_0015b10f(&rStack_2b8,0x90);\n  if (local_20 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }\n  return;\n}\n\n" (function_definition "void FUN_0018d2a4(void)\n\n{\n  int iVar1;\n  ulong uVar2;\n  long in_FS_OFFSET;\n  rusage rStack_2b8;\n  undefined1 local_228 [520];\n  long local_20;\n  \n  local_20 = *(long *)(in_FS_OFFSET + 0x28);\n  iVar1 = open64("/proc/meminfo",0);\n  if (-1 < iVar1) {\n    while (uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2) {\n      FUN_0015b10f(local_228,uVar2 & 0xffffffff);\n    }\n    close(iVar1);\n  }\n  iVar1 = open64("/proc/stat",0);\n  if (-1 < iVar1) {\n    while (uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2) {\n      FUN_0015b10f(local_228,uVar2 & 0xffffffff);\n    }\n    close(iVar1);\n  }\n  getrusage(RUSAGE_SELF,&rStack_2b8);\n  FUN_0015b10f(&rStack_2b8,0x90);\n  if (local_20 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }\n  return;\n}" primitive_type (function_declarator "FUN_0018d2a4(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  ulong uVar2;\n  long in_FS_OFFSET;\n  rusage rStack_2b8;\n  undefined1 local_228 [520];\n  long local_20;\n  \n  local_20 = *(long *)(in_FS_OFFSET + 0x28);\n  iVar1 = open64("/proc/meminfo",0);\n  if (-1 < iVar1) {\n    while (uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2) {\n      FUN_0015b10f(local_228,uVar2 & 0xffffffff);\n    }\n    close(iVar1);\n  }\n  iVar1 = open64("/proc/stat",0);\n  if (-1 < iVar1) {\n    while (uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2) {\n      FUN_0015b10f(local_228,uVar2 & 0xffffffff);\n    }\n    close(iVar1);\n  }\n  getrusage(RUSAGE_SELF,&rStack_2b8);\n  FUN_0015b10f(&rStack_2b8,0x90);\n  if (local_20 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "ulong uVar2;" type_identifier identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "rusage rStack_2b8;" type_identifier identifier ;) (declaration "undefined1 local_228 [520];" type_identifier (array_declarator "local_228 [520]" identifier [ number_literal ]) ;) (declaration "long local_20;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_20 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_20 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = open64("/proc/meminfo",0);" (assignment_expression "iVar1 = open64("/proc/meminfo",0)" identifier = (call_expression "open64("/proc/meminfo",0)" identifier (argument_list "("/proc/meminfo",0)" ( (string_literal ""/proc/meminfo"" " string_content ") , number_literal )))) ;) (if_statement "if (-1 < iVar1) {\n    while (uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2) {\n      FUN_0015b10f(local_228,uVar2 & 0xffffffff);\n    }\n    close(iVar1);\n  }" if (parenthesized_expression "(-1 < iVar1)" ( (binary_expression "-1 < iVar1" number_literal < identifier) )) (compound_statement "{\n    while (uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2) {\n      FUN_0015b10f(local_228,uVar2 & 0xffffffff);\n    }\n    close(iVar1);\n  }" { (while_statement "while (uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2) {\n      FUN_0015b10f(local_228,uVar2 & 0xffffffff);\n    }" while (parenthesized_expression "(uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2)" ( (comma_expression "uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2" (assignment_expression "uVar2 = read(iVar1,local_228,0x200)" identifier = (call_expression "read(iVar1,local_228,0x200)" identifier (argument_list "(iVar1,local_228,0x200)" ( identifier , identifier , number_literal )))) , (binary_expression "0 < (int)uVar2" number_literal < (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier))) )) (compound_statement "{\n      FUN_0015b10f(local_228,uVar2 & 0xffffffff);\n    }" { (expression_statement "FUN_0015b10f(local_228,uVar2 & 0xffffffff);" (call_expression "FUN_0015b10f(local_228,uVar2 & 0xffffffff)" identifier (argument_list "(local_228,uVar2 & 0xffffffff)" ( identifier , (binary_expression "uVar2 & 0xffffffff" identifier & number_literal) ))) ;) })) (expression_statement "close(iVar1);" (call_expression "close(iVar1)" identifier (argument_list "(iVar1)" ( identifier ))) ;) })) (expression_statement "iVar1 = open64("/proc/stat",0);" (assignment_expression "iVar1 = open64("/proc/stat",0)" identifier = (call_expression "open64("/proc/stat",0)" identifier (argument_list "("/proc/stat",0)" ( (string_literal ""/proc/stat"" " string_content ") , number_literal )))) ;) (if_statement "if (-1 < iVar1) {\n    while (uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2) {\n      FUN_0015b10f(local_228,uVar2 & 0xffffffff);\n    }\n    close(iVar1);\n  }" if (parenthesized_expression "(-1 < iVar1)" ( (binary_expression "-1 < iVar1" number_literal < identifier) )) (compound_statement "{\n    while (uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2) {\n      FUN_0015b10f(local_228,uVar2 & 0xffffffff);\n    }\n    close(iVar1);\n  }" { (while_statement "while (uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2) {\n      FUN_0015b10f(local_228,uVar2 & 0xffffffff);\n    }" while (parenthesized_expression "(uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2)" ( (comma_expression "uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2" (assignment_expression "uVar2 = read(iVar1,local_228,0x200)" identifier = (call_expression "read(iVar1,local_228,0x200)" identifier (argument_list "(iVar1,local_228,0x200)" ( identifier , identifier , number_literal )))) , (binary_expression "0 < (int)uVar2" number_literal < (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier))) )) (compound_statement "{\n      FUN_0015b10f(local_228,uVar2 & 0xffffffff);\n    }" { (expression_statement "FUN_0015b10f(local_228,uVar2 & 0xffffffff);" (call_expression "FUN_0015b10f(local_228,uVar2 & 0xffffffff)" identifier (argument_list "(local_228,uVar2 & 0xffffffff)" ( identifier , (binary_expression "uVar2 & 0xffffffff" identifier & number_literal) ))) ;) })) (expression_statement "close(iVar1);" (call_expression "close(iVar1)" identifier (argument_list "(iVar1)" ( identifier ))) ;) })) (expression_statement "getrusage(RUSAGE_SELF,&rStack_2b8);" (call_expression "getrusage(RUSAGE_SELF,&rStack_2b8)" identifier (argument_list "(RUSAGE_SELF,&rStack_2b8)" ( identifier , (pointer_expression "&rStack_2b8" & identifier) ))) ;) (expression_statement "FUN_0015b10f(&rStack_2b8,0x90);" (call_expression "FUN_0015b10f(&rStack_2b8,0x90)" identifier (argument_list "(&rStack_2b8,0x90)" ( (pointer_expression "&rStack_2b8" & identifier) , number_literal ))) ;) (if_statement "if (local_20 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }" if (parenthesized_expression "(local_20 != *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_20 != *(long *)(in_FS_OFFSET + 0x28)" identifier != (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n    __stack_chk_fail();\n  }" { (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration (sized_type_specifier long) IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT )))) , (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT & LIT) ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT )))) , (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT & LIT) ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (return_statement return ;) })))
(function_definition "void FUN_0018d2a4(void)\n\n{\n  int iVar1;\n  ulong uVar2;\n  long in_FS_OFFSET;\n  rusage rStack_2b8;\n  undefined1 local_228 [520];\n  long local_20;\n  \n  local_20 = *(long *)(in_FS_OFFSET + 0x28);\n  iVar1 = open64("/proc/meminfo",0);\n  if (-1 < iVar1) {\n    while (uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2) {\n      FUN_0015b10f(local_228,uVar2 & 0xffffffff);\n    }\n    close(iVar1);\n  }\n  iVar1 = open64("/proc/stat",0);\n  if (-1 < iVar1) {\n    while (uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2) {\n      FUN_0015b10f(local_228,uVar2 & 0xffffffff);\n    }\n    close(iVar1);\n  }\n  getrusage(RUSAGE_SELF,&rStack_2b8);\n  FUN_0015b10f(&rStack_2b8,0x90);\n  if (local_20 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0018d2a4(void)" (identifier "FUN_0018d2a4") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  int iVar1;\n  ulong uVar2;\n  long in_FS_OFFSET;\n  rusage rStack_2b8;\n  undefined1 local_228 [520];\n  long local_20;\n  \n  local_20 = *(long *)(in_FS_OFFSET + 0x28);\n  iVar1 = open64("/proc/meminfo",0);\n  if (-1 < iVar1) {\n    while (uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2) {\n      FUN_0015b10f(local_228,uVar2 & 0xffffffff);\n    }\n    close(iVar1);\n  }\n  iVar1 = open64("/proc/stat",0);\n  if (-1 < iVar1) {\n    while (uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2) {\n      FUN_0015b10f(local_228,uVar2 & 0xffffffff);\n    }\n    close(iVar1);\n  }\n  getrusage(RUSAGE_SELF,&rStack_2b8);\n  FUN_0015b10f(&rStack_2b8,0x90);\n  if (local_20 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }\n  return;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "ulong uVar2;" (type_identifier "ulong") (identifier "uVar2") (; ";")) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" (long "long")) (identifier "in_FS_OFFSET") (; ";")) (declaration "rusage rStack_2b8;" (type_identifier "rusage") (identifier "rStack_2b8") (; ";")) (declaration "undefined1 local_228 [520];" (type_identifier "undefined1") (array_declarator "local_228 [520]" (identifier "local_228") ([ "[") (number_literal "520") (] "]")) (; ";")) (declaration "long local_20;" (sized_type_specifier "long" (long "long")) (identifier "local_20") (; ";")) (expression_statement "local_20 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_20 = *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_20") (= "=") (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" (* "*") (cast_expression "(long *)(in_FS_OFFSET + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_FS_OFFSET + 0x28)" (( "(") (binary_expression "in_FS_OFFSET + 0x28" (identifier "in_FS_OFFSET") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "iVar1 = open64("/proc/meminfo",0);" (assignment_expression "iVar1 = open64("/proc/meminfo",0)" (identifier "iVar1") (= "=") (call_expression "open64("/proc/meminfo",0)" (identifier "open64") (argument_list "("/proc/meminfo",0)" (( "(") (string_literal ""/proc/meminfo"" (" """) (string_content "/proc/meminfo") (" """)) (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (-1 < iVar1) {\n    while (uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2) {\n      FUN_0015b10f(local_228,uVar2 & 0xffffffff);\n    }\n    close(iVar1);\n  }" (if "if") (parenthesized_expression "(-1 < iVar1)" (( "(") (binary_expression "-1 < iVar1" (number_literal "-1") (< "<") (identifier "iVar1")) () ")")) (compound_statement "{\n    while (uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2) {\n      FUN_0015b10f(local_228,uVar2 & 0xffffffff);\n    }\n    close(iVar1);\n  }" ({ "{") (while_statement "while (uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2) {\n      FUN_0015b10f(local_228,uVar2 & 0xffffffff);\n    }" (while "while") (parenthesized_expression "(uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2)" (( "(") (comma_expression "uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2" (assignment_expression "uVar2 = read(iVar1,local_228,0x200)" (identifier "uVar2") (= "=") (call_expression "read(iVar1,local_228,0x200)" (identifier "read") (argument_list "(iVar1,local_228,0x200)" (( "(") (identifier "iVar1") (, ",") (identifier "local_228") (, ",") (number_literal "0x200") () ")")))) (, ",") (binary_expression "0 < (int)uVar2" (number_literal "0") (< "<") (cast_expression "(int)uVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar2")))) () ")")) (compound_statement "{\n      FUN_0015b10f(local_228,uVar2 & 0xffffffff);\n    }" ({ "{") (expression_statement "FUN_0015b10f(local_228,uVar2 & 0xffffffff);" (call_expression "FUN_0015b10f(local_228,uVar2 & 0xffffffff)" (identifier "FUN_0015b10f") (argument_list "(local_228,uVar2 & 0xffffffff)" (( "(") (identifier "local_228") (, ",") (binary_expression "uVar2 & 0xffffffff" (identifier "uVar2") (& "&") (number_literal "0xffffffff")) () ")"))) (; ";")) (} "}"))) (expression_statement "close(iVar1);" (call_expression "close(iVar1)" (identifier "close") (argument_list "(iVar1)" (( "(") (identifier "iVar1") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar1 = open64("/proc/stat",0);" (assignment_expression "iVar1 = open64("/proc/stat",0)" (identifier "iVar1") (= "=") (call_expression "open64("/proc/stat",0)" (identifier "open64") (argument_list "("/proc/stat",0)" (( "(") (string_literal ""/proc/stat"" (" """) (string_content "/proc/stat") (" """)) (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (-1 < iVar1) {\n    while (uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2) {\n      FUN_0015b10f(local_228,uVar2 & 0xffffffff);\n    }\n    close(iVar1);\n  }" (if "if") (parenthesized_expression "(-1 < iVar1)" (( "(") (binary_expression "-1 < iVar1" (number_literal "-1") (< "<") (identifier "iVar1")) () ")")) (compound_statement "{\n    while (uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2) {\n      FUN_0015b10f(local_228,uVar2 & 0xffffffff);\n    }\n    close(iVar1);\n  }" ({ "{") (while_statement "while (uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2) {\n      FUN_0015b10f(local_228,uVar2 & 0xffffffff);\n    }" (while "while") (parenthesized_expression "(uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2)" (( "(") (comma_expression "uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2" (assignment_expression "uVar2 = read(iVar1,local_228,0x200)" (identifier "uVar2") (= "=") (call_expression "read(iVar1,local_228,0x200)" (identifier "read") (argument_list "(iVar1,local_228,0x200)" (( "(") (identifier "iVar1") (, ",") (identifier "local_228") (, ",") (number_literal "0x200") () ")")))) (, ",") (binary_expression "0 < (int)uVar2" (number_literal "0") (< "<") (cast_expression "(int)uVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar2")))) () ")")) (compound_statement "{\n      FUN_0015b10f(local_228,uVar2 & 0xffffffff);\n    }" ({ "{") (expression_statement "FUN_0015b10f(local_228,uVar2 & 0xffffffff);" (call_expression "FUN_0015b10f(local_228,uVar2 & 0xffffffff)" (identifier "FUN_0015b10f") (argument_list "(local_228,uVar2 & 0xffffffff)" (( "(") (identifier "local_228") (, ",") (binary_expression "uVar2 & 0xffffffff" (identifier "uVar2") (& "&") (number_literal "0xffffffff")) () ")"))) (; ";")) (} "}"))) (expression_statement "close(iVar1);" (call_expression "close(iVar1)" (identifier "close") (argument_list "(iVar1)" (( "(") (identifier "iVar1") () ")"))) (; ";")) (} "}"))) (expression_statement "getrusage(RUSAGE_SELF,&rStack_2b8);" (call_expression "getrusage(RUSAGE_SELF,&rStack_2b8)" (identifier "getrusage") (argument_list "(RUSAGE_SELF,&rStack_2b8)" (( "(") (identifier "RUSAGE_SELF") (, ",") (pointer_expression "&rStack_2b8" (& "&") (identifier "rStack_2b8")) () ")"))) (; ";")) (expression_statement "FUN_0015b10f(&rStack_2b8,0x90);" (call_expression "FUN_0015b10f(&rStack_2b8,0x90)" (identifier "FUN_0015b10f") (argument_list "(&rStack_2b8,0x90)" (( "(") (pointer_expression "&rStack_2b8" (& "&") (identifier "rStack_2b8")) (, ",") (number_literal "0x90") () ")"))) (; ";")) (if_statement "if (local_20 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }" (if "if") (parenthesized_expression "(local_20 != *(long *)(in_FS_OFFSET + 0x28))" (( "(") (binary_expression "local_20 != *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_20") (!= "!=") (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" (* "*") (cast_expression "(long *)(in_FS_OFFSET + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_FS_OFFSET + 0x28)" (( "(") (binary_expression "in_FS_OFFSET + 0x28" (identifier "in_FS_OFFSET") (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (compound_statement "{\n                    \n    __stack_chk_fail();\n  }" ({ "{") (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" (identifier "__stack_chk_fail") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Unknown calling convention -- yet parameter storage is locked */

void function_1(void)

{
  long var_8;
  int var_3;
  ssize_t sVar3;
  long var_1;
  type_1 type_1;
  char buf [512];
  
  var_8 = *(long *)(var_1 + 0x28);
  var_3 = var_2("/proc/meminfo",0);
  if (-1 < var_3) {
    while( true ) {
      sVar3 = var_4(var_3,buf,0x200);
      if ((int)sVar3 < 1) break;
      var_5(buf,(int)sVar3);
    }
    var_6(var_3);
  }
  var_3 = var_2("/proc/stat",0);
  if (-1 < var_3) {
    while( true ) {
      sVar3 = var_4(var_3,buf,0x200);
      if ((int)sVar3 < 1) break;
      var_5(buf,(int)sVar3);
    }
    var_6(var_3);
  }
  var_7(RUSAGE_SELF,(type_1 *)&type_1);
  var_5(&type_1,0x90);
  if (var_8 != *(long *)(var_1 + 0x28)) {
                    /* WARNING: Subroutine does not return */
    var_9();
  }
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (sized_type_specifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal)))) right: (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) body: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal)))) right: (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) body: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (return_statement))))

void MASKED(void)

{
  int iVar1;
  ulong uVar2;
  long in_FS_OFFSET;
  rusage rStack_2b8;
  undefined1 local_228 [520];
  long local_20;
  
  local_20 = *(long *)(in_FS_OFFSET + 0x28);
  iVar1 = open64("/proc/meminfo",0);
  if (-1 < iVar1) {
    while (uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2) {
      FUN_0015b10f(local_228,uVar2 & 0xffffffff);
    }
    close(iVar1);
  }
  iVar1 = open64("/proc/stat",0);
  if (-1 < iVar1) {
    while (uVar2 = read(iVar1,local_228,0x200), 0 < (int)uVar2) {
      FUN_0015b10f(local_228,uVar2 & 0xffffffff);
    }
    close(iVar1);
  }
  getrusage(RUSAGE_SELF,&rStack_2b8);
  FUN_0015b10f(&rStack_2b8,0x90);
  if (local_20 != *(long *)(in_FS_OFFSET + 0x28)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail();
  }
  return;
}

