{"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"}]}
{"name": "_start", "code": "void __fastcall __noreturn start ( __int64 @@a1@@ , __int64 @@a2@@ , void ( * @@a3@@ ) ( void ) ) { __int64 @@v3@@ ; int v4 ; __int64 @@v5@@ ; char * @@retaddr@@ ; v4 = @@v5@@ ; @@v5@@ = @@v3@@ ; _libc_start_main ( ( int ( __fastcall * ) ( int , char * * , char * * ) ) main , v4 , & @@retaddr@@ , _libc_csu_init , _libc_csu_fini , @@a3@@ , & @@v5@@ ) ; __halt ( ) ; }", "source": [{"n": "a3", "t": {"T": 9, "n": "void (*)(void)"}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "v3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "retaddr", "t": {"T": 3, "t": "char"}, "location": "s0"}, {"n": "v5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]} {"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": "esCreateWindow", "code": "_BOOL8 __fastcall esCreateWindow ( __int64 @@a1@@ , const char * @@a2@@ , int @@a3@@ , int @@a4@@ ) { _BOOL8 @@result@@ ; if ( ! @@a1@@ ) return Number L ; * ( _DWORD * ) ( @@a1@@ + Number ) = @@a3@@ ; * ( _DWORD * ) ( @@a1@@ + Number ) = @@a4@@ ; if ( ( unsigned int ) WinCreate ( @@a1@@ , @@a2@@ ) ) @@result@@ = ( unsigned int ) CreateEGLContext ( * ( _QWORD * ) ( @@a1@@ + Number ) , ( __int64 * ) ( @@a1@@ + Number ) , ( __int64 * ) ( @@a1@@ + Number ) , ( __int64 * ) ( @@a1@@ + Number ) ) != Number ; else @@result@@ = Number L ; return @@result@@ ; }", "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": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "const char"}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "_BOOL8", "s": 8}, "location": "r8"}]} {"name": "esMainLoop", "code": "int __fastcall esMainLoop ( __int64 @@a1@@ ) { float @@v1@@ ; int @@result@@ ; struct timezone @@tz@@ ; struct timeval @@v4@@ ; struct timeval @@tv@@ ; float @@v6@@ ; unsigned int @@v7@@ ; float @@v8@@ ; @@v8@@ = Number ; @@v7@@ = Number ; gettimeofday ( & @@tv@@ , & @@tz@@ ) ; gettimeofday ( & @@v4@@ , & @@tz@@ ) ; @@v1@@ = Number * ( double ) ( LODWORD ( @@v4@@ . tv_usec ) - LODWORD ( @@tv@@ . tv_usec ) ) + ( double ) ( LODWORD ( @@v4@@ . tv_sec ) - LODWORD ( @@tv@@ . tv_sec ) ) ; @@v6@@ = @@v1@@ ; @@tv@@ = @@v4@@ ; if ( * ( _QWORD * ) ( @@a1@@ + Number ) ) ( * ( void ( __fastcall * * ) ( __int64 , double ) ) ( @@a1@@ + Number ) ) ( @@a1@@ , * ( double * ) _mm_cvtsi32_si128 ( LODWORD ( @@v6@@ ) ) . m128i_i64 ) ; if ( * ( _QWORD * ) ( @@a1@@ + Number ) ) ( * ( void ( __fastcall * * ) ( __int64 ) ) ( @@a1@@ + Number ) ) ( @@a1@@ ) ; @@result@@ = eglSwapBuffers ( ) ; @@v8@@ = @@v8@@ + @@v6@@ ; ++ @@v7@@ ; if ( @@v8@@ > Number ) @@result@@ = printf ( String , @@v7@@ , @@v8@@ , ( float ) ( ( float ) ( int ) @@v7@@ / @@v8@@ ) ) ; return @@result@@ ; }", "source": [{"n": "v1", "t": {"T": 1, "n": "float", "s": 4}, "location": "r496"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "result", "t": {"T": 1, "n": "int", "s": 4}, "location": "r8"}, {"n": "v6", "t": {"T": 1, "n": "float", "s": 4}, "location": "s12"}, {"n": "tv", "t": {"T": 6, "n": "struct timeval", "l": [{"T": 4, "n": "tv_sec", "t": "__time_t", "s": 8}, {"T": 4, "n": "tv_usec", "t": "__suseconds_t", "s": 8}]}, "location": "s32"}, {"n": "v8", "t": {"T": 1, "n": "float", "s": 4}, "location": "s4"}, {"n": "v4", "t": {"T": 6, "n": "struct timeval", "l": [{"T": 4, "n": "tv_sec", "t": "__time_t", "s": 8}, {"T": 4, "n": "tv_usec", "t": "__suseconds_t", "s": 8}]}, "location": "s48"}, {"n": "tz", "t": {"T": 6, "n": "struct timezone", "l": [{"T": 4, "n": "tz_minuteswest", "t": "int", "s": 4}, {"T": 4, "n": "tz_dsttime", "t": "int", "s": 4}]}, "location": "s56"}, {"n": "v7", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s8"}]} {"name": "esRegisterDrawFunc", "code": "__int64 __fastcall esRegisterDrawFunc ( __int64 @@a1@@ , __int64 @@a2@@ ) { __int64 @@result@@ ; @@result@@ = @@a1@@ ; * ( _QWORD * ) ( @@a1@@ + Number ) = @@a2@@ ; return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "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"}]}