
BcStatus zbc_num_mod(BcNum *a,BcNum *b,BcNum *c,size_t scale)

{
  BcStatus BVar1;
  uint uVar2;
  size_t sVar3;
  
  uVar2 = a->rdx + b->rdx;
  sVar3 = scale;
  if (scale <= uVar2) {
    sVar3 = uVar2;
  }
  BVar1 = zbc_num_binary(a,b,c,scale,(BcNumBinaryOp)(PTR_LAB_0012a398 + -0x7aa8),
                         (((b->len + 1 + a->len) - b->rdx) - a->rdx) + sVar3);
  return BVar1;
}



void FUN_00028690(void)

{
  FUN_00026570();
  return;
}


lui gp,0x11
addiu gp,gp,-0x6540
addu gp,gp,t9
lw t0,-0x7db8(gp)
addiu sp,sp,-0x28
lw v0,0x8(a1)
or t2,a3,zero
lw t1,0x4(a0)
lw t3,0x4(a1)
addiu t0,t0,-0x7aa8
lw v1,0x8(a0)
addiu v0,v0,0x1
sw t0,0x10(sp)
addu t0,t1,t3
sw ra,0x24(sp)
addu v0,v0,v1
sw gp,0x18(sp)
sltu v1,t0,a3
lw t9,-0x7ef8(gp)
subu v0,v0,t3
movz t2,t0,v1
subu v0,v0,t1
addiu t9,t9,0x6570
addu v0,v0,t2
bal 0x00026570
_sw v0,0x14(sp)
lw ra,0x24(sp)
jr ra
_addiu sp,sp,0x28
(translation_unit "void FUN_00028690(void)\n\n{\n  FUN_00026570();\n  return;\n}\n\n" (function_definition "void FUN_00028690(void)\n\n{\n  FUN_00026570();\n  return;\n}" primitive_type (function_declarator "FUN_00028690(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  FUN_00026570();\n  return;\n}" { (expression_statement "FUN_00026570();" (call_expression "FUN_00026570()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit "BcStatus zbc_num_mod(BcNum *a,BcNum *b,BcNum *c,size_t scale)\n\n{\n  BcStatus BVar1;\n  uint uVar2;\n  size_t sVar3;\n  \n  uVar2 = a->rdx + b->rdx;\n  sVar3 = scale;\n  if (scale <= uVar2) {\n    sVar3 = uVar2;\n  }\n  BVar1 = zbc_num_binary(a,b,c,scale,(BcNumBinaryOp)(PTR_LAB_0012a398 + -0x7aa8),\n                         (((b->len + 1 + a->len) - b->rdx) - a->rdx) + sVar3);\n  return BVar1;\n}\n\n" (function_definition "BcStatus zbc_num_mod(BcNum *a,BcNum *b,BcNum *c,size_t scale)\n\n{\n  BcStatus BVar1;\n  uint uVar2;\n  size_t sVar3;\n  \n  uVar2 = a->rdx + b->rdx;\n  sVar3 = scale;\n  if (scale <= uVar2) {\n    sVar3 = uVar2;\n  }\n  BVar1 = zbc_num_binary(a,b,c,scale,(BcNumBinaryOp)(PTR_LAB_0012a398 + -0x7aa8),\n                         (((b->len + 1 + a->len) - b->rdx) - a->rdx) + sVar3);\n  return BVar1;\n}" type_identifier (function_declarator "zbc_num_mod(BcNum *a,BcNum *b,BcNum *c,size_t scale)" identifier (parameter_list "(BcNum *a,BcNum *b,BcNum *c,size_t scale)" ( (parameter_declaration "BcNum *a" type_identifier (pointer_declarator "*a" * identifier)) , (parameter_declaration "BcNum *b" type_identifier (pointer_declarator "*b" * identifier)) , (parameter_declaration "BcNum *c" type_identifier (pointer_declarator "*c" * identifier)) , (parameter_declaration "size_t scale" primitive_type identifier) ))) (compound_statement "{\n  BcStatus BVar1;\n  uint uVar2;\n  size_t sVar3;\n  \n  uVar2 = a->rdx + b->rdx;\n  sVar3 = scale;\n  if (scale <= uVar2) {\n    sVar3 = uVar2;\n  }\n  BVar1 = zbc_num_binary(a,b,c,scale,(BcNumBinaryOp)(PTR_LAB_0012a398 + -0x7aa8),\n                         (((b->len + 1 + a->len) - b->rdx) - a->rdx) + sVar3);\n  return BVar1;\n}" { (declaration "BcStatus BVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "size_t sVar3;" primitive_type identifier ;) (expression_statement "uVar2 = a->rdx + b->rdx;" (assignment_expression "uVar2 = a->rdx + b->rdx" identifier = (binary_expression "a->rdx + b->rdx" (field_expression "a->rdx" identifier -> field_identifier) + (field_expression "b->rdx" identifier -> field_identifier))) ;) (expression_statement "sVar3 = scale;" (assignment_expression "sVar3 = scale" identifier = identifier) ;) (if_statement "if (scale <= uVar2) {\n    sVar3 = uVar2;\n  }" if (parenthesized_expression "(scale <= uVar2)" ( (binary_expression "scale <= uVar2" identifier <= identifier) )) (compound_statement "{\n    sVar3 = uVar2;\n  }" { (expression_statement "sVar3 = uVar2;" (assignment_expression "sVar3 = uVar2" identifier = identifier) ;) })) (expression_statement "BVar1 = zbc_num_binary(a,b,c,scale,(BcNumBinaryOp)(PTR_LAB_0012a398 + -0x7aa8),\n                         (((b->len + 1 + a->len) - b->rdx) - a->rdx) + sVar3);" (assignment_expression "BVar1 = zbc_num_binary(a,b,c,scale,(BcNumBinaryOp)(PTR_LAB_0012a398 + -0x7aa8),\n                         (((b->len + 1 + a->len) - b->rdx) - a->rdx) + sVar3)" identifier = (call_expression "zbc_num_binary(a,b,c,scale,(BcNumBinaryOp)(PTR_LAB_0012a398 + -0x7aa8),\n                         (((b->len + 1 + a->len) - b->rdx) - a->rdx) + sVar3)" identifier (argument_list "(a,b,c,scale,(BcNumBinaryOp)(PTR_LAB_0012a398 + -0x7aa8),\n                         (((b->len + 1 + a->len) - b->rdx) - a->rdx) + sVar3)" ( identifier , identifier , identifier , identifier , (call_expression "(BcNumBinaryOp)(PTR_LAB_0012a398 + -0x7aa8)" (parenthesized_expression "(BcNumBinaryOp)" ( identifier )) (argument_list "(PTR_LAB_0012a398 + -0x7aa8)" ( (binary_expression "PTR_LAB_0012a398 + -0x7aa8" identifier + number_literal) ))) , (binary_expression "(((b->len + 1 + a->len) - b->rdx) - a->rdx) + sVar3" (parenthesized_expression "(((b->len + 1 + a->len) - b->rdx) - a->rdx)" ( (binary_expression "((b->len + 1 + a->len) - b->rdx) - a->rdx" (parenthesized_expression "((b->len + 1 + a->len) - b->rdx)" ( (binary_expression "(b->len + 1 + a->len) - b->rdx" (parenthesized_expression "(b->len + 1 + a->len)" ( (binary_expression "b->len + 1 + a->len" (binary_expression "b->len + 1" (field_expression "b->len" identifier -> field_identifier) + number_literal) + (field_expression "a->len" identifier -> field_identifier)) )) - (field_expression "b->rdx" identifier -> field_identifier)) )) - (field_expression "a->rdx" identifier -> field_identifier)) )) + identifier) )))) ;) (return_statement "return BVar1;" return identifier ;) })))
(translation_unit "void FUN_00028690(void)\n\n{\n  FUN_00026570();\n  return;\n}\n\n" (function_definition "void FUN_00028690(void)\n\n{\n  FUN_00026570();\n  return;\n}" primitive_type (function_declarator "FUN_00028690(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  FUN_00026570();\n  return;\n}" { (expression_statement "FUN_00026570();" (call_expression "FUN_00026570()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })))
(function_definition "void FUN_00028690(void)\n\n{\n  FUN_00026570();\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00028690(void)" (identifier "FUN_00028690") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  FUN_00026570();\n  return;\n}" ({ "{") (expression_statement "FUN_00026570();" (call_expression "FUN_00026570()" (identifier "FUN_00026570") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

type_1 function_1(type_2 *a,type_2 *b,type_2 *c,size_t var_1)

{
  type_1 BVar1;
  type_3 var_2;
  size_t var_5;
  
  var_2 = a->rdx + b->rdx;
  var_5 = var_1;
  if (var_1 <= var_2) {
    var_5 = var_2;
  }
  BVar1 = var_3(a,b,c,var_1,(BcNumBinaryOp)(var_4 + -0x7aa8),
                         (((b->len + 1 + a->len) - b->rdx) - a->rdx) + var_5);
  return BVar1;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type)))) body: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (return_statement))))

void MASKED(void)

{
  FUN_00026570();
  return;
}

