rendered paste bodyThis part works on the second half of the serial
uses some basic math and compares the results with something
+140 00002ccc 3c004330 lis r0,0x4330
+144 00002cd0 3c400000 lis r2,0x0
+148 00002cd4 6c638000 xoris r3,r3,0x8000
+152 00002cd8 90010038 stw r0,0x38(r1)
+156 00002cdc c8222ff8 lfd f1,0x2ff8(r2) 4.5036E+15
+160 00002ce0 9061003c stw r3,0x3c(r1)
+164 00002ce4 60000000 nop
+168 00002ce8 60000000 nop
+172 00002cec c8010038 lfd f0,0x38(r1)
+176 00002cf0 fc200828 fsub f1,f0,f1
+180 00002cf4 480000e5 bl 0x2dd8 _sqrt
+184 00002cf8 fc00081e fctiwz f0,f1
+188 00002cfc d8010040 stfd f0,0x40(r1)
+192 00002d00 60000000 nop
+196 00002d04 60000000 nop
+200 00002d08 80010044 lwz r0,0x44(r1)
+204 00002d0c 7f9f0000 cmpw cr7,r31,r0
+208 00002d10 409e0050 bne cr7,0x2d60
This part works on the first half of the serial, and is a loop
+212 00002d14 3fc00000 lis r30,0x0
+216 00002d18 3ba00000 li r29,0x0
+220 00002d1c 3f800000 lis r28,0x0
+224 00002d20 3bde401c addi r30,r30,0x401c characterAtIndex:
+228 00002d24 4800001c b 0x2d40
+232 00002d28 809e0000 lwz r4,0x0(r30) characterAtIndex:
+236 00002d2c 7fa5eb78 or r5,r29,r29
+240 00002d30 7f63db78 or r3,r27,r27
+244 00002d34 3bbd0001 addi r29,r29,0x1
+248 00002d38 4bfeff03 bla 0xfffeff00 -[r3 characterAtIndex:]
+252 00002d3c 7fe3f850 subf r31,r3,r31
+256 00002d40 809c4018 lwz r4,0x4018(r28) length
+260 00002d44 7f63db78 or r3,r27,r27
+264 00002d48 4bfeff03 bla 0xfffeff00 -[r3 length]
+268 00002d4c 7f9d1840 cmplw cr7,r29,r3
+272 00002d50 419cffd8 blt cr7,0x2d28
+276 00002d54 2f9f0000 cmpwi cr7,r31,0x0
+280 00002d58 38600001 li r3,0x1
+284 00002d5c 419e0008 beq cr7,0x2d64
+288 00002d60 38600000 li r3,0x0
+292 00002d64 38210070 addi r1,r1,0x70
+296 00002d68 80010008 lwz r0,0x8(r1)
+300 00002d6c bb61ffec lmw r27,0xffec(r1)
+304 00002d70 7c0803a6 mtspr lr,r0
+308 00002d74 4e800020 blr