
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

unifont * unifont_create(GtkWidget *widget,char *name,int wide,int bold,int shadowoffset,
                        int shadowalways)

{
  char *pcVar1;
  unifont *puVar2;
  int *piVar3;
  int iVar4;
  undefined4 *puVar5;
  int in_t9;
  int iVar6;
  int start;
  int end;
  int *local_2c;
  
  puVar5 = *(undefined4 **)(in_t9 + 0x5f7ec);
  local_2c = (int *)*puVar5;
  pcVar1 = unifont_do_prefix(name,&start,&end);
  if (start < end) {
    iVar4 = *(int *)(&DAT_0005e494 + in_t9);
    iVar6 = start;
    do {
      puVar2 = (unifont *)
               (*(code *)**(undefined4 **)(iVar4 + 0x554 + iVar6 * 4))
                         (widget,pcVar1,wide,bold,shadowoffset,shadowalways);
      if (puVar2 != (unifont *)0x0) break;
      iVar6 = iVar6 + 1;
      puVar2 = (unifont *)0x0;
    } while (iVar6 < end);
  }
  else {
    puVar2 = (unifont *)0x0;
  }
  if (local_2c == (int *)*puVar5) {
    return puVar2;
  }
  piVar3 = local_2c;
  (**(code **)(in_t9 + 0x5f484))();
                    /* WARNING: Could not recover jumptable at 0x000b2f84. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  puVar2 = (unifont *)(**(code **)(*piVar3 + 8))();
  return puVar2;
}



int unifont_create(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,
                  undefined4 param_5,undefined4 param_6)

{
  undefined *puVar1;
  undefined *puVar2;
  undefined4 uVar3;
  int iVar4;
  int *piVar5;
  int local_34;
  int local_30;
  int *local_2c;
  
  puVar2 = PTR___stack_chk_guard_00112630;
  local_2c = *(int **)PTR___stack_chk_guard_00112630;
  uVar3 = FUN_000af69c(param_2,&local_34,&local_30);
  puVar1 = PTR_PTR_s_3des_cbc_001112d8;
  if (local_34 < local_30) {
    do {
      iVar4 = (*(code *)**(undefined4 **)(puVar1 + local_34 * 4 + 0x554))
                        (param_1,uVar3,param_3,param_4,param_5,param_6);
      if (iVar4 != 0) break;
      local_34 = local_34 + 1;
      iVar4 = 0;
    } while (local_34 < local_30);
  }
  else {
    iVar4 = 0;
  }
  if (local_2c != *(int **)puVar2) {
    piVar5 = local_2c;
    (*(code *)PTR___stack_chk_fail_001122c8)();
                    /* WARNING: Could not recover jumptable at 0x000b2f84. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    iVar4 = (**(code **)(*piVar5 + 8))();
    return iVar4;
  }
  return iVar4;
}


lui gp,0x6
addiu gp,gp,0x646c
addu gp,gp,t9
addiu sp,sp,-0x58
lw t9,-0x75f4(gp)
or v1,a1,zero
addiu a1,sp,0x24
sw s7,0x4c(sp)
addiu t9,t9,-0x964
lw s7,-0x6c80(gp)
sw s3,0x3c(sp)
or s3,a2,zero
addiu a2,sp,0x28
sw gp,0x18(sp)
sw s8,0x50(sp)
sw s6,0x48(sp)
sw s5,0x44(sp)
sw s4,0x40(sp)
or s4,a3,zero
sw s2,0x38(sp)
or s2,a0,zero
sw s1,0x34(sp)
or a0,v1,zero
sw ra,0x54(sp)
sw s0,0x30(sp)
lw v0,0x0(s7)
lw s5,0x68(sp)
lw s6,0x6c(sp)
sw v0,0x2c(sp)
bal 0x000af69c
_nop
lw s8,0x24(sp)
or s1,v0,zero
lw v0,0x28(sp)
slt v0,s8,v0
beq v0,zero,0x000b2f68
_lw gp,0x18(sp)
lw s0,-0x7fd8(gp)
b 0x000b2ef8
_addiu s0,s0,0x554
lw v0,0x28(sp)
addiu s8,s8,0x1
slt v0,s8,v0
beq v0,zero,0x000b2f2c
_or v0,zero,zero
sll v0,s8,0x2
sw s6,0x14(sp)
sw s5,0x10(sp)
or a3,s4,zero
addu v0,s0,v0
or a2,s3,zero
or a1,s1,zero
lw v0,0x0(v0)
lw t9,0x0(v0)
jalr t9
_or a0,s2,zero
beq v0,zero,0x000b2ee4
_lw gp,0x18(sp)
lw a0,0x2c(sp)
lw v1,0x0(s7)
bne a0,v1,0x000b2f70
_lw ra,0x54(sp)
lw s8,0x50(sp)
lw s7,0x4c(sp)
lw s6,0x48(sp)
lw s5,0x44(sp)
lw s4,0x40(sp)
lw s3,0x3c(sp)
lw s2,0x38(sp)
lw s1,0x34(sp)
lw s0,0x30(sp)
jr ra
_addiu sp,sp,0x58
b 0x000b2f2c
_or v0,zero,zero
lw t9,-0x6fe8(gp)
jalr t9
_nop
(translation_unit "int unifont_create(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n                  undefined4 param_5,undefined4 param_6)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined4 uVar3;\n  int iVar4;\n  int *piVar5;\n  int local_34;\n  int local_30;\n  int *local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_00112630;\n  local_2c = *(int **)PTR___stack_chk_guard_00112630;\n  uVar3 = FUN_000af69c(param_2,&local_34,&local_30);\n  puVar1 = PTR_PTR_s_3des_cbc_001112d8;\n  if (local_34 < local_30) {\n    do {\n      iVar4 = (*(code *)**(undefined4 **)(puVar1 + local_34 * 4 + 0x554))\n                        (param_1,uVar3,param_3,param_4,param_5,param_6);\n      if (iVar4 != 0) break;\n      local_34 = local_34 + 1;\n      iVar4 = 0;\n    } while (local_34 < local_30);\n  }\n  else {\n    iVar4 = 0;\n  }\n  if (local_2c != *(int **)puVar2) {\n    piVar5 = local_2c;\n    (*(code *)PTR___stack_chk_fail_001122c8)();\n                    /* WARNING: Could not recover jumptable at 0x000b2f84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    iVar4 = (**(code **)(*piVar5 + 8))();\n    return iVar4;\n  }\n  return iVar4;\n}\n\n" (function_definition "int unifont_create(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n                  undefined4 param_5,undefined4 param_6)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined4 uVar3;\n  int iVar4;\n  int *piVar5;\n  int local_34;\n  int local_30;\n  int *local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_00112630;\n  local_2c = *(int **)PTR___stack_chk_guard_00112630;\n  uVar3 = FUN_000af69c(param_2,&local_34,&local_30);\n  puVar1 = PTR_PTR_s_3des_cbc_001112d8;\n  if (local_34 < local_30) {\n    do {\n      iVar4 = (*(code *)**(undefined4 **)(puVar1 + local_34 * 4 + 0x554))\n                        (param_1,uVar3,param_3,param_4,param_5,param_6);\n      if (iVar4 != 0) break;\n      local_34 = local_34 + 1;\n      iVar4 = 0;\n    } while (local_34 < local_30);\n  }\n  else {\n    iVar4 = 0;\n  }\n  if (local_2c != *(int **)puVar2) {\n    piVar5 = local_2c;\n    (*(code *)PTR___stack_chk_fail_001122c8)();\n                    /* WARNING: Could not recover jumptable at 0x000b2f84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    iVar4 = (**(code **)(*piVar5 + 8))();\n    return iVar4;\n  }\n  return iVar4;\n}" primitive_type (function_declarator "unifont_create(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n                  undefined4 param_5,undefined4 param_6)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n                  undefined4 param_5,undefined4 param_6)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "undefined4 param_5" type_identifier identifier) , (parameter_declaration "undefined4 param_6" type_identifier identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined4 uVar3;\n  int iVar4;\n  int *piVar5;\n  int local_34;\n  int local_30;\n  int *local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_00112630;\n  local_2c = *(int **)PTR___stack_chk_guard_00112630;\n  uVar3 = FUN_000af69c(param_2,&local_34,&local_30);\n  puVar1 = PTR_PTR_s_3des_cbc_001112d8;\n  if (local_34 < local_30) {\n    do {\n      iVar4 = (*(code *)**(undefined4 **)(puVar1 + local_34 * 4 + 0x554))\n                        (param_1,uVar3,param_3,param_4,param_5,param_6);\n      if (iVar4 != 0) break;\n      local_34 = local_34 + 1;\n      iVar4 = 0;\n    } while (local_34 < local_30);\n  }\n  else {\n    iVar4 = 0;\n  }\n  if (local_2c != *(int **)puVar2) {\n    piVar5 = local_2c;\n    (*(code *)PTR___stack_chk_fail_001122c8)();\n                    /* WARNING: Could not recover jumptable at 0x000b2f84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    iVar4 = (**(code **)(*piVar5 + 8))();\n    return iVar4;\n  }\n  return iVar4;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "int local_30;" primitive_type identifier ;) (declaration "int *local_2c;" primitive_type (pointer_declarator "*local_2c" * identifier) ;) (expression_statement "puVar2 = PTR___stack_chk_guard_00112630;" (assignment_expression "puVar2 = PTR___stack_chk_guard_00112630" identifier = identifier) ;) (expression_statement "local_2c = *(int **)PTR___stack_chk_guard_00112630;" (assignment_expression "local_2c = *(int **)PTR___stack_chk_guard_00112630" identifier = (pointer_expression "*(int **)PTR___stack_chk_guard_00112630" * (cast_expression "(int **)PTR___stack_chk_guard_00112630" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "uVar3 = FUN_000af69c(param_2,&local_34,&local_30);" (assignment_expression "uVar3 = FUN_000af69c(param_2,&local_34,&local_30)" identifier = (call_expression "FUN_000af69c(param_2,&local_34,&local_30)" identifier (argument_list "(param_2,&local_34,&local_30)" ( identifier , (pointer_expression "&local_34" & identifier) , (pointer_expression "&local_30" & identifier) )))) ;) (expression_statement "puVar1 = PTR_PTR_s_3des_cbc_001112d8;" (assignment_expression "puVar1 = PTR_PTR_s_3des_cbc_001112d8" identifier = identifier) ;) (if_statement "if (local_34 < local_30) {\n    do {\n      iVar4 = (*(code *)**(undefined4 **)(puVar1 + local_34 * 4 + 0x554))\n                        (param_1,uVar3,param_3,param_4,param_5,param_6);\n      if (iVar4 != 0) break;\n      local_34 = local_34 + 1;\n      iVar4 = 0;\n    } while (local_34 < local_30);\n  }\n  else {\n    iVar4 = 0;\n  }" if (parenthesized_expression "(local_34 < local_30)" ( (binary_expression "local_34 < local_30" identifier < identifier) )) (compound_statement "{\n    do {\n      iVar4 = (*(code *)**(undefined4 **)(puVar1 + local_34 * 4 + 0x554))\n                        (param_1,uVar3,param_3,param_4,param_5,param_6);\n      if (iVar4 != 0) break;\n      local_34 = local_34 + 1;\n      iVar4 = 0;\n    } while (local_34 < local_30);\n  }" { (do_statement "do {\n      iVar4 = (*(code *)**(undefined4 **)(puVar1 + local_34 * 4 + 0x554))\n                        (param_1,uVar3,param_3,param_4,param_5,param_6);\n      if (iVar4 != 0) break;\n      local_34 = local_34 + 1;\n      iVar4 = 0;\n    } while (local_34 < local_30);" do (compound_statement "{\n      iVar4 = (*(code *)**(undefined4 **)(puVar1 + local_34 * 4 + 0x554))\n                        (param_1,uVar3,param_3,param_4,param_5,param_6);\n      if (iVar4 != 0) break;\n      local_34 = local_34 + 1;\n      iVar4 = 0;\n    }" { (expression_statement "iVar4 = (*(code *)**(undefined4 **)(puVar1 + local_34 * 4 + 0x554))\n                        (param_1,uVar3,param_3,param_4,param_5,param_6);" (assignment_expression "iVar4 = (*(code *)**(undefined4 **)(puVar1 + local_34 * 4 + 0x554))\n                        (param_1,uVar3,param_3,param_4,param_5,param_6)" identifier = (call_expression "(*(code *)**(undefined4 **)(puVar1 + local_34 * 4 + 0x554))\n                        (param_1,uVar3,param_3,param_4,param_5,param_6)" (parenthesized_expression "(*(code *)**(undefined4 **)(puVar1 + local_34 * 4 + 0x554))" ( (pointer_expression "*(code *)**(undefined4 **)(puVar1 + local_34 * 4 + 0x554)" * (cast_expression "(code *)**(undefined4 **)(puVar1 + local_34 * 4 + 0x554)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puVar1 + local_34 * 4 + 0x554)" * (pointer_expression "*(undefined4 **)(puVar1 + local_34 * 4 + 0x554)" * (cast_expression "(undefined4 **)(puVar1 + local_34 * 4 + 0x554)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar1 + local_34 * 4 + 0x554)" ( (binary_expression "puVar1 + local_34 * 4 + 0x554" (binary_expression "puVar1 + local_34 * 4" identifier + (binary_expression "local_34 * 4" identifier * number_literal)) + number_literal) ))))))) )) (argument_list "(param_1,uVar3,param_3,param_4,param_5,param_6)" ( identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar4 != 0) break;" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "local_34 = local_34 + 1;" (assignment_expression "local_34 = local_34 + 1" identifier = (binary_expression "local_34 + 1" identifier + number_literal)) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) }) while (parenthesized_expression "(local_34 < local_30)" ( (binary_expression "local_34 < local_30" identifier < identifier) )) ;) }) (else_clause "else {\n    iVar4 = 0;\n  }" else (compound_statement "{\n    iVar4 = 0;\n  }" { (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) }))) (if_statement "if (local_2c != *(int **)puVar2) {\n    piVar5 = local_2c;\n    (*(code *)PTR___stack_chk_fail_001122c8)();\n                    /* WARNING: Could not recover jumptable at 0x000b2f84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    iVar4 = (**(code **)(*piVar5 + 8))();\n    return iVar4;\n  }" if (parenthesized_expression "(local_2c != *(int **)puVar2)" ( (binary_expression "local_2c != *(int **)puVar2" identifier != (pointer_expression "*(int **)puVar2" * (cast_expression "(int **)puVar2" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    piVar5 = local_2c;\n    (*(code *)PTR___stack_chk_fail_001122c8)();\n                    /* WARNING: Could not recover jumptable at 0x000b2f84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    iVar4 = (**(code **)(*piVar5 + 8))();\n    return iVar4;\n  }" { (expression_statement "piVar5 = local_2c;" (assignment_expression "piVar5 = local_2c" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_001122c8)();" (call_expression "(*(code *)PTR___stack_chk_fail_001122c8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_001122c8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_001122c8" * (cast_expression "(code *)PTR___stack_chk_fail_001122c8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) comment comment (expression_statement "iVar4 = (**(code **)(*piVar5 + 8))();" (assignment_expression "iVar4 = (**(code **)(*piVar5 + 8))()" identifier = (call_expression "(**(code **)(*piVar5 + 8))()" (parenthesized_expression "(**(code **)(*piVar5 + 8))" ( (pointer_expression "**(code **)(*piVar5 + 8)" * (pointer_expression "*(code **)(*piVar5 + 8)" * (cast_expression "(code **)(*piVar5 + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar5 + 8)" ( (binary_expression "*piVar5 + 8" (pointer_expression "*piVar5" * identifier) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (return_statement "return iVar4;" return identifier ;) })) (return_statement "return iVar4;" return identifier ;) })))
(translation_unit "/* WARNING: Enum "anon_enum_32": Some values do not have unique names */\n\nunifont * unifont_create(GtkWidget *widget,char *name,int wide,int bold,int shadowoffset,\n                        int shadowalways)\n\n{\n  char *pcVar1;\n  unifont *puVar2;\n  int *piVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  int in_t9;\n  int iVar6;\n  int start;\n  int end;\n  int *local_2c;\n  \n  puVar5 = *(undefined4 **)(in_t9 + 0x5f7ec);\n  local_2c = (int *)*puVar5;\n  pcVar1 = unifont_do_prefix(name,&start,&end);\n  if (start < end) {\n    iVar4 = *(int *)(&DAT_0005e494 + in_t9);\n    iVar6 = start;\n    do {\n      puVar2 = (unifont *)\n               (*(code *)**(undefined4 **)(iVar4 + 0x554 + iVar6 * 4))\n                         (widget,pcVar1,wide,bold,shadowoffset,shadowalways);\n      if (puVar2 != (unifont *)0x0) break;\n      iVar6 = iVar6 + 1;\n      puVar2 = (unifont *)0x0;\n    } while (iVar6 < end);\n  }\n  else {\n    puVar2 = (unifont *)0x0;\n  }\n  if (local_2c == (int *)*puVar5) {\n    return puVar2;\n  }\n  piVar3 = local_2c;\n  (**(code **)(in_t9 + 0x5f484))();\n                    /* WARNING: Could not recover jumptable at 0x000b2f84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  puVar2 = (unifont *)(**(code **)(*piVar3 + 8))();\n  return puVar2;\n}\n\n" comment (function_definition "unifont * unifont_create(GtkWidget *widget,char *name,int wide,int bold,int shadowoffset,\n                        int shadowalways)\n\n{\n  char *pcVar1;\n  unifont *puVar2;\n  int *piVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  int in_t9;\n  int iVar6;\n  int start;\n  int end;\n  int *local_2c;\n  \n  puVar5 = *(undefined4 **)(in_t9 + 0x5f7ec);\n  local_2c = (int *)*puVar5;\n  pcVar1 = unifont_do_prefix(name,&start,&end);\n  if (start < end) {\n    iVar4 = *(int *)(&DAT_0005e494 + in_t9);\n    iVar6 = start;\n    do {\n      puVar2 = (unifont *)\n               (*(code *)**(undefined4 **)(iVar4 + 0x554 + iVar6 * 4))\n                         (widget,pcVar1,wide,bold,shadowoffset,shadowalways);\n      if (puVar2 != (unifont *)0x0) break;\n      iVar6 = iVar6 + 1;\n      puVar2 = (unifont *)0x0;\n    } while (iVar6 < end);\n  }\n  else {\n    puVar2 = (unifont *)0x0;\n  }\n  if (local_2c == (int *)*puVar5) {\n    return puVar2;\n  }\n  piVar3 = local_2c;\n  (**(code **)(in_t9 + 0x5f484))();\n                    /* WARNING: Could not recover jumptable at 0x000b2f84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  puVar2 = (unifont *)(**(code **)(*piVar3 + 8))();\n  return puVar2;\n}" type_identifier (pointer_declarator "* unifont_create(GtkWidget *widget,char *name,int wide,int bold,int shadowoffset,\n                        int shadowalways)" * (function_declarator "unifont_create(GtkWidget *widget,char *name,int wide,int bold,int shadowoffset,\n                        int shadowalways)" identifier (parameter_list "(GtkWidget *widget,char *name,int wide,int bold,int shadowoffset,\n                        int shadowalways)" ( (parameter_declaration "GtkWidget *widget" type_identifier (pointer_declarator "*widget" * identifier)) , (parameter_declaration "char *name" primitive_type (pointer_declarator "*name" * identifier)) , (parameter_declaration "int wide" primitive_type identifier) , (parameter_declaration "int bold" primitive_type identifier) , (parameter_declaration "int shadowoffset" primitive_type identifier) , (parameter_declaration "int shadowalways" primitive_type identifier) )))) (compound_statement "{\n  char *pcVar1;\n  unifont *puVar2;\n  int *piVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  int in_t9;\n  int iVar6;\n  int start;\n  int end;\n  int *local_2c;\n  \n  puVar5 = *(undefined4 **)(in_t9 + 0x5f7ec);\n  local_2c = (int *)*puVar5;\n  pcVar1 = unifont_do_prefix(name,&start,&end);\n  if (start < end) {\n    iVar4 = *(int *)(&DAT_0005e494 + in_t9);\n    iVar6 = start;\n    do {\n      puVar2 = (unifont *)\n               (*(code *)**(undefined4 **)(iVar4 + 0x554 + iVar6 * 4))\n                         (widget,pcVar1,wide,bold,shadowoffset,shadowalways);\n      if (puVar2 != (unifont *)0x0) break;\n      iVar6 = iVar6 + 1;\n      puVar2 = (unifont *)0x0;\n    } while (iVar6 < end);\n  }\n  else {\n    puVar2 = (unifont *)0x0;\n  }\n  if (local_2c == (int *)*puVar5) {\n    return puVar2;\n  }\n  piVar3 = local_2c;\n  (**(code **)(in_t9 + 0x5f484))();\n                    /* WARNING: Could not recover jumptable at 0x000b2f84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  puVar2 = (unifont *)(**(code **)(*piVar3 + 8))();\n  return puVar2;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "unifont *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int in_t9;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int start;" primitive_type identifier ;) (declaration "int end;" primitive_type identifier ;) (declaration "int *local_2c;" primitive_type (pointer_declarator "*local_2c" * identifier) ;) (expression_statement "puVar5 = *(undefined4 **)(in_t9 + 0x5f7ec);" (assignment_expression "puVar5 = *(undefined4 **)(in_t9 + 0x5f7ec)" identifier = (pointer_expression "*(undefined4 **)(in_t9 + 0x5f7ec)" * (cast_expression "(undefined4 **)(in_t9 + 0x5f7ec)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x5f7ec)" ( (binary_expression "in_t9 + 0x5f7ec" identifier + number_literal) ))))) ;) (expression_statement "local_2c = (int *)*puVar5;" (assignment_expression "local_2c = (int *)*puVar5" identifier = (cast_expression "(int *)*puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;) (expression_statement "pcVar1 = unifont_do_prefix(name,&start,&end);" (assignment_expression "pcVar1 = unifont_do_prefix(name,&start,&end)" identifier = (call_expression "unifont_do_prefix(name,&start,&end)" identifier (argument_list "(name,&start,&end)" ( identifier , (pointer_expression "&start" & identifier) , (pointer_expression "&end" & identifier) )))) ;) (if_statement "if (start < end) {\n    iVar4 = *(int *)(&DAT_0005e494 + in_t9);\n    iVar6 = start;\n    do {\n      puVar2 = (unifont *)\n               (*(code *)**(undefined4 **)(iVar4 + 0x554 + iVar6 * 4))\n                         (widget,pcVar1,wide,bold,shadowoffset,shadowalways);\n      if (puVar2 != (unifont *)0x0) break;\n      iVar6 = iVar6 + 1;\n      puVar2 = (unifont *)0x0;\n    } while (iVar6 < end);\n  }\n  else {\n    puVar2 = (unifont *)0x0;\n  }" if (parenthesized_expression "(start < end)" ( (binary_expression "start < end" identifier < identifier) )) (compound_statement "{\n    iVar4 = *(int *)(&DAT_0005e494 + in_t9);\n    iVar6 = start;\n    do {\n      puVar2 = (unifont *)\n               (*(code *)**(undefined4 **)(iVar4 + 0x554 + iVar6 * 4))\n                         (widget,pcVar1,wide,bold,shadowoffset,shadowalways);\n      if (puVar2 != (unifont *)0x0) break;\n      iVar6 = iVar6 + 1;\n      puVar2 = (unifont *)0x0;\n    } while (iVar6 < end);\n  }" { (expression_statement "iVar4 = *(int *)(&DAT_0005e494 + in_t9);" (assignment_expression "iVar4 = *(int *)(&DAT_0005e494 + in_t9)" identifier = (pointer_expression "*(int *)(&DAT_0005e494 + in_t9)" * (cast_expression "(int *)(&DAT_0005e494 + in_t9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0005e494 + in_t9)" ( (binary_expression "&DAT_0005e494 + in_t9" (pointer_expression "&DAT_0005e494" & identifier) + identifier) ))))) ;) (expression_statement "iVar6 = start;" (assignment_expression "iVar6 = start" identifier = identifier) ;) (do_statement "do {\n      puVar2 = (unifont *)\n               (*(code *)**(undefined4 **)(iVar4 + 0x554 + iVar6 * 4))\n                         (widget,pcVar1,wide,bold,shadowoffset,shadowalways);\n      if (puVar2 != (unifont *)0x0) break;\n      iVar6 = iVar6 + 1;\n      puVar2 = (unifont *)0x0;\n    } while (iVar6 < end);" do (compound_statement "{\n      puVar2 = (unifont *)\n               (*(code *)**(undefined4 **)(iVar4 + 0x554 + iVar6 * 4))\n                         (widget,pcVar1,wide,bold,shadowoffset,shadowalways);\n      if (puVar2 != (unifont *)0x0) break;\n      iVar6 = iVar6 + 1;\n      puVar2 = (unifont *)0x0;\n    }" { (expression_statement "puVar2 = (unifont *)\n               (*(code *)**(undefined4 **)(iVar4 + 0x554 + iVar6 * 4))\n                         (widget,pcVar1,wide,bold,shadowoffset,shadowalways);" (assignment_expression "puVar2 = (unifont *)\n               (*(code *)**(undefined4 **)(iVar4 + 0x554 + iVar6 * 4))\n                         (widget,pcVar1,wide,bold,shadowoffset,shadowalways)" identifier = (cast_expression "(unifont *)\n               (*(code *)**(undefined4 **)(iVar4 + 0x554 + iVar6 * 4))\n                         (widget,pcVar1,wide,bold,shadowoffset,shadowalways)" ( (type_descriptor "unifont *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)**(undefined4 **)(iVar4 + 0x554 + iVar6 * 4))\n                         (widget,pcVar1,wide,bold,shadowoffset,shadowalways)" (parenthesized_expression "(*(code *)**(undefined4 **)(iVar4 + 0x554 + iVar6 * 4))" ( (pointer_expression "*(code *)**(undefined4 **)(iVar4 + 0x554 + iVar6 * 4)" * (cast_expression "(code *)**(undefined4 **)(iVar4 + 0x554 + iVar6 * 4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(iVar4 + 0x554 + iVar6 * 4)" * (pointer_expression "*(undefined4 **)(iVar4 + 0x554 + iVar6 * 4)" * (cast_expression "(undefined4 **)(iVar4 + 0x554 + iVar6 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x554 + iVar6 * 4)" ( (binary_expression "iVar4 + 0x554 + iVar6 * 4" (binary_expression "iVar4 + 0x554" identifier + number_literal) + (binary_expression "iVar6 * 4" identifier * number_literal)) ))))))) )) (argument_list "(widget,pcVar1,wide,bold,shadowoffset,shadowalways)" ( identifier , identifier , identifier , identifier , identifier , identifier ))))) ;) (if_statement "if (puVar2 != (unifont *)0x0) break;" if (parenthesized_expression "(puVar2 != (unifont *)0x0)" ( (binary_expression "puVar2 != (unifont *)0x0" identifier != (cast_expression "(unifont *)0x0" ( (type_descriptor "unifont *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "puVar2 = (unifont *)0x0;" (assignment_expression "puVar2 = (unifont *)0x0" identifier = (cast_expression "(unifont *)0x0" ( (type_descriptor "unifont *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) while (parenthesized_expression "(iVar6 < end)" ( (binary_expression "iVar6 < end" identifier < identifier) )) ;) }) (else_clause "else {\n    puVar2 = (unifont *)0x0;\n  }" else (compound_statement "{\n    puVar2 = (unifont *)0x0;\n  }" { (expression_statement "puVar2 = (unifont *)0x0;" (assignment_expression "puVar2 = (unifont *)0x0" identifier = (cast_expression "(unifont *)0x0" ( (type_descriptor "unifont *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (if_statement "if (local_2c == (int *)*puVar5) {\n    return puVar2;\n  }" if (parenthesized_expression "(local_2c == (int *)*puVar5)" ( (binary_expression "local_2c == (int *)*puVar5" identifier == (cast_expression "(int *)*puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) )) (compound_statement "{\n    return puVar2;\n  }" { (return_statement "return puVar2;" return identifier ;) })) (expression_statement "piVar3 = local_2c;" (assignment_expression "piVar3 = local_2c" identifier = identifier) ;) (expression_statement "(**(code **)(in_t9 + 0x5f484))();" (call_expression "(**(code **)(in_t9 + 0x5f484))()" (parenthesized_expression "(**(code **)(in_t9 + 0x5f484))" ( (pointer_expression "**(code **)(in_t9 + 0x5f484)" * (pointer_expression "*(code **)(in_t9 + 0x5f484)" * (cast_expression "(code **)(in_t9 + 0x5f484)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x5f484)" ( (binary_expression "in_t9 + 0x5f484" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) comment comment (expression_statement "puVar2 = (unifont *)(**(code **)(*piVar3 + 8))();" (assignment_expression "puVar2 = (unifont *)(**(code **)(*piVar3 + 8))()" identifier = (cast_expression "(unifont *)(**(code **)(*piVar3 + 8))()" ( (type_descriptor "unifont *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*piVar3 + 8))()" (parenthesized_expression "(**(code **)(*piVar3 + 8))" ( (pointer_expression "**(code **)(*piVar3 + 8)" * (pointer_expression "*(code **)(*piVar3 + 8)" * (cast_expression "(code **)(*piVar3 + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar3 + 8)" ( (binary_expression "*piVar3 + 8" (pointer_expression "*piVar3" * identifier) + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (return_statement "return puVar2;" return identifier ;) })))
(translation_unit "int unifont_create(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n                  undefined4 param_5,undefined4 param_6)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined4 uVar3;\n  int iVar4;\n  int *piVar5;\n  int local_34;\n  int local_30;\n  int *local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_00112630;\n  local_2c = *(int **)PTR___stack_chk_guard_00112630;\n  uVar3 = FUN_000af69c(param_2,&local_34,&local_30);\n  puVar1 = PTR_PTR_s_3des_cbc_001112d8;\n  if (local_34 < local_30) {\n    do {\n      iVar4 = (*(code *)**(undefined4 **)(puVar1 + local_34 * 4 + 0x554))\n                        (param_1,uVar3,param_3,param_4,param_5,param_6);\n      if (iVar4 != 0) break;\n      local_34 = local_34 + 1;\n      iVar4 = 0;\n    } while (local_34 < local_30);\n  }\n  else {\n    iVar4 = 0;\n  }\n  if (local_2c != *(int **)puVar2) {\n    piVar5 = local_2c;\n    (*(code *)PTR___stack_chk_fail_001122c8)();\n                    \n                    \n    iVar4 = (**(code **)(*piVar5 + 8))();\n    return iVar4;\n  }\n  return iVar4;\n}\n\n" (function_definition "int unifont_create(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n                  undefined4 param_5,undefined4 param_6)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined4 uVar3;\n  int iVar4;\n  int *piVar5;\n  int local_34;\n  int local_30;\n  int *local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_00112630;\n  local_2c = *(int **)PTR___stack_chk_guard_00112630;\n  uVar3 = FUN_000af69c(param_2,&local_34,&local_30);\n  puVar1 = PTR_PTR_s_3des_cbc_001112d8;\n  if (local_34 < local_30) {\n    do {\n      iVar4 = (*(code *)**(undefined4 **)(puVar1 + local_34 * 4 + 0x554))\n                        (param_1,uVar3,param_3,param_4,param_5,param_6);\n      if (iVar4 != 0) break;\n      local_34 = local_34 + 1;\n      iVar4 = 0;\n    } while (local_34 < local_30);\n  }\n  else {\n    iVar4 = 0;\n  }\n  if (local_2c != *(int **)puVar2) {\n    piVar5 = local_2c;\n    (*(code *)PTR___stack_chk_fail_001122c8)();\n                    \n                    \n    iVar4 = (**(code **)(*piVar5 + 8))();\n    return iVar4;\n  }\n  return iVar4;\n}" primitive_type (function_declarator "unifont_create(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n                  undefined4 param_5,undefined4 param_6)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n                  undefined4 param_5,undefined4 param_6)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "undefined4 param_5" type_identifier identifier) , (parameter_declaration "undefined4 param_6" type_identifier identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined4 uVar3;\n  int iVar4;\n  int *piVar5;\n  int local_34;\n  int local_30;\n  int *local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_00112630;\n  local_2c = *(int **)PTR___stack_chk_guard_00112630;\n  uVar3 = FUN_000af69c(param_2,&local_34,&local_30);\n  puVar1 = PTR_PTR_s_3des_cbc_001112d8;\n  if (local_34 < local_30) {\n    do {\n      iVar4 = (*(code *)**(undefined4 **)(puVar1 + local_34 * 4 + 0x554))\n                        (param_1,uVar3,param_3,param_4,param_5,param_6);\n      if (iVar4 != 0) break;\n      local_34 = local_34 + 1;\n      iVar4 = 0;\n    } while (local_34 < local_30);\n  }\n  else {\n    iVar4 = 0;\n  }\n  if (local_2c != *(int **)puVar2) {\n    piVar5 = local_2c;\n    (*(code *)PTR___stack_chk_fail_001122c8)();\n                    \n                    \n    iVar4 = (**(code **)(*piVar5 + 8))();\n    return iVar4;\n  }\n  return iVar4;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "int local_30;" primitive_type identifier ;) (declaration "int *local_2c;" primitive_type (pointer_declarator "*local_2c" * identifier) ;) (expression_statement "puVar2 = PTR___stack_chk_guard_00112630;" (assignment_expression "puVar2 = PTR___stack_chk_guard_00112630" identifier = identifier) ;) (expression_statement "local_2c = *(int **)PTR___stack_chk_guard_00112630;" (assignment_expression "local_2c = *(int **)PTR___stack_chk_guard_00112630" identifier = (pointer_expression "*(int **)PTR___stack_chk_guard_00112630" * (cast_expression "(int **)PTR___stack_chk_guard_00112630" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "uVar3 = FUN_000af69c(param_2,&local_34,&local_30);" (assignment_expression "uVar3 = FUN_000af69c(param_2,&local_34,&local_30)" identifier = (call_expression "FUN_000af69c(param_2,&local_34,&local_30)" identifier (argument_list "(param_2,&local_34,&local_30)" ( identifier , (pointer_expression "&local_34" & identifier) , (pointer_expression "&local_30" & identifier) )))) ;) (expression_statement "puVar1 = PTR_PTR_s_3des_cbc_001112d8;" (assignment_expression "puVar1 = PTR_PTR_s_3des_cbc_001112d8" identifier = identifier) ;) (if_statement "if (local_34 < local_30) {\n    do {\n      iVar4 = (*(code *)**(undefined4 **)(puVar1 + local_34 * 4 + 0x554))\n                        (param_1,uVar3,param_3,param_4,param_5,param_6);\n      if (iVar4 != 0) break;\n      local_34 = local_34 + 1;\n      iVar4 = 0;\n    } while (local_34 < local_30);\n  }\n  else {\n    iVar4 = 0;\n  }" if (parenthesized_expression "(local_34 < local_30)" ( (binary_expression "local_34 < local_30" identifier < identifier) )) (compound_statement "{\n    do {\n      iVar4 = (*(code *)**(undefined4 **)(puVar1 + local_34 * 4 + 0x554))\n                        (param_1,uVar3,param_3,param_4,param_5,param_6);\n      if (iVar4 != 0) break;\n      local_34 = local_34 + 1;\n      iVar4 = 0;\n    } while (local_34 < local_30);\n  }" { (do_statement "do {\n      iVar4 = (*(code *)**(undefined4 **)(puVar1 + local_34 * 4 + 0x554))\n                        (param_1,uVar3,param_3,param_4,param_5,param_6);\n      if (iVar4 != 0) break;\n      local_34 = local_34 + 1;\n      iVar4 = 0;\n    } while (local_34 < local_30);" do (compound_statement "{\n      iVar4 = (*(code *)**(undefined4 **)(puVar1 + local_34 * 4 + 0x554))\n                        (param_1,uVar3,param_3,param_4,param_5,param_6);\n      if (iVar4 != 0) break;\n      local_34 = local_34 + 1;\n      iVar4 = 0;\n    }" { (expression_statement "iVar4 = (*(code *)**(undefined4 **)(puVar1 + local_34 * 4 + 0x554))\n                        (param_1,uVar3,param_3,param_4,param_5,param_6);" (assignment_expression "iVar4 = (*(code *)**(undefined4 **)(puVar1 + local_34 * 4 + 0x554))\n                        (param_1,uVar3,param_3,param_4,param_5,param_6)" identifier = (call_expression "(*(code *)**(undefined4 **)(puVar1 + local_34 * 4 + 0x554))\n                        (param_1,uVar3,param_3,param_4,param_5,param_6)" (parenthesized_expression "(*(code *)**(undefined4 **)(puVar1 + local_34 * 4 + 0x554))" ( (pointer_expression "*(code *)**(undefined4 **)(puVar1 + local_34 * 4 + 0x554)" * (cast_expression "(code *)**(undefined4 **)(puVar1 + local_34 * 4 + 0x554)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puVar1 + local_34 * 4 + 0x554)" * (pointer_expression "*(undefined4 **)(puVar1 + local_34 * 4 + 0x554)" * (cast_expression "(undefined4 **)(puVar1 + local_34 * 4 + 0x554)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar1 + local_34 * 4 + 0x554)" ( (binary_expression "puVar1 + local_34 * 4 + 0x554" (binary_expression "puVar1 + local_34 * 4" identifier + (binary_expression "local_34 * 4" identifier * number_literal)) + number_literal) ))))))) )) (argument_list "(param_1,uVar3,param_3,param_4,param_5,param_6)" ( identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar4 != 0) break;" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "local_34 = local_34 + 1;" (assignment_expression "local_34 = local_34 + 1" identifier = (binary_expression "local_34 + 1" identifier + number_literal)) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) }) while (parenthesized_expression "(local_34 < local_30)" ( (binary_expression "local_34 < local_30" identifier < identifier) )) ;) }) (else_clause "else {\n    iVar4 = 0;\n  }" else (compound_statement "{\n    iVar4 = 0;\n  }" { (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) }))) (if_statement "if (local_2c != *(int **)puVar2) {\n    piVar5 = local_2c;\n    (*(code *)PTR___stack_chk_fail_001122c8)();\n                    \n                    \n    iVar4 = (**(code **)(*piVar5 + 8))();\n    return iVar4;\n  }" if (parenthesized_expression "(local_2c != *(int **)puVar2)" ( (binary_expression "local_2c != *(int **)puVar2" identifier != (pointer_expression "*(int **)puVar2" * (cast_expression "(int **)puVar2" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    piVar5 = local_2c;\n    (*(code *)PTR___stack_chk_fail_001122c8)();\n                    \n                    \n    iVar4 = (**(code **)(*piVar5 + 8))();\n    return iVar4;\n  }" { (expression_statement "piVar5 = local_2c;" (assignment_expression "piVar5 = local_2c" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_001122c8)();" (call_expression "(*(code *)PTR___stack_chk_fail_001122c8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_001122c8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_001122c8" * (cast_expression "(code *)PTR___stack_chk_fail_001122c8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "iVar4 = (**(code **)(*piVar5 + 8))();" (assignment_expression "iVar4 = (**(code **)(*piVar5 + 8))()" identifier = (call_expression "(**(code **)(*piVar5 + 8))()" (parenthesized_expression "(**(code **)(*piVar5 + 8))" ( (pointer_expression "**(code **)(*piVar5 + 8)" * (pointer_expression "*(code **)(*piVar5 + 8)" * (cast_expression "(code **)(*piVar5 + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar5 + 8)" ( (binary_expression "*piVar5 + 8" (pointer_expression "*piVar5" * identifier) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (return_statement "return iVar4;" return identifier ;) })) (return_statement "return iVar4;" return identifier ;) })))
(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) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) ))))))) )) (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( )))) ;) (return_statement return IDENT ;) })) (return_statement return IDENT ;) })))
(function_definition "int unifont_create(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n                  undefined4 param_5,undefined4 param_6)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined4 uVar3;\n  int iVar4;\n  int *piVar5;\n  int local_34;\n  int local_30;\n  int *local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_00112630;\n  local_2c = *(int **)PTR___stack_chk_guard_00112630;\n  uVar3 = FUN_000af69c(param_2,&local_34,&local_30);\n  puVar1 = PTR_PTR_s_3des_cbc_001112d8;\n  if (local_34 < local_30) {\n    do {\n      iVar4 = (*(code *)**(undefined4 **)(puVar1 + local_34 * 4 + 0x554))\n                        (param_1,uVar3,param_3,param_4,param_5,param_6);\n      if (iVar4 != 0) break;\n      local_34 = local_34 + 1;\n      iVar4 = 0;\n    } while (local_34 < local_30);\n  }\n  else {\n    iVar4 = 0;\n  }\n  if (local_2c != *(int **)puVar2) {\n    piVar5 = local_2c;\n    (*(code *)PTR___stack_chk_fail_001122c8)();\n                    \n                    \n    iVar4 = (**(code **)(*piVar5 + 8))();\n    return iVar4;\n  }\n  return iVar4;\n}" (primitive_type "int") (function_declarator "unifont_create(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n                  undefined4 param_5,undefined4 param_6)" (identifier "unifont_create") (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n                  undefined4 param_5,undefined4 param_6)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) (, ",") (parameter_declaration "undefined4 param_4" (type_identifier "undefined4") (identifier "param_4")) (, ",") (parameter_declaration "undefined4 param_5" (type_identifier "undefined4") (identifier "param_5")) (, ",") (parameter_declaration "undefined4 param_6" (type_identifier "undefined4") (identifier "param_6")) () ")"))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined4 uVar3;\n  int iVar4;\n  int *piVar5;\n  int local_34;\n  int local_30;\n  int *local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_00112630;\n  local_2c = *(int **)PTR___stack_chk_guard_00112630;\n  uVar3 = FUN_000af69c(param_2,&local_34,&local_30);\n  puVar1 = PTR_PTR_s_3des_cbc_001112d8;\n  if (local_34 < local_30) {\n    do {\n      iVar4 = (*(code *)**(undefined4 **)(puVar1 + local_34 * 4 + 0x554))\n                        (param_1,uVar3,param_3,param_4,param_5,param_6);\n      if (iVar4 != 0) break;\n      local_34 = local_34 + 1;\n      iVar4 = 0;\n    } while (local_34 < local_30);\n  }\n  else {\n    iVar4 = 0;\n  }\n  if (local_2c != *(int **)puVar2) {\n    piVar5 = local_2c;\n    (*(code *)PTR___stack_chk_fail_001122c8)();\n                    \n                    \n    iVar4 = (**(code **)(*piVar5 + 8))();\n    return iVar4;\n  }\n  return iVar4;\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "int local_34;" (primitive_type "int") (identifier "local_34") (; ";")) (declaration "int local_30;" (primitive_type "int") (identifier "local_30") (; ";")) (declaration "int *local_2c;" (primitive_type "int") (pointer_declarator "*local_2c" (* "*") (identifier "local_2c")) (; ";")) (expression_statement "puVar2 = PTR___stack_chk_guard_00112630;" (assignment_expression "puVar2 = PTR___stack_chk_guard_00112630" (identifier "puVar2") (= "=") (identifier "PTR___stack_chk_guard_00112630")) (; ";")) (expression_statement "local_2c = *(int **)PTR___stack_chk_guard_00112630;" (assignment_expression "local_2c = *(int **)PTR___stack_chk_guard_00112630" (identifier "local_2c") (= "=") (pointer_expression "*(int **)PTR___stack_chk_guard_00112630" (* "*") (cast_expression "(int **)PTR___stack_chk_guard_00112630" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR___stack_chk_guard_00112630")))) (; ";")) (expression_statement "uVar3 = FUN_000af69c(param_2,&local_34,&local_30);" (assignment_expression "uVar3 = FUN_000af69c(param_2,&local_34,&local_30)" (identifier "uVar3") (= "=") (call_expression "FUN_000af69c(param_2,&local_34,&local_30)" (identifier "FUN_000af69c") (argument_list "(param_2,&local_34,&local_30)" (( "(") (identifier "param_2") (, ",") (pointer_expression "&local_34" (& "&") (identifier "local_34")) (, ",") (pointer_expression "&local_30" (& "&") (identifier "local_30")) () ")")))) (; ";")) (expression_statement "puVar1 = PTR_PTR_s_3des_cbc_001112d8;" (assignment_expression "puVar1 = PTR_PTR_s_3des_cbc_001112d8" (identifier "puVar1") (= "=") (identifier "PTR_PTR_s_3des_cbc_001112d8")) (; ";")) (if_statement "if (local_34 < local_30) {\n    do {\n      iVar4 = (*(code *)**(undefined4 **)(puVar1 + local_34 * 4 + 0x554))\n                        (param_1,uVar3,param_3,param_4,param_5,param_6);\n      if (iVar4 != 0) break;\n      local_34 = local_34 + 1;\n      iVar4 = 0;\n    } while (local_34 < local_30);\n  }\n  else {\n    iVar4 = 0;\n  }" (if "if") (parenthesized_expression "(local_34 < local_30)" (( "(") (binary_expression "local_34 < local_30" (identifier "local_34") (< "<") (identifier "local_30")) () ")")) (compound_statement "{\n    do {\n      iVar4 = (*(code *)**(undefined4 **)(puVar1 + local_34 * 4 + 0x554))\n                        (param_1,uVar3,param_3,param_4,param_5,param_6);\n      if (iVar4 != 0) break;\n      local_34 = local_34 + 1;\n      iVar4 = 0;\n    } while (local_34 < local_30);\n  }" ({ "{") (do_statement "do {\n      iVar4 = (*(code *)**(undefined4 **)(puVar1 + local_34 * 4 + 0x554))\n                        (param_1,uVar3,param_3,param_4,param_5,param_6);\n      if (iVar4 != 0) break;\n      local_34 = local_34 + 1;\n      iVar4 = 0;\n    } while (local_34 < local_30);" (do "do") (compound_statement "{\n      iVar4 = (*(code *)**(undefined4 **)(puVar1 + local_34 * 4 + 0x554))\n                        (param_1,uVar3,param_3,param_4,param_5,param_6);\n      if (iVar4 != 0) break;\n      local_34 = local_34 + 1;\n      iVar4 = 0;\n    }" ({ "{") (expression_statement "iVar4 = (*(code *)**(undefined4 **)(puVar1 + local_34 * 4 + 0x554))\n                        (param_1,uVar3,param_3,param_4,param_5,param_6);" (assignment_expression "iVar4 = (*(code *)**(undefined4 **)(puVar1 + local_34 * 4 + 0x554))\n                        (param_1,uVar3,param_3,param_4,param_5,param_6)" (identifier "iVar4") (= "=") (call_expression "(*(code *)**(undefined4 **)(puVar1 + local_34 * 4 + 0x554))\n                        (param_1,uVar3,param_3,param_4,param_5,param_6)" (parenthesized_expression "(*(code *)**(undefined4 **)(puVar1 + local_34 * 4 + 0x554))" (( "(") (pointer_expression "*(code *)**(undefined4 **)(puVar1 + local_34 * 4 + 0x554)" (* "*") (cast_expression "(code *)**(undefined4 **)(puVar1 + local_34 * 4 + 0x554)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(puVar1 + local_34 * 4 + 0x554)" (* "*") (pointer_expression "*(undefined4 **)(puVar1 + local_34 * 4 + 0x554)" (* "*") (cast_expression "(undefined4 **)(puVar1 + local_34 * 4 + 0x554)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar1 + local_34 * 4 + 0x554)" (( "(") (binary_expression "puVar1 + local_34 * 4 + 0x554" (binary_expression "puVar1 + local_34 * 4" (identifier "puVar1") (+ "+") (binary_expression "local_34 * 4" (identifier "local_34") (* "*") (number_literal "4"))) (+ "+") (number_literal "0x554")) () ")"))))))) () ")")) (argument_list "(param_1,uVar3,param_3,param_4,param_5,param_6)" (( "(") (identifier "param_1") (, ",") (identifier "uVar3") (, ",") (identifier "param_3") (, ",") (identifier "param_4") (, ",") (identifier "param_5") (, ",") (identifier "param_6") () ")")))) (; ";")) (if_statement "if (iVar4 != 0) break;" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "local_34 = local_34 + 1;" (assignment_expression "local_34 = local_34 + 1" (identifier "local_34") (= "=") (binary_expression "local_34 + 1" (identifier "local_34") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_34 < local_30)" (( "(") (binary_expression "local_34 < local_30" (identifier "local_34") (< "<") (identifier "local_30")) () ")")) (; ";")) (} "}")) (else_clause "else {\n    iVar4 = 0;\n  }" (else "else") (compound_statement "{\n    iVar4 = 0;\n  }" ({ "{") (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";")) (} "}")))) (if_statement "if (local_2c != *(int **)puVar2) {\n    piVar5 = local_2c;\n    (*(code *)PTR___stack_chk_fail_001122c8)();\n                    \n                    \n    iVar4 = (**(code **)(*piVar5 + 8))();\n    return iVar4;\n  }" (if "if") (parenthesized_expression "(local_2c != *(int **)puVar2)" (( "(") (binary_expression "local_2c != *(int **)puVar2" (identifier "local_2c") (!= "!=") (pointer_expression "*(int **)puVar2" (* "*") (cast_expression "(int **)puVar2" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar2")))) () ")")) (compound_statement "{\n    piVar5 = local_2c;\n    (*(code *)PTR___stack_chk_fail_001122c8)();\n                    \n                    \n    iVar4 = (**(code **)(*piVar5 + 8))();\n    return iVar4;\n  }" ({ "{") (expression_statement "piVar5 = local_2c;" (assignment_expression "piVar5 = local_2c" (identifier "piVar5") (= "=") (identifier "local_2c")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_001122c8)();" (call_expression "(*(code *)PTR___stack_chk_fail_001122c8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_001122c8)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_001122c8" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_001122c8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_001122c8"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar4 = (**(code **)(*piVar5 + 8))();" (assignment_expression "iVar4 = (**(code **)(*piVar5 + 8))()" (identifier "iVar4") (= "=") (call_expression "(**(code **)(*piVar5 + 8))()" (parenthesized_expression "(**(code **)(*piVar5 + 8))" (( "(") (pointer_expression "**(code **)(*piVar5 + 8)" (* "*") (pointer_expression "*(code **)(*piVar5 + 8)" (* "*") (cast_expression "(code **)(*piVar5 + 8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar5 + 8)" (( "(") (binary_expression "*piVar5 + 8" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (+ "+") (number_literal "8")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (return_statement "return iVar4;" (return "return") (identifier "iVar4") (; ";")) (} "}"))) (return_statement "return iVar4;" (return "return") (identifier "iVar4") (; ";")) (} "}")))

/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

type_1 * function_1(type_2 *widget,char *name,int wide,int bold,int shadowoffset,
                        int shadowalways)

{
  char *pcVar1;
  type_1 *var_7;
  int *piVar3;
  int var_5;
  type_3 *puVar5;
  int var_1;
  int var_6;
  int var_3;
  int var_4;
  int *var_8;
  
  puVar5 = *(type_3 **)(var_1 + 0x5f7ec);
  var_8 = (int *)*puVar5;
  pcVar1 = var_2(name,&var_3,&var_4);
  if (var_3 < var_4) {
    var_5 = *(int *)(&DAT_0005e494 + var_1);
    var_6 = var_3;
    do {
      var_7 = (type_1 *)
               (*(type_4 *)**(type_3 **)(var_5 + 0x554 + var_6 * 4))
                         (widget,pcVar1,wide,bold,shadowoffset,shadowalways);
      if (var_7 != (type_1 *)0x0) break;
      var_6 = var_6 + 1;
      var_7 = (type_1 *)0x0;
    } while (var_6 < var_4);
  }
  else {
    var_7 = (type_1 *)0x0;
  }
  if (var_8 == (int *)*puVar5) {
    return var_7;
  }
  piVar3 = var_8;
  (**(type_4 **)(var_1 + 0x5f484))();
                    /* WARNING: Could not recover jumptable at 0x000b2f84. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  var_7 = (type_1 *)(**(type_4 **)(*piVar3 + 8))();
  return var_7;
}


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

int MASKED(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,
                  undefined4 param_5,undefined4 param_6)

{
  undefined *puVar1;
  undefined *puVar2;
  undefined4 uVar3;
  int iVar4;
  int *piVar5;
  int local_34;
  int local_30;
  int *local_2c;
  
  puVar2 = PTR___stack_chk_guard_00112630;
  local_2c = *(int **)PTR___stack_chk_guard_00112630;
  uVar3 = FUN_000af69c(param_2,&local_34,&local_30);
  puVar1 = PTR_PTR_s_3des_cbc_001112d8;
  if (local_34 < local_30) {
    do {
      iVar4 = (*(code *)**(undefined4 **)(puVar1 + local_34 * 4 + 0x554))
                        (param_1,uVar3,param_3,param_4,param_5,param_6);
      if (iVar4 != 0) break;
      local_34 = local_34 + 1;
      iVar4 = 0;
    } while (local_34 < local_30);
  }
  else {
    iVar4 = 0;
  }
  if (local_2c != *(int **)puVar2) {
    piVar5 = local_2c;
    (*(code *)PTR___stack_chk_fail_001122c8)();
                    /* WARNING: Could not recover jumptable at 0x000b2f84. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    iVar4 = (**(code **)(*piVar5 + 8))();
    return iVar4;
  }
  return iVar4;
}

