{"name": "divide", "code": "void __fastcall divide ( _QWORD * @@a1@@ , _QWORD * @@a2@@ , _QWORD * @@a3@@ , _QWORD * @@a4@@ ) { _BYTE * v4 ; _BYTE * v5 ; void * @@v8@@ ; void * @@ptr@@ ; div_helper ( @@a1@@ , @@a2@@ , @@a3@@ , @@a4@@ ) ; if ( ( int ) compare_bignums ( * @@a1@@ , * @@a2@@ ) >= Number ) { @@ptr@@ = ( void * ) * @@a1@@ ; @@v8@@ = ( void * ) * @@a3@@ ; v4 = ( _BYTE * ) bnsub ( * @@a1@@ , * @@a2@@ ) ; * @@a1@@ = fill_big_num ( v4 ) ; v5 = ( _BYTE * ) bnadd ( * @@a3@@ , * @@a4@@ ) ; * @@a3@@ = fill_big_num ( v5 ) ; free ( @@ptr@@ ) ; free ( @@v8@@ ) ; } }", "source": [{"n": "a3", "t": {"T": 3, "t": "_QWORD"}, "location": "r16"}, {"n": "a4", "t": {"T": 3, "t": "_QWORD"}, "location": "r24"}, {"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "_QWORD"}, "location": "r64"}, {"n": "v8", "t": {"T": 3, "t": "void"}, "location": "s16"}, {"n": "ptr", "t": {"T": 3, "t": "void"}, "location": "s8"}]}