func: void CRYPTO_dbg_realloc(void *addr1,void *addr2,int num,const char *file,int line,int before_p) switch ( before_p )  if ( addr2 == ( ( void * ) 0 ) )  if ( addr1 == ( ( void * ) 0 ) )  CRYPTO_dbg_malloc ( addr2 , num , file , line , 128 | before_p ); void CRYPTO_dbg_malloc(void *addr,int num,const char *file,int line,int before_p) MEM * m ; switch ( before_p & 127 )  if ( addr == ( ( void * ) 0 ) )  if ( CRYPTO_is_mem_check_on ( ) )  int CRYPTO_is_mem_check_on() int ret = 0 ; if ( mh_mode & 0x1 )  ret = mh_mode & 0x2 || CRYPTO_THREADID_cmp ( ( & disabling_threadid ) , ( & cur ) ); return ret ; if ( ( m = ( ( MEM * ) ( CRYPTO_malloc ( ( ( int ) ( sizeof ( MEM ) ) ) , "mem_dbg.c" , 498 ) ) ) ) == ( ( void * ) 0 ) )  if ( mh == ( ( void * ) 0 ) )  if ( ( mh = ( ( struct lhash_st_MEM * ) ( lh_new ( mem_LHASH_HASH , mem_LHASH_COMP ) ) ) ) == ( ( void * ) 0 ) )  m -> addr = addr; m -> file = file; m -> line = line; m -> num = num; if ( options & 0x2 )  memset ( ( & m -> threadid ) , 0 , sizeof ( m -> threadid ) ); m -> order = order; m -> order = order ++; m -> time = time ( ( ( void * ) 0 ) ); 