{"name": "predict_classifier", "code": "char * __fastcall predict_classifier ( __int64 @@a1@@ , __int64 @@a2@@ , __int64 @@a3@@ , const char * @@a4@@ , int @@a5@@ ) { char * result ; clock_t v6 ; float @@v7@@ ; const char * v8 ; struct _IO_FILE * v9 ; __int64 v10 ; __int64 @@v14@@ ; __int64 @@v15@@ ; __int64 @@v16@@ [ Number ] ; char @@v17@@ ; __int64 @@v18@@ ; __int64 @@v19@@ ; __int64 @@v20@@ ; __int64 @@v21@@ ; int @@v22@@ ; __int64 @@v23@@ ; clock_t @@v24@@ ; __int64 @@v25@@ ; _DWORD * @@v26@@ ; __int64 @@v27@@ ; __int64 @@v28@@ ; char * @@dest@@ ; int @@i@@ ; __int64 @@v31@@ ; parse_network_cfg ( & @@v18@@ , @@a2@@ ) ; if ( @@a3@@ ) load_weights ( & @@v18@@ , @@a3@@ ) ; set_batch_network ( & @@v18@@ , Number L ) ; srand ( Number ) ; @@v28@@ = read_data_cfg ( @@a1@@ ) ; @@v31@@ = option_find_str ( @@v28@@ , String , Number L ) ; if ( ! @@v31@@ ) @@v31@@ = option_find_str ( @@v28@@ , String , String ) ; if ( ! @@a5@@ ) @@a5@@ = option_find_int ( @@v28@@ , String , Number L ) ; @@i@@ = Number ; @@v27@@ = get_labels ( @@v31@@ ) ; @@v26@@ = calloc ( @@a5@@ , Number ) ; @@dest@@ = & @@v17@@ ; do { if ( @@a4@@ ) { strncpy ( @@dest@@ , @@a4@@ , Number ) ; } else { printf ( String ) ; fflush ( stdout ) ; result = fgets ( @@dest@@ , Number , stdin ) ; @@dest@@ = result ; if ( ! result ) return result ; strtok ( @@dest@@ , String ) ; } load_image_color ( @@v16@@ , @@dest@@ , Number L , Number L ) ; letterbox_image ( & @@v14@@ , HIDWORD ( @@v20@@ ) , ( unsigned int ) @@v20@@ ) ; @@v25@@ = @@v15@@ ; @@v24@@ = clock ( ) ; @@v23@@ = network_predict ( @@v25@@ ) ; if ( @@v21@@ ) hierarchy_predictions ( @@v23@@ , HIDWORD ( @@v19@@ ) , @@v21@@ , Number L , Number L ) ; top_k ( @@v23@@ , HIDWORD ( @@v19@@ ) , ( unsigned int ) @@a5@@ , @@v26@@ ) ; v6 = clock ( ) ; @@v7@@ = sec ( v6 - @@v24@@ ) ; v8 = String ; v9 = stderr ; fprintf ( stderr , String , @@dest@@ , @@v7@@ ) ; for ( @@i@@ = Number ; @@i@@ < @@a5@@ ; ++ @@i@@ ) { @@v22@@ = @@v26@@ [ @@i@@ ] ; v8 = * ( const char * * ) ( Number L * @@v22@@ + @@v27@@ ) ; v9 = ( struct _IO_FILE * ) String ; printf ( String , ( float ) ( Number * * ( float * ) ( Number L * @@v22@@ + @@v23@@ ) ) , v8 ) ; } v10 = @@v15@@ ; if ( @@v15@@ != @@v16@@ [ Number ] ) free_image ( v9 , v8 , @@v15@@ ) ; result = ( char * ) free_image ( v9 , v8 , v10 ) ; } while ( ! @@a4@@ ) ; return result ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a4", "t": {"T": 3, "t": "const char"}, "location": "r24"}, {"n": "v7", "t": {"T": 1, "n": "float", "s": 4}, "location": "r496"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "int", "s": 4}, "location": "r72"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s12"}, {"n": "v21", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s144"}, {"n": "v20", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s192"}, {"n": "v19", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s208"}, {"n": "dest", "t": {"T": 3, "t": "char"}, "location": "s24"}, {"n": "v28", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s32"}, {"n": "v18", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s336"}, {"n": "v27", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s40"}, {"n": "v26", "t": {"T": 3, "t": "_DWORD"}, "location": "s48"}, {"n": "v25", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s56"}, {"n": "v17", "t": {"T": 1, "n": "char", "s": 1}, "location": "s592"}, {"n": "v16", "t": {"T": 2, "n": 4, "s": 8, "t": "__int64"}, "location": "s624"}, {"n": "v24", "t": {"T": 1, "n": "clock_t", "s": 8}, "location": "s64"}, {"n": "v15", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s640"}, {"n": "v14", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s656"}, {"n": "v23", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s72"}, {"n": "v22", "t": {"T": 1, "n": "int", "s": 4}, "location": "s76"}, {"n": "v31", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]}
{"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"}]}