Let's take a look at this tx:
https://bscscan.com/tx/0x9b7cde866e9fe9b9a1c636d0f9686ea5b1920c875d7fcd973baf847bc359c8a9
as you can see it's buying token through pancake swap:
0x0d0f397d6fb10213135cc384b245fab616f41865
however input data looks like this
0x2293db57000000000000000000000000bddc352a26d68bc82f9891e23b98bee662305cb5
from which we can easily work out (according to 100s of identical transactions with dynamic address argument) that this is the address that's passed to the contract function:
0xbddc352a26d68bc82f9891e23b98bee662305cb5
however these contract addresses do not match. Is this some default Solidity argument encoding? is there any way to decode this?