/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

void xtables_register_match(undefined4 *param_1)

{
  ushort uVar1;
  int iVar2;
  size_t sVar3;
  int iVar4;
  int *piVar5;
  char *__format;
  undefined4 uVar6;
  char *__s;
  char *pcVar7;
  
  pcVar7 = (char *)*param_1;
  if (pcVar7 == (char *)0x0) {
    uVar6 = *(undefined4 *)(xt_params + 4);
    pcVar7 = (char *)(uint)*(byte *)(param_1 + 3);
    __s = (char *)param_1[2];
    __format = (char *)0x59c4;
  }
  else {
    iVar2 = strcmp(pcVar7,(char *)0x59ec);
    __s = (char *)param_1[2];
    if (iVar2 == 0) {
      sVar3 = strlen(__s);
      if (sVar3 < 0x1d) {
        uVar1 = *(ushort *)((int)param_1 + 0xe);
        if (uVar1 < 0xff) {
          if ((*(byte *)(afinfo + 8) != uVar1) && (uVar1 != 0)) {
            return;
          }
          iVar2 = xtables_find_match(__s,1,0);
          if (iVar2 != 0) {
            if ((*(uint *)(iVar2 + 0xc) & 0xffff00ff) == (param_1[3] & 0xffff00ff)) {
              uVar6 = *(undefined4 *)(xt_params + 4);
              __s = (char *)param_1[2];
              pcVar7 = (char *)0x5a88;
              goto LAB_00013ca4;
            }
            iVar4 = (*(code *)0x2ce8)(*(undefined4 *)(iVar2 + 8),*(undefined1 *)(iVar2 + 0xc),
                                      *(undefined4 *)(afinfo + 0xc));
            if ((iVar4 != 0) && (*(byte *)(param_1 + 3) < *(byte *)(iVar2 + 0xc))) {
              return;
            }
            iVar4 = (*(code *)0x2ce8)(param_1[2],*(undefined1 *)(param_1 + 3),
                                      *(undefined4 *)(afinfo + 0xc));
            if (iVar4 == 0) {
              return;
            }
            if ((*(char *)(iVar2 + 0xc) == *(char *)(param_1 + 3)) &&
               (*(short *)((int)param_1 + 0xe) == 0)) {
              return;
            }
            piVar5 = &xtables_matches;
            iVar4 = xtables_matches;
            while (iVar4 != iVar2) {
              piVar5 = (int *)(iVar4 + 4);
              iVar4 = *(int *)(iVar4 + 4);
            }
            *piVar5 = *(int *)(iVar4 + 4);
          }
          pcVar7 = (char *)param_1[4];
          if (pcVar7 == (char *)((uint)(pcVar7 + 7) & 0xfffffff8)) {
            piVar5 = &xtables_matches;
            for (iVar2 = xtables_matches; iVar2 != 0; iVar2 = *(int *)(iVar2 + 4)) {
              piVar5 = (int *)(iVar2 + 4);
            }
            param_1[1] = 0;
            param_1[0xf] = 0;
            *piVar5 = (int)param_1;
            param_1[0xe] = 0;
            return;
          }
          __s = (char *)param_1[2];
          uVar6 = *(undefined4 *)(xt_params + 4);
          __format = (char *)0x5aac;
          goto LAB_00013b78;
        }
        uVar6 = *(undefined4 *)(xt_params + 4);
        pcVar7 = (char *)0x5a58;
      }
      else {
        uVar6 = *(undefined4 *)(xt_params + 4);
        pcVar7 = (char *)0x5a34;
      }
LAB_00013ca4:
      fprintf(_stderr,pcVar7,uVar6,__s)   //possible issue identified - semgrep
      goto LAB_00013b80;
    }
    uVar6 = *(undefined4 *)(xt_params + 4);
    __format = (char *)0x59fc;
  }
LAB_00013b78:
  fprintf(_stderr,__format,uVar6,__s,pcVar7)   //possible issue identified - semgrep
LAB_00013b80:
                    /* WARNING: Subroutine does not return */
  exit(1);
}