
void __gmpn_mul_n(mp_ptr p,mp_srcptr a,mp_srcptr b,mp_size_t n)

{
  long lVar1;
  ulong size;
  long lVar2;
  tmp_reentrant_t *mark;
  mp_ptr scratch;
  undefined1 *puVar3;
  undefined1 *puVar4;
  long in_FS_OFFSET;
  undefined8 uStack_960;
  undefined1 auStack_958 [8];
  mp_srcptr local_950 [2];
  tmp_reentrant_t *__tmp_marker;
  mp_limb_t ws [288];
  
  puVar3 = auStack_958;
  puVar4 = auStack_958;
  lVar2 = *(long *)(in_FS_OFFSET + 0x28);
  if (n < 0x1c) {
    uStack_960 = 0x133896;
    __gmpn_mul_basecase(p,a,n,b,n);
  }
  else if (n < 0x51) {
    uStack_960 = 0x133865;
    __gmpn_toom22_mul(p,a,n,b,n,ws);
    puVar4 = auStack_958;
  }
  else if (n < 0xf2) {
    lVar1 = -((n * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);
    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb;
    __gmpn_toom33_mul(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1));
    puVar4 = auStack_958 + lVar1;
  }
  else if (n < 0x159) {
    lVar1 = -((n * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);
    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;
    __gmpn_toom44_mul(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1));
    puVar4 = auStack_958 + lVar1;
  }
  else if (n < 0x1e2) {
    lVar1 = -(n * 0x10 + 0xcd0);
    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;
    __gmpn_toom6h_mul(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1));
    puVar4 = auStack_958 + lVar1;
  }
  else if (n < 0x2d00) {
    __tmp_marker = (tmp_reentrant_t *)0x0;
    lVar1 = (n * 0xf >> 3) * 8;
    size = lVar1 + 0xeb0;
    if (size < 0x7f01) {
      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);
      puVar3 = auStack_958 + lVar1;
      scratch = (mp_ptr)((long)local_950 + lVar1);
    }
    else {
      uStack_960 = 0x133956;
      local_950[0] = b;
      scratch = (mp_ptr)__gmp_tmp_reentrant_alloc(&__tmp_marker,size);
      b = local_950[0];
    }
    *(undefined8 *)(puVar3 + -8) = 0x133836;
    __gmpn_toom8h_mul(p,a,n,b,n,scratch);
    mark = __tmp_marker;
    puVar4 = puVar3;
    if (__tmp_marker != (tmp_reentrant_t *)0x0) {
      *(undefined8 *)(puVar3 + -8) = 0x133847;
      __gmp_tmp_reentrant_free(mark);
    }
  }
  else {
    uStack_960 = 0x13393e;
    __gmpn_nussbaumer_mul(p,a,n,b,n);
    puVar4 = auStack_958;
  }
  if (lVar2 == *(long *)(in_FS_OFFSET + 0x28)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  *(undefined8 *)(puVar4 + -8) = 0x13396a;
  __stack_chk_fail();
}



void __gmpn_mul_n(undefined8 param_1,undefined8 param_2,undefined8 param_3,long param_4)

{
  long lVar1;
  undefined1 *puVar2;
  undefined1 *puVar3;
  long in_FS_OFFSET;
  undefined8 uStack_960;
  undefined1 auStack_958 [8];
  undefined8 local_950 [2];
  long local_940;
  undefined1 local_938 [2312];
  long local_30;
  
  puVar2 = auStack_958;
  puVar3 = auStack_958;
  local_30 = *(long *)(in_FS_OFFSET + 0x28);
  if (param_4 < 0x1c) {
    uStack_960 = 0x133896;
    __gmpn_mul_basecase(param_1,param_2,param_4,param_3,param_4);
  }
  else if (param_4 < 0x51) {
    uStack_960 = 0x133865;
    __gmpn_toom22_mul(param_1,param_2,param_4,param_3,param_4,local_938);
    puVar3 = auStack_958;
  }
  else if (param_4 < 0xf2) {
    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);
    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb;
    __gmpn_toom33_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);
    puVar3 = auStack_958 + lVar1;
  }
  else if (param_4 < 0x159) {
    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);
    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;
    __gmpn_toom44_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);
    puVar3 = auStack_958 + lVar1;
  }
  else if (param_4 < 0x1e2) {
    lVar1 = -(param_4 * 0x10 + 0xcd0);
    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;
    __gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);
    puVar3 = auStack_958 + lVar1;
  }
  else if (param_4 < 0x2d00) {
    local_940 = 0;
    lVar1 = (param_4 * 0xf >> 3) * 8;
    if (lVar1 + 0xeb0U < 0x7f01) {
      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);
      puVar2 = auStack_958 + lVar1;
      lVar1 = (long)local_950 + lVar1;
    }
    else {
      uStack_960 = 0x133956;
      local_950[0] = param_3;
      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);
      param_3 = local_950[0];
    }
    *(undefined8 *)(puVar2 + -8) = 0x133836;
    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);
    puVar3 = puVar2;
    if (local_940 != 0) {
      *(undefined8 *)(puVar2 + -8) = 0x133847;
      __gmp_tmp_reentrant_free();
    }
  }
  else {
    uStack_960 = 0x13393e;
    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);
    puVar3 = auStack_958;
  }
  if (local_30 == *(long *)(in_FS_OFFSET + 0x28)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  *(undefined8 *)(puVar3 + -8) = 0x13396a;
  __stack_chk_fail();
}


PUSH RBP
MOV RBP,RSP
PUSH R13
MOV R13,RSI
PUSH R12
MOV R12,RDI
PUSH RBX
MOV RBX,RCX
SUB RSP,0x938
MOV RAX,qword ptr FS:[0x28]
MOV qword ptr [RBP + -0x28],RAX
XOR EAX,EAX
CMP RCX,0x1b
JLE 0x00133888
CMP RCX,0x50
JLE 0x00133850
CMP RCX,0xf1
JLE 0x001338d0
CMP RCX,0x158
JLE 0x00133900
CMP RCX,0x1e1
JLE 0x001338a0
CMP RCX,0x2cff
JG 0x00133930
MOV qword ptr [RBP + -0x938],0x0
MOV RAX,RCX
SHL RAX,0x4
SUB RAX,RCX
SAR RAX,0x3
LEA RSI,[0xeb0 + RAX*0x8]
CMP RSI,0x7f00
JA 0x00133943
ADD RSI,0x17
AND RSI,-0x10
SUB RSP,RSI
LEA R9,[RSP + 0xf]
AND R9,-0x10
MOV RCX,RDX
MOV RDI,R12
MOV R8,RBX
MOV RDX,RBX
MOV RSI,R13
CALL 0x0010bc30
MOV RDI,qword ptr [RBP + -0x938]
TEST RDI,RDI
JZ 0x00133865
CALL 0x0010b040
JMP 0x00133865
MOV R8,RCX
LEA R9,[RBP + -0x930]
MOV RCX,RDX
MOV RDX,RBX
CALL 0x0010c520
MOV RAX,qword ptr [RBP + -0x28]
XOR RAX,qword ptr FS:[0x28]
JNZ 0x00133965
LEA RSP,[RBP + -0x18]
POP RBX
POP R12
POP R13
POP RBP
RET
MOV R8,RCX
MOV RCX,RDX
MOV RDX,RBX
CALL 0x0010b6d0
JMP 0x00133865
MOV RAX,RCX
MOV R8,RCX
MOV RCX,RDX
MOV RDX,RBX
SHL RAX,0x4
ADD RAX,0xcd0
SUB RSP,RAX
LEA R9,[RSP + 0xf]
AND R9,-0x10
CALL 0x0010bd20
JMP 0x00133865
LEA RAX,[RCX + RCX*0x2 + 0x40]
MOV R8,RCX
MOV RCX,RDX
MOV RDX,RBX
LEA RAX,[0x17 + RAX*0x8]
AND RAX,-0x10
SUB RSP,RAX
LEA R9,[RSP + 0xf]
AND R9,-0x10
CALL 0x0010b210
JMP 0x00133865
LEA RAX,[RCX + RCX*0x2 + 0x40]
MOV R8,RCX
MOV RCX,RDX
MOV RDX,RBX
LEA RAX,[0x17 + RAX*0x8]
AND RAX,-0x10
SUB RSP,RAX
LEA R9,[RSP + 0xf]
AND R9,-0x10
CALL 0x0010b880
JMP 0x00133865
MOV R8,RCX
MOV RCX,RDX
MOV RDX,RBX
CALL 0x0010bd80
JMP 0x00133865
LEA RDI,[RBP + -0x938]
MOV qword ptr [RBP + -0x948],RDX
CALL 0x0010bcb0
MOV RDX,qword ptr [RBP + -0x948]
MOV R9,RAX
JMP 0x00133822
CALL 0x0010b530
(translation_unit "void __gmpn_mul_n(undefined8 param_1,undefined8 param_2,undefined8 param_3,long param_4)\n\n{\n  long lVar1;\n  undefined1 *puVar2;\n  undefined1 *puVar3;\n  long in_FS_OFFSET;\n  undefined8 uStack_960;\n  undefined1 auStack_958 [8];\n  undefined8 local_950 [2];\n  long local_940;\n  undefined1 local_938 [2312];\n  long local_30;\n  \n  puVar2 = auStack_958;\n  puVar3 = auStack_958;\n  local_30 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_4 < 0x1c) {\n    uStack_960 = 0x133896;\n    __gmpn_mul_basecase(param_1,param_2,param_4,param_3,param_4);\n  }\n  else if (param_4 < 0x51) {\n    uStack_960 = 0x133865;\n    __gmpn_toom22_mul(param_1,param_2,param_4,param_3,param_4,local_938);\n    puVar3 = auStack_958;\n  }\n  else if (param_4 < 0xf2) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb;\n    __gmpn_toom33_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x159) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x1e2) {\n    lVar1 = -(param_4 * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x2d00) {\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }\n  if (local_30 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  *(undefined8 *)(puVar3 + -8) = 0x13396a;\n  __stack_chk_fail();\n}\n\n" (function_definition "void __gmpn_mul_n(undefined8 param_1,undefined8 param_2,undefined8 param_3,long param_4)\n\n{\n  long lVar1;\n  undefined1 *puVar2;\n  undefined1 *puVar3;\n  long in_FS_OFFSET;\n  undefined8 uStack_960;\n  undefined1 auStack_958 [8];\n  undefined8 local_950 [2];\n  long local_940;\n  undefined1 local_938 [2312];\n  long local_30;\n  \n  puVar2 = auStack_958;\n  puVar3 = auStack_958;\n  local_30 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_4 < 0x1c) {\n    uStack_960 = 0x133896;\n    __gmpn_mul_basecase(param_1,param_2,param_4,param_3,param_4);\n  }\n  else if (param_4 < 0x51) {\n    uStack_960 = 0x133865;\n    __gmpn_toom22_mul(param_1,param_2,param_4,param_3,param_4,local_938);\n    puVar3 = auStack_958;\n  }\n  else if (param_4 < 0xf2) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb;\n    __gmpn_toom33_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x159) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x1e2) {\n    lVar1 = -(param_4 * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x2d00) {\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }\n  if (local_30 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  *(undefined8 *)(puVar3 + -8) = 0x13396a;\n  __stack_chk_fail();\n}" primitive_type (function_declarator "__gmpn_mul_n(undefined8 param_1,undefined8 param_2,undefined8 param_3,long param_4)" identifier (parameter_list "(undefined8 param_1,undefined8 param_2,undefined8 param_3,long param_4)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) , (parameter_declaration "long param_4" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  long lVar1;\n  undefined1 *puVar2;\n  undefined1 *puVar3;\n  long in_FS_OFFSET;\n  undefined8 uStack_960;\n  undefined1 auStack_958 [8];\n  undefined8 local_950 [2];\n  long local_940;\n  undefined1 local_938 [2312];\n  long local_30;\n  \n  puVar2 = auStack_958;\n  puVar3 = auStack_958;\n  local_30 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_4 < 0x1c) {\n    uStack_960 = 0x133896;\n    __gmpn_mul_basecase(param_1,param_2,param_4,param_3,param_4);\n  }\n  else if (param_4 < 0x51) {\n    uStack_960 = 0x133865;\n    __gmpn_toom22_mul(param_1,param_2,param_4,param_3,param_4,local_938);\n    puVar3 = auStack_958;\n  }\n  else if (param_4 < 0xf2) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb;\n    __gmpn_toom33_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x159) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x1e2) {\n    lVar1 = -(param_4 * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x2d00) {\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }\n  if (local_30 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  *(undefined8 *)(puVar3 + -8) = 0x13396a;\n  __stack_chk_fail();\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined1 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined1 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uStack_960;" type_identifier identifier ;) (declaration "undefined1 auStack_958 [8];" type_identifier (array_declarator "auStack_958 [8]" identifier [ number_literal ]) ;) (declaration "undefined8 local_950 [2];" type_identifier (array_declarator "local_950 [2]" identifier [ number_literal ]) ;) (declaration "long local_940;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined1 local_938 [2312];" type_identifier (array_declarator "local_938 [2312]" identifier [ number_literal ]) ;) (declaration "long local_30;" (sized_type_specifier "long" long) identifier ;) (expression_statement "puVar2 = auStack_958;" (assignment_expression "puVar2 = auStack_958" identifier = identifier) ;) (expression_statement "puVar3 = auStack_958;" (assignment_expression "puVar3 = auStack_958" identifier = identifier) ;) (expression_statement "local_30 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_30 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (param_4 < 0x1c) {\n    uStack_960 = 0x133896;\n    __gmpn_mul_basecase(param_1,param_2,param_4,param_3,param_4);\n  }\n  else if (param_4 < 0x51) {\n    uStack_960 = 0x133865;\n    __gmpn_toom22_mul(param_1,param_2,param_4,param_3,param_4,local_938);\n    puVar3 = auStack_958;\n  }\n  else if (param_4 < 0xf2) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb;\n    __gmpn_toom33_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x159) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x1e2) {\n    lVar1 = -(param_4 * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x2d00) {\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }" if (parenthesized_expression "(param_4 < 0x1c)" ( (binary_expression "param_4 < 0x1c" identifier < number_literal) )) (compound_statement "{\n    uStack_960 = 0x133896;\n    __gmpn_mul_basecase(param_1,param_2,param_4,param_3,param_4);\n  }" { (expression_statement "uStack_960 = 0x133896;" (assignment_expression "uStack_960 = 0x133896" identifier = number_literal) ;) (expression_statement "__gmpn_mul_basecase(param_1,param_2,param_4,param_3,param_4);" (call_expression "__gmpn_mul_basecase(param_1,param_2,param_4,param_3,param_4)" identifier (argument_list "(param_1,param_2,param_4,param_3,param_4)" ( identifier , identifier , identifier , identifier , identifier ))) ;) }) (else_clause "else if (param_4 < 0x51) {\n    uStack_960 = 0x133865;\n    __gmpn_toom22_mul(param_1,param_2,param_4,param_3,param_4,local_938);\n    puVar3 = auStack_958;\n  }\n  else if (param_4 < 0xf2) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb;\n    __gmpn_toom33_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x159) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x1e2) {\n    lVar1 = -(param_4 * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x2d00) {\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }" else (if_statement "if (param_4 < 0x51) {\n    uStack_960 = 0x133865;\n    __gmpn_toom22_mul(param_1,param_2,param_4,param_3,param_4,local_938);\n    puVar3 = auStack_958;\n  }\n  else if (param_4 < 0xf2) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb;\n    __gmpn_toom33_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x159) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x1e2) {\n    lVar1 = -(param_4 * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x2d00) {\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }" if (parenthesized_expression "(param_4 < 0x51)" ( (binary_expression "param_4 < 0x51" identifier < number_literal) )) (compound_statement "{\n    uStack_960 = 0x133865;\n    __gmpn_toom22_mul(param_1,param_2,param_4,param_3,param_4,local_938);\n    puVar3 = auStack_958;\n  }" { (expression_statement "uStack_960 = 0x133865;" (assignment_expression "uStack_960 = 0x133865" identifier = number_literal) ;) (expression_statement "__gmpn_toom22_mul(param_1,param_2,param_4,param_3,param_4,local_938);" (call_expression "__gmpn_toom22_mul(param_1,param_2,param_4,param_3,param_4,local_938)" identifier (argument_list "(param_1,param_2,param_4,param_3,param_4,local_938)" ( identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "puVar3 = auStack_958;" (assignment_expression "puVar3 = auStack_958" identifier = identifier) ;) }) (else_clause "else if (param_4 < 0xf2) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb;\n    __gmpn_toom33_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x159) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x1e2) {\n    lVar1 = -(param_4 * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x2d00) {\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }" else (if_statement "if (param_4 < 0xf2) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb;\n    __gmpn_toom33_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x159) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x1e2) {\n    lVar1 = -(param_4 * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x2d00) {\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }" if (parenthesized_expression "(param_4 < 0xf2)" ( (binary_expression "param_4 < 0xf2" identifier < number_literal) )) (compound_statement "{\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb;\n    __gmpn_toom33_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }" { (expression_statement "lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);" (assignment_expression "lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0)" identifier = (unary_expression "-((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0)" - (parenthesized_expression "((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0)" ( (binary_expression "(param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0" (binary_expression "(param_4 * 3 + 0x40) * 8 + 0x17U" (binary_expression "(param_4 * 3 + 0x40) * 8" (parenthesized_expression "(param_4 * 3 + 0x40)" ( (binary_expression "param_4 * 3 + 0x40" (binary_expression "param_4 * 3" identifier * number_literal) + number_literal) )) * number_literal) + number_literal) & number_literal) )))) ;) (expression_statement "*(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb;" (assignment_expression "*(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb" (pointer_expression "*(undefined8 *)(auStack_958 + lVar1 + -8)" * (cast_expression "(undefined8 *)(auStack_958 + lVar1 + -8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_958 + lVar1 + -8)" ( (binary_expression "auStack_958 + lVar1 + -8" (binary_expression "auStack_958 + lVar1" identifier + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "__gmpn_toom33_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);" (call_expression "__gmpn_toom33_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1)" identifier (argument_list "(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1)" ( identifier , identifier , identifier , identifier , identifier , (binary_expression "(long)local_950 + lVar1" (cast_expression "(long)local_950" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) ))) ;) (expression_statement "puVar3 = auStack_958 + lVar1;" (assignment_expression "puVar3 = auStack_958 + lVar1" identifier = (binary_expression "auStack_958 + lVar1" identifier + identifier)) ;) }) (else_clause "else if (param_4 < 0x159) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x1e2) {\n    lVar1 = -(param_4 * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x2d00) {\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }" else (if_statement "if (param_4 < 0x159) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x1e2) {\n    lVar1 = -(param_4 * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x2d00) {\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }" if (parenthesized_expression "(param_4 < 0x159)" ( (binary_expression "param_4 < 0x159" identifier < number_literal) )) (compound_statement "{\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }" { (expression_statement "lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);" (assignment_expression "lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0)" identifier = (unary_expression "-((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0)" - (parenthesized_expression "((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0)" ( (binary_expression "(param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0" (binary_expression "(param_4 * 3 + 0x40) * 8 + 0x17U" (binary_expression "(param_4 * 3 + 0x40) * 8" (parenthesized_expression "(param_4 * 3 + 0x40)" ( (binary_expression "param_4 * 3 + 0x40" (binary_expression "param_4 * 3" identifier * number_literal) + number_literal) )) * number_literal) + number_literal) & number_literal) )))) ;) (expression_statement "*(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;" (assignment_expression "*(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b" (pointer_expression "*(undefined8 *)(auStack_958 + lVar1 + -8)" * (cast_expression "(undefined8 *)(auStack_958 + lVar1 + -8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_958 + lVar1 + -8)" ( (binary_expression "auStack_958 + lVar1 + -8" (binary_expression "auStack_958 + lVar1" identifier + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "__gmpn_toom44_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);" (call_expression "__gmpn_toom44_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1)" identifier (argument_list "(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1)" ( identifier , identifier , identifier , identifier , identifier , (binary_expression "(long)local_950 + lVar1" (cast_expression "(long)local_950" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) ))) ;) (expression_statement "puVar3 = auStack_958 + lVar1;" (assignment_expression "puVar3 = auStack_958 + lVar1" identifier = (binary_expression "auStack_958 + lVar1" identifier + identifier)) ;) }) (else_clause "else if (param_4 < 0x1e2) {\n    lVar1 = -(param_4 * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x2d00) {\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }" else (if_statement "if (param_4 < 0x1e2) {\n    lVar1 = -(param_4 * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x2d00) {\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }" if (parenthesized_expression "(param_4 < 0x1e2)" ( (binary_expression "param_4 < 0x1e2" identifier < number_literal) )) (compound_statement "{\n    lVar1 = -(param_4 * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }" { (expression_statement "lVar1 = -(param_4 * 0x10 + 0xcd0);" (assignment_expression "lVar1 = -(param_4 * 0x10 + 0xcd0)" identifier = (unary_expression "-(param_4 * 0x10 + 0xcd0)" - (parenthesized_expression "(param_4 * 0x10 + 0xcd0)" ( (binary_expression "param_4 * 0x10 + 0xcd0" (binary_expression "param_4 * 0x10" identifier * number_literal) + number_literal) )))) ;) (expression_statement "*(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;" (assignment_expression "*(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7" (pointer_expression "*(undefined8 *)(auStack_958 + lVar1 + -8)" * (cast_expression "(undefined8 *)(auStack_958 + lVar1 + -8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_958 + lVar1 + -8)" ( (binary_expression "auStack_958 + lVar1 + -8" (binary_expression "auStack_958 + lVar1" identifier + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "__gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);" (call_expression "__gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1)" identifier (argument_list "(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1)" ( identifier , identifier , identifier , identifier , identifier , (binary_expression "(long)local_950 + lVar1" (cast_expression "(long)local_950" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) ))) ;) (expression_statement "puVar3 = auStack_958 + lVar1;" (assignment_expression "puVar3 = auStack_958 + lVar1" identifier = (binary_expression "auStack_958 + lVar1" identifier + identifier)) ;) }) (else_clause "else if (param_4 < 0x2d00) {\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }" else (if_statement "if (param_4 < 0x2d00) {\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }" if (parenthesized_expression "(param_4 < 0x2d00)" ( (binary_expression "param_4 < 0x2d00" identifier < number_literal) )) (compound_statement "{\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }" { (expression_statement "local_940 = 0;" (assignment_expression "local_940 = 0" identifier = number_literal) ;) (expression_statement "lVar1 = (param_4 * 0xf >> 3) * 8;" (assignment_expression "lVar1 = (param_4 * 0xf >> 3) * 8" identifier = (binary_expression "(param_4 * 0xf >> 3) * 8" (parenthesized_expression "(param_4 * 0xf >> 3)" ( (binary_expression "param_4 * 0xf >> 3" (binary_expression "param_4 * 0xf" identifier * number_literal) >> number_literal) )) * number_literal)) ;) (if_statement "if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }" if (parenthesized_expression "(lVar1 + 0xeb0U < 0x7f01)" ( (binary_expression "lVar1 + 0xeb0U < 0x7f01" (binary_expression "lVar1 + 0xeb0U" identifier + number_literal) < number_literal) )) (compound_statement "{\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }" { (expression_statement "lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);" (assignment_expression "lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0)" identifier = (unary_expression "-(lVar1 + 0xec7U & 0xfffffffffffffff0)" - (parenthesized_expression "(lVar1 + 0xec7U & 0xfffffffffffffff0)" ( (binary_expression "lVar1 + 0xec7U & 0xfffffffffffffff0" (binary_expression "lVar1 + 0xec7U" identifier + number_literal) & number_literal) )))) ;) (expression_statement "puVar2 = auStack_958 + lVar1;" (assignment_expression "puVar2 = auStack_958 + lVar1" identifier = (binary_expression "auStack_958 + lVar1" identifier + identifier)) ;) (expression_statement "lVar1 = (long)local_950 + lVar1;" (assignment_expression "lVar1 = (long)local_950 + lVar1" identifier = (binary_expression "(long)local_950 + lVar1" (cast_expression "(long)local_950" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier)) ;) }) (else_clause "else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }" else (compound_statement "{\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }" { (expression_statement "uStack_960 = 0x133956;" (assignment_expression "uStack_960 = 0x133956" identifier = number_literal) ;) (expression_statement "local_950[0] = param_3;" (assignment_expression "local_950[0] = param_3" (subscript_expression "local_950[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "lVar1 = __gmp_tmp_reentrant_alloc(&local_940);" (assignment_expression "lVar1 = __gmp_tmp_reentrant_alloc(&local_940)" identifier = (call_expression "__gmp_tmp_reentrant_alloc(&local_940)" identifier (argument_list "(&local_940)" ( (pointer_expression "&local_940" & identifier) )))) ;) (expression_statement "param_3 = local_950[0];" (assignment_expression "param_3 = local_950[0]" identifier = (subscript_expression "local_950[0]" identifier [ number_literal ])) ;) }))) (expression_statement "*(undefined8 *)(puVar2 + -8) = 0x133836;" (assignment_expression "*(undefined8 *)(puVar2 + -8) = 0x133836" (pointer_expression "*(undefined8 *)(puVar2 + -8)" * (cast_expression "(undefined8 *)(puVar2 + -8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + -8)" ( (binary_expression "puVar2 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "__gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);" (call_expression "__gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1)" identifier (argument_list "(param_1,param_2,param_4,param_3,param_4,lVar1)" ( identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "puVar3 = puVar2;" (assignment_expression "puVar3 = puVar2" identifier = identifier) ;) (if_statement "if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }" if (parenthesized_expression "(local_940 != 0)" ( (binary_expression "local_940 != 0" identifier != number_literal) )) (compound_statement "{\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }" { (expression_statement "*(undefined8 *)(puVar2 + -8) = 0x133847;" (assignment_expression "*(undefined8 *)(puVar2 + -8) = 0x133847" (pointer_expression "*(undefined8 *)(puVar2 + -8)" * (cast_expression "(undefined8 *)(puVar2 + -8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + -8)" ( (binary_expression "puVar2 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "__gmp_tmp_reentrant_free();" (call_expression "__gmp_tmp_reentrant_free()" identifier (argument_list "()" ( ))) ;) })) }) (else_clause "else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }" else (compound_statement "{\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }" { (expression_statement "uStack_960 = 0x13393e;" (assignment_expression "uStack_960 = 0x13393e" identifier = number_literal) ;) (expression_statement "__gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);" (call_expression "__gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4)" identifier (argument_list "(param_1,param_2,param_4,param_3,param_4)" ( identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "puVar3 = auStack_958;" (assignment_expression "puVar3 = auStack_958" identifier = identifier) ;) }))))))))))))) (if_statement "if (local_30 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }" if (parenthesized_expression "(local_30 == *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_30 == *(long *)(in_FS_OFFSET + 0x28)" identifier == (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) comment (expression_statement "*(undefined8 *)(puVar3 + -8) = 0x13396a;" (assignment_expression "*(undefined8 *)(puVar3 + -8) = 0x13396a" (pointer_expression "*(undefined8 *)(puVar3 + -8)" * (cast_expression "(undefined8 *)(puVar3 + -8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + -8)" ( (binary_expression "puVar3 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "void __gmpn_mul_n(mp_ptr p,mp_srcptr a,mp_srcptr b,mp_size_t n)\n\n{\n  long lVar1;\n  ulong size;\n  long lVar2;\n  tmp_reentrant_t *mark;\n  mp_ptr scratch;\n  undefined1 *puVar3;\n  undefined1 *puVar4;\n  long in_FS_OFFSET;\n  undefined8 uStack_960;\n  undefined1 auStack_958 [8];\n  mp_srcptr local_950 [2];\n  tmp_reentrant_t *__tmp_marker;\n  mp_limb_t ws [288];\n  \n  puVar3 = auStack_958;\n  puVar4 = auStack_958;\n  lVar2 = *(long *)(in_FS_OFFSET + 0x28);\n  if (n < 0x1c) {\n    uStack_960 = 0x133896;\n    __gmpn_mul_basecase(p,a,n,b,n);\n  }\n  else if (n < 0x51) {\n    uStack_960 = 0x133865;\n    __gmpn_toom22_mul(p,a,n,b,n,ws);\n    puVar4 = auStack_958;\n  }\n  else if (n < 0xf2) {\n    lVar1 = -((n * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb;\n    __gmpn_toom33_mul(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1));\n    puVar4 = auStack_958 + lVar1;\n  }\n  else if (n < 0x159) {\n    lVar1 = -((n * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1));\n    puVar4 = auStack_958 + lVar1;\n  }\n  else if (n < 0x1e2) {\n    lVar1 = -(n * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1));\n    puVar4 = auStack_958 + lVar1;\n  }\n  else if (n < 0x2d00) {\n    __tmp_marker = (tmp_reentrant_t *)0x0;\n    lVar1 = (n * 0xf >> 3) * 8;\n    size = lVar1 + 0xeb0;\n    if (size < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar3 = auStack_958 + lVar1;\n      scratch = (mp_ptr)((long)local_950 + lVar1);\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = b;\n      scratch = (mp_ptr)__gmp_tmp_reentrant_alloc(&__tmp_marker,size);\n      b = local_950[0];\n    }\n    *(undefined8 *)(puVar3 + -8) = 0x133836;\n    __gmpn_toom8h_mul(p,a,n,b,n,scratch);\n    mark = __tmp_marker;\n    puVar4 = puVar3;\n    if (__tmp_marker != (tmp_reentrant_t *)0x0) {\n      *(undefined8 *)(puVar3 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free(mark);\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(p,a,n,b,n);\n    puVar4 = auStack_958;\n  }\n  if (lVar2 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  *(undefined8 *)(puVar4 + -8) = 0x13396a;\n  __stack_chk_fail();\n}\n\n" (function_definition "void __gmpn_mul_n(mp_ptr p,mp_srcptr a,mp_srcptr b,mp_size_t n)\n\n{\n  long lVar1;\n  ulong size;\n  long lVar2;\n  tmp_reentrant_t *mark;\n  mp_ptr scratch;\n  undefined1 *puVar3;\n  undefined1 *puVar4;\n  long in_FS_OFFSET;\n  undefined8 uStack_960;\n  undefined1 auStack_958 [8];\n  mp_srcptr local_950 [2];\n  tmp_reentrant_t *__tmp_marker;\n  mp_limb_t ws [288];\n  \n  puVar3 = auStack_958;\n  puVar4 = auStack_958;\n  lVar2 = *(long *)(in_FS_OFFSET + 0x28);\n  if (n < 0x1c) {\n    uStack_960 = 0x133896;\n    __gmpn_mul_basecase(p,a,n,b,n);\n  }\n  else if (n < 0x51) {\n    uStack_960 = 0x133865;\n    __gmpn_toom22_mul(p,a,n,b,n,ws);\n    puVar4 = auStack_958;\n  }\n  else if (n < 0xf2) {\n    lVar1 = -((n * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb;\n    __gmpn_toom33_mul(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1));\n    puVar4 = auStack_958 + lVar1;\n  }\n  else if (n < 0x159) {\n    lVar1 = -((n * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1));\n    puVar4 = auStack_958 + lVar1;\n  }\n  else if (n < 0x1e2) {\n    lVar1 = -(n * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1));\n    puVar4 = auStack_958 + lVar1;\n  }\n  else if (n < 0x2d00) {\n    __tmp_marker = (tmp_reentrant_t *)0x0;\n    lVar1 = (n * 0xf >> 3) * 8;\n    size = lVar1 + 0xeb0;\n    if (size < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar3 = auStack_958 + lVar1;\n      scratch = (mp_ptr)((long)local_950 + lVar1);\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = b;\n      scratch = (mp_ptr)__gmp_tmp_reentrant_alloc(&__tmp_marker,size);\n      b = local_950[0];\n    }\n    *(undefined8 *)(puVar3 + -8) = 0x133836;\n    __gmpn_toom8h_mul(p,a,n,b,n,scratch);\n    mark = __tmp_marker;\n    puVar4 = puVar3;\n    if (__tmp_marker != (tmp_reentrant_t *)0x0) {\n      *(undefined8 *)(puVar3 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free(mark);\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(p,a,n,b,n);\n    puVar4 = auStack_958;\n  }\n  if (lVar2 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  *(undefined8 *)(puVar4 + -8) = 0x13396a;\n  __stack_chk_fail();\n}" primitive_type (function_declarator "__gmpn_mul_n(mp_ptr p,mp_srcptr a,mp_srcptr b,mp_size_t n)" identifier (parameter_list "(mp_ptr p,mp_srcptr a,mp_srcptr b,mp_size_t n)" ( (parameter_declaration "mp_ptr p" type_identifier identifier) , (parameter_declaration "mp_srcptr a" type_identifier identifier) , (parameter_declaration "mp_srcptr b" type_identifier identifier) , (parameter_declaration "mp_size_t n" type_identifier identifier) ))) (compound_statement "{\n  long lVar1;\n  ulong size;\n  long lVar2;\n  tmp_reentrant_t *mark;\n  mp_ptr scratch;\n  undefined1 *puVar3;\n  undefined1 *puVar4;\n  long in_FS_OFFSET;\n  undefined8 uStack_960;\n  undefined1 auStack_958 [8];\n  mp_srcptr local_950 [2];\n  tmp_reentrant_t *__tmp_marker;\n  mp_limb_t ws [288];\n  \n  puVar3 = auStack_958;\n  puVar4 = auStack_958;\n  lVar2 = *(long *)(in_FS_OFFSET + 0x28);\n  if (n < 0x1c) {\n    uStack_960 = 0x133896;\n    __gmpn_mul_basecase(p,a,n,b,n);\n  }\n  else if (n < 0x51) {\n    uStack_960 = 0x133865;\n    __gmpn_toom22_mul(p,a,n,b,n,ws);\n    puVar4 = auStack_958;\n  }\n  else if (n < 0xf2) {\n    lVar1 = -((n * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb;\n    __gmpn_toom33_mul(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1));\n    puVar4 = auStack_958 + lVar1;\n  }\n  else if (n < 0x159) {\n    lVar1 = -((n * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1));\n    puVar4 = auStack_958 + lVar1;\n  }\n  else if (n < 0x1e2) {\n    lVar1 = -(n * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1));\n    puVar4 = auStack_958 + lVar1;\n  }\n  else if (n < 0x2d00) {\n    __tmp_marker = (tmp_reentrant_t *)0x0;\n    lVar1 = (n * 0xf >> 3) * 8;\n    size = lVar1 + 0xeb0;\n    if (size < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar3 = auStack_958 + lVar1;\n      scratch = (mp_ptr)((long)local_950 + lVar1);\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = b;\n      scratch = (mp_ptr)__gmp_tmp_reentrant_alloc(&__tmp_marker,size);\n      b = local_950[0];\n    }\n    *(undefined8 *)(puVar3 + -8) = 0x133836;\n    __gmpn_toom8h_mul(p,a,n,b,n,scratch);\n    mark = __tmp_marker;\n    puVar4 = puVar3;\n    if (__tmp_marker != (tmp_reentrant_t *)0x0) {\n      *(undefined8 *)(puVar3 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free(mark);\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(p,a,n,b,n);\n    puVar4 = auStack_958;\n  }\n  if (lVar2 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  *(undefined8 *)(puVar4 + -8) = 0x13396a;\n  __stack_chk_fail();\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong size;" type_identifier identifier ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "tmp_reentrant_t *mark;" type_identifier (pointer_declarator "*mark" * identifier) ;) (declaration "mp_ptr scratch;" type_identifier identifier ;) (declaration "undefined1 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined1 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uStack_960;" type_identifier identifier ;) (declaration "undefined1 auStack_958 [8];" type_identifier (array_declarator "auStack_958 [8]" identifier [ number_literal ]) ;) (declaration "mp_srcptr local_950 [2];" type_identifier (array_declarator "local_950 [2]" identifier [ number_literal ]) ;) (declaration "tmp_reentrant_t *__tmp_marker;" type_identifier (pointer_declarator "*__tmp_marker" * identifier) ;) (declaration "mp_limb_t ws [288];" type_identifier (array_declarator "ws [288]" identifier [ number_literal ]) ;) (expression_statement "puVar3 = auStack_958;" (assignment_expression "puVar3 = auStack_958" identifier = identifier) ;) (expression_statement "puVar4 = auStack_958;" (assignment_expression "puVar4 = auStack_958" identifier = identifier) ;) (expression_statement "lVar2 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "lVar2 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (n < 0x1c) {\n    uStack_960 = 0x133896;\n    __gmpn_mul_basecase(p,a,n,b,n);\n  }\n  else if (n < 0x51) {\n    uStack_960 = 0x133865;\n    __gmpn_toom22_mul(p,a,n,b,n,ws);\n    puVar4 = auStack_958;\n  }\n  else if (n < 0xf2) {\n    lVar1 = -((n * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb;\n    __gmpn_toom33_mul(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1));\n    puVar4 = auStack_958 + lVar1;\n  }\n  else if (n < 0x159) {\n    lVar1 = -((n * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1));\n    puVar4 = auStack_958 + lVar1;\n  }\n  else if (n < 0x1e2) {\n    lVar1 = -(n * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1));\n    puVar4 = auStack_958 + lVar1;\n  }\n  else if (n < 0x2d00) {\n    __tmp_marker = (tmp_reentrant_t *)0x0;\n    lVar1 = (n * 0xf >> 3) * 8;\n    size = lVar1 + 0xeb0;\n    if (size < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar3 = auStack_958 + lVar1;\n      scratch = (mp_ptr)((long)local_950 + lVar1);\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = b;\n      scratch = (mp_ptr)__gmp_tmp_reentrant_alloc(&__tmp_marker,size);\n      b = local_950[0];\n    }\n    *(undefined8 *)(puVar3 + -8) = 0x133836;\n    __gmpn_toom8h_mul(p,a,n,b,n,scratch);\n    mark = __tmp_marker;\n    puVar4 = puVar3;\n    if (__tmp_marker != (tmp_reentrant_t *)0x0) {\n      *(undefined8 *)(puVar3 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free(mark);\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(p,a,n,b,n);\n    puVar4 = auStack_958;\n  }" if (parenthesized_expression "(n < 0x1c)" ( (binary_expression "n < 0x1c" identifier < number_literal) )) (compound_statement "{\n    uStack_960 = 0x133896;\n    __gmpn_mul_basecase(p,a,n,b,n);\n  }" { (expression_statement "uStack_960 = 0x133896;" (assignment_expression "uStack_960 = 0x133896" identifier = number_literal) ;) (expression_statement "__gmpn_mul_basecase(p,a,n,b,n);" (call_expression "__gmpn_mul_basecase(p,a,n,b,n)" identifier (argument_list "(p,a,n,b,n)" ( identifier , identifier , identifier , identifier , identifier ))) ;) }) (else_clause "else if (n < 0x51) {\n    uStack_960 = 0x133865;\n    __gmpn_toom22_mul(p,a,n,b,n,ws);\n    puVar4 = auStack_958;\n  }\n  else if (n < 0xf2) {\n    lVar1 = -((n * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb;\n    __gmpn_toom33_mul(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1));\n    puVar4 = auStack_958 + lVar1;\n  }\n  else if (n < 0x159) {\n    lVar1 = -((n * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1));\n    puVar4 = auStack_958 + lVar1;\n  }\n  else if (n < 0x1e2) {\n    lVar1 = -(n * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1));\n    puVar4 = auStack_958 + lVar1;\n  }\n  else if (n < 0x2d00) {\n    __tmp_marker = (tmp_reentrant_t *)0x0;\n    lVar1 = (n * 0xf >> 3) * 8;\n    size = lVar1 + 0xeb0;\n    if (size < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar3 = auStack_958 + lVar1;\n      scratch = (mp_ptr)((long)local_950 + lVar1);\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = b;\n      scratch = (mp_ptr)__gmp_tmp_reentrant_alloc(&__tmp_marker,size);\n      b = local_950[0];\n    }\n    *(undefined8 *)(puVar3 + -8) = 0x133836;\n    __gmpn_toom8h_mul(p,a,n,b,n,scratch);\n    mark = __tmp_marker;\n    puVar4 = puVar3;\n    if (__tmp_marker != (tmp_reentrant_t *)0x0) {\n      *(undefined8 *)(puVar3 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free(mark);\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(p,a,n,b,n);\n    puVar4 = auStack_958;\n  }" else (if_statement "if (n < 0x51) {\n    uStack_960 = 0x133865;\n    __gmpn_toom22_mul(p,a,n,b,n,ws);\n    puVar4 = auStack_958;\n  }\n  else if (n < 0xf2) {\n    lVar1 = -((n * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb;\n    __gmpn_toom33_mul(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1));\n    puVar4 = auStack_958 + lVar1;\n  }\n  else if (n < 0x159) {\n    lVar1 = -((n * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1));\n    puVar4 = auStack_958 + lVar1;\n  }\n  else if (n < 0x1e2) {\n    lVar1 = -(n * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1));\n    puVar4 = auStack_958 + lVar1;\n  }\n  else if (n < 0x2d00) {\n    __tmp_marker = (tmp_reentrant_t *)0x0;\n    lVar1 = (n * 0xf >> 3) * 8;\n    size = lVar1 + 0xeb0;\n    if (size < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar3 = auStack_958 + lVar1;\n      scratch = (mp_ptr)((long)local_950 + lVar1);\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = b;\n      scratch = (mp_ptr)__gmp_tmp_reentrant_alloc(&__tmp_marker,size);\n      b = local_950[0];\n    }\n    *(undefined8 *)(puVar3 + -8) = 0x133836;\n    __gmpn_toom8h_mul(p,a,n,b,n,scratch);\n    mark = __tmp_marker;\n    puVar4 = puVar3;\n    if (__tmp_marker != (tmp_reentrant_t *)0x0) {\n      *(undefined8 *)(puVar3 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free(mark);\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(p,a,n,b,n);\n    puVar4 = auStack_958;\n  }" if (parenthesized_expression "(n < 0x51)" ( (binary_expression "n < 0x51" identifier < number_literal) )) (compound_statement "{\n    uStack_960 = 0x133865;\n    __gmpn_toom22_mul(p,a,n,b,n,ws);\n    puVar4 = auStack_958;\n  }" { (expression_statement "uStack_960 = 0x133865;" (assignment_expression "uStack_960 = 0x133865" identifier = number_literal) ;) (expression_statement "__gmpn_toom22_mul(p,a,n,b,n,ws);" (call_expression "__gmpn_toom22_mul(p,a,n,b,n,ws)" identifier (argument_list "(p,a,n,b,n,ws)" ( identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "puVar4 = auStack_958;" (assignment_expression "puVar4 = auStack_958" identifier = identifier) ;) }) (else_clause "else if (n < 0xf2) {\n    lVar1 = -((n * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb;\n    __gmpn_toom33_mul(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1));\n    puVar4 = auStack_958 + lVar1;\n  }\n  else if (n < 0x159) {\n    lVar1 = -((n * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1));\n    puVar4 = auStack_958 + lVar1;\n  }\n  else if (n < 0x1e2) {\n    lVar1 = -(n * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1));\n    puVar4 = auStack_958 + lVar1;\n  }\n  else if (n < 0x2d00) {\n    __tmp_marker = (tmp_reentrant_t *)0x0;\n    lVar1 = (n * 0xf >> 3) * 8;\n    size = lVar1 + 0xeb0;\n    if (size < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar3 = auStack_958 + lVar1;\n      scratch = (mp_ptr)((long)local_950 + lVar1);\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = b;\n      scratch = (mp_ptr)__gmp_tmp_reentrant_alloc(&__tmp_marker,size);\n      b = local_950[0];\n    }\n    *(undefined8 *)(puVar3 + -8) = 0x133836;\n    __gmpn_toom8h_mul(p,a,n,b,n,scratch);\n    mark = __tmp_marker;\n    puVar4 = puVar3;\n    if (__tmp_marker != (tmp_reentrant_t *)0x0) {\n      *(undefined8 *)(puVar3 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free(mark);\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(p,a,n,b,n);\n    puVar4 = auStack_958;\n  }" else (if_statement "if (n < 0xf2) {\n    lVar1 = -((n * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb;\n    __gmpn_toom33_mul(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1));\n    puVar4 = auStack_958 + lVar1;\n  }\n  else if (n < 0x159) {\n    lVar1 = -((n * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1));\n    puVar4 = auStack_958 + lVar1;\n  }\n  else if (n < 0x1e2) {\n    lVar1 = -(n * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1));\n    puVar4 = auStack_958 + lVar1;\n  }\n  else if (n < 0x2d00) {\n    __tmp_marker = (tmp_reentrant_t *)0x0;\n    lVar1 = (n * 0xf >> 3) * 8;\n    size = lVar1 + 0xeb0;\n    if (size < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar3 = auStack_958 + lVar1;\n      scratch = (mp_ptr)((long)local_950 + lVar1);\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = b;\n      scratch = (mp_ptr)__gmp_tmp_reentrant_alloc(&__tmp_marker,size);\n      b = local_950[0];\n    }\n    *(undefined8 *)(puVar3 + -8) = 0x133836;\n    __gmpn_toom8h_mul(p,a,n,b,n,scratch);\n    mark = __tmp_marker;\n    puVar4 = puVar3;\n    if (__tmp_marker != (tmp_reentrant_t *)0x0) {\n      *(undefined8 *)(puVar3 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free(mark);\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(p,a,n,b,n);\n    puVar4 = auStack_958;\n  }" if (parenthesized_expression "(n < 0xf2)" ( (binary_expression "n < 0xf2" identifier < number_literal) )) (compound_statement "{\n    lVar1 = -((n * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb;\n    __gmpn_toom33_mul(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1));\n    puVar4 = auStack_958 + lVar1;\n  }" { (expression_statement "lVar1 = -((n * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);" (assignment_expression "lVar1 = -((n * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0)" identifier = (unary_expression "-((n * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0)" - (parenthesized_expression "((n * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0)" ( (binary_expression "(n * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0" (binary_expression "(n * 3 + 0x40) * 8 + 0x17U" (binary_expression "(n * 3 + 0x40) * 8" (parenthesized_expression "(n * 3 + 0x40)" ( (binary_expression "n * 3 + 0x40" (binary_expression "n * 3" identifier * number_literal) + number_literal) )) * number_literal) + number_literal) & number_literal) )))) ;) (expression_statement "*(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb;" (assignment_expression "*(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb" (pointer_expression "*(undefined8 *)(auStack_958 + lVar1 + -8)" * (cast_expression "(undefined8 *)(auStack_958 + lVar1 + -8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_958 + lVar1 + -8)" ( (binary_expression "auStack_958 + lVar1 + -8" (binary_expression "auStack_958 + lVar1" identifier + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "__gmpn_toom33_mul(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1));" (call_expression "__gmpn_toom33_mul(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1))" identifier (argument_list "(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1))" ( identifier , identifier , identifier , identifier , identifier , (call_expression "(mp_ptr)((long)local_950 + lVar1)" (parenthesized_expression "(mp_ptr)" ( identifier )) (argument_list "((long)local_950 + lVar1)" ( (binary_expression "(long)local_950 + lVar1" (cast_expression "(long)local_950" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) ))) ))) ;) (expression_statement "puVar4 = auStack_958 + lVar1;" (assignment_expression "puVar4 = auStack_958 + lVar1" identifier = (binary_expression "auStack_958 + lVar1" identifier + identifier)) ;) }) (else_clause "else if (n < 0x159) {\n    lVar1 = -((n * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1));\n    puVar4 = auStack_958 + lVar1;\n  }\n  else if (n < 0x1e2) {\n    lVar1 = -(n * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1));\n    puVar4 = auStack_958 + lVar1;\n  }\n  else if (n < 0x2d00) {\n    __tmp_marker = (tmp_reentrant_t *)0x0;\n    lVar1 = (n * 0xf >> 3) * 8;\n    size = lVar1 + 0xeb0;\n    if (size < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar3 = auStack_958 + lVar1;\n      scratch = (mp_ptr)((long)local_950 + lVar1);\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = b;\n      scratch = (mp_ptr)__gmp_tmp_reentrant_alloc(&__tmp_marker,size);\n      b = local_950[0];\n    }\n    *(undefined8 *)(puVar3 + -8) = 0x133836;\n    __gmpn_toom8h_mul(p,a,n,b,n,scratch);\n    mark = __tmp_marker;\n    puVar4 = puVar3;\n    if (__tmp_marker != (tmp_reentrant_t *)0x0) {\n      *(undefined8 *)(puVar3 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free(mark);\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(p,a,n,b,n);\n    puVar4 = auStack_958;\n  }" else (if_statement "if (n < 0x159) {\n    lVar1 = -((n * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1));\n    puVar4 = auStack_958 + lVar1;\n  }\n  else if (n < 0x1e2) {\n    lVar1 = -(n * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1));\n    puVar4 = auStack_958 + lVar1;\n  }\n  else if (n < 0x2d00) {\n    __tmp_marker = (tmp_reentrant_t *)0x0;\n    lVar1 = (n * 0xf >> 3) * 8;\n    size = lVar1 + 0xeb0;\n    if (size < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar3 = auStack_958 + lVar1;\n      scratch = (mp_ptr)((long)local_950 + lVar1);\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = b;\n      scratch = (mp_ptr)__gmp_tmp_reentrant_alloc(&__tmp_marker,size);\n      b = local_950[0];\n    }\n    *(undefined8 *)(puVar3 + -8) = 0x133836;\n    __gmpn_toom8h_mul(p,a,n,b,n,scratch);\n    mark = __tmp_marker;\n    puVar4 = puVar3;\n    if (__tmp_marker != (tmp_reentrant_t *)0x0) {\n      *(undefined8 *)(puVar3 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free(mark);\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(p,a,n,b,n);\n    puVar4 = auStack_958;\n  }" if (parenthesized_expression "(n < 0x159)" ( (binary_expression "n < 0x159" identifier < number_literal) )) (compound_statement "{\n    lVar1 = -((n * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1));\n    puVar4 = auStack_958 + lVar1;\n  }" { (expression_statement "lVar1 = -((n * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);" (assignment_expression "lVar1 = -((n * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0)" identifier = (unary_expression "-((n * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0)" - (parenthesized_expression "((n * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0)" ( (binary_expression "(n * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0" (binary_expression "(n * 3 + 0x40) * 8 + 0x17U" (binary_expression "(n * 3 + 0x40) * 8" (parenthesized_expression "(n * 3 + 0x40)" ( (binary_expression "n * 3 + 0x40" (binary_expression "n * 3" identifier * number_literal) + number_literal) )) * number_literal) + number_literal) & number_literal) )))) ;) (expression_statement "*(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;" (assignment_expression "*(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b" (pointer_expression "*(undefined8 *)(auStack_958 + lVar1 + -8)" * (cast_expression "(undefined8 *)(auStack_958 + lVar1 + -8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_958 + lVar1 + -8)" ( (binary_expression "auStack_958 + lVar1 + -8" (binary_expression "auStack_958 + lVar1" identifier + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "__gmpn_toom44_mul(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1));" (call_expression "__gmpn_toom44_mul(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1))" identifier (argument_list "(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1))" ( identifier , identifier , identifier , identifier , identifier , (call_expression "(mp_ptr)((long)local_950 + lVar1)" (parenthesized_expression "(mp_ptr)" ( identifier )) (argument_list "((long)local_950 + lVar1)" ( (binary_expression "(long)local_950 + lVar1" (cast_expression "(long)local_950" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) ))) ))) ;) (expression_statement "puVar4 = auStack_958 + lVar1;" (assignment_expression "puVar4 = auStack_958 + lVar1" identifier = (binary_expression "auStack_958 + lVar1" identifier + identifier)) ;) }) (else_clause "else if (n < 0x1e2) {\n    lVar1 = -(n * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1));\n    puVar4 = auStack_958 + lVar1;\n  }\n  else if (n < 0x2d00) {\n    __tmp_marker = (tmp_reentrant_t *)0x0;\n    lVar1 = (n * 0xf >> 3) * 8;\n    size = lVar1 + 0xeb0;\n    if (size < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar3 = auStack_958 + lVar1;\n      scratch = (mp_ptr)((long)local_950 + lVar1);\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = b;\n      scratch = (mp_ptr)__gmp_tmp_reentrant_alloc(&__tmp_marker,size);\n      b = local_950[0];\n    }\n    *(undefined8 *)(puVar3 + -8) = 0x133836;\n    __gmpn_toom8h_mul(p,a,n,b,n,scratch);\n    mark = __tmp_marker;\n    puVar4 = puVar3;\n    if (__tmp_marker != (tmp_reentrant_t *)0x0) {\n      *(undefined8 *)(puVar3 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free(mark);\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(p,a,n,b,n);\n    puVar4 = auStack_958;\n  }" else (if_statement "if (n < 0x1e2) {\n    lVar1 = -(n * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1));\n    puVar4 = auStack_958 + lVar1;\n  }\n  else if (n < 0x2d00) {\n    __tmp_marker = (tmp_reentrant_t *)0x0;\n    lVar1 = (n * 0xf >> 3) * 8;\n    size = lVar1 + 0xeb0;\n    if (size < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar3 = auStack_958 + lVar1;\n      scratch = (mp_ptr)((long)local_950 + lVar1);\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = b;\n      scratch = (mp_ptr)__gmp_tmp_reentrant_alloc(&__tmp_marker,size);\n      b = local_950[0];\n    }\n    *(undefined8 *)(puVar3 + -8) = 0x133836;\n    __gmpn_toom8h_mul(p,a,n,b,n,scratch);\n    mark = __tmp_marker;\n    puVar4 = puVar3;\n    if (__tmp_marker != (tmp_reentrant_t *)0x0) {\n      *(undefined8 *)(puVar3 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free(mark);\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(p,a,n,b,n);\n    puVar4 = auStack_958;\n  }" if (parenthesized_expression "(n < 0x1e2)" ( (binary_expression "n < 0x1e2" identifier < number_literal) )) (compound_statement "{\n    lVar1 = -(n * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1));\n    puVar4 = auStack_958 + lVar1;\n  }" { (expression_statement "lVar1 = -(n * 0x10 + 0xcd0);" (assignment_expression "lVar1 = -(n * 0x10 + 0xcd0)" identifier = (unary_expression "-(n * 0x10 + 0xcd0)" - (parenthesized_expression "(n * 0x10 + 0xcd0)" ( (binary_expression "n * 0x10 + 0xcd0" (binary_expression "n * 0x10" identifier * number_literal) + number_literal) )))) ;) (expression_statement "*(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;" (assignment_expression "*(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7" (pointer_expression "*(undefined8 *)(auStack_958 + lVar1 + -8)" * (cast_expression "(undefined8 *)(auStack_958 + lVar1 + -8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_958 + lVar1 + -8)" ( (binary_expression "auStack_958 + lVar1 + -8" (binary_expression "auStack_958 + lVar1" identifier + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "__gmpn_toom6h_mul(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1));" (call_expression "__gmpn_toom6h_mul(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1))" identifier (argument_list "(p,a,n,b,n,(mp_ptr)((long)local_950 + lVar1))" ( identifier , identifier , identifier , identifier , identifier , (call_expression "(mp_ptr)((long)local_950 + lVar1)" (parenthesized_expression "(mp_ptr)" ( identifier )) (argument_list "((long)local_950 + lVar1)" ( (binary_expression "(long)local_950 + lVar1" (cast_expression "(long)local_950" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) ))) ))) ;) (expression_statement "puVar4 = auStack_958 + lVar1;" (assignment_expression "puVar4 = auStack_958 + lVar1" identifier = (binary_expression "auStack_958 + lVar1" identifier + identifier)) ;) }) (else_clause "else if (n < 0x2d00) {\n    __tmp_marker = (tmp_reentrant_t *)0x0;\n    lVar1 = (n * 0xf >> 3) * 8;\n    size = lVar1 + 0xeb0;\n    if (size < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar3 = auStack_958 + lVar1;\n      scratch = (mp_ptr)((long)local_950 + lVar1);\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = b;\n      scratch = (mp_ptr)__gmp_tmp_reentrant_alloc(&__tmp_marker,size);\n      b = local_950[0];\n    }\n    *(undefined8 *)(puVar3 + -8) = 0x133836;\n    __gmpn_toom8h_mul(p,a,n,b,n,scratch);\n    mark = __tmp_marker;\n    puVar4 = puVar3;\n    if (__tmp_marker != (tmp_reentrant_t *)0x0) {\n      *(undefined8 *)(puVar3 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free(mark);\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(p,a,n,b,n);\n    puVar4 = auStack_958;\n  }" else (if_statement "if (n < 0x2d00) {\n    __tmp_marker = (tmp_reentrant_t *)0x0;\n    lVar1 = (n * 0xf >> 3) * 8;\n    size = lVar1 + 0xeb0;\n    if (size < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar3 = auStack_958 + lVar1;\n      scratch = (mp_ptr)((long)local_950 + lVar1);\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = b;\n      scratch = (mp_ptr)__gmp_tmp_reentrant_alloc(&__tmp_marker,size);\n      b = local_950[0];\n    }\n    *(undefined8 *)(puVar3 + -8) = 0x133836;\n    __gmpn_toom8h_mul(p,a,n,b,n,scratch);\n    mark = __tmp_marker;\n    puVar4 = puVar3;\n    if (__tmp_marker != (tmp_reentrant_t *)0x0) {\n      *(undefined8 *)(puVar3 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free(mark);\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(p,a,n,b,n);\n    puVar4 = auStack_958;\n  }" if (parenthesized_expression "(n < 0x2d00)" ( (binary_expression "n < 0x2d00" identifier < number_literal) )) (compound_statement "{\n    __tmp_marker = (tmp_reentrant_t *)0x0;\n    lVar1 = (n * 0xf >> 3) * 8;\n    size = lVar1 + 0xeb0;\n    if (size < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar3 = auStack_958 + lVar1;\n      scratch = (mp_ptr)((long)local_950 + lVar1);\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = b;\n      scratch = (mp_ptr)__gmp_tmp_reentrant_alloc(&__tmp_marker,size);\n      b = local_950[0];\n    }\n    *(undefined8 *)(puVar3 + -8) = 0x133836;\n    __gmpn_toom8h_mul(p,a,n,b,n,scratch);\n    mark = __tmp_marker;\n    puVar4 = puVar3;\n    if (__tmp_marker != (tmp_reentrant_t *)0x0) {\n      *(undefined8 *)(puVar3 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free(mark);\n    }\n  }" { (expression_statement "__tmp_marker = (tmp_reentrant_t *)0x0;" (assignment_expression "__tmp_marker = (tmp_reentrant_t *)0x0" identifier = (cast_expression "(tmp_reentrant_t *)0x0" ( (type_descriptor "tmp_reentrant_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "lVar1 = (n * 0xf >> 3) * 8;" (assignment_expression "lVar1 = (n * 0xf >> 3) * 8" identifier = (binary_expression "(n * 0xf >> 3) * 8" (parenthesized_expression "(n * 0xf >> 3)" ( (binary_expression "n * 0xf >> 3" (binary_expression "n * 0xf" identifier * number_literal) >> number_literal) )) * number_literal)) ;) (expression_statement "size = lVar1 + 0xeb0;" (assignment_expression "size = lVar1 + 0xeb0" identifier = (binary_expression "lVar1 + 0xeb0" identifier + number_literal)) ;) (if_statement "if (size < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar3 = auStack_958 + lVar1;\n      scratch = (mp_ptr)((long)local_950 + lVar1);\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = b;\n      scratch = (mp_ptr)__gmp_tmp_reentrant_alloc(&__tmp_marker,size);\n      b = local_950[0];\n    }" if (parenthesized_expression "(size < 0x7f01)" ( (binary_expression "size < 0x7f01" identifier < number_literal) )) (compound_statement "{\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar3 = auStack_958 + lVar1;\n      scratch = (mp_ptr)((long)local_950 + lVar1);\n    }" { (expression_statement "lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);" (assignment_expression "lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0)" identifier = (unary_expression "-(lVar1 + 0xec7U & 0xfffffffffffffff0)" - (parenthesized_expression "(lVar1 + 0xec7U & 0xfffffffffffffff0)" ( (binary_expression "lVar1 + 0xec7U & 0xfffffffffffffff0" (binary_expression "lVar1 + 0xec7U" identifier + number_literal) & number_literal) )))) ;) (expression_statement "puVar3 = auStack_958 + lVar1;" (assignment_expression "puVar3 = auStack_958 + lVar1" identifier = (binary_expression "auStack_958 + lVar1" identifier + identifier)) ;) (expression_statement "scratch = (mp_ptr)((long)local_950 + lVar1);" (assignment_expression "scratch = (mp_ptr)((long)local_950 + lVar1)" identifier = (call_expression "(mp_ptr)((long)local_950 + lVar1)" (parenthesized_expression "(mp_ptr)" ( identifier )) (argument_list "((long)local_950 + lVar1)" ( (binary_expression "(long)local_950 + lVar1" (cast_expression "(long)local_950" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) ;) }) (else_clause "else {\n      uStack_960 = 0x133956;\n      local_950[0] = b;\n      scratch = (mp_ptr)__gmp_tmp_reentrant_alloc(&__tmp_marker,size);\n      b = local_950[0];\n    }" else (compound_statement "{\n      uStack_960 = 0x133956;\n      local_950[0] = b;\n      scratch = (mp_ptr)__gmp_tmp_reentrant_alloc(&__tmp_marker,size);\n      b = local_950[0];\n    }" { (expression_statement "uStack_960 = 0x133956;" (assignment_expression "uStack_960 = 0x133956" identifier = number_literal) ;) (expression_statement "local_950[0] = b;" (assignment_expression "local_950[0] = b" (subscript_expression "local_950[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "scratch = (mp_ptr)__gmp_tmp_reentrant_alloc(&__tmp_marker,size);" (assignment_expression "scratch = (mp_ptr)__gmp_tmp_reentrant_alloc(&__tmp_marker,size)" identifier = (cast_expression "(mp_ptr)__gmp_tmp_reentrant_alloc(&__tmp_marker,size)" ( (type_descriptor "mp_ptr" type_identifier) ) (call_expression "__gmp_tmp_reentrant_alloc(&__tmp_marker,size)" identifier (argument_list "(&__tmp_marker,size)" ( (pointer_expression "&__tmp_marker" & identifier) , identifier ))))) ;) (expression_statement "b = local_950[0];" (assignment_expression "b = local_950[0]" identifier = (subscript_expression "local_950[0]" identifier [ number_literal ])) ;) }))) (expression_statement "*(undefined8 *)(puVar3 + -8) = 0x133836;" (assignment_expression "*(undefined8 *)(puVar3 + -8) = 0x133836" (pointer_expression "*(undefined8 *)(puVar3 + -8)" * (cast_expression "(undefined8 *)(puVar3 + -8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + -8)" ( (binary_expression "puVar3 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "__gmpn_toom8h_mul(p,a,n,b,n,scratch);" (call_expression "__gmpn_toom8h_mul(p,a,n,b,n,scratch)" identifier (argument_list "(p,a,n,b,n,scratch)" ( identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "mark = __tmp_marker;" (assignment_expression "mark = __tmp_marker" identifier = identifier) ;) (expression_statement "puVar4 = puVar3;" (assignment_expression "puVar4 = puVar3" identifier = identifier) ;) (if_statement "if (__tmp_marker != (tmp_reentrant_t *)0x0) {\n      *(undefined8 *)(puVar3 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free(mark);\n    }" if (parenthesized_expression "(__tmp_marker != (tmp_reentrant_t *)0x0)" ( (binary_expression "__tmp_marker != (tmp_reentrant_t *)0x0" identifier != (cast_expression "(tmp_reentrant_t *)0x0" ( (type_descriptor "tmp_reentrant_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *(undefined8 *)(puVar3 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free(mark);\n    }" { (expression_statement "*(undefined8 *)(puVar3 + -8) = 0x133847;" (assignment_expression "*(undefined8 *)(puVar3 + -8) = 0x133847" (pointer_expression "*(undefined8 *)(puVar3 + -8)" * (cast_expression "(undefined8 *)(puVar3 + -8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + -8)" ( (binary_expression "puVar3 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "__gmp_tmp_reentrant_free(mark);" (call_expression "__gmp_tmp_reentrant_free(mark)" identifier (argument_list "(mark)" ( identifier ))) ;) })) }) (else_clause "else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(p,a,n,b,n);\n    puVar4 = auStack_958;\n  }" else (compound_statement "{\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(p,a,n,b,n);\n    puVar4 = auStack_958;\n  }" { (expression_statement "uStack_960 = 0x13393e;" (assignment_expression "uStack_960 = 0x13393e" identifier = number_literal) ;) (expression_statement "__gmpn_nussbaumer_mul(p,a,n,b,n);" (call_expression "__gmpn_nussbaumer_mul(p,a,n,b,n)" identifier (argument_list "(p,a,n,b,n)" ( identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "puVar4 = auStack_958;" (assignment_expression "puVar4 = auStack_958" identifier = identifier) ;) }))))))))))))) (if_statement "if (lVar2 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }" if (parenthesized_expression "(lVar2 == *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "lVar2 == *(long *)(in_FS_OFFSET + 0x28)" identifier == (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) comment (expression_statement "*(undefined8 *)(puVar4 + -8) = 0x13396a;" (assignment_expression "*(undefined8 *)(puVar4 + -8) = 0x13396a" (pointer_expression "*(undefined8 *)(puVar4 + -8)" * (cast_expression "(undefined8 *)(puVar4 + -8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + -8)" ( (binary_expression "puVar4 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "void __gmpn_mul_n(undefined8 param_1,undefined8 param_2,undefined8 param_3,long param_4)\n\n{\n  long lVar1;\n  undefined1 *puVar2;\n  undefined1 *puVar3;\n  long in_FS_OFFSET;\n  undefined8 uStack_960;\n  undefined1 auStack_958 [8];\n  undefined8 local_950 [2];\n  long local_940;\n  undefined1 local_938 [2312];\n  long local_30;\n  \n  puVar2 = auStack_958;\n  puVar3 = auStack_958;\n  local_30 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_4 < 0x1c) {\n    uStack_960 = 0x133896;\n    __gmpn_mul_basecase(param_1,param_2,param_4,param_3,param_4);\n  }\n  else if (param_4 < 0x51) {\n    uStack_960 = 0x133865;\n    __gmpn_toom22_mul(param_1,param_2,param_4,param_3,param_4,local_938);\n    puVar3 = auStack_958;\n  }\n  else if (param_4 < 0xf2) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb;\n    __gmpn_toom33_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x159) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x1e2) {\n    lVar1 = -(param_4 * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x2d00) {\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }\n  if (local_30 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }\n                    \n  *(undefined8 *)(puVar3 + -8) = 0x13396a;\n  __stack_chk_fail();\n}\n\n" (function_definition "void __gmpn_mul_n(undefined8 param_1,undefined8 param_2,undefined8 param_3,long param_4)\n\n{\n  long lVar1;\n  undefined1 *puVar2;\n  undefined1 *puVar3;\n  long in_FS_OFFSET;\n  undefined8 uStack_960;\n  undefined1 auStack_958 [8];\n  undefined8 local_950 [2];\n  long local_940;\n  undefined1 local_938 [2312];\n  long local_30;\n  \n  puVar2 = auStack_958;\n  puVar3 = auStack_958;\n  local_30 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_4 < 0x1c) {\n    uStack_960 = 0x133896;\n    __gmpn_mul_basecase(param_1,param_2,param_4,param_3,param_4);\n  }\n  else if (param_4 < 0x51) {\n    uStack_960 = 0x133865;\n    __gmpn_toom22_mul(param_1,param_2,param_4,param_3,param_4,local_938);\n    puVar3 = auStack_958;\n  }\n  else if (param_4 < 0xf2) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb;\n    __gmpn_toom33_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x159) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x1e2) {\n    lVar1 = -(param_4 * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x2d00) {\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }\n  if (local_30 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }\n                    \n  *(undefined8 *)(puVar3 + -8) = 0x13396a;\n  __stack_chk_fail();\n}" primitive_type (function_declarator "__gmpn_mul_n(undefined8 param_1,undefined8 param_2,undefined8 param_3,long param_4)" identifier (parameter_list "(undefined8 param_1,undefined8 param_2,undefined8 param_3,long param_4)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) , (parameter_declaration "long param_4" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  long lVar1;\n  undefined1 *puVar2;\n  undefined1 *puVar3;\n  long in_FS_OFFSET;\n  undefined8 uStack_960;\n  undefined1 auStack_958 [8];\n  undefined8 local_950 [2];\n  long local_940;\n  undefined1 local_938 [2312];\n  long local_30;\n  \n  puVar2 = auStack_958;\n  puVar3 = auStack_958;\n  local_30 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_4 < 0x1c) {\n    uStack_960 = 0x133896;\n    __gmpn_mul_basecase(param_1,param_2,param_4,param_3,param_4);\n  }\n  else if (param_4 < 0x51) {\n    uStack_960 = 0x133865;\n    __gmpn_toom22_mul(param_1,param_2,param_4,param_3,param_4,local_938);\n    puVar3 = auStack_958;\n  }\n  else if (param_4 < 0xf2) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb;\n    __gmpn_toom33_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x159) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x1e2) {\n    lVar1 = -(param_4 * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x2d00) {\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }\n  if (local_30 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }\n                    \n  *(undefined8 *)(puVar3 + -8) = 0x13396a;\n  __stack_chk_fail();\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined1 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined1 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uStack_960;" type_identifier identifier ;) (declaration "undefined1 auStack_958 [8];" type_identifier (array_declarator "auStack_958 [8]" identifier [ number_literal ]) ;) (declaration "undefined8 local_950 [2];" type_identifier (array_declarator "local_950 [2]" identifier [ number_literal ]) ;) (declaration "long local_940;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined1 local_938 [2312];" type_identifier (array_declarator "local_938 [2312]" identifier [ number_literal ]) ;) (declaration "long local_30;" (sized_type_specifier "long" long) identifier ;) (expression_statement "puVar2 = auStack_958;" (assignment_expression "puVar2 = auStack_958" identifier = identifier) ;) (expression_statement "puVar3 = auStack_958;" (assignment_expression "puVar3 = auStack_958" identifier = identifier) ;) (expression_statement "local_30 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_30 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (param_4 < 0x1c) {\n    uStack_960 = 0x133896;\n    __gmpn_mul_basecase(param_1,param_2,param_4,param_3,param_4);\n  }\n  else if (param_4 < 0x51) {\n    uStack_960 = 0x133865;\n    __gmpn_toom22_mul(param_1,param_2,param_4,param_3,param_4,local_938);\n    puVar3 = auStack_958;\n  }\n  else if (param_4 < 0xf2) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb;\n    __gmpn_toom33_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x159) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x1e2) {\n    lVar1 = -(param_4 * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x2d00) {\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }" if (parenthesized_expression "(param_4 < 0x1c)" ( (binary_expression "param_4 < 0x1c" identifier < number_literal) )) (compound_statement "{\n    uStack_960 = 0x133896;\n    __gmpn_mul_basecase(param_1,param_2,param_4,param_3,param_4);\n  }" { (expression_statement "uStack_960 = 0x133896;" (assignment_expression "uStack_960 = 0x133896" identifier = number_literal) ;) (expression_statement "__gmpn_mul_basecase(param_1,param_2,param_4,param_3,param_4);" (call_expression "__gmpn_mul_basecase(param_1,param_2,param_4,param_3,param_4)" identifier (argument_list "(param_1,param_2,param_4,param_3,param_4)" ( identifier , identifier , identifier , identifier , identifier ))) ;) }) (else_clause "else if (param_4 < 0x51) {\n    uStack_960 = 0x133865;\n    __gmpn_toom22_mul(param_1,param_2,param_4,param_3,param_4,local_938);\n    puVar3 = auStack_958;\n  }\n  else if (param_4 < 0xf2) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb;\n    __gmpn_toom33_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x159) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x1e2) {\n    lVar1 = -(param_4 * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x2d00) {\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }" else (if_statement "if (param_4 < 0x51) {\n    uStack_960 = 0x133865;\n    __gmpn_toom22_mul(param_1,param_2,param_4,param_3,param_4,local_938);\n    puVar3 = auStack_958;\n  }\n  else if (param_4 < 0xf2) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb;\n    __gmpn_toom33_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x159) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x1e2) {\n    lVar1 = -(param_4 * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x2d00) {\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }" if (parenthesized_expression "(param_4 < 0x51)" ( (binary_expression "param_4 < 0x51" identifier < number_literal) )) (compound_statement "{\n    uStack_960 = 0x133865;\n    __gmpn_toom22_mul(param_1,param_2,param_4,param_3,param_4,local_938);\n    puVar3 = auStack_958;\n  }" { (expression_statement "uStack_960 = 0x133865;" (assignment_expression "uStack_960 = 0x133865" identifier = number_literal) ;) (expression_statement "__gmpn_toom22_mul(param_1,param_2,param_4,param_3,param_4,local_938);" (call_expression "__gmpn_toom22_mul(param_1,param_2,param_4,param_3,param_4,local_938)" identifier (argument_list "(param_1,param_2,param_4,param_3,param_4,local_938)" ( identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "puVar3 = auStack_958;" (assignment_expression "puVar3 = auStack_958" identifier = identifier) ;) }) (else_clause "else if (param_4 < 0xf2) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb;\n    __gmpn_toom33_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x159) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x1e2) {\n    lVar1 = -(param_4 * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x2d00) {\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }" else (if_statement "if (param_4 < 0xf2) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb;\n    __gmpn_toom33_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x159) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x1e2) {\n    lVar1 = -(param_4 * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x2d00) {\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }" if (parenthesized_expression "(param_4 < 0xf2)" ( (binary_expression "param_4 < 0xf2" identifier < number_literal) )) (compound_statement "{\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb;\n    __gmpn_toom33_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }" { (expression_statement "lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);" (assignment_expression "lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0)" identifier = (unary_expression "-((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0)" - (parenthesized_expression "((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0)" ( (binary_expression "(param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0" (binary_expression "(param_4 * 3 + 0x40) * 8 + 0x17U" (binary_expression "(param_4 * 3 + 0x40) * 8" (parenthesized_expression "(param_4 * 3 + 0x40)" ( (binary_expression "param_4 * 3 + 0x40" (binary_expression "param_4 * 3" identifier * number_literal) + number_literal) )) * number_literal) + number_literal) & number_literal) )))) ;) (expression_statement "*(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb;" (assignment_expression "*(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb" (pointer_expression "*(undefined8 *)(auStack_958 + lVar1 + -8)" * (cast_expression "(undefined8 *)(auStack_958 + lVar1 + -8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_958 + lVar1 + -8)" ( (binary_expression "auStack_958 + lVar1 + -8" (binary_expression "auStack_958 + lVar1" identifier + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "__gmpn_toom33_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);" (call_expression "__gmpn_toom33_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1)" identifier (argument_list "(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1)" ( identifier , identifier , identifier , identifier , identifier , (binary_expression "(long)local_950 + lVar1" (cast_expression "(long)local_950" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) ))) ;) (expression_statement "puVar3 = auStack_958 + lVar1;" (assignment_expression "puVar3 = auStack_958 + lVar1" identifier = (binary_expression "auStack_958 + lVar1" identifier + identifier)) ;) }) (else_clause "else if (param_4 < 0x159) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x1e2) {\n    lVar1 = -(param_4 * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x2d00) {\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }" else (if_statement "if (param_4 < 0x159) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x1e2) {\n    lVar1 = -(param_4 * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x2d00) {\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }" if (parenthesized_expression "(param_4 < 0x159)" ( (binary_expression "param_4 < 0x159" identifier < number_literal) )) (compound_statement "{\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }" { (expression_statement "lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);" (assignment_expression "lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0)" identifier = (unary_expression "-((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0)" - (parenthesized_expression "((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0)" ( (binary_expression "(param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0" (binary_expression "(param_4 * 3 + 0x40) * 8 + 0x17U" (binary_expression "(param_4 * 3 + 0x40) * 8" (parenthesized_expression "(param_4 * 3 + 0x40)" ( (binary_expression "param_4 * 3 + 0x40" (binary_expression "param_4 * 3" identifier * number_literal) + number_literal) )) * number_literal) + number_literal) & number_literal) )))) ;) (expression_statement "*(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;" (assignment_expression "*(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b" (pointer_expression "*(undefined8 *)(auStack_958 + lVar1 + -8)" * (cast_expression "(undefined8 *)(auStack_958 + lVar1 + -8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_958 + lVar1 + -8)" ( (binary_expression "auStack_958 + lVar1 + -8" (binary_expression "auStack_958 + lVar1" identifier + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "__gmpn_toom44_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);" (call_expression "__gmpn_toom44_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1)" identifier (argument_list "(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1)" ( identifier , identifier , identifier , identifier , identifier , (binary_expression "(long)local_950 + lVar1" (cast_expression "(long)local_950" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) ))) ;) (expression_statement "puVar3 = auStack_958 + lVar1;" (assignment_expression "puVar3 = auStack_958 + lVar1" identifier = (binary_expression "auStack_958 + lVar1" identifier + identifier)) ;) }) (else_clause "else if (param_4 < 0x1e2) {\n    lVar1 = -(param_4 * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x2d00) {\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }" else (if_statement "if (param_4 < 0x1e2) {\n    lVar1 = -(param_4 * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x2d00) {\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }" if (parenthesized_expression "(param_4 < 0x1e2)" ( (binary_expression "param_4 < 0x1e2" identifier < number_literal) )) (compound_statement "{\n    lVar1 = -(param_4 * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }" { (expression_statement "lVar1 = -(param_4 * 0x10 + 0xcd0);" (assignment_expression "lVar1 = -(param_4 * 0x10 + 0xcd0)" identifier = (unary_expression "-(param_4 * 0x10 + 0xcd0)" - (parenthesized_expression "(param_4 * 0x10 + 0xcd0)" ( (binary_expression "param_4 * 0x10 + 0xcd0" (binary_expression "param_4 * 0x10" identifier * number_literal) + number_literal) )))) ;) (expression_statement "*(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;" (assignment_expression "*(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7" (pointer_expression "*(undefined8 *)(auStack_958 + lVar1 + -8)" * (cast_expression "(undefined8 *)(auStack_958 + lVar1 + -8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_958 + lVar1 + -8)" ( (binary_expression "auStack_958 + lVar1 + -8" (binary_expression "auStack_958 + lVar1" identifier + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "__gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);" (call_expression "__gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1)" identifier (argument_list "(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1)" ( identifier , identifier , identifier , identifier , identifier , (binary_expression "(long)local_950 + lVar1" (cast_expression "(long)local_950" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) ))) ;) (expression_statement "puVar3 = auStack_958 + lVar1;" (assignment_expression "puVar3 = auStack_958 + lVar1" identifier = (binary_expression "auStack_958 + lVar1" identifier + identifier)) ;) }) (else_clause "else if (param_4 < 0x2d00) {\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }" else (if_statement "if (param_4 < 0x2d00) {\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }" if (parenthesized_expression "(param_4 < 0x2d00)" ( (binary_expression "param_4 < 0x2d00" identifier < number_literal) )) (compound_statement "{\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }" { (expression_statement "local_940 = 0;" (assignment_expression "local_940 = 0" identifier = number_literal) ;) (expression_statement "lVar1 = (param_4 * 0xf >> 3) * 8;" (assignment_expression "lVar1 = (param_4 * 0xf >> 3) * 8" identifier = (binary_expression "(param_4 * 0xf >> 3) * 8" (parenthesized_expression "(param_4 * 0xf >> 3)" ( (binary_expression "param_4 * 0xf >> 3" (binary_expression "param_4 * 0xf" identifier * number_literal) >> number_literal) )) * number_literal)) ;) (if_statement "if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }" if (parenthesized_expression "(lVar1 + 0xeb0U < 0x7f01)" ( (binary_expression "lVar1 + 0xeb0U < 0x7f01" (binary_expression "lVar1 + 0xeb0U" identifier + number_literal) < number_literal) )) (compound_statement "{\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }" { (expression_statement "lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);" (assignment_expression "lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0)" identifier = (unary_expression "-(lVar1 + 0xec7U & 0xfffffffffffffff0)" - (parenthesized_expression "(lVar1 + 0xec7U & 0xfffffffffffffff0)" ( (binary_expression "lVar1 + 0xec7U & 0xfffffffffffffff0" (binary_expression "lVar1 + 0xec7U" identifier + number_literal) & number_literal) )))) ;) (expression_statement "puVar2 = auStack_958 + lVar1;" (assignment_expression "puVar2 = auStack_958 + lVar1" identifier = (binary_expression "auStack_958 + lVar1" identifier + identifier)) ;) (expression_statement "lVar1 = (long)local_950 + lVar1;" (assignment_expression "lVar1 = (long)local_950 + lVar1" identifier = (binary_expression "(long)local_950 + lVar1" (cast_expression "(long)local_950" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier)) ;) }) (else_clause "else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }" else (compound_statement "{\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }" { (expression_statement "uStack_960 = 0x133956;" (assignment_expression "uStack_960 = 0x133956" identifier = number_literal) ;) (expression_statement "local_950[0] = param_3;" (assignment_expression "local_950[0] = param_3" (subscript_expression "local_950[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "lVar1 = __gmp_tmp_reentrant_alloc(&local_940);" (assignment_expression "lVar1 = __gmp_tmp_reentrant_alloc(&local_940)" identifier = (call_expression "__gmp_tmp_reentrant_alloc(&local_940)" identifier (argument_list "(&local_940)" ( (pointer_expression "&local_940" & identifier) )))) ;) (expression_statement "param_3 = local_950[0];" (assignment_expression "param_3 = local_950[0]" identifier = (subscript_expression "local_950[0]" identifier [ number_literal ])) ;) }))) (expression_statement "*(undefined8 *)(puVar2 + -8) = 0x133836;" (assignment_expression "*(undefined8 *)(puVar2 + -8) = 0x133836" (pointer_expression "*(undefined8 *)(puVar2 + -8)" * (cast_expression "(undefined8 *)(puVar2 + -8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + -8)" ( (binary_expression "puVar2 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "__gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);" (call_expression "__gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1)" identifier (argument_list "(param_1,param_2,param_4,param_3,param_4,lVar1)" ( identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "puVar3 = puVar2;" (assignment_expression "puVar3 = puVar2" identifier = identifier) ;) (if_statement "if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }" if (parenthesized_expression "(local_940 != 0)" ( (binary_expression "local_940 != 0" identifier != number_literal) )) (compound_statement "{\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }" { (expression_statement "*(undefined8 *)(puVar2 + -8) = 0x133847;" (assignment_expression "*(undefined8 *)(puVar2 + -8) = 0x133847" (pointer_expression "*(undefined8 *)(puVar2 + -8)" * (cast_expression "(undefined8 *)(puVar2 + -8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + -8)" ( (binary_expression "puVar2 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "__gmp_tmp_reentrant_free();" (call_expression "__gmp_tmp_reentrant_free()" identifier (argument_list "()" ( ))) ;) })) }) (else_clause "else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }" else (compound_statement "{\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }" { (expression_statement "uStack_960 = 0x13393e;" (assignment_expression "uStack_960 = 0x13393e" identifier = number_literal) ;) (expression_statement "__gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);" (call_expression "__gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4)" identifier (argument_list "(param_1,param_2,param_4,param_3,param_4)" ( identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "puVar3 = auStack_958;" (assignment_expression "puVar3 = auStack_958" identifier = identifier) ;) }))))))))))))) (if_statement "if (local_30 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }" if (parenthesized_expression "(local_30 == *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_30 == *(long *)(in_FS_OFFSET + 0x28)" identifier == (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "*(undefined8 *)(puVar3 + -8) = 0x13396a;" (assignment_expression "*(undefined8 *)(puVar3 + -8) = 0x13396a" (pointer_expression "*(undefined8 *)(puVar3 + -8)" * (cast_expression "(undefined8 *)(puVar3 + -8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + -8)" ( (binary_expression "puVar3 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration (sized_type_specifier long) IDENT) ))) (compound_statement { (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration (sized_type_specifier long) IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (unary_expression - (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) + LIT) )) * LIT) + LIT) & LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (unary_expression - (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) + LIT) )) * LIT) + LIT) & LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (unary_expression - (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) >> LIT) )) * LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (unary_expression - (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_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 , IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))))))))))))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (return_statement return ;) })) (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 ( ))) ;) })))
(function_definition "void __gmpn_mul_n(undefined8 param_1,undefined8 param_2,undefined8 param_3,long param_4)\n\n{\n  long lVar1;\n  undefined1 *puVar2;\n  undefined1 *puVar3;\n  long in_FS_OFFSET;\n  undefined8 uStack_960;\n  undefined1 auStack_958 [8];\n  undefined8 local_950 [2];\n  long local_940;\n  undefined1 local_938 [2312];\n  long local_30;\n  \n  puVar2 = auStack_958;\n  puVar3 = auStack_958;\n  local_30 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_4 < 0x1c) {\n    uStack_960 = 0x133896;\n    __gmpn_mul_basecase(param_1,param_2,param_4,param_3,param_4);\n  }\n  else if (param_4 < 0x51) {\n    uStack_960 = 0x133865;\n    __gmpn_toom22_mul(param_1,param_2,param_4,param_3,param_4,local_938);\n    puVar3 = auStack_958;\n  }\n  else if (param_4 < 0xf2) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb;\n    __gmpn_toom33_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x159) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x1e2) {\n    lVar1 = -(param_4 * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x2d00) {\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }\n  if (local_30 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }\n                    \n  *(undefined8 *)(puVar3 + -8) = 0x13396a;\n  __stack_chk_fail();\n}" (primitive_type "void") (function_declarator "__gmpn_mul_n(undefined8 param_1,undefined8 param_2,undefined8 param_3,long param_4)" (identifier "__gmpn_mul_n") (parameter_list "(undefined8 param_1,undefined8 param_2,undefined8 param_3,long param_4)" (( "(") (parameter_declaration "undefined8 param_1" (type_identifier "undefined8") (identifier "param_1")) (, ",") (parameter_declaration "undefined8 param_2" (type_identifier "undefined8") (identifier "param_2")) (, ",") (parameter_declaration "undefined8 param_3" (type_identifier "undefined8") (identifier "param_3")) (, ",") (parameter_declaration "long param_4" (sized_type_specifier "long" (long "long")) (identifier "param_4")) () ")"))) (compound_statement "{\n  long lVar1;\n  undefined1 *puVar2;\n  undefined1 *puVar3;\n  long in_FS_OFFSET;\n  undefined8 uStack_960;\n  undefined1 auStack_958 [8];\n  undefined8 local_950 [2];\n  long local_940;\n  undefined1 local_938 [2312];\n  long local_30;\n  \n  puVar2 = auStack_958;\n  puVar3 = auStack_958;\n  local_30 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_4 < 0x1c) {\n    uStack_960 = 0x133896;\n    __gmpn_mul_basecase(param_1,param_2,param_4,param_3,param_4);\n  }\n  else if (param_4 < 0x51) {\n    uStack_960 = 0x133865;\n    __gmpn_toom22_mul(param_1,param_2,param_4,param_3,param_4,local_938);\n    puVar3 = auStack_958;\n  }\n  else if (param_4 < 0xf2) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb;\n    __gmpn_toom33_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x159) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x1e2) {\n    lVar1 = -(param_4 * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x2d00) {\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }\n  if (local_30 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }\n                    \n  *(undefined8 *)(puVar3 + -8) = 0x13396a;\n  __stack_chk_fail();\n}" ({ "{") (declaration "long lVar1;" (sized_type_specifier "long" (long "long")) (identifier "lVar1") (; ";")) (declaration "undefined1 *puVar2;" (type_identifier "undefined1") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined1 *puVar3;" (type_identifier "undefined1") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" (long "long")) (identifier "in_FS_OFFSET") (; ";")) (declaration "undefined8 uStack_960;" (type_identifier "undefined8") (identifier "uStack_960") (; ";")) (declaration "undefined1 auStack_958 [8];" (type_identifier "undefined1") (array_declarator "auStack_958 [8]" (identifier "auStack_958") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "undefined8 local_950 [2];" (type_identifier "undefined8") (array_declarator "local_950 [2]" (identifier "local_950") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "long local_940;" (sized_type_specifier "long" (long "long")) (identifier "local_940") (; ";")) (declaration "undefined1 local_938 [2312];" (type_identifier "undefined1") (array_declarator "local_938 [2312]" (identifier "local_938") ([ "[") (number_literal "2312") (] "]")) (; ";")) (declaration "long local_30;" (sized_type_specifier "long" (long "long")) (identifier "local_30") (; ";")) (expression_statement "puVar2 = auStack_958;" (assignment_expression "puVar2 = auStack_958" (identifier "puVar2") (= "=") (identifier "auStack_958")) (; ";")) (expression_statement "puVar3 = auStack_958;" (assignment_expression "puVar3 = auStack_958" (identifier "puVar3") (= "=") (identifier "auStack_958")) (; ";")) (expression_statement "local_30 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_30 = *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_30") (= "=") (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" (* "*") (cast_expression "(long *)(in_FS_OFFSET + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_FS_OFFSET + 0x28)" (( "(") (binary_expression "in_FS_OFFSET + 0x28" (identifier "in_FS_OFFSET") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (if_statement "if (param_4 < 0x1c) {\n    uStack_960 = 0x133896;\n    __gmpn_mul_basecase(param_1,param_2,param_4,param_3,param_4);\n  }\n  else if (param_4 < 0x51) {\n    uStack_960 = 0x133865;\n    __gmpn_toom22_mul(param_1,param_2,param_4,param_3,param_4,local_938);\n    puVar3 = auStack_958;\n  }\n  else if (param_4 < 0xf2) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb;\n    __gmpn_toom33_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x159) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x1e2) {\n    lVar1 = -(param_4 * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x2d00) {\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }" (if "if") (parenthesized_expression "(param_4 < 0x1c)" (( "(") (binary_expression "param_4 < 0x1c" (identifier "param_4") (< "<") (number_literal "0x1c")) () ")")) (compound_statement "{\n    uStack_960 = 0x133896;\n    __gmpn_mul_basecase(param_1,param_2,param_4,param_3,param_4);\n  }" ({ "{") (expression_statement "uStack_960 = 0x133896;" (assignment_expression "uStack_960 = 0x133896" (identifier "uStack_960") (= "=") (number_literal "0x133896")) (; ";")) (expression_statement "__gmpn_mul_basecase(param_1,param_2,param_4,param_3,param_4);" (call_expression "__gmpn_mul_basecase(param_1,param_2,param_4,param_3,param_4)" (identifier "__gmpn_mul_basecase") (argument_list "(param_1,param_2,param_4,param_3,param_4)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "param_4") (, ",") (identifier "param_3") (, ",") (identifier "param_4") () ")"))) (; ";")) (} "}")) (else_clause "else if (param_4 < 0x51) {\n    uStack_960 = 0x133865;\n    __gmpn_toom22_mul(param_1,param_2,param_4,param_3,param_4,local_938);\n    puVar3 = auStack_958;\n  }\n  else if (param_4 < 0xf2) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb;\n    __gmpn_toom33_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x159) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x1e2) {\n    lVar1 = -(param_4 * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x2d00) {\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }" (else "else") (if_statement "if (param_4 < 0x51) {\n    uStack_960 = 0x133865;\n    __gmpn_toom22_mul(param_1,param_2,param_4,param_3,param_4,local_938);\n    puVar3 = auStack_958;\n  }\n  else if (param_4 < 0xf2) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb;\n    __gmpn_toom33_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x159) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x1e2) {\n    lVar1 = -(param_4 * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x2d00) {\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }" (if "if") (parenthesized_expression "(param_4 < 0x51)" (( "(") (binary_expression "param_4 < 0x51" (identifier "param_4") (< "<") (number_literal "0x51")) () ")")) (compound_statement "{\n    uStack_960 = 0x133865;\n    __gmpn_toom22_mul(param_1,param_2,param_4,param_3,param_4,local_938);\n    puVar3 = auStack_958;\n  }" ({ "{") (expression_statement "uStack_960 = 0x133865;" (assignment_expression "uStack_960 = 0x133865" (identifier "uStack_960") (= "=") (number_literal "0x133865")) (; ";")) (expression_statement "__gmpn_toom22_mul(param_1,param_2,param_4,param_3,param_4,local_938);" (call_expression "__gmpn_toom22_mul(param_1,param_2,param_4,param_3,param_4,local_938)" (identifier "__gmpn_toom22_mul") (argument_list "(param_1,param_2,param_4,param_3,param_4,local_938)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "param_4") (, ",") (identifier "param_3") (, ",") (identifier "param_4") (, ",") (identifier "local_938") () ")"))) (; ";")) (expression_statement "puVar3 = auStack_958;" (assignment_expression "puVar3 = auStack_958" (identifier "puVar3") (= "=") (identifier "auStack_958")) (; ";")) (} "}")) (else_clause "else if (param_4 < 0xf2) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb;\n    __gmpn_toom33_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x159) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x1e2) {\n    lVar1 = -(param_4 * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x2d00) {\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }" (else "else") (if_statement "if (param_4 < 0xf2) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb;\n    __gmpn_toom33_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x159) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x1e2) {\n    lVar1 = -(param_4 * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x2d00) {\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }" (if "if") (parenthesized_expression "(param_4 < 0xf2)" (( "(") (binary_expression "param_4 < 0xf2" (identifier "param_4") (< "<") (number_literal "0xf2")) () ")")) (compound_statement "{\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb;\n    __gmpn_toom33_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }" ({ "{") (expression_statement "lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);" (assignment_expression "lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0)" (identifier "lVar1") (= "=") (unary_expression "-((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0)" (- "-") (parenthesized_expression "((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0)" (( "(") (binary_expression "(param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0" (binary_expression "(param_4 * 3 + 0x40) * 8 + 0x17U" (binary_expression "(param_4 * 3 + 0x40) * 8" (parenthesized_expression "(param_4 * 3 + 0x40)" (( "(") (binary_expression "param_4 * 3 + 0x40" (binary_expression "param_4 * 3" (identifier "param_4") (* "*") (number_literal "3")) (+ "+") (number_literal "0x40")) () ")")) (* "*") (number_literal "8")) (+ "+") (number_literal "0x17U")) (& "&") (number_literal "0xfffffffffffffff0")) () ")")))) (; ";")) (expression_statement "*(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb;" (assignment_expression "*(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb" (pointer_expression "*(undefined8 *)(auStack_958 + lVar1 + -8)" (* "*") (cast_expression "(undefined8 *)(auStack_958 + lVar1 + -8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_958 + lVar1 + -8)" (( "(") (binary_expression "auStack_958 + lVar1 + -8" (binary_expression "auStack_958 + lVar1" (identifier "auStack_958") (+ "+") (identifier "lVar1")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x1338fb")) (; ";")) (expression_statement "__gmpn_toom33_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);" (call_expression "__gmpn_toom33_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1)" (identifier "__gmpn_toom33_mul") (argument_list "(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "param_4") (, ",") (identifier "param_3") (, ",") (identifier "param_4") (, ",") (binary_expression "(long)local_950 + lVar1" (cast_expression "(long)local_950" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_950")) (+ "+") (identifier "lVar1")) () ")"))) (; ";")) (expression_statement "puVar3 = auStack_958 + lVar1;" (assignment_expression "puVar3 = auStack_958 + lVar1" (identifier "puVar3") (= "=") (binary_expression "auStack_958 + lVar1" (identifier "auStack_958") (+ "+") (identifier "lVar1"))) (; ";")) (} "}")) (else_clause "else if (param_4 < 0x159) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x1e2) {\n    lVar1 = -(param_4 * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x2d00) {\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }" (else "else") (if_statement "if (param_4 < 0x159) {\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x1e2) {\n    lVar1 = -(param_4 * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x2d00) {\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }" (if "if") (parenthesized_expression "(param_4 < 0x159)" (( "(") (binary_expression "param_4 < 0x159" (identifier "param_4") (< "<") (number_literal "0x159")) () ")")) (compound_statement "{\n    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;\n    __gmpn_toom44_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }" ({ "{") (expression_statement "lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);" (assignment_expression "lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0)" (identifier "lVar1") (= "=") (unary_expression "-((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0)" (- "-") (parenthesized_expression "((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0)" (( "(") (binary_expression "(param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0" (binary_expression "(param_4 * 3 + 0x40) * 8 + 0x17U" (binary_expression "(param_4 * 3 + 0x40) * 8" (parenthesized_expression "(param_4 * 3 + 0x40)" (( "(") (binary_expression "param_4 * 3 + 0x40" (binary_expression "param_4 * 3" (identifier "param_4") (* "*") (number_literal "3")) (+ "+") (number_literal "0x40")) () ")")) (* "*") (number_literal "8")) (+ "+") (number_literal "0x17U")) (& "&") (number_literal "0xfffffffffffffff0")) () ")")))) (; ";")) (expression_statement "*(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;" (assignment_expression "*(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b" (pointer_expression "*(undefined8 *)(auStack_958 + lVar1 + -8)" (* "*") (cast_expression "(undefined8 *)(auStack_958 + lVar1 + -8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_958 + lVar1 + -8)" (( "(") (binary_expression "auStack_958 + lVar1 + -8" (binary_expression "auStack_958 + lVar1" (identifier "auStack_958") (+ "+") (identifier "lVar1")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x13392b")) (; ";")) (expression_statement "__gmpn_toom44_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);" (call_expression "__gmpn_toom44_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1)" (identifier "__gmpn_toom44_mul") (argument_list "(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "param_4") (, ",") (identifier "param_3") (, ",") (identifier "param_4") (, ",") (binary_expression "(long)local_950 + lVar1" (cast_expression "(long)local_950" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_950")) (+ "+") (identifier "lVar1")) () ")"))) (; ";")) (expression_statement "puVar3 = auStack_958 + lVar1;" (assignment_expression "puVar3 = auStack_958 + lVar1" (identifier "puVar3") (= "=") (binary_expression "auStack_958 + lVar1" (identifier "auStack_958") (+ "+") (identifier "lVar1"))) (; ";")) (} "}")) (else_clause "else if (param_4 < 0x1e2) {\n    lVar1 = -(param_4 * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x2d00) {\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }" (else "else") (if_statement "if (param_4 < 0x1e2) {\n    lVar1 = -(param_4 * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }\n  else if (param_4 < 0x2d00) {\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }" (if "if") (parenthesized_expression "(param_4 < 0x1e2)" (( "(") (binary_expression "param_4 < 0x1e2" (identifier "param_4") (< "<") (number_literal "0x1e2")) () ")")) (compound_statement "{\n    lVar1 = -(param_4 * 0x10 + 0xcd0);\n    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;\n    __gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);\n    puVar3 = auStack_958 + lVar1;\n  }" ({ "{") (expression_statement "lVar1 = -(param_4 * 0x10 + 0xcd0);" (assignment_expression "lVar1 = -(param_4 * 0x10 + 0xcd0)" (identifier "lVar1") (= "=") (unary_expression "-(param_4 * 0x10 + 0xcd0)" (- "-") (parenthesized_expression "(param_4 * 0x10 + 0xcd0)" (( "(") (binary_expression "param_4 * 0x10 + 0xcd0" (binary_expression "param_4 * 0x10" (identifier "param_4") (* "*") (number_literal "0x10")) (+ "+") (number_literal "0xcd0")) () ")")))) (; ";")) (expression_statement "*(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;" (assignment_expression "*(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7" (pointer_expression "*(undefined8 *)(auStack_958 + lVar1 + -8)" (* "*") (cast_expression "(undefined8 *)(auStack_958 + lVar1 + -8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_958 + lVar1 + -8)" (( "(") (binary_expression "auStack_958 + lVar1 + -8" (binary_expression "auStack_958 + lVar1" (identifier "auStack_958") (+ "+") (identifier "lVar1")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x1338c7")) (; ";")) (expression_statement "__gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);" (call_expression "__gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1)" (identifier "__gmpn_toom6h_mul") (argument_list "(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "param_4") (, ",") (identifier "param_3") (, ",") (identifier "param_4") (, ",") (binary_expression "(long)local_950 + lVar1" (cast_expression "(long)local_950" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_950")) (+ "+") (identifier "lVar1")) () ")"))) (; ";")) (expression_statement "puVar3 = auStack_958 + lVar1;" (assignment_expression "puVar3 = auStack_958 + lVar1" (identifier "puVar3") (= "=") (binary_expression "auStack_958 + lVar1" (identifier "auStack_958") (+ "+") (identifier "lVar1"))) (; ";")) (} "}")) (else_clause "else if (param_4 < 0x2d00) {\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }" (else "else") (if_statement "if (param_4 < 0x2d00) {\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }\n  else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }" (if "if") (parenthesized_expression "(param_4 < 0x2d00)" (( "(") (binary_expression "param_4 < 0x2d00" (identifier "param_4") (< "<") (number_literal "0x2d00")) () ")")) (compound_statement "{\n    local_940 = 0;\n    lVar1 = (param_4 * 0xf >> 3) * 8;\n    if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }\n    *(undefined8 *)(puVar2 + -8) = 0x133836;\n    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);\n    puVar3 = puVar2;\n    if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }\n  }" ({ "{") (expression_statement "local_940 = 0;" (assignment_expression "local_940 = 0" (identifier "local_940") (= "=") (number_literal "0")) (; ";")) (expression_statement "lVar1 = (param_4 * 0xf >> 3) * 8;" (assignment_expression "lVar1 = (param_4 * 0xf >> 3) * 8" (identifier "lVar1") (= "=") (binary_expression "(param_4 * 0xf >> 3) * 8" (parenthesized_expression "(param_4 * 0xf >> 3)" (( "(") (binary_expression "param_4 * 0xf >> 3" (binary_expression "param_4 * 0xf" (identifier "param_4") (* "*") (number_literal "0xf")) (>> ">>") (number_literal "3")) () ")")) (* "*") (number_literal "8"))) (; ";")) (if_statement "if (lVar1 + 0xeb0U < 0x7f01) {\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }\n    else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }" (if "if") (parenthesized_expression "(lVar1 + 0xeb0U < 0x7f01)" (( "(") (binary_expression "lVar1 + 0xeb0U < 0x7f01" (binary_expression "lVar1 + 0xeb0U" (identifier "lVar1") (+ "+") (number_literal "0xeb0U")) (< "<") (number_literal "0x7f01")) () ")")) (compound_statement "{\n      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);\n      puVar2 = auStack_958 + lVar1;\n      lVar1 = (long)local_950 + lVar1;\n    }" ({ "{") (expression_statement "lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);" (assignment_expression "lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0)" (identifier "lVar1") (= "=") (unary_expression "-(lVar1 + 0xec7U & 0xfffffffffffffff0)" (- "-") (parenthesized_expression "(lVar1 + 0xec7U & 0xfffffffffffffff0)" (( "(") (binary_expression "lVar1 + 0xec7U & 0xfffffffffffffff0" (binary_expression "lVar1 + 0xec7U" (identifier "lVar1") (+ "+") (number_literal "0xec7U")) (& "&") (number_literal "0xfffffffffffffff0")) () ")")))) (; ";")) (expression_statement "puVar2 = auStack_958 + lVar1;" (assignment_expression "puVar2 = auStack_958 + lVar1" (identifier "puVar2") (= "=") (binary_expression "auStack_958 + lVar1" (identifier "auStack_958") (+ "+") (identifier "lVar1"))) (; ";")) (expression_statement "lVar1 = (long)local_950 + lVar1;" (assignment_expression "lVar1 = (long)local_950 + lVar1" (identifier "lVar1") (= "=") (binary_expression "(long)local_950 + lVar1" (cast_expression "(long)local_950" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_950")) (+ "+") (identifier "lVar1"))) (; ";")) (} "}")) (else_clause "else {\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }" (else "else") (compound_statement "{\n      uStack_960 = 0x133956;\n      local_950[0] = param_3;\n      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);\n      param_3 = local_950[0];\n    }" ({ "{") (expression_statement "uStack_960 = 0x133956;" (assignment_expression "uStack_960 = 0x133956" (identifier "uStack_960") (= "=") (number_literal "0x133956")) (; ";")) (expression_statement "local_950[0] = param_3;" (assignment_expression "local_950[0] = param_3" (subscript_expression "local_950[0]" (identifier "local_950") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "param_3")) (; ";")) (expression_statement "lVar1 = __gmp_tmp_reentrant_alloc(&local_940);" (assignment_expression "lVar1 = __gmp_tmp_reentrant_alloc(&local_940)" (identifier "lVar1") (= "=") (call_expression "__gmp_tmp_reentrant_alloc(&local_940)" (identifier "__gmp_tmp_reentrant_alloc") (argument_list "(&local_940)" (( "(") (pointer_expression "&local_940" (& "&") (identifier "local_940")) () ")")))) (; ";")) (expression_statement "param_3 = local_950[0];" (assignment_expression "param_3 = local_950[0]" (identifier "param_3") (= "=") (subscript_expression "local_950[0]" (identifier "local_950") ([ "[") (number_literal "0") (] "]"))) (; ";")) (} "}")))) (expression_statement "*(undefined8 *)(puVar2 + -8) = 0x133836;" (assignment_expression "*(undefined8 *)(puVar2 + -8) = 0x133836" (pointer_expression "*(undefined8 *)(puVar2 + -8)" (* "*") (cast_expression "(undefined8 *)(puVar2 + -8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + -8)" (( "(") (binary_expression "puVar2 + -8" (identifier "puVar2") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x133836")) (; ";")) (expression_statement "__gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);" (call_expression "__gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1)" (identifier "__gmpn_toom8h_mul") (argument_list "(param_1,param_2,param_4,param_3,param_4,lVar1)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "param_4") (, ",") (identifier "param_3") (, ",") (identifier "param_4") (, ",") (identifier "lVar1") () ")"))) (; ";")) (expression_statement "puVar3 = puVar2;" (assignment_expression "puVar3 = puVar2" (identifier "puVar3") (= "=") (identifier "puVar2")) (; ";")) (if_statement "if (local_940 != 0) {\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }" (if "if") (parenthesized_expression "(local_940 != 0)" (( "(") (binary_expression "local_940 != 0" (identifier "local_940") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      *(undefined8 *)(puVar2 + -8) = 0x133847;\n      __gmp_tmp_reentrant_free();\n    }" ({ "{") (expression_statement "*(undefined8 *)(puVar2 + -8) = 0x133847;" (assignment_expression "*(undefined8 *)(puVar2 + -8) = 0x133847" (pointer_expression "*(undefined8 *)(puVar2 + -8)" (* "*") (cast_expression "(undefined8 *)(puVar2 + -8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + -8)" (( "(") (binary_expression "puVar2 + -8" (identifier "puVar2") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x133847")) (; ";")) (expression_statement "__gmp_tmp_reentrant_free();" (call_expression "__gmp_tmp_reentrant_free()" (identifier "__gmp_tmp_reentrant_free") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }" (else "else") (compound_statement "{\n    uStack_960 = 0x13393e;\n    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);\n    puVar3 = auStack_958;\n  }" ({ "{") (expression_statement "uStack_960 = 0x13393e;" (assignment_expression "uStack_960 = 0x13393e" (identifier "uStack_960") (= "=") (number_literal "0x13393e")) (; ";")) (expression_statement "__gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);" (call_expression "__gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4)" (identifier "__gmpn_nussbaumer_mul") (argument_list "(param_1,param_2,param_4,param_3,param_4)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "param_4") (, ",") (identifier "param_3") (, ",") (identifier "param_4") () ")"))) (; ";")) (expression_statement "puVar3 = auStack_958;" (assignment_expression "puVar3 = auStack_958" (identifier "puVar3") (= "=") (identifier "auStack_958")) (; ";")) (} "}")))))))))))))) (if_statement "if (local_30 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return;\n  }" (if "if") (parenthesized_expression "(local_30 == *(long *)(in_FS_OFFSET + 0x28))" (( "(") (binary_expression "local_30 == *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_30") (== "==") (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" (* "*") (cast_expression "(long *)(in_FS_OFFSET + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_FS_OFFSET + 0x28)" (( "(") (binary_expression "in_FS_OFFSET + 0x28" (identifier "in_FS_OFFSET") (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "*(undefined8 *)(puVar3 + -8) = 0x13396a;" (assignment_expression "*(undefined8 *)(puVar3 + -8) = 0x13396a" (pointer_expression "*(undefined8 *)(puVar3 + -8)" (* "*") (cast_expression "(undefined8 *)(puVar3 + -8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + -8)" (( "(") (binary_expression "puVar3 + -8" (identifier "puVar3") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x13396a")) (; ";")) (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" (identifier "__stack_chk_fail") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))

void function_1(type_1 p,type_2 a,type_2 b,type_3 var_2)

{
  long var_6;
  type_4 var_10;
  long var_17;
  type_5 *mark;
  type_1 scratch;
  type_6 *var_12;
  type_6 *var_18;
  long var_1;
  type_7 uStack_960;
  type_6 var_5 [8];
  type_2 local_950 [2];
  type_5 *var_14;
  type_8 ws [288];
  
  var_12 = var_5;
  var_18 = var_5;
  var_17 = *(long *)(var_1 + 0x28);
  if (var_2 < 0x1c) {
    uStack_960 = 0x133896;
    var_3(p,a,var_2,b,var_2);
  }
  else if (var_2 < 0x51) {
    uStack_960 = 0x133865;
    var_4(p,a,var_2,b,var_2,ws);
    var_18 = var_5;
  }
  else if (var_2 < 0xf2) {
    var_6 = -((var_2 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);
    *(type_7 *)(var_5 + var_6 + -8) = 0x1338fb;
    var_7(p,a,var_2,b,var_2,(type_1)((long)local_950 + var_6));
    var_18 = var_5 + var_6;
  }
  else if (var_2 < 0x159) {
    var_6 = -((var_2 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);
    *(type_7 *)(var_5 + var_6 + -8) = 0x13392b;
    var_8(p,a,var_2,b,var_2,(type_1)((long)local_950 + var_6));
    var_18 = var_5 + var_6;
  }
  else if (var_2 < 0x1e2) {
    var_6 = -(var_2 * 0x10 + 0xcd0);
    *(type_7 *)(var_5 + var_6 + -8) = 0x1338c7;
    var_9(p,a,var_2,b,var_2,(type_1)((long)local_950 + var_6));
    var_18 = var_5 + var_6;
  }
  else if (var_2 < 0x2d00) {
    var_14 = (type_5 *)0x0;
    var_6 = (var_2 * 0xf >> 3) * 8;
    var_10 = var_6 + 0xeb0;
    if (var_10 < 0x7f01) {
      var_6 = -(var_6 + 0xec7U & 0xfffffffffffffff0);
      var_12 = var_5 + var_6;
      scratch = (type_1)((long)local_950 + var_6);
    }
    else {
      uStack_960 = 0x133956;
      local_950[0] = b;
      scratch = (type_1)var_11(&var_14,var_10);
      b = local_950[0];
    }
    *(type_7 *)(var_12 + -8) = 0x133836;
    var_13(p,a,var_2,b,var_2,scratch);
    mark = var_14;
    var_18 = var_12;
    if (var_14 != (type_5 *)0x0) {
      *(type_7 *)(var_12 + -8) = 0x133847;
      var_15(mark);
    }
  }
  else {
    uStack_960 = 0x13393e;
    var_16(p,a,var_2,b,var_2);
    var_18 = var_5;
  }
  if (var_17 == *(long *)(var_1 + 0x28)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  *(type_7 *)(var_18 + -8) = 0x13396a;
  var_19();
}


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

void MASKED(undefined8 param_1,undefined8 param_2,undefined8 param_3,long param_4)

{
  long lVar1;
  undefined1 *puVar2;
  undefined1 *puVar3;
  long in_FS_OFFSET;
  undefined8 uStack_960;
  undefined1 auStack_958 [8];
  undefined8 local_950 [2];
  long local_940;
  undefined1 local_938 [2312];
  long local_30;
  
  puVar2 = auStack_958;
  puVar3 = auStack_958;
  local_30 = *(long *)(in_FS_OFFSET + 0x28);
  if (param_4 < 0x1c) {
    uStack_960 = 0x133896;
    __gmpn_mul_basecase(param_1,param_2,param_4,param_3,param_4);
  }
  else if (param_4 < 0x51) {
    uStack_960 = 0x133865;
    __gmpn_toom22_mul(param_1,param_2,param_4,param_3,param_4,local_938);
    puVar3 = auStack_958;
  }
  else if (param_4 < 0xf2) {
    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);
    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338fb;
    __gmpn_toom33_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);
    puVar3 = auStack_958 + lVar1;
  }
  else if (param_4 < 0x159) {
    lVar1 = -((param_4 * 3 + 0x40) * 8 + 0x17U & 0xfffffffffffffff0);
    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x13392b;
    __gmpn_toom44_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);
    puVar3 = auStack_958 + lVar1;
  }
  else if (param_4 < 0x1e2) {
    lVar1 = -(param_4 * 0x10 + 0xcd0);
    *(undefined8 *)(auStack_958 + lVar1 + -8) = 0x1338c7;
    __gmpn_toom6h_mul(param_1,param_2,param_4,param_3,param_4,(long)local_950 + lVar1);
    puVar3 = auStack_958 + lVar1;
  }
  else if (param_4 < 0x2d00) {
    local_940 = 0;
    lVar1 = (param_4 * 0xf >> 3) * 8;
    if (lVar1 + 0xeb0U < 0x7f01) {
      lVar1 = -(lVar1 + 0xec7U & 0xfffffffffffffff0);
      puVar2 = auStack_958 + lVar1;
      lVar1 = (long)local_950 + lVar1;
    }
    else {
      uStack_960 = 0x133956;
      local_950[0] = param_3;
      lVar1 = __gmp_tmp_reentrant_alloc(&local_940);
      param_3 = local_950[0];
    }
    *(undefined8 *)(puVar2 + -8) = 0x133836;
    __gmpn_toom8h_mul(param_1,param_2,param_4,param_3,param_4,lVar1);
    puVar3 = puVar2;
    if (local_940 != 0) {
      *(undefined8 *)(puVar2 + -8) = 0x133847;
      __gmp_tmp_reentrant_free();
    }
  }
  else {
    uStack_960 = 0x13393e;
    __gmpn_nussbaumer_mul(param_1,param_2,param_4,param_3,param_4);
    puVar3 = auStack_958;
  }
  if (local_30 == *(long *)(in_FS_OFFSET + 0x28)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  *(undefined8 *)(puVar3 + -8) = 0x13396a;
  __stack_chk_fail();
}

