{"name": "label_classifier", "code": "__int64 __fastcall label_classifier ( __int64 @@a1@@ , __int64 @@a2@@ , __int64 @@a3@@ ) { unsigned int v3 ; __int64 v4 ; __int64 v5 ; __int64 v6 ; __int64 v7 ; __int64 result ; __int64 @@v10@@ ; __int64 @@v11@@ ; __int64 @@v12@@ ; __int64 @@v13@@ ; __int64 @@v14@@ [ Number ] ; __int64 @@v15@@ ; __int64 @@v16@@ ; int @@v17@@ ; __int64 @@v18@@ ; int @@v19@@ ; __int64 @@v20@@ ; int * @@v21@@ ; __int64 @@v22@@ ; unsigned int @@v23@@ ; __int64 @@v24@@ ; __int64 @@v25@@ ; __int64 @@v26@@ ; unsigned int @@i@@ ; parse_network_cfg ( & @@v15@@ , @@a2@@ ) ; set_batch_network ( & @@v15@@ , Number L ) ; if ( @@a3@@ ) load_weights ( & @@v15@@ , @@a3@@ ) ; v3 = time ( Number L ) ; srand ( v3 ) ; @@v26@@ = read_data_cfg ( @@a1@@ ) ; @@v25@@ = option_find_str ( @@v26@@ , String , String ) ; @@v24@@ = option_find_str ( @@v26@@ , String , String ) ; @@v23@@ = option_find_int ( @@v26@@ , String , Number L ) ; @@v22@@ = get_labels ( @@v25@@ ) ; @@v21@@ = ( int * ) get_paths ( @@v24@@ ) ; @@v20@@ = list_to_array ( @@v21@@ ) ; @@v19@@ = * @@v21@@ ; free_list ( @@v21@@ ) ; for ( @@i@@ = Number ; ; ++ @@i@@ ) { result = @@i@@ ; if ( ( int ) @@i@@ >= @@v19@@ ) break ; load_image_color ( @@v14@@ , * ( _QWORD * ) ( Number L * ( int ) @@i@@ + @@v20@@ ) , Number L , Number L ) ; resize_min ( & @@v12@@ , HIDWORD ( @@v16@@ ) ) ; v4 = ( unsigned int ) ( ( ( int ) @@v12@@ - HIDWORD ( @@v16@@ ) ) / Number ) ; crop_image ( & @@v10@@ , v4 , ( unsigned int ) ( ( HIDWORD ( @@v12@@ ) - ( int ) @@v16@@ ) / Number ) , HIDWORD ( @@v16@@ ) , ( unsigned int ) @@v16@@ ) ; v5 = @@v11@@ ; @@v18@@ = network_predict ( @@v11@@ ) ; v6 = @@v13@@ ; if ( @@v13@@ != @@v14@@ [ Number ] ) free_image ( v5 , v4 , @@v13@@ ) ; free_image ( v5 , v4 , v6 ) ; free_image ( v5 , v4 , v7 ) ; @@v17@@ = max_index ( @@v18@@ , @@v23@@ ) ; puts ( * ( const char * * ) ( Number L * @@v17@@ + @@v22@@ ) ) ; } return result ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "v26", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v16", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s208"}, {"n": "v25", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "v24", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s32"}, {"n": "v15", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s352"}, {"n": "v23", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s36"}, {"n": "v14", "t": {"T": 2, "n": 4, "s": 8, "t": "__int64"}, "location": "s384"}, {"n": "i", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s4"}, {"n": "v13", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s400"}, {"n": "v12", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s416"}, {"n": "v11", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s432"}, {"n": "v10", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s448"}, {"n": "v22", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s48"}, {"n": "v21", "t": {"T": 3, "t": "int"}, "location": "s56"}, {"n": "v20", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s64"}, {"n": "v19", "t": {"T": 1, "n": "int", "s": 4}, "location": "s68"}, {"n": "v18", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s80"}, {"n": "v17", "t": {"T": 1, "n": "int", "s": 4}, "location": "s84"}]}
{"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"}]}