{"name": "_Z21usbprog_print_devicesP15usbprog_contextPPc", "code": "__int64 __fastcall usbprog_print_devices ( __int64 @@a1@@ , __int64 @@a2@@ ) { size_t v3 ; size_t v4 ; size_t v5 ; int v6 ; char @@v8@@ [ Number ] ; char @@v9@@ [ Number ] ; char @@s@@ [ Number ] ; char * @@v11@@ ; __int64 @@v12@@ ; __int64 @@v13@@ ; int @@v14@@ ; __int64 * @@v15@@ ; int @@v16@@ ; int @@v17@@ ; int @@v18@@ ; __int64 @@j@@ ; __int64 * @@i@@ ; usb_find_busses ( ) ; usb_find_devices ( ) ; @@v15@@ = ( __int64 * ) usb_get_busses ( ) ; @@v18@@ = Number ; @@v17@@ = Number ; @@v16@@ = Number ; @@v14@@ = Number ; sprintf ( ( char * ) ( @@a1@@ + Number ) , String , String ) ; for ( @@i@@ = @@v15@@ ; @@i@@ ; @@i@@ = ( __int64 * ) * @@i@@ ) { for ( @@j@@ = @@i@@ [ Number ] ; @@j@@ ; @@j@@ = * ( _QWORD * ) @@j@@ ) { if ( * ( _BYTE * ) ( @@j@@ + Number ) != Number && * ( _BYTE * ) ( @@j@@ + Number ) == Number ) { @@s@@ [ Number ] = Number ; @@v9@@ [ Number ] = Number ; @@v8@@ [ Number ] = Number ; if ( * ( _WORD * ) ( @@j@@ + Number ) == Number && * ( _WORD * ) ( @@j@@ + Number ) == Number ) { @@v13@@ = usb_open ( @@j@@ ) ; if ( ( int ) usb_get_string_simple ( @@v13@@ , Number L , @@s@@ , Number L ) <= Number && ( int ) usb_get_string_simple ( @@v13@@ , Number L , @@v9@@ , Number L ) <= Number ) { sprintf ( @@s@@ , String ) ; sprintf ( @@v9@@ , String ) ; @@v17@@ = strlen ( @@s@@ ) ; @@v16@@ = strlen ( @@v9@@ ) ; } else { @@v17@@ = usb_get_string_simple ( @@v13@@ , Number L , @@s@@ , Number L ) ; @@v16@@ = usb_get_string_simple ( @@v13@@ , Number L , @@v9@@ , Number L ) ; @@v14@@ = usb_get_string_simple ( @@v13@@ , Number L , @@v8@@ , Number L ) ; } usb_close ( @@v13@@ ) ; } else { @@v12@@ = usb_open ( @@j@@ ) ; @@v17@@ = usb_get_string_simple ( @@v12@@ , Number L , @@s@@ , Number L ) ; @@v16@@ = usb_get_string_simple ( @@v12@@ , Number L , @@v9@@ , Number L ) ; @@v14@@ = usb_get_string_simple ( @@v12@@ , Number L , @@v8@@ , Number L ) ; usb_close ( @@v12@@ ) ; if ( @@v17@@ <= Number ) sprintf ( @@s@@ , String ) ; if ( @@v16@@ <= Number ) sprintf ( @@v9@@ , String ) ; if ( @@v14@@ <= Number ) sprintf ( @@v8@@ , String ) ; } if ( @@v17@@ > Number || @@v16@@ > Number ) { v3 = strlen ( @@s@@ ) ; v4 = strlen ( @@v9@@ ) + v3 ; v5 = strlen ( @@v8@@ ) ; @@v11@@ = ( char * ) malloc ( v4 + v5 + Number ) ; sprintf ( @@v11@@ , String , @@v9@@ ) ; v6 = @@v18@@ ++ ; * ( _QWORD * ) ( @@a2@@ + Number L * v6 ) = @@v11@@ ; } } } } return Number L ; }", "source": [{"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": 3, "t": "__int64"}, "location": "s24"}, {"n": "j", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s32"}, {"n": "s", "t": {"T": 2, "n": 264, "s": 1, "t": "char"}, "location": "s352"}, {"n": "v18", "t": {"T": 1, "n": "int", "s": 4}, "location": "s36"}, {"n": "v17", "t": {"T": 1, "n": "int", "s": 4}, "location": "s40"}, {"n": "v16", "t": {"T": 1, "n": "int", "s": 4}, "location": "s44"}, {"n": "v15", "t": {"T": 3, "t": "__int64"}, "location": "s56"}, {"n": "v14", "t": {"T": 1, "n": "int", "s": 4}, "location": "s60"}, {"n": "v9", "t": {"T": 2, "n": 256, "s": 1, "t": "char"}, "location": "s608"}, {"n": "v13", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s72"}, {"n": "v12", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s80"}, {"n": "v8", "t": {"T": 2, "n": 256, "s": 1, "t": "char"}, "location": "s864"}, {"n": "v11", "t": {"T": 3, "t": "char"}, "location": "s88"}]}