It looks like something unusual is going on here. I don't really have much experience with this particular game, but typically LOROM games would have their banks start with $8000, and bank $C0 is something I would expect from a HIROM game, not really a LOROM one. I ran a trace and was able to find a piece of code above C0/8000 (C0/8785), but most of the code in the C0 block is below $8000 as you mentioned.
When I set a breakpoint for C0/9C9A, it stopped at C0/1C97 instead:
$C0/1C97 8F 52 31 00 STA $003152[$00:3152] A:5900 X:241C Y:26B6 D:0000 DB:DD S:1FFC P:envMxdiZc HC:0726 VC:254 FC:41 I:00
This sort of makes sense, as in a LOROM game 00/0000 to 00/7FFF would be a mirror of 00/8000 to 00/FFFF. What I don't understand is why the trace sometimes shows the program counter both above and below $8000 for a LOROM game. It's as if Geiger's debugger is getting confused as to whether this game is LOROM or HIROM. How did you determine the C0/9C9A address? Did you find the code in a hex editor? The game seems to be pretty buggy for me, I'm running v1.51ep10r1 of the debugger.