
int volume_id_probe_sysv(volume_id *id)

{
  void *pvVar1;
  size_t in_a1;
  uint8_t *buf;
  int iVar2;
  undefined4 in_stack_ffffffd4;
  
  iVar2 = 3;
  while( true ) {
    pvVar1 = volume_id_get_buffer(id,CONCAT44(0x200,in_stack_ffffffd4),in_a1);
    if (pvVar1 == (void *)0x0) {
      return -1;
    }
    if ((*(int *)((int)pvVar1 + 0x1f8) == 0x207e18fd) ||
       (iVar2 = iVar2 + -1, *(int *)((int)pvVar1 + 0x1f8) == -0x2e781e0)) break;
    if (iVar2 == 0) {
      iVar2 = 3;
      while( true ) {
        pvVar1 = volume_id_get_buffer(id,CONCAT44(0x200,in_stack_ffffffd4),in_a1);
        if (pvVar1 == (void *)0x0) {
          return -1;
        }
        if ((*(int *)((int)pvVar1 + 0x3f8) == 0x44552b00) ||
           (iVar2 = iVar2 + -1, *(int *)((int)pvVar1 + 0x3f8) == 0x2b5544)) break;
        if (iVar2 == 0) {
          return -1;
        }
      }
      buf = (uint8_t *)((int)pvVar1 + 0x278);
LAB_00097224:
      volume_id_set_label_string(id,buf,6);
      return 0;
    }
  }
  buf = (uint8_t *)((int)pvVar1 + 0x1b8);
  goto LAB_00097224;
}



undefined4 FUN_00097100(undefined4 param_1)

{
  int iVar1;
  int iVar2;
  
  iVar2 = 3;
  while( true ) {
    iVar1 = FUN_00097bf8(param_1);
    if (iVar1 == 0) {
      return 0xffffffff;
    }
    if ((*(int *)(iVar1 + 0x1f8) == 0x207e18fd) ||
       (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x1f8) == -0x2e781e0)) break;
    if (iVar2 == 0) {
      iVar2 = 3;
      while( true ) {
        iVar1 = FUN_00097bf8(param_1);
        if (iVar1 == 0) {
          return 0xffffffff;
        }
        if ((*(int *)(iVar1 + 0x3f8) == 0x44552b00) ||
           (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544)) break;
        if (iVar2 == 0) {
          return 0xffffffff;
        }
      }
      iVar1 = iVar1 + 0x278;
LAB_00097224:
      FUN_00097838(param_1,iVar1,6);
      return 0;
    }
  }
  iVar1 = iVar1 + 0x1b8;
  goto LAB_00097224;
}


lui gp,0xa
addiu gp,gp,-0x4fb0
addu gp,gp,t9
addiu sp,sp,-0x40
sw s3,0x2c(sp)
lui s3,0x207e
sw s1,0x24(sp)
lui s1,0xfd18
sw s2,0x28(sp)
addiu s3,s3,0x18fd
sw s6,0x38(sp)
addiu s1,s1,0x7e20
sw s5,0x34(sp)
li s6,0x200
sw s4,0x30(sp)
li s5,0x3
sw s0,0x20(sp)
li s4,0x200
sw gp,0x18(sp)
or s0,a0,zero
sw ra,0x3c(sp)
lw s2,-0x7780(gp)
or a2,zero,zero
sw s6,0x10(sp)
or a3,s4,zero
or t9,s2,zero
bal 0x00097bf8
_or a0,s0,zero
bne v0,zero,0x000971a4
_lw gp,0x18(sp)
li v0,-0x1
lw ra,0x3c(sp)
lw s6,0x38(sp)
lw s5,0x34(sp)
lw s4,0x30(sp)
lw s3,0x2c(sp)
lw s2,0x28(sp)
lw s1,0x24(sp)
lw s0,0x20(sp)
jr ra
_addiu sp,sp,0x40
lwl v1,0x1f8(v0)
lwr v1,0x1fb(v0)
bne v1,s3,0x000971c0
_nop
li a2,0x6
b 0x00097224
_addiu a1,v0,0x1b8
beq v1,s1,0x000971b4
_addiu s5,s5,-0x1
bne s5,zero,0x00097158
_sll s4,s4,0x1
lui s3,0x4455
lui s1,0x2b
li s5,0x3
li s4,0x200
li s6,0x200
addiu s3,s3,0x2b00
addiu s1,s1,0x5544
addiu a3,s4,0x18
sw s6,0x10(sp)
or a2,zero,zero
or t9,s2,zero
bal 0x00097bf8
_or a0,s0,zero
beq v0,zero,0x00097178
_lw gp,0x18(sp)
lwl v1,0x3f8(v0)
lwr v1,0x3fb(v0)
bne v1,s3,0x0009725c
_nop
li a2,0x6
addiu a1,v0,0x278
lw t9,-0x7778(gp)
bal 0x00097838
_or a0,s0,zero
or v0,zero,zero
lw ra,0x3c(sp)
lw s6,0x38(sp)
lw s5,0x34(sp)
lw s4,0x30(sp)
lw s3,0x2c(sp)
lw s2,0x28(sp)
lw s1,0x24(sp)
lw s0,0x20(sp)
jr ra
_addiu sp,sp,0x40
beq v1,s1,0x0009721c
_addiu s5,s5,-0x1
bne s5,zero,0x000971ec
_sll s4,s4,0x1
b 0x0009717c
_li v0,-0x1
(translation_unit "undefined4 FUN_00097100(undefined4 param_1)\n\n{\n  int iVar1;\n  int iVar2;\n  \n  iVar2 = 3;\n  while( true ) {\n    iVar1 = FUN_00097bf8(param_1);\n    if (iVar1 == 0) {\n      return 0xffffffff;\n    }\n    if ((*(int *)(iVar1 + 0x1f8) == 0x207e18fd) ||\n       (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x1f8) == -0x2e781e0)) break;\n    if (iVar2 == 0) {\n      iVar2 = 3;\n      while( true ) {\n        iVar1 = FUN_00097bf8(param_1);\n        if (iVar1 == 0) {\n          return 0xffffffff;\n        }\n        if ((*(int *)(iVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544)) break;\n        if (iVar2 == 0) {\n          return 0xffffffff;\n        }\n      }\n      iVar1 = iVar1 + 0x278;\nLAB_00097224:\n      FUN_00097838(param_1,iVar1,6);\n      return 0;\n    }\n  }\n  iVar1 = iVar1 + 0x1b8;\n  goto LAB_00097224;\n}\n\n" (function_definition "undefined4 FUN_00097100(undefined4 param_1)\n\n{\n  int iVar1;\n  int iVar2;\n  \n  iVar2 = 3;\n  while( true ) {\n    iVar1 = FUN_00097bf8(param_1);\n    if (iVar1 == 0) {\n      return 0xffffffff;\n    }\n    if ((*(int *)(iVar1 + 0x1f8) == 0x207e18fd) ||\n       (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x1f8) == -0x2e781e0)) break;\n    if (iVar2 == 0) {\n      iVar2 = 3;\n      while( true ) {\n        iVar1 = FUN_00097bf8(param_1);\n        if (iVar1 == 0) {\n          return 0xffffffff;\n        }\n        if ((*(int *)(iVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544)) break;\n        if (iVar2 == 0) {\n          return 0xffffffff;\n        }\n      }\n      iVar1 = iVar1 + 0x278;\nLAB_00097224:\n      FUN_00097838(param_1,iVar1,6);\n      return 0;\n    }\n  }\n  iVar1 = iVar1 + 0x1b8;\n  goto LAB_00097224;\n}" type_identifier (function_declarator "FUN_00097100(undefined4 param_1)" identifier (parameter_list "(undefined4 param_1)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  \n  iVar2 = 3;\n  while( true ) {\n    iVar1 = FUN_00097bf8(param_1);\n    if (iVar1 == 0) {\n      return 0xffffffff;\n    }\n    if ((*(int *)(iVar1 + 0x1f8) == 0x207e18fd) ||\n       (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x1f8) == -0x2e781e0)) break;\n    if (iVar2 == 0) {\n      iVar2 = 3;\n      while( true ) {\n        iVar1 = FUN_00097bf8(param_1);\n        if (iVar1 == 0) {\n          return 0xffffffff;\n        }\n        if ((*(int *)(iVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544)) break;\n        if (iVar2 == 0) {\n          return 0xffffffff;\n        }\n      }\n      iVar1 = iVar1 + 0x278;\nLAB_00097224:\n      FUN_00097838(param_1,iVar1,6);\n      return 0;\n    }\n  }\n  iVar1 = iVar1 + 0x1b8;\n  goto LAB_00097224;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (expression_statement "iVar2 = 3;" (assignment_expression "iVar2 = 3" identifier = number_literal) ;) (while_statement "while( true ) {\n    iVar1 = FUN_00097bf8(param_1);\n    if (iVar1 == 0) {\n      return 0xffffffff;\n    }\n    if ((*(int *)(iVar1 + 0x1f8) == 0x207e18fd) ||\n       (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x1f8) == -0x2e781e0)) break;\n    if (iVar2 == 0) {\n      iVar2 = 3;\n      while( true ) {\n        iVar1 = FUN_00097bf8(param_1);\n        if (iVar1 == 0) {\n          return 0xffffffff;\n        }\n        if ((*(int *)(iVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544)) break;\n        if (iVar2 == 0) {\n          return 0xffffffff;\n        }\n      }\n      iVar1 = iVar1 + 0x278;\nLAB_00097224:\n      FUN_00097838(param_1,iVar1,6);\n      return 0;\n    }\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    iVar1 = FUN_00097bf8(param_1);\n    if (iVar1 == 0) {\n      return 0xffffffff;\n    }\n    if ((*(int *)(iVar1 + 0x1f8) == 0x207e18fd) ||\n       (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x1f8) == -0x2e781e0)) break;\n    if (iVar2 == 0) {\n      iVar2 = 3;\n      while( true ) {\n        iVar1 = FUN_00097bf8(param_1);\n        if (iVar1 == 0) {\n          return 0xffffffff;\n        }\n        if ((*(int *)(iVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544)) break;\n        if (iVar2 == 0) {\n          return 0xffffffff;\n        }\n      }\n      iVar1 = iVar1 + 0x278;\nLAB_00097224:\n      FUN_00097838(param_1,iVar1,6);\n      return 0;\n    }\n  }" { (expression_statement "iVar1 = FUN_00097bf8(param_1);" (assignment_expression "iVar1 = FUN_00097bf8(param_1)" identifier = (call_expression "FUN_00097bf8(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if (iVar1 == 0) {\n      return 0xffffffff;\n    }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n      return 0xffffffff;\n    }" { (return_statement "return 0xffffffff;" return number_literal ;) })) (if_statement "if ((*(int *)(iVar1 + 0x1f8) == 0x207e18fd) ||\n       (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x1f8) == -0x2e781e0)) break;" if (parenthesized_expression "((*(int *)(iVar1 + 0x1f8) == 0x207e18fd) ||\n       (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x1f8) == -0x2e781e0))" ( (binary_expression "(*(int *)(iVar1 + 0x1f8) == 0x207e18fd) ||\n       (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x1f8) == -0x2e781e0)" (parenthesized_expression "(*(int *)(iVar1 + 0x1f8) == 0x207e18fd)" ( (binary_expression "*(int *)(iVar1 + 0x1f8) == 0x207e18fd" (pointer_expression "*(int *)(iVar1 + 0x1f8)" * (cast_expression "(int *)(iVar1 + 0x1f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x1f8)" ( (binary_expression "iVar1 + 0x1f8" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "(iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x1f8) == -0x2e781e0)" ( (comma_expression "iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x1f8) == -0x2e781e0" (assignment_expression "iVar2 = iVar2 + -1" identifier = (binary_expression "iVar2 + -1" identifier + number_literal)) , (binary_expression "*(int *)(iVar1 + 0x1f8) == -0x2e781e0" (pointer_expression "*(int *)(iVar1 + 0x1f8)" * (cast_expression "(int *)(iVar1 + 0x1f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x1f8)" ( (binary_expression "iVar1 + 0x1f8" identifier + number_literal) )))) == number_literal)) ))) )) (break_statement "break;" break ;)) (if_statement "if (iVar2 == 0) {\n      iVar2 = 3;\n      while( true ) {\n        iVar1 = FUN_00097bf8(param_1);\n        if (iVar1 == 0) {\n          return 0xffffffff;\n        }\n        if ((*(int *)(iVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544)) break;\n        if (iVar2 == 0) {\n          return 0xffffffff;\n        }\n      }\n      iVar1 = iVar1 + 0x278;\nLAB_00097224:\n      FUN_00097838(param_1,iVar1,6);\n      return 0;\n    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar2 = 3;\n      while( true ) {\n        iVar1 = FUN_00097bf8(param_1);\n        if (iVar1 == 0) {\n          return 0xffffffff;\n        }\n        if ((*(int *)(iVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544)) break;\n        if (iVar2 == 0) {\n          return 0xffffffff;\n        }\n      }\n      iVar1 = iVar1 + 0x278;\nLAB_00097224:\n      FUN_00097838(param_1,iVar1,6);\n      return 0;\n    }" { (expression_statement "iVar2 = 3;" (assignment_expression "iVar2 = 3" identifier = number_literal) ;) (while_statement "while( true ) {\n        iVar1 = FUN_00097bf8(param_1);\n        if (iVar1 == 0) {\n          return 0xffffffff;\n        }\n        if ((*(int *)(iVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544)) break;\n        if (iVar2 == 0) {\n          return 0xffffffff;\n        }\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        iVar1 = FUN_00097bf8(param_1);\n        if (iVar1 == 0) {\n          return 0xffffffff;\n        }\n        if ((*(int *)(iVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544)) break;\n        if (iVar2 == 0) {\n          return 0xffffffff;\n        }\n      }" { (expression_statement "iVar1 = FUN_00097bf8(param_1);" (assignment_expression "iVar1 = FUN_00097bf8(param_1)" identifier = (call_expression "FUN_00097bf8(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if (iVar1 == 0) {\n          return 0xffffffff;\n        }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n          return 0xffffffff;\n        }" { (return_statement "return 0xffffffff;" return number_literal ;) })) (if_statement "if ((*(int *)(iVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544)) break;" if (parenthesized_expression "((*(int *)(iVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544))" ( (binary_expression "(*(int *)(iVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544)" (parenthesized_expression "(*(int *)(iVar1 + 0x3f8) == 0x44552b00)" ( (binary_expression "*(int *)(iVar1 + 0x3f8) == 0x44552b00" (pointer_expression "*(int *)(iVar1 + 0x3f8)" * (cast_expression "(int *)(iVar1 + 0x3f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x3f8)" ( (binary_expression "iVar1 + 0x3f8" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "(iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544)" ( (comma_expression "iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544" (assignment_expression "iVar2 = iVar2 + -1" identifier = (binary_expression "iVar2 + -1" identifier + number_literal)) , (binary_expression "*(int *)(iVar1 + 0x3f8) == 0x2b5544" (pointer_expression "*(int *)(iVar1 + 0x3f8)" * (cast_expression "(int *)(iVar1 + 0x3f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x3f8)" ( (binary_expression "iVar1 + 0x3f8" identifier + number_literal) )))) == number_literal)) ))) )) (break_statement "break;" break ;)) (if_statement "if (iVar2 == 0) {\n          return 0xffffffff;\n        }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n          return 0xffffffff;\n        }" { (return_statement "return 0xffffffff;" return number_literal ;) })) })) (expression_statement "iVar1 = iVar1 + 0x278;" (assignment_expression "iVar1 = iVar1 + 0x278" identifier = (binary_expression "iVar1 + 0x278" identifier + number_literal)) ;) (labeled_statement "LAB_00097224:\n      FUN_00097838(param_1,iVar1,6);" statement_identifier : (expression_statement "FUN_00097838(param_1,iVar1,6);" (call_expression "FUN_00097838(param_1,iVar1,6)" identifier (argument_list "(param_1,iVar1,6)" ( identifier , identifier , number_literal ))) ;)) (return_statement "return 0;" return number_literal ;) })) })) (expression_statement "iVar1 = iVar1 + 0x1b8;" (assignment_expression "iVar1 = iVar1 + 0x1b8" identifier = (binary_expression "iVar1 + 0x1b8" identifier + number_literal)) ;) (goto_statement "goto LAB_00097224;" goto statement_identifier ;) })))
(translation_unit "int volume_id_probe_sysv(volume_id *id)\n\n{\n  void *pvVar1;\n  size_t in_a1;\n  uint8_t *buf;\n  int iVar2;\n  undefined4 in_stack_ffffffd4;\n  \n  iVar2 = 3;\n  while( true ) {\n    pvVar1 = volume_id_get_buffer(id,CONCAT44(0x200,in_stack_ffffffd4),in_a1);\n    if (pvVar1 == (void *)0x0) {\n      return -1;\n    }\n    if ((*(int *)((int)pvVar1 + 0x1f8) == 0x207e18fd) ||\n       (iVar2 = iVar2 + -1, *(int *)((int)pvVar1 + 0x1f8) == -0x2e781e0)) break;\n    if (iVar2 == 0) {\n      iVar2 = 3;\n      while( true ) {\n        pvVar1 = volume_id_get_buffer(id,CONCAT44(0x200,in_stack_ffffffd4),in_a1);\n        if (pvVar1 == (void *)0x0) {\n          return -1;\n        }\n        if ((*(int *)((int)pvVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)((int)pvVar1 + 0x3f8) == 0x2b5544)) break;\n        if (iVar2 == 0) {\n          return -1;\n        }\n      }\n      buf = (uint8_t *)((int)pvVar1 + 0x278);\nLAB_00097224:\n      volume_id_set_label_string(id,buf,6);\n      return 0;\n    }\n  }\n  buf = (uint8_t *)((int)pvVar1 + 0x1b8);\n  goto LAB_00097224;\n}\n\n" (function_definition "int volume_id_probe_sysv(volume_id *id)\n\n{\n  void *pvVar1;\n  size_t in_a1;\n  uint8_t *buf;\n  int iVar2;\n  undefined4 in_stack_ffffffd4;\n  \n  iVar2 = 3;\n  while( true ) {\n    pvVar1 = volume_id_get_buffer(id,CONCAT44(0x200,in_stack_ffffffd4),in_a1);\n    if (pvVar1 == (void *)0x0) {\n      return -1;\n    }\n    if ((*(int *)((int)pvVar1 + 0x1f8) == 0x207e18fd) ||\n       (iVar2 = iVar2 + -1, *(int *)((int)pvVar1 + 0x1f8) == -0x2e781e0)) break;\n    if (iVar2 == 0) {\n      iVar2 = 3;\n      while( true ) {\n        pvVar1 = volume_id_get_buffer(id,CONCAT44(0x200,in_stack_ffffffd4),in_a1);\n        if (pvVar1 == (void *)0x0) {\n          return -1;\n        }\n        if ((*(int *)((int)pvVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)((int)pvVar1 + 0x3f8) == 0x2b5544)) break;\n        if (iVar2 == 0) {\n          return -1;\n        }\n      }\n      buf = (uint8_t *)((int)pvVar1 + 0x278);\nLAB_00097224:\n      volume_id_set_label_string(id,buf,6);\n      return 0;\n    }\n  }\n  buf = (uint8_t *)((int)pvVar1 + 0x1b8);\n  goto LAB_00097224;\n}" primitive_type (function_declarator "volume_id_probe_sysv(volume_id *id)" identifier (parameter_list "(volume_id *id)" ( (parameter_declaration "volume_id *id" type_identifier (pointer_declarator "*id" * identifier)) ))) (compound_statement "{\n  void *pvVar1;\n  size_t in_a1;\n  uint8_t *buf;\n  int iVar2;\n  undefined4 in_stack_ffffffd4;\n  \n  iVar2 = 3;\n  while( true ) {\n    pvVar1 = volume_id_get_buffer(id,CONCAT44(0x200,in_stack_ffffffd4),in_a1);\n    if (pvVar1 == (void *)0x0) {\n      return -1;\n    }\n    if ((*(int *)((int)pvVar1 + 0x1f8) == 0x207e18fd) ||\n       (iVar2 = iVar2 + -1, *(int *)((int)pvVar1 + 0x1f8) == -0x2e781e0)) break;\n    if (iVar2 == 0) {\n      iVar2 = 3;\n      while( true ) {\n        pvVar1 = volume_id_get_buffer(id,CONCAT44(0x200,in_stack_ffffffd4),in_a1);\n        if (pvVar1 == (void *)0x0) {\n          return -1;\n        }\n        if ((*(int *)((int)pvVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)((int)pvVar1 + 0x3f8) == 0x2b5544)) break;\n        if (iVar2 == 0) {\n          return -1;\n        }\n      }\n      buf = (uint8_t *)((int)pvVar1 + 0x278);\nLAB_00097224:\n      volume_id_set_label_string(id,buf,6);\n      return 0;\n    }\n  }\n  buf = (uint8_t *)((int)pvVar1 + 0x1b8);\n  goto LAB_00097224;\n}" { (declaration "void *pvVar1;" primitive_type (pointer_declarator "*pvVar1" * identifier) ;) (declaration "size_t in_a1;" primitive_type identifier ;) (declaration "uint8_t *buf;" primitive_type (pointer_declarator "*buf" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 in_stack_ffffffd4;" type_identifier identifier ;) (expression_statement "iVar2 = 3;" (assignment_expression "iVar2 = 3" identifier = number_literal) ;) (while_statement "while( true ) {\n    pvVar1 = volume_id_get_buffer(id,CONCAT44(0x200,in_stack_ffffffd4),in_a1);\n    if (pvVar1 == (void *)0x0) {\n      return -1;\n    }\n    if ((*(int *)((int)pvVar1 + 0x1f8) == 0x207e18fd) ||\n       (iVar2 = iVar2 + -1, *(int *)((int)pvVar1 + 0x1f8) == -0x2e781e0)) break;\n    if (iVar2 == 0) {\n      iVar2 = 3;\n      while( true ) {\n        pvVar1 = volume_id_get_buffer(id,CONCAT44(0x200,in_stack_ffffffd4),in_a1);\n        if (pvVar1 == (void *)0x0) {\n          return -1;\n        }\n        if ((*(int *)((int)pvVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)((int)pvVar1 + 0x3f8) == 0x2b5544)) break;\n        if (iVar2 == 0) {\n          return -1;\n        }\n      }\n      buf = (uint8_t *)((int)pvVar1 + 0x278);\nLAB_00097224:\n      volume_id_set_label_string(id,buf,6);\n      return 0;\n    }\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    pvVar1 = volume_id_get_buffer(id,CONCAT44(0x200,in_stack_ffffffd4),in_a1);\n    if (pvVar1 == (void *)0x0) {\n      return -1;\n    }\n    if ((*(int *)((int)pvVar1 + 0x1f8) == 0x207e18fd) ||\n       (iVar2 = iVar2 + -1, *(int *)((int)pvVar1 + 0x1f8) == -0x2e781e0)) break;\n    if (iVar2 == 0) {\n      iVar2 = 3;\n      while( true ) {\n        pvVar1 = volume_id_get_buffer(id,CONCAT44(0x200,in_stack_ffffffd4),in_a1);\n        if (pvVar1 == (void *)0x0) {\n          return -1;\n        }\n        if ((*(int *)((int)pvVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)((int)pvVar1 + 0x3f8) == 0x2b5544)) break;\n        if (iVar2 == 0) {\n          return -1;\n        }\n      }\n      buf = (uint8_t *)((int)pvVar1 + 0x278);\nLAB_00097224:\n      volume_id_set_label_string(id,buf,6);\n      return 0;\n    }\n  }" { (expression_statement "pvVar1 = volume_id_get_buffer(id,CONCAT44(0x200,in_stack_ffffffd4),in_a1);" (assignment_expression "pvVar1 = volume_id_get_buffer(id,CONCAT44(0x200,in_stack_ffffffd4),in_a1)" identifier = (call_expression "volume_id_get_buffer(id,CONCAT44(0x200,in_stack_ffffffd4),in_a1)" identifier (argument_list "(id,CONCAT44(0x200,in_stack_ffffffd4),in_a1)" ( identifier , (call_expression "CONCAT44(0x200,in_stack_ffffffd4)" identifier (argument_list "(0x200,in_stack_ffffffd4)" ( number_literal , identifier ))) , identifier )))) ;) (if_statement "if (pvVar1 == (void *)0x0) {\n      return -1;\n    }" if (parenthesized_expression "(pvVar1 == (void *)0x0)" ( (binary_expression "pvVar1 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return -1;\n    }" { (return_statement "return -1;" return number_literal ;) })) (if_statement "if ((*(int *)((int)pvVar1 + 0x1f8) == 0x207e18fd) ||\n       (iVar2 = iVar2 + -1, *(int *)((int)pvVar1 + 0x1f8) == -0x2e781e0)) break;" if (parenthesized_expression "((*(int *)((int)pvVar1 + 0x1f8) == 0x207e18fd) ||\n       (iVar2 = iVar2 + -1, *(int *)((int)pvVar1 + 0x1f8) == -0x2e781e0))" ( (binary_expression "(*(int *)((int)pvVar1 + 0x1f8) == 0x207e18fd) ||\n       (iVar2 = iVar2 + -1, *(int *)((int)pvVar1 + 0x1f8) == -0x2e781e0)" (parenthesized_expression "(*(int *)((int)pvVar1 + 0x1f8) == 0x207e18fd)" ( (binary_expression "*(int *)((int)pvVar1 + 0x1f8) == 0x207e18fd" (pointer_expression "*(int *)((int)pvVar1 + 0x1f8)" * (cast_expression "(int *)((int)pvVar1 + 0x1f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar1 + 0x1f8)" ( (binary_expression "(int)pvVar1 + 0x1f8" (cast_expression "(int)pvVar1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) || (parenthesized_expression "(iVar2 = iVar2 + -1, *(int *)((int)pvVar1 + 0x1f8) == -0x2e781e0)" ( (comma_expression "iVar2 = iVar2 + -1, *(int *)((int)pvVar1 + 0x1f8) == -0x2e781e0" (assignment_expression "iVar2 = iVar2 + -1" identifier = (binary_expression "iVar2 + -1" identifier + number_literal)) , (binary_expression "*(int *)((int)pvVar1 + 0x1f8) == -0x2e781e0" (pointer_expression "*(int *)((int)pvVar1 + 0x1f8)" * (cast_expression "(int *)((int)pvVar1 + 0x1f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar1 + 0x1f8)" ( (binary_expression "(int)pvVar1 + 0x1f8" (cast_expression "(int)pvVar1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal)) ))) )) (break_statement "break;" break ;)) (if_statement "if (iVar2 == 0) {\n      iVar2 = 3;\n      while( true ) {\n        pvVar1 = volume_id_get_buffer(id,CONCAT44(0x200,in_stack_ffffffd4),in_a1);\n        if (pvVar1 == (void *)0x0) {\n          return -1;\n        }\n        if ((*(int *)((int)pvVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)((int)pvVar1 + 0x3f8) == 0x2b5544)) break;\n        if (iVar2 == 0) {\n          return -1;\n        }\n      }\n      buf = (uint8_t *)((int)pvVar1 + 0x278);\nLAB_00097224:\n      volume_id_set_label_string(id,buf,6);\n      return 0;\n    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar2 = 3;\n      while( true ) {\n        pvVar1 = volume_id_get_buffer(id,CONCAT44(0x200,in_stack_ffffffd4),in_a1);\n        if (pvVar1 == (void *)0x0) {\n          return -1;\n        }\n        if ((*(int *)((int)pvVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)((int)pvVar1 + 0x3f8) == 0x2b5544)) break;\n        if (iVar2 == 0) {\n          return -1;\n        }\n      }\n      buf = (uint8_t *)((int)pvVar1 + 0x278);\nLAB_00097224:\n      volume_id_set_label_string(id,buf,6);\n      return 0;\n    }" { (expression_statement "iVar2 = 3;" (assignment_expression "iVar2 = 3" identifier = number_literal) ;) (while_statement "while( true ) {\n        pvVar1 = volume_id_get_buffer(id,CONCAT44(0x200,in_stack_ffffffd4),in_a1);\n        if (pvVar1 == (void *)0x0) {\n          return -1;\n        }\n        if ((*(int *)((int)pvVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)((int)pvVar1 + 0x3f8) == 0x2b5544)) break;\n        if (iVar2 == 0) {\n          return -1;\n        }\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        pvVar1 = volume_id_get_buffer(id,CONCAT44(0x200,in_stack_ffffffd4),in_a1);\n        if (pvVar1 == (void *)0x0) {\n          return -1;\n        }\n        if ((*(int *)((int)pvVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)((int)pvVar1 + 0x3f8) == 0x2b5544)) break;\n        if (iVar2 == 0) {\n          return -1;\n        }\n      }" { (expression_statement "pvVar1 = volume_id_get_buffer(id,CONCAT44(0x200,in_stack_ffffffd4),in_a1);" (assignment_expression "pvVar1 = volume_id_get_buffer(id,CONCAT44(0x200,in_stack_ffffffd4),in_a1)" identifier = (call_expression "volume_id_get_buffer(id,CONCAT44(0x200,in_stack_ffffffd4),in_a1)" identifier (argument_list "(id,CONCAT44(0x200,in_stack_ffffffd4),in_a1)" ( identifier , (call_expression "CONCAT44(0x200,in_stack_ffffffd4)" identifier (argument_list "(0x200,in_stack_ffffffd4)" ( number_literal , identifier ))) , identifier )))) ;) (if_statement "if (pvVar1 == (void *)0x0) {\n          return -1;\n        }" if (parenthesized_expression "(pvVar1 == (void *)0x0)" ( (binary_expression "pvVar1 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          return -1;\n        }" { (return_statement "return -1;" return number_literal ;) })) (if_statement "if ((*(int *)((int)pvVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)((int)pvVar1 + 0x3f8) == 0x2b5544)) break;" if (parenthesized_expression "((*(int *)((int)pvVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)((int)pvVar1 + 0x3f8) == 0x2b5544))" ( (binary_expression "(*(int *)((int)pvVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)((int)pvVar1 + 0x3f8) == 0x2b5544)" (parenthesized_expression "(*(int *)((int)pvVar1 + 0x3f8) == 0x44552b00)" ( (binary_expression "*(int *)((int)pvVar1 + 0x3f8) == 0x44552b00" (pointer_expression "*(int *)((int)pvVar1 + 0x3f8)" * (cast_expression "(int *)((int)pvVar1 + 0x3f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar1 + 0x3f8)" ( (binary_expression "(int)pvVar1 + 0x3f8" (cast_expression "(int)pvVar1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) || (parenthesized_expression "(iVar2 = iVar2 + -1, *(int *)((int)pvVar1 + 0x3f8) == 0x2b5544)" ( (comma_expression "iVar2 = iVar2 + -1, *(int *)((int)pvVar1 + 0x3f8) == 0x2b5544" (assignment_expression "iVar2 = iVar2 + -1" identifier = (binary_expression "iVar2 + -1" identifier + number_literal)) , (binary_expression "*(int *)((int)pvVar1 + 0x3f8) == 0x2b5544" (pointer_expression "*(int *)((int)pvVar1 + 0x3f8)" * (cast_expression "(int *)((int)pvVar1 + 0x3f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar1 + 0x3f8)" ( (binary_expression "(int)pvVar1 + 0x3f8" (cast_expression "(int)pvVar1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal)) ))) )) (break_statement "break;" break ;)) (if_statement "if (iVar2 == 0) {\n          return -1;\n        }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n          return -1;\n        }" { (return_statement "return -1;" return number_literal ;) })) })) (expression_statement "buf = (uint8_t *)((int)pvVar1 + 0x278);" (assignment_expression "buf = (uint8_t *)((int)pvVar1 + 0x278)" identifier = (cast_expression "(uint8_t *)((int)pvVar1 + 0x278)" ( (type_descriptor "uint8_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar1 + 0x278)" ( (binary_expression "(int)pvVar1 + 0x278" (cast_expression "(int)pvVar1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (labeled_statement "LAB_00097224:\n      volume_id_set_label_string(id,buf,6);" statement_identifier : (expression_statement "volume_id_set_label_string(id,buf,6);" (call_expression "volume_id_set_label_string(id,buf,6)" identifier (argument_list "(id,buf,6)" ( identifier , identifier , number_literal ))) ;)) (return_statement "return 0;" return number_literal ;) })) })) (expression_statement "buf = (uint8_t *)((int)pvVar1 + 0x1b8);" (assignment_expression "buf = (uint8_t *)((int)pvVar1 + 0x1b8)" identifier = (cast_expression "(uint8_t *)((int)pvVar1 + 0x1b8)" ( (type_descriptor "uint8_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar1 + 0x1b8)" ( (binary_expression "(int)pvVar1 + 0x1b8" (cast_expression "(int)pvVar1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (goto_statement "goto LAB_00097224;" goto statement_identifier ;) })))
(translation_unit "undefined4 FUN_00097100(undefined4 param_1)\n\n{\n  int iVar1;\n  int iVar2;\n  \n  iVar2 = 3;\n  while( true ) {\n    iVar1 = FUN_00097bf8(param_1);\n    if (iVar1 == 0) {\n      return 0xffffffff;\n    }\n    if ((*(int *)(iVar1 + 0x1f8) == 0x207e18fd) ||\n       (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x1f8) == -0x2e781e0)) break;\n    if (iVar2 == 0) {\n      iVar2 = 3;\n      while( true ) {\n        iVar1 = FUN_00097bf8(param_1);\n        if (iVar1 == 0) {\n          return 0xffffffff;\n        }\n        if ((*(int *)(iVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544)) break;\n        if (iVar2 == 0) {\n          return 0xffffffff;\n        }\n      }\n      iVar1 = iVar1 + 0x278;\nLAB_00097224:\n      FUN_00097838(param_1,iVar1,6);\n      return 0;\n    }\n  }\n  iVar1 = iVar1 + 0x1b8;\n  goto LAB_00097224;\n}\n\n" (function_definition "undefined4 FUN_00097100(undefined4 param_1)\n\n{\n  int iVar1;\n  int iVar2;\n  \n  iVar2 = 3;\n  while( true ) {\n    iVar1 = FUN_00097bf8(param_1);\n    if (iVar1 == 0) {\n      return 0xffffffff;\n    }\n    if ((*(int *)(iVar1 + 0x1f8) == 0x207e18fd) ||\n       (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x1f8) == -0x2e781e0)) break;\n    if (iVar2 == 0) {\n      iVar2 = 3;\n      while( true ) {\n        iVar1 = FUN_00097bf8(param_1);\n        if (iVar1 == 0) {\n          return 0xffffffff;\n        }\n        if ((*(int *)(iVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544)) break;\n        if (iVar2 == 0) {\n          return 0xffffffff;\n        }\n      }\n      iVar1 = iVar1 + 0x278;\nLAB_00097224:\n      FUN_00097838(param_1,iVar1,6);\n      return 0;\n    }\n  }\n  iVar1 = iVar1 + 0x1b8;\n  goto LAB_00097224;\n}" type_identifier (function_declarator "FUN_00097100(undefined4 param_1)" identifier (parameter_list "(undefined4 param_1)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  \n  iVar2 = 3;\n  while( true ) {\n    iVar1 = FUN_00097bf8(param_1);\n    if (iVar1 == 0) {\n      return 0xffffffff;\n    }\n    if ((*(int *)(iVar1 + 0x1f8) == 0x207e18fd) ||\n       (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x1f8) == -0x2e781e0)) break;\n    if (iVar2 == 0) {\n      iVar2 = 3;\n      while( true ) {\n        iVar1 = FUN_00097bf8(param_1);\n        if (iVar1 == 0) {\n          return 0xffffffff;\n        }\n        if ((*(int *)(iVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544)) break;\n        if (iVar2 == 0) {\n          return 0xffffffff;\n        }\n      }\n      iVar1 = iVar1 + 0x278;\nLAB_00097224:\n      FUN_00097838(param_1,iVar1,6);\n      return 0;\n    }\n  }\n  iVar1 = iVar1 + 0x1b8;\n  goto LAB_00097224;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (expression_statement "iVar2 = 3;" (assignment_expression "iVar2 = 3" identifier = number_literal) ;) (while_statement "while( true ) {\n    iVar1 = FUN_00097bf8(param_1);\n    if (iVar1 == 0) {\n      return 0xffffffff;\n    }\n    if ((*(int *)(iVar1 + 0x1f8) == 0x207e18fd) ||\n       (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x1f8) == -0x2e781e0)) break;\n    if (iVar2 == 0) {\n      iVar2 = 3;\n      while( true ) {\n        iVar1 = FUN_00097bf8(param_1);\n        if (iVar1 == 0) {\n          return 0xffffffff;\n        }\n        if ((*(int *)(iVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544)) break;\n        if (iVar2 == 0) {\n          return 0xffffffff;\n        }\n      }\n      iVar1 = iVar1 + 0x278;\nLAB_00097224:\n      FUN_00097838(param_1,iVar1,6);\n      return 0;\n    }\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    iVar1 = FUN_00097bf8(param_1);\n    if (iVar1 == 0) {\n      return 0xffffffff;\n    }\n    if ((*(int *)(iVar1 + 0x1f8) == 0x207e18fd) ||\n       (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x1f8) == -0x2e781e0)) break;\n    if (iVar2 == 0) {\n      iVar2 = 3;\n      while( true ) {\n        iVar1 = FUN_00097bf8(param_1);\n        if (iVar1 == 0) {\n          return 0xffffffff;\n        }\n        if ((*(int *)(iVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544)) break;\n        if (iVar2 == 0) {\n          return 0xffffffff;\n        }\n      }\n      iVar1 = iVar1 + 0x278;\nLAB_00097224:\n      FUN_00097838(param_1,iVar1,6);\n      return 0;\n    }\n  }" { (expression_statement "iVar1 = FUN_00097bf8(param_1);" (assignment_expression "iVar1 = FUN_00097bf8(param_1)" identifier = (call_expression "FUN_00097bf8(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if (iVar1 == 0) {\n      return 0xffffffff;\n    }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n      return 0xffffffff;\n    }" { (return_statement "return 0xffffffff;" return number_literal ;) })) (if_statement "if ((*(int *)(iVar1 + 0x1f8) == 0x207e18fd) ||\n       (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x1f8) == -0x2e781e0)) break;" if (parenthesized_expression "((*(int *)(iVar1 + 0x1f8) == 0x207e18fd) ||\n       (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x1f8) == -0x2e781e0))" ( (binary_expression "(*(int *)(iVar1 + 0x1f8) == 0x207e18fd) ||\n       (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x1f8) == -0x2e781e0)" (parenthesized_expression "(*(int *)(iVar1 + 0x1f8) == 0x207e18fd)" ( (binary_expression "*(int *)(iVar1 + 0x1f8) == 0x207e18fd" (pointer_expression "*(int *)(iVar1 + 0x1f8)" * (cast_expression "(int *)(iVar1 + 0x1f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x1f8)" ( (binary_expression "iVar1 + 0x1f8" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "(iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x1f8) == -0x2e781e0)" ( (comma_expression "iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x1f8) == -0x2e781e0" (assignment_expression "iVar2 = iVar2 + -1" identifier = (binary_expression "iVar2 + -1" identifier + number_literal)) , (binary_expression "*(int *)(iVar1 + 0x1f8) == -0x2e781e0" (pointer_expression "*(int *)(iVar1 + 0x1f8)" * (cast_expression "(int *)(iVar1 + 0x1f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x1f8)" ( (binary_expression "iVar1 + 0x1f8" identifier + number_literal) )))) == number_literal)) ))) )) (break_statement "break;" break ;)) (if_statement "if (iVar2 == 0) {\n      iVar2 = 3;\n      while( true ) {\n        iVar1 = FUN_00097bf8(param_1);\n        if (iVar1 == 0) {\n          return 0xffffffff;\n        }\n        if ((*(int *)(iVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544)) break;\n        if (iVar2 == 0) {\n          return 0xffffffff;\n        }\n      }\n      iVar1 = iVar1 + 0x278;\nLAB_00097224:\n      FUN_00097838(param_1,iVar1,6);\n      return 0;\n    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar2 = 3;\n      while( true ) {\n        iVar1 = FUN_00097bf8(param_1);\n        if (iVar1 == 0) {\n          return 0xffffffff;\n        }\n        if ((*(int *)(iVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544)) break;\n        if (iVar2 == 0) {\n          return 0xffffffff;\n        }\n      }\n      iVar1 = iVar1 + 0x278;\nLAB_00097224:\n      FUN_00097838(param_1,iVar1,6);\n      return 0;\n    }" { (expression_statement "iVar2 = 3;" (assignment_expression "iVar2 = 3" identifier = number_literal) ;) (while_statement "while( true ) {\n        iVar1 = FUN_00097bf8(param_1);\n        if (iVar1 == 0) {\n          return 0xffffffff;\n        }\n        if ((*(int *)(iVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544)) break;\n        if (iVar2 == 0) {\n          return 0xffffffff;\n        }\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        iVar1 = FUN_00097bf8(param_1);\n        if (iVar1 == 0) {\n          return 0xffffffff;\n        }\n        if ((*(int *)(iVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544)) break;\n        if (iVar2 == 0) {\n          return 0xffffffff;\n        }\n      }" { (expression_statement "iVar1 = FUN_00097bf8(param_1);" (assignment_expression "iVar1 = FUN_00097bf8(param_1)" identifier = (call_expression "FUN_00097bf8(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if (iVar1 == 0) {\n          return 0xffffffff;\n        }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n          return 0xffffffff;\n        }" { (return_statement "return 0xffffffff;" return number_literal ;) })) (if_statement "if ((*(int *)(iVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544)) break;" if (parenthesized_expression "((*(int *)(iVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544))" ( (binary_expression "(*(int *)(iVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544)" (parenthesized_expression "(*(int *)(iVar1 + 0x3f8) == 0x44552b00)" ( (binary_expression "*(int *)(iVar1 + 0x3f8) == 0x44552b00" (pointer_expression "*(int *)(iVar1 + 0x3f8)" * (cast_expression "(int *)(iVar1 + 0x3f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x3f8)" ( (binary_expression "iVar1 + 0x3f8" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "(iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544)" ( (comma_expression "iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544" (assignment_expression "iVar2 = iVar2 + -1" identifier = (binary_expression "iVar2 + -1" identifier + number_literal)) , (binary_expression "*(int *)(iVar1 + 0x3f8) == 0x2b5544" (pointer_expression "*(int *)(iVar1 + 0x3f8)" * (cast_expression "(int *)(iVar1 + 0x3f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x3f8)" ( (binary_expression "iVar1 + 0x3f8" identifier + number_literal) )))) == number_literal)) ))) )) (break_statement "break;" break ;)) (if_statement "if (iVar2 == 0) {\n          return 0xffffffff;\n        }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n          return 0xffffffff;\n        }" { (return_statement "return 0xffffffff;" return number_literal ;) })) })) (expression_statement "iVar1 = iVar1 + 0x278;" (assignment_expression "iVar1 = iVar1 + 0x278" identifier = (binary_expression "iVar1 + 0x278" identifier + number_literal)) ;) (labeled_statement "LAB_00097224:\n      FUN_00097838(param_1,iVar1,6);" statement_identifier : (expression_statement "FUN_00097838(param_1,iVar1,6);" (call_expression "FUN_00097838(param_1,iVar1,6)" identifier (argument_list "(param_1,iVar1,6)" ( identifier , identifier , number_literal ))) ;)) (return_statement "return 0;" return number_literal ;) })) })) (expression_statement "iVar1 = iVar1 + 0x1b8;" (assignment_expression "iVar1 = iVar1 + 0x1b8" identifier = (binary_expression "iVar1 + 0x1b8" identifier + number_literal)) ;) (goto_statement "goto LAB_00097224;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT)) ))) )) (break_statement break ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT)) ))) )) (break_statement break ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;)) (return_statement return LIT ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })))
(function_definition "undefined4 FUN_00097100(undefined4 param_1)\n\n{\n  int iVar1;\n  int iVar2;\n  \n  iVar2 = 3;\n  while( true ) {\n    iVar1 = FUN_00097bf8(param_1);\n    if (iVar1 == 0) {\n      return 0xffffffff;\n    }\n    if ((*(int *)(iVar1 + 0x1f8) == 0x207e18fd) ||\n       (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x1f8) == -0x2e781e0)) break;\n    if (iVar2 == 0) {\n      iVar2 = 3;\n      while( true ) {\n        iVar1 = FUN_00097bf8(param_1);\n        if (iVar1 == 0) {\n          return 0xffffffff;\n        }\n        if ((*(int *)(iVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544)) break;\n        if (iVar2 == 0) {\n          return 0xffffffff;\n        }\n      }\n      iVar1 = iVar1 + 0x278;\nLAB_00097224:\n      FUN_00097838(param_1,iVar1,6);\n      return 0;\n    }\n  }\n  iVar1 = iVar1 + 0x1b8;\n  goto LAB_00097224;\n}" (type_identifier "undefined4") (function_declarator "FUN_00097100(undefined4 param_1)" (identifier "FUN_00097100") (parameter_list "(undefined4 param_1)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) () ")"))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  \n  iVar2 = 3;\n  while( true ) {\n    iVar1 = FUN_00097bf8(param_1);\n    if (iVar1 == 0) {\n      return 0xffffffff;\n    }\n    if ((*(int *)(iVar1 + 0x1f8) == 0x207e18fd) ||\n       (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x1f8) == -0x2e781e0)) break;\n    if (iVar2 == 0) {\n      iVar2 = 3;\n      while( true ) {\n        iVar1 = FUN_00097bf8(param_1);\n        if (iVar1 == 0) {\n          return 0xffffffff;\n        }\n        if ((*(int *)(iVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544)) break;\n        if (iVar2 == 0) {\n          return 0xffffffff;\n        }\n      }\n      iVar1 = iVar1 + 0x278;\nLAB_00097224:\n      FUN_00097838(param_1,iVar1,6);\n      return 0;\n    }\n  }\n  iVar1 = iVar1 + 0x1b8;\n  goto LAB_00097224;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (expression_statement "iVar2 = 3;" (assignment_expression "iVar2 = 3" (identifier "iVar2") (= "=") (number_literal "3")) (; ";")) (while_statement "while( true ) {\n    iVar1 = FUN_00097bf8(param_1);\n    if (iVar1 == 0) {\n      return 0xffffffff;\n    }\n    if ((*(int *)(iVar1 + 0x1f8) == 0x207e18fd) ||\n       (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x1f8) == -0x2e781e0)) break;\n    if (iVar2 == 0) {\n      iVar2 = 3;\n      while( true ) {\n        iVar1 = FUN_00097bf8(param_1);\n        if (iVar1 == 0) {\n          return 0xffffffff;\n        }\n        if ((*(int *)(iVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544)) break;\n        if (iVar2 == 0) {\n          return 0xffffffff;\n        }\n      }\n      iVar1 = iVar1 + 0x278;\nLAB_00097224:\n      FUN_00097838(param_1,iVar1,6);\n      return 0;\n    }\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    iVar1 = FUN_00097bf8(param_1);\n    if (iVar1 == 0) {\n      return 0xffffffff;\n    }\n    if ((*(int *)(iVar1 + 0x1f8) == 0x207e18fd) ||\n       (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x1f8) == -0x2e781e0)) break;\n    if (iVar2 == 0) {\n      iVar2 = 3;\n      while( true ) {\n        iVar1 = FUN_00097bf8(param_1);\n        if (iVar1 == 0) {\n          return 0xffffffff;\n        }\n        if ((*(int *)(iVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544)) break;\n        if (iVar2 == 0) {\n          return 0xffffffff;\n        }\n      }\n      iVar1 = iVar1 + 0x278;\nLAB_00097224:\n      FUN_00097838(param_1,iVar1,6);\n      return 0;\n    }\n  }" ({ "{") (expression_statement "iVar1 = FUN_00097bf8(param_1);" (assignment_expression "iVar1 = FUN_00097bf8(param_1)" (identifier "iVar1") (= "=") (call_expression "FUN_00097bf8(param_1)" (identifier "FUN_00097bf8") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (if_statement "if (iVar1 == 0) {\n      return 0xffffffff;\n    }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      return 0xffffffff;\n    }" ({ "{") (return_statement "return 0xffffffff;" (return "return") (number_literal "0xffffffff") (; ";")) (} "}"))) (if_statement "if ((*(int *)(iVar1 + 0x1f8) == 0x207e18fd) ||\n       (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x1f8) == -0x2e781e0)) break;" (if "if") (parenthesized_expression "((*(int *)(iVar1 + 0x1f8) == 0x207e18fd) ||\n       (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x1f8) == -0x2e781e0))" (( "(") (binary_expression "(*(int *)(iVar1 + 0x1f8) == 0x207e18fd) ||\n       (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x1f8) == -0x2e781e0)" (parenthesized_expression "(*(int *)(iVar1 + 0x1f8) == 0x207e18fd)" (( "(") (binary_expression "*(int *)(iVar1 + 0x1f8) == 0x207e18fd" (pointer_expression "*(int *)(iVar1 + 0x1f8)" (* "*") (cast_expression "(int *)(iVar1 + 0x1f8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x1f8)" (( "(") (binary_expression "iVar1 + 0x1f8" (identifier "iVar1") (+ "+") (number_literal "0x1f8")) () ")")))) (== "==") (number_literal "0x207e18fd")) () ")")) (|| "||") (parenthesized_expression "(iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x1f8) == -0x2e781e0)" (( "(") (comma_expression "iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x1f8) == -0x2e781e0" (assignment_expression "iVar2 = iVar2 + -1" (identifier "iVar2") (= "=") (binary_expression "iVar2 + -1" (identifier "iVar2") (+ "+") (number_literal "-1"))) (, ",") (binary_expression "*(int *)(iVar1 + 0x1f8) == -0x2e781e0" (pointer_expression "*(int *)(iVar1 + 0x1f8)" (* "*") (cast_expression "(int *)(iVar1 + 0x1f8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x1f8)" (( "(") (binary_expression "iVar1 + 0x1f8" (identifier "iVar1") (+ "+") (number_literal "0x1f8")) () ")")))) (== "==") (number_literal "-0x2e781e0"))) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if (iVar2 == 0) {\n      iVar2 = 3;\n      while( true ) {\n        iVar1 = FUN_00097bf8(param_1);\n        if (iVar1 == 0) {\n          return 0xffffffff;\n        }\n        if ((*(int *)(iVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544)) break;\n        if (iVar2 == 0) {\n          return 0xffffffff;\n        }\n      }\n      iVar1 = iVar1 + 0x278;\nLAB_00097224:\n      FUN_00097838(param_1,iVar1,6);\n      return 0;\n    }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar2 = 3;\n      while( true ) {\n        iVar1 = FUN_00097bf8(param_1);\n        if (iVar1 == 0) {\n          return 0xffffffff;\n        }\n        if ((*(int *)(iVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544)) break;\n        if (iVar2 == 0) {\n          return 0xffffffff;\n        }\n      }\n      iVar1 = iVar1 + 0x278;\nLAB_00097224:\n      FUN_00097838(param_1,iVar1,6);\n      return 0;\n    }" ({ "{") (expression_statement "iVar2 = 3;" (assignment_expression "iVar2 = 3" (identifier "iVar2") (= "=") (number_literal "3")) (; ";")) (while_statement "while( true ) {\n        iVar1 = FUN_00097bf8(param_1);\n        if (iVar1 == 0) {\n          return 0xffffffff;\n        }\n        if ((*(int *)(iVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544)) break;\n        if (iVar2 == 0) {\n          return 0xffffffff;\n        }\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        iVar1 = FUN_00097bf8(param_1);\n        if (iVar1 == 0) {\n          return 0xffffffff;\n        }\n        if ((*(int *)(iVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544)) break;\n        if (iVar2 == 0) {\n          return 0xffffffff;\n        }\n      }" ({ "{") (expression_statement "iVar1 = FUN_00097bf8(param_1);" (assignment_expression "iVar1 = FUN_00097bf8(param_1)" (identifier "iVar1") (= "=") (call_expression "FUN_00097bf8(param_1)" (identifier "FUN_00097bf8") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (if_statement "if (iVar1 == 0) {\n          return 0xffffffff;\n        }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          return 0xffffffff;\n        }" ({ "{") (return_statement "return 0xffffffff;" (return "return") (number_literal "0xffffffff") (; ";")) (} "}"))) (if_statement "if ((*(int *)(iVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544)) break;" (if "if") (parenthesized_expression "((*(int *)(iVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544))" (( "(") (binary_expression "(*(int *)(iVar1 + 0x3f8) == 0x44552b00) ||\n           (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544)" (parenthesized_expression "(*(int *)(iVar1 + 0x3f8) == 0x44552b00)" (( "(") (binary_expression "*(int *)(iVar1 + 0x3f8) == 0x44552b00" (pointer_expression "*(int *)(iVar1 + 0x3f8)" (* "*") (cast_expression "(int *)(iVar1 + 0x3f8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x3f8)" (( "(") (binary_expression "iVar1 + 0x3f8" (identifier "iVar1") (+ "+") (number_literal "0x3f8")) () ")")))) (== "==") (number_literal "0x44552b00")) () ")")) (|| "||") (parenthesized_expression "(iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544)" (( "(") (comma_expression "iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544" (assignment_expression "iVar2 = iVar2 + -1" (identifier "iVar2") (= "=") (binary_expression "iVar2 + -1" (identifier "iVar2") (+ "+") (number_literal "-1"))) (, ",") (binary_expression "*(int *)(iVar1 + 0x3f8) == 0x2b5544" (pointer_expression "*(int *)(iVar1 + 0x3f8)" (* "*") (cast_expression "(int *)(iVar1 + 0x3f8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x3f8)" (( "(") (binary_expression "iVar1 + 0x3f8" (identifier "iVar1") (+ "+") (number_literal "0x3f8")) () ")")))) (== "==") (number_literal "0x2b5544"))) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if (iVar2 == 0) {\n          return 0xffffffff;\n        }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          return 0xffffffff;\n        }" ({ "{") (return_statement "return 0xffffffff;" (return "return") (number_literal "0xffffffff") (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar1 = iVar1 + 0x278;" (assignment_expression "iVar1 = iVar1 + 0x278" (identifier "iVar1") (= "=") (binary_expression "iVar1 + 0x278" (identifier "iVar1") (+ "+") (number_literal "0x278"))) (; ";")) (labeled_statement "LAB_00097224:\n      FUN_00097838(param_1,iVar1,6);" (statement_identifier "LAB_00097224") (: ":") (expression_statement "FUN_00097838(param_1,iVar1,6);" (call_expression "FUN_00097838(param_1,iVar1,6)" (identifier "FUN_00097838") (argument_list "(param_1,iVar1,6)" (( "(") (identifier "param_1") (, ",") (identifier "iVar1") (, ",") (number_literal "6") () ")"))) (; ";"))) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar1 = iVar1 + 0x1b8;" (assignment_expression "iVar1 = iVar1 + 0x1b8" (identifier "iVar1") (= "=") (binary_expression "iVar1 + 0x1b8" (identifier "iVar1") (+ "+") (number_literal "0x1b8"))) (; ";")) (goto_statement "goto LAB_00097224;" (goto "goto") (statement_identifier "LAB_00097224") (; ";")) (} "}")))

int function_1(type_1 *id)

{
  void *var_3;
  size_t in_a1;
  uint8_t *buf;
  int var_4;
  type_2 in_stack_ffffffd4;
  
  var_4 = 3;
  while( true ) {
    var_3 = var_1(id,var_2(0x200,in_stack_ffffffd4),in_a1);
    if (var_3 == (void *)0x0) {
      return -1;
    }
    if ((*(int *)((int)var_3 + 0x1f8) == 0x207e18fd) ||
       (var_4 = var_4 + -1, *(int *)((int)var_3 + 0x1f8) == -0x2e781e0)) break;
    if (var_4 == 0) {
      var_4 = 3;
      while( true ) {
        var_3 = var_1(id,var_2(0x200,in_stack_ffffffd4),in_a1);
        if (var_3 == (void *)0x0) {
          return -1;
        }
        if ((*(int *)((int)var_3 + 0x3f8) == 0x44552b00) ||
           (var_4 = var_4 + -1, *(int *)((int)var_3 + 0x3f8) == 0x2b5544)) break;
        if (var_4 == 0) {
          return -1;
        }
      }
      buf = (uint8_t *)((int)var_3 + 0x278);
LAB_00097224:
      var_5(id,buf,6);
      return 0;
    }
  }
  buf = (uint8_t *)((int)var_3 + 0x1b8);
  goto LAB_00097224;
}


(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) consequence: (break_statement)) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) consequence: (break_statement)) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal))))) (return_statement (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier)))))

undefined4 MASKED(undefined4 param_1)

{
  int iVar1;
  int iVar2;
  
  iVar2 = 3;
  while( true ) {
    iVar1 = FUN_00097bf8(param_1);
    if (iVar1 == 0) {
      return 0xffffffff;
    }
    if ((*(int *)(iVar1 + 0x1f8) == 0x207e18fd) ||
       (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x1f8) == -0x2e781e0)) break;
    if (iVar2 == 0) {
      iVar2 = 3;
      while( true ) {
        iVar1 = FUN_00097bf8(param_1);
        if (iVar1 == 0) {
          return 0xffffffff;
        }
        if ((*(int *)(iVar1 + 0x3f8) == 0x44552b00) ||
           (iVar2 = iVar2 + -1, *(int *)(iVar1 + 0x3f8) == 0x2b5544)) break;
        if (iVar2 == 0) {
          return 0xffffffff;
        }
      }
      iVar1 = iVar1 + 0x278;
LAB_00097224:
      FUN_00097838(param_1,iVar1,6);
      return 0;
    }
  }
  iVar1 = iVar1 + 0x1b8;
  goto LAB_00097224;
}

