{"name": "jsonrpc_array_add", "code": "__int64 jsonrpc_array_add ( __int64 @@a1@@ , char * @@a2@@ , __int64 @@a3@@ , __int64 @@a4@@ , __int64 @@a5@@ , __int64 @@a6@@ , ... ) { const char * v6 ; int v7 ; const char * v8 ; unsigned int v9 ; const char * v10 ; unsigned int v11 ; void ( * v12 ) ( _QWORD , const char * , ... ) ; __int64 v13 ; unsigned int v14 ; __int64 v15 ; int v16 ; unsigned int v17 ; void ( * v18 ) ( _QWORD , const char * , ... ) ; const char * v19 ; int v20 ; unsigned int v21 ; __int64 result ; __int64 v23 ; const char * v24 ; int v25 ; const char * v26 ; unsigned int v27 ; __int64 v28 ; const char * v29 ; unsigned int v30 ; void ( * v31 ) ( _QWORD , const char * , ... ) ; __int64 v32 ; unsigned int v33 ; __int64 v34 ; int v35 ; unsigned int v36 ; void ( * v37 ) ( _QWORD , const char * , ... ) ; unsigned int v38 ; const char * v39 ; int v40 ; unsigned int v41 ; __int64 v42 ; const char * v43 ; int v44 ; const char * v45 ; unsigned int v46 ; __int64 v47 ; const char * v48 ; unsigned int v49 ; void ( * v50 ) ( _QWORD , const char * , ... ) ; __int64 v51 ; unsigned int v52 ; __int64 v53 ; int v54 ; unsigned int v55 ; void ( * v56 ) ( _QWORD , const char * , ... ) ; __int64 v57 ; const char * v58 ; int v59 ; unsigned int v60 ; _QWORD * * v61 ; __int64 v62 ; __int64 v63 ; gcc_va_list @@va@@ ; unsigned int @@v66@@ ; unsigned int @@v67@@ ; unsigned int @@v68@@ ; _QWORD * @@v69@@ ; _QWORD * @@v70@@ ; __int64 @@v71@@ ; __int64 @@v72@@ ; __int64 @@v73@@ ; __int64 @@v74@@ ; __int64 @@v75@@ ; @@v72@@ = @@a3@@ ; @@v73@@ = @@a4@@ ; @@v74@@ = @@a5@@ ; @@v75@@ = @@a6@@ ; @@v71@@ = Number L ; if ( @@a1@@ ) { if ( * ( _DWORD * ) ( @@a1@@ + Number ) == Number ) { @@v70@@ = ( _QWORD * ) jsonrpc_ctx_active ; if ( jsonrpc_ctx_active && @@v70@@ [ Number ] ) { @@va@@ [ Number ] . gp_offset = Number ; va_start ( @@va@@ , @@a6@@ ) ; while ( Number ) { if ( ! * @@a2@@ ) return Number L ; if ( * @@a2@@ == Number || * @@a2@@ == Number ) { if ( @@va@@ [ Number ] . gp_offset > Number ) { v61 = ( _QWORD * * ) @@va@@ [ Number ] . overflow_arg_area ; @@va@@ [ Number ] . overflow_arg_area = ( char * ) @@va@@ [ Number ] . overflow_arg_area + Number ; } else { v61 = ( _QWORD * * ) ( ( char * ) @@va@@ [ Number ] . reg_save_area + @@va@@ [ Number ] . gp_offset ) ; @@va@@ [ Number ] . gp_offset += Number ; } @@v69@@ = * v61 ; @@v71@@ = * @@a2@@ == Number ? srjson_CreateObject ( @@v70@@ [ Number ] ) : srjson_CreateArray ( @@v70@@ [ Number ] ) ; * @@v69@@ = @@v71@@ ; } else { @@v71@@ = jsonrpc_print_value ( ( __int64 ) @@v70@@ , * @@a2@@ , ( unsigned int * ) @@va@@ ) ; } if ( ! @@v71@@ ) break ; srjson_AddItemToArray ( @@v70@@ [ Number ] , @@a1@@ , @@v71@@ ) ; ++ @@a2@@ ; } result = Number ; } else { if ( ( int ) get_debug_level ( String , Number L ) >= Number && ! dprint_crit ) { @@v68@@ = Number ; ++ dprint_crit ; if ( log_stderr ) { if ( log_color ) dprint_color ( @@v68@@ ) ; if ( log_prefix_val ) { if ( @@v70@@ ) v42 = * ( ( unsigned int * ) @@v70@@ + Number ) ; else v42 = Number L ; v43 = ( const char * ) * log_prefix_val ; v44 = * ( ( _DWORD * ) log_prefix_val + Number ) ; v45 = ( const char * ) * ( ( _QWORD * ) & log_level_info + Number * ( int ) ( @@v68@@ + Number ) ) ; v46 = my_pid ( ) ; fprintf ( stderr , String , process_no , v46 , v45 , v44 , v43 , String , String , @@v70@@ , v42 ) ; } else { if ( @@v70@@ ) v47 = * ( ( unsigned int * ) @@v70@@ + Number ) ; else v47 = Number L ; v48 = ( const char * ) * ( ( _QWORD * ) & log_level_info + Number * ( int ) ( @@v68@@ + Number ) ) ; v49 = my_pid ( ) ; fprintf ( stderr , String , process_no , v49 , v48 , String , String , @@v70@@ , v47 ) ; } if ( log_color ) dprint_color_reset ( ) ; } else if ( log_prefix_val ) { v50 = ( void ( * ) ( _QWORD , const char * , ... ) ) km_log_func ; if ( @@v70@@ ) v51 = * ( ( unsigned int * ) @@v70@@ + Number ) ; else v51 = Number L ; v63 = * log_prefix_val ; v52 = * ( ( _DWORD * ) log_prefix_val + Number ) ; v53 = * ( ( _QWORD * ) & log_level_info + Number * ( int ) ( @@v68@@ + Number ) ) ; v54 = * ( ( _DWORD * ) & log_level_info + Number * ( int ) ( @@v68@@ + Number ) + Number ) ; v55 = get_debug_facility ( String , Number L ) ; v50 ( v54 | v55 , String , v53 , v52 , v63 , String , String , @@v70@@ , v51 ) ; } else { v56 = ( void ( * ) ( _QWORD , const char * , ... ) ) km_log_func ; if ( @@v70@@ ) v57 = * ( ( unsigned int * ) @@v70@@ + Number ) ; else v57 = Number L ; v58 = ( const char * ) * ( ( _QWORD * ) & log_level_info + Number * ( int ) ( @@v68@@ + Number ) ) ; v59 = * ( ( _DWORD * ) & log_level_info + Number * ( int ) ( @@v68@@ + Number ) + Number ) ; v60 = get_debug_facility ( String , Number L ) ; v56 ( v59 | v60 , String , v58 , String , String , @@v70@@ , v57 ) ; } -- dprint_crit ; } result = Number ; } } else { if ( ( int ) get_debug_level ( String , Number L ) >= Number && ! dprint_crit ) { @@v67@@ = Number ; ++ dprint_crit ; if ( log_stderr ) { if ( log_color ) dprint_color ( @@v67@@ ) ; if ( log_prefix_val ) { v23 = * ( unsigned int * ) ( @@a1@@ + Number ) ; v24 = ( const char * ) * log_prefix_val ; v25 = * ( ( _DWORD * ) log_prefix_val + Number ) ; v26 = ( const char * ) * ( ( _QWORD * ) & log_level_info + Number * ( int ) ( @@v67@@ + Number ) ) ; v27 = my_pid ( ) ; fprintf ( stderr , String , process_no , v27 , v26 , v25 , v24 , String , String , v23 ) ; } else { v28 = * ( unsigned int * ) ( @@a1@@ + Number ) ; v29 = ( const char * ) * ( ( _QWORD * ) & log_level_info + Number * ( int ) ( @@v67@@ + Number ) ) ; v30 = my_pid ( ) ; fprintf ( stderr , String , process_no , v30 , v29 , String , String , v28 ) ; } if ( log_color ) dprint_color_reset ( ) ; } else if ( log_prefix_val ) { v31 = ( void ( * ) ( _QWORD , const char * , ... ) ) km_log_func ; v32 = * ( unsigned int * ) ( @@a1@@ + Number ) ; v62 = * log_prefix_val ; v33 = * ( ( _DWORD * ) log_prefix_val + Number ) ; v34 = * ( ( _QWORD * ) & log_level_info + Number * ( int ) ( @@v67@@ + Number ) ) ; v35 = * ( ( _DWORD * ) & log_level_info + Number * ( int ) ( @@v67@@ + Number ) + Number ) ; v36 = get_debug_facility ( String , Number L ) ; v31 ( v35 | v36 , String , v34 , v33 , v62 , String , String , v32 ) ; } else { v37 = ( void ( * ) ( _QWORD , const char * , ... ) ) km_log_func ; v38 = * ( _DWORD * ) ( @@a1@@ + Number ) ; v39 = ( const char * ) * ( ( _QWORD * ) & log_level_info + Number * ( int ) ( @@v67@@ + Number ) ) ; v40 = * ( ( _DWORD * ) & log_level_info + Number * ( int ) ( @@v67@@ + Number ) + Number ) ; v41 = get_debug_facility ( String , Number L ) ; v37 ( v40 | v41 , String , v39 , String , String , v38 ) ; } -- dprint_crit ; } result = Number ; } } else { if ( ( int ) get_debug_level ( String , Number L ) >= Number && ! dprint_crit ) { @@v66@@ = Number ; ++ dprint_crit ; if ( log_stderr ) { if ( log_color ) dprint_color ( @@v66@@ ) ; if ( log_prefix_val ) { v6 = ( const char * ) * log_prefix_val ; v7 = * ( ( _DWORD * ) log_prefix_val + Number ) ; v8 = ( const char * ) * ( ( _QWORD * ) & log_level_info + Number * ( int ) ( @@v66@@ + Number ) ) ; v9 = my_pid ( ) ; fprintf ( stderr , String , process_no , v9 , v8 , v7 , v6 , String , String ) ; } else { v10 = ( const char * ) * ( ( _QWORD * ) & log_level_info + Number * ( int ) ( @@v66@@ + Number ) ) ; v11 = my_pid ( ) ; fprintf ( stderr , String , process_no , v11 , v10 , String , String ) ; } if ( log_color ) dprint_color_reset ( ) ; } else if ( log_prefix_val ) { v12 = ( void ( * ) ( _QWORD , const char * , ... ) ) km_log_func ; v13 = * log_prefix_val ; v14 = * ( ( _DWORD * ) log_prefix_val + Number ) ; v15 = * ( ( _QWORD * ) & log_level_info + Number * ( int ) ( @@v66@@ + Number ) ) ; v16 = * ( ( _DWORD * ) & log_level_info + Number * ( int ) ( @@v66@@ + Number ) + Number ) ; v17 = get_debug_facility ( String , Number L ) ; v12 ( v16 | v17 , String , v15 , v14 , v13 , String , String ) ; } else { v18 = ( void ( * ) ( _QWORD , const char * , ... ) ) km_log_func ; v19 = ( const char * ) * ( ( _QWORD * ) & log_level_info + Number * ( int ) ( @@v66@@ + Number ) ) ; v20 = * ( ( _DWORD * ) & log_level_info + Number * ( int ) ( @@v66@@ + Number ) + Number ) ; v21 = get_debug_facility ( String , Number L ) ; v18 ( v20 | v21 , String , v19 , String , String ) ; } -- dprint_crit ; } result = Number ; } return result ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r24"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "char"}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r72"}, {"n": "a6", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r80"}, {"n": "v75", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s184"}, {"n": "v74", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s192"}, {"n": "v73", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s200"}, {"n": "v72", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s208"}, {"n": "v71", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s232"}, {"n": "v70", "t": {"T": 3, "t": "_QWORD"}, "location": "s240"}, {"n": "v69", "t": {"T": 3, "t": "_QWORD"}, "location": "s248"}, {"n": "v68", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s252"}, {"n": "v67", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s256"}, {"n": "v66", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s260"}, {"n": "va", "t": {"T": 2, "n": 1, "s": 24, "t": "__va_list_tag"}, "location": "s288"}]}