I have been reversing some Mass functions in the kernel lately and I need to know the proper layout of the disk geometry.
According to my research, the structure size is 0x8 instead of 0x18. I have been trying to find it where the values are coming from, but haven't had much success.

I am trying to figure out how the value at r31 + 0x98 is generated. At the end of the second branch it is storing the values, which are returned and used in functions that called this function.
The goal here is to find what this value is and how to get it from the device when in a Windows environment.
Has anyone ever looked at this before? When I connect this USB to my PC and call DeviceIoControl to get the geom, none of the values match what it is storing in 0(r11).