{"name": "test_classifier", "code": "__int64 __fastcall test_classifier ( __int64 @@a1@@ , __int64 @@a2@@ , __int64 @@a3@@ ) { unsigned int v3 ; pthread_t v4 ; clock_t v5 ; double v6 ; struct _IO_FILE * v7 ; __int64 v8 ; __int64 v9 ; unsigned int @@v10@@ ; clock_t v11 ; float v12 ; struct _IO_FILE * v13 ; __int64 result ; __int64 @@v16@@ ; __int64 @@v17@@ ; __int64 @@v18@@ [ Number ] ; __int64 @@v19@@ ; __int64 @@v20@@ [ Number ] ; __int64 @@v21@@ ; __int64 @@v22@@ ; __int64 @@v23@@ ; __int64 @@v24@@ ; __int64 @@v25@@ ; __int64 @@v26@@ ; __int64 @@v27@@ ; __int64 @@v28@@ [ Number ] ; clock_t @@v29@@ ; int @@v30@@ ; __int64 @@v31@@ ; int * @@v32@@ ; int @@v33@@ ; __int64 @@v34@@ ; __int64 @@v35@@ ; int @@k@@ ; int @@j@@ ; pthread_t @@th@@ ; unsigned int @@i@@ ; @@i@@ = Number ; parse_network_cfg ( @@v28@@ , @@a2@@ ) ; if ( @@a3@@ ) load_weights ( @@v28@@ , @@a3@@ ) ; v3 = time ( Number L ) ; srand ( v3 ) ; @@v35@@ = read_data_cfg ( @@a1@@ ) ; @@v34@@ = option_find_str ( @@v35@@ , String , String ) ; @@v33@@ = option_find_int ( @@v35@@ , String , Number L ) ; @@v32@@ = ( int * ) get_paths ( @@v34@@ ) ; @@v31@@ = list_to_array ( @@v32@@ ) ; @@v30@@ = * @@v32@@ ; free_list ( @@v32@@ ) ; memset ( @@v18@@ , Number , sizeof ( @@v18@@ ) ) ; @@v18@@ [ Number ] = @@v28@@ [ Number ] ; @@v18@@ [ Number ] = @@v31@@ ; LODWORD ( @@v18@@ [ Number ] ) = @@v33@@ ; @@v18@@ [ Number ] = HIDWORD ( @@v28@@ [ Number ] ) ; @@v18@@ [ Number ] = Number L ; @@v18@@ [ Number ] = ( __int64 ) @@v20@@ ; LODWORD ( @@v18@@ [ Number ] ) = Number ; @@th@@ = load_data_in_thread ( & @@v19@@ , String , @@v18@@ ) ; for ( @@i@@ = HIDWORD ( @@v28@@ [ Number ] ) ; ; @@i@@ += HIDWORD ( @@v28@@ [ Number ] ) ) { result = @@i@@ ; if ( ( int ) @@i@@ >= @@v30@@ ) break ; @@v29@@ = clock ( ) ; v4 = @@th@@ ; pthread_join ( @@th@@ , Number L ) ; @@v20@@ [ Number ] = @@v20@@ [ Number ] ; @@v21@@ = @@v20@@ [ Number ] ; @@v22@@ = @@v20@@ [ Number ] ; @@v23@@ = @@v20@@ [ Number ] ; @@v24@@ = @@v20@@ [ Number ] ; @@v25@@ = @@v20@@ [ Number ] ; @@v26@@ = @@v20@@ [ Number ] ; @@v27@@ = @@v20@@ [ Number ] ; if ( ( int ) @@i@@ < @@v30@@ ) { @@v18@@ [ Number ] = Number L * ( int ) @@i@@ + @@v31@@ ; if ( @@v30@@ < ( int ) ( HIDWORD ( @@v28@@ [ Number ] ) + @@i@@ ) ) LODWORD ( @@v18@@ [ Number ] ) = @@v30@@ - @@i@@ ; @@th@@ = load_data_in_thread ( v4 , Number L , HIDWORD ( @@v28@@ [ Number ] ) ) ; } v5 = clock ( ) ; v6 = sec ( v5 - @@v29@@ ) ; v7 = stderr ; fprintf ( stderr , String , ( unsigned int ) @@v21@@ , v6 ) ; @@v29@@ = clock ( ) ; @@v16@@ = network_predict_data ( v7 , String , v8 , v6 ) ; @@v17@@ = v9 ; for ( @@j@@ = Number ; @@j@@ < ( int ) @@v16@@ ; ++ @@j@@ ) { printf ( String , * ( const char * * ) ( Number L * ( int ) ( @@i@@ - HIDWORD ( @@v28@@ [ Number ] ) + @@j@@ ) + @@v31@@ ) ) ; for ( @@k@@ = Number ; @@k@@ < SHIDWORD ( @@v16@@ ) ; ++ @@k@@ ) printf ( String , * ( float * ) ( Number L * @@k@@ + * ( _QWORD * ) ( Number L * @@j@@ + @@v17@@ ) ) ) ; putchar ( Number ) ; } free_matrix ( @@v16@@ , @@v17@@ ) ; @@v10@@ = @@v21@@ ; v11 = clock ( ) ; v12 = sec ( v11 - @@v29@@ ) ; v13 = stderr ; fprintf ( stderr , String , v12 , @@v10@@ , @@i@@ ) ; free_data ( ( const char * ) v13 ) ; } return result ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "v10", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r32"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "i", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s20"}, {"n": "th", "t": {"T": 1, "n": "pthread_t", "s": 8}, "location": "s32"}, {"n": "v28", "t": {"T": 2, "n": 19, "s": 8, "t": "__int64"}, "location": "s352"}, {"n": "j", "t": {"T": 1, "n": "int", "s": 4}, "location": "s36"}, {"n": "v27", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s360"}, {"n": "v26", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s368"}, {"n": "v25", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s376"}, {"n": "v24", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s384"}, {"n": "v23", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s392"}, {"n": "k", "t": {"T": 1, "n": "int", "s": 4}, "location": "s40"}, {"n": "v22", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s400"}, {"n": "v21", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s408"}, {"n": "v35", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s48"}, {"n": "v20", "t": {"T": 2, "n": 9, "s": 8, "t": "__int64"}, "location": "s480"}, {"n": "v19", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s488"}, {"n": "v34", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s56"}, {"n": "v33", "t": {"T": 1, "n": "int", "s": 4}, "location": "s60"}, {"n": "v18", "t": {"T": 2, "n": 21, "s": 8, "t": "__int64"}, "location": "s656"}, {"n": "v17", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s664"}, {"n": "v16", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s672"}, {"n": "v32", "t": {"T": 3, "t": "int"}, "location": "s72"}, {"n": "v31", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s80"}, {"n": "v30", "t": {"T": 1, "n": "int", "s": 4}, "location": "s84"}, {"n": "v29", "t": {"T": 1, "n": "clock_t", "s": 8}, "location": "s96"}]}
{"name": "run_classifier", "code": "void __fastcall run_classifier ( int @@a1@@ , __int64 @@a2@@ ) { __int64 v2 ; const char * v3 ; char * v4 ; int v5 ; int v6 ; unsigned int @@v7@@ [ Number ] ; char * @@nptr@@ ; const char * @@v9@@ ; __int64 @@v10@@ ; __int64 @@v11@@ ; __int64 @@v12@@ ; unsigned int @@v13@@ ; int @@v14@@ ; int @@v15@@ ; __int64 @@v16@@ ; __int64 @@v17@@ ; if ( @@a1@@ > Number ) { @@v17@@ = find_char_arg ( ( unsigned int ) @@a1@@ , @@a2@@ , String , Number L ) ; @@v16@@ = read_intlist ( @@v17@@ , @@v7@@ , gpu_index ) ; @@v15@@ = find_int_arg ( ( unsigned int ) @@a1@@ , @@a2@@ , String , Number L ) ; @@v14@@ = find_int_arg ( ( unsigned int ) @@a1@@ , @@a2@@ , String , Number L ) ; @@v13@@ = find_arg ( ( unsigned int ) @@a1@@ , @@a2@@ , String ) ; @@v12@@ = * ( _QWORD * ) ( @@a2@@ + Number ) ; @@v11@@ = * ( _QWORD * ) ( @@a2@@ + Number ) ; if ( @@a1@@ <= Number ) v2 = Number L ; else v2 = * ( _QWORD * ) ( @@a2@@ + Number ) ; @@v10@@ = v2 ; if ( @@a1@@ <= Number ) v3 = Number L ; else v3 = * ( const char * * ) ( @@a2@@ + Number ) ; @@v9@@ = v3 ; if ( @@a1@@ <= Number ) v4 = Number L ; else v4 = * ( char * * ) ( @@a2@@ + Number ) ; @@nptr@@ = v4 ; if ( v4 ) v5 = atoi ( @@nptr@@ ) ; else v5 = Number ; @@v7@@ [ Number ] = v5 ; if ( ! strcmp ( * ( const char * * ) ( @@a2@@ + Number ) , String ) ) { predict_classifier ( @@v12@@ , @@v11@@ , @@v10@@ , @@v9@@ , @@v14@@ ) ; } else if ( ! strcmp ( * ( const char * * ) ( @@a2@@ + Number ) , String ) ) { v6 = atoi ( @@nptr@@ ) ; try_classifier ( @@v12@@ , @@v11@@ , @@v10@@ , @@v9@@ , v6 ) ; } else if ( ! strcmp ( * ( const char * * ) ( @@a2@@ + Number ) , String ) ) { train_classifier ( @@v12@@ , @@v11@@ , @@v10@@ , @@v16@@ , @@v7@@ [ Number ] , @@v13@@ ) ; } else if ( ! strcmp ( * ( const char * * ) ( @@a2@@ + Number ) , String ) ) { demo_classifier ( ) ; } else if ( ! strcmp ( * ( const char * * ) ( @@a2@@ + Number ) , String ) ) { gun_classifier ( ) ; } else if ( ! strcmp ( * ( const char * * ) ( @@a2@@ + Number ) , String ) ) { threat_classifier ( ) ; } else if ( ! strcmp ( * ( const char * * ) ( @@a2@@ + Number ) , String ) ) { test_classifier ( @@v12@@ , @@v11@@ , @@v10@@ ) ; } else if ( ! strcmp ( * ( const char * * ) ( @@a2@@ + Number ) , String ) ) { label_classifier ( @@v12@@ , @@v11@@ , @@v10@@ ) ; } else if ( ! strcmp ( * ( const char * * ) ( @@a2@@ + Number ) , String ) ) { validate_classifier_single ( @@v12@@ , @@v11@@ , @@v10@@ ) ; } else if ( ! strcmp ( * ( const char * * ) ( @@a2@@ + Number ) , String ) ) { validate_classifier_multi ( @@v12@@ , @@v11@@ , @@v10@@ ) ; } else if ( ! strcmp ( * ( const char * * ) ( @@a2@@ + Number ) , String ) ) { validate_classifier_10 ( @@v12@@ , @@v11@@ , @@v10@@ ) ; } else if ( ! strcmp ( * ( const char * * ) ( @@a2@@ + Number ) , String ) ) { validate_classifier_crop ( @@v12@@ , @@v11@@ , @@v10@@ ) ; } else if ( ! strcmp ( * ( const char * * ) ( @@a2@@ + Number ) , String ) ) { validate_classifier_full ( @@v12@@ , @@v11@@ , @@v10@@ ) ; } } else { fprintf ( stderr , String , * ( const char * * ) @@a2@@ , * ( const char * * ) ( @@a2@@ + Number ) ) ; } }", "source": [{"n": "a1", "t": {"T": 1, "n": "int", "s": 4}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "v16", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v15", "t": {"T": 1, "n": "int", "s": 4}, "location": "s20"}, {"n": "v14", "t": {"T": 1, "n": "int", "s": 4}, "location": "s24"}, {"n": "v13", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s28"}, {"n": "v12", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s40"}, {"n": "v11", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s48"}, {"n": "v10", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s56"}, {"n": "v9", "t": {"T": 3, "t": "const char"}, "location": "s64"}, {"n": "nptr", "t": {"T": 3, "t": "char"}, "location": "s72"}, {"n": "v17", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}, {"n": "v7", "t": {"T": 2, "n": 2, "s": 4, "t": "unsigned int"}, "location": "s80"}]}