{"name": "overflow_handler", "code": "__int64 overflow_handler ( ) { __int64 @@result@@ ; puts ( String ) ; process_smpl_buffer ( ) ; @@result@@ = pfm_restart ( ( unsigned int ) id ) ; if ( ( _DWORD ) @@result@@ == Number ) { perror ( String ) ; exit ( Number ) ; } return @@result@@ ; }", "source": [{"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}]}
{"name": "process_smpl_buffer", "code": "int process_smpl_buffer ( ) { __int64 v0 ; __int64 v1 ; unsigned int @@v2@@ ; __int64 * @@v4@@ ; unsigned int @@i@@ ; __int64 @@v6@@ ; unsigned int * @@v7@@ ; @@v6@@ = Number L ; @@v4@@ = ( __int64 * ) smpl_vaddr ; if ( * ( ( _QWORD * ) smpl_vaddr + Number ) > ( unsigned __int64 ) last_ovfl_4890 || last_ovfl_4890 == Number ) { @@v7@@ = ( unsigned int * ) ( ( char * ) smpl_vaddr + Number ) ; for ( @@i@@ = Number ; ; ++ @@i@@ ) { v0 = * @@v4@@ ; if ( @@i@@ >= ( unsigned __int64 ) * @@v4@@ ) break ; v1 = @@v6@@ ++ ; printf ( String , v1 , @@v7@@ [ Number ] , * @@v7@@ , * ( ( unsigned __int16 * ) @@v7@@ + Number ) , * ( ( _QWORD * ) @@v7@@ + Number ) , * ( ( _QWORD * ) @@v7@@ + Number ) ) ; printf ( String , * ( ( _QWORD * ) @@v7@@ + Number ) ) ; printf ( String , * ( ( _QWORD * ) @@v7@@ + Number ) , @@v7@@ [ Number ] & Number ) ; if ( ( @@v7@@ [ Number ] & Number ) != Number ) @@v2@@ = Number ; else @@v2@@ = Number ; printf ( String , * ( ( _QWORD * ) @@v7@@ + Number ) , @@v2@@ , @@v7@@ [ Number ] & Number | ( Number L * ( * ( ( _QWORD * ) @@v7@@ + Number ) >> Number ) ) & Number ) ; @@v7@@ = ( unsigned int * ) ( ( char * ) @@v7@@ + entry_size ) ; } } else { LODWORD ( v0 ) = printf ( String , * ( ( _QWORD * ) smpl_vaddr + Number ) , last_ovfl_4890 ) ; } return v0 ; }", "source": [{"n": "v2", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r64"}, {"n": "v6", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "i", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s20"}, {"n": "v4", "t": {"T": 3, "t": "__int64"}, "location": "s32"}, {"n": "v7", "t": {"T": 3, "t": "unsigned int"}, "location": "s8"}]} {"name": "main", "code": "int __cdecl main ( int @@argc@@ , const char * * @@argv@@ , const char * * @@envp@@ ) { __int64 v3 ; __int64 v4 ; __int64 v5 ; __int64 v6 ; __int64 v7 ; __int64 v8 ; __int64 v9 ; __int64 v10 ; __int64 v11 ; __int64 v12 ; __int64 v13 ; __int64 v14 ; __int64 v15 ; __int64 v16 ; __int64 v17 ; __int64 v18 ; __int64 v19 ; __int64 v20 ; __int64 v21 ; __int64 v22 ; __int64 v23 ; __int64 v24 ; int * v25 ; char * v26 ; __int64 v27 ; __int64 v28 ; __int64 v29 ; __int64 v30 ; int * v31 ; __int64 v32 ; __int64 v33 ; __int64 v34 ; __int64 v35 ; int * v36 ; __int64 v37 ; __int64 v38 ; __int64 v39 ; __int64 v40 ; int * v41 ; __int64 v42 ; __int64 v43 ; __int64 v44 ; __int64 v45 ; int * v46 ; __int64 v47 ; __int64 v48 ; __int64 v49 ; __int64 v50 ; unsigned int v51 ; int * v52 ; char * v53 ; __int64 v54 ; __int64 v55 ; __int64 v56 ; __int64 v57 ; unsigned int v58 ; int * v59 ; char * v60 ; __int64 v61 ; __int64 v62 ; __int64 v63 ; __int64 v64 ; char @@v66@@ [ Number ] ; int @@v67@@ ; struct sigaction @@s@@ ; char @@v69@@ [ Number ] ; int @@v70@@ [ Number ] ; size_t @@len@@ [ Number ] ; char @@v72@@ [ Number ] ; int @@v73@@ [ Number ] ; int @@v74@@ [ Number ] ; _WORD @@v75@@ [ Number ] ; _OWORD @@v76@@ [ Number ] ; unsigned int @@v77@@ ; unsigned int @@i@@ ; @@v67@@ = Number ; @@v77@@ = pfm_initialize ( @@argc@@ , @@argv@@ , @@envp@@ ) ; if ( @@v77@@ ) { v3 = pfm_strerror ( @@v77@@ ) ; fatal_error ( String , v3 , v4 , v5 , v6 , v7 ) ; } pfm_get_pmu_type ( & @@v67@@ ) ; if ( @@v67@@ != Number ) { pfm_get_pmu_name ( @@v66@@ , Number L ) ; fatal_error ( String , ( __int64 ) @@v66@@ , v8 , v9 , v10 , v11 ) ; } memset ( & @@s@@ , Number , sizeof ( @@s@@ ) ) ; @@s@@ . sa_handler = ( __sighandler_t ) overflow_handler ; sigaction ( Number , & @@s@@ , Number L ) ; memset ( @@v69@@ , Number , sizeof ( @@v69@@ ) ) ; @@v69@@ [ Number ] &= Number ; @@v69@@ [ Number ] |= Number ; pfm_set_options ( @@v69@@ ) ; memset ( @@v76@@ , Number , sizeof ( @@v76@@ ) ) ; memset ( @@v75@@ , Number , sizeof ( @@v75@@ ) ) ; memset ( @@v72@@ , Number , sizeof ( @@v72@@ ) ) ; memset ( @@len@@ , Number , sizeof ( @@len@@ ) ) ; memset ( @@v70@@ , Number , sizeof ( @@v70@@ ) ) ; memset ( @@v74@@ , Number , sizeof ( @@v74@@ ) ) ; memset ( @@v73@@ , Number , sizeof ( @@v73@@ ) ) ; if ( ( unsigned int ) pfm_find_full_event ( String , & @@v74@@ [ Number ] ) ) fatal_error ( String , ( __int64 ) String , v12 , v13 , v14 , v15 ) ; @@v74@@ [ Number ] = Number ; @@v74@@ [ Number ] = Number ; @@v77@@ = pfm_dispatch_events ( @@v74@@ , Number L , @@v73@@ , Number L ) ; if ( @@v77@@ ) { v16 = pfm_strerror ( @@v77@@ ) ; fatal_error ( String , v16 , v17 , v18 , v19 , v20 ) ; } @@len@@ [ Number ] = getpagesize ( ) ; id = pfm_create_context ( @@v72@@ , String , @@len@@ , Number L ) ; if ( id == Number ) { if ( * _errno_location ( ) == Number ) fatal_error ( String , ( __int64 ) String , v21 , v22 , v23 , v24 ) ; v25 = _errno_location ( ) ; v26 = strerror ( * v25 ) ; fatal_error ( String , ( __int64 ) v26 , v27 , v28 , v29 , v30 ) ; } smpl_vaddr = mmap ( Number L , @@len@@ [ Number ] , Number , Number , id , Number L ) ; if ( smpl_vaddr == ( void * ) Number ) { v31 = _errno_location ( ) ; fatal_error ( String , ( unsigned int ) * v31 , v32 , v33 , v34 , v35 ) ; } printf ( String , smpl_vaddr ) ; for ( @@i@@ = Number ; @@i@@ < @@v73@@ [ Number ] ; ++ @@i@@ ) { @@v75@@ [ Number * @@i@@ ] = @@v73@@ [ Number * @@i@@ + Number ] ; * ( _QWORD * ) & @@v75@@ [ Number * @@i@@ + Number ] = * ( _QWORD * ) & @@v73@@ [ Number * @@i@@ + Number ] ; } for ( @@i@@ = Number ; @@i@@ < @@v73@@ [ Number ] ; ++ @@i@@ ) LOWORD ( @@v76@@ [ Number * @@i@@ ] ) = @@v73@@ [ Number * @@i@@ + Number ] ; DWORD1 ( @@v76@@ [ Number ] ) |= Number ; pfm_bv_set ( ( __int64 ) & @@v76@@ [ Number ] + Number , Number ) ; pfm_bv_set ( ( __int64 ) & @@v76@@ [ Number ] + Number , Number ) ; pfm_bv_set ( ( __int64 ) & @@v76@@ [ Number ] + Number , Number ) ; entry_size = Number L ; * ( ( _QWORD * ) & @@v76@@ [ Number ] + Number ) = Number ; * ( _QWORD * ) & @@v76@@ [ Number ] = Number ; * ( ( _QWORD * ) & @@v76@@ [ Number ] + Number ) = Number ; if ( ( unsigned int ) pfm_write_pmcs ( ( unsigned int ) id , @@v75@@ , ( unsigned int ) @@v73@@ [ Number ] ) == Number ) { v36 = _errno_location ( ) ; fatal_error ( String , ( unsigned int ) * v36 , v37 , v38 , v39 , v40 ) ; } if ( ( unsigned int ) pfm_write_pmds ( ( unsigned int ) id , @@v76@@ , ( unsigned int ) @@v73@@ [ Number ] ) == Number ) { v41 = _errno_location ( ) ; fatal_error ( String , ( unsigned int ) * v41 , v42 , v43 , v44 , v45 ) ; } @@v70@@ [ Number ] = getpid ( ) ; if ( ( unsigned int ) pfm_load_context ( ( unsigned int ) id , @@v70@@ ) == Number ) { v46 = _errno_location ( ) ; fatal_error ( String , ( unsigned int ) * v46 , v47 , v48 , v49 , v50 ) ; } v51 = fcntl ( id , Number , Number L ) ; BYTE1 ( v51 ) |= Number ; @@v77@@ = fcntl ( id , Number , v51 ) ; if ( @@v77@@ == Number ) { v52 = _errno_location ( ) ; v53 = strerror ( * v52 ) ; fatal_error ( String , ( __int64 ) v53 , v54 , v55 , v56 , v57 ) ; } v58 = getpid ( ) ; @@v77@@ = fcntl ( id , Number , v58 ) ; if ( @@v77@@ == Number ) { v59 = _errno_location ( ) ; v60 = strerror ( * v59 ) ; fatal_error ( String , ( __int64 ) v60 , v61 , v62 , v63 , v64 ) ; } pfm_self_start ( id ) ; do_test ( Number ) ; pfm_self_stop ( id ) ; process_smpl_buffer ( ) ; munmap ( smpl_vaddr , @@len@@ [ Number ] ) ; close ( id ) ; 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": "v75", "t": {"T": 2, "n": 12288, "s": 2, "t": "_WORD"}, "location": "s114704"}, {"n": "v74", "t": {"T": 2, "n": 29728, "s": 4, "t": "int"}, "location": "s233616"}, {"n": "v73", "t": {"T": 2, "n": 8208, "s": 4, "t": "int"}, "location": "s266448"}, {"n": "v72", "t": {"T": 2, "n": 64, "s": 1, "t": "char"}, "location": "s266512"}, {"n": "len", "t": {"T": 2, "n": 8, "s": 8, "t": "size_t"}, "location": "s266576"}, {"n": "v70", "t": {"T": 2, "n": 8, "s": 4, "t": "int"}, "location": "s266608"}, {"n": "v69", "t": {"T": 2, "n": 4, "s": 1, "t": "char"}, "location": "s266612"}, {"n": "s", "t": {"T": 6, "n": "struct sigaction", "l": [{"T": 4, "n": "__sigaction_handler", "t": "sigaction::$CF138106520E5A28DAF2A67779B92EE8", "s": 8}, {"T": 4, "n": "sa_mask", "t": "__sigset_t", "s": 128}, {"T": 4, "n": "sa_flags", "t": "int", "s": 4}, {"T": 5, "s": 4}, {"T": 4, "n": "sa_restorer", "t": "void (*)(void)", "s": 8}]}, "location": "s266768"}, {"n": "v67", "t": {"T": 1, "n": "int", "s": 4}, "location": "s266772"}, {"n": "v66", "t": {"T": 2, "n": 44, "s": 1, "t": "char"}, "location": "s266816"}, {"n": "i", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s4"}, {"n": "v77", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s8"}, {"n": "v76", "t": {"T": 2, "n": 5632, "s": 16, "t": "_OWORD"}, "location": "s90128"}]}