
void __regparm3 whereApplyPartialIndexConstraints(Expr *pTruth,int iTabCur,WhereClause *pWC)

{
  u8 uVar1;
  Expr *pB;
  int iVar2;
  int iVar3;
  WhereTerm *pWVar4;
  int iVar5;
  Expr *local_40;
  Expr *local_38;
  Expr *local_34;
  Expr *local_30;
  Expr *local_2c;
  Expr *local_28;
  Expr *local_24;
  Expr *local_20;
  
  local_20 = pTruth;
  if (pTruth->op == ',') {
    do {
      local_28 = local_20->pLeft;
      if (local_28->op == ',') {
        do {
          local_24 = local_28->pLeft;
          if (local_24->op == ',') {
            do {
              local_2c = local_24->pLeft;
              if (local_2c->op == ',') {
                do {
                  local_30 = local_2c->pLeft;
                  if (local_30->op == ',') {
                    do {
                      local_34 = local_30->pLeft;
                      if (local_34->op == ',') {
                        do {
                          local_38 = local_34->pLeft;
                          if (local_38->op == ',') {
                            do {
                              local_40 = local_38->pLeft;
                              if (local_40->op == ',') {
                                do {
                                  pB = local_40->pLeft;
                                  uVar1 = pB->op;
                                  while (uVar1 == ',') {
                                    whereApplyPartialIndexConstraints(pB->pLeft,iTabCur,pWC);
                                    pB = pB->pRight;
                                    uVar1 = pB->op;
                                  }
                                  iVar3 = pWC->nTerm;
                                  pWVar4 = pWC->a;
                                  if (0 < iVar3) {
                                    iVar5 = 0;
                                    do {
                                      if (((pWVar4->wtFlags & 4) == 0) &&
                                         (pWVar4->pExpr != (Expr *)0x0)) {
                                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,
                                                                   iTabCur);
                                        iVar3 = pWC->nTerm;
                                        if (iVar2 == 0) {
                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;
                                        }
                                      }
                                      iVar5 = iVar5 + 1;
                                      pWVar4 = pWVar4 + 1;
                                    } while (iVar5 < iVar3);
                                  }
                                  local_40 = local_40->pRight;
                                } while (local_40->op == ',');
                              }
                              else {
                                iVar3 = pWC->nTerm;
                              }
                              pWVar4 = pWC->a;
                              if (0 < iVar3) {
                                iVar5 = 0;
                                do {
                                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)
                                     ) {
                                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_40,
                                                               iTabCur);
                                    iVar3 = pWC->nTerm;
                                    if (iVar2 == 0) {
                                      pWVar4->wtFlags = pWVar4->wtFlags | 4;
                                    }
                                  }
                                  iVar5 = iVar5 + 1;
                                  pWVar4 = pWVar4 + 1;
                                } while (iVar5 < iVar3);
                              }
                              local_38 = local_38->pRight;
                            } while (local_38->op == ',');
                          }
                          else {
                            iVar3 = pWC->nTerm;
                          }
                          pWVar4 = pWC->a;
                          if (0 < iVar3) {
                            iVar5 = 0;
                            do {
                              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {
                                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_38,
                                                           iTabCur);
                                iVar3 = pWC->nTerm;
                                if (iVar2 == 0) {
                                  pWVar4->wtFlags = pWVar4->wtFlags | 4;
                                }
                              }
                              iVar5 = iVar5 + 1;
                              pWVar4 = pWVar4 + 1;
                            } while (iVar5 < iVar3);
                          }
                          local_34 = local_34->pRight;
                        } while (local_34->op == ',');
                      }
                      else {
                        iVar3 = pWC->nTerm;
                      }
                      pWVar4 = pWC->a;
                      if (0 < iVar3) {
                        iVar5 = 0;
                        do {
                          if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {
                            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_34,iTabCur);
                            iVar3 = pWC->nTerm;
                            if (iVar2 == 0) {
                              pWVar4->wtFlags = pWVar4->wtFlags | 4;
                            }
                          }
                          iVar5 = iVar5 + 1;
                          pWVar4 = pWVar4 + 1;
                        } while (iVar5 < iVar3);
                      }
                      local_30 = local_30->pRight;
                    } while (local_30->op == ',');
                  }
                  else {
                    iVar3 = pWC->nTerm;
                  }
                  pWVar4 = pWC->a;
                  if (0 < iVar3) {
                    iVar5 = 0;
                    do {
                      if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {
                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_30,iTabCur);
                        iVar3 = pWC->nTerm;
                        if (iVar2 == 0) {
                          pWVar4->wtFlags = pWVar4->wtFlags | 4;
                        }
                      }
                      iVar5 = iVar5 + 1;
                      pWVar4 = pWVar4 + 1;
                    } while (iVar5 < iVar3);
                  }
                  local_2c = local_2c->pRight;
                } while (local_2c->op == ',');
              }
              else {
                iVar3 = pWC->nTerm;
              }
              pWVar4 = pWC->a;
              if (0 < iVar3) {
                iVar5 = 0;
                do {
                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {
                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_2c,iTabCur);
                    iVar3 = pWC->nTerm;
                    if (iVar2 == 0) {
                      pWVar4->wtFlags = pWVar4->wtFlags | 4;
                    }
                  }
                  iVar5 = iVar5 + 1;
                  pWVar4 = pWVar4 + 1;
                } while (iVar5 < iVar3);
              }
              local_24 = local_24->pRight;
            } while (local_24->op == ',');
          }
          else {
            iVar3 = pWC->nTerm;
          }
          if (0 < iVar3) {
            pWVar4 = pWC->a;
            iVar5 = 0;
            do {
              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {
                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_24,iTabCur);
                iVar3 = pWC->nTerm;
                if (iVar2 == 0) {
                  pWVar4->wtFlags = pWVar4->wtFlags | 4;
                }
              }
              iVar5 = iVar5 + 1;
              pWVar4 = pWVar4 + 1;
            } while (iVar5 < iVar3);
          }
          local_28 = local_28->pRight;
        } while (local_28->op == ',');
      }
      else {
        iVar3 = pWC->nTerm;
      }
      pWVar4 = pWC->a;
      if (0 < iVar3) {
        iVar5 = 0;
        do {
          if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {
            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_28,iTabCur);
            iVar3 = pWC->nTerm;
            if (iVar2 == 0) {
              pWVar4->wtFlags = pWVar4->wtFlags | 4;
            }
          }
          iVar5 = iVar5 + 1;
          pWVar4 = pWVar4 + 1;
        } while (iVar5 < iVar3);
      }
      local_20 = local_20->pRight;
    } while (local_20->op == ',');
  }
  else {
    iVar3 = pWC->nTerm;
  }
  pWVar4 = pWC->a;
  if (0 < iVar3) {
    iVar5 = 0;
    do {
      if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {
        iVar3 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_20,iTabCur);
        if (iVar3 == 0) {
          pWVar4->wtFlags = pWVar4->wtFlags | 4;
          iVar3 = pWC->nTerm;
        }
        else {
          iVar3 = pWC->nTerm;
        }
      }
      iVar5 = iVar5 + 1;
      pWVar4 = pWVar4 + 1;
    } while (iVar5 < iVar3);
  }
  return;
}



void __regparm3 FUN_00062f10(char *param_1,undefined4 param_2,int param_3)

{
  char cVar1;
  char *pcVar2;
  int iVar3;
  int iVar4;
  int *piVar5;
  int iVar6;
  char *local_40;
  char *local_38;
  char *local_34;
  char *local_30;
  char *local_2c;
  char *local_28;
  char *local_24;
  char *local_20;
  
  local_20 = param_1;
  if (*param_1 == ',') {
    do {
      local_28 = *(char **)(local_20 + 0xc);
      if (*local_28 == ',') {
        do {
          local_24 = *(char **)(local_28 + 0xc);
          if (*local_24 == ',') {
            do {
              local_2c = *(char **)(local_24 + 0xc);
              if (*local_2c == ',') {
                do {
                  local_30 = *(char **)(local_2c + 0xc);
                  if (*local_30 == ',') {
                    do {
                      local_34 = *(char **)(local_30 + 0xc);
                      if (*local_34 == ',') {
                        do {
                          local_38 = *(char **)(local_34 + 0xc);
                          if (*local_38 == ',') {
                            do {
                              local_40 = *(char **)(local_38 + 0xc);
                              if (*local_40 == ',') {
                                do {
                                  pcVar2 = *(char **)(local_40 + 0xc);
                                  cVar1 = *pcVar2;
                                  while (cVar1 == ',') {
                                    FUN_00062f10();
                                    pcVar2 = *(char **)(pcVar2 + 0x10);
                                    cVar1 = *pcVar2;
                                  }
                                  iVar4 = *(int *)(param_3 + 0xc);
                                  piVar5 = *(int **)(param_3 + 0x14);
                                  if (0 < iVar4) {
                                    iVar6 = 0;
                                    do {
                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)
                                         ) {
                                        iVar3 = FUN_00060e20(param_2);
                                        iVar4 = *(int *)(param_3 + 0xc);
                                        if (iVar3 == 0) {
                                          *(ushort *)((int)piVar5 + 10) =
                                               *(ushort *)((int)piVar5 + 10) | 4;
                                        }
                                      }
                                      iVar6 = iVar6 + 1;
                                      piVar5 = piVar5 + 0xc;
                                    } while (iVar6 < iVar4);
                                  }
                                  local_40 = *(char **)(local_40 + 0x10);
                                } while (*local_40 == ',');
                              }
                              else {
                                iVar4 = *(int *)(param_3 + 0xc);
                              }
                              piVar5 = *(int **)(param_3 + 0x14);
                              if (0 < iVar4) {
                                iVar6 = 0;
                                do {
                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {
                                    iVar3 = FUN_00060e20(param_2);
                                    iVar4 = *(int *)(param_3 + 0xc);
                                    if (iVar3 == 0) {
                                      *(ushort *)((int)piVar5 + 10) =
                                           *(ushort *)((int)piVar5 + 10) | 4;
                                    }
                                  }
                                  iVar6 = iVar6 + 1;
                                  piVar5 = piVar5 + 0xc;
                                } while (iVar6 < iVar4);
                              }
                              local_38 = *(char **)(local_38 + 0x10);
                            } while (*local_38 == ',');
                          }
                          else {
                            iVar4 = *(int *)(param_3 + 0xc);
                          }
                          piVar5 = *(int **)(param_3 + 0x14);
                          if (0 < iVar4) {
                            iVar6 = 0;
                            do {
                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {
                                iVar3 = FUN_00060e20(param_2);
                                iVar4 = *(int *)(param_3 + 0xc);
                                if (iVar3 == 0) {
                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;
                                }
                              }
                              iVar6 = iVar6 + 1;
                              piVar5 = piVar5 + 0xc;
                            } while (iVar6 < iVar4);
                          }
                          local_34 = *(char **)(local_34 + 0x10);
                        } while (*local_34 == ',');
                      }
                      else {
                        iVar4 = *(int *)(param_3 + 0xc);
                      }
                      piVar5 = *(int **)(param_3 + 0x14);
                      if (0 < iVar4) {
                        iVar6 = 0;
                        do {
                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {
                            iVar3 = FUN_00060e20(param_2);
                            iVar4 = *(int *)(param_3 + 0xc);
                            if (iVar3 == 0) {
                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;
                            }
                          }
                          iVar6 = iVar6 + 1;
                          piVar5 = piVar5 + 0xc;
                        } while (iVar6 < iVar4);
                      }
                      local_30 = *(char **)(local_30 + 0x10);
                    } while (*local_30 == ',');
                  }
                  else {
                    iVar4 = *(int *)(param_3 + 0xc);
                  }
                  piVar5 = *(int **)(param_3 + 0x14);
                  if (0 < iVar4) {
                    iVar6 = 0;
                    do {
                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {
                        iVar3 = FUN_00060e20(param_2);
                        iVar4 = *(int *)(param_3 + 0xc);
                        if (iVar3 == 0) {
                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;
                        }
                      }
                      iVar6 = iVar6 + 1;
                      piVar5 = piVar5 + 0xc;
                    } while (iVar6 < iVar4);
                  }
                  local_2c = *(char **)(local_2c + 0x10);
                } while (*local_2c == ',');
              }
              else {
                iVar4 = *(int *)(param_3 + 0xc);
              }
              piVar5 = *(int **)(param_3 + 0x14);
              if (0 < iVar4) {
                iVar6 = 0;
                do {
                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {
                    iVar3 = FUN_00060e20(param_2);
                    iVar4 = *(int *)(param_3 + 0xc);
                    if (iVar3 == 0) {
                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;
                    }
                  }
                  iVar6 = iVar6 + 1;
                  piVar5 = piVar5 + 0xc;
                } while (iVar6 < iVar4);
              }
              local_24 = *(char **)(local_24 + 0x10);
            } while (*local_24 == ',');
          }
          else {
            iVar4 = *(int *)(param_3 + 0xc);
          }
          if (0 < iVar4) {
            piVar5 = *(int **)(param_3 + 0x14);
            iVar6 = 0;
            do {
              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {
                iVar3 = FUN_00060e20(param_2);
                iVar4 = *(int *)(param_3 + 0xc);
                if (iVar3 == 0) {
                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;
                }
              }
              iVar6 = iVar6 + 1;
              piVar5 = piVar5 + 0xc;
            } while (iVar6 < iVar4);
          }
          local_28 = *(char **)(local_28 + 0x10);
        } while (*local_28 == ',');
      }
      else {
        iVar4 = *(int *)(param_3 + 0xc);
      }
      piVar5 = *(int **)(param_3 + 0x14);
      if (0 < iVar4) {
        iVar6 = 0;
        do {
          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {
            iVar3 = FUN_00060e20(param_2);
            iVar4 = *(int *)(param_3 + 0xc);
            if (iVar3 == 0) {
              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;
            }
          }
          iVar6 = iVar6 + 1;
          piVar5 = piVar5 + 0xc;
        } while (iVar6 < iVar4);
      }
      local_20 = *(char **)(local_20 + 0x10);
    } while (*local_20 == ',');
  }
  else {
    iVar4 = *(int *)(param_3 + 0xc);
  }
  piVar5 = *(int **)(param_3 + 0x14);
  if (0 < iVar4) {
    iVar6 = 0;
    do {
      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {
        iVar4 = FUN_00060e20(param_2);
        if (iVar4 == 0) {
          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;
          iVar4 = *(int *)(param_3 + 0xc);
        }
        else {
          iVar4 = *(int *)(param_3 + 0xc);
        }
      }
      iVar6 = iVar6 + 1;
      piVar5 = piVar5 + 0xc;
    } while (iVar6 < iVar4);
  }
  return;
}


PUSH EBP
PUSH EDI
MOV EBP,ECX
PUSH ESI
PUSH EBX
SUB ESP,0x3c
CMP byte ptr [EAX],0x2c
MOV dword ptr [ESP + 0x2c],EAX
MOV dword ptr [ESP + 0x10],EDX
JNZ 0x0006332d
MOV EAX,dword ptr [ESP + 0x2c]
MOV EAX,dword ptr [EAX + 0xc]
CMP byte ptr [EAX],0x2c
MOV dword ptr [ESP + 0x24],EAX
JNZ 0x00063320
MOV EAX,dword ptr [ESP + 0x24]
MOV EAX,dword ptr [EAX + 0xc]
CMP byte ptr [EAX],0x2c
MOV dword ptr [ESP + 0x28],EAX
JNZ 0x00063318
MOV EAX,dword ptr [ESP + 0x28]
MOV EAX,dword ptr [EAX + 0xc]
CMP byte ptr [EAX],0x2c
MOV dword ptr [ESP + 0x20],EAX
JNZ 0x00063310
MOV EAX,dword ptr [ESP + 0x20]
MOV EAX,dword ptr [EAX + 0xc]
CMP byte ptr [EAX],0x2c
MOV dword ptr [ESP + 0x1c],EAX
JNZ 0x00063308
MOV EAX,dword ptr [ESP + 0x1c]
MOV EAX,dword ptr [EAX + 0xc]
CMP byte ptr [EAX],0x2c
MOV dword ptr [ESP + 0x18],EAX
JNZ 0x00063300
MOV EAX,dword ptr [ESP + 0x18]
MOV EAX,dword ptr [EAX + 0xc]
CMP byte ptr [EAX],0x2c
MOV dword ptr [ESP + 0x14],EAX
JNZ 0x000632f8
MOV EAX,dword ptr [ESP + 0x14]
MOV EAX,dword ptr [EAX + 0xc]
CMP byte ptr [EAX],0x2c
MOV dword ptr [ESP + 0xc],EAX
JNZ 0x000632f0
MOV EAX,dword ptr [ESP + 0xc]
MOV EDI,dword ptr [EAX + 0xc]
CMP byte ptr [EDI],0x2c
JNZ 0x00062fda
MOV EBX,dword ptr [ESP + 0x10]
MOV EAX,dword ptr [EDI + 0xc]
MOV ECX,EBP
MOV EDX,EBX
CALL 0x00062f10
MOV EDI,dword ptr [EDI + 0x10]
CMP byte ptr [EDI],0x2c
JZ 0x00062fc6
MOV EAX,dword ptr [EBP + 0xc]
MOV EBX,dword ptr [EBP + 0x14]
TEST EAX,EAX
JLE 0x00063025
XOR ESI,ESI
LEA ESI,[ESI]
LEA EDI,[EDI]
TEST byte ptr [EBX + 0xa],0x4
JNZ 0x0006301b
MOV EDX,dword ptr [EBX]
TEST EDX,EDX
JZ 0x0006301b
SUB ESP,0xc
XOR EAX,EAX
MOV ECX,EDI
PUSH dword ptr [ESP + 0x1c]
CALL 0x00060e20
ADD ESP,0x10
TEST EAX,EAX
MOV EAX,dword ptr [EBP + 0xc]
JNZ 0x0006301b
OR word ptr [EBX + 0xa],0x4
ADD ESI,0x1
ADD EBX,0x30
CMP ESI,EAX
JL 0x00062ff0
MOV ECX,dword ptr [ESP + 0xc]
MOV ECX,dword ptr [ECX + 0x10]
CMP byte ptr [ECX],0x2c
MOV dword ptr [ESP + 0xc],ECX
JZ 0x00062fb6
TEST EAX,EAX
MOV EBX,dword ptr [EBP + 0x14]
JLE 0x0006307d
MOV EDI,dword ptr [ESP + 0xc]
XOR ESI,ESI
LEA ESI,[ESI]
TEST byte ptr [EBX + 0xa],0x4
JNZ 0x00063073
MOV EDX,dword ptr [EBX]
TEST EDX,EDX
JZ 0x00063073
SUB ESP,0xc
XOR EAX,EAX
MOV ECX,EDI
PUSH dword ptr [ESP + 0x1c]
CALL 0x00060e20
ADD ESP,0x10
TEST EAX,EAX
MOV EAX,dword ptr [EBP + 0xc]
JNZ 0x00063073
OR word ptr [EBX + 0xa],0x4
ADD ESI,0x1
ADD EBX,0x30
CMP ESI,EAX
JL 0x00063048
MOV EDX,dword ptr [ESP + 0x14]
MOV ECX,dword ptr [EDX + 0x10]
CMP byte ptr [ECX],0x2c
MOV dword ptr [ESP + 0x14],ECX
JZ 0x00062fa2
TEST EAX,EAX
MOV EBX,dword ptr [EBP + 0x14]
JLE 0x000630d5
MOV EDI,dword ptr [ESP + 0x14]
XOR ESI,ESI
NOP
TEST byte ptr [EBX + 0xa],0x4
JNZ 0x000630cb
MOV EDX,dword ptr [EBX]
TEST EDX,EDX
JZ 0x000630cb
SUB ESP,0xc
XOR EAX,EAX
MOV ECX,EDI
PUSH dword ptr [ESP + 0x1c]
CALL 0x00060e20
ADD ESP,0x10
TEST EAX,EAX
MOV EAX,dword ptr [EBP + 0xc]
JNZ 0x000630cb
OR word ptr [EBX + 0xa],0x4
ADD ESI,0x1
ADD EBX,0x30
CMP ESI,EAX
JL 0x000630a0
MOV EDI,dword ptr [ESP + 0x18]
MOV ECX,dword ptr [EDI + 0x10]
CMP byte ptr [ECX],0x2c
MOV dword ptr [ESP + 0x18],ECX
JZ 0x00062f8e
TEST EAX,EAX
MOV EBX,dword ptr [EBP + 0x14]
JLE 0x00063135
MOV EDI,dword ptr [ESP + 0x18]
XOR ESI,ESI
LEA ESI,[ESI]
LEA EDI,[EDI]
TEST byte ptr [EBX + 0xa],0x4
JNZ 0x0006312b
MOV EDX,dword ptr [EBX]
TEST EDX,EDX
JZ 0x0006312b
SUB ESP,0xc
XOR EAX,EAX
MOV ECX,EDI
PUSH dword ptr [ESP + 0x1c]
CALL 0x00060e20
ADD ESP,0x10
TEST EAX,EAX
MOV EAX,dword ptr [EBP + 0xc]
JNZ 0x0006312b
OR word ptr [EBX + 0xa],0x4
ADD ESI,0x1
ADD EBX,0x30
CMP ESI,EAX
JL 0x00063100
MOV EDI,dword ptr [ESP + 0x1c]
MOV EDX,dword ptr [EDI + 0x10]
CMP byte ptr [EDX],0x2c
MOV dword ptr [ESP + 0x1c],EDX
JZ 0x00062f7a
TEST EAX,EAX
MOV EBX,dword ptr [EBP + 0x14]
JLE 0x00063195
MOV EDI,dword ptr [ESP + 0x1c]
XOR ESI,ESI
LEA ESI,[ESI]
LEA EDI,[EDI]
TEST byte ptr [EBX + 0xa],0x4
JNZ 0x0006318b
MOV EDX,dword ptr [EBX]
TEST EDX,EDX
JZ 0x0006318b
SUB ESP,0xc
XOR EAX,EAX
MOV ECX,EDI
PUSH dword ptr [ESP + 0x1c]
CALL 0x00060e20
ADD ESP,0x10
TEST EAX,EAX
MOV EAX,dword ptr [EBP + 0xc]
JNZ 0x0006318b
OR word ptr [EBX + 0xa],0x4
ADD ESI,0x1
ADD EBX,0x30
CMP ESI,EAX
JL 0x00063160
MOV EDX,dword ptr [ESP + 0x20]
MOV EDI,dword ptr [EDX + 0x10]
CMP byte ptr [EDI],0x2c
MOV dword ptr [ESP + 0x20],EDI
JZ 0x00062f66
TEST EAX,EAX
MOV EBX,dword ptr [EBP + 0x14]
JLE 0x000631e9
XOR ESI,ESI
TEST byte ptr [EBX + 0xa],0x4
JNZ 0x000631df
MOV EDX,dword ptr [EBX]
TEST EDX,EDX
JZ 0x000631df
SUB ESP,0xc
XOR EAX,EAX
PUSH dword ptr [ESP + 0x1c]
MOV ECX,dword ptr [ESP + 0x30]
CALL 0x00060e20
ADD ESP,0x10
TEST EAX,EAX
MOV EAX,dword ptr [EBP + 0xc]
JNZ 0x000631df
OR word ptr [EBX + 0xa],0x4
ADD ESI,0x1
ADD EBX,0x30
CMP ESI,EAX
JL 0x000631b2
MOV EDI,dword ptr [ESP + 0x28]
MOV EDI,dword ptr [EDI + 0x10]
CMP byte ptr [EDI],0x2c
MOV dword ptr [ESP + 0x28],EDI
JZ 0x00062f52
TEST EAX,EAX
JLE 0x0006323d
MOV EBX,dword ptr [EBP + 0x14]
XOR ESI,ESI
TEST byte ptr [EBX + 0xa],0x4
JNZ 0x00063233
MOV EDX,dword ptr [EBX]
TEST EDX,EDX
JZ 0x00063233
SUB ESP,0xc
XOR EAX,EAX
PUSH dword ptr [ESP + 0x1c]
MOV ECX,dword ptr [ESP + 0x38]
CALL 0x00060e20
ADD ESP,0x10
TEST EAX,EAX
MOV EAX,dword ptr [EBP + 0xc]
JNZ 0x00063233
OR word ptr [EBX + 0xa],0x4
ADD ESI,0x1
ADD EBX,0x30
CMP ESI,EAX
JL 0x00063206
MOV ECX,dword ptr [ESP + 0x24]
MOV ECX,dword ptr [ECX + 0x10]
CMP byte ptr [ECX],0x2c
MOV dword ptr [ESP + 0x24],ECX
JZ 0x00062f3e
TEST EAX,EAX
MOV EBX,dword ptr [EBP + 0x14]
JLE 0x00063291
XOR ESI,ESI
TEST byte ptr [EBX + 0xa],0x4
JNZ 0x00063287
MOV EDX,dword ptr [EBX]
TEST EDX,EDX
JZ 0x00063287
SUB ESP,0xc
XOR EAX,EAX
PUSH dword ptr [ESP + 0x1c]
MOV ECX,dword ptr [ESP + 0x34]
CALL 0x00060e20
ADD ESP,0x10
TEST EAX,EAX
MOV EAX,dword ptr [EBP + 0xc]
JNZ 0x00063287
OR word ptr [EBX + 0xa],0x4
ADD ESI,0x1
ADD EBX,0x30
CMP ESI,EAX
JL 0x0006325a
MOV EDI,dword ptr [ESP + 0x2c]
MOV EDX,dword ptr [EDI + 0x10]
CMP byte ptr [EDX],0x2c
MOV dword ptr [ESP + 0x2c],EDX
JZ 0x00062f2a
TEST EAX,EAX
MOV EBX,dword ptr [EBP + 0x14]
JLE 0x000632e5
XOR ESI,ESI
TEST byte ptr [EBX + 0xa],0x4
JNZ 0x000632db
MOV EDX,dword ptr [EBX]
TEST EDX,EDX
JZ 0x000632db
SUB ESP,0xc
XOR EAX,EAX
PUSH dword ptr [ESP + 0x1c]
MOV ECX,dword ptr [ESP + 0x3c]
CALL 0x00060e20
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00063328
OR word ptr [EBX + 0xa],0x4
MOV EAX,dword ptr [EBP + 0xc]
ADD ESI,0x1
ADD EBX,0x30
CMP ESI,EAX
JL 0x000632ae
ADD ESP,0x3c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [EBP + 0xc]
JMP 0x00063035
MOV EAX,dword ptr [EBP + 0xc]
JMP 0x00063091
MOV EAX,dword ptr [EBP + 0xc]
JMP 0x000630e9
MOV EAX,dword ptr [EBP + 0xc]
JMP 0x00063149
MOV EAX,dword ptr [EBP + 0xc]
JMP 0x000631a9
MOV EAX,dword ptr [EBP + 0xc]
JMP 0x000631fd
MOV EAX,dword ptr [EBP + 0xc]
JMP 0x00063251
MOV EAX,dword ptr [EBP + 0xc]
JMP 0x000632db
MOV EAX,dword ptr [ECX + 0xc]
JMP 0x000632a5
(translation_unit "void __regparm3 FUN_00062f10(char *param_1,undefined4 param_2,int param_3)\n\n{\n  char cVar1;\n  char *pcVar2;\n  int iVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  char *local_40;\n  char *local_38;\n  char *local_34;\n  char *local_30;\n  char *local_2c;\n  char *local_28;\n  char *local_24;\n  char *local_20;\n  \n  local_20 = param_1;\n  if (*param_1 == ',') {\n    do {\n      local_28 = *(char **)(local_20 + 0xc);\n      if (*local_28 == ',') {\n        do {\n          local_24 = *(char **)(local_28 + 0xc);\n          if (*local_24 == ',') {\n            do {\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            } while (*local_24 == ',');\n          }\n          else {\n            iVar4 = *(int *)(param_3 + 0xc);\n          }\n          if (0 < iVar4) {\n            piVar5 = *(int **)(param_3 + 0x14);\n            iVar6 = 0;\n            do {\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            } while (iVar6 < iVar4);\n          }\n          local_28 = *(char **)(local_28 + 0x10);\n        } while (*local_28 == ',');\n      }\n      else {\n        iVar4 = *(int *)(param_3 + 0xc);\n      }\n      piVar5 = *(int **)(param_3 + 0x14);\n      if (0 < iVar4) {\n        iVar6 = 0;\n        do {\n          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n            iVar3 = FUN_00060e20(param_2);\n            iVar4 = *(int *)(param_3 + 0xc);\n            if (iVar3 == 0) {\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }\n          }\n          iVar6 = iVar6 + 1;\n          piVar5 = piVar5 + 0xc;\n        } while (iVar6 < iVar4);\n      }\n      local_20 = *(char **)(local_20 + 0x10);\n    } while (*local_20 == ',');\n  }\n  else {\n    iVar4 = *(int *)(param_3 + 0xc);\n  }\n  piVar5 = *(int **)(param_3 + 0x14);\n  if (0 < iVar4) {\n    iVar6 = 0;\n    do {\n      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n        iVar4 = FUN_00060e20(param_2);\n        if (iVar4 == 0) {\n          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n        else {\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n      }\n      iVar6 = iVar6 + 1;\n      piVar5 = piVar5 + 0xc;\n    } while (iVar6 < iVar4);\n  }\n  return;\n}\n\n" (function_definition "void __regparm3 FUN_00062f10(char *param_1,undefined4 param_2,int param_3)\n\n{\n  char cVar1;\n  char *pcVar2;\n  int iVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  char *local_40;\n  char *local_38;\n  char *local_34;\n  char *local_30;\n  char *local_2c;\n  char *local_28;\n  char *local_24;\n  char *local_20;\n  \n  local_20 = param_1;\n  if (*param_1 == ',') {\n    do {\n      local_28 = *(char **)(local_20 + 0xc);\n      if (*local_28 == ',') {\n        do {\n          local_24 = *(char **)(local_28 + 0xc);\n          if (*local_24 == ',') {\n            do {\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            } while (*local_24 == ',');\n          }\n          else {\n            iVar4 = *(int *)(param_3 + 0xc);\n          }\n          if (0 < iVar4) {\n            piVar5 = *(int **)(param_3 + 0x14);\n            iVar6 = 0;\n            do {\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            } while (iVar6 < iVar4);\n          }\n          local_28 = *(char **)(local_28 + 0x10);\n        } while (*local_28 == ',');\n      }\n      else {\n        iVar4 = *(int *)(param_3 + 0xc);\n      }\n      piVar5 = *(int **)(param_3 + 0x14);\n      if (0 < iVar4) {\n        iVar6 = 0;\n        do {\n          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n            iVar3 = FUN_00060e20(param_2);\n            iVar4 = *(int *)(param_3 + 0xc);\n            if (iVar3 == 0) {\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }\n          }\n          iVar6 = iVar6 + 1;\n          piVar5 = piVar5 + 0xc;\n        } while (iVar6 < iVar4);\n      }\n      local_20 = *(char **)(local_20 + 0x10);\n    } while (*local_20 == ',');\n  }\n  else {\n    iVar4 = *(int *)(param_3 + 0xc);\n  }\n  piVar5 = *(int **)(param_3 + 0x14);\n  if (0 < iVar4) {\n    iVar6 = 0;\n    do {\n      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n        iVar4 = FUN_00060e20(param_2);\n        if (iVar4 == 0) {\n          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n        else {\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n      }\n      iVar6 = iVar6 + 1;\n      piVar5 = piVar5 + 0xc;\n    } while (iVar6 < iVar4);\n  }\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_00062f10(char *param_1,undefined4 param_2,int param_3)" identifier (parameter_list "(char *param_1,undefined4 param_2,int param_3)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "int param_3" primitive_type identifier) ))) (compound_statement "{\n  char cVar1;\n  char *pcVar2;\n  int iVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  char *local_40;\n  char *local_38;\n  char *local_34;\n  char *local_30;\n  char *local_2c;\n  char *local_28;\n  char *local_24;\n  char *local_20;\n  \n  local_20 = param_1;\n  if (*param_1 == ',') {\n    do {\n      local_28 = *(char **)(local_20 + 0xc);\n      if (*local_28 == ',') {\n        do {\n          local_24 = *(char **)(local_28 + 0xc);\n          if (*local_24 == ',') {\n            do {\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            } while (*local_24 == ',');\n          }\n          else {\n            iVar4 = *(int *)(param_3 + 0xc);\n          }\n          if (0 < iVar4) {\n            piVar5 = *(int **)(param_3 + 0x14);\n            iVar6 = 0;\n            do {\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            } while (iVar6 < iVar4);\n          }\n          local_28 = *(char **)(local_28 + 0x10);\n        } while (*local_28 == ',');\n      }\n      else {\n        iVar4 = *(int *)(param_3 + 0xc);\n      }\n      piVar5 = *(int **)(param_3 + 0x14);\n      if (0 < iVar4) {\n        iVar6 = 0;\n        do {\n          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n            iVar3 = FUN_00060e20(param_2);\n            iVar4 = *(int *)(param_3 + 0xc);\n            if (iVar3 == 0) {\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }\n          }\n          iVar6 = iVar6 + 1;\n          piVar5 = piVar5 + 0xc;\n        } while (iVar6 < iVar4);\n      }\n      local_20 = *(char **)(local_20 + 0x10);\n    } while (*local_20 == ',');\n  }\n  else {\n    iVar4 = *(int *)(param_3 + 0xc);\n  }\n  piVar5 = *(int **)(param_3 + 0x14);\n  if (0 < iVar4) {\n    iVar6 = 0;\n    do {\n      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n        iVar4 = FUN_00060e20(param_2);\n        if (iVar4 == 0) {\n          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n        else {\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n      }\n      iVar6 = iVar6 + 1;\n      piVar5 = piVar5 + 0xc;\n    } while (iVar6 < iVar4);\n  }\n  return;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "char *local_40;" primitive_type (pointer_declarator "*local_40" * identifier) ;) (declaration "char *local_38;" primitive_type (pointer_declarator "*local_38" * identifier) ;) (declaration "char *local_34;" primitive_type (pointer_declarator "*local_34" * identifier) ;) (declaration "char *local_30;" primitive_type (pointer_declarator "*local_30" * identifier) ;) (declaration "char *local_2c;" primitive_type (pointer_declarator "*local_2c" * identifier) ;) (declaration "char *local_28;" primitive_type (pointer_declarator "*local_28" * identifier) ;) (declaration "char *local_24;" primitive_type (pointer_declarator "*local_24" * identifier) ;) (declaration "char *local_20;" primitive_type (pointer_declarator "*local_20" * identifier) ;) (expression_statement "local_20 = param_1;" (assignment_expression "local_20 = param_1" identifier = identifier) ;) (if_statement "if (*param_1 == ',') {\n    do {\n      local_28 = *(char **)(local_20 + 0xc);\n      if (*local_28 == ',') {\n        do {\n          local_24 = *(char **)(local_28 + 0xc);\n          if (*local_24 == ',') {\n            do {\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            } while (*local_24 == ',');\n          }\n          else {\n            iVar4 = *(int *)(param_3 + 0xc);\n          }\n          if (0 < iVar4) {\n            piVar5 = *(int **)(param_3 + 0x14);\n            iVar6 = 0;\n            do {\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            } while (iVar6 < iVar4);\n          }\n          local_28 = *(char **)(local_28 + 0x10);\n        } while (*local_28 == ',');\n      }\n      else {\n        iVar4 = *(int *)(param_3 + 0xc);\n      }\n      piVar5 = *(int **)(param_3 + 0x14);\n      if (0 < iVar4) {\n        iVar6 = 0;\n        do {\n          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n            iVar3 = FUN_00060e20(param_2);\n            iVar4 = *(int *)(param_3 + 0xc);\n            if (iVar3 == 0) {\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }\n          }\n          iVar6 = iVar6 + 1;\n          piVar5 = piVar5 + 0xc;\n        } while (iVar6 < iVar4);\n      }\n      local_20 = *(char **)(local_20 + 0x10);\n    } while (*local_20 == ',');\n  }\n  else {\n    iVar4 = *(int *)(param_3 + 0xc);\n  }" if (parenthesized_expression "(*param_1 == ',')" ( (binary_expression "*param_1 == ','" (pointer_expression "*param_1" * identifier) == (char_literal "','" ' character ')) )) (compound_statement "{\n    do {\n      local_28 = *(char **)(local_20 + 0xc);\n      if (*local_28 == ',') {\n        do {\n          local_24 = *(char **)(local_28 + 0xc);\n          if (*local_24 == ',') {\n            do {\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            } while (*local_24 == ',');\n          }\n          else {\n            iVar4 = *(int *)(param_3 + 0xc);\n          }\n          if (0 < iVar4) {\n            piVar5 = *(int **)(param_3 + 0x14);\n            iVar6 = 0;\n            do {\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            } while (iVar6 < iVar4);\n          }\n          local_28 = *(char **)(local_28 + 0x10);\n        } while (*local_28 == ',');\n      }\n      else {\n        iVar4 = *(int *)(param_3 + 0xc);\n      }\n      piVar5 = *(int **)(param_3 + 0x14);\n      if (0 < iVar4) {\n        iVar6 = 0;\n        do {\n          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n            iVar3 = FUN_00060e20(param_2);\n            iVar4 = *(int *)(param_3 + 0xc);\n            if (iVar3 == 0) {\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }\n          }\n          iVar6 = iVar6 + 1;\n          piVar5 = piVar5 + 0xc;\n        } while (iVar6 < iVar4);\n      }\n      local_20 = *(char **)(local_20 + 0x10);\n    } while (*local_20 == ',');\n  }" { (do_statement "do {\n      local_28 = *(char **)(local_20 + 0xc);\n      if (*local_28 == ',') {\n        do {\n          local_24 = *(char **)(local_28 + 0xc);\n          if (*local_24 == ',') {\n            do {\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            } while (*local_24 == ',');\n          }\n          else {\n            iVar4 = *(int *)(param_3 + 0xc);\n          }\n          if (0 < iVar4) {\n            piVar5 = *(int **)(param_3 + 0x14);\n            iVar6 = 0;\n            do {\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            } while (iVar6 < iVar4);\n          }\n          local_28 = *(char **)(local_28 + 0x10);\n        } while (*local_28 == ',');\n      }\n      else {\n        iVar4 = *(int *)(param_3 + 0xc);\n      }\n      piVar5 = *(int **)(param_3 + 0x14);\n      if (0 < iVar4) {\n        iVar6 = 0;\n        do {\n          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n            iVar3 = FUN_00060e20(param_2);\n            iVar4 = *(int *)(param_3 + 0xc);\n            if (iVar3 == 0) {\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }\n          }\n          iVar6 = iVar6 + 1;\n          piVar5 = piVar5 + 0xc;\n        } while (iVar6 < iVar4);\n      }\n      local_20 = *(char **)(local_20 + 0x10);\n    } while (*local_20 == ',');" do (compound_statement "{\n      local_28 = *(char **)(local_20 + 0xc);\n      if (*local_28 == ',') {\n        do {\n          local_24 = *(char **)(local_28 + 0xc);\n          if (*local_24 == ',') {\n            do {\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            } while (*local_24 == ',');\n          }\n          else {\n            iVar4 = *(int *)(param_3 + 0xc);\n          }\n          if (0 < iVar4) {\n            piVar5 = *(int **)(param_3 + 0x14);\n            iVar6 = 0;\n            do {\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            } while (iVar6 < iVar4);\n          }\n          local_28 = *(char **)(local_28 + 0x10);\n        } while (*local_28 == ',');\n      }\n      else {\n        iVar4 = *(int *)(param_3 + 0xc);\n      }\n      piVar5 = *(int **)(param_3 + 0x14);\n      if (0 < iVar4) {\n        iVar6 = 0;\n        do {\n          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n            iVar3 = FUN_00060e20(param_2);\n            iVar4 = *(int *)(param_3 + 0xc);\n            if (iVar3 == 0) {\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }\n          }\n          iVar6 = iVar6 + 1;\n          piVar5 = piVar5 + 0xc;\n        } while (iVar6 < iVar4);\n      }\n      local_20 = *(char **)(local_20 + 0x10);\n    }" { (expression_statement "local_28 = *(char **)(local_20 + 0xc);" (assignment_expression "local_28 = *(char **)(local_20 + 0xc)" identifier = (pointer_expression "*(char **)(local_20 + 0xc)" * (cast_expression "(char **)(local_20 + 0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_20 + 0xc)" ( (binary_expression "local_20 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (*local_28 == ',') {\n        do {\n          local_24 = *(char **)(local_28 + 0xc);\n          if (*local_24 == ',') {\n            do {\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            } while (*local_24 == ',');\n          }\n          else {\n            iVar4 = *(int *)(param_3 + 0xc);\n          }\n          if (0 < iVar4) {\n            piVar5 = *(int **)(param_3 + 0x14);\n            iVar6 = 0;\n            do {\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            } while (iVar6 < iVar4);\n          }\n          local_28 = *(char **)(local_28 + 0x10);\n        } while (*local_28 == ',');\n      }\n      else {\n        iVar4 = *(int *)(param_3 + 0xc);\n      }" if (parenthesized_expression "(*local_28 == ',')" ( (binary_expression "*local_28 == ','" (pointer_expression "*local_28" * identifier) == (char_literal "','" ' character ')) )) (compound_statement "{\n        do {\n          local_24 = *(char **)(local_28 + 0xc);\n          if (*local_24 == ',') {\n            do {\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            } while (*local_24 == ',');\n          }\n          else {\n            iVar4 = *(int *)(param_3 + 0xc);\n          }\n          if (0 < iVar4) {\n            piVar5 = *(int **)(param_3 + 0x14);\n            iVar6 = 0;\n            do {\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            } while (iVar6 < iVar4);\n          }\n          local_28 = *(char **)(local_28 + 0x10);\n        } while (*local_28 == ',');\n      }" { (do_statement "do {\n          local_24 = *(char **)(local_28 + 0xc);\n          if (*local_24 == ',') {\n            do {\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            } while (*local_24 == ',');\n          }\n          else {\n            iVar4 = *(int *)(param_3 + 0xc);\n          }\n          if (0 < iVar4) {\n            piVar5 = *(int **)(param_3 + 0x14);\n            iVar6 = 0;\n            do {\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            } while (iVar6 < iVar4);\n          }\n          local_28 = *(char **)(local_28 + 0x10);\n        } while (*local_28 == ',');" do (compound_statement "{\n          local_24 = *(char **)(local_28 + 0xc);\n          if (*local_24 == ',') {\n            do {\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            } while (*local_24 == ',');\n          }\n          else {\n            iVar4 = *(int *)(param_3 + 0xc);\n          }\n          if (0 < iVar4) {\n            piVar5 = *(int **)(param_3 + 0x14);\n            iVar6 = 0;\n            do {\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            } while (iVar6 < iVar4);\n          }\n          local_28 = *(char **)(local_28 + 0x10);\n        }" { (expression_statement "local_24 = *(char **)(local_28 + 0xc);" (assignment_expression "local_24 = *(char **)(local_28 + 0xc)" identifier = (pointer_expression "*(char **)(local_28 + 0xc)" * (cast_expression "(char **)(local_28 + 0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_28 + 0xc)" ( (binary_expression "local_28 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (*local_24 == ',') {\n            do {\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            } while (*local_24 == ',');\n          }\n          else {\n            iVar4 = *(int *)(param_3 + 0xc);\n          }" if (parenthesized_expression "(*local_24 == ',')" ( (binary_expression "*local_24 == ','" (pointer_expression "*local_24" * identifier) == (char_literal "','" ' character ')) )) (compound_statement "{\n            do {\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            } while (*local_24 == ',');\n          }" { (do_statement "do {\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            } while (*local_24 == ',');" do (compound_statement "{\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            }" { (expression_statement "local_2c = *(char **)(local_24 + 0xc);" (assignment_expression "local_2c = *(char **)(local_24 + 0xc)" identifier = (pointer_expression "*(char **)(local_24 + 0xc)" * (cast_expression "(char **)(local_24 + 0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_24 + 0xc)" ( (binary_expression "local_24 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }" if (parenthesized_expression "(*local_2c == ',')" ( (binary_expression "*local_2c == ','" (pointer_expression "*local_2c" * identifier) == (char_literal "','" ' character ')) )) (compound_statement "{\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }" { (do_statement "do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');" do (compound_statement "{\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                }" { (expression_statement "local_30 = *(char **)(local_2c + 0xc);" (assignment_expression "local_30 = *(char **)(local_2c + 0xc)" identifier = (pointer_expression "*(char **)(local_2c + 0xc)" * (cast_expression "(char **)(local_2c + 0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_2c + 0xc)" ( (binary_expression "local_2c + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }" if (parenthesized_expression "(*local_30 == ',')" ( (binary_expression "*local_30 == ','" (pointer_expression "*local_30" * identifier) == (char_literal "','" ' character ')) )) (compound_statement "{\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }" { (do_statement "do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');" do (compound_statement "{\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    }" { (expression_statement "local_34 = *(char **)(local_30 + 0xc);" (assignment_expression "local_34 = *(char **)(local_30 + 0xc)" identifier = (pointer_expression "*(char **)(local_30 + 0xc)" * (cast_expression "(char **)(local_30 + 0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_30 + 0xc)" ( (binary_expression "local_30 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }" if (parenthesized_expression "(*local_34 == ',')" ( (binary_expression "*local_34 == ','" (pointer_expression "*local_34" * identifier) == (char_literal "','" ' character ')) )) (compound_statement "{\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }" { (do_statement "do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');" do (compound_statement "{\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        }" { (expression_statement "local_38 = *(char **)(local_34 + 0xc);" (assignment_expression "local_38 = *(char **)(local_34 + 0xc)" identifier = (pointer_expression "*(char **)(local_34 + 0xc)" * (cast_expression "(char **)(local_34 + 0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_34 + 0xc)" ( (binary_expression "local_34 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }" if (parenthesized_expression "(*local_38 == ',')" ( (binary_expression "*local_38 == ','" (pointer_expression "*local_38" * identifier) == (char_literal "','" ' character ')) )) (compound_statement "{\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }" { (do_statement "do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');" do (compound_statement "{\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            }" { (expression_statement "local_40 = *(char **)(local_38 + 0xc);" (assignment_expression "local_40 = *(char **)(local_38 + 0xc)" identifier = (pointer_expression "*(char **)(local_38 + 0xc)" * (cast_expression "(char **)(local_38 + 0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_38 + 0xc)" ( (binary_expression "local_38 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }" if (parenthesized_expression "(*local_40 == ',')" ( (binary_expression "*local_40 == ','" (pointer_expression "*local_40" * identifier) == (char_literal "','" ' character ')) )) (compound_statement "{\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }" { (do_statement "do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');" do (compound_statement "{\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                }" { (expression_statement "pcVar2 = *(char **)(local_40 + 0xc);" (assignment_expression "pcVar2 = *(char **)(local_40 + 0xc)" identifier = (pointer_expression "*(char **)(local_40 + 0xc)" * (cast_expression "(char **)(local_40 + 0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_40 + 0xc)" ( (binary_expression "local_40 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "cVar1 = *pcVar2;" (assignment_expression "cVar1 = *pcVar2" identifier = (pointer_expression "*pcVar2" * identifier)) ;) (while_statement "while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }" while (parenthesized_expression "(cVar1 == ',')" ( (binary_expression "cVar1 == ','" identifier == (char_literal "','" ' character ')) )) (compound_statement "{\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }" { (expression_statement "FUN_00062f10();" (call_expression "FUN_00062f10()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar2 = *(char **)(pcVar2 + 0x10);" (assignment_expression "pcVar2 = *(char **)(pcVar2 + 0x10)" identifier = (pointer_expression "*(char **)(pcVar2 + 0x10)" * (cast_expression "(char **)(pcVar2 + 0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar2 + 0x10)" ( (binary_expression "pcVar2 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "cVar1 = *pcVar2;" (assignment_expression "cVar1 = *pcVar2" identifier = (pointer_expression "*pcVar2" * identifier)) ;) })) (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" identifier = (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "piVar5 = *(int **)(param_3 + 0x14);" (assignment_expression "piVar5 = *(int **)(param_3 + 0x14)" identifier = (pointer_expression "*(int **)(param_3 + 0x14)" * (cast_expression "(int **)(param_3 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 0x14)" ( (binary_expression "param_3 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }" if (parenthesized_expression "(0 < iVar4)" ( (binary_expression "0 < iVar4" number_literal < identifier) )) (compound_statement "{\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);" do (compound_statement "{\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    }" { (if_statement "if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }" if (parenthesized_expression "(((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         )" ( (binary_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)" (parenthesized_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0)" ( (binary_expression "(*(byte *)((int)piVar5 + 10) & 4) == 0" (parenthesized_expression "(*(byte *)((int)piVar5 + 10) & 4)" ( (binary_expression "*(byte *)((int)piVar5 + 10) & 4" (pointer_expression "*(byte *)((int)piVar5 + 10)" * (cast_expression "(byte *)((int)piVar5 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "(*piVar5 != 0)" ( (binary_expression "*piVar5 != 0" (pointer_expression "*piVar5" * identifier) != number_literal) ))) )) (compound_statement "{\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }" { (expression_statement "iVar3 = FUN_00060e20(param_2);" (assignment_expression "iVar3 = FUN_00060e20(param_2)" identifier = (call_expression "FUN_00060e20(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" identifier = (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }" { (expression_statement "*(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;" (assignment_expression "*(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" * (cast_expression "(ushort *)((int)piVar5 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" * (cast_expression "(ushort *)((int)piVar5 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) })) })) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "piVar5 = piVar5 + 0xc;" (assignment_expression "piVar5 = piVar5 + 0xc" identifier = (binary_expression "piVar5 + 0xc" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar6 < iVar4)" ( (binary_expression "iVar6 < iVar4" identifier < identifier) )) ;) })) (expression_statement "local_40 = *(char **)(local_40 + 0x10);" (assignment_expression "local_40 = *(char **)(local_40 + 0x10)" identifier = (pointer_expression "*(char **)(local_40 + 0x10)" * (cast_expression "(char **)(local_40 + 0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_40 + 0x10)" ( (binary_expression "local_40 + 0x10" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(*local_40 == ',')" ( (binary_expression "*local_40 == ','" (pointer_expression "*local_40" * identifier) == (char_literal "','" ' character ')) )) ;) }) (else_clause "else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }" else (compound_statement "{\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }" { (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" identifier = (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) }))) (expression_statement "piVar5 = *(int **)(param_3 + 0x14);" (assignment_expression "piVar5 = *(int **)(param_3 + 0x14)" identifier = (pointer_expression "*(int **)(param_3 + 0x14)" * (cast_expression "(int **)(param_3 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 0x14)" ( (binary_expression "param_3 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }" if (parenthesized_expression "(0 < iVar4)" ( (binary_expression "0 < iVar4" number_literal < identifier) )) (compound_statement "{\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);" do (compound_statement "{\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                }" { (if_statement "if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }" if (parenthesized_expression "(((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0))" ( (binary_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)" (parenthesized_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0)" ( (binary_expression "(*(byte *)((int)piVar5 + 10) & 4) == 0" (parenthesized_expression "(*(byte *)((int)piVar5 + 10) & 4)" ( (binary_expression "*(byte *)((int)piVar5 + 10) & 4" (pointer_expression "*(byte *)((int)piVar5 + 10)" * (cast_expression "(byte *)((int)piVar5 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "(*piVar5 != 0)" ( (binary_expression "*piVar5 != 0" (pointer_expression "*piVar5" * identifier) != number_literal) ))) )) (compound_statement "{\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }" { (expression_statement "iVar3 = FUN_00060e20(param_2);" (assignment_expression "iVar3 = FUN_00060e20(param_2)" identifier = (call_expression "FUN_00060e20(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" identifier = (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }" { (expression_statement "*(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;" (assignment_expression "*(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" * (cast_expression "(ushort *)((int)piVar5 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" * (cast_expression "(ushort *)((int)piVar5 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) })) })) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "piVar5 = piVar5 + 0xc;" (assignment_expression "piVar5 = piVar5 + 0xc" identifier = (binary_expression "piVar5 + 0xc" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar6 < iVar4)" ( (binary_expression "iVar6 < iVar4" identifier < identifier) )) ;) })) (expression_statement "local_38 = *(char **)(local_38 + 0x10);" (assignment_expression "local_38 = *(char **)(local_38 + 0x10)" identifier = (pointer_expression "*(char **)(local_38 + 0x10)" * (cast_expression "(char **)(local_38 + 0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_38 + 0x10)" ( (binary_expression "local_38 + 0x10" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(*local_38 == ',')" ( (binary_expression "*local_38 == ','" (pointer_expression "*local_38" * identifier) == (char_literal "','" ' character ')) )) ;) }) (else_clause "else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }" else (compound_statement "{\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }" { (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" identifier = (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) }))) (expression_statement "piVar5 = *(int **)(param_3 + 0x14);" (assignment_expression "piVar5 = *(int **)(param_3 + 0x14)" identifier = (pointer_expression "*(int **)(param_3 + 0x14)" * (cast_expression "(int **)(param_3 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 0x14)" ( (binary_expression "param_3 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }" if (parenthesized_expression "(0 < iVar4)" ( (binary_expression "0 < iVar4" number_literal < identifier) )) (compound_statement "{\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);" do (compound_statement "{\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            }" { (if_statement "if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }" if (parenthesized_expression "(((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0))" ( (binary_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)" (parenthesized_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0)" ( (binary_expression "(*(byte *)((int)piVar5 + 10) & 4) == 0" (parenthesized_expression "(*(byte *)((int)piVar5 + 10) & 4)" ( (binary_expression "*(byte *)((int)piVar5 + 10) & 4" (pointer_expression "*(byte *)((int)piVar5 + 10)" * (cast_expression "(byte *)((int)piVar5 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "(*piVar5 != 0)" ( (binary_expression "*piVar5 != 0" (pointer_expression "*piVar5" * identifier) != number_literal) ))) )) (compound_statement "{\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }" { (expression_statement "iVar3 = FUN_00060e20(param_2);" (assignment_expression "iVar3 = FUN_00060e20(param_2)" identifier = (call_expression "FUN_00060e20(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" identifier = (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }" { (expression_statement "*(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;" (assignment_expression "*(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" * (cast_expression "(ushort *)((int)piVar5 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" * (cast_expression "(ushort *)((int)piVar5 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) })) })) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "piVar5 = piVar5 + 0xc;" (assignment_expression "piVar5 = piVar5 + 0xc" identifier = (binary_expression "piVar5 + 0xc" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar6 < iVar4)" ( (binary_expression "iVar6 < iVar4" identifier < identifier) )) ;) })) (expression_statement "local_34 = *(char **)(local_34 + 0x10);" (assignment_expression "local_34 = *(char **)(local_34 + 0x10)" identifier = (pointer_expression "*(char **)(local_34 + 0x10)" * (cast_expression "(char **)(local_34 + 0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_34 + 0x10)" ( (binary_expression "local_34 + 0x10" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(*local_34 == ',')" ( (binary_expression "*local_34 == ','" (pointer_expression "*local_34" * identifier) == (char_literal "','" ' character ')) )) ;) }) (else_clause "else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }" else (compound_statement "{\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }" { (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" identifier = (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) }))) (expression_statement "piVar5 = *(int **)(param_3 + 0x14);" (assignment_expression "piVar5 = *(int **)(param_3 + 0x14)" identifier = (pointer_expression "*(int **)(param_3 + 0x14)" * (cast_expression "(int **)(param_3 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 0x14)" ( (binary_expression "param_3 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }" if (parenthesized_expression "(0 < iVar4)" ( (binary_expression "0 < iVar4" number_literal < identifier) )) (compound_statement "{\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);" do (compound_statement "{\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        }" { (if_statement "if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }" if (parenthesized_expression "(((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0))" ( (binary_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)" (parenthesized_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0)" ( (binary_expression "(*(byte *)((int)piVar5 + 10) & 4) == 0" (parenthesized_expression "(*(byte *)((int)piVar5 + 10) & 4)" ( (binary_expression "*(byte *)((int)piVar5 + 10) & 4" (pointer_expression "*(byte *)((int)piVar5 + 10)" * (cast_expression "(byte *)((int)piVar5 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "(*piVar5 != 0)" ( (binary_expression "*piVar5 != 0" (pointer_expression "*piVar5" * identifier) != number_literal) ))) )) (compound_statement "{\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }" { (expression_statement "iVar3 = FUN_00060e20(param_2);" (assignment_expression "iVar3 = FUN_00060e20(param_2)" identifier = (call_expression "FUN_00060e20(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" identifier = (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }" { (expression_statement "*(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;" (assignment_expression "*(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" * (cast_expression "(ushort *)((int)piVar5 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" * (cast_expression "(ushort *)((int)piVar5 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) })) })) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "piVar5 = piVar5 + 0xc;" (assignment_expression "piVar5 = piVar5 + 0xc" identifier = (binary_expression "piVar5 + 0xc" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar6 < iVar4)" ( (binary_expression "iVar6 < iVar4" identifier < identifier) )) ;) })) (expression_statement "local_30 = *(char **)(local_30 + 0x10);" (assignment_expression "local_30 = *(char **)(local_30 + 0x10)" identifier = (pointer_expression "*(char **)(local_30 + 0x10)" * (cast_expression "(char **)(local_30 + 0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_30 + 0x10)" ( (binary_expression "local_30 + 0x10" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(*local_30 == ',')" ( (binary_expression "*local_30 == ','" (pointer_expression "*local_30" * identifier) == (char_literal "','" ' character ')) )) ;) }) (else_clause "else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }" else (compound_statement "{\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }" { (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" identifier = (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) }))) (expression_statement "piVar5 = *(int **)(param_3 + 0x14);" (assignment_expression "piVar5 = *(int **)(param_3 + 0x14)" identifier = (pointer_expression "*(int **)(param_3 + 0x14)" * (cast_expression "(int **)(param_3 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 0x14)" ( (binary_expression "param_3 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }" if (parenthesized_expression "(0 < iVar4)" ( (binary_expression "0 < iVar4" number_literal < identifier) )) (compound_statement "{\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);" do (compound_statement "{\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    }" { (if_statement "if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }" if (parenthesized_expression "(((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0))" ( (binary_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)" (parenthesized_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0)" ( (binary_expression "(*(byte *)((int)piVar5 + 10) & 4) == 0" (parenthesized_expression "(*(byte *)((int)piVar5 + 10) & 4)" ( (binary_expression "*(byte *)((int)piVar5 + 10) & 4" (pointer_expression "*(byte *)((int)piVar5 + 10)" * (cast_expression "(byte *)((int)piVar5 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "(*piVar5 != 0)" ( (binary_expression "*piVar5 != 0" (pointer_expression "*piVar5" * identifier) != number_literal) ))) )) (compound_statement "{\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }" { (expression_statement "iVar3 = FUN_00060e20(param_2);" (assignment_expression "iVar3 = FUN_00060e20(param_2)" identifier = (call_expression "FUN_00060e20(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" identifier = (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }" { (expression_statement "*(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;" (assignment_expression "*(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" * (cast_expression "(ushort *)((int)piVar5 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" * (cast_expression "(ushort *)((int)piVar5 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) })) })) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "piVar5 = piVar5 + 0xc;" (assignment_expression "piVar5 = piVar5 + 0xc" identifier = (binary_expression "piVar5 + 0xc" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar6 < iVar4)" ( (binary_expression "iVar6 < iVar4" identifier < identifier) )) ;) })) (expression_statement "local_2c = *(char **)(local_2c + 0x10);" (assignment_expression "local_2c = *(char **)(local_2c + 0x10)" identifier = (pointer_expression "*(char **)(local_2c + 0x10)" * (cast_expression "(char **)(local_2c + 0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_2c + 0x10)" ( (binary_expression "local_2c + 0x10" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(*local_2c == ',')" ( (binary_expression "*local_2c == ','" (pointer_expression "*local_2c" * identifier) == (char_literal "','" ' character ')) )) ;) }) (else_clause "else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }" else (compound_statement "{\n                iVar4 = *(int *)(param_3 + 0xc);\n              }" { (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" identifier = (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) }))) (expression_statement "piVar5 = *(int **)(param_3 + 0x14);" (assignment_expression "piVar5 = *(int **)(param_3 + 0x14)" identifier = (pointer_expression "*(int **)(param_3 + 0x14)" * (cast_expression "(int **)(param_3 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 0x14)" ( (binary_expression "param_3 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }" if (parenthesized_expression "(0 < iVar4)" ( (binary_expression "0 < iVar4" number_literal < identifier) )) (compound_statement "{\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);" do (compound_statement "{\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                }" { (if_statement "if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }" if (parenthesized_expression "(((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0))" ( (binary_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)" (parenthesized_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0)" ( (binary_expression "(*(byte *)((int)piVar5 + 10) & 4) == 0" (parenthesized_expression "(*(byte *)((int)piVar5 + 10) & 4)" ( (binary_expression "*(byte *)((int)piVar5 + 10) & 4" (pointer_expression "*(byte *)((int)piVar5 + 10)" * (cast_expression "(byte *)((int)piVar5 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "(*piVar5 != 0)" ( (binary_expression "*piVar5 != 0" (pointer_expression "*piVar5" * identifier) != number_literal) ))) )) (compound_statement "{\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }" { (expression_statement "iVar3 = FUN_00060e20(param_2);" (assignment_expression "iVar3 = FUN_00060e20(param_2)" identifier = (call_expression "FUN_00060e20(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" identifier = (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }" { (expression_statement "*(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;" (assignment_expression "*(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" * (cast_expression "(ushort *)((int)piVar5 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" * (cast_expression "(ushort *)((int)piVar5 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) })) })) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "piVar5 = piVar5 + 0xc;" (assignment_expression "piVar5 = piVar5 + 0xc" identifier = (binary_expression "piVar5 + 0xc" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar6 < iVar4)" ( (binary_expression "iVar6 < iVar4" identifier < identifier) )) ;) })) (expression_statement "local_24 = *(char **)(local_24 + 0x10);" (assignment_expression "local_24 = *(char **)(local_24 + 0x10)" identifier = (pointer_expression "*(char **)(local_24 + 0x10)" * (cast_expression "(char **)(local_24 + 0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_24 + 0x10)" ( (binary_expression "local_24 + 0x10" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(*local_24 == ',')" ( (binary_expression "*local_24 == ','" (pointer_expression "*local_24" * identifier) == (char_literal "','" ' character ')) )) ;) }) (else_clause "else {\n            iVar4 = *(int *)(param_3 + 0xc);\n          }" else (compound_statement "{\n            iVar4 = *(int *)(param_3 + 0xc);\n          }" { (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" identifier = (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) }))) (if_statement "if (0 < iVar4) {\n            piVar5 = *(int **)(param_3 + 0x14);\n            iVar6 = 0;\n            do {\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            } while (iVar6 < iVar4);\n          }" if (parenthesized_expression "(0 < iVar4)" ( (binary_expression "0 < iVar4" number_literal < identifier) )) (compound_statement "{\n            piVar5 = *(int **)(param_3 + 0x14);\n            iVar6 = 0;\n            do {\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            } while (iVar6 < iVar4);\n          }" { (expression_statement "piVar5 = *(int **)(param_3 + 0x14);" (assignment_expression "piVar5 = *(int **)(param_3 + 0x14)" identifier = (pointer_expression "*(int **)(param_3 + 0x14)" * (cast_expression "(int **)(param_3 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 0x14)" ( (binary_expression "param_3 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            } while (iVar6 < iVar4);" do (compound_statement "{\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            }" { (if_statement "if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }" if (parenthesized_expression "(((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0))" ( (binary_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)" (parenthesized_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0)" ( (binary_expression "(*(byte *)((int)piVar5 + 10) & 4) == 0" (parenthesized_expression "(*(byte *)((int)piVar5 + 10) & 4)" ( (binary_expression "*(byte *)((int)piVar5 + 10) & 4" (pointer_expression "*(byte *)((int)piVar5 + 10)" * (cast_expression "(byte *)((int)piVar5 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "(*piVar5 != 0)" ( (binary_expression "*piVar5 != 0" (pointer_expression "*piVar5" * identifier) != number_literal) ))) )) (compound_statement "{\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }" { (expression_statement "iVar3 = FUN_00060e20(param_2);" (assignment_expression "iVar3 = FUN_00060e20(param_2)" identifier = (call_expression "FUN_00060e20(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" identifier = (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }" { (expression_statement "*(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;" (assignment_expression "*(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" * (cast_expression "(ushort *)((int)piVar5 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" * (cast_expression "(ushort *)((int)piVar5 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) })) })) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "piVar5 = piVar5 + 0xc;" (assignment_expression "piVar5 = piVar5 + 0xc" identifier = (binary_expression "piVar5 + 0xc" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar6 < iVar4)" ( (binary_expression "iVar6 < iVar4" identifier < identifier) )) ;) })) (expression_statement "local_28 = *(char **)(local_28 + 0x10);" (assignment_expression "local_28 = *(char **)(local_28 + 0x10)" identifier = (pointer_expression "*(char **)(local_28 + 0x10)" * (cast_expression "(char **)(local_28 + 0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_28 + 0x10)" ( (binary_expression "local_28 + 0x10" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(*local_28 == ',')" ( (binary_expression "*local_28 == ','" (pointer_expression "*local_28" * identifier) == (char_literal "','" ' character ')) )) ;) }) (else_clause "else {\n        iVar4 = *(int *)(param_3 + 0xc);\n      }" else (compound_statement "{\n        iVar4 = *(int *)(param_3 + 0xc);\n      }" { (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" identifier = (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) }))) (expression_statement "piVar5 = *(int **)(param_3 + 0x14);" (assignment_expression "piVar5 = *(int **)(param_3 + 0x14)" identifier = (pointer_expression "*(int **)(param_3 + 0x14)" * (cast_expression "(int **)(param_3 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 0x14)" ( (binary_expression "param_3 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (0 < iVar4) {\n        iVar6 = 0;\n        do {\n          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n            iVar3 = FUN_00060e20(param_2);\n            iVar4 = *(int *)(param_3 + 0xc);\n            if (iVar3 == 0) {\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }\n          }\n          iVar6 = iVar6 + 1;\n          piVar5 = piVar5 + 0xc;\n        } while (iVar6 < iVar4);\n      }" if (parenthesized_expression "(0 < iVar4)" ( (binary_expression "0 < iVar4" number_literal < identifier) )) (compound_statement "{\n        iVar6 = 0;\n        do {\n          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n            iVar3 = FUN_00060e20(param_2);\n            iVar4 = *(int *)(param_3 + 0xc);\n            if (iVar3 == 0) {\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }\n          }\n          iVar6 = iVar6 + 1;\n          piVar5 = piVar5 + 0xc;\n        } while (iVar6 < iVar4);\n      }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n            iVar3 = FUN_00060e20(param_2);\n            iVar4 = *(int *)(param_3 + 0xc);\n            if (iVar3 == 0) {\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }\n          }\n          iVar6 = iVar6 + 1;\n          piVar5 = piVar5 + 0xc;\n        } while (iVar6 < iVar4);" do (compound_statement "{\n          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n            iVar3 = FUN_00060e20(param_2);\n            iVar4 = *(int *)(param_3 + 0xc);\n            if (iVar3 == 0) {\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }\n          }\n          iVar6 = iVar6 + 1;\n          piVar5 = piVar5 + 0xc;\n        }" { (if_statement "if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n            iVar3 = FUN_00060e20(param_2);\n            iVar4 = *(int *)(param_3 + 0xc);\n            if (iVar3 == 0) {\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }\n          }" if (parenthesized_expression "(((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0))" ( (binary_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)" (parenthesized_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0)" ( (binary_expression "(*(byte *)((int)piVar5 + 10) & 4) == 0" (parenthesized_expression "(*(byte *)((int)piVar5 + 10) & 4)" ( (binary_expression "*(byte *)((int)piVar5 + 10) & 4" (pointer_expression "*(byte *)((int)piVar5 + 10)" * (cast_expression "(byte *)((int)piVar5 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "(*piVar5 != 0)" ( (binary_expression "*piVar5 != 0" (pointer_expression "*piVar5" * identifier) != number_literal) ))) )) (compound_statement "{\n            iVar3 = FUN_00060e20(param_2);\n            iVar4 = *(int *)(param_3 + 0xc);\n            if (iVar3 == 0) {\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }\n          }" { (expression_statement "iVar3 = FUN_00060e20(param_2);" (assignment_expression "iVar3 = FUN_00060e20(param_2)" identifier = (call_expression "FUN_00060e20(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" identifier = (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (iVar3 == 0) {\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }" { (expression_statement "*(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;" (assignment_expression "*(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" * (cast_expression "(ushort *)((int)piVar5 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" * (cast_expression "(ushort *)((int)piVar5 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) })) })) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "piVar5 = piVar5 + 0xc;" (assignment_expression "piVar5 = piVar5 + 0xc" identifier = (binary_expression "piVar5 + 0xc" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar6 < iVar4)" ( (binary_expression "iVar6 < iVar4" identifier < identifier) )) ;) })) (expression_statement "local_20 = *(char **)(local_20 + 0x10);" (assignment_expression "local_20 = *(char **)(local_20 + 0x10)" identifier = (pointer_expression "*(char **)(local_20 + 0x10)" * (cast_expression "(char **)(local_20 + 0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_20 + 0x10)" ( (binary_expression "local_20 + 0x10" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(*local_20 == ',')" ( (binary_expression "*local_20 == ','" (pointer_expression "*local_20" * identifier) == (char_literal "','" ' character ')) )) ;) }) (else_clause "else {\n    iVar4 = *(int *)(param_3 + 0xc);\n  }" else (compound_statement "{\n    iVar4 = *(int *)(param_3 + 0xc);\n  }" { (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" identifier = (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) }))) (expression_statement "piVar5 = *(int **)(param_3 + 0x14);" (assignment_expression "piVar5 = *(int **)(param_3 + 0x14)" identifier = (pointer_expression "*(int **)(param_3 + 0x14)" * (cast_expression "(int **)(param_3 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 0x14)" ( (binary_expression "param_3 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (0 < iVar4) {\n    iVar6 = 0;\n    do {\n      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n        iVar4 = FUN_00060e20(param_2);\n        if (iVar4 == 0) {\n          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n        else {\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n      }\n      iVar6 = iVar6 + 1;\n      piVar5 = piVar5 + 0xc;\n    } while (iVar6 < iVar4);\n  }" if (parenthesized_expression "(0 < iVar4)" ( (binary_expression "0 < iVar4" number_literal < identifier) )) (compound_statement "{\n    iVar6 = 0;\n    do {\n      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n        iVar4 = FUN_00060e20(param_2);\n        if (iVar4 == 0) {\n          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n        else {\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n      }\n      iVar6 = iVar6 + 1;\n      piVar5 = piVar5 + 0xc;\n    } while (iVar6 < iVar4);\n  }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n        iVar4 = FUN_00060e20(param_2);\n        if (iVar4 == 0) {\n          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n        else {\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n      }\n      iVar6 = iVar6 + 1;\n      piVar5 = piVar5 + 0xc;\n    } while (iVar6 < iVar4);" do (compound_statement "{\n      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n        iVar4 = FUN_00060e20(param_2);\n        if (iVar4 == 0) {\n          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n        else {\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n      }\n      iVar6 = iVar6 + 1;\n      piVar5 = piVar5 + 0xc;\n    }" { (if_statement "if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n        iVar4 = FUN_00060e20(param_2);\n        if (iVar4 == 0) {\n          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n        else {\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n      }" if (parenthesized_expression "(((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0))" ( (binary_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)" (parenthesized_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0)" ( (binary_expression "(*(byte *)((int)piVar5 + 10) & 4) == 0" (parenthesized_expression "(*(byte *)((int)piVar5 + 10) & 4)" ( (binary_expression "*(byte *)((int)piVar5 + 10) & 4" (pointer_expression "*(byte *)((int)piVar5 + 10)" * (cast_expression "(byte *)((int)piVar5 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "(*piVar5 != 0)" ( (binary_expression "*piVar5 != 0" (pointer_expression "*piVar5" * identifier) != number_literal) ))) )) (compound_statement "{\n        iVar4 = FUN_00060e20(param_2);\n        if (iVar4 == 0) {\n          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n        else {\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n      }" { (expression_statement "iVar4 = FUN_00060e20(param_2);" (assignment_expression "iVar4 = FUN_00060e20(param_2)" identifier = (call_expression "FUN_00060e20(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (if_statement "if (iVar4 == 0) {\n          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n        else {\n          iVar4 = *(int *)(param_3 + 0xc);\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n          iVar4 = *(int *)(param_3 + 0xc);\n        }" { (expression_statement "*(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;" (assignment_expression "*(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" * (cast_expression "(ushort *)((int)piVar5 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" * (cast_expression "(ushort *)((int)piVar5 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" identifier = (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          iVar4 = *(int *)(param_3 + 0xc);\n        }" else (compound_statement "{\n          iVar4 = *(int *)(param_3 + 0xc);\n        }" { (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" identifier = (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) }))) })) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "piVar5 = piVar5 + 0xc;" (assignment_expression "piVar5 = piVar5 + 0xc" identifier = (binary_expression "piVar5 + 0xc" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar6 < iVar4)" ( (binary_expression "iVar6 < iVar4" identifier < identifier) )) ;) })) (return_statement "return;" return ;) })))
(translation_unit "void __regparm3 whereApplyPartialIndexConstraints(Expr *pTruth,int iTabCur,WhereClause *pWC)\n\n{\n  u8 uVar1;\n  Expr *pB;\n  int iVar2;\n  int iVar3;\n  WhereTerm *pWVar4;\n  int iVar5;\n  Expr *local_40;\n  Expr *local_38;\n  Expr *local_34;\n  Expr *local_30;\n  Expr *local_2c;\n  Expr *local_28;\n  Expr *local_24;\n  Expr *local_20;\n  \n  local_20 = pTruth;\n  if (pTruth->op == ',') {\n    do {\n      local_28 = local_20->pLeft;\n      if (local_28->op == ',') {\n        do {\n          local_24 = local_28->pLeft;\n          if (local_24->op == ',') {\n            do {\n              local_2c = local_24->pLeft;\n              if (local_2c->op == ',') {\n                do {\n                  local_30 = local_2c->pLeft;\n                  if (local_30->op == ',') {\n                    do {\n                      local_34 = local_30->pLeft;\n                      if (local_34->op == ',') {\n                        do {\n                          local_38 = local_34->pLeft;\n                          if (local_38->op == ',') {\n                            do {\n                              local_40 = local_38->pLeft;\n                              if (local_40->op == ',') {\n                                do {\n                                  pB = local_40->pLeft;\n                                  uVar1 = pB->op;\n                                  while (uVar1 == ',') {\n                                    whereApplyPartialIndexConstraints(pB->pLeft,iTabCur,pWC);\n                                    pB = pB->pRight;\n                                    uVar1 = pB->op;\n                                  }\n                                  iVar3 = pWC->nTerm;\n                                  pWVar4 = pWC->a;\n                                  if (0 < iVar3) {\n                                    iVar5 = 0;\n                                    do {\n                                      if (((pWVar4->wtFlags & 4) == 0) &&\n                                         (pWVar4->pExpr != (Expr *)0x0)) {\n                                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur);\n                                        iVar3 = pWC->nTerm;\n                                        if (iVar2 == 0) {\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }\n                                      }\n                                      iVar5 = iVar5 + 1;\n                                      pWVar4 = pWVar4 + 1;\n                                    } while (iVar5 < iVar3);\n                                  }\n                                  local_40 = local_40->pRight;\n                                } while (local_40->op == ',');\n                              }\n                              else {\n                                iVar3 = pWC->nTerm;\n                              }\n                              pWVar4 = pWC->a;\n                              if (0 < iVar3) {\n                                iVar5 = 0;\n                                do {\n                                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)\n                                     ) {\n                                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_40,\n                                                               iTabCur);\n                                    iVar3 = pWC->nTerm;\n                                    if (iVar2 == 0) {\n                                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                    }\n                                  }\n                                  iVar5 = iVar5 + 1;\n                                  pWVar4 = pWVar4 + 1;\n                                } while (iVar5 < iVar3);\n                              }\n                              local_38 = local_38->pRight;\n                            } while (local_38->op == ',');\n                          }\n                          else {\n                            iVar3 = pWC->nTerm;\n                          }\n                          pWVar4 = pWC->a;\n                          if (0 < iVar3) {\n                            iVar5 = 0;\n                            do {\n                              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_38,\n                                                           iTabCur);\n                                iVar3 = pWC->nTerm;\n                                if (iVar2 == 0) {\n                                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                }\n                              }\n                              iVar5 = iVar5 + 1;\n                              pWVar4 = pWVar4 + 1;\n                            } while (iVar5 < iVar3);\n                          }\n                          local_34 = local_34->pRight;\n                        } while (local_34->op == ',');\n                      }\n                      else {\n                        iVar3 = pWC->nTerm;\n                      }\n                      pWVar4 = pWC->a;\n                      if (0 < iVar3) {\n                        iVar5 = 0;\n                        do {\n                          if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_34,iTabCur);\n                            iVar3 = pWC->nTerm;\n                            if (iVar2 == 0) {\n                              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                            }\n                          }\n                          iVar5 = iVar5 + 1;\n                          pWVar4 = pWVar4 + 1;\n                        } while (iVar5 < iVar3);\n                      }\n                      local_30 = local_30->pRight;\n                    } while (local_30->op == ',');\n                  }\n                  else {\n                    iVar3 = pWC->nTerm;\n                  }\n                  pWVar4 = pWC->a;\n                  if (0 < iVar3) {\n                    iVar5 = 0;\n                    do {\n                      if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_30,iTabCur);\n                        iVar3 = pWC->nTerm;\n                        if (iVar2 == 0) {\n                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                        }\n                      }\n                      iVar5 = iVar5 + 1;\n                      pWVar4 = pWVar4 + 1;\n                    } while (iVar5 < iVar3);\n                  }\n                  local_2c = local_2c->pRight;\n                } while (local_2c->op == ',');\n              }\n              else {\n                iVar3 = pWC->nTerm;\n              }\n              pWVar4 = pWC->a;\n              if (0 < iVar3) {\n                iVar5 = 0;\n                do {\n                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_2c,iTabCur);\n                    iVar3 = pWC->nTerm;\n                    if (iVar2 == 0) {\n                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                    }\n                  }\n                  iVar5 = iVar5 + 1;\n                  pWVar4 = pWVar4 + 1;\n                } while (iVar5 < iVar3);\n              }\n              local_24 = local_24->pRight;\n            } while (local_24->op == ',');\n          }\n          else {\n            iVar3 = pWC->nTerm;\n          }\n          if (0 < iVar3) {\n            pWVar4 = pWC->a;\n            iVar5 = 0;\n            do {\n              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_24,iTabCur);\n                iVar3 = pWC->nTerm;\n                if (iVar2 == 0) {\n                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                }\n              }\n              iVar5 = iVar5 + 1;\n              pWVar4 = pWVar4 + 1;\n            } while (iVar5 < iVar3);\n          }\n          local_28 = local_28->pRight;\n        } while (local_28->op == ',');\n      }\n      else {\n        iVar3 = pWC->nTerm;\n      }\n      pWVar4 = pWC->a;\n      if (0 < iVar3) {\n        iVar5 = 0;\n        do {\n          if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_28,iTabCur);\n            iVar3 = pWC->nTerm;\n            if (iVar2 == 0) {\n              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n            }\n          }\n          iVar5 = iVar5 + 1;\n          pWVar4 = pWVar4 + 1;\n        } while (iVar5 < iVar3);\n      }\n      local_20 = local_20->pRight;\n    } while (local_20->op == ',');\n  }\n  else {\n    iVar3 = pWC->nTerm;\n  }\n  pWVar4 = pWC->a;\n  if (0 < iVar3) {\n    iVar5 = 0;\n    do {\n      if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n        iVar3 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_20,iTabCur);\n        if (iVar3 == 0) {\n          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n          iVar3 = pWC->nTerm;\n        }\n        else {\n          iVar3 = pWC->nTerm;\n        }\n      }\n      iVar5 = iVar5 + 1;\n      pWVar4 = pWVar4 + 1;\n    } while (iVar5 < iVar3);\n  }\n  return;\n}\n\n" (function_definition "void __regparm3 whereApplyPartialIndexConstraints(Expr *pTruth,int iTabCur,WhereClause *pWC)\n\n{\n  u8 uVar1;\n  Expr *pB;\n  int iVar2;\n  int iVar3;\n  WhereTerm *pWVar4;\n  int iVar5;\n  Expr *local_40;\n  Expr *local_38;\n  Expr *local_34;\n  Expr *local_30;\n  Expr *local_2c;\n  Expr *local_28;\n  Expr *local_24;\n  Expr *local_20;\n  \n  local_20 = pTruth;\n  if (pTruth->op == ',') {\n    do {\n      local_28 = local_20->pLeft;\n      if (local_28->op == ',') {\n        do {\n          local_24 = local_28->pLeft;\n          if (local_24->op == ',') {\n            do {\n              local_2c = local_24->pLeft;\n              if (local_2c->op == ',') {\n                do {\n                  local_30 = local_2c->pLeft;\n                  if (local_30->op == ',') {\n                    do {\n                      local_34 = local_30->pLeft;\n                      if (local_34->op == ',') {\n                        do {\n                          local_38 = local_34->pLeft;\n                          if (local_38->op == ',') {\n                            do {\n                              local_40 = local_38->pLeft;\n                              if (local_40->op == ',') {\n                                do {\n                                  pB = local_40->pLeft;\n                                  uVar1 = pB->op;\n                                  while (uVar1 == ',') {\n                                    whereApplyPartialIndexConstraints(pB->pLeft,iTabCur,pWC);\n                                    pB = pB->pRight;\n                                    uVar1 = pB->op;\n                                  }\n                                  iVar3 = pWC->nTerm;\n                                  pWVar4 = pWC->a;\n                                  if (0 < iVar3) {\n                                    iVar5 = 0;\n                                    do {\n                                      if (((pWVar4->wtFlags & 4) == 0) &&\n                                         (pWVar4->pExpr != (Expr *)0x0)) {\n                                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur);\n                                        iVar3 = pWC->nTerm;\n                                        if (iVar2 == 0) {\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }\n                                      }\n                                      iVar5 = iVar5 + 1;\n                                      pWVar4 = pWVar4 + 1;\n                                    } while (iVar5 < iVar3);\n                                  }\n                                  local_40 = local_40->pRight;\n                                } while (local_40->op == ',');\n                              }\n                              else {\n                                iVar3 = pWC->nTerm;\n                              }\n                              pWVar4 = pWC->a;\n                              if (0 < iVar3) {\n                                iVar5 = 0;\n                                do {\n                                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)\n                                     ) {\n                                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_40,\n                                                               iTabCur);\n                                    iVar3 = pWC->nTerm;\n                                    if (iVar2 == 0) {\n                                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                    }\n                                  }\n                                  iVar5 = iVar5 + 1;\n                                  pWVar4 = pWVar4 + 1;\n                                } while (iVar5 < iVar3);\n                              }\n                              local_38 = local_38->pRight;\n                            } while (local_38->op == ',');\n                          }\n                          else {\n                            iVar3 = pWC->nTerm;\n                          }\n                          pWVar4 = pWC->a;\n                          if (0 < iVar3) {\n                            iVar5 = 0;\n                            do {\n                              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_38,\n                                                           iTabCur);\n                                iVar3 = pWC->nTerm;\n                                if (iVar2 == 0) {\n                                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                }\n                              }\n                              iVar5 = iVar5 + 1;\n                              pWVar4 = pWVar4 + 1;\n                            } while (iVar5 < iVar3);\n                          }\n                          local_34 = local_34->pRight;\n                        } while (local_34->op == ',');\n                      }\n                      else {\n                        iVar3 = pWC->nTerm;\n                      }\n                      pWVar4 = pWC->a;\n                      if (0 < iVar3) {\n                        iVar5 = 0;\n                        do {\n                          if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_34,iTabCur);\n                            iVar3 = pWC->nTerm;\n                            if (iVar2 == 0) {\n                              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                            }\n                          }\n                          iVar5 = iVar5 + 1;\n                          pWVar4 = pWVar4 + 1;\n                        } while (iVar5 < iVar3);\n                      }\n                      local_30 = local_30->pRight;\n                    } while (local_30->op == ',');\n                  }\n                  else {\n                    iVar3 = pWC->nTerm;\n                  }\n                  pWVar4 = pWC->a;\n                  if (0 < iVar3) {\n                    iVar5 = 0;\n                    do {\n                      if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_30,iTabCur);\n                        iVar3 = pWC->nTerm;\n                        if (iVar2 == 0) {\n                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                        }\n                      }\n                      iVar5 = iVar5 + 1;\n                      pWVar4 = pWVar4 + 1;\n                    } while (iVar5 < iVar3);\n                  }\n                  local_2c = local_2c->pRight;\n                } while (local_2c->op == ',');\n              }\n              else {\n                iVar3 = pWC->nTerm;\n              }\n              pWVar4 = pWC->a;\n              if (0 < iVar3) {\n                iVar5 = 0;\n                do {\n                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_2c,iTabCur);\n                    iVar3 = pWC->nTerm;\n                    if (iVar2 == 0) {\n                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                    }\n                  }\n                  iVar5 = iVar5 + 1;\n                  pWVar4 = pWVar4 + 1;\n                } while (iVar5 < iVar3);\n              }\n              local_24 = local_24->pRight;\n            } while (local_24->op == ',');\n          }\n          else {\n            iVar3 = pWC->nTerm;\n          }\n          if (0 < iVar3) {\n            pWVar4 = pWC->a;\n            iVar5 = 0;\n            do {\n              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_24,iTabCur);\n                iVar3 = pWC->nTerm;\n                if (iVar2 == 0) {\n                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                }\n              }\n              iVar5 = iVar5 + 1;\n              pWVar4 = pWVar4 + 1;\n            } while (iVar5 < iVar3);\n          }\n          local_28 = local_28->pRight;\n        } while (local_28->op == ',');\n      }\n      else {\n        iVar3 = pWC->nTerm;\n      }\n      pWVar4 = pWC->a;\n      if (0 < iVar3) {\n        iVar5 = 0;\n        do {\n          if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_28,iTabCur);\n            iVar3 = pWC->nTerm;\n            if (iVar2 == 0) {\n              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n            }\n          }\n          iVar5 = iVar5 + 1;\n          pWVar4 = pWVar4 + 1;\n        } while (iVar5 < iVar3);\n      }\n      local_20 = local_20->pRight;\n    } while (local_20->op == ',');\n  }\n  else {\n    iVar3 = pWC->nTerm;\n  }\n  pWVar4 = pWC->a;\n  if (0 < iVar3) {\n    iVar5 = 0;\n    do {\n      if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n        iVar3 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_20,iTabCur);\n        if (iVar3 == 0) {\n          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n          iVar3 = pWC->nTerm;\n        }\n        else {\n          iVar3 = pWC->nTerm;\n        }\n      }\n      iVar5 = iVar5 + 1;\n      pWVar4 = pWVar4 + 1;\n    } while (iVar5 < iVar3);\n  }\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "whereApplyPartialIndexConstraints(Expr *pTruth,int iTabCur,WhereClause *pWC)" identifier (parameter_list "(Expr *pTruth,int iTabCur,WhereClause *pWC)" ( (parameter_declaration "Expr *pTruth" type_identifier (pointer_declarator "*pTruth" * identifier)) , (parameter_declaration "int iTabCur" primitive_type identifier) , (parameter_declaration "WhereClause *pWC" type_identifier (pointer_declarator "*pWC" * identifier)) ))) (compound_statement "{\n  u8 uVar1;\n  Expr *pB;\n  int iVar2;\n  int iVar3;\n  WhereTerm *pWVar4;\n  int iVar5;\n  Expr *local_40;\n  Expr *local_38;\n  Expr *local_34;\n  Expr *local_30;\n  Expr *local_2c;\n  Expr *local_28;\n  Expr *local_24;\n  Expr *local_20;\n  \n  local_20 = pTruth;\n  if (pTruth->op == ',') {\n    do {\n      local_28 = local_20->pLeft;\n      if (local_28->op == ',') {\n        do {\n          local_24 = local_28->pLeft;\n          if (local_24->op == ',') {\n            do {\n              local_2c = local_24->pLeft;\n              if (local_2c->op == ',') {\n                do {\n                  local_30 = local_2c->pLeft;\n                  if (local_30->op == ',') {\n                    do {\n                      local_34 = local_30->pLeft;\n                      if (local_34->op == ',') {\n                        do {\n                          local_38 = local_34->pLeft;\n                          if (local_38->op == ',') {\n                            do {\n                              local_40 = local_38->pLeft;\n                              if (local_40->op == ',') {\n                                do {\n                                  pB = local_40->pLeft;\n                                  uVar1 = pB->op;\n                                  while (uVar1 == ',') {\n                                    whereApplyPartialIndexConstraints(pB->pLeft,iTabCur,pWC);\n                                    pB = pB->pRight;\n                                    uVar1 = pB->op;\n                                  }\n                                  iVar3 = pWC->nTerm;\n                                  pWVar4 = pWC->a;\n                                  if (0 < iVar3) {\n                                    iVar5 = 0;\n                                    do {\n                                      if (((pWVar4->wtFlags & 4) == 0) &&\n                                         (pWVar4->pExpr != (Expr *)0x0)) {\n                                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur);\n                                        iVar3 = pWC->nTerm;\n                                        if (iVar2 == 0) {\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }\n                                      }\n                                      iVar5 = iVar5 + 1;\n                                      pWVar4 = pWVar4 + 1;\n                                    } while (iVar5 < iVar3);\n                                  }\n                                  local_40 = local_40->pRight;\n                                } while (local_40->op == ',');\n                              }\n                              else {\n                                iVar3 = pWC->nTerm;\n                              }\n                              pWVar4 = pWC->a;\n                              if (0 < iVar3) {\n                                iVar5 = 0;\n                                do {\n                                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)\n                                     ) {\n                                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_40,\n                                                               iTabCur);\n                                    iVar3 = pWC->nTerm;\n                                    if (iVar2 == 0) {\n                                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                    }\n                                  }\n                                  iVar5 = iVar5 + 1;\n                                  pWVar4 = pWVar4 + 1;\n                                } while (iVar5 < iVar3);\n                              }\n                              local_38 = local_38->pRight;\n                            } while (local_38->op == ',');\n                          }\n                          else {\n                            iVar3 = pWC->nTerm;\n                          }\n                          pWVar4 = pWC->a;\n                          if (0 < iVar3) {\n                            iVar5 = 0;\n                            do {\n                              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_38,\n                                                           iTabCur);\n                                iVar3 = pWC->nTerm;\n                                if (iVar2 == 0) {\n                                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                }\n                              }\n                              iVar5 = iVar5 + 1;\n                              pWVar4 = pWVar4 + 1;\n                            } while (iVar5 < iVar3);\n                          }\n                          local_34 = local_34->pRight;\n                        } while (local_34->op == ',');\n                      }\n                      else {\n                        iVar3 = pWC->nTerm;\n                      }\n                      pWVar4 = pWC->a;\n                      if (0 < iVar3) {\n                        iVar5 = 0;\n                        do {\n                          if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_34,iTabCur);\n                            iVar3 = pWC->nTerm;\n                            if (iVar2 == 0) {\n                              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                            }\n                          }\n                          iVar5 = iVar5 + 1;\n                          pWVar4 = pWVar4 + 1;\n                        } while (iVar5 < iVar3);\n                      }\n                      local_30 = local_30->pRight;\n                    } while (local_30->op == ',');\n                  }\n                  else {\n                    iVar3 = pWC->nTerm;\n                  }\n                  pWVar4 = pWC->a;\n                  if (0 < iVar3) {\n                    iVar5 = 0;\n                    do {\n                      if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_30,iTabCur);\n                        iVar3 = pWC->nTerm;\n                        if (iVar2 == 0) {\n                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                        }\n                      }\n                      iVar5 = iVar5 + 1;\n                      pWVar4 = pWVar4 + 1;\n                    } while (iVar5 < iVar3);\n                  }\n                  local_2c = local_2c->pRight;\n                } while (local_2c->op == ',');\n              }\n              else {\n                iVar3 = pWC->nTerm;\n              }\n              pWVar4 = pWC->a;\n              if (0 < iVar3) {\n                iVar5 = 0;\n                do {\n                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_2c,iTabCur);\n                    iVar3 = pWC->nTerm;\n                    if (iVar2 == 0) {\n                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                    }\n                  }\n                  iVar5 = iVar5 + 1;\n                  pWVar4 = pWVar4 + 1;\n                } while (iVar5 < iVar3);\n              }\n              local_24 = local_24->pRight;\n            } while (local_24->op == ',');\n          }\n          else {\n            iVar3 = pWC->nTerm;\n          }\n          if (0 < iVar3) {\n            pWVar4 = pWC->a;\n            iVar5 = 0;\n            do {\n              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_24,iTabCur);\n                iVar3 = pWC->nTerm;\n                if (iVar2 == 0) {\n                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                }\n              }\n              iVar5 = iVar5 + 1;\n              pWVar4 = pWVar4 + 1;\n            } while (iVar5 < iVar3);\n          }\n          local_28 = local_28->pRight;\n        } while (local_28->op == ',');\n      }\n      else {\n        iVar3 = pWC->nTerm;\n      }\n      pWVar4 = pWC->a;\n      if (0 < iVar3) {\n        iVar5 = 0;\n        do {\n          if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_28,iTabCur);\n            iVar3 = pWC->nTerm;\n            if (iVar2 == 0) {\n              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n            }\n          }\n          iVar5 = iVar5 + 1;\n          pWVar4 = pWVar4 + 1;\n        } while (iVar5 < iVar3);\n      }\n      local_20 = local_20->pRight;\n    } while (local_20->op == ',');\n  }\n  else {\n    iVar3 = pWC->nTerm;\n  }\n  pWVar4 = pWC->a;\n  if (0 < iVar3) {\n    iVar5 = 0;\n    do {\n      if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n        iVar3 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_20,iTabCur);\n        if (iVar3 == 0) {\n          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n          iVar3 = pWC->nTerm;\n        }\n        else {\n          iVar3 = pWC->nTerm;\n        }\n      }\n      iVar5 = iVar5 + 1;\n      pWVar4 = pWVar4 + 1;\n    } while (iVar5 < iVar3);\n  }\n  return;\n}" { (declaration "u8 uVar1;" type_identifier identifier ;) (declaration "Expr *pB;" type_identifier (pointer_declarator "*pB" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "WhereTerm *pWVar4;" type_identifier (pointer_declarator "*pWVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "Expr *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "Expr *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "Expr *local_34;" type_identifier (pointer_declarator "*local_34" * identifier) ;) (declaration "Expr *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (declaration "Expr *local_2c;" type_identifier (pointer_declarator "*local_2c" * identifier) ;) (declaration "Expr *local_28;" type_identifier (pointer_declarator "*local_28" * identifier) ;) (declaration "Expr *local_24;" type_identifier (pointer_declarator "*local_24" * identifier) ;) (declaration "Expr *local_20;" type_identifier (pointer_declarator "*local_20" * identifier) ;) (expression_statement "local_20 = pTruth;" (assignment_expression "local_20 = pTruth" identifier = identifier) ;) (if_statement "if (pTruth->op == ',') {\n    do {\n      local_28 = local_20->pLeft;\n      if (local_28->op == ',') {\n        do {\n          local_24 = local_28->pLeft;\n          if (local_24->op == ',') {\n            do {\n              local_2c = local_24->pLeft;\n              if (local_2c->op == ',') {\n                do {\n                  local_30 = local_2c->pLeft;\n                  if (local_30->op == ',') {\n                    do {\n                      local_34 = local_30->pLeft;\n                      if (local_34->op == ',') {\n                        do {\n                          local_38 = local_34->pLeft;\n                          if (local_38->op == ',') {\n                            do {\n                              local_40 = local_38->pLeft;\n                              if (local_40->op == ',') {\n                                do {\n                                  pB = local_40->pLeft;\n                                  uVar1 = pB->op;\n                                  while (uVar1 == ',') {\n                                    whereApplyPartialIndexConstraints(pB->pLeft,iTabCur,pWC);\n                                    pB = pB->pRight;\n                                    uVar1 = pB->op;\n                                  }\n                                  iVar3 = pWC->nTerm;\n                                  pWVar4 = pWC->a;\n                                  if (0 < iVar3) {\n                                    iVar5 = 0;\n                                    do {\n                                      if (((pWVar4->wtFlags & 4) == 0) &&\n                                         (pWVar4->pExpr != (Expr *)0x0)) {\n                                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur);\n                                        iVar3 = pWC->nTerm;\n                                        if (iVar2 == 0) {\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }\n                                      }\n                                      iVar5 = iVar5 + 1;\n                                      pWVar4 = pWVar4 + 1;\n                                    } while (iVar5 < iVar3);\n                                  }\n                                  local_40 = local_40->pRight;\n                                } while (local_40->op == ',');\n                              }\n                              else {\n                                iVar3 = pWC->nTerm;\n                              }\n                              pWVar4 = pWC->a;\n                              if (0 < iVar3) {\n                                iVar5 = 0;\n                                do {\n                                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)\n                                     ) {\n                                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_40,\n                                                               iTabCur);\n                                    iVar3 = pWC->nTerm;\n                                    if (iVar2 == 0) {\n                                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                    }\n                                  }\n                                  iVar5 = iVar5 + 1;\n                                  pWVar4 = pWVar4 + 1;\n                                } while (iVar5 < iVar3);\n                              }\n                              local_38 = local_38->pRight;\n                            } while (local_38->op == ',');\n                          }\n                          else {\n                            iVar3 = pWC->nTerm;\n                          }\n                          pWVar4 = pWC->a;\n                          if (0 < iVar3) {\n                            iVar5 = 0;\n                            do {\n                              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_38,\n                                                           iTabCur);\n                                iVar3 = pWC->nTerm;\n                                if (iVar2 == 0) {\n                                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                }\n                              }\n                              iVar5 = iVar5 + 1;\n                              pWVar4 = pWVar4 + 1;\n                            } while (iVar5 < iVar3);\n                          }\n                          local_34 = local_34->pRight;\n                        } while (local_34->op == ',');\n                      }\n                      else {\n                        iVar3 = pWC->nTerm;\n                      }\n                      pWVar4 = pWC->a;\n                      if (0 < iVar3) {\n                        iVar5 = 0;\n                        do {\n                          if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_34,iTabCur);\n                            iVar3 = pWC->nTerm;\n                            if (iVar2 == 0) {\n                              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                            }\n                          }\n                          iVar5 = iVar5 + 1;\n                          pWVar4 = pWVar4 + 1;\n                        } while (iVar5 < iVar3);\n                      }\n                      local_30 = local_30->pRight;\n                    } while (local_30->op == ',');\n                  }\n                  else {\n                    iVar3 = pWC->nTerm;\n                  }\n                  pWVar4 = pWC->a;\n                  if (0 < iVar3) {\n                    iVar5 = 0;\n                    do {\n                      if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_30,iTabCur);\n                        iVar3 = pWC->nTerm;\n                        if (iVar2 == 0) {\n                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                        }\n                      }\n                      iVar5 = iVar5 + 1;\n                      pWVar4 = pWVar4 + 1;\n                    } while (iVar5 < iVar3);\n                  }\n                  local_2c = local_2c->pRight;\n                } while (local_2c->op == ',');\n              }\n              else {\n                iVar3 = pWC->nTerm;\n              }\n              pWVar4 = pWC->a;\n              if (0 < iVar3) {\n                iVar5 = 0;\n                do {\n                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_2c,iTabCur);\n                    iVar3 = pWC->nTerm;\n                    if (iVar2 == 0) {\n                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                    }\n                  }\n                  iVar5 = iVar5 + 1;\n                  pWVar4 = pWVar4 + 1;\n                } while (iVar5 < iVar3);\n              }\n              local_24 = local_24->pRight;\n            } while (local_24->op == ',');\n          }\n          else {\n            iVar3 = pWC->nTerm;\n          }\n          if (0 < iVar3) {\n            pWVar4 = pWC->a;\n            iVar5 = 0;\n            do {\n              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_24,iTabCur);\n                iVar3 = pWC->nTerm;\n                if (iVar2 == 0) {\n                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                }\n              }\n              iVar5 = iVar5 + 1;\n              pWVar4 = pWVar4 + 1;\n            } while (iVar5 < iVar3);\n          }\n          local_28 = local_28->pRight;\n        } while (local_28->op == ',');\n      }\n      else {\n        iVar3 = pWC->nTerm;\n      }\n      pWVar4 = pWC->a;\n      if (0 < iVar3) {\n        iVar5 = 0;\n        do {\n          if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_28,iTabCur);\n            iVar3 = pWC->nTerm;\n            if (iVar2 == 0) {\n              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n            }\n          }\n          iVar5 = iVar5 + 1;\n          pWVar4 = pWVar4 + 1;\n        } while (iVar5 < iVar3);\n      }\n      local_20 = local_20->pRight;\n    } while (local_20->op == ',');\n  }\n  else {\n    iVar3 = pWC->nTerm;\n  }" if (parenthesized_expression "(pTruth->op == ',')" ( (binary_expression "pTruth->op == ','" (field_expression "pTruth->op" identifier -> field_identifier) == (char_literal "','" ' character ')) )) (compound_statement "{\n    do {\n      local_28 = local_20->pLeft;\n      if (local_28->op == ',') {\n        do {\n          local_24 = local_28->pLeft;\n          if (local_24->op == ',') {\n            do {\n              local_2c = local_24->pLeft;\n              if (local_2c->op == ',') {\n                do {\n                  local_30 = local_2c->pLeft;\n                  if (local_30->op == ',') {\n                    do {\n                      local_34 = local_30->pLeft;\n                      if (local_34->op == ',') {\n                        do {\n                          local_38 = local_34->pLeft;\n                          if (local_38->op == ',') {\n                            do {\n                              local_40 = local_38->pLeft;\n                              if (local_40->op == ',') {\n                                do {\n                                  pB = local_40->pLeft;\n                                  uVar1 = pB->op;\n                                  while (uVar1 == ',') {\n                                    whereApplyPartialIndexConstraints(pB->pLeft,iTabCur,pWC);\n                                    pB = pB->pRight;\n                                    uVar1 = pB->op;\n                                  }\n                                  iVar3 = pWC->nTerm;\n                                  pWVar4 = pWC->a;\n                                  if (0 < iVar3) {\n                                    iVar5 = 0;\n                                    do {\n                                      if (((pWVar4->wtFlags & 4) == 0) &&\n                                         (pWVar4->pExpr != (Expr *)0x0)) {\n                                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur);\n                                        iVar3 = pWC->nTerm;\n                                        if (iVar2 == 0) {\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }\n                                      }\n                                      iVar5 = iVar5 + 1;\n                                      pWVar4 = pWVar4 + 1;\n                                    } while (iVar5 < iVar3);\n                                  }\n                                  local_40 = local_40->pRight;\n                                } while (local_40->op == ',');\n                              }\n                              else {\n                                iVar3 = pWC->nTerm;\n                              }\n                              pWVar4 = pWC->a;\n                              if (0 < iVar3) {\n                                iVar5 = 0;\n                                do {\n                                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)\n                                     ) {\n                                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_40,\n                                                               iTabCur);\n                                    iVar3 = pWC->nTerm;\n                                    if (iVar2 == 0) {\n                                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                    }\n                                  }\n                                  iVar5 = iVar5 + 1;\n                                  pWVar4 = pWVar4 + 1;\n                                } while (iVar5 < iVar3);\n                              }\n                              local_38 = local_38->pRight;\n                            } while (local_38->op == ',');\n                          }\n                          else {\n                            iVar3 = pWC->nTerm;\n                          }\n                          pWVar4 = pWC->a;\n                          if (0 < iVar3) {\n                            iVar5 = 0;\n                            do {\n                              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_38,\n                                                           iTabCur);\n                                iVar3 = pWC->nTerm;\n                                if (iVar2 == 0) {\n                                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                }\n                              }\n                              iVar5 = iVar5 + 1;\n                              pWVar4 = pWVar4 + 1;\n                            } while (iVar5 < iVar3);\n                          }\n                          local_34 = local_34->pRight;\n                        } while (local_34->op == ',');\n                      }\n                      else {\n                        iVar3 = pWC->nTerm;\n                      }\n                      pWVar4 = pWC->a;\n                      if (0 < iVar3) {\n                        iVar5 = 0;\n                        do {\n                          if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_34,iTabCur);\n                            iVar3 = pWC->nTerm;\n                            if (iVar2 == 0) {\n                              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                            }\n                          }\n                          iVar5 = iVar5 + 1;\n                          pWVar4 = pWVar4 + 1;\n                        } while (iVar5 < iVar3);\n                      }\n                      local_30 = local_30->pRight;\n                    } while (local_30->op == ',');\n                  }\n                  else {\n                    iVar3 = pWC->nTerm;\n                  }\n                  pWVar4 = pWC->a;\n                  if (0 < iVar3) {\n                    iVar5 = 0;\n                    do {\n                      if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_30,iTabCur);\n                        iVar3 = pWC->nTerm;\n                        if (iVar2 == 0) {\n                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                        }\n                      }\n                      iVar5 = iVar5 + 1;\n                      pWVar4 = pWVar4 + 1;\n                    } while (iVar5 < iVar3);\n                  }\n                  local_2c = local_2c->pRight;\n                } while (local_2c->op == ',');\n              }\n              else {\n                iVar3 = pWC->nTerm;\n              }\n              pWVar4 = pWC->a;\n              if (0 < iVar3) {\n                iVar5 = 0;\n                do {\n                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_2c,iTabCur);\n                    iVar3 = pWC->nTerm;\n                    if (iVar2 == 0) {\n                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                    }\n                  }\n                  iVar5 = iVar5 + 1;\n                  pWVar4 = pWVar4 + 1;\n                } while (iVar5 < iVar3);\n              }\n              local_24 = local_24->pRight;\n            } while (local_24->op == ',');\n          }\n          else {\n            iVar3 = pWC->nTerm;\n          }\n          if (0 < iVar3) {\n            pWVar4 = pWC->a;\n            iVar5 = 0;\n            do {\n              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_24,iTabCur);\n                iVar3 = pWC->nTerm;\n                if (iVar2 == 0) {\n                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                }\n              }\n              iVar5 = iVar5 + 1;\n              pWVar4 = pWVar4 + 1;\n            } while (iVar5 < iVar3);\n          }\n          local_28 = local_28->pRight;\n        } while (local_28->op == ',');\n      }\n      else {\n        iVar3 = pWC->nTerm;\n      }\n      pWVar4 = pWC->a;\n      if (0 < iVar3) {\n        iVar5 = 0;\n        do {\n          if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_28,iTabCur);\n            iVar3 = pWC->nTerm;\n            if (iVar2 == 0) {\n              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n            }\n          }\n          iVar5 = iVar5 + 1;\n          pWVar4 = pWVar4 + 1;\n        } while (iVar5 < iVar3);\n      }\n      local_20 = local_20->pRight;\n    } while (local_20->op == ',');\n  }" { (do_statement "do {\n      local_28 = local_20->pLeft;\n      if (local_28->op == ',') {\n        do {\n          local_24 = local_28->pLeft;\n          if (local_24->op == ',') {\n            do {\n              local_2c = local_24->pLeft;\n              if (local_2c->op == ',') {\n                do {\n                  local_30 = local_2c->pLeft;\n                  if (local_30->op == ',') {\n                    do {\n                      local_34 = local_30->pLeft;\n                      if (local_34->op == ',') {\n                        do {\n                          local_38 = local_34->pLeft;\n                          if (local_38->op == ',') {\n                            do {\n                              local_40 = local_38->pLeft;\n                              if (local_40->op == ',') {\n                                do {\n                                  pB = local_40->pLeft;\n                                  uVar1 = pB->op;\n                                  while (uVar1 == ',') {\n                                    whereApplyPartialIndexConstraints(pB->pLeft,iTabCur,pWC);\n                                    pB = pB->pRight;\n                                    uVar1 = pB->op;\n                                  }\n                                  iVar3 = pWC->nTerm;\n                                  pWVar4 = pWC->a;\n                                  if (0 < iVar3) {\n                                    iVar5 = 0;\n                                    do {\n                                      if (((pWVar4->wtFlags & 4) == 0) &&\n                                         (pWVar4->pExpr != (Expr *)0x0)) {\n                                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur);\n                                        iVar3 = pWC->nTerm;\n                                        if (iVar2 == 0) {\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }\n                                      }\n                                      iVar5 = iVar5 + 1;\n                                      pWVar4 = pWVar4 + 1;\n                                    } while (iVar5 < iVar3);\n                                  }\n                                  local_40 = local_40->pRight;\n                                } while (local_40->op == ',');\n                              }\n                              else {\n                                iVar3 = pWC->nTerm;\n                              }\n                              pWVar4 = pWC->a;\n                              if (0 < iVar3) {\n                                iVar5 = 0;\n                                do {\n                                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)\n                                     ) {\n                                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_40,\n                                                               iTabCur);\n                                    iVar3 = pWC->nTerm;\n                                    if (iVar2 == 0) {\n                                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                    }\n                                  }\n                                  iVar5 = iVar5 + 1;\n                                  pWVar4 = pWVar4 + 1;\n                                } while (iVar5 < iVar3);\n                              }\n                              local_38 = local_38->pRight;\n                            } while (local_38->op == ',');\n                          }\n                          else {\n                            iVar3 = pWC->nTerm;\n                          }\n                          pWVar4 = pWC->a;\n                          if (0 < iVar3) {\n                            iVar5 = 0;\n                            do {\n                              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_38,\n                                                           iTabCur);\n                                iVar3 = pWC->nTerm;\n                                if (iVar2 == 0) {\n                                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                }\n                              }\n                              iVar5 = iVar5 + 1;\n                              pWVar4 = pWVar4 + 1;\n                            } while (iVar5 < iVar3);\n                          }\n                          local_34 = local_34->pRight;\n                        } while (local_34->op == ',');\n                      }\n                      else {\n                        iVar3 = pWC->nTerm;\n                      }\n                      pWVar4 = pWC->a;\n                      if (0 < iVar3) {\n                        iVar5 = 0;\n                        do {\n                          if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_34,iTabCur);\n                            iVar3 = pWC->nTerm;\n                            if (iVar2 == 0) {\n                              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                            }\n                          }\n                          iVar5 = iVar5 + 1;\n                          pWVar4 = pWVar4 + 1;\n                        } while (iVar5 < iVar3);\n                      }\n                      local_30 = local_30->pRight;\n                    } while (local_30->op == ',');\n                  }\n                  else {\n                    iVar3 = pWC->nTerm;\n                  }\n                  pWVar4 = pWC->a;\n                  if (0 < iVar3) {\n                    iVar5 = 0;\n                    do {\n                      if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_30,iTabCur);\n                        iVar3 = pWC->nTerm;\n                        if (iVar2 == 0) {\n                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                        }\n                      }\n                      iVar5 = iVar5 + 1;\n                      pWVar4 = pWVar4 + 1;\n                    } while (iVar5 < iVar3);\n                  }\n                  local_2c = local_2c->pRight;\n                } while (local_2c->op == ',');\n              }\n              else {\n                iVar3 = pWC->nTerm;\n              }\n              pWVar4 = pWC->a;\n              if (0 < iVar3) {\n                iVar5 = 0;\n                do {\n                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_2c,iTabCur);\n                    iVar3 = pWC->nTerm;\n                    if (iVar2 == 0) {\n                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                    }\n                  }\n                  iVar5 = iVar5 + 1;\n                  pWVar4 = pWVar4 + 1;\n                } while (iVar5 < iVar3);\n              }\n              local_24 = local_24->pRight;\n            } while (local_24->op == ',');\n          }\n          else {\n            iVar3 = pWC->nTerm;\n          }\n          if (0 < iVar3) {\n            pWVar4 = pWC->a;\n            iVar5 = 0;\n            do {\n              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_24,iTabCur);\n                iVar3 = pWC->nTerm;\n                if (iVar2 == 0) {\n                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                }\n              }\n              iVar5 = iVar5 + 1;\n              pWVar4 = pWVar4 + 1;\n            } while (iVar5 < iVar3);\n          }\n          local_28 = local_28->pRight;\n        } while (local_28->op == ',');\n      }\n      else {\n        iVar3 = pWC->nTerm;\n      }\n      pWVar4 = pWC->a;\n      if (0 < iVar3) {\n        iVar5 = 0;\n        do {\n          if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_28,iTabCur);\n            iVar3 = pWC->nTerm;\n            if (iVar2 == 0) {\n              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n            }\n          }\n          iVar5 = iVar5 + 1;\n          pWVar4 = pWVar4 + 1;\n        } while (iVar5 < iVar3);\n      }\n      local_20 = local_20->pRight;\n    } while (local_20->op == ',');" do (compound_statement "{\n      local_28 = local_20->pLeft;\n      if (local_28->op == ',') {\n        do {\n          local_24 = local_28->pLeft;\n          if (local_24->op == ',') {\n            do {\n              local_2c = local_24->pLeft;\n              if (local_2c->op == ',') {\n                do {\n                  local_30 = local_2c->pLeft;\n                  if (local_30->op == ',') {\n                    do {\n                      local_34 = local_30->pLeft;\n                      if (local_34->op == ',') {\n                        do {\n                          local_38 = local_34->pLeft;\n                          if (local_38->op == ',') {\n                            do {\n                              local_40 = local_38->pLeft;\n                              if (local_40->op == ',') {\n                                do {\n                                  pB = local_40->pLeft;\n                                  uVar1 = pB->op;\n                                  while (uVar1 == ',') {\n                                    whereApplyPartialIndexConstraints(pB->pLeft,iTabCur,pWC);\n                                    pB = pB->pRight;\n                                    uVar1 = pB->op;\n                                  }\n                                  iVar3 = pWC->nTerm;\n                                  pWVar4 = pWC->a;\n                                  if (0 < iVar3) {\n                                    iVar5 = 0;\n                                    do {\n                                      if (((pWVar4->wtFlags & 4) == 0) &&\n                                         (pWVar4->pExpr != (Expr *)0x0)) {\n                                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur);\n                                        iVar3 = pWC->nTerm;\n                                        if (iVar2 == 0) {\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }\n                                      }\n                                      iVar5 = iVar5 + 1;\n                                      pWVar4 = pWVar4 + 1;\n                                    } while (iVar5 < iVar3);\n                                  }\n                                  local_40 = local_40->pRight;\n                                } while (local_40->op == ',');\n                              }\n                              else {\n                                iVar3 = pWC->nTerm;\n                              }\n                              pWVar4 = pWC->a;\n                              if (0 < iVar3) {\n                                iVar5 = 0;\n                                do {\n                                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)\n                                     ) {\n                                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_40,\n                                                               iTabCur);\n                                    iVar3 = pWC->nTerm;\n                                    if (iVar2 == 0) {\n                                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                    }\n                                  }\n                                  iVar5 = iVar5 + 1;\n                                  pWVar4 = pWVar4 + 1;\n                                } while (iVar5 < iVar3);\n                              }\n                              local_38 = local_38->pRight;\n                            } while (local_38->op == ',');\n                          }\n                          else {\n                            iVar3 = pWC->nTerm;\n                          }\n                          pWVar4 = pWC->a;\n                          if (0 < iVar3) {\n                            iVar5 = 0;\n                            do {\n                              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_38,\n                                                           iTabCur);\n                                iVar3 = pWC->nTerm;\n                                if (iVar2 == 0) {\n                                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                }\n                              }\n                              iVar5 = iVar5 + 1;\n                              pWVar4 = pWVar4 + 1;\n                            } while (iVar5 < iVar3);\n                          }\n                          local_34 = local_34->pRight;\n                        } while (local_34->op == ',');\n                      }\n                      else {\n                        iVar3 = pWC->nTerm;\n                      }\n                      pWVar4 = pWC->a;\n                      if (0 < iVar3) {\n                        iVar5 = 0;\n                        do {\n                          if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_34,iTabCur);\n                            iVar3 = pWC->nTerm;\n                            if (iVar2 == 0) {\n                              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                            }\n                          }\n                          iVar5 = iVar5 + 1;\n                          pWVar4 = pWVar4 + 1;\n                        } while (iVar5 < iVar3);\n                      }\n                      local_30 = local_30->pRight;\n                    } while (local_30->op == ',');\n                  }\n                  else {\n                    iVar3 = pWC->nTerm;\n                  }\n                  pWVar4 = pWC->a;\n                  if (0 < iVar3) {\n                    iVar5 = 0;\n                    do {\n                      if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_30,iTabCur);\n                        iVar3 = pWC->nTerm;\n                        if (iVar2 == 0) {\n                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                        }\n                      }\n                      iVar5 = iVar5 + 1;\n                      pWVar4 = pWVar4 + 1;\n                    } while (iVar5 < iVar3);\n                  }\n                  local_2c = local_2c->pRight;\n                } while (local_2c->op == ',');\n              }\n              else {\n                iVar3 = pWC->nTerm;\n              }\n              pWVar4 = pWC->a;\n              if (0 < iVar3) {\n                iVar5 = 0;\n                do {\n                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_2c,iTabCur);\n                    iVar3 = pWC->nTerm;\n                    if (iVar2 == 0) {\n                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                    }\n                  }\n                  iVar5 = iVar5 + 1;\n                  pWVar4 = pWVar4 + 1;\n                } while (iVar5 < iVar3);\n              }\n              local_24 = local_24->pRight;\n            } while (local_24->op == ',');\n          }\n          else {\n            iVar3 = pWC->nTerm;\n          }\n          if (0 < iVar3) {\n            pWVar4 = pWC->a;\n            iVar5 = 0;\n            do {\n              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_24,iTabCur);\n                iVar3 = pWC->nTerm;\n                if (iVar2 == 0) {\n                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                }\n              }\n              iVar5 = iVar5 + 1;\n              pWVar4 = pWVar4 + 1;\n            } while (iVar5 < iVar3);\n          }\n          local_28 = local_28->pRight;\n        } while (local_28->op == ',');\n      }\n      else {\n        iVar3 = pWC->nTerm;\n      }\n      pWVar4 = pWC->a;\n      if (0 < iVar3) {\n        iVar5 = 0;\n        do {\n          if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_28,iTabCur);\n            iVar3 = pWC->nTerm;\n            if (iVar2 == 0) {\n              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n            }\n          }\n          iVar5 = iVar5 + 1;\n          pWVar4 = pWVar4 + 1;\n        } while (iVar5 < iVar3);\n      }\n      local_20 = local_20->pRight;\n    }" { (expression_statement "local_28 = local_20->pLeft;" (assignment_expression "local_28 = local_20->pLeft" identifier = (field_expression "local_20->pLeft" identifier -> field_identifier)) ;) (if_statement "if (local_28->op == ',') {\n        do {\n          local_24 = local_28->pLeft;\n          if (local_24->op == ',') {\n            do {\n              local_2c = local_24->pLeft;\n              if (local_2c->op == ',') {\n                do {\n                  local_30 = local_2c->pLeft;\n                  if (local_30->op == ',') {\n                    do {\n                      local_34 = local_30->pLeft;\n                      if (local_34->op == ',') {\n                        do {\n                          local_38 = local_34->pLeft;\n                          if (local_38->op == ',') {\n                            do {\n                              local_40 = local_38->pLeft;\n                              if (local_40->op == ',') {\n                                do {\n                                  pB = local_40->pLeft;\n                                  uVar1 = pB->op;\n                                  while (uVar1 == ',') {\n                                    whereApplyPartialIndexConstraints(pB->pLeft,iTabCur,pWC);\n                                    pB = pB->pRight;\n                                    uVar1 = pB->op;\n                                  }\n                                  iVar3 = pWC->nTerm;\n                                  pWVar4 = pWC->a;\n                                  if (0 < iVar3) {\n                                    iVar5 = 0;\n                                    do {\n                                      if (((pWVar4->wtFlags & 4) == 0) &&\n                                         (pWVar4->pExpr != (Expr *)0x0)) {\n                                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur);\n                                        iVar3 = pWC->nTerm;\n                                        if (iVar2 == 0) {\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }\n                                      }\n                                      iVar5 = iVar5 + 1;\n                                      pWVar4 = pWVar4 + 1;\n                                    } while (iVar5 < iVar3);\n                                  }\n                                  local_40 = local_40->pRight;\n                                } while (local_40->op == ',');\n                              }\n                              else {\n                                iVar3 = pWC->nTerm;\n                              }\n                              pWVar4 = pWC->a;\n                              if (0 < iVar3) {\n                                iVar5 = 0;\n                                do {\n                                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)\n                                     ) {\n                                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_40,\n                                                               iTabCur);\n                                    iVar3 = pWC->nTerm;\n                                    if (iVar2 == 0) {\n                                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                    }\n                                  }\n                                  iVar5 = iVar5 + 1;\n                                  pWVar4 = pWVar4 + 1;\n                                } while (iVar5 < iVar3);\n                              }\n                              local_38 = local_38->pRight;\n                            } while (local_38->op == ',');\n                          }\n                          else {\n                            iVar3 = pWC->nTerm;\n                          }\n                          pWVar4 = pWC->a;\n                          if (0 < iVar3) {\n                            iVar5 = 0;\n                            do {\n                              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_38,\n                                                           iTabCur);\n                                iVar3 = pWC->nTerm;\n                                if (iVar2 == 0) {\n                                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                }\n                              }\n                              iVar5 = iVar5 + 1;\n                              pWVar4 = pWVar4 + 1;\n                            } while (iVar5 < iVar3);\n                          }\n                          local_34 = local_34->pRight;\n                        } while (local_34->op == ',');\n                      }\n                      else {\n                        iVar3 = pWC->nTerm;\n                      }\n                      pWVar4 = pWC->a;\n                      if (0 < iVar3) {\n                        iVar5 = 0;\n                        do {\n                          if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_34,iTabCur);\n                            iVar3 = pWC->nTerm;\n                            if (iVar2 == 0) {\n                              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                            }\n                          }\n                          iVar5 = iVar5 + 1;\n                          pWVar4 = pWVar4 + 1;\n                        } while (iVar5 < iVar3);\n                      }\n                      local_30 = local_30->pRight;\n                    } while (local_30->op == ',');\n                  }\n                  else {\n                    iVar3 = pWC->nTerm;\n                  }\n                  pWVar4 = pWC->a;\n                  if (0 < iVar3) {\n                    iVar5 = 0;\n                    do {\n                      if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_30,iTabCur);\n                        iVar3 = pWC->nTerm;\n                        if (iVar2 == 0) {\n                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                        }\n                      }\n                      iVar5 = iVar5 + 1;\n                      pWVar4 = pWVar4 + 1;\n                    } while (iVar5 < iVar3);\n                  }\n                  local_2c = local_2c->pRight;\n                } while (local_2c->op == ',');\n              }\n              else {\n                iVar3 = pWC->nTerm;\n              }\n              pWVar4 = pWC->a;\n              if (0 < iVar3) {\n                iVar5 = 0;\n                do {\n                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_2c,iTabCur);\n                    iVar3 = pWC->nTerm;\n                    if (iVar2 == 0) {\n                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                    }\n                  }\n                  iVar5 = iVar5 + 1;\n                  pWVar4 = pWVar4 + 1;\n                } while (iVar5 < iVar3);\n              }\n              local_24 = local_24->pRight;\n            } while (local_24->op == ',');\n          }\n          else {\n            iVar3 = pWC->nTerm;\n          }\n          if (0 < iVar3) {\n            pWVar4 = pWC->a;\n            iVar5 = 0;\n            do {\n              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_24,iTabCur);\n                iVar3 = pWC->nTerm;\n                if (iVar2 == 0) {\n                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                }\n              }\n              iVar5 = iVar5 + 1;\n              pWVar4 = pWVar4 + 1;\n            } while (iVar5 < iVar3);\n          }\n          local_28 = local_28->pRight;\n        } while (local_28->op == ',');\n      }\n      else {\n        iVar3 = pWC->nTerm;\n      }" if (parenthesized_expression "(local_28->op == ',')" ( (binary_expression "local_28->op == ','" (field_expression "local_28->op" identifier -> field_identifier) == (char_literal "','" ' character ')) )) (compound_statement "{\n        do {\n          local_24 = local_28->pLeft;\n          if (local_24->op == ',') {\n            do {\n              local_2c = local_24->pLeft;\n              if (local_2c->op == ',') {\n                do {\n                  local_30 = local_2c->pLeft;\n                  if (local_30->op == ',') {\n                    do {\n                      local_34 = local_30->pLeft;\n                      if (local_34->op == ',') {\n                        do {\n                          local_38 = local_34->pLeft;\n                          if (local_38->op == ',') {\n                            do {\n                              local_40 = local_38->pLeft;\n                              if (local_40->op == ',') {\n                                do {\n                                  pB = local_40->pLeft;\n                                  uVar1 = pB->op;\n                                  while (uVar1 == ',') {\n                                    whereApplyPartialIndexConstraints(pB->pLeft,iTabCur,pWC);\n                                    pB = pB->pRight;\n                                    uVar1 = pB->op;\n                                  }\n                                  iVar3 = pWC->nTerm;\n                                  pWVar4 = pWC->a;\n                                  if (0 < iVar3) {\n                                    iVar5 = 0;\n                                    do {\n                                      if (((pWVar4->wtFlags & 4) == 0) &&\n                                         (pWVar4->pExpr != (Expr *)0x0)) {\n                                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur);\n                                        iVar3 = pWC->nTerm;\n                                        if (iVar2 == 0) {\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }\n                                      }\n                                      iVar5 = iVar5 + 1;\n                                      pWVar4 = pWVar4 + 1;\n                                    } while (iVar5 < iVar3);\n                                  }\n                                  local_40 = local_40->pRight;\n                                } while (local_40->op == ',');\n                              }\n                              else {\n                                iVar3 = pWC->nTerm;\n                              }\n                              pWVar4 = pWC->a;\n                              if (0 < iVar3) {\n                                iVar5 = 0;\n                                do {\n                                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)\n                                     ) {\n                                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_40,\n                                                               iTabCur);\n                                    iVar3 = pWC->nTerm;\n                                    if (iVar2 == 0) {\n                                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                    }\n                                  }\n                                  iVar5 = iVar5 + 1;\n                                  pWVar4 = pWVar4 + 1;\n                                } while (iVar5 < iVar3);\n                              }\n                              local_38 = local_38->pRight;\n                            } while (local_38->op == ',');\n                          }\n                          else {\n                            iVar3 = pWC->nTerm;\n                          }\n                          pWVar4 = pWC->a;\n                          if (0 < iVar3) {\n                            iVar5 = 0;\n                            do {\n                              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_38,\n                                                           iTabCur);\n                                iVar3 = pWC->nTerm;\n                                if (iVar2 == 0) {\n                                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                }\n                              }\n                              iVar5 = iVar5 + 1;\n                              pWVar4 = pWVar4 + 1;\n                            } while (iVar5 < iVar3);\n                          }\n                          local_34 = local_34->pRight;\n                        } while (local_34->op == ',');\n                      }\n                      else {\n                        iVar3 = pWC->nTerm;\n                      }\n                      pWVar4 = pWC->a;\n                      if (0 < iVar3) {\n                        iVar5 = 0;\n                        do {\n                          if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_34,iTabCur);\n                            iVar3 = pWC->nTerm;\n                            if (iVar2 == 0) {\n                              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                            }\n                          }\n                          iVar5 = iVar5 + 1;\n                          pWVar4 = pWVar4 + 1;\n                        } while (iVar5 < iVar3);\n                      }\n                      local_30 = local_30->pRight;\n                    } while (local_30->op == ',');\n                  }\n                  else {\n                    iVar3 = pWC->nTerm;\n                  }\n                  pWVar4 = pWC->a;\n                  if (0 < iVar3) {\n                    iVar5 = 0;\n                    do {\n                      if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_30,iTabCur);\n                        iVar3 = pWC->nTerm;\n                        if (iVar2 == 0) {\n                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                        }\n                      }\n                      iVar5 = iVar5 + 1;\n                      pWVar4 = pWVar4 + 1;\n                    } while (iVar5 < iVar3);\n                  }\n                  local_2c = local_2c->pRight;\n                } while (local_2c->op == ',');\n              }\n              else {\n                iVar3 = pWC->nTerm;\n              }\n              pWVar4 = pWC->a;\n              if (0 < iVar3) {\n                iVar5 = 0;\n                do {\n                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_2c,iTabCur);\n                    iVar3 = pWC->nTerm;\n                    if (iVar2 == 0) {\n                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                    }\n                  }\n                  iVar5 = iVar5 + 1;\n                  pWVar4 = pWVar4 + 1;\n                } while (iVar5 < iVar3);\n              }\n              local_24 = local_24->pRight;\n            } while (local_24->op == ',');\n          }\n          else {\n            iVar3 = pWC->nTerm;\n          }\n          if (0 < iVar3) {\n            pWVar4 = pWC->a;\n            iVar5 = 0;\n            do {\n              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_24,iTabCur);\n                iVar3 = pWC->nTerm;\n                if (iVar2 == 0) {\n                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                }\n              }\n              iVar5 = iVar5 + 1;\n              pWVar4 = pWVar4 + 1;\n            } while (iVar5 < iVar3);\n          }\n          local_28 = local_28->pRight;\n        } while (local_28->op == ',');\n      }" { (do_statement "do {\n          local_24 = local_28->pLeft;\n          if (local_24->op == ',') {\n            do {\n              local_2c = local_24->pLeft;\n              if (local_2c->op == ',') {\n                do {\n                  local_30 = local_2c->pLeft;\n                  if (local_30->op == ',') {\n                    do {\n                      local_34 = local_30->pLeft;\n                      if (local_34->op == ',') {\n                        do {\n                          local_38 = local_34->pLeft;\n                          if (local_38->op == ',') {\n                            do {\n                              local_40 = local_38->pLeft;\n                              if (local_40->op == ',') {\n                                do {\n                                  pB = local_40->pLeft;\n                                  uVar1 = pB->op;\n                                  while (uVar1 == ',') {\n                                    whereApplyPartialIndexConstraints(pB->pLeft,iTabCur,pWC);\n                                    pB = pB->pRight;\n                                    uVar1 = pB->op;\n                                  }\n                                  iVar3 = pWC->nTerm;\n                                  pWVar4 = pWC->a;\n                                  if (0 < iVar3) {\n                                    iVar5 = 0;\n                                    do {\n                                      if (((pWVar4->wtFlags & 4) == 0) &&\n                                         (pWVar4->pExpr != (Expr *)0x0)) {\n                                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur);\n                                        iVar3 = pWC->nTerm;\n                                        if (iVar2 == 0) {\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }\n                                      }\n                                      iVar5 = iVar5 + 1;\n                                      pWVar4 = pWVar4 + 1;\n                                    } while (iVar5 < iVar3);\n                                  }\n                                  local_40 = local_40->pRight;\n                                } while (local_40->op == ',');\n                              }\n                              else {\n                                iVar3 = pWC->nTerm;\n                              }\n                              pWVar4 = pWC->a;\n                              if (0 < iVar3) {\n                                iVar5 = 0;\n                                do {\n                                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)\n                                     ) {\n                                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_40,\n                                                               iTabCur);\n                                    iVar3 = pWC->nTerm;\n                                    if (iVar2 == 0) {\n                                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                    }\n                                  }\n                                  iVar5 = iVar5 + 1;\n                                  pWVar4 = pWVar4 + 1;\n                                } while (iVar5 < iVar3);\n                              }\n                              local_38 = local_38->pRight;\n                            } while (local_38->op == ',');\n                          }\n                          else {\n                            iVar3 = pWC->nTerm;\n                          }\n                          pWVar4 = pWC->a;\n                          if (0 < iVar3) {\n                            iVar5 = 0;\n                            do {\n                              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_38,\n                                                           iTabCur);\n                                iVar3 = pWC->nTerm;\n                                if (iVar2 == 0) {\n                                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                }\n                              }\n                              iVar5 = iVar5 + 1;\n                              pWVar4 = pWVar4 + 1;\n                            } while (iVar5 < iVar3);\n                          }\n                          local_34 = local_34->pRight;\n                        } while (local_34->op == ',');\n                      }\n                      else {\n                        iVar3 = pWC->nTerm;\n                      }\n                      pWVar4 = pWC->a;\n                      if (0 < iVar3) {\n                        iVar5 = 0;\n                        do {\n                          if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_34,iTabCur);\n                            iVar3 = pWC->nTerm;\n                            if (iVar2 == 0) {\n                              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                            }\n                          }\n                          iVar5 = iVar5 + 1;\n                          pWVar4 = pWVar4 + 1;\n                        } while (iVar5 < iVar3);\n                      }\n                      local_30 = local_30->pRight;\n                    } while (local_30->op == ',');\n                  }\n                  else {\n                    iVar3 = pWC->nTerm;\n                  }\n                  pWVar4 = pWC->a;\n                  if (0 < iVar3) {\n                    iVar5 = 0;\n                    do {\n                      if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_30,iTabCur);\n                        iVar3 = pWC->nTerm;\n                        if (iVar2 == 0) {\n                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                        }\n                      }\n                      iVar5 = iVar5 + 1;\n                      pWVar4 = pWVar4 + 1;\n                    } while (iVar5 < iVar3);\n                  }\n                  local_2c = local_2c->pRight;\n                } while (local_2c->op == ',');\n              }\n              else {\n                iVar3 = pWC->nTerm;\n              }\n              pWVar4 = pWC->a;\n              if (0 < iVar3) {\n                iVar5 = 0;\n                do {\n                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_2c,iTabCur);\n                    iVar3 = pWC->nTerm;\n                    if (iVar2 == 0) {\n                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                    }\n                  }\n                  iVar5 = iVar5 + 1;\n                  pWVar4 = pWVar4 + 1;\n                } while (iVar5 < iVar3);\n              }\n              local_24 = local_24->pRight;\n            } while (local_24->op == ',');\n          }\n          else {\n            iVar3 = pWC->nTerm;\n          }\n          if (0 < iVar3) {\n            pWVar4 = pWC->a;\n            iVar5 = 0;\n            do {\n              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_24,iTabCur);\n                iVar3 = pWC->nTerm;\n                if (iVar2 == 0) {\n                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                }\n              }\n              iVar5 = iVar5 + 1;\n              pWVar4 = pWVar4 + 1;\n            } while (iVar5 < iVar3);\n          }\n          local_28 = local_28->pRight;\n        } while (local_28->op == ',');" do (compound_statement "{\n          local_24 = local_28->pLeft;\n          if (local_24->op == ',') {\n            do {\n              local_2c = local_24->pLeft;\n              if (local_2c->op == ',') {\n                do {\n                  local_30 = local_2c->pLeft;\n                  if (local_30->op == ',') {\n                    do {\n                      local_34 = local_30->pLeft;\n                      if (local_34->op == ',') {\n                        do {\n                          local_38 = local_34->pLeft;\n                          if (local_38->op == ',') {\n                            do {\n                              local_40 = local_38->pLeft;\n                              if (local_40->op == ',') {\n                                do {\n                                  pB = local_40->pLeft;\n                                  uVar1 = pB->op;\n                                  while (uVar1 == ',') {\n                                    whereApplyPartialIndexConstraints(pB->pLeft,iTabCur,pWC);\n                                    pB = pB->pRight;\n                                    uVar1 = pB->op;\n                                  }\n                                  iVar3 = pWC->nTerm;\n                                  pWVar4 = pWC->a;\n                                  if (0 < iVar3) {\n                                    iVar5 = 0;\n                                    do {\n                                      if (((pWVar4->wtFlags & 4) == 0) &&\n                                         (pWVar4->pExpr != (Expr *)0x0)) {\n                                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur);\n                                        iVar3 = pWC->nTerm;\n                                        if (iVar2 == 0) {\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }\n                                      }\n                                      iVar5 = iVar5 + 1;\n                                      pWVar4 = pWVar4 + 1;\n                                    } while (iVar5 < iVar3);\n                                  }\n                                  local_40 = local_40->pRight;\n                                } while (local_40->op == ',');\n                              }\n                              else {\n                                iVar3 = pWC->nTerm;\n                              }\n                              pWVar4 = pWC->a;\n                              if (0 < iVar3) {\n                                iVar5 = 0;\n                                do {\n                                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)\n                                     ) {\n                                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_40,\n                                                               iTabCur);\n                                    iVar3 = pWC->nTerm;\n                                    if (iVar2 == 0) {\n                                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                    }\n                                  }\n                                  iVar5 = iVar5 + 1;\n                                  pWVar4 = pWVar4 + 1;\n                                } while (iVar5 < iVar3);\n                              }\n                              local_38 = local_38->pRight;\n                            } while (local_38->op == ',');\n                          }\n                          else {\n                            iVar3 = pWC->nTerm;\n                          }\n                          pWVar4 = pWC->a;\n                          if (0 < iVar3) {\n                            iVar5 = 0;\n                            do {\n                              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_38,\n                                                           iTabCur);\n                                iVar3 = pWC->nTerm;\n                                if (iVar2 == 0) {\n                                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                }\n                              }\n                              iVar5 = iVar5 + 1;\n                              pWVar4 = pWVar4 + 1;\n                            } while (iVar5 < iVar3);\n                          }\n                          local_34 = local_34->pRight;\n                        } while (local_34->op == ',');\n                      }\n                      else {\n                        iVar3 = pWC->nTerm;\n                      }\n                      pWVar4 = pWC->a;\n                      if (0 < iVar3) {\n                        iVar5 = 0;\n                        do {\n                          if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_34,iTabCur);\n                            iVar3 = pWC->nTerm;\n                            if (iVar2 == 0) {\n                              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                            }\n                          }\n                          iVar5 = iVar5 + 1;\n                          pWVar4 = pWVar4 + 1;\n                        } while (iVar5 < iVar3);\n                      }\n                      local_30 = local_30->pRight;\n                    } while (local_30->op == ',');\n                  }\n                  else {\n                    iVar3 = pWC->nTerm;\n                  }\n                  pWVar4 = pWC->a;\n                  if (0 < iVar3) {\n                    iVar5 = 0;\n                    do {\n                      if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_30,iTabCur);\n                        iVar3 = pWC->nTerm;\n                        if (iVar2 == 0) {\n                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                        }\n                      }\n                      iVar5 = iVar5 + 1;\n                      pWVar4 = pWVar4 + 1;\n                    } while (iVar5 < iVar3);\n                  }\n                  local_2c = local_2c->pRight;\n                } while (local_2c->op == ',');\n              }\n              else {\n                iVar3 = pWC->nTerm;\n              }\n              pWVar4 = pWC->a;\n              if (0 < iVar3) {\n                iVar5 = 0;\n                do {\n                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_2c,iTabCur);\n                    iVar3 = pWC->nTerm;\n                    if (iVar2 == 0) {\n                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                    }\n                  }\n                  iVar5 = iVar5 + 1;\n                  pWVar4 = pWVar4 + 1;\n                } while (iVar5 < iVar3);\n              }\n              local_24 = local_24->pRight;\n            } while (local_24->op == ',');\n          }\n          else {\n            iVar3 = pWC->nTerm;\n          }\n          if (0 < iVar3) {\n            pWVar4 = pWC->a;\n            iVar5 = 0;\n            do {\n              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_24,iTabCur);\n                iVar3 = pWC->nTerm;\n                if (iVar2 == 0) {\n                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                }\n              }\n              iVar5 = iVar5 + 1;\n              pWVar4 = pWVar4 + 1;\n            } while (iVar5 < iVar3);\n          }\n          local_28 = local_28->pRight;\n        }" { (expression_statement "local_24 = local_28->pLeft;" (assignment_expression "local_24 = local_28->pLeft" identifier = (field_expression "local_28->pLeft" identifier -> field_identifier)) ;) (if_statement "if (local_24->op == ',') {\n            do {\n              local_2c = local_24->pLeft;\n              if (local_2c->op == ',') {\n                do {\n                  local_30 = local_2c->pLeft;\n                  if (local_30->op == ',') {\n                    do {\n                      local_34 = local_30->pLeft;\n                      if (local_34->op == ',') {\n                        do {\n                          local_38 = local_34->pLeft;\n                          if (local_38->op == ',') {\n                            do {\n                              local_40 = local_38->pLeft;\n                              if (local_40->op == ',') {\n                                do {\n                                  pB = local_40->pLeft;\n                                  uVar1 = pB->op;\n                                  while (uVar1 == ',') {\n                                    whereApplyPartialIndexConstraints(pB->pLeft,iTabCur,pWC);\n                                    pB = pB->pRight;\n                                    uVar1 = pB->op;\n                                  }\n                                  iVar3 = pWC->nTerm;\n                                  pWVar4 = pWC->a;\n                                  if (0 < iVar3) {\n                                    iVar5 = 0;\n                                    do {\n                                      if (((pWVar4->wtFlags & 4) == 0) &&\n                                         (pWVar4->pExpr != (Expr *)0x0)) {\n                                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur);\n                                        iVar3 = pWC->nTerm;\n                                        if (iVar2 == 0) {\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }\n                                      }\n                                      iVar5 = iVar5 + 1;\n                                      pWVar4 = pWVar4 + 1;\n                                    } while (iVar5 < iVar3);\n                                  }\n                                  local_40 = local_40->pRight;\n                                } while (local_40->op == ',');\n                              }\n                              else {\n                                iVar3 = pWC->nTerm;\n                              }\n                              pWVar4 = pWC->a;\n                              if (0 < iVar3) {\n                                iVar5 = 0;\n                                do {\n                                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)\n                                     ) {\n                                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_40,\n                                                               iTabCur);\n                                    iVar3 = pWC->nTerm;\n                                    if (iVar2 == 0) {\n                                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                    }\n                                  }\n                                  iVar5 = iVar5 + 1;\n                                  pWVar4 = pWVar4 + 1;\n                                } while (iVar5 < iVar3);\n                              }\n                              local_38 = local_38->pRight;\n                            } while (local_38->op == ',');\n                          }\n                          else {\n                            iVar3 = pWC->nTerm;\n                          }\n                          pWVar4 = pWC->a;\n                          if (0 < iVar3) {\n                            iVar5 = 0;\n                            do {\n                              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_38,\n                                                           iTabCur);\n                                iVar3 = pWC->nTerm;\n                                if (iVar2 == 0) {\n                                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                }\n                              }\n                              iVar5 = iVar5 + 1;\n                              pWVar4 = pWVar4 + 1;\n                            } while (iVar5 < iVar3);\n                          }\n                          local_34 = local_34->pRight;\n                        } while (local_34->op == ',');\n                      }\n                      else {\n                        iVar3 = pWC->nTerm;\n                      }\n                      pWVar4 = pWC->a;\n                      if (0 < iVar3) {\n                        iVar5 = 0;\n                        do {\n                          if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_34,iTabCur);\n                            iVar3 = pWC->nTerm;\n                            if (iVar2 == 0) {\n                              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                            }\n                          }\n                          iVar5 = iVar5 + 1;\n                          pWVar4 = pWVar4 + 1;\n                        } while (iVar5 < iVar3);\n                      }\n                      local_30 = local_30->pRight;\n                    } while (local_30->op == ',');\n                  }\n                  else {\n                    iVar3 = pWC->nTerm;\n                  }\n                  pWVar4 = pWC->a;\n                  if (0 < iVar3) {\n                    iVar5 = 0;\n                    do {\n                      if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_30,iTabCur);\n                        iVar3 = pWC->nTerm;\n                        if (iVar2 == 0) {\n                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                        }\n                      }\n                      iVar5 = iVar5 + 1;\n                      pWVar4 = pWVar4 + 1;\n                    } while (iVar5 < iVar3);\n                  }\n                  local_2c = local_2c->pRight;\n                } while (local_2c->op == ',');\n              }\n              else {\n                iVar3 = pWC->nTerm;\n              }\n              pWVar4 = pWC->a;\n              if (0 < iVar3) {\n                iVar5 = 0;\n                do {\n                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_2c,iTabCur);\n                    iVar3 = pWC->nTerm;\n                    if (iVar2 == 0) {\n                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                    }\n                  }\n                  iVar5 = iVar5 + 1;\n                  pWVar4 = pWVar4 + 1;\n                } while (iVar5 < iVar3);\n              }\n              local_24 = local_24->pRight;\n            } while (local_24->op == ',');\n          }\n          else {\n            iVar3 = pWC->nTerm;\n          }" if (parenthesized_expression "(local_24->op == ',')" ( (binary_expression "local_24->op == ','" (field_expression "local_24->op" identifier -> field_identifier) == (char_literal "','" ' character ')) )) (compound_statement "{\n            do {\n              local_2c = local_24->pLeft;\n              if (local_2c->op == ',') {\n                do {\n                  local_30 = local_2c->pLeft;\n                  if (local_30->op == ',') {\n                    do {\n                      local_34 = local_30->pLeft;\n                      if (local_34->op == ',') {\n                        do {\n                          local_38 = local_34->pLeft;\n                          if (local_38->op == ',') {\n                            do {\n                              local_40 = local_38->pLeft;\n                              if (local_40->op == ',') {\n                                do {\n                                  pB = local_40->pLeft;\n                                  uVar1 = pB->op;\n                                  while (uVar1 == ',') {\n                                    whereApplyPartialIndexConstraints(pB->pLeft,iTabCur,pWC);\n                                    pB = pB->pRight;\n                                    uVar1 = pB->op;\n                                  }\n                                  iVar3 = pWC->nTerm;\n                                  pWVar4 = pWC->a;\n                                  if (0 < iVar3) {\n                                    iVar5 = 0;\n                                    do {\n                                      if (((pWVar4->wtFlags & 4) == 0) &&\n                                         (pWVar4->pExpr != (Expr *)0x0)) {\n                                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur);\n                                        iVar3 = pWC->nTerm;\n                                        if (iVar2 == 0) {\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }\n                                      }\n                                      iVar5 = iVar5 + 1;\n                                      pWVar4 = pWVar4 + 1;\n                                    } while (iVar5 < iVar3);\n                                  }\n                                  local_40 = local_40->pRight;\n                                } while (local_40->op == ',');\n                              }\n                              else {\n                                iVar3 = pWC->nTerm;\n                              }\n                              pWVar4 = pWC->a;\n                              if (0 < iVar3) {\n                                iVar5 = 0;\n                                do {\n                                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)\n                                     ) {\n                                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_40,\n                                                               iTabCur);\n                                    iVar3 = pWC->nTerm;\n                                    if (iVar2 == 0) {\n                                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                    }\n                                  }\n                                  iVar5 = iVar5 + 1;\n                                  pWVar4 = pWVar4 + 1;\n                                } while (iVar5 < iVar3);\n                              }\n                              local_38 = local_38->pRight;\n                            } while (local_38->op == ',');\n                          }\n                          else {\n                            iVar3 = pWC->nTerm;\n                          }\n                          pWVar4 = pWC->a;\n                          if (0 < iVar3) {\n                            iVar5 = 0;\n                            do {\n                              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_38,\n                                                           iTabCur);\n                                iVar3 = pWC->nTerm;\n                                if (iVar2 == 0) {\n                                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                }\n                              }\n                              iVar5 = iVar5 + 1;\n                              pWVar4 = pWVar4 + 1;\n                            } while (iVar5 < iVar3);\n                          }\n                          local_34 = local_34->pRight;\n                        } while (local_34->op == ',');\n                      }\n                      else {\n                        iVar3 = pWC->nTerm;\n                      }\n                      pWVar4 = pWC->a;\n                      if (0 < iVar3) {\n                        iVar5 = 0;\n                        do {\n                          if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_34,iTabCur);\n                            iVar3 = pWC->nTerm;\n                            if (iVar2 == 0) {\n                              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                            }\n                          }\n                          iVar5 = iVar5 + 1;\n                          pWVar4 = pWVar4 + 1;\n                        } while (iVar5 < iVar3);\n                      }\n                      local_30 = local_30->pRight;\n                    } while (local_30->op == ',');\n                  }\n                  else {\n                    iVar3 = pWC->nTerm;\n                  }\n                  pWVar4 = pWC->a;\n                  if (0 < iVar3) {\n                    iVar5 = 0;\n                    do {\n                      if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_30,iTabCur);\n                        iVar3 = pWC->nTerm;\n                        if (iVar2 == 0) {\n                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                        }\n                      }\n                      iVar5 = iVar5 + 1;\n                      pWVar4 = pWVar4 + 1;\n                    } while (iVar5 < iVar3);\n                  }\n                  local_2c = local_2c->pRight;\n                } while (local_2c->op == ',');\n              }\n              else {\n                iVar3 = pWC->nTerm;\n              }\n              pWVar4 = pWC->a;\n              if (0 < iVar3) {\n                iVar5 = 0;\n                do {\n                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_2c,iTabCur);\n                    iVar3 = pWC->nTerm;\n                    if (iVar2 == 0) {\n                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                    }\n                  }\n                  iVar5 = iVar5 + 1;\n                  pWVar4 = pWVar4 + 1;\n                } while (iVar5 < iVar3);\n              }\n              local_24 = local_24->pRight;\n            } while (local_24->op == ',');\n          }" { (do_statement "do {\n              local_2c = local_24->pLeft;\n              if (local_2c->op == ',') {\n                do {\n                  local_30 = local_2c->pLeft;\n                  if (local_30->op == ',') {\n                    do {\n                      local_34 = local_30->pLeft;\n                      if (local_34->op == ',') {\n                        do {\n                          local_38 = local_34->pLeft;\n                          if (local_38->op == ',') {\n                            do {\n                              local_40 = local_38->pLeft;\n                              if (local_40->op == ',') {\n                                do {\n                                  pB = local_40->pLeft;\n                                  uVar1 = pB->op;\n                                  while (uVar1 == ',') {\n                                    whereApplyPartialIndexConstraints(pB->pLeft,iTabCur,pWC);\n                                    pB = pB->pRight;\n                                    uVar1 = pB->op;\n                                  }\n                                  iVar3 = pWC->nTerm;\n                                  pWVar4 = pWC->a;\n                                  if (0 < iVar3) {\n                                    iVar5 = 0;\n                                    do {\n                                      if (((pWVar4->wtFlags & 4) == 0) &&\n                                         (pWVar4->pExpr != (Expr *)0x0)) {\n                                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur);\n                                        iVar3 = pWC->nTerm;\n                                        if (iVar2 == 0) {\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }\n                                      }\n                                      iVar5 = iVar5 + 1;\n                                      pWVar4 = pWVar4 + 1;\n                                    } while (iVar5 < iVar3);\n                                  }\n                                  local_40 = local_40->pRight;\n                                } while (local_40->op == ',');\n                              }\n                              else {\n                                iVar3 = pWC->nTerm;\n                              }\n                              pWVar4 = pWC->a;\n                              if (0 < iVar3) {\n                                iVar5 = 0;\n                                do {\n                                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)\n                                     ) {\n                                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_40,\n                                                               iTabCur);\n                                    iVar3 = pWC->nTerm;\n                                    if (iVar2 == 0) {\n                                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                    }\n                                  }\n                                  iVar5 = iVar5 + 1;\n                                  pWVar4 = pWVar4 + 1;\n                                } while (iVar5 < iVar3);\n                              }\n                              local_38 = local_38->pRight;\n                            } while (local_38->op == ',');\n                          }\n                          else {\n                            iVar3 = pWC->nTerm;\n                          }\n                          pWVar4 = pWC->a;\n                          if (0 < iVar3) {\n                            iVar5 = 0;\n                            do {\n                              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_38,\n                                                           iTabCur);\n                                iVar3 = pWC->nTerm;\n                                if (iVar2 == 0) {\n                                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                }\n                              }\n                              iVar5 = iVar5 + 1;\n                              pWVar4 = pWVar4 + 1;\n                            } while (iVar5 < iVar3);\n                          }\n                          local_34 = local_34->pRight;\n                        } while (local_34->op == ',');\n                      }\n                      else {\n                        iVar3 = pWC->nTerm;\n                      }\n                      pWVar4 = pWC->a;\n                      if (0 < iVar3) {\n                        iVar5 = 0;\n                        do {\n                          if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_34,iTabCur);\n                            iVar3 = pWC->nTerm;\n                            if (iVar2 == 0) {\n                              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                            }\n                          }\n                          iVar5 = iVar5 + 1;\n                          pWVar4 = pWVar4 + 1;\n                        } while (iVar5 < iVar3);\n                      }\n                      local_30 = local_30->pRight;\n                    } while (local_30->op == ',');\n                  }\n                  else {\n                    iVar3 = pWC->nTerm;\n                  }\n                  pWVar4 = pWC->a;\n                  if (0 < iVar3) {\n                    iVar5 = 0;\n                    do {\n                      if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_30,iTabCur);\n                        iVar3 = pWC->nTerm;\n                        if (iVar2 == 0) {\n                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                        }\n                      }\n                      iVar5 = iVar5 + 1;\n                      pWVar4 = pWVar4 + 1;\n                    } while (iVar5 < iVar3);\n                  }\n                  local_2c = local_2c->pRight;\n                } while (local_2c->op == ',');\n              }\n              else {\n                iVar3 = pWC->nTerm;\n              }\n              pWVar4 = pWC->a;\n              if (0 < iVar3) {\n                iVar5 = 0;\n                do {\n                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_2c,iTabCur);\n                    iVar3 = pWC->nTerm;\n                    if (iVar2 == 0) {\n                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                    }\n                  }\n                  iVar5 = iVar5 + 1;\n                  pWVar4 = pWVar4 + 1;\n                } while (iVar5 < iVar3);\n              }\n              local_24 = local_24->pRight;\n            } while (local_24->op == ',');" do (compound_statement "{\n              local_2c = local_24->pLeft;\n              if (local_2c->op == ',') {\n                do {\n                  local_30 = local_2c->pLeft;\n                  if (local_30->op == ',') {\n                    do {\n                      local_34 = local_30->pLeft;\n                      if (local_34->op == ',') {\n                        do {\n                          local_38 = local_34->pLeft;\n                          if (local_38->op == ',') {\n                            do {\n                              local_40 = local_38->pLeft;\n                              if (local_40->op == ',') {\n                                do {\n                                  pB = local_40->pLeft;\n                                  uVar1 = pB->op;\n                                  while (uVar1 == ',') {\n                                    whereApplyPartialIndexConstraints(pB->pLeft,iTabCur,pWC);\n                                    pB = pB->pRight;\n                                    uVar1 = pB->op;\n                                  }\n                                  iVar3 = pWC->nTerm;\n                                  pWVar4 = pWC->a;\n                                  if (0 < iVar3) {\n                                    iVar5 = 0;\n                                    do {\n                                      if (((pWVar4->wtFlags & 4) == 0) &&\n                                         (pWVar4->pExpr != (Expr *)0x0)) {\n                                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur);\n                                        iVar3 = pWC->nTerm;\n                                        if (iVar2 == 0) {\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }\n                                      }\n                                      iVar5 = iVar5 + 1;\n                                      pWVar4 = pWVar4 + 1;\n                                    } while (iVar5 < iVar3);\n                                  }\n                                  local_40 = local_40->pRight;\n                                } while (local_40->op == ',');\n                              }\n                              else {\n                                iVar3 = pWC->nTerm;\n                              }\n                              pWVar4 = pWC->a;\n                              if (0 < iVar3) {\n                                iVar5 = 0;\n                                do {\n                                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)\n                                     ) {\n                                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_40,\n                                                               iTabCur);\n                                    iVar3 = pWC->nTerm;\n                                    if (iVar2 == 0) {\n                                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                    }\n                                  }\n                                  iVar5 = iVar5 + 1;\n                                  pWVar4 = pWVar4 + 1;\n                                } while (iVar5 < iVar3);\n                              }\n                              local_38 = local_38->pRight;\n                            } while (local_38->op == ',');\n                          }\n                          else {\n                            iVar3 = pWC->nTerm;\n                          }\n                          pWVar4 = pWC->a;\n                          if (0 < iVar3) {\n                            iVar5 = 0;\n                            do {\n                              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_38,\n                                                           iTabCur);\n                                iVar3 = pWC->nTerm;\n                                if (iVar2 == 0) {\n                                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                }\n                              }\n                              iVar5 = iVar5 + 1;\n                              pWVar4 = pWVar4 + 1;\n                            } while (iVar5 < iVar3);\n                          }\n                          local_34 = local_34->pRight;\n                        } while (local_34->op == ',');\n                      }\n                      else {\n                        iVar3 = pWC->nTerm;\n                      }\n                      pWVar4 = pWC->a;\n                      if (0 < iVar3) {\n                        iVar5 = 0;\n                        do {\n                          if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_34,iTabCur);\n                            iVar3 = pWC->nTerm;\n                            if (iVar2 == 0) {\n                              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                            }\n                          }\n                          iVar5 = iVar5 + 1;\n                          pWVar4 = pWVar4 + 1;\n                        } while (iVar5 < iVar3);\n                      }\n                      local_30 = local_30->pRight;\n                    } while (local_30->op == ',');\n                  }\n                  else {\n                    iVar3 = pWC->nTerm;\n                  }\n                  pWVar4 = pWC->a;\n                  if (0 < iVar3) {\n                    iVar5 = 0;\n                    do {\n                      if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_30,iTabCur);\n                        iVar3 = pWC->nTerm;\n                        if (iVar2 == 0) {\n                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                        }\n                      }\n                      iVar5 = iVar5 + 1;\n                      pWVar4 = pWVar4 + 1;\n                    } while (iVar5 < iVar3);\n                  }\n                  local_2c = local_2c->pRight;\n                } while (local_2c->op == ',');\n              }\n              else {\n                iVar3 = pWC->nTerm;\n              }\n              pWVar4 = pWC->a;\n              if (0 < iVar3) {\n                iVar5 = 0;\n                do {\n                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_2c,iTabCur);\n                    iVar3 = pWC->nTerm;\n                    if (iVar2 == 0) {\n                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                    }\n                  }\n                  iVar5 = iVar5 + 1;\n                  pWVar4 = pWVar4 + 1;\n                } while (iVar5 < iVar3);\n              }\n              local_24 = local_24->pRight;\n            }" { (expression_statement "local_2c = local_24->pLeft;" (assignment_expression "local_2c = local_24->pLeft" identifier = (field_expression "local_24->pLeft" identifier -> field_identifier)) ;) (if_statement "if (local_2c->op == ',') {\n                do {\n                  local_30 = local_2c->pLeft;\n                  if (local_30->op == ',') {\n                    do {\n                      local_34 = local_30->pLeft;\n                      if (local_34->op == ',') {\n                        do {\n                          local_38 = local_34->pLeft;\n                          if (local_38->op == ',') {\n                            do {\n                              local_40 = local_38->pLeft;\n                              if (local_40->op == ',') {\n                                do {\n                                  pB = local_40->pLeft;\n                                  uVar1 = pB->op;\n                                  while (uVar1 == ',') {\n                                    whereApplyPartialIndexConstraints(pB->pLeft,iTabCur,pWC);\n                                    pB = pB->pRight;\n                                    uVar1 = pB->op;\n                                  }\n                                  iVar3 = pWC->nTerm;\n                                  pWVar4 = pWC->a;\n                                  if (0 < iVar3) {\n                                    iVar5 = 0;\n                                    do {\n                                      if (((pWVar4->wtFlags & 4) == 0) &&\n                                         (pWVar4->pExpr != (Expr *)0x0)) {\n                                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur);\n                                        iVar3 = pWC->nTerm;\n                                        if (iVar2 == 0) {\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }\n                                      }\n                                      iVar5 = iVar5 + 1;\n                                      pWVar4 = pWVar4 + 1;\n                                    } while (iVar5 < iVar3);\n                                  }\n                                  local_40 = local_40->pRight;\n                                } while (local_40->op == ',');\n                              }\n                              else {\n                                iVar3 = pWC->nTerm;\n                              }\n                              pWVar4 = pWC->a;\n                              if (0 < iVar3) {\n                                iVar5 = 0;\n                                do {\n                                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)\n                                     ) {\n                                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_40,\n                                                               iTabCur);\n                                    iVar3 = pWC->nTerm;\n                                    if (iVar2 == 0) {\n                                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                    }\n                                  }\n                                  iVar5 = iVar5 + 1;\n                                  pWVar4 = pWVar4 + 1;\n                                } while (iVar5 < iVar3);\n                              }\n                              local_38 = local_38->pRight;\n                            } while (local_38->op == ',');\n                          }\n                          else {\n                            iVar3 = pWC->nTerm;\n                          }\n                          pWVar4 = pWC->a;\n                          if (0 < iVar3) {\n                            iVar5 = 0;\n                            do {\n                              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_38,\n                                                           iTabCur);\n                                iVar3 = pWC->nTerm;\n                                if (iVar2 == 0) {\n                                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                }\n                              }\n                              iVar5 = iVar5 + 1;\n                              pWVar4 = pWVar4 + 1;\n                            } while (iVar5 < iVar3);\n                          }\n                          local_34 = local_34->pRight;\n                        } while (local_34->op == ',');\n                      }\n                      else {\n                        iVar3 = pWC->nTerm;\n                      }\n                      pWVar4 = pWC->a;\n                      if (0 < iVar3) {\n                        iVar5 = 0;\n                        do {\n                          if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_34,iTabCur);\n                            iVar3 = pWC->nTerm;\n                            if (iVar2 == 0) {\n                              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                            }\n                          }\n                          iVar5 = iVar5 + 1;\n                          pWVar4 = pWVar4 + 1;\n                        } while (iVar5 < iVar3);\n                      }\n                      local_30 = local_30->pRight;\n                    } while (local_30->op == ',');\n                  }\n                  else {\n                    iVar3 = pWC->nTerm;\n                  }\n                  pWVar4 = pWC->a;\n                  if (0 < iVar3) {\n                    iVar5 = 0;\n                    do {\n                      if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_30,iTabCur);\n                        iVar3 = pWC->nTerm;\n                        if (iVar2 == 0) {\n                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                        }\n                      }\n                      iVar5 = iVar5 + 1;\n                      pWVar4 = pWVar4 + 1;\n                    } while (iVar5 < iVar3);\n                  }\n                  local_2c = local_2c->pRight;\n                } while (local_2c->op == ',');\n              }\n              else {\n                iVar3 = pWC->nTerm;\n              }" if (parenthesized_expression "(local_2c->op == ',')" ( (binary_expression "local_2c->op == ','" (field_expression "local_2c->op" identifier -> field_identifier) == (char_literal "','" ' character ')) )) (compound_statement "{\n                do {\n                  local_30 = local_2c->pLeft;\n                  if (local_30->op == ',') {\n                    do {\n                      local_34 = local_30->pLeft;\n                      if (local_34->op == ',') {\n                        do {\n                          local_38 = local_34->pLeft;\n                          if (local_38->op == ',') {\n                            do {\n                              local_40 = local_38->pLeft;\n                              if (local_40->op == ',') {\n                                do {\n                                  pB = local_40->pLeft;\n                                  uVar1 = pB->op;\n                                  while (uVar1 == ',') {\n                                    whereApplyPartialIndexConstraints(pB->pLeft,iTabCur,pWC);\n                                    pB = pB->pRight;\n                                    uVar1 = pB->op;\n                                  }\n                                  iVar3 = pWC->nTerm;\n                                  pWVar4 = pWC->a;\n                                  if (0 < iVar3) {\n                                    iVar5 = 0;\n                                    do {\n                                      if (((pWVar4->wtFlags & 4) == 0) &&\n                                         (pWVar4->pExpr != (Expr *)0x0)) {\n                                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur);\n                                        iVar3 = pWC->nTerm;\n                                        if (iVar2 == 0) {\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }\n                                      }\n                                      iVar5 = iVar5 + 1;\n                                      pWVar4 = pWVar4 + 1;\n                                    } while (iVar5 < iVar3);\n                                  }\n                                  local_40 = local_40->pRight;\n                                } while (local_40->op == ',');\n                              }\n                              else {\n                                iVar3 = pWC->nTerm;\n                              }\n                              pWVar4 = pWC->a;\n                              if (0 < iVar3) {\n                                iVar5 = 0;\n                                do {\n                                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)\n                                     ) {\n                                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_40,\n                                                               iTabCur);\n                                    iVar3 = pWC->nTerm;\n                                    if (iVar2 == 0) {\n                                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                    }\n                                  }\n                                  iVar5 = iVar5 + 1;\n                                  pWVar4 = pWVar4 + 1;\n                                } while (iVar5 < iVar3);\n                              }\n                              local_38 = local_38->pRight;\n                            } while (local_38->op == ',');\n                          }\n                          else {\n                            iVar3 = pWC->nTerm;\n                          }\n                          pWVar4 = pWC->a;\n                          if (0 < iVar3) {\n                            iVar5 = 0;\n                            do {\n                              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_38,\n                                                           iTabCur);\n                                iVar3 = pWC->nTerm;\n                                if (iVar2 == 0) {\n                                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                }\n                              }\n                              iVar5 = iVar5 + 1;\n                              pWVar4 = pWVar4 + 1;\n                            } while (iVar5 < iVar3);\n                          }\n                          local_34 = local_34->pRight;\n                        } while (local_34->op == ',');\n                      }\n                      else {\n                        iVar3 = pWC->nTerm;\n                      }\n                      pWVar4 = pWC->a;\n                      if (0 < iVar3) {\n                        iVar5 = 0;\n                        do {\n                          if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_34,iTabCur);\n                            iVar3 = pWC->nTerm;\n                            if (iVar2 == 0) {\n                              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                            }\n                          }\n                          iVar5 = iVar5 + 1;\n                          pWVar4 = pWVar4 + 1;\n                        } while (iVar5 < iVar3);\n                      }\n                      local_30 = local_30->pRight;\n                    } while (local_30->op == ',');\n                  }\n                  else {\n                    iVar3 = pWC->nTerm;\n                  }\n                  pWVar4 = pWC->a;\n                  if (0 < iVar3) {\n                    iVar5 = 0;\n                    do {\n                      if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_30,iTabCur);\n                        iVar3 = pWC->nTerm;\n                        if (iVar2 == 0) {\n                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                        }\n                      }\n                      iVar5 = iVar5 + 1;\n                      pWVar4 = pWVar4 + 1;\n                    } while (iVar5 < iVar3);\n                  }\n                  local_2c = local_2c->pRight;\n                } while (local_2c->op == ',');\n              }" { (do_statement "do {\n                  local_30 = local_2c->pLeft;\n                  if (local_30->op == ',') {\n                    do {\n                      local_34 = local_30->pLeft;\n                      if (local_34->op == ',') {\n                        do {\n                          local_38 = local_34->pLeft;\n                          if (local_38->op == ',') {\n                            do {\n                              local_40 = local_38->pLeft;\n                              if (local_40->op == ',') {\n                                do {\n                                  pB = local_40->pLeft;\n                                  uVar1 = pB->op;\n                                  while (uVar1 == ',') {\n                                    whereApplyPartialIndexConstraints(pB->pLeft,iTabCur,pWC);\n                                    pB = pB->pRight;\n                                    uVar1 = pB->op;\n                                  }\n                                  iVar3 = pWC->nTerm;\n                                  pWVar4 = pWC->a;\n                                  if (0 < iVar3) {\n                                    iVar5 = 0;\n                                    do {\n                                      if (((pWVar4->wtFlags & 4) == 0) &&\n                                         (pWVar4->pExpr != (Expr *)0x0)) {\n                                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur);\n                                        iVar3 = pWC->nTerm;\n                                        if (iVar2 == 0) {\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }\n                                      }\n                                      iVar5 = iVar5 + 1;\n                                      pWVar4 = pWVar4 + 1;\n                                    } while (iVar5 < iVar3);\n                                  }\n                                  local_40 = local_40->pRight;\n                                } while (local_40->op == ',');\n                              }\n                              else {\n                                iVar3 = pWC->nTerm;\n                              }\n                              pWVar4 = pWC->a;\n                              if (0 < iVar3) {\n                                iVar5 = 0;\n                                do {\n                                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)\n                                     ) {\n                                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_40,\n                                                               iTabCur);\n                                    iVar3 = pWC->nTerm;\n                                    if (iVar2 == 0) {\n                                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                    }\n                                  }\n                                  iVar5 = iVar5 + 1;\n                                  pWVar4 = pWVar4 + 1;\n                                } while (iVar5 < iVar3);\n                              }\n                              local_38 = local_38->pRight;\n                            } while (local_38->op == ',');\n                          }\n                          else {\n                            iVar3 = pWC->nTerm;\n                          }\n                          pWVar4 = pWC->a;\n                          if (0 < iVar3) {\n                            iVar5 = 0;\n                            do {\n                              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_38,\n                                                           iTabCur);\n                                iVar3 = pWC->nTerm;\n                                if (iVar2 == 0) {\n                                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                }\n                              }\n                              iVar5 = iVar5 + 1;\n                              pWVar4 = pWVar4 + 1;\n                            } while (iVar5 < iVar3);\n                          }\n                          local_34 = local_34->pRight;\n                        } while (local_34->op == ',');\n                      }\n                      else {\n                        iVar3 = pWC->nTerm;\n                      }\n                      pWVar4 = pWC->a;\n                      if (0 < iVar3) {\n                        iVar5 = 0;\n                        do {\n                          if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_34,iTabCur);\n                            iVar3 = pWC->nTerm;\n                            if (iVar2 == 0) {\n                              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                            }\n                          }\n                          iVar5 = iVar5 + 1;\n                          pWVar4 = pWVar4 + 1;\n                        } while (iVar5 < iVar3);\n                      }\n                      local_30 = local_30->pRight;\n                    } while (local_30->op == ',');\n                  }\n                  else {\n                    iVar3 = pWC->nTerm;\n                  }\n                  pWVar4 = pWC->a;\n                  if (0 < iVar3) {\n                    iVar5 = 0;\n                    do {\n                      if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_30,iTabCur);\n                        iVar3 = pWC->nTerm;\n                        if (iVar2 == 0) {\n                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                        }\n                      }\n                      iVar5 = iVar5 + 1;\n                      pWVar4 = pWVar4 + 1;\n                    } while (iVar5 < iVar3);\n                  }\n                  local_2c = local_2c->pRight;\n                } while (local_2c->op == ',');" do (compound_statement "{\n                  local_30 = local_2c->pLeft;\n                  if (local_30->op == ',') {\n                    do {\n                      local_34 = local_30->pLeft;\n                      if (local_34->op == ',') {\n                        do {\n                          local_38 = local_34->pLeft;\n                          if (local_38->op == ',') {\n                            do {\n                              local_40 = local_38->pLeft;\n                              if (local_40->op == ',') {\n                                do {\n                                  pB = local_40->pLeft;\n                                  uVar1 = pB->op;\n                                  while (uVar1 == ',') {\n                                    whereApplyPartialIndexConstraints(pB->pLeft,iTabCur,pWC);\n                                    pB = pB->pRight;\n                                    uVar1 = pB->op;\n                                  }\n                                  iVar3 = pWC->nTerm;\n                                  pWVar4 = pWC->a;\n                                  if (0 < iVar3) {\n                                    iVar5 = 0;\n                                    do {\n                                      if (((pWVar4->wtFlags & 4) == 0) &&\n                                         (pWVar4->pExpr != (Expr *)0x0)) {\n                                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur);\n                                        iVar3 = pWC->nTerm;\n                                        if (iVar2 == 0) {\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }\n                                      }\n                                      iVar5 = iVar5 + 1;\n                                      pWVar4 = pWVar4 + 1;\n                                    } while (iVar5 < iVar3);\n                                  }\n                                  local_40 = local_40->pRight;\n                                } while (local_40->op == ',');\n                              }\n                              else {\n                                iVar3 = pWC->nTerm;\n                              }\n                              pWVar4 = pWC->a;\n                              if (0 < iVar3) {\n                                iVar5 = 0;\n                                do {\n                                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)\n                                     ) {\n                                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_40,\n                                                               iTabCur);\n                                    iVar3 = pWC->nTerm;\n                                    if (iVar2 == 0) {\n                                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                    }\n                                  }\n                                  iVar5 = iVar5 + 1;\n                                  pWVar4 = pWVar4 + 1;\n                                } while (iVar5 < iVar3);\n                              }\n                              local_38 = local_38->pRight;\n                            } while (local_38->op == ',');\n                          }\n                          else {\n                            iVar3 = pWC->nTerm;\n                          }\n                          pWVar4 = pWC->a;\n                          if (0 < iVar3) {\n                            iVar5 = 0;\n                            do {\n                              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_38,\n                                                           iTabCur);\n                                iVar3 = pWC->nTerm;\n                                if (iVar2 == 0) {\n                                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                }\n                              }\n                              iVar5 = iVar5 + 1;\n                              pWVar4 = pWVar4 + 1;\n                            } while (iVar5 < iVar3);\n                          }\n                          local_34 = local_34->pRight;\n                        } while (local_34->op == ',');\n                      }\n                      else {\n                        iVar3 = pWC->nTerm;\n                      }\n                      pWVar4 = pWC->a;\n                      if (0 < iVar3) {\n                        iVar5 = 0;\n                        do {\n                          if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_34,iTabCur);\n                            iVar3 = pWC->nTerm;\n                            if (iVar2 == 0) {\n                              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                            }\n                          }\n                          iVar5 = iVar5 + 1;\n                          pWVar4 = pWVar4 + 1;\n                        } while (iVar5 < iVar3);\n                      }\n                      local_30 = local_30->pRight;\n                    } while (local_30->op == ',');\n                  }\n                  else {\n                    iVar3 = pWC->nTerm;\n                  }\n                  pWVar4 = pWC->a;\n                  if (0 < iVar3) {\n                    iVar5 = 0;\n                    do {\n                      if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_30,iTabCur);\n                        iVar3 = pWC->nTerm;\n                        if (iVar2 == 0) {\n                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                        }\n                      }\n                      iVar5 = iVar5 + 1;\n                      pWVar4 = pWVar4 + 1;\n                    } while (iVar5 < iVar3);\n                  }\n                  local_2c = local_2c->pRight;\n                }" { (expression_statement "local_30 = local_2c->pLeft;" (assignment_expression "local_30 = local_2c->pLeft" identifier = (field_expression "local_2c->pLeft" identifier -> field_identifier)) ;) (if_statement "if (local_30->op == ',') {\n                    do {\n                      local_34 = local_30->pLeft;\n                      if (local_34->op == ',') {\n                        do {\n                          local_38 = local_34->pLeft;\n                          if (local_38->op == ',') {\n                            do {\n                              local_40 = local_38->pLeft;\n                              if (local_40->op == ',') {\n                                do {\n                                  pB = local_40->pLeft;\n                                  uVar1 = pB->op;\n                                  while (uVar1 == ',') {\n                                    whereApplyPartialIndexConstraints(pB->pLeft,iTabCur,pWC);\n                                    pB = pB->pRight;\n                                    uVar1 = pB->op;\n                                  }\n                                  iVar3 = pWC->nTerm;\n                                  pWVar4 = pWC->a;\n                                  if (0 < iVar3) {\n                                    iVar5 = 0;\n                                    do {\n                                      if (((pWVar4->wtFlags & 4) == 0) &&\n                                         (pWVar4->pExpr != (Expr *)0x0)) {\n                                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur);\n                                        iVar3 = pWC->nTerm;\n                                        if (iVar2 == 0) {\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }\n                                      }\n                                      iVar5 = iVar5 + 1;\n                                      pWVar4 = pWVar4 + 1;\n                                    } while (iVar5 < iVar3);\n                                  }\n                                  local_40 = local_40->pRight;\n                                } while (local_40->op == ',');\n                              }\n                              else {\n                                iVar3 = pWC->nTerm;\n                              }\n                              pWVar4 = pWC->a;\n                              if (0 < iVar3) {\n                                iVar5 = 0;\n                                do {\n                                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)\n                                     ) {\n                                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_40,\n                                                               iTabCur);\n                                    iVar3 = pWC->nTerm;\n                                    if (iVar2 == 0) {\n                                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                    }\n                                  }\n                                  iVar5 = iVar5 + 1;\n                                  pWVar4 = pWVar4 + 1;\n                                } while (iVar5 < iVar3);\n                              }\n                              local_38 = local_38->pRight;\n                            } while (local_38->op == ',');\n                          }\n                          else {\n                            iVar3 = pWC->nTerm;\n                          }\n                          pWVar4 = pWC->a;\n                          if (0 < iVar3) {\n                            iVar5 = 0;\n                            do {\n                              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_38,\n                                                           iTabCur);\n                                iVar3 = pWC->nTerm;\n                                if (iVar2 == 0) {\n                                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                }\n                              }\n                              iVar5 = iVar5 + 1;\n                              pWVar4 = pWVar4 + 1;\n                            } while (iVar5 < iVar3);\n                          }\n                          local_34 = local_34->pRight;\n                        } while (local_34->op == ',');\n                      }\n                      else {\n                        iVar3 = pWC->nTerm;\n                      }\n                      pWVar4 = pWC->a;\n                      if (0 < iVar3) {\n                        iVar5 = 0;\n                        do {\n                          if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_34,iTabCur);\n                            iVar3 = pWC->nTerm;\n                            if (iVar2 == 0) {\n                              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                            }\n                          }\n                          iVar5 = iVar5 + 1;\n                          pWVar4 = pWVar4 + 1;\n                        } while (iVar5 < iVar3);\n                      }\n                      local_30 = local_30->pRight;\n                    } while (local_30->op == ',');\n                  }\n                  else {\n                    iVar3 = pWC->nTerm;\n                  }" if (parenthesized_expression "(local_30->op == ',')" ( (binary_expression "local_30->op == ','" (field_expression "local_30->op" identifier -> field_identifier) == (char_literal "','" ' character ')) )) (compound_statement "{\n                    do {\n                      local_34 = local_30->pLeft;\n                      if (local_34->op == ',') {\n                        do {\n                          local_38 = local_34->pLeft;\n                          if (local_38->op == ',') {\n                            do {\n                              local_40 = local_38->pLeft;\n                              if (local_40->op == ',') {\n                                do {\n                                  pB = local_40->pLeft;\n                                  uVar1 = pB->op;\n                                  while (uVar1 == ',') {\n                                    whereApplyPartialIndexConstraints(pB->pLeft,iTabCur,pWC);\n                                    pB = pB->pRight;\n                                    uVar1 = pB->op;\n                                  }\n                                  iVar3 = pWC->nTerm;\n                                  pWVar4 = pWC->a;\n                                  if (0 < iVar3) {\n                                    iVar5 = 0;\n                                    do {\n                                      if (((pWVar4->wtFlags & 4) == 0) &&\n                                         (pWVar4->pExpr != (Expr *)0x0)) {\n                                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur);\n                                        iVar3 = pWC->nTerm;\n                                        if (iVar2 == 0) {\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }\n                                      }\n                                      iVar5 = iVar5 + 1;\n                                      pWVar4 = pWVar4 + 1;\n                                    } while (iVar5 < iVar3);\n                                  }\n                                  local_40 = local_40->pRight;\n                                } while (local_40->op == ',');\n                              }\n                              else {\n                                iVar3 = pWC->nTerm;\n                              }\n                              pWVar4 = pWC->a;\n                              if (0 < iVar3) {\n                                iVar5 = 0;\n                                do {\n                                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)\n                                     ) {\n                                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_40,\n                                                               iTabCur);\n                                    iVar3 = pWC->nTerm;\n                                    if (iVar2 == 0) {\n                                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                    }\n                                  }\n                                  iVar5 = iVar5 + 1;\n                                  pWVar4 = pWVar4 + 1;\n                                } while (iVar5 < iVar3);\n                              }\n                              local_38 = local_38->pRight;\n                            } while (local_38->op == ',');\n                          }\n                          else {\n                            iVar3 = pWC->nTerm;\n                          }\n                          pWVar4 = pWC->a;\n                          if (0 < iVar3) {\n                            iVar5 = 0;\n                            do {\n                              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_38,\n                                                           iTabCur);\n                                iVar3 = pWC->nTerm;\n                                if (iVar2 == 0) {\n                                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                }\n                              }\n                              iVar5 = iVar5 + 1;\n                              pWVar4 = pWVar4 + 1;\n                            } while (iVar5 < iVar3);\n                          }\n                          local_34 = local_34->pRight;\n                        } while (local_34->op == ',');\n                      }\n                      else {\n                        iVar3 = pWC->nTerm;\n                      }\n                      pWVar4 = pWC->a;\n                      if (0 < iVar3) {\n                        iVar5 = 0;\n                        do {\n                          if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_34,iTabCur);\n                            iVar3 = pWC->nTerm;\n                            if (iVar2 == 0) {\n                              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                            }\n                          }\n                          iVar5 = iVar5 + 1;\n                          pWVar4 = pWVar4 + 1;\n                        } while (iVar5 < iVar3);\n                      }\n                      local_30 = local_30->pRight;\n                    } while (local_30->op == ',');\n                  }" { (do_statement "do {\n                      local_34 = local_30->pLeft;\n                      if (local_34->op == ',') {\n                        do {\n                          local_38 = local_34->pLeft;\n                          if (local_38->op == ',') {\n                            do {\n                              local_40 = local_38->pLeft;\n                              if (local_40->op == ',') {\n                                do {\n                                  pB = local_40->pLeft;\n                                  uVar1 = pB->op;\n                                  while (uVar1 == ',') {\n                                    whereApplyPartialIndexConstraints(pB->pLeft,iTabCur,pWC);\n                                    pB = pB->pRight;\n                                    uVar1 = pB->op;\n                                  }\n                                  iVar3 = pWC->nTerm;\n                                  pWVar4 = pWC->a;\n                                  if (0 < iVar3) {\n                                    iVar5 = 0;\n                                    do {\n                                      if (((pWVar4->wtFlags & 4) == 0) &&\n                                         (pWVar4->pExpr != (Expr *)0x0)) {\n                                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur);\n                                        iVar3 = pWC->nTerm;\n                                        if (iVar2 == 0) {\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }\n                                      }\n                                      iVar5 = iVar5 + 1;\n                                      pWVar4 = pWVar4 + 1;\n                                    } while (iVar5 < iVar3);\n                                  }\n                                  local_40 = local_40->pRight;\n                                } while (local_40->op == ',');\n                              }\n                              else {\n                                iVar3 = pWC->nTerm;\n                              }\n                              pWVar4 = pWC->a;\n                              if (0 < iVar3) {\n                                iVar5 = 0;\n                                do {\n                                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)\n                                     ) {\n                                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_40,\n                                                               iTabCur);\n                                    iVar3 = pWC->nTerm;\n                                    if (iVar2 == 0) {\n                                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                    }\n                                  }\n                                  iVar5 = iVar5 + 1;\n                                  pWVar4 = pWVar4 + 1;\n                                } while (iVar5 < iVar3);\n                              }\n                              local_38 = local_38->pRight;\n                            } while (local_38->op == ',');\n                          }\n                          else {\n                            iVar3 = pWC->nTerm;\n                          }\n                          pWVar4 = pWC->a;\n                          if (0 < iVar3) {\n                            iVar5 = 0;\n                            do {\n                              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_38,\n                                                           iTabCur);\n                                iVar3 = pWC->nTerm;\n                                if (iVar2 == 0) {\n                                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                }\n                              }\n                              iVar5 = iVar5 + 1;\n                              pWVar4 = pWVar4 + 1;\n                            } while (iVar5 < iVar3);\n                          }\n                          local_34 = local_34->pRight;\n                        } while (local_34->op == ',');\n                      }\n                      else {\n                        iVar3 = pWC->nTerm;\n                      }\n                      pWVar4 = pWC->a;\n                      if (0 < iVar3) {\n                        iVar5 = 0;\n                        do {\n                          if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_34,iTabCur);\n                            iVar3 = pWC->nTerm;\n                            if (iVar2 == 0) {\n                              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                            }\n                          }\n                          iVar5 = iVar5 + 1;\n                          pWVar4 = pWVar4 + 1;\n                        } while (iVar5 < iVar3);\n                      }\n                      local_30 = local_30->pRight;\n                    } while (local_30->op == ',');" do (compound_statement "{\n                      local_34 = local_30->pLeft;\n                      if (local_34->op == ',') {\n                        do {\n                          local_38 = local_34->pLeft;\n                          if (local_38->op == ',') {\n                            do {\n                              local_40 = local_38->pLeft;\n                              if (local_40->op == ',') {\n                                do {\n                                  pB = local_40->pLeft;\n                                  uVar1 = pB->op;\n                                  while (uVar1 == ',') {\n                                    whereApplyPartialIndexConstraints(pB->pLeft,iTabCur,pWC);\n                                    pB = pB->pRight;\n                                    uVar1 = pB->op;\n                                  }\n                                  iVar3 = pWC->nTerm;\n                                  pWVar4 = pWC->a;\n                                  if (0 < iVar3) {\n                                    iVar5 = 0;\n                                    do {\n                                      if (((pWVar4->wtFlags & 4) == 0) &&\n                                         (pWVar4->pExpr != (Expr *)0x0)) {\n                                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur);\n                                        iVar3 = pWC->nTerm;\n                                        if (iVar2 == 0) {\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }\n                                      }\n                                      iVar5 = iVar5 + 1;\n                                      pWVar4 = pWVar4 + 1;\n                                    } while (iVar5 < iVar3);\n                                  }\n                                  local_40 = local_40->pRight;\n                                } while (local_40->op == ',');\n                              }\n                              else {\n                                iVar3 = pWC->nTerm;\n                              }\n                              pWVar4 = pWC->a;\n                              if (0 < iVar3) {\n                                iVar5 = 0;\n                                do {\n                                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)\n                                     ) {\n                                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_40,\n                                                               iTabCur);\n                                    iVar3 = pWC->nTerm;\n                                    if (iVar2 == 0) {\n                                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                    }\n                                  }\n                                  iVar5 = iVar5 + 1;\n                                  pWVar4 = pWVar4 + 1;\n                                } while (iVar5 < iVar3);\n                              }\n                              local_38 = local_38->pRight;\n                            } while (local_38->op == ',');\n                          }\n                          else {\n                            iVar3 = pWC->nTerm;\n                          }\n                          pWVar4 = pWC->a;\n                          if (0 < iVar3) {\n                            iVar5 = 0;\n                            do {\n                              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_38,\n                                                           iTabCur);\n                                iVar3 = pWC->nTerm;\n                                if (iVar2 == 0) {\n                                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                }\n                              }\n                              iVar5 = iVar5 + 1;\n                              pWVar4 = pWVar4 + 1;\n                            } while (iVar5 < iVar3);\n                          }\n                          local_34 = local_34->pRight;\n                        } while (local_34->op == ',');\n                      }\n                      else {\n                        iVar3 = pWC->nTerm;\n                      }\n                      pWVar4 = pWC->a;\n                      if (0 < iVar3) {\n                        iVar5 = 0;\n                        do {\n                          if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_34,iTabCur);\n                            iVar3 = pWC->nTerm;\n                            if (iVar2 == 0) {\n                              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                            }\n                          }\n                          iVar5 = iVar5 + 1;\n                          pWVar4 = pWVar4 + 1;\n                        } while (iVar5 < iVar3);\n                      }\n                      local_30 = local_30->pRight;\n                    }" { (expression_statement "local_34 = local_30->pLeft;" (assignment_expression "local_34 = local_30->pLeft" identifier = (field_expression "local_30->pLeft" identifier -> field_identifier)) ;) (if_statement "if (local_34->op == ',') {\n                        do {\n                          local_38 = local_34->pLeft;\n                          if (local_38->op == ',') {\n                            do {\n                              local_40 = local_38->pLeft;\n                              if (local_40->op == ',') {\n                                do {\n                                  pB = local_40->pLeft;\n                                  uVar1 = pB->op;\n                                  while (uVar1 == ',') {\n                                    whereApplyPartialIndexConstraints(pB->pLeft,iTabCur,pWC);\n                                    pB = pB->pRight;\n                                    uVar1 = pB->op;\n                                  }\n                                  iVar3 = pWC->nTerm;\n                                  pWVar4 = pWC->a;\n                                  if (0 < iVar3) {\n                                    iVar5 = 0;\n                                    do {\n                                      if (((pWVar4->wtFlags & 4) == 0) &&\n                                         (pWVar4->pExpr != (Expr *)0x0)) {\n                                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur);\n                                        iVar3 = pWC->nTerm;\n                                        if (iVar2 == 0) {\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }\n                                      }\n                                      iVar5 = iVar5 + 1;\n                                      pWVar4 = pWVar4 + 1;\n                                    } while (iVar5 < iVar3);\n                                  }\n                                  local_40 = local_40->pRight;\n                                } while (local_40->op == ',');\n                              }\n                              else {\n                                iVar3 = pWC->nTerm;\n                              }\n                              pWVar4 = pWC->a;\n                              if (0 < iVar3) {\n                                iVar5 = 0;\n                                do {\n                                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)\n                                     ) {\n                                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_40,\n                                                               iTabCur);\n                                    iVar3 = pWC->nTerm;\n                                    if (iVar2 == 0) {\n                                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                    }\n                                  }\n                                  iVar5 = iVar5 + 1;\n                                  pWVar4 = pWVar4 + 1;\n                                } while (iVar5 < iVar3);\n                              }\n                              local_38 = local_38->pRight;\n                            } while (local_38->op == ',');\n                          }\n                          else {\n                            iVar3 = pWC->nTerm;\n                          }\n                          pWVar4 = pWC->a;\n                          if (0 < iVar3) {\n                            iVar5 = 0;\n                            do {\n                              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_38,\n                                                           iTabCur);\n                                iVar3 = pWC->nTerm;\n                                if (iVar2 == 0) {\n                                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                }\n                              }\n                              iVar5 = iVar5 + 1;\n                              pWVar4 = pWVar4 + 1;\n                            } while (iVar5 < iVar3);\n                          }\n                          local_34 = local_34->pRight;\n                        } while (local_34->op == ',');\n                      }\n                      else {\n                        iVar3 = pWC->nTerm;\n                      }" if (parenthesized_expression "(local_34->op == ',')" ( (binary_expression "local_34->op == ','" (field_expression "local_34->op" identifier -> field_identifier) == (char_literal "','" ' character ')) )) (compound_statement "{\n                        do {\n                          local_38 = local_34->pLeft;\n                          if (local_38->op == ',') {\n                            do {\n                              local_40 = local_38->pLeft;\n                              if (local_40->op == ',') {\n                                do {\n                                  pB = local_40->pLeft;\n                                  uVar1 = pB->op;\n                                  while (uVar1 == ',') {\n                                    whereApplyPartialIndexConstraints(pB->pLeft,iTabCur,pWC);\n                                    pB = pB->pRight;\n                                    uVar1 = pB->op;\n                                  }\n                                  iVar3 = pWC->nTerm;\n                                  pWVar4 = pWC->a;\n                                  if (0 < iVar3) {\n                                    iVar5 = 0;\n                                    do {\n                                      if (((pWVar4->wtFlags & 4) == 0) &&\n                                         (pWVar4->pExpr != (Expr *)0x0)) {\n                                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur);\n                                        iVar3 = pWC->nTerm;\n                                        if (iVar2 == 0) {\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }\n                                      }\n                                      iVar5 = iVar5 + 1;\n                                      pWVar4 = pWVar4 + 1;\n                                    } while (iVar5 < iVar3);\n                                  }\n                                  local_40 = local_40->pRight;\n                                } while (local_40->op == ',');\n                              }\n                              else {\n                                iVar3 = pWC->nTerm;\n                              }\n                              pWVar4 = pWC->a;\n                              if (0 < iVar3) {\n                                iVar5 = 0;\n                                do {\n                                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)\n                                     ) {\n                                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_40,\n                                                               iTabCur);\n                                    iVar3 = pWC->nTerm;\n                                    if (iVar2 == 0) {\n                                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                    }\n                                  }\n                                  iVar5 = iVar5 + 1;\n                                  pWVar4 = pWVar4 + 1;\n                                } while (iVar5 < iVar3);\n                              }\n                              local_38 = local_38->pRight;\n                            } while (local_38->op == ',');\n                          }\n                          else {\n                            iVar3 = pWC->nTerm;\n                          }\n                          pWVar4 = pWC->a;\n                          if (0 < iVar3) {\n                            iVar5 = 0;\n                            do {\n                              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_38,\n                                                           iTabCur);\n                                iVar3 = pWC->nTerm;\n                                if (iVar2 == 0) {\n                                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                }\n                              }\n                              iVar5 = iVar5 + 1;\n                              pWVar4 = pWVar4 + 1;\n                            } while (iVar5 < iVar3);\n                          }\n                          local_34 = local_34->pRight;\n                        } while (local_34->op == ',');\n                      }" { (do_statement "do {\n                          local_38 = local_34->pLeft;\n                          if (local_38->op == ',') {\n                            do {\n                              local_40 = local_38->pLeft;\n                              if (local_40->op == ',') {\n                                do {\n                                  pB = local_40->pLeft;\n                                  uVar1 = pB->op;\n                                  while (uVar1 == ',') {\n                                    whereApplyPartialIndexConstraints(pB->pLeft,iTabCur,pWC);\n                                    pB = pB->pRight;\n                                    uVar1 = pB->op;\n                                  }\n                                  iVar3 = pWC->nTerm;\n                                  pWVar4 = pWC->a;\n                                  if (0 < iVar3) {\n                                    iVar5 = 0;\n                                    do {\n                                      if (((pWVar4->wtFlags & 4) == 0) &&\n                                         (pWVar4->pExpr != (Expr *)0x0)) {\n                                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur);\n                                        iVar3 = pWC->nTerm;\n                                        if (iVar2 == 0) {\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }\n                                      }\n                                      iVar5 = iVar5 + 1;\n                                      pWVar4 = pWVar4 + 1;\n                                    } while (iVar5 < iVar3);\n                                  }\n                                  local_40 = local_40->pRight;\n                                } while (local_40->op == ',');\n                              }\n                              else {\n                                iVar3 = pWC->nTerm;\n                              }\n                              pWVar4 = pWC->a;\n                              if (0 < iVar3) {\n                                iVar5 = 0;\n                                do {\n                                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)\n                                     ) {\n                                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_40,\n                                                               iTabCur);\n                                    iVar3 = pWC->nTerm;\n                                    if (iVar2 == 0) {\n                                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                    }\n                                  }\n                                  iVar5 = iVar5 + 1;\n                                  pWVar4 = pWVar4 + 1;\n                                } while (iVar5 < iVar3);\n                              }\n                              local_38 = local_38->pRight;\n                            } while (local_38->op == ',');\n                          }\n                          else {\n                            iVar3 = pWC->nTerm;\n                          }\n                          pWVar4 = pWC->a;\n                          if (0 < iVar3) {\n                            iVar5 = 0;\n                            do {\n                              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_38,\n                                                           iTabCur);\n                                iVar3 = pWC->nTerm;\n                                if (iVar2 == 0) {\n                                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                }\n                              }\n                              iVar5 = iVar5 + 1;\n                              pWVar4 = pWVar4 + 1;\n                            } while (iVar5 < iVar3);\n                          }\n                          local_34 = local_34->pRight;\n                        } while (local_34->op == ',');" do (compound_statement "{\n                          local_38 = local_34->pLeft;\n                          if (local_38->op == ',') {\n                            do {\n                              local_40 = local_38->pLeft;\n                              if (local_40->op == ',') {\n                                do {\n                                  pB = local_40->pLeft;\n                                  uVar1 = pB->op;\n                                  while (uVar1 == ',') {\n                                    whereApplyPartialIndexConstraints(pB->pLeft,iTabCur,pWC);\n                                    pB = pB->pRight;\n                                    uVar1 = pB->op;\n                                  }\n                                  iVar3 = pWC->nTerm;\n                                  pWVar4 = pWC->a;\n                                  if (0 < iVar3) {\n                                    iVar5 = 0;\n                                    do {\n                                      if (((pWVar4->wtFlags & 4) == 0) &&\n                                         (pWVar4->pExpr != (Expr *)0x0)) {\n                                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur);\n                                        iVar3 = pWC->nTerm;\n                                        if (iVar2 == 0) {\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }\n                                      }\n                                      iVar5 = iVar5 + 1;\n                                      pWVar4 = pWVar4 + 1;\n                                    } while (iVar5 < iVar3);\n                                  }\n                                  local_40 = local_40->pRight;\n                                } while (local_40->op == ',');\n                              }\n                              else {\n                                iVar3 = pWC->nTerm;\n                              }\n                              pWVar4 = pWC->a;\n                              if (0 < iVar3) {\n                                iVar5 = 0;\n                                do {\n                                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)\n                                     ) {\n                                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_40,\n                                                               iTabCur);\n                                    iVar3 = pWC->nTerm;\n                                    if (iVar2 == 0) {\n                                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                    }\n                                  }\n                                  iVar5 = iVar5 + 1;\n                                  pWVar4 = pWVar4 + 1;\n                                } while (iVar5 < iVar3);\n                              }\n                              local_38 = local_38->pRight;\n                            } while (local_38->op == ',');\n                          }\n                          else {\n                            iVar3 = pWC->nTerm;\n                          }\n                          pWVar4 = pWC->a;\n                          if (0 < iVar3) {\n                            iVar5 = 0;\n                            do {\n                              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_38,\n                                                           iTabCur);\n                                iVar3 = pWC->nTerm;\n                                if (iVar2 == 0) {\n                                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                }\n                              }\n                              iVar5 = iVar5 + 1;\n                              pWVar4 = pWVar4 + 1;\n                            } while (iVar5 < iVar3);\n                          }\n                          local_34 = local_34->pRight;\n                        }" { (expression_statement "local_38 = local_34->pLeft;" (assignment_expression "local_38 = local_34->pLeft" identifier = (field_expression "local_34->pLeft" identifier -> field_identifier)) ;) (if_statement "if (local_38->op == ',') {\n                            do {\n                              local_40 = local_38->pLeft;\n                              if (local_40->op == ',') {\n                                do {\n                                  pB = local_40->pLeft;\n                                  uVar1 = pB->op;\n                                  while (uVar1 == ',') {\n                                    whereApplyPartialIndexConstraints(pB->pLeft,iTabCur,pWC);\n                                    pB = pB->pRight;\n                                    uVar1 = pB->op;\n                                  }\n                                  iVar3 = pWC->nTerm;\n                                  pWVar4 = pWC->a;\n                                  if (0 < iVar3) {\n                                    iVar5 = 0;\n                                    do {\n                                      if (((pWVar4->wtFlags & 4) == 0) &&\n                                         (pWVar4->pExpr != (Expr *)0x0)) {\n                                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur);\n                                        iVar3 = pWC->nTerm;\n                                        if (iVar2 == 0) {\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }\n                                      }\n                                      iVar5 = iVar5 + 1;\n                                      pWVar4 = pWVar4 + 1;\n                                    } while (iVar5 < iVar3);\n                                  }\n                                  local_40 = local_40->pRight;\n                                } while (local_40->op == ',');\n                              }\n                              else {\n                                iVar3 = pWC->nTerm;\n                              }\n                              pWVar4 = pWC->a;\n                              if (0 < iVar3) {\n                                iVar5 = 0;\n                                do {\n                                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)\n                                     ) {\n                                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_40,\n                                                               iTabCur);\n                                    iVar3 = pWC->nTerm;\n                                    if (iVar2 == 0) {\n                                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                    }\n                                  }\n                                  iVar5 = iVar5 + 1;\n                                  pWVar4 = pWVar4 + 1;\n                                } while (iVar5 < iVar3);\n                              }\n                              local_38 = local_38->pRight;\n                            } while (local_38->op == ',');\n                          }\n                          else {\n                            iVar3 = pWC->nTerm;\n                          }" if (parenthesized_expression "(local_38->op == ',')" ( (binary_expression "local_38->op == ','" (field_expression "local_38->op" identifier -> field_identifier) == (char_literal "','" ' character ')) )) (compound_statement "{\n                            do {\n                              local_40 = local_38->pLeft;\n                              if (local_40->op == ',') {\n                                do {\n                                  pB = local_40->pLeft;\n                                  uVar1 = pB->op;\n                                  while (uVar1 == ',') {\n                                    whereApplyPartialIndexConstraints(pB->pLeft,iTabCur,pWC);\n                                    pB = pB->pRight;\n                                    uVar1 = pB->op;\n                                  }\n                                  iVar3 = pWC->nTerm;\n                                  pWVar4 = pWC->a;\n                                  if (0 < iVar3) {\n                                    iVar5 = 0;\n                                    do {\n                                      if (((pWVar4->wtFlags & 4) == 0) &&\n                                         (pWVar4->pExpr != (Expr *)0x0)) {\n                                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur);\n                                        iVar3 = pWC->nTerm;\n                                        if (iVar2 == 0) {\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }\n                                      }\n                                      iVar5 = iVar5 + 1;\n                                      pWVar4 = pWVar4 + 1;\n                                    } while (iVar5 < iVar3);\n                                  }\n                                  local_40 = local_40->pRight;\n                                } while (local_40->op == ',');\n                              }\n                              else {\n                                iVar3 = pWC->nTerm;\n                              }\n                              pWVar4 = pWC->a;\n                              if (0 < iVar3) {\n                                iVar5 = 0;\n                                do {\n                                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)\n                                     ) {\n                                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_40,\n                                                               iTabCur);\n                                    iVar3 = pWC->nTerm;\n                                    if (iVar2 == 0) {\n                                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                    }\n                                  }\n                                  iVar5 = iVar5 + 1;\n                                  pWVar4 = pWVar4 + 1;\n                                } while (iVar5 < iVar3);\n                              }\n                              local_38 = local_38->pRight;\n                            } while (local_38->op == ',');\n                          }" { (do_statement "do {\n                              local_40 = local_38->pLeft;\n                              if (local_40->op == ',') {\n                                do {\n                                  pB = local_40->pLeft;\n                                  uVar1 = pB->op;\n                                  while (uVar1 == ',') {\n                                    whereApplyPartialIndexConstraints(pB->pLeft,iTabCur,pWC);\n                                    pB = pB->pRight;\n                                    uVar1 = pB->op;\n                                  }\n                                  iVar3 = pWC->nTerm;\n                                  pWVar4 = pWC->a;\n                                  if (0 < iVar3) {\n                                    iVar5 = 0;\n                                    do {\n                                      if (((pWVar4->wtFlags & 4) == 0) &&\n                                         (pWVar4->pExpr != (Expr *)0x0)) {\n                                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur);\n                                        iVar3 = pWC->nTerm;\n                                        if (iVar2 == 0) {\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }\n                                      }\n                                      iVar5 = iVar5 + 1;\n                                      pWVar4 = pWVar4 + 1;\n                                    } while (iVar5 < iVar3);\n                                  }\n                                  local_40 = local_40->pRight;\n                                } while (local_40->op == ',');\n                              }\n                              else {\n                                iVar3 = pWC->nTerm;\n                              }\n                              pWVar4 = pWC->a;\n                              if (0 < iVar3) {\n                                iVar5 = 0;\n                                do {\n                                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)\n                                     ) {\n                                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_40,\n                                                               iTabCur);\n                                    iVar3 = pWC->nTerm;\n                                    if (iVar2 == 0) {\n                                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                    }\n                                  }\n                                  iVar5 = iVar5 + 1;\n                                  pWVar4 = pWVar4 + 1;\n                                } while (iVar5 < iVar3);\n                              }\n                              local_38 = local_38->pRight;\n                            } while (local_38->op == ',');" do (compound_statement "{\n                              local_40 = local_38->pLeft;\n                              if (local_40->op == ',') {\n                                do {\n                                  pB = local_40->pLeft;\n                                  uVar1 = pB->op;\n                                  while (uVar1 == ',') {\n                                    whereApplyPartialIndexConstraints(pB->pLeft,iTabCur,pWC);\n                                    pB = pB->pRight;\n                                    uVar1 = pB->op;\n                                  }\n                                  iVar3 = pWC->nTerm;\n                                  pWVar4 = pWC->a;\n                                  if (0 < iVar3) {\n                                    iVar5 = 0;\n                                    do {\n                                      if (((pWVar4->wtFlags & 4) == 0) &&\n                                         (pWVar4->pExpr != (Expr *)0x0)) {\n                                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur);\n                                        iVar3 = pWC->nTerm;\n                                        if (iVar2 == 0) {\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }\n                                      }\n                                      iVar5 = iVar5 + 1;\n                                      pWVar4 = pWVar4 + 1;\n                                    } while (iVar5 < iVar3);\n                                  }\n                                  local_40 = local_40->pRight;\n                                } while (local_40->op == ',');\n                              }\n                              else {\n                                iVar3 = pWC->nTerm;\n                              }\n                              pWVar4 = pWC->a;\n                              if (0 < iVar3) {\n                                iVar5 = 0;\n                                do {\n                                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)\n                                     ) {\n                                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_40,\n                                                               iTabCur);\n                                    iVar3 = pWC->nTerm;\n                                    if (iVar2 == 0) {\n                                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                    }\n                                  }\n                                  iVar5 = iVar5 + 1;\n                                  pWVar4 = pWVar4 + 1;\n                                } while (iVar5 < iVar3);\n                              }\n                              local_38 = local_38->pRight;\n                            }" { (expression_statement "local_40 = local_38->pLeft;" (assignment_expression "local_40 = local_38->pLeft" identifier = (field_expression "local_38->pLeft" identifier -> field_identifier)) ;) (if_statement "if (local_40->op == ',') {\n                                do {\n                                  pB = local_40->pLeft;\n                                  uVar1 = pB->op;\n                                  while (uVar1 == ',') {\n                                    whereApplyPartialIndexConstraints(pB->pLeft,iTabCur,pWC);\n                                    pB = pB->pRight;\n                                    uVar1 = pB->op;\n                                  }\n                                  iVar3 = pWC->nTerm;\n                                  pWVar4 = pWC->a;\n                                  if (0 < iVar3) {\n                                    iVar5 = 0;\n                                    do {\n                                      if (((pWVar4->wtFlags & 4) == 0) &&\n                                         (pWVar4->pExpr != (Expr *)0x0)) {\n                                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur);\n                                        iVar3 = pWC->nTerm;\n                                        if (iVar2 == 0) {\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }\n                                      }\n                                      iVar5 = iVar5 + 1;\n                                      pWVar4 = pWVar4 + 1;\n                                    } while (iVar5 < iVar3);\n                                  }\n                                  local_40 = local_40->pRight;\n                                } while (local_40->op == ',');\n                              }\n                              else {\n                                iVar3 = pWC->nTerm;\n                              }" if (parenthesized_expression "(local_40->op == ',')" ( (binary_expression "local_40->op == ','" (field_expression "local_40->op" identifier -> field_identifier) == (char_literal "','" ' character ')) )) (compound_statement "{\n                                do {\n                                  pB = local_40->pLeft;\n                                  uVar1 = pB->op;\n                                  while (uVar1 == ',') {\n                                    whereApplyPartialIndexConstraints(pB->pLeft,iTabCur,pWC);\n                                    pB = pB->pRight;\n                                    uVar1 = pB->op;\n                                  }\n                                  iVar3 = pWC->nTerm;\n                                  pWVar4 = pWC->a;\n                                  if (0 < iVar3) {\n                                    iVar5 = 0;\n                                    do {\n                                      if (((pWVar4->wtFlags & 4) == 0) &&\n                                         (pWVar4->pExpr != (Expr *)0x0)) {\n                                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur);\n                                        iVar3 = pWC->nTerm;\n                                        if (iVar2 == 0) {\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }\n                                      }\n                                      iVar5 = iVar5 + 1;\n                                      pWVar4 = pWVar4 + 1;\n                                    } while (iVar5 < iVar3);\n                                  }\n                                  local_40 = local_40->pRight;\n                                } while (local_40->op == ',');\n                              }" { (do_statement "do {\n                                  pB = local_40->pLeft;\n                                  uVar1 = pB->op;\n                                  while (uVar1 == ',') {\n                                    whereApplyPartialIndexConstraints(pB->pLeft,iTabCur,pWC);\n                                    pB = pB->pRight;\n                                    uVar1 = pB->op;\n                                  }\n                                  iVar3 = pWC->nTerm;\n                                  pWVar4 = pWC->a;\n                                  if (0 < iVar3) {\n                                    iVar5 = 0;\n                                    do {\n                                      if (((pWVar4->wtFlags & 4) == 0) &&\n                                         (pWVar4->pExpr != (Expr *)0x0)) {\n                                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur);\n                                        iVar3 = pWC->nTerm;\n                                        if (iVar2 == 0) {\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }\n                                      }\n                                      iVar5 = iVar5 + 1;\n                                      pWVar4 = pWVar4 + 1;\n                                    } while (iVar5 < iVar3);\n                                  }\n                                  local_40 = local_40->pRight;\n                                } while (local_40->op == ',');" do (compound_statement "{\n                                  pB = local_40->pLeft;\n                                  uVar1 = pB->op;\n                                  while (uVar1 == ',') {\n                                    whereApplyPartialIndexConstraints(pB->pLeft,iTabCur,pWC);\n                                    pB = pB->pRight;\n                                    uVar1 = pB->op;\n                                  }\n                                  iVar3 = pWC->nTerm;\n                                  pWVar4 = pWC->a;\n                                  if (0 < iVar3) {\n                                    iVar5 = 0;\n                                    do {\n                                      if (((pWVar4->wtFlags & 4) == 0) &&\n                                         (pWVar4->pExpr != (Expr *)0x0)) {\n                                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur);\n                                        iVar3 = pWC->nTerm;\n                                        if (iVar2 == 0) {\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }\n                                      }\n                                      iVar5 = iVar5 + 1;\n                                      pWVar4 = pWVar4 + 1;\n                                    } while (iVar5 < iVar3);\n                                  }\n                                  local_40 = local_40->pRight;\n                                }" { (expression_statement "pB = local_40->pLeft;" (assignment_expression "pB = local_40->pLeft" identifier = (field_expression "local_40->pLeft" identifier -> field_identifier)) ;) (expression_statement "uVar1 = pB->op;" (assignment_expression "uVar1 = pB->op" identifier = (field_expression "pB->op" identifier -> field_identifier)) ;) (while_statement "while (uVar1 == ',') {\n                                    whereApplyPartialIndexConstraints(pB->pLeft,iTabCur,pWC);\n                                    pB = pB->pRight;\n                                    uVar1 = pB->op;\n                                  }" while (parenthesized_expression "(uVar1 == ',')" ( (binary_expression "uVar1 == ','" identifier == (char_literal "','" ' character ')) )) (compound_statement "{\n                                    whereApplyPartialIndexConstraints(pB->pLeft,iTabCur,pWC);\n                                    pB = pB->pRight;\n                                    uVar1 = pB->op;\n                                  }" { (expression_statement "whereApplyPartialIndexConstraints(pB->pLeft,iTabCur,pWC);" (call_expression "whereApplyPartialIndexConstraints(pB->pLeft,iTabCur,pWC)" identifier (argument_list "(pB->pLeft,iTabCur,pWC)" ( (field_expression "pB->pLeft" identifier -> field_identifier) , identifier , identifier ))) ;) (expression_statement "pB = pB->pRight;" (assignment_expression "pB = pB->pRight" identifier = (field_expression "pB->pRight" identifier -> field_identifier)) ;) (expression_statement "uVar1 = pB->op;" (assignment_expression "uVar1 = pB->op" identifier = (field_expression "pB->op" identifier -> field_identifier)) ;) })) (expression_statement "iVar3 = pWC->nTerm;" (assignment_expression "iVar3 = pWC->nTerm" identifier = (field_expression "pWC->nTerm" identifier -> field_identifier)) ;) (expression_statement "pWVar4 = pWC->a;" (assignment_expression "pWVar4 = pWC->a" identifier = (field_expression "pWC->a" identifier -> field_identifier)) ;) (if_statement "if (0 < iVar3) {\n                                    iVar5 = 0;\n                                    do {\n                                      if (((pWVar4->wtFlags & 4) == 0) &&\n                                         (pWVar4->pExpr != (Expr *)0x0)) {\n                                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur);\n                                        iVar3 = pWC->nTerm;\n                                        if (iVar2 == 0) {\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }\n                                      }\n                                      iVar5 = iVar5 + 1;\n                                      pWVar4 = pWVar4 + 1;\n                                    } while (iVar5 < iVar3);\n                                  }" if (parenthesized_expression "(0 < iVar3)" ( (binary_expression "0 < iVar3" number_literal < identifier) )) (compound_statement "{\n                                    iVar5 = 0;\n                                    do {\n                                      if (((pWVar4->wtFlags & 4) == 0) &&\n                                         (pWVar4->pExpr != (Expr *)0x0)) {\n                                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur);\n                                        iVar3 = pWC->nTerm;\n                                        if (iVar2 == 0) {\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }\n                                      }\n                                      iVar5 = iVar5 + 1;\n                                      pWVar4 = pWVar4 + 1;\n                                    } while (iVar5 < iVar3);\n                                  }" { (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (do_statement "do {\n                                      if (((pWVar4->wtFlags & 4) == 0) &&\n                                         (pWVar4->pExpr != (Expr *)0x0)) {\n                                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur);\n                                        iVar3 = pWC->nTerm;\n                                        if (iVar2 == 0) {\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }\n                                      }\n                                      iVar5 = iVar5 + 1;\n                                      pWVar4 = pWVar4 + 1;\n                                    } while (iVar5 < iVar3);" do (compound_statement "{\n                                      if (((pWVar4->wtFlags & 4) == 0) &&\n                                         (pWVar4->pExpr != (Expr *)0x0)) {\n                                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur);\n                                        iVar3 = pWC->nTerm;\n                                        if (iVar2 == 0) {\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }\n                                      }\n                                      iVar5 = iVar5 + 1;\n                                      pWVar4 = pWVar4 + 1;\n                                    }" { (if_statement "if (((pWVar4->wtFlags & 4) == 0) &&\n                                         (pWVar4->pExpr != (Expr *)0x0)) {\n                                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur);\n                                        iVar3 = pWC->nTerm;\n                                        if (iVar2 == 0) {\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }\n                                      }" if (parenthesized_expression "(((pWVar4->wtFlags & 4) == 0) &&\n                                         (pWVar4->pExpr != (Expr *)0x0))" ( (binary_expression "((pWVar4->wtFlags & 4) == 0) &&\n                                         (pWVar4->pExpr != (Expr *)0x0)" (parenthesized_expression "((pWVar4->wtFlags & 4) == 0)" ( (binary_expression "(pWVar4->wtFlags & 4) == 0" (parenthesized_expression "(pWVar4->wtFlags & 4)" ( (binary_expression "pWVar4->wtFlags & 4" (field_expression "pWVar4->wtFlags" identifier -> field_identifier) & number_literal) )) == number_literal) )) && (parenthesized_expression "(pWVar4->pExpr != (Expr *)0x0)" ( (binary_expression "pWVar4->pExpr != (Expr *)0x0" (field_expression "pWVar4->pExpr" identifier -> field_identifier) != (cast_expression "(Expr *)0x0" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n                                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur);\n                                        iVar3 = pWC->nTerm;\n                                        if (iVar2 == 0) {\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }\n                                      }" { (expression_statement "iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur);" (assignment_expression "iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur)" identifier = (call_expression "sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur)" identifier (argument_list "((Parse *)0x0,pWVar4->pExpr,pB,\n                                                                   iTabCur)" ( (cast_expression "(Parse *)0x0" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (field_expression "pWVar4->pExpr" identifier -> field_identifier) , identifier , identifier )))) ;) (expression_statement "iVar3 = pWC->nTerm;" (assignment_expression "iVar3 = pWC->nTerm" identifier = (field_expression "pWC->nTerm" identifier -> field_identifier)) ;) (if_statement "if (iVar2 == 0) {\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                        }" { (expression_statement "pWVar4->wtFlags = pWVar4->wtFlags | 4;" (assignment_expression "pWVar4->wtFlags = pWVar4->wtFlags | 4" (field_expression "pWVar4->wtFlags" identifier -> field_identifier) = (binary_expression "pWVar4->wtFlags | 4" (field_expression "pWVar4->wtFlags" identifier -> field_identifier) | number_literal)) ;) })) })) (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (expression_statement "pWVar4 = pWVar4 + 1;" (assignment_expression "pWVar4 = pWVar4 + 1" identifier = (binary_expression "pWVar4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar5 < iVar3)" ( (binary_expression "iVar5 < iVar3" identifier < identifier) )) ;) })) (expression_statement "local_40 = local_40->pRight;" (assignment_expression "local_40 = local_40->pRight" identifier = (field_expression "local_40->pRight" identifier -> field_identifier)) ;) }) while (parenthesized_expression "(local_40->op == ',')" ( (binary_expression "local_40->op == ','" (field_expression "local_40->op" identifier -> field_identifier) == (char_literal "','" ' character ')) )) ;) }) (else_clause "else {\n                                iVar3 = pWC->nTerm;\n                              }" else (compound_statement "{\n                                iVar3 = pWC->nTerm;\n                              }" { (expression_statement "iVar3 = pWC->nTerm;" (assignment_expression "iVar3 = pWC->nTerm" identifier = (field_expression "pWC->nTerm" identifier -> field_identifier)) ;) }))) (expression_statement "pWVar4 = pWC->a;" (assignment_expression "pWVar4 = pWC->a" identifier = (field_expression "pWC->a" identifier -> field_identifier)) ;) (if_statement "if (0 < iVar3) {\n                                iVar5 = 0;\n                                do {\n                                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)\n                                     ) {\n                                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_40,\n                                                               iTabCur);\n                                    iVar3 = pWC->nTerm;\n                                    if (iVar2 == 0) {\n                                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                    }\n                                  }\n                                  iVar5 = iVar5 + 1;\n                                  pWVar4 = pWVar4 + 1;\n                                } while (iVar5 < iVar3);\n                              }" if (parenthesized_expression "(0 < iVar3)" ( (binary_expression "0 < iVar3" number_literal < identifier) )) (compound_statement "{\n                                iVar5 = 0;\n                                do {\n                                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)\n                                     ) {\n                                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_40,\n                                                               iTabCur);\n                                    iVar3 = pWC->nTerm;\n                                    if (iVar2 == 0) {\n                                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                    }\n                                  }\n                                  iVar5 = iVar5 + 1;\n                                  pWVar4 = pWVar4 + 1;\n                                } while (iVar5 < iVar3);\n                              }" { (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (do_statement "do {\n                                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)\n                                     ) {\n                                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_40,\n                                                               iTabCur);\n                                    iVar3 = pWC->nTerm;\n                                    if (iVar2 == 0) {\n                                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                    }\n                                  }\n                                  iVar5 = iVar5 + 1;\n                                  pWVar4 = pWVar4 + 1;\n                                } while (iVar5 < iVar3);" do (compound_statement "{\n                                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)\n                                     ) {\n                                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_40,\n                                                               iTabCur);\n                                    iVar3 = pWC->nTerm;\n                                    if (iVar2 == 0) {\n                                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                    }\n                                  }\n                                  iVar5 = iVar5 + 1;\n                                  pWVar4 = pWVar4 + 1;\n                                }" { (if_statement "if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)\n                                     ) {\n                                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_40,\n                                                               iTabCur);\n                                    iVar3 = pWC->nTerm;\n                                    if (iVar2 == 0) {\n                                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                    }\n                                  }" if (parenthesized_expression "(((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)\n                                     )" ( (binary_expression "((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)" (parenthesized_expression "((pWVar4->wtFlags & 4) == 0)" ( (binary_expression "(pWVar4->wtFlags & 4) == 0" (parenthesized_expression "(pWVar4->wtFlags & 4)" ( (binary_expression "pWVar4->wtFlags & 4" (field_expression "pWVar4->wtFlags" identifier -> field_identifier) & number_literal) )) == number_literal) )) && (parenthesized_expression "(pWVar4->pExpr != (Expr *)0x0)" ( (binary_expression "pWVar4->pExpr != (Expr *)0x0" (field_expression "pWVar4->pExpr" identifier -> field_identifier) != (cast_expression "(Expr *)0x0" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n                                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_40,\n                                                               iTabCur);\n                                    iVar3 = pWC->nTerm;\n                                    if (iVar2 == 0) {\n                                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                    }\n                                  }" { (expression_statement "iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_40,\n                                                               iTabCur);" (assignment_expression "iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_40,\n                                                               iTabCur)" identifier = (call_expression "sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_40,\n                                                               iTabCur)" identifier (argument_list "((Parse *)0x0,pWVar4->pExpr,local_40,\n                                                               iTabCur)" ( (cast_expression "(Parse *)0x0" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (field_expression "pWVar4->pExpr" identifier -> field_identifier) , identifier , identifier )))) ;) (expression_statement "iVar3 = pWC->nTerm;" (assignment_expression "iVar3 = pWC->nTerm" identifier = (field_expression "pWC->nTerm" identifier -> field_identifier)) ;) (if_statement "if (iVar2 == 0) {\n                                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                    }" { (expression_statement "pWVar4->wtFlags = pWVar4->wtFlags | 4;" (assignment_expression "pWVar4->wtFlags = pWVar4->wtFlags | 4" (field_expression "pWVar4->wtFlags" identifier -> field_identifier) = (binary_expression "pWVar4->wtFlags | 4" (field_expression "pWVar4->wtFlags" identifier -> field_identifier) | number_literal)) ;) })) })) (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (expression_statement "pWVar4 = pWVar4 + 1;" (assignment_expression "pWVar4 = pWVar4 + 1" identifier = (binary_expression "pWVar4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar5 < iVar3)" ( (binary_expression "iVar5 < iVar3" identifier < identifier) )) ;) })) (expression_statement "local_38 = local_38->pRight;" (assignment_expression "local_38 = local_38->pRight" identifier = (field_expression "local_38->pRight" identifier -> field_identifier)) ;) }) while (parenthesized_expression "(local_38->op == ',')" ( (binary_expression "local_38->op == ','" (field_expression "local_38->op" identifier -> field_identifier) == (char_literal "','" ' character ')) )) ;) }) (else_clause "else {\n                            iVar3 = pWC->nTerm;\n                          }" else (compound_statement "{\n                            iVar3 = pWC->nTerm;\n                          }" { (expression_statement "iVar3 = pWC->nTerm;" (assignment_expression "iVar3 = pWC->nTerm" identifier = (field_expression "pWC->nTerm" identifier -> field_identifier)) ;) }))) (expression_statement "pWVar4 = pWC->a;" (assignment_expression "pWVar4 = pWC->a" identifier = (field_expression "pWC->a" identifier -> field_identifier)) ;) (if_statement "if (0 < iVar3) {\n                            iVar5 = 0;\n                            do {\n                              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_38,\n                                                           iTabCur);\n                                iVar3 = pWC->nTerm;\n                                if (iVar2 == 0) {\n                                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                }\n                              }\n                              iVar5 = iVar5 + 1;\n                              pWVar4 = pWVar4 + 1;\n                            } while (iVar5 < iVar3);\n                          }" if (parenthesized_expression "(0 < iVar3)" ( (binary_expression "0 < iVar3" number_literal < identifier) )) (compound_statement "{\n                            iVar5 = 0;\n                            do {\n                              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_38,\n                                                           iTabCur);\n                                iVar3 = pWC->nTerm;\n                                if (iVar2 == 0) {\n                                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                }\n                              }\n                              iVar5 = iVar5 + 1;\n                              pWVar4 = pWVar4 + 1;\n                            } while (iVar5 < iVar3);\n                          }" { (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (do_statement "do {\n                              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_38,\n                                                           iTabCur);\n                                iVar3 = pWC->nTerm;\n                                if (iVar2 == 0) {\n                                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                }\n                              }\n                              iVar5 = iVar5 + 1;\n                              pWVar4 = pWVar4 + 1;\n                            } while (iVar5 < iVar3);" do (compound_statement "{\n                              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_38,\n                                                           iTabCur);\n                                iVar3 = pWC->nTerm;\n                                if (iVar2 == 0) {\n                                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                }\n                              }\n                              iVar5 = iVar5 + 1;\n                              pWVar4 = pWVar4 + 1;\n                            }" { (if_statement "if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_38,\n                                                           iTabCur);\n                                iVar3 = pWC->nTerm;\n                                if (iVar2 == 0) {\n                                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                }\n                              }" if (parenthesized_expression "(((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0))" ( (binary_expression "((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)" (parenthesized_expression "((pWVar4->wtFlags & 4) == 0)" ( (binary_expression "(pWVar4->wtFlags & 4) == 0" (parenthesized_expression "(pWVar4->wtFlags & 4)" ( (binary_expression "pWVar4->wtFlags & 4" (field_expression "pWVar4->wtFlags" identifier -> field_identifier) & number_literal) )) == number_literal) )) && (parenthesized_expression "(pWVar4->pExpr != (Expr *)0x0)" ( (binary_expression "pWVar4->pExpr != (Expr *)0x0" (field_expression "pWVar4->pExpr" identifier -> field_identifier) != (cast_expression "(Expr *)0x0" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n                                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_38,\n                                                           iTabCur);\n                                iVar3 = pWC->nTerm;\n                                if (iVar2 == 0) {\n                                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                }\n                              }" { (expression_statement "iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_38,\n                                                           iTabCur);" (assignment_expression "iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_38,\n                                                           iTabCur)" identifier = (call_expression "sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_38,\n                                                           iTabCur)" identifier (argument_list "((Parse *)0x0,pWVar4->pExpr,local_38,\n                                                           iTabCur)" ( (cast_expression "(Parse *)0x0" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (field_expression "pWVar4->pExpr" identifier -> field_identifier) , identifier , identifier )))) ;) (expression_statement "iVar3 = pWC->nTerm;" (assignment_expression "iVar3 = pWC->nTerm" identifier = (field_expression "pWC->nTerm" identifier -> field_identifier)) ;) (if_statement "if (iVar2 == 0) {\n                                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                                }" { (expression_statement "pWVar4->wtFlags = pWVar4->wtFlags | 4;" (assignment_expression "pWVar4->wtFlags = pWVar4->wtFlags | 4" (field_expression "pWVar4->wtFlags" identifier -> field_identifier) = (binary_expression "pWVar4->wtFlags | 4" (field_expression "pWVar4->wtFlags" identifier -> field_identifier) | number_literal)) ;) })) })) (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (expression_statement "pWVar4 = pWVar4 + 1;" (assignment_expression "pWVar4 = pWVar4 + 1" identifier = (binary_expression "pWVar4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar5 < iVar3)" ( (binary_expression "iVar5 < iVar3" identifier < identifier) )) ;) })) (expression_statement "local_34 = local_34->pRight;" (assignment_expression "local_34 = local_34->pRight" identifier = (field_expression "local_34->pRight" identifier -> field_identifier)) ;) }) while (parenthesized_expression "(local_34->op == ',')" ( (binary_expression "local_34->op == ','" (field_expression "local_34->op" identifier -> field_identifier) == (char_literal "','" ' character ')) )) ;) }) (else_clause "else {\n                        iVar3 = pWC->nTerm;\n                      }" else (compound_statement "{\n                        iVar3 = pWC->nTerm;\n                      }" { (expression_statement "iVar3 = pWC->nTerm;" (assignment_expression "iVar3 = pWC->nTerm" identifier = (field_expression "pWC->nTerm" identifier -> field_identifier)) ;) }))) (expression_statement "pWVar4 = pWC->a;" (assignment_expression "pWVar4 = pWC->a" identifier = (field_expression "pWC->a" identifier -> field_identifier)) ;) (if_statement "if (0 < iVar3) {\n                        iVar5 = 0;\n                        do {\n                          if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_34,iTabCur);\n                            iVar3 = pWC->nTerm;\n                            if (iVar2 == 0) {\n                              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                            }\n                          }\n                          iVar5 = iVar5 + 1;\n                          pWVar4 = pWVar4 + 1;\n                        } while (iVar5 < iVar3);\n                      }" if (parenthesized_expression "(0 < iVar3)" ( (binary_expression "0 < iVar3" number_literal < identifier) )) (compound_statement "{\n                        iVar5 = 0;\n                        do {\n                          if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_34,iTabCur);\n                            iVar3 = pWC->nTerm;\n                            if (iVar2 == 0) {\n                              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                            }\n                          }\n                          iVar5 = iVar5 + 1;\n                          pWVar4 = pWVar4 + 1;\n                        } while (iVar5 < iVar3);\n                      }" { (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (do_statement "do {\n                          if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_34,iTabCur);\n                            iVar3 = pWC->nTerm;\n                            if (iVar2 == 0) {\n                              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                            }\n                          }\n                          iVar5 = iVar5 + 1;\n                          pWVar4 = pWVar4 + 1;\n                        } while (iVar5 < iVar3);" do (compound_statement "{\n                          if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_34,iTabCur);\n                            iVar3 = pWC->nTerm;\n                            if (iVar2 == 0) {\n                              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                            }\n                          }\n                          iVar5 = iVar5 + 1;\n                          pWVar4 = pWVar4 + 1;\n                        }" { (if_statement "if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_34,iTabCur);\n                            iVar3 = pWC->nTerm;\n                            if (iVar2 == 0) {\n                              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                            }\n                          }" if (parenthesized_expression "(((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0))" ( (binary_expression "((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)" (parenthesized_expression "((pWVar4->wtFlags & 4) == 0)" ( (binary_expression "(pWVar4->wtFlags & 4) == 0" (parenthesized_expression "(pWVar4->wtFlags & 4)" ( (binary_expression "pWVar4->wtFlags & 4" (field_expression "pWVar4->wtFlags" identifier -> field_identifier) & number_literal) )) == number_literal) )) && (parenthesized_expression "(pWVar4->pExpr != (Expr *)0x0)" ( (binary_expression "pWVar4->pExpr != (Expr *)0x0" (field_expression "pWVar4->pExpr" identifier -> field_identifier) != (cast_expression "(Expr *)0x0" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n                            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_34,iTabCur);\n                            iVar3 = pWC->nTerm;\n                            if (iVar2 == 0) {\n                              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                            }\n                          }" { (expression_statement "iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_34,iTabCur);" (assignment_expression "iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_34,iTabCur)" identifier = (call_expression "sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_34,iTabCur)" identifier (argument_list "((Parse *)0x0,pWVar4->pExpr,local_34,iTabCur)" ( (cast_expression "(Parse *)0x0" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (field_expression "pWVar4->pExpr" identifier -> field_identifier) , identifier , identifier )))) ;) (expression_statement "iVar3 = pWC->nTerm;" (assignment_expression "iVar3 = pWC->nTerm" identifier = (field_expression "pWC->nTerm" identifier -> field_identifier)) ;) (if_statement "if (iVar2 == 0) {\n                              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                            }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                            }" { (expression_statement "pWVar4->wtFlags = pWVar4->wtFlags | 4;" (assignment_expression "pWVar4->wtFlags = pWVar4->wtFlags | 4" (field_expression "pWVar4->wtFlags" identifier -> field_identifier) = (binary_expression "pWVar4->wtFlags | 4" (field_expression "pWVar4->wtFlags" identifier -> field_identifier) | number_literal)) ;) })) })) (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (expression_statement "pWVar4 = pWVar4 + 1;" (assignment_expression "pWVar4 = pWVar4 + 1" identifier = (binary_expression "pWVar4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar5 < iVar3)" ( (binary_expression "iVar5 < iVar3" identifier < identifier) )) ;) })) (expression_statement "local_30 = local_30->pRight;" (assignment_expression "local_30 = local_30->pRight" identifier = (field_expression "local_30->pRight" identifier -> field_identifier)) ;) }) while (parenthesized_expression "(local_30->op == ',')" ( (binary_expression "local_30->op == ','" (field_expression "local_30->op" identifier -> field_identifier) == (char_literal "','" ' character ')) )) ;) }) (else_clause "else {\n                    iVar3 = pWC->nTerm;\n                  }" else (compound_statement "{\n                    iVar3 = pWC->nTerm;\n                  }" { (expression_statement "iVar3 = pWC->nTerm;" (assignment_expression "iVar3 = pWC->nTerm" identifier = (field_expression "pWC->nTerm" identifier -> field_identifier)) ;) }))) (expression_statement "pWVar4 = pWC->a;" (assignment_expression "pWVar4 = pWC->a" identifier = (field_expression "pWC->a" identifier -> field_identifier)) ;) (if_statement "if (0 < iVar3) {\n                    iVar5 = 0;\n                    do {\n                      if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_30,iTabCur);\n                        iVar3 = pWC->nTerm;\n                        if (iVar2 == 0) {\n                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                        }\n                      }\n                      iVar5 = iVar5 + 1;\n                      pWVar4 = pWVar4 + 1;\n                    } while (iVar5 < iVar3);\n                  }" if (parenthesized_expression "(0 < iVar3)" ( (binary_expression "0 < iVar3" number_literal < identifier) )) (compound_statement "{\n                    iVar5 = 0;\n                    do {\n                      if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_30,iTabCur);\n                        iVar3 = pWC->nTerm;\n                        if (iVar2 == 0) {\n                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                        }\n                      }\n                      iVar5 = iVar5 + 1;\n                      pWVar4 = pWVar4 + 1;\n                    } while (iVar5 < iVar3);\n                  }" { (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (do_statement "do {\n                      if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_30,iTabCur);\n                        iVar3 = pWC->nTerm;\n                        if (iVar2 == 0) {\n                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                        }\n                      }\n                      iVar5 = iVar5 + 1;\n                      pWVar4 = pWVar4 + 1;\n                    } while (iVar5 < iVar3);" do (compound_statement "{\n                      if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_30,iTabCur);\n                        iVar3 = pWC->nTerm;\n                        if (iVar2 == 0) {\n                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                        }\n                      }\n                      iVar5 = iVar5 + 1;\n                      pWVar4 = pWVar4 + 1;\n                    }" { (if_statement "if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_30,iTabCur);\n                        iVar3 = pWC->nTerm;\n                        if (iVar2 == 0) {\n                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                        }\n                      }" if (parenthesized_expression "(((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0))" ( (binary_expression "((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)" (parenthesized_expression "((pWVar4->wtFlags & 4) == 0)" ( (binary_expression "(pWVar4->wtFlags & 4) == 0" (parenthesized_expression "(pWVar4->wtFlags & 4)" ( (binary_expression "pWVar4->wtFlags & 4" (field_expression "pWVar4->wtFlags" identifier -> field_identifier) & number_literal) )) == number_literal) )) && (parenthesized_expression "(pWVar4->pExpr != (Expr *)0x0)" ( (binary_expression "pWVar4->pExpr != (Expr *)0x0" (field_expression "pWVar4->pExpr" identifier -> field_identifier) != (cast_expression "(Expr *)0x0" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n                        iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_30,iTabCur);\n                        iVar3 = pWC->nTerm;\n                        if (iVar2 == 0) {\n                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                        }\n                      }" { (expression_statement "iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_30,iTabCur);" (assignment_expression "iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_30,iTabCur)" identifier = (call_expression "sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_30,iTabCur)" identifier (argument_list "((Parse *)0x0,pWVar4->pExpr,local_30,iTabCur)" ( (cast_expression "(Parse *)0x0" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (field_expression "pWVar4->pExpr" identifier -> field_identifier) , identifier , identifier )))) ;) (expression_statement "iVar3 = pWC->nTerm;" (assignment_expression "iVar3 = pWC->nTerm" identifier = (field_expression "pWC->nTerm" identifier -> field_identifier)) ;) (if_statement "if (iVar2 == 0) {\n                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                        }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                        }" { (expression_statement "pWVar4->wtFlags = pWVar4->wtFlags | 4;" (assignment_expression "pWVar4->wtFlags = pWVar4->wtFlags | 4" (field_expression "pWVar4->wtFlags" identifier -> field_identifier) = (binary_expression "pWVar4->wtFlags | 4" (field_expression "pWVar4->wtFlags" identifier -> field_identifier) | number_literal)) ;) })) })) (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (expression_statement "pWVar4 = pWVar4 + 1;" (assignment_expression "pWVar4 = pWVar4 + 1" identifier = (binary_expression "pWVar4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar5 < iVar3)" ( (binary_expression "iVar5 < iVar3" identifier < identifier) )) ;) })) (expression_statement "local_2c = local_2c->pRight;" (assignment_expression "local_2c = local_2c->pRight" identifier = (field_expression "local_2c->pRight" identifier -> field_identifier)) ;) }) while (parenthesized_expression "(local_2c->op == ',')" ( (binary_expression "local_2c->op == ','" (field_expression "local_2c->op" identifier -> field_identifier) == (char_literal "','" ' character ')) )) ;) }) (else_clause "else {\n                iVar3 = pWC->nTerm;\n              }" else (compound_statement "{\n                iVar3 = pWC->nTerm;\n              }" { (expression_statement "iVar3 = pWC->nTerm;" (assignment_expression "iVar3 = pWC->nTerm" identifier = (field_expression "pWC->nTerm" identifier -> field_identifier)) ;) }))) (expression_statement "pWVar4 = pWC->a;" (assignment_expression "pWVar4 = pWC->a" identifier = (field_expression "pWC->a" identifier -> field_identifier)) ;) (if_statement "if (0 < iVar3) {\n                iVar5 = 0;\n                do {\n                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_2c,iTabCur);\n                    iVar3 = pWC->nTerm;\n                    if (iVar2 == 0) {\n                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                    }\n                  }\n                  iVar5 = iVar5 + 1;\n                  pWVar4 = pWVar4 + 1;\n                } while (iVar5 < iVar3);\n              }" if (parenthesized_expression "(0 < iVar3)" ( (binary_expression "0 < iVar3" number_literal < identifier) )) (compound_statement "{\n                iVar5 = 0;\n                do {\n                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_2c,iTabCur);\n                    iVar3 = pWC->nTerm;\n                    if (iVar2 == 0) {\n                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                    }\n                  }\n                  iVar5 = iVar5 + 1;\n                  pWVar4 = pWVar4 + 1;\n                } while (iVar5 < iVar3);\n              }" { (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (do_statement "do {\n                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_2c,iTabCur);\n                    iVar3 = pWC->nTerm;\n                    if (iVar2 == 0) {\n                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                    }\n                  }\n                  iVar5 = iVar5 + 1;\n                  pWVar4 = pWVar4 + 1;\n                } while (iVar5 < iVar3);" do (compound_statement "{\n                  if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_2c,iTabCur);\n                    iVar3 = pWC->nTerm;\n                    if (iVar2 == 0) {\n                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                    }\n                  }\n                  iVar5 = iVar5 + 1;\n                  pWVar4 = pWVar4 + 1;\n                }" { (if_statement "if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_2c,iTabCur);\n                    iVar3 = pWC->nTerm;\n                    if (iVar2 == 0) {\n                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                    }\n                  }" if (parenthesized_expression "(((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0))" ( (binary_expression "((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)" (parenthesized_expression "((pWVar4->wtFlags & 4) == 0)" ( (binary_expression "(pWVar4->wtFlags & 4) == 0" (parenthesized_expression "(pWVar4->wtFlags & 4)" ( (binary_expression "pWVar4->wtFlags & 4" (field_expression "pWVar4->wtFlags" identifier -> field_identifier) & number_literal) )) == number_literal) )) && (parenthesized_expression "(pWVar4->pExpr != (Expr *)0x0)" ( (binary_expression "pWVar4->pExpr != (Expr *)0x0" (field_expression "pWVar4->pExpr" identifier -> field_identifier) != (cast_expression "(Expr *)0x0" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n                    iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_2c,iTabCur);\n                    iVar3 = pWC->nTerm;\n                    if (iVar2 == 0) {\n                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                    }\n                  }" { (expression_statement "iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_2c,iTabCur);" (assignment_expression "iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_2c,iTabCur)" identifier = (call_expression "sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_2c,iTabCur)" identifier (argument_list "((Parse *)0x0,pWVar4->pExpr,local_2c,iTabCur)" ( (cast_expression "(Parse *)0x0" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (field_expression "pWVar4->pExpr" identifier -> field_identifier) , identifier , identifier )))) ;) (expression_statement "iVar3 = pWC->nTerm;" (assignment_expression "iVar3 = pWC->nTerm" identifier = (field_expression "pWC->nTerm" identifier -> field_identifier)) ;) (if_statement "if (iVar2 == 0) {\n                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                      pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                    }" { (expression_statement "pWVar4->wtFlags = pWVar4->wtFlags | 4;" (assignment_expression "pWVar4->wtFlags = pWVar4->wtFlags | 4" (field_expression "pWVar4->wtFlags" identifier -> field_identifier) = (binary_expression "pWVar4->wtFlags | 4" (field_expression "pWVar4->wtFlags" identifier -> field_identifier) | number_literal)) ;) })) })) (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (expression_statement "pWVar4 = pWVar4 + 1;" (assignment_expression "pWVar4 = pWVar4 + 1" identifier = (binary_expression "pWVar4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar5 < iVar3)" ( (binary_expression "iVar5 < iVar3" identifier < identifier) )) ;) })) (expression_statement "local_24 = local_24->pRight;" (assignment_expression "local_24 = local_24->pRight" identifier = (field_expression "local_24->pRight" identifier -> field_identifier)) ;) }) while (parenthesized_expression "(local_24->op == ',')" ( (binary_expression "local_24->op == ','" (field_expression "local_24->op" identifier -> field_identifier) == (char_literal "','" ' character ')) )) ;) }) (else_clause "else {\n            iVar3 = pWC->nTerm;\n          }" else (compound_statement "{\n            iVar3 = pWC->nTerm;\n          }" { (expression_statement "iVar3 = pWC->nTerm;" (assignment_expression "iVar3 = pWC->nTerm" identifier = (field_expression "pWC->nTerm" identifier -> field_identifier)) ;) }))) (if_statement "if (0 < iVar3) {\n            pWVar4 = pWC->a;\n            iVar5 = 0;\n            do {\n              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_24,iTabCur);\n                iVar3 = pWC->nTerm;\n                if (iVar2 == 0) {\n                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                }\n              }\n              iVar5 = iVar5 + 1;\n              pWVar4 = pWVar4 + 1;\n            } while (iVar5 < iVar3);\n          }" if (parenthesized_expression "(0 < iVar3)" ( (binary_expression "0 < iVar3" number_literal < identifier) )) (compound_statement "{\n            pWVar4 = pWC->a;\n            iVar5 = 0;\n            do {\n              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_24,iTabCur);\n                iVar3 = pWC->nTerm;\n                if (iVar2 == 0) {\n                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                }\n              }\n              iVar5 = iVar5 + 1;\n              pWVar4 = pWVar4 + 1;\n            } while (iVar5 < iVar3);\n          }" { (expression_statement "pWVar4 = pWC->a;" (assignment_expression "pWVar4 = pWC->a" identifier = (field_expression "pWC->a" identifier -> field_identifier)) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (do_statement "do {\n              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_24,iTabCur);\n                iVar3 = pWC->nTerm;\n                if (iVar2 == 0) {\n                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                }\n              }\n              iVar5 = iVar5 + 1;\n              pWVar4 = pWVar4 + 1;\n            } while (iVar5 < iVar3);" do (compound_statement "{\n              if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_24,iTabCur);\n                iVar3 = pWC->nTerm;\n                if (iVar2 == 0) {\n                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                }\n              }\n              iVar5 = iVar5 + 1;\n              pWVar4 = pWVar4 + 1;\n            }" { (if_statement "if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_24,iTabCur);\n                iVar3 = pWC->nTerm;\n                if (iVar2 == 0) {\n                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                }\n              }" if (parenthesized_expression "(((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0))" ( (binary_expression "((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)" (parenthesized_expression "((pWVar4->wtFlags & 4) == 0)" ( (binary_expression "(pWVar4->wtFlags & 4) == 0" (parenthesized_expression "(pWVar4->wtFlags & 4)" ( (binary_expression "pWVar4->wtFlags & 4" (field_expression "pWVar4->wtFlags" identifier -> field_identifier) & number_literal) )) == number_literal) )) && (parenthesized_expression "(pWVar4->pExpr != (Expr *)0x0)" ( (binary_expression "pWVar4->pExpr != (Expr *)0x0" (field_expression "pWVar4->pExpr" identifier -> field_identifier) != (cast_expression "(Expr *)0x0" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n                iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_24,iTabCur);\n                iVar3 = pWC->nTerm;\n                if (iVar2 == 0) {\n                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                }\n              }" { (expression_statement "iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_24,iTabCur);" (assignment_expression "iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_24,iTabCur)" identifier = (call_expression "sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_24,iTabCur)" identifier (argument_list "((Parse *)0x0,pWVar4->pExpr,local_24,iTabCur)" ( (cast_expression "(Parse *)0x0" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (field_expression "pWVar4->pExpr" identifier -> field_identifier) , identifier , identifier )))) ;) (expression_statement "iVar3 = pWC->nTerm;" (assignment_expression "iVar3 = pWC->nTerm" identifier = (field_expression "pWC->nTerm" identifier -> field_identifier)) ;) (if_statement "if (iVar2 == 0) {\n                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                  pWVar4->wtFlags = pWVar4->wtFlags | 4;\n                }" { (expression_statement "pWVar4->wtFlags = pWVar4->wtFlags | 4;" (assignment_expression "pWVar4->wtFlags = pWVar4->wtFlags | 4" (field_expression "pWVar4->wtFlags" identifier -> field_identifier) = (binary_expression "pWVar4->wtFlags | 4" (field_expression "pWVar4->wtFlags" identifier -> field_identifier) | number_literal)) ;) })) })) (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (expression_statement "pWVar4 = pWVar4 + 1;" (assignment_expression "pWVar4 = pWVar4 + 1" identifier = (binary_expression "pWVar4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar5 < iVar3)" ( (binary_expression "iVar5 < iVar3" identifier < identifier) )) ;) })) (expression_statement "local_28 = local_28->pRight;" (assignment_expression "local_28 = local_28->pRight" identifier = (field_expression "local_28->pRight" identifier -> field_identifier)) ;) }) while (parenthesized_expression "(local_28->op == ',')" ( (binary_expression "local_28->op == ','" (field_expression "local_28->op" identifier -> field_identifier) == (char_literal "','" ' character ')) )) ;) }) (else_clause "else {\n        iVar3 = pWC->nTerm;\n      }" else (compound_statement "{\n        iVar3 = pWC->nTerm;\n      }" { (expression_statement "iVar3 = pWC->nTerm;" (assignment_expression "iVar3 = pWC->nTerm" identifier = (field_expression "pWC->nTerm" identifier -> field_identifier)) ;) }))) (expression_statement "pWVar4 = pWC->a;" (assignment_expression "pWVar4 = pWC->a" identifier = (field_expression "pWC->a" identifier -> field_identifier)) ;) (if_statement "if (0 < iVar3) {\n        iVar5 = 0;\n        do {\n          if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_28,iTabCur);\n            iVar3 = pWC->nTerm;\n            if (iVar2 == 0) {\n              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n            }\n          }\n          iVar5 = iVar5 + 1;\n          pWVar4 = pWVar4 + 1;\n        } while (iVar5 < iVar3);\n      }" if (parenthesized_expression "(0 < iVar3)" ( (binary_expression "0 < iVar3" number_literal < identifier) )) (compound_statement "{\n        iVar5 = 0;\n        do {\n          if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_28,iTabCur);\n            iVar3 = pWC->nTerm;\n            if (iVar2 == 0) {\n              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n            }\n          }\n          iVar5 = iVar5 + 1;\n          pWVar4 = pWVar4 + 1;\n        } while (iVar5 < iVar3);\n      }" { (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (do_statement "do {\n          if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_28,iTabCur);\n            iVar3 = pWC->nTerm;\n            if (iVar2 == 0) {\n              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n            }\n          }\n          iVar5 = iVar5 + 1;\n          pWVar4 = pWVar4 + 1;\n        } while (iVar5 < iVar3);" do (compound_statement "{\n          if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_28,iTabCur);\n            iVar3 = pWC->nTerm;\n            if (iVar2 == 0) {\n              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n            }\n          }\n          iVar5 = iVar5 + 1;\n          pWVar4 = pWVar4 + 1;\n        }" { (if_statement "if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_28,iTabCur);\n            iVar3 = pWC->nTerm;\n            if (iVar2 == 0) {\n              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n            }\n          }" if (parenthesized_expression "(((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0))" ( (binary_expression "((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)" (parenthesized_expression "((pWVar4->wtFlags & 4) == 0)" ( (binary_expression "(pWVar4->wtFlags & 4) == 0" (parenthesized_expression "(pWVar4->wtFlags & 4)" ( (binary_expression "pWVar4->wtFlags & 4" (field_expression "pWVar4->wtFlags" identifier -> field_identifier) & number_literal) )) == number_literal) )) && (parenthesized_expression "(pWVar4->pExpr != (Expr *)0x0)" ( (binary_expression "pWVar4->pExpr != (Expr *)0x0" (field_expression "pWVar4->pExpr" identifier -> field_identifier) != (cast_expression "(Expr *)0x0" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n            iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_28,iTabCur);\n            iVar3 = pWC->nTerm;\n            if (iVar2 == 0) {\n              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n            }\n          }" { (expression_statement "iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_28,iTabCur);" (assignment_expression "iVar2 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_28,iTabCur)" identifier = (call_expression "sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_28,iTabCur)" identifier (argument_list "((Parse *)0x0,pWVar4->pExpr,local_28,iTabCur)" ( (cast_expression "(Parse *)0x0" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (field_expression "pWVar4->pExpr" identifier -> field_identifier) , identifier , identifier )))) ;) (expression_statement "iVar3 = pWC->nTerm;" (assignment_expression "iVar3 = pWC->nTerm" identifier = (field_expression "pWC->nTerm" identifier -> field_identifier)) ;) (if_statement "if (iVar2 == 0) {\n              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n            }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n              pWVar4->wtFlags = pWVar4->wtFlags | 4;\n            }" { (expression_statement "pWVar4->wtFlags = pWVar4->wtFlags | 4;" (assignment_expression "pWVar4->wtFlags = pWVar4->wtFlags | 4" (field_expression "pWVar4->wtFlags" identifier -> field_identifier) = (binary_expression "pWVar4->wtFlags | 4" (field_expression "pWVar4->wtFlags" identifier -> field_identifier) | number_literal)) ;) })) })) (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (expression_statement "pWVar4 = pWVar4 + 1;" (assignment_expression "pWVar4 = pWVar4 + 1" identifier = (binary_expression "pWVar4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar5 < iVar3)" ( (binary_expression "iVar5 < iVar3" identifier < identifier) )) ;) })) (expression_statement "local_20 = local_20->pRight;" (assignment_expression "local_20 = local_20->pRight" identifier = (field_expression "local_20->pRight" identifier -> field_identifier)) ;) }) while (parenthesized_expression "(local_20->op == ',')" ( (binary_expression "local_20->op == ','" (field_expression "local_20->op" identifier -> field_identifier) == (char_literal "','" ' character ')) )) ;) }) (else_clause "else {\n    iVar3 = pWC->nTerm;\n  }" else (compound_statement "{\n    iVar3 = pWC->nTerm;\n  }" { (expression_statement "iVar3 = pWC->nTerm;" (assignment_expression "iVar3 = pWC->nTerm" identifier = (field_expression "pWC->nTerm" identifier -> field_identifier)) ;) }))) (expression_statement "pWVar4 = pWC->a;" (assignment_expression "pWVar4 = pWC->a" identifier = (field_expression "pWC->a" identifier -> field_identifier)) ;) (if_statement "if (0 < iVar3) {\n    iVar5 = 0;\n    do {\n      if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n        iVar3 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_20,iTabCur);\n        if (iVar3 == 0) {\n          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n          iVar3 = pWC->nTerm;\n        }\n        else {\n          iVar3 = pWC->nTerm;\n        }\n      }\n      iVar5 = iVar5 + 1;\n      pWVar4 = pWVar4 + 1;\n    } while (iVar5 < iVar3);\n  }" if (parenthesized_expression "(0 < iVar3)" ( (binary_expression "0 < iVar3" number_literal < identifier) )) (compound_statement "{\n    iVar5 = 0;\n    do {\n      if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n        iVar3 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_20,iTabCur);\n        if (iVar3 == 0) {\n          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n          iVar3 = pWC->nTerm;\n        }\n        else {\n          iVar3 = pWC->nTerm;\n        }\n      }\n      iVar5 = iVar5 + 1;\n      pWVar4 = pWVar4 + 1;\n    } while (iVar5 < iVar3);\n  }" { (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (do_statement "do {\n      if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n        iVar3 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_20,iTabCur);\n        if (iVar3 == 0) {\n          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n          iVar3 = pWC->nTerm;\n        }\n        else {\n          iVar3 = pWC->nTerm;\n        }\n      }\n      iVar5 = iVar5 + 1;\n      pWVar4 = pWVar4 + 1;\n    } while (iVar5 < iVar3);" do (compound_statement "{\n      if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n        iVar3 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_20,iTabCur);\n        if (iVar3 == 0) {\n          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n          iVar3 = pWC->nTerm;\n        }\n        else {\n          iVar3 = pWC->nTerm;\n        }\n      }\n      iVar5 = iVar5 + 1;\n      pWVar4 = pWVar4 + 1;\n    }" { (if_statement "if (((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)) {\n        iVar3 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_20,iTabCur);\n        if (iVar3 == 0) {\n          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n          iVar3 = pWC->nTerm;\n        }\n        else {\n          iVar3 = pWC->nTerm;\n        }\n      }" if (parenthesized_expression "(((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0))" ( (binary_expression "((pWVar4->wtFlags & 4) == 0) && (pWVar4->pExpr != (Expr *)0x0)" (parenthesized_expression "((pWVar4->wtFlags & 4) == 0)" ( (binary_expression "(pWVar4->wtFlags & 4) == 0" (parenthesized_expression "(pWVar4->wtFlags & 4)" ( (binary_expression "pWVar4->wtFlags & 4" (field_expression "pWVar4->wtFlags" identifier -> field_identifier) & number_literal) )) == number_literal) )) && (parenthesized_expression "(pWVar4->pExpr != (Expr *)0x0)" ( (binary_expression "pWVar4->pExpr != (Expr *)0x0" (field_expression "pWVar4->pExpr" identifier -> field_identifier) != (cast_expression "(Expr *)0x0" ( (type_descriptor "Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n        iVar3 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_20,iTabCur);\n        if (iVar3 == 0) {\n          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n          iVar3 = pWC->nTerm;\n        }\n        else {\n          iVar3 = pWC->nTerm;\n        }\n      }" { (expression_statement "iVar3 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_20,iTabCur);" (assignment_expression "iVar3 = sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_20,iTabCur)" identifier = (call_expression "sqlite3ExprCompare((Parse *)0x0,pWVar4->pExpr,local_20,iTabCur)" identifier (argument_list "((Parse *)0x0,pWVar4->pExpr,local_20,iTabCur)" ( (cast_expression "(Parse *)0x0" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (field_expression "pWVar4->pExpr" identifier -> field_identifier) , identifier , identifier )))) ;) (if_statement "if (iVar3 == 0) {\n          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n          iVar3 = pWC->nTerm;\n        }\n        else {\n          iVar3 = pWC->nTerm;\n        }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n          pWVar4->wtFlags = pWVar4->wtFlags | 4;\n          iVar3 = pWC->nTerm;\n        }" { (expression_statement "pWVar4->wtFlags = pWVar4->wtFlags | 4;" (assignment_expression "pWVar4->wtFlags = pWVar4->wtFlags | 4" (field_expression "pWVar4->wtFlags" identifier -> field_identifier) = (binary_expression "pWVar4->wtFlags | 4" (field_expression "pWVar4->wtFlags" identifier -> field_identifier) | number_literal)) ;) (expression_statement "iVar3 = pWC->nTerm;" (assignment_expression "iVar3 = pWC->nTerm" identifier = (field_expression "pWC->nTerm" identifier -> field_identifier)) ;) }) (else_clause "else {\n          iVar3 = pWC->nTerm;\n        }" else (compound_statement "{\n          iVar3 = pWC->nTerm;\n        }" { (expression_statement "iVar3 = pWC->nTerm;" (assignment_expression "iVar3 = pWC->nTerm" identifier = (field_expression "pWC->nTerm" identifier -> field_identifier)) ;) }))) })) (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (expression_statement "pWVar4 = pWVar4 + 1;" (assignment_expression "pWVar4 = pWVar4 + 1" identifier = (binary_expression "pWVar4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar5 < iVar3)" ( (binary_expression "iVar5 < iVar3" identifier < identifier) )) ;) })) (return_statement "return;" return ;) })))
(translation_unit "void __regparm3 FUN_00062f10(char *param_1,undefined4 param_2,int param_3)\n\n{\n  char cVar1;\n  char *pcVar2;\n  int iVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  char *local_40;\n  char *local_38;\n  char *local_34;\n  char *local_30;\n  char *local_2c;\n  char *local_28;\n  char *local_24;\n  char *local_20;\n  \n  local_20 = param_1;\n  if (*param_1 == ',') {\n    do {\n      local_28 = *(char **)(local_20 + 0xc);\n      if (*local_28 == ',') {\n        do {\n          local_24 = *(char **)(local_28 + 0xc);\n          if (*local_24 == ',') {\n            do {\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            } while (*local_24 == ',');\n          }\n          else {\n            iVar4 = *(int *)(param_3 + 0xc);\n          }\n          if (0 < iVar4) {\n            piVar5 = *(int **)(param_3 + 0x14);\n            iVar6 = 0;\n            do {\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            } while (iVar6 < iVar4);\n          }\n          local_28 = *(char **)(local_28 + 0x10);\n        } while (*local_28 == ',');\n      }\n      else {\n        iVar4 = *(int *)(param_3 + 0xc);\n      }\n      piVar5 = *(int **)(param_3 + 0x14);\n      if (0 < iVar4) {\n        iVar6 = 0;\n        do {\n          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n            iVar3 = FUN_00060e20(param_2);\n            iVar4 = *(int *)(param_3 + 0xc);\n            if (iVar3 == 0) {\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }\n          }\n          iVar6 = iVar6 + 1;\n          piVar5 = piVar5 + 0xc;\n        } while (iVar6 < iVar4);\n      }\n      local_20 = *(char **)(local_20 + 0x10);\n    } while (*local_20 == ',');\n  }\n  else {\n    iVar4 = *(int *)(param_3 + 0xc);\n  }\n  piVar5 = *(int **)(param_3 + 0x14);\n  if (0 < iVar4) {\n    iVar6 = 0;\n    do {\n      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n        iVar4 = FUN_00060e20(param_2);\n        if (iVar4 == 0) {\n          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n        else {\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n      }\n      iVar6 = iVar6 + 1;\n      piVar5 = piVar5 + 0xc;\n    } while (iVar6 < iVar4);\n  }\n  return;\n}\n\n" (function_definition "void __regparm3 FUN_00062f10(char *param_1,undefined4 param_2,int param_3)\n\n{\n  char cVar1;\n  char *pcVar2;\n  int iVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  char *local_40;\n  char *local_38;\n  char *local_34;\n  char *local_30;\n  char *local_2c;\n  char *local_28;\n  char *local_24;\n  char *local_20;\n  \n  local_20 = param_1;\n  if (*param_1 == ',') {\n    do {\n      local_28 = *(char **)(local_20 + 0xc);\n      if (*local_28 == ',') {\n        do {\n          local_24 = *(char **)(local_28 + 0xc);\n          if (*local_24 == ',') {\n            do {\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            } while (*local_24 == ',');\n          }\n          else {\n            iVar4 = *(int *)(param_3 + 0xc);\n          }\n          if (0 < iVar4) {\n            piVar5 = *(int **)(param_3 + 0x14);\n            iVar6 = 0;\n            do {\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            } while (iVar6 < iVar4);\n          }\n          local_28 = *(char **)(local_28 + 0x10);\n        } while (*local_28 == ',');\n      }\n      else {\n        iVar4 = *(int *)(param_3 + 0xc);\n      }\n      piVar5 = *(int **)(param_3 + 0x14);\n      if (0 < iVar4) {\n        iVar6 = 0;\n        do {\n          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n            iVar3 = FUN_00060e20(param_2);\n            iVar4 = *(int *)(param_3 + 0xc);\n            if (iVar3 == 0) {\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }\n          }\n          iVar6 = iVar6 + 1;\n          piVar5 = piVar5 + 0xc;\n        } while (iVar6 < iVar4);\n      }\n      local_20 = *(char **)(local_20 + 0x10);\n    } while (*local_20 == ',');\n  }\n  else {\n    iVar4 = *(int *)(param_3 + 0xc);\n  }\n  piVar5 = *(int **)(param_3 + 0x14);\n  if (0 < iVar4) {\n    iVar6 = 0;\n    do {\n      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n        iVar4 = FUN_00060e20(param_2);\n        if (iVar4 == 0) {\n          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n        else {\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n      }\n      iVar6 = iVar6 + 1;\n      piVar5 = piVar5 + 0xc;\n    } while (iVar6 < iVar4);\n  }\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_00062f10(char *param_1,undefined4 param_2,int param_3)" identifier (parameter_list "(char *param_1,undefined4 param_2,int param_3)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "int param_3" primitive_type identifier) ))) (compound_statement "{\n  char cVar1;\n  char *pcVar2;\n  int iVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  char *local_40;\n  char *local_38;\n  char *local_34;\n  char *local_30;\n  char *local_2c;\n  char *local_28;\n  char *local_24;\n  char *local_20;\n  \n  local_20 = param_1;\n  if (*param_1 == ',') {\n    do {\n      local_28 = *(char **)(local_20 + 0xc);\n      if (*local_28 == ',') {\n        do {\n          local_24 = *(char **)(local_28 + 0xc);\n          if (*local_24 == ',') {\n            do {\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            } while (*local_24 == ',');\n          }\n          else {\n            iVar4 = *(int *)(param_3 + 0xc);\n          }\n          if (0 < iVar4) {\n            piVar5 = *(int **)(param_3 + 0x14);\n            iVar6 = 0;\n            do {\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            } while (iVar6 < iVar4);\n          }\n          local_28 = *(char **)(local_28 + 0x10);\n        } while (*local_28 == ',');\n      }\n      else {\n        iVar4 = *(int *)(param_3 + 0xc);\n      }\n      piVar5 = *(int **)(param_3 + 0x14);\n      if (0 < iVar4) {\n        iVar6 = 0;\n        do {\n          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n            iVar3 = FUN_00060e20(param_2);\n            iVar4 = *(int *)(param_3 + 0xc);\n            if (iVar3 == 0) {\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }\n          }\n          iVar6 = iVar6 + 1;\n          piVar5 = piVar5 + 0xc;\n        } while (iVar6 < iVar4);\n      }\n      local_20 = *(char **)(local_20 + 0x10);\n    } while (*local_20 == ',');\n  }\n  else {\n    iVar4 = *(int *)(param_3 + 0xc);\n  }\n  piVar5 = *(int **)(param_3 + 0x14);\n  if (0 < iVar4) {\n    iVar6 = 0;\n    do {\n      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n        iVar4 = FUN_00060e20(param_2);\n        if (iVar4 == 0) {\n          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n        else {\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n      }\n      iVar6 = iVar6 + 1;\n      piVar5 = piVar5 + 0xc;\n    } while (iVar6 < iVar4);\n  }\n  return;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "char *local_40;" primitive_type (pointer_declarator "*local_40" * identifier) ;) (declaration "char *local_38;" primitive_type (pointer_declarator "*local_38" * identifier) ;) (declaration "char *local_34;" primitive_type (pointer_declarator "*local_34" * identifier) ;) (declaration "char *local_30;" primitive_type (pointer_declarator "*local_30" * identifier) ;) (declaration "char *local_2c;" primitive_type (pointer_declarator "*local_2c" * identifier) ;) (declaration "char *local_28;" primitive_type (pointer_declarator "*local_28" * identifier) ;) (declaration "char *local_24;" primitive_type (pointer_declarator "*local_24" * identifier) ;) (declaration "char *local_20;" primitive_type (pointer_declarator "*local_20" * identifier) ;) (expression_statement "local_20 = param_1;" (assignment_expression "local_20 = param_1" identifier = identifier) ;) (if_statement "if (*param_1 == ',') {\n    do {\n      local_28 = *(char **)(local_20 + 0xc);\n      if (*local_28 == ',') {\n        do {\n          local_24 = *(char **)(local_28 + 0xc);\n          if (*local_24 == ',') {\n            do {\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            } while (*local_24 == ',');\n          }\n          else {\n            iVar4 = *(int *)(param_3 + 0xc);\n          }\n          if (0 < iVar4) {\n            piVar5 = *(int **)(param_3 + 0x14);\n            iVar6 = 0;\n            do {\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            } while (iVar6 < iVar4);\n          }\n          local_28 = *(char **)(local_28 + 0x10);\n        } while (*local_28 == ',');\n      }\n      else {\n        iVar4 = *(int *)(param_3 + 0xc);\n      }\n      piVar5 = *(int **)(param_3 + 0x14);\n      if (0 < iVar4) {\n        iVar6 = 0;\n        do {\n          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n            iVar3 = FUN_00060e20(param_2);\n            iVar4 = *(int *)(param_3 + 0xc);\n            if (iVar3 == 0) {\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }\n          }\n          iVar6 = iVar6 + 1;\n          piVar5 = piVar5 + 0xc;\n        } while (iVar6 < iVar4);\n      }\n      local_20 = *(char **)(local_20 + 0x10);\n    } while (*local_20 == ',');\n  }\n  else {\n    iVar4 = *(int *)(param_3 + 0xc);\n  }" if (parenthesized_expression "(*param_1 == ',')" ( (binary_expression "*param_1 == ','" (pointer_expression "*param_1" * identifier) == (char_literal "','" ' character ')) )) (compound_statement "{\n    do {\n      local_28 = *(char **)(local_20 + 0xc);\n      if (*local_28 == ',') {\n        do {\n          local_24 = *(char **)(local_28 + 0xc);\n          if (*local_24 == ',') {\n            do {\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            } while (*local_24 == ',');\n          }\n          else {\n            iVar4 = *(int *)(param_3 + 0xc);\n          }\n          if (0 < iVar4) {\n            piVar5 = *(int **)(param_3 + 0x14);\n            iVar6 = 0;\n            do {\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            } while (iVar6 < iVar4);\n          }\n          local_28 = *(char **)(local_28 + 0x10);\n        } while (*local_28 == ',');\n      }\n      else {\n        iVar4 = *(int *)(param_3 + 0xc);\n      }\n      piVar5 = *(int **)(param_3 + 0x14);\n      if (0 < iVar4) {\n        iVar6 = 0;\n        do {\n          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n            iVar3 = FUN_00060e20(param_2);\n            iVar4 = *(int *)(param_3 + 0xc);\n            if (iVar3 == 0) {\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }\n          }\n          iVar6 = iVar6 + 1;\n          piVar5 = piVar5 + 0xc;\n        } while (iVar6 < iVar4);\n      }\n      local_20 = *(char **)(local_20 + 0x10);\n    } while (*local_20 == ',');\n  }" { (do_statement "do {\n      local_28 = *(char **)(local_20 + 0xc);\n      if (*local_28 == ',') {\n        do {\n          local_24 = *(char **)(local_28 + 0xc);\n          if (*local_24 == ',') {\n            do {\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            } while (*local_24 == ',');\n          }\n          else {\n            iVar4 = *(int *)(param_3 + 0xc);\n          }\n          if (0 < iVar4) {\n            piVar5 = *(int **)(param_3 + 0x14);\n            iVar6 = 0;\n            do {\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            } while (iVar6 < iVar4);\n          }\n          local_28 = *(char **)(local_28 + 0x10);\n        } while (*local_28 == ',');\n      }\n      else {\n        iVar4 = *(int *)(param_3 + 0xc);\n      }\n      piVar5 = *(int **)(param_3 + 0x14);\n      if (0 < iVar4) {\n        iVar6 = 0;\n        do {\n          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n            iVar3 = FUN_00060e20(param_2);\n            iVar4 = *(int *)(param_3 + 0xc);\n            if (iVar3 == 0) {\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }\n          }\n          iVar6 = iVar6 + 1;\n          piVar5 = piVar5 + 0xc;\n        } while (iVar6 < iVar4);\n      }\n      local_20 = *(char **)(local_20 + 0x10);\n    } while (*local_20 == ',');" do (compound_statement "{\n      local_28 = *(char **)(local_20 + 0xc);\n      if (*local_28 == ',') {\n        do {\n          local_24 = *(char **)(local_28 + 0xc);\n          if (*local_24 == ',') {\n            do {\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            } while (*local_24 == ',');\n          }\n          else {\n            iVar4 = *(int *)(param_3 + 0xc);\n          }\n          if (0 < iVar4) {\n            piVar5 = *(int **)(param_3 + 0x14);\n            iVar6 = 0;\n            do {\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            } while (iVar6 < iVar4);\n          }\n          local_28 = *(char **)(local_28 + 0x10);\n        } while (*local_28 == ',');\n      }\n      else {\n        iVar4 = *(int *)(param_3 + 0xc);\n      }\n      piVar5 = *(int **)(param_3 + 0x14);\n      if (0 < iVar4) {\n        iVar6 = 0;\n        do {\n          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n            iVar3 = FUN_00060e20(param_2);\n            iVar4 = *(int *)(param_3 + 0xc);\n            if (iVar3 == 0) {\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }\n          }\n          iVar6 = iVar6 + 1;\n          piVar5 = piVar5 + 0xc;\n        } while (iVar6 < iVar4);\n      }\n      local_20 = *(char **)(local_20 + 0x10);\n    }" { (expression_statement "local_28 = *(char **)(local_20 + 0xc);" (assignment_expression "local_28 = *(char **)(local_20 + 0xc)" identifier = (pointer_expression "*(char **)(local_20 + 0xc)" * (cast_expression "(char **)(local_20 + 0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_20 + 0xc)" ( (binary_expression "local_20 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (*local_28 == ',') {\n        do {\n          local_24 = *(char **)(local_28 + 0xc);\n          if (*local_24 == ',') {\n            do {\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            } while (*local_24 == ',');\n          }\n          else {\n            iVar4 = *(int *)(param_3 + 0xc);\n          }\n          if (0 < iVar4) {\n            piVar5 = *(int **)(param_3 + 0x14);\n            iVar6 = 0;\n            do {\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            } while (iVar6 < iVar4);\n          }\n          local_28 = *(char **)(local_28 + 0x10);\n        } while (*local_28 == ',');\n      }\n      else {\n        iVar4 = *(int *)(param_3 + 0xc);\n      }" if (parenthesized_expression "(*local_28 == ',')" ( (binary_expression "*local_28 == ','" (pointer_expression "*local_28" * identifier) == (char_literal "','" ' character ')) )) (compound_statement "{\n        do {\n          local_24 = *(char **)(local_28 + 0xc);\n          if (*local_24 == ',') {\n            do {\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            } while (*local_24 == ',');\n          }\n          else {\n            iVar4 = *(int *)(param_3 + 0xc);\n          }\n          if (0 < iVar4) {\n            piVar5 = *(int **)(param_3 + 0x14);\n            iVar6 = 0;\n            do {\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            } while (iVar6 < iVar4);\n          }\n          local_28 = *(char **)(local_28 + 0x10);\n        } while (*local_28 == ',');\n      }" { (do_statement "do {\n          local_24 = *(char **)(local_28 + 0xc);\n          if (*local_24 == ',') {\n            do {\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            } while (*local_24 == ',');\n          }\n          else {\n            iVar4 = *(int *)(param_3 + 0xc);\n          }\n          if (0 < iVar4) {\n            piVar5 = *(int **)(param_3 + 0x14);\n            iVar6 = 0;\n            do {\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            } while (iVar6 < iVar4);\n          }\n          local_28 = *(char **)(local_28 + 0x10);\n        } while (*local_28 == ',');" do (compound_statement "{\n          local_24 = *(char **)(local_28 + 0xc);\n          if (*local_24 == ',') {\n            do {\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            } while (*local_24 == ',');\n          }\n          else {\n            iVar4 = *(int *)(param_3 + 0xc);\n          }\n          if (0 < iVar4) {\n            piVar5 = *(int **)(param_3 + 0x14);\n            iVar6 = 0;\n            do {\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            } while (iVar6 < iVar4);\n          }\n          local_28 = *(char **)(local_28 + 0x10);\n        }" { (expression_statement "local_24 = *(char **)(local_28 + 0xc);" (assignment_expression "local_24 = *(char **)(local_28 + 0xc)" identifier = (pointer_expression "*(char **)(local_28 + 0xc)" * (cast_expression "(char **)(local_28 + 0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_28 + 0xc)" ( (binary_expression "local_28 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (*local_24 == ',') {\n            do {\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            } while (*local_24 == ',');\n          }\n          else {\n            iVar4 = *(int *)(param_3 + 0xc);\n          }" if (parenthesized_expression "(*local_24 == ',')" ( (binary_expression "*local_24 == ','" (pointer_expression "*local_24" * identifier) == (char_literal "','" ' character ')) )) (compound_statement "{\n            do {\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            } while (*local_24 == ',');\n          }" { (do_statement "do {\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            } while (*local_24 == ',');" do (compound_statement "{\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            }" { (expression_statement "local_2c = *(char **)(local_24 + 0xc);" (assignment_expression "local_2c = *(char **)(local_24 + 0xc)" identifier = (pointer_expression "*(char **)(local_24 + 0xc)" * (cast_expression "(char **)(local_24 + 0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_24 + 0xc)" ( (binary_expression "local_24 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }" if (parenthesized_expression "(*local_2c == ',')" ( (binary_expression "*local_2c == ','" (pointer_expression "*local_2c" * identifier) == (char_literal "','" ' character ')) )) (compound_statement "{\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }" { (do_statement "do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');" do (compound_statement "{\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                }" { (expression_statement "local_30 = *(char **)(local_2c + 0xc);" (assignment_expression "local_30 = *(char **)(local_2c + 0xc)" identifier = (pointer_expression "*(char **)(local_2c + 0xc)" * (cast_expression "(char **)(local_2c + 0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_2c + 0xc)" ( (binary_expression "local_2c + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }" if (parenthesized_expression "(*local_30 == ',')" ( (binary_expression "*local_30 == ','" (pointer_expression "*local_30" * identifier) == (char_literal "','" ' character ')) )) (compound_statement "{\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }" { (do_statement "do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');" do (compound_statement "{\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    }" { (expression_statement "local_34 = *(char **)(local_30 + 0xc);" (assignment_expression "local_34 = *(char **)(local_30 + 0xc)" identifier = (pointer_expression "*(char **)(local_30 + 0xc)" * (cast_expression "(char **)(local_30 + 0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_30 + 0xc)" ( (binary_expression "local_30 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }" if (parenthesized_expression "(*local_34 == ',')" ( (binary_expression "*local_34 == ','" (pointer_expression "*local_34" * identifier) == (char_literal "','" ' character ')) )) (compound_statement "{\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }" { (do_statement "do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');" do (compound_statement "{\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        }" { (expression_statement "local_38 = *(char **)(local_34 + 0xc);" (assignment_expression "local_38 = *(char **)(local_34 + 0xc)" identifier = (pointer_expression "*(char **)(local_34 + 0xc)" * (cast_expression "(char **)(local_34 + 0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_34 + 0xc)" ( (binary_expression "local_34 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }" if (parenthesized_expression "(*local_38 == ',')" ( (binary_expression "*local_38 == ','" (pointer_expression "*local_38" * identifier) == (char_literal "','" ' character ')) )) (compound_statement "{\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }" { (do_statement "do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');" do (compound_statement "{\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            }" { (expression_statement "local_40 = *(char **)(local_38 + 0xc);" (assignment_expression "local_40 = *(char **)(local_38 + 0xc)" identifier = (pointer_expression "*(char **)(local_38 + 0xc)" * (cast_expression "(char **)(local_38 + 0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_38 + 0xc)" ( (binary_expression "local_38 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }" if (parenthesized_expression "(*local_40 == ',')" ( (binary_expression "*local_40 == ','" (pointer_expression "*local_40" * identifier) == (char_literal "','" ' character ')) )) (compound_statement "{\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }" { (do_statement "do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');" do (compound_statement "{\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                }" { (expression_statement "pcVar2 = *(char **)(local_40 + 0xc);" (assignment_expression "pcVar2 = *(char **)(local_40 + 0xc)" identifier = (pointer_expression "*(char **)(local_40 + 0xc)" * (cast_expression "(char **)(local_40 + 0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_40 + 0xc)" ( (binary_expression "local_40 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "cVar1 = *pcVar2;" (assignment_expression "cVar1 = *pcVar2" identifier = (pointer_expression "*pcVar2" * identifier)) ;) (while_statement "while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }" while (parenthesized_expression "(cVar1 == ',')" ( (binary_expression "cVar1 == ','" identifier == (char_literal "','" ' character ')) )) (compound_statement "{\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }" { (expression_statement "FUN_00062f10();" (call_expression "FUN_00062f10()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar2 = *(char **)(pcVar2 + 0x10);" (assignment_expression "pcVar2 = *(char **)(pcVar2 + 0x10)" identifier = (pointer_expression "*(char **)(pcVar2 + 0x10)" * (cast_expression "(char **)(pcVar2 + 0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar2 + 0x10)" ( (binary_expression "pcVar2 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "cVar1 = *pcVar2;" (assignment_expression "cVar1 = *pcVar2" identifier = (pointer_expression "*pcVar2" * identifier)) ;) })) (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" identifier = (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "piVar5 = *(int **)(param_3 + 0x14);" (assignment_expression "piVar5 = *(int **)(param_3 + 0x14)" identifier = (pointer_expression "*(int **)(param_3 + 0x14)" * (cast_expression "(int **)(param_3 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 0x14)" ( (binary_expression "param_3 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }" if (parenthesized_expression "(0 < iVar4)" ( (binary_expression "0 < iVar4" number_literal < identifier) )) (compound_statement "{\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);" do (compound_statement "{\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    }" { (if_statement "if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }" if (parenthesized_expression "(((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         )" ( (binary_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)" (parenthesized_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0)" ( (binary_expression "(*(byte *)((int)piVar5 + 10) & 4) == 0" (parenthesized_expression "(*(byte *)((int)piVar5 + 10) & 4)" ( (binary_expression "*(byte *)((int)piVar5 + 10) & 4" (pointer_expression "*(byte *)((int)piVar5 + 10)" * (cast_expression "(byte *)((int)piVar5 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "(*piVar5 != 0)" ( (binary_expression "*piVar5 != 0" (pointer_expression "*piVar5" * identifier) != number_literal) ))) )) (compound_statement "{\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }" { (expression_statement "iVar3 = FUN_00060e20(param_2);" (assignment_expression "iVar3 = FUN_00060e20(param_2)" identifier = (call_expression "FUN_00060e20(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" identifier = (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }" { (expression_statement "*(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;" (assignment_expression "*(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" * (cast_expression "(ushort *)((int)piVar5 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" * (cast_expression "(ushort *)((int)piVar5 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) })) })) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "piVar5 = piVar5 + 0xc;" (assignment_expression "piVar5 = piVar5 + 0xc" identifier = (binary_expression "piVar5 + 0xc" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar6 < iVar4)" ( (binary_expression "iVar6 < iVar4" identifier < identifier) )) ;) })) (expression_statement "local_40 = *(char **)(local_40 + 0x10);" (assignment_expression "local_40 = *(char **)(local_40 + 0x10)" identifier = (pointer_expression "*(char **)(local_40 + 0x10)" * (cast_expression "(char **)(local_40 + 0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_40 + 0x10)" ( (binary_expression "local_40 + 0x10" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(*local_40 == ',')" ( (binary_expression "*local_40 == ','" (pointer_expression "*local_40" * identifier) == (char_literal "','" ' character ')) )) ;) }) (else_clause "else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }" else (compound_statement "{\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }" { (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" identifier = (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) }))) (expression_statement "piVar5 = *(int **)(param_3 + 0x14);" (assignment_expression "piVar5 = *(int **)(param_3 + 0x14)" identifier = (pointer_expression "*(int **)(param_3 + 0x14)" * (cast_expression "(int **)(param_3 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 0x14)" ( (binary_expression "param_3 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }" if (parenthesized_expression "(0 < iVar4)" ( (binary_expression "0 < iVar4" number_literal < identifier) )) (compound_statement "{\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);" do (compound_statement "{\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                }" { (if_statement "if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }" if (parenthesized_expression "(((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0))" ( (binary_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)" (parenthesized_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0)" ( (binary_expression "(*(byte *)((int)piVar5 + 10) & 4) == 0" (parenthesized_expression "(*(byte *)((int)piVar5 + 10) & 4)" ( (binary_expression "*(byte *)((int)piVar5 + 10) & 4" (pointer_expression "*(byte *)((int)piVar5 + 10)" * (cast_expression "(byte *)((int)piVar5 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "(*piVar5 != 0)" ( (binary_expression "*piVar5 != 0" (pointer_expression "*piVar5" * identifier) != number_literal) ))) )) (compound_statement "{\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }" { (expression_statement "iVar3 = FUN_00060e20(param_2);" (assignment_expression "iVar3 = FUN_00060e20(param_2)" identifier = (call_expression "FUN_00060e20(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" identifier = (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }" { (expression_statement "*(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;" (assignment_expression "*(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" * (cast_expression "(ushort *)((int)piVar5 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" * (cast_expression "(ushort *)((int)piVar5 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) })) })) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "piVar5 = piVar5 + 0xc;" (assignment_expression "piVar5 = piVar5 + 0xc" identifier = (binary_expression "piVar5 + 0xc" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar6 < iVar4)" ( (binary_expression "iVar6 < iVar4" identifier < identifier) )) ;) })) (expression_statement "local_38 = *(char **)(local_38 + 0x10);" (assignment_expression "local_38 = *(char **)(local_38 + 0x10)" identifier = (pointer_expression "*(char **)(local_38 + 0x10)" * (cast_expression "(char **)(local_38 + 0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_38 + 0x10)" ( (binary_expression "local_38 + 0x10" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(*local_38 == ',')" ( (binary_expression "*local_38 == ','" (pointer_expression "*local_38" * identifier) == (char_literal "','" ' character ')) )) ;) }) (else_clause "else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }" else (compound_statement "{\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }" { (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" identifier = (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) }))) (expression_statement "piVar5 = *(int **)(param_3 + 0x14);" (assignment_expression "piVar5 = *(int **)(param_3 + 0x14)" identifier = (pointer_expression "*(int **)(param_3 + 0x14)" * (cast_expression "(int **)(param_3 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 0x14)" ( (binary_expression "param_3 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }" if (parenthesized_expression "(0 < iVar4)" ( (binary_expression "0 < iVar4" number_literal < identifier) )) (compound_statement "{\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);" do (compound_statement "{\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            }" { (if_statement "if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }" if (parenthesized_expression "(((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0))" ( (binary_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)" (parenthesized_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0)" ( (binary_expression "(*(byte *)((int)piVar5 + 10) & 4) == 0" (parenthesized_expression "(*(byte *)((int)piVar5 + 10) & 4)" ( (binary_expression "*(byte *)((int)piVar5 + 10) & 4" (pointer_expression "*(byte *)((int)piVar5 + 10)" * (cast_expression "(byte *)((int)piVar5 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "(*piVar5 != 0)" ( (binary_expression "*piVar5 != 0" (pointer_expression "*piVar5" * identifier) != number_literal) ))) )) (compound_statement "{\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }" { (expression_statement "iVar3 = FUN_00060e20(param_2);" (assignment_expression "iVar3 = FUN_00060e20(param_2)" identifier = (call_expression "FUN_00060e20(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" identifier = (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }" { (expression_statement "*(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;" (assignment_expression "*(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" * (cast_expression "(ushort *)((int)piVar5 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" * (cast_expression "(ushort *)((int)piVar5 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) })) })) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "piVar5 = piVar5 + 0xc;" (assignment_expression "piVar5 = piVar5 + 0xc" identifier = (binary_expression "piVar5 + 0xc" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar6 < iVar4)" ( (binary_expression "iVar6 < iVar4" identifier < identifier) )) ;) })) (expression_statement "local_34 = *(char **)(local_34 + 0x10);" (assignment_expression "local_34 = *(char **)(local_34 + 0x10)" identifier = (pointer_expression "*(char **)(local_34 + 0x10)" * (cast_expression "(char **)(local_34 + 0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_34 + 0x10)" ( (binary_expression "local_34 + 0x10" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(*local_34 == ',')" ( (binary_expression "*local_34 == ','" (pointer_expression "*local_34" * identifier) == (char_literal "','" ' character ')) )) ;) }) (else_clause "else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }" else (compound_statement "{\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }" { (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" identifier = (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) }))) (expression_statement "piVar5 = *(int **)(param_3 + 0x14);" (assignment_expression "piVar5 = *(int **)(param_3 + 0x14)" identifier = (pointer_expression "*(int **)(param_3 + 0x14)" * (cast_expression "(int **)(param_3 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 0x14)" ( (binary_expression "param_3 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }" if (parenthesized_expression "(0 < iVar4)" ( (binary_expression "0 < iVar4" number_literal < identifier) )) (compound_statement "{\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);" do (compound_statement "{\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        }" { (if_statement "if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }" if (parenthesized_expression "(((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0))" ( (binary_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)" (parenthesized_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0)" ( (binary_expression "(*(byte *)((int)piVar5 + 10) & 4) == 0" (parenthesized_expression "(*(byte *)((int)piVar5 + 10) & 4)" ( (binary_expression "*(byte *)((int)piVar5 + 10) & 4" (pointer_expression "*(byte *)((int)piVar5 + 10)" * (cast_expression "(byte *)((int)piVar5 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "(*piVar5 != 0)" ( (binary_expression "*piVar5 != 0" (pointer_expression "*piVar5" * identifier) != number_literal) ))) )) (compound_statement "{\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }" { (expression_statement "iVar3 = FUN_00060e20(param_2);" (assignment_expression "iVar3 = FUN_00060e20(param_2)" identifier = (call_expression "FUN_00060e20(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" identifier = (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }" { (expression_statement "*(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;" (assignment_expression "*(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" * (cast_expression "(ushort *)((int)piVar5 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" * (cast_expression "(ushort *)((int)piVar5 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) })) })) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "piVar5 = piVar5 + 0xc;" (assignment_expression "piVar5 = piVar5 + 0xc" identifier = (binary_expression "piVar5 + 0xc" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar6 < iVar4)" ( (binary_expression "iVar6 < iVar4" identifier < identifier) )) ;) })) (expression_statement "local_30 = *(char **)(local_30 + 0x10);" (assignment_expression "local_30 = *(char **)(local_30 + 0x10)" identifier = (pointer_expression "*(char **)(local_30 + 0x10)" * (cast_expression "(char **)(local_30 + 0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_30 + 0x10)" ( (binary_expression "local_30 + 0x10" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(*local_30 == ',')" ( (binary_expression "*local_30 == ','" (pointer_expression "*local_30" * identifier) == (char_literal "','" ' character ')) )) ;) }) (else_clause "else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }" else (compound_statement "{\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }" { (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" identifier = (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) }))) (expression_statement "piVar5 = *(int **)(param_3 + 0x14);" (assignment_expression "piVar5 = *(int **)(param_3 + 0x14)" identifier = (pointer_expression "*(int **)(param_3 + 0x14)" * (cast_expression "(int **)(param_3 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 0x14)" ( (binary_expression "param_3 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }" if (parenthesized_expression "(0 < iVar4)" ( (binary_expression "0 < iVar4" number_literal < identifier) )) (compound_statement "{\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);" do (compound_statement "{\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    }" { (if_statement "if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }" if (parenthesized_expression "(((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0))" ( (binary_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)" (parenthesized_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0)" ( (binary_expression "(*(byte *)((int)piVar5 + 10) & 4) == 0" (parenthesized_expression "(*(byte *)((int)piVar5 + 10) & 4)" ( (binary_expression "*(byte *)((int)piVar5 + 10) & 4" (pointer_expression "*(byte *)((int)piVar5 + 10)" * (cast_expression "(byte *)((int)piVar5 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "(*piVar5 != 0)" ( (binary_expression "*piVar5 != 0" (pointer_expression "*piVar5" * identifier) != number_literal) ))) )) (compound_statement "{\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }" { (expression_statement "iVar3 = FUN_00060e20(param_2);" (assignment_expression "iVar3 = FUN_00060e20(param_2)" identifier = (call_expression "FUN_00060e20(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" identifier = (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }" { (expression_statement "*(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;" (assignment_expression "*(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" * (cast_expression "(ushort *)((int)piVar5 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" * (cast_expression "(ushort *)((int)piVar5 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) })) })) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "piVar5 = piVar5 + 0xc;" (assignment_expression "piVar5 = piVar5 + 0xc" identifier = (binary_expression "piVar5 + 0xc" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar6 < iVar4)" ( (binary_expression "iVar6 < iVar4" identifier < identifier) )) ;) })) (expression_statement "local_2c = *(char **)(local_2c + 0x10);" (assignment_expression "local_2c = *(char **)(local_2c + 0x10)" identifier = (pointer_expression "*(char **)(local_2c + 0x10)" * (cast_expression "(char **)(local_2c + 0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_2c + 0x10)" ( (binary_expression "local_2c + 0x10" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(*local_2c == ',')" ( (binary_expression "*local_2c == ','" (pointer_expression "*local_2c" * identifier) == (char_literal "','" ' character ')) )) ;) }) (else_clause "else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }" else (compound_statement "{\n                iVar4 = *(int *)(param_3 + 0xc);\n              }" { (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" identifier = (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) }))) (expression_statement "piVar5 = *(int **)(param_3 + 0x14);" (assignment_expression "piVar5 = *(int **)(param_3 + 0x14)" identifier = (pointer_expression "*(int **)(param_3 + 0x14)" * (cast_expression "(int **)(param_3 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 0x14)" ( (binary_expression "param_3 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }" if (parenthesized_expression "(0 < iVar4)" ( (binary_expression "0 < iVar4" number_literal < identifier) )) (compound_statement "{\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);" do (compound_statement "{\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                }" { (if_statement "if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }" if (parenthesized_expression "(((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0))" ( (binary_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)" (parenthesized_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0)" ( (binary_expression "(*(byte *)((int)piVar5 + 10) & 4) == 0" (parenthesized_expression "(*(byte *)((int)piVar5 + 10) & 4)" ( (binary_expression "*(byte *)((int)piVar5 + 10) & 4" (pointer_expression "*(byte *)((int)piVar5 + 10)" * (cast_expression "(byte *)((int)piVar5 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "(*piVar5 != 0)" ( (binary_expression "*piVar5 != 0" (pointer_expression "*piVar5" * identifier) != number_literal) ))) )) (compound_statement "{\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }" { (expression_statement "iVar3 = FUN_00060e20(param_2);" (assignment_expression "iVar3 = FUN_00060e20(param_2)" identifier = (call_expression "FUN_00060e20(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" identifier = (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }" { (expression_statement "*(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;" (assignment_expression "*(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" * (cast_expression "(ushort *)((int)piVar5 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" * (cast_expression "(ushort *)((int)piVar5 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) })) })) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "piVar5 = piVar5 + 0xc;" (assignment_expression "piVar5 = piVar5 + 0xc" identifier = (binary_expression "piVar5 + 0xc" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar6 < iVar4)" ( (binary_expression "iVar6 < iVar4" identifier < identifier) )) ;) })) (expression_statement "local_24 = *(char **)(local_24 + 0x10);" (assignment_expression "local_24 = *(char **)(local_24 + 0x10)" identifier = (pointer_expression "*(char **)(local_24 + 0x10)" * (cast_expression "(char **)(local_24 + 0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_24 + 0x10)" ( (binary_expression "local_24 + 0x10" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(*local_24 == ',')" ( (binary_expression "*local_24 == ','" (pointer_expression "*local_24" * identifier) == (char_literal "','" ' character ')) )) ;) }) (else_clause "else {\n            iVar4 = *(int *)(param_3 + 0xc);\n          }" else (compound_statement "{\n            iVar4 = *(int *)(param_3 + 0xc);\n          }" { (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" identifier = (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) }))) (if_statement "if (0 < iVar4) {\n            piVar5 = *(int **)(param_3 + 0x14);\n            iVar6 = 0;\n            do {\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            } while (iVar6 < iVar4);\n          }" if (parenthesized_expression "(0 < iVar4)" ( (binary_expression "0 < iVar4" number_literal < identifier) )) (compound_statement "{\n            piVar5 = *(int **)(param_3 + 0x14);\n            iVar6 = 0;\n            do {\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            } while (iVar6 < iVar4);\n          }" { (expression_statement "piVar5 = *(int **)(param_3 + 0x14);" (assignment_expression "piVar5 = *(int **)(param_3 + 0x14)" identifier = (pointer_expression "*(int **)(param_3 + 0x14)" * (cast_expression "(int **)(param_3 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 0x14)" ( (binary_expression "param_3 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            } while (iVar6 < iVar4);" do (compound_statement "{\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            }" { (if_statement "if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }" if (parenthesized_expression "(((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0))" ( (binary_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)" (parenthesized_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0)" ( (binary_expression "(*(byte *)((int)piVar5 + 10) & 4) == 0" (parenthesized_expression "(*(byte *)((int)piVar5 + 10) & 4)" ( (binary_expression "*(byte *)((int)piVar5 + 10) & 4" (pointer_expression "*(byte *)((int)piVar5 + 10)" * (cast_expression "(byte *)((int)piVar5 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "(*piVar5 != 0)" ( (binary_expression "*piVar5 != 0" (pointer_expression "*piVar5" * identifier) != number_literal) ))) )) (compound_statement "{\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }" { (expression_statement "iVar3 = FUN_00060e20(param_2);" (assignment_expression "iVar3 = FUN_00060e20(param_2)" identifier = (call_expression "FUN_00060e20(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" identifier = (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }" { (expression_statement "*(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;" (assignment_expression "*(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" * (cast_expression "(ushort *)((int)piVar5 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" * (cast_expression "(ushort *)((int)piVar5 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) })) })) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "piVar5 = piVar5 + 0xc;" (assignment_expression "piVar5 = piVar5 + 0xc" identifier = (binary_expression "piVar5 + 0xc" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar6 < iVar4)" ( (binary_expression "iVar6 < iVar4" identifier < identifier) )) ;) })) (expression_statement "local_28 = *(char **)(local_28 + 0x10);" (assignment_expression "local_28 = *(char **)(local_28 + 0x10)" identifier = (pointer_expression "*(char **)(local_28 + 0x10)" * (cast_expression "(char **)(local_28 + 0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_28 + 0x10)" ( (binary_expression "local_28 + 0x10" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(*local_28 == ',')" ( (binary_expression "*local_28 == ','" (pointer_expression "*local_28" * identifier) == (char_literal "','" ' character ')) )) ;) }) (else_clause "else {\n        iVar4 = *(int *)(param_3 + 0xc);\n      }" else (compound_statement "{\n        iVar4 = *(int *)(param_3 + 0xc);\n      }" { (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" identifier = (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) }))) (expression_statement "piVar5 = *(int **)(param_3 + 0x14);" (assignment_expression "piVar5 = *(int **)(param_3 + 0x14)" identifier = (pointer_expression "*(int **)(param_3 + 0x14)" * (cast_expression "(int **)(param_3 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 0x14)" ( (binary_expression "param_3 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (0 < iVar4) {\n        iVar6 = 0;\n        do {\n          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n            iVar3 = FUN_00060e20(param_2);\n            iVar4 = *(int *)(param_3 + 0xc);\n            if (iVar3 == 0) {\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }\n          }\n          iVar6 = iVar6 + 1;\n          piVar5 = piVar5 + 0xc;\n        } while (iVar6 < iVar4);\n      }" if (parenthesized_expression "(0 < iVar4)" ( (binary_expression "0 < iVar4" number_literal < identifier) )) (compound_statement "{\n        iVar6 = 0;\n        do {\n          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n            iVar3 = FUN_00060e20(param_2);\n            iVar4 = *(int *)(param_3 + 0xc);\n            if (iVar3 == 0) {\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }\n          }\n          iVar6 = iVar6 + 1;\n          piVar5 = piVar5 + 0xc;\n        } while (iVar6 < iVar4);\n      }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n            iVar3 = FUN_00060e20(param_2);\n            iVar4 = *(int *)(param_3 + 0xc);\n            if (iVar3 == 0) {\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }\n          }\n          iVar6 = iVar6 + 1;\n          piVar5 = piVar5 + 0xc;\n        } while (iVar6 < iVar4);" do (compound_statement "{\n          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n            iVar3 = FUN_00060e20(param_2);\n            iVar4 = *(int *)(param_3 + 0xc);\n            if (iVar3 == 0) {\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }\n          }\n          iVar6 = iVar6 + 1;\n          piVar5 = piVar5 + 0xc;\n        }" { (if_statement "if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n            iVar3 = FUN_00060e20(param_2);\n            iVar4 = *(int *)(param_3 + 0xc);\n            if (iVar3 == 0) {\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }\n          }" if (parenthesized_expression "(((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0))" ( (binary_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)" (parenthesized_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0)" ( (binary_expression "(*(byte *)((int)piVar5 + 10) & 4) == 0" (parenthesized_expression "(*(byte *)((int)piVar5 + 10) & 4)" ( (binary_expression "*(byte *)((int)piVar5 + 10) & 4" (pointer_expression "*(byte *)((int)piVar5 + 10)" * (cast_expression "(byte *)((int)piVar5 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "(*piVar5 != 0)" ( (binary_expression "*piVar5 != 0" (pointer_expression "*piVar5" * identifier) != number_literal) ))) )) (compound_statement "{\n            iVar3 = FUN_00060e20(param_2);\n            iVar4 = *(int *)(param_3 + 0xc);\n            if (iVar3 == 0) {\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }\n          }" { (expression_statement "iVar3 = FUN_00060e20(param_2);" (assignment_expression "iVar3 = FUN_00060e20(param_2)" identifier = (call_expression "FUN_00060e20(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" identifier = (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (iVar3 == 0) {\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }" { (expression_statement "*(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;" (assignment_expression "*(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" * (cast_expression "(ushort *)((int)piVar5 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" * (cast_expression "(ushort *)((int)piVar5 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) })) })) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "piVar5 = piVar5 + 0xc;" (assignment_expression "piVar5 = piVar5 + 0xc" identifier = (binary_expression "piVar5 + 0xc" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar6 < iVar4)" ( (binary_expression "iVar6 < iVar4" identifier < identifier) )) ;) })) (expression_statement "local_20 = *(char **)(local_20 + 0x10);" (assignment_expression "local_20 = *(char **)(local_20 + 0x10)" identifier = (pointer_expression "*(char **)(local_20 + 0x10)" * (cast_expression "(char **)(local_20 + 0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_20 + 0x10)" ( (binary_expression "local_20 + 0x10" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(*local_20 == ',')" ( (binary_expression "*local_20 == ','" (pointer_expression "*local_20" * identifier) == (char_literal "','" ' character ')) )) ;) }) (else_clause "else {\n    iVar4 = *(int *)(param_3 + 0xc);\n  }" else (compound_statement "{\n    iVar4 = *(int *)(param_3 + 0xc);\n  }" { (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" identifier = (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) }))) (expression_statement "piVar5 = *(int **)(param_3 + 0x14);" (assignment_expression "piVar5 = *(int **)(param_3 + 0x14)" identifier = (pointer_expression "*(int **)(param_3 + 0x14)" * (cast_expression "(int **)(param_3 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 0x14)" ( (binary_expression "param_3 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (0 < iVar4) {\n    iVar6 = 0;\n    do {\n      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n        iVar4 = FUN_00060e20(param_2);\n        if (iVar4 == 0) {\n          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n        else {\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n      }\n      iVar6 = iVar6 + 1;\n      piVar5 = piVar5 + 0xc;\n    } while (iVar6 < iVar4);\n  }" if (parenthesized_expression "(0 < iVar4)" ( (binary_expression "0 < iVar4" number_literal < identifier) )) (compound_statement "{\n    iVar6 = 0;\n    do {\n      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n        iVar4 = FUN_00060e20(param_2);\n        if (iVar4 == 0) {\n          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n        else {\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n      }\n      iVar6 = iVar6 + 1;\n      piVar5 = piVar5 + 0xc;\n    } while (iVar6 < iVar4);\n  }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n        iVar4 = FUN_00060e20(param_2);\n        if (iVar4 == 0) {\n          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n        else {\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n      }\n      iVar6 = iVar6 + 1;\n      piVar5 = piVar5 + 0xc;\n    } while (iVar6 < iVar4);" do (compound_statement "{\n      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n        iVar4 = FUN_00060e20(param_2);\n        if (iVar4 == 0) {\n          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n        else {\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n      }\n      iVar6 = iVar6 + 1;\n      piVar5 = piVar5 + 0xc;\n    }" { (if_statement "if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n        iVar4 = FUN_00060e20(param_2);\n        if (iVar4 == 0) {\n          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n        else {\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n      }" if (parenthesized_expression "(((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0))" ( (binary_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)" (parenthesized_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0)" ( (binary_expression "(*(byte *)((int)piVar5 + 10) & 4) == 0" (parenthesized_expression "(*(byte *)((int)piVar5 + 10) & 4)" ( (binary_expression "*(byte *)((int)piVar5 + 10) & 4" (pointer_expression "*(byte *)((int)piVar5 + 10)" * (cast_expression "(byte *)((int)piVar5 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "(*piVar5 != 0)" ( (binary_expression "*piVar5 != 0" (pointer_expression "*piVar5" * identifier) != number_literal) ))) )) (compound_statement "{\n        iVar4 = FUN_00060e20(param_2);\n        if (iVar4 == 0) {\n          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n        else {\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n      }" { (expression_statement "iVar4 = FUN_00060e20(param_2);" (assignment_expression "iVar4 = FUN_00060e20(param_2)" identifier = (call_expression "FUN_00060e20(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (if_statement "if (iVar4 == 0) {\n          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n        else {\n          iVar4 = *(int *)(param_3 + 0xc);\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n          iVar4 = *(int *)(param_3 + 0xc);\n        }" { (expression_statement "*(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;" (assignment_expression "*(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" * (cast_expression "(ushort *)((int)piVar5 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" * (cast_expression "(ushort *)((int)piVar5 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 10)" ( (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" identifier = (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          iVar4 = *(int *)(param_3 + 0xc);\n        }" else (compound_statement "{\n          iVar4 = *(int *)(param_3 + 0xc);\n        }" { (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" identifier = (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) }))) })) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "piVar5 = piVar5 + 0xc;" (assignment_expression "piVar5 = piVar5 + 0xc" identifier = (binary_expression "piVar5 + 0xc" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar6 < iVar4)" ( (binary_expression "iVar6 < iVar4" identifier < identifier) )) ;) })) (return_statement "return;" return ;) })))
(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) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * 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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) | LIT)) ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) ;) }) (else_clause else (compound_statement { (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) | LIT)) ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) ;) }) (else_clause else (compound_statement { (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) | LIT)) ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) ;) }) (else_clause else (compound_statement { (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) | LIT)) ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) ;) }) (else_clause else (compound_statement { (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) | LIT)) ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) ;) }) (else_clause else (compound_statement { (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) | LIT)) ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) | LIT)) ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) ;) }) (else_clause else (compound_statement { (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) | LIT)) ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) ;) }) (else_clause else (compound_statement { (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) | LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (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 = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (return_statement return ;) })))
(function_definition "void __regparm3 FUN_00062f10(char *param_1,undefined4 param_2,int param_3)\n\n{\n  char cVar1;\n  char *pcVar2;\n  int iVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  char *local_40;\n  char *local_38;\n  char *local_34;\n  char *local_30;\n  char *local_2c;\n  char *local_28;\n  char *local_24;\n  char *local_20;\n  \n  local_20 = param_1;\n  if (*param_1 == ',') {\n    do {\n      local_28 = *(char **)(local_20 + 0xc);\n      if (*local_28 == ',') {\n        do {\n          local_24 = *(char **)(local_28 + 0xc);\n          if (*local_24 == ',') {\n            do {\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            } while (*local_24 == ',');\n          }\n          else {\n            iVar4 = *(int *)(param_3 + 0xc);\n          }\n          if (0 < iVar4) {\n            piVar5 = *(int **)(param_3 + 0x14);\n            iVar6 = 0;\n            do {\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            } while (iVar6 < iVar4);\n          }\n          local_28 = *(char **)(local_28 + 0x10);\n        } while (*local_28 == ',');\n      }\n      else {\n        iVar4 = *(int *)(param_3 + 0xc);\n      }\n      piVar5 = *(int **)(param_3 + 0x14);\n      if (0 < iVar4) {\n        iVar6 = 0;\n        do {\n          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n            iVar3 = FUN_00060e20(param_2);\n            iVar4 = *(int *)(param_3 + 0xc);\n            if (iVar3 == 0) {\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }\n          }\n          iVar6 = iVar6 + 1;\n          piVar5 = piVar5 + 0xc;\n        } while (iVar6 < iVar4);\n      }\n      local_20 = *(char **)(local_20 + 0x10);\n    } while (*local_20 == ',');\n  }\n  else {\n    iVar4 = *(int *)(param_3 + 0xc);\n  }\n  piVar5 = *(int **)(param_3 + 0x14);\n  if (0 < iVar4) {\n    iVar6 = 0;\n    do {\n      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n        iVar4 = FUN_00060e20(param_2);\n        if (iVar4 == 0) {\n          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n        else {\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n      }\n      iVar6 = iVar6 + 1;\n      piVar5 = piVar5 + 0xc;\n    } while (iVar6 < iVar4);\n  }\n  return;\n}" (primitive_type "void") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_00062f10(char *param_1,undefined4 param_2,int param_3)" (identifier "FUN_00062f10") (parameter_list "(char *param_1,undefined4 param_2,int param_3)" (( "(") (parameter_declaration "char *param_1" (primitive_type "char") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) () ")"))) (compound_statement "{\n  char cVar1;\n  char *pcVar2;\n  int iVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  char *local_40;\n  char *local_38;\n  char *local_34;\n  char *local_30;\n  char *local_2c;\n  char *local_28;\n  char *local_24;\n  char *local_20;\n  \n  local_20 = param_1;\n  if (*param_1 == ',') {\n    do {\n      local_28 = *(char **)(local_20 + 0xc);\n      if (*local_28 == ',') {\n        do {\n          local_24 = *(char **)(local_28 + 0xc);\n          if (*local_24 == ',') {\n            do {\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            } while (*local_24 == ',');\n          }\n          else {\n            iVar4 = *(int *)(param_3 + 0xc);\n          }\n          if (0 < iVar4) {\n            piVar5 = *(int **)(param_3 + 0x14);\n            iVar6 = 0;\n            do {\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            } while (iVar6 < iVar4);\n          }\n          local_28 = *(char **)(local_28 + 0x10);\n        } while (*local_28 == ',');\n      }\n      else {\n        iVar4 = *(int *)(param_3 + 0xc);\n      }\n      piVar5 = *(int **)(param_3 + 0x14);\n      if (0 < iVar4) {\n        iVar6 = 0;\n        do {\n          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n            iVar3 = FUN_00060e20(param_2);\n            iVar4 = *(int *)(param_3 + 0xc);\n            if (iVar3 == 0) {\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }\n          }\n          iVar6 = iVar6 + 1;\n          piVar5 = piVar5 + 0xc;\n        } while (iVar6 < iVar4);\n      }\n      local_20 = *(char **)(local_20 + 0x10);\n    } while (*local_20 == ',');\n  }\n  else {\n    iVar4 = *(int *)(param_3 + 0xc);\n  }\n  piVar5 = *(int **)(param_3 + 0x14);\n  if (0 < iVar4) {\n    iVar6 = 0;\n    do {\n      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n        iVar4 = FUN_00060e20(param_2);\n        if (iVar4 == 0) {\n          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n        else {\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n      }\n      iVar6 = iVar6 + 1;\n      piVar5 = piVar5 + 0xc;\n    } while (iVar6 < iVar4);\n  }\n  return;\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "char *pcVar2;" (primitive_type "char") (pointer_declarator "*pcVar2" (* "*") (identifier "pcVar2")) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "char *local_40;" (primitive_type "char") (pointer_declarator "*local_40" (* "*") (identifier "local_40")) (; ";")) (declaration "char *local_38;" (primitive_type "char") (pointer_declarator "*local_38" (* "*") (identifier "local_38")) (; ";")) (declaration "char *local_34;" (primitive_type "char") (pointer_declarator "*local_34" (* "*") (identifier "local_34")) (; ";")) (declaration "char *local_30;" (primitive_type "char") (pointer_declarator "*local_30" (* "*") (identifier "local_30")) (; ";")) (declaration "char *local_2c;" (primitive_type "char") (pointer_declarator "*local_2c" (* "*") (identifier "local_2c")) (; ";")) (declaration "char *local_28;" (primitive_type "char") (pointer_declarator "*local_28" (* "*") (identifier "local_28")) (; ";")) (declaration "char *local_24;" (primitive_type "char") (pointer_declarator "*local_24" (* "*") (identifier "local_24")) (; ";")) (declaration "char *local_20;" (primitive_type "char") (pointer_declarator "*local_20" (* "*") (identifier "local_20")) (; ";")) (expression_statement "local_20 = param_1;" (assignment_expression "local_20 = param_1" (identifier "local_20") (= "=") (identifier "param_1")) (; ";")) (if_statement "if (*param_1 == ',') {\n    do {\n      local_28 = *(char **)(local_20 + 0xc);\n      if (*local_28 == ',') {\n        do {\n          local_24 = *(char **)(local_28 + 0xc);\n          if (*local_24 == ',') {\n            do {\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            } while (*local_24 == ',');\n          }\n          else {\n            iVar4 = *(int *)(param_3 + 0xc);\n          }\n          if (0 < iVar4) {\n            piVar5 = *(int **)(param_3 + 0x14);\n            iVar6 = 0;\n            do {\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            } while (iVar6 < iVar4);\n          }\n          local_28 = *(char **)(local_28 + 0x10);\n        } while (*local_28 == ',');\n      }\n      else {\n        iVar4 = *(int *)(param_3 + 0xc);\n      }\n      piVar5 = *(int **)(param_3 + 0x14);\n      if (0 < iVar4) {\n        iVar6 = 0;\n        do {\n          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n            iVar3 = FUN_00060e20(param_2);\n            iVar4 = *(int *)(param_3 + 0xc);\n            if (iVar3 == 0) {\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }\n          }\n          iVar6 = iVar6 + 1;\n          piVar5 = piVar5 + 0xc;\n        } while (iVar6 < iVar4);\n      }\n      local_20 = *(char **)(local_20 + 0x10);\n    } while (*local_20 == ',');\n  }\n  else {\n    iVar4 = *(int *)(param_3 + 0xc);\n  }" (if "if") (parenthesized_expression "(*param_1 == ',')" (( "(") (binary_expression "*param_1 == ','" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (== "==") (char_literal "','" (' "'") (character ",") (' "'"))) () ")")) (compound_statement "{\n    do {\n      local_28 = *(char **)(local_20 + 0xc);\n      if (*local_28 == ',') {\n        do {\n          local_24 = *(char **)(local_28 + 0xc);\n          if (*local_24 == ',') {\n            do {\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            } while (*local_24 == ',');\n          }\n          else {\n            iVar4 = *(int *)(param_3 + 0xc);\n          }\n          if (0 < iVar4) {\n            piVar5 = *(int **)(param_3 + 0x14);\n            iVar6 = 0;\n            do {\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            } while (iVar6 < iVar4);\n          }\n          local_28 = *(char **)(local_28 + 0x10);\n        } while (*local_28 == ',');\n      }\n      else {\n        iVar4 = *(int *)(param_3 + 0xc);\n      }\n      piVar5 = *(int **)(param_3 + 0x14);\n      if (0 < iVar4) {\n        iVar6 = 0;\n        do {\n          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n            iVar3 = FUN_00060e20(param_2);\n            iVar4 = *(int *)(param_3 + 0xc);\n            if (iVar3 == 0) {\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }\n          }\n          iVar6 = iVar6 + 1;\n          piVar5 = piVar5 + 0xc;\n        } while (iVar6 < iVar4);\n      }\n      local_20 = *(char **)(local_20 + 0x10);\n    } while (*local_20 == ',');\n  }" ({ "{") (do_statement "do {\n      local_28 = *(char **)(local_20 + 0xc);\n      if (*local_28 == ',') {\n        do {\n          local_24 = *(char **)(local_28 + 0xc);\n          if (*local_24 == ',') {\n            do {\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            } while (*local_24 == ',');\n          }\n          else {\n            iVar4 = *(int *)(param_3 + 0xc);\n          }\n          if (0 < iVar4) {\n            piVar5 = *(int **)(param_3 + 0x14);\n            iVar6 = 0;\n            do {\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            } while (iVar6 < iVar4);\n          }\n          local_28 = *(char **)(local_28 + 0x10);\n        } while (*local_28 == ',');\n      }\n      else {\n        iVar4 = *(int *)(param_3 + 0xc);\n      }\n      piVar5 = *(int **)(param_3 + 0x14);\n      if (0 < iVar4) {\n        iVar6 = 0;\n        do {\n          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n            iVar3 = FUN_00060e20(param_2);\n            iVar4 = *(int *)(param_3 + 0xc);\n            if (iVar3 == 0) {\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }\n          }\n          iVar6 = iVar6 + 1;\n          piVar5 = piVar5 + 0xc;\n        } while (iVar6 < iVar4);\n      }\n      local_20 = *(char **)(local_20 + 0x10);\n    } while (*local_20 == ',');" (do "do") (compound_statement "{\n      local_28 = *(char **)(local_20 + 0xc);\n      if (*local_28 == ',') {\n        do {\n          local_24 = *(char **)(local_28 + 0xc);\n          if (*local_24 == ',') {\n            do {\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            } while (*local_24 == ',');\n          }\n          else {\n            iVar4 = *(int *)(param_3 + 0xc);\n          }\n          if (0 < iVar4) {\n            piVar5 = *(int **)(param_3 + 0x14);\n            iVar6 = 0;\n            do {\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            } while (iVar6 < iVar4);\n          }\n          local_28 = *(char **)(local_28 + 0x10);\n        } while (*local_28 == ',');\n      }\n      else {\n        iVar4 = *(int *)(param_3 + 0xc);\n      }\n      piVar5 = *(int **)(param_3 + 0x14);\n      if (0 < iVar4) {\n        iVar6 = 0;\n        do {\n          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n            iVar3 = FUN_00060e20(param_2);\n            iVar4 = *(int *)(param_3 + 0xc);\n            if (iVar3 == 0) {\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }\n          }\n          iVar6 = iVar6 + 1;\n          piVar5 = piVar5 + 0xc;\n        } while (iVar6 < iVar4);\n      }\n      local_20 = *(char **)(local_20 + 0x10);\n    }" ({ "{") (expression_statement "local_28 = *(char **)(local_20 + 0xc);" (assignment_expression "local_28 = *(char **)(local_20 + 0xc)" (identifier "local_28") (= "=") (pointer_expression "*(char **)(local_20 + 0xc)" (* "*") (cast_expression "(char **)(local_20 + 0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_20 + 0xc)" (( "(") (binary_expression "local_20 + 0xc" (identifier "local_20") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (*local_28 == ',') {\n        do {\n          local_24 = *(char **)(local_28 + 0xc);\n          if (*local_24 == ',') {\n            do {\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            } while (*local_24 == ',');\n          }\n          else {\n            iVar4 = *(int *)(param_3 + 0xc);\n          }\n          if (0 < iVar4) {\n            piVar5 = *(int **)(param_3 + 0x14);\n            iVar6 = 0;\n            do {\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            } while (iVar6 < iVar4);\n          }\n          local_28 = *(char **)(local_28 + 0x10);\n        } while (*local_28 == ',');\n      }\n      else {\n        iVar4 = *(int *)(param_3 + 0xc);\n      }" (if "if") (parenthesized_expression "(*local_28 == ',')" (( "(") (binary_expression "*local_28 == ','" (pointer_expression "*local_28" (* "*") (identifier "local_28")) (== "==") (char_literal "','" (' "'") (character ",") (' "'"))) () ")")) (compound_statement "{\n        do {\n          local_24 = *(char **)(local_28 + 0xc);\n          if (*local_24 == ',') {\n            do {\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            } while (*local_24 == ',');\n          }\n          else {\n            iVar4 = *(int *)(param_3 + 0xc);\n          }\n          if (0 < iVar4) {\n            piVar5 = *(int **)(param_3 + 0x14);\n            iVar6 = 0;\n            do {\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            } while (iVar6 < iVar4);\n          }\n          local_28 = *(char **)(local_28 + 0x10);\n        } while (*local_28 == ',');\n      }" ({ "{") (do_statement "do {\n          local_24 = *(char **)(local_28 + 0xc);\n          if (*local_24 == ',') {\n            do {\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            } while (*local_24 == ',');\n          }\n          else {\n            iVar4 = *(int *)(param_3 + 0xc);\n          }\n          if (0 < iVar4) {\n            piVar5 = *(int **)(param_3 + 0x14);\n            iVar6 = 0;\n            do {\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            } while (iVar6 < iVar4);\n          }\n          local_28 = *(char **)(local_28 + 0x10);\n        } while (*local_28 == ',');" (do "do") (compound_statement "{\n          local_24 = *(char **)(local_28 + 0xc);\n          if (*local_24 == ',') {\n            do {\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            } while (*local_24 == ',');\n          }\n          else {\n            iVar4 = *(int *)(param_3 + 0xc);\n          }\n          if (0 < iVar4) {\n            piVar5 = *(int **)(param_3 + 0x14);\n            iVar6 = 0;\n            do {\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            } while (iVar6 < iVar4);\n          }\n          local_28 = *(char **)(local_28 + 0x10);\n        }" ({ "{") (expression_statement "local_24 = *(char **)(local_28 + 0xc);" (assignment_expression "local_24 = *(char **)(local_28 + 0xc)" (identifier "local_24") (= "=") (pointer_expression "*(char **)(local_28 + 0xc)" (* "*") (cast_expression "(char **)(local_28 + 0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_28 + 0xc)" (( "(") (binary_expression "local_28 + 0xc" (identifier "local_28") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (*local_24 == ',') {\n            do {\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            } while (*local_24 == ',');\n          }\n          else {\n            iVar4 = *(int *)(param_3 + 0xc);\n          }" (if "if") (parenthesized_expression "(*local_24 == ',')" (( "(") (binary_expression "*local_24 == ','" (pointer_expression "*local_24" (* "*") (identifier "local_24")) (== "==") (char_literal "','" (' "'") (character ",") (' "'"))) () ")")) (compound_statement "{\n            do {\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            } while (*local_24 == ',');\n          }" ({ "{") (do_statement "do {\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            } while (*local_24 == ',');" (do "do") (compound_statement "{\n              local_2c = *(char **)(local_24 + 0xc);\n              if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }\n              piVar5 = *(int **)(param_3 + 0x14);\n              if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }\n              local_24 = *(char **)(local_24 + 0x10);\n            }" ({ "{") (expression_statement "local_2c = *(char **)(local_24 + 0xc);" (assignment_expression "local_2c = *(char **)(local_24 + 0xc)" (identifier "local_2c") (= "=") (pointer_expression "*(char **)(local_24 + 0xc)" (* "*") (cast_expression "(char **)(local_24 + 0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_24 + 0xc)" (( "(") (binary_expression "local_24 + 0xc" (identifier "local_24") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (*local_2c == ',') {\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }\n              else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }" (if "if") (parenthesized_expression "(*local_2c == ',')" (( "(") (binary_expression "*local_2c == ','" (pointer_expression "*local_2c" (* "*") (identifier "local_2c")) (== "==") (char_literal "','" (' "'") (character ",") (' "'"))) () ")")) (compound_statement "{\n                do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');\n              }" ({ "{") (do_statement "do {\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                } while (*local_2c == ',');" (do "do") (compound_statement "{\n                  local_30 = *(char **)(local_2c + 0xc);\n                  if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }\n                  piVar5 = *(int **)(param_3 + 0x14);\n                  if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }\n                  local_2c = *(char **)(local_2c + 0x10);\n                }" ({ "{") (expression_statement "local_30 = *(char **)(local_2c + 0xc);" (assignment_expression "local_30 = *(char **)(local_2c + 0xc)" (identifier "local_30") (= "=") (pointer_expression "*(char **)(local_2c + 0xc)" (* "*") (cast_expression "(char **)(local_2c + 0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_2c + 0xc)" (( "(") (binary_expression "local_2c + 0xc" (identifier "local_2c") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (*local_30 == ',') {\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }\n                  else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }" (if "if") (parenthesized_expression "(*local_30 == ',')" (( "(") (binary_expression "*local_30 == ','" (pointer_expression "*local_30" (* "*") (identifier "local_30")) (== "==") (char_literal "','" (' "'") (character ",") (' "'"))) () ")")) (compound_statement "{\n                    do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');\n                  }" ({ "{") (do_statement "do {\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    } while (*local_30 == ',');" (do "do") (compound_statement "{\n                      local_34 = *(char **)(local_30 + 0xc);\n                      if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }\n                      piVar5 = *(int **)(param_3 + 0x14);\n                      if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }\n                      local_30 = *(char **)(local_30 + 0x10);\n                    }" ({ "{") (expression_statement "local_34 = *(char **)(local_30 + 0xc);" (assignment_expression "local_34 = *(char **)(local_30 + 0xc)" (identifier "local_34") (= "=") (pointer_expression "*(char **)(local_30 + 0xc)" (* "*") (cast_expression "(char **)(local_30 + 0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_30 + 0xc)" (( "(") (binary_expression "local_30 + 0xc" (identifier "local_30") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (*local_34 == ',') {\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }\n                      else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }" (if "if") (parenthesized_expression "(*local_34 == ',')" (( "(") (binary_expression "*local_34 == ','" (pointer_expression "*local_34" (* "*") (identifier "local_34")) (== "==") (char_literal "','" (' "'") (character ",") (' "'"))) () ")")) (compound_statement "{\n                        do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');\n                      }" ({ "{") (do_statement "do {\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        } while (*local_34 == ',');" (do "do") (compound_statement "{\n                          local_38 = *(char **)(local_34 + 0xc);\n                          if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }\n                          piVar5 = *(int **)(param_3 + 0x14);\n                          if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }\n                          local_34 = *(char **)(local_34 + 0x10);\n                        }" ({ "{") (expression_statement "local_38 = *(char **)(local_34 + 0xc);" (assignment_expression "local_38 = *(char **)(local_34 + 0xc)" (identifier "local_38") (= "=") (pointer_expression "*(char **)(local_34 + 0xc)" (* "*") (cast_expression "(char **)(local_34 + 0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_34 + 0xc)" (( "(") (binary_expression "local_34 + 0xc" (identifier "local_34") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (*local_38 == ',') {\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }\n                          else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }" (if "if") (parenthesized_expression "(*local_38 == ',')" (( "(") (binary_expression "*local_38 == ','" (pointer_expression "*local_38" (* "*") (identifier "local_38")) (== "==") (char_literal "','" (' "'") (character ",") (' "'"))) () ")")) (compound_statement "{\n                            do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');\n                          }" ({ "{") (do_statement "do {\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            } while (*local_38 == ',');" (do "do") (compound_statement "{\n                              local_40 = *(char **)(local_38 + 0xc);\n                              if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }\n                              piVar5 = *(int **)(param_3 + 0x14);\n                              if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }\n                              local_38 = *(char **)(local_38 + 0x10);\n                            }" ({ "{") (expression_statement "local_40 = *(char **)(local_38 + 0xc);" (assignment_expression "local_40 = *(char **)(local_38 + 0xc)" (identifier "local_40") (= "=") (pointer_expression "*(char **)(local_38 + 0xc)" (* "*") (cast_expression "(char **)(local_38 + 0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_38 + 0xc)" (( "(") (binary_expression "local_38 + 0xc" (identifier "local_38") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (*local_40 == ',') {\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }\n                              else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }" (if "if") (parenthesized_expression "(*local_40 == ',')" (( "(") (binary_expression "*local_40 == ','" (pointer_expression "*local_40" (* "*") (identifier "local_40")) (== "==") (char_literal "','" (' "'") (character ",") (' "'"))) () ")")) (compound_statement "{\n                                do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');\n                              }" ({ "{") (do_statement "do {\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                } while (*local_40 == ',');" (do "do") (compound_statement "{\n                                  pcVar2 = *(char **)(local_40 + 0xc);\n                                  cVar1 = *pcVar2;\n                                  while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }\n                                  iVar4 = *(int *)(param_3 + 0xc);\n                                  piVar5 = *(int **)(param_3 + 0x14);\n                                  if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }\n                                  local_40 = *(char **)(local_40 + 0x10);\n                                }" ({ "{") (expression_statement "pcVar2 = *(char **)(local_40 + 0xc);" (assignment_expression "pcVar2 = *(char **)(local_40 + 0xc)" (identifier "pcVar2") (= "=") (pointer_expression "*(char **)(local_40 + 0xc)" (* "*") (cast_expression "(char **)(local_40 + 0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_40 + 0xc)" (( "(") (binary_expression "local_40 + 0xc" (identifier "local_40") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "cVar1 = *pcVar2;" (assignment_expression "cVar1 = *pcVar2" (identifier "cVar1") (= "=") (pointer_expression "*pcVar2" (* "*") (identifier "pcVar2"))) (; ";")) (while_statement "while (cVar1 == ',') {\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }" (while "while") (parenthesized_expression "(cVar1 == ',')" (( "(") (binary_expression "cVar1 == ','" (identifier "cVar1") (== "==") (char_literal "','" (' "'") (character ",") (' "'"))) () ")")) (compound_statement "{\n                                    FUN_00062f10();\n                                    pcVar2 = *(char **)(pcVar2 + 0x10);\n                                    cVar1 = *pcVar2;\n                                  }" ({ "{") (expression_statement "FUN_00062f10();" (call_expression "FUN_00062f10()" (identifier "FUN_00062f10") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar2 = *(char **)(pcVar2 + 0x10);" (assignment_expression "pcVar2 = *(char **)(pcVar2 + 0x10)" (identifier "pcVar2") (= "=") (pointer_expression "*(char **)(pcVar2 + 0x10)" (* "*") (cast_expression "(char **)(pcVar2 + 0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar2 + 0x10)" (( "(") (binary_expression "pcVar2 + 0x10" (identifier "pcVar2") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "cVar1 = *pcVar2;" (assignment_expression "cVar1 = *pcVar2" (identifier "cVar1") (= "=") (pointer_expression "*pcVar2" (* "*") (identifier "pcVar2"))) (; ";")) (} "}"))) (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(param_3 + 0xc)" (* "*") (cast_expression "(int *)(param_3 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xc)" (( "(") (binary_expression "param_3 + 0xc" (identifier "param_3") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "piVar5 = *(int **)(param_3 + 0x14);" (assignment_expression "piVar5 = *(int **)(param_3 + 0x14)" (identifier "piVar5") (= "=") (pointer_expression "*(int **)(param_3 + 0x14)" (* "*") (cast_expression "(int **)(param_3 + 0x14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 0x14)" (( "(") (binary_expression "param_3 + 0x14" (identifier "param_3") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (0 < iVar4) {\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }" (if "if") (parenthesized_expression "(0 < iVar4)" (( "(") (binary_expression "0 < iVar4" (number_literal "0") (< "<") (identifier "iVar4")) () ")")) (compound_statement "{\n                                    iVar6 = 0;\n                                    do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);\n                                  }" ({ "{") (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    } while (iVar6 < iVar4);" (do "do") (compound_statement "{\n                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }\n                                      iVar6 = iVar6 + 1;\n                                      piVar5 = piVar5 + 0xc;\n                                    }" ({ "{") (if_statement "if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         ) {\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }" (if "if") (parenthesized_expression "(((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)\n                                         )" (( "(") (binary_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)" (parenthesized_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0)" (( "(") (binary_expression "(*(byte *)((int)piVar5 + 10) & 4) == 0" (parenthesized_expression "(*(byte *)((int)piVar5 + 10) & 4)" (( "(") (binary_expression "*(byte *)((int)piVar5 + 10) & 4" (pointer_expression "*(byte *)((int)piVar5 + 10)" (* "*") (cast_expression "(byte *)((int)piVar5 + 10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar5 + 10)" (( "(") (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar5")) (+ "+") (number_literal "10")) () ")")))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*piVar5 != 0)" (( "(") (binary_expression "*piVar5 != 0" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                                        iVar3 = FUN_00060e20(param_2);\n                                        iVar4 = *(int *)(param_3 + 0xc);\n                                        if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }\n                                      }" ({ "{") (expression_statement "iVar3 = FUN_00060e20(param_2);" (assignment_expression "iVar3 = FUN_00060e20(param_2)" (identifier "iVar3") (= "=") (call_expression "FUN_00060e20(param_2)" (identifier "FUN_00060e20") (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (; ";")) (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(param_3 + 0xc)" (* "*") (cast_expression "(int *)(param_3 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xc)" (( "(") (binary_expression "param_3 + 0xc" (identifier "param_3") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (iVar3 == 0) {\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                                          *(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;\n                                        }" ({ "{") (expression_statement "*(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4;" (assignment_expression "*(ushort *)((int)piVar5 + 10) =\n                                               *(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" (* "*") (cast_expression "(ushort *)((int)piVar5 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar5 + 10)" (( "(") (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar5")) (+ "+") (number_literal "10")) () ")")))) (= "=") (binary_expression "*(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" (* "*") (cast_expression "(ushort *)((int)piVar5 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar5 + 10)" (( "(") (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar5")) (+ "+") (number_literal "10")) () ")")))) (| "|") (number_literal "4"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" (identifier "iVar6") (= "=") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar5 = piVar5 + 0xc;" (assignment_expression "piVar5 = piVar5 + 0xc" (identifier "piVar5") (= "=") (binary_expression "piVar5 + 0xc" (identifier "piVar5") (+ "+") (number_literal "0xc"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar6 < iVar4)" (( "(") (binary_expression "iVar6 < iVar4" (identifier "iVar6") (< "<") (identifier "iVar4")) () ")")) (; ";")) (} "}"))) (expression_statement "local_40 = *(char **)(local_40 + 0x10);" (assignment_expression "local_40 = *(char **)(local_40 + 0x10)" (identifier "local_40") (= "=") (pointer_expression "*(char **)(local_40 + 0x10)" (* "*") (cast_expression "(char **)(local_40 + 0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_40 + 0x10)" (( "(") (binary_expression "local_40 + 0x10" (identifier "local_40") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*local_40 == ',')" (( "(") (binary_expression "*local_40 == ','" (pointer_expression "*local_40" (* "*") (identifier "local_40")) (== "==") (char_literal "','" (' "'") (character ",") (' "'"))) () ")")) (; ";")) (} "}")) (else_clause "else {\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }" (else "else") (compound_statement "{\n                                iVar4 = *(int *)(param_3 + 0xc);\n                              }" ({ "{") (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(param_3 + 0xc)" (* "*") (cast_expression "(int *)(param_3 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xc)" (( "(") (binary_expression "param_3 + 0xc" (identifier "param_3") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (} "}")))) (expression_statement "piVar5 = *(int **)(param_3 + 0x14);" (assignment_expression "piVar5 = *(int **)(param_3 + 0x14)" (identifier "piVar5") (= "=") (pointer_expression "*(int **)(param_3 + 0x14)" (* "*") (cast_expression "(int **)(param_3 + 0x14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 0x14)" (( "(") (binary_expression "param_3 + 0x14" (identifier "param_3") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (0 < iVar4) {\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }" (if "if") (parenthesized_expression "(0 < iVar4)" (( "(") (binary_expression "0 < iVar4" (number_literal "0") (< "<") (identifier "iVar4")) () ")")) (compound_statement "{\n                                iVar6 = 0;\n                                do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);\n                              }" ({ "{") (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                } while (iVar6 < iVar4);" (do "do") (compound_statement "{\n                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }\n                                  iVar6 = iVar6 + 1;\n                                  piVar5 = piVar5 + 0xc;\n                                }" ({ "{") (if_statement "if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }" (if "if") (parenthesized_expression "(((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0))" (( "(") (binary_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)" (parenthesized_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0)" (( "(") (binary_expression "(*(byte *)((int)piVar5 + 10) & 4) == 0" (parenthesized_expression "(*(byte *)((int)piVar5 + 10) & 4)" (( "(") (binary_expression "*(byte *)((int)piVar5 + 10) & 4" (pointer_expression "*(byte *)((int)piVar5 + 10)" (* "*") (cast_expression "(byte *)((int)piVar5 + 10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar5 + 10)" (( "(") (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar5")) (+ "+") (number_literal "10")) () ")")))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*piVar5 != 0)" (( "(") (binary_expression "*piVar5 != 0" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                                    iVar3 = FUN_00060e20(param_2);\n                                    iVar4 = *(int *)(param_3 + 0xc);\n                                    if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }\n                                  }" ({ "{") (expression_statement "iVar3 = FUN_00060e20(param_2);" (assignment_expression "iVar3 = FUN_00060e20(param_2)" (identifier "iVar3") (= "=") (call_expression "FUN_00060e20(param_2)" (identifier "FUN_00060e20") (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (; ";")) (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(param_3 + 0xc)" (* "*") (cast_expression "(int *)(param_3 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xc)" (( "(") (binary_expression "param_3 + 0xc" (identifier "param_3") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (iVar3 == 0) {\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                                      *(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;\n                                    }" ({ "{") (expression_statement "*(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4;" (assignment_expression "*(ushort *)((int)piVar5 + 10) =\n                                           *(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" (* "*") (cast_expression "(ushort *)((int)piVar5 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar5 + 10)" (( "(") (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar5")) (+ "+") (number_literal "10")) () ")")))) (= "=") (binary_expression "*(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" (* "*") (cast_expression "(ushort *)((int)piVar5 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar5 + 10)" (( "(") (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar5")) (+ "+") (number_literal "10")) () ")")))) (| "|") (number_literal "4"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" (identifier "iVar6") (= "=") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar5 = piVar5 + 0xc;" (assignment_expression "piVar5 = piVar5 + 0xc" (identifier "piVar5") (= "=") (binary_expression "piVar5 + 0xc" (identifier "piVar5") (+ "+") (number_literal "0xc"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar6 < iVar4)" (( "(") (binary_expression "iVar6 < iVar4" (identifier "iVar6") (< "<") (identifier "iVar4")) () ")")) (; ";")) (} "}"))) (expression_statement "local_38 = *(char **)(local_38 + 0x10);" (assignment_expression "local_38 = *(char **)(local_38 + 0x10)" (identifier "local_38") (= "=") (pointer_expression "*(char **)(local_38 + 0x10)" (* "*") (cast_expression "(char **)(local_38 + 0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_38 + 0x10)" (( "(") (binary_expression "local_38 + 0x10" (identifier "local_38") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*local_38 == ',')" (( "(") (binary_expression "*local_38 == ','" (pointer_expression "*local_38" (* "*") (identifier "local_38")) (== "==") (char_literal "','" (' "'") (character ",") (' "'"))) () ")")) (; ";")) (} "}")) (else_clause "else {\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }" (else "else") (compound_statement "{\n                            iVar4 = *(int *)(param_3 + 0xc);\n                          }" ({ "{") (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(param_3 + 0xc)" (* "*") (cast_expression "(int *)(param_3 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xc)" (( "(") (binary_expression "param_3 + 0xc" (identifier "param_3") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (} "}")))) (expression_statement "piVar5 = *(int **)(param_3 + 0x14);" (assignment_expression "piVar5 = *(int **)(param_3 + 0x14)" (identifier "piVar5") (= "=") (pointer_expression "*(int **)(param_3 + 0x14)" (* "*") (cast_expression "(int **)(param_3 + 0x14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 0x14)" (( "(") (binary_expression "param_3 + 0x14" (identifier "param_3") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (0 < iVar4) {\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }" (if "if") (parenthesized_expression "(0 < iVar4)" (( "(") (binary_expression "0 < iVar4" (number_literal "0") (< "<") (identifier "iVar4")) () ")")) (compound_statement "{\n                            iVar6 = 0;\n                            do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);\n                          }" ({ "{") (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            } while (iVar6 < iVar4);" (do "do") (compound_statement "{\n                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }\n                              iVar6 = iVar6 + 1;\n                              piVar5 = piVar5 + 0xc;\n                            }" ({ "{") (if_statement "if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }" (if "if") (parenthesized_expression "(((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0))" (( "(") (binary_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)" (parenthesized_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0)" (( "(") (binary_expression "(*(byte *)((int)piVar5 + 10) & 4) == 0" (parenthesized_expression "(*(byte *)((int)piVar5 + 10) & 4)" (( "(") (binary_expression "*(byte *)((int)piVar5 + 10) & 4" (pointer_expression "*(byte *)((int)piVar5 + 10)" (* "*") (cast_expression "(byte *)((int)piVar5 + 10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar5 + 10)" (( "(") (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar5")) (+ "+") (number_literal "10")) () ")")))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*piVar5 != 0)" (( "(") (binary_expression "*piVar5 != 0" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                                iVar3 = FUN_00060e20(param_2);\n                                iVar4 = *(int *)(param_3 + 0xc);\n                                if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }\n                              }" ({ "{") (expression_statement "iVar3 = FUN_00060e20(param_2);" (assignment_expression "iVar3 = FUN_00060e20(param_2)" (identifier "iVar3") (= "=") (call_expression "FUN_00060e20(param_2)" (identifier "FUN_00060e20") (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (; ";")) (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(param_3 + 0xc)" (* "*") (cast_expression "(int *)(param_3 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xc)" (( "(") (binary_expression "param_3 + 0xc" (identifier "param_3") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (iVar3 == 0) {\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                                }" ({ "{") (expression_statement "*(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;" (assignment_expression "*(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" (* "*") (cast_expression "(ushort *)((int)piVar5 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar5 + 10)" (( "(") (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar5")) (+ "+") (number_literal "10")) () ")")))) (= "=") (binary_expression "*(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" (* "*") (cast_expression "(ushort *)((int)piVar5 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar5 + 10)" (( "(") (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar5")) (+ "+") (number_literal "10")) () ")")))) (| "|") (number_literal "4"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" (identifier "iVar6") (= "=") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar5 = piVar5 + 0xc;" (assignment_expression "piVar5 = piVar5 + 0xc" (identifier "piVar5") (= "=") (binary_expression "piVar5 + 0xc" (identifier "piVar5") (+ "+") (number_literal "0xc"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar6 < iVar4)" (( "(") (binary_expression "iVar6 < iVar4" (identifier "iVar6") (< "<") (identifier "iVar4")) () ")")) (; ";")) (} "}"))) (expression_statement "local_34 = *(char **)(local_34 + 0x10);" (assignment_expression "local_34 = *(char **)(local_34 + 0x10)" (identifier "local_34") (= "=") (pointer_expression "*(char **)(local_34 + 0x10)" (* "*") (cast_expression "(char **)(local_34 + 0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_34 + 0x10)" (( "(") (binary_expression "local_34 + 0x10" (identifier "local_34") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*local_34 == ',')" (( "(") (binary_expression "*local_34 == ','" (pointer_expression "*local_34" (* "*") (identifier "local_34")) (== "==") (char_literal "','" (' "'") (character ",") (' "'"))) () ")")) (; ";")) (} "}")) (else_clause "else {\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }" (else "else") (compound_statement "{\n                        iVar4 = *(int *)(param_3 + 0xc);\n                      }" ({ "{") (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(param_3 + 0xc)" (* "*") (cast_expression "(int *)(param_3 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xc)" (( "(") (binary_expression "param_3 + 0xc" (identifier "param_3") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (} "}")))) (expression_statement "piVar5 = *(int **)(param_3 + 0x14);" (assignment_expression "piVar5 = *(int **)(param_3 + 0x14)" (identifier "piVar5") (= "=") (pointer_expression "*(int **)(param_3 + 0x14)" (* "*") (cast_expression "(int **)(param_3 + 0x14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 0x14)" (( "(") (binary_expression "param_3 + 0x14" (identifier "param_3") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (0 < iVar4) {\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }" (if "if") (parenthesized_expression "(0 < iVar4)" (( "(") (binary_expression "0 < iVar4" (number_literal "0") (< "<") (identifier "iVar4")) () ")")) (compound_statement "{\n                        iVar6 = 0;\n                        do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);\n                      }" ({ "{") (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        } while (iVar6 < iVar4);" (do "do") (compound_statement "{\n                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }\n                          iVar6 = iVar6 + 1;\n                          piVar5 = piVar5 + 0xc;\n                        }" ({ "{") (if_statement "if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }" (if "if") (parenthesized_expression "(((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0))" (( "(") (binary_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)" (parenthesized_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0)" (( "(") (binary_expression "(*(byte *)((int)piVar5 + 10) & 4) == 0" (parenthesized_expression "(*(byte *)((int)piVar5 + 10) & 4)" (( "(") (binary_expression "*(byte *)((int)piVar5 + 10) & 4" (pointer_expression "*(byte *)((int)piVar5 + 10)" (* "*") (cast_expression "(byte *)((int)piVar5 + 10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar5 + 10)" (( "(") (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar5")) (+ "+") (number_literal "10")) () ")")))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*piVar5 != 0)" (( "(") (binary_expression "*piVar5 != 0" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                            iVar3 = FUN_00060e20(param_2);\n                            iVar4 = *(int *)(param_3 + 0xc);\n                            if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }\n                          }" ({ "{") (expression_statement "iVar3 = FUN_00060e20(param_2);" (assignment_expression "iVar3 = FUN_00060e20(param_2)" (identifier "iVar3") (= "=") (call_expression "FUN_00060e20(param_2)" (identifier "FUN_00060e20") (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (; ";")) (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(param_3 + 0xc)" (* "*") (cast_expression "(int *)(param_3 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xc)" (( "(") (binary_expression "param_3 + 0xc" (identifier "param_3") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (iVar3 == 0) {\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                            }" ({ "{") (expression_statement "*(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;" (assignment_expression "*(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" (* "*") (cast_expression "(ushort *)((int)piVar5 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar5 + 10)" (( "(") (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar5")) (+ "+") (number_literal "10")) () ")")))) (= "=") (binary_expression "*(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" (* "*") (cast_expression "(ushort *)((int)piVar5 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar5 + 10)" (( "(") (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar5")) (+ "+") (number_literal "10")) () ")")))) (| "|") (number_literal "4"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" (identifier "iVar6") (= "=") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar5 = piVar5 + 0xc;" (assignment_expression "piVar5 = piVar5 + 0xc" (identifier "piVar5") (= "=") (binary_expression "piVar5 + 0xc" (identifier "piVar5") (+ "+") (number_literal "0xc"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar6 < iVar4)" (( "(") (binary_expression "iVar6 < iVar4" (identifier "iVar6") (< "<") (identifier "iVar4")) () ")")) (; ";")) (} "}"))) (expression_statement "local_30 = *(char **)(local_30 + 0x10);" (assignment_expression "local_30 = *(char **)(local_30 + 0x10)" (identifier "local_30") (= "=") (pointer_expression "*(char **)(local_30 + 0x10)" (* "*") (cast_expression "(char **)(local_30 + 0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_30 + 0x10)" (( "(") (binary_expression "local_30 + 0x10" (identifier "local_30") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*local_30 == ',')" (( "(") (binary_expression "*local_30 == ','" (pointer_expression "*local_30" (* "*") (identifier "local_30")) (== "==") (char_literal "','" (' "'") (character ",") (' "'"))) () ")")) (; ";")) (} "}")) (else_clause "else {\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }" (else "else") (compound_statement "{\n                    iVar4 = *(int *)(param_3 + 0xc);\n                  }" ({ "{") (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(param_3 + 0xc)" (* "*") (cast_expression "(int *)(param_3 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xc)" (( "(") (binary_expression "param_3 + 0xc" (identifier "param_3") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (} "}")))) (expression_statement "piVar5 = *(int **)(param_3 + 0x14);" (assignment_expression "piVar5 = *(int **)(param_3 + 0x14)" (identifier "piVar5") (= "=") (pointer_expression "*(int **)(param_3 + 0x14)" (* "*") (cast_expression "(int **)(param_3 + 0x14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 0x14)" (( "(") (binary_expression "param_3 + 0x14" (identifier "param_3") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (0 < iVar4) {\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }" (if "if") (parenthesized_expression "(0 < iVar4)" (( "(") (binary_expression "0 < iVar4" (number_literal "0") (< "<") (identifier "iVar4")) () ")")) (compound_statement "{\n                    iVar6 = 0;\n                    do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);\n                  }" ({ "{") (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    } while (iVar6 < iVar4);" (do "do") (compound_statement "{\n                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }\n                      iVar6 = iVar6 + 1;\n                      piVar5 = piVar5 + 0xc;\n                    }" ({ "{") (if_statement "if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }" (if "if") (parenthesized_expression "(((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0))" (( "(") (binary_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)" (parenthesized_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0)" (( "(") (binary_expression "(*(byte *)((int)piVar5 + 10) & 4) == 0" (parenthesized_expression "(*(byte *)((int)piVar5 + 10) & 4)" (( "(") (binary_expression "*(byte *)((int)piVar5 + 10) & 4" (pointer_expression "*(byte *)((int)piVar5 + 10)" (* "*") (cast_expression "(byte *)((int)piVar5 + 10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar5 + 10)" (( "(") (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar5")) (+ "+") (number_literal "10")) () ")")))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*piVar5 != 0)" (( "(") (binary_expression "*piVar5 != 0" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                        iVar3 = FUN_00060e20(param_2);\n                        iVar4 = *(int *)(param_3 + 0xc);\n                        if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }\n                      }" ({ "{") (expression_statement "iVar3 = FUN_00060e20(param_2);" (assignment_expression "iVar3 = FUN_00060e20(param_2)" (identifier "iVar3") (= "=") (call_expression "FUN_00060e20(param_2)" (identifier "FUN_00060e20") (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (; ";")) (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(param_3 + 0xc)" (* "*") (cast_expression "(int *)(param_3 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xc)" (( "(") (binary_expression "param_3 + 0xc" (identifier "param_3") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (iVar3 == 0) {\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                        }" ({ "{") (expression_statement "*(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;" (assignment_expression "*(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" (* "*") (cast_expression "(ushort *)((int)piVar5 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar5 + 10)" (( "(") (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar5")) (+ "+") (number_literal "10")) () ")")))) (= "=") (binary_expression "*(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" (* "*") (cast_expression "(ushort *)((int)piVar5 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar5 + 10)" (( "(") (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar5")) (+ "+") (number_literal "10")) () ")")))) (| "|") (number_literal "4"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" (identifier "iVar6") (= "=") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar5 = piVar5 + 0xc;" (assignment_expression "piVar5 = piVar5 + 0xc" (identifier "piVar5") (= "=") (binary_expression "piVar5 + 0xc" (identifier "piVar5") (+ "+") (number_literal "0xc"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar6 < iVar4)" (( "(") (binary_expression "iVar6 < iVar4" (identifier "iVar6") (< "<") (identifier "iVar4")) () ")")) (; ";")) (} "}"))) (expression_statement "local_2c = *(char **)(local_2c + 0x10);" (assignment_expression "local_2c = *(char **)(local_2c + 0x10)" (identifier "local_2c") (= "=") (pointer_expression "*(char **)(local_2c + 0x10)" (* "*") (cast_expression "(char **)(local_2c + 0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_2c + 0x10)" (( "(") (binary_expression "local_2c + 0x10" (identifier "local_2c") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*local_2c == ',')" (( "(") (binary_expression "*local_2c == ','" (pointer_expression "*local_2c" (* "*") (identifier "local_2c")) (== "==") (char_literal "','" (' "'") (character ",") (' "'"))) () ")")) (; ";")) (} "}")) (else_clause "else {\n                iVar4 = *(int *)(param_3 + 0xc);\n              }" (else "else") (compound_statement "{\n                iVar4 = *(int *)(param_3 + 0xc);\n              }" ({ "{") (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(param_3 + 0xc)" (* "*") (cast_expression "(int *)(param_3 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xc)" (( "(") (binary_expression "param_3 + 0xc" (identifier "param_3") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (} "}")))) (expression_statement "piVar5 = *(int **)(param_3 + 0x14);" (assignment_expression "piVar5 = *(int **)(param_3 + 0x14)" (identifier "piVar5") (= "=") (pointer_expression "*(int **)(param_3 + 0x14)" (* "*") (cast_expression "(int **)(param_3 + 0x14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 0x14)" (( "(") (binary_expression "param_3 + 0x14" (identifier "param_3") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (0 < iVar4) {\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }" (if "if") (parenthesized_expression "(0 < iVar4)" (( "(") (binary_expression "0 < iVar4" (number_literal "0") (< "<") (identifier "iVar4")) () ")")) (compound_statement "{\n                iVar6 = 0;\n                do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);\n              }" ({ "{") (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                } while (iVar6 < iVar4);" (do "do") (compound_statement "{\n                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }\n                  iVar6 = iVar6 + 1;\n                  piVar5 = piVar5 + 0xc;\n                }" ({ "{") (if_statement "if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }" (if "if") (parenthesized_expression "(((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0))" (( "(") (binary_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)" (parenthesized_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0)" (( "(") (binary_expression "(*(byte *)((int)piVar5 + 10) & 4) == 0" (parenthesized_expression "(*(byte *)((int)piVar5 + 10) & 4)" (( "(") (binary_expression "*(byte *)((int)piVar5 + 10) & 4" (pointer_expression "*(byte *)((int)piVar5 + 10)" (* "*") (cast_expression "(byte *)((int)piVar5 + 10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar5 + 10)" (( "(") (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar5")) (+ "+") (number_literal "10")) () ")")))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*piVar5 != 0)" (( "(") (binary_expression "*piVar5 != 0" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                    iVar3 = FUN_00060e20(param_2);\n                    iVar4 = *(int *)(param_3 + 0xc);\n                    if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }\n                  }" ({ "{") (expression_statement "iVar3 = FUN_00060e20(param_2);" (assignment_expression "iVar3 = FUN_00060e20(param_2)" (identifier "iVar3") (= "=") (call_expression "FUN_00060e20(param_2)" (identifier "FUN_00060e20") (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (; ";")) (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(param_3 + 0xc)" (* "*") (cast_expression "(int *)(param_3 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xc)" (( "(") (binary_expression "param_3 + 0xc" (identifier "param_3") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (iVar3 == 0) {\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                    }" ({ "{") (expression_statement "*(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;" (assignment_expression "*(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" (* "*") (cast_expression "(ushort *)((int)piVar5 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar5 + 10)" (( "(") (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar5")) (+ "+") (number_literal "10")) () ")")))) (= "=") (binary_expression "*(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" (* "*") (cast_expression "(ushort *)((int)piVar5 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar5 + 10)" (( "(") (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar5")) (+ "+") (number_literal "10")) () ")")))) (| "|") (number_literal "4"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" (identifier "iVar6") (= "=") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar5 = piVar5 + 0xc;" (assignment_expression "piVar5 = piVar5 + 0xc" (identifier "piVar5") (= "=") (binary_expression "piVar5 + 0xc" (identifier "piVar5") (+ "+") (number_literal "0xc"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar6 < iVar4)" (( "(") (binary_expression "iVar6 < iVar4" (identifier "iVar6") (< "<") (identifier "iVar4")) () ")")) (; ";")) (} "}"))) (expression_statement "local_24 = *(char **)(local_24 + 0x10);" (assignment_expression "local_24 = *(char **)(local_24 + 0x10)" (identifier "local_24") (= "=") (pointer_expression "*(char **)(local_24 + 0x10)" (* "*") (cast_expression "(char **)(local_24 + 0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_24 + 0x10)" (( "(") (binary_expression "local_24 + 0x10" (identifier "local_24") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*local_24 == ',')" (( "(") (binary_expression "*local_24 == ','" (pointer_expression "*local_24" (* "*") (identifier "local_24")) (== "==") (char_literal "','" (' "'") (character ",") (' "'"))) () ")")) (; ";")) (} "}")) (else_clause "else {\n            iVar4 = *(int *)(param_3 + 0xc);\n          }" (else "else") (compound_statement "{\n            iVar4 = *(int *)(param_3 + 0xc);\n          }" ({ "{") (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(param_3 + 0xc)" (* "*") (cast_expression "(int *)(param_3 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xc)" (( "(") (binary_expression "param_3 + 0xc" (identifier "param_3") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (} "}")))) (if_statement "if (0 < iVar4) {\n            piVar5 = *(int **)(param_3 + 0x14);\n            iVar6 = 0;\n            do {\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            } while (iVar6 < iVar4);\n          }" (if "if") (parenthesized_expression "(0 < iVar4)" (( "(") (binary_expression "0 < iVar4" (number_literal "0") (< "<") (identifier "iVar4")) () ")")) (compound_statement "{\n            piVar5 = *(int **)(param_3 + 0x14);\n            iVar6 = 0;\n            do {\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            } while (iVar6 < iVar4);\n          }" ({ "{") (expression_statement "piVar5 = *(int **)(param_3 + 0x14);" (assignment_expression "piVar5 = *(int **)(param_3 + 0x14)" (identifier "piVar5") (= "=") (pointer_expression "*(int **)(param_3 + 0x14)" (* "*") (cast_expression "(int **)(param_3 + 0x14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 0x14)" (( "(") (binary_expression "param_3 + 0x14" (identifier "param_3") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            } while (iVar6 < iVar4);" (do "do") (compound_statement "{\n              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }\n              iVar6 = iVar6 + 1;\n              piVar5 = piVar5 + 0xc;\n            }" ({ "{") (if_statement "if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }" (if "if") (parenthesized_expression "(((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0))" (( "(") (binary_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)" (parenthesized_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0)" (( "(") (binary_expression "(*(byte *)((int)piVar5 + 10) & 4) == 0" (parenthesized_expression "(*(byte *)((int)piVar5 + 10) & 4)" (( "(") (binary_expression "*(byte *)((int)piVar5 + 10) & 4" (pointer_expression "*(byte *)((int)piVar5 + 10)" (* "*") (cast_expression "(byte *)((int)piVar5 + 10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar5 + 10)" (( "(") (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar5")) (+ "+") (number_literal "10")) () ")")))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*piVar5 != 0)" (( "(") (binary_expression "*piVar5 != 0" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                iVar3 = FUN_00060e20(param_2);\n                iVar4 = *(int *)(param_3 + 0xc);\n                if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }\n              }" ({ "{") (expression_statement "iVar3 = FUN_00060e20(param_2);" (assignment_expression "iVar3 = FUN_00060e20(param_2)" (identifier "iVar3") (= "=") (call_expression "FUN_00060e20(param_2)" (identifier "FUN_00060e20") (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (; ";")) (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(param_3 + 0xc)" (* "*") (cast_expression "(int *)(param_3 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xc)" (( "(") (binary_expression "param_3 + 0xc" (identifier "param_3") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (iVar3 == 0) {\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n                }" ({ "{") (expression_statement "*(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;" (assignment_expression "*(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" (* "*") (cast_expression "(ushort *)((int)piVar5 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar5 + 10)" (( "(") (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar5")) (+ "+") (number_literal "10")) () ")")))) (= "=") (binary_expression "*(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" (* "*") (cast_expression "(ushort *)((int)piVar5 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar5 + 10)" (( "(") (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar5")) (+ "+") (number_literal "10")) () ")")))) (| "|") (number_literal "4"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" (identifier "iVar6") (= "=") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar5 = piVar5 + 0xc;" (assignment_expression "piVar5 = piVar5 + 0xc" (identifier "piVar5") (= "=") (binary_expression "piVar5 + 0xc" (identifier "piVar5") (+ "+") (number_literal "0xc"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar6 < iVar4)" (( "(") (binary_expression "iVar6 < iVar4" (identifier "iVar6") (< "<") (identifier "iVar4")) () ")")) (; ";")) (} "}"))) (expression_statement "local_28 = *(char **)(local_28 + 0x10);" (assignment_expression "local_28 = *(char **)(local_28 + 0x10)" (identifier "local_28") (= "=") (pointer_expression "*(char **)(local_28 + 0x10)" (* "*") (cast_expression "(char **)(local_28 + 0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_28 + 0x10)" (( "(") (binary_expression "local_28 + 0x10" (identifier "local_28") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*local_28 == ',')" (( "(") (binary_expression "*local_28 == ','" (pointer_expression "*local_28" (* "*") (identifier "local_28")) (== "==") (char_literal "','" (' "'") (character ",") (' "'"))) () ")")) (; ";")) (} "}")) (else_clause "else {\n        iVar4 = *(int *)(param_3 + 0xc);\n      }" (else "else") (compound_statement "{\n        iVar4 = *(int *)(param_3 + 0xc);\n      }" ({ "{") (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(param_3 + 0xc)" (* "*") (cast_expression "(int *)(param_3 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xc)" (( "(") (binary_expression "param_3 + 0xc" (identifier "param_3") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (} "}")))) (expression_statement "piVar5 = *(int **)(param_3 + 0x14);" (assignment_expression "piVar5 = *(int **)(param_3 + 0x14)" (identifier "piVar5") (= "=") (pointer_expression "*(int **)(param_3 + 0x14)" (* "*") (cast_expression "(int **)(param_3 + 0x14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 0x14)" (( "(") (binary_expression "param_3 + 0x14" (identifier "param_3") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (0 < iVar4) {\n        iVar6 = 0;\n        do {\n          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n            iVar3 = FUN_00060e20(param_2);\n            iVar4 = *(int *)(param_3 + 0xc);\n            if (iVar3 == 0) {\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }\n          }\n          iVar6 = iVar6 + 1;\n          piVar5 = piVar5 + 0xc;\n        } while (iVar6 < iVar4);\n      }" (if "if") (parenthesized_expression "(0 < iVar4)" (( "(") (binary_expression "0 < iVar4" (number_literal "0") (< "<") (identifier "iVar4")) () ")")) (compound_statement "{\n        iVar6 = 0;\n        do {\n          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n            iVar3 = FUN_00060e20(param_2);\n            iVar4 = *(int *)(param_3 + 0xc);\n            if (iVar3 == 0) {\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }\n          }\n          iVar6 = iVar6 + 1;\n          piVar5 = piVar5 + 0xc;\n        } while (iVar6 < iVar4);\n      }" ({ "{") (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n            iVar3 = FUN_00060e20(param_2);\n            iVar4 = *(int *)(param_3 + 0xc);\n            if (iVar3 == 0) {\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }\n          }\n          iVar6 = iVar6 + 1;\n          piVar5 = piVar5 + 0xc;\n        } while (iVar6 < iVar4);" (do "do") (compound_statement "{\n          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n            iVar3 = FUN_00060e20(param_2);\n            iVar4 = *(int *)(param_3 + 0xc);\n            if (iVar3 == 0) {\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }\n          }\n          iVar6 = iVar6 + 1;\n          piVar5 = piVar5 + 0xc;\n        }" ({ "{") (if_statement "if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n            iVar3 = FUN_00060e20(param_2);\n            iVar4 = *(int *)(param_3 + 0xc);\n            if (iVar3 == 0) {\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }\n          }" (if "if") (parenthesized_expression "(((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0))" (( "(") (binary_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)" (parenthesized_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0)" (( "(") (binary_expression "(*(byte *)((int)piVar5 + 10) & 4) == 0" (parenthesized_expression "(*(byte *)((int)piVar5 + 10) & 4)" (( "(") (binary_expression "*(byte *)((int)piVar5 + 10) & 4" (pointer_expression "*(byte *)((int)piVar5 + 10)" (* "*") (cast_expression "(byte *)((int)piVar5 + 10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar5 + 10)" (( "(") (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar5")) (+ "+") (number_literal "10")) () ")")))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*piVar5 != 0)" (( "(") (binary_expression "*piVar5 != 0" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n            iVar3 = FUN_00060e20(param_2);\n            iVar4 = *(int *)(param_3 + 0xc);\n            if (iVar3 == 0) {\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }\n          }" ({ "{") (expression_statement "iVar3 = FUN_00060e20(param_2);" (assignment_expression "iVar3 = FUN_00060e20(param_2)" (identifier "iVar3") (= "=") (call_expression "FUN_00060e20(param_2)" (identifier "FUN_00060e20") (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (; ";")) (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(param_3 + 0xc)" (* "*") (cast_expression "(int *)(param_3 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xc)" (( "(") (binary_expression "param_3 + 0xc" (identifier "param_3") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (iVar3 == 0) {\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n            }" ({ "{") (expression_statement "*(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;" (assignment_expression "*(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" (* "*") (cast_expression "(ushort *)((int)piVar5 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar5 + 10)" (( "(") (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar5")) (+ "+") (number_literal "10")) () ")")))) (= "=") (binary_expression "*(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" (* "*") (cast_expression "(ushort *)((int)piVar5 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar5 + 10)" (( "(") (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar5")) (+ "+") (number_literal "10")) () ")")))) (| "|") (number_literal "4"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" (identifier "iVar6") (= "=") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar5 = piVar5 + 0xc;" (assignment_expression "piVar5 = piVar5 + 0xc" (identifier "piVar5") (= "=") (binary_expression "piVar5 + 0xc" (identifier "piVar5") (+ "+") (number_literal "0xc"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar6 < iVar4)" (( "(") (binary_expression "iVar6 < iVar4" (identifier "iVar6") (< "<") (identifier "iVar4")) () ")")) (; ";")) (} "}"))) (expression_statement "local_20 = *(char **)(local_20 + 0x10);" (assignment_expression "local_20 = *(char **)(local_20 + 0x10)" (identifier "local_20") (= "=") (pointer_expression "*(char **)(local_20 + 0x10)" (* "*") (cast_expression "(char **)(local_20 + 0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_20 + 0x10)" (( "(") (binary_expression "local_20 + 0x10" (identifier "local_20") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*local_20 == ',')" (( "(") (binary_expression "*local_20 == ','" (pointer_expression "*local_20" (* "*") (identifier "local_20")) (== "==") (char_literal "','" (' "'") (character ",") (' "'"))) () ")")) (; ";")) (} "}")) (else_clause "else {\n    iVar4 = *(int *)(param_3 + 0xc);\n  }" (else "else") (compound_statement "{\n    iVar4 = *(int *)(param_3 + 0xc);\n  }" ({ "{") (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(param_3 + 0xc)" (* "*") (cast_expression "(int *)(param_3 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xc)" (( "(") (binary_expression "param_3 + 0xc" (identifier "param_3") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (} "}")))) (expression_statement "piVar5 = *(int **)(param_3 + 0x14);" (assignment_expression "piVar5 = *(int **)(param_3 + 0x14)" (identifier "piVar5") (= "=") (pointer_expression "*(int **)(param_3 + 0x14)" (* "*") (cast_expression "(int **)(param_3 + 0x14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 0x14)" (( "(") (binary_expression "param_3 + 0x14" (identifier "param_3") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (0 < iVar4) {\n    iVar6 = 0;\n    do {\n      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n        iVar4 = FUN_00060e20(param_2);\n        if (iVar4 == 0) {\n          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n        else {\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n      }\n      iVar6 = iVar6 + 1;\n      piVar5 = piVar5 + 0xc;\n    } while (iVar6 < iVar4);\n  }" (if "if") (parenthesized_expression "(0 < iVar4)" (( "(") (binary_expression "0 < iVar4" (number_literal "0") (< "<") (identifier "iVar4")) () ")")) (compound_statement "{\n    iVar6 = 0;\n    do {\n      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n        iVar4 = FUN_00060e20(param_2);\n        if (iVar4 == 0) {\n          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n        else {\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n      }\n      iVar6 = iVar6 + 1;\n      piVar5 = piVar5 + 0xc;\n    } while (iVar6 < iVar4);\n  }" ({ "{") (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n        iVar4 = FUN_00060e20(param_2);\n        if (iVar4 == 0) {\n          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n        else {\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n      }\n      iVar6 = iVar6 + 1;\n      piVar5 = piVar5 + 0xc;\n    } while (iVar6 < iVar4);" (do "do") (compound_statement "{\n      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n        iVar4 = FUN_00060e20(param_2);\n        if (iVar4 == 0) {\n          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n        else {\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n      }\n      iVar6 = iVar6 + 1;\n      piVar5 = piVar5 + 0xc;\n    }" ({ "{") (if_statement "if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {\n        iVar4 = FUN_00060e20(param_2);\n        if (iVar4 == 0) {\n          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n        else {\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n      }" (if "if") (parenthesized_expression "(((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0))" (( "(") (binary_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)" (parenthesized_expression "((*(byte *)((int)piVar5 + 10) & 4) == 0)" (( "(") (binary_expression "(*(byte *)((int)piVar5 + 10) & 4) == 0" (parenthesized_expression "(*(byte *)((int)piVar5 + 10) & 4)" (( "(") (binary_expression "*(byte *)((int)piVar5 + 10) & 4" (pointer_expression "*(byte *)((int)piVar5 + 10)" (* "*") (cast_expression "(byte *)((int)piVar5 + 10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar5 + 10)" (( "(") (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar5")) (+ "+") (number_literal "10")) () ")")))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*piVar5 != 0)" (( "(") (binary_expression "*piVar5 != 0" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        iVar4 = FUN_00060e20(param_2);\n        if (iVar4 == 0) {\n          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n        else {\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n      }" ({ "{") (expression_statement "iVar4 = FUN_00060e20(param_2);" (assignment_expression "iVar4 = FUN_00060e20(param_2)" (identifier "iVar4") (= "=") (call_expression "FUN_00060e20(param_2)" (identifier "FUN_00060e20") (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n          iVar4 = *(int *)(param_3 + 0xc);\n        }\n        else {\n          iVar4 = *(int *)(param_3 + 0xc);\n        }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;\n          iVar4 = *(int *)(param_3 + 0xc);\n        }" ({ "{") (expression_statement "*(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;" (assignment_expression "*(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" (* "*") (cast_expression "(ushort *)((int)piVar5 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar5 + 10)" (( "(") (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar5")) (+ "+") (number_literal "10")) () ")")))) (= "=") (binary_expression "*(ushort *)((int)piVar5 + 10) | 4" (pointer_expression "*(ushort *)((int)piVar5 + 10)" (* "*") (cast_expression "(ushort *)((int)piVar5 + 10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar5 + 10)" (( "(") (binary_expression "(int)piVar5 + 10" (cast_expression "(int)piVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar5")) (+ "+") (number_literal "10")) () ")")))) (| "|") (number_literal "4"))) (; ";")) (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(param_3 + 0xc)" (* "*") (cast_expression "(int *)(param_3 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xc)" (( "(") (binary_expression "param_3 + 0xc" (identifier "param_3") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n          iVar4 = *(int *)(param_3 + 0xc);\n        }" (else "else") (compound_statement "{\n          iVar4 = *(int *)(param_3 + 0xc);\n        }" ({ "{") (expression_statement "iVar4 = *(int *)(param_3 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_3 + 0xc)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(param_3 + 0xc)" (* "*") (cast_expression "(int *)(param_3 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xc)" (( "(") (binary_expression "param_3 + 0xc" (identifier "param_3") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (} "}")))) (} "}"))) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" (identifier "iVar6") (= "=") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar5 = piVar5 + 0xc;" (assignment_expression "piVar5 = piVar5 + 0xc" (identifier "piVar5") (= "=") (binary_expression "piVar5 + 0xc" (identifier "piVar5") (+ "+") (number_literal "0xc"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar6 < iVar4)" (( "(") (binary_expression "iVar6 < iVar4" (identifier "iVar6") (< "<") (identifier "iVar4")) () ")")) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

void __regparm3 function_1(type_1 *pTruth,int iTabCur,type_2 *pWC)

{
  type_3 var_1;
  type_1 *pB;
  int var_4;
  int var_2;
  type_4 *var_6;
  int var_5;
  type_1 *local_40;
  type_1 *local_38;
  type_1 *local_34;
  type_1 *local_30;
  type_1 *local_2c;
  type_1 *local_28;
  type_1 *local_24;
  type_1 *local_20;
  
  local_20 = pTruth;
  if (pTruth->op == ',') {
    do {
      local_28 = local_20->pLeft;
      if (local_28->op == ',') {
        do {
          local_24 = local_28->pLeft;
          if (local_24->op == ',') {
            do {
              local_2c = local_24->pLeft;
              if (local_2c->op == ',') {
                do {
                  local_30 = local_2c->pLeft;
                  if (local_30->op == ',') {
                    do {
                      local_34 = local_30->pLeft;
                      if (local_34->op == ',') {
                        do {
                          local_38 = local_34->pLeft;
                          if (local_38->op == ',') {
                            do {
                              local_40 = local_38->pLeft;
                              if (local_40->op == ',') {
                                do {
                                  pB = local_40->pLeft;
                                  var_1 = pB->op;
                                  while (var_1 == ',') {
                                    function_1(pB->pLeft,iTabCur,pWC);
                                    pB = pB->pRight;
                                    var_1 = pB->op;
                                  }
                                  var_2 = pWC->nTerm;
                                  var_6 = pWC->a;
                                  if (0 < var_2) {
                                    var_5 = 0;
                                    do {
                                      if (((var_6->wtFlags & 4) == 0) &&
                                         (var_6->pExpr != (type_1 *)0x0)) {
                                        var_4 = var_3((type_5 *)0x0,var_6->pExpr,pB,
                                                                   iTabCur);
                                        var_2 = pWC->nTerm;
                                        if (var_4 == 0) {
                                          var_6->wtFlags = var_6->wtFlags | 4;
                                        }
                                      }
                                      var_5 = var_5 + 1;
                                      var_6 = var_6 + 1;
                                    } while (var_5 < var_2);
                                  }
                                  local_40 = local_40->pRight;
                                } while (local_40->op == ',');
                              }
                              else {
                                var_2 = pWC->nTerm;
                              }
                              var_6 = pWC->a;
                              if (0 < var_2) {
                                var_5 = 0;
                                do {
                                  if (((var_6->wtFlags & 4) == 0) && (var_6->pExpr != (type_1 *)0x0)
                                     ) {
                                    var_4 = var_3((type_5 *)0x0,var_6->pExpr,local_40,
                                                               iTabCur);
                                    var_2 = pWC->nTerm;
                                    if (var_4 == 0) {
                                      var_6->wtFlags = var_6->wtFlags | 4;
                                    }
                                  }
                                  var_5 = var_5 + 1;
                                  var_6 = var_6 + 1;
                                } while (var_5 < var_2);
                              }
                              local_38 = local_38->pRight;
                            } while (local_38->op == ',');
                          }
                          else {
                            var_2 = pWC->nTerm;
                          }
                          var_6 = pWC->a;
                          if (0 < var_2) {
                            var_5 = 0;
                            do {
                              if (((var_6->wtFlags & 4) == 0) && (var_6->pExpr != (type_1 *)0x0)) {
                                var_4 = var_3((type_5 *)0x0,var_6->pExpr,local_38,
                                                           iTabCur);
                                var_2 = pWC->nTerm;
                                if (var_4 == 0) {
                                  var_6->wtFlags = var_6->wtFlags | 4;
                                }
                              }
                              var_5 = var_5 + 1;
                              var_6 = var_6 + 1;
                            } while (var_5 < var_2);
                          }
                          local_34 = local_34->pRight;
                        } while (local_34->op == ',');
                      }
                      else {
                        var_2 = pWC->nTerm;
                      }
                      var_6 = pWC->a;
                      if (0 < var_2) {
                        var_5 = 0;
                        do {
                          if (((var_6->wtFlags & 4) == 0) && (var_6->pExpr != (type_1 *)0x0)) {
                            var_4 = var_3((type_5 *)0x0,var_6->pExpr,local_34,iTabCur);
                            var_2 = pWC->nTerm;
                            if (var_4 == 0) {
                              var_6->wtFlags = var_6->wtFlags | 4;
                            }
                          }
                          var_5 = var_5 + 1;
                          var_6 = var_6 + 1;
                        } while (var_5 < var_2);
                      }
                      local_30 = local_30->pRight;
                    } while (local_30->op == ',');
                  }
                  else {
                    var_2 = pWC->nTerm;
                  }
                  var_6 = pWC->a;
                  if (0 < var_2) {
                    var_5 = 0;
                    do {
                      if (((var_6->wtFlags & 4) == 0) && (var_6->pExpr != (type_1 *)0x0)) {
                        var_4 = var_3((type_5 *)0x0,var_6->pExpr,local_30,iTabCur);
                        var_2 = pWC->nTerm;
                        if (var_4 == 0) {
                          var_6->wtFlags = var_6->wtFlags | 4;
                        }
                      }
                      var_5 = var_5 + 1;
                      var_6 = var_6 + 1;
                    } while (var_5 < var_2);
                  }
                  local_2c = local_2c->pRight;
                } while (local_2c->op == ',');
              }
              else {
                var_2 = pWC->nTerm;
              }
              var_6 = pWC->a;
              if (0 < var_2) {
                var_5 = 0;
                do {
                  if (((var_6->wtFlags & 4) == 0) && (var_6->pExpr != (type_1 *)0x0)) {
                    var_4 = var_3((type_5 *)0x0,var_6->pExpr,local_2c,iTabCur);
                    var_2 = pWC->nTerm;
                    if (var_4 == 0) {
                      var_6->wtFlags = var_6->wtFlags | 4;
                    }
                  }
                  var_5 = var_5 + 1;
                  var_6 = var_6 + 1;
                } while (var_5 < var_2);
              }
              local_24 = local_24->pRight;
            } while (local_24->op == ',');
          }
          else {
            var_2 = pWC->nTerm;
          }
          if (0 < var_2) {
            var_6 = pWC->a;
            var_5 = 0;
            do {
              if (((var_6->wtFlags & 4) == 0) && (var_6->pExpr != (type_1 *)0x0)) {
                var_4 = var_3((type_5 *)0x0,var_6->pExpr,local_24,iTabCur);
                var_2 = pWC->nTerm;
                if (var_4 == 0) {
                  var_6->wtFlags = var_6->wtFlags | 4;
                }
              }
              var_5 = var_5 + 1;
              var_6 = var_6 + 1;
            } while (var_5 < var_2);
          }
          local_28 = local_28->pRight;
        } while (local_28->op == ',');
      }
      else {
        var_2 = pWC->nTerm;
      }
      var_6 = pWC->a;
      if (0 < var_2) {
        var_5 = 0;
        do {
          if (((var_6->wtFlags & 4) == 0) && (var_6->pExpr != (type_1 *)0x0)) {
            var_4 = var_3((type_5 *)0x0,var_6->pExpr,local_28,iTabCur);
            var_2 = pWC->nTerm;
            if (var_4 == 0) {
              var_6->wtFlags = var_6->wtFlags | 4;
            }
          }
          var_5 = var_5 + 1;
          var_6 = var_6 + 1;
        } while (var_5 < var_2);
      }
      local_20 = local_20->pRight;
    } while (local_20->op == ',');
  }
  else {
    var_2 = pWC->nTerm;
  }
  var_6 = pWC->a;
  if (0 < var_2) {
    var_5 = 0;
    do {
      if (((var_6->wtFlags & 4) == 0) && (var_6->pExpr != (type_1 *)0x0)) {
        var_2 = var_3((type_5 *)0x0,var_6->pExpr,local_20,iTabCur);
        if (var_2 == 0) {
          var_6->wtFlags = var_6->wtFlags | 4;
          var_2 = pWC->nTerm;
        }
        else {
          var_2 = pWC->nTerm;
        }
      }
      var_5 = var_5 + 1;
      var_6 = var_6 + 1;
    } while (var_5 < var_2);
  }
  return;
}


(translation_unit (function_definition type: (primitive_type) (ERROR (identifier)) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (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: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) body: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))))) alternative: (else_clause (compound_statement (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))))) alternative: (else_clause (compound_statement (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))))) alternative: (else_clause (compound_statement (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))))) alternative: (else_clause (compound_statement (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))))) alternative: (else_clause (compound_statement (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))))) alternative: (else_clause (compound_statement (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)))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))))) alternative: (else_clause (compound_statement (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))))) alternative: (else_clause (compound_statement (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) 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)))))))) alternative: (else_clause (compound_statement (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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (return_statement))))

void __regparm3 MASKED(char *param_1,undefined4 param_2,int param_3)

{
  char cVar1;
  char *pcVar2;
  int iVar3;
  int iVar4;
  int *piVar5;
  int iVar6;
  char *local_40;
  char *local_38;
  char *local_34;
  char *local_30;
  char *local_2c;
  char *local_28;
  char *local_24;
  char *local_20;
  
  local_20 = param_1;
  if (*param_1 == ',') {
    do {
      local_28 = *(char **)(local_20 + 0xc);
      if (*local_28 == ',') {
        do {
          local_24 = *(char **)(local_28 + 0xc);
          if (*local_24 == ',') {
            do {
              local_2c = *(char **)(local_24 + 0xc);
              if (*local_2c == ',') {
                do {
                  local_30 = *(char **)(local_2c + 0xc);
                  if (*local_30 == ',') {
                    do {
                      local_34 = *(char **)(local_30 + 0xc);
                      if (*local_34 == ',') {
                        do {
                          local_38 = *(char **)(local_34 + 0xc);
                          if (*local_38 == ',') {
                            do {
                              local_40 = *(char **)(local_38 + 0xc);
                              if (*local_40 == ',') {
                                do {
                                  pcVar2 = *(char **)(local_40 + 0xc);
                                  cVar1 = *pcVar2;
                                  while (cVar1 == ',') {
                                    MASKED();
                                    pcVar2 = *(char **)(pcVar2 + 0x10);
                                    cVar1 = *pcVar2;
                                  }
                                  iVar4 = *(int *)(param_3 + 0xc);
                                  piVar5 = *(int **)(param_3 + 0x14);
                                  if (0 < iVar4) {
                                    iVar6 = 0;
                                    do {
                                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)
                                         ) {
                                        iVar3 = FUN_00060e20(param_2);
                                        iVar4 = *(int *)(param_3 + 0xc);
                                        if (iVar3 == 0) {
                                          *(ushort *)((int)piVar5 + 10) =
                                               *(ushort *)((int)piVar5 + 10) | 4;
                                        }
                                      }
                                      iVar6 = iVar6 + 1;
                                      piVar5 = piVar5 + 0xc;
                                    } while (iVar6 < iVar4);
                                  }
                                  local_40 = *(char **)(local_40 + 0x10);
                                } while (*local_40 == ',');
                              }
                              else {
                                iVar4 = *(int *)(param_3 + 0xc);
                              }
                              piVar5 = *(int **)(param_3 + 0x14);
                              if (0 < iVar4) {
                                iVar6 = 0;
                                do {
                                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {
                                    iVar3 = FUN_00060e20(param_2);
                                    iVar4 = *(int *)(param_3 + 0xc);
                                    if (iVar3 == 0) {
                                      *(ushort *)((int)piVar5 + 10) =
                                           *(ushort *)((int)piVar5 + 10) | 4;
                                    }
                                  }
                                  iVar6 = iVar6 + 1;
                                  piVar5 = piVar5 + 0xc;
                                } while (iVar6 < iVar4);
                              }
                              local_38 = *(char **)(local_38 + 0x10);
                            } while (*local_38 == ',');
                          }
                          else {
                            iVar4 = *(int *)(param_3 + 0xc);
                          }
                          piVar5 = *(int **)(param_3 + 0x14);
                          if (0 < iVar4) {
                            iVar6 = 0;
                            do {
                              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {
                                iVar3 = FUN_00060e20(param_2);
                                iVar4 = *(int *)(param_3 + 0xc);
                                if (iVar3 == 0) {
                                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;
                                }
                              }
                              iVar6 = iVar6 + 1;
                              piVar5 = piVar5 + 0xc;
                            } while (iVar6 < iVar4);
                          }
                          local_34 = *(char **)(local_34 + 0x10);
                        } while (*local_34 == ',');
                      }
                      else {
                        iVar4 = *(int *)(param_3 + 0xc);
                      }
                      piVar5 = *(int **)(param_3 + 0x14);
                      if (0 < iVar4) {
                        iVar6 = 0;
                        do {
                          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {
                            iVar3 = FUN_00060e20(param_2);
                            iVar4 = *(int *)(param_3 + 0xc);
                            if (iVar3 == 0) {
                              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;
                            }
                          }
                          iVar6 = iVar6 + 1;
                          piVar5 = piVar5 + 0xc;
                        } while (iVar6 < iVar4);
                      }
                      local_30 = *(char **)(local_30 + 0x10);
                    } while (*local_30 == ',');
                  }
                  else {
                    iVar4 = *(int *)(param_3 + 0xc);
                  }
                  piVar5 = *(int **)(param_3 + 0x14);
                  if (0 < iVar4) {
                    iVar6 = 0;
                    do {
                      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {
                        iVar3 = FUN_00060e20(param_2);
                        iVar4 = *(int *)(param_3 + 0xc);
                        if (iVar3 == 0) {
                          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;
                        }
                      }
                      iVar6 = iVar6 + 1;
                      piVar5 = piVar5 + 0xc;
                    } while (iVar6 < iVar4);
                  }
                  local_2c = *(char **)(local_2c + 0x10);
                } while (*local_2c == ',');
              }
              else {
                iVar4 = *(int *)(param_3 + 0xc);
              }
              piVar5 = *(int **)(param_3 + 0x14);
              if (0 < iVar4) {
                iVar6 = 0;
                do {
                  if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {
                    iVar3 = FUN_00060e20(param_2);
                    iVar4 = *(int *)(param_3 + 0xc);
                    if (iVar3 == 0) {
                      *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;
                    }
                  }
                  iVar6 = iVar6 + 1;
                  piVar5 = piVar5 + 0xc;
                } while (iVar6 < iVar4);
              }
              local_24 = *(char **)(local_24 + 0x10);
            } while (*local_24 == ',');
          }
          else {
            iVar4 = *(int *)(param_3 + 0xc);
          }
          if (0 < iVar4) {
            piVar5 = *(int **)(param_3 + 0x14);
            iVar6 = 0;
            do {
              if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {
                iVar3 = FUN_00060e20(param_2);
                iVar4 = *(int *)(param_3 + 0xc);
                if (iVar3 == 0) {
                  *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;
                }
              }
              iVar6 = iVar6 + 1;
              piVar5 = piVar5 + 0xc;
            } while (iVar6 < iVar4);
          }
          local_28 = *(char **)(local_28 + 0x10);
        } while (*local_28 == ',');
      }
      else {
        iVar4 = *(int *)(param_3 + 0xc);
      }
      piVar5 = *(int **)(param_3 + 0x14);
      if (0 < iVar4) {
        iVar6 = 0;
        do {
          if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {
            iVar3 = FUN_00060e20(param_2);
            iVar4 = *(int *)(param_3 + 0xc);
            if (iVar3 == 0) {
              *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;
            }
          }
          iVar6 = iVar6 + 1;
          piVar5 = piVar5 + 0xc;
        } while (iVar6 < iVar4);
      }
      local_20 = *(char **)(local_20 + 0x10);
    } while (*local_20 == ',');
  }
  else {
    iVar4 = *(int *)(param_3 + 0xc);
  }
  piVar5 = *(int **)(param_3 + 0x14);
  if (0 < iVar4) {
    iVar6 = 0;
    do {
      if (((*(byte *)((int)piVar5 + 10) & 4) == 0) && (*piVar5 != 0)) {
        iVar4 = FUN_00060e20(param_2);
        if (iVar4 == 0) {
          *(ushort *)((int)piVar5 + 10) = *(ushort *)((int)piVar5 + 10) | 4;
          iVar4 = *(int *)(param_3 + 0xc);
        }
        else {
          iVar4 = *(int *)(param_3 + 0xc);
        }
      }
      iVar6 = iVar6 + 1;
      piVar5 = piVar5 + 0xc;
    } while (iVar6 < iVar4);
  }
  return;
}

