{"name": "_Z26usbprog_update_mode_deviceP15usbprog_contexti", "code": "__int64 __fastcall usbprog_update_mode_device ( __int64 @@a1@@ , int @@a2@@ ) { __int64 @@result@@ ; char @@v3@@ [ Number ] ; char @@v4@@ [ Number ] ; __int64 @@v5@@ ; int @@v6@@ ; int @@v7@@ ; int @@v8@@ ; __int64 * @@v9@@ ; int @@v10@@ ; __int64 @@j@@ ; __int64 * @@i@@ ; usb_find_busses ( ) ; usb_find_devices ( ) ; @@v9@@ = ( __int64 * ) usb_get_busses ( ) ; @@v8@@ = Number ; @@v7@@ = Number ; @@v6@@ = Number ; @@v5@@ = usb_open ( * ( _QWORD * ) ( @@a1@@ + Number * ( @@a2@@ + Number L ) ) ) ; if ( * ( _WORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number * ( @@a2@@ + Number L ) ) + Number L ) == Number && * ( _WORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number * ( @@a2@@ + Number L ) ) + Number L ) == Number && ( usb_set_configuration ( @@v5@@ , Number L ) , usb_claim_interface ( @@v5@@ , Number L ) , usb_set_altinterface ( @@v5@@ , Number L ) , @@v7@@ = usb_get_string_simple ( @@v5@@ , Number L , @@v4@@ , Number L ) , @@v6@@ = usb_get_string_simple ( @@v5@@ , Number L , @@v3@@ , Number L ) , @@v7@@ <= Number ) && @@v6@@ <= Number ) { * ( _QWORD * ) ( @@a1@@ + Number ) = @@v5@@ ; @@result@@ = Number L ; } else { usb_set_configuration ( @@v5@@ , Number L ) ; usb_claim_interface ( @@v5@@ , Number L ) ; usb_set_altinterface ( @@v5@@ , Number L ) ; usb_control_msg ( @@v5@@ , Number L , Number L , Number L , Number L , Number L , Number L , Number L ) ; usb_close ( @@v5@@ ) ; sleep ( Number ) ; @@v10@@ = Number ; while ( Number ) { usb_find_busses ( ) ; usb_find_devices ( ) ; @@v9@@ = ( __int64 * ) usb_get_busses ( ) ; for ( @@i@@ = @@v9@@ ; @@i@@ ; @@i@@ = ( __int64 * ) * @@i@@ ) { for ( @@j@@ = @@i@@ [ Number ] ; @@j@@ ; @@j@@ = * ( _QWORD * ) @@j@@ ) { if ( * ( _WORD * ) ( @@j@@ + Number ) == Number && * ( _WORD * ) ( @@j@@ + Number ) == Number ) { * ( _QWORD * ) ( @@a1@@ + Number ) = usb_open ( @@j@@ ) ; usb_set_configuration ( * ( _QWORD * ) ( @@a1@@ + Number ) , Number L ) ; usb_claim_interface ( * ( _QWORD * ) ( @@a1@@ + Number ) , Number L ) ; usb_set_altinterface ( * ( _QWORD * ) ( @@a1@@ + Number ) , Number L ) ; return Number L ; } } } if ( ++ @@v10@@ > Number ) break ; sleep ( Number ) ; } @@result@@ = Number L ; } return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "j", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v10", "t": {"T": 1, "n": "int", "s": 4}, "location": "s20"}, {"n": "v9", "t": {"T": 3, "t": "__int64"}, "location": "s32"}, {"n": "v4", "t": {"T": 2, "n": 264, "s": 1, "t": "char"}, "location": "s320"}, {"n": "v8", "t": {"T": 1, "n": "int", "s": 4}, "location": "s36"}, {"n": "v7", "t": {"T": 1, "n": "int", "s": 4}, "location": "s40"}, {"n": "v6", "t": {"T": 1, "n": "int", "s": 4}, "location": "s44"}, {"n": "v5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s56"}, {"n": "v3", "t": {"T": 2, "n": 256, "s": 1, "t": "char"}, "location": "s576"}, {"n": "i", "t": {"T": 3, "t": "__int64"}, "location": "s8"}]}