int FUN_00409858(void)

{
  bool bVar1;
  int iVar2;
  int *piVar3;
  undefined4 *puVar4;
  undefined4 uVar5;
  undefined4 *puVar6;
  int iVar7;
  int iVar8;
  undefined4 auStack_a0 [34];
  
  puVar6 = bridge_list;
  while (puVar6 != (undefined4 *)0x0) {
    puVar4 = (undefined4 *)*puVar6;
    FUN_00409200(puVar6);
    puVar6 = puVar4;
  }
  puVar6 = auStack_a0;
  iVar2 = br_ioctl(1,puVar6,0x20);
  if (iVar2 < 0) {
    piVar3 = __errno_location();
    iVar7 = *piVar3;
  }
  else {
    bridge_list = (undefined4 *)0x0;
    iVar8 = 0;
    do {
      bVar1 = iVar2 <= iVar8;
      iVar8 = iVar8 + 1;
      if (bVar1) {
        return 0;
      }
      puVar4 = (undefined4 *)malloc(0x49c)   //possible issue identified - semgrep
      memset(puVar4,0,0x49c)   //possible issue identified - semgrep
      uVar5 = *puVar6;
      *puVar4 = bridge_list;
      puVar4[1] = uVar5;
      puVar4[6] = 0;
      bridge_list = puVar4;
      iVar7 = FUN_004094e4(puVar4);
      puVar6 = puVar6 + 1;
    } while ((iVar7 == 0) && (iVar7 = FUN_00409398(puVar4), iVar7 == 0));
    while (bridge_list != (undefined4 *)0x0) {
      puVar6 = (undefined4 *)*bridge_list;
      FUN_00409200(bridge_list);
      bridge_list = puVar6;
    }
  }
  return iVar7;
}