I think I found the routine that reads the amount of Pokemon, it starts at offset 08043200.
And near the end of the routine, you will find the value 019B.
which corresponds to the total of pokemon you have in the game.
025 empty slots
total of 411 (Hex: 019b) Pokémon.
Another routine(08043298) that I found (I think) that loads data from the Pokes or the number corresponding to it. That's because this routine reads the same table in order of Dex.
And when we change the offset table, the numbering goes crazy and the data is not shown.
I do not know if this will be useful. But is there that want to test.