{"name": "ExecRecursiveUnion", "code": "__int64 __fastcall ExecRecursiveUnion ( _QWORD * @@a1@@ ) { __int64 result ; __int64 v2 ; char @@v3@@ ; __int64 @@v4@@ ; __int64 @@v5@@ ; __int64 @@v6@@ ; __int64 @@v7@@ ; _QWORD * @@v8@@ ; @@v8@@ = @@a1@@ ; @@v7@@ = @@a1@@ [ Number ] ; @@v6@@ = @@a1@@ [ Number ] ; @@v5@@ = @@a1@@ [ Number ] ; if ( InterruptPending ) ProcessInterrupts ( ) ; if ( * ( ( _BYTE * ) @@v8@@ + Number ) != Number ) { do { @@v4@@ = ExecProcNode ( @@v7@@ ) ; if ( ! @@v4@@ || ( * ( _WORD * ) ( @@v4@@ + Number ) & Number ) != Number ) { * ( ( _BYTE * ) @@v8@@ + Number ) = Number ; goto LABEL_10 ; } if ( * ( int * ) ( @@v5@@ + Number ) <= Number ) break ; LookupTupleHashEntry ( @@v8@@ [ Number ] , @@v4@@ , & @@v3@@ ) ; MemoryContextReset ( @@v8@@ [ Number ] ) ; } while ( @@v3@@ != Number ) ; tuplestore_puttupleslot ( @@v8@@ [ Number ] , @@v4@@ ) ; result = @@v4@@ ; } else { while ( Number ) { LABEL_10 : while ( Number ) { @@v4@@ = ExecProcNode ( @@v6@@ ) ; if ( ! @@v4@@ || ( * ( _WORD * ) ( @@v4@@ + Number ) & Number ) != Number ) break ; if ( * ( int * ) ( @@v5@@ + Number ) > Number ) { LookupTupleHashEntry ( @@v8@@ [ Number ] , @@v4@@ , & @@v3@@ ) ; MemoryContextReset ( @@v8@@ [ Number ] ) ; if ( @@v3@@ != Number ) continue ; } * ( ( _BYTE * ) @@v8@@ + Number ) = Number ; tuplestore_puttupleslot ( @@v8@@ [ Number ] , @@v4@@ ) ; return @@v4@@ ; } if ( * ( ( _BYTE * ) @@v8@@ + Number ) ) break ; tuplestore_end ( @@v8@@ [ Number ] ) ; @@v8@@ [ Number ] = @@v8@@ [ Number ] ; @@v8@@ [ Number ] = tuplestore_begin_heap ( Number L , Number L , work_mem ) ; * ( ( _BYTE * ) @@v8@@ + Number ) = Number ; v2 = bms_add_member ( * ( _QWORD * ) ( @@v6@@ + Number ) , * ( unsigned int * ) ( @@v5@@ + Number ) ) ; * ( _QWORD * ) ( @@v6@@ + Number ) = v2 ; } result = Number L ; } return result ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}, {"n": "v7", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v6", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "v5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s32"}, {"n": "v4", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s40"}, {"n": "v3", "t": {"T": 1, "n": "char", "s": 1}, "location": "s41"}, {"n": "v8", "t": {"T": 3, "t": "_QWORD"}, "location": "s8"}]}