{"name": "esLoadTGA", "code": "void * __fastcall esLoadTGA ( const char * @@a1@@ , _DWORD * @@a2@@ , _DWORD * @@a3@@ ) { void * result ; size_t v4 ; char @@v6@@ [ Number ] ; char @@ptr@@ [ Number ] ; _DWORD @@size@@ [ Number ] ; void * @@v9@@ ; @@v9@@ = Number L ; * ( _QWORD * ) & @@size@@ [ Number ] = fopen ( @@a1@@ , String ) ; if ( ! * ( _QWORD * ) & @@size@@ [ Number ] ) return Number L ; if ( fread ( @@ptr@@ , Number , Number , * ( FILE * * ) & @@size@@ [ Number ] ) ) { if ( fread ( @@v6@@ , Number , Number , * ( FILE * * ) & @@size@@ [ Number ] ) && ( * @@a2@@ = ( unsigned __int8 ) @@v6@@ [ Number ] + ( ( unsigned __int8 ) @@v6@@ [ Number ] << Number ) , * @@a3@@ = ( unsigned __int8 ) @@v6@@ [ Number ] + ( ( unsigned __int8 ) @@v6@@ [ Number ] << Number ) , @@size@@ [ Number ] = * @@a2@@ * ( ( unsigned __int8 ) @@v6@@ [ Number ] >> Number ) * * @@a3@@ , ( @@v9@@ = malloc ( @@size@@ [ Number ] ) ) != Number L ) ) { v4 = fread ( @@v9@@ , Number , @@size@@ [ Number ] , * ( FILE * * ) & @@size@@ [ Number ] ) ; if ( v4 == @@size@@ [ Number ] ) { fclose ( * ( FILE * * ) & @@size@@ [ Number ] ) ; result = @@v9@@ ; } else { free ( @@v9@@ ) ; result = Number L ; } } else { fclose ( * ( FILE * * ) & @@size@@ [ Number ] ) ; result = Number L ; } } else { fclose ( * ( FILE * * ) & @@size@@ [ Number ] ) ; result = Number L ; } return result ; }", "source": [{"n": "a3", "t": {"T": 3, "t": "_DWORD"}, "location": "r16"}, {"n": "a1", "t": {"T": 3, "t": "const char"}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "_DWORD"}, "location": "r64"}, {"n": "size", "t": {"T": 2, "n": 3, "s": 4, "t": "_DWORD"}, "location": "s20"}, {"n": "ptr", "t": {"T": 2, "n": 12, "s": 1, "t": "char"}, "location": "s32"}, {"n": "v6", "t": {"T": 2, "n": 6, "s": 1, "t": "char"}, "location": "s38"}, {"n": "v9", "t": {"T": 3, "t": "void"}, "location": "s8"}]}