1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global WaitMicroTime
WaitMicroTime:
/* 80279E6C 00275ACC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80279E70 00275AD0 7C 08 02 A6 */ mflr r0
/* 80279E74 00275AD4 90 01 00 24 */ stw r0, 0x24(r1)
/* 80279E78 00275AD8 39 61 00 20 */ addi r11, r1, 0x20
/* 80279E7C 00275ADC 4B F4 D2 AD */ bl _savegpr_27
/* 80279E80 00275AE0 7C 7B 1B 78 */ mr r27, r3
/* 80279E84 00275AE4 4B FF 89 55 */ bl __OSGetSystemTime
/* 80279E88 00275AE8 3C A0 43 1C */ lis r5, 0x431BDE83@ha
/* 80279E8C 00275AEC 7C 9C 23 78 */ mr r28, r4
/* 80279E90 00275AF0 7C 7D 1B 78 */ mr r29, r3
/* 80279E94 00275AF4 3F E0 80 00 */ lis r31, 0x8000
/* 80279E98 00275AF8 3B C5 DE 83 */ addi r30, r5, 0x431BDE83@l
lbl_80279E9C:
/* 80279E9C 00275AFC 4B FF 89 3D */ bl __OSGetSystemTime
/* 80279EA0 00275B00 80 1F 00 F8 */ lwz r0, 0xf8(r31)
/* 80279EA4 00275B04 7C DC 20 10 */ subfc r6, r28, r4
/* 80279EA8 00275B08 7C 7D 19 10 */ subfe r3, r29, r3
/* 80279EAC 00275B0C 38 A0 00 00 */ li r5, 0
/* 80279EB0 00275B10 54 00 F0 BE */ srwi r0, r0, 2
/* 80279EB4 00275B14 54 C4 18 38 */ slwi r4, r6, 3
/* 80279EB8 00275B18 7C 1E 00 16 */ mulhwu r0, r30, r0
/* 80279EBC 00275B1C 54 63 18 38 */ slwi r3, r3, 3
/* 80279EC0 00275B20 50 C3 1F 7E */ rlwimi r3, r6, 3, 0x1d, 0x1f
/* 80279EC4 00275B24 54 06 8B FE */ srwi r6, r0, 0xf
/* 80279EC8 00275B28 4B F4 D3 B1 */ bl __div2i
/* 80279ECC 00275B2C 7F 65 FE 70 */ srawi r5, r27, 0x1f
/* 80279ED0 00275B30 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 80279ED4 00275B34 6C A5 80 00 */ xoris r5, r5, 0x8000
/* 80279ED8 00275B38 7C 7B 20 10 */ subfc r3, r27, r4
/* 80279EDC 00275B3C 7C A5 01 10 */ subfe r5, r5, r0
/* 80279EE0 00275B40 7C A0 01 10 */ subfe r5, r0, r0
/* 80279EE4 00275B44 7C A5 00 D1 */ neg. r5, r5
/* 80279EE8 00275B48 40 82 FF B4 */ bne lbl_80279E9C
/* 80279EEC 00275B4C 39 61 00 20 */ addi r11, r1, 0x20
/* 80279EF0 00275B50 4B F4 D2 85 */ bl _restgpr_27
/* 80279EF4 00275B54 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80279EF8 00275B58 7C 08 03 A6 */ mtlr r0
/* 80279EFC 00275B5C 38 21 00 20 */ addi r1, r1, 0x20
/* 80279F00 00275B60 4E 80 00 20 */ blr
.global sendSlaveAddr
sendSlaveAddr:
/* 80279F04 00275B64 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80279F08 00275B68 7C 08 02 A6 */ mflr r0
/* 80279F0C 00275B6C 90 01 00 34 */ stw r0, 0x34(r1)
/* 80279F10 00275B70 39 61 00 30 */ addi r11, r1, 0x30
/* 80279F14 00275B74 4B F4 D2 05 */ bl _savegpr_23
/* 80279F18 00275B78 80 0D 88 28 */ lwz r0, lbl_8063DAE8-_SDA_BASE_(r13)
/* 80279F1C 00275B7C 7C 7D 1B 78 */ mr r29, r3
/* 80279F20 00275B80 2C 00 00 00 */ cmpwi r0, 0
/* 80279F24 00275B84 40 82 00 1C */ bne lbl_80279F40
/* 80279F28 00275B88 3C 60 CD 80 */ lis r3, 0xCD8000C0@ha
/* 80279F2C 00275B8C 80 03 00 C0 */ lwz r0, 0xCD8000C0@l(r3)
/* 80279F30 00275B90 54 00 04 5E */ rlwinm r0, r0, 0, 0x11, 0xf
/* 80279F34 00275B94 60 00 80 00 */ ori r0, r0, 0x8000
/* 80279F38 00275B98 90 03 00 C0 */ stw r0, 0xc0(r3)
/* 80279F3C 00275B9C 48 00 00 14 */ b lbl_80279F50
lbl_80279F40:
/* 80279F40 00275BA0 3C 60 CD 80 */ lis r3, 0xCD8000C0@ha
/* 80279F44 00275BA4 80 03 00 C0 */ lwz r0, 0xCD8000C0@l(r3)
/* 80279F48 00275BA8 54 00 04 5E */ rlwinm r0, r0, 0, 0x11, 0xf
/* 80279F4C 00275BAC 90 03 00 C0 */ stw r0, 0xc0(r3)
lbl_80279F50:
/* 80279F50 00275BB0 4B FF 88 89 */ bl __OSGetSystemTime
/* 80279F54 00275BB4 3C A0 43 1C */ lis r5, 0x431BDE83@ha
/* 80279F58 00275BB8 7C 9C 23 78 */ mr r28, r4
/* 80279F5C 00275BBC 7C 7B 1B 78 */ mr r27, r3
/* 80279F60 00275BC0 3F 20 80 00 */ lis r25, 0x8000
/* 80279F64 00275BC4 3B 45 DE 83 */ addi r26, r5, 0x431BDE83@l
/* 80279F68 00275BC8 3B 00 00 02 */ li r24, 2
/* 80279F6C 00275BCC 3A E0 00 00 */ li r23, 0
lbl_80279F70:
/* 80279F70 00275BD0 4B FF 88 69 */ bl __OSGetSystemTime
/* 80279F74 00275BD4 80 19 00 F8 */ lwz r0, 0xf8(r25)
/* 80279F78 00275BD8 7C DC 20 10 */ subfc r6, r28, r4
/* 80279F7C 00275BDC 7C 7B 19 10 */ subfe r3, r27, r3
/* 80279F80 00275BE0 38 A0 00 00 */ li r5, 0
/* 80279F84 00275BE4 54 00 F0 BE */ srwi r0, r0, 2
/* 80279F88 00275BE8 54 C4 18 38 */ slwi r4, r6, 3
/* 80279F8C 00275BEC 7C 1A 00 16 */ mulhwu r0, r26, r0
/* 80279F90 00275BF0 54 63 18 38 */ slwi r3, r3, 3
/* 80279F94 00275BF4 50 C3 1F 7E */ rlwimi r3, r6, 3, 0x1d, 0x1f
/* 80279F98 00275BF8 54 06 8B FE */ srwi r6, r0, 0xf
/* 80279F9C 00275BFC 4B F4 D2 DD */ bl __div2i
/* 80279FA0 00275C00 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 80279FA4 00275C04 6E E5 80 00 */ xoris r5, r23, 0x8000
/* 80279FA8 00275C08 7C 78 20 10 */ subfc r3, r24, r4
/* 80279FAC 00275C0C 7C A5 01 10 */ subfe r5, r5, r0
/* 80279FB0 00275C10 7C A0 01 10 */ subfe r5, r0, r0
/* 80279FB4 00275C14 7C A5 00 D1 */ neg. r5, r5
/* 80279FB8 00275C18 40 82 FF B8 */ bne lbl_80279F70
/* 80279FBC 00275C1C 3F E0 CD 80 */ lis r31, 0xCD8000C0@ha
/* 80279FC0 00275C20 3C 60 43 1C */ lis r3, 0x431BDE83@ha
/* 80279FC4 00275C24 80 1F 00 C0 */ lwz r0, 0xCD8000C0@l(r31)
/* 80279FC8 00275C28 3B 23 DE 83 */ addi r25, r3, 0x431BDE83@l
/* 80279FCC 00275C2C 3B C0 00 00 */ li r30, 0
/* 80279FD0 00275C30 3F 80 80 00 */ lis r28, 0x8000
/* 80279FD4 00275C34 54 00 04 A0 */ rlwinm r0, r0, 0, 0x12, 0x10
/* 80279FD8 00275C38 3B 60 00 02 */ li r27, 2
/* 80279FDC 00275C3C 90 1F 00 C0 */ stw r0, 0xc0(r31)
/* 80279FE0 00275C40 3B 40 00 00 */ li r26, 0
lbl_80279FE4:
/* 80279FE4 00275C44 57 A0 06 31 */ rlwinm. r0, r29, 0, 0x18, 0x18
/* 80279FE8 00275C48 41 82 00 34 */ beq lbl_8027A01C
/* 80279FEC 00275C4C 80 0D 88 28 */ lwz r0, lbl_8063DAE8-_SDA_BASE_(r13)
/* 80279FF0 00275C50 2C 00 00 00 */ cmpwi r0, 0
/* 80279FF4 00275C54 40 82 00 14 */ bne lbl_8027A008
/* 80279FF8 00275C58 80 1F 00 C0 */ lwz r0, 0xc0(r31)
/* 80279FFC 00275C5C 54 00 04 5E */ rlwinm r0, r0, 0, 0x11, 0xf
/* 8027A000 00275C60 90 1F 00 C0 */ stw r0, 0xc0(r31)
/* 8027A004 00275C64 48 00 00 44 */ b lbl_8027A048
lbl_8027A008:
/* 8027A008 00275C68 80 1F 00 C0 */ lwz r0, 0xc0(r31)
/* 8027A00C 00275C6C 54 00 04 5E */ rlwinm r0, r0, 0, 0x11, 0xf
/* 8027A010 00275C70 60 00 80 00 */ ori r0, r0, 0x8000
/* 8027A014 00275C74 90 1F 00 C0 */ stw r0, 0xc0(r31)
/* 8027A018 00275C78 48 00 00 30 */ b lbl_8027A048
lbl_8027A01C:
/* 8027A01C 00275C7C 80 0D 88 28 */ lwz r0, lbl_8063DAE8-_SDA_BASE_(r13)
/* 8027A020 00275C80 2C 00 00 00 */ cmpwi r0, 0
/* 8027A024 00275C84 40 82 00 18 */ bne lbl_8027A03C
/* 8027A028 00275C88 80 1F 00 C0 */ lwz r0, 0xc0(r31)
/* 8027A02C 00275C8C 54 00 04 5E */ rlwinm r0, r0, 0, 0x11, 0xf
/* 8027A030 00275C90 60 00 80 00 */ ori r0, r0, 0x8000
/* 8027A034 00275C94 90 1F 00 C0 */ stw r0, 0xc0(r31)
/* 8027A038 00275C98 48 00 00 10 */ b lbl_8027A048
lbl_8027A03C:
/* 8027A03C 00275C9C 80 1F 00 C0 */ lwz r0, 0xc0(r31)
/* 8027A040 00275CA0 54 00 04 5E */ rlwinm r0, r0, 0, 0x11, 0xf
/* 8027A044 00275CA4 90 1F 00 C0 */ stw r0, 0xc0(r31)
lbl_8027A048:
/* 8027A048 00275CA8 4B FF 87 91 */ bl __OSGetSystemTime
/* 8027A04C 00275CAC 7C 98 23 78 */ mr r24, r4
/* 8027A050 00275CB0 7C 77 1B 78 */ mr r23, r3
lbl_8027A054:
/* 8027A054 00275CB4 4B FF 87 85 */ bl __OSGetSystemTime
/* 8027A058 00275CB8 80 1C 00 F8 */ lwz r0, 0xf8(r28)
/* 8027A05C 00275CBC 7C D8 20 10 */ subfc r6, r24, r4
/* 8027A060 00275CC0 7C 77 19 10 */ subfe r3, r23, r3
/* 8027A064 00275CC4 38 A0 00 00 */ li r5, 0
/* 8027A068 00275CC8 54 00 F0 BE */ srwi r0, r0, 2
/* 8027A06C 00275CCC 54 C4 18 38 */ slwi r4, r6, 3
/* 8027A070 00275CD0 7C 19 00 16 */ mulhwu r0, r25, r0
/* 8027A074 00275CD4 54 63 18 38 */ slwi r3, r3, 3
/* 8027A078 00275CD8 50 C3 1F 7E */ rlwimi r3, r6, 3, 0x1d, 0x1f
/* 8027A07C 00275CDC 54 06 8B FE */ srwi r6, r0, 0xf
/* 8027A080 00275CE0 4B F4 D1 F9 */ bl __div2i
/* 8027A084 00275CE4 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 8027A088 00275CE8 6F 45 80 00 */ xoris r5, r26, 0x8000
/* 8027A08C 00275CEC 7C 7B 20 10 */ subfc r3, r27, r4
/* 8027A090 00275CF0 7C A5 01 10 */ subfe r5, r5, r0
/* 8027A094 00275CF4 7C A0 01 10 */ subfe r5, r0, r0
/* 8027A098 00275CF8 7C A5 00 D1 */ neg. r5, r5
/* 8027A09C 00275CFC 40 82 FF B8 */ bne lbl_8027A054
/* 8027A0A0 00275D00 80 1F 00 C0 */ lwz r0, 0xc0(r31)
/* 8027A0A4 00275D04 54 00 04 A0 */ rlwinm r0, r0, 0, 0x12, 0x10
/* 8027A0A8 00275D08 60 00 40 00 */ ori r0, r0, 0x4000
/* 8027A0AC 00275D0C 90 1F 00 C0 */ stw r0, 0xc0(r31)
/* 8027A0B0 00275D10 4B FF 87 29 */ bl __OSGetSystemTime
/* 8027A0B4 00275D14 7C 97 23 78 */ mr r23, r4
/* 8027A0B8 00275D18 7C 78 1B 78 */ mr r24, r3
lbl_8027A0BC:
/* 8027A0BC 00275D1C 4B FF 87 1D */ bl __OSGetSystemTime
/* 8027A0C0 00275D20 80 1C 00 F8 */ lwz r0, 0xf8(r28)
/* 8027A0C4 00275D24 7C D7 20 10 */ subfc r6, r23, r4
/* 8027A0C8 00275D28 7C 78 19 10 */ subfe r3, r24, r3
/* 8027A0CC 00275D2C 38 A0 00 00 */ li r5, 0
/* 8027A0D0 00275D30 54 00 F0 BE */ srwi r0, r0, 2
/* 8027A0D4 00275D34 54 C4 18 38 */ slwi r4, r6, 3
/* 8027A0D8 00275D38 7C 19 00 16 */ mulhwu r0, r25, r0
/* 8027A0DC 00275D3C 54 63 18 38 */ slwi r3, r3, 3
/* 8027A0E0 00275D40 50 C3 1F 7E */ rlwimi r3, r6, 3, 0x1d, 0x1f
/* 8027A0E4 00275D44 54 06 8B FE */ srwi r6, r0, 0xf
/* 8027A0E8 00275D48 4B F4 D1 91 */ bl __div2i
/* 8027A0EC 00275D4C 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 8027A0F0 00275D50 6F 45 80 00 */ xoris r5, r26, 0x8000
/* 8027A0F4 00275D54 7C 7B 20 10 */ subfc r3, r27, r4
/* 8027A0F8 00275D58 7C A5 01 10 */ subfe r5, r5, r0
/* 8027A0FC 00275D5C 7C A0 01 10 */ subfe r5, r0, r0
/* 8027A100 00275D60 7C A5 00 D1 */ neg. r5, r5
/* 8027A104 00275D64 40 82 FF B8 */ bne lbl_8027A0BC
/* 8027A108 00275D68 80 1F 00 C0 */ lwz r0, 0xc0(r31)
/* 8027A10C 00275D6C 3B DE 00 01 */ addi r30, r30, 1
/* 8027A110 00275D70 2C 1E 00 08 */ cmpwi r30, 8
/* 8027A114 00275D74 57 BD 0E 3C */ rlwinm r29, r29, 1, 0x18, 0x1e
/* 8027A118 00275D78 54 00 04 A0 */ rlwinm r0, r0, 0, 0x12, 0x10
/* 8027A11C 00275D7C 90 1F 00 C0 */ stw r0, 0xc0(r31)
/* 8027A120 00275D80 41 80 FE C4 */ blt lbl_80279FE4
/* 8027A124 00275D84 3C 60 CD 80 */ lis r3, 0xCD8000C4@ha
/* 8027A128 00275D88 80 03 00 C4 */ lwz r0, 0xCD8000C4@l(r3)
/* 8027A12C 00275D8C 54 00 04 5E */ rlwinm r0, r0, 0, 0x11, 0xf
/* 8027A130 00275D90 60 00 40 00 */ ori r0, r0, 0x4000
/* 8027A134 00275D94 90 03 00 C4 */ stw r0, 0xc4(r3)
/* 8027A138 00275D98 4B FF 86 A1 */ bl __OSGetSystemTime
/* 8027A13C 00275D9C 3C A0 43 1C */ lis r5, 0x431BDE83@ha
/* 8027A140 00275DA0 7C 9F 23 78 */ mr r31, r4
/* 8027A144 00275DA4 7C 7E 1B 78 */ mr r30, r3
/* 8027A148 00275DA8 3F 80 80 00 */ lis r28, 0x8000
/* 8027A14C 00275DAC 3B A5 DE 83 */ addi r29, r5, 0x431BDE83@l
/* 8027A150 00275DB0 3B 60 00 02 */ li r27, 2
/* 8027A154 00275DB4 3B 40 00 00 */ li r26, 0
lbl_8027A158:
/* 8027A158 00275DB8 4B FF 86 81 */ bl __OSGetSystemTime
/* 8027A15C 00275DBC 80 1C 00 F8 */ lwz r0, 0xf8(r28)
/* 8027A160 00275DC0 7C DF 20 10 */ subfc r6, r31, r4
/* 8027A164 00275DC4 7C 7E 19 10 */ subfe r3, r30, r3
/* 8027A168 00275DC8 38 A0 00 00 */ li r5, 0
/* 8027A16C 00275DCC 54 00 F0 BE */ srwi r0, r0, 2
/* 8027A170 00275DD0 54 C4 18 38 */ slwi r4, r6, 3
/* 8027A174 00275DD4 7C 1D 00 16 */ mulhwu r0, r29, r0
/* 8027A178 00275DD8 54 63 18 38 */ slwi r3, r3, 3
/* 8027A17C 00275DDC 50 C3 1F 7E */ rlwimi r3, r6, 3, 0x1d, 0x1f
/* 8027A180 00275DE0 54 06 8B FE */ srwi r6, r0, 0xf
/* 8027A184 00275DE4 4B F4 D0 F5 */ bl __div2i
/* 8027A188 00275DE8 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 8027A18C 00275DEC 6F 45 80 00 */ xoris r5, r26, 0x8000
/* 8027A190 00275DF0 7C 7B 20 10 */ subfc r3, r27, r4
/* 8027A194 00275DF4 7C A5 01 10 */ subfe r5, r5, r0
/* 8027A198 00275DF8 7C A0 01 10 */ subfe r5, r0, r0
/* 8027A19C 00275DFC 7C A5 00 D1 */ neg. r5, r5
/* 8027A1A0 00275E00 40 82 FF B8 */ bne lbl_8027A158
/* 8027A1A4 00275E04 3C 60 CD 80 */ lis r3, 0xCD8000C0@ha
/* 8027A1A8 00275E08 80 03 00 C0 */ lwz r0, 0xCD8000C0@l(r3)
/* 8027A1AC 00275E0C 54 00 04 A0 */ rlwinm r0, r0, 0, 0x12, 0x10
/* 8027A1B0 00275E10 60 00 40 00 */ ori r0, r0, 0x4000
/* 8027A1B4 00275E14 90 03 00 C0 */ stw r0, 0xc0(r3)
/* 8027A1B8 00275E18 4B FF 86 21 */ bl __OSGetSystemTime
/* 8027A1BC 00275E1C 3C A0 43 1C */ lis r5, 0x431BDE83@ha
/* 8027A1C0 00275E20 7C 9A 23 78 */ mr r26, r4
/* 8027A1C4 00275E24 7C 7B 1B 78 */ mr r27, r3
/* 8027A1C8 00275E28 3F E0 80 00 */ lis r31, 0x8000
/* 8027A1CC 00275E2C 3B 85 DE 83 */ addi r28, r5, 0x431BDE83@l
/* 8027A1D0 00275E30 3B C0 00 02 */ li r30, 2
/* 8027A1D4 00275E34 3B A0 00 00 */ li r29, 0
lbl_8027A1D8:
/* 8027A1D8 00275E38 4B FF 86 01 */ bl __OSGetSystemTime
/* 8027A1DC 00275E3C 80 1F 00 F8 */ lwz r0, 0xf8(r31)
/* 8027A1E0 00275E40 7C DA 20 10 */ subfc r6, r26, r4
/* 8027A1E4 00275E44 7C 7B 19 10 */ subfe r3, r27, r3
/* 8027A1E8 00275E48 38 A0 00 00 */ li r5, 0
/* 8027A1EC 00275E4C 54 00 F0 BE */ srwi r0, r0, 2
/* 8027A1F0 00275E50 54 C4 18 38 */ slwi r4, r6, 3
/* 8027A1F4 00275E54 7C 1C 00 16 */ mulhwu r0, r28, r0
/* 8027A1F8 00275E58 54 63 18 38 */ slwi r3, r3, 3
/* 8027A1FC 00275E5C 50 C3 1F 7E */ rlwimi r3, r6, 3, 0x1d, 0x1f
/* 8027A200 00275E60 54 06 8B FE */ srwi r6, r0, 0xf
/* 8027A204 00275E64 4B F4 D0 75 */ bl __div2i
/* 8027A208 00275E68 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 8027A20C 00275E6C 6F A5 80 00 */ xoris r5, r29, 0x8000
/* 8027A210 00275E70 7C 7E 20 10 */ subfc r3, r30, r4
/* 8027A214 00275E74 7C A5 01 10 */ subfe r5, r5, r0
/* 8027A218 00275E78 7C A0 01 10 */ subfe r5, r0, r0
/* 8027A21C 00275E7C 7C A5 00 D1 */ neg. r5, r5
/* 8027A220 00275E80 40 82 FF B8 */ bne lbl_8027A1D8
/* 8027A224 00275E84 80 0D 88 28 */ lwz r0, lbl_8063DAE8-_SDA_BASE_(r13)
/* 8027A228 00275E88 28 00 00 01 */ cmplwi r0, 1
/* 8027A22C 00275E8C 40 82 00 1C */ bne lbl_8027A248
/* 8027A230 00275E90 3C 60 CD 80 */ lis r3, 0xCD8000C8@ha
/* 8027A234 00275E94 80 03 00 C8 */ lwz r0, 0xCD8000C8@l(r3)
/* 8027A238 00275E98 54 00 8F FF */ rlwinm. r0, r0, 0x11, 0x1f, 0x1f
/* 8027A23C 00275E9C 41 82 00 0C */ beq lbl_8027A248
/* 8027A240 00275EA0 38 60 00 00 */ li r3, 0
/* 8027A244 00275EA4 48 00 00 5C */ b lbl_8027A2A0
lbl_8027A248:
/* 8027A248 00275EA8 80 0D 88 28 */ lwz r0, lbl_8063DAE8-_SDA_BASE_(r13)
/* 8027A24C 00275EAC 2C 00 00 00 */ cmpwi r0, 0
/* 8027A250 00275EB0 40 82 00 1C */ bne lbl_8027A26C
/* 8027A254 00275EB4 3C 60 CD 80 */ lis r3, 0xCD8000C0@ha
/* 8027A258 00275EB8 80 03 00 C0 */ lwz r0, 0xCD8000C0@l(r3)
/* 8027A25C 00275EBC 54 00 04 5E */ rlwinm r0, r0, 0, 0x11, 0xf
/* 8027A260 00275EC0 60 00 80 00 */ ori r0, r0, 0x8000
/* 8027A264 00275EC4 90 03 00 C0 */ stw r0, 0xc0(r3)
/* 8027A268 00275EC8 48 00 00 14 */ b lbl_8027A27C
lbl_8027A26C:
/* 8027A26C 00275ECC 3C 60 CD 80 */ lis r3, 0xCD8000C0@ha
/* 8027A270 00275ED0 80 03 00 C0 */ lwz r0, 0xCD8000C0@l(r3)
/* 8027A274 00275ED4 54 00 04 5E */ rlwinm r0, r0, 0, 0x11, 0xf
/* 8027A278 00275ED8 90 03 00 C0 */ stw r0, 0xc0(r3)
lbl_8027A27C:
/* 8027A27C 00275EDC 3C 80 CD 80 */ lis r4, 0xCD8000C4@ha
/* 8027A280 00275EE0 38 60 00 01 */ li r3, 1
/* 8027A284 00275EE4 80 04 00 C4 */ lwz r0, 0xCD8000C4@l(r4)
/* 8027A288 00275EE8 54 00 04 5E */ rlwinm r0, r0, 0, 0x11, 0xf
/* 8027A28C 00275EEC 60 00 C0 00 */ ori r0, r0, 0xc000
/* 8027A290 00275EF0 90 04 00 C4 */ stw r0, 0xc4(r4)
/* 8027A294 00275EF4 80 04 00 C0 */ lwz r0, 0xc0(r4)
/* 8027A298 00275EF8 54 00 04 A0 */ rlwinm r0, r0, 0, 0x12, 0x10
/* 8027A29C 00275EFC 90 04 00 C0 */ stw r0, 0xc0(r4)
lbl_8027A2A0:
/* 8027A2A0 00275F00 39 61 00 30 */ addi r11, r1, 0x30
/* 8027A2A4 00275F04 4B F4 CE C1 */ bl _restgpr_23
/* 8027A2A8 00275F08 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8027A2AC 00275F0C 7C 08 03 A6 */ mtlr r0
/* 8027A2B0 00275F10 38 21 00 30 */ addi r1, r1, 0x30
/* 8027A2B4 00275F14 4E 80 00 20 */ blr
.global __VISendI2CData
__VISendI2CData:
/* 8027A2B8 00275F18 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8027A2BC 00275F1C 7C 08 02 A6 */ mflr r0
/* 8027A2C0 00275F20 90 01 00 44 */ stw r0, 0x44(r1)
/* 8027A2C4 00275F24 39 61 00 40 */ addi r11, r1, 0x40
/* 8027A2C8 00275F28 4B F4 CE 45 */ bl _savegpr_20
/* 8027A2CC 00275F2C 80 0D A9 70 */ lwz r0, lbl_8063FC30-_SDA_BASE_(r13)
/* 8027A2D0 00275F30 7C 74 1B 78 */ mr r20, r3
/* 8027A2D4 00275F34 7C 9D 23 78 */ mr r29, r4
/* 8027A2D8 00275F38 7C BE 2B 78 */ mr r30, r5
/* 8027A2DC 00275F3C 2C 00 00 00 */ cmpwi r0, 0
/* 8027A2E0 00275F40 40 82 00 10 */ bne lbl_8027A2F0
/* 8027A2E4 00275F44 38 00 00 01 */ li r0, 1
/* 8027A2E8 00275F48 90 0D 88 28 */ stw r0, lbl_8063DAE8-_SDA_BASE_(r13)
/* 8027A2EC 00275F4C 90 0D A9 70 */ stw r0, lbl_8063FC30-_SDA_BASE_(r13)
lbl_8027A2F0:
/* 8027A2F0 00275F50 4B FF 44 6D */ bl OSDisableInterrupts
/* 8027A2F4 00275F54 3C 80 CD 80 */ lis r4, 0xCD8000C4@ha
/* 8027A2F8 00275F58 7C 7F 1B 78 */ mr r31, r3
/* 8027A2FC 00275F5C 80 04 00 C4 */ lwz r0, 0xCD8000C4@l(r4)
/* 8027A300 00275F60 54 00 04 5E */ rlwinm r0, r0, 0, 0x11, 0xf
/* 8027A304 00275F64 60 00 C0 00 */ ori r0, r0, 0xc000
/* 8027A308 00275F68 90 04 00 C4 */ stw r0, 0xc4(r4)
/* 8027A30C 00275F6C 80 04 00 C0 */ lwz r0, 0xc0(r4)
/* 8027A310 00275F70 54 00 04 A0 */ rlwinm r0, r0, 0, 0x12, 0x10
/* 8027A314 00275F74 60 00 40 00 */ ori r0, r0, 0x4000
/* 8027A318 00275F78 90 04 00 C0 */ stw r0, 0xc0(r4)
/* 8027A31C 00275F7C 80 0D 88 28 */ lwz r0, lbl_8063DAE8-_SDA_BASE_(r13)
/* 8027A320 00275F80 2C 00 00 00 */ cmpwi r0, 0
/* 8027A324 00275F84 40 82 00 14 */ bne lbl_8027A338
/* 8027A328 00275F88 80 04 00 C0 */ lwz r0, 0xc0(r4)
/* 8027A32C 00275F8C 54 00 04 5E */ rlwinm r0, r0, 0, 0x11, 0xf
/* 8027A330 00275F90 90 04 00 C0 */ stw r0, 0xc0(r4)
/* 8027A334 00275F94 48 00 00 14 */ b lbl_8027A348
lbl_8027A338:
/* 8027A338 00275F98 80 04 00 C0 */ lwz r0, 0xc0(r4)
/* 8027A33C 00275F9C 54 00 04 5E */ rlwinm r0, r0, 0, 0x11, 0xf
/* 8027A340 00275FA0 60 00 80 00 */ ori r0, r0, 0x8000
/* 8027A344 00275FA4 90 04 00 C0 */ stw r0, 0xc0(r4)
lbl_8027A348:
/* 8027A348 00275FA8 4B FF 84 91 */ bl __OSGetSystemTime
/* 8027A34C 00275FAC 3C A0 43 1C */ lis r5, 0x431BDE83@ha
/* 8027A350 00275FB0 7C 97 23 78 */ mr r23, r4
/* 8027A354 00275FB4 7C 76 1B 78 */ mr r22, r3
/* 8027A358 00275FB8 3F 20 80 00 */ lis r25, 0x8000
/* 8027A35C 00275FBC 3B 45 DE 83 */ addi r26, r5, 0x431BDE83@l
/* 8027A360 00275FC0 3B 00 00 02 */ li r24, 2
/* 8027A364 00275FC4 3A A0 00 00 */ li r21, 0
lbl_8027A368:
/* 8027A368 00275FC8 4B FF 84 71 */ bl __OSGetSystemTime
/* 8027A36C 00275FCC 80 19 00 F8 */ lwz r0, 0xf8(r25)
/* 8027A370 00275FD0 7C D7 20 10 */ subfc r6, r23, r4
/* 8027A374 00275FD4 7C 76 19 10 */ subfe r3, r22, r3
/* 8027A378 00275FD8 38 A0 00 00 */ li r5, 0
/* 8027A37C 00275FDC 54 00 F0 BE */ srwi r0, r0, 2
/* 8027A380 00275FE0 54 C4 18 38 */ slwi r4, r6, 3
/* 8027A384 00275FE4 7C 1A 00 16 */ mulhwu r0, r26, r0
/* 8027A388 00275FE8 54 63 18 38 */ slwi r3, r3, 3
/* 8027A38C 00275FEC 50 C3 1F 7E */ rlwimi r3, r6, 3, 0x1d, 0x1f
/* 8027A390 00275FF0 54 06 8B FE */ srwi r6, r0, 0xf
/* 8027A394 00275FF4 4B F4 CE E5 */ bl __div2i
/* 8027A398 00275FF8 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 8027A39C 00275FFC 6E A5 80 00 */ xoris r5, r21, 0x8000
/* 8027A3A0 00276000 7C 78 20 10 */ subfc r3, r24, r4
/* 8027A3A4 00276004 7C A5 01 10 */ subfe r5, r5, r0
/* 8027A3A8 00276008 7C A0 01 10 */ subfe r5, r0, r0
/* 8027A3AC 0027600C 7C A5 00 D1 */ neg. r5, r5
/* 8027A3B0 00276010 40 82 FF B8 */ bne lbl_8027A368
/* 8027A3B4 00276014 4B FF 84 25 */ bl __OSGetSystemTime
/* 8027A3B8 00276018 3C A0 43 1C */ lis r5, 0x431BDE83@ha
/* 8027A3BC 0027601C 7C 97 23 78 */ mr r23, r4
/* 8027A3C0 00276020 7C 76 1B 78 */ mr r22, r3
/* 8027A3C4 00276024 3F 20 80 00 */ lis r25, 0x8000
/* 8027A3C8 00276028 3B 45 DE 83 */ addi r26, r5, 0x431BDE83@l
/* 8027A3CC 0027602C 3B 00 00 02 */ li r24, 2
/* 8027A3D0 00276030 3A A0 00 00 */ li r21, 0
lbl_8027A3D4:
/* 8027A3D4 00276034 4B FF 84 05 */ bl __OSGetSystemTime
/* 8027A3D8 00276038 80 19 00 F8 */ lwz r0, 0xf8(r25)
/* 8027A3DC 0027603C 7C D7 20 10 */ subfc r6, r23, r4
/* 8027A3E0 00276040 7C 76 19 10 */ subfe r3, r22, r3
/* 8027A3E4 00276044 38 A0 00 00 */ li r5, 0
/* 8027A3E8 00276048 54 00 F0 BE */ srwi r0, r0, 2
/* 8027A3EC 0027604C 54 C4 18 38 */ slwi r4, r6, 3
/* 8027A3F0 00276050 7C 1A 00 16 */ mulhwu r0, r26, r0
/* 8027A3F4 00276054 54 63 18 38 */ slwi r3, r3, 3
/* 8027A3F8 00276058 50 C3 1F 7E */ rlwimi r3, r6, 3, 0x1d, 0x1f
/* 8027A3FC 0027605C 54 06 8B FE */ srwi r6, r0, 0xf
/* 8027A400 00276060 4B F4 CE 79 */ bl __div2i
/* 8027A404 00276064 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 8027A408 00276068 6E A5 80 00 */ xoris r5, r21, 0x8000
/* 8027A40C 0027606C 7C 78 20 10 */ subfc r3, r24, r4
/* 8027A410 00276070 7C A5 01 10 */ subfe r5, r5, r0
/* 8027A414 00276074 7C A0 01 10 */ subfe r5, r0, r0
/* 8027A418 00276078 7C A5 00 D1 */ neg. r5, r5
/* 8027A41C 0027607C 40 82 FF B8 */ bne lbl_8027A3D4
/* 8027A420 00276080 7E 83 A3 78 */ mr r3, r20
/* 8027A424 00276084 4B FF FA E1 */ bl sendSlaveAddr
/* 8027A428 00276088 2C 03 00 00 */ cmpwi r3, 0
/* 8027A42C 0027608C 40 82 00 14 */ bne lbl_8027A440
/* 8027A430 00276090 7F E3 FB 78 */ mr r3, r31
/* 8027A434 00276094 4B FF 43 51 */ bl OSRestoreInterrupts
/* 8027A438 00276098 38 60 00 00 */ li r3, 0
/* 8027A43C 0027609C 48 00 04 34 */ b lbl_8027A870
lbl_8027A440:
/* 8027A440 002760A0 3E C0 CD 80 */ lis r22, 0xCD8000C4@ha
/* 8027A444 002760A4 3C 60 43 1C */ lis r3, 0x431BDE83@ha
/* 8027A448 002760A8 80 16 00 C4 */ lwz r0, 0xCD8000C4@l(r22)
/* 8027A44C 002760AC 3B 23 DE 83 */ addi r25, r3, 0x431BDE83@l
/* 8027A450 002760B0 3F 40 80 00 */ lis r26, 0x8000
/* 8027A454 002760B4 3B 60 00 02 */ li r27, 2
/* 8027A458 002760B8 54 00 04 5E */ rlwinm r0, r0, 0, 0x11, 0xf
/* 8027A45C 002760BC 3B 80 00 00 */ li r28, 0
/* 8027A460 002760C0 60 00 C0 00 */ ori r0, r0, 0xc000
/* 8027A464 002760C4 90 16 00 C4 */ stw r0, 0xc4(r22)
/* 8027A468 002760C8 48 00 02 94 */ b lbl_8027A6FC
lbl_8027A46C:
/* 8027A46C 002760CC 8A 9D 00 00 */ lbz r20, 0(r29)
/* 8027A470 002760D0 3A A0 00 00 */ li r21, 0
/* 8027A474 002760D4 3B BD 00 01 */ addi r29, r29, 1
lbl_8027A478:
/* 8027A478 002760D8 56 80 06 31 */ rlwinm. r0, r20, 0, 0x18, 0x18
/* 8027A47C 002760DC 41 82 00 34 */ beq lbl_8027A4B0
/* 8027A480 002760E0 80 0D 88 28 */ lwz r0, lbl_8063DAE8-_SDA_BASE_(r13)
/* 8027A484 002760E4 2C 00 00 00 */ cmpwi r0, 0
/* 8027A488 002760E8 40 82 00 14 */ bne lbl_8027A49C
/* 8027A48C 002760EC 80 16 00 C0 */ lwz r0, 0xc0(r22)
/* 8027A490 002760F0 54 00 04 5E */ rlwinm r0, r0, 0, 0x11, 0xf
/* 8027A494 002760F4 90 16 00 C0 */ stw r0, 0xc0(r22)
/* 8027A498 002760F8 48 00 00 44 */ b lbl_8027A4DC
lbl_8027A49C:
/* 8027A49C 002760FC 80 16 00 C0 */ lwz r0, 0xc0(r22)
/* 8027A4A0 00276100 54 00 04 5E */ rlwinm r0, r0, 0, 0x11, 0xf
/* 8027A4A4 00276104 60 00 80 00 */ ori r0, r0, 0x8000
/* 8027A4A8 00276108 90 16 00 C0 */ stw r0, 0xc0(r22)
/* 8027A4AC 0027610C 48 00 00 30 */ b lbl_8027A4DC
lbl_8027A4B0:
/* 8027A4B0 00276110 80 0D 88 28 */ lwz r0, lbl_8063DAE8-_SDA_BASE_(r13)
/* 8027A4B4 00276114 2C 00 00 00 */ cmpwi r0, 0
/* 8027A4B8 00276118 40 82 00 18 */ bne lbl_8027A4D0
/* 8027A4BC 0027611C 80 16 00 C0 */ lwz r0, 0xc0(r22)
/* 8027A4C0 00276120 54 00 04 5E */ rlwinm r0, r0, 0, 0x11, 0xf
/* 8027A4C4 00276124 60 00 80 00 */ ori r0, r0, 0x8000
/* 8027A4C8 00276128 90 16 00 C0 */ stw r0, 0xc0(r22)
/* 8027A4CC 0027612C 48 00 00 10 */ b lbl_8027A4DC
lbl_8027A4D0:
/* 8027A4D0 00276130 80 16 00 C0 */ lwz r0, 0xc0(r22)
/* 8027A4D4 00276134 54 00 04 5E */ rlwinm r0, r0, 0, 0x11, 0xf
/* 8027A4D8 00276138 90 16 00 C0 */ stw r0, 0xc0(r22)
lbl_8027A4DC:
/* 8027A4DC 0027613C 4B FF 82 FD */ bl __OSGetSystemTime
/* 8027A4E0 00276140 7C 98 23 78 */ mr r24, r4
/* 8027A4E4 00276144 7C 77 1B 78 */ mr r23, r3
lbl_8027A4E8:
/* 8027A4E8 00276148 4B FF 82 F1 */ bl __OSGetSystemTime
/* 8027A4EC 0027614C 80 1A 00 F8 */ lwz r0, 0xf8(r26)
/* 8027A4F0 00276150 7C D8 20 10 */ subfc r6, r24, r4
/* 8027A4F4 00276154 7C 77 19 10 */ subfe r3, r23, r3
/* 8027A4F8 00276158 38 A0 00 00 */ li r5, 0
/* 8027A4FC 0027615C 54 00 F0 BE */ srwi r0, r0, 2
/* 8027A500 00276160 54 C4 18 38 */ slwi r4, r6, 3
/* 8027A504 00276164 7C 19 00 16 */ mulhwu r0, r25, r0
/* 8027A508 00276168 54 63 18 38 */ slwi r3, r3, 3
/* 8027A50C 0027616C 50 C3 1F 7E */ rlwimi r3, r6, 3, 0x1d, 0x1f
/* 8027A510 00276170 54 06 8B FE */ srwi r6, r0, 0xf
/* 8027A514 00276174 4B F4 CD 65 */ bl __div2i
/* 8027A518 00276178 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 8027A51C 0027617C 6F 85 80 00 */ xoris r5, r28, 0x8000
/* 8027A520 00276180 7C 7B 20 10 */ subfc r3, r27, r4
/* 8027A524 00276184 7C A5 01 10 */ subfe r5, r5, r0
/* 8027A528 00276188 7C A0 01 10 */ subfe r5, r0, r0
/* 8027A52C 0027618C 7C A5 00 D1 */ neg. r5, r5
/* 8027A530 00276190 40 82 FF B8 */ bne lbl_8027A4E8
/* 8027A534 00276194 80 16 00 C0 */ lwz r0, 0xc0(r22)
/* 8027A538 00276198 54 00 04 A0 */ rlwinm r0, r0, 0, 0x12, 0x10
/* 8027A53C 0027619C 60 00 40 00 */ ori r0, r0, 0x4000
/* 8027A540 002761A0 90 16 00 C0 */ stw r0, 0xc0(r22)
/* 8027A544 002761A4 4B FF 82 95 */ bl __OSGetSystemTime
/* 8027A548 002761A8 7C 98 23 78 */ mr r24, r4
/* 8027A54C 002761AC 7C 77 1B 78 */ mr r23, r3
lbl_8027A550:
/* 8027A550 002761B0 4B FF 82 89 */ bl __OSGetSystemTime
/* 8027A554 002761B4 80 1A 00 F8 */ lwz r0, 0xf8(r26)
/* 8027A558 002761B8 7C D8 20 10 */ subfc r6, r24, r4
/* 8027A55C 002761BC 7C 77 19 10 */ subfe r3, r23, r3
/* 8027A560 002761C0 38 A0 00 00 */ li r5, 0
/* 8027A564 002761C4 54 00 F0 BE */ srwi r0, r0, 2
/* 8027A568 002761C8 54 C4 18 38 */ slwi r4, r6, 3
/* 8027A56C 002761CC 7C 19 00 16 */ mulhwu r0, r25, r0
/* 8027A570 002761D0 54 63 18 38 */ slwi r3, r3, 3
/* 8027A574 002761D4 50 C3 1F 7E */ rlwimi r3, r6, 3, 0x1d, 0x1f
/* 8027A578 002761D8 54 06 8B FE */ srwi r6, r0, 0xf
/* 8027A57C 002761DC 4B F4 CC FD */ bl __div2i
/* 8027A580 002761E0 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 8027A584 002761E4 6F 85 80 00 */ xoris r5, r28, 0x8000
/* 8027A588 002761E8 7C 7B 20 10 */ subfc r3, r27, r4
/* 8027A58C 002761EC 7C A5 01 10 */ subfe r5, r5, r0
/* 8027A590 002761F0 7C A0 01 10 */ subfe r5, r0, r0
/* 8027A594 002761F4 7C A5 00 D1 */ neg. r5, r5
/* 8027A598 002761F8 40 82 FF B8 */ bne lbl_8027A550
/* 8027A59C 002761FC 80 16 00 C0 */ lwz r0, 0xc0(r22)
/* 8027A5A0 00276200 3A B5 00 01 */ addi r21, r21, 1
/* 8027A5A4 00276204 2C 15 00 08 */ cmpwi r21, 8
/* 8027A5A8 00276208 56 94 0E 3C */ rlwinm r20, r20, 1, 0x18, 0x1e
/* 8027A5AC 0027620C 54 00 04 A0 */ rlwinm r0, r0, 0, 0x12, 0x10
/* 8027A5B0 00276210 90 16 00 C0 */ stw r0, 0xc0(r22)
/* 8027A5B4 00276214 41 80 FE C4 */ blt lbl_8027A478
/* 8027A5B8 00276218 80 16 00 C4 */ lwz r0, 0xc4(r22)
/* 8027A5BC 0027621C 54 00 04 5E */ rlwinm r0, r0, 0, 0x11, 0xf
/* 8027A5C0 00276220 60 00 40 00 */ ori r0, r0, 0x4000
/* 8027A5C4 00276224 90 16 00 C4 */ stw r0, 0xc4(r22)
/* 8027A5C8 00276228 4B FF 82 11 */ bl __OSGetSystemTime
/* 8027A5CC 0027622C 7C 98 23 78 */ mr r24, r4
/* 8027A5D0 00276230 7C 77 1B 78 */ mr r23, r3
lbl_8027A5D4:
/* 8027A5D4 00276234 4B FF 82 05 */ bl __OSGetSystemTime
/* 8027A5D8 00276238 80 1A 00 F8 */ lwz r0, 0xf8(r26)
/* 8027A5DC 0027623C 7C D8 20 10 */ subfc r6, r24, r4
/* 8027A5E0 00276240 7C 77 19 10 */ subfe r3, r23, r3
/* 8027A5E4 00276244 38 A0 00 00 */ li r5, 0
/* 8027A5E8 00276248 54 00 F0 BE */ srwi r0, r0, 2
/* 8027A5EC 0027624C 54 C4 18 38 */ slwi r4, r6, 3
/* 8027A5F0 00276250 7C 19 00 16 */ mulhwu r0, r25, r0
/* 8027A5F4 00276254 54 63 18 38 */ slwi r3, r3, 3
/* 8027A5F8 00276258 50 C3 1F 7E */ rlwimi r3, r6, 3, 0x1d, 0x1f
/* 8027A5FC 0027625C 54 06 8B FE */ srwi r6, r0, 0xf
/* 8027A600 00276260 4B F4 CC 79 */ bl __div2i
/* 8027A604 00276264 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 8027A608 00276268 6F 85 80 00 */ xoris r5, r28, 0x8000
/* 8027A60C 0027626C 7C 7B 20 10 */ subfc r3, r27, r4
/* 8027A610 00276270 7C A5 01 10 */ subfe r5, r5, r0
/* 8027A614 00276274 7C A0 01 10 */ subfe r5, r0, r0
/* 8027A618 00276278 7C A5 00 D1 */ neg. r5, r5
/* 8027A61C 0027627C 40 82 FF B8 */ bne lbl_8027A5D4
/* 8027A620 00276280 80 16 00 C0 */ lwz r0, 0xc0(r22)
/* 8027A624 00276284 54 00 04 A0 */ rlwinm r0, r0, 0, 0x12, 0x10
/* 8027A628 00276288 60 00 40 00 */ ori r0, r0, 0x4000
/* 8027A62C 0027628C 90 16 00 C0 */ stw r0, 0xc0(r22)
/* 8027A630 00276290 4B FF 81 A9 */ bl __OSGetSystemTime
/* 8027A634 00276294 7C 97 23 78 */ mr r23, r4
/* 8027A638 00276298 7C 78 1B 78 */ mr r24, r3
lbl_8027A63C:
/* 8027A63C 0027629C 4B FF 81 9D */ bl __OSGetSystemTime
/* 8027A640 002762A0 80 1A 00 F8 */ lwz r0, 0xf8(r26)
/* 8027A644 002762A4 7C D7 20 10 */ subfc r6, r23, r4
/* 8027A648 002762A8 7C 78 19 10 */ subfe r3, r24, r3
/* 8027A64C 002762AC 38 A0 00 00 */ li r5, 0
/* 8027A650 002762B0 54 00 F0 BE */ srwi r0, r0, 2
/* 8027A654 002762B4 54 C4 18 38 */ slwi r4, r6, 3
/* 8027A658 002762B8 7C 19 00 16 */ mulhwu r0, r25, r0
/* 8027A65C 002762BC 54 63 18 38 */ slwi r3, r3, 3
/* 8027A660 002762C0 50 C3 1F 7E */ rlwimi r3, r6, 3, 0x1d, 0x1f
/* 8027A664 002762C4 54 06 8B FE */ srwi r6, r0, 0xf
/* 8027A668 002762C8 4B F4 CC 11 */ bl __div2i
/* 8027A66C 002762CC 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 8027A670 002762D0 6F 85 80 00 */ xoris r5, r28, 0x8000
/* 8027A674 002762D4 7C 7B 20 10 */ subfc r3, r27, r4
/* 8027A678 002762D8 7C A5 01 10 */ subfe r5, r5, r0
/* 8027A67C 002762DC 7C A0 01 10 */ subfe r5, r0, r0
/* 8027A680 002762E0 7C A5 00 D1 */ neg. r5, r5
/* 8027A684 002762E4 40 82 FF B8 */ bne lbl_8027A63C
/* 8027A688 002762E8 80 0D 88 28 */ lwz r0, lbl_8063DAE8-_SDA_BASE_(r13)
/* 8027A68C 002762EC 28 00 00 01 */ cmplwi r0, 1
/* 8027A690 002762F0 40 82 00 20 */ bne lbl_8027A6B0
/* 8027A694 002762F4 80 16 00 C8 */ lwz r0, 0xc8(r22)
/* 8027A698 002762F8 54 00 8F FF */ rlwinm. r0, r0, 0x11, 0x1f, 0x1f
/* 8027A69C 002762FC 41 82 00 14 */ beq lbl_8027A6B0
/* 8027A6A0 00276300 7F E3 FB 78 */ mr r3, r31
/* 8027A6A4 00276304 4B FF 40 E1 */ bl OSRestoreInterrupts
/* 8027A6A8 00276308 38 60 00 00 */ li r3, 0
/* 8027A6AC 0027630C 48 00 01 C4 */ b lbl_8027A870
lbl_8027A6B0:
/* 8027A6B0 00276310 80 0D 88 28 */ lwz r0, lbl_8063DAE8-_SDA_BASE_(r13)
/* 8027A6B4 00276314 2C 00 00 00 */ cmpwi r0, 0
/* 8027A6B8 00276318 40 82 00 18 */ bne lbl_8027A6D0
/* 8027A6BC 0027631C 80 16 00 C0 */ lwz r0, 0xc0(r22)
/* 8027A6C0 00276320 54 00 04 5E */ rlwinm r0, r0, 0, 0x11, 0xf
/* 8027A6C4 00276324 60 00 80 00 */ ori r0, r0, 0x8000
/* 8027A6C8 00276328 90 16 00 C0 */ stw r0, 0xc0(r22)
/* 8027A6CC 0027632C 48 00 00 10 */ b lbl_8027A6DC
lbl_8027A6D0:
/* 8027A6D0 00276330 80 16 00 C0 */ lwz r0, 0xc0(r22)
/* 8027A6D4 00276334 54 00 04 5E */ rlwinm r0, r0, 0, 0x11, 0xf
/* 8027A6D8 00276338 90 16 00 C0 */ stw r0, 0xc0(r22)
lbl_8027A6DC:
/* 8027A6DC 0027633C 80 16 00 C4 */ lwz r0, 0xc4(r22)
/* 8027A6E0 00276340 3B DE FF FF */ addi r30, r30, -1
/* 8027A6E4 00276344 54 00 04 5E */ rlwinm r0, r0, 0, 0x11, 0xf
/* 8027A6E8 00276348 60 00 C0 00 */ ori r0, r0, 0xc000
/* 8027A6EC 0027634C 90 16 00 C4 */ stw r0, 0xc4(r22)
/* 8027A6F0 00276350 80 16 00 C0 */ lwz r0, 0xc0(r22)
/* 8027A6F4 00276354 54 00 04 A0 */ rlwinm r0, r0, 0, 0x12, 0x10
/* 8027A6F8 00276358 90 16 00 C0 */ stw r0, 0xc0(r22)
lbl_8027A6FC:
/* 8027A6FC 0027635C 2C 1E 00 00 */ cmpwi r30, 0
/* 8027A700 00276360 40 82 FD 6C */ bne lbl_8027A46C
/* 8027A704 00276364 3C 60 CD 80 */ lis r3, 0xCD8000C4@ha
/* 8027A708 00276368 80 03 00 C4 */ lwz r0, 0xCD8000C4@l(r3)
/* 8027A70C 0027636C 54 00 04 5E */ rlwinm r0, r0, 0, 0x11, 0xf
/* 8027A710 00276370 60 00 C0 00 */ ori r0, r0, 0xc000
/* 8027A714 00276374 90 03 00 C4 */ stw r0, 0xc4(r3)
/* 8027A718 00276378 80 0D 88 28 */ lwz r0, lbl_8063DAE8-_SDA_BASE_(r13)
/* 8027A71C 0027637C 2C 00 00 00 */ cmpwi r0, 0
/* 8027A720 00276380 40 82 00 18 */ bne lbl_8027A738
/* 8027A724 00276384 80 03 00 C0 */ lwz r0, 0xc0(r3)
/* 8027A728 00276388 54 00 04 5E */ rlwinm r0, r0, 0, 0x11, 0xf
/* 8027A72C 0027638C 60 00 80 00 */ ori r0, r0, 0x8000
/* 8027A730 00276390 90 03 00 C0 */ stw r0, 0xc0(r3)
/* 8027A734 00276394 48 00 00 10 */ b lbl_8027A744
lbl_8027A738:
/* 8027A738 00276398 80 03 00 C0 */ lwz r0, 0xc0(r3)
/* 8027A73C 0027639C 54 00 04 5E */ rlwinm r0, r0, 0, 0x11, 0xf
/* 8027A740 002763A0 90 03 00 C0 */ stw r0, 0xc0(r3)
lbl_8027A744:
/* 8027A744 002763A4 4B FF 80 95 */ bl __OSGetSystemTime
/* 8027A748 002763A8 3C A0 43 1C */ lis r5, 0x431BDE83@ha
/* 8027A74C 002763AC 7C 99 23 78 */ mr r25, r4
/* 8027A750 002763B0 7C 78 1B 78 */ mr r24, r3
/* 8027A754 002763B4 3E C0 80 00 */ lis r22, 0x8000
/* 8027A758 002763B8 3A E5 DE 83 */ addi r23, r5, 0x431BDE83@l
/* 8027A75C 002763BC 3A A0 00 02 */ li r21, 2
/* 8027A760 002763C0 3A 80 00 00 */ li r20, 0
lbl_8027A764:
/* 8027A764 002763C4 4B FF 80 75 */ bl __OSGetSystemTime
/* 8027A768 002763C8 80 16 00 F8 */ lwz r0, 0xf8(r22)
/* 8027A76C 002763CC 7C D9 20 10 */ subfc r6, r25, r4
/* 8027A770 002763D0 7C 78 19 10 */ subfe r3, r24, r3
/* 8027A774 002763D4 38 A0 00 00 */ li r5, 0
/* 8027A778 002763D8 54 00 F0 BE */ srwi r0, r0, 2
/* 8027A77C 002763DC 54 C4 18 38 */ slwi r4, r6, 3
/* 8027A780 002763E0 7C 17 00 16 */ mulhwu r0, r23, r0
/* 8027A784 002763E4 54 63 18 38 */ slwi r3, r3, 3
/* 8027A788 002763E8 50 C3 1F 7E */ rlwimi r3, r6, 3, 0x1d, 0x1f
/* 8027A78C 002763EC 54 06 8B FE */ srwi r6, r0, 0xf
/* 8027A790 002763F0 4B F4 CA E9 */ bl __div2i
/* 8027A794 002763F4 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 8027A798 002763F8 6E 85 80 00 */ xoris r5, r20, 0x8000
/* 8027A79C 002763FC 7C 75 20 10 */ subfc r3, r21, r4
/* 8027A7A0 00276400 7C A5 01 10 */ subfe r5, r5, r0
/* 8027A7A4 00276404 7C A0 01 10 */ subfe r5, r0, r0
/* 8027A7A8 00276408 7C A5 00 D1 */ neg. r5, r5
/* 8027A7AC 0027640C 40 82 FF B8 */ bne lbl_8027A764
/* 8027A7B0 00276410 3C 60 CD 80 */ lis r3, 0xCD8000C0@ha
/* 8027A7B4 00276414 80 03 00 C0 */ lwz r0, 0xCD8000C0@l(r3)
/* 8027A7B8 00276418 54 00 04 A0 */ rlwinm r0, r0, 0, 0x12, 0x10
/* 8027A7BC 0027641C 60 00 40 00 */ ori r0, r0, 0x4000
/* 8027A7C0 00276420 90 03 00 C0 */ stw r0, 0xc0(r3)
/* 8027A7C4 00276424 4B FF 80 15 */ bl __OSGetSystemTime
/* 8027A7C8 00276428 3C A0 43 1C */ lis r5, 0x431BDE83@ha
/* 8027A7CC 0027642C 7C 99 23 78 */ mr r25, r4
/* 8027A7D0 00276430 7C 78 1B 78 */ mr r24, r3
/* 8027A7D4 00276434 3E C0 80 00 */ lis r22, 0x8000
/* 8027A7D8 00276438 3A E5 DE 83 */ addi r23, r5, 0x431BDE83@l
/* 8027A7DC 0027643C 3A A0 00 02 */ li r21, 2
/* 8027A7E0 00276440 3A 80 00 00 */ li r20, 0
lbl_8027A7E4:
/* 8027A7E4 00276444 4B FF 7F F5 */ bl __OSGetSystemTime
/* 8027A7E8 00276448 80 16 00 F8 */ lwz r0, 0xf8(r22)
/* 8027A7EC 0027644C 7C D9 20 10 */ subfc r6, r25, r4
/* 8027A7F0 00276450 7C 78 19 10 */ subfe r3, r24, r3
/* 8027A7F4 00276454 38 A0 00 00 */ li r5, 0
/* 8027A7F8 00276458 54 00 F0 BE */ srwi r0, r0, 2
/* 8027A7FC 0027645C 54 C4 18 38 */ slwi r4, r6, 3
/* 8027A800 00276460 7C 17 00 16 */ mulhwu r0, r23, r0
/* 8027A804 00276464 54 63 18 38 */ slwi r3, r3, 3
/* 8027A808 00276468 50 C3 1F 7E */ rlwimi r3, r6, 3, 0x1d, 0x1f
/* 8027A80C 0027646C 54 06 8B FE */ srwi r6, r0, 0xf
/* 8027A810 00276470 4B F4 CA 69 */ bl __div2i
/* 8027A814 00276474 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 8027A818 00276478 6E 85 80 00 */ xoris r5, r20, 0x8000
/* 8027A81C 0027647C 7C 75 20 10 */ subfc r3, r21, r4
/* 8027A820 00276480 7C A5 01 10 */ subfe r5, r5, r0
/* 8027A824 00276484 7C A0 01 10 */ subfe r5, r0, r0
/* 8027A828 00276488 7C A5 00 D1 */ neg. r5, r5
/* 8027A82C 0027648C 40 82 FF B8 */ bne lbl_8027A7E4
/* 8027A830 00276490 80 0D 88 28 */ lwz r0, lbl_8063DAE8-_SDA_BASE_(r13)
/* 8027A834 00276494 2C 00 00 00 */ cmpwi r0, 0
/* 8027A838 00276498 40 82 00 18 */ bne lbl_8027A850
/* 8027A83C 0027649C 3C 60 CD 80 */ lis r3, 0xCD8000C0@ha
/* 8027A840 002764A0 80 03 00 C0 */ lwz r0, 0xCD8000C0@l(r3)
/* 8027A844 002764A4 54 00 04 5E */ rlwinm r0, r0, 0, 0x11, 0xf
/* 8027A848 002764A8 90 03 00 C0 */ stw r0, 0xc0(r3)
/* 8027A84C 002764AC 48 00 00 18 */ b lbl_8027A864
lbl_8027A850:
/* 8027A850 002764B0 3C 60 CD 80 */ lis r3, 0xCD8000C0@ha
/* 8027A854 002764B4 80 03 00 C0 */ lwz r0, 0xCD8000C0@l(r3)
/* 8027A858 002764B8 54 00 04 5E */ rlwinm r0, r0, 0, 0x11, 0xf
/* 8027A85C 002764BC 60 00 80 00 */ ori r0, r0, 0x8000
/* 8027A860 002764C0 90 03 00 C0 */ stw r0, 0xc0(r3)
lbl_8027A864:
/* 8027A864 002764C4 7F E3 FB 78 */ mr r3, r31
/* 8027A868 002764C8 4B FF 3F 1D */ bl OSRestoreInterrupts
/* 8027A86C 002764CC 38 60 00 01 */ li r3, 1
lbl_8027A870:
/* 8027A870 002764D0 39 61 00 40 */ addi r11, r1, 0x40
/* 8027A874 002764D4 4B F4 C8 E5 */ bl _restgpr_20
/* 8027A878 002764D8 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8027A87C 002764DC 7C 08 03 A6 */ mtlr r0
/* 8027A880 002764E0 38 21 00 40 */ addi r1, r1, 0x40
/* 8027A884 002764E4 4E 80 00 20 */ blr
|