
void gsslist_handler(control *ctrl,void *dlg,void *data,int event)

{
  int iVar1;
  int iVar2;
  int iVar3;
  
  iVar1 = ngsslibs;
  if (event == 0) {
    dlg_update_start(ctrl,dlg);
    dlg_listbox_clear(ctrl,dlg);
    iVar1 = ngsslibs;
    if (0 < ngsslibs) {
      iVar3 = 0;
      do {
        iVar2 = conf_get_int_int((Conf *)data,0x29,iVar3);
        if ((iVar1 <= iVar2) || (iVar2 < 0)) {
                    /* WARNING: Subroutine does not return */
          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");
        }
        dlg_listbox_addwithid(ctrl,dlg,*(char **)(gsslibnames + (long)iVar2 * 8),iVar2);
        iVar3 = iVar3 + 1;
      } while (iVar3 != iVar1);
    }
    dlg_update_done(ctrl,dlg);
  }
  else if ((event == 2) && (0 < ngsslibs)) {
    iVar3 = 0;
    do {
      iVar2 = dlg_listbox_getid(ctrl,dlg,iVar3);
      conf_set_int_int((Conf *)data,0x29,iVar3,iVar2);
      iVar3 = iVar3 + 1;
    } while (iVar3 != iVar1);
  }
  return;
}



void FUN_0011ba4d(undefined8 param_1,undefined8 param_2,undefined8 param_3,int param_4)

{
  int iVar1;
  int iVar2;
  undefined4 uVar3;
  int iVar4;
  
  iVar1 = DAT_001cbfb0;
  if (param_4 == 0) {
    FUN_00177e8d();
    FUN_001770c1(param_1,param_2);
    iVar1 = DAT_001cbfb0;
    if (0 < DAT_001cbfb0) {
      iVar4 = 0;
      do {
        iVar2 = FUN_0011975f(param_3,0x29,iVar4);
        if ((iVar1 <= iVar2) || (iVar2 < 0)) {
                    /* WARNING: Subroutine does not return */
          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");
        }
        FUN_0017721a(param_1,param_2,(&PTR_s_libgssapi__Heimdal__001ec680)[iVar2],iVar2);
        iVar4 = iVar4 + 1;
      } while (iVar4 != iVar1);
    }
    FUN_00177e8e(param_1,param_2);
  }
  else if ((param_4 == 2) && (0 < DAT_001cbfb0)) {
    iVar4 = 0;
    do {
      uVar3 = FUN_001773e6(param_1,param_2,iVar4);
      FUN_00119dee(param_3,0x29,iVar4,uVar3);
      iVar4 = iVar4 + 1;
    } while (iVar4 != iVar1);
  }
  return;
}


PUSH R15
PUSH R14
PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
SUB RSP,0x8
MOV R12,RDI
MOV R13,RSI
MOV R14,RDX
MOV EBX,ECX
TEST ECX,ECX
JZ 0x0011ba82
CMP ECX,0x2
JZ 0x0011bb01
ADD RSP,0x8
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
CALL 0x00177e8d
MOV RSI,R13
MOV RDI,R12
CALL 0x001770c1
MOV EBP,dword ptr [0x001cbfb0]
TEST EBP,EBP
JLE 0x0011bad5
LEA R15,[0x1ec680]
MOV EDX,EBX
MOV ESI,0x29
MOV RDI,R14
CALL 0x0011975f
CMP EAX,EBP
JGE 0x0011bae2
TEST EAX,EAX
JS 0x0011bae2
MOVSXD RDX,EAX
MOV RDX,qword ptr [R15 + RDX*0x8]
MOV ECX,EAX
MOV RSI,R13
MOV RDI,R12
CALL 0x0017721a
ADD EBX,0x1
CMP EBX,EBP
JNZ 0x0011baa3
MOV RSI,R13
MOV RDI,R12
CALL 0x00177e8e
JMP 0x0011ba73
LEA RCX,[0x1b6b40]
MOV EDX,0x199
LEA RSI,[0x1b4220]
LEA RDI,[0x1b4293]
CALL 0x00114a20
MOV EBP,dword ptr [0x001cbfb0]
TEST EBP,EBP
JLE 0x0011ba73
MOV EBX,0x0
MOV EDX,EBX
MOV RSI,R13
MOV RDI,R12
CALL 0x001773e6
MOV ECX,EAX
MOV EDX,EBX
MOV ESI,0x29
MOV RDI,R14
CALL 0x00119dee
ADD EBX,0x1
CMP EBX,EBP
JNZ 0x0011bb14
JMP 0x0011ba73
(translation_unit "void FUN_0011ba4d(undefined8 param_1,undefined8 param_2,undefined8 param_3,int param_4)\n\n{\n  int iVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int iVar4;\n  \n  iVar1 = DAT_001cbfb0;\n  if (param_4 == 0) {\n    FUN_00177e8d();\n    FUN_001770c1(param_1,param_2);\n    iVar1 = DAT_001cbfb0;\n    if (0 < DAT_001cbfb0) {\n      iVar4 = 0;\n      do {\n        iVar2 = FUN_0011975f(param_3,0x29,iVar4);\n        if ((iVar1 <= iVar2) || (iVar2 < 0)) {\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }\n        FUN_0017721a(param_1,param_2,(&PTR_s_libgssapi__Heimdal__001ec680)[iVar2],iVar2);\n        iVar4 = iVar4 + 1;\n      } while (iVar4 != iVar1);\n    }\n    FUN_00177e8e(param_1,param_2);\n  }\n  else if ((param_4 == 2) && (0 < DAT_001cbfb0)) {\n    iVar4 = 0;\n    do {\n      uVar3 = FUN_001773e6(param_1,param_2,iVar4);\n      FUN_00119dee(param_3,0x29,iVar4,uVar3);\n      iVar4 = iVar4 + 1;\n    } while (iVar4 != iVar1);\n  }\n  return;\n}\n\n" (function_definition "void FUN_0011ba4d(undefined8 param_1,undefined8 param_2,undefined8 param_3,int param_4)\n\n{\n  int iVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int iVar4;\n  \n  iVar1 = DAT_001cbfb0;\n  if (param_4 == 0) {\n    FUN_00177e8d();\n    FUN_001770c1(param_1,param_2);\n    iVar1 = DAT_001cbfb0;\n    if (0 < DAT_001cbfb0) {\n      iVar4 = 0;\n      do {\n        iVar2 = FUN_0011975f(param_3,0x29,iVar4);\n        if ((iVar1 <= iVar2) || (iVar2 < 0)) {\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }\n        FUN_0017721a(param_1,param_2,(&PTR_s_libgssapi__Heimdal__001ec680)[iVar2],iVar2);\n        iVar4 = iVar4 + 1;\n      } while (iVar4 != iVar1);\n    }\n    FUN_00177e8e(param_1,param_2);\n  }\n  else if ((param_4 == 2) && (0 < DAT_001cbfb0)) {\n    iVar4 = 0;\n    do {\n      uVar3 = FUN_001773e6(param_1,param_2,iVar4);\n      FUN_00119dee(param_3,0x29,iVar4,uVar3);\n      iVar4 = iVar4 + 1;\n    } while (iVar4 != iVar1);\n  }\n  return;\n}" primitive_type (function_declarator "FUN_0011ba4d(undefined8 param_1,undefined8 param_2,undefined8 param_3,int param_4)" identifier (parameter_list "(undefined8 param_1,undefined8 param_2,undefined8 param_3,int param_4)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) , (parameter_declaration "int param_4" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int iVar4;\n  \n  iVar1 = DAT_001cbfb0;\n  if (param_4 == 0) {\n    FUN_00177e8d();\n    FUN_001770c1(param_1,param_2);\n    iVar1 = DAT_001cbfb0;\n    if (0 < DAT_001cbfb0) {\n      iVar4 = 0;\n      do {\n        iVar2 = FUN_0011975f(param_3,0x29,iVar4);\n        if ((iVar1 <= iVar2) || (iVar2 < 0)) {\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }\n        FUN_0017721a(param_1,param_2,(&PTR_s_libgssapi__Heimdal__001ec680)[iVar2],iVar2);\n        iVar4 = iVar4 + 1;\n      } while (iVar4 != iVar1);\n    }\n    FUN_00177e8e(param_1,param_2);\n  }\n  else if ((param_4 == 2) && (0 < DAT_001cbfb0)) {\n    iVar4 = 0;\n    do {\n      uVar3 = FUN_001773e6(param_1,param_2,iVar4);\n      FUN_00119dee(param_3,0x29,iVar4,uVar3);\n      iVar4 = iVar4 + 1;\n    } while (iVar4 != iVar1);\n  }\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (expression_statement "iVar1 = DAT_001cbfb0;" (assignment_expression "iVar1 = DAT_001cbfb0" identifier = identifier) ;) (if_statement "if (param_4 == 0) {\n    FUN_00177e8d();\n    FUN_001770c1(param_1,param_2);\n    iVar1 = DAT_001cbfb0;\n    if (0 < DAT_001cbfb0) {\n      iVar4 = 0;\n      do {\n        iVar2 = FUN_0011975f(param_3,0x29,iVar4);\n        if ((iVar1 <= iVar2) || (iVar2 < 0)) {\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }\n        FUN_0017721a(param_1,param_2,(&PTR_s_libgssapi__Heimdal__001ec680)[iVar2],iVar2);\n        iVar4 = iVar4 + 1;\n      } while (iVar4 != iVar1);\n    }\n    FUN_00177e8e(param_1,param_2);\n  }\n  else if ((param_4 == 2) && (0 < DAT_001cbfb0)) {\n    iVar4 = 0;\n    do {\n      uVar3 = FUN_001773e6(param_1,param_2,iVar4);\n      FUN_00119dee(param_3,0x29,iVar4,uVar3);\n      iVar4 = iVar4 + 1;\n    } while (iVar4 != iVar1);\n  }" if (parenthesized_expression "(param_4 == 0)" ( (binary_expression "param_4 == 0" identifier == number_literal) )) (compound_statement "{\n    FUN_00177e8d();\n    FUN_001770c1(param_1,param_2);\n    iVar1 = DAT_001cbfb0;\n    if (0 < DAT_001cbfb0) {\n      iVar4 = 0;\n      do {\n        iVar2 = FUN_0011975f(param_3,0x29,iVar4);\n        if ((iVar1 <= iVar2) || (iVar2 < 0)) {\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }\n        FUN_0017721a(param_1,param_2,(&PTR_s_libgssapi__Heimdal__001ec680)[iVar2],iVar2);\n        iVar4 = iVar4 + 1;\n      } while (iVar4 != iVar1);\n    }\n    FUN_00177e8e(param_1,param_2);\n  }" { (expression_statement "FUN_00177e8d();" (call_expression "FUN_00177e8d()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_001770c1(param_1,param_2);" (call_expression "FUN_001770c1(param_1,param_2)" identifier (argument_list "(param_1,param_2)" ( identifier , identifier ))) ;) (expression_statement "iVar1 = DAT_001cbfb0;" (assignment_expression "iVar1 = DAT_001cbfb0" identifier = identifier) ;) (if_statement "if (0 < DAT_001cbfb0) {\n      iVar4 = 0;\n      do {\n        iVar2 = FUN_0011975f(param_3,0x29,iVar4);\n        if ((iVar1 <= iVar2) || (iVar2 < 0)) {\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }\n        FUN_0017721a(param_1,param_2,(&PTR_s_libgssapi__Heimdal__001ec680)[iVar2],iVar2);\n        iVar4 = iVar4 + 1;\n      } while (iVar4 != iVar1);\n    }" if (parenthesized_expression "(0 < DAT_001cbfb0)" ( (binary_expression "0 < DAT_001cbfb0" number_literal < identifier) )) (compound_statement "{\n      iVar4 = 0;\n      do {\n        iVar2 = FUN_0011975f(param_3,0x29,iVar4);\n        if ((iVar1 <= iVar2) || (iVar2 < 0)) {\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }\n        FUN_0017721a(param_1,param_2,(&PTR_s_libgssapi__Heimdal__001ec680)[iVar2],iVar2);\n        iVar4 = iVar4 + 1;\n      } while (iVar4 != iVar1);\n    }" { (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (do_statement "do {\n        iVar2 = FUN_0011975f(param_3,0x29,iVar4);\n        if ((iVar1 <= iVar2) || (iVar2 < 0)) {\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }\n        FUN_0017721a(param_1,param_2,(&PTR_s_libgssapi__Heimdal__001ec680)[iVar2],iVar2);\n        iVar4 = iVar4 + 1;\n      } while (iVar4 != iVar1);" do (compound_statement "{\n        iVar2 = FUN_0011975f(param_3,0x29,iVar4);\n        if ((iVar1 <= iVar2) || (iVar2 < 0)) {\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }\n        FUN_0017721a(param_1,param_2,(&PTR_s_libgssapi__Heimdal__001ec680)[iVar2],iVar2);\n        iVar4 = iVar4 + 1;\n      }" { (expression_statement "iVar2 = FUN_0011975f(param_3,0x29,iVar4);" (assignment_expression "iVar2 = FUN_0011975f(param_3,0x29,iVar4)" identifier = (call_expression "FUN_0011975f(param_3,0x29,iVar4)" identifier (argument_list "(param_3,0x29,iVar4)" ( identifier , number_literal , identifier )))) ;) (if_statement "if ((iVar1 <= iVar2) || (iVar2 < 0)) {\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }" if (parenthesized_expression "((iVar1 <= iVar2) || (iVar2 < 0))" ( (binary_expression "(iVar1 <= iVar2) || (iVar2 < 0)" (parenthesized_expression "(iVar1 <= iVar2)" ( (binary_expression "iVar1 <= iVar2" identifier <= identifier) )) || (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }" { comment (expression_statement "__assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");" (call_expression "__assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler")" identifier (argument_list "("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler")" ( (string_literal ""id >= 0 && id < ngsslibs"" " string_content ") , (string_literal ""config.c"" " string_content ") , number_literal , (string_literal ""gsslist_handler"" " string_content ") ))) ;) })) (expression_statement "FUN_0017721a(param_1,param_2,(&PTR_s_libgssapi__Heimdal__001ec680)[iVar2],iVar2);" (call_expression "FUN_0017721a(param_1,param_2,(&PTR_s_libgssapi__Heimdal__001ec680)[iVar2],iVar2)" identifier (argument_list "(param_1,param_2,(&PTR_s_libgssapi__Heimdal__001ec680)[iVar2],iVar2)" ( identifier , identifier , (subscript_expression "(&PTR_s_libgssapi__Heimdal__001ec680)[iVar2]" (parenthesized_expression "(&PTR_s_libgssapi__Heimdal__001ec680)" ( (pointer_expression "&PTR_s_libgssapi__Heimdal__001ec680" & identifier) )) [ identifier ]) , identifier ))) ;) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar4 != iVar1)" ( (binary_expression "iVar4 != iVar1" identifier != identifier) )) ;) })) (expression_statement "FUN_00177e8e(param_1,param_2);" (call_expression "FUN_00177e8e(param_1,param_2)" identifier (argument_list "(param_1,param_2)" ( identifier , identifier ))) ;) }) (else_clause "else if ((param_4 == 2) && (0 < DAT_001cbfb0)) {\n    iVar4 = 0;\n    do {\n      uVar3 = FUN_001773e6(param_1,param_2,iVar4);\n      FUN_00119dee(param_3,0x29,iVar4,uVar3);\n      iVar4 = iVar4 + 1;\n    } while (iVar4 != iVar1);\n  }" else (if_statement "if ((param_4 == 2) && (0 < DAT_001cbfb0)) {\n    iVar4 = 0;\n    do {\n      uVar3 = FUN_001773e6(param_1,param_2,iVar4);\n      FUN_00119dee(param_3,0x29,iVar4,uVar3);\n      iVar4 = iVar4 + 1;\n    } while (iVar4 != iVar1);\n  }" if (parenthesized_expression "((param_4 == 2) && (0 < DAT_001cbfb0))" ( (binary_expression "(param_4 == 2) && (0 < DAT_001cbfb0)" (parenthesized_expression "(param_4 == 2)" ( (binary_expression "param_4 == 2" identifier == number_literal) )) && (parenthesized_expression "(0 < DAT_001cbfb0)" ( (binary_expression "0 < DAT_001cbfb0" number_literal < identifier) ))) )) (compound_statement "{\n    iVar4 = 0;\n    do {\n      uVar3 = FUN_001773e6(param_1,param_2,iVar4);\n      FUN_00119dee(param_3,0x29,iVar4,uVar3);\n      iVar4 = iVar4 + 1;\n    } while (iVar4 != iVar1);\n  }" { (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (do_statement "do {\n      uVar3 = FUN_001773e6(param_1,param_2,iVar4);\n      FUN_00119dee(param_3,0x29,iVar4,uVar3);\n      iVar4 = iVar4 + 1;\n    } while (iVar4 != iVar1);" do (compound_statement "{\n      uVar3 = FUN_001773e6(param_1,param_2,iVar4);\n      FUN_00119dee(param_3,0x29,iVar4,uVar3);\n      iVar4 = iVar4 + 1;\n    }" { (expression_statement "uVar3 = FUN_001773e6(param_1,param_2,iVar4);" (assignment_expression "uVar3 = FUN_001773e6(param_1,param_2,iVar4)" identifier = (call_expression "FUN_001773e6(param_1,param_2,iVar4)" identifier (argument_list "(param_1,param_2,iVar4)" ( identifier , identifier , identifier )))) ;) (expression_statement "FUN_00119dee(param_3,0x29,iVar4,uVar3);" (call_expression "FUN_00119dee(param_3,0x29,iVar4,uVar3)" identifier (argument_list "(param_3,0x29,iVar4,uVar3)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar4 != iVar1)" ( (binary_expression "iVar4 != iVar1" identifier != identifier) )) ;) })))) (return_statement "return;" return ;) })))
(translation_unit "void gsslist_handler(control *ctrl,void *dlg,void *data,int event)\n\n{\n  int iVar1;\n  int iVar2;\n  int iVar3;\n  \n  iVar1 = ngsslibs;\n  if (event == 0) {\n    dlg_update_start(ctrl,dlg);\n    dlg_listbox_clear(ctrl,dlg);\n    iVar1 = ngsslibs;\n    if (0 < ngsslibs) {\n      iVar3 = 0;\n      do {\n        iVar2 = conf_get_int_int((Conf *)data,0x29,iVar3);\n        if ((iVar1 <= iVar2) || (iVar2 < 0)) {\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }\n        dlg_listbox_addwithid(ctrl,dlg,*(char **)(gsslibnames + (long)iVar2 * 8),iVar2);\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != iVar1);\n    }\n    dlg_update_done(ctrl,dlg);\n  }\n  else if ((event == 2) && (0 < ngsslibs)) {\n    iVar3 = 0;\n    do {\n      iVar2 = dlg_listbox_getid(ctrl,dlg,iVar3);\n      conf_set_int_int((Conf *)data,0x29,iVar3,iVar2);\n      iVar3 = iVar3 + 1;\n    } while (iVar3 != iVar1);\n  }\n  return;\n}\n\n" (function_definition "void gsslist_handler(control *ctrl,void *dlg,void *data,int event)\n\n{\n  int iVar1;\n  int iVar2;\n  int iVar3;\n  \n  iVar1 = ngsslibs;\n  if (event == 0) {\n    dlg_update_start(ctrl,dlg);\n    dlg_listbox_clear(ctrl,dlg);\n    iVar1 = ngsslibs;\n    if (0 < ngsslibs) {\n      iVar3 = 0;\n      do {\n        iVar2 = conf_get_int_int((Conf *)data,0x29,iVar3);\n        if ((iVar1 <= iVar2) || (iVar2 < 0)) {\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }\n        dlg_listbox_addwithid(ctrl,dlg,*(char **)(gsslibnames + (long)iVar2 * 8),iVar2);\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != iVar1);\n    }\n    dlg_update_done(ctrl,dlg);\n  }\n  else if ((event == 2) && (0 < ngsslibs)) {\n    iVar3 = 0;\n    do {\n      iVar2 = dlg_listbox_getid(ctrl,dlg,iVar3);\n      conf_set_int_int((Conf *)data,0x29,iVar3,iVar2);\n      iVar3 = iVar3 + 1;\n    } while (iVar3 != iVar1);\n  }\n  return;\n}" primitive_type (function_declarator "gsslist_handler(control *ctrl,void *dlg,void *data,int event)" identifier (parameter_list "(control *ctrl,void *dlg,void *data,int event)" ( (parameter_declaration "control *ctrl" type_identifier (pointer_declarator "*ctrl" * identifier)) , (parameter_declaration "void *dlg" primitive_type (pointer_declarator "*dlg" * identifier)) , (parameter_declaration "void *data" primitive_type (pointer_declarator "*data" * identifier)) , (parameter_declaration "int event" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  int iVar3;\n  \n  iVar1 = ngsslibs;\n  if (event == 0) {\n    dlg_update_start(ctrl,dlg);\n    dlg_listbox_clear(ctrl,dlg);\n    iVar1 = ngsslibs;\n    if (0 < ngsslibs) {\n      iVar3 = 0;\n      do {\n        iVar2 = conf_get_int_int((Conf *)data,0x29,iVar3);\n        if ((iVar1 <= iVar2) || (iVar2 < 0)) {\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }\n        dlg_listbox_addwithid(ctrl,dlg,*(char **)(gsslibnames + (long)iVar2 * 8),iVar2);\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != iVar1);\n    }\n    dlg_update_done(ctrl,dlg);\n  }\n  else if ((event == 2) && (0 < ngsslibs)) {\n    iVar3 = 0;\n    do {\n      iVar2 = dlg_listbox_getid(ctrl,dlg,iVar3);\n      conf_set_int_int((Conf *)data,0x29,iVar3,iVar2);\n      iVar3 = iVar3 + 1;\n    } while (iVar3 != iVar1);\n  }\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (expression_statement "iVar1 = ngsslibs;" (assignment_expression "iVar1 = ngsslibs" identifier = identifier) ;) (if_statement "if (event == 0) {\n    dlg_update_start(ctrl,dlg);\n    dlg_listbox_clear(ctrl,dlg);\n    iVar1 = ngsslibs;\n    if (0 < ngsslibs) {\n      iVar3 = 0;\n      do {\n        iVar2 = conf_get_int_int((Conf *)data,0x29,iVar3);\n        if ((iVar1 <= iVar2) || (iVar2 < 0)) {\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }\n        dlg_listbox_addwithid(ctrl,dlg,*(char **)(gsslibnames + (long)iVar2 * 8),iVar2);\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != iVar1);\n    }\n    dlg_update_done(ctrl,dlg);\n  }\n  else if ((event == 2) && (0 < ngsslibs)) {\n    iVar3 = 0;\n    do {\n      iVar2 = dlg_listbox_getid(ctrl,dlg,iVar3);\n      conf_set_int_int((Conf *)data,0x29,iVar3,iVar2);\n      iVar3 = iVar3 + 1;\n    } while (iVar3 != iVar1);\n  }" if (parenthesized_expression "(event == 0)" ( (binary_expression "event == 0" identifier == number_literal) )) (compound_statement "{\n    dlg_update_start(ctrl,dlg);\n    dlg_listbox_clear(ctrl,dlg);\n    iVar1 = ngsslibs;\n    if (0 < ngsslibs) {\n      iVar3 = 0;\n      do {\n        iVar2 = conf_get_int_int((Conf *)data,0x29,iVar3);\n        if ((iVar1 <= iVar2) || (iVar2 < 0)) {\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }\n        dlg_listbox_addwithid(ctrl,dlg,*(char **)(gsslibnames + (long)iVar2 * 8),iVar2);\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != iVar1);\n    }\n    dlg_update_done(ctrl,dlg);\n  }" { (expression_statement "dlg_update_start(ctrl,dlg);" (call_expression "dlg_update_start(ctrl,dlg)" identifier (argument_list "(ctrl,dlg)" ( identifier , identifier ))) ;) (expression_statement "dlg_listbox_clear(ctrl,dlg);" (call_expression "dlg_listbox_clear(ctrl,dlg)" identifier (argument_list "(ctrl,dlg)" ( identifier , identifier ))) ;) (expression_statement "iVar1 = ngsslibs;" (assignment_expression "iVar1 = ngsslibs" identifier = identifier) ;) (if_statement "if (0 < ngsslibs) {\n      iVar3 = 0;\n      do {\n        iVar2 = conf_get_int_int((Conf *)data,0x29,iVar3);\n        if ((iVar1 <= iVar2) || (iVar2 < 0)) {\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }\n        dlg_listbox_addwithid(ctrl,dlg,*(char **)(gsslibnames + (long)iVar2 * 8),iVar2);\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != iVar1);\n    }" if (parenthesized_expression "(0 < ngsslibs)" ( (binary_expression "0 < ngsslibs" number_literal < identifier) )) (compound_statement "{\n      iVar3 = 0;\n      do {\n        iVar2 = conf_get_int_int((Conf *)data,0x29,iVar3);\n        if ((iVar1 <= iVar2) || (iVar2 < 0)) {\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }\n        dlg_listbox_addwithid(ctrl,dlg,*(char **)(gsslibnames + (long)iVar2 * 8),iVar2);\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != iVar1);\n    }" { (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (do_statement "do {\n        iVar2 = conf_get_int_int((Conf *)data,0x29,iVar3);\n        if ((iVar1 <= iVar2) || (iVar2 < 0)) {\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }\n        dlg_listbox_addwithid(ctrl,dlg,*(char **)(gsslibnames + (long)iVar2 * 8),iVar2);\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != iVar1);" do (compound_statement "{\n        iVar2 = conf_get_int_int((Conf *)data,0x29,iVar3);\n        if ((iVar1 <= iVar2) || (iVar2 < 0)) {\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }\n        dlg_listbox_addwithid(ctrl,dlg,*(char **)(gsslibnames + (long)iVar2 * 8),iVar2);\n        iVar3 = iVar3 + 1;\n      }" { (expression_statement "iVar2 = conf_get_int_int((Conf *)data,0x29,iVar3);" (assignment_expression "iVar2 = conf_get_int_int((Conf *)data,0x29,iVar3)" identifier = (call_expression "conf_get_int_int((Conf *)data,0x29,iVar3)" identifier (argument_list "((Conf *)data,0x29,iVar3)" ( (cast_expression "(Conf *)data" ( (type_descriptor "Conf *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , number_literal , identifier )))) ;) (if_statement "if ((iVar1 <= iVar2) || (iVar2 < 0)) {\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }" if (parenthesized_expression "((iVar1 <= iVar2) || (iVar2 < 0))" ( (binary_expression "(iVar1 <= iVar2) || (iVar2 < 0)" (parenthesized_expression "(iVar1 <= iVar2)" ( (binary_expression "iVar1 <= iVar2" identifier <= identifier) )) || (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }" { comment (expression_statement "__assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");" (call_expression "__assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler")" identifier (argument_list "("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler")" ( (string_literal ""id >= 0 && id < ngsslibs"" " string_content ") , (string_literal ""config.c"" " string_content ") , number_literal , (string_literal ""gsslist_handler"" " string_content ") ))) ;) })) (expression_statement "dlg_listbox_addwithid(ctrl,dlg,*(char **)(gsslibnames + (long)iVar2 * 8),iVar2);" (call_expression "dlg_listbox_addwithid(ctrl,dlg,*(char **)(gsslibnames + (long)iVar2 * 8),iVar2)" identifier (argument_list "(ctrl,dlg,*(char **)(gsslibnames + (long)iVar2 * 8),iVar2)" ( identifier , identifier , (pointer_expression "*(char **)(gsslibnames + (long)iVar2 * 8)" * (cast_expression "(char **)(gsslibnames + (long)iVar2 * 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(gsslibnames + (long)iVar2 * 8)" ( (binary_expression "gsslibnames + (long)iVar2 * 8" identifier + (binary_expression "(long)iVar2 * 8" (cast_expression "(long)iVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) * number_literal)) )))) , identifier ))) ;) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar3 != iVar1)" ( (binary_expression "iVar3 != iVar1" identifier != identifier) )) ;) })) (expression_statement "dlg_update_done(ctrl,dlg);" (call_expression "dlg_update_done(ctrl,dlg)" identifier (argument_list "(ctrl,dlg)" ( identifier , identifier ))) ;) }) (else_clause "else if ((event == 2) && (0 < ngsslibs)) {\n    iVar3 = 0;\n    do {\n      iVar2 = dlg_listbox_getid(ctrl,dlg,iVar3);\n      conf_set_int_int((Conf *)data,0x29,iVar3,iVar2);\n      iVar3 = iVar3 + 1;\n    } while (iVar3 != iVar1);\n  }" else (if_statement "if ((event == 2) && (0 < ngsslibs)) {\n    iVar3 = 0;\n    do {\n      iVar2 = dlg_listbox_getid(ctrl,dlg,iVar3);\n      conf_set_int_int((Conf *)data,0x29,iVar3,iVar2);\n      iVar3 = iVar3 + 1;\n    } while (iVar3 != iVar1);\n  }" if (parenthesized_expression "((event == 2) && (0 < ngsslibs))" ( (binary_expression "(event == 2) && (0 < ngsslibs)" (parenthesized_expression "(event == 2)" ( (binary_expression "event == 2" identifier == number_literal) )) && (parenthesized_expression "(0 < ngsslibs)" ( (binary_expression "0 < ngsslibs" number_literal < identifier) ))) )) (compound_statement "{\n    iVar3 = 0;\n    do {\n      iVar2 = dlg_listbox_getid(ctrl,dlg,iVar3);\n      conf_set_int_int((Conf *)data,0x29,iVar3,iVar2);\n      iVar3 = iVar3 + 1;\n    } while (iVar3 != iVar1);\n  }" { (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (do_statement "do {\n      iVar2 = dlg_listbox_getid(ctrl,dlg,iVar3);\n      conf_set_int_int((Conf *)data,0x29,iVar3,iVar2);\n      iVar3 = iVar3 + 1;\n    } while (iVar3 != iVar1);" do (compound_statement "{\n      iVar2 = dlg_listbox_getid(ctrl,dlg,iVar3);\n      conf_set_int_int((Conf *)data,0x29,iVar3,iVar2);\n      iVar3 = iVar3 + 1;\n    }" { (expression_statement "iVar2 = dlg_listbox_getid(ctrl,dlg,iVar3);" (assignment_expression "iVar2 = dlg_listbox_getid(ctrl,dlg,iVar3)" identifier = (call_expression "dlg_listbox_getid(ctrl,dlg,iVar3)" identifier (argument_list "(ctrl,dlg,iVar3)" ( identifier , identifier , identifier )))) ;) (expression_statement "conf_set_int_int((Conf *)data,0x29,iVar3,iVar2);" (call_expression "conf_set_int_int((Conf *)data,0x29,iVar3,iVar2)" identifier (argument_list "((Conf *)data,0x29,iVar3,iVar2)" ( (cast_expression "(Conf *)data" ( (type_descriptor "Conf *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , number_literal , identifier , identifier ))) ;) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar3 != iVar1)" ( (binary_expression "iVar3 != iVar1" identifier != identifier) )) ;) })))) (return_statement "return;" return ;) })))
(translation_unit "void FUN_0011ba4d(undefined8 param_1,undefined8 param_2,undefined8 param_3,int param_4)\n\n{\n  int iVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int iVar4;\n  \n  iVar1 = DAT_001cbfb0;\n  if (param_4 == 0) {\n    FUN_00177e8d();\n    FUN_001770c1(param_1,param_2);\n    iVar1 = DAT_001cbfb0;\n    if (0 < DAT_001cbfb0) {\n      iVar4 = 0;\n      do {\n        iVar2 = FUN_0011975f(param_3,0x29,iVar4);\n        if ((iVar1 <= iVar2) || (iVar2 < 0)) {\n                    \n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }\n        FUN_0017721a(param_1,param_2,(&PTR_s_libgssapi__Heimdal__001ec680)[iVar2],iVar2);\n        iVar4 = iVar4 + 1;\n      } while (iVar4 != iVar1);\n    }\n    FUN_00177e8e(param_1,param_2);\n  }\n  else if ((param_4 == 2) && (0 < DAT_001cbfb0)) {\n    iVar4 = 0;\n    do {\n      uVar3 = FUN_001773e6(param_1,param_2,iVar4);\n      FUN_00119dee(param_3,0x29,iVar4,uVar3);\n      iVar4 = iVar4 + 1;\n    } while (iVar4 != iVar1);\n  }\n  return;\n}\n\n" (function_definition "void FUN_0011ba4d(undefined8 param_1,undefined8 param_2,undefined8 param_3,int param_4)\n\n{\n  int iVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int iVar4;\n  \n  iVar1 = DAT_001cbfb0;\n  if (param_4 == 0) {\n    FUN_00177e8d();\n    FUN_001770c1(param_1,param_2);\n    iVar1 = DAT_001cbfb0;\n    if (0 < DAT_001cbfb0) {\n      iVar4 = 0;\n      do {\n        iVar2 = FUN_0011975f(param_3,0x29,iVar4);\n        if ((iVar1 <= iVar2) || (iVar2 < 0)) {\n                    \n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }\n        FUN_0017721a(param_1,param_2,(&PTR_s_libgssapi__Heimdal__001ec680)[iVar2],iVar2);\n        iVar4 = iVar4 + 1;\n      } while (iVar4 != iVar1);\n    }\n    FUN_00177e8e(param_1,param_2);\n  }\n  else if ((param_4 == 2) && (0 < DAT_001cbfb0)) {\n    iVar4 = 0;\n    do {\n      uVar3 = FUN_001773e6(param_1,param_2,iVar4);\n      FUN_00119dee(param_3,0x29,iVar4,uVar3);\n      iVar4 = iVar4 + 1;\n    } while (iVar4 != iVar1);\n  }\n  return;\n}" primitive_type (function_declarator "FUN_0011ba4d(undefined8 param_1,undefined8 param_2,undefined8 param_3,int param_4)" identifier (parameter_list "(undefined8 param_1,undefined8 param_2,undefined8 param_3,int param_4)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) , (parameter_declaration "int param_4" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int iVar4;\n  \n  iVar1 = DAT_001cbfb0;\n  if (param_4 == 0) {\n    FUN_00177e8d();\n    FUN_001770c1(param_1,param_2);\n    iVar1 = DAT_001cbfb0;\n    if (0 < DAT_001cbfb0) {\n      iVar4 = 0;\n      do {\n        iVar2 = FUN_0011975f(param_3,0x29,iVar4);\n        if ((iVar1 <= iVar2) || (iVar2 < 0)) {\n                    \n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }\n        FUN_0017721a(param_1,param_2,(&PTR_s_libgssapi__Heimdal__001ec680)[iVar2],iVar2);\n        iVar4 = iVar4 + 1;\n      } while (iVar4 != iVar1);\n    }\n    FUN_00177e8e(param_1,param_2);\n  }\n  else if ((param_4 == 2) && (0 < DAT_001cbfb0)) {\n    iVar4 = 0;\n    do {\n      uVar3 = FUN_001773e6(param_1,param_2,iVar4);\n      FUN_00119dee(param_3,0x29,iVar4,uVar3);\n      iVar4 = iVar4 + 1;\n    } while (iVar4 != iVar1);\n  }\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (expression_statement "iVar1 = DAT_001cbfb0;" (assignment_expression "iVar1 = DAT_001cbfb0" identifier = identifier) ;) (if_statement "if (param_4 == 0) {\n    FUN_00177e8d();\n    FUN_001770c1(param_1,param_2);\n    iVar1 = DAT_001cbfb0;\n    if (0 < DAT_001cbfb0) {\n      iVar4 = 0;\n      do {\n        iVar2 = FUN_0011975f(param_3,0x29,iVar4);\n        if ((iVar1 <= iVar2) || (iVar2 < 0)) {\n                    \n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }\n        FUN_0017721a(param_1,param_2,(&PTR_s_libgssapi__Heimdal__001ec680)[iVar2],iVar2);\n        iVar4 = iVar4 + 1;\n      } while (iVar4 != iVar1);\n    }\n    FUN_00177e8e(param_1,param_2);\n  }\n  else if ((param_4 == 2) && (0 < DAT_001cbfb0)) {\n    iVar4 = 0;\n    do {\n      uVar3 = FUN_001773e6(param_1,param_2,iVar4);\n      FUN_00119dee(param_3,0x29,iVar4,uVar3);\n      iVar4 = iVar4 + 1;\n    } while (iVar4 != iVar1);\n  }" if (parenthesized_expression "(param_4 == 0)" ( (binary_expression "param_4 == 0" identifier == number_literal) )) (compound_statement "{\n    FUN_00177e8d();\n    FUN_001770c1(param_1,param_2);\n    iVar1 = DAT_001cbfb0;\n    if (0 < DAT_001cbfb0) {\n      iVar4 = 0;\n      do {\n        iVar2 = FUN_0011975f(param_3,0x29,iVar4);\n        if ((iVar1 <= iVar2) || (iVar2 < 0)) {\n                    \n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }\n        FUN_0017721a(param_1,param_2,(&PTR_s_libgssapi__Heimdal__001ec680)[iVar2],iVar2);\n        iVar4 = iVar4 + 1;\n      } while (iVar4 != iVar1);\n    }\n    FUN_00177e8e(param_1,param_2);\n  }" { (expression_statement "FUN_00177e8d();" (call_expression "FUN_00177e8d()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_001770c1(param_1,param_2);" (call_expression "FUN_001770c1(param_1,param_2)" identifier (argument_list "(param_1,param_2)" ( identifier , identifier ))) ;) (expression_statement "iVar1 = DAT_001cbfb0;" (assignment_expression "iVar1 = DAT_001cbfb0" identifier = identifier) ;) (if_statement "if (0 < DAT_001cbfb0) {\n      iVar4 = 0;\n      do {\n        iVar2 = FUN_0011975f(param_3,0x29,iVar4);\n        if ((iVar1 <= iVar2) || (iVar2 < 0)) {\n                    \n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }\n        FUN_0017721a(param_1,param_2,(&PTR_s_libgssapi__Heimdal__001ec680)[iVar2],iVar2);\n        iVar4 = iVar4 + 1;\n      } while (iVar4 != iVar1);\n    }" if (parenthesized_expression "(0 < DAT_001cbfb0)" ( (binary_expression "0 < DAT_001cbfb0" number_literal < identifier) )) (compound_statement "{\n      iVar4 = 0;\n      do {\n        iVar2 = FUN_0011975f(param_3,0x29,iVar4);\n        if ((iVar1 <= iVar2) || (iVar2 < 0)) {\n                    \n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }\n        FUN_0017721a(param_1,param_2,(&PTR_s_libgssapi__Heimdal__001ec680)[iVar2],iVar2);\n        iVar4 = iVar4 + 1;\n      } while (iVar4 != iVar1);\n    }" { (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (do_statement "do {\n        iVar2 = FUN_0011975f(param_3,0x29,iVar4);\n        if ((iVar1 <= iVar2) || (iVar2 < 0)) {\n                    \n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }\n        FUN_0017721a(param_1,param_2,(&PTR_s_libgssapi__Heimdal__001ec680)[iVar2],iVar2);\n        iVar4 = iVar4 + 1;\n      } while (iVar4 != iVar1);" do (compound_statement "{\n        iVar2 = FUN_0011975f(param_3,0x29,iVar4);\n        if ((iVar1 <= iVar2) || (iVar2 < 0)) {\n                    \n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }\n        FUN_0017721a(param_1,param_2,(&PTR_s_libgssapi__Heimdal__001ec680)[iVar2],iVar2);\n        iVar4 = iVar4 + 1;\n      }" { (expression_statement "iVar2 = FUN_0011975f(param_3,0x29,iVar4);" (assignment_expression "iVar2 = FUN_0011975f(param_3,0x29,iVar4)" identifier = (call_expression "FUN_0011975f(param_3,0x29,iVar4)" identifier (argument_list "(param_3,0x29,iVar4)" ( identifier , number_literal , identifier )))) ;) (if_statement "if ((iVar1 <= iVar2) || (iVar2 < 0)) {\n                    \n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }" if (parenthesized_expression "((iVar1 <= iVar2) || (iVar2 < 0))" ( (binary_expression "(iVar1 <= iVar2) || (iVar2 < 0)" (parenthesized_expression "(iVar1 <= iVar2)" ( (binary_expression "iVar1 <= iVar2" identifier <= identifier) )) || (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) ))) )) (compound_statement "{\n                    \n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }" { (expression_statement "__assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");" (call_expression "__assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler")" identifier (argument_list "("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler")" ( (string_literal ""id >= 0 && id < ngsslibs"" " string_content ") , (string_literal ""config.c"" " string_content ") , number_literal , (string_literal ""gsslist_handler"" " string_content ") ))) ;) })) (expression_statement "FUN_0017721a(param_1,param_2,(&PTR_s_libgssapi__Heimdal__001ec680)[iVar2],iVar2);" (call_expression "FUN_0017721a(param_1,param_2,(&PTR_s_libgssapi__Heimdal__001ec680)[iVar2],iVar2)" identifier (argument_list "(param_1,param_2,(&PTR_s_libgssapi__Heimdal__001ec680)[iVar2],iVar2)" ( identifier , identifier , (subscript_expression "(&PTR_s_libgssapi__Heimdal__001ec680)[iVar2]" (parenthesized_expression "(&PTR_s_libgssapi__Heimdal__001ec680)" ( (pointer_expression "&PTR_s_libgssapi__Heimdal__001ec680" & identifier) )) [ identifier ]) , identifier ))) ;) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar4 != iVar1)" ( (binary_expression "iVar4 != iVar1" identifier != identifier) )) ;) })) (expression_statement "FUN_00177e8e(param_1,param_2);" (call_expression "FUN_00177e8e(param_1,param_2)" identifier (argument_list "(param_1,param_2)" ( identifier , identifier ))) ;) }) (else_clause "else if ((param_4 == 2) && (0 < DAT_001cbfb0)) {\n    iVar4 = 0;\n    do {\n      uVar3 = FUN_001773e6(param_1,param_2,iVar4);\n      FUN_00119dee(param_3,0x29,iVar4,uVar3);\n      iVar4 = iVar4 + 1;\n    } while (iVar4 != iVar1);\n  }" else (if_statement "if ((param_4 == 2) && (0 < DAT_001cbfb0)) {\n    iVar4 = 0;\n    do {\n      uVar3 = FUN_001773e6(param_1,param_2,iVar4);\n      FUN_00119dee(param_3,0x29,iVar4,uVar3);\n      iVar4 = iVar4 + 1;\n    } while (iVar4 != iVar1);\n  }" if (parenthesized_expression "((param_4 == 2) && (0 < DAT_001cbfb0))" ( (binary_expression "(param_4 == 2) && (0 < DAT_001cbfb0)" (parenthesized_expression "(param_4 == 2)" ( (binary_expression "param_4 == 2" identifier == number_literal) )) && (parenthesized_expression "(0 < DAT_001cbfb0)" ( (binary_expression "0 < DAT_001cbfb0" number_literal < identifier) ))) )) (compound_statement "{\n    iVar4 = 0;\n    do {\n      uVar3 = FUN_001773e6(param_1,param_2,iVar4);\n      FUN_00119dee(param_3,0x29,iVar4,uVar3);\n      iVar4 = iVar4 + 1;\n    } while (iVar4 != iVar1);\n  }" { (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (do_statement "do {\n      uVar3 = FUN_001773e6(param_1,param_2,iVar4);\n      FUN_00119dee(param_3,0x29,iVar4,uVar3);\n      iVar4 = iVar4 + 1;\n    } while (iVar4 != iVar1);" do (compound_statement "{\n      uVar3 = FUN_001773e6(param_1,param_2,iVar4);\n      FUN_00119dee(param_3,0x29,iVar4,uVar3);\n      iVar4 = iVar4 + 1;\n    }" { (expression_statement "uVar3 = FUN_001773e6(param_1,param_2,iVar4);" (assignment_expression "uVar3 = FUN_001773e6(param_1,param_2,iVar4)" identifier = (call_expression "FUN_001773e6(param_1,param_2,iVar4)" identifier (argument_list "(param_1,param_2,iVar4)" ( identifier , identifier , identifier )))) ;) (expression_statement "FUN_00119dee(param_3,0x29,iVar4,uVar3);" (call_expression "FUN_00119dee(param_3,0x29,iVar4,uVar3)" identifier (argument_list "(param_3,0x29,iVar4,uVar3)" ( identifier , number_literal , identifier , identifier ))) ;) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar4 != iVar1)" ( (binary_expression "iVar4 != iVar1" identifier != identifier) )) ;) })))) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) || (parenthesized_expression ( (binary_expression IDENT < LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ]) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression LIT < IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })))) (return_statement return ;) })))
(function_definition "void FUN_0011ba4d(undefined8 param_1,undefined8 param_2,undefined8 param_3,int param_4)\n\n{\n  int iVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int iVar4;\n  \n  iVar1 = DAT_001cbfb0;\n  if (param_4 == 0) {\n    FUN_00177e8d();\n    FUN_001770c1(param_1,param_2);\n    iVar1 = DAT_001cbfb0;\n    if (0 < DAT_001cbfb0) {\n      iVar4 = 0;\n      do {\n        iVar2 = FUN_0011975f(param_3,0x29,iVar4);\n        if ((iVar1 <= iVar2) || (iVar2 < 0)) {\n                    \n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }\n        FUN_0017721a(param_1,param_2,(&PTR_s_libgssapi__Heimdal__001ec680)[iVar2],iVar2);\n        iVar4 = iVar4 + 1;\n      } while (iVar4 != iVar1);\n    }\n    FUN_00177e8e(param_1,param_2);\n  }\n  else if ((param_4 == 2) && (0 < DAT_001cbfb0)) {\n    iVar4 = 0;\n    do {\n      uVar3 = FUN_001773e6(param_1,param_2,iVar4);\n      FUN_00119dee(param_3,0x29,iVar4,uVar3);\n      iVar4 = iVar4 + 1;\n    } while (iVar4 != iVar1);\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0011ba4d(undefined8 param_1,undefined8 param_2,undefined8 param_3,int param_4)" (identifier "FUN_0011ba4d") (parameter_list "(undefined8 param_1,undefined8 param_2,undefined8 param_3,int param_4)" (( "(") (parameter_declaration "undefined8 param_1" (type_identifier "undefined8") (identifier "param_1")) (, ",") (parameter_declaration "undefined8 param_2" (type_identifier "undefined8") (identifier "param_2")) (, ",") (parameter_declaration "undefined8 param_3" (type_identifier "undefined8") (identifier "param_3")) (, ",") (parameter_declaration "int param_4" (primitive_type "int") (identifier "param_4")) () ")"))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int iVar4;\n  \n  iVar1 = DAT_001cbfb0;\n  if (param_4 == 0) {\n    FUN_00177e8d();\n    FUN_001770c1(param_1,param_2);\n    iVar1 = DAT_001cbfb0;\n    if (0 < DAT_001cbfb0) {\n      iVar4 = 0;\n      do {\n        iVar2 = FUN_0011975f(param_3,0x29,iVar4);\n        if ((iVar1 <= iVar2) || (iVar2 < 0)) {\n                    \n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }\n        FUN_0017721a(param_1,param_2,(&PTR_s_libgssapi__Heimdal__001ec680)[iVar2],iVar2);\n        iVar4 = iVar4 + 1;\n      } while (iVar4 != iVar1);\n    }\n    FUN_00177e8e(param_1,param_2);\n  }\n  else if ((param_4 == 2) && (0 < DAT_001cbfb0)) {\n    iVar4 = 0;\n    do {\n      uVar3 = FUN_001773e6(param_1,param_2,iVar4);\n      FUN_00119dee(param_3,0x29,iVar4,uVar3);\n      iVar4 = iVar4 + 1;\n    } while (iVar4 != iVar1);\n  }\n  return;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (expression_statement "iVar1 = DAT_001cbfb0;" (assignment_expression "iVar1 = DAT_001cbfb0" (identifier "iVar1") (= "=") (identifier "DAT_001cbfb0")) (; ";")) (if_statement "if (param_4 == 0) {\n    FUN_00177e8d();\n    FUN_001770c1(param_1,param_2);\n    iVar1 = DAT_001cbfb0;\n    if (0 < DAT_001cbfb0) {\n      iVar4 = 0;\n      do {\n        iVar2 = FUN_0011975f(param_3,0x29,iVar4);\n        if ((iVar1 <= iVar2) || (iVar2 < 0)) {\n                    \n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }\n        FUN_0017721a(param_1,param_2,(&PTR_s_libgssapi__Heimdal__001ec680)[iVar2],iVar2);\n        iVar4 = iVar4 + 1;\n      } while (iVar4 != iVar1);\n    }\n    FUN_00177e8e(param_1,param_2);\n  }\n  else if ((param_4 == 2) && (0 < DAT_001cbfb0)) {\n    iVar4 = 0;\n    do {\n      uVar3 = FUN_001773e6(param_1,param_2,iVar4);\n      FUN_00119dee(param_3,0x29,iVar4,uVar3);\n      iVar4 = iVar4 + 1;\n    } while (iVar4 != iVar1);\n  }" (if "if") (parenthesized_expression "(param_4 == 0)" (( "(") (binary_expression "param_4 == 0" (identifier "param_4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_00177e8d();\n    FUN_001770c1(param_1,param_2);\n    iVar1 = DAT_001cbfb0;\n    if (0 < DAT_001cbfb0) {\n      iVar4 = 0;\n      do {\n        iVar2 = FUN_0011975f(param_3,0x29,iVar4);\n        if ((iVar1 <= iVar2) || (iVar2 < 0)) {\n                    \n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }\n        FUN_0017721a(param_1,param_2,(&PTR_s_libgssapi__Heimdal__001ec680)[iVar2],iVar2);\n        iVar4 = iVar4 + 1;\n      } while (iVar4 != iVar1);\n    }\n    FUN_00177e8e(param_1,param_2);\n  }" ({ "{") (expression_statement "FUN_00177e8d();" (call_expression "FUN_00177e8d()" (identifier "FUN_00177e8d") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_001770c1(param_1,param_2);" (call_expression "FUN_001770c1(param_1,param_2)" (identifier "FUN_001770c1") (argument_list "(param_1,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "iVar1 = DAT_001cbfb0;" (assignment_expression "iVar1 = DAT_001cbfb0" (identifier "iVar1") (= "=") (identifier "DAT_001cbfb0")) (; ";")) (if_statement "if (0 < DAT_001cbfb0) {\n      iVar4 = 0;\n      do {\n        iVar2 = FUN_0011975f(param_3,0x29,iVar4);\n        if ((iVar1 <= iVar2) || (iVar2 < 0)) {\n                    \n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }\n        FUN_0017721a(param_1,param_2,(&PTR_s_libgssapi__Heimdal__001ec680)[iVar2],iVar2);\n        iVar4 = iVar4 + 1;\n      } while (iVar4 != iVar1);\n    }" (if "if") (parenthesized_expression "(0 < DAT_001cbfb0)" (( "(") (binary_expression "0 < DAT_001cbfb0" (number_literal "0") (< "<") (identifier "DAT_001cbfb0")) () ")")) (compound_statement "{\n      iVar4 = 0;\n      do {\n        iVar2 = FUN_0011975f(param_3,0x29,iVar4);\n        if ((iVar1 <= iVar2) || (iVar2 < 0)) {\n                    \n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }\n        FUN_0017721a(param_1,param_2,(&PTR_s_libgssapi__Heimdal__001ec680)[iVar2],iVar2);\n        iVar4 = iVar4 + 1;\n      } while (iVar4 != iVar1);\n    }" ({ "{") (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        iVar2 = FUN_0011975f(param_3,0x29,iVar4);\n        if ((iVar1 <= iVar2) || (iVar2 < 0)) {\n                    \n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }\n        FUN_0017721a(param_1,param_2,(&PTR_s_libgssapi__Heimdal__001ec680)[iVar2],iVar2);\n        iVar4 = iVar4 + 1;\n      } while (iVar4 != iVar1);" (do "do") (compound_statement "{\n        iVar2 = FUN_0011975f(param_3,0x29,iVar4);\n        if ((iVar1 <= iVar2) || (iVar2 < 0)) {\n                    \n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }\n        FUN_0017721a(param_1,param_2,(&PTR_s_libgssapi__Heimdal__001ec680)[iVar2],iVar2);\n        iVar4 = iVar4 + 1;\n      }" ({ "{") (expression_statement "iVar2 = FUN_0011975f(param_3,0x29,iVar4);" (assignment_expression "iVar2 = FUN_0011975f(param_3,0x29,iVar4)" (identifier "iVar2") (= "=") (call_expression "FUN_0011975f(param_3,0x29,iVar4)" (identifier "FUN_0011975f") (argument_list "(param_3,0x29,iVar4)" (( "(") (identifier "param_3") (, ",") (number_literal "0x29") (, ",") (identifier "iVar4") () ")")))) (; ";")) (if_statement "if ((iVar1 <= iVar2) || (iVar2 < 0)) {\n                    \n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }" (if "if") (parenthesized_expression "((iVar1 <= iVar2) || (iVar2 < 0))" (( "(") (binary_expression "(iVar1 <= iVar2) || (iVar2 < 0)" (parenthesized_expression "(iVar1 <= iVar2)" (( "(") (binary_expression "iVar1 <= iVar2" (identifier "iVar1") (<= "<=") (identifier "iVar2")) () ")")) (|| "||") (parenthesized_expression "(iVar2 < 0)" (( "(") (binary_expression "iVar2 < 0" (identifier "iVar2") (< "<") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                    \n          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");\n        }" ({ "{") (expression_statement "__assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");" (call_expression "__assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler")" (identifier "__assert_fail") (argument_list "("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler")" (( "(") (string_literal ""id >= 0 && id < ngsslibs"" (" """) (string_content "id >= 0 && id < ngsslibs") (" """)) (, ",") (string_literal ""config.c"" (" """) (string_content "config.c") (" """)) (, ",") (number_literal "0x199") (, ",") (string_literal ""gsslist_handler"" (" """) (string_content "gsslist_handler") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_0017721a(param_1,param_2,(&PTR_s_libgssapi__Heimdal__001ec680)[iVar2],iVar2);" (call_expression "FUN_0017721a(param_1,param_2,(&PTR_s_libgssapi__Heimdal__001ec680)[iVar2],iVar2)" (identifier "FUN_0017721a") (argument_list "(param_1,param_2,(&PTR_s_libgssapi__Heimdal__001ec680)[iVar2],iVar2)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (subscript_expression "(&PTR_s_libgssapi__Heimdal__001ec680)[iVar2]" (parenthesized_expression "(&PTR_s_libgssapi__Heimdal__001ec680)" (( "(") (pointer_expression "&PTR_s_libgssapi__Heimdal__001ec680" (& "&") (identifier "PTR_s_libgssapi__Heimdal__001ec680")) () ")")) ([ "[") (identifier "iVar2") (] "]")) (, ",") (identifier "iVar2") () ")"))) (; ";")) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar4 != iVar1)" (( "(") (binary_expression "iVar4 != iVar1" (identifier "iVar4") (!= "!=") (identifier "iVar1")) () ")")) (; ";")) (} "}"))) (expression_statement "FUN_00177e8e(param_1,param_2);" (call_expression "FUN_00177e8e(param_1,param_2)" (identifier "FUN_00177e8e") (argument_list "(param_1,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") () ")"))) (; ";")) (} "}")) (else_clause "else if ((param_4 == 2) && (0 < DAT_001cbfb0)) {\n    iVar4 = 0;\n    do {\n      uVar3 = FUN_001773e6(param_1,param_2,iVar4);\n      FUN_00119dee(param_3,0x29,iVar4,uVar3);\n      iVar4 = iVar4 + 1;\n    } while (iVar4 != iVar1);\n  }" (else "else") (if_statement "if ((param_4 == 2) && (0 < DAT_001cbfb0)) {\n    iVar4 = 0;\n    do {\n      uVar3 = FUN_001773e6(param_1,param_2,iVar4);\n      FUN_00119dee(param_3,0x29,iVar4,uVar3);\n      iVar4 = iVar4 + 1;\n    } while (iVar4 != iVar1);\n  }" (if "if") (parenthesized_expression "((param_4 == 2) && (0 < DAT_001cbfb0))" (( "(") (binary_expression "(param_4 == 2) && (0 < DAT_001cbfb0)" (parenthesized_expression "(param_4 == 2)" (( "(") (binary_expression "param_4 == 2" (identifier "param_4") (== "==") (number_literal "2")) () ")")) (&& "&&") (parenthesized_expression "(0 < DAT_001cbfb0)" (( "(") (binary_expression "0 < DAT_001cbfb0" (number_literal "0") (< "<") (identifier "DAT_001cbfb0")) () ")"))) () ")")) (compound_statement "{\n    iVar4 = 0;\n    do {\n      uVar3 = FUN_001773e6(param_1,param_2,iVar4);\n      FUN_00119dee(param_3,0x29,iVar4,uVar3);\n      iVar4 = iVar4 + 1;\n    } while (iVar4 != iVar1);\n  }" ({ "{") (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n      uVar3 = FUN_001773e6(param_1,param_2,iVar4);\n      FUN_00119dee(param_3,0x29,iVar4,uVar3);\n      iVar4 = iVar4 + 1;\n    } while (iVar4 != iVar1);" (do "do") (compound_statement "{\n      uVar3 = FUN_001773e6(param_1,param_2,iVar4);\n      FUN_00119dee(param_3,0x29,iVar4,uVar3);\n      iVar4 = iVar4 + 1;\n    }" ({ "{") (expression_statement "uVar3 = FUN_001773e6(param_1,param_2,iVar4);" (assignment_expression "uVar3 = FUN_001773e6(param_1,param_2,iVar4)" (identifier "uVar3") (= "=") (call_expression "FUN_001773e6(param_1,param_2,iVar4)" (identifier "FUN_001773e6") (argument_list "(param_1,param_2,iVar4)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "iVar4") () ")")))) (; ";")) (expression_statement "FUN_00119dee(param_3,0x29,iVar4,uVar3);" (call_expression "FUN_00119dee(param_3,0x29,iVar4,uVar3)" (identifier "FUN_00119dee") (argument_list "(param_3,0x29,iVar4,uVar3)" (( "(") (identifier "param_3") (, ",") (number_literal "0x29") (, ",") (identifier "iVar4") (, ",") (identifier "uVar3") () ")"))) (; ";")) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar4 != iVar1)" (( "(") (binary_expression "iVar4 != iVar1" (identifier "iVar4") (!= "!=") (identifier "iVar1")) () ")")) (; ";")) (} "}"))))) (return_statement "return;" (return "return") (; ";")) (} "}")))

void function_1(type_1 *ctrl,void *dlg,void *data,int var_1)

{
  int var_6;
  int var_7;
  int var_11;
  
  var_6 = var_4;
  if (var_1 == 0) {
    var_2(ctrl,dlg);
    var_3(ctrl,dlg);
    var_6 = var_4;
    if (0 < var_4) {
      var_11 = 0;
      do {
        var_7 = var_5((type_2 *)data,0x29,var_11);
        if ((var_6 <= var_7) || (var_7 < 0)) {
                    /* WARNING: Subroutine does not return */
          var_8("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");
        }
        var_9(ctrl,dlg,*(char **)(var_10 + (long)var_7 * 8),var_7);
        var_11 = var_11 + 1;
      } while (var_11 != var_6);
    }
    var_12(ctrl,dlg);
  }
  else if ((var_1 == 2) && (0 < var_4)) {
    var_11 = 0;
    do {
      var_7 = var_13(ctrl,dlg,var_11);
      var_14((type_2 *)data,0x29,var_11,var_7);
      var_11 = var_11 + 1;
    } while (var_11 != var_6);
  }
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (string_literal (string_content)) (number_literal) (string_literal (string_content))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (identifier)) (identifier)))) (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 (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (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 (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier)))) (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 MASKED(undefined8 param_1,undefined8 param_2,undefined8 param_3,int param_4)

{
  int iVar1;
  int iVar2;
  undefined4 uVar3;
  int iVar4;
  
  iVar1 = DAT_001cbfb0;
  if (param_4 == 0) {
    FUN_00177e8d();
    FUN_001770c1(param_1,param_2);
    iVar1 = DAT_001cbfb0;
    if (0 < DAT_001cbfb0) {
      iVar4 = 0;
      do {
        iVar2 = FUN_0011975f(param_3,0x29,iVar4);
        if ((iVar1 <= iVar2) || (iVar2 < 0)) {
                    /* WARNING: Subroutine does not return */
          __assert_fail("id >= 0 && id < ngsslibs","config.c",0x199,"gsslist_handler");
        }
        FUN_0017721a(param_1,param_2,(&PTR_s_libgssapi__Heimdal__001ec680)[iVar2],iVar2);
        iVar4 = iVar4 + 1;
      } while (iVar4 != iVar1);
    }
    FUN_00177e8e(param_1,param_2);
  }
  else if ((param_4 == 2) && (0 < DAT_001cbfb0)) {
    iVar4 = 0;
    do {
      uVar3 = FUN_001773e6(param_1,param_2,iVar4);
      FUN_00119dee(param_3,0x29,iVar4,uVar3);
      iVar4 = iVar4 + 1;
    } while (iVar4 != iVar1);
  }
  return;
}

