{"name": "DES_encrypt3", "code": "_DWORD * __fastcall DES_encrypt3 ( int * @@a1@@ , _DWORD * @@a2@@ , _DWORD * @@a3@@ , _DWORD * @@a4@@ ) { int v4 ; int v5 ; int v6 ; unsigned int v7 ; int v8 ; int v9 ; unsigned int v10 ; int v11 ; int v12 ; unsigned int v13 ; int v14 ; int v15 ; int v16 ; unsigned int v17 ; int v18 ; int v19 ; unsigned int v20 ; int v21 ; int v22 ; int v23 ; int v24 ; int v25 ; unsigned int v26 ; int v27 ; int v28 ; _DWORD * @@result@@ ; v4 = ( * @@a1@@ ^ ( ( unsigned int ) @@a1@@ [ Number ] >> Number ) ) & Number ^ * @@a1@@ ; v5 = ( Number * ( ( * @@a1@@ ^ ( ( unsigned int ) @@a1@@ [ Number ] >> Number ) ) & Number ) ) ^ @@a1@@ [ Number ] ; v6 = ( unsigned __int16 ) ( v5 ^ HIWORD ( v4 ) ) ; v7 = v6 ^ v5 ; v8 = ( v6 << Number ) ^ v4 ; v9 = ( v8 ^ ( v7 >> Number ) ) & Number ; v10 = v9 ^ v8 ; v11 = ( Number * v9 ) ^ v7 ; v12 = ( v11 ^ ( v10 >> Number ) ) & Number ; v13 = v12 ^ v11 ; v14 = ( v12 << Number ) ^ v10 ; v15 = ( v14 ^ ( v13 >> Number ) ) & Number ; * @@a1@@ = v15 ^ v14 ; @@a1@@ [ Number ] = ( Number * v15 ) ^ v13 ; DES_encrypt2 ( @@a1@@ , @@a2@@ , Number ) ; DES_encrypt2 ( @@a1@@ , @@a3@@ , Number ) ; DES_encrypt2 ( @@a1@@ , @@a4@@ , Number ) ; v16 = ( * @@a1@@ ^ ( ( unsigned int ) @@a1@@ [ Number ] >> Number ) ) & Number ; v17 = v16 ^ * @@a1@@ ; v18 = ( Number * v16 ) ^ @@a1@@ [ Number ] ; v19 = ( v18 ^ ( v17 >> Number ) ) & Number ; v20 = v19 ^ v18 ; v21 = ( v19 << Number ) ^ v17 ; v22 = ( v21 ^ ( v20 >> Number ) ) & Number ; v23 = v22 ^ v21 ; v24 = ( Number * v22 ) ^ v20 ; v25 = ( unsigned __int16 ) ( v24 ^ HIWORD ( v23 ) ) ; v26 = v25 ^ v24 ; v27 = ( v25 << Number ) ^ v23 ; v28 = ( v27 ^ ( v26 >> Number ) ) & Number ; * @@a1@@ = v28 ^ v27 ; @@result@@ = @@a1@@ + Number ; @@a1@@ [ Number ] = ( Number * v28 ) ^ v26 ; return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 3, "t": "_DWORD"}, "location": "r16"}, {"n": "a4", "t": {"T": 3, "t": "_DWORD"}, "location": "r24"}, {"n": "a1", "t": {"T": 3, "t": "int"}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "_DWORD"}, "location": "r64"}, {"n": "result", "t": {"T": 3, "t": "_DWORD"}, "location": "r8"}]}
{"name": "DES_encrypt2", "code": "_DWORD * __fastcall DES_encrypt2 ( _DWORD * @@a1@@ , _DWORD * @@a2@@ , int @@a3@@ ) { unsigned int v3 ; int v4 ; unsigned int v5 ; int v6 ; unsigned int v7 ; int v8 ; unsigned int v9 ; int v10 ; unsigned int v11 ; int v12 ; unsigned int v13 ; int v14 ; unsigned int v15 ; int v16 ; unsigned int v17 ; int v18 ; unsigned int v19 ; int v20 ; unsigned int v21 ; int v22 ; unsigned int v23 ; int v24 ; unsigned int v25 ; int v26 ; unsigned int v27 ; int v28 ; unsigned int v29 ; int v30 ; unsigned int v31 ; int v32 ; unsigned int v33 ; int v34 ; unsigned int v35 ; int v36 ; int v37 ; unsigned int v38 ; int v39 ; unsigned int v40 ; int v41 ; unsigned int v42 ; int v43 ; unsigned int v44 ; int v45 ; unsigned int v46 ; int v47 ; unsigned int v48 ; int v49 ; unsigned int v50 ; int v51 ; unsigned int v52 ; int v53 ; unsigned int v54 ; int v55 ; unsigned int v56 ; int v57 ; unsigned int v58 ; int v59 ; unsigned int v60 ; int v61 ; unsigned int v62 ; int v63 ; unsigned int v64 ; unsigned int v65 ; _DWORD * result ; v3 = __ROR4__ ( * @@a1@@ , Number ) ; v4 = __ROR4__ ( @@a1@@ [ Number ] , Number ) ; if ( @@a3@@ ) { v5 = __ROR4__ ( v3 ^ @@a2@@ [ Number ] , Number ) ; v6 = DES_SPtrans [ ( ( v5 >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int16 ) v5 >> Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) v5 >> Number ) + Number ] ^ DES_SPtrans [ ( ( v3 ^ * @@a2@@ ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( v3 ^ * @@a2@@ ) >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) ( ( unsigned __int16 ) ( v3 ^ * ( _WORD * ) @@a2@@ ) >> Number ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( v3 ^ * @@a2@@ ) >> Number ) & Number ] ^ DES_SPtrans [ ( v5 >> Number ) + Number ] ^ v4 ; v7 = __ROR4__ ( v6 ^ @@a2@@ [ Number ] , Number ) ; v8 = DES_SPtrans [ ( ( v7 >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int16 ) v7 >> Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) v7 >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v6 ^ @@a2@@ [ Number ] ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( ( unsigned int ) v6 ^ @@a2@@ [ Number ] ) >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) ( ( unsigned __int16 ) ( v6 ^ * ( ( _WORD * ) @@a2@@ + Number ) ) >> Number ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v6 ^ @@a2@@ [ Number ] ) >> Number ) & Number ] ^ DES_SPtrans [ ( v7 >> Number ) + Number ] ^ v3 ; v9 = __ROR4__ ( v8 ^ @@a2@@ [ Number ] , Number ) ; v10 = DES_SPtrans [ ( ( v9 >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int16 ) v9 >> Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) v9 >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v8 ^ @@a2@@ [ Number ] ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( ( unsigned int ) v8 ^ @@a2@@ [ Number ] ) >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) ( ( unsigned __int16 ) ( v8 ^ * ( ( _WORD * ) @@a2@@ + Number ) ) >> Number ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v8 ^ @@a2@@ [ Number ] ) >> Number ) & Number ] ^ DES_SPtrans [ ( v9 >> Number ) + Number ] ^ v6 ; v11 = __ROR4__ ( v10 ^ @@a2@@ [ Number ] , Number ) ; v12 = DES_SPtrans [ ( ( v11 >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int16 ) v11 >> Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) v11 >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v10 ^ @@a2@@ [ Number ] ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( ( unsigned int ) v10 ^ @@a2@@ [ Number ] ) >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) ( ( unsigned __int16 ) ( v10 ^ * ( ( _WORD * ) @@a2@@ + Number ) ) >> Number ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v10 ^ @@a2@@ [ Number ] ) >> Number ) & Number ] ^ DES_SPtrans [ ( v11 >> Number ) + Number ] ^ v8 ; v13 = __ROR4__ ( v12 ^ @@a2@@ [ Number ] , Number ) ; v14 = DES_SPtrans [ ( ( v13 >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int16 ) v13 >> Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) v13 >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v12 ^ @@a2@@ [ Number ] ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( ( unsigned int ) v12 ^ @@a2@@ [ Number ] ) >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) ( ( unsigned __int16 ) ( v12 ^ * ( ( _WORD * ) @@a2@@ + Number ) ) >> Number ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v12 ^ @@a2@@ [ Number ] ) >> Number ) & Number ] ^ DES_SPtrans [ ( v13 >> Number ) + Number ] ^ v10 ; v15 = __ROR4__ ( v14 ^ @@a2@@ [ Number ] , Number ) ; v16 = DES_SPtrans [ ( ( v15 >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int16 ) v15 >> Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) v15 >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v14 ^ @@a2@@ [ Number ] ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( ( unsigned int ) v14 ^ @@a2@@ [ Number ] ) >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) ( ( unsigned __int16 ) ( v14 ^ * ( ( _WORD * ) @@a2@@ + Number ) ) >> Number ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v14 ^ @@a2@@ [ Number ] ) >> Number ) & Number ] ^ DES_SPtrans [ ( v15 >> Number ) + Number ] ^ v12 ; v17 = __ROR4__ ( v16 ^ @@a2@@ [ Number ] , Number ) ; v18 = DES_SPtrans [ ( ( v17 >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int16 ) v17 >> Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) v17 >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v16 ^ @@a2@@ [ Number ] ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( ( unsigned int ) v16 ^ @@a2@@ [ Number ] ) >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) ( ( unsigned __int16 ) ( v16 ^ * ( ( _WORD * ) @@a2@@ + Number ) ) >> Number ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v16 ^ @@a2@@ [ Number ] ) >> Number ) & Number ] ^ DES_SPtrans [ ( v17 >> Number ) + Number ] ^ v14 ; v19 = __ROR4__ ( v18 ^ @@a2@@ [ Number ] , Number ) ; v20 = DES_SPtrans [ ( ( v19 >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int16 ) v19 >> Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) v19 >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v18 ^ @@a2@@ [ Number ] ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( ( unsigned int ) v18 ^ @@a2@@ [ Number ] ) >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) ( ( unsigned __int16 ) ( v18 ^ * ( ( _WORD * ) @@a2@@ + Number ) ) >> Number ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v18 ^ @@a2@@ [ Number ] ) >> Number ) & Number ] ^ DES_SPtrans [ ( v19 >> Number ) + Number ] ^ v16 ; v21 = __ROR4__ ( v20 ^ @@a2@@ [ Number ] , Number ) ; v22 = DES_SPtrans [ ( ( v21 >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int16 ) v21 >> Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) v21 >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v20 ^ @@a2@@ [ Number ] ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( ( unsigned int ) v20 ^ @@a2@@ [ Number ] ) >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) ( ( unsigned __int16 ) ( v20 ^ * ( ( _WORD * ) @@a2@@ + Number ) ) >> Number ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v20 ^ @@a2@@ [ Number ] ) >> Number ) & Number ] ^ DES_SPtrans [ ( v21 >> Number ) + Number ] ^ v18 ; v23 = __ROR4__ ( v22 ^ @@a2@@ [ Number ] , Number ) ; v24 = DES_SPtrans [ ( ( v23 >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int16 ) v23 >> Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) v23 >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v22 ^ @@a2@@ [ Number ] ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( ( unsigned int ) v22 ^ @@a2@@ [ Number ] ) >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) ( ( unsigned __int16 ) ( v22 ^ * ( ( _WORD * ) @@a2@@ + Number ) ) >> Number ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v22 ^ @@a2@@ [ Number ] ) >> Number ) & Number ] ^ DES_SPtrans [ ( v23 >> Number ) + Number ] ^ v20 ; v25 = __ROR4__ ( v24 ^ @@a2@@ [ Number ] , Number ) ; v26 = DES_SPtrans [ ( ( v25 >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int16 ) v25 >> Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) v25 >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v24 ^ @@a2@@ [ Number ] ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( ( unsigned int ) v24 ^ @@a2@@ [ Number ] ) >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) ( ( unsigned __int16 ) ( v24 ^ * ( ( _WORD * ) @@a2@@ + Number ) ) >> Number ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v24 ^ @@a2@@ [ Number ] ) >> Number ) & Number ] ^ DES_SPtrans [ ( v25 >> Number ) + Number ] ^ v22 ; v27 = __ROR4__ ( v26 ^ @@a2@@ [ Number ] , Number ) ; v28 = DES_SPtrans [ ( ( v27 >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int16 ) v27 >> Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) v27 >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v26 ^ @@a2@@ [ Number ] ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( ( unsigned int ) v26 ^ @@a2@@ [ Number ] ) >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) ( ( unsigned __int16 ) ( v26 ^ * ( ( _WORD * ) @@a2@@ + Number ) ) >> Number ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v26 ^ @@a2@@ [ Number ] ) >> Number ) & Number ] ^ DES_SPtrans [ ( v27 >> Number ) + Number ] ^ v24 ; v29 = __ROR4__ ( v28 ^ @@a2@@ [ Number ] , Number ) ; v30 = DES_SPtrans [ ( ( v29 >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int16 ) v29 >> Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) v29 >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v28 ^ @@a2@@ [ Number ] ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( ( unsigned int ) v28 ^ @@a2@@ [ Number ] ) >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) ( ( unsigned __int16 ) ( v28 ^ * ( ( _WORD * ) @@a2@@ + Number ) ) >> Number ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v28 ^ @@a2@@ [ Number ] ) >> Number ) & Number ] ^ DES_SPtrans [ ( v29 >> Number ) + Number ] ^ v26 ; v31 = __ROR4__ ( v30 ^ @@a2@@ [ Number ] , Number ) ; v32 = DES_SPtrans [ ( ( v31 >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int16 ) v31 >> Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) v31 >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v30 ^ @@a2@@ [ Number ] ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( ( unsigned int ) v30 ^ @@a2@@ [ Number ] ) >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) ( ( unsigned __int16 ) ( v30 ^ * ( ( _WORD * ) @@a2@@ + Number ) ) >> Number ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v30 ^ @@a2@@ [ Number ] ) >> Number ) & Number ] ^ DES_SPtrans [ ( v31 >> Number ) + Number ] ^ v28 ; v33 = __ROR4__ ( v32 ^ @@a2@@ [ Number ] , Number ) ; v34 = DES_SPtrans [ ( ( v33 >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int16 ) v33 >> Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) v33 >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v32 ^ @@a2@@ [ Number ] ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( ( unsigned int ) v32 ^ @@a2@@ [ Number ] ) >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) ( ( unsigned __int16 ) ( v32 ^ * ( ( _WORD * ) @@a2@@ + Number ) ) >> Number ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v32 ^ @@a2@@ [ Number ] ) >> Number ) & Number ] ^ DES_SPtrans [ ( v33 >> Number ) + Number ] ^ v30 ; v35 = __ROR4__ ( v34 ^ @@a2@@ [ Number ] , Number ) ; v36 = DES_SPtrans [ ( ( v35 >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int16 ) v35 >> Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) v35 >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v34 ^ @@a2@@ [ Number ] ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( ( unsigned int ) v34 ^ @@a2@@ [ Number ] ) >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) ( ( unsigned __int16 ) ( v34 ^ * ( ( _WORD * ) @@a2@@ + Number ) ) >> Number ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v34 ^ @@a2@@ [ Number ] ) >> Number ) & Number ] ; } else { v38 = __ROR4__ ( v3 ^ @@a2@@ [ Number ] , Number ) ; v39 = DES_SPtrans [ ( ( v38 >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int16 ) v38 >> Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) v38 >> Number ) + Number ] ^ DES_SPtrans [ ( ( v3 ^ @@a2@@ [ Number ] ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( v3 ^ @@a2@@ [ Number ] ) >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) ( ( unsigned __int16 ) ( v3 ^ * ( ( _WORD * ) @@a2@@ + Number ) ) >> Number ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( v3 ^ @@a2@@ [ Number ] ) >> Number ) & Number ] ^ DES_SPtrans [ ( v38 >> Number ) + Number ] ^ v4 ; v40 = __ROR4__ ( v39 ^ @@a2@@ [ Number ] , Number ) ; v41 = DES_SPtrans [ ( ( v40 >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int16 ) v40 >> Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) v40 >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v39 ^ @@a2@@ [ Number ] ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( ( unsigned int ) v39 ^ @@a2@@ [ Number ] ) >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) ( ( unsigned __int16 ) ( v39 ^ * ( ( _WORD * ) @@a2@@ + Number ) ) >> Number ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v39 ^ @@a2@@ [ Number ] ) >> Number ) & Number ] ^ DES_SPtrans [ ( v40 >> Number ) + Number ] ^ v3 ; v42 = __ROR4__ ( v41 ^ @@a2@@ [ Number ] , Number ) ; v43 = DES_SPtrans [ ( ( v42 >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int16 ) v42 >> Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) v42 >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v41 ^ @@a2@@ [ Number ] ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( ( unsigned int ) v41 ^ @@a2@@ [ Number ] ) >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) ( ( unsigned __int16 ) ( v41 ^ * ( ( _WORD * ) @@a2@@ + Number ) ) >> Number ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v41 ^ @@a2@@ [ Number ] ) >> Number ) & Number ] ^ DES_SPtrans [ ( v42 >> Number ) + Number ] ^ v39 ; v44 = __ROR4__ ( v43 ^ @@a2@@ [ Number ] , Number ) ; v45 = DES_SPtrans [ ( ( v44 >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int16 ) v44 >> Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) v44 >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v43 ^ @@a2@@ [ Number ] ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( ( unsigned int ) v43 ^ @@a2@@ [ Number ] ) >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) ( ( unsigned __int16 ) ( v43 ^ * ( ( _WORD * ) @@a2@@ + Number ) ) >> Number ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v43 ^ @@a2@@ [ Number ] ) >> Number ) & Number ] ^ DES_SPtrans [ ( v44 >> Number ) + Number ] ^ v41 ; v46 = __ROR4__ ( v45 ^ @@a2@@ [ Number ] , Number ) ; v47 = DES_SPtrans [ ( ( v46 >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int16 ) v46 >> Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) v46 >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v45 ^ @@a2@@ [ Number ] ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( ( unsigned int ) v45 ^ @@a2@@ [ Number ] ) >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) ( ( unsigned __int16 ) ( v45 ^ * ( ( _WORD * ) @@a2@@ + Number ) ) >> Number ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v45 ^ @@a2@@ [ Number ] ) >> Number ) & Number ] ^ DES_SPtrans [ ( v46 >> Number ) + Number ] ^ v43 ; v48 = __ROR4__ ( v47 ^ @@a2@@ [ Number ] , Number ) ; v49 = DES_SPtrans [ ( ( v48 >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int16 ) v48 >> Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) v48 >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v47 ^ @@a2@@ [ Number ] ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( ( unsigned int ) v47 ^ @@a2@@ [ Number ] ) >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) ( ( unsigned __int16 ) ( v47 ^ * ( ( _WORD * ) @@a2@@ + Number ) ) >> Number ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v47 ^ @@a2@@ [ Number ] ) >> Number ) & Number ] ^ DES_SPtrans [ ( v48 >> Number ) + Number ] ^ v45 ; v50 = __ROR4__ ( v49 ^ @@a2@@ [ Number ] , Number ) ; v51 = DES_SPtrans [ ( ( v50 >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int16 ) v50 >> Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) v50 >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v49 ^ @@a2@@ [ Number ] ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( ( unsigned int ) v49 ^ @@a2@@ [ Number ] ) >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) ( ( unsigned __int16 ) ( v49 ^ * ( ( _WORD * ) @@a2@@ + Number ) ) >> Number ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v49 ^ @@a2@@ [ Number ] ) >> Number ) & Number ] ^ DES_SPtrans [ ( v50 >> Number ) + Number ] ^ v47 ; v52 = __ROR4__ ( v51 ^ @@a2@@ [ Number ] , Number ) ; v53 = DES_SPtrans [ ( ( v52 >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int16 ) v52 >> Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) v52 >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v51 ^ @@a2@@ [ Number ] ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( ( unsigned int ) v51 ^ @@a2@@ [ Number ] ) >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) ( ( unsigned __int16 ) ( v51 ^ * ( ( _WORD * ) @@a2@@ + Number ) ) >> Number ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v51 ^ @@a2@@ [ Number ] ) >> Number ) & Number ] ^ DES_SPtrans [ ( v52 >> Number ) + Number ] ^ v49 ; v54 = __ROR4__ ( v53 ^ @@a2@@ [ Number ] , Number ) ; v55 = DES_SPtrans [ ( ( v54 >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int16 ) v54 >> Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) v54 >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v53 ^ @@a2@@ [ Number ] ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( ( unsigned int ) v53 ^ @@a2@@ [ Number ] ) >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) ( ( unsigned __int16 ) ( v53 ^ * ( ( _WORD * ) @@a2@@ + Number ) ) >> Number ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v53 ^ @@a2@@ [ Number ] ) >> Number ) & Number ] ^ DES_SPtrans [ ( v54 >> Number ) + Number ] ^ v51 ; v56 = __ROR4__ ( v55 ^ @@a2@@ [ Number ] , Number ) ; v57 = DES_SPtrans [ ( ( v56 >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int16 ) v56 >> Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) v56 >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v55 ^ @@a2@@ [ Number ] ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( ( unsigned int ) v55 ^ @@a2@@ [ Number ] ) >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) ( ( unsigned __int16 ) ( v55 ^ * ( ( _WORD * ) @@a2@@ + Number ) ) >> Number ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v55 ^ @@a2@@ [ Number ] ) >> Number ) & Number ] ^ DES_SPtrans [ ( v56 >> Number ) + Number ] ^ v53 ; v58 = __ROR4__ ( v57 ^ @@a2@@ [ Number ] , Number ) ; v59 = DES_SPtrans [ ( ( v58 >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int16 ) v58 >> Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) v58 >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v57 ^ @@a2@@ [ Number ] ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( ( unsigned int ) v57 ^ @@a2@@ [ Number ] ) >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) ( ( unsigned __int16 ) ( v57 ^ * ( ( _WORD * ) @@a2@@ + Number ) ) >> Number ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v57 ^ @@a2@@ [ Number ] ) >> Number ) & Number ] ^ DES_SPtrans [ ( v58 >> Number ) + Number ] ^ v55 ; v60 = __ROR4__ ( v59 ^ @@a2@@ [ Number ] , Number ) ; v61 = DES_SPtrans [ ( ( v60 >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int16 ) v60 >> Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) v60 >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v59 ^ @@a2@@ [ Number ] ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( ( unsigned int ) v59 ^ @@a2@@ [ Number ] ) >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) ( ( unsigned __int16 ) ( v59 ^ * ( ( _WORD * ) @@a2@@ + Number ) ) >> Number ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v59 ^ @@a2@@ [ Number ] ) >> Number ) & Number ] ^ DES_SPtrans [ ( v60 >> Number ) + Number ] ^ v57 ; v62 = __ROR4__ ( v61 ^ @@a2@@ [ Number ] , Number ) ; v63 = DES_SPtrans [ ( ( v62 >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int16 ) v62 >> Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) v62 >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v61 ^ @@a2@@ [ Number ] ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( ( unsigned int ) v61 ^ @@a2@@ [ Number ] ) >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) ( ( unsigned __int16 ) ( v61 ^ * ( ( _WORD * ) @@a2@@ + Number ) ) >> Number ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v61 ^ @@a2@@ [ Number ] ) >> Number ) & Number ] ^ DES_SPtrans [ ( v62 >> Number ) + Number ] ^ v59 ; v64 = __ROR4__ ( v63 ^ @@a2@@ [ Number ] , Number ) ; v32 = DES_SPtrans [ ( ( v64 >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int16 ) v64 >> Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) v64 >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v63 ^ @@a2@@ [ Number ] ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( ( unsigned int ) v63 ^ @@a2@@ [ Number ] ) >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) ( ( unsigned __int16 ) ( v63 ^ * ( ( _WORD * ) @@a2@@ + Number ) ) >> Number ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v63 ^ @@a2@@ [ Number ] ) >> Number ) & Number ] ^ DES_SPtrans [ ( v64 >> Number ) + Number ] ^ v61 ; v65 = __ROR4__ ( v32 ^ @@a2@@ [ Number ] , Number ) ; v34 = DES_SPtrans [ ( ( v65 >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int16 ) v65 >> Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) v65 >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v32 ^ @@a2@@ [ Number ] ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( ( unsigned int ) v32 ^ @@a2@@ [ Number ] ) >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) ( ( unsigned __int16 ) ( v32 ^ * ( ( _WORD * ) @@a2@@ + Number ) ) >> Number ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v32 ^ @@a2@@ [ Number ] ) >> Number ) & Number ] ^ DES_SPtrans [ ( v65 >> Number ) + Number ] ^ v63 ; v35 = __ROR4__ ( v34 ^ @@a2@@ [ Number ] , Number ) ; v36 = DES_SPtrans [ ( ( v35 >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int16 ) v35 >> Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) v35 >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v34 ^ * @@a2@@ ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( ( unsigned int ) v34 ^ * @@a2@@ ) >> Number ) & Number ) + Number ] ^ DES_SPtrans [ ( ( unsigned __int8 ) ( ( unsigned __int16 ) ( v34 ^ * ( _WORD * ) @@a2@@ ) >> Number ) >> Number ) + Number ] ^ DES_SPtrans [ ( ( ( unsigned int ) v34 ^ * @@a2@@ ) >> Number ) & Number ] ; } v37 = v36 ^ DES_SPtrans [ ( v35 >> Number ) + Number ] ^ v32 ; * @@a1@@ = __ROR4__ ( v34 , Number ) ; result = @@a1@@ + Number ; @@a1@@ [ Number ] = __ROR4__ ( v37 , Number ) ; return result ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r16"}, {"n": "a1", "t": {"T": 3, "t": "_DWORD"}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "_DWORD"}, "location": "r64"}]} {"name": "DES_ede3_cbc_encrypt", "code": "__int64 __fastcall DES_ede3_cbc_encrypt ( unsigned __int16 * @@a1@@ , __int64 @@a2@@ , __int64 @@a3@@ , _DWORD * @@a4@@ , _DWORD * @@a5@@ , _DWORD * @@a6@@ , unsigned __int8 * @@a7@@ , int @@a8@@ ) { unsigned __int8 * v9 ; int v10 ; unsigned __int8 * v11 ; int v12 ; unsigned __int8 * v13 ; int v14 ; unsigned __int8 * v15 ; int v16 ; unsigned __int8 * v17 ; int v18 ; unsigned __int8 * v19 ; int v20 ; unsigned __int8 * v21 ; int v22 ; unsigned __int8 * v23 ; int v24 ; int v25 ; int v26 ; unsigned __int8 * v27 ; int v28 ; _BYTE * v29 ; _BYTE * v30 ; _BYTE * v31 ; _BYTE * v32 ; _BYTE * v33 ; _BYTE * v34 ; _BYTE * v35 ; _BYTE * v36 ; char * @@v37@@ ; int v38 ; int v39 ; _BYTE * v40 ; _BYTE * v41 ; _BYTE * v42 ; _BYTE * v43 ; _BYTE * v44 ; _BYTE * v45 ; _BYTE * v46 ; _BYTE * v47 ; unsigned __int8 * v48 ; unsigned __int8 * v49 ; unsigned __int8 * v50 ; unsigned __int8 * v51 ; unsigned __int8 * v52 ; unsigned __int8 * v53 ; unsigned __int8 * v54 ; unsigned __int8 * v55 ; int v56 ; unsigned __int8 * v57 ; int v58 ; unsigned __int8 * v59 ; int v60 ; unsigned __int8 * v61 ; unsigned __int8 * v62 ; int v63 ; unsigned __int8 * v64 ; int v65 ; unsigned __int8 * v66 ; int v67 ; unsigned __int8 * v68 ; int v69 ; int v70 ; unsigned __int8 * v71 ; int v72 ; int v73 ; _BYTE * v74 ; _BYTE * v75 ; _BYTE * v76 ; _BYTE * v77 ; _BYTE * v78 ; _BYTE * v79 ; _BYTE * v80 ; _BYTE * v81 ; int v82 ; int v83 ; unsigned __int8 * v84 ; unsigned __int8 * v85 ; unsigned __int8 * v86 ; unsigned __int8 * v87 ; unsigned __int8 * v88 ; unsigned __int8 * v89 ; unsigned __int8 * v90 ; __int64 v92 ; __int64 v93 ; __int64 @@v94@@ ; __int64 i ; __int64 j ; int @@v100@@ ; int @@v101@@ ; unsigned __int8 * @@v102@@ ; _BYTE * @@v103@@ ; @@v103@@ = ( _BYTE * ) @@a2@@ ; @@v102@@ = @@a7@@ ; if ( @@a8@@ ) { v9 = @@v102@@ ++ ; v10 = * v9 ; v11 = @@v102@@ ++ ; v12 = ( * v11 << Number ) | v10 ; v13 = @@v102@@ ++ ; v14 = ( * v13 << Number ) | v12 ; v15 = @@v102@@ ++ ; v16 = ( * v15 << Number ) | v14 ; v17 = @@v102@@ ++ ; v18 = * v17 ; v19 = @@v102@@ ++ ; v20 = ( * v19 << Number ) | v18 ; v21 = @@v102@@ ++ ; v22 = ( * v21 << Number ) | v20 ; v23 = @@v102@@ ++ ; v24 = ( * v23 << Number ) | v22 ; for ( i = @@a3@@ - Number ; i >= Number ; i -= Number L ) { v25 = ( * ( ( unsigned __int8 * ) @@a1@@ + Number ) << Number ) | ( * ( ( unsigned __int8 * ) @@a1@@ + Number ) << Number ) | * @@a1@@ ; v26 = ( * ( ( unsigned __int8 * ) @@a1@@ + Number ) << Number ) | @@a1@@ [ Number ] ; v27 = ( unsigned __int8 * ) @@a1@@ + Number ; @@a1@@ += Number ; v28 = v24 ^ ( ( * v27 << Number ) | v26 ) ; @@v100@@ = v16 ^ v25 ; @@v101@@ = v28 ; DES_encrypt3 ( & @@v100@@ , @@a4@@ , @@a5@@ , @@a6@@ ) ; v16 = @@v100@@ ; v24 = @@v101@@ ; v29 = @@v103@@ ++ ; * v29 = @@v100@@ ; v30 = @@v103@@ ++ ; * v30 = BYTE1 ( v16 ) ; v31 = @@v103@@ ++ ; * v31 = BYTE2 ( v16 ) ; v32 = @@v103@@ ++ ; * v32 = HIBYTE ( v16 ) ; v33 = @@v103@@ ++ ; * v33 = v24 ; v34 = @@v103@@ ++ ; * v34 = BYTE1 ( v24 ) ; v35 = @@v103@@ ++ ; * v35 = BYTE2 ( v24 ) ; v36 = @@v103@@ ++ ; * v36 = HIBYTE ( v24 ) ; } if ( i != Number ) { @@v37@@ = ( char * ) @@a1@@ + i + Number ; v38 = Number ; v39 = Number ; switch ( i ) { case Number : goto LABEL_14 ; case Number : goto LABEL_13 ; case Number : goto LABEL_12 ; case Number : goto LABEL_11 ; case Number : goto LABEL_10 ; case Number : goto LABEL_9 ; case Number : goto LABEL_8 ; case Number L : v38 = ( unsigned __int8 ) * -- @@v37@@ << Number ; LABEL_8 : v38 |= ( unsigned __int8 ) * -- @@v37@@ << Number ; LABEL_9 : v38 |= ( unsigned __int8 ) * -- @@v37@@ << Number ; LABEL_10 : v38 |= ( unsigned __int8 ) * -- @@v37@@ ; LABEL_11 : v39 = ( unsigned __int8 ) * -- @@v37@@ << Number ; LABEL_12 : v39 |= ( unsigned __int8 ) * -- @@v37@@ << Number ; LABEL_13 : v39 |= ( unsigned __int8 ) * -- @@v37@@ << Number ; LABEL_14 : v39 |= ( unsigned __int8 ) * ( @@v37@@ - Number ) ; break ; default : break ; } @@v100@@ = v16 ^ v39 ; @@v101@@ = v24 ^ v38 ; DES_encrypt3 ( & @@v100@@ , @@a4@@ , @@a5@@ , @@a6@@ ) ; v16 = @@v100@@ ; v24 = @@v101@@ ; v40 = @@v103@@ ++ ; * v40 = @@v100@@ ; v41 = @@v103@@ ++ ; * v41 = BYTE1 ( v16 ) ; v42 = @@v103@@ ++ ; * v42 = BYTE2 ( v16 ) ; v43 = @@v103@@ ++ ; * v43 = HIBYTE ( v16 ) ; v44 = @@v103@@ ++ ; * v44 = v24 ; v45 = @@v103@@ ++ ; * v45 = BYTE1 ( v24 ) ; v46 = @@v103@@ ++ ; * v46 = BYTE2 ( v24 ) ; v47 = @@v103@@ ++ ; * v47 = HIBYTE ( v24 ) ; } @@v102@@ = @@a7@@ + Number ; * @@a7@@ = v16 ; v48 = @@v102@@ ++ ; * v48 = BYTE1 ( v16 ) ; v49 = @@v102@@ ++ ; * v49 = BYTE2 ( v16 ) ; v50 = @@v102@@ ++ ; * v50 = HIBYTE ( v16 ) ; v51 = @@v102@@ ++ ; * v51 = v24 ; v52 = @@v102@@ ++ ; * v52 = BYTE1 ( v24 ) ; v53 = @@v102@@ ++ ; * v53 = BYTE2 ( v24 ) ; v54 = @@v102@@ ++ ; * v54 = HIBYTE ( v24 ) ; } else { v55 = @@v102@@ ++ ; v56 = * v55 ; v57 = @@v102@@ ++ ; v58 = ( * v57 << Number ) | v56 ; v59 = @@v102@@ ++ ; v60 = ( * v59 << Number ) | v58 ; v61 = @@v102@@ ++ ; HIDWORD ( @@v94@@ ) = ( * v61 << Number ) | v60 ; v62 = @@v102@@ ++ ; v63 = * v62 ; v64 = @@v102@@ ++ ; v65 = ( * v64 << Number ) | v63 ; v66 = @@v102@@ ++ ; v67 = ( * v66 << Number ) | v65 ; v68 = @@v102@@ ++ ; LODWORD ( @@v94@@ ) = ( * v68 << Number ) | v67 ; for ( j = @@a3@@ - Number ; j >= Number ; j -= Number L ) { v69 = ( * ( ( unsigned __int8 * ) @@a1@@ + Number ) << Number ) | ( * ( ( unsigned __int8 * ) @@a1@@ + Number ) << Number ) | * @@a1@@ ; v70 = ( * ( ( unsigned __int8 * ) @@a1@@ + Number ) << Number ) | @@a1@@ [ Number ] ; v71 = ( unsigned __int8 * ) @@a1@@ + Number ; @@a1@@ += Number ; HIDWORD ( v92 ) = v69 ; LODWORD ( v92 ) = ( * v71 << Number ) | v70 ; @@v100@@ = v69 ; @@v101@@ = v92 ; DES_decrypt3 ( & @@v100@@ , @@a4@@ , @@a5@@ , @@a6@@ ) ; v72 = HIDWORD ( @@v94@@ ) ^ @@v100@@ ; v73 = @@v94@@ ^ @@v101@@ ; v74 = @@v103@@ ++ ; * v74 = BYTE4 ( @@v94@@ ) ^ @@v100@@ ; v75 = @@v103@@ ++ ; * v75 = BYTE1 ( v72 ) ; v76 = @@v103@@ ++ ; * v76 = BYTE2 ( v72 ) ; v77 = @@v103@@ ++ ; * v77 = HIBYTE ( v72 ) ; v78 = @@v103@@ ++ ; * v78 = v73 ; v79 = @@v103@@ ++ ; * v79 = BYTE1 ( v73 ) ; v80 = @@v103@@ ++ ; * v80 = BYTE2 ( v73 ) ; v81 = @@v103@@ ++ ; * v81 = HIBYTE ( v73 ) ; @@v94@@ = v92 ; } if ( j != Number ) { HIDWORD ( v93 ) = ( * ( ( unsigned __int8 * ) @@a1@@ + Number ) << Number ) | ( * ( ( unsigned __int8 * ) @@a1@@ + Number ) << Number ) | * @@a1@@ ; LODWORD ( v93 ) = ( * ( ( unsigned __int8 * ) @@a1@@ + Number ) << Number ) | ( * ( ( unsigned __int8 * ) @@a1@@ + Number ) << Number ) | @@a1@@ [ Number ] ; @@v100@@ = HIDWORD ( v93 ) ; @@v101@@ = v93 ; DES_decrypt3 ( & @@v100@@ , @@a4@@ , @@a5@@ , @@a6@@ ) ; v82 = HIDWORD ( @@v94@@ ) ^ @@v100@@ ; v83 = @@v94@@ ^ @@v101@@ ; @@v103@@ += j + Number ; switch ( j ) { case Number : goto LABEL_29 ; case Number : goto LABEL_28 ; case Number : goto LABEL_27 ; case Number : goto LABEL_26 ; case Number : goto LABEL_25 ; case Number : goto LABEL_24 ; case Number : goto LABEL_23 ; case Number L : * -- @@v103@@ = HIBYTE ( v83 ) ; LABEL_23 : * -- @@v103@@ = BYTE2 ( v83 ) ; LABEL_24 : * -- @@v103@@ = BYTE1 ( v83 ) ; LABEL_25 : * -- @@v103@@ = v83 ; LABEL_26 : * -- @@v103@@ = HIBYTE ( v82 ) ; LABEL_27 : * -- @@v103@@ = BYTE2 ( v82 ) ; LABEL_28 : * -- @@v103@@ = BYTE1 ( v82 ) ; LABEL_29 : * -- @@v103@@ = v82 ; break ; default : break ; } @@v94@@ = v93 ; } @@v102@@ = @@a7@@ + Number ; * @@a7@@ = BYTE4 ( @@v94@@ ) ; v84 = @@v102@@ ++ ; * v84 = BYTE5 ( @@v94@@ ) ; v85 = @@v102@@ ++ ; * v85 = BYTE6 ( @@v94@@ ) ; v86 = @@v102@@ ++ ; * v86 = HIBYTE ( @@v94@@ ) ; v87 = @@v102@@ ++ ; * v87 = @@v94@@ ; v88 = @@v102@@ ++ ; * v88 = BYTE1 ( @@v94@@ ) ; v89 = @@v102@@ ++ ; * v89 = BYTE2 ( @@v94@@ ) ; v90 = @@v102@@ ++ ; * v90 = BYTE3 ( @@v94@@ ) ; } return Number L ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a4", "t": {"T": 3, "t": "_DWORD"}, "location": "r24"}, {"n": "v37", "t": {"T": 3, "t": "char"}, "location": "r32"}, {"n": "a1", "t": {"T": 3, "t": "unsigned __int16"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "a5", "t": {"T": 3, "t": "_DWORD"}, "location": "r72"}, {"n": "a6", "t": {"T": 3, "t": "_DWORD"}, "location": "r80"}, {"n": "a7", "t": {"T": 3, "t": "unsigned __int8"}, "location": "s-16"}, {"n": "a8", "t": {"T": 1, "n": "int", "s": 4}, "location": "s-24"}, {"n": "v94", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s136"}, {"n": "v103", "t": {"T": 3, "t": "_BYTE"}, "location": "s48"}, {"n": "v102", "t": {"T": 3, "t": "unsigned __int8"}, "location": "s56"}, {"n": "v101", "t": {"T": 1, "n": "int", "s": 4}, "location": "s60"}, {"n": "v100", "t": {"T": 1, "n": "int", "s": 4}, "location": "s64"}]}