{"name": "_Z25is_usbprog_in_update_modeP15usbprog_context", "code": "__int64 is_usbprog_in_update_mode ( ) { char @@v2@@ [ Number ] ; char @@v3@@ [ Number ] ; __int64 @@v4@@ ; int @@v5@@ ; int @@v6@@ ; int @@v7@@ ; int @@v8@@ ; __int64 * @@v9@@ ; __int64 @@j@@ ; __int64 * @@i@@ ; usb_find_busses ( ) ; usb_find_devices ( ) ; @@v9@@ = ( __int64 * ) usb_get_busses ( ) ; @@v8@@ = Number ; @@v7@@ = Number ; @@v6@@ = Number ; @@v5@@ = Number ; for ( @@i@@ = @@v9@@ ; @@i@@ ; @@i@@ = ( __int64 * ) * @@i@@ ) { for ( @@j@@ = @@i@@ [ Number ] ; @@j@@ ; @@j@@ = * ( _QWORD * ) @@j@@ ) { if ( * ( _BYTE * ) ( @@j@@ + Number ) != Number && * ( _BYTE * ) ( @@j@@ + Number ) == Number ) { @@v3@@ [ Number ] = Number ; @@v2@@ [ Number ] = Number ; if ( * ( _WORD * ) ( @@j@@ + Number ) == Number && * ( _WORD * ) ( @@j@@ + Number ) == Number ) { @@v4@@ = usb_open ( @@j@@ ) ; usb_set_configuration ( @@v4@@ , Number L ) ; usb_claim_interface ( @@v4@@ , Number L ) ; usb_set_altinterface ( @@v4@@ , Number L ) ; if ( ( int ) usb_get_string_simple ( @@v4@@ , Number L , @@v3@@ , Number L ) <= Number && ( int ) usb_get_string_simple ( @@v4@@ , Number L , @@v2@@ , Number L ) <= Number ) { usb_close ( @@v4@@ ) ; return Number L ; } usb_close ( @@v4@@ ) ; } } } } return Number L ; }", "source": [{"n": "j", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v9", "t": {"T": 3, "t": "__int64"}, "location": "s24"}, {"n": "v8", "t": {"T": 1, "n": "int", "s": 4}, "location": "s28"}, {"n": "v3", "t": {"T": 2, "n": 256, "s": 1, "t": "char"}, "location": "s304"}, {"n": "v7", "t": {"T": 1, "n": "int", "s": 4}, "location": "s32"}, {"n": "v6", "t": {"T": 1, "n": "int", "s": 4}, "location": "s36"}, {"n": "v5", "t": {"T": 1, "n": "int", "s": 4}, "location": "s40"}, {"n": "v4", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s48"}, {"n": "v2", "t": {"T": 2, "n": 256, "s": 1, "t": "char"}, "location": "s560"}, {"n": "i", "t": {"T": 3, "t": "__int64"}, "location": "s8"}]}