Unreal Engine FindRow crashing the engine

so i tryied to make an code in blueprint then i translated to C++, i am using this function here in BP


i wanted to see how that looks like on C++ but im currentily fancing that problem to find that function and that struct and all that in C++, i tryied this code here, to set the money for the player, but it crashed, strange that it didnt crash in debug mode, but without the debug mode it crashes, look at my code here

void AMrHopeCharacter::EventoDeOverlap_Implementation(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult& SweepResult)
{
	if (ADinheiro* Dinheiro = Cast<ADinheiro>(OtherActor))
	{
		if (FStructDinheiro* D = Dinheiro->DTDinheiro.DataTable->FindRow<FStructDinheiro>(Dinheiro->DTDinheiro.RowName, ""))
		{
			QuantidadeDeDinheiro += D->Quantidade;
			UE_LOG(LogTemp, Warning, TEXT("Quantidade valida do dinheiro: %d"), QuantidadeDeDinheiro);
			Dinheiro->Destroy();
		}
		else
		{
			UE_LOG(LogTemp, Warning, TEXT("Falho"));
		}
	}
}

but i got an crash at those lines and it is on the if (FStructDinheiro* D = Dinheiro->DTDinheiro.DataTable->FindRow<FStructDinheiro>(Dinheiro->DTDinheiro.RowName, "")) that i got this crash, i know something is null pointer on that func, but i dont know what it is

Do a null pointer check before you dive into the object

void AMrHopeCharacter::EventoDeOverlap_Implementation(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult& SweepResult)
{
	if(OtherActor!=nullptr){
		if (ADinheiro* Dinheiro = Cast<ADinheiro>(OtherActor))
		{
		if(Dinheiro->DTDinheiro != nullptr) {		
					if (FStructDinheiro* D = Dinheiro->DTDinheiro.DataTable->FindRow<FStructDinheiro>(Dinheiro->DTDinheiro.RowName, ""))
					{
						QuantidadeDeDinheiro += D->Quantidade;
						UE_LOG(LogTemp, Warning, TEXT("Quantidade valida do dinheiro: %d"), QuantidadeDeDinheiro);
						Dinheiro->Destroy();
					}
					else
					{
						UE_LOG(LogTemp, Warning, TEXT("Falho"));
					}
				}
		}
	}
}