{"name": "umfdi_grow_front", "code": "__int64 __fastcall umfdi_grow_front ( __int64 @@a1@@ , int @@a2@@ , int @@a3@@ , __int64 @@a4@@ , int @@a5@@ ) { int v5 ; int v6 ; int v8 ; int v9 ; int v10 ; int v11 ; int v12 ; int v13 ; int v14 ; int v15 ; double v16 ; double v17 ; int v18 ; int v19 ; int v22 ; int v23 ; int v24 ; int v25 ; int v26 ; int v27 ; int v28 ; int v29 ; int v30 ; int v31 ; int @@v32@@ ; int @@v33@@ ; int @@v34@@ ; int @@v35@@ ; double @@v36@@ ; double @@v37@@ ; int @@v38@@ ; int @@v39@@ ; int @@v40@@ ; int @@v41@@ ; int @@v42@@ ; int @@v43@@ ; _DWORD * @@v44@@ ; __int64 @@v45@@ ; __int64 @@v46@@ ; int @@v47@@ ; int v48 ; int v49 ; int @@v50@@ ; int @@j@@ ; int i ; int k ; __int64 @@v54@@ ; __int64 @@v55@@ ; @@v46@@ = * ( _QWORD * ) ( @@a4@@ + Number ) ; @@v45@@ = * ( _QWORD * ) ( @@a4@@ + Number ) ; @@v44@@ = * ( _DWORD * * ) @@a4@@ ; @@v43@@ = * ( _DWORD * ) ( @@a4@@ + Number ) ; @@v42@@ = * ( _DWORD * ) ( @@a4@@ + Number ) + @@v43@@ ; @@v41@@ = * ( _DWORD * ) ( @@a4@@ + Number ) + @@v43@@ ; @@v50@@ = * ( _DWORD * ) ( @@a4@@ + Number ) + Number ; if ( ( @@v50@@ & Number ) == Number ) @@v50@@ = * ( _DWORD * ) ( @@a4@@ + Number ) + Number ; v5 = @@v43@@ + @@v50@@ ; if ( @@v42@@ <= @@v43@@ + @@v50@@ ) v5 = * ( _DWORD * ) ( @@a4@@ + Number ) + @@v43@@ ; @@v40@@ = v5 ; v6 = @@v43@@ + * ( _DWORD * ) ( @@a4@@ + Number ) + Number ; if ( @@v41@@ <= v6 ) v6 = * ( _DWORD * ) ( @@a4@@ + Number ) + @@v43@@ ; @@v39@@ = v6 ; @@v38@@ = v6 * @@v40@@ ; if ( ( double ) @@v40@@ * ( double ) v6 * Number * Number > Number ) return Number L ; v26 = @@v43@@ + @@a2@@ ; if ( ( ( ( _BYTE ) @@v43@@ + ( _BYTE ) @@a2@@ ) & Number ) == Number ) ++ v26 ; v8 = v26 ; if ( @@v40@@ >= v26 ) v8 = @@v40@@ ; v27 = v8 ; v9 = @@v43@@ + @@a3@@ ; if ( @@v39@@ >= @@v43@@ + @@a3@@ ) v9 = @@v39@@ ; v22 = v9 ; v10 = v27 ; if ( @@v42@@ <= v27 ) v10 = * ( _DWORD * ) ( @@a4@@ + Number ) + @@v43@@ ; v28 = v10 ; v11 = v22 ; if ( @@v41@@ <= v22 ) v11 = * ( _DWORD * ) ( @@a4@@ + Number ) + @@v43@@ ; v23 = v11 ; @@v37@@ = ( double ) v11 * ( double ) v28 ; if ( @@v37@@ * Number * Number > Number ) { @@v36@@ = sqrt ( Number / @@v37@@ ) * Number ; if ( ( double ) @@v40@@ <= ( double ) v28 * @@v36@@ ) v12 = ( int ) ( ( double ) v28 * @@v36@@ ) ; else v12 = ( int ) ( double ) @@v40@@ ; v28 = v12 ; if ( ( double ) @@v39@@ <= ( double ) v23 * @@v36@@ ) v13 = ( int ) ( ( double ) v23 * @@v36@@ ) ; else v13 = ( int ) ( double ) @@v39@@ ; v48 = v13 * v28 ; if ( ( v28 & Number ) == Number ) ++ v28 ; v23 = v48 / v28 ; } v14 = v28 ; if ( @@v40@@ >= v28 ) v14 = @@v40@@ ; v29 = v14 ; v15 = v23 ; if ( @@v39@@ >= v23 ) v15 = @@v39@@ ; v24 = v15 ; v49 = v15 * v29 ; if ( * @@v44@@ && @@a5@@ != Number ) { umfdi_mem_free_tail_block ( @@a1@@ , ( unsigned int ) * @@v44@@ ) ; * @@v44@@ = Number ; * ( _QWORD * ) ( @@a4@@ + Number ) = Number L ; * ( _QWORD * ) ( @@a4@@ + Number ) = Number L ; * ( _QWORD * ) ( @@a4@@ + Number ) = Number L ; * ( _QWORD * ) ( @@a4@@ + Number ) = Number L ; } @@v47@@ = umfdi_mem_alloc_tail_block ( @@a1@@ , ( unsigned int ) ( ( unsigned __int64 ) ( Number * ( v49 + Number L ) - Number ) >> Number ) ) ; if ( ! @@v47@@ ) { if ( ! ( unsigned int ) umfdi_get_memory ( @@a1@@ , @@a4@@ , ( unsigned int ) ( ( unsigned __int64 ) ( Number * ( v49 + Number L ) - Number ) >> Number ) + Number , * ( unsigned int * ) ( @@a4@@ + Number ) , * ( unsigned int * ) ( @@a4@@ + Number ) , Number L ) ) return Number L ; @@v47@@ = umfdi_mem_alloc_tail_block ( @@a1@@ , ( unsigned int ) ( ( unsigned __int64 ) ( Number * ( v49 + Number L ) - Number ) >> Number ) ) ; } while ( ( v29 != @@v40@@ || v24 != @@v39@@ ) && ! @@v47@@ ) { if ( Number * ( double ) v29 <= ( double ) ( v29 - Number ) ) v16 = Number * ( double ) v29 ; else v16 = ( double ) ( v29 - Number ) ; v30 = ( int ) v16 ; if ( Number * ( double ) v24 <= ( double ) ( v24 - Number ) ) v17 = Number * ( double ) v24 ; else v17 = ( double ) ( v24 - Number ) ; v18 = @@v40@@ ; if ( v30 >= @@v40@@ ) v18 = v30 ; v29 = v18 ; v19 = @@v39@@ ; if ( ( int ) v17 >= @@v39@@ ) v19 = ( int ) v17 ; v24 = v19 ; if ( ( v29 & Number ) == Number ) ++ v29 ; v49 = v19 * v29 ; @@v47@@ = umfdi_mem_alloc_tail_block ( @@a1@@ , ( unsigned int ) ( ( unsigned __int64 ) ( Number * ( v19 * v29 + Number L ) - Number ) >> Number ) ) ; } if ( ! @@v47@@ ) { v29 = @@v40@@ ; v24 = @@v39@@ ; v49 = @@v38@@ ; @@v47@@ = umfdi_mem_alloc_tail_block ( @@a1@@ , ( unsigned int ) ( ( unsigned __int64 ) ( Number * ( @@v38@@ + Number L ) - Number ) >> Number ) ) ; } if ( ! @@v47@@ ) return Number L ; @@v35@@ = * ( _DWORD * ) ( @@a4@@ + Number ) ; @@v34@@ = * ( _DWORD * ) ( @@a4@@ + Number ) ; @@v33@@ = * ( _DWORD * ) ( @@a4@@ + Number ) ; @@v55@@ = * ( _QWORD * ) ( @@a4@@ + Number ) ; v31 = v29 - @@v43@@ ; v25 = v24 - @@v43@@ ; * ( _QWORD * ) ( @@a4@@ + Number ) = * ( _QWORD * ) ( @@a1@@ + Number ) + Number L * @@v47@@ ; * ( _QWORD * ) ( @@a4@@ + Number ) = Number L * @@v43@@ * @@v43@@ + * ( _QWORD * ) ( @@a4@@ + Number ) ; * ( _QWORD * ) ( @@a4@@ + Number ) = Number L * v31 * @@v43@@ + * ( _QWORD * ) ( @@a4@@ + Number ) ; * ( _QWORD * ) ( @@a4@@ + Number ) = Number L * v25 * @@v43@@ + * ( _QWORD * ) ( @@a4@@ + Number ) ; @@v54@@ = * ( _QWORD * ) ( @@a4@@ + Number ) ; if ( * @@v44@@ ) { for ( i = Number ; i < @@v33@@ ; ++ i ) { @@v32@@ = * ( _DWORD * ) ( Number L * i + @@v46@@ ) ; for ( @@j@@ = Number ; @@j@@ < @@v34@@ ; ++ @@j@@ ) * ( _QWORD * ) ( Number L * @@j@@ + @@v54@@ ) = * ( _QWORD * ) ( @@v55@@ + Number L * @@j@@ ) ; @@v54@@ += Number L * v31 ; @@v55@@ += Number L * @@v35@@ ; * ( _DWORD * ) ( @@v45@@ + Number L * @@v32@@ ) = v31 * i ; } } else if ( @@a5@@ == Number ) { for ( k = Number ; k < @@v33@@ ; ++ k ) * ( _DWORD * ) ( @@v45@@ + Number L * * ( int * ) ( Number L * k + @@v46@@ ) ) = v31 * k ; } umfdi_mem_free_tail_block ( @@a1@@ , ( unsigned int ) * @@v44@@ ) ; * @@v44@@ = @@v47@@ ; * ( _DWORD * ) ( @@a4@@ + Number ) = v31 ; * ( _DWORD * ) ( @@a4@@ + Number ) = v25 ; * ( _DWORD * ) ( @@a4@@ + Number ) = v49 ; * ( _DWORD * ) ( @@a4@@ + Number ) = Number ; return Number L ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r24"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "int", "s": 4}, "location": "r72"}, {"n": "v37", "t": {"T": 1, "n": "double", "s": 8}, "location": "s104"}, {"n": "v36", "t": {"T": 1, "n": "double", "s": 8}, "location": "s112"}, {"n": "v35", "t": {"T": 1, "n": "int", "s": 4}, "location": "s116"}, {"n": "v34", "t": {"T": 1, "n": "int", "s": 4}, "location": "s120"}, {"n": "v33", "t": {"T": 1, "n": "int", "s": 4}, "location": "s124"}, {"n": "v32", "t": {"T": 1, "n": "int", "s": 4}, "location": "s128"}, {"n": "v54", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "j", "t": {"T": 1, "n": "int", "s": 4}, "location": "s24"}, {"n": "v50", "t": {"T": 1, "n": "int", "s": 4}, "location": "s28"}, {"n": "v47", "t": {"T": 1, "n": "int", "s": 4}, "location": "s36"}, {"n": "v46", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s48"}, {"n": "v45", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s56"}, {"n": "v44", "t": {"T": 3, "t": "_DWORD"}, "location": "s64"}, {"n": "v43", "t": {"T": 1, "n": "int", "s": 4}, "location": "s68"}, {"n": "v42", "t": {"T": 1, "n": "int", "s": 4}, "location": "s72"}, {"n": "v41", "t": {"T": 1, "n": "int", "s": 4}, "location": "s76"}, {"n": "v55", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}, {"n": "v40", "t": {"T": 1, "n": "int", "s": 4}, "location": "s84"}, {"n": "v39", "t": {"T": 1, "n": "int", "s": 4}, "location": "s88"}, {"n": "v38", "t": {"T": 1, "n": "int", "s": 4}, "location": "s92"}]}