
MHD_Result MHD_ip_addr_to_key(sockaddr *addr,socklen_t addrlen,MHD_IPCount *key)

{
  undefined8 uVar1;
  
  *(undefined8 *)key = 0;
  *(undefined8 *)((long)&key->addr + 4) = 0;
  *(undefined8 *)((long)&key->addr + 0xc) = 0;
  if (addrlen != 0x10) {
    if (addrlen == 0x1c) {
      key->family = 10;
      uVar1 = *(undefined8 *)(addr + 1);
      *(undefined8 *)&key->addr = *(undefined8 *)(addr->sa_data + 6);
      *(undefined8 *)((long)&key->addr + 8) = uVar1;
    }
    return (uint)(addrlen == 0x1c);
  }
  key->family = 2;
  (key->addr).ipv4.s_addr = *(in_addr_t *)(addr->sa_data + 2);
  return MHD_YES;
}



bool FUN_00107948(long param_1,int param_2,undefined8 *param_3)

{
  undefined8 uVar1;
  
  *param_3 = 0;
  param_3[1] = 0;
  param_3[2] = 0;
  if (param_2 != 0x10) {
    if (param_2 == 0x1c) {
      *(undefined4 *)param_3 = 10;
      uVar1 = *(undefined8 *)(param_1 + 0x10);
      *(undefined8 *)((long)param_3 + 4) = *(undefined8 *)(param_1 + 8);
      *(undefined8 *)((long)param_3 + 0xc) = uVar1;
    }
    return param_2 == 0x1c;
  }
  *(undefined4 *)param_3 = 2;
  *(undefined4 *)((long)param_3 + 4) = *(undefined4 *)(param_1 + 4);
  return true;
}


MOV qword ptr [RDX],0x0
MOV qword ptr [RDX + 0x8],0x0
MOV qword ptr [RDX + 0x10],0x0
CMP ESI,0x10
JZ 0x00107970
MOV EAX,0x0
CMP ESI,0x1c
JZ 0x00107982
RET
MOV dword ptr [RDX],0x2
MOV EAX,dword ptr [RDI + 0x4]
MOV dword ptr [RDX + 0x4],EAX
MOV EAX,0x1
RET
MOV dword ptr [RDX],0xa
MOV RSI,qword ptr [RDI + 0x8]
MOV RDI,qword ptr [RDI + 0x10]
MOV qword ptr [RDX + 0x4],RSI
MOV qword ptr [RDX + 0xc],RDI
MOV EAX,0x1
JMP 0x0010796e
(translation_unit "bool FUN_00107948(long param_1,int param_2,undefined8 *param_3)\n\n{\n  undefined8 uVar1;\n  \n  *param_3 = 0;\n  param_3[1] = 0;\n  param_3[2] = 0;\n  if (param_2 != 0x10) {\n    if (param_2 == 0x1c) {\n      *(undefined4 *)param_3 = 10;\n      uVar1 = *(undefined8 *)(param_1 + 0x10);\n      *(undefined8 *)((long)param_3 + 4) = *(undefined8 *)(param_1 + 8);\n      *(undefined8 *)((long)param_3 + 0xc) = uVar1;\n    }\n    return param_2 == 0x1c;\n  }\n  *(undefined4 *)param_3 = 2;\n  *(undefined4 *)((long)param_3 + 4) = *(undefined4 *)(param_1 + 4);\n  return true;\n}\n\n" (function_definition "bool FUN_00107948(long param_1,int param_2,undefined8 *param_3)\n\n{\n  undefined8 uVar1;\n  \n  *param_3 = 0;\n  param_3[1] = 0;\n  param_3[2] = 0;\n  if (param_2 != 0x10) {\n    if (param_2 == 0x1c) {\n      *(undefined4 *)param_3 = 10;\n      uVar1 = *(undefined8 *)(param_1 + 0x10);\n      *(undefined8 *)((long)param_3 + 4) = *(undefined8 *)(param_1 + 8);\n      *(undefined8 *)((long)param_3 + 0xc) = uVar1;\n    }\n    return param_2 == 0x1c;\n  }\n  *(undefined4 *)param_3 = 2;\n  *(undefined4 *)((long)param_3 + 4) = *(undefined4 *)(param_1 + 4);\n  return true;\n}" primitive_type (function_declarator "FUN_00107948(long param_1,int param_2,undefined8 *param_3)" identifier (parameter_list "(long param_1,int param_2,undefined8 *param_3)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "undefined8 *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  undefined8 uVar1;\n  \n  *param_3 = 0;\n  param_3[1] = 0;\n  param_3[2] = 0;\n  if (param_2 != 0x10) {\n    if (param_2 == 0x1c) {\n      *(undefined4 *)param_3 = 10;\n      uVar1 = *(undefined8 *)(param_1 + 0x10);\n      *(undefined8 *)((long)param_3 + 4) = *(undefined8 *)(param_1 + 8);\n      *(undefined8 *)((long)param_3 + 0xc) = uVar1;\n    }\n    return param_2 == 0x1c;\n  }\n  *(undefined4 *)param_3 = 2;\n  *(undefined4 *)((long)param_3 + 4) = *(undefined4 *)(param_1 + 4);\n  return true;\n}" { (declaration "undefined8 uVar1;" type_identifier identifier ;) (expression_statement "*param_3 = 0;" (assignment_expression "*param_3 = 0" (pointer_expression "*param_3" * identifier) = number_literal) ;) (expression_statement "param_3[1] = 0;" (assignment_expression "param_3[1] = 0" (subscript_expression "param_3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_3[2] = 0;" (assignment_expression "param_3[2] = 0" (subscript_expression "param_3[2]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (param_2 != 0x10) {\n    if (param_2 == 0x1c) {\n      *(undefined4 *)param_3 = 10;\n      uVar1 = *(undefined8 *)(param_1 + 0x10);\n      *(undefined8 *)((long)param_3 + 4) = *(undefined8 *)(param_1 + 8);\n      *(undefined8 *)((long)param_3 + 0xc) = uVar1;\n    }\n    return param_2 == 0x1c;\n  }" if (parenthesized_expression "(param_2 != 0x10)" ( (binary_expression "param_2 != 0x10" identifier != number_literal) )) (compound_statement "{\n    if (param_2 == 0x1c) {\n      *(undefined4 *)param_3 = 10;\n      uVar1 = *(undefined8 *)(param_1 + 0x10);\n      *(undefined8 *)((long)param_3 + 4) = *(undefined8 *)(param_1 + 8);\n      *(undefined8 *)((long)param_3 + 0xc) = uVar1;\n    }\n    return param_2 == 0x1c;\n  }" { (if_statement "if (param_2 == 0x1c) {\n      *(undefined4 *)param_3 = 10;\n      uVar1 = *(undefined8 *)(param_1 + 0x10);\n      *(undefined8 *)((long)param_3 + 4) = *(undefined8 *)(param_1 + 8);\n      *(undefined8 *)((long)param_3 + 0xc) = uVar1;\n    }" if (parenthesized_expression "(param_2 == 0x1c)" ( (binary_expression "param_2 == 0x1c" identifier == number_literal) )) (compound_statement "{\n      *(undefined4 *)param_3 = 10;\n      uVar1 = *(undefined8 *)(param_1 + 0x10);\n      *(undefined8 *)((long)param_3 + 4) = *(undefined8 *)(param_1 + 8);\n      *(undefined8 *)((long)param_3 + 0xc) = uVar1;\n    }" { (expression_statement "*(undefined4 *)param_3 = 10;" (assignment_expression "*(undefined4 *)param_3 = 10" (pointer_expression "*(undefined4 *)param_3" * (cast_expression "(undefined4 *)param_3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "uVar1 = *(undefined8 *)(param_1 + 0x10);" (assignment_expression "uVar1 = *(undefined8 *)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x10)" * (cast_expression "(undefined8 *)(param_1 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*(undefined8 *)((long)param_3 + 4) = *(undefined8 *)(param_1 + 8);" (assignment_expression "*(undefined8 *)((long)param_3 + 4) = *(undefined8 *)(param_1 + 8)" (pointer_expression "*(undefined8 *)((long)param_3 + 4)" * (cast_expression "(undefined8 *)((long)param_3 + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_3 + 4)" ( (binary_expression "(long)param_3 + 4" (cast_expression "(long)param_3" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined8 *)(param_1 + 8)" * (cast_expression "(undefined8 *)(param_1 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined8 *)((long)param_3 + 0xc) = uVar1;" (assignment_expression "*(undefined8 *)((long)param_3 + 0xc) = uVar1" (pointer_expression "*(undefined8 *)((long)param_3 + 0xc)" * (cast_expression "(undefined8 *)((long)param_3 + 0xc)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_3 + 0xc)" ( (binary_expression "(long)param_3 + 0xc" (cast_expression "(long)param_3" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) })) (return_statement "return param_2 == 0x1c;" return (binary_expression "param_2 == 0x1c" identifier == number_literal) ;) })) (expression_statement "*(undefined4 *)param_3 = 2;" (assignment_expression "*(undefined4 *)param_3 = 2" (pointer_expression "*(undefined4 *)param_3" * (cast_expression "(undefined4 *)param_3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "*(undefined4 *)((long)param_3 + 4) = *(undefined4 *)(param_1 + 4);" (assignment_expression "*(undefined4 *)((long)param_3 + 4) = *(undefined4 *)(param_1 + 4)" (pointer_expression "*(undefined4 *)((long)param_3 + 4)" * (cast_expression "(undefined4 *)((long)param_3 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_3 + 4)" ( (binary_expression "(long)param_3 + 4" (cast_expression "(long)param_3" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (return_statement "return true;" return true ;) })))
(translation_unit "MHD_Result MHD_ip_addr_to_key(sockaddr *addr,socklen_t addrlen,MHD_IPCount *key)\n\n{\n  undefined8 uVar1;\n  \n  *(undefined8 *)key = 0;\n  *(undefined8 *)((long)&key->addr + 4) = 0;\n  *(undefined8 *)((long)&key->addr + 0xc) = 0;\n  if (addrlen != 0x10) {\n    if (addrlen == 0x1c) {\n      key->family = 10;\n      uVar1 = *(undefined8 *)(addr + 1);\n      *(undefined8 *)&key->addr = *(undefined8 *)(addr->sa_data + 6);\n      *(undefined8 *)((long)&key->addr + 8) = uVar1;\n    }\n    return (uint)(addrlen == 0x1c);\n  }\n  key->family = 2;\n  (key->addr).ipv4.s_addr = *(in_addr_t *)(addr->sa_data + 2);\n  return MHD_YES;\n}\n\n" (function_definition "MHD_Result MHD_ip_addr_to_key(sockaddr *addr,socklen_t addrlen,MHD_IPCount *key)\n\n{\n  undefined8 uVar1;\n  \n  *(undefined8 *)key = 0;\n  *(undefined8 *)((long)&key->addr + 4) = 0;\n  *(undefined8 *)((long)&key->addr + 0xc) = 0;\n  if (addrlen != 0x10) {\n    if (addrlen == 0x1c) {\n      key->family = 10;\n      uVar1 = *(undefined8 *)(addr + 1);\n      *(undefined8 *)&key->addr = *(undefined8 *)(addr->sa_data + 6);\n      *(undefined8 *)((long)&key->addr + 8) = uVar1;\n    }\n    return (uint)(addrlen == 0x1c);\n  }\n  key->family = 2;\n  (key->addr).ipv4.s_addr = *(in_addr_t *)(addr->sa_data + 2);\n  return MHD_YES;\n}" type_identifier (function_declarator "MHD_ip_addr_to_key(sockaddr *addr,socklen_t addrlen,MHD_IPCount *key)" identifier (parameter_list "(sockaddr *addr,socklen_t addrlen,MHD_IPCount *key)" ( (parameter_declaration "sockaddr *addr" type_identifier (pointer_declarator "*addr" * identifier)) , (parameter_declaration "socklen_t addrlen" type_identifier identifier) , (parameter_declaration "MHD_IPCount *key" type_identifier (pointer_declarator "*key" * identifier)) ))) (compound_statement "{\n  undefined8 uVar1;\n  \n  *(undefined8 *)key = 0;\n  *(undefined8 *)((long)&key->addr + 4) = 0;\n  *(undefined8 *)((long)&key->addr + 0xc) = 0;\n  if (addrlen != 0x10) {\n    if (addrlen == 0x1c) {\n      key->family = 10;\n      uVar1 = *(undefined8 *)(addr + 1);\n      *(undefined8 *)&key->addr = *(undefined8 *)(addr->sa_data + 6);\n      *(undefined8 *)((long)&key->addr + 8) = uVar1;\n    }\n    return (uint)(addrlen == 0x1c);\n  }\n  key->family = 2;\n  (key->addr).ipv4.s_addr = *(in_addr_t *)(addr->sa_data + 2);\n  return MHD_YES;\n}" { (declaration "undefined8 uVar1;" type_identifier identifier ;) (expression_statement "*(undefined8 *)key = 0;" (assignment_expression "*(undefined8 *)key = 0" (pointer_expression "*(undefined8 *)key" * (cast_expression "(undefined8 *)key" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "*(undefined8 *)((long)&key->addr + 4) = 0;" (assignment_expression "*(undefined8 *)((long)&key->addr + 4) = 0" (pointer_expression "*(undefined8 *)((long)&key->addr + 4)" * (cast_expression "(undefined8 *)((long)&key->addr + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&key->addr + 4)" ( (binary_expression "(long)&key->addr + 4" (cast_expression "(long)&key->addr" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&key->addr" & (field_expression "key->addr" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined8 *)((long)&key->addr + 0xc) = 0;" (assignment_expression "*(undefined8 *)((long)&key->addr + 0xc) = 0" (pointer_expression "*(undefined8 *)((long)&key->addr + 0xc)" * (cast_expression "(undefined8 *)((long)&key->addr + 0xc)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&key->addr + 0xc)" ( (binary_expression "(long)&key->addr + 0xc" (cast_expression "(long)&key->addr" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&key->addr" & (field_expression "key->addr" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (if_statement "if (addrlen != 0x10) {\n    if (addrlen == 0x1c) {\n      key->family = 10;\n      uVar1 = *(undefined8 *)(addr + 1);\n      *(undefined8 *)&key->addr = *(undefined8 *)(addr->sa_data + 6);\n      *(undefined8 *)((long)&key->addr + 8) = uVar1;\n    }\n    return (uint)(addrlen == 0x1c);\n  }" if (parenthesized_expression "(addrlen != 0x10)" ( (binary_expression "addrlen != 0x10" identifier != number_literal) )) (compound_statement "{\n    if (addrlen == 0x1c) {\n      key->family = 10;\n      uVar1 = *(undefined8 *)(addr + 1);\n      *(undefined8 *)&key->addr = *(undefined8 *)(addr->sa_data + 6);\n      *(undefined8 *)((long)&key->addr + 8) = uVar1;\n    }\n    return (uint)(addrlen == 0x1c);\n  }" { (if_statement "if (addrlen == 0x1c) {\n      key->family = 10;\n      uVar1 = *(undefined8 *)(addr + 1);\n      *(undefined8 *)&key->addr = *(undefined8 *)(addr->sa_data + 6);\n      *(undefined8 *)((long)&key->addr + 8) = uVar1;\n    }" if (parenthesized_expression "(addrlen == 0x1c)" ( (binary_expression "addrlen == 0x1c" identifier == number_literal) )) (compound_statement "{\n      key->family = 10;\n      uVar1 = *(undefined8 *)(addr + 1);\n      *(undefined8 *)&key->addr = *(undefined8 *)(addr->sa_data + 6);\n      *(undefined8 *)((long)&key->addr + 8) = uVar1;\n    }" { (expression_statement "key->family = 10;" (assignment_expression "key->family = 10" (field_expression "key->family" identifier -> field_identifier) = number_literal) ;) (expression_statement "uVar1 = *(undefined8 *)(addr + 1);" (assignment_expression "uVar1 = *(undefined8 *)(addr + 1)" identifier = (pointer_expression "*(undefined8 *)(addr + 1)" * (cast_expression "(undefined8 *)(addr + 1)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(addr + 1)" ( (binary_expression "addr + 1" identifier + number_literal) ))))) ;) (expression_statement "*(undefined8 *)&key->addr = *(undefined8 *)(addr->sa_data + 6);" (assignment_expression "*(undefined8 *)&key->addr = *(undefined8 *)(addr->sa_data + 6)" (pointer_expression "*(undefined8 *)&key->addr" * (cast_expression "(undefined8 *)&key->addr" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&key->addr" & (field_expression "key->addr" identifier -> field_identifier)))) = (pointer_expression "*(undefined8 *)(addr->sa_data + 6)" * (cast_expression "(undefined8 *)(addr->sa_data + 6)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(addr->sa_data + 6)" ( (binary_expression "addr->sa_data + 6" (field_expression "addr->sa_data" identifier -> field_identifier) + number_literal) ))))) ;) (expression_statement "*(undefined8 *)((long)&key->addr + 8) = uVar1;" (assignment_expression "*(undefined8 *)((long)&key->addr + 8) = uVar1" (pointer_expression "*(undefined8 *)((long)&key->addr + 8)" * (cast_expression "(undefined8 *)((long)&key->addr + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&key->addr + 8)" ( (binary_expression "(long)&key->addr + 8" (cast_expression "(long)&key->addr" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&key->addr" & (field_expression "key->addr" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) })) (return_statement "return (uint)(addrlen == 0x1c);" return (call_expression "(uint)(addrlen == 0x1c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(addrlen == 0x1c)" ( (binary_expression "addrlen == 0x1c" identifier == number_literal) ))) ;) })) (expression_statement "key->family = 2;" (assignment_expression "key->family = 2" (field_expression "key->family" identifier -> field_identifier) = number_literal) ;) (expression_statement "(key->addr).ipv4.s_addr = *(in_addr_t *)(addr->sa_data + 2);" (assignment_expression "(key->addr).ipv4.s_addr = *(in_addr_t *)(addr->sa_data + 2)" (field_expression "(key->addr).ipv4.s_addr" (field_expression "(key->addr).ipv4" (parenthesized_expression "(key->addr)" ( (field_expression "key->addr" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (pointer_expression "*(in_addr_t *)(addr->sa_data + 2)" * (cast_expression "(in_addr_t *)(addr->sa_data + 2)" ( (type_descriptor "in_addr_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(addr->sa_data + 2)" ( (binary_expression "addr->sa_data + 2" (field_expression "addr->sa_data" identifier -> field_identifier) + number_literal) ))))) ;) (return_statement "return MHD_YES;" return identifier ;) })))
(translation_unit "bool FUN_00107948(long param_1,int param_2,undefined8 *param_3)\n\n{\n  undefined8 uVar1;\n  \n  *param_3 = 0;\n  param_3[1] = 0;\n  param_3[2] = 0;\n  if (param_2 != 0x10) {\n    if (param_2 == 0x1c) {\n      *(undefined4 *)param_3 = 10;\n      uVar1 = *(undefined8 *)(param_1 + 0x10);\n      *(undefined8 *)((long)param_3 + 4) = *(undefined8 *)(param_1 + 8);\n      *(undefined8 *)((long)param_3 + 0xc) = uVar1;\n    }\n    return param_2 == 0x1c;\n  }\n  *(undefined4 *)param_3 = 2;\n  *(undefined4 *)((long)param_3 + 4) = *(undefined4 *)(param_1 + 4);\n  return true;\n}\n\n" (function_definition "bool FUN_00107948(long param_1,int param_2,undefined8 *param_3)\n\n{\n  undefined8 uVar1;\n  \n  *param_3 = 0;\n  param_3[1] = 0;\n  param_3[2] = 0;\n  if (param_2 != 0x10) {\n    if (param_2 == 0x1c) {\n      *(undefined4 *)param_3 = 10;\n      uVar1 = *(undefined8 *)(param_1 + 0x10);\n      *(undefined8 *)((long)param_3 + 4) = *(undefined8 *)(param_1 + 8);\n      *(undefined8 *)((long)param_3 + 0xc) = uVar1;\n    }\n    return param_2 == 0x1c;\n  }\n  *(undefined4 *)param_3 = 2;\n  *(undefined4 *)((long)param_3 + 4) = *(undefined4 *)(param_1 + 4);\n  return true;\n}" primitive_type (function_declarator "FUN_00107948(long param_1,int param_2,undefined8 *param_3)" identifier (parameter_list "(long param_1,int param_2,undefined8 *param_3)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "undefined8 *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  undefined8 uVar1;\n  \n  *param_3 = 0;\n  param_3[1] = 0;\n  param_3[2] = 0;\n  if (param_2 != 0x10) {\n    if (param_2 == 0x1c) {\n      *(undefined4 *)param_3 = 10;\n      uVar1 = *(undefined8 *)(param_1 + 0x10);\n      *(undefined8 *)((long)param_3 + 4) = *(undefined8 *)(param_1 + 8);\n      *(undefined8 *)((long)param_3 + 0xc) = uVar1;\n    }\n    return param_2 == 0x1c;\n  }\n  *(undefined4 *)param_3 = 2;\n  *(undefined4 *)((long)param_3 + 4) = *(undefined4 *)(param_1 + 4);\n  return true;\n}" { (declaration "undefined8 uVar1;" type_identifier identifier ;) (expression_statement "*param_3 = 0;" (assignment_expression "*param_3 = 0" (pointer_expression "*param_3" * identifier) = number_literal) ;) (expression_statement "param_3[1] = 0;" (assignment_expression "param_3[1] = 0" (subscript_expression "param_3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_3[2] = 0;" (assignment_expression "param_3[2] = 0" (subscript_expression "param_3[2]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (param_2 != 0x10) {\n    if (param_2 == 0x1c) {\n      *(undefined4 *)param_3 = 10;\n      uVar1 = *(undefined8 *)(param_1 + 0x10);\n      *(undefined8 *)((long)param_3 + 4) = *(undefined8 *)(param_1 + 8);\n      *(undefined8 *)((long)param_3 + 0xc) = uVar1;\n    }\n    return param_2 == 0x1c;\n  }" if (parenthesized_expression "(param_2 != 0x10)" ( (binary_expression "param_2 != 0x10" identifier != number_literal) )) (compound_statement "{\n    if (param_2 == 0x1c) {\n      *(undefined4 *)param_3 = 10;\n      uVar1 = *(undefined8 *)(param_1 + 0x10);\n      *(undefined8 *)((long)param_3 + 4) = *(undefined8 *)(param_1 + 8);\n      *(undefined8 *)((long)param_3 + 0xc) = uVar1;\n    }\n    return param_2 == 0x1c;\n  }" { (if_statement "if (param_2 == 0x1c) {\n      *(undefined4 *)param_3 = 10;\n      uVar1 = *(undefined8 *)(param_1 + 0x10);\n      *(undefined8 *)((long)param_3 + 4) = *(undefined8 *)(param_1 + 8);\n      *(undefined8 *)((long)param_3 + 0xc) = uVar1;\n    }" if (parenthesized_expression "(param_2 == 0x1c)" ( (binary_expression "param_2 == 0x1c" identifier == number_literal) )) (compound_statement "{\n      *(undefined4 *)param_3 = 10;\n      uVar1 = *(undefined8 *)(param_1 + 0x10);\n      *(undefined8 *)((long)param_3 + 4) = *(undefined8 *)(param_1 + 8);\n      *(undefined8 *)((long)param_3 + 0xc) = uVar1;\n    }" { (expression_statement "*(undefined4 *)param_3 = 10;" (assignment_expression "*(undefined4 *)param_3 = 10" (pointer_expression "*(undefined4 *)param_3" * (cast_expression "(undefined4 *)param_3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "uVar1 = *(undefined8 *)(param_1 + 0x10);" (assignment_expression "uVar1 = *(undefined8 *)(param_1 + 0x10)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x10)" * (cast_expression "(undefined8 *)(param_1 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*(undefined8 *)((long)param_3 + 4) = *(undefined8 *)(param_1 + 8);" (assignment_expression "*(undefined8 *)((long)param_3 + 4) = *(undefined8 *)(param_1 + 8)" (pointer_expression "*(undefined8 *)((long)param_3 + 4)" * (cast_expression "(undefined8 *)((long)param_3 + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_3 + 4)" ( (binary_expression "(long)param_3 + 4" (cast_expression "(long)param_3" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined8 *)(param_1 + 8)" * (cast_expression "(undefined8 *)(param_1 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined8 *)((long)param_3 + 0xc) = uVar1;" (assignment_expression "*(undefined8 *)((long)param_3 + 0xc) = uVar1" (pointer_expression "*(undefined8 *)((long)param_3 + 0xc)" * (cast_expression "(undefined8 *)((long)param_3 + 0xc)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_3 + 0xc)" ( (binary_expression "(long)param_3 + 0xc" (cast_expression "(long)param_3" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) })) (return_statement "return param_2 == 0x1c;" return (binary_expression "param_2 == 0x1c" identifier == number_literal) ;) })) (expression_statement "*(undefined4 *)param_3 = 2;" (assignment_expression "*(undefined4 *)param_3 = 2" (pointer_expression "*(undefined4 *)param_3" * (cast_expression "(undefined4 *)param_3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "*(undefined4 *)((long)param_3 + 4) = *(undefined4 *)(param_1 + 4);" (assignment_expression "*(undefined4 *)((long)param_3 + 4) = *(undefined4 *)(param_1 + 4)" (pointer_expression "*(undefined4 *)((long)param_3 + 4)" * (cast_expression "(undefined4 *)((long)param_3 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_3 + 4)" ( (binary_expression "(long)param_3 + 4" (cast_expression "(long)param_3" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (return_statement "return true;" return true ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) })) (return_statement return (binary_expression IDENT == LIT) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (return_statement return BOOL ;) })))
(function_definition "bool FUN_00107948(long param_1,int param_2,undefined8 *param_3)\n\n{\n  undefined8 uVar1;\n  \n  *param_3 = 0;\n  param_3[1] = 0;\n  param_3[2] = 0;\n  if (param_2 != 0x10) {\n    if (param_2 == 0x1c) {\n      *(undefined4 *)param_3 = 10;\n      uVar1 = *(undefined8 *)(param_1 + 0x10);\n      *(undefined8 *)((long)param_3 + 4) = *(undefined8 *)(param_1 + 8);\n      *(undefined8 *)((long)param_3 + 0xc) = uVar1;\n    }\n    return param_2 == 0x1c;\n  }\n  *(undefined4 *)param_3 = 2;\n  *(undefined4 *)((long)param_3 + 4) = *(undefined4 *)(param_1 + 4);\n  return true;\n}" (primitive_type "bool") (function_declarator "FUN_00107948(long param_1,int param_2,undefined8 *param_3)" (identifier "FUN_00107948") (parameter_list "(long param_1,int param_2,undefined8 *param_3)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "undefined8 *param_3" (type_identifier "undefined8") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) () ")"))) (compound_statement "{\n  undefined8 uVar1;\n  \n  *param_3 = 0;\n  param_3[1] = 0;\n  param_3[2] = 0;\n  if (param_2 != 0x10) {\n    if (param_2 == 0x1c) {\n      *(undefined4 *)param_3 = 10;\n      uVar1 = *(undefined8 *)(param_1 + 0x10);\n      *(undefined8 *)((long)param_3 + 4) = *(undefined8 *)(param_1 + 8);\n      *(undefined8 *)((long)param_3 + 0xc) = uVar1;\n    }\n    return param_2 == 0x1c;\n  }\n  *(undefined4 *)param_3 = 2;\n  *(undefined4 *)((long)param_3 + 4) = *(undefined4 *)(param_1 + 4);\n  return true;\n}" ({ "{") (declaration "undefined8 uVar1;" (type_identifier "undefined8") (identifier "uVar1") (; ";")) (expression_statement "*param_3 = 0;" (assignment_expression "*param_3 = 0" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_3[1] = 0;" (assignment_expression "param_3[1] = 0" (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_3[2] = 0;" (assignment_expression "param_3[2] = 0" (subscript_expression "param_3[2]" (identifier "param_3") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (param_2 != 0x10) {\n    if (param_2 == 0x1c) {\n      *(undefined4 *)param_3 = 10;\n      uVar1 = *(undefined8 *)(param_1 + 0x10);\n      *(undefined8 *)((long)param_3 + 4) = *(undefined8 *)(param_1 + 8);\n      *(undefined8 *)((long)param_3 + 0xc) = uVar1;\n    }\n    return param_2 == 0x1c;\n  }" (if "if") (parenthesized_expression "(param_2 != 0x10)" (( "(") (binary_expression "param_2 != 0x10" (identifier "param_2") (!= "!=") (number_literal "0x10")) () ")")) (compound_statement "{\n    if (param_2 == 0x1c) {\n      *(undefined4 *)param_3 = 10;\n      uVar1 = *(undefined8 *)(param_1 + 0x10);\n      *(undefined8 *)((long)param_3 + 4) = *(undefined8 *)(param_1 + 8);\n      *(undefined8 *)((long)param_3 + 0xc) = uVar1;\n    }\n    return param_2 == 0x1c;\n  }" ({ "{") (if_statement "if (param_2 == 0x1c) {\n      *(undefined4 *)param_3 = 10;\n      uVar1 = *(undefined8 *)(param_1 + 0x10);\n      *(undefined8 *)((long)param_3 + 4) = *(undefined8 *)(param_1 + 8);\n      *(undefined8 *)((long)param_3 + 0xc) = uVar1;\n    }" (if "if") (parenthesized_expression "(param_2 == 0x1c)" (( "(") (binary_expression "param_2 == 0x1c" (identifier "param_2") (== "==") (number_literal "0x1c")) () ")")) (compound_statement "{\n      *(undefined4 *)param_3 = 10;\n      uVar1 = *(undefined8 *)(param_1 + 0x10);\n      *(undefined8 *)((long)param_3 + 4) = *(undefined8 *)(param_1 + 8);\n      *(undefined8 *)((long)param_3 + 0xc) = uVar1;\n    }" ({ "{") (expression_statement "*(undefined4 *)param_3 = 10;" (assignment_expression "*(undefined4 *)param_3 = 10" (pointer_expression "*(undefined4 *)param_3" (* "*") (cast_expression "(undefined4 *)param_3" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_3"))) (= "=") (number_literal "10")) (; ";")) (expression_statement "uVar1 = *(undefined8 *)(param_1 + 0x10);" (assignment_expression "uVar1 = *(undefined8 *)(param_1 + 0x10)" (identifier "uVar1") (= "=") (pointer_expression "*(undefined8 *)(param_1 + 0x10)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*(undefined8 *)((long)param_3 + 4) = *(undefined8 *)(param_1 + 8);" (assignment_expression "*(undefined8 *)((long)param_3 + 4) = *(undefined8 *)(param_1 + 8)" (pointer_expression "*(undefined8 *)((long)param_3 + 4)" (* "*") (cast_expression "(undefined8 *)((long)param_3 + 4)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_3 + 4)" (( "(") (binary_expression "(long)param_3 + 4" (cast_expression "(long)param_3" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_3")) (+ "+") (number_literal "4")) () ")")))) (= "=") (pointer_expression "*(undefined8 *)(param_1 + 8)" (* "*") (cast_expression "(undefined8 *)(param_1 + 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "*(undefined8 *)((long)param_3 + 0xc) = uVar1;" (assignment_expression "*(undefined8 *)((long)param_3 + 0xc) = uVar1" (pointer_expression "*(undefined8 *)((long)param_3 + 0xc)" (* "*") (cast_expression "(undefined8 *)((long)param_3 + 0xc)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_3 + 0xc)" (( "(") (binary_expression "(long)param_3 + 0xc" (cast_expression "(long)param_3" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_3")) (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "uVar1")) (; ";")) (} "}"))) (return_statement "return param_2 == 0x1c;" (return "return") (binary_expression "param_2 == 0x1c" (identifier "param_2") (== "==") (number_literal "0x1c")) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)param_3 = 2;" (assignment_expression "*(undefined4 *)param_3 = 2" (pointer_expression "*(undefined4 *)param_3" (* "*") (cast_expression "(undefined4 *)param_3" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_3"))) (= "=") (number_literal "2")) (; ";")) (expression_statement "*(undefined4 *)((long)param_3 + 4) = *(undefined4 *)(param_1 + 4);" (assignment_expression "*(undefined4 *)((long)param_3 + 4) = *(undefined4 *)(param_1 + 4)" (pointer_expression "*(undefined4 *)((long)param_3 + 4)" (* "*") (cast_expression "(undefined4 *)((long)param_3 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_3 + 4)" (( "(") (binary_expression "(long)param_3 + 4" (cast_expression "(long)param_3" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_3")) (+ "+") (number_literal "4")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(param_1 + 4)" (* "*") (cast_expression "(undefined4 *)(param_1 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (return_statement "return true;" (return "return") (true "true") (; ";")) (} "}")))

type_1 function_1(type_2 *var_2,type_3 var_1,type_4 *key)

{
  type_5 uVar1;
  
  *(type_5 *)key = 0;
  *(type_5 *)((long)&key->var_2 + 4) = 0;
  *(type_5 *)((long)&key->var_2 + 0xc) = 0;
  if (var_1 != 0x10) {
    if (var_1 == 0x1c) {
      key->family = 10;
      uVar1 = *(type_5 *)(var_2 + 1);
      *(type_5 *)&key->var_2 = *(type_5 *)(var_2->sa_data + 6);
      *(type_5 *)((long)&key->var_2 + 8) = uVar1;
    }
    return (uint)(var_1 == 0x1c);
  }
  key->family = 2;
  (key->var_2).ipv4.s_addr = *(type_6 *)(var_2->sa_data + 2);
  return MHD_YES;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (sized_type_specifier) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (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))))))) (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: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (number_literal))))) right: (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))))))) (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: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (number_literal))))) right: (identifier))))) (return_statement (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: (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: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (number_literal))))) right: (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))))))) (return_statement (true)))))

bool MASKED(long param_1,int param_2,undefined8 *param_3)

{
  undefined8 uVar1;
  
  *param_3 = 0;
  param_3[1] = 0;
  param_3[2] = 0;
  if (param_2 != 0x10) {
    if (param_2 == 0x1c) {
      *(undefined4 *)param_3 = 10;
      uVar1 = *(undefined8 *)(param_1 + 0x10);
      *(undefined8 *)((long)param_3 + 4) = *(undefined8 *)(param_1 + 8);
      *(undefined8 *)((long)param_3 + 0xc) = uVar1;
    }
    return param_2 == 0x1c;
  }
  *(undefined4 *)param_3 = 2;
  *(undefined4 *)((long)param_3 + 4) = *(undefined4 *)(param_1 + 4);
  return true;
}

