
/* WARNING: Unknown calling convention */

int depmap_isset(cflow_depmap_t dmap,size_t row,size_t col)

{
  return (uint)((dmap->r[row * dmap->rowlen + (col >> 5)] & 1 << ((byte)col & 0x1f)) != 0);
}



bool FUN_00015f10(int param_1,int param_2,uint param_3)

{
  return (*(uint *)(param_1 + 8 + (param_2 * *(int *)(param_1 + 4) + (param_3 >> 5)) * 4) &
         1 << ((byte)param_3 & 0x1f)) != 0;
}


PUSH EBX
MOV EBX,dword ptr [ESP + 0x8]
MOV ECX,dword ptr [ESP + 0x10]
MOV EAX,dword ptr [ESP + 0xc]
IMUL EAX,dword ptr [EBX + 0x4]
MOV EDX,ECX
SHR EDX,0x5
ADD EAX,EDX
MOV EDX,0x1
SHL EDX,CL
TEST dword ptr [EBX + EAX*0x4 + 0x8],EDX
POP EBX
SETNZ AL
MOVZX EAX,AL
RET
(translation_unit "bool FUN_00015f10(int param_1,int param_2,uint param_3)\n\n{\n  return (*(uint *)(param_1 + 8 + (param_2 * *(int *)(param_1 + 4) + (param_3 >> 5)) * 4) &\n         1 << ((byte)param_3 & 0x1f)) != 0;\n}\n\n" (function_definition "bool FUN_00015f10(int param_1,int param_2,uint param_3)\n\n{\n  return (*(uint *)(param_1 + 8 + (param_2 * *(int *)(param_1 + 4) + (param_3 >> 5)) * 4) &\n         1 << ((byte)param_3 & 0x1f)) != 0;\n}" primitive_type (function_declarator "FUN_00015f10(int param_1,int param_2,uint param_3)" identifier (parameter_list "(int param_1,int param_2,uint param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "uint param_3" type_identifier identifier) ))) (compound_statement "{\n  return (*(uint *)(param_1 + 8 + (param_2 * *(int *)(param_1 + 4) + (param_3 >> 5)) * 4) &\n         1 << ((byte)param_3 & 0x1f)) != 0;\n}" { (return_statement "return (*(uint *)(param_1 + 8 + (param_2 * *(int *)(param_1 + 4) + (param_3 >> 5)) * 4) &\n         1 << ((byte)param_3 & 0x1f)) != 0;" return (binary_expression "(*(uint *)(param_1 + 8 + (param_2 * *(int *)(param_1 + 4) + (param_3 >> 5)) * 4) &\n         1 << ((byte)param_3 & 0x1f)) != 0" (parenthesized_expression "(*(uint *)(param_1 + 8 + (param_2 * *(int *)(param_1 + 4) + (param_3 >> 5)) * 4) &\n         1 << ((byte)param_3 & 0x1f))" ( (binary_expression "*(uint *)(param_1 + 8 + (param_2 * *(int *)(param_1 + 4) + (param_3 >> 5)) * 4) &\n         1 << ((byte)param_3 & 0x1f)" (pointer_expression "*(uint *)(param_1 + 8 + (param_2 * *(int *)(param_1 + 4) + (param_3 >> 5)) * 4)" * (cast_expression "(uint *)(param_1 + 8 + (param_2 * *(int *)(param_1 + 4) + (param_3 >> 5)) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8 + (param_2 * *(int *)(param_1 + 4) + (param_3 >> 5)) * 4)" ( (binary_expression "param_1 + 8 + (param_2 * *(int *)(param_1 + 4) + (param_3 >> 5)) * 4" (binary_expression "param_1 + 8" identifier + number_literal) + (binary_expression "(param_2 * *(int *)(param_1 + 4) + (param_3 >> 5)) * 4" (parenthesized_expression "(param_2 * *(int *)(param_1 + 4) + (param_3 >> 5))" ( (binary_expression "param_2 * *(int *)(param_1 + 4) + (param_3 >> 5)" (binary_expression "param_2 * *(int *)(param_1 + 4)" identifier * (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) + (parenthesized_expression "(param_3 >> 5)" ( (binary_expression "param_3 >> 5" identifier >> number_literal) ))) )) * number_literal)) )))) & (binary_expression "1 << ((byte)param_3 & 0x1f)" number_literal << (parenthesized_expression "((byte)param_3 & 0x1f)" ( (binary_expression "(byte)param_3 & 0x1f" (cast_expression "(byte)param_3" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) )) != number_literal) ;) })))
(translation_unit "/* WARNING: Unknown calling convention */\n\nint depmap_isset(cflow_depmap_t dmap,size_t row,size_t col)\n\n{\n  return (uint)((dmap->r[row * dmap->rowlen + (col >> 5)] & 1 << ((byte)col & 0x1f)) != 0);\n}\n\n" comment (function_definition "int depmap_isset(cflow_depmap_t dmap,size_t row,size_t col)\n\n{\n  return (uint)((dmap->r[row * dmap->rowlen + (col >> 5)] & 1 << ((byte)col & 0x1f)) != 0);\n}" primitive_type (function_declarator "depmap_isset(cflow_depmap_t dmap,size_t row,size_t col)" identifier (parameter_list "(cflow_depmap_t dmap,size_t row,size_t col)" ( (parameter_declaration "cflow_depmap_t dmap" type_identifier identifier) , (parameter_declaration "size_t row" primitive_type identifier) , (parameter_declaration "size_t col" primitive_type identifier) ))) (compound_statement "{\n  return (uint)((dmap->r[row * dmap->rowlen + (col >> 5)] & 1 << ((byte)col & 0x1f)) != 0);\n}" { (return_statement "return (uint)((dmap->r[row * dmap->rowlen + (col >> 5)] & 1 << ((byte)col & 0x1f)) != 0);" return (call_expression "(uint)((dmap->r[row * dmap->rowlen + (col >> 5)] & 1 << ((byte)col & 0x1f)) != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((dmap->r[row * dmap->rowlen + (col >> 5)] & 1 << ((byte)col & 0x1f)) != 0)" ( (binary_expression "(dmap->r[row * dmap->rowlen + (col >> 5)] & 1 << ((byte)col & 0x1f)) != 0" (parenthesized_expression "(dmap->r[row * dmap->rowlen + (col >> 5)] & 1 << ((byte)col & 0x1f))" ( (binary_expression "dmap->r[row * dmap->rowlen + (col >> 5)] & 1 << ((byte)col & 0x1f)" (subscript_expression "dmap->r[row * dmap->rowlen + (col >> 5)]" (field_expression "dmap->r" identifier -> field_identifier) [ (binary_expression "row * dmap->rowlen + (col >> 5)" (binary_expression "row * dmap->rowlen" identifier * (field_expression "dmap->rowlen" identifier -> field_identifier)) + (parenthesized_expression "(col >> 5)" ( (binary_expression "col >> 5" identifier >> number_literal) ))) ]) & (binary_expression "1 << ((byte)col & 0x1f)" number_literal << (parenthesized_expression "((byte)col & 0x1f)" ( (binary_expression "(byte)col & 0x1f" (cast_expression "(byte)col" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) )) != number_literal) ))) ;) })))
(translation_unit "bool FUN_00015f10(int param_1,int param_2,uint param_3)\n\n{\n  return (*(uint *)(param_1 + 8 + (param_2 * *(int *)(param_1 + 4) + (param_3 >> 5)) * 4) &\n         1 << ((byte)param_3 & 0x1f)) != 0;\n}\n\n" (function_definition "bool FUN_00015f10(int param_1,int param_2,uint param_3)\n\n{\n  return (*(uint *)(param_1 + 8 + (param_2 * *(int *)(param_1 + 4) + (param_3 >> 5)) * 4) &\n         1 << ((byte)param_3 & 0x1f)) != 0;\n}" primitive_type (function_declarator "FUN_00015f10(int param_1,int param_2,uint param_3)" identifier (parameter_list "(int param_1,int param_2,uint param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "uint param_3" type_identifier identifier) ))) (compound_statement "{\n  return (*(uint *)(param_1 + 8 + (param_2 * *(int *)(param_1 + 4) + (param_3 >> 5)) * 4) &\n         1 << ((byte)param_3 & 0x1f)) != 0;\n}" { (return_statement "return (*(uint *)(param_1 + 8 + (param_2 * *(int *)(param_1 + 4) + (param_3 >> 5)) * 4) &\n         1 << ((byte)param_3 & 0x1f)) != 0;" return (binary_expression "(*(uint *)(param_1 + 8 + (param_2 * *(int *)(param_1 + 4) + (param_3 >> 5)) * 4) &\n         1 << ((byte)param_3 & 0x1f)) != 0" (parenthesized_expression "(*(uint *)(param_1 + 8 + (param_2 * *(int *)(param_1 + 4) + (param_3 >> 5)) * 4) &\n         1 << ((byte)param_3 & 0x1f))" ( (binary_expression "*(uint *)(param_1 + 8 + (param_2 * *(int *)(param_1 + 4) + (param_3 >> 5)) * 4) &\n         1 << ((byte)param_3 & 0x1f)" (pointer_expression "*(uint *)(param_1 + 8 + (param_2 * *(int *)(param_1 + 4) + (param_3 >> 5)) * 4)" * (cast_expression "(uint *)(param_1 + 8 + (param_2 * *(int *)(param_1 + 4) + (param_3 >> 5)) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8 + (param_2 * *(int *)(param_1 + 4) + (param_3 >> 5)) * 4)" ( (binary_expression "param_1 + 8 + (param_2 * *(int *)(param_1 + 4) + (param_3 >> 5)) * 4" (binary_expression "param_1 + 8" identifier + number_literal) + (binary_expression "(param_2 * *(int *)(param_1 + 4) + (param_3 >> 5)) * 4" (parenthesized_expression "(param_2 * *(int *)(param_1 + 4) + (param_3 >> 5))" ( (binary_expression "param_2 * *(int *)(param_1 + 4) + (param_3 >> 5)" (binary_expression "param_2 * *(int *)(param_1 + 4)" identifier * (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) + (parenthesized_expression "(param_3 >> 5)" ( (binary_expression "param_3 >> 5" identifier >> number_literal) ))) )) * number_literal)) )))) & (binary_expression "1 << ((byte)param_3 & 0x1f)" number_literal << (parenthesized_expression "((byte)param_3 & 0x1f)" ( (binary_expression "(byte)param_3 & 0x1f" (cast_expression "(byte)param_3" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) )) != number_literal) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (return_statement return (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + (parenthesized_expression ( (binary_expression IDENT >> LIT) ))) )) * LIT)) )))) & (binary_expression LIT << (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) )) != LIT) ;) })))
(function_definition "bool FUN_00015f10(int param_1,int param_2,uint param_3)\n\n{\n  return (*(uint *)(param_1 + 8 + (param_2 * *(int *)(param_1 + 4) + (param_3 >> 5)) * 4) &\n         1 << ((byte)param_3 & 0x1f)) != 0;\n}" (primitive_type "bool") (function_declarator "FUN_00015f10(int param_1,int param_2,uint param_3)" (identifier "FUN_00015f10") (parameter_list "(int param_1,int param_2,uint param_3)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "uint param_3" (type_identifier "uint") (identifier "param_3")) () ")"))) (compound_statement "{\n  return (*(uint *)(param_1 + 8 + (param_2 * *(int *)(param_1 + 4) + (param_3 >> 5)) * 4) &\n         1 << ((byte)param_3 & 0x1f)) != 0;\n}" ({ "{") (return_statement "return (*(uint *)(param_1 + 8 + (param_2 * *(int *)(param_1 + 4) + (param_3 >> 5)) * 4) &\n         1 << ((byte)param_3 & 0x1f)) != 0;" (return "return") (binary_expression "(*(uint *)(param_1 + 8 + (param_2 * *(int *)(param_1 + 4) + (param_3 >> 5)) * 4) &\n         1 << ((byte)param_3 & 0x1f)) != 0" (parenthesized_expression "(*(uint *)(param_1 + 8 + (param_2 * *(int *)(param_1 + 4) + (param_3 >> 5)) * 4) &\n         1 << ((byte)param_3 & 0x1f))" (( "(") (binary_expression "*(uint *)(param_1 + 8 + (param_2 * *(int *)(param_1 + 4) + (param_3 >> 5)) * 4) &\n         1 << ((byte)param_3 & 0x1f)" (pointer_expression "*(uint *)(param_1 + 8 + (param_2 * *(int *)(param_1 + 4) + (param_3 >> 5)) * 4)" (* "*") (cast_expression "(uint *)(param_1 + 8 + (param_2 * *(int *)(param_1 + 4) + (param_3 >> 5)) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8 + (param_2 * *(int *)(param_1 + 4) + (param_3 >> 5)) * 4)" (( "(") (binary_expression "param_1 + 8 + (param_2 * *(int *)(param_1 + 4) + (param_3 >> 5)) * 4" (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) (+ "+") (binary_expression "(param_2 * *(int *)(param_1 + 4) + (param_3 >> 5)) * 4" (parenthesized_expression "(param_2 * *(int *)(param_1 + 4) + (param_3 >> 5))" (( "(") (binary_expression "param_2 * *(int *)(param_1 + 4) + (param_3 >> 5)" (binary_expression "param_2 * *(int *)(param_1 + 4)" (identifier "param_2") (* "*") (pointer_expression "*(int *)(param_1 + 4)" (* "*") (cast_expression "(int *)(param_1 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))))) (+ "+") (parenthesized_expression "(param_3 >> 5)" (( "(") (binary_expression "param_3 >> 5" (identifier "param_3") (>> ">>") (number_literal "5")) () ")"))) () ")")) (* "*") (number_literal "4"))) () ")")))) (& "&") (binary_expression "1 << ((byte)param_3 & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "((byte)param_3 & 0x1f)" (( "(") (binary_expression "(byte)param_3 & 0x1f" (cast_expression "(byte)param_3" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "param_3")) (& "&") (number_literal "0x1f")) () ")")))) () ")")) (!= "!=") (number_literal "0")) (; ";")) (} "}")))

/* WARNING: Unknown calling convention */

int function_1(type_1 dmap,size_t var_1,size_t var_2)

{
  return (uint)((dmap->r[var_1 * dmap->rowlen + (var_2 >> 5)] & 1 << ((type_2)var_2 & 0x1f)) != 0);
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (return_statement (binary_expression left: (parenthesized_expression (binary_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: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) right: (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) right: (number_literal))))))

bool MASKED(int param_1,int param_2,uint param_3)

{
  return (*(uint *)(param_1 + 8 + (param_2 * *(int *)(param_1 + 4) + (param_3 >> 5)) * 4) &
         1 << ((byte)param_3 & 0x1f)) != 0;
}

