
int scan_inet_proc_line(inet_params *param,char *line)

{
  int iVar1;
  int iVar2;
  uint uVar3;
  int iVar4;
  char *pcVar5;
  char *pcVar6;
  int *piVar7;
  int in_t9;
  char local_addr [33];
  char rem_addr [33];
  
  piVar7 = *(int **)(&LAB_000e8734 + in_t9);
  iVar1 = *piVar7;
  iVar2 = (**(code **)(in_t9 + 0xe8380))
                    (line,*(int *)(in_t9 + 0xe7774) + 0x3534,local_addr,param,rem_addr,
                     &param->rem_port,&param->state,&param->txq,&param->rxq,&param->uid,
                     &param->inode);
  iVar4 = 1;
  pcVar5 = local_addr;
  if (8 < iVar2) {
    uVar3 = (**(code **)(in_t9 + 0xe8524))(local_addr);
    pcVar6 = local_addr;
    if (8 < uVar3) goto LAB_00042b54;
    iVar2 = *(int *)(in_t9 + 0xe7774);
    pcVar5 = &SUB_00000002;
    (**(code **)(in_t9 + 0xe8380))
              (local_addr,iVar2 + 0x3580,(undefined1 *)((int)&param->localaddr + 4));
    (param->localaddr).sa.sa_family = 2;
    (**(code **)(in_t9 + 0xe8380))(rem_addr,iVar2 + 0x3580,(undefined1 *)((int)&param->remaddr + 4))
    ;
    iVar4 = 0;
    (param->remaddr).sa.sa_family = 2;
  }
  while( true ) {
    if (iVar1 == *piVar7) break;
    (**(code **)(in_t9 + 0xe86b0))();
    pcVar6 = pcVar5;
LAB_00042b54:
    pcVar5 = (char *)(*(int *)(in_t9 + 0xe7a84) + 0x2938);
    build_ipv6_addr(pcVar6,&(param->localaddr).sin6);
    build_ipv6_addr(rem_addr,&(param->remaddr).sin6);
    iVar4 = 0;
  }
  return iVar4;
}



undefined4 FUN_00042a18(int param_1,undefined4 param_2)

{
  undefined *puVar1;
  undefined *puVar2;
  int iVar3;
  uint uVar4;
  undefined4 uVar5;
  undefined1 *puVar6;
  undefined1 *puVar7;
  undefined1 auStack_64 [36];
  undefined1 auStack_40 [36];
  int local_1c;
  
  puVar2 = PTR___stack_chk_guard_0012b14c;
  local_1c = *(int *)PTR___stack_chk_guard_0012b14c;
  iVar3 = (*(code *)PTR_sscanf_0012ad98)
                    (param_2,PTR_UINT_0012a18c + 0x3534,auStack_64,param_1,auStack_40,param_1 + 4,
                     param_1 + 8,param_1 + 0x4c,param_1 + 0x48,param_1 + 0xc,param_1 + 0x50);
  uVar5 = 1;
  puVar6 = auStack_64;
  if (8 < iVar3) {
    uVar4 = (*(code *)PTR_strlen_0012af3c)(auStack_64);
    puVar1 = PTR_UINT_0012a18c;
    puVar7 = auStack_64;
    if (8 < uVar4) goto LAB_00042b54;
    puVar6 = &SUB_00000002;
    (*(code *)PTR_sscanf_0012ad98)(auStack_64,PTR_UINT_0012a18c + 0x3580,param_1 + 0x14);
    *(undefined2 *)(param_1 + 0x10) = 2;
    (*(code *)PTR_sscanf_0012ad98)(auStack_40,puVar1 + 0x3580,param_1 + 0x30);
    uVar5 = 0;
    *(undefined2 *)(param_1 + 0x2c) = 2;
  }
  while( true ) {
    if (local_1c == *(int *)puVar2) break;
    (*(code *)PTR___stack_chk_fail_0012b0c8)();
    puVar7 = puVar6;
LAB_00042b54:
    puVar6 = PTR_LAB_0012a49c + 0x2938;
    FUN_00042938(puVar7,param_1 + 0x10);
    FUN_00042938(auStack_40,param_1 + 0x2c);
    uVar5 = 0;
  }
  return uVar5;
}


lui gp,0xf
addiu gp,gp,-0x8c8
addu gp,gp,t9
addiu sp,sp,-0xa0
lw t9,-0x73b8(gp)
addiu a2,a0,0x50
addiu v1,a0,0xc
sw s3,0x94(sp)
addiu a3,a0,0x48
sw s0,0x88(sp)
or s0,a0,zero
lw s3,-0x7004(gp)
addiu a0,a0,0x4c
sw s2,0x90(sp)
addiu s2,sp,0x60
sw s1,0x8c(sp)
addiu s1,sp,0x3c
sw gp,0x30(sp)
sw ra,0x9c(sp)
sw s4,0x98(sp)
lw v0,0x0(s3)
sw a0,0x1c(sp)
or a0,a1,zero
sw a2,0x28(sp)
addiu a2,s0,0x8
sw v1,0x24(sp)
addiu v1,s0,0x4
sw a3,0x20(sp)
or a3,s0,zero
sw a2,0x18(sp)
or a2,s1,zero
sw v1,0x14(sp)
sw s2,0x10(sp)
sw v0,0x84(sp)
lw a1,-0x7fc4(gp)
jalr t9
_addiu a1,a1,0x3534
li v1,0x1
slti v0,v0,0x9
bne v0,zero,0x00042b18
_lw gp,0x30(sp)
lw t9,-0x7214(gp)
jalr t9
_or a0,s1,zero
sltiu v0,v0,0x9
beq v0,zero,0x00042b54
_lw gp,0x30(sp)
lw s4,-0x7fc4(gp)
addiu a2,s0,0x14
lw t9,-0x73b8(gp)
or a0,s1,zero
li s1,0x2
jalr t9
_addiu a1,s4,0x3580
addiu a2,s0,0x30
lw gp,0x30(sp)
addiu a1,s4,0x3580
sh s1,0x10(s0)
lw t9,-0x73b8(gp)
jalr t9
_or a0,s2,zero
or v1,zero,zero
lw gp,0x30(sp)
sh s1,0x2c(s0)
lw a0,0x84(sp)
or v0,v1,zero
lw v1,0x0(s3)
bne a0,v1,0x00042b48
_lw ra,0x9c(sp)
lw s4,0x98(sp)
lw s3,0x94(sp)
lw s2,0x90(sp)
lw s1,0x8c(sp)
lw s0,0x88(sp)
jr ra
_addiu sp,sp,0xa0
lw t9,-0x7088(gp)
jalr t9
_nop
or a0,s1,zero
lw s1,-0x7cb4(gp)
addiu s1,s1,0x2938
or t9,s1,zero
bal 0x00042938
_addiu a1,s0,0x10
addiu a1,s0,0x2c
or t9,s1,zero
bal 0x00042938
_or a0,s2,zero
or v1,zero,zero
b 0x00042b18
_lw gp,0x30(sp)
(translation_unit "undefined4 FUN_00042a18(int param_1,undefined4 param_2)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  undefined1 *puVar6;\n  undefined1 *puVar7;\n  undefined1 auStack_64 [36];\n  undefined1 auStack_40 [36];\n  int local_1c;\n  \n  puVar2 = PTR___stack_chk_guard_0012b14c;\n  local_1c = *(int *)PTR___stack_chk_guard_0012b14c;\n  iVar3 = (*(code *)PTR_sscanf_0012ad98)\n                    (param_2,PTR_UINT_0012a18c + 0x3534,auStack_64,param_1,auStack_40,param_1 + 4,\n                     param_1 + 8,param_1 + 0x4c,param_1 + 0x48,param_1 + 0xc,param_1 + 0x50);\n  uVar5 = 1;\n  puVar6 = auStack_64;\n  if (8 < iVar3) {\n    uVar4 = (*(code *)PTR_strlen_0012af3c)(auStack_64);\n    puVar1 = PTR_UINT_0012a18c;\n    puVar7 = auStack_64;\n    if (8 < uVar4) goto LAB_00042b54;\n    puVar6 = &SUB_00000002;\n    (*(code *)PTR_sscanf_0012ad98)(auStack_64,PTR_UINT_0012a18c + 0x3580,param_1 + 0x14);\n    *(undefined2 *)(param_1 + 0x10) = 2;\n    (*(code *)PTR_sscanf_0012ad98)(auStack_40,puVar1 + 0x3580,param_1 + 0x30);\n    uVar5 = 0;\n    *(undefined2 *)(param_1 + 0x2c) = 2;\n  }\n  while( true ) {\n    if (local_1c == *(int *)puVar2) break;\n    (*(code *)PTR___stack_chk_fail_0012b0c8)();\n    puVar7 = puVar6;\nLAB_00042b54:\n    puVar6 = PTR_LAB_0012a49c + 0x2938;\n    FUN_00042938(puVar7,param_1 + 0x10);\n    FUN_00042938(auStack_40,param_1 + 0x2c);\n    uVar5 = 0;\n  }\n  return uVar5;\n}\n\n" (function_definition "undefined4 FUN_00042a18(int param_1,undefined4 param_2)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  undefined1 *puVar6;\n  undefined1 *puVar7;\n  undefined1 auStack_64 [36];\n  undefined1 auStack_40 [36];\n  int local_1c;\n  \n  puVar2 = PTR___stack_chk_guard_0012b14c;\n  local_1c = *(int *)PTR___stack_chk_guard_0012b14c;\n  iVar3 = (*(code *)PTR_sscanf_0012ad98)\n                    (param_2,PTR_UINT_0012a18c + 0x3534,auStack_64,param_1,auStack_40,param_1 + 4,\n                     param_1 + 8,param_1 + 0x4c,param_1 + 0x48,param_1 + 0xc,param_1 + 0x50);\n  uVar5 = 1;\n  puVar6 = auStack_64;\n  if (8 < iVar3) {\n    uVar4 = (*(code *)PTR_strlen_0012af3c)(auStack_64);\n    puVar1 = PTR_UINT_0012a18c;\n    puVar7 = auStack_64;\n    if (8 < uVar4) goto LAB_00042b54;\n    puVar6 = &SUB_00000002;\n    (*(code *)PTR_sscanf_0012ad98)(auStack_64,PTR_UINT_0012a18c + 0x3580,param_1 + 0x14);\n    *(undefined2 *)(param_1 + 0x10) = 2;\n    (*(code *)PTR_sscanf_0012ad98)(auStack_40,puVar1 + 0x3580,param_1 + 0x30);\n    uVar5 = 0;\n    *(undefined2 *)(param_1 + 0x2c) = 2;\n  }\n  while( true ) {\n    if (local_1c == *(int *)puVar2) break;\n    (*(code *)PTR___stack_chk_fail_0012b0c8)();\n    puVar7 = puVar6;\nLAB_00042b54:\n    puVar6 = PTR_LAB_0012a49c + 0x2938;\n    FUN_00042938(puVar7,param_1 + 0x10);\n    FUN_00042938(auStack_40,param_1 + 0x2c);\n    uVar5 = 0;\n  }\n  return uVar5;\n}" type_identifier (function_declarator "FUN_00042a18(int param_1,undefined4 param_2)" identifier (parameter_list "(int param_1,undefined4 param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  undefined1 *puVar6;\n  undefined1 *puVar7;\n  undefined1 auStack_64 [36];\n  undefined1 auStack_40 [36];\n  int local_1c;\n  \n  puVar2 = PTR___stack_chk_guard_0012b14c;\n  local_1c = *(int *)PTR___stack_chk_guard_0012b14c;\n  iVar3 = (*(code *)PTR_sscanf_0012ad98)\n                    (param_2,PTR_UINT_0012a18c + 0x3534,auStack_64,param_1,auStack_40,param_1 + 4,\n                     param_1 + 8,param_1 + 0x4c,param_1 + 0x48,param_1 + 0xc,param_1 + 0x50);\n  uVar5 = 1;\n  puVar6 = auStack_64;\n  if (8 < iVar3) {\n    uVar4 = (*(code *)PTR_strlen_0012af3c)(auStack_64);\n    puVar1 = PTR_UINT_0012a18c;\n    puVar7 = auStack_64;\n    if (8 < uVar4) goto LAB_00042b54;\n    puVar6 = &SUB_00000002;\n    (*(code *)PTR_sscanf_0012ad98)(auStack_64,PTR_UINT_0012a18c + 0x3580,param_1 + 0x14);\n    *(undefined2 *)(param_1 + 0x10) = 2;\n    (*(code *)PTR_sscanf_0012ad98)(auStack_40,puVar1 + 0x3580,param_1 + 0x30);\n    uVar5 = 0;\n    *(undefined2 *)(param_1 + 0x2c) = 2;\n  }\n  while( true ) {\n    if (local_1c == *(int *)puVar2) break;\n    (*(code *)PTR___stack_chk_fail_0012b0c8)();\n    puVar7 = puVar6;\nLAB_00042b54:\n    puVar6 = PTR_LAB_0012a49c + 0x2938;\n    FUN_00042938(puVar7,param_1 + 0x10);\n    FUN_00042938(auStack_40,param_1 + 0x2c);\n    uVar5 = 0;\n  }\n  return uVar5;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined1 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined1 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined1 auStack_64 [36];" type_identifier (array_declarator "auStack_64 [36]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_40 [36];" type_identifier (array_declarator "auStack_40 [36]" identifier [ number_literal ]) ;) (declaration "int local_1c;" primitive_type identifier ;) (expression_statement "puVar2 = PTR___stack_chk_guard_0012b14c;" (assignment_expression "puVar2 = PTR___stack_chk_guard_0012b14c" identifier = identifier) ;) (expression_statement "local_1c = *(int *)PTR___stack_chk_guard_0012b14c;" (assignment_expression "local_1c = *(int *)PTR___stack_chk_guard_0012b14c" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0012b14c" * (cast_expression "(int *)PTR___stack_chk_guard_0012b14c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar3 = (*(code *)PTR_sscanf_0012ad98)\n                    (param_2,PTR_UINT_0012a18c + 0x3534,auStack_64,param_1,auStack_40,param_1 + 4,\n                     param_1 + 8,param_1 + 0x4c,param_1 + 0x48,param_1 + 0xc,param_1 + 0x50);" (assignment_expression "iVar3 = (*(code *)PTR_sscanf_0012ad98)\n                    (param_2,PTR_UINT_0012a18c + 0x3534,auStack_64,param_1,auStack_40,param_1 + 4,\n                     param_1 + 8,param_1 + 0x4c,param_1 + 0x48,param_1 + 0xc,param_1 + 0x50)" identifier = (call_expression "(*(code *)PTR_sscanf_0012ad98)\n                    (param_2,PTR_UINT_0012a18c + 0x3534,auStack_64,param_1,auStack_40,param_1 + 4,\n                     param_1 + 8,param_1 + 0x4c,param_1 + 0x48,param_1 + 0xc,param_1 + 0x50)" (parenthesized_expression "(*(code *)PTR_sscanf_0012ad98)" ( (pointer_expression "*(code *)PTR_sscanf_0012ad98" * (cast_expression "(code *)PTR_sscanf_0012ad98" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,PTR_UINT_0012a18c + 0x3534,auStack_64,param_1,auStack_40,param_1 + 4,\n                     param_1 + 8,param_1 + 0x4c,param_1 + 0x48,param_1 + 0xc,param_1 + 0x50)" ( identifier , (binary_expression "PTR_UINT_0012a18c + 0x3534" identifier + number_literal) , identifier , identifier , identifier , (binary_expression "param_1 + 4" identifier + number_literal) , (binary_expression "param_1 + 8" identifier + number_literal) , (binary_expression "param_1 + 0x4c" identifier + number_literal) , (binary_expression "param_1 + 0x48" identifier + number_literal) , (binary_expression "param_1 + 0xc" identifier + number_literal) , (binary_expression "param_1 + 0x50" identifier + number_literal) )))) ;) (expression_statement "uVar5 = 1;" (assignment_expression "uVar5 = 1" identifier = number_literal) ;) (expression_statement "puVar6 = auStack_64;" (assignment_expression "puVar6 = auStack_64" identifier = identifier) ;) (if_statement "if (8 < iVar3) {\n    uVar4 = (*(code *)PTR_strlen_0012af3c)(auStack_64);\n    puVar1 = PTR_UINT_0012a18c;\n    puVar7 = auStack_64;\n    if (8 < uVar4) goto LAB_00042b54;\n    puVar6 = &SUB_00000002;\n    (*(code *)PTR_sscanf_0012ad98)(auStack_64,PTR_UINT_0012a18c + 0x3580,param_1 + 0x14);\n    *(undefined2 *)(param_1 + 0x10) = 2;\n    (*(code *)PTR_sscanf_0012ad98)(auStack_40,puVar1 + 0x3580,param_1 + 0x30);\n    uVar5 = 0;\n    *(undefined2 *)(param_1 + 0x2c) = 2;\n  }" if (parenthesized_expression "(8 < iVar3)" ( (binary_expression "8 < iVar3" number_literal < identifier) )) (compound_statement "{\n    uVar4 = (*(code *)PTR_strlen_0012af3c)(auStack_64);\n    puVar1 = PTR_UINT_0012a18c;\n    puVar7 = auStack_64;\n    if (8 < uVar4) goto LAB_00042b54;\n    puVar6 = &SUB_00000002;\n    (*(code *)PTR_sscanf_0012ad98)(auStack_64,PTR_UINT_0012a18c + 0x3580,param_1 + 0x14);\n    *(undefined2 *)(param_1 + 0x10) = 2;\n    (*(code *)PTR_sscanf_0012ad98)(auStack_40,puVar1 + 0x3580,param_1 + 0x30);\n    uVar5 = 0;\n    *(undefined2 *)(param_1 + 0x2c) = 2;\n  }" { (expression_statement "uVar4 = (*(code *)PTR_strlen_0012af3c)(auStack_64);" (assignment_expression "uVar4 = (*(code *)PTR_strlen_0012af3c)(auStack_64)" identifier = (call_expression "(*(code *)PTR_strlen_0012af3c)(auStack_64)" (parenthesized_expression "(*(code *)PTR_strlen_0012af3c)" ( (pointer_expression "*(code *)PTR_strlen_0012af3c" * (cast_expression "(code *)PTR_strlen_0012af3c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_64)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_UINT_0012a18c;" (assignment_expression "puVar1 = PTR_UINT_0012a18c" identifier = identifier) ;) (expression_statement "puVar7 = auStack_64;" (assignment_expression "puVar7 = auStack_64" identifier = identifier) ;) (if_statement "if (8 < uVar4) goto LAB_00042b54;" if (parenthesized_expression "(8 < uVar4)" ( (binary_expression "8 < uVar4" number_literal < identifier) )) (goto_statement "goto LAB_00042b54;" goto statement_identifier ;)) (expression_statement "puVar6 = &SUB_00000002;" (assignment_expression "puVar6 = &SUB_00000002" identifier = (pointer_expression "&SUB_00000002" & identifier)) ;) (expression_statement "(*(code *)PTR_sscanf_0012ad98)(auStack_64,PTR_UINT_0012a18c + 0x3580,param_1 + 0x14);" (call_expression "(*(code *)PTR_sscanf_0012ad98)(auStack_64,PTR_UINT_0012a18c + 0x3580,param_1 + 0x14)" (parenthesized_expression "(*(code *)PTR_sscanf_0012ad98)" ( (pointer_expression "*(code *)PTR_sscanf_0012ad98" * (cast_expression "(code *)PTR_sscanf_0012ad98" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_64,PTR_UINT_0012a18c + 0x3580,param_1 + 0x14)" ( identifier , (binary_expression "PTR_UINT_0012a18c + 0x3580" identifier + number_literal) , (binary_expression "param_1 + 0x14" identifier + number_literal) ))) ;) (expression_statement "*(undefined2 *)(param_1 + 0x10) = 2;" (assignment_expression "*(undefined2 *)(param_1 + 0x10) = 2" (pointer_expression "*(undefined2 *)(param_1 + 0x10)" * (cast_expression "(undefined2 *)(param_1 + 0x10)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*(code *)PTR_sscanf_0012ad98)(auStack_40,puVar1 + 0x3580,param_1 + 0x30);" (call_expression "(*(code *)PTR_sscanf_0012ad98)(auStack_40,puVar1 + 0x3580,param_1 + 0x30)" (parenthesized_expression "(*(code *)PTR_sscanf_0012ad98)" ( (pointer_expression "*(code *)PTR_sscanf_0012ad98" * (cast_expression "(code *)PTR_sscanf_0012ad98" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_40,puVar1 + 0x3580,param_1 + 0x30)" ( identifier , (binary_expression "puVar1 + 0x3580" identifier + number_literal) , (binary_expression "param_1 + 0x30" identifier + number_literal) ))) ;) (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;) (expression_statement "*(undefined2 *)(param_1 + 0x2c) = 2;" (assignment_expression "*(undefined2 *)(param_1 + 0x2c) = 2" (pointer_expression "*(undefined2 *)(param_1 + 0x2c)" * (cast_expression "(undefined2 *)(param_1 + 0x2c)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) = number_literal) ;) })) (while_statement "while( true ) {\n    if (local_1c == *(int *)puVar2) break;\n    (*(code *)PTR___stack_chk_fail_0012b0c8)();\n    puVar7 = puVar6;\nLAB_00042b54:\n    puVar6 = PTR_LAB_0012a49c + 0x2938;\n    FUN_00042938(puVar7,param_1 + 0x10);\n    FUN_00042938(auStack_40,param_1 + 0x2c);\n    uVar5 = 0;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    if (local_1c == *(int *)puVar2) break;\n    (*(code *)PTR___stack_chk_fail_0012b0c8)();\n    puVar7 = puVar6;\nLAB_00042b54:\n    puVar6 = PTR_LAB_0012a49c + 0x2938;\n    FUN_00042938(puVar7,param_1 + 0x10);\n    FUN_00042938(auStack_40,param_1 + 0x2c);\n    uVar5 = 0;\n  }" { (if_statement "if (local_1c == *(int *)puVar2) break;" if (parenthesized_expression "(local_1c == *(int *)puVar2)" ( (binary_expression "local_1c == *(int *)puVar2" identifier == (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (break_statement "break;" break ;)) (expression_statement "(*(code *)PTR___stack_chk_fail_0012b0c8)();" (call_expression "(*(code *)PTR___stack_chk_fail_0012b0c8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0012b0c8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0012b0c8" * (cast_expression "(code *)PTR___stack_chk_fail_0012b0c8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puVar7 = puVar6;" (assignment_expression "puVar7 = puVar6" identifier = identifier) ;) (labeled_statement "LAB_00042b54:\n    puVar6 = PTR_LAB_0012a49c + 0x2938;" statement_identifier : (expression_statement "puVar6 = PTR_LAB_0012a49c + 0x2938;" (assignment_expression "puVar6 = PTR_LAB_0012a49c + 0x2938" identifier = (binary_expression "PTR_LAB_0012a49c + 0x2938" identifier + number_literal)) ;)) (expression_statement "FUN_00042938(puVar7,param_1 + 0x10);" (call_expression "FUN_00042938(puVar7,param_1 + 0x10)" identifier (argument_list "(puVar7,param_1 + 0x10)" ( identifier , (binary_expression "param_1 + 0x10" identifier + number_literal) ))) ;) (expression_statement "FUN_00042938(auStack_40,param_1 + 0x2c);" (call_expression "FUN_00042938(auStack_40,param_1 + 0x2c)" identifier (argument_list "(auStack_40,param_1 + 0x2c)" ( identifier , (binary_expression "param_1 + 0x2c" identifier + number_literal) ))) ;) (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;) })) (return_statement "return uVar5;" return identifier ;) })))
(translation_unit "int scan_inet_proc_line(inet_params *param,char *line)\n\n{\n  int iVar1;\n  int iVar2;\n  uint uVar3;\n  int iVar4;\n  char *pcVar5;\n  char *pcVar6;\n  int *piVar7;\n  int in_t9;\n  char local_addr [33];\n  char rem_addr [33];\n  \n  piVar7 = *(int **)(&LAB_000e8734 + in_t9);\n  iVar1 = *piVar7;\n  iVar2 = (**(code **)(in_t9 + 0xe8380))\n                    (line,*(int *)(in_t9 + 0xe7774) + 0x3534,local_addr,param,rem_addr,\n                     &param->rem_port,&param->state,&param->txq,&param->rxq,&param->uid,\n                     &param->inode);\n  iVar4 = 1;\n  pcVar5 = local_addr;\n  if (8 < iVar2) {\n    uVar3 = (**(code **)(in_t9 + 0xe8524))(local_addr);\n    pcVar6 = local_addr;\n    if (8 < uVar3) goto LAB_00042b54;\n    iVar2 = *(int *)(in_t9 + 0xe7774);\n    pcVar5 = &SUB_00000002;\n    (**(code **)(in_t9 + 0xe8380))\n              (local_addr,iVar2 + 0x3580,(undefined1 *)((int)&param->localaddr + 4));\n    (param->localaddr).sa.sa_family = 2;\n    (**(code **)(in_t9 + 0xe8380))(rem_addr,iVar2 + 0x3580,(undefined1 *)((int)&param->remaddr + 4))\n    ;\n    iVar4 = 0;\n    (param->remaddr).sa.sa_family = 2;\n  }\n  while( true ) {\n    if (iVar1 == *piVar7) break;\n    (**(code **)(in_t9 + 0xe86b0))();\n    pcVar6 = pcVar5;\nLAB_00042b54:\n    pcVar5 = (char *)(*(int *)(in_t9 + 0xe7a84) + 0x2938);\n    build_ipv6_addr(pcVar6,&(param->localaddr).sin6);\n    build_ipv6_addr(rem_addr,&(param->remaddr).sin6);\n    iVar4 = 0;\n  }\n  return iVar4;\n}\n\n" (function_definition "int scan_inet_proc_line(inet_params *param,char *line)\n\n{\n  int iVar1;\n  int iVar2;\n  uint uVar3;\n  int iVar4;\n  char *pcVar5;\n  char *pcVar6;\n  int *piVar7;\n  int in_t9;\n  char local_addr [33];\n  char rem_addr [33];\n  \n  piVar7 = *(int **)(&LAB_000e8734 + in_t9);\n  iVar1 = *piVar7;\n  iVar2 = (**(code **)(in_t9 + 0xe8380))\n                    (line,*(int *)(in_t9 + 0xe7774) + 0x3534,local_addr,param,rem_addr,\n                     &param->rem_port,&param->state,&param->txq,&param->rxq,&param->uid,\n                     &param->inode);\n  iVar4 = 1;\n  pcVar5 = local_addr;\n  if (8 < iVar2) {\n    uVar3 = (**(code **)(in_t9 + 0xe8524))(local_addr);\n    pcVar6 = local_addr;\n    if (8 < uVar3) goto LAB_00042b54;\n    iVar2 = *(int *)(in_t9 + 0xe7774);\n    pcVar5 = &SUB_00000002;\n    (**(code **)(in_t9 + 0xe8380))\n              (local_addr,iVar2 + 0x3580,(undefined1 *)((int)&param->localaddr + 4));\n    (param->localaddr).sa.sa_family = 2;\n    (**(code **)(in_t9 + 0xe8380))(rem_addr,iVar2 + 0x3580,(undefined1 *)((int)&param->remaddr + 4))\n    ;\n    iVar4 = 0;\n    (param->remaddr).sa.sa_family = 2;\n  }\n  while( true ) {\n    if (iVar1 == *piVar7) break;\n    (**(code **)(in_t9 + 0xe86b0))();\n    pcVar6 = pcVar5;\nLAB_00042b54:\n    pcVar5 = (char *)(*(int *)(in_t9 + 0xe7a84) + 0x2938);\n    build_ipv6_addr(pcVar6,&(param->localaddr).sin6);\n    build_ipv6_addr(rem_addr,&(param->remaddr).sin6);\n    iVar4 = 0;\n  }\n  return iVar4;\n}" primitive_type (function_declarator "scan_inet_proc_line(inet_params *param,char *line)" identifier (parameter_list "(inet_params *param,char *line)" ( (parameter_declaration "inet_params *param" type_identifier (pointer_declarator "*param" * identifier)) , (parameter_declaration "char *line" primitive_type (pointer_declarator "*line" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  uint uVar3;\n  int iVar4;\n  char *pcVar5;\n  char *pcVar6;\n  int *piVar7;\n  int in_t9;\n  char local_addr [33];\n  char rem_addr [33];\n  \n  piVar7 = *(int **)(&LAB_000e8734 + in_t9);\n  iVar1 = *piVar7;\n  iVar2 = (**(code **)(in_t9 + 0xe8380))\n                    (line,*(int *)(in_t9 + 0xe7774) + 0x3534,local_addr,param,rem_addr,\n                     &param->rem_port,&param->state,&param->txq,&param->rxq,&param->uid,\n                     &param->inode);\n  iVar4 = 1;\n  pcVar5 = local_addr;\n  if (8 < iVar2) {\n    uVar3 = (**(code **)(in_t9 + 0xe8524))(local_addr);\n    pcVar6 = local_addr;\n    if (8 < uVar3) goto LAB_00042b54;\n    iVar2 = *(int *)(in_t9 + 0xe7774);\n    pcVar5 = &SUB_00000002;\n    (**(code **)(in_t9 + 0xe8380))\n              (local_addr,iVar2 + 0x3580,(undefined1 *)((int)&param->localaddr + 4));\n    (param->localaddr).sa.sa_family = 2;\n    (**(code **)(in_t9 + 0xe8380))(rem_addr,iVar2 + 0x3580,(undefined1 *)((int)&param->remaddr + 4))\n    ;\n    iVar4 = 0;\n    (param->remaddr).sa.sa_family = 2;\n  }\n  while( true ) {\n    if (iVar1 == *piVar7) break;\n    (**(code **)(in_t9 + 0xe86b0))();\n    pcVar6 = pcVar5;\nLAB_00042b54:\n    pcVar5 = (char *)(*(int *)(in_t9 + 0xe7a84) + 0x2938);\n    build_ipv6_addr(pcVar6,&(param->localaddr).sin6);\n    build_ipv6_addr(rem_addr,&(param->remaddr).sin6);\n    iVar4 = 0;\n  }\n  return iVar4;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "int in_t9;" primitive_type identifier ;) (declaration "char local_addr [33];" primitive_type (array_declarator "local_addr [33]" identifier [ number_literal ]) ;) (declaration "char rem_addr [33];" primitive_type (array_declarator "rem_addr [33]" identifier [ number_literal ]) ;) (expression_statement "piVar7 = *(int **)(&LAB_000e8734 + in_t9);" (assignment_expression "piVar7 = *(int **)(&LAB_000e8734 + in_t9)" identifier = (pointer_expression "*(int **)(&LAB_000e8734 + in_t9)" * (cast_expression "(int **)(&LAB_000e8734 + in_t9)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&LAB_000e8734 + in_t9)" ( (binary_expression "&LAB_000e8734 + in_t9" (pointer_expression "&LAB_000e8734" & identifier) + identifier) ))))) ;) (expression_statement "iVar1 = *piVar7;" (assignment_expression "iVar1 = *piVar7" identifier = (pointer_expression "*piVar7" * identifier)) ;) (expression_statement "iVar2 = (**(code **)(in_t9 + 0xe8380))\n                    (line,*(int *)(in_t9 + 0xe7774) + 0x3534,local_addr,param,rem_addr,\n                     &param->rem_port,&param->state,&param->txq,&param->rxq,&param->uid,\n                     &param->inode);" (assignment_expression "iVar2 = (**(code **)(in_t9 + 0xe8380))\n                    (line,*(int *)(in_t9 + 0xe7774) + 0x3534,local_addr,param,rem_addr,\n                     &param->rem_port,&param->state,&param->txq,&param->rxq,&param->uid,\n                     &param->inode)" identifier = (call_expression "(**(code **)(in_t9 + 0xe8380))\n                    (line,*(int *)(in_t9 + 0xe7774) + 0x3534,local_addr,param,rem_addr,\n                     &param->rem_port,&param->state,&param->txq,&param->rxq,&param->uid,\n                     &param->inode)" (parenthesized_expression "(**(code **)(in_t9 + 0xe8380))" ( (pointer_expression "**(code **)(in_t9 + 0xe8380)" * (pointer_expression "*(code **)(in_t9 + 0xe8380)" * (cast_expression "(code **)(in_t9 + 0xe8380)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0xe8380)" ( (binary_expression "in_t9 + 0xe8380" identifier + number_literal) ))))) )) (argument_list "(line,*(int *)(in_t9 + 0xe7774) + 0x3534,local_addr,param,rem_addr,\n                     &param->rem_port,&param->state,&param->txq,&param->rxq,&param->uid,\n                     &param->inode)" ( identifier , (binary_expression "*(int *)(in_t9 + 0xe7774) + 0x3534" (pointer_expression "*(int *)(in_t9 + 0xe7774)" * (cast_expression "(int *)(in_t9 + 0xe7774)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0xe7774)" ( (binary_expression "in_t9 + 0xe7774" identifier + number_literal) )))) + number_literal) , identifier , identifier , identifier , (pointer_expression "&param->rem_port" & (field_expression "param->rem_port" identifier -> field_identifier)) , (pointer_expression "&param->state" & (field_expression "param->state" identifier -> field_identifier)) , (pointer_expression "&param->txq" & (field_expression "param->txq" identifier -> field_identifier)) , (pointer_expression "&param->rxq" & (field_expression "param->rxq" identifier -> field_identifier)) , (pointer_expression "&param->uid" & (field_expression "param->uid" identifier -> field_identifier)) , (pointer_expression "&param->inode" & (field_expression "param->inode" identifier -> field_identifier)) )))) ;) (expression_statement "iVar4 = 1;" (assignment_expression "iVar4 = 1" identifier = number_literal) ;) (expression_statement "pcVar5 = local_addr;" (assignment_expression "pcVar5 = local_addr" identifier = identifier) ;) (if_statement "if (8 < iVar2) {\n    uVar3 = (**(code **)(in_t9 + 0xe8524))(local_addr);\n    pcVar6 = local_addr;\n    if (8 < uVar3) goto LAB_00042b54;\n    iVar2 = *(int *)(in_t9 + 0xe7774);\n    pcVar5 = &SUB_00000002;\n    (**(code **)(in_t9 + 0xe8380))\n              (local_addr,iVar2 + 0x3580,(undefined1 *)((int)&param->localaddr + 4));\n    (param->localaddr).sa.sa_family = 2;\n    (**(code **)(in_t9 + 0xe8380))(rem_addr,iVar2 + 0x3580,(undefined1 *)((int)&param->remaddr + 4))\n    ;\n    iVar4 = 0;\n    (param->remaddr).sa.sa_family = 2;\n  }" if (parenthesized_expression "(8 < iVar2)" ( (binary_expression "8 < iVar2" number_literal < identifier) )) (compound_statement "{\n    uVar3 = (**(code **)(in_t9 + 0xe8524))(local_addr);\n    pcVar6 = local_addr;\n    if (8 < uVar3) goto LAB_00042b54;\n    iVar2 = *(int *)(in_t9 + 0xe7774);\n    pcVar5 = &SUB_00000002;\n    (**(code **)(in_t9 + 0xe8380))\n              (local_addr,iVar2 + 0x3580,(undefined1 *)((int)&param->localaddr + 4));\n    (param->localaddr).sa.sa_family = 2;\n    (**(code **)(in_t9 + 0xe8380))(rem_addr,iVar2 + 0x3580,(undefined1 *)((int)&param->remaddr + 4))\n    ;\n    iVar4 = 0;\n    (param->remaddr).sa.sa_family = 2;\n  }" { (expression_statement "uVar3 = (**(code **)(in_t9 + 0xe8524))(local_addr);" (assignment_expression "uVar3 = (**(code **)(in_t9 + 0xe8524))(local_addr)" identifier = (call_expression "(**(code **)(in_t9 + 0xe8524))(local_addr)" (parenthesized_expression "(**(code **)(in_t9 + 0xe8524))" ( (pointer_expression "**(code **)(in_t9 + 0xe8524)" * (pointer_expression "*(code **)(in_t9 + 0xe8524)" * (cast_expression "(code **)(in_t9 + 0xe8524)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0xe8524)" ( (binary_expression "in_t9 + 0xe8524" identifier + number_literal) ))))) )) (argument_list "(local_addr)" ( identifier )))) ;) (expression_statement "pcVar6 = local_addr;" (assignment_expression "pcVar6 = local_addr" identifier = identifier) ;) (if_statement "if (8 < uVar3) goto LAB_00042b54;" if (parenthesized_expression "(8 < uVar3)" ( (binary_expression "8 < uVar3" number_literal < identifier) )) (goto_statement "goto LAB_00042b54;" goto statement_identifier ;)) (expression_statement "iVar2 = *(int *)(in_t9 + 0xe7774);" (assignment_expression "iVar2 = *(int *)(in_t9 + 0xe7774)" identifier = (pointer_expression "*(int *)(in_t9 + 0xe7774)" * (cast_expression "(int *)(in_t9 + 0xe7774)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0xe7774)" ( (binary_expression "in_t9 + 0xe7774" identifier + number_literal) ))))) ;) (expression_statement "pcVar5 = &SUB_00000002;" (assignment_expression "pcVar5 = &SUB_00000002" identifier = (pointer_expression "&SUB_00000002" & identifier)) ;) (expression_statement "(**(code **)(in_t9 + 0xe8380))\n              (local_addr,iVar2 + 0x3580,(undefined1 *)((int)&param->localaddr + 4));" (call_expression "(**(code **)(in_t9 + 0xe8380))\n              (local_addr,iVar2 + 0x3580,(undefined1 *)((int)&param->localaddr + 4))" (parenthesized_expression "(**(code **)(in_t9 + 0xe8380))" ( (pointer_expression "**(code **)(in_t9 + 0xe8380)" * (pointer_expression "*(code **)(in_t9 + 0xe8380)" * (cast_expression "(code **)(in_t9 + 0xe8380)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0xe8380)" ( (binary_expression "in_t9 + 0xe8380" identifier + number_literal) ))))) )) (argument_list "(local_addr,iVar2 + 0x3580,(undefined1 *)((int)&param->localaddr + 4))" ( identifier , (binary_expression "iVar2 + 0x3580" identifier + number_literal) , (cast_expression "(undefined1 *)((int)&param->localaddr + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&param->localaddr + 4)" ( (binary_expression "(int)&param->localaddr + 4" (cast_expression "(int)&param->localaddr" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&param->localaddr" & (field_expression "param->localaddr" identifier -> field_identifier))) + number_literal) ))) ))) ;) (expression_statement "(param->localaddr).sa.sa_family = 2;" (assignment_expression "(param->localaddr).sa.sa_family = 2" (field_expression "(param->localaddr).sa.sa_family" (field_expression "(param->localaddr).sa" (parenthesized_expression "(param->localaddr)" ( (field_expression "param->localaddr" identifier -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(**(code **)(in_t9 + 0xe8380))(rem_addr,iVar2 + 0x3580,(undefined1 *)((int)&param->remaddr + 4))\n    ;" (call_expression "(**(code **)(in_t9 + 0xe8380))(rem_addr,iVar2 + 0x3580,(undefined1 *)((int)&param->remaddr + 4))" (parenthesized_expression "(**(code **)(in_t9 + 0xe8380))" ( (pointer_expression "**(code **)(in_t9 + 0xe8380)" * (pointer_expression "*(code **)(in_t9 + 0xe8380)" * (cast_expression "(code **)(in_t9 + 0xe8380)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0xe8380)" ( (binary_expression "in_t9 + 0xe8380" identifier + number_literal) ))))) )) (argument_list "(rem_addr,iVar2 + 0x3580,(undefined1 *)((int)&param->remaddr + 4))" ( identifier , (binary_expression "iVar2 + 0x3580" identifier + number_literal) , (cast_expression "(undefined1 *)((int)&param->remaddr + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&param->remaddr + 4)" ( (binary_expression "(int)&param->remaddr + 4" (cast_expression "(int)&param->remaddr" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&param->remaddr" & (field_expression "param->remaddr" identifier -> field_identifier))) + number_literal) ))) ))) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "(param->remaddr).sa.sa_family = 2;" (assignment_expression "(param->remaddr).sa.sa_family = 2" (field_expression "(param->remaddr).sa.sa_family" (field_expression "(param->remaddr).sa" (parenthesized_expression "(param->remaddr)" ( (field_expression "param->remaddr" identifier -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) })) (while_statement "while( true ) {\n    if (iVar1 == *piVar7) break;\n    (**(code **)(in_t9 + 0xe86b0))();\n    pcVar6 = pcVar5;\nLAB_00042b54:\n    pcVar5 = (char *)(*(int *)(in_t9 + 0xe7a84) + 0x2938);\n    build_ipv6_addr(pcVar6,&(param->localaddr).sin6);\n    build_ipv6_addr(rem_addr,&(param->remaddr).sin6);\n    iVar4 = 0;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    if (iVar1 == *piVar7) break;\n    (**(code **)(in_t9 + 0xe86b0))();\n    pcVar6 = pcVar5;\nLAB_00042b54:\n    pcVar5 = (char *)(*(int *)(in_t9 + 0xe7a84) + 0x2938);\n    build_ipv6_addr(pcVar6,&(param->localaddr).sin6);\n    build_ipv6_addr(rem_addr,&(param->remaddr).sin6);\n    iVar4 = 0;\n  }" { (if_statement "if (iVar1 == *piVar7) break;" if (parenthesized_expression "(iVar1 == *piVar7)" ( (binary_expression "iVar1 == *piVar7" identifier == (pointer_expression "*piVar7" * identifier)) )) (break_statement "break;" break ;)) (expression_statement "(**(code **)(in_t9 + 0xe86b0))();" (call_expression "(**(code **)(in_t9 + 0xe86b0))()" (parenthesized_expression "(**(code **)(in_t9 + 0xe86b0))" ( (pointer_expression "**(code **)(in_t9 + 0xe86b0)" * (pointer_expression "*(code **)(in_t9 + 0xe86b0)" * (cast_expression "(code **)(in_t9 + 0xe86b0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0xe86b0)" ( (binary_expression "in_t9 + 0xe86b0" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar6 = pcVar5;" (assignment_expression "pcVar6 = pcVar5" identifier = identifier) ;) (labeled_statement "LAB_00042b54:\n    pcVar5 = (char *)(*(int *)(in_t9 + 0xe7a84) + 0x2938);" statement_identifier : (expression_statement "pcVar5 = (char *)(*(int *)(in_t9 + 0xe7a84) + 0x2938);" (assignment_expression "pcVar5 = (char *)(*(int *)(in_t9 + 0xe7a84) + 0x2938)" identifier = (cast_expression "(char *)(*(int *)(in_t9 + 0xe7a84) + 0x2938)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0xe7a84) + 0x2938)" ( (binary_expression "*(int *)(in_t9 + 0xe7a84) + 0x2938" (pointer_expression "*(int *)(in_t9 + 0xe7a84)" * (cast_expression "(int *)(in_t9 + 0xe7a84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0xe7a84)" ( (binary_expression "in_t9 + 0xe7a84" identifier + number_literal) )))) + number_literal) )))) ;)) (expression_statement "build_ipv6_addr(pcVar6,&(param->localaddr).sin6);" (call_expression "build_ipv6_addr(pcVar6,&(param->localaddr).sin6)" identifier (argument_list "(pcVar6,&(param->localaddr).sin6)" ( identifier , (pointer_expression "&(param->localaddr).sin6" & (field_expression "(param->localaddr).sin6" (parenthesized_expression "(param->localaddr)" ( (field_expression "param->localaddr" identifier -> field_identifier) )) . field_identifier)) ))) ;) (expression_statement "build_ipv6_addr(rem_addr,&(param->remaddr).sin6);" (call_expression "build_ipv6_addr(rem_addr,&(param->remaddr).sin6)" identifier (argument_list "(rem_addr,&(param->remaddr).sin6)" ( identifier , (pointer_expression "&(param->remaddr).sin6" & (field_expression "(param->remaddr).sin6" (parenthesized_expression "(param->remaddr)" ( (field_expression "param->remaddr" identifier -> field_identifier) )) . field_identifier)) ))) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) })) (return_statement "return iVar4;" return identifier ;) })))
(translation_unit "undefined4 FUN_00042a18(int param_1,undefined4 param_2)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  undefined1 *puVar6;\n  undefined1 *puVar7;\n  undefined1 auStack_64 [36];\n  undefined1 auStack_40 [36];\n  int local_1c;\n  \n  puVar2 = PTR___stack_chk_guard_0012b14c;\n  local_1c = *(int *)PTR___stack_chk_guard_0012b14c;\n  iVar3 = (*(code *)PTR_sscanf_0012ad98)\n                    (param_2,PTR_UINT_0012a18c + 0x3534,auStack_64,param_1,auStack_40,param_1 + 4,\n                     param_1 + 8,param_1 + 0x4c,param_1 + 0x48,param_1 + 0xc,param_1 + 0x50);\n  uVar5 = 1;\n  puVar6 = auStack_64;\n  if (8 < iVar3) {\n    uVar4 = (*(code *)PTR_strlen_0012af3c)(auStack_64);\n    puVar1 = PTR_UINT_0012a18c;\n    puVar7 = auStack_64;\n    if (8 < uVar4) goto LAB_00042b54;\n    puVar6 = &SUB_00000002;\n    (*(code *)PTR_sscanf_0012ad98)(auStack_64,PTR_UINT_0012a18c + 0x3580,param_1 + 0x14);\n    *(undefined2 *)(param_1 + 0x10) = 2;\n    (*(code *)PTR_sscanf_0012ad98)(auStack_40,puVar1 + 0x3580,param_1 + 0x30);\n    uVar5 = 0;\n    *(undefined2 *)(param_1 + 0x2c) = 2;\n  }\n  while( true ) {\n    if (local_1c == *(int *)puVar2) break;\n    (*(code *)PTR___stack_chk_fail_0012b0c8)();\n    puVar7 = puVar6;\nLAB_00042b54:\n    puVar6 = PTR_LAB_0012a49c + 0x2938;\n    FUN_00042938(puVar7,param_1 + 0x10);\n    FUN_00042938(auStack_40,param_1 + 0x2c);\n    uVar5 = 0;\n  }\n  return uVar5;\n}\n\n" (function_definition "undefined4 FUN_00042a18(int param_1,undefined4 param_2)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  undefined1 *puVar6;\n  undefined1 *puVar7;\n  undefined1 auStack_64 [36];\n  undefined1 auStack_40 [36];\n  int local_1c;\n  \n  puVar2 = PTR___stack_chk_guard_0012b14c;\n  local_1c = *(int *)PTR___stack_chk_guard_0012b14c;\n  iVar3 = (*(code *)PTR_sscanf_0012ad98)\n                    (param_2,PTR_UINT_0012a18c + 0x3534,auStack_64,param_1,auStack_40,param_1 + 4,\n                     param_1 + 8,param_1 + 0x4c,param_1 + 0x48,param_1 + 0xc,param_1 + 0x50);\n  uVar5 = 1;\n  puVar6 = auStack_64;\n  if (8 < iVar3) {\n    uVar4 = (*(code *)PTR_strlen_0012af3c)(auStack_64);\n    puVar1 = PTR_UINT_0012a18c;\n    puVar7 = auStack_64;\n    if (8 < uVar4) goto LAB_00042b54;\n    puVar6 = &SUB_00000002;\n    (*(code *)PTR_sscanf_0012ad98)(auStack_64,PTR_UINT_0012a18c + 0x3580,param_1 + 0x14);\n    *(undefined2 *)(param_1 + 0x10) = 2;\n    (*(code *)PTR_sscanf_0012ad98)(auStack_40,puVar1 + 0x3580,param_1 + 0x30);\n    uVar5 = 0;\n    *(undefined2 *)(param_1 + 0x2c) = 2;\n  }\n  while( true ) {\n    if (local_1c == *(int *)puVar2) break;\n    (*(code *)PTR___stack_chk_fail_0012b0c8)();\n    puVar7 = puVar6;\nLAB_00042b54:\n    puVar6 = PTR_LAB_0012a49c + 0x2938;\n    FUN_00042938(puVar7,param_1 + 0x10);\n    FUN_00042938(auStack_40,param_1 + 0x2c);\n    uVar5 = 0;\n  }\n  return uVar5;\n}" type_identifier (function_declarator "FUN_00042a18(int param_1,undefined4 param_2)" identifier (parameter_list "(int param_1,undefined4 param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  undefined1 *puVar6;\n  undefined1 *puVar7;\n  undefined1 auStack_64 [36];\n  undefined1 auStack_40 [36];\n  int local_1c;\n  \n  puVar2 = PTR___stack_chk_guard_0012b14c;\n  local_1c = *(int *)PTR___stack_chk_guard_0012b14c;\n  iVar3 = (*(code *)PTR_sscanf_0012ad98)\n                    (param_2,PTR_UINT_0012a18c + 0x3534,auStack_64,param_1,auStack_40,param_1 + 4,\n                     param_1 + 8,param_1 + 0x4c,param_1 + 0x48,param_1 + 0xc,param_1 + 0x50);\n  uVar5 = 1;\n  puVar6 = auStack_64;\n  if (8 < iVar3) {\n    uVar4 = (*(code *)PTR_strlen_0012af3c)(auStack_64);\n    puVar1 = PTR_UINT_0012a18c;\n    puVar7 = auStack_64;\n    if (8 < uVar4) goto LAB_00042b54;\n    puVar6 = &SUB_00000002;\n    (*(code *)PTR_sscanf_0012ad98)(auStack_64,PTR_UINT_0012a18c + 0x3580,param_1 + 0x14);\n    *(undefined2 *)(param_1 + 0x10) = 2;\n    (*(code *)PTR_sscanf_0012ad98)(auStack_40,puVar1 + 0x3580,param_1 + 0x30);\n    uVar5 = 0;\n    *(undefined2 *)(param_1 + 0x2c) = 2;\n  }\n  while( true ) {\n    if (local_1c == *(int *)puVar2) break;\n    (*(code *)PTR___stack_chk_fail_0012b0c8)();\n    puVar7 = puVar6;\nLAB_00042b54:\n    puVar6 = PTR_LAB_0012a49c + 0x2938;\n    FUN_00042938(puVar7,param_1 + 0x10);\n    FUN_00042938(auStack_40,param_1 + 0x2c);\n    uVar5 = 0;\n  }\n  return uVar5;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined1 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined1 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined1 auStack_64 [36];" type_identifier (array_declarator "auStack_64 [36]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_40 [36];" type_identifier (array_declarator "auStack_40 [36]" identifier [ number_literal ]) ;) (declaration "int local_1c;" primitive_type identifier ;) (expression_statement "puVar2 = PTR___stack_chk_guard_0012b14c;" (assignment_expression "puVar2 = PTR___stack_chk_guard_0012b14c" identifier = identifier) ;) (expression_statement "local_1c = *(int *)PTR___stack_chk_guard_0012b14c;" (assignment_expression "local_1c = *(int *)PTR___stack_chk_guard_0012b14c" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0012b14c" * (cast_expression "(int *)PTR___stack_chk_guard_0012b14c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar3 = (*(code *)PTR_sscanf_0012ad98)\n                    (param_2,PTR_UINT_0012a18c + 0x3534,auStack_64,param_1,auStack_40,param_1 + 4,\n                     param_1 + 8,param_1 + 0x4c,param_1 + 0x48,param_1 + 0xc,param_1 + 0x50);" (assignment_expression "iVar3 = (*(code *)PTR_sscanf_0012ad98)\n                    (param_2,PTR_UINT_0012a18c + 0x3534,auStack_64,param_1,auStack_40,param_1 + 4,\n                     param_1 + 8,param_1 + 0x4c,param_1 + 0x48,param_1 + 0xc,param_1 + 0x50)" identifier = (call_expression "(*(code *)PTR_sscanf_0012ad98)\n                    (param_2,PTR_UINT_0012a18c + 0x3534,auStack_64,param_1,auStack_40,param_1 + 4,\n                     param_1 + 8,param_1 + 0x4c,param_1 + 0x48,param_1 + 0xc,param_1 + 0x50)" (parenthesized_expression "(*(code *)PTR_sscanf_0012ad98)" ( (pointer_expression "*(code *)PTR_sscanf_0012ad98" * (cast_expression "(code *)PTR_sscanf_0012ad98" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,PTR_UINT_0012a18c + 0x3534,auStack_64,param_1,auStack_40,param_1 + 4,\n                     param_1 + 8,param_1 + 0x4c,param_1 + 0x48,param_1 + 0xc,param_1 + 0x50)" ( identifier , (binary_expression "PTR_UINT_0012a18c + 0x3534" identifier + number_literal) , identifier , identifier , identifier , (binary_expression "param_1 + 4" identifier + number_literal) , (binary_expression "param_1 + 8" identifier + number_literal) , (binary_expression "param_1 + 0x4c" identifier + number_literal) , (binary_expression "param_1 + 0x48" identifier + number_literal) , (binary_expression "param_1 + 0xc" identifier + number_literal) , (binary_expression "param_1 + 0x50" identifier + number_literal) )))) ;) (expression_statement "uVar5 = 1;" (assignment_expression "uVar5 = 1" identifier = number_literal) ;) (expression_statement "puVar6 = auStack_64;" (assignment_expression "puVar6 = auStack_64" identifier = identifier) ;) (if_statement "if (8 < iVar3) {\n    uVar4 = (*(code *)PTR_strlen_0012af3c)(auStack_64);\n    puVar1 = PTR_UINT_0012a18c;\n    puVar7 = auStack_64;\n    if (8 < uVar4) goto LAB_00042b54;\n    puVar6 = &SUB_00000002;\n    (*(code *)PTR_sscanf_0012ad98)(auStack_64,PTR_UINT_0012a18c + 0x3580,param_1 + 0x14);\n    *(undefined2 *)(param_1 + 0x10) = 2;\n    (*(code *)PTR_sscanf_0012ad98)(auStack_40,puVar1 + 0x3580,param_1 + 0x30);\n    uVar5 = 0;\n    *(undefined2 *)(param_1 + 0x2c) = 2;\n  }" if (parenthesized_expression "(8 < iVar3)" ( (binary_expression "8 < iVar3" number_literal < identifier) )) (compound_statement "{\n    uVar4 = (*(code *)PTR_strlen_0012af3c)(auStack_64);\n    puVar1 = PTR_UINT_0012a18c;\n    puVar7 = auStack_64;\n    if (8 < uVar4) goto LAB_00042b54;\n    puVar6 = &SUB_00000002;\n    (*(code *)PTR_sscanf_0012ad98)(auStack_64,PTR_UINT_0012a18c + 0x3580,param_1 + 0x14);\n    *(undefined2 *)(param_1 + 0x10) = 2;\n    (*(code *)PTR_sscanf_0012ad98)(auStack_40,puVar1 + 0x3580,param_1 + 0x30);\n    uVar5 = 0;\n    *(undefined2 *)(param_1 + 0x2c) = 2;\n  }" { (expression_statement "uVar4 = (*(code *)PTR_strlen_0012af3c)(auStack_64);" (assignment_expression "uVar4 = (*(code *)PTR_strlen_0012af3c)(auStack_64)" identifier = (call_expression "(*(code *)PTR_strlen_0012af3c)(auStack_64)" (parenthesized_expression "(*(code *)PTR_strlen_0012af3c)" ( (pointer_expression "*(code *)PTR_strlen_0012af3c" * (cast_expression "(code *)PTR_strlen_0012af3c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_64)" ( identifier )))) ;) (expression_statement "puVar1 = PTR_UINT_0012a18c;" (assignment_expression "puVar1 = PTR_UINT_0012a18c" identifier = identifier) ;) (expression_statement "puVar7 = auStack_64;" (assignment_expression "puVar7 = auStack_64" identifier = identifier) ;) (if_statement "if (8 < uVar4) goto LAB_00042b54;" if (parenthesized_expression "(8 < uVar4)" ( (binary_expression "8 < uVar4" number_literal < identifier) )) (goto_statement "goto LAB_00042b54;" goto statement_identifier ;)) (expression_statement "puVar6 = &SUB_00000002;" (assignment_expression "puVar6 = &SUB_00000002" identifier = (pointer_expression "&SUB_00000002" & identifier)) ;) (expression_statement "(*(code *)PTR_sscanf_0012ad98)(auStack_64,PTR_UINT_0012a18c + 0x3580,param_1 + 0x14);" (call_expression "(*(code *)PTR_sscanf_0012ad98)(auStack_64,PTR_UINT_0012a18c + 0x3580,param_1 + 0x14)" (parenthesized_expression "(*(code *)PTR_sscanf_0012ad98)" ( (pointer_expression "*(code *)PTR_sscanf_0012ad98" * (cast_expression "(code *)PTR_sscanf_0012ad98" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_64,PTR_UINT_0012a18c + 0x3580,param_1 + 0x14)" ( identifier , (binary_expression "PTR_UINT_0012a18c + 0x3580" identifier + number_literal) , (binary_expression "param_1 + 0x14" identifier + number_literal) ))) ;) (expression_statement "*(undefined2 *)(param_1 + 0x10) = 2;" (assignment_expression "*(undefined2 *)(param_1 + 0x10) = 2" (pointer_expression "*(undefined2 *)(param_1 + 0x10)" * (cast_expression "(undefined2 *)(param_1 + 0x10)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*(code *)PTR_sscanf_0012ad98)(auStack_40,puVar1 + 0x3580,param_1 + 0x30);" (call_expression "(*(code *)PTR_sscanf_0012ad98)(auStack_40,puVar1 + 0x3580,param_1 + 0x30)" (parenthesized_expression "(*(code *)PTR_sscanf_0012ad98)" ( (pointer_expression "*(code *)PTR_sscanf_0012ad98" * (cast_expression "(code *)PTR_sscanf_0012ad98" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_40,puVar1 + 0x3580,param_1 + 0x30)" ( identifier , (binary_expression "puVar1 + 0x3580" identifier + number_literal) , (binary_expression "param_1 + 0x30" identifier + number_literal) ))) ;) (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;) (expression_statement "*(undefined2 *)(param_1 + 0x2c) = 2;" (assignment_expression "*(undefined2 *)(param_1 + 0x2c) = 2" (pointer_expression "*(undefined2 *)(param_1 + 0x2c)" * (cast_expression "(undefined2 *)(param_1 + 0x2c)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) = number_literal) ;) })) (while_statement "while( true ) {\n    if (local_1c == *(int *)puVar2) break;\n    (*(code *)PTR___stack_chk_fail_0012b0c8)();\n    puVar7 = puVar6;\nLAB_00042b54:\n    puVar6 = PTR_LAB_0012a49c + 0x2938;\n    FUN_00042938(puVar7,param_1 + 0x10);\n    FUN_00042938(auStack_40,param_1 + 0x2c);\n    uVar5 = 0;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    if (local_1c == *(int *)puVar2) break;\n    (*(code *)PTR___stack_chk_fail_0012b0c8)();\n    puVar7 = puVar6;\nLAB_00042b54:\n    puVar6 = PTR_LAB_0012a49c + 0x2938;\n    FUN_00042938(puVar7,param_1 + 0x10);\n    FUN_00042938(auStack_40,param_1 + 0x2c);\n    uVar5 = 0;\n  }" { (if_statement "if (local_1c == *(int *)puVar2) break;" if (parenthesized_expression "(local_1c == *(int *)puVar2)" ( (binary_expression "local_1c == *(int *)puVar2" identifier == (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (break_statement "break;" break ;)) (expression_statement "(*(code *)PTR___stack_chk_fail_0012b0c8)();" (call_expression "(*(code *)PTR___stack_chk_fail_0012b0c8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0012b0c8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0012b0c8" * (cast_expression "(code *)PTR___stack_chk_fail_0012b0c8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puVar7 = puVar6;" (assignment_expression "puVar7 = puVar6" identifier = identifier) ;) (labeled_statement "LAB_00042b54:\n    puVar6 = PTR_LAB_0012a49c + 0x2938;" statement_identifier : (expression_statement "puVar6 = PTR_LAB_0012a49c + 0x2938;" (assignment_expression "puVar6 = PTR_LAB_0012a49c + 0x2938" identifier = (binary_expression "PTR_LAB_0012a49c + 0x2938" identifier + number_literal)) ;)) (expression_statement "FUN_00042938(puVar7,param_1 + 0x10);" (call_expression "FUN_00042938(puVar7,param_1 + 0x10)" identifier (argument_list "(puVar7,param_1 + 0x10)" ( identifier , (binary_expression "param_1 + 0x10" identifier + number_literal) ))) ;) (expression_statement "FUN_00042938(auStack_40,param_1 + 0x2c);" (call_expression "FUN_00042938(auStack_40,param_1 + 0x2c)" identifier (argument_list "(auStack_40,param_1 + 0x2c)" ( identifier , (binary_expression "param_1 + 0x2c" identifier + number_literal) ))) ;) (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;) })) (return_statement "return uVar5;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT , IDENT , IDENT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (break_statement break ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (return_statement return IDENT ;) })))
(function_definition "undefined4 FUN_00042a18(int param_1,undefined4 param_2)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  undefined1 *puVar6;\n  undefined1 *puVar7;\n  undefined1 auStack_64 [36];\n  undefined1 auStack_40 [36];\n  int local_1c;\n  \n  puVar2 = PTR___stack_chk_guard_0012b14c;\n  local_1c = *(int *)PTR___stack_chk_guard_0012b14c;\n  iVar3 = (*(code *)PTR_sscanf_0012ad98)\n                    (param_2,PTR_UINT_0012a18c + 0x3534,auStack_64,param_1,auStack_40,param_1 + 4,\n                     param_1 + 8,param_1 + 0x4c,param_1 + 0x48,param_1 + 0xc,param_1 + 0x50);\n  uVar5 = 1;\n  puVar6 = auStack_64;\n  if (8 < iVar3) {\n    uVar4 = (*(code *)PTR_strlen_0012af3c)(auStack_64);\n    puVar1 = PTR_UINT_0012a18c;\n    puVar7 = auStack_64;\n    if (8 < uVar4) goto LAB_00042b54;\n    puVar6 = &SUB_00000002;\n    (*(code *)PTR_sscanf_0012ad98)(auStack_64,PTR_UINT_0012a18c + 0x3580,param_1 + 0x14);\n    *(undefined2 *)(param_1 + 0x10) = 2;\n    (*(code *)PTR_sscanf_0012ad98)(auStack_40,puVar1 + 0x3580,param_1 + 0x30);\n    uVar5 = 0;\n    *(undefined2 *)(param_1 + 0x2c) = 2;\n  }\n  while( true ) {\n    if (local_1c == *(int *)puVar2) break;\n    (*(code *)PTR___stack_chk_fail_0012b0c8)();\n    puVar7 = puVar6;\nLAB_00042b54:\n    puVar6 = PTR_LAB_0012a49c + 0x2938;\n    FUN_00042938(puVar7,param_1 + 0x10);\n    FUN_00042938(auStack_40,param_1 + 0x2c);\n    uVar5 = 0;\n  }\n  return uVar5;\n}" (type_identifier "undefined4") (function_declarator "FUN_00042a18(int param_1,undefined4 param_2)" (identifier "FUN_00042a18") (parameter_list "(int param_1,undefined4 param_2)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) () ")"))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  undefined1 *puVar6;\n  undefined1 *puVar7;\n  undefined1 auStack_64 [36];\n  undefined1 auStack_40 [36];\n  int local_1c;\n  \n  puVar2 = PTR___stack_chk_guard_0012b14c;\n  local_1c = *(int *)PTR___stack_chk_guard_0012b14c;\n  iVar3 = (*(code *)PTR_sscanf_0012ad98)\n                    (param_2,PTR_UINT_0012a18c + 0x3534,auStack_64,param_1,auStack_40,param_1 + 4,\n                     param_1 + 8,param_1 + 0x4c,param_1 + 0x48,param_1 + 0xc,param_1 + 0x50);\n  uVar5 = 1;\n  puVar6 = auStack_64;\n  if (8 < iVar3) {\n    uVar4 = (*(code *)PTR_strlen_0012af3c)(auStack_64);\n    puVar1 = PTR_UINT_0012a18c;\n    puVar7 = auStack_64;\n    if (8 < uVar4) goto LAB_00042b54;\n    puVar6 = &SUB_00000002;\n    (*(code *)PTR_sscanf_0012ad98)(auStack_64,PTR_UINT_0012a18c + 0x3580,param_1 + 0x14);\n    *(undefined2 *)(param_1 + 0x10) = 2;\n    (*(code *)PTR_sscanf_0012ad98)(auStack_40,puVar1 + 0x3580,param_1 + 0x30);\n    uVar5 = 0;\n    *(undefined2 *)(param_1 + 0x2c) = 2;\n  }\n  while( true ) {\n    if (local_1c == *(int *)puVar2) break;\n    (*(code *)PTR___stack_chk_fail_0012b0c8)();\n    puVar7 = puVar6;\nLAB_00042b54:\n    puVar6 = PTR_LAB_0012a49c + 0x2938;\n    FUN_00042938(puVar7,param_1 + 0x10);\n    FUN_00042938(auStack_40,param_1 + 0x2c);\n    uVar5 = 0;\n  }\n  return uVar5;\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "undefined1 *puVar6;" (type_identifier "undefined1") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "undefined1 *puVar7;" (type_identifier "undefined1") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "undefined1 auStack_64 [36];" (type_identifier "undefined1") (array_declarator "auStack_64 [36]" (identifier "auStack_64") ([ "[") (number_literal "36") (] "]")) (; ";")) (declaration "undefined1 auStack_40 [36];" (type_identifier "undefined1") (array_declarator "auStack_40 [36]" (identifier "auStack_40") ([ "[") (number_literal "36") (] "]")) (; ";")) (declaration "int local_1c;" (primitive_type "int") (identifier "local_1c") (; ";")) (expression_statement "puVar2 = PTR___stack_chk_guard_0012b14c;" (assignment_expression "puVar2 = PTR___stack_chk_guard_0012b14c" (identifier "puVar2") (= "=") (identifier "PTR___stack_chk_guard_0012b14c")) (; ";")) (expression_statement "local_1c = *(int *)PTR___stack_chk_guard_0012b14c;" (assignment_expression "local_1c = *(int *)PTR___stack_chk_guard_0012b14c" (identifier "local_1c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_0012b14c" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_0012b14c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_0012b14c")))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_sscanf_0012ad98)\n                    (param_2,PTR_UINT_0012a18c + 0x3534,auStack_64,param_1,auStack_40,param_1 + 4,\n                     param_1 + 8,param_1 + 0x4c,param_1 + 0x48,param_1 + 0xc,param_1 + 0x50);" (assignment_expression "iVar3 = (*(code *)PTR_sscanf_0012ad98)\n                    (param_2,PTR_UINT_0012a18c + 0x3534,auStack_64,param_1,auStack_40,param_1 + 4,\n                     param_1 + 8,param_1 + 0x4c,param_1 + 0x48,param_1 + 0xc,param_1 + 0x50)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_sscanf_0012ad98)\n                    (param_2,PTR_UINT_0012a18c + 0x3534,auStack_64,param_1,auStack_40,param_1 + 4,\n                     param_1 + 8,param_1 + 0x4c,param_1 + 0x48,param_1 + 0xc,param_1 + 0x50)" (parenthesized_expression "(*(code *)PTR_sscanf_0012ad98)" (( "(") (pointer_expression "*(code *)PTR_sscanf_0012ad98" (* "*") (cast_expression "(code *)PTR_sscanf_0012ad98" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sscanf_0012ad98"))) () ")")) (argument_list "(param_2,PTR_UINT_0012a18c + 0x3534,auStack_64,param_1,auStack_40,param_1 + 4,\n                     param_1 + 8,param_1 + 0x4c,param_1 + 0x48,param_1 + 0xc,param_1 + 0x50)" (( "(") (identifier "param_2") (, ",") (binary_expression "PTR_UINT_0012a18c + 0x3534" (identifier "PTR_UINT_0012a18c") (+ "+") (number_literal "0x3534")) (, ",") (identifier "auStack_64") (, ",") (identifier "param_1") (, ",") (identifier "auStack_40") (, ",") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) (, ",") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) (, ",") (binary_expression "param_1 + 0x4c" (identifier "param_1") (+ "+") (number_literal "0x4c")) (, ",") (binary_expression "param_1 + 0x48" (identifier "param_1") (+ "+") (number_literal "0x48")) (, ",") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) (, ",") (binary_expression "param_1 + 0x50" (identifier "param_1") (+ "+") (number_literal "0x50")) () ")")))) (; ";")) (expression_statement "uVar5 = 1;" (assignment_expression "uVar5 = 1" (identifier "uVar5") (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar6 = auStack_64;" (assignment_expression "puVar6 = auStack_64" (identifier "puVar6") (= "=") (identifier "auStack_64")) (; ";")) (if_statement "if (8 < iVar3) {\n    uVar4 = (*(code *)PTR_strlen_0012af3c)(auStack_64);\n    puVar1 = PTR_UINT_0012a18c;\n    puVar7 = auStack_64;\n    if (8 < uVar4) goto LAB_00042b54;\n    puVar6 = &SUB_00000002;\n    (*(code *)PTR_sscanf_0012ad98)(auStack_64,PTR_UINT_0012a18c + 0x3580,param_1 + 0x14);\n    *(undefined2 *)(param_1 + 0x10) = 2;\n    (*(code *)PTR_sscanf_0012ad98)(auStack_40,puVar1 + 0x3580,param_1 + 0x30);\n    uVar5 = 0;\n    *(undefined2 *)(param_1 + 0x2c) = 2;\n  }" (if "if") (parenthesized_expression "(8 < iVar3)" (( "(") (binary_expression "8 < iVar3" (number_literal "8") (< "<") (identifier "iVar3")) () ")")) (compound_statement "{\n    uVar4 = (*(code *)PTR_strlen_0012af3c)(auStack_64);\n    puVar1 = PTR_UINT_0012a18c;\n    puVar7 = auStack_64;\n    if (8 < uVar4) goto LAB_00042b54;\n    puVar6 = &SUB_00000002;\n    (*(code *)PTR_sscanf_0012ad98)(auStack_64,PTR_UINT_0012a18c + 0x3580,param_1 + 0x14);\n    *(undefined2 *)(param_1 + 0x10) = 2;\n    (*(code *)PTR_sscanf_0012ad98)(auStack_40,puVar1 + 0x3580,param_1 + 0x30);\n    uVar5 = 0;\n    *(undefined2 *)(param_1 + 0x2c) = 2;\n  }" ({ "{") (expression_statement "uVar4 = (*(code *)PTR_strlen_0012af3c)(auStack_64);" (assignment_expression "uVar4 = (*(code *)PTR_strlen_0012af3c)(auStack_64)" (identifier "uVar4") (= "=") (call_expression "(*(code *)PTR_strlen_0012af3c)(auStack_64)" (parenthesized_expression "(*(code *)PTR_strlen_0012af3c)" (( "(") (pointer_expression "*(code *)PTR_strlen_0012af3c" (* "*") (cast_expression "(code *)PTR_strlen_0012af3c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0012af3c"))) () ")")) (argument_list "(auStack_64)" (( "(") (identifier "auStack_64") () ")")))) (; ";")) (expression_statement "puVar1 = PTR_UINT_0012a18c;" (assignment_expression "puVar1 = PTR_UINT_0012a18c" (identifier "puVar1") (= "=") (identifier "PTR_UINT_0012a18c")) (; ";")) (expression_statement "puVar7 = auStack_64;" (assignment_expression "puVar7 = auStack_64" (identifier "puVar7") (= "=") (identifier "auStack_64")) (; ";")) (if_statement "if (8 < uVar4) goto LAB_00042b54;" (if "if") (parenthesized_expression "(8 < uVar4)" (( "(") (binary_expression "8 < uVar4" (number_literal "8") (< "<") (identifier "uVar4")) () ")")) (goto_statement "goto LAB_00042b54;" (goto "goto") (statement_identifier "LAB_00042b54") (; ";"))) (expression_statement "puVar6 = &SUB_00000002;" (assignment_expression "puVar6 = &SUB_00000002" (identifier "puVar6") (= "=") (pointer_expression "&SUB_00000002" (& "&") (identifier "SUB_00000002"))) (; ";")) (expression_statement "(*(code *)PTR_sscanf_0012ad98)(auStack_64,PTR_UINT_0012a18c + 0x3580,param_1 + 0x14);" (call_expression "(*(code *)PTR_sscanf_0012ad98)(auStack_64,PTR_UINT_0012a18c + 0x3580,param_1 + 0x14)" (parenthesized_expression "(*(code *)PTR_sscanf_0012ad98)" (( "(") (pointer_expression "*(code *)PTR_sscanf_0012ad98" (* "*") (cast_expression "(code *)PTR_sscanf_0012ad98" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sscanf_0012ad98"))) () ")")) (argument_list "(auStack_64,PTR_UINT_0012a18c + 0x3580,param_1 + 0x14)" (( "(") (identifier "auStack_64") (, ",") (binary_expression "PTR_UINT_0012a18c + 0x3580" (identifier "PTR_UINT_0012a18c") (+ "+") (number_literal "0x3580")) (, ",") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")"))) (; ";")) (expression_statement "*(undefined2 *)(param_1 + 0x10) = 2;" (assignment_expression "*(undefined2 *)(param_1 + 0x10) = 2" (pointer_expression "*(undefined2 *)(param_1 + 0x10)" (* "*") (cast_expression "(undefined2 *)(param_1 + 0x10)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "(*(code *)PTR_sscanf_0012ad98)(auStack_40,puVar1 + 0x3580,param_1 + 0x30);" (call_expression "(*(code *)PTR_sscanf_0012ad98)(auStack_40,puVar1 + 0x3580,param_1 + 0x30)" (parenthesized_expression "(*(code *)PTR_sscanf_0012ad98)" (( "(") (pointer_expression "*(code *)PTR_sscanf_0012ad98" (* "*") (cast_expression "(code *)PTR_sscanf_0012ad98" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sscanf_0012ad98"))) () ")")) (argument_list "(auStack_40,puVar1 + 0x3580,param_1 + 0x30)" (( "(") (identifier "auStack_40") (, ",") (binary_expression "puVar1 + 0x3580" (identifier "puVar1") (+ "+") (number_literal "0x3580")) (, ",") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")"))) (; ";")) (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" (identifier "uVar5") (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined2 *)(param_1 + 0x2c) = 2;" (assignment_expression "*(undefined2 *)(param_1 + 0x2c) = 2" (pointer_expression "*(undefined2 *)(param_1 + 0x2c)" (* "*") (cast_expression "(undefined2 *)(param_1 + 0x2c)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2c)" (( "(") (binary_expression "param_1 + 0x2c" (identifier "param_1") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (number_literal "2")) (; ";")) (} "}"))) (while_statement "while( true ) {\n    if (local_1c == *(int *)puVar2) break;\n    (*(code *)PTR___stack_chk_fail_0012b0c8)();\n    puVar7 = puVar6;\nLAB_00042b54:\n    puVar6 = PTR_LAB_0012a49c + 0x2938;\n    FUN_00042938(puVar7,param_1 + 0x10);\n    FUN_00042938(auStack_40,param_1 + 0x2c);\n    uVar5 = 0;\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    if (local_1c == *(int *)puVar2) break;\n    (*(code *)PTR___stack_chk_fail_0012b0c8)();\n    puVar7 = puVar6;\nLAB_00042b54:\n    puVar6 = PTR_LAB_0012a49c + 0x2938;\n    FUN_00042938(puVar7,param_1 + 0x10);\n    FUN_00042938(auStack_40,param_1 + 0x2c);\n    uVar5 = 0;\n  }" ({ "{") (if_statement "if (local_1c == *(int *)puVar2) break;" (if "if") (parenthesized_expression "(local_1c == *(int *)puVar2)" (( "(") (binary_expression "local_1c == *(int *)puVar2" (identifier "local_1c") (== "==") (pointer_expression "*(int *)puVar2" (* "*") (cast_expression "(int *)puVar2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2")))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "(*(code *)PTR___stack_chk_fail_0012b0c8)();" (call_expression "(*(code *)PTR___stack_chk_fail_0012b0c8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0012b0c8)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_0012b0c8" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_0012b0c8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_0012b0c8"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar7 = puVar6;" (assignment_expression "puVar7 = puVar6" (identifier "puVar7") (= "=") (identifier "puVar6")) (; ";")) (labeled_statement "LAB_00042b54:\n    puVar6 = PTR_LAB_0012a49c + 0x2938;" (statement_identifier "LAB_00042b54") (: ":") (expression_statement "puVar6 = PTR_LAB_0012a49c + 0x2938;" (assignment_expression "puVar6 = PTR_LAB_0012a49c + 0x2938" (identifier "puVar6") (= "=") (binary_expression "PTR_LAB_0012a49c + 0x2938" (identifier "PTR_LAB_0012a49c") (+ "+") (number_literal "0x2938"))) (; ";"))) (expression_statement "FUN_00042938(puVar7,param_1 + 0x10);" (call_expression "FUN_00042938(puVar7,param_1 + 0x10)" (identifier "FUN_00042938") (argument_list "(puVar7,param_1 + 0x10)" (( "(") (identifier "puVar7") (, ",") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))) (; ";")) (expression_statement "FUN_00042938(auStack_40,param_1 + 0x2c);" (call_expression "FUN_00042938(auStack_40,param_1 + 0x2c)" (identifier "FUN_00042938") (argument_list "(auStack_40,param_1 + 0x2c)" (( "(") (identifier "auStack_40") (, ",") (binary_expression "param_1 + 0x2c" (identifier "param_1") (+ "+") (number_literal "0x2c")) () ")"))) (; ";")) (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" (identifier "uVar5") (= "=") (number_literal "0")) (; ";")) (} "}"))) (return_statement "return uVar5;" (return "return") (identifier "uVar5") (; ";")) (} "}")))

int function_1(type_1 *param,char *line)

{
  int var_4;
  int var_2;
  type_2 var_3;
  int iVar4;
  char *pcVar5;
  char *pcVar6;
  int *piVar7;
  int var_1;
  char local_addr [33];
  char rem_addr [33];
  
  piVar7 = *(int **)(&LAB_000e8734 + var_1);
  var_4 = *piVar7;
  var_2 = (**(type_3 **)(var_1 + 0xe8380))
                    (line,*(int *)(var_1 + 0xe7774) + 0x3534,local_addr,param,rem_addr,
                     &param->rem_port,&param->state,&param->txq,&param->rxq,&param->uid,
                     &param->inode);
  iVar4 = 1;
  pcVar5 = local_addr;
  if (8 < var_2) {
    var_3 = (**(type_3 **)(var_1 + 0xe8524))(local_addr);
    pcVar6 = local_addr;
    if (8 < var_3) goto LAB_00042b54;
    var_2 = *(int *)(var_1 + 0xe7774);
    pcVar5 = &SUB_00000002;
    (**(type_3 **)(var_1 + 0xe8380))
              (local_addr,var_2 + 0x3580,(type_4 *)((int)&param->localaddr + 4));
    (param->localaddr).sa.sa_family = 2;
    (**(type_3 **)(var_1 + 0xe8380))(rem_addr,var_2 + 0x3580,(type_4 *)((int)&param->remaddr + 4))
    ;
    iVar4 = 0;
    (param->remaddr).sa.sa_family = 2;
  }
  while( true ) {
    if (var_4 == *piVar7) break;
    (**(type_3 **)(var_1 + 0xe86b0))();
    pcVar6 = pcVar5;
LAB_00042b54:
    pcVar5 = (char *)(*(int *)(var_1 + 0xe7a84) + 0x2938);
    var_5(pcVar6,&(param->localaddr).sin6);
    var_5(rem_addr,&(param->remaddr).sin6);
    iVar4 = 0;
  }
  return iVar4;
}


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

undefined4 MASKED(int param_1,undefined4 param_2)

{
  undefined *puVar1;
  undefined *puVar2;
  int iVar3;
  uint uVar4;
  undefined4 uVar5;
  undefined1 *puVar6;
  undefined1 *puVar7;
  undefined1 auStack_64 [36];
  undefined1 auStack_40 [36];
  int local_1c;
  
  puVar2 = PTR___stack_chk_guard_0012b14c;
  local_1c = *(int *)PTR___stack_chk_guard_0012b14c;
  iVar3 = (*(code *)PTR_sscanf_0012ad98)
                    (param_2,PTR_UINT_0012a18c + 0x3534,auStack_64,param_1,auStack_40,param_1 + 4,
                     param_1 + 8,param_1 + 0x4c,param_1 + 0x48,param_1 + 0xc,param_1 + 0x50);
  uVar5 = 1;
  puVar6 = auStack_64;
  if (8 < iVar3) {
    uVar4 = (*(code *)PTR_strlen_0012af3c)(auStack_64);
    puVar1 = PTR_UINT_0012a18c;
    puVar7 = auStack_64;
    if (8 < uVar4) goto LAB_00042b54;
    puVar6 = &SUB_00000002;
    (*(code *)PTR_sscanf_0012ad98)(auStack_64,PTR_UINT_0012a18c + 0x3580,param_1 + 0x14);
    *(undefined2 *)(param_1 + 0x10) = 2;
    (*(code *)PTR_sscanf_0012ad98)(auStack_40,puVar1 + 0x3580,param_1 + 0x30);
    uVar5 = 0;
    *(undefined2 *)(param_1 + 0x2c) = 2;
  }
  while( true ) {
    if (local_1c == *(int *)puVar2) break;
    (*(code *)PTR___stack_chk_fail_0012b0c8)();
    puVar7 = puVar6;
LAB_00042b54:
    puVar6 = PTR_LAB_0012a49c + 0x2938;
    FUN_00042938(puVar7,param_1 + 0x10);
    FUN_00042938(auStack_40,param_1 + 0x2c);
    uVar5 = 0;
  }
  return uVar5;
}

