{"name": "tv_floor", "code": "__int64 __fastcall tv_floor ( __int64 @@a1@@ , __int64 @@a2@@ ) { return tv_adjust ( @@a1@@ , @@a2@@ ) ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}]}
{"name": "tv_adjust", "code": "__int64 __fastcall tv_adjust ( __int64 @@a1@@ , __int64 @@a2@@ ) { while ( @@a2@@ > Number ) { @@a2@@ -= Number L ; ++ @@a1@@ ; } while ( @@a2@@ < Number ) { @@a2@@ += Number L ; -- @@a1@@ ; } return @@a1@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}]} {"name": "get_age", "code": "__int64 __fastcall get_age ( __int64 @@a1@@ ) { int @@v1@@ ; __int64 @@v2@@ ; __int64 @@v3@@ ; struct timeval @@tv@@ ; gettimeofday ( & @@tv@@ , Number L ) ; @@v1@@ = ntohs ( * * ( _WORD * * ) ( @@a1@@ + Number ) ) ; @@v2@@ = tv_sub ( @@tv@@ . tv_sec , @@tv@@ . tv_usec , * ( _QWORD * ) ( @@a1@@ + Number ) , * ( _QWORD * ) ( @@a1@@ + Number ) ) ; return @@v1@@ + ( unsigned int ) tv_floor ( @@v2@@ , @@v3@@ ) ; }", "source": [{"n": "v1", "t": {"T": 1, "n": "int", "s": 4}, "location": "r104"}, {"n": "v3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "v2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "tv", "t": {"T": 6, "n": "struct timeval", "l": [{"T": 4, "n": "tv_sec", "t": "__time_t", "s": 8}, {"T": 4, "n": "tv_usec", "t": "__suseconds_t", "s": 8}]}, "location": "s48"}]}