
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

int udhcp_send_raw_packet
              (dhcp_packet *dhcp_pkt,uint32_t source_nip,int source_port,uint32_t dest_nip,
              int dest_port,uint8_t *dest_arp,int ifindex)

{
  sockaddr_ll dest_sll;
  ip_udp_dhcp_packet packet;
  
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

ssize_t __regparm3
FUN_0004d875(undefined4 *param_1,undefined4 param_2,ushort param_3,undefined4 param_4,ushort param_5
            ,char *param_6,undefined4 param_7)

{
  ushort uVar1;
  int __fd;
  char *pcVar2;
  int iVar3;
  ssize_t sVar4;
  uint uVar5;
  undefined4 *puVar6;
  int in_GS_OFFSET;
  byte bVar7;
  sockaddr local_2c4;
  undefined2 local_2b4;
  undefined1 local_2b0 [2];
  ushort local_2ae;
  undefined1 local_2a8;
  undefined1 local_2a7;
  undefined2 local_2a6;
  undefined4 local_2a4;
  undefined4 local_2a0;
  ushort local_29c;
  ushort local_29a;
  ushort local_298;
  undefined2 local_296;
  undefined4 local_294 [157];
  int local_20;
  
  bVar7 = 0;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  __fd = socket(0x11,2,8);
  if (__fd < 0) {
    pcVar2 = "socket(%s)";
    sVar4 = -1;
  }
  else {
    pcVar2 = local_2c4.sa_data + 6;
    for (iVar3 = 3; iVar3 != 0; iVar3 = iVar3 + -1) {
      pcVar2[0] = '\0';
      pcVar2[1] = '\0';
      pcVar2[2] = '\0';
      pcVar2[3] = '\0';
      pcVar2 = pcVar2 + ((uint)bVar7 * -2 + 1) * 4;
    }
    puVar6 = (undefined4 *)local_2b0;
    for (iVar3 = 7; iVar3 != 0; iVar3 = iVar3 + -1) {
      *puVar6 = 0;
      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;
    }
    puVar6 = local_294;
    for (iVar3 = 0x9d; iVar3 != 0; iVar3 = iVar3 + -1) {
      *puVar6 = *param_1;
      param_1 = param_1 + (uint)bVar7 * -2 + 1;
      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;
    }
    local_2c4.sa_family = 0x11;
    local_2c4.sa_data[0] = '\b';
    local_2c4.sa_data[1] = '\0';
    local_2c4.sa_data._2_4_ = param_7;
    local_2c4.sa_data[9] = '\x06';
    local_2c4.sa_data._10_4_ = *(undefined4 *)param_6;
    local_2b4 = *(undefined2 *)(param_6 + 4);
    iVar3 = bind(__fd,&local_2c4,0x14);
    if (iVar3 < 0) {
      close(__fd);
      pcVar2 = "bind(%s)";
      sVar4 = -1;
    }
    else {
      iVar3 = FUN_0004e4c8();
      uVar5 = 0x133 - iVar3;
      if (0xf8 < uVar5) {
        uVar5 = 0xf8;
      }
      local_2a7 = 0x11;
      local_2a0 = param_4;
      local_29c = param_3 << 8 | param_3 >> 8;
      local_29a = param_5 << 8 | param_5 >> 8;
      uVar1 = 0x22c - (short)uVar5;
      local_2ae = uVar1 * 0x100 | uVar1 >> 8;
      local_2a4 = param_2;
      local_298 = local_2ae;
      local_296 = FUN_000aa450();
      uVar1 = 0x240 - (short)uVar5;
      local_2ae = uVar1 * 0x100 | uVar1 >> 8;
      local_2b0[0] = 0x45;
      local_2a8 = 0x40;
      local_2a6 = FUN_000aa450();
      sVar4 = sendto(__fd,local_2b0,0x240 - uVar5,0,&local_2c4,0x14);
      close(__fd);
      pcVar2 = "sendto";
      if (-1 < sVar4) goto LAB_0004d8de;
    }
  }
  FUN_00018e3c(pcVar2,"PACKET");
LAB_0004d8de:
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    FUN_00017e10();
  }
  return sVar4;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0x2e0
CALL 0x00017640
ADD EBX,0x8319c
MOV ESI,EAX
MOV dword ptr [ESP + 0x18],EDX
MOV dword ptr [ESP + 0x1c],ECX
MOV EDX,dword ptr [ESP + 0x2fc]
MOV dword ptr [ESP + 0x20],EDX
MOV EAX,GS:[0x14]
MOV dword ptr [ESP + 0x2d0],EAX
XOR EAX,EAX
PUSH 0x8
PUSH 0x2
PUSH 0x11
CALL 0x00017320
ADD ESP,0x10
TEST EAX,EAX
JNS 0x0004d901
LEA EAX,[EBX + 0xffff7971]
MOV ESI,0xffffffff
SUB ESP,0x8
LEA EDX,[EBX + 0xffff56b2]
PUSH EDX
PUSH EAX
CALL 0x00018e3c
ADD ESP,0x10
MOV EAX,ESI
MOV ECX,dword ptr [ESP + 0x2cc]
XOR ECX,dword ptr GS:[0x14]
JNZ 0x0004da7a
ADD ESP,0x2dc
POP EBX
POP ESI
POP EDI
POP EBP
RET 0x10
MOV EBP,EAX
LEA EAX,[ESP + 0x28]
MOV dword ptr [ESP + 0xc],EAX
LEA EDI,[ESP + 0x30]
MOV ECX,0x3
XOR EAX,EAX
STOSD.REP ES:EDI
LEA EDI,[ESP + 0x3c]
MOV dword ptr [ESP + 0x10],EDI
MOV ECX,0x7
STOSD.REP ES:EDI
LEA EDI,[ESP + 0x58]
MOV ECX,0x9d
MOVSD.REP ES:EDI,ESI
MOV dword ptr [ESP + 0x28],0x80011
MOV EAX,dword ptr [ESP + 0x2fc]
MOV dword ptr [ESP + 0x2c],EAX
MOV byte ptr [ESP + 0x33],0x6
MOV EDX,dword ptr [ESP + 0x1c]
MOV EAX,dword ptr [EDX]
MOV dword ptr [ESP + 0x34],EAX
MOV AX,word ptr [EDX + 0x4]
MOV word ptr [ESP + 0x38],AX
PUSH EAX
PUSH 0x14
PUSH dword ptr [ESP + 0x14]
PUSH EBP
CALL 0x00016cc0
ADD ESP,0x10
TEST EAX,EAX
JNS 0x0004d98d
SUB ESP,0xc
PUSH EBP
CALL 0x000174d0
ADD ESP,0x10
LEA EAX,[EBX + 0xffff797c]
MOV ESI,0xffffffff
JMP 0x0004d8cb
LEA EAX,[ESP + 0x148]
CALL 0x0004e4c8
MOV ESI,0x133
SUB ESI,EAX
CMP ESI,0xf8
JA 0x0004da70
MOV byte ptr [ESP + 0x45],0x11
MOV EAX,dword ptr [ESP + 0x14]
MOV dword ptr [ESP + 0x48],EAX
MOV EAX,dword ptr [ESP + 0x2f0]
MOV dword ptr [ESP + 0x4c],EAX
MOV EAX,dword ptr [ESP + 0x18]
ROL AX,0x8
MOV word ptr [ESP + 0x50],AX
MOV EAX,dword ptr [ESP + 0x2f4]
ROL AX,0x8
MOV word ptr [ESP + 0x52],AX
MOV EAX,0x22c
SUB EAX,ESI
ROL AX,0x8
MOV word ptr [ESP + 0x54],AX
MOV word ptr [ESP + 0x3e],AX
MOV EDI,0x240
SUB EDI,ESI
MOV EDX,EDI
MOV EAX,dword ptr [ESP + 0x10]
CALL 0x000aa450
MOV word ptr [ESP + 0x56],AX
MOV EAX,0x240
SUB EAX,ESI
ROL AX,0x8
MOV word ptr [ESP + 0x3e],AX
MOV byte ptr [ESP + 0x3c],0x45
MOV byte ptr [ESP + 0x44],0x40
MOV EDX,0x14
MOV ESI,dword ptr [ESP + 0x10]
MOV EAX,ESI
CALL 0x000aa450
MOV word ptr [ESP + 0x46],AX
SUB ESP,0x8
PUSH 0x14
PUSH dword ptr [ESP + 0x18]
PUSH 0x0
PUSH EDI
PUSH ESI
PUSH EBP
CALL 0x00016fa0
MOV ESI,EAX
ADD ESP,0x14
PUSH EBP
CALL 0x000174d0
ADD ESP,0x10
LEA EAX,[EBX + 0xffff2b2a]
TEST ESI,ESI
JS 0x0004d8cb
JMP 0x0004d8de
MOV ESI,0xf8
JMP 0x0004d9ac
CALL 0x00017e10
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nssize_t __regparm3\nFUN_0004d875(undefined4 *param_1,undefined4 param_2,ushort param_3,undefined4 param_4,ushort param_5\n            ,char *param_6,undefined4 param_7)\n\n{\n  ushort uVar1;\n  int __fd;\n  char *pcVar2;\n  int iVar3;\n  ssize_t sVar4;\n  uint uVar5;\n  undefined4 *puVar6;\n  int in_GS_OFFSET;\n  byte bVar7;\n  sockaddr local_2c4;\n  undefined2 local_2b4;\n  undefined1 local_2b0 [2];\n  ushort local_2ae;\n  undefined1 local_2a8;\n  undefined1 local_2a7;\n  undefined2 local_2a6;\n  undefined4 local_2a4;\n  undefined4 local_2a0;\n  ushort local_29c;\n  ushort local_29a;\n  ushort local_298;\n  undefined2 local_296;\n  undefined4 local_294 [157];\n  int local_20;\n  \n  bVar7 = 0;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  __fd = socket(0x11,2,8);\n  if (__fd < 0) {\n    pcVar2 = "socket(%s)";\n    sVar4 = -1;\n  }\n  else {\n    pcVar2 = local_2c4.sa_data + 6;\n    for (iVar3 = 3; iVar3 != 0; iVar3 = iVar3 + -1) {\n      pcVar2[0] = '\0';\n      pcVar2[1] = '\0';\n      pcVar2[2] = '\0';\n      pcVar2[3] = '\0';\n      pcVar2 = pcVar2 + ((uint)bVar7 * -2 + 1) * 4;\n    }\n    puVar6 = (undefined4 *)local_2b0;\n    for (iVar3 = 7; iVar3 != 0; iVar3 = iVar3 + -1) {\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }\n    puVar6 = local_294;\n    for (iVar3 = 0x9d; iVar3 != 0; iVar3 = iVar3 + -1) {\n      *puVar6 = *param_1;\n      param_1 = param_1 + (uint)bVar7 * -2 + 1;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }\n    local_2c4.sa_family = 0x11;\n    local_2c4.sa_data[0] = '\b';\n    local_2c4.sa_data[1] = '\0';\n    local_2c4.sa_data._2_4_ = param_7;\n    local_2c4.sa_data[9] = '\x06';\n    local_2c4.sa_data._10_4_ = *(undefined4 *)param_6;\n    local_2b4 = *(undefined2 *)(param_6 + 4);\n    iVar3 = bind(__fd,&local_2c4,0x14);\n    if (iVar3 < 0) {\n      close(__fd);\n      pcVar2 = "bind(%s)";\n      sVar4 = -1;\n    }\n    else {\n      iVar3 = FUN_0004e4c8();\n      uVar5 = 0x133 - iVar3;\n      if (0xf8 < uVar5) {\n        uVar5 = 0xf8;\n      }\n      local_2a7 = 0x11;\n      local_2a0 = param_4;\n      local_29c = param_3 << 8 | param_3 >> 8;\n      local_29a = param_5 << 8 | param_5 >> 8;\n      uVar1 = 0x22c - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2a4 = param_2;\n      local_298 = local_2ae;\n      local_296 = FUN_000aa450();\n      uVar1 = 0x240 - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2b0[0] = 0x45;\n      local_2a8 = 0x40;\n      local_2a6 = FUN_000aa450();\n      sVar4 = sendto(__fd,local_2b0,0x240 - uVar5,0,&local_2c4,0x14);\n      close(__fd);\n      pcVar2 = "sendto";\n      if (-1 < sVar4) goto LAB_0004d8de;\n    }\n  }\n  FUN_00018e3c(pcVar2,"PACKET");\nLAB_0004d8de:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00017e10();\n  }\n  return sVar4;\n}\n\n" comment (function_definition "ssize_t __regparm3\nFUN_0004d875(undefined4 *param_1,undefined4 param_2,ushort param_3,undefined4 param_4,ushort param_5\n            ,char *param_6,undefined4 param_7)\n\n{\n  ushort uVar1;\n  int __fd;\n  char *pcVar2;\n  int iVar3;\n  ssize_t sVar4;\n  uint uVar5;\n  undefined4 *puVar6;\n  int in_GS_OFFSET;\n  byte bVar7;\n  sockaddr local_2c4;\n  undefined2 local_2b4;\n  undefined1 local_2b0 [2];\n  ushort local_2ae;\n  undefined1 local_2a8;\n  undefined1 local_2a7;\n  undefined2 local_2a6;\n  undefined4 local_2a4;\n  undefined4 local_2a0;\n  ushort local_29c;\n  ushort local_29a;\n  ushort local_298;\n  undefined2 local_296;\n  undefined4 local_294 [157];\n  int local_20;\n  \n  bVar7 = 0;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  __fd = socket(0x11,2,8);\n  if (__fd < 0) {\n    pcVar2 = "socket(%s)";\n    sVar4 = -1;\n  }\n  else {\n    pcVar2 = local_2c4.sa_data + 6;\n    for (iVar3 = 3; iVar3 != 0; iVar3 = iVar3 + -1) {\n      pcVar2[0] = '\0';\n      pcVar2[1] = '\0';\n      pcVar2[2] = '\0';\n      pcVar2[3] = '\0';\n      pcVar2 = pcVar2 + ((uint)bVar7 * -2 + 1) * 4;\n    }\n    puVar6 = (undefined4 *)local_2b0;\n    for (iVar3 = 7; iVar3 != 0; iVar3 = iVar3 + -1) {\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }\n    puVar6 = local_294;\n    for (iVar3 = 0x9d; iVar3 != 0; iVar3 = iVar3 + -1) {\n      *puVar6 = *param_1;\n      param_1 = param_1 + (uint)bVar7 * -2 + 1;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }\n    local_2c4.sa_family = 0x11;\n    local_2c4.sa_data[0] = '\b';\n    local_2c4.sa_data[1] = '\0';\n    local_2c4.sa_data._2_4_ = param_7;\n    local_2c4.sa_data[9] = '\x06';\n    local_2c4.sa_data._10_4_ = *(undefined4 *)param_6;\n    local_2b4 = *(undefined2 *)(param_6 + 4);\n    iVar3 = bind(__fd,&local_2c4,0x14);\n    if (iVar3 < 0) {\n      close(__fd);\n      pcVar2 = "bind(%s)";\n      sVar4 = -1;\n    }\n    else {\n      iVar3 = FUN_0004e4c8();\n      uVar5 = 0x133 - iVar3;\n      if (0xf8 < uVar5) {\n        uVar5 = 0xf8;\n      }\n      local_2a7 = 0x11;\n      local_2a0 = param_4;\n      local_29c = param_3 << 8 | param_3 >> 8;\n      local_29a = param_5 << 8 | param_5 >> 8;\n      uVar1 = 0x22c - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2a4 = param_2;\n      local_298 = local_2ae;\n      local_296 = FUN_000aa450();\n      uVar1 = 0x240 - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2b0[0] = 0x45;\n      local_2a8 = 0x40;\n      local_2a6 = FUN_000aa450();\n      sVar4 = sendto(__fd,local_2b0,0x240 - uVar5,0,&local_2c4,0x14);\n      close(__fd);\n      pcVar2 = "sendto";\n      if (-1 < sVar4) goto LAB_0004d8de;\n    }\n  }\n  FUN_00018e3c(pcVar2,"PACKET");\nLAB_0004d8de:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00017e10();\n  }\n  return sVar4;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_0004d875(undefined4 *param_1,undefined4 param_2,ushort param_3,undefined4 param_4,ushort param_5\n            ,char *param_6,undefined4 param_7)" identifier (parameter_list "(undefined4 *param_1,undefined4 param_2,ushort param_3,undefined4 param_4,ushort param_5\n            ,char *param_6,undefined4 param_7)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "ushort param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "ushort param_5" type_identifier identifier) , (parameter_declaration "char *param_6" primitive_type (pointer_declarator "*param_6" * identifier)) , (parameter_declaration "undefined4 param_7" type_identifier identifier) ))) (compound_statement "{\n  ushort uVar1;\n  int __fd;\n  char *pcVar2;\n  int iVar3;\n  ssize_t sVar4;\n  uint uVar5;\n  undefined4 *puVar6;\n  int in_GS_OFFSET;\n  byte bVar7;\n  sockaddr local_2c4;\n  undefined2 local_2b4;\n  undefined1 local_2b0 [2];\n  ushort local_2ae;\n  undefined1 local_2a8;\n  undefined1 local_2a7;\n  undefined2 local_2a6;\n  undefined4 local_2a4;\n  undefined4 local_2a0;\n  ushort local_29c;\n  ushort local_29a;\n  ushort local_298;\n  undefined2 local_296;\n  undefined4 local_294 [157];\n  int local_20;\n  \n  bVar7 = 0;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  __fd = socket(0x11,2,8);\n  if (__fd < 0) {\n    pcVar2 = "socket(%s)";\n    sVar4 = -1;\n  }\n  else {\n    pcVar2 = local_2c4.sa_data + 6;\n    for (iVar3 = 3; iVar3 != 0; iVar3 = iVar3 + -1) {\n      pcVar2[0] = '\0';\n      pcVar2[1] = '\0';\n      pcVar2[2] = '\0';\n      pcVar2[3] = '\0';\n      pcVar2 = pcVar2 + ((uint)bVar7 * -2 + 1) * 4;\n    }\n    puVar6 = (undefined4 *)local_2b0;\n    for (iVar3 = 7; iVar3 != 0; iVar3 = iVar3 + -1) {\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }\n    puVar6 = local_294;\n    for (iVar3 = 0x9d; iVar3 != 0; iVar3 = iVar3 + -1) {\n      *puVar6 = *param_1;\n      param_1 = param_1 + (uint)bVar7 * -2 + 1;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }\n    local_2c4.sa_family = 0x11;\n    local_2c4.sa_data[0] = '\b';\n    local_2c4.sa_data[1] = '\0';\n    local_2c4.sa_data._2_4_ = param_7;\n    local_2c4.sa_data[9] = '\x06';\n    local_2c4.sa_data._10_4_ = *(undefined4 *)param_6;\n    local_2b4 = *(undefined2 *)(param_6 + 4);\n    iVar3 = bind(__fd,&local_2c4,0x14);\n    if (iVar3 < 0) {\n      close(__fd);\n      pcVar2 = "bind(%s)";\n      sVar4 = -1;\n    }\n    else {\n      iVar3 = FUN_0004e4c8();\n      uVar5 = 0x133 - iVar3;\n      if (0xf8 < uVar5) {\n        uVar5 = 0xf8;\n      }\n      local_2a7 = 0x11;\n      local_2a0 = param_4;\n      local_29c = param_3 << 8 | param_3 >> 8;\n      local_29a = param_5 << 8 | param_5 >> 8;\n      uVar1 = 0x22c - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2a4 = param_2;\n      local_298 = local_2ae;\n      local_296 = FUN_000aa450();\n      uVar1 = 0x240 - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2b0[0] = 0x45;\n      local_2a8 = 0x40;\n      local_2a6 = FUN_000aa450();\n      sVar4 = sendto(__fd,local_2b0,0x240 - uVar5,0,&local_2c4,0x14);\n      close(__fd);\n      pcVar2 = "sendto";\n      if (-1 < sVar4) goto LAB_0004d8de;\n    }\n  }\n  FUN_00018e3c(pcVar2,"PACKET");\nLAB_0004d8de:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00017e10();\n  }\n  return sVar4;\n}" { (declaration "ushort uVar1;" type_identifier identifier ;) (declaration "int __fd;" primitive_type identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "ssize_t sVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "byte bVar7;" type_identifier identifier ;) (declaration "sockaddr local_2c4;" type_identifier identifier ;) (declaration "undefined2 local_2b4;" type_identifier identifier ;) (declaration "undefined1 local_2b0 [2];" type_identifier (array_declarator "local_2b0 [2]" identifier [ number_literal ]) ;) (declaration "ushort local_2ae;" type_identifier identifier ;) (declaration "undefined1 local_2a8;" type_identifier identifier ;) (declaration "undefined1 local_2a7;" type_identifier identifier ;) (declaration "undefined2 local_2a6;" type_identifier identifier ;) (declaration "undefined4 local_2a4;" type_identifier identifier ;) (declaration "undefined4 local_2a0;" type_identifier identifier ;) (declaration "ushort local_29c;" type_identifier identifier ;) (declaration "ushort local_29a;" type_identifier identifier ;) (declaration "ushort local_298;" type_identifier identifier ;) (declaration "undefined2 local_296;" type_identifier identifier ;) (declaration "undefined4 local_294 [157];" type_identifier (array_declarator "local_294 [157]" identifier [ number_literal ]) ;) (declaration "int local_20;" primitive_type identifier ;) (expression_statement "bVar7 = 0;" (assignment_expression "bVar7 = 0" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "__fd = socket(0x11,2,8);" (assignment_expression "__fd = socket(0x11,2,8)" identifier = (call_expression "socket(0x11,2,8)" identifier (argument_list "(0x11,2,8)" ( number_literal , number_literal , number_literal )))) ;) (if_statement "if (__fd < 0) {\n    pcVar2 = "socket(%s)";\n    sVar4 = -1;\n  }\n  else {\n    pcVar2 = local_2c4.sa_data + 6;\n    for (iVar3 = 3; iVar3 != 0; iVar3 = iVar3 + -1) {\n      pcVar2[0] = '\0';\n      pcVar2[1] = '\0';\n      pcVar2[2] = '\0';\n      pcVar2[3] = '\0';\n      pcVar2 = pcVar2 + ((uint)bVar7 * -2 + 1) * 4;\n    }\n    puVar6 = (undefined4 *)local_2b0;\n    for (iVar3 = 7; iVar3 != 0; iVar3 = iVar3 + -1) {\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }\n    puVar6 = local_294;\n    for (iVar3 = 0x9d; iVar3 != 0; iVar3 = iVar3 + -1) {\n      *puVar6 = *param_1;\n      param_1 = param_1 + (uint)bVar7 * -2 + 1;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }\n    local_2c4.sa_family = 0x11;\n    local_2c4.sa_data[0] = '\b';\n    local_2c4.sa_data[1] = '\0';\n    local_2c4.sa_data._2_4_ = param_7;\n    local_2c4.sa_data[9] = '\x06';\n    local_2c4.sa_data._10_4_ = *(undefined4 *)param_6;\n    local_2b4 = *(undefined2 *)(param_6 + 4);\n    iVar3 = bind(__fd,&local_2c4,0x14);\n    if (iVar3 < 0) {\n      close(__fd);\n      pcVar2 = "bind(%s)";\n      sVar4 = -1;\n    }\n    else {\n      iVar3 = FUN_0004e4c8();\n      uVar5 = 0x133 - iVar3;\n      if (0xf8 < uVar5) {\n        uVar5 = 0xf8;\n      }\n      local_2a7 = 0x11;\n      local_2a0 = param_4;\n      local_29c = param_3 << 8 | param_3 >> 8;\n      local_29a = param_5 << 8 | param_5 >> 8;\n      uVar1 = 0x22c - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2a4 = param_2;\n      local_298 = local_2ae;\n      local_296 = FUN_000aa450();\n      uVar1 = 0x240 - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2b0[0] = 0x45;\n      local_2a8 = 0x40;\n      local_2a6 = FUN_000aa450();\n      sVar4 = sendto(__fd,local_2b0,0x240 - uVar5,0,&local_2c4,0x14);\n      close(__fd);\n      pcVar2 = "sendto";\n      if (-1 < sVar4) goto LAB_0004d8de;\n    }\n  }" if (parenthesized_expression "(__fd < 0)" ( (binary_expression "__fd < 0" identifier < number_literal) )) (compound_statement "{\n    pcVar2 = "socket(%s)";\n    sVar4 = -1;\n  }" { (expression_statement "pcVar2 = "socket(%s)";" (assignment_expression "pcVar2 = "socket(%s)"" identifier = (string_literal ""socket(%s)"" " string_content ")) ;) (expression_statement "sVar4 = -1;" (assignment_expression "sVar4 = -1" identifier = number_literal) ;) }) (else_clause "else {\n    pcVar2 = local_2c4.sa_data + 6;\n    for (iVar3 = 3; iVar3 != 0; iVar3 = iVar3 + -1) {\n      pcVar2[0] = '\0';\n      pcVar2[1] = '\0';\n      pcVar2[2] = '\0';\n      pcVar2[3] = '\0';\n      pcVar2 = pcVar2 + ((uint)bVar7 * -2 + 1) * 4;\n    }\n    puVar6 = (undefined4 *)local_2b0;\n    for (iVar3 = 7; iVar3 != 0; iVar3 = iVar3 + -1) {\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }\n    puVar6 = local_294;\n    for (iVar3 = 0x9d; iVar3 != 0; iVar3 = iVar3 + -1) {\n      *puVar6 = *param_1;\n      param_1 = param_1 + (uint)bVar7 * -2 + 1;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }\n    local_2c4.sa_family = 0x11;\n    local_2c4.sa_data[0] = '\b';\n    local_2c4.sa_data[1] = '\0';\n    local_2c4.sa_data._2_4_ = param_7;\n    local_2c4.sa_data[9] = '\x06';\n    local_2c4.sa_data._10_4_ = *(undefined4 *)param_6;\n    local_2b4 = *(undefined2 *)(param_6 + 4);\n    iVar3 = bind(__fd,&local_2c4,0x14);\n    if (iVar3 < 0) {\n      close(__fd);\n      pcVar2 = "bind(%s)";\n      sVar4 = -1;\n    }\n    else {\n      iVar3 = FUN_0004e4c8();\n      uVar5 = 0x133 - iVar3;\n      if (0xf8 < uVar5) {\n        uVar5 = 0xf8;\n      }\n      local_2a7 = 0x11;\n      local_2a0 = param_4;\n      local_29c = param_3 << 8 | param_3 >> 8;\n      local_29a = param_5 << 8 | param_5 >> 8;\n      uVar1 = 0x22c - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2a4 = param_2;\n      local_298 = local_2ae;\n      local_296 = FUN_000aa450();\n      uVar1 = 0x240 - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2b0[0] = 0x45;\n      local_2a8 = 0x40;\n      local_2a6 = FUN_000aa450();\n      sVar4 = sendto(__fd,local_2b0,0x240 - uVar5,0,&local_2c4,0x14);\n      close(__fd);\n      pcVar2 = "sendto";\n      if (-1 < sVar4) goto LAB_0004d8de;\n    }\n  }" else (compound_statement "{\n    pcVar2 = local_2c4.sa_data + 6;\n    for (iVar3 = 3; iVar3 != 0; iVar3 = iVar3 + -1) {\n      pcVar2[0] = '\0';\n      pcVar2[1] = '\0';\n      pcVar2[2] = '\0';\n      pcVar2[3] = '\0';\n      pcVar2 = pcVar2 + ((uint)bVar7 * -2 + 1) * 4;\n    }\n    puVar6 = (undefined4 *)local_2b0;\n    for (iVar3 = 7; iVar3 != 0; iVar3 = iVar3 + -1) {\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }\n    puVar6 = local_294;\n    for (iVar3 = 0x9d; iVar3 != 0; iVar3 = iVar3 + -1) {\n      *puVar6 = *param_1;\n      param_1 = param_1 + (uint)bVar7 * -2 + 1;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }\n    local_2c4.sa_family = 0x11;\n    local_2c4.sa_data[0] = '\b';\n    local_2c4.sa_data[1] = '\0';\n    local_2c4.sa_data._2_4_ = param_7;\n    local_2c4.sa_data[9] = '\x06';\n    local_2c4.sa_data._10_4_ = *(undefined4 *)param_6;\n    local_2b4 = *(undefined2 *)(param_6 + 4);\n    iVar3 = bind(__fd,&local_2c4,0x14);\n    if (iVar3 < 0) {\n      close(__fd);\n      pcVar2 = "bind(%s)";\n      sVar4 = -1;\n    }\n    else {\n      iVar3 = FUN_0004e4c8();\n      uVar5 = 0x133 - iVar3;\n      if (0xf8 < uVar5) {\n        uVar5 = 0xf8;\n      }\n      local_2a7 = 0x11;\n      local_2a0 = param_4;\n      local_29c = param_3 << 8 | param_3 >> 8;\n      local_29a = param_5 << 8 | param_5 >> 8;\n      uVar1 = 0x22c - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2a4 = param_2;\n      local_298 = local_2ae;\n      local_296 = FUN_000aa450();\n      uVar1 = 0x240 - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2b0[0] = 0x45;\n      local_2a8 = 0x40;\n      local_2a6 = FUN_000aa450();\n      sVar4 = sendto(__fd,local_2b0,0x240 - uVar5,0,&local_2c4,0x14);\n      close(__fd);\n      pcVar2 = "sendto";\n      if (-1 < sVar4) goto LAB_0004d8de;\n    }\n  }" { (expression_statement "pcVar2 = local_2c4.sa_data + 6;" (assignment_expression "pcVar2 = local_2c4.sa_data + 6" identifier = (binary_expression "local_2c4.sa_data + 6" (field_expression "local_2c4.sa_data" identifier . field_identifier) + number_literal)) ;) (for_statement "for (iVar3 = 3; iVar3 != 0; iVar3 = iVar3 + -1) {\n      pcVar2[0] = '\0';\n      pcVar2[1] = '\0';\n      pcVar2[2] = '\0';\n      pcVar2[3] = '\0';\n      pcVar2 = pcVar2 + ((uint)bVar7 * -2 + 1) * 4;\n    }" for ( (assignment_expression "iVar3 = 3" identifier = number_literal) ; (binary_expression "iVar3 != 0" identifier != number_literal) ; (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ) (compound_statement "{\n      pcVar2[0] = '\0';\n      pcVar2[1] = '\0';\n      pcVar2[2] = '\0';\n      pcVar2[3] = '\0';\n      pcVar2 = pcVar2 + ((uint)bVar7 * -2 + 1) * 4;\n    }" { (expression_statement "pcVar2[0] = '\0';" (assignment_expression "pcVar2[0] = '\0'" (subscript_expression "pcVar2[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar2[1] = '\0';" (assignment_expression "pcVar2[1] = '\0'" (subscript_expression "pcVar2[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar2[2] = '\0';" (assignment_expression "pcVar2[2] = '\0'" (subscript_expression "pcVar2[2]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar2[3] = '\0';" (assignment_expression "pcVar2[3] = '\0'" (subscript_expression "pcVar2[3]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar2 = pcVar2 + ((uint)bVar7 * -2 + 1) * 4;" (assignment_expression "pcVar2 = pcVar2 + ((uint)bVar7 * -2 + 1) * 4" identifier = (binary_expression "pcVar2 + ((uint)bVar7 * -2 + 1) * 4" identifier + (binary_expression "((uint)bVar7 * -2 + 1) * 4" (parenthesized_expression "((uint)bVar7 * -2 + 1)" ( (binary_expression "(uint)bVar7 * -2 + 1" (binary_expression "(uint)bVar7 * -2" (cast_expression "(uint)bVar7" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal) + number_literal) )) * number_literal))) ;) })) (expression_statement "puVar6 = (undefined4 *)local_2b0;" (assignment_expression "puVar6 = (undefined4 *)local_2b0" identifier = (cast_expression "(undefined4 *)local_2b0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (for_statement "for (iVar3 = 7; iVar3 != 0; iVar3 = iVar3 + -1) {\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }" for ( (assignment_expression "iVar3 = 7" identifier = number_literal) ; (binary_expression "iVar3 != 0" identifier != number_literal) ; (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ) (compound_statement "{\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }" { (expression_statement "*puVar6 = 0;" (assignment_expression "*puVar6 = 0" (pointer_expression "*puVar6" * identifier) = number_literal) ;) (expression_statement "puVar6 = puVar6 + (uint)bVar7 * -2 + 1;" (assignment_expression "puVar6 = puVar6 + (uint)bVar7 * -2 + 1" identifier = (binary_expression "puVar6 + (uint)bVar7 * -2 + 1" (binary_expression "puVar6 + (uint)bVar7 * -2" identifier + (binary_expression "(uint)bVar7 * -2" (cast_expression "(uint)bVar7" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "puVar6 = local_294;" (assignment_expression "puVar6 = local_294" identifier = identifier) ;) (for_statement "for (iVar3 = 0x9d; iVar3 != 0; iVar3 = iVar3 + -1) {\n      *puVar6 = *param_1;\n      param_1 = param_1 + (uint)bVar7 * -2 + 1;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }" for ( (assignment_expression "iVar3 = 0x9d" identifier = number_literal) ; (binary_expression "iVar3 != 0" identifier != number_literal) ; (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ) (compound_statement "{\n      *puVar6 = *param_1;\n      param_1 = param_1 + (uint)bVar7 * -2 + 1;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }" { (expression_statement "*puVar6 = *param_1;" (assignment_expression "*puVar6 = *param_1" (pointer_expression "*puVar6" * identifier) = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "param_1 = param_1 + (uint)bVar7 * -2 + 1;" (assignment_expression "param_1 = param_1 + (uint)bVar7 * -2 + 1" identifier = (binary_expression "param_1 + (uint)bVar7 * -2 + 1" (binary_expression "param_1 + (uint)bVar7 * -2" identifier + (binary_expression "(uint)bVar7 * -2" (cast_expression "(uint)bVar7" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "puVar6 = puVar6 + (uint)bVar7 * -2 + 1;" (assignment_expression "puVar6 = puVar6 + (uint)bVar7 * -2 + 1" identifier = (binary_expression "puVar6 + (uint)bVar7 * -2 + 1" (binary_expression "puVar6 + (uint)bVar7 * -2" identifier + (binary_expression "(uint)bVar7 * -2" (cast_expression "(uint)bVar7" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "local_2c4.sa_family = 0x11;" (assignment_expression "local_2c4.sa_family = 0x11" (field_expression "local_2c4.sa_family" identifier . field_identifier) = number_literal) ;) (expression_statement "local_2c4.sa_data[0] = '\b';" (assignment_expression "local_2c4.sa_data[0] = '\b'" (subscript_expression "local_2c4.sa_data[0]" (field_expression "local_2c4.sa_data" identifier . field_identifier) [ number_literal ]) = (char_literal "'\b'" ' escape_sequence ')) ;) (expression_statement "local_2c4.sa_data[1] = '\0';" (assignment_expression "local_2c4.sa_data[1] = '\0'" (subscript_expression "local_2c4.sa_data[1]" (field_expression "local_2c4.sa_data" identifier . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_2c4.sa_data._2_4_ = param_7;" (assignment_expression "local_2c4.sa_data._2_4_ = param_7" (field_expression "local_2c4.sa_data._2_4_" (field_expression "local_2c4.sa_data" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "local_2c4.sa_data[9] = '\x06';" (assignment_expression "local_2c4.sa_data[9] = '\x06'" (subscript_expression "local_2c4.sa_data[9]" (field_expression "local_2c4.sa_data" identifier . field_identifier) [ number_literal ]) = (char_literal "'\x06'" ' escape_sequence ')) ;) (expression_statement "local_2c4.sa_data._10_4_ = *(undefined4 *)param_6;" (assignment_expression "local_2c4.sa_data._10_4_ = *(undefined4 *)param_6" (field_expression "local_2c4.sa_data._10_4_" (field_expression "local_2c4.sa_data" identifier . field_identifier) . field_identifier) = (pointer_expression "*(undefined4 *)param_6" * (cast_expression "(undefined4 *)param_6" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_2b4 = *(undefined2 *)(param_6 + 4);" (assignment_expression "local_2b4 = *(undefined2 *)(param_6 + 4)" identifier = (pointer_expression "*(undefined2 *)(param_6 + 4)" * (cast_expression "(undefined2 *)(param_6 + 4)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 4)" ( (binary_expression "param_6 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = bind(__fd,&local_2c4,0x14);" (assignment_expression "iVar3 = bind(__fd,&local_2c4,0x14)" identifier = (call_expression "bind(__fd,&local_2c4,0x14)" identifier (argument_list "(__fd,&local_2c4,0x14)" ( identifier , (pointer_expression "&local_2c4" & identifier) , number_literal )))) ;) (if_statement "if (iVar3 < 0) {\n      close(__fd);\n      pcVar2 = "bind(%s)";\n      sVar4 = -1;\n    }\n    else {\n      iVar3 = FUN_0004e4c8();\n      uVar5 = 0x133 - iVar3;\n      if (0xf8 < uVar5) {\n        uVar5 = 0xf8;\n      }\n      local_2a7 = 0x11;\n      local_2a0 = param_4;\n      local_29c = param_3 << 8 | param_3 >> 8;\n      local_29a = param_5 << 8 | param_5 >> 8;\n      uVar1 = 0x22c - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2a4 = param_2;\n      local_298 = local_2ae;\n      local_296 = FUN_000aa450();\n      uVar1 = 0x240 - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2b0[0] = 0x45;\n      local_2a8 = 0x40;\n      local_2a6 = FUN_000aa450();\n      sVar4 = sendto(__fd,local_2b0,0x240 - uVar5,0,&local_2c4,0x14);\n      close(__fd);\n      pcVar2 = "sendto";\n      if (-1 < sVar4) goto LAB_0004d8de;\n    }" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (compound_statement "{\n      close(__fd);\n      pcVar2 = "bind(%s)";\n      sVar4 = -1;\n    }" { (expression_statement "close(__fd);" (call_expression "close(__fd)" identifier (argument_list "(__fd)" ( identifier ))) ;) (expression_statement "pcVar2 = "bind(%s)";" (assignment_expression "pcVar2 = "bind(%s)"" identifier = (string_literal ""bind(%s)"" " string_content ")) ;) (expression_statement "sVar4 = -1;" (assignment_expression "sVar4 = -1" identifier = number_literal) ;) }) (else_clause "else {\n      iVar3 = FUN_0004e4c8();\n      uVar5 = 0x133 - iVar3;\n      if (0xf8 < uVar5) {\n        uVar5 = 0xf8;\n      }\n      local_2a7 = 0x11;\n      local_2a0 = param_4;\n      local_29c = param_3 << 8 | param_3 >> 8;\n      local_29a = param_5 << 8 | param_5 >> 8;\n      uVar1 = 0x22c - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2a4 = param_2;\n      local_298 = local_2ae;\n      local_296 = FUN_000aa450();\n      uVar1 = 0x240 - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2b0[0] = 0x45;\n      local_2a8 = 0x40;\n      local_2a6 = FUN_000aa450();\n      sVar4 = sendto(__fd,local_2b0,0x240 - uVar5,0,&local_2c4,0x14);\n      close(__fd);\n      pcVar2 = "sendto";\n      if (-1 < sVar4) goto LAB_0004d8de;\n    }" else (compound_statement "{\n      iVar3 = FUN_0004e4c8();\n      uVar5 = 0x133 - iVar3;\n      if (0xf8 < uVar5) {\n        uVar5 = 0xf8;\n      }\n      local_2a7 = 0x11;\n      local_2a0 = param_4;\n      local_29c = param_3 << 8 | param_3 >> 8;\n      local_29a = param_5 << 8 | param_5 >> 8;\n      uVar1 = 0x22c - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2a4 = param_2;\n      local_298 = local_2ae;\n      local_296 = FUN_000aa450();\n      uVar1 = 0x240 - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2b0[0] = 0x45;\n      local_2a8 = 0x40;\n      local_2a6 = FUN_000aa450();\n      sVar4 = sendto(__fd,local_2b0,0x240 - uVar5,0,&local_2c4,0x14);\n      close(__fd);\n      pcVar2 = "sendto";\n      if (-1 < sVar4) goto LAB_0004d8de;\n    }" { (expression_statement "iVar3 = FUN_0004e4c8();" (assignment_expression "iVar3 = FUN_0004e4c8()" identifier = (call_expression "FUN_0004e4c8()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar5 = 0x133 - iVar3;" (assignment_expression "uVar5 = 0x133 - iVar3" identifier = (binary_expression "0x133 - iVar3" number_literal - identifier)) ;) (if_statement "if (0xf8 < uVar5) {\n        uVar5 = 0xf8;\n      }" if (parenthesized_expression "(0xf8 < uVar5)" ( (binary_expression "0xf8 < uVar5" number_literal < identifier) )) (compound_statement "{\n        uVar5 = 0xf8;\n      }" { (expression_statement "uVar5 = 0xf8;" (assignment_expression "uVar5 = 0xf8" identifier = number_literal) ;) })) (expression_statement "local_2a7 = 0x11;" (assignment_expression "local_2a7 = 0x11" identifier = number_literal) ;) (expression_statement "local_2a0 = param_4;" (assignment_expression "local_2a0 = param_4" identifier = identifier) ;) (expression_statement "local_29c = param_3 << 8 | param_3 >> 8;" (assignment_expression "local_29c = param_3 << 8 | param_3 >> 8" identifier = (binary_expression "param_3 << 8 | param_3 >> 8" (binary_expression "param_3 << 8" identifier << number_literal) | (binary_expression "param_3 >> 8" identifier >> number_literal))) ;) (expression_statement "local_29a = param_5 << 8 | param_5 >> 8;" (assignment_expression "local_29a = param_5 << 8 | param_5 >> 8" identifier = (binary_expression "param_5 << 8 | param_5 >> 8" (binary_expression "param_5 << 8" identifier << number_literal) | (binary_expression "param_5 >> 8" identifier >> number_literal))) ;) (expression_statement "uVar1 = 0x22c - (short)uVar5;" (assignment_expression "uVar1 = 0x22c - (short)uVar5" identifier = (binary_expression "0x22c - (short)uVar5" number_literal - (cast_expression "(short)uVar5" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier))) ;) (expression_statement "local_2ae = uVar1 * 0x100 | uVar1 >> 8;" (assignment_expression "local_2ae = uVar1 * 0x100 | uVar1 >> 8" identifier = (binary_expression "uVar1 * 0x100 | uVar1 >> 8" (binary_expression "uVar1 * 0x100" identifier * number_literal) | (binary_expression "uVar1 >> 8" identifier >> number_literal))) ;) (expression_statement "local_2a4 = param_2;" (assignment_expression "local_2a4 = param_2" identifier = identifier) ;) (expression_statement "local_298 = local_2ae;" (assignment_expression "local_298 = local_2ae" identifier = identifier) ;) (expression_statement "local_296 = FUN_000aa450();" (assignment_expression "local_296 = FUN_000aa450()" identifier = (call_expression "FUN_000aa450()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar1 = 0x240 - (short)uVar5;" (assignment_expression "uVar1 = 0x240 - (short)uVar5" identifier = (binary_expression "0x240 - (short)uVar5" number_literal - (cast_expression "(short)uVar5" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier))) ;) (expression_statement "local_2ae = uVar1 * 0x100 | uVar1 >> 8;" (assignment_expression "local_2ae = uVar1 * 0x100 | uVar1 >> 8" identifier = (binary_expression "uVar1 * 0x100 | uVar1 >> 8" (binary_expression "uVar1 * 0x100" identifier * number_literal) | (binary_expression "uVar1 >> 8" identifier >> number_literal))) ;) (expression_statement "local_2b0[0] = 0x45;" (assignment_expression "local_2b0[0] = 0x45" (subscript_expression "local_2b0[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_2a8 = 0x40;" (assignment_expression "local_2a8 = 0x40" identifier = number_literal) ;) (expression_statement "local_2a6 = FUN_000aa450();" (assignment_expression "local_2a6 = FUN_000aa450()" identifier = (call_expression "FUN_000aa450()" identifier (argument_list "()" ( )))) ;) (expression_statement "sVar4 = sendto(__fd,local_2b0,0x240 - uVar5,0,&local_2c4,0x14);" (assignment_expression "sVar4 = sendto(__fd,local_2b0,0x240 - uVar5,0,&local_2c4,0x14)" identifier = (call_expression "sendto(__fd,local_2b0,0x240 - uVar5,0,&local_2c4,0x14)" identifier (argument_list "(__fd,local_2b0,0x240 - uVar5,0,&local_2c4,0x14)" ( identifier , identifier , (binary_expression "0x240 - uVar5" number_literal - identifier) , number_literal , (pointer_expression "&local_2c4" & identifier) , number_literal )))) ;) (expression_statement "close(__fd);" (call_expression "close(__fd)" identifier (argument_list "(__fd)" ( identifier ))) ;) (expression_statement "pcVar2 = "sendto";" (assignment_expression "pcVar2 = "sendto"" identifier = (string_literal ""sendto"" " string_content ")) ;) (if_statement "if (-1 < sVar4) goto LAB_0004d8de;" if (parenthesized_expression "(-1 < sVar4)" ( (binary_expression "-1 < sVar4" number_literal < identifier) )) (goto_statement "goto LAB_0004d8de;" goto statement_identifier ;)) }))) }))) (expression_statement "FUN_00018e3c(pcVar2,"PACKET");" (call_expression "FUN_00018e3c(pcVar2,"PACKET")" identifier (argument_list "(pcVar2,"PACKET")" ( identifier , (string_literal ""PACKET"" " string_content ") ))) ;) (labeled_statement "LAB_0004d8de:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00017e10();\n  }" statement_identifier : (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00017e10();\n  }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_00017e10();\n  }" { comment (expression_statement "FUN_00017e10();" (call_expression "FUN_00017e10()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return sVar4;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nint udhcp_send_raw_packet\n              (dhcp_packet *dhcp_pkt,uint32_t source_nip,int source_port,uint32_t dest_nip,\n              int dest_port,uint8_t *dest_arp,int ifindex)\n\n{\n  sockaddr_ll dest_sll;\n  ip_udp_dhcp_packet packet;\n  \n}\n\n" comment (function_definition "int udhcp_send_raw_packet\n              (dhcp_packet *dhcp_pkt,uint32_t source_nip,int source_port,uint32_t dest_nip,\n              int dest_port,uint8_t *dest_arp,int ifindex)\n\n{\n  sockaddr_ll dest_sll;\n  ip_udp_dhcp_packet packet;\n  \n}" primitive_type (function_declarator "udhcp_send_raw_packet\n              (dhcp_packet *dhcp_pkt,uint32_t source_nip,int source_port,uint32_t dest_nip,\n              int dest_port,uint8_t *dest_arp,int ifindex)" identifier (parameter_list "(dhcp_packet *dhcp_pkt,uint32_t source_nip,int source_port,uint32_t dest_nip,\n              int dest_port,uint8_t *dest_arp,int ifindex)" ( (parameter_declaration "dhcp_packet *dhcp_pkt" type_identifier (pointer_declarator "*dhcp_pkt" * identifier)) , (parameter_declaration "uint32_t source_nip" primitive_type identifier) , (parameter_declaration "int source_port" primitive_type identifier) , (parameter_declaration "uint32_t dest_nip" primitive_type identifier) , (parameter_declaration "int dest_port" primitive_type identifier) , (parameter_declaration "uint8_t *dest_arp" primitive_type (pointer_declarator "*dest_arp" * identifier)) , (parameter_declaration "int ifindex" primitive_type identifier) ))) (compound_statement "{\n  sockaddr_ll dest_sll;\n  ip_udp_dhcp_packet packet;\n  \n}" { (declaration "sockaddr_ll dest_sll;" type_identifier identifier ;) (declaration "ip_udp_dhcp_packet packet;" type_identifier identifier ;) })))
(translation_unit "ssize_t __regparm3\nFUN_0004d875(undefined4 *param_1,undefined4 param_2,ushort param_3,undefined4 param_4,ushort param_5\n            ,char *param_6,undefined4 param_7)\n\n{\n  ushort uVar1;\n  int __fd;\n  char *pcVar2;\n  int iVar3;\n  ssize_t sVar4;\n  uint uVar5;\n  undefined4 *puVar6;\n  int in_GS_OFFSET;\n  byte bVar7;\n  sockaddr local_2c4;\n  undefined2 local_2b4;\n  undefined1 local_2b0 [2];\n  ushort local_2ae;\n  undefined1 local_2a8;\n  undefined1 local_2a7;\n  undefined2 local_2a6;\n  undefined4 local_2a4;\n  undefined4 local_2a0;\n  ushort local_29c;\n  ushort local_29a;\n  ushort local_298;\n  undefined2 local_296;\n  undefined4 local_294 [157];\n  int local_20;\n  \n  bVar7 = 0;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  __fd = socket(0x11,2,8);\n  if (__fd < 0) {\n    pcVar2 = "socket(%s)";\n    sVar4 = -1;\n  }\n  else {\n    pcVar2 = local_2c4.sa_data + 6;\n    for (iVar3 = 3; iVar3 != 0; iVar3 = iVar3 + -1) {\n      pcVar2[0] = '\0';\n      pcVar2[1] = '\0';\n      pcVar2[2] = '\0';\n      pcVar2[3] = '\0';\n      pcVar2 = pcVar2 + ((uint)bVar7 * -2 + 1) * 4;\n    }\n    puVar6 = (undefined4 *)local_2b0;\n    for (iVar3 = 7; iVar3 != 0; iVar3 = iVar3 + -1) {\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }\n    puVar6 = local_294;\n    for (iVar3 = 0x9d; iVar3 != 0; iVar3 = iVar3 + -1) {\n      *puVar6 = *param_1;\n      param_1 = param_1 + (uint)bVar7 * -2 + 1;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }\n    local_2c4.sa_family = 0x11;\n    local_2c4.sa_data[0] = '\b';\n    local_2c4.sa_data[1] = '\0';\n    local_2c4.sa_data._2_4_ = param_7;\n    local_2c4.sa_data[9] = '\x06';\n    local_2c4.sa_data._10_4_ = *(undefined4 *)param_6;\n    local_2b4 = *(undefined2 *)(param_6 + 4);\n    iVar3 = bind(__fd,&local_2c4,0x14);\n    if (iVar3 < 0) {\n      close(__fd);\n      pcVar2 = "bind(%s)";\n      sVar4 = -1;\n    }\n    else {\n      iVar3 = FUN_0004e4c8();\n      uVar5 = 0x133 - iVar3;\n      if (0xf8 < uVar5) {\n        uVar5 = 0xf8;\n      }\n      local_2a7 = 0x11;\n      local_2a0 = param_4;\n      local_29c = param_3 << 8 | param_3 >> 8;\n      local_29a = param_5 << 8 | param_5 >> 8;\n      uVar1 = 0x22c - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2a4 = param_2;\n      local_298 = local_2ae;\n      local_296 = FUN_000aa450();\n      uVar1 = 0x240 - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2b0[0] = 0x45;\n      local_2a8 = 0x40;\n      local_2a6 = FUN_000aa450();\n      sVar4 = sendto(__fd,local_2b0,0x240 - uVar5,0,&local_2c4,0x14);\n      close(__fd);\n      pcVar2 = "sendto";\n      if (-1 < sVar4) goto LAB_0004d8de;\n    }\n  }\n  FUN_00018e3c(pcVar2,"PACKET");\nLAB_0004d8de:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00017e10();\n  }\n  return sVar4;\n}\n\n" (function_definition "ssize_t __regparm3\nFUN_0004d875(undefined4 *param_1,undefined4 param_2,ushort param_3,undefined4 param_4,ushort param_5\n            ,char *param_6,undefined4 param_7)\n\n{\n  ushort uVar1;\n  int __fd;\n  char *pcVar2;\n  int iVar3;\n  ssize_t sVar4;\n  uint uVar5;\n  undefined4 *puVar6;\n  int in_GS_OFFSET;\n  byte bVar7;\n  sockaddr local_2c4;\n  undefined2 local_2b4;\n  undefined1 local_2b0 [2];\n  ushort local_2ae;\n  undefined1 local_2a8;\n  undefined1 local_2a7;\n  undefined2 local_2a6;\n  undefined4 local_2a4;\n  undefined4 local_2a0;\n  ushort local_29c;\n  ushort local_29a;\n  ushort local_298;\n  undefined2 local_296;\n  undefined4 local_294 [157];\n  int local_20;\n  \n  bVar7 = 0;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  __fd = socket(0x11,2,8);\n  if (__fd < 0) {\n    pcVar2 = "socket(%s)";\n    sVar4 = -1;\n  }\n  else {\n    pcVar2 = local_2c4.sa_data + 6;\n    for (iVar3 = 3; iVar3 != 0; iVar3 = iVar3 + -1) {\n      pcVar2[0] = '\0';\n      pcVar2[1] = '\0';\n      pcVar2[2] = '\0';\n      pcVar2[3] = '\0';\n      pcVar2 = pcVar2 + ((uint)bVar7 * -2 + 1) * 4;\n    }\n    puVar6 = (undefined4 *)local_2b0;\n    for (iVar3 = 7; iVar3 != 0; iVar3 = iVar3 + -1) {\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }\n    puVar6 = local_294;\n    for (iVar3 = 0x9d; iVar3 != 0; iVar3 = iVar3 + -1) {\n      *puVar6 = *param_1;\n      param_1 = param_1 + (uint)bVar7 * -2 + 1;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }\n    local_2c4.sa_family = 0x11;\n    local_2c4.sa_data[0] = '\b';\n    local_2c4.sa_data[1] = '\0';\n    local_2c4.sa_data._2_4_ = param_7;\n    local_2c4.sa_data[9] = '\x06';\n    local_2c4.sa_data._10_4_ = *(undefined4 *)param_6;\n    local_2b4 = *(undefined2 *)(param_6 + 4);\n    iVar3 = bind(__fd,&local_2c4,0x14);\n    if (iVar3 < 0) {\n      close(__fd);\n      pcVar2 = "bind(%s)";\n      sVar4 = -1;\n    }\n    else {\n      iVar3 = FUN_0004e4c8();\n      uVar5 = 0x133 - iVar3;\n      if (0xf8 < uVar5) {\n        uVar5 = 0xf8;\n      }\n      local_2a7 = 0x11;\n      local_2a0 = param_4;\n      local_29c = param_3 << 8 | param_3 >> 8;\n      local_29a = param_5 << 8 | param_5 >> 8;\n      uVar1 = 0x22c - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2a4 = param_2;\n      local_298 = local_2ae;\n      local_296 = FUN_000aa450();\n      uVar1 = 0x240 - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2b0[0] = 0x45;\n      local_2a8 = 0x40;\n      local_2a6 = FUN_000aa450();\n      sVar4 = sendto(__fd,local_2b0,0x240 - uVar5,0,&local_2c4,0x14);\n      close(__fd);\n      pcVar2 = "sendto";\n      if (-1 < sVar4) goto LAB_0004d8de;\n    }\n  }\n  FUN_00018e3c(pcVar2,"PACKET");\nLAB_0004d8de:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00017e10();\n  }\n  return sVar4;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_0004d875(undefined4 *param_1,undefined4 param_2,ushort param_3,undefined4 param_4,ushort param_5\n            ,char *param_6,undefined4 param_7)" identifier (parameter_list "(undefined4 *param_1,undefined4 param_2,ushort param_3,undefined4 param_4,ushort param_5\n            ,char *param_6,undefined4 param_7)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "ushort param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "ushort param_5" type_identifier identifier) , (parameter_declaration "char *param_6" primitive_type (pointer_declarator "*param_6" * identifier)) , (parameter_declaration "undefined4 param_7" type_identifier identifier) ))) (compound_statement "{\n  ushort uVar1;\n  int __fd;\n  char *pcVar2;\n  int iVar3;\n  ssize_t sVar4;\n  uint uVar5;\n  undefined4 *puVar6;\n  int in_GS_OFFSET;\n  byte bVar7;\n  sockaddr local_2c4;\n  undefined2 local_2b4;\n  undefined1 local_2b0 [2];\n  ushort local_2ae;\n  undefined1 local_2a8;\n  undefined1 local_2a7;\n  undefined2 local_2a6;\n  undefined4 local_2a4;\n  undefined4 local_2a0;\n  ushort local_29c;\n  ushort local_29a;\n  ushort local_298;\n  undefined2 local_296;\n  undefined4 local_294 [157];\n  int local_20;\n  \n  bVar7 = 0;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  __fd = socket(0x11,2,8);\n  if (__fd < 0) {\n    pcVar2 = "socket(%s)";\n    sVar4 = -1;\n  }\n  else {\n    pcVar2 = local_2c4.sa_data + 6;\n    for (iVar3 = 3; iVar3 != 0; iVar3 = iVar3 + -1) {\n      pcVar2[0] = '\0';\n      pcVar2[1] = '\0';\n      pcVar2[2] = '\0';\n      pcVar2[3] = '\0';\n      pcVar2 = pcVar2 + ((uint)bVar7 * -2 + 1) * 4;\n    }\n    puVar6 = (undefined4 *)local_2b0;\n    for (iVar3 = 7; iVar3 != 0; iVar3 = iVar3 + -1) {\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }\n    puVar6 = local_294;\n    for (iVar3 = 0x9d; iVar3 != 0; iVar3 = iVar3 + -1) {\n      *puVar6 = *param_1;\n      param_1 = param_1 + (uint)bVar7 * -2 + 1;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }\n    local_2c4.sa_family = 0x11;\n    local_2c4.sa_data[0] = '\b';\n    local_2c4.sa_data[1] = '\0';\n    local_2c4.sa_data._2_4_ = param_7;\n    local_2c4.sa_data[9] = '\x06';\n    local_2c4.sa_data._10_4_ = *(undefined4 *)param_6;\n    local_2b4 = *(undefined2 *)(param_6 + 4);\n    iVar3 = bind(__fd,&local_2c4,0x14);\n    if (iVar3 < 0) {\n      close(__fd);\n      pcVar2 = "bind(%s)";\n      sVar4 = -1;\n    }\n    else {\n      iVar3 = FUN_0004e4c8();\n      uVar5 = 0x133 - iVar3;\n      if (0xf8 < uVar5) {\n        uVar5 = 0xf8;\n      }\n      local_2a7 = 0x11;\n      local_2a0 = param_4;\n      local_29c = param_3 << 8 | param_3 >> 8;\n      local_29a = param_5 << 8 | param_5 >> 8;\n      uVar1 = 0x22c - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2a4 = param_2;\n      local_298 = local_2ae;\n      local_296 = FUN_000aa450();\n      uVar1 = 0x240 - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2b0[0] = 0x45;\n      local_2a8 = 0x40;\n      local_2a6 = FUN_000aa450();\n      sVar4 = sendto(__fd,local_2b0,0x240 - uVar5,0,&local_2c4,0x14);\n      close(__fd);\n      pcVar2 = "sendto";\n      if (-1 < sVar4) goto LAB_0004d8de;\n    }\n  }\n  FUN_00018e3c(pcVar2,"PACKET");\nLAB_0004d8de:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00017e10();\n  }\n  return sVar4;\n}" { (declaration "ushort uVar1;" type_identifier identifier ;) (declaration "int __fd;" primitive_type identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "ssize_t sVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "byte bVar7;" type_identifier identifier ;) (declaration "sockaddr local_2c4;" type_identifier identifier ;) (declaration "undefined2 local_2b4;" type_identifier identifier ;) (declaration "undefined1 local_2b0 [2];" type_identifier (array_declarator "local_2b0 [2]" identifier [ number_literal ]) ;) (declaration "ushort local_2ae;" type_identifier identifier ;) (declaration "undefined1 local_2a8;" type_identifier identifier ;) (declaration "undefined1 local_2a7;" type_identifier identifier ;) (declaration "undefined2 local_2a6;" type_identifier identifier ;) (declaration "undefined4 local_2a4;" type_identifier identifier ;) (declaration "undefined4 local_2a0;" type_identifier identifier ;) (declaration "ushort local_29c;" type_identifier identifier ;) (declaration "ushort local_29a;" type_identifier identifier ;) (declaration "ushort local_298;" type_identifier identifier ;) (declaration "undefined2 local_296;" type_identifier identifier ;) (declaration "undefined4 local_294 [157];" type_identifier (array_declarator "local_294 [157]" identifier [ number_literal ]) ;) (declaration "int local_20;" primitive_type identifier ;) (expression_statement "bVar7 = 0;" (assignment_expression "bVar7 = 0" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "__fd = socket(0x11,2,8);" (assignment_expression "__fd = socket(0x11,2,8)" identifier = (call_expression "socket(0x11,2,8)" identifier (argument_list "(0x11,2,8)" ( number_literal , number_literal , number_literal )))) ;) (if_statement "if (__fd < 0) {\n    pcVar2 = "socket(%s)";\n    sVar4 = -1;\n  }\n  else {\n    pcVar2 = local_2c4.sa_data + 6;\n    for (iVar3 = 3; iVar3 != 0; iVar3 = iVar3 + -1) {\n      pcVar2[0] = '\0';\n      pcVar2[1] = '\0';\n      pcVar2[2] = '\0';\n      pcVar2[3] = '\0';\n      pcVar2 = pcVar2 + ((uint)bVar7 * -2 + 1) * 4;\n    }\n    puVar6 = (undefined4 *)local_2b0;\n    for (iVar3 = 7; iVar3 != 0; iVar3 = iVar3 + -1) {\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }\n    puVar6 = local_294;\n    for (iVar3 = 0x9d; iVar3 != 0; iVar3 = iVar3 + -1) {\n      *puVar6 = *param_1;\n      param_1 = param_1 + (uint)bVar7 * -2 + 1;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }\n    local_2c4.sa_family = 0x11;\n    local_2c4.sa_data[0] = '\b';\n    local_2c4.sa_data[1] = '\0';\n    local_2c4.sa_data._2_4_ = param_7;\n    local_2c4.sa_data[9] = '\x06';\n    local_2c4.sa_data._10_4_ = *(undefined4 *)param_6;\n    local_2b4 = *(undefined2 *)(param_6 + 4);\n    iVar3 = bind(__fd,&local_2c4,0x14);\n    if (iVar3 < 0) {\n      close(__fd);\n      pcVar2 = "bind(%s)";\n      sVar4 = -1;\n    }\n    else {\n      iVar3 = FUN_0004e4c8();\n      uVar5 = 0x133 - iVar3;\n      if (0xf8 < uVar5) {\n        uVar5 = 0xf8;\n      }\n      local_2a7 = 0x11;\n      local_2a0 = param_4;\n      local_29c = param_3 << 8 | param_3 >> 8;\n      local_29a = param_5 << 8 | param_5 >> 8;\n      uVar1 = 0x22c - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2a4 = param_2;\n      local_298 = local_2ae;\n      local_296 = FUN_000aa450();\n      uVar1 = 0x240 - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2b0[0] = 0x45;\n      local_2a8 = 0x40;\n      local_2a6 = FUN_000aa450();\n      sVar4 = sendto(__fd,local_2b0,0x240 - uVar5,0,&local_2c4,0x14);\n      close(__fd);\n      pcVar2 = "sendto";\n      if (-1 < sVar4) goto LAB_0004d8de;\n    }\n  }" if (parenthesized_expression "(__fd < 0)" ( (binary_expression "__fd < 0" identifier < number_literal) )) (compound_statement "{\n    pcVar2 = "socket(%s)";\n    sVar4 = -1;\n  }" { (expression_statement "pcVar2 = "socket(%s)";" (assignment_expression "pcVar2 = "socket(%s)"" identifier = (string_literal ""socket(%s)"" " string_content ")) ;) (expression_statement "sVar4 = -1;" (assignment_expression "sVar4 = -1" identifier = number_literal) ;) }) (else_clause "else {\n    pcVar2 = local_2c4.sa_data + 6;\n    for (iVar3 = 3; iVar3 != 0; iVar3 = iVar3 + -1) {\n      pcVar2[0] = '\0';\n      pcVar2[1] = '\0';\n      pcVar2[2] = '\0';\n      pcVar2[3] = '\0';\n      pcVar2 = pcVar2 + ((uint)bVar7 * -2 + 1) * 4;\n    }\n    puVar6 = (undefined4 *)local_2b0;\n    for (iVar3 = 7; iVar3 != 0; iVar3 = iVar3 + -1) {\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }\n    puVar6 = local_294;\n    for (iVar3 = 0x9d; iVar3 != 0; iVar3 = iVar3 + -1) {\n      *puVar6 = *param_1;\n      param_1 = param_1 + (uint)bVar7 * -2 + 1;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }\n    local_2c4.sa_family = 0x11;\n    local_2c4.sa_data[0] = '\b';\n    local_2c4.sa_data[1] = '\0';\n    local_2c4.sa_data._2_4_ = param_7;\n    local_2c4.sa_data[9] = '\x06';\n    local_2c4.sa_data._10_4_ = *(undefined4 *)param_6;\n    local_2b4 = *(undefined2 *)(param_6 + 4);\n    iVar3 = bind(__fd,&local_2c4,0x14);\n    if (iVar3 < 0) {\n      close(__fd);\n      pcVar2 = "bind(%s)";\n      sVar4 = -1;\n    }\n    else {\n      iVar3 = FUN_0004e4c8();\n      uVar5 = 0x133 - iVar3;\n      if (0xf8 < uVar5) {\n        uVar5 = 0xf8;\n      }\n      local_2a7 = 0x11;\n      local_2a0 = param_4;\n      local_29c = param_3 << 8 | param_3 >> 8;\n      local_29a = param_5 << 8 | param_5 >> 8;\n      uVar1 = 0x22c - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2a4 = param_2;\n      local_298 = local_2ae;\n      local_296 = FUN_000aa450();\n      uVar1 = 0x240 - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2b0[0] = 0x45;\n      local_2a8 = 0x40;\n      local_2a6 = FUN_000aa450();\n      sVar4 = sendto(__fd,local_2b0,0x240 - uVar5,0,&local_2c4,0x14);\n      close(__fd);\n      pcVar2 = "sendto";\n      if (-1 < sVar4) goto LAB_0004d8de;\n    }\n  }" else (compound_statement "{\n    pcVar2 = local_2c4.sa_data + 6;\n    for (iVar3 = 3; iVar3 != 0; iVar3 = iVar3 + -1) {\n      pcVar2[0] = '\0';\n      pcVar2[1] = '\0';\n      pcVar2[2] = '\0';\n      pcVar2[3] = '\0';\n      pcVar2 = pcVar2 + ((uint)bVar7 * -2 + 1) * 4;\n    }\n    puVar6 = (undefined4 *)local_2b0;\n    for (iVar3 = 7; iVar3 != 0; iVar3 = iVar3 + -1) {\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }\n    puVar6 = local_294;\n    for (iVar3 = 0x9d; iVar3 != 0; iVar3 = iVar3 + -1) {\n      *puVar6 = *param_1;\n      param_1 = param_1 + (uint)bVar7 * -2 + 1;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }\n    local_2c4.sa_family = 0x11;\n    local_2c4.sa_data[0] = '\b';\n    local_2c4.sa_data[1] = '\0';\n    local_2c4.sa_data._2_4_ = param_7;\n    local_2c4.sa_data[9] = '\x06';\n    local_2c4.sa_data._10_4_ = *(undefined4 *)param_6;\n    local_2b4 = *(undefined2 *)(param_6 + 4);\n    iVar3 = bind(__fd,&local_2c4,0x14);\n    if (iVar3 < 0) {\n      close(__fd);\n      pcVar2 = "bind(%s)";\n      sVar4 = -1;\n    }\n    else {\n      iVar3 = FUN_0004e4c8();\n      uVar5 = 0x133 - iVar3;\n      if (0xf8 < uVar5) {\n        uVar5 = 0xf8;\n      }\n      local_2a7 = 0x11;\n      local_2a0 = param_4;\n      local_29c = param_3 << 8 | param_3 >> 8;\n      local_29a = param_5 << 8 | param_5 >> 8;\n      uVar1 = 0x22c - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2a4 = param_2;\n      local_298 = local_2ae;\n      local_296 = FUN_000aa450();\n      uVar1 = 0x240 - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2b0[0] = 0x45;\n      local_2a8 = 0x40;\n      local_2a6 = FUN_000aa450();\n      sVar4 = sendto(__fd,local_2b0,0x240 - uVar5,0,&local_2c4,0x14);\n      close(__fd);\n      pcVar2 = "sendto";\n      if (-1 < sVar4) goto LAB_0004d8de;\n    }\n  }" { (expression_statement "pcVar2 = local_2c4.sa_data + 6;" (assignment_expression "pcVar2 = local_2c4.sa_data + 6" identifier = (binary_expression "local_2c4.sa_data + 6" (field_expression "local_2c4.sa_data" identifier . field_identifier) + number_literal)) ;) (for_statement "for (iVar3 = 3; iVar3 != 0; iVar3 = iVar3 + -1) {\n      pcVar2[0] = '\0';\n      pcVar2[1] = '\0';\n      pcVar2[2] = '\0';\n      pcVar2[3] = '\0';\n      pcVar2 = pcVar2 + ((uint)bVar7 * -2 + 1) * 4;\n    }" for ( (assignment_expression "iVar3 = 3" identifier = number_literal) ; (binary_expression "iVar3 != 0" identifier != number_literal) ; (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ) (compound_statement "{\n      pcVar2[0] = '\0';\n      pcVar2[1] = '\0';\n      pcVar2[2] = '\0';\n      pcVar2[3] = '\0';\n      pcVar2 = pcVar2 + ((uint)bVar7 * -2 + 1) * 4;\n    }" { (expression_statement "pcVar2[0] = '\0';" (assignment_expression "pcVar2[0] = '\0'" (subscript_expression "pcVar2[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar2[1] = '\0';" (assignment_expression "pcVar2[1] = '\0'" (subscript_expression "pcVar2[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar2[2] = '\0';" (assignment_expression "pcVar2[2] = '\0'" (subscript_expression "pcVar2[2]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar2[3] = '\0';" (assignment_expression "pcVar2[3] = '\0'" (subscript_expression "pcVar2[3]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar2 = pcVar2 + ((uint)bVar7 * -2 + 1) * 4;" (assignment_expression "pcVar2 = pcVar2 + ((uint)bVar7 * -2 + 1) * 4" identifier = (binary_expression "pcVar2 + ((uint)bVar7 * -2 + 1) * 4" identifier + (binary_expression "((uint)bVar7 * -2 + 1) * 4" (parenthesized_expression "((uint)bVar7 * -2 + 1)" ( (binary_expression "(uint)bVar7 * -2 + 1" (binary_expression "(uint)bVar7 * -2" (cast_expression "(uint)bVar7" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal) + number_literal) )) * number_literal))) ;) })) (expression_statement "puVar6 = (undefined4 *)local_2b0;" (assignment_expression "puVar6 = (undefined4 *)local_2b0" identifier = (cast_expression "(undefined4 *)local_2b0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (for_statement "for (iVar3 = 7; iVar3 != 0; iVar3 = iVar3 + -1) {\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }" for ( (assignment_expression "iVar3 = 7" identifier = number_literal) ; (binary_expression "iVar3 != 0" identifier != number_literal) ; (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ) (compound_statement "{\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }" { (expression_statement "*puVar6 = 0;" (assignment_expression "*puVar6 = 0" (pointer_expression "*puVar6" * identifier) = number_literal) ;) (expression_statement "puVar6 = puVar6 + (uint)bVar7 * -2 + 1;" (assignment_expression "puVar6 = puVar6 + (uint)bVar7 * -2 + 1" identifier = (binary_expression "puVar6 + (uint)bVar7 * -2 + 1" (binary_expression "puVar6 + (uint)bVar7 * -2" identifier + (binary_expression "(uint)bVar7 * -2" (cast_expression "(uint)bVar7" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "puVar6 = local_294;" (assignment_expression "puVar6 = local_294" identifier = identifier) ;) (for_statement "for (iVar3 = 0x9d; iVar3 != 0; iVar3 = iVar3 + -1) {\n      *puVar6 = *param_1;\n      param_1 = param_1 + (uint)bVar7 * -2 + 1;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }" for ( (assignment_expression "iVar3 = 0x9d" identifier = number_literal) ; (binary_expression "iVar3 != 0" identifier != number_literal) ; (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ) (compound_statement "{\n      *puVar6 = *param_1;\n      param_1 = param_1 + (uint)bVar7 * -2 + 1;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }" { (expression_statement "*puVar6 = *param_1;" (assignment_expression "*puVar6 = *param_1" (pointer_expression "*puVar6" * identifier) = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "param_1 = param_1 + (uint)bVar7 * -2 + 1;" (assignment_expression "param_1 = param_1 + (uint)bVar7 * -2 + 1" identifier = (binary_expression "param_1 + (uint)bVar7 * -2 + 1" (binary_expression "param_1 + (uint)bVar7 * -2" identifier + (binary_expression "(uint)bVar7 * -2" (cast_expression "(uint)bVar7" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "puVar6 = puVar6 + (uint)bVar7 * -2 + 1;" (assignment_expression "puVar6 = puVar6 + (uint)bVar7 * -2 + 1" identifier = (binary_expression "puVar6 + (uint)bVar7 * -2 + 1" (binary_expression "puVar6 + (uint)bVar7 * -2" identifier + (binary_expression "(uint)bVar7 * -2" (cast_expression "(uint)bVar7" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "local_2c4.sa_family = 0x11;" (assignment_expression "local_2c4.sa_family = 0x11" (field_expression "local_2c4.sa_family" identifier . field_identifier) = number_literal) ;) (expression_statement "local_2c4.sa_data[0] = '\b';" (assignment_expression "local_2c4.sa_data[0] = '\b'" (subscript_expression "local_2c4.sa_data[0]" (field_expression "local_2c4.sa_data" identifier . field_identifier) [ number_literal ]) = (char_literal "'\b'" ' escape_sequence ')) ;) (expression_statement "local_2c4.sa_data[1] = '\0';" (assignment_expression "local_2c4.sa_data[1] = '\0'" (subscript_expression "local_2c4.sa_data[1]" (field_expression "local_2c4.sa_data" identifier . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_2c4.sa_data._2_4_ = param_7;" (assignment_expression "local_2c4.sa_data._2_4_ = param_7" (field_expression "local_2c4.sa_data._2_4_" (field_expression "local_2c4.sa_data" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "local_2c4.sa_data[9] = '\x06';" (assignment_expression "local_2c4.sa_data[9] = '\x06'" (subscript_expression "local_2c4.sa_data[9]" (field_expression "local_2c4.sa_data" identifier . field_identifier) [ number_literal ]) = (char_literal "'\x06'" ' escape_sequence ')) ;) (expression_statement "local_2c4.sa_data._10_4_ = *(undefined4 *)param_6;" (assignment_expression "local_2c4.sa_data._10_4_ = *(undefined4 *)param_6" (field_expression "local_2c4.sa_data._10_4_" (field_expression "local_2c4.sa_data" identifier . field_identifier) . field_identifier) = (pointer_expression "*(undefined4 *)param_6" * (cast_expression "(undefined4 *)param_6" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_2b4 = *(undefined2 *)(param_6 + 4);" (assignment_expression "local_2b4 = *(undefined2 *)(param_6 + 4)" identifier = (pointer_expression "*(undefined2 *)(param_6 + 4)" * (cast_expression "(undefined2 *)(param_6 + 4)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 4)" ( (binary_expression "param_6 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = bind(__fd,&local_2c4,0x14);" (assignment_expression "iVar3 = bind(__fd,&local_2c4,0x14)" identifier = (call_expression "bind(__fd,&local_2c4,0x14)" identifier (argument_list "(__fd,&local_2c4,0x14)" ( identifier , (pointer_expression "&local_2c4" & identifier) , number_literal )))) ;) (if_statement "if (iVar3 < 0) {\n      close(__fd);\n      pcVar2 = "bind(%s)";\n      sVar4 = -1;\n    }\n    else {\n      iVar3 = FUN_0004e4c8();\n      uVar5 = 0x133 - iVar3;\n      if (0xf8 < uVar5) {\n        uVar5 = 0xf8;\n      }\n      local_2a7 = 0x11;\n      local_2a0 = param_4;\n      local_29c = param_3 << 8 | param_3 >> 8;\n      local_29a = param_5 << 8 | param_5 >> 8;\n      uVar1 = 0x22c - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2a4 = param_2;\n      local_298 = local_2ae;\n      local_296 = FUN_000aa450();\n      uVar1 = 0x240 - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2b0[0] = 0x45;\n      local_2a8 = 0x40;\n      local_2a6 = FUN_000aa450();\n      sVar4 = sendto(__fd,local_2b0,0x240 - uVar5,0,&local_2c4,0x14);\n      close(__fd);\n      pcVar2 = "sendto";\n      if (-1 < sVar4) goto LAB_0004d8de;\n    }" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (compound_statement "{\n      close(__fd);\n      pcVar2 = "bind(%s)";\n      sVar4 = -1;\n    }" { (expression_statement "close(__fd);" (call_expression "close(__fd)" identifier (argument_list "(__fd)" ( identifier ))) ;) (expression_statement "pcVar2 = "bind(%s)";" (assignment_expression "pcVar2 = "bind(%s)"" identifier = (string_literal ""bind(%s)"" " string_content ")) ;) (expression_statement "sVar4 = -1;" (assignment_expression "sVar4 = -1" identifier = number_literal) ;) }) (else_clause "else {\n      iVar3 = FUN_0004e4c8();\n      uVar5 = 0x133 - iVar3;\n      if (0xf8 < uVar5) {\n        uVar5 = 0xf8;\n      }\n      local_2a7 = 0x11;\n      local_2a0 = param_4;\n      local_29c = param_3 << 8 | param_3 >> 8;\n      local_29a = param_5 << 8 | param_5 >> 8;\n      uVar1 = 0x22c - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2a4 = param_2;\n      local_298 = local_2ae;\n      local_296 = FUN_000aa450();\n      uVar1 = 0x240 - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2b0[0] = 0x45;\n      local_2a8 = 0x40;\n      local_2a6 = FUN_000aa450();\n      sVar4 = sendto(__fd,local_2b0,0x240 - uVar5,0,&local_2c4,0x14);\n      close(__fd);\n      pcVar2 = "sendto";\n      if (-1 < sVar4) goto LAB_0004d8de;\n    }" else (compound_statement "{\n      iVar3 = FUN_0004e4c8();\n      uVar5 = 0x133 - iVar3;\n      if (0xf8 < uVar5) {\n        uVar5 = 0xf8;\n      }\n      local_2a7 = 0x11;\n      local_2a0 = param_4;\n      local_29c = param_3 << 8 | param_3 >> 8;\n      local_29a = param_5 << 8 | param_5 >> 8;\n      uVar1 = 0x22c - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2a4 = param_2;\n      local_298 = local_2ae;\n      local_296 = FUN_000aa450();\n      uVar1 = 0x240 - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2b0[0] = 0x45;\n      local_2a8 = 0x40;\n      local_2a6 = FUN_000aa450();\n      sVar4 = sendto(__fd,local_2b0,0x240 - uVar5,0,&local_2c4,0x14);\n      close(__fd);\n      pcVar2 = "sendto";\n      if (-1 < sVar4) goto LAB_0004d8de;\n    }" { (expression_statement "iVar3 = FUN_0004e4c8();" (assignment_expression "iVar3 = FUN_0004e4c8()" identifier = (call_expression "FUN_0004e4c8()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar5 = 0x133 - iVar3;" (assignment_expression "uVar5 = 0x133 - iVar3" identifier = (binary_expression "0x133 - iVar3" number_literal - identifier)) ;) (if_statement "if (0xf8 < uVar5) {\n        uVar5 = 0xf8;\n      }" if (parenthesized_expression "(0xf8 < uVar5)" ( (binary_expression "0xf8 < uVar5" number_literal < identifier) )) (compound_statement "{\n        uVar5 = 0xf8;\n      }" { (expression_statement "uVar5 = 0xf8;" (assignment_expression "uVar5 = 0xf8" identifier = number_literal) ;) })) (expression_statement "local_2a7 = 0x11;" (assignment_expression "local_2a7 = 0x11" identifier = number_literal) ;) (expression_statement "local_2a0 = param_4;" (assignment_expression "local_2a0 = param_4" identifier = identifier) ;) (expression_statement "local_29c = param_3 << 8 | param_3 >> 8;" (assignment_expression "local_29c = param_3 << 8 | param_3 >> 8" identifier = (binary_expression "param_3 << 8 | param_3 >> 8" (binary_expression "param_3 << 8" identifier << number_literal) | (binary_expression "param_3 >> 8" identifier >> number_literal))) ;) (expression_statement "local_29a = param_5 << 8 | param_5 >> 8;" (assignment_expression "local_29a = param_5 << 8 | param_5 >> 8" identifier = (binary_expression "param_5 << 8 | param_5 >> 8" (binary_expression "param_5 << 8" identifier << number_literal) | (binary_expression "param_5 >> 8" identifier >> number_literal))) ;) (expression_statement "uVar1 = 0x22c - (short)uVar5;" (assignment_expression "uVar1 = 0x22c - (short)uVar5" identifier = (binary_expression "0x22c - (short)uVar5" number_literal - (cast_expression "(short)uVar5" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier))) ;) (expression_statement "local_2ae = uVar1 * 0x100 | uVar1 >> 8;" (assignment_expression "local_2ae = uVar1 * 0x100 | uVar1 >> 8" identifier = (binary_expression "uVar1 * 0x100 | uVar1 >> 8" (binary_expression "uVar1 * 0x100" identifier * number_literal) | (binary_expression "uVar1 >> 8" identifier >> number_literal))) ;) (expression_statement "local_2a4 = param_2;" (assignment_expression "local_2a4 = param_2" identifier = identifier) ;) (expression_statement "local_298 = local_2ae;" (assignment_expression "local_298 = local_2ae" identifier = identifier) ;) (expression_statement "local_296 = FUN_000aa450();" (assignment_expression "local_296 = FUN_000aa450()" identifier = (call_expression "FUN_000aa450()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar1 = 0x240 - (short)uVar5;" (assignment_expression "uVar1 = 0x240 - (short)uVar5" identifier = (binary_expression "0x240 - (short)uVar5" number_literal - (cast_expression "(short)uVar5" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier))) ;) (expression_statement "local_2ae = uVar1 * 0x100 | uVar1 >> 8;" (assignment_expression "local_2ae = uVar1 * 0x100 | uVar1 >> 8" identifier = (binary_expression "uVar1 * 0x100 | uVar1 >> 8" (binary_expression "uVar1 * 0x100" identifier * number_literal) | (binary_expression "uVar1 >> 8" identifier >> number_literal))) ;) (expression_statement "local_2b0[0] = 0x45;" (assignment_expression "local_2b0[0] = 0x45" (subscript_expression "local_2b0[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_2a8 = 0x40;" (assignment_expression "local_2a8 = 0x40" identifier = number_literal) ;) (expression_statement "local_2a6 = FUN_000aa450();" (assignment_expression "local_2a6 = FUN_000aa450()" identifier = (call_expression "FUN_000aa450()" identifier (argument_list "()" ( )))) ;) (expression_statement "sVar4 = sendto(__fd,local_2b0,0x240 - uVar5,0,&local_2c4,0x14);" (assignment_expression "sVar4 = sendto(__fd,local_2b0,0x240 - uVar5,0,&local_2c4,0x14)" identifier = (call_expression "sendto(__fd,local_2b0,0x240 - uVar5,0,&local_2c4,0x14)" identifier (argument_list "(__fd,local_2b0,0x240 - uVar5,0,&local_2c4,0x14)" ( identifier , identifier , (binary_expression "0x240 - uVar5" number_literal - identifier) , number_literal , (pointer_expression "&local_2c4" & identifier) , number_literal )))) ;) (expression_statement "close(__fd);" (call_expression "close(__fd)" identifier (argument_list "(__fd)" ( identifier ))) ;) (expression_statement "pcVar2 = "sendto";" (assignment_expression "pcVar2 = "sendto"" identifier = (string_literal ""sendto"" " string_content ")) ;) (if_statement "if (-1 < sVar4) goto LAB_0004d8de;" if (parenthesized_expression "(-1 < sVar4)" ( (binary_expression "-1 < sVar4" number_literal < identifier) )) (goto_statement "goto LAB_0004d8de;" goto statement_identifier ;)) }))) }))) (expression_statement "FUN_00018e3c(pcVar2,"PACKET");" (call_expression "FUN_00018e3c(pcVar2,"PACKET")" identifier (argument_list "(pcVar2,"PACKET")" ( identifier , (string_literal ""PACKET"" " string_content ") ))) ;) (labeled_statement "LAB_0004d8de:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00017e10();\n  }" statement_identifier : (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00017e10();\n  }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n    FUN_00017e10();\n  }" { (expression_statement "FUN_00017e10();" (call_expression "FUN_00017e10()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return sVar4;" return identifier ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression 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 IDENT = (call_expression IDENT (argument_list ( LIT , LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (field_expression IDENT . field_identifier) + LIT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + LIT) )) * LIT))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (subscript_expression (field_expression IDENT . field_identifier) [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression (field_expression IDENT . field_identifier) [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (field_expression (field_expression IDENT . field_identifier) . field_identifier) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression (field_expression IDENT . field_identifier) [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (field_expression (field_expression IDENT . field_identifier) . field_identifier) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (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 IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression LIT - IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression LIT - (cast_expression ( (type_descriptor (sized_type_specifier short)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression LIT - (cast_expression ( (type_descriptor (sized_type_specifier short)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression LIT - IDENT) , LIT , (pointer_expression & IDENT) , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) }))) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") ))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (return_statement return IDENT ;) })))
(function_definition "ssize_t __regparm3\nFUN_0004d875(undefined4 *param_1,undefined4 param_2,ushort param_3,undefined4 param_4,ushort param_5\n            ,char *param_6,undefined4 param_7)\n\n{\n  ushort uVar1;\n  int __fd;\n  char *pcVar2;\n  int iVar3;\n  ssize_t sVar4;\n  uint uVar5;\n  undefined4 *puVar6;\n  int in_GS_OFFSET;\n  byte bVar7;\n  sockaddr local_2c4;\n  undefined2 local_2b4;\n  undefined1 local_2b0 [2];\n  ushort local_2ae;\n  undefined1 local_2a8;\n  undefined1 local_2a7;\n  undefined2 local_2a6;\n  undefined4 local_2a4;\n  undefined4 local_2a0;\n  ushort local_29c;\n  ushort local_29a;\n  ushort local_298;\n  undefined2 local_296;\n  undefined4 local_294 [157];\n  int local_20;\n  \n  bVar7 = 0;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  __fd = socket(0x11,2,8);\n  if (__fd < 0) {\n    pcVar2 = "socket(%s)";\n    sVar4 = -1;\n  }\n  else {\n    pcVar2 = local_2c4.sa_data + 6;\n    for (iVar3 = 3; iVar3 != 0; iVar3 = iVar3 + -1) {\n      pcVar2[0] = '\0';\n      pcVar2[1] = '\0';\n      pcVar2[2] = '\0';\n      pcVar2[3] = '\0';\n      pcVar2 = pcVar2 + ((uint)bVar7 * -2 + 1) * 4;\n    }\n    puVar6 = (undefined4 *)local_2b0;\n    for (iVar3 = 7; iVar3 != 0; iVar3 = iVar3 + -1) {\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }\n    puVar6 = local_294;\n    for (iVar3 = 0x9d; iVar3 != 0; iVar3 = iVar3 + -1) {\n      *puVar6 = *param_1;\n      param_1 = param_1 + (uint)bVar7 * -2 + 1;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }\n    local_2c4.sa_family = 0x11;\n    local_2c4.sa_data[0] = '\b';\n    local_2c4.sa_data[1] = '\0';\n    local_2c4.sa_data._2_4_ = param_7;\n    local_2c4.sa_data[9] = '\x06';\n    local_2c4.sa_data._10_4_ = *(undefined4 *)param_6;\n    local_2b4 = *(undefined2 *)(param_6 + 4);\n    iVar3 = bind(__fd,&local_2c4,0x14);\n    if (iVar3 < 0) {\n      close(__fd);\n      pcVar2 = "bind(%s)";\n      sVar4 = -1;\n    }\n    else {\n      iVar3 = FUN_0004e4c8();\n      uVar5 = 0x133 - iVar3;\n      if (0xf8 < uVar5) {\n        uVar5 = 0xf8;\n      }\n      local_2a7 = 0x11;\n      local_2a0 = param_4;\n      local_29c = param_3 << 8 | param_3 >> 8;\n      local_29a = param_5 << 8 | param_5 >> 8;\n      uVar1 = 0x22c - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2a4 = param_2;\n      local_298 = local_2ae;\n      local_296 = FUN_000aa450();\n      uVar1 = 0x240 - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2b0[0] = 0x45;\n      local_2a8 = 0x40;\n      local_2a6 = FUN_000aa450();\n      sVar4 = sendto(__fd,local_2b0,0x240 - uVar5,0,&local_2c4,0x14);\n      close(__fd);\n      pcVar2 = "sendto";\n      if (-1 < sVar4) goto LAB_0004d8de;\n    }\n  }\n  FUN_00018e3c(pcVar2,"PACKET");\nLAB_0004d8de:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00017e10();\n  }\n  return sVar4;\n}" (primitive_type "ssize_t") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_0004d875(undefined4 *param_1,undefined4 param_2,ushort param_3,undefined4 param_4,ushort param_5\n            ,char *param_6,undefined4 param_7)" (identifier "FUN_0004d875") (parameter_list "(undefined4 *param_1,undefined4 param_2,ushort param_3,undefined4 param_4,ushort param_5\n            ,char *param_6,undefined4 param_7)" (( "(") (parameter_declaration "undefined4 *param_1" (type_identifier "undefined4") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "ushort param_3" (type_identifier "ushort") (identifier "param_3")) (, ",") (parameter_declaration "undefined4 param_4" (type_identifier "undefined4") (identifier "param_4")) (, ",") (parameter_declaration "ushort param_5" (type_identifier "ushort") (identifier "param_5")) (, ",") (parameter_declaration "char *param_6" (primitive_type "char") (pointer_declarator "*param_6" (* "*") (identifier "param_6"))) (, ",") (parameter_declaration "undefined4 param_7" (type_identifier "undefined4") (identifier "param_7")) () ")"))) (compound_statement "{\n  ushort uVar1;\n  int __fd;\n  char *pcVar2;\n  int iVar3;\n  ssize_t sVar4;\n  uint uVar5;\n  undefined4 *puVar6;\n  int in_GS_OFFSET;\n  byte bVar7;\n  sockaddr local_2c4;\n  undefined2 local_2b4;\n  undefined1 local_2b0 [2];\n  ushort local_2ae;\n  undefined1 local_2a8;\n  undefined1 local_2a7;\n  undefined2 local_2a6;\n  undefined4 local_2a4;\n  undefined4 local_2a0;\n  ushort local_29c;\n  ushort local_29a;\n  ushort local_298;\n  undefined2 local_296;\n  undefined4 local_294 [157];\n  int local_20;\n  \n  bVar7 = 0;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  __fd = socket(0x11,2,8);\n  if (__fd < 0) {\n    pcVar2 = "socket(%s)";\n    sVar4 = -1;\n  }\n  else {\n    pcVar2 = local_2c4.sa_data + 6;\n    for (iVar3 = 3; iVar3 != 0; iVar3 = iVar3 + -1) {\n      pcVar2[0] = '\0';\n      pcVar2[1] = '\0';\n      pcVar2[2] = '\0';\n      pcVar2[3] = '\0';\n      pcVar2 = pcVar2 + ((uint)bVar7 * -2 + 1) * 4;\n    }\n    puVar6 = (undefined4 *)local_2b0;\n    for (iVar3 = 7; iVar3 != 0; iVar3 = iVar3 + -1) {\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }\n    puVar6 = local_294;\n    for (iVar3 = 0x9d; iVar3 != 0; iVar3 = iVar3 + -1) {\n      *puVar6 = *param_1;\n      param_1 = param_1 + (uint)bVar7 * -2 + 1;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }\n    local_2c4.sa_family = 0x11;\n    local_2c4.sa_data[0] = '\b';\n    local_2c4.sa_data[1] = '\0';\n    local_2c4.sa_data._2_4_ = param_7;\n    local_2c4.sa_data[9] = '\x06';\n    local_2c4.sa_data._10_4_ = *(undefined4 *)param_6;\n    local_2b4 = *(undefined2 *)(param_6 + 4);\n    iVar3 = bind(__fd,&local_2c4,0x14);\n    if (iVar3 < 0) {\n      close(__fd);\n      pcVar2 = "bind(%s)";\n      sVar4 = -1;\n    }\n    else {\n      iVar3 = FUN_0004e4c8();\n      uVar5 = 0x133 - iVar3;\n      if (0xf8 < uVar5) {\n        uVar5 = 0xf8;\n      }\n      local_2a7 = 0x11;\n      local_2a0 = param_4;\n      local_29c = param_3 << 8 | param_3 >> 8;\n      local_29a = param_5 << 8 | param_5 >> 8;\n      uVar1 = 0x22c - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2a4 = param_2;\n      local_298 = local_2ae;\n      local_296 = FUN_000aa450();\n      uVar1 = 0x240 - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2b0[0] = 0x45;\n      local_2a8 = 0x40;\n      local_2a6 = FUN_000aa450();\n      sVar4 = sendto(__fd,local_2b0,0x240 - uVar5,0,&local_2c4,0x14);\n      close(__fd);\n      pcVar2 = "sendto";\n      if (-1 < sVar4) goto LAB_0004d8de;\n    }\n  }\n  FUN_00018e3c(pcVar2,"PACKET");\nLAB_0004d8de:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00017e10();\n  }\n  return sVar4;\n}" ({ "{") (declaration "ushort uVar1;" (type_identifier "ushort") (identifier "uVar1") (; ";")) (declaration "int __fd;" (primitive_type "int") (identifier "__fd") (; ";")) (declaration "char *pcVar2;" (primitive_type "char") (pointer_declarator "*pcVar2" (* "*") (identifier "pcVar2")) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "ssize_t sVar4;" (primitive_type "ssize_t") (identifier "sVar4") (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "undefined4 *puVar6;" (type_identifier "undefined4") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "byte bVar7;" (type_identifier "byte") (identifier "bVar7") (; ";")) (declaration "sockaddr local_2c4;" (type_identifier "sockaddr") (identifier "local_2c4") (; ";")) (declaration "undefined2 local_2b4;" (type_identifier "undefined2") (identifier "local_2b4") (; ";")) (declaration "undefined1 local_2b0 [2];" (type_identifier "undefined1") (array_declarator "local_2b0 [2]" (identifier "local_2b0") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "ushort local_2ae;" (type_identifier "ushort") (identifier "local_2ae") (; ";")) (declaration "undefined1 local_2a8;" (type_identifier "undefined1") (identifier "local_2a8") (; ";")) (declaration "undefined1 local_2a7;" (type_identifier "undefined1") (identifier "local_2a7") (; ";")) (declaration "undefined2 local_2a6;" (type_identifier "undefined2") (identifier "local_2a6") (; ";")) (declaration "undefined4 local_2a4;" (type_identifier "undefined4") (identifier "local_2a4") (; ";")) (declaration "undefined4 local_2a0;" (type_identifier "undefined4") (identifier "local_2a0") (; ";")) (declaration "ushort local_29c;" (type_identifier "ushort") (identifier "local_29c") (; ";")) (declaration "ushort local_29a;" (type_identifier "ushort") (identifier "local_29a") (; ";")) (declaration "ushort local_298;" (type_identifier "ushort") (identifier "local_298") (; ";")) (declaration "undefined2 local_296;" (type_identifier "undefined2") (identifier "local_296") (; ";")) (declaration "undefined4 local_294 [157];" (type_identifier "undefined4") (array_declarator "local_294 [157]" (identifier "local_294") ([ "[") (number_literal "157") (] "]")) (; ";")) (declaration "int local_20;" (primitive_type "int") (identifier "local_20") (; ";")) (expression_statement "bVar7 = 0;" (assignment_expression "bVar7 = 0" (identifier "bVar7") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (= "=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "__fd = socket(0x11,2,8);" (assignment_expression "__fd = socket(0x11,2,8)" (identifier "__fd") (= "=") (call_expression "socket(0x11,2,8)" (identifier "socket") (argument_list "(0x11,2,8)" (( "(") (number_literal "0x11") (, ",") (number_literal "2") (, ",") (number_literal "8") () ")")))) (; ";")) (if_statement "if (__fd < 0) {\n    pcVar2 = "socket(%s)";\n    sVar4 = -1;\n  }\n  else {\n    pcVar2 = local_2c4.sa_data + 6;\n    for (iVar3 = 3; iVar3 != 0; iVar3 = iVar3 + -1) {\n      pcVar2[0] = '\0';\n      pcVar2[1] = '\0';\n      pcVar2[2] = '\0';\n      pcVar2[3] = '\0';\n      pcVar2 = pcVar2 + ((uint)bVar7 * -2 + 1) * 4;\n    }\n    puVar6 = (undefined4 *)local_2b0;\n    for (iVar3 = 7; iVar3 != 0; iVar3 = iVar3 + -1) {\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }\n    puVar6 = local_294;\n    for (iVar3 = 0x9d; iVar3 != 0; iVar3 = iVar3 + -1) {\n      *puVar6 = *param_1;\n      param_1 = param_1 + (uint)bVar7 * -2 + 1;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }\n    local_2c4.sa_family = 0x11;\n    local_2c4.sa_data[0] = '\b';\n    local_2c4.sa_data[1] = '\0';\n    local_2c4.sa_data._2_4_ = param_7;\n    local_2c4.sa_data[9] = '\x06';\n    local_2c4.sa_data._10_4_ = *(undefined4 *)param_6;\n    local_2b4 = *(undefined2 *)(param_6 + 4);\n    iVar3 = bind(__fd,&local_2c4,0x14);\n    if (iVar3 < 0) {\n      close(__fd);\n      pcVar2 = "bind(%s)";\n      sVar4 = -1;\n    }\n    else {\n      iVar3 = FUN_0004e4c8();\n      uVar5 = 0x133 - iVar3;\n      if (0xf8 < uVar5) {\n        uVar5 = 0xf8;\n      }\n      local_2a7 = 0x11;\n      local_2a0 = param_4;\n      local_29c = param_3 << 8 | param_3 >> 8;\n      local_29a = param_5 << 8 | param_5 >> 8;\n      uVar1 = 0x22c - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2a4 = param_2;\n      local_298 = local_2ae;\n      local_296 = FUN_000aa450();\n      uVar1 = 0x240 - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2b0[0] = 0x45;\n      local_2a8 = 0x40;\n      local_2a6 = FUN_000aa450();\n      sVar4 = sendto(__fd,local_2b0,0x240 - uVar5,0,&local_2c4,0x14);\n      close(__fd);\n      pcVar2 = "sendto";\n      if (-1 < sVar4) goto LAB_0004d8de;\n    }\n  }" (if "if") (parenthesized_expression "(__fd < 0)" (( "(") (binary_expression "__fd < 0" (identifier "__fd") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n    pcVar2 = "socket(%s)";\n    sVar4 = -1;\n  }" ({ "{") (expression_statement "pcVar2 = "socket(%s)";" (assignment_expression "pcVar2 = "socket(%s)"" (identifier "pcVar2") (= "=") (string_literal ""socket(%s)"" (" """) (string_content "socket(%s)") (" """))) (; ";")) (expression_statement "sVar4 = -1;" (assignment_expression "sVar4 = -1" (identifier "sVar4") (= "=") (number_literal "-1")) (; ";")) (} "}")) (else_clause "else {\n    pcVar2 = local_2c4.sa_data + 6;\n    for (iVar3 = 3; iVar3 != 0; iVar3 = iVar3 + -1) {\n      pcVar2[0] = '\0';\n      pcVar2[1] = '\0';\n      pcVar2[2] = '\0';\n      pcVar2[3] = '\0';\n      pcVar2 = pcVar2 + ((uint)bVar7 * -2 + 1) * 4;\n    }\n    puVar6 = (undefined4 *)local_2b0;\n    for (iVar3 = 7; iVar3 != 0; iVar3 = iVar3 + -1) {\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }\n    puVar6 = local_294;\n    for (iVar3 = 0x9d; iVar3 != 0; iVar3 = iVar3 + -1) {\n      *puVar6 = *param_1;\n      param_1 = param_1 + (uint)bVar7 * -2 + 1;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }\n    local_2c4.sa_family = 0x11;\n    local_2c4.sa_data[0] = '\b';\n    local_2c4.sa_data[1] = '\0';\n    local_2c4.sa_data._2_4_ = param_7;\n    local_2c4.sa_data[9] = '\x06';\n    local_2c4.sa_data._10_4_ = *(undefined4 *)param_6;\n    local_2b4 = *(undefined2 *)(param_6 + 4);\n    iVar3 = bind(__fd,&local_2c4,0x14);\n    if (iVar3 < 0) {\n      close(__fd);\n      pcVar2 = "bind(%s)";\n      sVar4 = -1;\n    }\n    else {\n      iVar3 = FUN_0004e4c8();\n      uVar5 = 0x133 - iVar3;\n      if (0xf8 < uVar5) {\n        uVar5 = 0xf8;\n      }\n      local_2a7 = 0x11;\n      local_2a0 = param_4;\n      local_29c = param_3 << 8 | param_3 >> 8;\n      local_29a = param_5 << 8 | param_5 >> 8;\n      uVar1 = 0x22c - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2a4 = param_2;\n      local_298 = local_2ae;\n      local_296 = FUN_000aa450();\n      uVar1 = 0x240 - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2b0[0] = 0x45;\n      local_2a8 = 0x40;\n      local_2a6 = FUN_000aa450();\n      sVar4 = sendto(__fd,local_2b0,0x240 - uVar5,0,&local_2c4,0x14);\n      close(__fd);\n      pcVar2 = "sendto";\n      if (-1 < sVar4) goto LAB_0004d8de;\n    }\n  }" (else "else") (compound_statement "{\n    pcVar2 = local_2c4.sa_data + 6;\n    for (iVar3 = 3; iVar3 != 0; iVar3 = iVar3 + -1) {\n      pcVar2[0] = '\0';\n      pcVar2[1] = '\0';\n      pcVar2[2] = '\0';\n      pcVar2[3] = '\0';\n      pcVar2 = pcVar2 + ((uint)bVar7 * -2 + 1) * 4;\n    }\n    puVar6 = (undefined4 *)local_2b0;\n    for (iVar3 = 7; iVar3 != 0; iVar3 = iVar3 + -1) {\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }\n    puVar6 = local_294;\n    for (iVar3 = 0x9d; iVar3 != 0; iVar3 = iVar3 + -1) {\n      *puVar6 = *param_1;\n      param_1 = param_1 + (uint)bVar7 * -2 + 1;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }\n    local_2c4.sa_family = 0x11;\n    local_2c4.sa_data[0] = '\b';\n    local_2c4.sa_data[1] = '\0';\n    local_2c4.sa_data._2_4_ = param_7;\n    local_2c4.sa_data[9] = '\x06';\n    local_2c4.sa_data._10_4_ = *(undefined4 *)param_6;\n    local_2b4 = *(undefined2 *)(param_6 + 4);\n    iVar3 = bind(__fd,&local_2c4,0x14);\n    if (iVar3 < 0) {\n      close(__fd);\n      pcVar2 = "bind(%s)";\n      sVar4 = -1;\n    }\n    else {\n      iVar3 = FUN_0004e4c8();\n      uVar5 = 0x133 - iVar3;\n      if (0xf8 < uVar5) {\n        uVar5 = 0xf8;\n      }\n      local_2a7 = 0x11;\n      local_2a0 = param_4;\n      local_29c = param_3 << 8 | param_3 >> 8;\n      local_29a = param_5 << 8 | param_5 >> 8;\n      uVar1 = 0x22c - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2a4 = param_2;\n      local_298 = local_2ae;\n      local_296 = FUN_000aa450();\n      uVar1 = 0x240 - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2b0[0] = 0x45;\n      local_2a8 = 0x40;\n      local_2a6 = FUN_000aa450();\n      sVar4 = sendto(__fd,local_2b0,0x240 - uVar5,0,&local_2c4,0x14);\n      close(__fd);\n      pcVar2 = "sendto";\n      if (-1 < sVar4) goto LAB_0004d8de;\n    }\n  }" ({ "{") (expression_statement "pcVar2 = local_2c4.sa_data + 6;" (assignment_expression "pcVar2 = local_2c4.sa_data + 6" (identifier "pcVar2") (= "=") (binary_expression "local_2c4.sa_data + 6" (field_expression "local_2c4.sa_data" (identifier "local_2c4") (. ".") (field_identifier "sa_data")) (+ "+") (number_literal "6"))) (; ";")) (for_statement "for (iVar3 = 3; iVar3 != 0; iVar3 = iVar3 + -1) {\n      pcVar2[0] = '\0';\n      pcVar2[1] = '\0';\n      pcVar2[2] = '\0';\n      pcVar2[3] = '\0';\n      pcVar2 = pcVar2 + ((uint)bVar7 * -2 + 1) * 4;\n    }" (for "for") (( "(") (assignment_expression "iVar3 = 3" (identifier "iVar3") (= "=") (number_literal "3")) (; ";") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar3 = iVar3 + -1" (identifier "iVar3") (= "=") (binary_expression "iVar3 + -1" (identifier "iVar3") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n      pcVar2[0] = '\0';\n      pcVar2[1] = '\0';\n      pcVar2[2] = '\0';\n      pcVar2[3] = '\0';\n      pcVar2 = pcVar2 + ((uint)bVar7 * -2 + 1) * 4;\n    }" ({ "{") (expression_statement "pcVar2[0] = '\0';" (assignment_expression "pcVar2[0] = '\0'" (subscript_expression "pcVar2[0]" (identifier "pcVar2") ([ "[") (number_literal "0") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "pcVar2[1] = '\0';" (assignment_expression "pcVar2[1] = '\0'" (subscript_expression "pcVar2[1]" (identifier "pcVar2") ([ "[") (number_literal "1") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "pcVar2[2] = '\0';" (assignment_expression "pcVar2[2] = '\0'" (subscript_expression "pcVar2[2]" (identifier "pcVar2") ([ "[") (number_literal "2") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "pcVar2[3] = '\0';" (assignment_expression "pcVar2[3] = '\0'" (subscript_expression "pcVar2[3]" (identifier "pcVar2") ([ "[") (number_literal "3") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "pcVar2 = pcVar2 + ((uint)bVar7 * -2 + 1) * 4;" (assignment_expression "pcVar2 = pcVar2 + ((uint)bVar7 * -2 + 1) * 4" (identifier "pcVar2") (= "=") (binary_expression "pcVar2 + ((uint)bVar7 * -2 + 1) * 4" (identifier "pcVar2") (+ "+") (binary_expression "((uint)bVar7 * -2 + 1) * 4" (parenthesized_expression "((uint)bVar7 * -2 + 1)" (( "(") (binary_expression "(uint)bVar7 * -2 + 1" (binary_expression "(uint)bVar7 * -2" (cast_expression "(uint)bVar7" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar7")) (* "*") (number_literal "-2")) (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "4")))) (; ";")) (} "}"))) (expression_statement "puVar6 = (undefined4 *)local_2b0;" (assignment_expression "puVar6 = (undefined4 *)local_2b0" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)local_2b0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_2b0"))) (; ";")) (for_statement "for (iVar3 = 7; iVar3 != 0; iVar3 = iVar3 + -1) {\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }" (for "for") (( "(") (assignment_expression "iVar3 = 7" (identifier "iVar3") (= "=") (number_literal "7")) (; ";") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar3 = iVar3 + -1" (identifier "iVar3") (= "=") (binary_expression "iVar3 + -1" (identifier "iVar3") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n      *puVar6 = 0;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }" ({ "{") (expression_statement "*puVar6 = 0;" (assignment_expression "*puVar6 = 0" (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar6 = puVar6 + (uint)bVar7 * -2 + 1;" (assignment_expression "puVar6 = puVar6 + (uint)bVar7 * -2 + 1" (identifier "puVar6") (= "=") (binary_expression "puVar6 + (uint)bVar7 * -2 + 1" (binary_expression "puVar6 + (uint)bVar7 * -2" (identifier "puVar6") (+ "+") (binary_expression "(uint)bVar7 * -2" (cast_expression "(uint)bVar7" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar7")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "puVar6 = local_294;" (assignment_expression "puVar6 = local_294" (identifier "puVar6") (= "=") (identifier "local_294")) (; ";")) (for_statement "for (iVar3 = 0x9d; iVar3 != 0; iVar3 = iVar3 + -1) {\n      *puVar6 = *param_1;\n      param_1 = param_1 + (uint)bVar7 * -2 + 1;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }" (for "for") (( "(") (assignment_expression "iVar3 = 0x9d" (identifier "iVar3") (= "=") (number_literal "0x9d")) (; ";") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar3 = iVar3 + -1" (identifier "iVar3") (= "=") (binary_expression "iVar3 + -1" (identifier "iVar3") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n      *puVar6 = *param_1;\n      param_1 = param_1 + (uint)bVar7 * -2 + 1;\n      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;\n    }" ({ "{") (expression_statement "*puVar6 = *param_1;" (assignment_expression "*puVar6 = *param_1" (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "param_1 = param_1 + (uint)bVar7 * -2 + 1;" (assignment_expression "param_1 = param_1 + (uint)bVar7 * -2 + 1" (identifier "param_1") (= "=") (binary_expression "param_1 + (uint)bVar7 * -2 + 1" (binary_expression "param_1 + (uint)bVar7 * -2" (identifier "param_1") (+ "+") (binary_expression "(uint)bVar7 * -2" (cast_expression "(uint)bVar7" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar7")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar6 = puVar6 + (uint)bVar7 * -2 + 1;" (assignment_expression "puVar6 = puVar6 + (uint)bVar7 * -2 + 1" (identifier "puVar6") (= "=") (binary_expression "puVar6 + (uint)bVar7 * -2 + 1" (binary_expression "puVar6 + (uint)bVar7 * -2" (identifier "puVar6") (+ "+") (binary_expression "(uint)bVar7 * -2" (cast_expression "(uint)bVar7" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar7")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "local_2c4.sa_family = 0x11;" (assignment_expression "local_2c4.sa_family = 0x11" (field_expression "local_2c4.sa_family" (identifier "local_2c4") (. ".") (field_identifier "sa_family")) (= "=") (number_literal "0x11")) (; ";")) (expression_statement "local_2c4.sa_data[0] = '\b';" (assignment_expression "local_2c4.sa_data[0] = '\b'" (subscript_expression "local_2c4.sa_data[0]" (field_expression "local_2c4.sa_data" (identifier "local_2c4") (. ".") (field_identifier "sa_data")) ([ "[") (number_literal "0") (] "]")) (= "=") (char_literal "'\b'" (' "'") (escape_sequence "\b") (' "'"))) (; ";")) (expression_statement "local_2c4.sa_data[1] = '\0';" (assignment_expression "local_2c4.sa_data[1] = '\0'" (subscript_expression "local_2c4.sa_data[1]" (field_expression "local_2c4.sa_data" (identifier "local_2c4") (. ".") (field_identifier "sa_data")) ([ "[") (number_literal "1") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "local_2c4.sa_data._2_4_ = param_7;" (assignment_expression "local_2c4.sa_data._2_4_ = param_7" (field_expression "local_2c4.sa_data._2_4_" (field_expression "local_2c4.sa_data" (identifier "local_2c4") (. ".") (field_identifier "sa_data")) (. ".") (field_identifier "_2_4_")) (= "=") (identifier "param_7")) (; ";")) (expression_statement "local_2c4.sa_data[9] = '\x06';" (assignment_expression "local_2c4.sa_data[9] = '\x06'" (subscript_expression "local_2c4.sa_data[9]" (field_expression "local_2c4.sa_data" (identifier "local_2c4") (. ".") (field_identifier "sa_data")) ([ "[") (number_literal "9") (] "]")) (= "=") (char_literal "'\x06'" (' "'") (escape_sequence "\x06") (' "'"))) (; ";")) (expression_statement "local_2c4.sa_data._10_4_ = *(undefined4 *)param_6;" (assignment_expression "local_2c4.sa_data._10_4_ = *(undefined4 *)param_6" (field_expression "local_2c4.sa_data._10_4_" (field_expression "local_2c4.sa_data" (identifier "local_2c4") (. ".") (field_identifier "sa_data")) (. ".") (field_identifier "_10_4_")) (= "=") (pointer_expression "*(undefined4 *)param_6" (* "*") (cast_expression "(undefined4 *)param_6" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_6")))) (; ";")) (expression_statement "local_2b4 = *(undefined2 *)(param_6 + 4);" (assignment_expression "local_2b4 = *(undefined2 *)(param_6 + 4)" (identifier "local_2b4") (= "=") (pointer_expression "*(undefined2 *)(param_6 + 4)" (* "*") (cast_expression "(undefined2 *)(param_6 + 4)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 4)" (( "(") (binary_expression "param_6 + 4" (identifier "param_6") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "iVar3 = bind(__fd,&local_2c4,0x14);" (assignment_expression "iVar3 = bind(__fd,&local_2c4,0x14)" (identifier "iVar3") (= "=") (call_expression "bind(__fd,&local_2c4,0x14)" (identifier "bind") (argument_list "(__fd,&local_2c4,0x14)" (( "(") (identifier "__fd") (, ",") (pointer_expression "&local_2c4" (& "&") (identifier "local_2c4")) (, ",") (number_literal "0x14") () ")")))) (; ";")) (if_statement "if (iVar3 < 0) {\n      close(__fd);\n      pcVar2 = "bind(%s)";\n      sVar4 = -1;\n    }\n    else {\n      iVar3 = FUN_0004e4c8();\n      uVar5 = 0x133 - iVar3;\n      if (0xf8 < uVar5) {\n        uVar5 = 0xf8;\n      }\n      local_2a7 = 0x11;\n      local_2a0 = param_4;\n      local_29c = param_3 << 8 | param_3 >> 8;\n      local_29a = param_5 << 8 | param_5 >> 8;\n      uVar1 = 0x22c - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2a4 = param_2;\n      local_298 = local_2ae;\n      local_296 = FUN_000aa450();\n      uVar1 = 0x240 - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2b0[0] = 0x45;\n      local_2a8 = 0x40;\n      local_2a6 = FUN_000aa450();\n      sVar4 = sendto(__fd,local_2b0,0x240 - uVar5,0,&local_2c4,0x14);\n      close(__fd);\n      pcVar2 = "sendto";\n      if (-1 < sVar4) goto LAB_0004d8de;\n    }" (if "if") (parenthesized_expression "(iVar3 < 0)" (( "(") (binary_expression "iVar3 < 0" (identifier "iVar3") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      close(__fd);\n      pcVar2 = "bind(%s)";\n      sVar4 = -1;\n    }" ({ "{") (expression_statement "close(__fd);" (call_expression "close(__fd)" (identifier "close") (argument_list "(__fd)" (( "(") (identifier "__fd") () ")"))) (; ";")) (expression_statement "pcVar2 = "bind(%s)";" (assignment_expression "pcVar2 = "bind(%s)"" (identifier "pcVar2") (= "=") (string_literal ""bind(%s)"" (" """) (string_content "bind(%s)") (" """))) (; ";")) (expression_statement "sVar4 = -1;" (assignment_expression "sVar4 = -1" (identifier "sVar4") (= "=") (number_literal "-1")) (; ";")) (} "}")) (else_clause "else {\n      iVar3 = FUN_0004e4c8();\n      uVar5 = 0x133 - iVar3;\n      if (0xf8 < uVar5) {\n        uVar5 = 0xf8;\n      }\n      local_2a7 = 0x11;\n      local_2a0 = param_4;\n      local_29c = param_3 << 8 | param_3 >> 8;\n      local_29a = param_5 << 8 | param_5 >> 8;\n      uVar1 = 0x22c - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2a4 = param_2;\n      local_298 = local_2ae;\n      local_296 = FUN_000aa450();\n      uVar1 = 0x240 - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2b0[0] = 0x45;\n      local_2a8 = 0x40;\n      local_2a6 = FUN_000aa450();\n      sVar4 = sendto(__fd,local_2b0,0x240 - uVar5,0,&local_2c4,0x14);\n      close(__fd);\n      pcVar2 = "sendto";\n      if (-1 < sVar4) goto LAB_0004d8de;\n    }" (else "else") (compound_statement "{\n      iVar3 = FUN_0004e4c8();\n      uVar5 = 0x133 - iVar3;\n      if (0xf8 < uVar5) {\n        uVar5 = 0xf8;\n      }\n      local_2a7 = 0x11;\n      local_2a0 = param_4;\n      local_29c = param_3 << 8 | param_3 >> 8;\n      local_29a = param_5 << 8 | param_5 >> 8;\n      uVar1 = 0x22c - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2a4 = param_2;\n      local_298 = local_2ae;\n      local_296 = FUN_000aa450();\n      uVar1 = 0x240 - (short)uVar5;\n      local_2ae = uVar1 * 0x100 | uVar1 >> 8;\n      local_2b0[0] = 0x45;\n      local_2a8 = 0x40;\n      local_2a6 = FUN_000aa450();\n      sVar4 = sendto(__fd,local_2b0,0x240 - uVar5,0,&local_2c4,0x14);\n      close(__fd);\n      pcVar2 = "sendto";\n      if (-1 < sVar4) goto LAB_0004d8de;\n    }" ({ "{") (expression_statement "iVar3 = FUN_0004e4c8();" (assignment_expression "iVar3 = FUN_0004e4c8()" (identifier "iVar3") (= "=") (call_expression "FUN_0004e4c8()" (identifier "FUN_0004e4c8") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar5 = 0x133 - iVar3;" (assignment_expression "uVar5 = 0x133 - iVar3" (identifier "uVar5") (= "=") (binary_expression "0x133 - iVar3" (number_literal "0x133") (- "-") (identifier "iVar3"))) (; ";")) (if_statement "if (0xf8 < uVar5) {\n        uVar5 = 0xf8;\n      }" (if "if") (parenthesized_expression "(0xf8 < uVar5)" (( "(") (binary_expression "0xf8 < uVar5" (number_literal "0xf8") (< "<") (identifier "uVar5")) () ")")) (compound_statement "{\n        uVar5 = 0xf8;\n      }" ({ "{") (expression_statement "uVar5 = 0xf8;" (assignment_expression "uVar5 = 0xf8" (identifier "uVar5") (= "=") (number_literal "0xf8")) (; ";")) (} "}"))) (expression_statement "local_2a7 = 0x11;" (assignment_expression "local_2a7 = 0x11" (identifier "local_2a7") (= "=") (number_literal "0x11")) (; ";")) (expression_statement "local_2a0 = param_4;" (assignment_expression "local_2a0 = param_4" (identifier "local_2a0") (= "=") (identifier "param_4")) (; ";")) (expression_statement "local_29c = param_3 << 8 | param_3 >> 8;" (assignment_expression "local_29c = param_3 << 8 | param_3 >> 8" (identifier "local_29c") (= "=") (binary_expression "param_3 << 8 | param_3 >> 8" (binary_expression "param_3 << 8" (identifier "param_3") (<< "<<") (number_literal "8")) (| "|") (binary_expression "param_3 >> 8" (identifier "param_3") (>> ">>") (number_literal "8")))) (; ";")) (expression_statement "local_29a = param_5 << 8 | param_5 >> 8;" (assignment_expression "local_29a = param_5 << 8 | param_5 >> 8" (identifier "local_29a") (= "=") (binary_expression "param_5 << 8 | param_5 >> 8" (binary_expression "param_5 << 8" (identifier "param_5") (<< "<<") (number_literal "8")) (| "|") (binary_expression "param_5 >> 8" (identifier "param_5") (>> ">>") (number_literal "8")))) (; ";")) (expression_statement "uVar1 = 0x22c - (short)uVar5;" (assignment_expression "uVar1 = 0x22c - (short)uVar5" (identifier "uVar1") (= "=") (binary_expression "0x22c - (short)uVar5" (number_literal "0x22c") (- "-") (cast_expression "(short)uVar5" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (identifier "uVar5")))) (; ";")) (expression_statement "local_2ae = uVar1 * 0x100 | uVar1 >> 8;" (assignment_expression "local_2ae = uVar1 * 0x100 | uVar1 >> 8" (identifier "local_2ae") (= "=") (binary_expression "uVar1 * 0x100 | uVar1 >> 8" (binary_expression "uVar1 * 0x100" (identifier "uVar1") (* "*") (number_literal "0x100")) (| "|") (binary_expression "uVar1 >> 8" (identifier "uVar1") (>> ">>") (number_literal "8")))) (; ";")) (expression_statement "local_2a4 = param_2;" (assignment_expression "local_2a4 = param_2" (identifier "local_2a4") (= "=") (identifier "param_2")) (; ";")) (expression_statement "local_298 = local_2ae;" (assignment_expression "local_298 = local_2ae" (identifier "local_298") (= "=") (identifier "local_2ae")) (; ";")) (expression_statement "local_296 = FUN_000aa450();" (assignment_expression "local_296 = FUN_000aa450()" (identifier "local_296") (= "=") (call_expression "FUN_000aa450()" (identifier "FUN_000aa450") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar1 = 0x240 - (short)uVar5;" (assignment_expression "uVar1 = 0x240 - (short)uVar5" (identifier "uVar1") (= "=") (binary_expression "0x240 - (short)uVar5" (number_literal "0x240") (- "-") (cast_expression "(short)uVar5" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (identifier "uVar5")))) (; ";")) (expression_statement "local_2ae = uVar1 * 0x100 | uVar1 >> 8;" (assignment_expression "local_2ae = uVar1 * 0x100 | uVar1 >> 8" (identifier "local_2ae") (= "=") (binary_expression "uVar1 * 0x100 | uVar1 >> 8" (binary_expression "uVar1 * 0x100" (identifier "uVar1") (* "*") (number_literal "0x100")) (| "|") (binary_expression "uVar1 >> 8" (identifier "uVar1") (>> ">>") (number_literal "8")))) (; ";")) (expression_statement "local_2b0[0] = 0x45;" (assignment_expression "local_2b0[0] = 0x45" (subscript_expression "local_2b0[0]" (identifier "local_2b0") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0x45")) (; ";")) (expression_statement "local_2a8 = 0x40;" (assignment_expression "local_2a8 = 0x40" (identifier "local_2a8") (= "=") (number_literal "0x40")) (; ";")) (expression_statement "local_2a6 = FUN_000aa450();" (assignment_expression "local_2a6 = FUN_000aa450()" (identifier "local_2a6") (= "=") (call_expression "FUN_000aa450()" (identifier "FUN_000aa450") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "sVar4 = sendto(__fd,local_2b0,0x240 - uVar5,0,&local_2c4,0x14);" (assignment_expression "sVar4 = sendto(__fd,local_2b0,0x240 - uVar5,0,&local_2c4,0x14)" (identifier "sVar4") (= "=") (call_expression "sendto(__fd,local_2b0,0x240 - uVar5,0,&local_2c4,0x14)" (identifier "sendto") (argument_list "(__fd,local_2b0,0x240 - uVar5,0,&local_2c4,0x14)" (( "(") (identifier "__fd") (, ",") (identifier "local_2b0") (, ",") (binary_expression "0x240 - uVar5" (number_literal "0x240") (- "-") (identifier "uVar5")) (, ",") (number_literal "0") (, ",") (pointer_expression "&local_2c4" (& "&") (identifier "local_2c4")) (, ",") (number_literal "0x14") () ")")))) (; ";")) (expression_statement "close(__fd);" (call_expression "close(__fd)" (identifier "close") (argument_list "(__fd)" (( "(") (identifier "__fd") () ")"))) (; ";")) (expression_statement "pcVar2 = "sendto";" (assignment_expression "pcVar2 = "sendto"" (identifier "pcVar2") (= "=") (string_literal ""sendto"" (" """) (string_content "sendto") (" """))) (; ";")) (if_statement "if (-1 < sVar4) goto LAB_0004d8de;" (if "if") (parenthesized_expression "(-1 < sVar4)" (( "(") (binary_expression "-1 < sVar4" (number_literal "-1") (< "<") (identifier "sVar4")) () ")")) (goto_statement "goto LAB_0004d8de;" (goto "goto") (statement_identifier "LAB_0004d8de") (; ";"))) (} "}")))) (} "}")))) (expression_statement "FUN_00018e3c(pcVar2,"PACKET");" (call_expression "FUN_00018e3c(pcVar2,"PACKET")" (identifier "FUN_00018e3c") (argument_list "(pcVar2,"PACKET")" (( "(") (identifier "pcVar2") (, ",") (string_literal ""PACKET"" (" """) (string_content "PACKET") (" """)) () ")"))) (; ";")) (labeled_statement "LAB_0004d8de:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00017e10();\n  }" (statement_identifier "LAB_0004d8de") (: ":") (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00017e10();\n  }" (if "if") (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (!= "!=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n                    \n    FUN_00017e10();\n  }" ({ "{") (expression_statement "FUN_00017e10();" (call_expression "FUN_00017e10()" (identifier "FUN_00017e10") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (return_statement "return sVar4;" (return "return") (identifier "sVar4") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

int function_1
              (type_1 *dhcp_pkt,uint32_t source_nip,int source_port,uint32_t dest_nip,
              int dest_port,uint8_t *dest_arp,int ifindex)

{
  type_2 dest_sll;
  type_3 packet;
  
}


(translation_unit (function_definition type: (primitive_type) (ERROR (identifier)) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) 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: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (number_literal) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)) right: (number_literal))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (field_expression argument: (field_expression argument: (identifier) field: (field_identifier)) field: (field_identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (field_expression argument: (field_expression argument: (identifier) field: (field_identifier)) field: (field_identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (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: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (binary_expression left: (number_literal) right: (identifier)) (number_literal) (pointer_expression argument: (identifier)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (goto_statement label: (statement_identifier))))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content))))) (labeled_statement label: (statement_identifier) (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list)))))) (return_statement (identifier)))))

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

ssize_t __regparm3
MASKED(undefined4 *param_1,undefined4 param_2,ushort param_3,undefined4 param_4,ushort param_5
            ,char *param_6,undefined4 param_7)

{
  ushort uVar1;
  int __fd;
  char *pcVar2;
  int iVar3;
  ssize_t sVar4;
  uint uVar5;
  undefined4 *puVar6;
  int in_GS_OFFSET;
  byte bVar7;
  sockaddr local_2c4;
  undefined2 local_2b4;
  undefined1 local_2b0 [2];
  ushort local_2ae;
  undefined1 local_2a8;
  undefined1 local_2a7;
  undefined2 local_2a6;
  undefined4 local_2a4;
  undefined4 local_2a0;
  ushort local_29c;
  ushort local_29a;
  ushort local_298;
  undefined2 local_296;
  undefined4 local_294 [157];
  int local_20;
  
  bVar7 = 0;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  __fd = socket(0x11,2,8);
  if (__fd < 0) {
    pcVar2 = "socket(%s)";
    sVar4 = -1;
  }
  else {
    pcVar2 = local_2c4.sa_data + 6;
    for (iVar3 = 3; iVar3 != 0; iVar3 = iVar3 + -1) {
      pcVar2[0] = '\0';
      pcVar2[1] = '\0';
      pcVar2[2] = '\0';
      pcVar2[3] = '\0';
      pcVar2 = pcVar2 + ((uint)bVar7 * -2 + 1) * 4;
    }
    puVar6 = (undefined4 *)local_2b0;
    for (iVar3 = 7; iVar3 != 0; iVar3 = iVar3 + -1) {
      *puVar6 = 0;
      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;
    }
    puVar6 = local_294;
    for (iVar3 = 0x9d; iVar3 != 0; iVar3 = iVar3 + -1) {
      *puVar6 = *param_1;
      param_1 = param_1 + (uint)bVar7 * -2 + 1;
      puVar6 = puVar6 + (uint)bVar7 * -2 + 1;
    }
    local_2c4.sa_family = 0x11;
    local_2c4.sa_data[0] = '\b';
    local_2c4.sa_data[1] = '\0';
    local_2c4.sa_data._2_4_ = param_7;
    local_2c4.sa_data[9] = '\x06';
    local_2c4.sa_data._10_4_ = *(undefined4 *)param_6;
    local_2b4 = *(undefined2 *)(param_6 + 4);
    iVar3 = bind(__fd,&local_2c4,0x14);
    if (iVar3 < 0) {
      close(__fd);
      pcVar2 = "bind(%s)";
      sVar4 = -1;
    }
    else {
      iVar3 = FUN_0004e4c8();
      uVar5 = 0x133 - iVar3;
      if (0xf8 < uVar5) {
        uVar5 = 0xf8;
      }
      local_2a7 = 0x11;
      local_2a0 = param_4;
      local_29c = param_3 << 8 | param_3 >> 8;
      local_29a = param_5 << 8 | param_5 >> 8;
      uVar1 = 0x22c - (short)uVar5;
      local_2ae = uVar1 * 0x100 | uVar1 >> 8;
      local_2a4 = param_2;
      local_298 = local_2ae;
      local_296 = FUN_000aa450();
      uVar1 = 0x240 - (short)uVar5;
      local_2ae = uVar1 * 0x100 | uVar1 >> 8;
      local_2b0[0] = 0x45;
      local_2a8 = 0x40;
      local_2a6 = FUN_000aa450();
      sVar4 = sendto(__fd,local_2b0,0x240 - uVar5,0,&local_2c4,0x14);
      close(__fd);
      pcVar2 = "sendto";
      if (-1 < sVar4) goto LAB_0004d8de;
    }
  }
  FUN_00018e3c(pcVar2,"PACKET");
LAB_0004d8de:
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    FUN_00017e10();
  }
  return sVar4;
}

