{"name": "get_mem2Dmp", "code": "__int64 __fastcall get_mem2Dmp ( void * * @@a1@@ , int @@a2@@ , int @@a3@@ ) { void * * @@v3@@ ; int @@i@@ ; * @@a1@@ = mem_malloc ( Number L * @@a2@@ ) ; if ( ! * @@a1@@ ) no_mem_exit ( String ) ; @@v3@@ = ( void * * ) * @@a1@@ ; * @@v3@@ = mem_calloc ( @@a3@@ * @@a2@@ , Number L ) ; if ( ! * @@v3@@ ) no_mem_exit ( String ) ; for ( @@i@@ = Number ; @@i@@ < @@a2@@ ; ++ @@i@@ ) * ( ( _QWORD * ) * @@a1@@ + @@i@@ ) = Number L * @@a3@@ + * ( ( _QWORD * ) * @@a1@@ + @@i@@ - Number ) ; return ( unsigned int ) ( @@a2@@ * ( Number * @@a3@@ + Number ) ) ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r16"}, {"n": "v3", "t": {"T": 3, "t": "void *"}, "location": "r32"}, {"n": "a1", "t": {"T": 3, "t": "void *"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s20"}]}
{"name": "mem_malloc", "code": "void * __fastcall mem_malloc ( size_t @@a1@@ ) { void * @@v2@@ ; @@v2@@ = malloc ( @@a1@@ ) ; if ( @@v2@@ ) return @@v2@@ ; no_mem_exit ( String ) ; return Number L ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "size_t", "s": 8}, "location": "r56"}, {"n": "v2", "t": {"T": 3, "t": "void"}, "location": "s8"}]} {"name": "mem_calloc", "code": "void * __fastcall mem_calloc ( __int64 @@a1@@ , __int64 @@a2@@ ) { void * @@s@@ ; @@s@@ = mem_malloc ( @@a2@@ * @@a1@@ ) ; memset ( @@s@@ , Number , ( int ) @@a2@@ * ( int ) @@a1@@ ) ; return @@s@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "s", "t": {"T": 3, "t": "void"}, "location": "s16"}]} {"name": "get_mem3Dmp", "code": "__int64 __fastcall get_mem3Dmp ( void * * * @@a1@@ , int @@a2@@ , int @@a3@@ , int @@a4@@ ) { unsigned int @@v7@@ ; int @@i@@ ; * @@a1@@ = ( void * * ) mem_malloc ( Number L * @@a2@@ ) ; if ( ! * @@a1@@ ) no_mem_exit ( String ) ; @@v7@@ = get_mem2Dmp ( * @@a1@@ , @@a3@@ * @@a2@@ , @@a4@@ ) + Number * @@a2@@ ; for ( @@i@@ = Number ; @@i@@ < @@a2@@ ; ++ @@i@@ ) ( * @@a1@@ ) [ @@i@@ ] = ( char * ) ( * @@a1@@ ) [ @@i@@ - Number ] + Number * @@a3@@ ; return @@v7@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "int", "s": 4}, "location": "r24"}, {"n": "a1", "t": {"T": 3, "t": "void **"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s4"}, {"n": "v7", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s8"}]} {"name": "get_mem2D", "code": "__int64 __fastcall get_mem2D ( void * * @@a1@@ , int @@a2@@ , int @@a3@@ ) { void * * @@v3@@ ; int @@i@@ ; * @@a1@@ = mem_malloc ( Number L * @@a2@@ ) ; if ( ! * @@a1@@ ) no_mem_exit ( String ) ; @@v3@@ = ( void * * ) * @@a1@@ ; * @@v3@@ = mem_calloc ( @@a3@@ * @@a2@@ , Number L ) ; if ( ! * @@v3@@ ) no_mem_exit ( String ) ; for ( @@i@@ = Number ; @@i@@ < @@a2@@ ; ++ @@i@@ ) * ( ( _QWORD * ) * @@a1@@ + @@i@@ ) = * ( ( _QWORD * ) * @@a1@@ + @@i@@ - Number ) + @@a3@@ ; return ( unsigned int ) ( @@a2@@ * ( @@a3@@ + Number ) ) ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r16"}, {"n": "v3", "t": {"T": 3, "t": "void *"}, "location": "r32"}, {"n": "a1", "t": {"T": 3, "t": "void *"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s20"}]} {"name": "no_mem_exit", "code": "void __fastcall no_mem_exit ( const char * @@a1@@ ) { const char * @@v1@@ ; snprintf ( & errortext , Number , String , @@a1@@ ) ; error ( ( int ) & errortext , Number , @@v1@@ ) ; }", "source": [{"n": "v1", "t": {"T": 3, "t": "const char"}, "location": "r16"}, {"n": "a1", "t": {"T": 3, "t": "const char"}, "location": "r56"}]}