{"name": "esInitContext", "code": "void * __fastcall esInitContext ( void * @@a1@@ ) { void * @@result@@ ; if ( @@a1@@ ) @@result@@ = memset ( @@a1@@ , Number , Number ) ; return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "void"}, "location": "r56"}, {"n": "result", "t": {"T": 3, "t": "void"}, "location": "r8"}]}
{"name": "Init", "code": "__int64 __fastcall Init ( void * * @@a1@@ ) { __int64 @@result@@ ; int @@v2@@ ; char @@v3@@ [ Number ] ; char @@v4@@ [ Number ] ; int @@v5@@ ; int @@v6@@ ; int @@v7@@ ; _DWORD * @@v8@@ ; * @@a1@@ = malloc ( Number ) ; @@v8@@ = * @@a1@@ ; strcpy ( @@v4@@ , String String String String String ) ; strcpy ( @@v3@@ , String String String String String ) ; @@v7@@ = LoadShader ( Number L , @@v4@@ ) ; @@v6@@ = LoadShader ( Number L , @@v3@@ ) ; @@v5@@ = glCreateProgram ( ) ; if ( ! @@v5@@ ) return Number L ; glAttachShader ( ) ; glAttachShader ( ) ; glBindAttribLocation ( ) ; glLinkProgram ( ) ; glGetProgramiv ( ) ; if ( @@v2@@ ) { * @@v8@@ = @@v5@@ ; glClearColor ( ) ; @@result@@ = Number L ; } else { glGetProgramiv ( ) ; glDeleteProgram ( ) ; @@result@@ = Number L ; } return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "void *"}, "location": "r56"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v7", "t": {"T": 1, "n": "int", "s": 4}, "location": "s12"}, {"n": "v6", "t": {"T": 1, "n": "int", "s": 4}, "location": "s16"}, {"n": "v4", "t": {"T": 2, "n": 160, "s": 1, "t": "char"}, "location": "s192"}, {"n": "v5", "t": {"T": 1, "n": "int", "s": 4}, "location": "s20"}, {"n": "v3", "t": {"T": 2, "n": 224, "s": 1, "t": "char"}, "location": "s416"}, {"n": "v2", "t": {"T": 1, "n": "int", "s": 4}, "location": "s420"}, {"n": "v8", "t": {"T": 3, "t": "_DWORD"}, "location": "s8"}]} {"name": "main", "code": "int __cdecl main ( int @@argc@@ , const char * * @@argv@@ , const char * * @@envp@@ ) { char @@v4@@ ; void * @@v5@@ [ Number ] ; esInitContext ( @@v5@@ ) ; @@v5@@ [ Number ] = & @@v4@@ ; esCreateWindow ( ( __int64 ) @@v5@@ , String , Number , Number ) ; if ( ( unsigned int ) Init ( @@v5@@ ) ) { esRegisterDrawFunc ( ( __int64 ) @@v5@@ , ( __int64 ) Draw ) ; esMainLoop ( ( __int64 ) @@v5@@ ) ; } return Number ; }", "source": [{"n": "envp", "t": {"T": 3, "t": "const char *"}, "location": "r16"}, {"n": "argc", "t": {"T": 1, "n": "int", "s": 4}, "location": "r56"}, {"n": "argv", "t": {"T": 3, "t": "const char *"}, "location": "r64"}, {"n": "v5", "t": {"T": 2, "n": 10, "s": 8, "t": "void *"}, "location": "s80"}, {"n": "v4", "t": {"T": 1, "n": "char", "s": 1}, "location": "s84"}]}