AllAdvanceRng (@ 202b3d8) stores in Swarm Nb, branches depending on r6 initialized by r1 → called by Function_2055ac0 → r1 initialized by r4 → LoadVariableAreaAdress_11 DOESN'T change r4 → called by Function_206c2d0 → → (...) OneAdvanceRng (@ 202b40c) takes a result in r2, stores it in VarArea11_24, advances ARNG, stores r0 in VarArea11_28 → called by Function_21d0eac, branch_2048d66, and Jumppoints_2048c10 → in Function_21d0eac, it takes the output from Function_201d35c → → r0 = 0x27, r1 = 0x271, r0 *= 4 (@0x270) → → r0++ (@0x271), bne fails, so r0 = 0x1571 before SetIRNGSeed is called → → → r1 = 0, r4 = 0x27, store 0x1571 in RAM_21bfb10_8, r1 = 0x271, r0 =1 (Unknown_2100834 is 1 when IRNG is initialised) → → → r3 = 0x6c078965, r4 <<= 4 (@0x270) → → → r2 = r1 - 4 (@0x26d), r5 = r2 (@0x26d), r2 = r5 >> 30 (@0), r2 = 0x26d, r5 = 0x26d, → → → r5=r5*r3 (@0x0E484A01), r2 = r0+r5 (@0x0E484A02) → → SO it'd be a full 624 "shifiting" Mersenne Twister cycle as a result stored in r2 (careful: without the init, you skip this section, so you're doing more atrocious branches, check them next)