{"name": "jsonrpc_struct_add", "code": "__int64 jsonrpc_struct_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 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 ; char * * v61 ; _QWORD * * v62 ; __int64 v63 ; const char * v64 ; int v65 ; const char * v66 ; unsigned int v67 ; __int64 v68 ; const char * v69 ; unsigned int v70 ; void ( * v71 ) ( _QWORD , const char * , ... ) ; __int64 v72 ; unsigned int v73 ; __int64 v74 ; int v75 ; unsigned int v76 ; void ( * v77 ) ( _QWORD , const char * , ... ) ; unsigned int v78 ; const char * v79 ; int v80 ; unsigned int v81 ; __int64 v82 ; const char * v83 ; int v84 ; const char * v85 ; unsigned int v86 ; __int64 v87 ; const char * v88 ; unsigned int v89 ; void ( * v90 ) ( _QWORD , const char * , ... ) ; __int64 v91 ; unsigned int v92 ; __int64 v93 ; int v94 ; unsigned int v95 ; void ( * v96 ) ( _QWORD , const char * , ... ) ; unsigned int v97 ; const char * v98 ; int v99 ; unsigned int v100 ; __int64 v101 ; __int64 v102 ; __int64 v103 ; __int64 v104 ; char * @@s@@ ; gcc_va_list @@va@@ ; unsigned int @@v108@@ ; unsigned int @@v109@@ ; unsigned int @@v110@@ ; unsigned int @@v111@@ ; _QWORD * @@v112@@ ; _QWORD * @@v113@@ ; _BOOL4 @@v114@@ ; unsigned int @@v115@@ ; __int64 @@v116@@ ; __int64 @@v117@@ ; __int64 @@v118@@ ; __int64 @@v119@@ ; __int64 @@v120@@ ; __int64 @@v121@@ ; @@v118@@ = @@a3@@ ; @@v119@@ = @@a4@@ ; @@v120@@ = @@a5@@ ; @@v121@@ = @@a6@@ ; @@v117@@ = Number L ; @@v116@@ = Number L ; if ( ! @@a1@@ ) { if ( ( int ) get_debug_level ( String , Number L ) >= Number && ! dprint_crit ) { @@v108@@ = Number ; ++ dprint_crit ; if ( log_stderr ) { if ( log_color ) dprint_color ( @@v108@@ ) ; 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 ) ( @@v108@@ + 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 ) ( @@v108@@ + 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 ) ( @@v108@@ + Number ) ) ; v16 = * ( ( _DWORD * ) & log_level_info + Number * ( int ) ( @@v108@@ + 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 ) ( @@v108@@ + Number ) ) ; v20 = * ( ( _DWORD * ) & log_level_info + Number * ( int ) ( @@v108@@ + Number ) + Number ) ; v21 = get_debug_facility ( String , Number L ) ; v18 ( v20 | v21 , String , v19 , String , String ) ; } -- dprint_crit ; } return Number ; } if ( * ( _DWORD * ) ( @@a1@@ + Number ) != Number && * ( _DWORD * ) ( @@a1@@ + Number ) != Number ) { if ( ( int ) get_debug_level ( String , Number L ) >= Number && ! dprint_crit ) { @@v115@@ = Number ; ++ dprint_crit ; if ( log_stderr ) { if ( log_color ) dprint_color ( @@v115@@ ) ; 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 ) ( @@v115@@ + 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 ) ( @@v115@@ + 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 ) ; v101 = * log_prefix_val ; v33 = * ( ( _DWORD * ) log_prefix_val + Number ) ; v34 = * ( ( _QWORD * ) & log_level_info + Number * ( int ) ( @@v115@@ + Number ) ) ; v35 = * ( ( _DWORD * ) & log_level_info + Number * ( int ) ( @@v115@@ + Number ) + Number ) ; v36 = get_debug_facility ( String , Number L ) ; v31 ( v35 | v36 , String , v34 , v33 , v101 , 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 ) ( @@v115@@ + Number ) ) ; v40 = * ( ( _DWORD * ) & log_level_info + Number * ( int ) ( @@v115@@ + Number ) + Number ) ; v41 = get_debug_facility ( String , Number L ) ; v37 ( v40 | v41 , String , v39 , String , String , v38 ) ; } -- dprint_crit ; } return Number ; } @@v114@@ = * ( _DWORD * ) ( @@a1@@ + Number ) == Number ; @@v113@@ = ( _QWORD * ) jsonrpc_ctx_active ; if ( ! jsonrpc_ctx_active || ! @@v113@@ [ Number ] ) { if ( ( int ) get_debug_level ( String , Number L ) >= Number && ! dprint_crit ) { @@v109@@ = Number ; ++ dprint_crit ; if ( log_stderr ) { if ( log_color ) dprint_color ( @@v109@@ ) ; if ( log_prefix_val ) { if ( @@v113@@ ) v42 = * ( ( unsigned int * ) @@v113@@ + 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 ) ( @@v109@@ + Number ) ) ; v46 = my_pid ( ) ; fprintf ( stderr , String , process_no , v46 , v45 , v44 , v43 , String , String , @@v113@@ , v42 ) ; } else { if ( @@v113@@ ) v47 = * ( ( unsigned int * ) @@v113@@ + Number ) ; else v47 = Number L ; v48 = ( const char * ) * ( ( _QWORD * ) & log_level_info + Number * ( int ) ( @@v109@@ + Number ) ) ; v49 = my_pid ( ) ; fprintf ( stderr , String , process_no , v49 , v48 , String , String , @@v113@@ , v47 ) ; } if ( log_color ) dprint_color_reset ( ) ; } else if ( log_prefix_val ) { v50 = ( void ( * ) ( _QWORD , const char * , ... ) ) km_log_func ; if ( @@v113@@ ) v51 = * ( ( unsigned int * ) @@v113@@ + Number ) ; else v51 = Number L ; v102 = * log_prefix_val ; v52 = * ( ( _DWORD * ) log_prefix_val + Number ) ; v53 = * ( ( _QWORD * ) & log_level_info + Number * ( int ) ( @@v109@@ + Number ) ) ; v54 = * ( ( _DWORD * ) & log_level_info + Number * ( int ) ( @@v109@@ + Number ) + Number ) ; v55 = get_debug_facility ( String , Number L ) ; v50 ( v54 | v55 , String , v53 , v52 , v102 , String , String , @@v113@@ , v51 ) ; } else { v56 = ( void ( * ) ( _QWORD , const char * , ... ) ) km_log_func ; if ( @@v113@@ ) v57 = * ( ( unsigned int * ) @@v113@@ + Number ) ; else v57 = Number L ; v58 = ( const char * ) * ( ( _QWORD * ) & log_level_info + Number * ( int ) ( @@v109@@ + Number ) ) ; v59 = * ( ( _DWORD * ) & log_level_info + Number * ( int ) ( @@v109@@ + Number ) + Number ) ; v60 = get_debug_facility ( String , Number L ) ; v56 ( v59 | v60 , String , v58 , String , String , @@v113@@ , v57 ) ; } -- dprint_crit ; } return Number ; } @@va@@ [ Number ] . gp_offset = Number ; va_start ( @@va@@ , @@a6@@ ) ; while ( Number ) { if ( ! * @@a2@@ ) return Number L ; if ( @@va@@ [ Number ] . gp_offset > Number ) { v61 = ( char * * ) @@va@@ [ Number ] . overflow_arg_area ; @@va@@ [ Number ] . overflow_arg_area = ( char * ) @@va@@ [ Number ] . overflow_arg_area + Number ; } else { v61 = ( char * * ) ( ( char * ) @@va@@ [ Number ] . reg_save_area + @@va@@ [ Number ] . gp_offset ) ; @@va@@ [ Number ] . gp_offset += Number ; } @@s@@ = * v61 ; if ( * v61 ) strlen ( @@s@@ ) ; if ( ! @@s@@ ) @@s@@ = ( char * ) & unk_132C1 ; if ( * @@a2@@ == Number || * @@a2@@ == Number ) { if ( @@va@@ [ Number ] . gp_offset > Number ) { v62 = ( _QWORD * * ) @@va@@ [ Number ] . overflow_arg_area ; @@va@@ [ Number ] . overflow_arg_area = ( char * ) @@va@@ [ Number ] . overflow_arg_area + Number ; } else { v62 = ( _QWORD * * ) ( ( char * ) @@va@@ [ Number ] . reg_save_area + @@va@@ [ Number ] . gp_offset ) ; @@va@@ [ Number ] . gp_offset += Number ; } @@v112@@ = * v62 ; if ( * @@a2@@ == Number ) @@v117@@ = srjson_CreateObject ( @@v113@@ [ Number ] ) ; else @@v117@@ = srjson_CreateArray ( @@v113@@ [ Number ] ) ; * @@v112@@ = @@v117@@ ; } else { @@v117@@ = jsonrpc_print_value ( ( __int64 ) @@v113@@ , * @@a2@@ , ( unsigned int * ) @@va@@ ) ; } if ( ! @@v117@@ ) { if ( ( int ) get_debug_level ( String , Number L ) >= Number && ! dprint_crit ) { @@v110@@ = Number ; ++ dprint_crit ; if ( log_stderr ) { if ( log_color ) dprint_color ( @@v110@@ ) ; if ( log_prefix_val ) { v63 = ( unsigned int ) * @@a2@@ ; v64 = ( const char * ) * log_prefix_val ; v65 = * ( ( _DWORD * ) log_prefix_val + Number ) ; v66 = ( const char * ) * ( ( _QWORD * ) & log_level_info + Number * ( int ) ( @@v110@@ + Number ) ) ; v67 = my_pid ( ) ; fprintf ( stderr , String , process_no , v67 , v66 , v65 , v64 , String , String , v63 ) ; } else { v68 = ( unsigned int ) * @@a2@@ ; v69 = ( const char * ) * ( ( _QWORD * ) & log_level_info + Number * ( int ) ( @@v110@@ + Number ) ) ; v70 = my_pid ( ) ; fprintf ( stderr , String , process_no , v70 , v69 , String , String , v68 ) ; } if ( log_color ) dprint_color_reset ( ) ; } else if ( log_prefix_val ) { v71 = ( void ( * ) ( _QWORD , const char * , ... ) ) km_log_func ; v72 = ( unsigned int ) * @@a2@@ ; v103 = * log_prefix_val ; v73 = * ( ( _DWORD * ) log_prefix_val + Number ) ; v74 = * ( ( _QWORD * ) & log_level_info + Number * ( int ) ( @@v110@@ + Number ) ) ; v75 = * ( ( _DWORD * ) & log_level_info + Number * ( int ) ( @@v110@@ + Number ) + Number ) ; v76 = get_debug_facility ( String , Number L ) ; v71 ( v75 | v76 , String , v74 , v73 , v103 , String , String , v72 ) ; } else { v77 = ( void ( * ) ( _QWORD , const char * , ... ) ) km_log_func ; v78 = * @@a2@@ ; v79 = ( const char * ) * ( ( _QWORD * ) & log_level_info + Number * ( int ) ( @@v110@@ + Number ) ) ; v80 = * ( ( _DWORD * ) & log_level_info + Number * ( int ) ( @@v110@@ + Number ) + Number ) ; v81 = get_debug_facility ( String , Number L ) ; v77 ( v80 | v81 , String , v79 , String , String , v78 ) ; } -- dprint_crit ; } return Number ; } if ( @@v114@@ ) { srjson_AddItemToObject ( @@v113@@ [ Number ] , @@a1@@ , @@s@@ , @@v117@@ ) ; goto LABEL_115 ; } @@v116@@ = srjson_CreateObject ( @@v113@@ [ Number ] ) ; if ( ! @@v116@@ ) break ; srjson_AddItemToObject ( @@v113@@ [ Number ] , @@v116@@ , @@s@@ , @@v117@@ ) ; srjson_AddItemToArray ( @@v113@@ [ Number ] , @@a1@@ , @@v116@@ ) ; LABEL_115 : ++ @@a2@@ ; } if ( ( int ) get_debug_level ( String , Number L ) >= Number && ! dprint_crit ) { @@v111@@ = Number ; ++ dprint_crit ; if ( log_stderr ) { if ( log_color ) dprint_color ( @@v111@@ ) ; if ( log_prefix_val ) { v82 = ( unsigned int ) * @@a2@@ ; v83 = ( const char * ) * log_prefix_val ; v84 = * ( ( _DWORD * ) log_prefix_val + Number ) ; v85 = ( const char * ) * ( ( _QWORD * ) & log_level_info + Number * ( int ) ( @@v111@@ + Number ) ) ; v86 = my_pid ( ) ; fprintf ( stderr , String , process_no , v86 , v85 , v84 , v83 , String , String , v82 ) ; } else { v87 = ( unsigned int ) * @@a2@@ ; v88 = ( const char * ) * ( ( _QWORD * ) & log_level_info + Number * ( int ) ( @@v111@@ + Number ) ) ; v89 = my_pid ( ) ; fprintf ( stderr , String , process_no , v89 , v88 , String , String , v87 ) ; } if ( log_color ) dprint_color_reset ( ) ; } else if ( log_prefix_val ) { v90 = ( void ( * ) ( _QWORD , const char * , ... ) ) km_log_func ; v91 = ( unsigned int ) * @@a2@@ ; v104 = * log_prefix_val ; v92 = * ( ( _DWORD * ) log_prefix_val + Number ) ; v93 = * ( ( _QWORD * ) & log_level_info + Number * ( int ) ( @@v111@@ + Number ) ) ; v94 = * ( ( _DWORD * ) & log_level_info + Number * ( int ) ( @@v111@@ + Number ) + Number ) ; v95 = get_debug_facility ( String , Number L ) ; v90 ( v94 | v95 , String , v93 , v92 , v104 , String , String , v91 ) ; } else { v96 = ( void ( * ) ( _QWORD , const char * , ... ) ) km_log_func ; v97 = * @@a2@@ ; v98 = ( const char * ) * ( ( _QWORD * ) & log_level_info + Number * ( int ) ( @@v111@@ + Number ) ) ; v99 = * ( ( _DWORD * ) & log_level_info + Number * ( int ) ( @@v111@@ + Number ) + Number ) ; v100 = get_debug_facility ( String , Number L ) ; v96 ( v99 | v100 , String , v98 , String , String , v97 ) ; } -- dprint_crit ; } srjson_Delete ( @@v113@@ [ Number ] , @@v117@@ ) ; return Number ; }", "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": "v121", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s184"}, {"n": "v120", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s192"}, {"n": "v119", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s200"}, {"n": "v118", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s208"}, {"n": "v117", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s232"}, {"n": "v116", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s240"}, {"n": "v115", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s244"}, {"n": "v114", "t": {"T": 1, "n": "_BOOL4", "s": 4}, "location": "s248"}, {"n": "v113", "t": {"T": 3, "t": "_QWORD"}, "location": "s256"}, {"n": "v112", "t": {"T": 3, "t": "_QWORD"}, "location": "s264"}, {"n": "v111", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s268"}, {"n": "v110", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s272"}, {"n": "v109", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s276"}, {"n": "v108", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s280"}, {"n": "va", "t": {"T": 2, "n": 1, "s": 24, "t": "__va_list_tag"}, "location": "s304"}, {"n": "s", "t": {"T": 3, "t": "char"}, "location": "s320"}]}