
void tool_list_engines(CURL *curl)

{
  curl_slist *pcVar1;
  undefined *puVar2;
  undefined *puVar3;
  curl_slist *engines;
  int local_14;
  
  puVar3 = PTR___stack_chk_guard_000543cc;
  engines = (curl_slist *)0x0;
  local_14 = *(int *)PTR___stack_chk_guard_000543cc;
  (*(code *)PTR_curl_easy_getinfo_00054380)(curl,0x40001b,&engines);
  (*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32c4);
  if (engines == (curl_slist *)0x0) {
    (*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32b0);
  }
  else {
    puVar2 = PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x52bc;
    do {
      (*(code *)PTR__MIPS_STUBS__00054400)(1,puVar2,engines->data);
      engines = engines->next;
    } while (engines != (curl_slist *)0x0);
  }
  pcVar1 = engines;
  (*(code *)PTR_curl_slist_free_all_000543d0)();
  if (local_14 == *(int *)puVar3) {
    return;
  }
  puVar3 = PTR___stack_chk_fail_000542ec;
  (*(code *)PTR___stack_chk_fail_000542ec)();
  if (pcVar1 < (curl_slist *)0x12) {
                    /* WARNING: Could not recover jumptable at 0x0001e910. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (*(code *)(puVar3 + (int)(hugehelpgz +
                             *(int *)(*(int *)(puVar3 + 0x35768) + 0x1f0 + (int)pcVar1 * 4) + 0xd4d0
                             )))();
    return;
  }
  return;
}



int tool_list_engines(undefined4 param_1)

{
  int iVar1;
  undefined4 *puVar2;
  undefined *puVar3;
  undefined *puVar4;
  undefined4 *local_18;
  int local_14;
  
  puVar4 = PTR___stack_chk_guard_000543cc;
  local_18 = (undefined4 *)0x0;
  local_14 = *(int *)PTR___stack_chk_guard_000543cc;
  (*(code *)PTR_curl_easy_getinfo_00054380)(param_1,0x40001b,&local_18);
  (*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32c4);
  if (local_18 == (undefined4 *)0x0) {
    (*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32b0);
  }
  else {
    puVar3 = PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x52bc;
    do {
      (*(code *)PTR___printf_chk_00054400)(1,puVar3,*local_18);
      local_18 = (undefined4 *)local_18[1];
    } while (local_18 != (undefined4 *)0x0);
  }
  puVar2 = local_18;
  (*(code *)PTR_curl_slist_free_all_000543d0)();
  if (local_14 == *(int *)puVar4) {
    return *(int *)puVar4;
  }
  puVar4 = PTR___stack_chk_fail_000542ec;
  (*(code *)PTR___stack_chk_fail_000542ec)();
  if (puVar2 < (undefined4 *)0x12) {
                    /* WARNING: Could not recover jumptable at 0x0001e910. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    iVar1 = (*(code *)(puVar4 + (int)(&UNK_0003d730 +
                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))
                      ))();
    return iVar1;
  }
  return *(int *)(puVar4 + 0x35768) + -0x100;
}


lui gp,0x4
addiu gp,gp,-0x27dc
addu gp,gp,t9
addiu sp,sp,-0x30
lw t9,-0x7c90(gp)
lui a1,0x40
addiu a2,sp,0x18
sw s1,0x28(sp)
addiu a1,a1,0x1b
lw s1,-0x7c44(gp)
sw gp,0x10(sp)
sw ra,0x2c(sp)
sw s0,0x24(sp)
sw zero,0x18(sp)
lw v0,0x0(s1)
sw v0,0x1c(sp)
jalr t9
_nop
lw gp,0x10(sp)
lw a0,-0x7fc8(gp)
lw t9,-0x7d88(gp)
jalr t9
_addiu a0,a0,-0x32c4
lw a0,0x18(sp)
beq a0,zero,0x0001e8b4
_lw gp,0x10(sp)
lw s0,-0x7fc8(gp)
addiu s0,s0,-0x52bc
lw t9,-0x7c10(gp)
or a1,s0,zero
lw a2,0x0(a0)
jalr t9
_li a0,0x1
lw v0,0x18(sp)
lw gp,0x10(sp)
lw a0,0x4(v0)
bne a0,zero,0x0001e85c
_sw a0,0x18(sp)
lw t9,-0x7c40(gp)
jalr t9
_nop
lw v1,0x1c(sp)
lw v0,0x0(s1)
bne v1,v0,0x0001e8d0
_lw gp,0x10(sp)
lw ra,0x2c(sp)
lw s1,0x28(sp)
lw s0,0x24(sp)
jr ra
_addiu sp,sp,0x30
lw a0,-0x7fc8(gp)
lw t9,-0x7d88(gp)
jalr t9
_addiu a0,a0,-0x32b0
lw gp,0x10(sp)
b 0x0001e884
_lw a0,0x18(sp)
lw t9,-0x7d24(gp)
jalr t9
_nop
nop
(translation_unit "int tool_list_engines(undefined4 param_1)\n\n{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined4 *local_18;\n  int local_14;\n  \n  puVar4 = PTR___stack_chk_guard_000543cc;\n  local_18 = (undefined4 *)0x0;\n  local_14 = *(int *)PTR___stack_chk_guard_000543cc;\n  (*(code *)PTR_curl_easy_getinfo_00054380)(param_1,0x40001b,&local_18);\n  (*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32c4);\n  if (local_18 == (undefined4 *)0x0) {\n    (*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32b0);\n  }\n  else {\n    puVar3 = PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x52bc;\n    do {\n      (*(code *)PTR___printf_chk_00054400)(1,puVar3,*local_18);\n      local_18 = (undefined4 *)local_18[1];\n    } while (local_18 != (undefined4 *)0x0);\n  }\n  puVar2 = local_18;\n  (*(code *)PTR_curl_slist_free_all_000543d0)();\n  if (local_14 == *(int *)puVar4) {\n    return *(int *)puVar4;\n  }\n  puVar4 = PTR___stack_chk_fail_000542ec;\n  (*(code *)PTR___stack_chk_fail_000542ec)();\n  if (puVar2 < (undefined4 *)0x12) {\n                    /* WARNING: Could not recover jumptable at 0x0001e910. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    iVar1 = (*(code *)(puVar4 + (int)(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))\n                      ))();\n    return iVar1;\n  }\n  return *(int *)(puVar4 + 0x35768) + -0x100;\n}\n\n" (function_definition "int tool_list_engines(undefined4 param_1)\n\n{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined4 *local_18;\n  int local_14;\n  \n  puVar4 = PTR___stack_chk_guard_000543cc;\n  local_18 = (undefined4 *)0x0;\n  local_14 = *(int *)PTR___stack_chk_guard_000543cc;\n  (*(code *)PTR_curl_easy_getinfo_00054380)(param_1,0x40001b,&local_18);\n  (*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32c4);\n  if (local_18 == (undefined4 *)0x0) {\n    (*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32b0);\n  }\n  else {\n    puVar3 = PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x52bc;\n    do {\n      (*(code *)PTR___printf_chk_00054400)(1,puVar3,*local_18);\n      local_18 = (undefined4 *)local_18[1];\n    } while (local_18 != (undefined4 *)0x0);\n  }\n  puVar2 = local_18;\n  (*(code *)PTR_curl_slist_free_all_000543d0)();\n  if (local_14 == *(int *)puVar4) {\n    return *(int *)puVar4;\n  }\n  puVar4 = PTR___stack_chk_fail_000542ec;\n  (*(code *)PTR___stack_chk_fail_000542ec)();\n  if (puVar2 < (undefined4 *)0x12) {\n                    /* WARNING: Could not recover jumptable at 0x0001e910. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    iVar1 = (*(code *)(puVar4 + (int)(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))\n                      ))();\n    return iVar1;\n  }\n  return *(int *)(puVar4 + 0x35768) + -0x100;\n}" primitive_type (function_declarator "tool_list_engines(undefined4 param_1)" identifier (parameter_list "(undefined4 param_1)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) ))) (compound_statement "{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined4 *local_18;\n  int local_14;\n  \n  puVar4 = PTR___stack_chk_guard_000543cc;\n  local_18 = (undefined4 *)0x0;\n  local_14 = *(int *)PTR___stack_chk_guard_000543cc;\n  (*(code *)PTR_curl_easy_getinfo_00054380)(param_1,0x40001b,&local_18);\n  (*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32c4);\n  if (local_18 == (undefined4 *)0x0) {\n    (*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32b0);\n  }\n  else {\n    puVar3 = PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x52bc;\n    do {\n      (*(code *)PTR___printf_chk_00054400)(1,puVar3,*local_18);\n      local_18 = (undefined4 *)local_18[1];\n    } while (local_18 != (undefined4 *)0x0);\n  }\n  puVar2 = local_18;\n  (*(code *)PTR_curl_slist_free_all_000543d0)();\n  if (local_14 == *(int *)puVar4) {\n    return *(int *)puVar4;\n  }\n  puVar4 = PTR___stack_chk_fail_000542ec;\n  (*(code *)PTR___stack_chk_fail_000542ec)();\n  if (puVar2 < (undefined4 *)0x12) {\n                    /* WARNING: Could not recover jumptable at 0x0001e910. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    iVar1 = (*(code *)(puVar4 + (int)(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))\n                      ))();\n    return iVar1;\n  }\n  return *(int *)(puVar4 + 0x35768) + -0x100;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined4 *local_18;" type_identifier (pointer_declarator "*local_18" * identifier) ;) (declaration "int local_14;" primitive_type identifier ;) (expression_statement "puVar4 = PTR___stack_chk_guard_000543cc;" (assignment_expression "puVar4 = PTR___stack_chk_guard_000543cc" identifier = identifier) ;) (expression_statement "local_18 = (undefined4 *)0x0;" (assignment_expression "local_18 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_14 = *(int *)PTR___stack_chk_guard_000543cc;" (assignment_expression "local_14 = *(int *)PTR___stack_chk_guard_000543cc" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000543cc" * (cast_expression "(int *)PTR___stack_chk_guard_000543cc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "(*(code *)PTR_curl_easy_getinfo_00054380)(param_1,0x40001b,&local_18);" (call_expression "(*(code *)PTR_curl_easy_getinfo_00054380)(param_1,0x40001b,&local_18)" (parenthesized_expression "(*(code *)PTR_curl_easy_getinfo_00054380)" ( (pointer_expression "*(code *)PTR_curl_easy_getinfo_00054380" * (cast_expression "(code *)PTR_curl_easy_getinfo_00054380" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,0x40001b,&local_18)" ( identifier , number_literal , (pointer_expression "&local_18" & identifier) ))) ;) (expression_statement "(*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32c4);" (call_expression "(*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32c4)" (parenthesized_expression "(*(code *)PTR_puts_00054288)" ( (pointer_expression "*(code *)PTR_puts_00054288" * (cast_expression "(code *)PTR_puts_00054288" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32c4)" ( (binary_expression "PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32c4" identifier + number_literal) ))) ;) (if_statement "if (local_18 == (undefined4 *)0x0) {\n    (*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32b0);\n  }\n  else {\n    puVar3 = PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x52bc;\n    do {\n      (*(code *)PTR___printf_chk_00054400)(1,puVar3,*local_18);\n      local_18 = (undefined4 *)local_18[1];\n    } while (local_18 != (undefined4 *)0x0);\n  }" if (parenthesized_expression "(local_18 == (undefined4 *)0x0)" ( (binary_expression "local_18 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32b0);\n  }" { (expression_statement "(*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32b0);" (call_expression "(*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32b0)" (parenthesized_expression "(*(code *)PTR_puts_00054288)" ( (pointer_expression "*(code *)PTR_puts_00054288" * (cast_expression "(code *)PTR_puts_00054288" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32b0)" ( (binary_expression "PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32b0" identifier + number_literal) ))) ;) }) (else_clause "else {\n    puVar3 = PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x52bc;\n    do {\n      (*(code *)PTR___printf_chk_00054400)(1,puVar3,*local_18);\n      local_18 = (undefined4 *)local_18[1];\n    } while (local_18 != (undefined4 *)0x0);\n  }" else (compound_statement "{\n    puVar3 = PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x52bc;\n    do {\n      (*(code *)PTR___printf_chk_00054400)(1,puVar3,*local_18);\n      local_18 = (undefined4 *)local_18[1];\n    } while (local_18 != (undefined4 *)0x0);\n  }" { (expression_statement "puVar3 = PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x52bc;" (assignment_expression "puVar3 = PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x52bc" identifier = (binary_expression "PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x52bc" identifier + number_literal)) ;) (do_statement "do {\n      (*(code *)PTR___printf_chk_00054400)(1,puVar3,*local_18);\n      local_18 = (undefined4 *)local_18[1];\n    } while (local_18 != (undefined4 *)0x0);" do (compound_statement "{\n      (*(code *)PTR___printf_chk_00054400)(1,puVar3,*local_18);\n      local_18 = (undefined4 *)local_18[1];\n    }" { (expression_statement "(*(code *)PTR___printf_chk_00054400)(1,puVar3,*local_18);" (call_expression "(*(code *)PTR___printf_chk_00054400)(1,puVar3,*local_18)" (parenthesized_expression "(*(code *)PTR___printf_chk_00054400)" ( (pointer_expression "*(code *)PTR___printf_chk_00054400" * (cast_expression "(code *)PTR___printf_chk_00054400" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,puVar3,*local_18)" ( number_literal , identifier , (pointer_expression "*local_18" * identifier) ))) ;) (expression_statement "local_18 = (undefined4 *)local_18[1];" (assignment_expression "local_18 = (undefined4 *)local_18[1]" identifier = (cast_expression "(undefined4 *)local_18[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_18[1]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "(local_18 != (undefined4 *)0x0)" ( (binary_expression "local_18 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) }))) (expression_statement "puVar2 = local_18;" (assignment_expression "puVar2 = local_18" identifier = identifier) ;) (expression_statement "(*(code *)PTR_curl_slist_free_all_000543d0)();" (call_expression "(*(code *)PTR_curl_slist_free_all_000543d0)()" (parenthesized_expression "(*(code *)PTR_curl_slist_free_all_000543d0)" ( (pointer_expression "*(code *)PTR_curl_slist_free_all_000543d0" * (cast_expression "(code *)PTR_curl_slist_free_all_000543d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (local_14 == *(int *)puVar4) {\n    return *(int *)puVar4;\n  }" if (parenthesized_expression "(local_14 == *(int *)puVar4)" ( (binary_expression "local_14 == *(int *)puVar4" identifier == (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return *(int *)puVar4;\n  }" { (return_statement "return *(int *)puVar4;" return (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (expression_statement "puVar4 = PTR___stack_chk_fail_000542ec;" (assignment_expression "puVar4 = PTR___stack_chk_fail_000542ec" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000542ec)();" (call_expression "(*(code *)PTR___stack_chk_fail_000542ec)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000542ec)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000542ec" * (cast_expression "(code *)PTR___stack_chk_fail_000542ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (puVar2 < (undefined4 *)0x12) {\n                    /* WARNING: Could not recover jumptable at 0x0001e910. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    iVar1 = (*(code *)(puVar4 + (int)(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))\n                      ))();\n    return iVar1;\n  }" if (parenthesized_expression "(puVar2 < (undefined4 *)0x12)" ( (binary_expression "puVar2 < (undefined4 *)0x12" identifier < (cast_expression "(undefined4 *)0x12" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x0001e910. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    iVar1 = (*(code *)(puVar4 + (int)(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))\n                      ))();\n    return iVar1;\n  }" { comment comment (expression_statement "iVar1 = (*(code *)(puVar4 + (int)(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))\n                      ))();" (assignment_expression "iVar1 = (*(code *)(puVar4 + (int)(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))\n                      ))()" identifier = (call_expression "(*(code *)(puVar4 + (int)(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))\n                      ))()" (parenthesized_expression "(*(code *)(puVar4 + (int)(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))\n                      ))" ( (pointer_expression "*(code *)(puVar4 + (int)(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))\n                      )" * (cast_expression "(code *)(puVar4 + (int)(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))\n                      )" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + (int)(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))\n                      )" ( (binary_expression "puVar4 + (int)(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))" identifier + (cast_expression "(int)(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))" ( (binary_expression "&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4)" (pointer_expression "&UNK_0003d730" & identifier) + (pointer_expression "*(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4)" * (cast_expression "(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4)" ( (binary_expression "*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4" (binary_expression "*(int *)(puVar4 + 0x35768) + 0x1f0" (pointer_expression "*(int *)(puVar4 + 0x35768)" * (cast_expression "(int *)(puVar4 + 0x35768)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + 0x35768)" ( (binary_expression "puVar4 + 0x35768" identifier + number_literal) )))) + number_literal) + (binary_expression "(int)puVar2 * 4" (cast_expression "(int)puVar2" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) )))) )))) )) (argument_list "()" ( )))) ;) (return_statement "return iVar1;" return identifier ;) })) (return_statement "return *(int *)(puVar4 + 0x35768) + -0x100;" return (binary_expression "*(int *)(puVar4 + 0x35768) + -0x100" (pointer_expression "*(int *)(puVar4 + 0x35768)" * (cast_expression "(int *)(puVar4 + 0x35768)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + 0x35768)" ( (binary_expression "puVar4 + 0x35768" identifier + number_literal) )))) + number_literal) ;) })))
(translation_unit "void tool_list_engines(CURL *curl)\n\n{\n  curl_slist *pcVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  curl_slist *engines;\n  int local_14;\n  \n  puVar3 = PTR___stack_chk_guard_000543cc;\n  engines = (curl_slist *)0x0;\n  local_14 = *(int *)PTR___stack_chk_guard_000543cc;\n  (*(code *)PTR_curl_easy_getinfo_00054380)(curl,0x40001b,&engines);\n  (*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32c4);\n  if (engines == (curl_slist *)0x0) {\n    (*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32b0);\n  }\n  else {\n    puVar2 = PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x52bc;\n    do {\n      (*(code *)PTR__MIPS_STUBS__00054400)(1,puVar2,engines->data);\n      engines = engines->next;\n    } while (engines != (curl_slist *)0x0);\n  }\n  pcVar1 = engines;\n  (*(code *)PTR_curl_slist_free_all_000543d0)();\n  if (local_14 == *(int *)puVar3) {\n    return;\n  }\n  puVar3 = PTR___stack_chk_fail_000542ec;\n  (*(code *)PTR___stack_chk_fail_000542ec)();\n  if (pcVar1 < (curl_slist *)0x12) {\n                    /* WARNING: Could not recover jumptable at 0x0001e910. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(puVar3 + (int)(hugehelpgz +\n                             *(int *)(*(int *)(puVar3 + 0x35768) + 0x1f0 + (int)pcVar1 * 4) + 0xd4d0\n                             )))();\n    return;\n  }\n  return;\n}\n\n" (function_definition "void tool_list_engines(CURL *curl)\n\n{\n  curl_slist *pcVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  curl_slist *engines;\n  int local_14;\n  \n  puVar3 = PTR___stack_chk_guard_000543cc;\n  engines = (curl_slist *)0x0;\n  local_14 = *(int *)PTR___stack_chk_guard_000543cc;\n  (*(code *)PTR_curl_easy_getinfo_00054380)(curl,0x40001b,&engines);\n  (*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32c4);\n  if (engines == (curl_slist *)0x0) {\n    (*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32b0);\n  }\n  else {\n    puVar2 = PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x52bc;\n    do {\n      (*(code *)PTR__MIPS_STUBS__00054400)(1,puVar2,engines->data);\n      engines = engines->next;\n    } while (engines != (curl_slist *)0x0);\n  }\n  pcVar1 = engines;\n  (*(code *)PTR_curl_slist_free_all_000543d0)();\n  if (local_14 == *(int *)puVar3) {\n    return;\n  }\n  puVar3 = PTR___stack_chk_fail_000542ec;\n  (*(code *)PTR___stack_chk_fail_000542ec)();\n  if (pcVar1 < (curl_slist *)0x12) {\n                    /* WARNING: Could not recover jumptable at 0x0001e910. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(puVar3 + (int)(hugehelpgz +\n                             *(int *)(*(int *)(puVar3 + 0x35768) + 0x1f0 + (int)pcVar1 * 4) + 0xd4d0\n                             )))();\n    return;\n  }\n  return;\n}" primitive_type (function_declarator "tool_list_engines(CURL *curl)" identifier (parameter_list "(CURL *curl)" ( (parameter_declaration "CURL *curl" type_identifier (pointer_declarator "*curl" * identifier)) ))) (compound_statement "{\n  curl_slist *pcVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  curl_slist *engines;\n  int local_14;\n  \n  puVar3 = PTR___stack_chk_guard_000543cc;\n  engines = (curl_slist *)0x0;\n  local_14 = *(int *)PTR___stack_chk_guard_000543cc;\n  (*(code *)PTR_curl_easy_getinfo_00054380)(curl,0x40001b,&engines);\n  (*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32c4);\n  if (engines == (curl_slist *)0x0) {\n    (*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32b0);\n  }\n  else {\n    puVar2 = PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x52bc;\n    do {\n      (*(code *)PTR__MIPS_STUBS__00054400)(1,puVar2,engines->data);\n      engines = engines->next;\n    } while (engines != (curl_slist *)0x0);\n  }\n  pcVar1 = engines;\n  (*(code *)PTR_curl_slist_free_all_000543d0)();\n  if (local_14 == *(int *)puVar3) {\n    return;\n  }\n  puVar3 = PTR___stack_chk_fail_000542ec;\n  (*(code *)PTR___stack_chk_fail_000542ec)();\n  if (pcVar1 < (curl_slist *)0x12) {\n                    /* WARNING: Could not recover jumptable at 0x0001e910. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(puVar3 + (int)(hugehelpgz +\n                             *(int *)(*(int *)(puVar3 + 0x35768) + 0x1f0 + (int)pcVar1 * 4) + 0xd4d0\n                             )))();\n    return;\n  }\n  return;\n}" { (declaration "curl_slist *pcVar1;" type_identifier (pointer_declarator "*pcVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "curl_slist *engines;" type_identifier (pointer_declarator "*engines" * identifier) ;) (declaration "int local_14;" primitive_type identifier ;) (expression_statement "puVar3 = PTR___stack_chk_guard_000543cc;" (assignment_expression "puVar3 = PTR___stack_chk_guard_000543cc" identifier = identifier) ;) (expression_statement "engines = (curl_slist *)0x0;" (assignment_expression "engines = (curl_slist *)0x0" identifier = (cast_expression "(curl_slist *)0x0" ( (type_descriptor "curl_slist *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_14 = *(int *)PTR___stack_chk_guard_000543cc;" (assignment_expression "local_14 = *(int *)PTR___stack_chk_guard_000543cc" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000543cc" * (cast_expression "(int *)PTR___stack_chk_guard_000543cc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "(*(code *)PTR_curl_easy_getinfo_00054380)(curl,0x40001b,&engines);" (call_expression "(*(code *)PTR_curl_easy_getinfo_00054380)(curl,0x40001b,&engines)" (parenthesized_expression "(*(code *)PTR_curl_easy_getinfo_00054380)" ( (pointer_expression "*(code *)PTR_curl_easy_getinfo_00054380" * (cast_expression "(code *)PTR_curl_easy_getinfo_00054380" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(curl,0x40001b,&engines)" ( identifier , number_literal , (pointer_expression "&engines" & identifier) ))) ;) (expression_statement "(*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32c4);" (call_expression "(*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32c4)" (parenthesized_expression "(*(code *)PTR_puts_00054288)" ( (pointer_expression "*(code *)PTR_puts_00054288" * (cast_expression "(code *)PTR_puts_00054288" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32c4)" ( (binary_expression "PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32c4" identifier + number_literal) ))) ;) (if_statement "if (engines == (curl_slist *)0x0) {\n    (*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32b0);\n  }\n  else {\n    puVar2 = PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x52bc;\n    do {\n      (*(code *)PTR__MIPS_STUBS__00054400)(1,puVar2,engines->data);\n      engines = engines->next;\n    } while (engines != (curl_slist *)0x0);\n  }" if (parenthesized_expression "(engines == (curl_slist *)0x0)" ( (binary_expression "engines == (curl_slist *)0x0" identifier == (cast_expression "(curl_slist *)0x0" ( (type_descriptor "curl_slist *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32b0);\n  }" { (expression_statement "(*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32b0);" (call_expression "(*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32b0)" (parenthesized_expression "(*(code *)PTR_puts_00054288)" ( (pointer_expression "*(code *)PTR_puts_00054288" * (cast_expression "(code *)PTR_puts_00054288" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32b0)" ( (binary_expression "PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32b0" identifier + number_literal) ))) ;) }) (else_clause "else {\n    puVar2 = PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x52bc;\n    do {\n      (*(code *)PTR__MIPS_STUBS__00054400)(1,puVar2,engines->data);\n      engines = engines->next;\n    } while (engines != (curl_slist *)0x0);\n  }" else (compound_statement "{\n    puVar2 = PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x52bc;\n    do {\n      (*(code *)PTR__MIPS_STUBS__00054400)(1,puVar2,engines->data);\n      engines = engines->next;\n    } while (engines != (curl_slist *)0x0);\n  }" { (expression_statement "puVar2 = PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x52bc;" (assignment_expression "puVar2 = PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x52bc" identifier = (binary_expression "PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x52bc" identifier + number_literal)) ;) (do_statement "do {\n      (*(code *)PTR__MIPS_STUBS__00054400)(1,puVar2,engines->data);\n      engines = engines->next;\n    } while (engines != (curl_slist *)0x0);" do (compound_statement "{\n      (*(code *)PTR__MIPS_STUBS__00054400)(1,puVar2,engines->data);\n      engines = engines->next;\n    }" { (expression_statement "(*(code *)PTR__MIPS_STUBS__00054400)(1,puVar2,engines->data);" (call_expression "(*(code *)PTR__MIPS_STUBS__00054400)(1,puVar2,engines->data)" (parenthesized_expression "(*(code *)PTR__MIPS_STUBS__00054400)" ( (pointer_expression "*(code *)PTR__MIPS_STUBS__00054400" * (cast_expression "(code *)PTR__MIPS_STUBS__00054400" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,puVar2,engines->data)" ( number_literal , identifier , (field_expression "engines->data" identifier -> field_identifier) ))) ;) (expression_statement "engines = engines->next;" (assignment_expression "engines = engines->next" identifier = (field_expression "engines->next" identifier -> field_identifier)) ;) }) while (parenthesized_expression "(engines != (curl_slist *)0x0)" ( (binary_expression "engines != (curl_slist *)0x0" identifier != (cast_expression "(curl_slist *)0x0" ( (type_descriptor "curl_slist *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) }))) (expression_statement "pcVar1 = engines;" (assignment_expression "pcVar1 = engines" identifier = identifier) ;) (expression_statement "(*(code *)PTR_curl_slist_free_all_000543d0)();" (call_expression "(*(code *)PTR_curl_slist_free_all_000543d0)()" (parenthesized_expression "(*(code *)PTR_curl_slist_free_all_000543d0)" ( (pointer_expression "*(code *)PTR_curl_slist_free_all_000543d0" * (cast_expression "(code *)PTR_curl_slist_free_all_000543d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (local_14 == *(int *)puVar3) {\n    return;\n  }" if (parenthesized_expression "(local_14 == *(int *)puVar3)" ( (binary_expression "local_14 == *(int *)puVar3" identifier == (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "puVar3 = PTR___stack_chk_fail_000542ec;" (assignment_expression "puVar3 = PTR___stack_chk_fail_000542ec" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000542ec)();" (call_expression "(*(code *)PTR___stack_chk_fail_000542ec)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000542ec)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000542ec" * (cast_expression "(code *)PTR___stack_chk_fail_000542ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (pcVar1 < (curl_slist *)0x12) {\n                    /* WARNING: Could not recover jumptable at 0x0001e910. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(puVar3 + (int)(hugehelpgz +\n                             *(int *)(*(int *)(puVar3 + 0x35768) + 0x1f0 + (int)pcVar1 * 4) + 0xd4d0\n                             )))();\n    return;\n  }" if (parenthesized_expression "(pcVar1 < (curl_slist *)0x12)" ( (binary_expression "pcVar1 < (curl_slist *)0x12" identifier < (cast_expression "(curl_slist *)0x12" ( (type_descriptor "curl_slist *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x0001e910. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(puVar3 + (int)(hugehelpgz +\n                             *(int *)(*(int *)(puVar3 + 0x35768) + 0x1f0 + (int)pcVar1 * 4) + 0xd4d0\n                             )))();\n    return;\n  }" { comment comment (expression_statement "(*(code *)(puVar3 + (int)(hugehelpgz +\n                             *(int *)(*(int *)(puVar3 + 0x35768) + 0x1f0 + (int)pcVar1 * 4) + 0xd4d0\n                             )))();" (call_expression "(*(code *)(puVar3 + (int)(hugehelpgz +\n                             *(int *)(*(int *)(puVar3 + 0x35768) + 0x1f0 + (int)pcVar1 * 4) + 0xd4d0\n                             )))()" (parenthesized_expression "(*(code *)(puVar3 + (int)(hugehelpgz +\n                             *(int *)(*(int *)(puVar3 + 0x35768) + 0x1f0 + (int)pcVar1 * 4) + 0xd4d0\n                             )))" ( (pointer_expression "*(code *)(puVar3 + (int)(hugehelpgz +\n                             *(int *)(*(int *)(puVar3 + 0x35768) + 0x1f0 + (int)pcVar1 * 4) + 0xd4d0\n                             ))" * (cast_expression "(code *)(puVar3 + (int)(hugehelpgz +\n                             *(int *)(*(int *)(puVar3 + 0x35768) + 0x1f0 + (int)pcVar1 * 4) + 0xd4d0\n                             ))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + (int)(hugehelpgz +\n                             *(int *)(*(int *)(puVar3 + 0x35768) + 0x1f0 + (int)pcVar1 * 4) + 0xd4d0\n                             ))" ( (binary_expression "puVar3 + (int)(hugehelpgz +\n                             *(int *)(*(int *)(puVar3 + 0x35768) + 0x1f0 + (int)pcVar1 * 4) + 0xd4d0\n                             )" identifier + (cast_expression "(int)(hugehelpgz +\n                             *(int *)(*(int *)(puVar3 + 0x35768) + 0x1f0 + (int)pcVar1 * 4) + 0xd4d0\n                             )" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(hugehelpgz +\n                             *(int *)(*(int *)(puVar3 + 0x35768) + 0x1f0 + (int)pcVar1 * 4) + 0xd4d0\n                             )" ( (binary_expression "hugehelpgz +\n                             *(int *)(*(int *)(puVar3 + 0x35768) + 0x1f0 + (int)pcVar1 * 4) + 0xd4d0" (binary_expression "hugehelpgz +\n                             *(int *)(*(int *)(puVar3 + 0x35768) + 0x1f0 + (int)pcVar1 * 4)" identifier + (pointer_expression "*(int *)(*(int *)(puVar3 + 0x35768) + 0x1f0 + (int)pcVar1 * 4)" * (cast_expression "(int *)(*(int *)(puVar3 + 0x35768) + 0x1f0 + (int)pcVar1 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar3 + 0x35768) + 0x1f0 + (int)pcVar1 * 4)" ( (binary_expression "*(int *)(puVar3 + 0x35768) + 0x1f0 + (int)pcVar1 * 4" (binary_expression "*(int *)(puVar3 + 0x35768) + 0x1f0" (pointer_expression "*(int *)(puVar3 + 0x35768)" * (cast_expression "(int *)(puVar3 + 0x35768)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x35768)" ( (binary_expression "puVar3 + 0x35768" identifier + number_literal) )))) + number_literal) + (binary_expression "(int)pcVar1 * 4" (cast_expression "(int)pcVar1" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) + number_literal) )))) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (return_statement "return;" return ;) })))
(translation_unit "int tool_list_engines(undefined4 param_1)\n\n{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined4 *local_18;\n  int local_14;\n  \n  puVar4 = PTR___stack_chk_guard_000543cc;\n  local_18 = (undefined4 *)0x0;\n  local_14 = *(int *)PTR___stack_chk_guard_000543cc;\n  (*(code *)PTR_curl_easy_getinfo_00054380)(param_1,0x40001b,&local_18);\n  (*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32c4);\n  if (local_18 == (undefined4 *)0x0) {\n    (*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32b0);\n  }\n  else {\n    puVar3 = PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x52bc;\n    do {\n      (*(code *)PTR___printf_chk_00054400)(1,puVar3,*local_18);\n      local_18 = (undefined4 *)local_18[1];\n    } while (local_18 != (undefined4 *)0x0);\n  }\n  puVar2 = local_18;\n  (*(code *)PTR_curl_slist_free_all_000543d0)();\n  if (local_14 == *(int *)puVar4) {\n    return *(int *)puVar4;\n  }\n  puVar4 = PTR___stack_chk_fail_000542ec;\n  (*(code *)PTR___stack_chk_fail_000542ec)();\n  if (puVar2 < (undefined4 *)0x12) {\n                    \n                    \n    iVar1 = (*(code *)(puVar4 + (int)(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))\n                      ))();\n    return iVar1;\n  }\n  return *(int *)(puVar4 + 0x35768) + -0x100;\n}\n\n" (function_definition "int tool_list_engines(undefined4 param_1)\n\n{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined4 *local_18;\n  int local_14;\n  \n  puVar4 = PTR___stack_chk_guard_000543cc;\n  local_18 = (undefined4 *)0x0;\n  local_14 = *(int *)PTR___stack_chk_guard_000543cc;\n  (*(code *)PTR_curl_easy_getinfo_00054380)(param_1,0x40001b,&local_18);\n  (*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32c4);\n  if (local_18 == (undefined4 *)0x0) {\n    (*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32b0);\n  }\n  else {\n    puVar3 = PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x52bc;\n    do {\n      (*(code *)PTR___printf_chk_00054400)(1,puVar3,*local_18);\n      local_18 = (undefined4 *)local_18[1];\n    } while (local_18 != (undefined4 *)0x0);\n  }\n  puVar2 = local_18;\n  (*(code *)PTR_curl_slist_free_all_000543d0)();\n  if (local_14 == *(int *)puVar4) {\n    return *(int *)puVar4;\n  }\n  puVar4 = PTR___stack_chk_fail_000542ec;\n  (*(code *)PTR___stack_chk_fail_000542ec)();\n  if (puVar2 < (undefined4 *)0x12) {\n                    \n                    \n    iVar1 = (*(code *)(puVar4 + (int)(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))\n                      ))();\n    return iVar1;\n  }\n  return *(int *)(puVar4 + 0x35768) + -0x100;\n}" primitive_type (function_declarator "tool_list_engines(undefined4 param_1)" identifier (parameter_list "(undefined4 param_1)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) ))) (compound_statement "{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined4 *local_18;\n  int local_14;\n  \n  puVar4 = PTR___stack_chk_guard_000543cc;\n  local_18 = (undefined4 *)0x0;\n  local_14 = *(int *)PTR___stack_chk_guard_000543cc;\n  (*(code *)PTR_curl_easy_getinfo_00054380)(param_1,0x40001b,&local_18);\n  (*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32c4);\n  if (local_18 == (undefined4 *)0x0) {\n    (*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32b0);\n  }\n  else {\n    puVar3 = PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x52bc;\n    do {\n      (*(code *)PTR___printf_chk_00054400)(1,puVar3,*local_18);\n      local_18 = (undefined4 *)local_18[1];\n    } while (local_18 != (undefined4 *)0x0);\n  }\n  puVar2 = local_18;\n  (*(code *)PTR_curl_slist_free_all_000543d0)();\n  if (local_14 == *(int *)puVar4) {\n    return *(int *)puVar4;\n  }\n  puVar4 = PTR___stack_chk_fail_000542ec;\n  (*(code *)PTR___stack_chk_fail_000542ec)();\n  if (puVar2 < (undefined4 *)0x12) {\n                    \n                    \n    iVar1 = (*(code *)(puVar4 + (int)(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))\n                      ))();\n    return iVar1;\n  }\n  return *(int *)(puVar4 + 0x35768) + -0x100;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined4 *local_18;" type_identifier (pointer_declarator "*local_18" * identifier) ;) (declaration "int local_14;" primitive_type identifier ;) (expression_statement "puVar4 = PTR___stack_chk_guard_000543cc;" (assignment_expression "puVar4 = PTR___stack_chk_guard_000543cc" identifier = identifier) ;) (expression_statement "local_18 = (undefined4 *)0x0;" (assignment_expression "local_18 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_14 = *(int *)PTR___stack_chk_guard_000543cc;" (assignment_expression "local_14 = *(int *)PTR___stack_chk_guard_000543cc" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000543cc" * (cast_expression "(int *)PTR___stack_chk_guard_000543cc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "(*(code *)PTR_curl_easy_getinfo_00054380)(param_1,0x40001b,&local_18);" (call_expression "(*(code *)PTR_curl_easy_getinfo_00054380)(param_1,0x40001b,&local_18)" (parenthesized_expression "(*(code *)PTR_curl_easy_getinfo_00054380)" ( (pointer_expression "*(code *)PTR_curl_easy_getinfo_00054380" * (cast_expression "(code *)PTR_curl_easy_getinfo_00054380" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,0x40001b,&local_18)" ( identifier , number_literal , (pointer_expression "&local_18" & identifier) ))) ;) (expression_statement "(*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32c4);" (call_expression "(*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32c4)" (parenthesized_expression "(*(code *)PTR_puts_00054288)" ( (pointer_expression "*(code *)PTR_puts_00054288" * (cast_expression "(code *)PTR_puts_00054288" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32c4)" ( (binary_expression "PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32c4" identifier + number_literal) ))) ;) (if_statement "if (local_18 == (undefined4 *)0x0) {\n    (*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32b0);\n  }\n  else {\n    puVar3 = PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x52bc;\n    do {\n      (*(code *)PTR___printf_chk_00054400)(1,puVar3,*local_18);\n      local_18 = (undefined4 *)local_18[1];\n    } while (local_18 != (undefined4 *)0x0);\n  }" if (parenthesized_expression "(local_18 == (undefined4 *)0x0)" ( (binary_expression "local_18 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32b0);\n  }" { (expression_statement "(*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32b0);" (call_expression "(*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32b0)" (parenthesized_expression "(*(code *)PTR_puts_00054288)" ( (pointer_expression "*(code *)PTR_puts_00054288" * (cast_expression "(code *)PTR_puts_00054288" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32b0)" ( (binary_expression "PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32b0" identifier + number_literal) ))) ;) }) (else_clause "else {\n    puVar3 = PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x52bc;\n    do {\n      (*(code *)PTR___printf_chk_00054400)(1,puVar3,*local_18);\n      local_18 = (undefined4 *)local_18[1];\n    } while (local_18 != (undefined4 *)0x0);\n  }" else (compound_statement "{\n    puVar3 = PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x52bc;\n    do {\n      (*(code *)PTR___printf_chk_00054400)(1,puVar3,*local_18);\n      local_18 = (undefined4 *)local_18[1];\n    } while (local_18 != (undefined4 *)0x0);\n  }" { (expression_statement "puVar3 = PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x52bc;" (assignment_expression "puVar3 = PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x52bc" identifier = (binary_expression "PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x52bc" identifier + number_literal)) ;) (do_statement "do {\n      (*(code *)PTR___printf_chk_00054400)(1,puVar3,*local_18);\n      local_18 = (undefined4 *)local_18[1];\n    } while (local_18 != (undefined4 *)0x0);" do (compound_statement "{\n      (*(code *)PTR___printf_chk_00054400)(1,puVar3,*local_18);\n      local_18 = (undefined4 *)local_18[1];\n    }" { (expression_statement "(*(code *)PTR___printf_chk_00054400)(1,puVar3,*local_18);" (call_expression "(*(code *)PTR___printf_chk_00054400)(1,puVar3,*local_18)" (parenthesized_expression "(*(code *)PTR___printf_chk_00054400)" ( (pointer_expression "*(code *)PTR___printf_chk_00054400" * (cast_expression "(code *)PTR___printf_chk_00054400" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,puVar3,*local_18)" ( number_literal , identifier , (pointer_expression "*local_18" * identifier) ))) ;) (expression_statement "local_18 = (undefined4 *)local_18[1];" (assignment_expression "local_18 = (undefined4 *)local_18[1]" identifier = (cast_expression "(undefined4 *)local_18[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_18[1]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "(local_18 != (undefined4 *)0x0)" ( (binary_expression "local_18 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) }))) (expression_statement "puVar2 = local_18;" (assignment_expression "puVar2 = local_18" identifier = identifier) ;) (expression_statement "(*(code *)PTR_curl_slist_free_all_000543d0)();" (call_expression "(*(code *)PTR_curl_slist_free_all_000543d0)()" (parenthesized_expression "(*(code *)PTR_curl_slist_free_all_000543d0)" ( (pointer_expression "*(code *)PTR_curl_slist_free_all_000543d0" * (cast_expression "(code *)PTR_curl_slist_free_all_000543d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (local_14 == *(int *)puVar4) {\n    return *(int *)puVar4;\n  }" if (parenthesized_expression "(local_14 == *(int *)puVar4)" ( (binary_expression "local_14 == *(int *)puVar4" identifier == (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return *(int *)puVar4;\n  }" { (return_statement "return *(int *)puVar4;" return (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (expression_statement "puVar4 = PTR___stack_chk_fail_000542ec;" (assignment_expression "puVar4 = PTR___stack_chk_fail_000542ec" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000542ec)();" (call_expression "(*(code *)PTR___stack_chk_fail_000542ec)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000542ec)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000542ec" * (cast_expression "(code *)PTR___stack_chk_fail_000542ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (puVar2 < (undefined4 *)0x12) {\n                    \n                    \n    iVar1 = (*(code *)(puVar4 + (int)(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))\n                      ))();\n    return iVar1;\n  }" if (parenthesized_expression "(puVar2 < (undefined4 *)0x12)" ( (binary_expression "puVar2 < (undefined4 *)0x12" identifier < (cast_expression "(undefined4 *)0x12" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n                    \n    iVar1 = (*(code *)(puVar4 + (int)(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))\n                      ))();\n    return iVar1;\n  }" { (expression_statement "iVar1 = (*(code *)(puVar4 + (int)(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))\n                      ))();" (assignment_expression "iVar1 = (*(code *)(puVar4 + (int)(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))\n                      ))()" identifier = (call_expression "(*(code *)(puVar4 + (int)(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))\n                      ))()" (parenthesized_expression "(*(code *)(puVar4 + (int)(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))\n                      ))" ( (pointer_expression "*(code *)(puVar4 + (int)(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))\n                      )" * (cast_expression "(code *)(puVar4 + (int)(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))\n                      )" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + (int)(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))\n                      )" ( (binary_expression "puVar4 + (int)(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))" identifier + (cast_expression "(int)(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))" ( (binary_expression "&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4)" (pointer_expression "&UNK_0003d730" & identifier) + (pointer_expression "*(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4)" * (cast_expression "(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4)" ( (binary_expression "*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4" (binary_expression "*(int *)(puVar4 + 0x35768) + 0x1f0" (pointer_expression "*(int *)(puVar4 + 0x35768)" * (cast_expression "(int *)(puVar4 + 0x35768)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + 0x35768)" ( (binary_expression "puVar4 + 0x35768" identifier + number_literal) )))) + number_literal) + (binary_expression "(int)puVar2 * 4" (cast_expression "(int)puVar2" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) )))) )))) )) (argument_list "()" ( )))) ;) (return_statement "return iVar1;" return identifier ;) })) (return_statement "return *(int *)(puVar4 + 0x35768) + -0x100;" return (binary_expression "*(int *)(puVar4 + 0x35768) + -0x100" (pointer_expression "*(int *)(puVar4 + 0x35768)" * (cast_expression "(int *)(puVar4 + 0x35768)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + 0x35768)" ( (binary_expression "puVar4 + 0x35768" identifier + number_literal) )))) + number_literal) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , (pointer_expression & IDENT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) }))) (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 ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) })) (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 ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ))))) )))) )))) )) (argument_list ( )))) ;) (return_statement return IDENT ;) })) (return_statement return (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ;) })))
(function_definition "int tool_list_engines(undefined4 param_1)\n\n{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined4 *local_18;\n  int local_14;\n  \n  puVar4 = PTR___stack_chk_guard_000543cc;\n  local_18 = (undefined4 *)0x0;\n  local_14 = *(int *)PTR___stack_chk_guard_000543cc;\n  (*(code *)PTR_curl_easy_getinfo_00054380)(param_1,0x40001b,&local_18);\n  (*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32c4);\n  if (local_18 == (undefined4 *)0x0) {\n    (*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32b0);\n  }\n  else {\n    puVar3 = PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x52bc;\n    do {\n      (*(code *)PTR___printf_chk_00054400)(1,puVar3,*local_18);\n      local_18 = (undefined4 *)local_18[1];\n    } while (local_18 != (undefined4 *)0x0);\n  }\n  puVar2 = local_18;\n  (*(code *)PTR_curl_slist_free_all_000543d0)();\n  if (local_14 == *(int *)puVar4) {\n    return *(int *)puVar4;\n  }\n  puVar4 = PTR___stack_chk_fail_000542ec;\n  (*(code *)PTR___stack_chk_fail_000542ec)();\n  if (puVar2 < (undefined4 *)0x12) {\n                    \n                    \n    iVar1 = (*(code *)(puVar4 + (int)(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))\n                      ))();\n    return iVar1;\n  }\n  return *(int *)(puVar4 + 0x35768) + -0x100;\n}" (primitive_type "int") (function_declarator "tool_list_engines(undefined4 param_1)" (identifier "tool_list_engines") (parameter_list "(undefined4 param_1)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) () ")"))) (compound_statement "{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined4 *local_18;\n  int local_14;\n  \n  puVar4 = PTR___stack_chk_guard_000543cc;\n  local_18 = (undefined4 *)0x0;\n  local_14 = *(int *)PTR___stack_chk_guard_000543cc;\n  (*(code *)PTR_curl_easy_getinfo_00054380)(param_1,0x40001b,&local_18);\n  (*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32c4);\n  if (local_18 == (undefined4 *)0x0) {\n    (*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32b0);\n  }\n  else {\n    puVar3 = PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x52bc;\n    do {\n      (*(code *)PTR___printf_chk_00054400)(1,puVar3,*local_18);\n      local_18 = (undefined4 *)local_18[1];\n    } while (local_18 != (undefined4 *)0x0);\n  }\n  puVar2 = local_18;\n  (*(code *)PTR_curl_slist_free_all_000543d0)();\n  if (local_14 == *(int *)puVar4) {\n    return *(int *)puVar4;\n  }\n  puVar4 = PTR___stack_chk_fail_000542ec;\n  (*(code *)PTR___stack_chk_fail_000542ec)();\n  if (puVar2 < (undefined4 *)0x12) {\n                    \n                    \n    iVar1 = (*(code *)(puVar4 + (int)(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))\n                      ))();\n    return iVar1;\n  }\n  return *(int *)(puVar4 + 0x35768) + -0x100;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "undefined4 *puVar2;" (type_identifier "undefined4") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "undefined *puVar4;" (type_identifier "undefined") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "undefined4 *local_18;" (type_identifier "undefined4") (pointer_declarator "*local_18" (* "*") (identifier "local_18")) (; ";")) (declaration "int local_14;" (primitive_type "int") (identifier "local_14") (; ";")) (expression_statement "puVar4 = PTR___stack_chk_guard_000543cc;" (assignment_expression "puVar4 = PTR___stack_chk_guard_000543cc" (identifier "puVar4") (= "=") (identifier "PTR___stack_chk_guard_000543cc")) (; ";")) (expression_statement "local_18 = (undefined4 *)0x0;" (assignment_expression "local_18 = (undefined4 *)0x0" (identifier "local_18") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_14 = *(int *)PTR___stack_chk_guard_000543cc;" (assignment_expression "local_14 = *(int *)PTR___stack_chk_guard_000543cc" (identifier "local_14") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_000543cc" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_000543cc" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_000543cc")))) (; ";")) (expression_statement "(*(code *)PTR_curl_easy_getinfo_00054380)(param_1,0x40001b,&local_18);" (call_expression "(*(code *)PTR_curl_easy_getinfo_00054380)(param_1,0x40001b,&local_18)" (parenthesized_expression "(*(code *)PTR_curl_easy_getinfo_00054380)" (( "(") (pointer_expression "*(code *)PTR_curl_easy_getinfo_00054380" (* "*") (cast_expression "(code *)PTR_curl_easy_getinfo_00054380" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_curl_easy_getinfo_00054380"))) () ")")) (argument_list "(param_1,0x40001b,&local_18)" (( "(") (identifier "param_1") (, ",") (number_literal "0x40001b") (, ",") (pointer_expression "&local_18" (& "&") (identifier "local_18")) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32c4);" (call_expression "(*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32c4)" (parenthesized_expression "(*(code *)PTR_puts_00054288)" (( "(") (pointer_expression "*(code *)PTR_puts_00054288" (* "*") (cast_expression "(code *)PTR_puts_00054288" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_puts_00054288"))) () ")")) (argument_list "(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32c4)" (( "(") (binary_expression "PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32c4" (identifier "PTR_s_ocol_is_unsupported_by_libcurl_00054048") (+ "+") (number_literal "-0x32c4")) () ")"))) (; ";")) (if_statement "if (local_18 == (undefined4 *)0x0) {\n    (*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32b0);\n  }\n  else {\n    puVar3 = PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x52bc;\n    do {\n      (*(code *)PTR___printf_chk_00054400)(1,puVar3,*local_18);\n      local_18 = (undefined4 *)local_18[1];\n    } while (local_18 != (undefined4 *)0x0);\n  }" (if "if") (parenthesized_expression "(local_18 == (undefined4 *)0x0)" (( "(") (binary_expression "local_18 == (undefined4 *)0x0" (identifier "local_18") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    (*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32b0);\n  }" ({ "{") (expression_statement "(*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32b0);" (call_expression "(*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32b0)" (parenthesized_expression "(*(code *)PTR_puts_00054288)" (( "(") (pointer_expression "*(code *)PTR_puts_00054288" (* "*") (cast_expression "(code *)PTR_puts_00054288" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_puts_00054288"))) () ")")) (argument_list "(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32b0)" (( "(") (binary_expression "PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32b0" (identifier "PTR_s_ocol_is_unsupported_by_libcurl_00054048") (+ "+") (number_literal "-0x32b0")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n    puVar3 = PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x52bc;\n    do {\n      (*(code *)PTR___printf_chk_00054400)(1,puVar3,*local_18);\n      local_18 = (undefined4 *)local_18[1];\n    } while (local_18 != (undefined4 *)0x0);\n  }" (else "else") (compound_statement "{\n    puVar3 = PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x52bc;\n    do {\n      (*(code *)PTR___printf_chk_00054400)(1,puVar3,*local_18);\n      local_18 = (undefined4 *)local_18[1];\n    } while (local_18 != (undefined4 *)0x0);\n  }" ({ "{") (expression_statement "puVar3 = PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x52bc;" (assignment_expression "puVar3 = PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x52bc" (identifier "puVar3") (= "=") (binary_expression "PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x52bc" (identifier "PTR_s_ocol_is_unsupported_by_libcurl_00054048") (+ "+") (number_literal "-0x52bc"))) (; ";")) (do_statement "do {\n      (*(code *)PTR___printf_chk_00054400)(1,puVar3,*local_18);\n      local_18 = (undefined4 *)local_18[1];\n    } while (local_18 != (undefined4 *)0x0);" (do "do") (compound_statement "{\n      (*(code *)PTR___printf_chk_00054400)(1,puVar3,*local_18);\n      local_18 = (undefined4 *)local_18[1];\n    }" ({ "{") (expression_statement "(*(code *)PTR___printf_chk_00054400)(1,puVar3,*local_18);" (call_expression "(*(code *)PTR___printf_chk_00054400)(1,puVar3,*local_18)" (parenthesized_expression "(*(code *)PTR___printf_chk_00054400)" (( "(") (pointer_expression "*(code *)PTR___printf_chk_00054400" (* "*") (cast_expression "(code *)PTR___printf_chk_00054400" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___printf_chk_00054400"))) () ")")) (argument_list "(1,puVar3,*local_18)" (( "(") (number_literal "1") (, ",") (identifier "puVar3") (, ",") (pointer_expression "*local_18" (* "*") (identifier "local_18")) () ")"))) (; ";")) (expression_statement "local_18 = (undefined4 *)local_18[1];" (assignment_expression "local_18 = (undefined4 *)local_18[1]" (identifier "local_18") (= "=") (cast_expression "(undefined4 *)local_18[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_18[1]" (identifier "local_18") ([ "[") (number_literal "1") (] "]")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_18 != (undefined4 *)0x0)" (( "(") (binary_expression "local_18 != (undefined4 *)0x0" (identifier "local_18") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}")))) (expression_statement "puVar2 = local_18;" (assignment_expression "puVar2 = local_18" (identifier "puVar2") (= "=") (identifier "local_18")) (; ";")) (expression_statement "(*(code *)PTR_curl_slist_free_all_000543d0)();" (call_expression "(*(code *)PTR_curl_slist_free_all_000543d0)()" (parenthesized_expression "(*(code *)PTR_curl_slist_free_all_000543d0)" (( "(") (pointer_expression "*(code *)PTR_curl_slist_free_all_000543d0" (* "*") (cast_expression "(code *)PTR_curl_slist_free_all_000543d0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_curl_slist_free_all_000543d0"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (local_14 == *(int *)puVar4) {\n    return *(int *)puVar4;\n  }" (if "if") (parenthesized_expression "(local_14 == *(int *)puVar4)" (( "(") (binary_expression "local_14 == *(int *)puVar4" (identifier "local_14") (== "==") (pointer_expression "*(int *)puVar4" (* "*") (cast_expression "(int *)puVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4")))) () ")")) (compound_statement "{\n    return *(int *)puVar4;\n  }" ({ "{") (return_statement "return *(int *)puVar4;" (return "return") (pointer_expression "*(int *)puVar4" (* "*") (cast_expression "(int *)puVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4"))) (; ";")) (} "}"))) (expression_statement "puVar4 = PTR___stack_chk_fail_000542ec;" (assignment_expression "puVar4 = PTR___stack_chk_fail_000542ec" (identifier "puVar4") (= "=") (identifier "PTR___stack_chk_fail_000542ec")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_000542ec)();" (call_expression "(*(code *)PTR___stack_chk_fail_000542ec)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000542ec)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_000542ec" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_000542ec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_000542ec"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (puVar2 < (undefined4 *)0x12) {\n                    \n                    \n    iVar1 = (*(code *)(puVar4 + (int)(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))\n                      ))();\n    return iVar1;\n  }" (if "if") (parenthesized_expression "(puVar2 < (undefined4 *)0x12)" (( "(") (binary_expression "puVar2 < (undefined4 *)0x12" (identifier "puVar2") (< "<") (cast_expression "(undefined4 *)0x12" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x12"))) () ")")) (compound_statement "{\n                    \n                    \n    iVar1 = (*(code *)(puVar4 + (int)(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))\n                      ))();\n    return iVar1;\n  }" ({ "{") (expression_statement "iVar1 = (*(code *)(puVar4 + (int)(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))\n                      ))();" (assignment_expression "iVar1 = (*(code *)(puVar4 + (int)(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))\n                      ))()" (identifier "iVar1") (= "=") (call_expression "(*(code *)(puVar4 + (int)(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))\n                      ))()" (parenthesized_expression "(*(code *)(puVar4 + (int)(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))\n                      ))" (( "(") (pointer_expression "*(code *)(puVar4 + (int)(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))\n                      )" (* "*") (cast_expression "(code *)(puVar4 + (int)(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))\n                      )" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar4 + (int)(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))\n                      )" (( "(") (binary_expression "puVar4 + (int)(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))" (identifier "puVar4") (+ "+") (cast_expression "(int)(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))" (( "(") (binary_expression "&UNK_0003d730 +\n                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4)" (pointer_expression "&UNK_0003d730" (& "&") (identifier "UNK_0003d730")) (+ "+") (pointer_expression "*(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4)" (* "*") (cast_expression "(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4)" (( "(") (binary_expression "*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4" (binary_expression "*(int *)(puVar4 + 0x35768) + 0x1f0" (pointer_expression "*(int *)(puVar4 + 0x35768)" (* "*") (cast_expression "(int *)(puVar4 + 0x35768)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar4 + 0x35768)" (( "(") (binary_expression "puVar4 + 0x35768" (identifier "puVar4") (+ "+") (number_literal "0x35768")) () ")")))) (+ "+") (number_literal "0x1f0")) (+ "+") (binary_expression "(int)puVar2 * 4" (cast_expression "(int)puVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar2")) (* "*") (number_literal "4"))) () ")"))))) () ")")))) () ")")))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (return_statement "return iVar1;" (return "return") (identifier "iVar1") (; ";")) (} "}"))) (return_statement "return *(int *)(puVar4 + 0x35768) + -0x100;" (return "return") (binary_expression "*(int *)(puVar4 + 0x35768) + -0x100" (pointer_expression "*(int *)(puVar4 + 0x35768)" (* "*") (cast_expression "(int *)(puVar4 + 0x35768)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar4 + 0x35768)" (( "(") (binary_expression "puVar4 + 0x35768" (identifier "puVar4") (+ "+") (number_literal "0x35768")) () ")")))) (+ "+") (number_literal "-0x100")) (; ";")) (} "}")))

void function_1(type_1 *curl)

{
  type_2 *var_4;
  type_3 *puVar2;
  type_3 *var_5;
  type_2 *var_2;
  int var_3;
  
  var_5 = PTR___stack_chk_guard_000543cc;
  var_2 = (type_2 *)0x0;
  var_3 = *(int *)PTR___stack_chk_guard_000543cc;
  (*(type_4 *)PTR_curl_easy_getinfo_00054380)(curl,0x40001b,&var_2);
  (*(type_4 *)PTR_puts_00054288)(var_1 + -0x32c4);
  if (var_2 == (type_2 *)0x0) {
    (*(type_4 *)PTR_puts_00054288)(var_1 + -0x32b0);
  }
  else {
    puVar2 = var_1 + -0x52bc;
    do {
      (*(type_4 *)PTR__MIPS_STUBS__00054400)(1,puVar2,var_2->data);
      var_2 = var_2->next;
    } while (var_2 != (type_2 *)0x0);
  }
  var_4 = var_2;
  (*(type_4 *)PTR_curl_slist_free_all_000543d0)();
  if (var_3 == *(int *)var_5) {
    return;
  }
  var_5 = PTR___stack_chk_fail_000542ec;
  (*(type_4 *)PTR___stack_chk_fail_000542ec)();
  if (var_4 < (type_2 *)0x12) {
                    /* WARNING: Could not recover jumptable at 0x0001e910. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (*(type_4 *)(var_5 + (int)(var_6 +
                             *(int *)(*(int *)(var_5 + 0x35768) + 0x1f0 + (int)var_4 * 4) + 0xd4d0
                             )))();
    return;
  }
  return;
}


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

int MASKED(undefined4 param_1)

{
  int iVar1;
  undefined4 *puVar2;
  undefined *puVar3;
  undefined *puVar4;
  undefined4 *local_18;
  int local_14;
  
  puVar4 = PTR___stack_chk_guard_000543cc;
  local_18 = (undefined4 *)0x0;
  local_14 = *(int *)PTR___stack_chk_guard_000543cc;
  (*(code *)PTR_curl_easy_getinfo_00054380)(param_1,0x40001b,&local_18);
  (*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32c4);
  if (local_18 == (undefined4 *)0x0) {
    (*(code *)PTR_puts_00054288)(PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x32b0);
  }
  else {
    puVar3 = PTR_s_ocol_is_unsupported_by_libcurl_00054048 + -0x52bc;
    do {
      (*(code *)PTR___printf_chk_00054400)(1,puVar3,*local_18);
      local_18 = (undefined4 *)local_18[1];
    } while (local_18 != (undefined4 *)0x0);
  }
  puVar2 = local_18;
  (*(code *)PTR_curl_slist_free_all_000543d0)();
  if (local_14 == *(int *)puVar4) {
    return *(int *)puVar4;
  }
  puVar4 = PTR___stack_chk_fail_000542ec;
  (*(code *)PTR___stack_chk_fail_000542ec)();
  if (puVar2 < (undefined4 *)0x12) {
                    /* WARNING: Could not recover jumptable at 0x0001e910. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    iVar1 = (*(code *)(puVar4 + (int)(&UNK_0003d730 +
                                     *(int *)(*(int *)(puVar4 + 0x35768) + 0x1f0 + (int)puVar2 * 4))
                      ))();
    return iVar1;
  }
  return *(int *)(puVar4 + 0x35768) + -0x100;
}

