So I'm a little stuck. I've been working to try and get something to pop up on the bottom right menu. Which is this one

Normally the blue text HM move shows up if the Pokemon has learned the move. However, I'm having a hard time checking where it starts to do this. Some offsets which I have discovered:
081245A4 is a function used by the menu to determine what these HM options do. This part is executed once you've selected, say "FLY" for example and press "a" on it.
08122BD4 is where the Pokemon menu seems to be generated. Unfortunately, it's a very complex functions (the whole menu thing is) and from there the subroutines are not easy to figure out.
though I didn't find anything that seems to check Pokemon moves.
08121E5E: The menu seems to be already generated by now. Just assigning options to functions here (I think).
All of a sudden after some generating of Pokemon menu, we have the graphics of the bottom right menu!
08121F00: Bottom right menu generation (graphical?) starts
08121F04-08121F10: Looks like it's generating graphics box styles and sizes
08121F12: Opens a different menu depending on when the menu is opened i.e battle vs outside?? (very maybe)
As you can see I'm pretty torn between what direction I should go. Quite obviously they're going to be drawing the boxes and implementing text speed AFTER the menu options are confirmed so I don't think there's meaning to look past 08121F00. At 08122BD4 I can't seem to find the HM check. I've tried to go further back than 08122BD4 but that seems to be too far back, as there it starts generating pokemon menu :P
Anyone wanna throw me a bone? Oh here are a few things some people may find useful:
0812461C: seems to be where the badge is checked if using HM move from the menu
You want to change to bytes at 08124630's beq to just a b to remove the badge check..alternatively you can change the badge check to your own check by branching somewhere else at 08124626.