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

CURLcode Curl_close(Curl_easy *data)

{
  undefined *puVar1;
  
  if (data != (Curl_easy *)0x0) {
    Curl_expire_clear(data);
    if (data->multi != (Curl_multi *)0x0) {
      (*(code *)PTR_curl_multi_remove_handle_000b1c04)(data->multi,data);
    }
    if (data->multi_easy != (Curl_multi *)0x0) {
      (*(code *)PTR_curl_multi_cleanup_000b1c50)();
      data->multi_easy = (Curl_multi *)0x0;
    }
    Curl_llist_destroy(&(data->state).timeoutlist,(void *)0x0);
    data->magic = 0;
    if ((data->state).rangestringalloc != false) {
      (**(code **)PTR_Curl_cfree_000b1144)((data->state).range);
    }
    Curl_free_request_state(data);
    (*(code *)PTR_Curl_ssl_close_all_000b1470)(data);
    puVar1 = PTR_Curl_cfree_000b1144;
    (**(code **)PTR_Curl_cfree_000b1144)((data->state).first_host);
    (data->state).first_host = (char *)0x0;
    (**(code **)puVar1)((data->state).scratch);
    (data->state).scratch = (char *)0x0;
    (*(code *)PTR_Curl_ssl_free_certinfo_000b1474)(data);
    (**(code **)puVar1)((data->req).newurl);
    (data->req).newurl = (char *)0x0;
    if ((data->change).referer_alloc != false) {
      (**(code **)puVar1)((data->change).referer);
      (data->change).referer_alloc = false;
    }
    (data->change).referer = (char *)0x0;
    Curl_up_free(data);
    puVar1 = PTR_Curl_cfree_000b1144;
    (**(code **)PTR_Curl_cfree_000b1144)((data->state).buffer);
    (data->state).buffer = (char *)0x0;
    (**(code **)puVar1)((data->state).headerbuff);
    (data->state).headerbuff = (char *)0x0;
    (**(code **)puVar1)((data->state).ulbuf);
    (data->state).ulbuf = (char *)0x0;
    Curl_flush_cookies(data,1);
    Curl_digest_cleanup(data);
    (**(code **)puVar1)((data->info).contenttype);
    (data->info).contenttype = (char *)0x0;
    (**(code **)puVar1)((data->info).wouldredirect);
    (data->info).wouldredirect = (char *)0x0;
    (*(code *)PTR_Curl_resolver_cleanup_000b143c)((data->state).resolver);
    (*(code *)PTR_Curl_http2_cleanup_dependencies_000b1484)(data);
    if (data->share != (Curl_share *)0x0) {
      Curl_share_lock(data,CURL_LOCK_DATA_SHARE,CURL_LOCK_ACCESS_SINGLE);
      data->share->dirty = data->share->dirty - 1;
      Curl_share_unlock(data,CURL_LOCK_DATA_SHARE);
    }
    Curl_wildcard_dtor(&data->wildcard);
    Curl_freeset(data);
    (**(code **)PTR_Curl_cfree_000b1144)(data);
    return CURLE_OK;
  }
  return CURLE_OK;
}



undefined4 FUN_000310c0(int param_1)

{
  undefined *puVar1;
  
  if (param_1 != 0) {
    FUN_0004c84c();
    if (*(int *)(param_1 + 0x84) != 0) {
      (*(code *)PTR_curl_multi_remove_handle_000b1c04)(*(int *)(param_1 + 0x84),param_1);
    }
    if (*(int *)(param_1 + 0x88) != 0) {
      (*(code *)PTR_curl_multi_cleanup_000b1c50)();
      *(undefined4 *)(param_1 + 0x88) = 0;
    }
    FUN_00046f98(param_1 + 0xdc8,0);
    *(undefined4 *)(param_1 + 0x1030) = 0;
    if (*(char *)(param_1 + 0xee2) != '\0') {
      (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xee4));
    }
    FUN_00031054(param_1);
    (*(code *)PTR_FUN_000b1470)(param_1);
    puVar1 = PTR_PTR_free_000b1144;
    (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xcac));
    *(undefined4 *)(param_1 + 0xcac) = 0;
    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xce4));
    *(undefined4 *)(param_1 + 0xce4) = 0;
    (*(code *)PTR_FUN_000b1474)(param_1);
    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0x144));
    *(undefined4 *)(param_1 + 0x144) = 0;
    if (*(char *)(param_1 + 0xb4c) != '\0') {
      (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xb48));
      *(undefined1 *)(param_1 + 0xb4c) = 0;
    }
    *(undefined4 *)(param_1 + 0xb48) = 0;
    FUN_00030230(param_1);
    puVar1 = PTR_PTR_free_000b1144;
    (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xc94));
    *(undefined4 *)(param_1 + 0xc94) = 0;
    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc8c));
    *(undefined4 *)(param_1 + 0xc8c) = 0;
    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc98));
    *(undefined4 *)(param_1 + 0xc98) = 0;
    FUN_0001fba4(param_1,1);
    FUN_0004ec7c(param_1);
    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfa8));
    *(undefined4 *)(param_1 + 0xfa8) = 0;
    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfac));
    *(undefined4 *)(param_1 + 0xfac) = 0;
    (*(code *)PTR_FUN_000b143c)(*(undefined4 *)(param_1 + 0xd9c));
    (*(code *)PTR_FUN_000b1484)(param_1);
    if (*(int *)(param_1 + 0x8c) != 0) {
      FUN_0004e860(param_1,1,2);
      *(int *)(*(int *)(param_1 + 0x8c) + 4) = *(int *)(*(int *)(param_1 + 0x8c) + 4) + -1;
      FUN_0004e8cc(param_1,1);
    }
    FUN_00043830(param_1 + 0xf58);
    FUN_00030154(param_1);
    (**(code **)PTR_PTR_free_000b1144)(param_1);
    return 0;
  }
  return 0;
}


lui gp,0x9
addiu gp,gp,-0x7fb0
addu gp,gp,t9
beq a0,zero,0x000313a8
_lw t9,-0x7ca8(gp)
addiu sp,sp,-0x28
sw ra,0x24(sp)
sw s1,0x20(sp)
sw s0,0x1c(sp)
sw gp,0x10(sp)
or s0,a0,zero
bal 0x0004c84c
_nop
lw gp,0x10(sp)
lw a0,0x84(s0)
beq a0,zero,0x00031114
_or a1,s0,zero
lw t9,-0x750c(gp)
jalr t9
_nop
lw gp,0x10(sp)
lw a0,0x88(s0)
beq a0,zero,0x00031130
_lw t9,-0x74c0(gp)
jalr t9
_nop
lw gp,0x10(sp)
sw zero,0x88(s0)
or a1,zero,zero
addiu a0,s0,0xdc8
lw t9,-0x7cfc(gp)
bal 0x00046f98
_nop
lw gp,0x10(sp)
sw zero,0x1030(s0)
lbu v0,0xee2(s0)
beq v0,zero,0x00031174
_or a0,s0,zero
lw v0,-0x7fcc(gp)
lw t9,0x0(v0)
lw a0,0xee4(s0)
jalr t9
_nop
lw gp,0x10(sp)
or a0,s0,zero
lw t9,-0x7ca4(gp)
bal 0x00031054
_nop
lw gp,0x10(sp)
or a0,s0,zero
lw t9,-0x7ca0(gp)
jalr t9
_nop
lw gp,0x10(sp)
lw s1,-0x7fcc(gp)
lw t9,0x0(s1)
lw a0,0xcac(s0)
jalr t9
_nop
lw gp,0x10(sp)
sw zero,0xcac(s0)
lw t9,0x0(s1)
lw a0,0xce4(s0)
jalr t9
_nop
lw gp,0x10(sp)
sw zero,0xce4(s0)
or a0,s0,zero
lw t9,-0x7c9c(gp)
jalr t9
_nop
lw gp,0x10(sp)
lw t9,0x0(s1)
lw a0,0x144(s0)
jalr t9
_nop
lw gp,0x10(sp)
sw zero,0x144(s0)
lbu v0,0xb4c(s0)
beq v0,zero,0x0003121c
_nop
lw t9,0x0(s1)
lw a0,0xb48(s0)
jalr t9
_nop
lw gp,0x10(sp)
sb zero,0xb4c(s0)
sw zero,0xb48(s0)
or a0,s0,zero
lw t9,-0x7c98(gp)
bal 0x00030230
_nop
lw gp,0x10(sp)
lw s1,-0x7fcc(gp)
lw t9,0x0(s1)
lw a0,0xc94(s0)
jalr t9
_nop
lw gp,0x10(sp)
sw zero,0xc94(s0)
lw t9,0x0(s1)
lw a0,0xc8c(s0)
jalr t9
_nop
lw gp,0x10(sp)
sw zero,0xc8c(s0)
lw t9,0x0(s1)
lw a0,0xc98(s0)
jalr t9
_nop
lw gp,0x10(sp)
sw zero,0xc98(s0)
li a1,0x1
or a0,s0,zero
lw t9,-0x7c94(gp)
bal 0x0001fba4
_nop
lw gp,0x10(sp)
or a0,s0,zero
lw t9,-0x7c90(gp)
bal 0x0004ec7c
_nop
lw gp,0x10(sp)
lw t9,0x0(s1)
lw a0,0xfa8(s0)
jalr t9
_nop
lw gp,0x10(sp)
sw zero,0xfa8(s0)
lw t9,0x0(s1)
lw a0,0xfac(s0)
jalr t9
_nop
lw gp,0x10(sp)
sw zero,0xfac(s0)
lw a0,0xd9c(s0)
lw t9,-0x7cd4(gp)
jalr t9
_nop
lw gp,0x10(sp)
or a0,s0,zero
lw t9,-0x7c8c(gp)
jalr t9
_nop
lw gp,0x10(sp)
lw v0,0x8c(s0)
beq v0,zero,0x00031350
_li a2,0x2
li a1,0x1
or a0,s0,zero
lw t9,-0x7f4c(gp)
bal 0x0004e860
_nop
lw gp,0x10(sp)
lw v1,0x8c(s0)
lw v0,0x4(v1)
addiu v0,v0,-0x1
sw v0,0x4(v1)
li a1,0x1
or a0,s0,zero
lw t9,-0x7f44(gp)
bal 0x0004e8cc
_nop
lw gp,0x10(sp)
addiu a0,s0,0xf58
lw t9,-0x7c88(gp)
bal 0x00043830
_nop
lw gp,0x10(sp)
or a0,s0,zero
lw t9,-0x7cd0(gp)
bal 0x00030154
_nop
lw gp,0x10(sp)
lw v0,-0x7fcc(gp)
lw t9,0x0(v0)
or a0,s0,zero
jalr t9
_nop
lw gp,0x10(sp)
or v0,zero,zero
lw ra,0x24(sp)
lw s1,0x20(sp)
lw s0,0x1c(sp)
jr ra
_addiu sp,sp,0x28
jr ra
_or v0,zero,zero
(translation_unit "undefined4 FUN_000310c0(int param_1)\n\n{\n  undefined *puVar1;\n  \n  if (param_1 != 0) {\n    FUN_0004c84c();\n    if (*(int *)(param_1 + 0x84) != 0) {\n      (*(code *)PTR_curl_multi_remove_handle_000b1c04)(*(int *)(param_1 + 0x84),param_1);\n    }\n    if (*(int *)(param_1 + 0x88) != 0) {\n      (*(code *)PTR_curl_multi_cleanup_000b1c50)();\n      *(undefined4 *)(param_1 + 0x88) = 0;\n    }\n    FUN_00046f98(param_1 + 0xdc8,0);\n    *(undefined4 *)(param_1 + 0x1030) = 0;\n    if (*(char *)(param_1 + 0xee2) != '\0') {\n      (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xee4));\n    }\n    FUN_00031054(param_1);\n    (*(code *)PTR_FUN_000b1470)(param_1);\n    puVar1 = PTR_PTR_free_000b1144;\n    (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xcac));\n    *(undefined4 *)(param_1 + 0xcac) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xce4));\n    *(undefined4 *)(param_1 + 0xce4) = 0;\n    (*(code *)PTR_FUN_000b1474)(param_1);\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0x144));\n    *(undefined4 *)(param_1 + 0x144) = 0;\n    if (*(char *)(param_1 + 0xb4c) != '\0') {\n      (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xb48));\n      *(undefined1 *)(param_1 + 0xb4c) = 0;\n    }\n    *(undefined4 *)(param_1 + 0xb48) = 0;\n    FUN_00030230(param_1);\n    puVar1 = PTR_PTR_free_000b1144;\n    (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xc94));\n    *(undefined4 *)(param_1 + 0xc94) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc8c));\n    *(undefined4 *)(param_1 + 0xc8c) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc98));\n    *(undefined4 *)(param_1 + 0xc98) = 0;\n    FUN_0001fba4(param_1,1);\n    FUN_0004ec7c(param_1);\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfa8));\n    *(undefined4 *)(param_1 + 0xfa8) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfac));\n    *(undefined4 *)(param_1 + 0xfac) = 0;\n    (*(code *)PTR_FUN_000b143c)(*(undefined4 *)(param_1 + 0xd9c));\n    (*(code *)PTR_FUN_000b1484)(param_1);\n    if (*(int *)(param_1 + 0x8c) != 0) {\n      FUN_0004e860(param_1,1,2);\n      *(int *)(*(int *)(param_1 + 0x8c) + 4) = *(int *)(*(int *)(param_1 + 0x8c) + 4) + -1;\n      FUN_0004e8cc(param_1,1);\n    }\n    FUN_00043830(param_1 + 0xf58);\n    FUN_00030154(param_1);\n    (**(code **)PTR_PTR_free_000b1144)(param_1);\n    return 0;\n  }\n  return 0;\n}\n\n" (function_definition "undefined4 FUN_000310c0(int param_1)\n\n{\n  undefined *puVar1;\n  \n  if (param_1 != 0) {\n    FUN_0004c84c();\n    if (*(int *)(param_1 + 0x84) != 0) {\n      (*(code *)PTR_curl_multi_remove_handle_000b1c04)(*(int *)(param_1 + 0x84),param_1);\n    }\n    if (*(int *)(param_1 + 0x88) != 0) {\n      (*(code *)PTR_curl_multi_cleanup_000b1c50)();\n      *(undefined4 *)(param_1 + 0x88) = 0;\n    }\n    FUN_00046f98(param_1 + 0xdc8,0);\n    *(undefined4 *)(param_1 + 0x1030) = 0;\n    if (*(char *)(param_1 + 0xee2) != '\0') {\n      (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xee4));\n    }\n    FUN_00031054(param_1);\n    (*(code *)PTR_FUN_000b1470)(param_1);\n    puVar1 = PTR_PTR_free_000b1144;\n    (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xcac));\n    *(undefined4 *)(param_1 + 0xcac) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xce4));\n    *(undefined4 *)(param_1 + 0xce4) = 0;\n    (*(code *)PTR_FUN_000b1474)(param_1);\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0x144));\n    *(undefined4 *)(param_1 + 0x144) = 0;\n    if (*(char *)(param_1 + 0xb4c) != '\0') {\n      (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xb48));\n      *(undefined1 *)(param_1 + 0xb4c) = 0;\n    }\n    *(undefined4 *)(param_1 + 0xb48) = 0;\n    FUN_00030230(param_1);\n    puVar1 = PTR_PTR_free_000b1144;\n    (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xc94));\n    *(undefined4 *)(param_1 + 0xc94) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc8c));\n    *(undefined4 *)(param_1 + 0xc8c) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc98));\n    *(undefined4 *)(param_1 + 0xc98) = 0;\n    FUN_0001fba4(param_1,1);\n    FUN_0004ec7c(param_1);\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfa8));\n    *(undefined4 *)(param_1 + 0xfa8) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfac));\n    *(undefined4 *)(param_1 + 0xfac) = 0;\n    (*(code *)PTR_FUN_000b143c)(*(undefined4 *)(param_1 + 0xd9c));\n    (*(code *)PTR_FUN_000b1484)(param_1);\n    if (*(int *)(param_1 + 0x8c) != 0) {\n      FUN_0004e860(param_1,1,2);\n      *(int *)(*(int *)(param_1 + 0x8c) + 4) = *(int *)(*(int *)(param_1 + 0x8c) + 4) + -1;\n      FUN_0004e8cc(param_1,1);\n    }\n    FUN_00043830(param_1 + 0xf58);\n    FUN_00030154(param_1);\n    (**(code **)PTR_PTR_free_000b1144)(param_1);\n    return 0;\n  }\n  return 0;\n}" type_identifier (function_declarator "FUN_000310c0(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  \n  if (param_1 != 0) {\n    FUN_0004c84c();\n    if (*(int *)(param_1 + 0x84) != 0) {\n      (*(code *)PTR_curl_multi_remove_handle_000b1c04)(*(int *)(param_1 + 0x84),param_1);\n    }\n    if (*(int *)(param_1 + 0x88) != 0) {\n      (*(code *)PTR_curl_multi_cleanup_000b1c50)();\n      *(undefined4 *)(param_1 + 0x88) = 0;\n    }\n    FUN_00046f98(param_1 + 0xdc8,0);\n    *(undefined4 *)(param_1 + 0x1030) = 0;\n    if (*(char *)(param_1 + 0xee2) != '\0') {\n      (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xee4));\n    }\n    FUN_00031054(param_1);\n    (*(code *)PTR_FUN_000b1470)(param_1);\n    puVar1 = PTR_PTR_free_000b1144;\n    (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xcac));\n    *(undefined4 *)(param_1 + 0xcac) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xce4));\n    *(undefined4 *)(param_1 + 0xce4) = 0;\n    (*(code *)PTR_FUN_000b1474)(param_1);\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0x144));\n    *(undefined4 *)(param_1 + 0x144) = 0;\n    if (*(char *)(param_1 + 0xb4c) != '\0') {\n      (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xb48));\n      *(undefined1 *)(param_1 + 0xb4c) = 0;\n    }\n    *(undefined4 *)(param_1 + 0xb48) = 0;\n    FUN_00030230(param_1);\n    puVar1 = PTR_PTR_free_000b1144;\n    (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xc94));\n    *(undefined4 *)(param_1 + 0xc94) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc8c));\n    *(undefined4 *)(param_1 + 0xc8c) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc98));\n    *(undefined4 *)(param_1 + 0xc98) = 0;\n    FUN_0001fba4(param_1,1);\n    FUN_0004ec7c(param_1);\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfa8));\n    *(undefined4 *)(param_1 + 0xfa8) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfac));\n    *(undefined4 *)(param_1 + 0xfac) = 0;\n    (*(code *)PTR_FUN_000b143c)(*(undefined4 *)(param_1 + 0xd9c));\n    (*(code *)PTR_FUN_000b1484)(param_1);\n    if (*(int *)(param_1 + 0x8c) != 0) {\n      FUN_0004e860(param_1,1,2);\n      *(int *)(*(int *)(param_1 + 0x8c) + 4) = *(int *)(*(int *)(param_1 + 0x8c) + 4) + -1;\n      FUN_0004e8cc(param_1,1);\n    }\n    FUN_00043830(param_1 + 0xf58);\n    FUN_00030154(param_1);\n    (**(code **)PTR_PTR_free_000b1144)(param_1);\n    return 0;\n  }\n  return 0;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (if_statement "if (param_1 != 0) {\n    FUN_0004c84c();\n    if (*(int *)(param_1 + 0x84) != 0) {\n      (*(code *)PTR_curl_multi_remove_handle_000b1c04)(*(int *)(param_1 + 0x84),param_1);\n    }\n    if (*(int *)(param_1 + 0x88) != 0) {\n      (*(code *)PTR_curl_multi_cleanup_000b1c50)();\n      *(undefined4 *)(param_1 + 0x88) = 0;\n    }\n    FUN_00046f98(param_1 + 0xdc8,0);\n    *(undefined4 *)(param_1 + 0x1030) = 0;\n    if (*(char *)(param_1 + 0xee2) != '\0') {\n      (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xee4));\n    }\n    FUN_00031054(param_1);\n    (*(code *)PTR_FUN_000b1470)(param_1);\n    puVar1 = PTR_PTR_free_000b1144;\n    (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xcac));\n    *(undefined4 *)(param_1 + 0xcac) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xce4));\n    *(undefined4 *)(param_1 + 0xce4) = 0;\n    (*(code *)PTR_FUN_000b1474)(param_1);\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0x144));\n    *(undefined4 *)(param_1 + 0x144) = 0;\n    if (*(char *)(param_1 + 0xb4c) != '\0') {\n      (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xb48));\n      *(undefined1 *)(param_1 + 0xb4c) = 0;\n    }\n    *(undefined4 *)(param_1 + 0xb48) = 0;\n    FUN_00030230(param_1);\n    puVar1 = PTR_PTR_free_000b1144;\n    (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xc94));\n    *(undefined4 *)(param_1 + 0xc94) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc8c));\n    *(undefined4 *)(param_1 + 0xc8c) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc98));\n    *(undefined4 *)(param_1 + 0xc98) = 0;\n    FUN_0001fba4(param_1,1);\n    FUN_0004ec7c(param_1);\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfa8));\n    *(undefined4 *)(param_1 + 0xfa8) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfac));\n    *(undefined4 *)(param_1 + 0xfac) = 0;\n    (*(code *)PTR_FUN_000b143c)(*(undefined4 *)(param_1 + 0xd9c));\n    (*(code *)PTR_FUN_000b1484)(param_1);\n    if (*(int *)(param_1 + 0x8c) != 0) {\n      FUN_0004e860(param_1,1,2);\n      *(int *)(*(int *)(param_1 + 0x8c) + 4) = *(int *)(*(int *)(param_1 + 0x8c) + 4) + -1;\n      FUN_0004e8cc(param_1,1);\n    }\n    FUN_00043830(param_1 + 0xf58);\n    FUN_00030154(param_1);\n    (**(code **)PTR_PTR_free_000b1144)(param_1);\n    return 0;\n  }" if (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) (compound_statement "{\n    FUN_0004c84c();\n    if (*(int *)(param_1 + 0x84) != 0) {\n      (*(code *)PTR_curl_multi_remove_handle_000b1c04)(*(int *)(param_1 + 0x84),param_1);\n    }\n    if (*(int *)(param_1 + 0x88) != 0) {\n      (*(code *)PTR_curl_multi_cleanup_000b1c50)();\n      *(undefined4 *)(param_1 + 0x88) = 0;\n    }\n    FUN_00046f98(param_1 + 0xdc8,0);\n    *(undefined4 *)(param_1 + 0x1030) = 0;\n    if (*(char *)(param_1 + 0xee2) != '\0') {\n      (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xee4));\n    }\n    FUN_00031054(param_1);\n    (*(code *)PTR_FUN_000b1470)(param_1);\n    puVar1 = PTR_PTR_free_000b1144;\n    (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xcac));\n    *(undefined4 *)(param_1 + 0xcac) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xce4));\n    *(undefined4 *)(param_1 + 0xce4) = 0;\n    (*(code *)PTR_FUN_000b1474)(param_1);\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0x144));\n    *(undefined4 *)(param_1 + 0x144) = 0;\n    if (*(char *)(param_1 + 0xb4c) != '\0') {\n      (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xb48));\n      *(undefined1 *)(param_1 + 0xb4c) = 0;\n    }\n    *(undefined4 *)(param_1 + 0xb48) = 0;\n    FUN_00030230(param_1);\n    puVar1 = PTR_PTR_free_000b1144;\n    (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xc94));\n    *(undefined4 *)(param_1 + 0xc94) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc8c));\n    *(undefined4 *)(param_1 + 0xc8c) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc98));\n    *(undefined4 *)(param_1 + 0xc98) = 0;\n    FUN_0001fba4(param_1,1);\n    FUN_0004ec7c(param_1);\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfa8));\n    *(undefined4 *)(param_1 + 0xfa8) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfac));\n    *(undefined4 *)(param_1 + 0xfac) = 0;\n    (*(code *)PTR_FUN_000b143c)(*(undefined4 *)(param_1 + 0xd9c));\n    (*(code *)PTR_FUN_000b1484)(param_1);\n    if (*(int *)(param_1 + 0x8c) != 0) {\n      FUN_0004e860(param_1,1,2);\n      *(int *)(*(int *)(param_1 + 0x8c) + 4) = *(int *)(*(int *)(param_1 + 0x8c) + 4) + -1;\n      FUN_0004e8cc(param_1,1);\n    }\n    FUN_00043830(param_1 + 0xf58);\n    FUN_00030154(param_1);\n    (**(code **)PTR_PTR_free_000b1144)(param_1);\n    return 0;\n  }" { (expression_statement "FUN_0004c84c();" (call_expression "FUN_0004c84c()" identifier (argument_list "()" ( ))) ;) (if_statement "if (*(int *)(param_1 + 0x84) != 0) {\n      (*(code *)PTR_curl_multi_remove_handle_000b1c04)(*(int *)(param_1 + 0x84),param_1);\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x84) != 0)" ( (binary_expression "*(int *)(param_1 + 0x84) != 0" (pointer_expression "*(int *)(param_1 + 0x84)" * (cast_expression "(int *)(param_1 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x84)" ( (binary_expression "param_1 + 0x84" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      (*(code *)PTR_curl_multi_remove_handle_000b1c04)(*(int *)(param_1 + 0x84),param_1);\n    }" { (expression_statement "(*(code *)PTR_curl_multi_remove_handle_000b1c04)(*(int *)(param_1 + 0x84),param_1);" (call_expression "(*(code *)PTR_curl_multi_remove_handle_000b1c04)(*(int *)(param_1 + 0x84),param_1)" (parenthesized_expression "(*(code *)PTR_curl_multi_remove_handle_000b1c04)" ( (pointer_expression "*(code *)PTR_curl_multi_remove_handle_000b1c04" * (cast_expression "(code *)PTR_curl_multi_remove_handle_000b1c04" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(int *)(param_1 + 0x84),param_1)" ( (pointer_expression "*(int *)(param_1 + 0x84)" * (cast_expression "(int *)(param_1 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x84)" ( (binary_expression "param_1 + 0x84" identifier + number_literal) )))) , identifier ))) ;) })) (if_statement "if (*(int *)(param_1 + 0x88) != 0) {\n      (*(code *)PTR_curl_multi_cleanup_000b1c50)();\n      *(undefined4 *)(param_1 + 0x88) = 0;\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x88) != 0)" ( (binary_expression "*(int *)(param_1 + 0x88) != 0" (pointer_expression "*(int *)(param_1 + 0x88)" * (cast_expression "(int *)(param_1 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x88)" ( (binary_expression "param_1 + 0x88" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      (*(code *)PTR_curl_multi_cleanup_000b1c50)();\n      *(undefined4 *)(param_1 + 0x88) = 0;\n    }" { (expression_statement "(*(code *)PTR_curl_multi_cleanup_000b1c50)();" (call_expression "(*(code *)PTR_curl_multi_cleanup_000b1c50)()" (parenthesized_expression "(*(code *)PTR_curl_multi_cleanup_000b1c50)" ( (pointer_expression "*(code *)PTR_curl_multi_cleanup_000b1c50" * (cast_expression "(code *)PTR_curl_multi_cleanup_000b1c50" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x88) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x88) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x88)" * (cast_expression "(undefined4 *)(param_1 + 0x88)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x88)" ( (binary_expression "param_1 + 0x88" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "FUN_00046f98(param_1 + 0xdc8,0);" (call_expression "FUN_00046f98(param_1 + 0xdc8,0)" identifier (argument_list "(param_1 + 0xdc8,0)" ( (binary_expression "param_1 + 0xdc8" identifier + number_literal) , number_literal ))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x1030) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x1030) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x1030)" * (cast_expression "(undefined4 *)(param_1 + 0x1030)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1030)" ( (binary_expression "param_1 + 0x1030" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (*(char *)(param_1 + 0xee2) != '\0') {\n      (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xee4));\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0xee2) != '\0')" ( (binary_expression "*(char *)(param_1 + 0xee2) != '\0'" (pointer_expression "*(char *)(param_1 + 0xee2)" * (cast_expression "(char *)(param_1 + 0xee2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xee2)" ( (binary_expression "param_1 + 0xee2" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xee4));\n    }" { (expression_statement "(**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xee4));" (call_expression "(**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xee4))" (parenthesized_expression "(**(code **)PTR_PTR_free_000b1144)" ( (pointer_expression "**(code **)PTR_PTR_free_000b1144" * (pointer_expression "*(code **)PTR_PTR_free_000b1144" * (cast_expression "(code **)PTR_PTR_free_000b1144" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(*(undefined4 *)(param_1 + 0xee4))" ( (pointer_expression "*(undefined4 *)(param_1 + 0xee4)" * (cast_expression "(undefined4 *)(param_1 + 0xee4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xee4)" ( (binary_expression "param_1 + 0xee4" identifier + number_literal) )))) ))) ;) })) (expression_statement "FUN_00031054(param_1);" (call_expression "FUN_00031054(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_FUN_000b1470)(param_1);" (call_expression "(*(code *)PTR_FUN_000b1470)(param_1)" (parenthesized_expression "(*(code *)PTR_FUN_000b1470)" ( (pointer_expression "*(code *)PTR_FUN_000b1470" * (cast_expression "(code *)PTR_FUN_000b1470" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "puVar1 = PTR_PTR_free_000b1144;" (assignment_expression "puVar1 = PTR_PTR_free_000b1144" identifier = identifier) ;) (expression_statement "(**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xcac));" (call_expression "(**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xcac))" (parenthesized_expression "(**(code **)PTR_PTR_free_000b1144)" ( (pointer_expression "**(code **)PTR_PTR_free_000b1144" * (pointer_expression "*(code **)PTR_PTR_free_000b1144" * (cast_expression "(code **)PTR_PTR_free_000b1144" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(*(undefined4 *)(param_1 + 0xcac))" ( (pointer_expression "*(undefined4 *)(param_1 + 0xcac)" * (cast_expression "(undefined4 *)(param_1 + 0xcac)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xcac)" ( (binary_expression "param_1 + 0xcac" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(param_1 + 0xcac) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0xcac) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0xcac)" * (cast_expression "(undefined4 *)(param_1 + 0xcac)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xcac)" ( (binary_expression "param_1 + 0xcac" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(**(code **)puVar1)(*(undefined4 *)(param_1 + 0xce4));" (call_expression "(**(code **)puVar1)(*(undefined4 *)(param_1 + 0xce4))" (parenthesized_expression "(**(code **)puVar1)" ( (pointer_expression "**(code **)puVar1" * (pointer_expression "*(code **)puVar1" * (cast_expression "(code **)puVar1" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(*(undefined4 *)(param_1 + 0xce4))" ( (pointer_expression "*(undefined4 *)(param_1 + 0xce4)" * (cast_expression "(undefined4 *)(param_1 + 0xce4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xce4)" ( (binary_expression "param_1 + 0xce4" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(param_1 + 0xce4) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0xce4) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0xce4)" * (cast_expression "(undefined4 *)(param_1 + 0xce4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xce4)" ( (binary_expression "param_1 + 0xce4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*(code *)PTR_FUN_000b1474)(param_1);" (call_expression "(*(code *)PTR_FUN_000b1474)(param_1)" (parenthesized_expression "(*(code *)PTR_FUN_000b1474)" ( (pointer_expression "*(code *)PTR_FUN_000b1474" * (cast_expression "(code *)PTR_FUN_000b1474" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "(**(code **)puVar1)(*(undefined4 *)(param_1 + 0x144));" (call_expression "(**(code **)puVar1)(*(undefined4 *)(param_1 + 0x144))" (parenthesized_expression "(**(code **)puVar1)" ( (pointer_expression "**(code **)puVar1" * (pointer_expression "*(code **)puVar1" * (cast_expression "(code **)puVar1" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(*(undefined4 *)(param_1 + 0x144))" ( (pointer_expression "*(undefined4 *)(param_1 + 0x144)" * (cast_expression "(undefined4 *)(param_1 + 0x144)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x144)" ( (binary_expression "param_1 + 0x144" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x144) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x144) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x144)" * (cast_expression "(undefined4 *)(param_1 + 0x144)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x144)" ( (binary_expression "param_1 + 0x144" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (*(char *)(param_1 + 0xb4c) != '\0') {\n      (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xb48));\n      *(undefined1 *)(param_1 + 0xb4c) = 0;\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0xb4c) != '\0')" ( (binary_expression "*(char *)(param_1 + 0xb4c) != '\0'" (pointer_expression "*(char *)(param_1 + 0xb4c)" * (cast_expression "(char *)(param_1 + 0xb4c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xb4c)" ( (binary_expression "param_1 + 0xb4c" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xb48));\n      *(undefined1 *)(param_1 + 0xb4c) = 0;\n    }" { (expression_statement "(**(code **)puVar1)(*(undefined4 *)(param_1 + 0xb48));" (call_expression "(**(code **)puVar1)(*(undefined4 *)(param_1 + 0xb48))" (parenthesized_expression "(**(code **)puVar1)" ( (pointer_expression "**(code **)puVar1" * (pointer_expression "*(code **)puVar1" * (cast_expression "(code **)puVar1" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(*(undefined4 *)(param_1 + 0xb48))" ( (pointer_expression "*(undefined4 *)(param_1 + 0xb48)" * (cast_expression "(undefined4 *)(param_1 + 0xb48)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xb48)" ( (binary_expression "param_1 + 0xb48" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined1 *)(param_1 + 0xb4c) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0xb4c) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0xb4c)" * (cast_expression "(undefined1 *)(param_1 + 0xb4c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xb4c)" ( (binary_expression "param_1 + 0xb4c" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "*(undefined4 *)(param_1 + 0xb48) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0xb48) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0xb48)" * (cast_expression "(undefined4 *)(param_1 + 0xb48)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xb48)" ( (binary_expression "param_1 + 0xb48" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00030230(param_1);" (call_expression "FUN_00030230(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "puVar1 = PTR_PTR_free_000b1144;" (assignment_expression "puVar1 = PTR_PTR_free_000b1144" identifier = identifier) ;) (expression_statement "(**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xc94));" (call_expression "(**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xc94))" (parenthesized_expression "(**(code **)PTR_PTR_free_000b1144)" ( (pointer_expression "**(code **)PTR_PTR_free_000b1144" * (pointer_expression "*(code **)PTR_PTR_free_000b1144" * (cast_expression "(code **)PTR_PTR_free_000b1144" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(*(undefined4 *)(param_1 + 0xc94))" ( (pointer_expression "*(undefined4 *)(param_1 + 0xc94)" * (cast_expression "(undefined4 *)(param_1 + 0xc94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc94)" ( (binary_expression "param_1 + 0xc94" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(param_1 + 0xc94) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0xc94) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0xc94)" * (cast_expression "(undefined4 *)(param_1 + 0xc94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc94)" ( (binary_expression "param_1 + 0xc94" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc8c));" (call_expression "(**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc8c))" (parenthesized_expression "(**(code **)puVar1)" ( (pointer_expression "**(code **)puVar1" * (pointer_expression "*(code **)puVar1" * (cast_expression "(code **)puVar1" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(*(undefined4 *)(param_1 + 0xc8c))" ( (pointer_expression "*(undefined4 *)(param_1 + 0xc8c)" * (cast_expression "(undefined4 *)(param_1 + 0xc8c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc8c)" ( (binary_expression "param_1 + 0xc8c" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(param_1 + 0xc8c) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0xc8c) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0xc8c)" * (cast_expression "(undefined4 *)(param_1 + 0xc8c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc8c)" ( (binary_expression "param_1 + 0xc8c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc98));" (call_expression "(**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc98))" (parenthesized_expression "(**(code **)puVar1)" ( (pointer_expression "**(code **)puVar1" * (pointer_expression "*(code **)puVar1" * (cast_expression "(code **)puVar1" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(*(undefined4 *)(param_1 + 0xc98))" ( (pointer_expression "*(undefined4 *)(param_1 + 0xc98)" * (cast_expression "(undefined4 *)(param_1 + 0xc98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc98)" ( (binary_expression "param_1 + 0xc98" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(param_1 + 0xc98) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0xc98) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0xc98)" * (cast_expression "(undefined4 *)(param_1 + 0xc98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc98)" ( (binary_expression "param_1 + 0xc98" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001fba4(param_1,1);" (call_expression "FUN_0001fba4(param_1,1)" identifier (argument_list "(param_1,1)" ( identifier , number_literal ))) ;) (expression_statement "FUN_0004ec7c(param_1);" (call_expression "FUN_0004ec7c(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "(**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfa8));" (call_expression "(**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfa8))" (parenthesized_expression "(**(code **)puVar1)" ( (pointer_expression "**(code **)puVar1" * (pointer_expression "*(code **)puVar1" * (cast_expression "(code **)puVar1" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(*(undefined4 *)(param_1 + 0xfa8))" ( (pointer_expression "*(undefined4 *)(param_1 + 0xfa8)" * (cast_expression "(undefined4 *)(param_1 + 0xfa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xfa8)" ( (binary_expression "param_1 + 0xfa8" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(param_1 + 0xfa8) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0xfa8) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0xfa8)" * (cast_expression "(undefined4 *)(param_1 + 0xfa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xfa8)" ( (binary_expression "param_1 + 0xfa8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfac));" (call_expression "(**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfac))" (parenthesized_expression "(**(code **)puVar1)" ( (pointer_expression "**(code **)puVar1" * (pointer_expression "*(code **)puVar1" * (cast_expression "(code **)puVar1" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(*(undefined4 *)(param_1 + 0xfac))" ( (pointer_expression "*(undefined4 *)(param_1 + 0xfac)" * (cast_expression "(undefined4 *)(param_1 + 0xfac)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xfac)" ( (binary_expression "param_1 + 0xfac" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(param_1 + 0xfac) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0xfac) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0xfac)" * (cast_expression "(undefined4 *)(param_1 + 0xfac)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xfac)" ( (binary_expression "param_1 + 0xfac" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*(code *)PTR_FUN_000b143c)(*(undefined4 *)(param_1 + 0xd9c));" (call_expression "(*(code *)PTR_FUN_000b143c)(*(undefined4 *)(param_1 + 0xd9c))" (parenthesized_expression "(*(code *)PTR_FUN_000b143c)" ( (pointer_expression "*(code *)PTR_FUN_000b143c" * (cast_expression "(code *)PTR_FUN_000b143c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(param_1 + 0xd9c))" ( (pointer_expression "*(undefined4 *)(param_1 + 0xd9c)" * (cast_expression "(undefined4 *)(param_1 + 0xd9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xd9c)" ( (binary_expression "param_1 + 0xd9c" identifier + number_literal) )))) ))) ;) (expression_statement "(*(code *)PTR_FUN_000b1484)(param_1);" (call_expression "(*(code *)PTR_FUN_000b1484)(param_1)" (parenthesized_expression "(*(code *)PTR_FUN_000b1484)" ( (pointer_expression "*(code *)PTR_FUN_000b1484" * (cast_expression "(code *)PTR_FUN_000b1484" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier ))) ;) (if_statement "if (*(int *)(param_1 + 0x8c) != 0) {\n      FUN_0004e860(param_1,1,2);\n      *(int *)(*(int *)(param_1 + 0x8c) + 4) = *(int *)(*(int *)(param_1 + 0x8c) + 4) + -1;\n      FUN_0004e8cc(param_1,1);\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x8c) != 0)" ( (binary_expression "*(int *)(param_1 + 0x8c) != 0" (pointer_expression "*(int *)(param_1 + 0x8c)" * (cast_expression "(int *)(param_1 + 0x8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x8c)" ( (binary_expression "param_1 + 0x8c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      FUN_0004e860(param_1,1,2);\n      *(int *)(*(int *)(param_1 + 0x8c) + 4) = *(int *)(*(int *)(param_1 + 0x8c) + 4) + -1;\n      FUN_0004e8cc(param_1,1);\n    }" { (expression_statement "FUN_0004e860(param_1,1,2);" (call_expression "FUN_0004e860(param_1,1,2)" identifier (argument_list "(param_1,1,2)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "*(int *)(*(int *)(param_1 + 0x8c) + 4) = *(int *)(*(int *)(param_1 + 0x8c) + 4) + -1;" (assignment_expression "*(int *)(*(int *)(param_1 + 0x8c) + 4) = *(int *)(*(int *)(param_1 + 0x8c) + 4) + -1" (pointer_expression "*(int *)(*(int *)(param_1 + 0x8c) + 4)" * (cast_expression "(int *)(*(int *)(param_1 + 0x8c) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x8c) + 4)" ( (binary_expression "*(int *)(param_1 + 0x8c) + 4" (pointer_expression "*(int *)(param_1 + 0x8c)" * (cast_expression "(int *)(param_1 + 0x8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x8c)" ( (binary_expression "param_1 + 0x8c" identifier + number_literal) )))) + number_literal) )))) = (binary_expression "*(int *)(*(int *)(param_1 + 0x8c) + 4) + -1" (pointer_expression "*(int *)(*(int *)(param_1 + 0x8c) + 4)" * (cast_expression "(int *)(*(int *)(param_1 + 0x8c) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x8c) + 4)" ( (binary_expression "*(int *)(param_1 + 0x8c) + 4" (pointer_expression "*(int *)(param_1 + 0x8c)" * (cast_expression "(int *)(param_1 + 0x8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x8c)" ( (binary_expression "param_1 + 0x8c" identifier + number_literal) )))) + number_literal) )))) + number_literal)) ;) (expression_statement "FUN_0004e8cc(param_1,1);" (call_expression "FUN_0004e8cc(param_1,1)" identifier (argument_list "(param_1,1)" ( identifier , number_literal ))) ;) })) (expression_statement "FUN_00043830(param_1 + 0xf58);" (call_expression "FUN_00043830(param_1 + 0xf58)" identifier (argument_list "(param_1 + 0xf58)" ( (binary_expression "param_1 + 0xf58" identifier + number_literal) ))) ;) (expression_statement "FUN_00030154(param_1);" (call_expression "FUN_00030154(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "(**(code **)PTR_PTR_free_000b1144)(param_1);" (call_expression "(**(code **)PTR_PTR_free_000b1144)(param_1)" (parenthesized_expression "(**(code **)PTR_PTR_free_000b1144)" ( (pointer_expression "**(code **)PTR_PTR_free_000b1144" * (pointer_expression "*(code **)PTR_PTR_free_000b1144" * (cast_expression "(code **)PTR_PTR_free_000b1144" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(param_1)" ( identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (return_statement "return 0;" return number_literal ;) })))
(translation_unit "/* WARNING: Enum "anon_enum_32": Some values do not have unique names */\n\nCURLcode Curl_close(Curl_easy *data)\n\n{\n  undefined *puVar1;\n  \n  if (data != (Curl_easy *)0x0) {\n    Curl_expire_clear(data);\n    if (data->multi != (Curl_multi *)0x0) {\n      (*(code *)PTR_curl_multi_remove_handle_000b1c04)(data->multi,data);\n    }\n    if (data->multi_easy != (Curl_multi *)0x0) {\n      (*(code *)PTR_curl_multi_cleanup_000b1c50)();\n      data->multi_easy = (Curl_multi *)0x0;\n    }\n    Curl_llist_destroy(&(data->state).timeoutlist,(void *)0x0);\n    data->magic = 0;\n    if ((data->state).rangestringalloc != false) {\n      (**(code **)PTR_Curl_cfree_000b1144)((data->state).range);\n    }\n    Curl_free_request_state(data);\n    (*(code *)PTR_Curl_ssl_close_all_000b1470)(data);\n    puVar1 = PTR_Curl_cfree_000b1144;\n    (**(code **)PTR_Curl_cfree_000b1144)((data->state).first_host);\n    (data->state).first_host = (char *)0x0;\n    (**(code **)puVar1)((data->state).scratch);\n    (data->state).scratch = (char *)0x0;\n    (*(code *)PTR_Curl_ssl_free_certinfo_000b1474)(data);\n    (**(code **)puVar1)((data->req).newurl);\n    (data->req).newurl = (char *)0x0;\n    if ((data->change).referer_alloc != false) {\n      (**(code **)puVar1)((data->change).referer);\n      (data->change).referer_alloc = false;\n    }\n    (data->change).referer = (char *)0x0;\n    Curl_up_free(data);\n    puVar1 = PTR_Curl_cfree_000b1144;\n    (**(code **)PTR_Curl_cfree_000b1144)((data->state).buffer);\n    (data->state).buffer = (char *)0x0;\n    (**(code **)puVar1)((data->state).headerbuff);\n    (data->state).headerbuff = (char *)0x0;\n    (**(code **)puVar1)((data->state).ulbuf);\n    (data->state).ulbuf = (char *)0x0;\n    Curl_flush_cookies(data,1);\n    Curl_digest_cleanup(data);\n    (**(code **)puVar1)((data->info).contenttype);\n    (data->info).contenttype = (char *)0x0;\n    (**(code **)puVar1)((data->info).wouldredirect);\n    (data->info).wouldredirect = (char *)0x0;\n    (*(code *)PTR_Curl_resolver_cleanup_000b143c)((data->state).resolver);\n    (*(code *)PTR_Curl_http2_cleanup_dependencies_000b1484)(data);\n    if (data->share != (Curl_share *)0x0) {\n      Curl_share_lock(data,CURL_LOCK_DATA_SHARE,CURL_LOCK_ACCESS_SINGLE);\n      data->share->dirty = data->share->dirty - 1;\n      Curl_share_unlock(data,CURL_LOCK_DATA_SHARE);\n    }\n    Curl_wildcard_dtor(&data->wildcard);\n    Curl_freeset(data);\n    (**(code **)PTR_Curl_cfree_000b1144)(data);\n    return CURLE_OK;\n  }\n  return CURLE_OK;\n}\n\n" comment (function_definition "CURLcode Curl_close(Curl_easy *data)\n\n{\n  undefined *puVar1;\n  \n  if (data != (Curl_easy *)0x0) {\n    Curl_expire_clear(data);\n    if (data->multi != (Curl_multi *)0x0) {\n      (*(code *)PTR_curl_multi_remove_handle_000b1c04)(data->multi,data);\n    }\n    if (data->multi_easy != (Curl_multi *)0x0) {\n      (*(code *)PTR_curl_multi_cleanup_000b1c50)();\n      data->multi_easy = (Curl_multi *)0x0;\n    }\n    Curl_llist_destroy(&(data->state).timeoutlist,(void *)0x0);\n    data->magic = 0;\n    if ((data->state).rangestringalloc != false) {\n      (**(code **)PTR_Curl_cfree_000b1144)((data->state).range);\n    }\n    Curl_free_request_state(data);\n    (*(code *)PTR_Curl_ssl_close_all_000b1470)(data);\n    puVar1 = PTR_Curl_cfree_000b1144;\n    (**(code **)PTR_Curl_cfree_000b1144)((data->state).first_host);\n    (data->state).first_host = (char *)0x0;\n    (**(code **)puVar1)((data->state).scratch);\n    (data->state).scratch = (char *)0x0;\n    (*(code *)PTR_Curl_ssl_free_certinfo_000b1474)(data);\n    (**(code **)puVar1)((data->req).newurl);\n    (data->req).newurl = (char *)0x0;\n    if ((data->change).referer_alloc != false) {\n      (**(code **)puVar1)((data->change).referer);\n      (data->change).referer_alloc = false;\n    }\n    (data->change).referer = (char *)0x0;\n    Curl_up_free(data);\n    puVar1 = PTR_Curl_cfree_000b1144;\n    (**(code **)PTR_Curl_cfree_000b1144)((data->state).buffer);\n    (data->state).buffer = (char *)0x0;\n    (**(code **)puVar1)((data->state).headerbuff);\n    (data->state).headerbuff = (char *)0x0;\n    (**(code **)puVar1)((data->state).ulbuf);\n    (data->state).ulbuf = (char *)0x0;\n    Curl_flush_cookies(data,1);\n    Curl_digest_cleanup(data);\n    (**(code **)puVar1)((data->info).contenttype);\n    (data->info).contenttype = (char *)0x0;\n    (**(code **)puVar1)((data->info).wouldredirect);\n    (data->info).wouldredirect = (char *)0x0;\n    (*(code *)PTR_Curl_resolver_cleanup_000b143c)((data->state).resolver);\n    (*(code *)PTR_Curl_http2_cleanup_dependencies_000b1484)(data);\n    if (data->share != (Curl_share *)0x0) {\n      Curl_share_lock(data,CURL_LOCK_DATA_SHARE,CURL_LOCK_ACCESS_SINGLE);\n      data->share->dirty = data->share->dirty - 1;\n      Curl_share_unlock(data,CURL_LOCK_DATA_SHARE);\n    }\n    Curl_wildcard_dtor(&data->wildcard);\n    Curl_freeset(data);\n    (**(code **)PTR_Curl_cfree_000b1144)(data);\n    return CURLE_OK;\n  }\n  return CURLE_OK;\n}" type_identifier (function_declarator "Curl_close(Curl_easy *data)" identifier (parameter_list "(Curl_easy *data)" ( (parameter_declaration "Curl_easy *data" type_identifier (pointer_declarator "*data" * identifier)) ))) (compound_statement "{\n  undefined *puVar1;\n  \n  if (data != (Curl_easy *)0x0) {\n    Curl_expire_clear(data);\n    if (data->multi != (Curl_multi *)0x0) {\n      (*(code *)PTR_curl_multi_remove_handle_000b1c04)(data->multi,data);\n    }\n    if (data->multi_easy != (Curl_multi *)0x0) {\n      (*(code *)PTR_curl_multi_cleanup_000b1c50)();\n      data->multi_easy = (Curl_multi *)0x0;\n    }\n    Curl_llist_destroy(&(data->state).timeoutlist,(void *)0x0);\n    data->magic = 0;\n    if ((data->state).rangestringalloc != false) {\n      (**(code **)PTR_Curl_cfree_000b1144)((data->state).range);\n    }\n    Curl_free_request_state(data);\n    (*(code *)PTR_Curl_ssl_close_all_000b1470)(data);\n    puVar1 = PTR_Curl_cfree_000b1144;\n    (**(code **)PTR_Curl_cfree_000b1144)((data->state).first_host);\n    (data->state).first_host = (char *)0x0;\n    (**(code **)puVar1)((data->state).scratch);\n    (data->state).scratch = (char *)0x0;\n    (*(code *)PTR_Curl_ssl_free_certinfo_000b1474)(data);\n    (**(code **)puVar1)((data->req).newurl);\n    (data->req).newurl = (char *)0x0;\n    if ((data->change).referer_alloc != false) {\n      (**(code **)puVar1)((data->change).referer);\n      (data->change).referer_alloc = false;\n    }\n    (data->change).referer = (char *)0x0;\n    Curl_up_free(data);\n    puVar1 = PTR_Curl_cfree_000b1144;\n    (**(code **)PTR_Curl_cfree_000b1144)((data->state).buffer);\n    (data->state).buffer = (char *)0x0;\n    (**(code **)puVar1)((data->state).headerbuff);\n    (data->state).headerbuff = (char *)0x0;\n    (**(code **)puVar1)((data->state).ulbuf);\n    (data->state).ulbuf = (char *)0x0;\n    Curl_flush_cookies(data,1);\n    Curl_digest_cleanup(data);\n    (**(code **)puVar1)((data->info).contenttype);\n    (data->info).contenttype = (char *)0x0;\n    (**(code **)puVar1)((data->info).wouldredirect);\n    (data->info).wouldredirect = (char *)0x0;\n    (*(code *)PTR_Curl_resolver_cleanup_000b143c)((data->state).resolver);\n    (*(code *)PTR_Curl_http2_cleanup_dependencies_000b1484)(data);\n    if (data->share != (Curl_share *)0x0) {\n      Curl_share_lock(data,CURL_LOCK_DATA_SHARE,CURL_LOCK_ACCESS_SINGLE);\n      data->share->dirty = data->share->dirty - 1;\n      Curl_share_unlock(data,CURL_LOCK_DATA_SHARE);\n    }\n    Curl_wildcard_dtor(&data->wildcard);\n    Curl_freeset(data);\n    (**(code **)PTR_Curl_cfree_000b1144)(data);\n    return CURLE_OK;\n  }\n  return CURLE_OK;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (if_statement "if (data != (Curl_easy *)0x0) {\n    Curl_expire_clear(data);\n    if (data->multi != (Curl_multi *)0x0) {\n      (*(code *)PTR_curl_multi_remove_handle_000b1c04)(data->multi,data);\n    }\n    if (data->multi_easy != (Curl_multi *)0x0) {\n      (*(code *)PTR_curl_multi_cleanup_000b1c50)();\n      data->multi_easy = (Curl_multi *)0x0;\n    }\n    Curl_llist_destroy(&(data->state).timeoutlist,(void *)0x0);\n    data->magic = 0;\n    if ((data->state).rangestringalloc != false) {\n      (**(code **)PTR_Curl_cfree_000b1144)((data->state).range);\n    }\n    Curl_free_request_state(data);\n    (*(code *)PTR_Curl_ssl_close_all_000b1470)(data);\n    puVar1 = PTR_Curl_cfree_000b1144;\n    (**(code **)PTR_Curl_cfree_000b1144)((data->state).first_host);\n    (data->state).first_host = (char *)0x0;\n    (**(code **)puVar1)((data->state).scratch);\n    (data->state).scratch = (char *)0x0;\n    (*(code *)PTR_Curl_ssl_free_certinfo_000b1474)(data);\n    (**(code **)puVar1)((data->req).newurl);\n    (data->req).newurl = (char *)0x0;\n    if ((data->change).referer_alloc != false) {\n      (**(code **)puVar1)((data->change).referer);\n      (data->change).referer_alloc = false;\n    }\n    (data->change).referer = (char *)0x0;\n    Curl_up_free(data);\n    puVar1 = PTR_Curl_cfree_000b1144;\n    (**(code **)PTR_Curl_cfree_000b1144)((data->state).buffer);\n    (data->state).buffer = (char *)0x0;\n    (**(code **)puVar1)((data->state).headerbuff);\n    (data->state).headerbuff = (char *)0x0;\n    (**(code **)puVar1)((data->state).ulbuf);\n    (data->state).ulbuf = (char *)0x0;\n    Curl_flush_cookies(data,1);\n    Curl_digest_cleanup(data);\n    (**(code **)puVar1)((data->info).contenttype);\n    (data->info).contenttype = (char *)0x0;\n    (**(code **)puVar1)((data->info).wouldredirect);\n    (data->info).wouldredirect = (char *)0x0;\n    (*(code *)PTR_Curl_resolver_cleanup_000b143c)((data->state).resolver);\n    (*(code *)PTR_Curl_http2_cleanup_dependencies_000b1484)(data);\n    if (data->share != (Curl_share *)0x0) {\n      Curl_share_lock(data,CURL_LOCK_DATA_SHARE,CURL_LOCK_ACCESS_SINGLE);\n      data->share->dirty = data->share->dirty - 1;\n      Curl_share_unlock(data,CURL_LOCK_DATA_SHARE);\n    }\n    Curl_wildcard_dtor(&data->wildcard);\n    Curl_freeset(data);\n    (**(code **)PTR_Curl_cfree_000b1144)(data);\n    return CURLE_OK;\n  }" if (parenthesized_expression "(data != (Curl_easy *)0x0)" ( (binary_expression "data != (Curl_easy *)0x0" identifier != (cast_expression "(Curl_easy *)0x0" ( (type_descriptor "Curl_easy *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    Curl_expire_clear(data);\n    if (data->multi != (Curl_multi *)0x0) {\n      (*(code *)PTR_curl_multi_remove_handle_000b1c04)(data->multi,data);\n    }\n    if (data->multi_easy != (Curl_multi *)0x0) {\n      (*(code *)PTR_curl_multi_cleanup_000b1c50)();\n      data->multi_easy = (Curl_multi *)0x0;\n    }\n    Curl_llist_destroy(&(data->state).timeoutlist,(void *)0x0);\n    data->magic = 0;\n    if ((data->state).rangestringalloc != false) {\n      (**(code **)PTR_Curl_cfree_000b1144)((data->state).range);\n    }\n    Curl_free_request_state(data);\n    (*(code *)PTR_Curl_ssl_close_all_000b1470)(data);\n    puVar1 = PTR_Curl_cfree_000b1144;\n    (**(code **)PTR_Curl_cfree_000b1144)((data->state).first_host);\n    (data->state).first_host = (char *)0x0;\n    (**(code **)puVar1)((data->state).scratch);\n    (data->state).scratch = (char *)0x0;\n    (*(code *)PTR_Curl_ssl_free_certinfo_000b1474)(data);\n    (**(code **)puVar1)((data->req).newurl);\n    (data->req).newurl = (char *)0x0;\n    if ((data->change).referer_alloc != false) {\n      (**(code **)puVar1)((data->change).referer);\n      (data->change).referer_alloc = false;\n    }\n    (data->change).referer = (char *)0x0;\n    Curl_up_free(data);\n    puVar1 = PTR_Curl_cfree_000b1144;\n    (**(code **)PTR_Curl_cfree_000b1144)((data->state).buffer);\n    (data->state).buffer = (char *)0x0;\n    (**(code **)puVar1)((data->state).headerbuff);\n    (data->state).headerbuff = (char *)0x0;\n    (**(code **)puVar1)((data->state).ulbuf);\n    (data->state).ulbuf = (char *)0x0;\n    Curl_flush_cookies(data,1);\n    Curl_digest_cleanup(data);\n    (**(code **)puVar1)((data->info).contenttype);\n    (data->info).contenttype = (char *)0x0;\n    (**(code **)puVar1)((data->info).wouldredirect);\n    (data->info).wouldredirect = (char *)0x0;\n    (*(code *)PTR_Curl_resolver_cleanup_000b143c)((data->state).resolver);\n    (*(code *)PTR_Curl_http2_cleanup_dependencies_000b1484)(data);\n    if (data->share != (Curl_share *)0x0) {\n      Curl_share_lock(data,CURL_LOCK_DATA_SHARE,CURL_LOCK_ACCESS_SINGLE);\n      data->share->dirty = data->share->dirty - 1;\n      Curl_share_unlock(data,CURL_LOCK_DATA_SHARE);\n    }\n    Curl_wildcard_dtor(&data->wildcard);\n    Curl_freeset(data);\n    (**(code **)PTR_Curl_cfree_000b1144)(data);\n    return CURLE_OK;\n  }" { (expression_statement "Curl_expire_clear(data);" (call_expression "Curl_expire_clear(data)" identifier (argument_list "(data)" ( identifier ))) ;) (if_statement "if (data->multi != (Curl_multi *)0x0) {\n      (*(code *)PTR_curl_multi_remove_handle_000b1c04)(data->multi,data);\n    }" if (parenthesized_expression "(data->multi != (Curl_multi *)0x0)" ( (binary_expression "data->multi != (Curl_multi *)0x0" (field_expression "data->multi" identifier -> field_identifier) != (cast_expression "(Curl_multi *)0x0" ( (type_descriptor "Curl_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (*(code *)PTR_curl_multi_remove_handle_000b1c04)(data->multi,data);\n    }" { (expression_statement "(*(code *)PTR_curl_multi_remove_handle_000b1c04)(data->multi,data);" (call_expression "(*(code *)PTR_curl_multi_remove_handle_000b1c04)(data->multi,data)" (parenthesized_expression "(*(code *)PTR_curl_multi_remove_handle_000b1c04)" ( (pointer_expression "*(code *)PTR_curl_multi_remove_handle_000b1c04" * (cast_expression "(code *)PTR_curl_multi_remove_handle_000b1c04" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(data->multi,data)" ( (field_expression "data->multi" identifier -> field_identifier) , identifier ))) ;) })) (if_statement "if (data->multi_easy != (Curl_multi *)0x0) {\n      (*(code *)PTR_curl_multi_cleanup_000b1c50)();\n      data->multi_easy = (Curl_multi *)0x0;\n    }" if (parenthesized_expression "(data->multi_easy != (Curl_multi *)0x0)" ( (binary_expression "data->multi_easy != (Curl_multi *)0x0" (field_expression "data->multi_easy" identifier -> field_identifier) != (cast_expression "(Curl_multi *)0x0" ( (type_descriptor "Curl_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (*(code *)PTR_curl_multi_cleanup_000b1c50)();\n      data->multi_easy = (Curl_multi *)0x0;\n    }" { (expression_statement "(*(code *)PTR_curl_multi_cleanup_000b1c50)();" (call_expression "(*(code *)PTR_curl_multi_cleanup_000b1c50)()" (parenthesized_expression "(*(code *)PTR_curl_multi_cleanup_000b1c50)" ( (pointer_expression "*(code *)PTR_curl_multi_cleanup_000b1c50" * (cast_expression "(code *)PTR_curl_multi_cleanup_000b1c50" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "data->multi_easy = (Curl_multi *)0x0;" (assignment_expression "data->multi_easy = (Curl_multi *)0x0" (field_expression "data->multi_easy" identifier -> field_identifier) = (cast_expression "(Curl_multi *)0x0" ( (type_descriptor "Curl_multi *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "Curl_llist_destroy(&(data->state).timeoutlist,(void *)0x0);" (call_expression "Curl_llist_destroy(&(data->state).timeoutlist,(void *)0x0)" identifier (argument_list "(&(data->state).timeoutlist,(void *)0x0)" ( (pointer_expression "&(data->state).timeoutlist" & (field_expression "(data->state).timeoutlist" (parenthesized_expression "(data->state)" ( (field_expression "data->state" identifier -> field_identifier) )) . field_identifier)) , (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;) (expression_statement "data->magic = 0;" (assignment_expression "data->magic = 0" (field_expression "data->magic" identifier -> field_identifier) = number_literal) ;) (if_statement "if ((data->state).rangestringalloc != false) {\n      (**(code **)PTR_Curl_cfree_000b1144)((data->state).range);\n    }" if (parenthesized_expression "((data->state).rangestringalloc != false)" ( (binary_expression "(data->state).rangestringalloc != false" (field_expression "(data->state).rangestringalloc" (parenthesized_expression "(data->state)" ( (field_expression "data->state" identifier -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n      (**(code **)PTR_Curl_cfree_000b1144)((data->state).range);\n    }" { (expression_statement "(**(code **)PTR_Curl_cfree_000b1144)((data->state).range);" (call_expression "(**(code **)PTR_Curl_cfree_000b1144)((data->state).range)" (parenthesized_expression "(**(code **)PTR_Curl_cfree_000b1144)" ( (pointer_expression "**(code **)PTR_Curl_cfree_000b1144" * (pointer_expression "*(code **)PTR_Curl_cfree_000b1144" * (cast_expression "(code **)PTR_Curl_cfree_000b1144" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "((data->state).range)" ( (field_expression "(data->state).range" (parenthesized_expression "(data->state)" ( (field_expression "data->state" identifier -> field_identifier) )) . field_identifier) ))) ;) })) (expression_statement "Curl_free_request_state(data);" (call_expression "Curl_free_request_state(data)" identifier (argument_list "(data)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_Curl_ssl_close_all_000b1470)(data);" (call_expression "(*(code *)PTR_Curl_ssl_close_all_000b1470)(data)" (parenthesized_expression "(*(code *)PTR_Curl_ssl_close_all_000b1470)" ( (pointer_expression "*(code *)PTR_Curl_ssl_close_all_000b1470" * (cast_expression "(code *)PTR_Curl_ssl_close_all_000b1470" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(data)" ( identifier ))) ;) (expression_statement "puVar1 = PTR_Curl_cfree_000b1144;" (assignment_expression "puVar1 = PTR_Curl_cfree_000b1144" identifier = identifier) ;) (expression_statement "(**(code **)PTR_Curl_cfree_000b1144)((data->state).first_host);" (call_expression "(**(code **)PTR_Curl_cfree_000b1144)((data->state).first_host)" (parenthesized_expression "(**(code **)PTR_Curl_cfree_000b1144)" ( (pointer_expression "**(code **)PTR_Curl_cfree_000b1144" * (pointer_expression "*(code **)PTR_Curl_cfree_000b1144" * (cast_expression "(code **)PTR_Curl_cfree_000b1144" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "((data->state).first_host)" ( (field_expression "(data->state).first_host" (parenthesized_expression "(data->state)" ( (field_expression "data->state" identifier -> field_identifier) )) . field_identifier) ))) ;) (expression_statement "(data->state).first_host = (char *)0x0;" (assignment_expression "(data->state).first_host = (char *)0x0" (field_expression "(data->state).first_host" (parenthesized_expression "(data->state)" ( (field_expression "data->state" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)puVar1)((data->state).scratch);" (call_expression "(**(code **)puVar1)((data->state).scratch)" (parenthesized_expression "(**(code **)puVar1)" ( (pointer_expression "**(code **)puVar1" * (pointer_expression "*(code **)puVar1" * (cast_expression "(code **)puVar1" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "((data->state).scratch)" ( (field_expression "(data->state).scratch" (parenthesized_expression "(data->state)" ( (field_expression "data->state" identifier -> field_identifier) )) . field_identifier) ))) ;) (expression_statement "(data->state).scratch = (char *)0x0;" (assignment_expression "(data->state).scratch = (char *)0x0" (field_expression "(data->state).scratch" (parenthesized_expression "(data->state)" ( (field_expression "data->state" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)PTR_Curl_ssl_free_certinfo_000b1474)(data);" (call_expression "(*(code *)PTR_Curl_ssl_free_certinfo_000b1474)(data)" (parenthesized_expression "(*(code *)PTR_Curl_ssl_free_certinfo_000b1474)" ( (pointer_expression "*(code *)PTR_Curl_ssl_free_certinfo_000b1474" * (cast_expression "(code *)PTR_Curl_ssl_free_certinfo_000b1474" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(data)" ( identifier ))) ;) (expression_statement "(**(code **)puVar1)((data->req).newurl);" (call_expression "(**(code **)puVar1)((data->req).newurl)" (parenthesized_expression "(**(code **)puVar1)" ( (pointer_expression "**(code **)puVar1" * (pointer_expression "*(code **)puVar1" * (cast_expression "(code **)puVar1" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "((data->req).newurl)" ( (field_expression "(data->req).newurl" (parenthesized_expression "(data->req)" ( (field_expression "data->req" identifier -> field_identifier) )) . field_identifier) ))) ;) (expression_statement "(data->req).newurl = (char *)0x0;" (assignment_expression "(data->req).newurl = (char *)0x0" (field_expression "(data->req).newurl" (parenthesized_expression "(data->req)" ( (field_expression "data->req" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((data->change).referer_alloc != false) {\n      (**(code **)puVar1)((data->change).referer);\n      (data->change).referer_alloc = false;\n    }" if (parenthesized_expression "((data->change).referer_alloc != false)" ( (binary_expression "(data->change).referer_alloc != false" (field_expression "(data->change).referer_alloc" (parenthesized_expression "(data->change)" ( (field_expression "data->change" identifier -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n      (**(code **)puVar1)((data->change).referer);\n      (data->change).referer_alloc = false;\n    }" { (expression_statement "(**(code **)puVar1)((data->change).referer);" (call_expression "(**(code **)puVar1)((data->change).referer)" (parenthesized_expression "(**(code **)puVar1)" ( (pointer_expression "**(code **)puVar1" * (pointer_expression "*(code **)puVar1" * (cast_expression "(code **)puVar1" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "((data->change).referer)" ( (field_expression "(data->change).referer" (parenthesized_expression "(data->change)" ( (field_expression "data->change" identifier -> field_identifier) )) . field_identifier) ))) ;) (expression_statement "(data->change).referer_alloc = false;" (assignment_expression "(data->change).referer_alloc = false" (field_expression "(data->change).referer_alloc" (parenthesized_expression "(data->change)" ( (field_expression "data->change" identifier -> field_identifier) )) . field_identifier) = false) ;) })) (expression_statement "(data->change).referer = (char *)0x0;" (assignment_expression "(data->change).referer = (char *)0x0" (field_expression "(data->change).referer" (parenthesized_expression "(data->change)" ( (field_expression "data->change" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "Curl_up_free(data);" (call_expression "Curl_up_free(data)" identifier (argument_list "(data)" ( identifier ))) ;) (expression_statement "puVar1 = PTR_Curl_cfree_000b1144;" (assignment_expression "puVar1 = PTR_Curl_cfree_000b1144" identifier = identifier) ;) (expression_statement "(**(code **)PTR_Curl_cfree_000b1144)((data->state).buffer);" (call_expression "(**(code **)PTR_Curl_cfree_000b1144)((data->state).buffer)" (parenthesized_expression "(**(code **)PTR_Curl_cfree_000b1144)" ( (pointer_expression "**(code **)PTR_Curl_cfree_000b1144" * (pointer_expression "*(code **)PTR_Curl_cfree_000b1144" * (cast_expression "(code **)PTR_Curl_cfree_000b1144" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "((data->state).buffer)" ( (field_expression "(data->state).buffer" (parenthesized_expression "(data->state)" ( (field_expression "data->state" identifier -> field_identifier) )) . field_identifier) ))) ;) (expression_statement "(data->state).buffer = (char *)0x0;" (assignment_expression "(data->state).buffer = (char *)0x0" (field_expression "(data->state).buffer" (parenthesized_expression "(data->state)" ( (field_expression "data->state" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)puVar1)((data->state).headerbuff);" (call_expression "(**(code **)puVar1)((data->state).headerbuff)" (parenthesized_expression "(**(code **)puVar1)" ( (pointer_expression "**(code **)puVar1" * (pointer_expression "*(code **)puVar1" * (cast_expression "(code **)puVar1" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "((data->state).headerbuff)" ( (field_expression "(data->state).headerbuff" (parenthesized_expression "(data->state)" ( (field_expression "data->state" identifier -> field_identifier) )) . field_identifier) ))) ;) (expression_statement "(data->state).headerbuff = (char *)0x0;" (assignment_expression "(data->state).headerbuff = (char *)0x0" (field_expression "(data->state).headerbuff" (parenthesized_expression "(data->state)" ( (field_expression "data->state" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)puVar1)((data->state).ulbuf);" (call_expression "(**(code **)puVar1)((data->state).ulbuf)" (parenthesized_expression "(**(code **)puVar1)" ( (pointer_expression "**(code **)puVar1" * (pointer_expression "*(code **)puVar1" * (cast_expression "(code **)puVar1" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "((data->state).ulbuf)" ( (field_expression "(data->state).ulbuf" (parenthesized_expression "(data->state)" ( (field_expression "data->state" identifier -> field_identifier) )) . field_identifier) ))) ;) (expression_statement "(data->state).ulbuf = (char *)0x0;" (assignment_expression "(data->state).ulbuf = (char *)0x0" (field_expression "(data->state).ulbuf" (parenthesized_expression "(data->state)" ( (field_expression "data->state" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "Curl_flush_cookies(data,1);" (call_expression "Curl_flush_cookies(data,1)" identifier (argument_list "(data,1)" ( identifier , number_literal ))) ;) (expression_statement "Curl_digest_cleanup(data);" (call_expression "Curl_digest_cleanup(data)" identifier (argument_list "(data)" ( identifier ))) ;) (expression_statement "(**(code **)puVar1)((data->info).contenttype);" (call_expression "(**(code **)puVar1)((data->info).contenttype)" (parenthesized_expression "(**(code **)puVar1)" ( (pointer_expression "**(code **)puVar1" * (pointer_expression "*(code **)puVar1" * (cast_expression "(code **)puVar1" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "((data->info).contenttype)" ( (field_expression "(data->info).contenttype" (parenthesized_expression "(data->info)" ( (field_expression "data->info" identifier -> field_identifier) )) . field_identifier) ))) ;) (expression_statement "(data->info).contenttype = (char *)0x0;" (assignment_expression "(data->info).contenttype = (char *)0x0" (field_expression "(data->info).contenttype" (parenthesized_expression "(data->info)" ( (field_expression "data->info" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)puVar1)((data->info).wouldredirect);" (call_expression "(**(code **)puVar1)((data->info).wouldredirect)" (parenthesized_expression "(**(code **)puVar1)" ( (pointer_expression "**(code **)puVar1" * (pointer_expression "*(code **)puVar1" * (cast_expression "(code **)puVar1" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "((data->info).wouldredirect)" ( (field_expression "(data->info).wouldredirect" (parenthesized_expression "(data->info)" ( (field_expression "data->info" identifier -> field_identifier) )) . field_identifier) ))) ;) (expression_statement "(data->info).wouldredirect = (char *)0x0;" (assignment_expression "(data->info).wouldredirect = (char *)0x0" (field_expression "(data->info).wouldredirect" (parenthesized_expression "(data->info)" ( (field_expression "data->info" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)PTR_Curl_resolver_cleanup_000b143c)((data->state).resolver);" (call_expression "(*(code *)PTR_Curl_resolver_cleanup_000b143c)((data->state).resolver)" (parenthesized_expression "(*(code *)PTR_Curl_resolver_cleanup_000b143c)" ( (pointer_expression "*(code *)PTR_Curl_resolver_cleanup_000b143c" * (cast_expression "(code *)PTR_Curl_resolver_cleanup_000b143c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((data->state).resolver)" ( (field_expression "(data->state).resolver" (parenthesized_expression "(data->state)" ( (field_expression "data->state" identifier -> field_identifier) )) . field_identifier) ))) ;) (expression_statement "(*(code *)PTR_Curl_http2_cleanup_dependencies_000b1484)(data);" (call_expression "(*(code *)PTR_Curl_http2_cleanup_dependencies_000b1484)(data)" (parenthesized_expression "(*(code *)PTR_Curl_http2_cleanup_dependencies_000b1484)" ( (pointer_expression "*(code *)PTR_Curl_http2_cleanup_dependencies_000b1484" * (cast_expression "(code *)PTR_Curl_http2_cleanup_dependencies_000b1484" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(data)" ( identifier ))) ;) (if_statement "if (data->share != (Curl_share *)0x0) {\n      Curl_share_lock(data,CURL_LOCK_DATA_SHARE,CURL_LOCK_ACCESS_SINGLE);\n      data->share->dirty = data->share->dirty - 1;\n      Curl_share_unlock(data,CURL_LOCK_DATA_SHARE);\n    }" if (parenthesized_expression "(data->share != (Curl_share *)0x0)" ( (binary_expression "data->share != (Curl_share *)0x0" (field_expression "data->share" identifier -> field_identifier) != (cast_expression "(Curl_share *)0x0" ( (type_descriptor "Curl_share *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      Curl_share_lock(data,CURL_LOCK_DATA_SHARE,CURL_LOCK_ACCESS_SINGLE);\n      data->share->dirty = data->share->dirty - 1;\n      Curl_share_unlock(data,CURL_LOCK_DATA_SHARE);\n    }" { (expression_statement "Curl_share_lock(data,CURL_LOCK_DATA_SHARE,CURL_LOCK_ACCESS_SINGLE);" (call_expression "Curl_share_lock(data,CURL_LOCK_DATA_SHARE,CURL_LOCK_ACCESS_SINGLE)" identifier (argument_list "(data,CURL_LOCK_DATA_SHARE,CURL_LOCK_ACCESS_SINGLE)" ( identifier , identifier , identifier ))) ;) (expression_statement "data->share->dirty = data->share->dirty - 1;" (assignment_expression "data->share->dirty = data->share->dirty - 1" (field_expression "data->share->dirty" (field_expression "data->share" identifier -> field_identifier) -> field_identifier) = (binary_expression "data->share->dirty - 1" (field_expression "data->share->dirty" (field_expression "data->share" identifier -> field_identifier) -> field_identifier) - number_literal)) ;) (expression_statement "Curl_share_unlock(data,CURL_LOCK_DATA_SHARE);" (call_expression "Curl_share_unlock(data,CURL_LOCK_DATA_SHARE)" identifier (argument_list "(data,CURL_LOCK_DATA_SHARE)" ( identifier , identifier ))) ;) })) (expression_statement "Curl_wildcard_dtor(&data->wildcard);" (call_expression "Curl_wildcard_dtor(&data->wildcard)" identifier (argument_list "(&data->wildcard)" ( (pointer_expression "&data->wildcard" & (field_expression "data->wildcard" identifier -> field_identifier)) ))) ;) (expression_statement "Curl_freeset(data);" (call_expression "Curl_freeset(data)" identifier (argument_list "(data)" ( identifier ))) ;) (expression_statement "(**(code **)PTR_Curl_cfree_000b1144)(data);" (call_expression "(**(code **)PTR_Curl_cfree_000b1144)(data)" (parenthesized_expression "(**(code **)PTR_Curl_cfree_000b1144)" ( (pointer_expression "**(code **)PTR_Curl_cfree_000b1144" * (pointer_expression "*(code **)PTR_Curl_cfree_000b1144" * (cast_expression "(code **)PTR_Curl_cfree_000b1144" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(data)" ( identifier ))) ;) (return_statement "return CURLE_OK;" return identifier ;) })) (return_statement "return CURLE_OK;" return identifier ;) })))
(translation_unit "undefined4 FUN_000310c0(int param_1)\n\n{\n  undefined *puVar1;\n  \n  if (param_1 != 0) {\n    FUN_0004c84c();\n    if (*(int *)(param_1 + 0x84) != 0) {\n      (*(code *)PTR_curl_multi_remove_handle_000b1c04)(*(int *)(param_1 + 0x84),param_1);\n    }\n    if (*(int *)(param_1 + 0x88) != 0) {\n      (*(code *)PTR_curl_multi_cleanup_000b1c50)();\n      *(undefined4 *)(param_1 + 0x88) = 0;\n    }\n    FUN_00046f98(param_1 + 0xdc8,0);\n    *(undefined4 *)(param_1 + 0x1030) = 0;\n    if (*(char *)(param_1 + 0xee2) != '\0') {\n      (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xee4));\n    }\n    FUN_00031054(param_1);\n    (*(code *)PTR_FUN_000b1470)(param_1);\n    puVar1 = PTR_PTR_free_000b1144;\n    (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xcac));\n    *(undefined4 *)(param_1 + 0xcac) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xce4));\n    *(undefined4 *)(param_1 + 0xce4) = 0;\n    (*(code *)PTR_FUN_000b1474)(param_1);\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0x144));\n    *(undefined4 *)(param_1 + 0x144) = 0;\n    if (*(char *)(param_1 + 0xb4c) != '\0') {\n      (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xb48));\n      *(undefined1 *)(param_1 + 0xb4c) = 0;\n    }\n    *(undefined4 *)(param_1 + 0xb48) = 0;\n    FUN_00030230(param_1);\n    puVar1 = PTR_PTR_free_000b1144;\n    (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xc94));\n    *(undefined4 *)(param_1 + 0xc94) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc8c));\n    *(undefined4 *)(param_1 + 0xc8c) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc98));\n    *(undefined4 *)(param_1 + 0xc98) = 0;\n    FUN_0001fba4(param_1,1);\n    FUN_0004ec7c(param_1);\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfa8));\n    *(undefined4 *)(param_1 + 0xfa8) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfac));\n    *(undefined4 *)(param_1 + 0xfac) = 0;\n    (*(code *)PTR_FUN_000b143c)(*(undefined4 *)(param_1 + 0xd9c));\n    (*(code *)PTR_FUN_000b1484)(param_1);\n    if (*(int *)(param_1 + 0x8c) != 0) {\n      FUN_0004e860(param_1,1,2);\n      *(int *)(*(int *)(param_1 + 0x8c) + 4) = *(int *)(*(int *)(param_1 + 0x8c) + 4) + -1;\n      FUN_0004e8cc(param_1,1);\n    }\n    FUN_00043830(param_1 + 0xf58);\n    FUN_00030154(param_1);\n    (**(code **)PTR_PTR_free_000b1144)(param_1);\n    return 0;\n  }\n  return 0;\n}\n\n" (function_definition "undefined4 FUN_000310c0(int param_1)\n\n{\n  undefined *puVar1;\n  \n  if (param_1 != 0) {\n    FUN_0004c84c();\n    if (*(int *)(param_1 + 0x84) != 0) {\n      (*(code *)PTR_curl_multi_remove_handle_000b1c04)(*(int *)(param_1 + 0x84),param_1);\n    }\n    if (*(int *)(param_1 + 0x88) != 0) {\n      (*(code *)PTR_curl_multi_cleanup_000b1c50)();\n      *(undefined4 *)(param_1 + 0x88) = 0;\n    }\n    FUN_00046f98(param_1 + 0xdc8,0);\n    *(undefined4 *)(param_1 + 0x1030) = 0;\n    if (*(char *)(param_1 + 0xee2) != '\0') {\n      (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xee4));\n    }\n    FUN_00031054(param_1);\n    (*(code *)PTR_FUN_000b1470)(param_1);\n    puVar1 = PTR_PTR_free_000b1144;\n    (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xcac));\n    *(undefined4 *)(param_1 + 0xcac) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xce4));\n    *(undefined4 *)(param_1 + 0xce4) = 0;\n    (*(code *)PTR_FUN_000b1474)(param_1);\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0x144));\n    *(undefined4 *)(param_1 + 0x144) = 0;\n    if (*(char *)(param_1 + 0xb4c) != '\0') {\n      (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xb48));\n      *(undefined1 *)(param_1 + 0xb4c) = 0;\n    }\n    *(undefined4 *)(param_1 + 0xb48) = 0;\n    FUN_00030230(param_1);\n    puVar1 = PTR_PTR_free_000b1144;\n    (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xc94));\n    *(undefined4 *)(param_1 + 0xc94) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc8c));\n    *(undefined4 *)(param_1 + 0xc8c) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc98));\n    *(undefined4 *)(param_1 + 0xc98) = 0;\n    FUN_0001fba4(param_1,1);\n    FUN_0004ec7c(param_1);\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfa8));\n    *(undefined4 *)(param_1 + 0xfa8) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfac));\n    *(undefined4 *)(param_1 + 0xfac) = 0;\n    (*(code *)PTR_FUN_000b143c)(*(undefined4 *)(param_1 + 0xd9c));\n    (*(code *)PTR_FUN_000b1484)(param_1);\n    if (*(int *)(param_1 + 0x8c) != 0) {\n      FUN_0004e860(param_1,1,2);\n      *(int *)(*(int *)(param_1 + 0x8c) + 4) = *(int *)(*(int *)(param_1 + 0x8c) + 4) + -1;\n      FUN_0004e8cc(param_1,1);\n    }\n    FUN_00043830(param_1 + 0xf58);\n    FUN_00030154(param_1);\n    (**(code **)PTR_PTR_free_000b1144)(param_1);\n    return 0;\n  }\n  return 0;\n}" type_identifier (function_declarator "FUN_000310c0(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  \n  if (param_1 != 0) {\n    FUN_0004c84c();\n    if (*(int *)(param_1 + 0x84) != 0) {\n      (*(code *)PTR_curl_multi_remove_handle_000b1c04)(*(int *)(param_1 + 0x84),param_1);\n    }\n    if (*(int *)(param_1 + 0x88) != 0) {\n      (*(code *)PTR_curl_multi_cleanup_000b1c50)();\n      *(undefined4 *)(param_1 + 0x88) = 0;\n    }\n    FUN_00046f98(param_1 + 0xdc8,0);\n    *(undefined4 *)(param_1 + 0x1030) = 0;\n    if (*(char *)(param_1 + 0xee2) != '\0') {\n      (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xee4));\n    }\n    FUN_00031054(param_1);\n    (*(code *)PTR_FUN_000b1470)(param_1);\n    puVar1 = PTR_PTR_free_000b1144;\n    (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xcac));\n    *(undefined4 *)(param_1 + 0xcac) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xce4));\n    *(undefined4 *)(param_1 + 0xce4) = 0;\n    (*(code *)PTR_FUN_000b1474)(param_1);\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0x144));\n    *(undefined4 *)(param_1 + 0x144) = 0;\n    if (*(char *)(param_1 + 0xb4c) != '\0') {\n      (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xb48));\n      *(undefined1 *)(param_1 + 0xb4c) = 0;\n    }\n    *(undefined4 *)(param_1 + 0xb48) = 0;\n    FUN_00030230(param_1);\n    puVar1 = PTR_PTR_free_000b1144;\n    (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xc94));\n    *(undefined4 *)(param_1 + 0xc94) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc8c));\n    *(undefined4 *)(param_1 + 0xc8c) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc98));\n    *(undefined4 *)(param_1 + 0xc98) = 0;\n    FUN_0001fba4(param_1,1);\n    FUN_0004ec7c(param_1);\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfa8));\n    *(undefined4 *)(param_1 + 0xfa8) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfac));\n    *(undefined4 *)(param_1 + 0xfac) = 0;\n    (*(code *)PTR_FUN_000b143c)(*(undefined4 *)(param_1 + 0xd9c));\n    (*(code *)PTR_FUN_000b1484)(param_1);\n    if (*(int *)(param_1 + 0x8c) != 0) {\n      FUN_0004e860(param_1,1,2);\n      *(int *)(*(int *)(param_1 + 0x8c) + 4) = *(int *)(*(int *)(param_1 + 0x8c) + 4) + -1;\n      FUN_0004e8cc(param_1,1);\n    }\n    FUN_00043830(param_1 + 0xf58);\n    FUN_00030154(param_1);\n    (**(code **)PTR_PTR_free_000b1144)(param_1);\n    return 0;\n  }\n  return 0;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (if_statement "if (param_1 != 0) {\n    FUN_0004c84c();\n    if (*(int *)(param_1 + 0x84) != 0) {\n      (*(code *)PTR_curl_multi_remove_handle_000b1c04)(*(int *)(param_1 + 0x84),param_1);\n    }\n    if (*(int *)(param_1 + 0x88) != 0) {\n      (*(code *)PTR_curl_multi_cleanup_000b1c50)();\n      *(undefined4 *)(param_1 + 0x88) = 0;\n    }\n    FUN_00046f98(param_1 + 0xdc8,0);\n    *(undefined4 *)(param_1 + 0x1030) = 0;\n    if (*(char *)(param_1 + 0xee2) != '\0') {\n      (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xee4));\n    }\n    FUN_00031054(param_1);\n    (*(code *)PTR_FUN_000b1470)(param_1);\n    puVar1 = PTR_PTR_free_000b1144;\n    (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xcac));\n    *(undefined4 *)(param_1 + 0xcac) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xce4));\n    *(undefined4 *)(param_1 + 0xce4) = 0;\n    (*(code *)PTR_FUN_000b1474)(param_1);\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0x144));\n    *(undefined4 *)(param_1 + 0x144) = 0;\n    if (*(char *)(param_1 + 0xb4c) != '\0') {\n      (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xb48));\n      *(undefined1 *)(param_1 + 0xb4c) = 0;\n    }\n    *(undefined4 *)(param_1 + 0xb48) = 0;\n    FUN_00030230(param_1);\n    puVar1 = PTR_PTR_free_000b1144;\n    (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xc94));\n    *(undefined4 *)(param_1 + 0xc94) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc8c));\n    *(undefined4 *)(param_1 + 0xc8c) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc98));\n    *(undefined4 *)(param_1 + 0xc98) = 0;\n    FUN_0001fba4(param_1,1);\n    FUN_0004ec7c(param_1);\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfa8));\n    *(undefined4 *)(param_1 + 0xfa8) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfac));\n    *(undefined4 *)(param_1 + 0xfac) = 0;\n    (*(code *)PTR_FUN_000b143c)(*(undefined4 *)(param_1 + 0xd9c));\n    (*(code *)PTR_FUN_000b1484)(param_1);\n    if (*(int *)(param_1 + 0x8c) != 0) {\n      FUN_0004e860(param_1,1,2);\n      *(int *)(*(int *)(param_1 + 0x8c) + 4) = *(int *)(*(int *)(param_1 + 0x8c) + 4) + -1;\n      FUN_0004e8cc(param_1,1);\n    }\n    FUN_00043830(param_1 + 0xf58);\n    FUN_00030154(param_1);\n    (**(code **)PTR_PTR_free_000b1144)(param_1);\n    return 0;\n  }" if (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) (compound_statement "{\n    FUN_0004c84c();\n    if (*(int *)(param_1 + 0x84) != 0) {\n      (*(code *)PTR_curl_multi_remove_handle_000b1c04)(*(int *)(param_1 + 0x84),param_1);\n    }\n    if (*(int *)(param_1 + 0x88) != 0) {\n      (*(code *)PTR_curl_multi_cleanup_000b1c50)();\n      *(undefined4 *)(param_1 + 0x88) = 0;\n    }\n    FUN_00046f98(param_1 + 0xdc8,0);\n    *(undefined4 *)(param_1 + 0x1030) = 0;\n    if (*(char *)(param_1 + 0xee2) != '\0') {\n      (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xee4));\n    }\n    FUN_00031054(param_1);\n    (*(code *)PTR_FUN_000b1470)(param_1);\n    puVar1 = PTR_PTR_free_000b1144;\n    (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xcac));\n    *(undefined4 *)(param_1 + 0xcac) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xce4));\n    *(undefined4 *)(param_1 + 0xce4) = 0;\n    (*(code *)PTR_FUN_000b1474)(param_1);\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0x144));\n    *(undefined4 *)(param_1 + 0x144) = 0;\n    if (*(char *)(param_1 + 0xb4c) != '\0') {\n      (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xb48));\n      *(undefined1 *)(param_1 + 0xb4c) = 0;\n    }\n    *(undefined4 *)(param_1 + 0xb48) = 0;\n    FUN_00030230(param_1);\n    puVar1 = PTR_PTR_free_000b1144;\n    (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xc94));\n    *(undefined4 *)(param_1 + 0xc94) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc8c));\n    *(undefined4 *)(param_1 + 0xc8c) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc98));\n    *(undefined4 *)(param_1 + 0xc98) = 0;\n    FUN_0001fba4(param_1,1);\n    FUN_0004ec7c(param_1);\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfa8));\n    *(undefined4 *)(param_1 + 0xfa8) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfac));\n    *(undefined4 *)(param_1 + 0xfac) = 0;\n    (*(code *)PTR_FUN_000b143c)(*(undefined4 *)(param_1 + 0xd9c));\n    (*(code *)PTR_FUN_000b1484)(param_1);\n    if (*(int *)(param_1 + 0x8c) != 0) {\n      FUN_0004e860(param_1,1,2);\n      *(int *)(*(int *)(param_1 + 0x8c) + 4) = *(int *)(*(int *)(param_1 + 0x8c) + 4) + -1;\n      FUN_0004e8cc(param_1,1);\n    }\n    FUN_00043830(param_1 + 0xf58);\n    FUN_00030154(param_1);\n    (**(code **)PTR_PTR_free_000b1144)(param_1);\n    return 0;\n  }" { (expression_statement "FUN_0004c84c();" (call_expression "FUN_0004c84c()" identifier (argument_list "()" ( ))) ;) (if_statement "if (*(int *)(param_1 + 0x84) != 0) {\n      (*(code *)PTR_curl_multi_remove_handle_000b1c04)(*(int *)(param_1 + 0x84),param_1);\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x84) != 0)" ( (binary_expression "*(int *)(param_1 + 0x84) != 0" (pointer_expression "*(int *)(param_1 + 0x84)" * (cast_expression "(int *)(param_1 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x84)" ( (binary_expression "param_1 + 0x84" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      (*(code *)PTR_curl_multi_remove_handle_000b1c04)(*(int *)(param_1 + 0x84),param_1);\n    }" { (expression_statement "(*(code *)PTR_curl_multi_remove_handle_000b1c04)(*(int *)(param_1 + 0x84),param_1);" (call_expression "(*(code *)PTR_curl_multi_remove_handle_000b1c04)(*(int *)(param_1 + 0x84),param_1)" (parenthesized_expression "(*(code *)PTR_curl_multi_remove_handle_000b1c04)" ( (pointer_expression "*(code *)PTR_curl_multi_remove_handle_000b1c04" * (cast_expression "(code *)PTR_curl_multi_remove_handle_000b1c04" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(int *)(param_1 + 0x84),param_1)" ( (pointer_expression "*(int *)(param_1 + 0x84)" * (cast_expression "(int *)(param_1 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x84)" ( (binary_expression "param_1 + 0x84" identifier + number_literal) )))) , identifier ))) ;) })) (if_statement "if (*(int *)(param_1 + 0x88) != 0) {\n      (*(code *)PTR_curl_multi_cleanup_000b1c50)();\n      *(undefined4 *)(param_1 + 0x88) = 0;\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x88) != 0)" ( (binary_expression "*(int *)(param_1 + 0x88) != 0" (pointer_expression "*(int *)(param_1 + 0x88)" * (cast_expression "(int *)(param_1 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x88)" ( (binary_expression "param_1 + 0x88" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      (*(code *)PTR_curl_multi_cleanup_000b1c50)();\n      *(undefined4 *)(param_1 + 0x88) = 0;\n    }" { (expression_statement "(*(code *)PTR_curl_multi_cleanup_000b1c50)();" (call_expression "(*(code *)PTR_curl_multi_cleanup_000b1c50)()" (parenthesized_expression "(*(code *)PTR_curl_multi_cleanup_000b1c50)" ( (pointer_expression "*(code *)PTR_curl_multi_cleanup_000b1c50" * (cast_expression "(code *)PTR_curl_multi_cleanup_000b1c50" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x88) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x88) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x88)" * (cast_expression "(undefined4 *)(param_1 + 0x88)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x88)" ( (binary_expression "param_1 + 0x88" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "FUN_00046f98(param_1 + 0xdc8,0);" (call_expression "FUN_00046f98(param_1 + 0xdc8,0)" identifier (argument_list "(param_1 + 0xdc8,0)" ( (binary_expression "param_1 + 0xdc8" identifier + number_literal) , number_literal ))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x1030) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x1030) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x1030)" * (cast_expression "(undefined4 *)(param_1 + 0x1030)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1030)" ( (binary_expression "param_1 + 0x1030" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (*(char *)(param_1 + 0xee2) != '\0') {\n      (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xee4));\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0xee2) != '\0')" ( (binary_expression "*(char *)(param_1 + 0xee2) != '\0'" (pointer_expression "*(char *)(param_1 + 0xee2)" * (cast_expression "(char *)(param_1 + 0xee2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xee2)" ( (binary_expression "param_1 + 0xee2" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xee4));\n    }" { (expression_statement "(**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xee4));" (call_expression "(**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xee4))" (parenthesized_expression "(**(code **)PTR_PTR_free_000b1144)" ( (pointer_expression "**(code **)PTR_PTR_free_000b1144" * (pointer_expression "*(code **)PTR_PTR_free_000b1144" * (cast_expression "(code **)PTR_PTR_free_000b1144" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(*(undefined4 *)(param_1 + 0xee4))" ( (pointer_expression "*(undefined4 *)(param_1 + 0xee4)" * (cast_expression "(undefined4 *)(param_1 + 0xee4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xee4)" ( (binary_expression "param_1 + 0xee4" identifier + number_literal) )))) ))) ;) })) (expression_statement "FUN_00031054(param_1);" (call_expression "FUN_00031054(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_FUN_000b1470)(param_1);" (call_expression "(*(code *)PTR_FUN_000b1470)(param_1)" (parenthesized_expression "(*(code *)PTR_FUN_000b1470)" ( (pointer_expression "*(code *)PTR_FUN_000b1470" * (cast_expression "(code *)PTR_FUN_000b1470" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "puVar1 = PTR_PTR_free_000b1144;" (assignment_expression "puVar1 = PTR_PTR_free_000b1144" identifier = identifier) ;) (expression_statement "(**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xcac));" (call_expression "(**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xcac))" (parenthesized_expression "(**(code **)PTR_PTR_free_000b1144)" ( (pointer_expression "**(code **)PTR_PTR_free_000b1144" * (pointer_expression "*(code **)PTR_PTR_free_000b1144" * (cast_expression "(code **)PTR_PTR_free_000b1144" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(*(undefined4 *)(param_1 + 0xcac))" ( (pointer_expression "*(undefined4 *)(param_1 + 0xcac)" * (cast_expression "(undefined4 *)(param_1 + 0xcac)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xcac)" ( (binary_expression "param_1 + 0xcac" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(param_1 + 0xcac) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0xcac) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0xcac)" * (cast_expression "(undefined4 *)(param_1 + 0xcac)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xcac)" ( (binary_expression "param_1 + 0xcac" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(**(code **)puVar1)(*(undefined4 *)(param_1 + 0xce4));" (call_expression "(**(code **)puVar1)(*(undefined4 *)(param_1 + 0xce4))" (parenthesized_expression "(**(code **)puVar1)" ( (pointer_expression "**(code **)puVar1" * (pointer_expression "*(code **)puVar1" * (cast_expression "(code **)puVar1" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(*(undefined4 *)(param_1 + 0xce4))" ( (pointer_expression "*(undefined4 *)(param_1 + 0xce4)" * (cast_expression "(undefined4 *)(param_1 + 0xce4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xce4)" ( (binary_expression "param_1 + 0xce4" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(param_1 + 0xce4) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0xce4) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0xce4)" * (cast_expression "(undefined4 *)(param_1 + 0xce4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xce4)" ( (binary_expression "param_1 + 0xce4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*(code *)PTR_FUN_000b1474)(param_1);" (call_expression "(*(code *)PTR_FUN_000b1474)(param_1)" (parenthesized_expression "(*(code *)PTR_FUN_000b1474)" ( (pointer_expression "*(code *)PTR_FUN_000b1474" * (cast_expression "(code *)PTR_FUN_000b1474" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "(**(code **)puVar1)(*(undefined4 *)(param_1 + 0x144));" (call_expression "(**(code **)puVar1)(*(undefined4 *)(param_1 + 0x144))" (parenthesized_expression "(**(code **)puVar1)" ( (pointer_expression "**(code **)puVar1" * (pointer_expression "*(code **)puVar1" * (cast_expression "(code **)puVar1" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(*(undefined4 *)(param_1 + 0x144))" ( (pointer_expression "*(undefined4 *)(param_1 + 0x144)" * (cast_expression "(undefined4 *)(param_1 + 0x144)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x144)" ( (binary_expression "param_1 + 0x144" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x144) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x144) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x144)" * (cast_expression "(undefined4 *)(param_1 + 0x144)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x144)" ( (binary_expression "param_1 + 0x144" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (*(char *)(param_1 + 0xb4c) != '\0') {\n      (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xb48));\n      *(undefined1 *)(param_1 + 0xb4c) = 0;\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0xb4c) != '\0')" ( (binary_expression "*(char *)(param_1 + 0xb4c) != '\0'" (pointer_expression "*(char *)(param_1 + 0xb4c)" * (cast_expression "(char *)(param_1 + 0xb4c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xb4c)" ( (binary_expression "param_1 + 0xb4c" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xb48));\n      *(undefined1 *)(param_1 + 0xb4c) = 0;\n    }" { (expression_statement "(**(code **)puVar1)(*(undefined4 *)(param_1 + 0xb48));" (call_expression "(**(code **)puVar1)(*(undefined4 *)(param_1 + 0xb48))" (parenthesized_expression "(**(code **)puVar1)" ( (pointer_expression "**(code **)puVar1" * (pointer_expression "*(code **)puVar1" * (cast_expression "(code **)puVar1" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(*(undefined4 *)(param_1 + 0xb48))" ( (pointer_expression "*(undefined4 *)(param_1 + 0xb48)" * (cast_expression "(undefined4 *)(param_1 + 0xb48)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xb48)" ( (binary_expression "param_1 + 0xb48" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined1 *)(param_1 + 0xb4c) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0xb4c) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0xb4c)" * (cast_expression "(undefined1 *)(param_1 + 0xb4c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xb4c)" ( (binary_expression "param_1 + 0xb4c" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "*(undefined4 *)(param_1 + 0xb48) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0xb48) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0xb48)" * (cast_expression "(undefined4 *)(param_1 + 0xb48)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xb48)" ( (binary_expression "param_1 + 0xb48" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00030230(param_1);" (call_expression "FUN_00030230(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "puVar1 = PTR_PTR_free_000b1144;" (assignment_expression "puVar1 = PTR_PTR_free_000b1144" identifier = identifier) ;) (expression_statement "(**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xc94));" (call_expression "(**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xc94))" (parenthesized_expression "(**(code **)PTR_PTR_free_000b1144)" ( (pointer_expression "**(code **)PTR_PTR_free_000b1144" * (pointer_expression "*(code **)PTR_PTR_free_000b1144" * (cast_expression "(code **)PTR_PTR_free_000b1144" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(*(undefined4 *)(param_1 + 0xc94))" ( (pointer_expression "*(undefined4 *)(param_1 + 0xc94)" * (cast_expression "(undefined4 *)(param_1 + 0xc94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc94)" ( (binary_expression "param_1 + 0xc94" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(param_1 + 0xc94) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0xc94) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0xc94)" * (cast_expression "(undefined4 *)(param_1 + 0xc94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc94)" ( (binary_expression "param_1 + 0xc94" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc8c));" (call_expression "(**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc8c))" (parenthesized_expression "(**(code **)puVar1)" ( (pointer_expression "**(code **)puVar1" * (pointer_expression "*(code **)puVar1" * (cast_expression "(code **)puVar1" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(*(undefined4 *)(param_1 + 0xc8c))" ( (pointer_expression "*(undefined4 *)(param_1 + 0xc8c)" * (cast_expression "(undefined4 *)(param_1 + 0xc8c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc8c)" ( (binary_expression "param_1 + 0xc8c" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(param_1 + 0xc8c) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0xc8c) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0xc8c)" * (cast_expression "(undefined4 *)(param_1 + 0xc8c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc8c)" ( (binary_expression "param_1 + 0xc8c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc98));" (call_expression "(**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc98))" (parenthesized_expression "(**(code **)puVar1)" ( (pointer_expression "**(code **)puVar1" * (pointer_expression "*(code **)puVar1" * (cast_expression "(code **)puVar1" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(*(undefined4 *)(param_1 + 0xc98))" ( (pointer_expression "*(undefined4 *)(param_1 + 0xc98)" * (cast_expression "(undefined4 *)(param_1 + 0xc98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc98)" ( (binary_expression "param_1 + 0xc98" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(param_1 + 0xc98) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0xc98) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0xc98)" * (cast_expression "(undefined4 *)(param_1 + 0xc98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc98)" ( (binary_expression "param_1 + 0xc98" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001fba4(param_1,1);" (call_expression "FUN_0001fba4(param_1,1)" identifier (argument_list "(param_1,1)" ( identifier , number_literal ))) ;) (expression_statement "FUN_0004ec7c(param_1);" (call_expression "FUN_0004ec7c(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "(**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfa8));" (call_expression "(**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfa8))" (parenthesized_expression "(**(code **)puVar1)" ( (pointer_expression "**(code **)puVar1" * (pointer_expression "*(code **)puVar1" * (cast_expression "(code **)puVar1" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(*(undefined4 *)(param_1 + 0xfa8))" ( (pointer_expression "*(undefined4 *)(param_1 + 0xfa8)" * (cast_expression "(undefined4 *)(param_1 + 0xfa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xfa8)" ( (binary_expression "param_1 + 0xfa8" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(param_1 + 0xfa8) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0xfa8) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0xfa8)" * (cast_expression "(undefined4 *)(param_1 + 0xfa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xfa8)" ( (binary_expression "param_1 + 0xfa8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfac));" (call_expression "(**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfac))" (parenthesized_expression "(**(code **)puVar1)" ( (pointer_expression "**(code **)puVar1" * (pointer_expression "*(code **)puVar1" * (cast_expression "(code **)puVar1" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(*(undefined4 *)(param_1 + 0xfac))" ( (pointer_expression "*(undefined4 *)(param_1 + 0xfac)" * (cast_expression "(undefined4 *)(param_1 + 0xfac)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xfac)" ( (binary_expression "param_1 + 0xfac" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(param_1 + 0xfac) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0xfac) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0xfac)" * (cast_expression "(undefined4 *)(param_1 + 0xfac)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xfac)" ( (binary_expression "param_1 + 0xfac" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*(code *)PTR_FUN_000b143c)(*(undefined4 *)(param_1 + 0xd9c));" (call_expression "(*(code *)PTR_FUN_000b143c)(*(undefined4 *)(param_1 + 0xd9c))" (parenthesized_expression "(*(code *)PTR_FUN_000b143c)" ( (pointer_expression "*(code *)PTR_FUN_000b143c" * (cast_expression "(code *)PTR_FUN_000b143c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(param_1 + 0xd9c))" ( (pointer_expression "*(undefined4 *)(param_1 + 0xd9c)" * (cast_expression "(undefined4 *)(param_1 + 0xd9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xd9c)" ( (binary_expression "param_1 + 0xd9c" identifier + number_literal) )))) ))) ;) (expression_statement "(*(code *)PTR_FUN_000b1484)(param_1);" (call_expression "(*(code *)PTR_FUN_000b1484)(param_1)" (parenthesized_expression "(*(code *)PTR_FUN_000b1484)" ( (pointer_expression "*(code *)PTR_FUN_000b1484" * (cast_expression "(code *)PTR_FUN_000b1484" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier ))) ;) (if_statement "if (*(int *)(param_1 + 0x8c) != 0) {\n      FUN_0004e860(param_1,1,2);\n      *(int *)(*(int *)(param_1 + 0x8c) + 4) = *(int *)(*(int *)(param_1 + 0x8c) + 4) + -1;\n      FUN_0004e8cc(param_1,1);\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x8c) != 0)" ( (binary_expression "*(int *)(param_1 + 0x8c) != 0" (pointer_expression "*(int *)(param_1 + 0x8c)" * (cast_expression "(int *)(param_1 + 0x8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x8c)" ( (binary_expression "param_1 + 0x8c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      FUN_0004e860(param_1,1,2);\n      *(int *)(*(int *)(param_1 + 0x8c) + 4) = *(int *)(*(int *)(param_1 + 0x8c) + 4) + -1;\n      FUN_0004e8cc(param_1,1);\n    }" { (expression_statement "FUN_0004e860(param_1,1,2);" (call_expression "FUN_0004e860(param_1,1,2)" identifier (argument_list "(param_1,1,2)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "*(int *)(*(int *)(param_1 + 0x8c) + 4) = *(int *)(*(int *)(param_1 + 0x8c) + 4) + -1;" (assignment_expression "*(int *)(*(int *)(param_1 + 0x8c) + 4) = *(int *)(*(int *)(param_1 + 0x8c) + 4) + -1" (pointer_expression "*(int *)(*(int *)(param_1 + 0x8c) + 4)" * (cast_expression "(int *)(*(int *)(param_1 + 0x8c) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x8c) + 4)" ( (binary_expression "*(int *)(param_1 + 0x8c) + 4" (pointer_expression "*(int *)(param_1 + 0x8c)" * (cast_expression "(int *)(param_1 + 0x8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x8c)" ( (binary_expression "param_1 + 0x8c" identifier + number_literal) )))) + number_literal) )))) = (binary_expression "*(int *)(*(int *)(param_1 + 0x8c) + 4) + -1" (pointer_expression "*(int *)(*(int *)(param_1 + 0x8c) + 4)" * (cast_expression "(int *)(*(int *)(param_1 + 0x8c) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x8c) + 4)" ( (binary_expression "*(int *)(param_1 + 0x8c) + 4" (pointer_expression "*(int *)(param_1 + 0x8c)" * (cast_expression "(int *)(param_1 + 0x8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x8c)" ( (binary_expression "param_1 + 0x8c" identifier + number_literal) )))) + number_literal) )))) + number_literal)) ;) (expression_statement "FUN_0004e8cc(param_1,1);" (call_expression "FUN_0004e8cc(param_1,1)" identifier (argument_list "(param_1,1)" ( identifier , number_literal ))) ;) })) (expression_statement "FUN_00043830(param_1 + 0xf58);" (call_expression "FUN_00043830(param_1 + 0xf58)" identifier (argument_list "(param_1 + 0xf58)" ( (binary_expression "param_1 + 0xf58" identifier + number_literal) ))) ;) (expression_statement "FUN_00030154(param_1);" (call_expression "FUN_00030154(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "(**(code **)PTR_PTR_free_000b1144)(param_1);" (call_expression "(**(code **)PTR_PTR_free_000b1144)(param_1)" (parenthesized_expression "(**(code **)PTR_PTR_free_000b1144)" ( (pointer_expression "**(code **)PTR_PTR_free_000b1144" * (pointer_expression "*(code **)PTR_PTR_free_000b1144" * (cast_expression "(code **)PTR_PTR_free_000b1144" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(param_1)" ( identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (return_statement "return 0;" return number_literal ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) )) (argument_list ( IDENT ))) ;) (return_statement return LIT ;) })) (return_statement return LIT ;) })))
(function_definition "undefined4 FUN_000310c0(int param_1)\n\n{\n  undefined *puVar1;\n  \n  if (param_1 != 0) {\n    FUN_0004c84c();\n    if (*(int *)(param_1 + 0x84) != 0) {\n      (*(code *)PTR_curl_multi_remove_handle_000b1c04)(*(int *)(param_1 + 0x84),param_1);\n    }\n    if (*(int *)(param_1 + 0x88) != 0) {\n      (*(code *)PTR_curl_multi_cleanup_000b1c50)();\n      *(undefined4 *)(param_1 + 0x88) = 0;\n    }\n    FUN_00046f98(param_1 + 0xdc8,0);\n    *(undefined4 *)(param_1 + 0x1030) = 0;\n    if (*(char *)(param_1 + 0xee2) != '\0') {\n      (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xee4));\n    }\n    FUN_00031054(param_1);\n    (*(code *)PTR_FUN_000b1470)(param_1);\n    puVar1 = PTR_PTR_free_000b1144;\n    (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xcac));\n    *(undefined4 *)(param_1 + 0xcac) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xce4));\n    *(undefined4 *)(param_1 + 0xce4) = 0;\n    (*(code *)PTR_FUN_000b1474)(param_1);\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0x144));\n    *(undefined4 *)(param_1 + 0x144) = 0;\n    if (*(char *)(param_1 + 0xb4c) != '\0') {\n      (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xb48));\n      *(undefined1 *)(param_1 + 0xb4c) = 0;\n    }\n    *(undefined4 *)(param_1 + 0xb48) = 0;\n    FUN_00030230(param_1);\n    puVar1 = PTR_PTR_free_000b1144;\n    (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xc94));\n    *(undefined4 *)(param_1 + 0xc94) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc8c));\n    *(undefined4 *)(param_1 + 0xc8c) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc98));\n    *(undefined4 *)(param_1 + 0xc98) = 0;\n    FUN_0001fba4(param_1,1);\n    FUN_0004ec7c(param_1);\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfa8));\n    *(undefined4 *)(param_1 + 0xfa8) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfac));\n    *(undefined4 *)(param_1 + 0xfac) = 0;\n    (*(code *)PTR_FUN_000b143c)(*(undefined4 *)(param_1 + 0xd9c));\n    (*(code *)PTR_FUN_000b1484)(param_1);\n    if (*(int *)(param_1 + 0x8c) != 0) {\n      FUN_0004e860(param_1,1,2);\n      *(int *)(*(int *)(param_1 + 0x8c) + 4) = *(int *)(*(int *)(param_1 + 0x8c) + 4) + -1;\n      FUN_0004e8cc(param_1,1);\n    }\n    FUN_00043830(param_1 + 0xf58);\n    FUN_00030154(param_1);\n    (**(code **)PTR_PTR_free_000b1144)(param_1);\n    return 0;\n  }\n  return 0;\n}" (type_identifier "undefined4") (function_declarator "FUN_000310c0(int param_1)" (identifier "FUN_000310c0") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")"))) (compound_statement "{\n  undefined *puVar1;\n  \n  if (param_1 != 0) {\n    FUN_0004c84c();\n    if (*(int *)(param_1 + 0x84) != 0) {\n      (*(code *)PTR_curl_multi_remove_handle_000b1c04)(*(int *)(param_1 + 0x84),param_1);\n    }\n    if (*(int *)(param_1 + 0x88) != 0) {\n      (*(code *)PTR_curl_multi_cleanup_000b1c50)();\n      *(undefined4 *)(param_1 + 0x88) = 0;\n    }\n    FUN_00046f98(param_1 + 0xdc8,0);\n    *(undefined4 *)(param_1 + 0x1030) = 0;\n    if (*(char *)(param_1 + 0xee2) != '\0') {\n      (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xee4));\n    }\n    FUN_00031054(param_1);\n    (*(code *)PTR_FUN_000b1470)(param_1);\n    puVar1 = PTR_PTR_free_000b1144;\n    (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xcac));\n    *(undefined4 *)(param_1 + 0xcac) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xce4));\n    *(undefined4 *)(param_1 + 0xce4) = 0;\n    (*(code *)PTR_FUN_000b1474)(param_1);\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0x144));\n    *(undefined4 *)(param_1 + 0x144) = 0;\n    if (*(char *)(param_1 + 0xb4c) != '\0') {\n      (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xb48));\n      *(undefined1 *)(param_1 + 0xb4c) = 0;\n    }\n    *(undefined4 *)(param_1 + 0xb48) = 0;\n    FUN_00030230(param_1);\n    puVar1 = PTR_PTR_free_000b1144;\n    (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xc94));\n    *(undefined4 *)(param_1 + 0xc94) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc8c));\n    *(undefined4 *)(param_1 + 0xc8c) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc98));\n    *(undefined4 *)(param_1 + 0xc98) = 0;\n    FUN_0001fba4(param_1,1);\n    FUN_0004ec7c(param_1);\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfa8));\n    *(undefined4 *)(param_1 + 0xfa8) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfac));\n    *(undefined4 *)(param_1 + 0xfac) = 0;\n    (*(code *)PTR_FUN_000b143c)(*(undefined4 *)(param_1 + 0xd9c));\n    (*(code *)PTR_FUN_000b1484)(param_1);\n    if (*(int *)(param_1 + 0x8c) != 0) {\n      FUN_0004e860(param_1,1,2);\n      *(int *)(*(int *)(param_1 + 0x8c) + 4) = *(int *)(*(int *)(param_1 + 0x8c) + 4) + -1;\n      FUN_0004e8cc(param_1,1);\n    }\n    FUN_00043830(param_1 + 0xf58);\n    FUN_00030154(param_1);\n    (**(code **)PTR_PTR_free_000b1144)(param_1);\n    return 0;\n  }\n  return 0;\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (if_statement "if (param_1 != 0) {\n    FUN_0004c84c();\n    if (*(int *)(param_1 + 0x84) != 0) {\n      (*(code *)PTR_curl_multi_remove_handle_000b1c04)(*(int *)(param_1 + 0x84),param_1);\n    }\n    if (*(int *)(param_1 + 0x88) != 0) {\n      (*(code *)PTR_curl_multi_cleanup_000b1c50)();\n      *(undefined4 *)(param_1 + 0x88) = 0;\n    }\n    FUN_00046f98(param_1 + 0xdc8,0);\n    *(undefined4 *)(param_1 + 0x1030) = 0;\n    if (*(char *)(param_1 + 0xee2) != '\0') {\n      (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xee4));\n    }\n    FUN_00031054(param_1);\n    (*(code *)PTR_FUN_000b1470)(param_1);\n    puVar1 = PTR_PTR_free_000b1144;\n    (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xcac));\n    *(undefined4 *)(param_1 + 0xcac) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xce4));\n    *(undefined4 *)(param_1 + 0xce4) = 0;\n    (*(code *)PTR_FUN_000b1474)(param_1);\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0x144));\n    *(undefined4 *)(param_1 + 0x144) = 0;\n    if (*(char *)(param_1 + 0xb4c) != '\0') {\n      (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xb48));\n      *(undefined1 *)(param_1 + 0xb4c) = 0;\n    }\n    *(undefined4 *)(param_1 + 0xb48) = 0;\n    FUN_00030230(param_1);\n    puVar1 = PTR_PTR_free_000b1144;\n    (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xc94));\n    *(undefined4 *)(param_1 + 0xc94) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc8c));\n    *(undefined4 *)(param_1 + 0xc8c) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc98));\n    *(undefined4 *)(param_1 + 0xc98) = 0;\n    FUN_0001fba4(param_1,1);\n    FUN_0004ec7c(param_1);\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfa8));\n    *(undefined4 *)(param_1 + 0xfa8) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfac));\n    *(undefined4 *)(param_1 + 0xfac) = 0;\n    (*(code *)PTR_FUN_000b143c)(*(undefined4 *)(param_1 + 0xd9c));\n    (*(code *)PTR_FUN_000b1484)(param_1);\n    if (*(int *)(param_1 + 0x8c) != 0) {\n      FUN_0004e860(param_1,1,2);\n      *(int *)(*(int *)(param_1 + 0x8c) + 4) = *(int *)(*(int *)(param_1 + 0x8c) + 4) + -1;\n      FUN_0004e8cc(param_1,1);\n    }\n    FUN_00043830(param_1 + 0xf58);\n    FUN_00030154(param_1);\n    (**(code **)PTR_PTR_free_000b1144)(param_1);\n    return 0;\n  }" (if "if") (parenthesized_expression "(param_1 != 0)" (( "(") (binary_expression "param_1 != 0" (identifier "param_1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_0004c84c();\n    if (*(int *)(param_1 + 0x84) != 0) {\n      (*(code *)PTR_curl_multi_remove_handle_000b1c04)(*(int *)(param_1 + 0x84),param_1);\n    }\n    if (*(int *)(param_1 + 0x88) != 0) {\n      (*(code *)PTR_curl_multi_cleanup_000b1c50)();\n      *(undefined4 *)(param_1 + 0x88) = 0;\n    }\n    FUN_00046f98(param_1 + 0xdc8,0);\n    *(undefined4 *)(param_1 + 0x1030) = 0;\n    if (*(char *)(param_1 + 0xee2) != '\0') {\n      (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xee4));\n    }\n    FUN_00031054(param_1);\n    (*(code *)PTR_FUN_000b1470)(param_1);\n    puVar1 = PTR_PTR_free_000b1144;\n    (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xcac));\n    *(undefined4 *)(param_1 + 0xcac) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xce4));\n    *(undefined4 *)(param_1 + 0xce4) = 0;\n    (*(code *)PTR_FUN_000b1474)(param_1);\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0x144));\n    *(undefined4 *)(param_1 + 0x144) = 0;\n    if (*(char *)(param_1 + 0xb4c) != '\0') {\n      (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xb48));\n      *(undefined1 *)(param_1 + 0xb4c) = 0;\n    }\n    *(undefined4 *)(param_1 + 0xb48) = 0;\n    FUN_00030230(param_1);\n    puVar1 = PTR_PTR_free_000b1144;\n    (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xc94));\n    *(undefined4 *)(param_1 + 0xc94) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc8c));\n    *(undefined4 *)(param_1 + 0xc8c) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc98));\n    *(undefined4 *)(param_1 + 0xc98) = 0;\n    FUN_0001fba4(param_1,1);\n    FUN_0004ec7c(param_1);\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfa8));\n    *(undefined4 *)(param_1 + 0xfa8) = 0;\n    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfac));\n    *(undefined4 *)(param_1 + 0xfac) = 0;\n    (*(code *)PTR_FUN_000b143c)(*(undefined4 *)(param_1 + 0xd9c));\n    (*(code *)PTR_FUN_000b1484)(param_1);\n    if (*(int *)(param_1 + 0x8c) != 0) {\n      FUN_0004e860(param_1,1,2);\n      *(int *)(*(int *)(param_1 + 0x8c) + 4) = *(int *)(*(int *)(param_1 + 0x8c) + 4) + -1;\n      FUN_0004e8cc(param_1,1);\n    }\n    FUN_00043830(param_1 + 0xf58);\n    FUN_00030154(param_1);\n    (**(code **)PTR_PTR_free_000b1144)(param_1);\n    return 0;\n  }" ({ "{") (expression_statement "FUN_0004c84c();" (call_expression "FUN_0004c84c()" (identifier "FUN_0004c84c") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (*(int *)(param_1 + 0x84) != 0) {\n      (*(code *)PTR_curl_multi_remove_handle_000b1c04)(*(int *)(param_1 + 0x84),param_1);\n    }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x84) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x84) != 0" (pointer_expression "*(int *)(param_1 + 0x84)" (* "*") (cast_expression "(int *)(param_1 + 0x84)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x84)" (( "(") (binary_expression "param_1 + 0x84" (identifier "param_1") (+ "+") (number_literal "0x84")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      (*(code *)PTR_curl_multi_remove_handle_000b1c04)(*(int *)(param_1 + 0x84),param_1);\n    }" ({ "{") (expression_statement "(*(code *)PTR_curl_multi_remove_handle_000b1c04)(*(int *)(param_1 + 0x84),param_1);" (call_expression "(*(code *)PTR_curl_multi_remove_handle_000b1c04)(*(int *)(param_1 + 0x84),param_1)" (parenthesized_expression "(*(code *)PTR_curl_multi_remove_handle_000b1c04)" (( "(") (pointer_expression "*(code *)PTR_curl_multi_remove_handle_000b1c04" (* "*") (cast_expression "(code *)PTR_curl_multi_remove_handle_000b1c04" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_curl_multi_remove_handle_000b1c04"))) () ")")) (argument_list "(*(int *)(param_1 + 0x84),param_1)" (( "(") (pointer_expression "*(int *)(param_1 + 0x84)" (* "*") (cast_expression "(int *)(param_1 + 0x84)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x84)" (( "(") (binary_expression "param_1 + 0x84" (identifier "param_1") (+ "+") (number_literal "0x84")) () ")")))) (, ",") (identifier "param_1") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(param_1 + 0x88) != 0) {\n      (*(code *)PTR_curl_multi_cleanup_000b1c50)();\n      *(undefined4 *)(param_1 + 0x88) = 0;\n    }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x88) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x88) != 0" (pointer_expression "*(int *)(param_1 + 0x88)" (* "*") (cast_expression "(int *)(param_1 + 0x88)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x88)" (( "(") (binary_expression "param_1 + 0x88" (identifier "param_1") (+ "+") (number_literal "0x88")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      (*(code *)PTR_curl_multi_cleanup_000b1c50)();\n      *(undefined4 *)(param_1 + 0x88) = 0;\n    }" ({ "{") (expression_statement "(*(code *)PTR_curl_multi_cleanup_000b1c50)();" (call_expression "(*(code *)PTR_curl_multi_cleanup_000b1c50)()" (parenthesized_expression "(*(code *)PTR_curl_multi_cleanup_000b1c50)" (( "(") (pointer_expression "*(code *)PTR_curl_multi_cleanup_000b1c50" (* "*") (cast_expression "(code *)PTR_curl_multi_cleanup_000b1c50" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_curl_multi_cleanup_000b1c50"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x88) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x88) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x88)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x88)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x88)" (( "(") (binary_expression "param_1 + 0x88" (identifier "param_1") (+ "+") (number_literal "0x88")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "FUN_00046f98(param_1 + 0xdc8,0);" (call_expression "FUN_00046f98(param_1 + 0xdc8,0)" (identifier "FUN_00046f98") (argument_list "(param_1 + 0xdc8,0)" (( "(") (binary_expression "param_1 + 0xdc8" (identifier "param_1") (+ "+") (number_literal "0xdc8")) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x1030) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x1030) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x1030)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x1030)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1030)" (( "(") (binary_expression "param_1 + 0x1030" (identifier "param_1") (+ "+") (number_literal "0x1030")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (*(char *)(param_1 + 0xee2) != '\0') {\n      (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xee4));\n    }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0xee2) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0xee2) != '\0'" (pointer_expression "*(char *)(param_1 + 0xee2)" (* "*") (cast_expression "(char *)(param_1 + 0xee2)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xee2)" (( "(") (binary_expression "param_1 + 0xee2" (identifier "param_1") (+ "+") (number_literal "0xee2")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xee4));\n    }" ({ "{") (expression_statement "(**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xee4));" (call_expression "(**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xee4))" (parenthesized_expression "(**(code **)PTR_PTR_free_000b1144)" (( "(") (pointer_expression "**(code **)PTR_PTR_free_000b1144" (* "*") (pointer_expression "*(code **)PTR_PTR_free_000b1144" (* "*") (cast_expression "(code **)PTR_PTR_free_000b1144" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_PTR_free_000b1144")))) () ")")) (argument_list "(*(undefined4 *)(param_1 + 0xee4))" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0xee4)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0xee4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xee4)" (( "(") (binary_expression "param_1 + 0xee4" (identifier "param_1") (+ "+") (number_literal "0xee4")) () ")")))) () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_00031054(param_1);" (call_expression "FUN_00031054(param_1)" (identifier "FUN_00031054") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_FUN_000b1470)(param_1);" (call_expression "(*(code *)PTR_FUN_000b1470)(param_1)" (parenthesized_expression "(*(code *)PTR_FUN_000b1470)" (( "(") (pointer_expression "*(code *)PTR_FUN_000b1470" (* "*") (cast_expression "(code *)PTR_FUN_000b1470" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FUN_000b1470"))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (expression_statement "puVar1 = PTR_PTR_free_000b1144;" (assignment_expression "puVar1 = PTR_PTR_free_000b1144" (identifier "puVar1") (= "=") (identifier "PTR_PTR_free_000b1144")) (; ";")) (expression_statement "(**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xcac));" (call_expression "(**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xcac))" (parenthesized_expression "(**(code **)PTR_PTR_free_000b1144)" (( "(") (pointer_expression "**(code **)PTR_PTR_free_000b1144" (* "*") (pointer_expression "*(code **)PTR_PTR_free_000b1144" (* "*") (cast_expression "(code **)PTR_PTR_free_000b1144" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_PTR_free_000b1144")))) () ")")) (argument_list "(*(undefined4 *)(param_1 + 0xcac))" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0xcac)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0xcac)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xcac)" (( "(") (binary_expression "param_1 + 0xcac" (identifier "param_1") (+ "+") (number_literal "0xcac")) () ")")))) () ")"))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0xcac) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0xcac) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0xcac)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0xcac)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xcac)" (( "(") (binary_expression "param_1 + 0xcac" (identifier "param_1") (+ "+") (number_literal "0xcac")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "(**(code **)puVar1)(*(undefined4 *)(param_1 + 0xce4));" (call_expression "(**(code **)puVar1)(*(undefined4 *)(param_1 + 0xce4))" (parenthesized_expression "(**(code **)puVar1)" (( "(") (pointer_expression "**(code **)puVar1" (* "*") (pointer_expression "*(code **)puVar1" (* "*") (cast_expression "(code **)puVar1" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar1")))) () ")")) (argument_list "(*(undefined4 *)(param_1 + 0xce4))" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0xce4)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0xce4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xce4)" (( "(") (binary_expression "param_1 + 0xce4" (identifier "param_1") (+ "+") (number_literal "0xce4")) () ")")))) () ")"))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0xce4) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0xce4) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0xce4)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0xce4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xce4)" (( "(") (binary_expression "param_1 + 0xce4" (identifier "param_1") (+ "+") (number_literal "0xce4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "(*(code *)PTR_FUN_000b1474)(param_1);" (call_expression "(*(code *)PTR_FUN_000b1474)(param_1)" (parenthesized_expression "(*(code *)PTR_FUN_000b1474)" (( "(") (pointer_expression "*(code *)PTR_FUN_000b1474" (* "*") (cast_expression "(code *)PTR_FUN_000b1474" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FUN_000b1474"))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (expression_statement "(**(code **)puVar1)(*(undefined4 *)(param_1 + 0x144));" (call_expression "(**(code **)puVar1)(*(undefined4 *)(param_1 + 0x144))" (parenthesized_expression "(**(code **)puVar1)" (( "(") (pointer_expression "**(code **)puVar1" (* "*") (pointer_expression "*(code **)puVar1" (* "*") (cast_expression "(code **)puVar1" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar1")))) () ")")) (argument_list "(*(undefined4 *)(param_1 + 0x144))" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0x144)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x144)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x144)" (( "(") (binary_expression "param_1 + 0x144" (identifier "param_1") (+ "+") (number_literal "0x144")) () ")")))) () ")"))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x144) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x144) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x144)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x144)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x144)" (( "(") (binary_expression "param_1 + 0x144" (identifier "param_1") (+ "+") (number_literal "0x144")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (*(char *)(param_1 + 0xb4c) != '\0') {\n      (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xb48));\n      *(undefined1 *)(param_1 + 0xb4c) = 0;\n    }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0xb4c) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0xb4c) != '\0'" (pointer_expression "*(char *)(param_1 + 0xb4c)" (* "*") (cast_expression "(char *)(param_1 + 0xb4c)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xb4c)" (( "(") (binary_expression "param_1 + 0xb4c" (identifier "param_1") (+ "+") (number_literal "0xb4c")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xb48));\n      *(undefined1 *)(param_1 + 0xb4c) = 0;\n    }" ({ "{") (expression_statement "(**(code **)puVar1)(*(undefined4 *)(param_1 + 0xb48));" (call_expression "(**(code **)puVar1)(*(undefined4 *)(param_1 + 0xb48))" (parenthesized_expression "(**(code **)puVar1)" (( "(") (pointer_expression "**(code **)puVar1" (* "*") (pointer_expression "*(code **)puVar1" (* "*") (cast_expression "(code **)puVar1" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar1")))) () ")")) (argument_list "(*(undefined4 *)(param_1 + 0xb48))" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0xb48)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0xb48)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xb48)" (( "(") (binary_expression "param_1 + 0xb48" (identifier "param_1") (+ "+") (number_literal "0xb48")) () ")")))) () ")"))) (; ";")) (expression_statement "*(undefined1 *)(param_1 + 0xb4c) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0xb4c) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0xb4c)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0xb4c)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xb4c)" (( "(") (binary_expression "param_1 + 0xb4c" (identifier "param_1") (+ "+") (number_literal "0xb4c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(param_1 + 0xb48) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0xb48) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0xb48)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0xb48)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xb48)" (( "(") (binary_expression "param_1 + 0xb48" (identifier "param_1") (+ "+") (number_literal "0xb48")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_00030230(param_1);" (call_expression "FUN_00030230(param_1)" (identifier "FUN_00030230") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (expression_statement "puVar1 = PTR_PTR_free_000b1144;" (assignment_expression "puVar1 = PTR_PTR_free_000b1144" (identifier "puVar1") (= "=") (identifier "PTR_PTR_free_000b1144")) (; ";")) (expression_statement "(**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xc94));" (call_expression "(**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xc94))" (parenthesized_expression "(**(code **)PTR_PTR_free_000b1144)" (( "(") (pointer_expression "**(code **)PTR_PTR_free_000b1144" (* "*") (pointer_expression "*(code **)PTR_PTR_free_000b1144" (* "*") (cast_expression "(code **)PTR_PTR_free_000b1144" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_PTR_free_000b1144")))) () ")")) (argument_list "(*(undefined4 *)(param_1 + 0xc94))" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0xc94)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0xc94)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc94)" (( "(") (binary_expression "param_1 + 0xc94" (identifier "param_1") (+ "+") (number_literal "0xc94")) () ")")))) () ")"))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0xc94) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0xc94) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0xc94)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0xc94)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc94)" (( "(") (binary_expression "param_1 + 0xc94" (identifier "param_1") (+ "+") (number_literal "0xc94")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "(**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc8c));" (call_expression "(**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc8c))" (parenthesized_expression "(**(code **)puVar1)" (( "(") (pointer_expression "**(code **)puVar1" (* "*") (pointer_expression "*(code **)puVar1" (* "*") (cast_expression "(code **)puVar1" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar1")))) () ")")) (argument_list "(*(undefined4 *)(param_1 + 0xc8c))" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0xc8c)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0xc8c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc8c)" (( "(") (binary_expression "param_1 + 0xc8c" (identifier "param_1") (+ "+") (number_literal "0xc8c")) () ")")))) () ")"))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0xc8c) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0xc8c) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0xc8c)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0xc8c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc8c)" (( "(") (binary_expression "param_1 + 0xc8c" (identifier "param_1") (+ "+") (number_literal "0xc8c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "(**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc98));" (call_expression "(**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc98))" (parenthesized_expression "(**(code **)puVar1)" (( "(") (pointer_expression "**(code **)puVar1" (* "*") (pointer_expression "*(code **)puVar1" (* "*") (cast_expression "(code **)puVar1" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar1")))) () ")")) (argument_list "(*(undefined4 *)(param_1 + 0xc98))" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0xc98)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0xc98)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc98)" (( "(") (binary_expression "param_1 + 0xc98" (identifier "param_1") (+ "+") (number_literal "0xc98")) () ")")))) () ")"))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0xc98) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0xc98) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0xc98)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0xc98)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc98)" (( "(") (binary_expression "param_1 + 0xc98" (identifier "param_1") (+ "+") (number_literal "0xc98")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_0001fba4(param_1,1);" (call_expression "FUN_0001fba4(param_1,1)" (identifier "FUN_0001fba4") (argument_list "(param_1,1)" (( "(") (identifier "param_1") (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "FUN_0004ec7c(param_1);" (call_expression "FUN_0004ec7c(param_1)" (identifier "FUN_0004ec7c") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (expression_statement "(**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfa8));" (call_expression "(**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfa8))" (parenthesized_expression "(**(code **)puVar1)" (( "(") (pointer_expression "**(code **)puVar1" (* "*") (pointer_expression "*(code **)puVar1" (* "*") (cast_expression "(code **)puVar1" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar1")))) () ")")) (argument_list "(*(undefined4 *)(param_1 + 0xfa8))" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0xfa8)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0xfa8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xfa8)" (( "(") (binary_expression "param_1 + 0xfa8" (identifier "param_1") (+ "+") (number_literal "0xfa8")) () ")")))) () ")"))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0xfa8) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0xfa8) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0xfa8)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0xfa8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xfa8)" (( "(") (binary_expression "param_1 + 0xfa8" (identifier "param_1") (+ "+") (number_literal "0xfa8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "(**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfac));" (call_expression "(**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfac))" (parenthesized_expression "(**(code **)puVar1)" (( "(") (pointer_expression "**(code **)puVar1" (* "*") (pointer_expression "*(code **)puVar1" (* "*") (cast_expression "(code **)puVar1" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar1")))) () ")")) (argument_list "(*(undefined4 *)(param_1 + 0xfac))" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0xfac)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0xfac)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xfac)" (( "(") (binary_expression "param_1 + 0xfac" (identifier "param_1") (+ "+") (number_literal "0xfac")) () ")")))) () ")"))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0xfac) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0xfac) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0xfac)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0xfac)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xfac)" (( "(") (binary_expression "param_1 + 0xfac" (identifier "param_1") (+ "+") (number_literal "0xfac")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "(*(code *)PTR_FUN_000b143c)(*(undefined4 *)(param_1 + 0xd9c));" (call_expression "(*(code *)PTR_FUN_000b143c)(*(undefined4 *)(param_1 + 0xd9c))" (parenthesized_expression "(*(code *)PTR_FUN_000b143c)" (( "(") (pointer_expression "*(code *)PTR_FUN_000b143c" (* "*") (cast_expression "(code *)PTR_FUN_000b143c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FUN_000b143c"))) () ")")) (argument_list "(*(undefined4 *)(param_1 + 0xd9c))" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0xd9c)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0xd9c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xd9c)" (( "(") (binary_expression "param_1 + 0xd9c" (identifier "param_1") (+ "+") (number_literal "0xd9c")) () ")")))) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_FUN_000b1484)(param_1);" (call_expression "(*(code *)PTR_FUN_000b1484)(param_1)" (parenthesized_expression "(*(code *)PTR_FUN_000b1484)" (( "(") (pointer_expression "*(code *)PTR_FUN_000b1484" (* "*") (cast_expression "(code *)PTR_FUN_000b1484" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FUN_000b1484"))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (if_statement "if (*(int *)(param_1 + 0x8c) != 0) {\n      FUN_0004e860(param_1,1,2);\n      *(int *)(*(int *)(param_1 + 0x8c) + 4) = *(int *)(*(int *)(param_1 + 0x8c) + 4) + -1;\n      FUN_0004e8cc(param_1,1);\n    }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x8c) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x8c) != 0" (pointer_expression "*(int *)(param_1 + 0x8c)" (* "*") (cast_expression "(int *)(param_1 + 0x8c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x8c)" (( "(") (binary_expression "param_1 + 0x8c" (identifier "param_1") (+ "+") (number_literal "0x8c")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_0004e860(param_1,1,2);\n      *(int *)(*(int *)(param_1 + 0x8c) + 4) = *(int *)(*(int *)(param_1 + 0x8c) + 4) + -1;\n      FUN_0004e8cc(param_1,1);\n    }" ({ "{") (expression_statement "FUN_0004e860(param_1,1,2);" (call_expression "FUN_0004e860(param_1,1,2)" (identifier "FUN_0004e860") (argument_list "(param_1,1,2)" (( "(") (identifier "param_1") (, ",") (number_literal "1") (, ",") (number_literal "2") () ")"))) (; ";")) (expression_statement "*(int *)(*(int *)(param_1 + 0x8c) + 4) = *(int *)(*(int *)(param_1 + 0x8c) + 4) + -1;" (assignment_expression "*(int *)(*(int *)(param_1 + 0x8c) + 4) = *(int *)(*(int *)(param_1 + 0x8c) + 4) + -1" (pointer_expression "*(int *)(*(int *)(param_1 + 0x8c) + 4)" (* "*") (cast_expression "(int *)(*(int *)(param_1 + 0x8c) + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x8c) + 4)" (( "(") (binary_expression "*(int *)(param_1 + 0x8c) + 4" (pointer_expression "*(int *)(param_1 + 0x8c)" (* "*") (cast_expression "(int *)(param_1 + 0x8c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x8c)" (( "(") (binary_expression "param_1 + 0x8c" (identifier "param_1") (+ "+") (number_literal "0x8c")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "*(int *)(*(int *)(param_1 + 0x8c) + 4) + -1" (pointer_expression "*(int *)(*(int *)(param_1 + 0x8c) + 4)" (* "*") (cast_expression "(int *)(*(int *)(param_1 + 0x8c) + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x8c) + 4)" (( "(") (binary_expression "*(int *)(param_1 + 0x8c) + 4" (pointer_expression "*(int *)(param_1 + 0x8c)" (* "*") (cast_expression "(int *)(param_1 + 0x8c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x8c)" (( "(") (binary_expression "param_1 + 0x8c" (identifier "param_1") (+ "+") (number_literal "0x8c")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "FUN_0004e8cc(param_1,1);" (call_expression "FUN_0004e8cc(param_1,1)" (identifier "FUN_0004e8cc") (argument_list "(param_1,1)" (( "(") (identifier "param_1") (, ",") (number_literal "1") () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_00043830(param_1 + 0xf58);" (call_expression "FUN_00043830(param_1 + 0xf58)" (identifier "FUN_00043830") (argument_list "(param_1 + 0xf58)" (( "(") (binary_expression "param_1 + 0xf58" (identifier "param_1") (+ "+") (number_literal "0xf58")) () ")"))) (; ";")) (expression_statement "FUN_00030154(param_1);" (call_expression "FUN_00030154(param_1)" (identifier "FUN_00030154") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (expression_statement "(**(code **)PTR_PTR_free_000b1144)(param_1);" (call_expression "(**(code **)PTR_PTR_free_000b1144)(param_1)" (parenthesized_expression "(**(code **)PTR_PTR_free_000b1144)" (( "(") (pointer_expression "**(code **)PTR_PTR_free_000b1144" (* "*") (pointer_expression "*(code **)PTR_PTR_free_000b1144" (* "*") (cast_expression "(code **)PTR_PTR_free_000b1144" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_PTR_free_000b1144")))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}")))
(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (if_statement condition: (parenthesized_expression (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))) 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 (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))))) (identifier)))))) (if_statement condition: (parenthesized_expression (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))) 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))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (if_statement condition: (parenthesized_expression (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: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (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: (identifier))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (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)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (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: (identifier))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (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: (identifier))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (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)))) (expression_statement (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: (identifier))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (if_statement condition: (parenthesized_expression (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: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (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: (identifier))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (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: (identifier))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (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: (identifier))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (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: (identifier))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (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: (identifier))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (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: (identifier))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (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 (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (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)))) (if_statement condition: (parenthesized_expression (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))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (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: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (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: (identifier))))) arguments: (argument_list (identifier)))) (return_statement (number_literal)))) (return_statement (number_literal)))))

undefined4 MASKED(int param_1)

{
  undefined *puVar1;
  
  if (param_1 != 0) {
    FUN_0004c84c();
    if (*(int *)(param_1 + 0x84) != 0) {
      (*(code *)PTR_curl_multi_remove_handle_000b1c04)(*(int *)(param_1 + 0x84),param_1);
    }
    if (*(int *)(param_1 + 0x88) != 0) {
      (*(code *)PTR_curl_multi_cleanup_000b1c50)();
      *(undefined4 *)(param_1 + 0x88) = 0;
    }
    FUN_00046f98(param_1 + 0xdc8,0);
    *(undefined4 *)(param_1 + 0x1030) = 0;
    if (*(char *)(param_1 + 0xee2) != '\0') {
      (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xee4));
    }
    FUN_00031054(param_1);
    (*(code *)PTR_FUN_000b1470)(param_1);
    puVar1 = PTR_PTR_free_000b1144;
    (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xcac));
    *(undefined4 *)(param_1 + 0xcac) = 0;
    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xce4));
    *(undefined4 *)(param_1 + 0xce4) = 0;
    (*(code *)PTR_FUN_000b1474)(param_1);
    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0x144));
    *(undefined4 *)(param_1 + 0x144) = 0;
    if (*(char *)(param_1 + 0xb4c) != '\0') {
      (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xb48));
      *(undefined1 *)(param_1 + 0xb4c) = 0;
    }
    *(undefined4 *)(param_1 + 0xb48) = 0;
    FUN_00030230(param_1);
    puVar1 = PTR_PTR_free_000b1144;
    (**(code **)PTR_PTR_free_000b1144)(*(undefined4 *)(param_1 + 0xc94));
    *(undefined4 *)(param_1 + 0xc94) = 0;
    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc8c));
    *(undefined4 *)(param_1 + 0xc8c) = 0;
    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xc98));
    *(undefined4 *)(param_1 + 0xc98) = 0;
    FUN_0001fba4(param_1,1);
    FUN_0004ec7c(param_1);
    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfa8));
    *(undefined4 *)(param_1 + 0xfa8) = 0;
    (**(code **)puVar1)(*(undefined4 *)(param_1 + 0xfac));
    *(undefined4 *)(param_1 + 0xfac) = 0;
    (*(code *)PTR_FUN_000b143c)(*(undefined4 *)(param_1 + 0xd9c));
    (*(code *)PTR_FUN_000b1484)(param_1);
    if (*(int *)(param_1 + 0x8c) != 0) {
      FUN_0004e860(param_1,1,2);
      *(int *)(*(int *)(param_1 + 0x8c) + 4) = *(int *)(*(int *)(param_1 + 0x8c) + 4) + -1;
      FUN_0004e8cc(param_1,1);
    }
    FUN_00043830(param_1 + 0xf58);
    FUN_00030154(param_1);
    (**(code **)PTR_PTR_free_000b1144)(param_1);
    return 0;
  }
  return 0;
}

