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
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global FIFORemove
FIFORemove:
/* 8035C928 00358588 80 A3 00 00 */ lwz r5, 0(r3)
/* 8035C92C 0035858C 38 C0 00 00 */ li r6, 0
/* 8035C930 00358590 48 00 00 5C */ b lbl_8035C98C
lbl_8035C934:
/* 8035C934 00358594 7C 05 20 40 */ cmplw r5, r4
/* 8035C938 00358598 40 82 00 4C */ bne lbl_8035C984
/* 8035C93C 0035859C 2C 06 00 00 */ cmpwi r6, 0
/* 8035C940 003585A0 41 82 00 0C */ beq lbl_8035C94C
/* 8035C944 003585A4 80 05 00 24 */ lwz r0, 0x24(r5)
/* 8035C948 003585A8 90 06 00 24 */ stw r0, 0x24(r6)
lbl_8035C94C:
/* 8035C94C 003585AC 80 03 00 00 */ lwz r0, 0(r3)
/* 8035C950 003585B0 7C 00 28 40 */ cmplw r0, r5
/* 8035C954 003585B4 40 82 00 0C */ bne lbl_8035C960
/* 8035C958 003585B8 80 05 00 24 */ lwz r0, 0x24(r5)
/* 8035C95C 003585BC 90 03 00 00 */ stw r0, 0(r3)
lbl_8035C960:
/* 8035C960 003585C0 80 03 00 04 */ lwz r0, 4(r3)
/* 8035C964 003585C4 7C 00 28 40 */ cmplw r0, r5
/* 8035C968 003585C8 40 82 00 08 */ bne lbl_8035C970
/* 8035C96C 003585CC 90 C3 00 04 */ stw r6, 4(r3)
lbl_8035C970:
/* 8035C970 003585D0 80 83 00 08 */ lwz r4, 8(r3)
/* 8035C974 003585D4 38 04 FF FF */ addi r0, r4, -1
/* 8035C978 003585D8 90 03 00 08 */ stw r0, 8(r3)
/* 8035C97C 003585DC 38 60 00 01 */ li r3, 1
/* 8035C980 003585E0 4E 80 00 20 */ blr
lbl_8035C984:
/* 8035C984 003585E4 7C A6 2B 78 */ mr r6, r5
/* 8035C988 003585E8 80 A5 00 24 */ lwz r5, 0x24(r5)
lbl_8035C98C:
/* 8035C98C 003585EC 2C 05 00 00 */ cmpwi r5, 0
/* 8035C990 003585F0 40 82 FF A4 */ bne lbl_8035C934
/* 8035C994 003585F4 38 60 00 00 */ li r3, 0
/* 8035C998 003585F8 4E 80 00 20 */ blr
.global QEStartQuery
QEStartQuery:
/* 8035C99C 003585FC 94 21 FE D0 */ stwu r1, -0x130(r1)
/* 8035C9A0 00358600 7C 08 02 A6 */ mflr r0
/* 8035C9A4 00358604 90 01 01 34 */ stw r0, 0x134(r1)
/* 8035C9A8 00358608 38 00 00 02 */ li r0, 2
/* 8035C9AC 0035860C 93 E1 01 2C */ stw r31, 0x12c(r1)
/* 8035C9B0 00358610 7C 9F 23 78 */ mr r31, r4
/* 8035C9B4 00358614 93 C1 01 28 */ stw r30, 0x128(r1)
/* 8035C9B8 00358618 7C 7E 1B 78 */ mr r30, r3
/* 8035C9BC 0035861C 93 A1 01 24 */ stw r29, 0x124(r1)
/* 8035C9C0 00358620 3B A0 00 00 */ li r29, 0
/* 8035C9C4 00358624 98 01 00 11 */ stb r0, 0x11(r1)
/* 8035C9C8 00358628 4B FD C6 11 */ bl current_time
/* 8035C9CC 0035862C 88 9F 00 14 */ lbz r4, 0x14(r31)
/* 8035C9D0 00358630 90 7F 00 1C */ stw r3, 0x1c(r31)
/* 8035C9D4 00358634 54 80 06 B5 */ rlwinm. r0, r4, 0, 0x1a, 0x1a
/* 8035C9D8 00358638 40 82 01 DC */ bne lbl_8035CBB4
/* 8035C9DC 0035863C 80 1E 00 00 */ lwz r0, 0(r30)
/* 8035C9E0 00358640 2C 00 00 01 */ cmpwi r0, 1
/* 8035C9E4 00358644 40 82 01 3C */ bne lbl_8035CB20
/* 8035C9E8 00358648 54 80 06 31 */ rlwinm. r0, r4, 0, 0x18, 0x18
/* 8035C9EC 0035864C 41 82 00 38 */ beq lbl_8035CA24
/* 8035C9F0 00358650 38 80 00 FE */ li r4, 0xfe
/* 8035C9F4 00358654 38 C0 00 FD */ li r6, 0xfd
/* 8035C9F8 00358658 38 00 00 09 */ li r0, 9
/* 8035C9FC 0035865C 38 61 00 18 */ addi r3, r1, 0x18
/* 8035CA00 00358660 98 81 00 18 */ stb r4, 0x18(r1)
/* 8035CA04 00358664 38 9F 00 1C */ addi r4, r31, 0x1c
/* 8035CA08 00358668 38 A0 00 04 */ li r5, 4
/* 8035CA0C 0035866C 38 63 00 03 */ addi r3, r3, 3
/* 8035CA10 00358670 98 C1 00 19 */ stb r6, 0x19(r1)
/* 8035CA14 00358674 98 01 00 1A */ stb r0, 0x1a(r1)
/* 8035CA18 00358678 4B CA 75 E9 */ bl memcpy
/* 8035CA1C 0035867C 38 A0 00 07 */ li r5, 7
/* 8035CA20 00358680 48 00 01 3C */ b lbl_8035CB5C
lbl_8035CA24:
/* 8035CA24 00358684 80 7F 00 20 */ lwz r3, 0x20(r31)
/* 8035CA28 00358688 4B F9 A3 51 */ bl SOHtoNl
/* 8035CA2C 0035868C 38 E0 00 FE */ li r7, 0xfe
/* 8035CA30 00358690 38 C0 00 FD */ li r6, 0xfd
/* 8035CA34 00358694 38 00 00 00 */ li r0, 0
/* 8035CA38 00358698 3B A1 00 18 */ addi r29, r1, 0x18
/* 8035CA3C 0035869C 90 61 00 08 */ stw r3, 8(r1)
/* 8035CA40 003586A0 7F A3 EB 78 */ mr r3, r29
/* 8035CA44 003586A4 38 9F 00 1C */ addi r4, r31, 0x1c
/* 8035CA48 003586A8 38 A0 00 04 */ li r5, 4
/* 8035CA4C 003586AC 98 E1 00 18 */ stb r7, 0x18(r1)
/* 8035CA50 003586B0 38 63 00 03 */ addi r3, r3, 3
/* 8035CA54 003586B4 98 C1 00 19 */ stb r6, 0x19(r1)
/* 8035CA58 003586B8 98 01 00 1A */ stb r0, 0x1a(r1)
/* 8035CA5C 003586BC 4B CA 75 A5 */ bl memcpy
/* 8035CA60 003586C0 80 01 00 08 */ lwz r0, 8(r1)
/* 8035CA64 003586C4 38 C0 00 07 */ li r6, 7
/* 8035CA68 003586C8 2C 00 00 00 */ cmpwi r0, 0
/* 8035CA6C 003586CC 41 82 00 1C */ beq lbl_8035CA88
/* 8035CA70 003586D0 7F A3 EB 78 */ mr r3, r29
/* 8035CA74 003586D4 38 81 00 08 */ addi r4, r1, 8
/* 8035CA78 003586D8 38 A0 00 04 */ li r5, 4
/* 8035CA7C 003586DC 38 63 00 07 */ addi r3, r3, 7
/* 8035CA80 003586E0 4B CA 75 81 */ bl memcpy
/* 8035CA84 003586E4 38 C0 00 0B */ li r6, 0xb
lbl_8035CA88:
/* 8035CA88 003586E8 88 1F 00 14 */ lbz r0, 0x14(r31)
/* 8035CA8C 003586EC 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 8035CA90 003586F0 41 82 00 60 */ beq lbl_8035CAF0
/* 8035CA94 003586F4 80 1E 00 40 */ lwz r0, 0x40(r30)
/* 8035CA98 003586F8 38 61 00 18 */ addi r3, r1, 0x18
/* 8035CA9C 003586FC 38 A0 00 00 */ li r5, 0
/* 8035CAA0 00358700 7C 03 31 AE */ stbx r0, r3, r6
/* 8035CAA4 00358704 38 C6 00 01 */ addi r6, r6, 1
/* 8035CAA8 00358708 7C 63 32 14 */ add r3, r3, r6
/* 8035CAAC 0035870C 48 00 00 1C */ b lbl_8035CAC8
lbl_8035CAB0:
/* 8035CAB0 00358710 7C 9E 2A 14 */ add r4, r30, r5
/* 8035CAB4 00358714 38 A5 00 01 */ addi r5, r5, 1
/* 8035CAB8 00358718 88 04 00 2C */ lbz r0, 0x2c(r4)
/* 8035CABC 0035871C 38 C6 00 01 */ addi r6, r6, 1
/* 8035CAC0 00358720 98 03 00 00 */ stb r0, 0(r3)
/* 8035CAC4 00358724 38 63 00 01 */ addi r3, r3, 1
lbl_8035CAC8:
/* 8035CAC8 00358728 80 1E 00 40 */ lwz r0, 0x40(r30)
/* 8035CACC 0035872C 7C 05 00 00 */ cmpw r5, r0
/* 8035CAD0 00358730 41 80 FF E0 */ blt lbl_8035CAB0
/* 8035CAD4 00358734 38 61 00 18 */ addi r3, r1, 0x18
/* 8035CAD8 00358738 38 00 00 00 */ li r0, 0
/* 8035CADC 0035873C 7C 03 31 AE */ stbx r0, r3, r6
/* 8035CAE0 00358740 38 A6 00 02 */ addi r5, r6, 2
/* 8035CAE4 00358744 38 C6 00 01 */ addi r6, r6, 1
/* 8035CAE8 00358748 7C 03 31 AE */ stbx r0, r3, r6
/* 8035CAEC 0035874C 48 00 00 70 */ b lbl_8035CB5C
lbl_8035CAF0:
/* 8035CAF0 00358750 38 61 00 18 */ addi r3, r1, 0x18
/* 8035CAF4 00358754 38 80 00 FF */ li r4, 0xff
/* 8035CAF8 00358758 7C 83 31 AE */ stbx r4, r3, r6
/* 8035CAFC 0035875C 38 C6 00 01 */ addi r6, r6, 1
/* 8035CB00 00358760 38 00 00 01 */ li r0, 1
/* 8035CB04 00358764 7C 83 31 AE */ stbx r4, r3, r6
/* 8035CB08 00358768 38 C6 00 01 */ addi r6, r6, 1
/* 8035CB0C 0035876C 38 A6 00 02 */ addi r5, r6, 2
/* 8035CB10 00358770 7C 83 31 AE */ stbx r4, r3, r6
/* 8035CB14 00358774 38 C6 00 01 */ addi r6, r6, 1
/* 8035CB18 00358778 7C 03 31 AE */ stbx r0, r3, r6
/* 8035CB1C 0035877C 48 00 00 40 */ b lbl_8035CB5C
lbl_8035CB20:
/* 8035CB20 00358780 54 80 07 7B */ rlwinm. r0, r4, 0, 0x1d, 0x1d
/* 8035CB24 00358784 41 82 00 20 */ beq lbl_8035CB44
/* 8035CB28 00358788 3C 80 80 45 */ lis r4, lbl_8044C5B8@ha
/* 8035CB2C 0035878C 38 61 00 18 */ addi r3, r1, 0x18
/* 8035CB30 00358790 38 84 C5 B8 */ addi r4, r4, lbl_8044C5B8@l
/* 8035CB34 00358794 38 A0 00 0D */ li r5, 0xd
/* 8035CB38 00358798 4B CA 74 C9 */ bl memcpy
/* 8035CB3C 0035879C 38 A0 00 0D */ li r5, 0xd
/* 8035CB40 003587A0 48 00 00 1C */ b lbl_8035CB5C
lbl_8035CB44:
/* 8035CB44 003587A4 3C 80 80 45 */ lis r4, lbl_8044C5C8@ha
/* 8035CB48 003587A8 38 61 00 18 */ addi r3, r1, 0x18
/* 8035CB4C 003587AC 38 84 C5 C8 */ addi r4, r4, lbl_8044C5C8@l
/* 8035CB50 003587B0 38 A0 00 08 */ li r5, 8
/* 8035CB54 003587B4 4B CA 74 AD */ bl memcpy
/* 8035CB58 003587B8 38 A0 00 08 */ li r5, 8
lbl_8035CB5C:
/* 8035CB5C 003587BC 80 7F 00 00 */ lwz r3, 0(r31)
/* 8035CB60 003587C0 80 1E 00 28 */ lwz r0, 0x28(r30)
/* 8035CB64 003587C4 7C 03 00 40 */ cmplw r3, r0
/* 8035CB68 003587C8 40 82 00 24 */ bne lbl_8035CB8C
/* 8035CB6C 003587CC 88 1F 00 15 */ lbz r0, 0x15(r31)
/* 8035CB70 003587D0 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 8035CB74 003587D4 41 82 00 18 */ beq lbl_8035CB8C
/* 8035CB78 003587D8 80 1F 00 08 */ lwz r0, 8(r31)
/* 8035CB7C 003587DC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8035CB80 003587E0 A0 1F 00 0C */ lhz r0, 0xc(r31)
/* 8035CB84 003587E4 B0 01 00 12 */ sth r0, 0x12(r1)
/* 8035CB88 003587E8 48 00 00 10 */ b lbl_8035CB98
lbl_8035CB8C:
/* 8035CB8C 003587EC 90 61 00 14 */ stw r3, 0x14(r1)
/* 8035CB90 003587F0 A0 1F 00 04 */ lhz r0, 4(r31)
/* 8035CB94 003587F4 B0 01 00 12 */ sth r0, 0x12(r1)
lbl_8035CB98:
/* 8035CB98 003587F8 80 7E 00 20 */ lwz r3, 0x20(r30)
/* 8035CB9C 003587FC 38 81 00 18 */ addi r4, r1, 0x18
/* 8035CBA0 00358800 38 E1 00 10 */ addi r7, r1, 0x10
/* 8035CBA4 00358804 38 C0 00 00 */ li r6, 0
/* 8035CBA8 00358808 39 00 00 08 */ li r8, 8
/* 8035CBAC 0035880C 4B FD B2 E9 */ bl sendto
/* 8035CBB0 00358810 3B A0 00 01 */ li r29, 1
lbl_8035CBB4:
/* 8035CBB4 00358814 2C 1D 00 00 */ cmpwi r29, 0
/* 8035CBB8 00358818 41 82 00 40 */ beq lbl_8035CBF8
/* 8035CBBC 0035881C 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 8035CBC0 00358820 2C 03 00 00 */ cmpwi r3, 0
/* 8035CBC4 00358824 41 82 00 08 */ beq lbl_8035CBCC
/* 8035CBC8 00358828 93 E3 00 24 */ stw r31, 0x24(r3)
lbl_8035CBCC:
/* 8035CBCC 0035882C 93 FE 00 0C */ stw r31, 0xc(r30)
/* 8035CBD0 00358830 38 00 00 00 */ li r0, 0
/* 8035CBD4 00358834 90 1F 00 24 */ stw r0, 0x24(r31)
/* 8035CBD8 00358838 80 1E 00 08 */ lwz r0, 8(r30)
/* 8035CBDC 0035883C 2C 00 00 00 */ cmpwi r0, 0
/* 8035CBE0 00358840 40 82 00 08 */ bne lbl_8035CBE8
/* 8035CBE4 00358844 93 FE 00 08 */ stw r31, 8(r30)
lbl_8035CBE8:
/* 8035CBE8 00358848 80 7E 00 10 */ lwz r3, 0x10(r30)
/* 8035CBEC 0035884C 38 03 00 01 */ addi r0, r3, 1
/* 8035CBF0 00358850 90 1E 00 10 */ stw r0, 0x10(r30)
/* 8035CBF4 00358854 48 00 00 0C */ b lbl_8035CC00
lbl_8035CBF8:
/* 8035CBF8 00358858 38 00 00 00 */ li r0, 0
/* 8035CBFC 0035885C 90 1F 00 1C */ stw r0, 0x1c(r31)
lbl_8035CC00:
/* 8035CC00 00358860 80 01 01 34 */ lwz r0, 0x134(r1)
/* 8035CC04 00358864 83 E1 01 2C */ lwz r31, 0x12c(r1)
/* 8035CC08 00358868 83 C1 01 28 */ lwz r30, 0x128(r1)
/* 8035CC0C 0035886C 83 A1 01 24 */ lwz r29, 0x124(r1)
/* 8035CC10 00358870 7C 08 03 A6 */ mtlr r0
/* 8035CC14 00358874 38 21 01 30 */ addi r1, r1, 0x130
/* 8035CC18 00358878 4E 80 00 20 */ blr
.global SBQueryEngineInit
SBQueryEngineInit:
/* 8035CC1C 0035887C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8035CC20 00358880 7C 08 02 A6 */ mflr r0
/* 8035CC24 00358884 90 01 00 24 */ stw r0, 0x24(r1)
/* 8035CC28 00358888 39 61 00 20 */ addi r11, r1, 0x20
/* 8035CC2C 0035888C 4B E6 A4 F9 */ bl _savegpr_26
/* 8035CC30 00358890 2C 06 00 00 */ cmpwi r6, 0
/* 8035CC34 00358894 7C 7A 1B 78 */ mr r26, r3
/* 8035CC38 00358898 7C 9B 23 78 */ mr r27, r4
/* 8035CC3C 0035889C 7C BC 2B 78 */ mr r28, r5
/* 8035CC40 003588A0 7C FD 3B 78 */ mr r29, r7
/* 8035CC44 003588A4 7D 1E 43 78 */ mr r30, r8
/* 8035CC48 003588A8 40 82 00 10 */ bne lbl_8035CC58
/* 8035CC4C 003588AC 80 0D B0 A8 */ lwz r0, lbl_80640368-_SDA_BASE_(r13)
/* 8035CC50 003588B0 2C 00 00 01 */ cmpwi r0, 1
/* 8035CC54 003588B4 40 82 00 50 */ bne lbl_8035CCA4
lbl_8035CC58:
/* 8035CC58 003588B8 4B FD C3 79 */ bl SocketStartUp
/* 8035CC5C 003588BC 3B E0 00 00 */ li r31, 0
/* 8035CC60 003588C0 93 9A 00 00 */ stw r28, 0(r26)
/* 8035CC64 003588C4 38 60 00 02 */ li r3, 2
/* 8035CC68 003588C8 38 80 00 02 */ li r4, 2
/* 8035CC6C 003588CC 93 7A 00 04 */ stw r27, 4(r26)
/* 8035CC70 003588D0 38 A0 00 11 */ li r5, 0x11
/* 8035CC74 003588D4 93 FA 00 40 */ stw r31, 0x40(r26)
/* 8035CC78 003588D8 93 BA 00 44 */ stw r29, 0x44(r26)
/* 8035CC7C 003588DC 93 DA 00 48 */ stw r30, 0x48(r26)
/* 8035CC80 003588E0 93 FA 00 28 */ stw r31, 0x28(r26)
/* 8035CC84 003588E4 4B FD AF 41 */ bl socket
/* 8035CC88 003588E8 90 7A 00 20 */ stw r3, 0x20(r26)
/* 8035CC8C 003588EC 93 FA 00 18 */ stw r31, 0x18(r26)
/* 8035CC90 003588F0 93 FA 00 14 */ stw r31, 0x14(r26)
/* 8035CC94 003588F4 93 FA 00 1C */ stw r31, 0x1c(r26)
/* 8035CC98 003588F8 93 FA 00 0C */ stw r31, 0xc(r26)
/* 8035CC9C 003588FC 93 FA 00 08 */ stw r31, 8(r26)
/* 8035CCA0 00358900 93 FA 00 10 */ stw r31, 0x10(r26)
lbl_8035CCA4:
/* 8035CCA4 00358904 39 61 00 20 */ addi r11, r1, 0x20
/* 8035CCA8 00358908 4B E6 A4 C9 */ bl _restgpr_26
/* 8035CCAC 0035890C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8035CCB0 00358910 7C 08 03 A6 */ mtlr r0
/* 8035CCB4 00358914 38 21 00 20 */ addi r1, r1, 0x20
/* 8035CCB8 00358918 4E 80 00 20 */ blr
.global SBQueryEngineSetPublicIP
SBQueryEngineSetPublicIP:
/* 8035CCBC 0035891C 90 83 00 28 */ stw r4, 0x28(r3)
/* 8035CCC0 00358920 4E 80 00 20 */ blr
.global SBEngineHaltUpdates
SBEngineHaltUpdates:
/* 8035CCC4 00358924 38 00 00 00 */ li r0, 0
/* 8035CCC8 00358928 90 03 00 18 */ stw r0, 0x18(r3)
/* 8035CCCC 0035892C 90 03 00 14 */ stw r0, 0x14(r3)
/* 8035CCD0 00358930 90 03 00 1C */ stw r0, 0x1c(r3)
/* 8035CCD4 00358934 90 03 00 0C */ stw r0, 0xc(r3)
/* 8035CCD8 00358938 90 03 00 08 */ stw r0, 8(r3)
/* 8035CCDC 0035893C 90 03 00 10 */ stw r0, 0x10(r3)
/* 8035CCE0 00358940 4E 80 00 20 */ blr
.global SBEngineCleanup
SBEngineCleanup:
/* 8035CCE4 00358944 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8035CCE8 00358948 7C 08 02 A6 */ mflr r0
/* 8035CCEC 0035894C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8035CCF0 00358950 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8035CCF4 00358954 7C 7F 1B 78 */ mr r31, r3
/* 8035CCF8 00358958 80 63 00 20 */ lwz r3, 0x20(r3)
/* 8035CCFC 0035895C 4B FD AF 01 */ bl closesocket
/* 8035CD00 00358960 38 00 00 00 */ li r0, 0
/* 8035CD04 00358964 38 60 FF FF */ li r3, -1
/* 8035CD08 00358968 90 7F 00 20 */ stw r3, 0x20(r31)
/* 8035CD0C 0035896C 90 1F 00 18 */ stw r0, 0x18(r31)
/* 8035CD10 00358970 90 1F 00 14 */ stw r0, 0x14(r31)
/* 8035CD14 00358974 90 1F 00 1C */ stw r0, 0x1c(r31)
/* 8035CD18 00358978 90 1F 00 0C */ stw r0, 0xc(r31)
/* 8035CD1C 0035897C 90 1F 00 08 */ stw r0, 8(r31)
/* 8035CD20 00358980 90 1F 00 10 */ stw r0, 0x10(r31)
/* 8035CD24 00358984 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8035CD28 00358988 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8035CD2C 0035898C 7C 08 03 A6 */ mtlr r0
/* 8035CD30 00358990 38 21 00 10 */ addi r1, r1, 0x10
/* 8035CD34 00358994 4E 80 00 20 */ blr
.global SBQueryEngineUpdateServer
SBQueryEngineUpdateServer:
/* 8035CD38 00358998 89 04 00 14 */ lbz r8, 0x14(r4)
/* 8035CD3C 0035899C 38 00 00 00 */ li r0, 0
/* 8035CD40 003589A0 2C 86 00 02 */ cmpwi cr1, r6, 2
/* 8035CD44 003589A4 98 04 00 28 */ stb r0, 0x28(r4)
/* 8035CD48 003589A8 71 08 00 43 */ andi. r8, r8, 0x43
/* 8035CD4C 003589AC 90 04 00 20 */ stw r0, 0x20(r4)
/* 8035CD50 003589B0 99 04 00 14 */ stb r8, 0x14(r4)
/* 8035CD54 003589B4 4D 86 00 20 */ beqlr cr1
/* 8035CD58 003589B8 2C 06 00 00 */ cmpwi r6, 0
/* 8035CD5C 003589BC 40 82 00 10 */ bne lbl_8035CD6C
/* 8035CD60 003589C0 61 00 00 04 */ ori r0, r8, 4
/* 8035CD64 003589C4 98 04 00 14 */ stb r0, 0x14(r4)
/* 8035CD68 003589C8 48 00 00 2C */ b lbl_8035CD94
lbl_8035CD6C:
/* 8035CD6C 003589CC 2C 06 00 01 */ cmpwi r6, 1
/* 8035CD70 003589D0 40 82 00 10 */ bne lbl_8035CD80
/* 8035CD74 003589D4 61 00 00 08 */ ori r0, r8, 8
/* 8035CD78 003589D8 98 04 00 14 */ stb r0, 0x14(r4)
/* 8035CD7C 003589DC 48 00 00 18 */ b lbl_8035CD94
lbl_8035CD80:
/* 8035CD80 003589E0 4C 86 00 20 */ bnelr cr1
/* 8035CD84 003589E4 61 00 00 20 */ ori r0, r8, 0x20
/* 8035CD88 003589E8 98 04 00 14 */ stb r0, 0x14(r4)
/* 8035CD8C 003589EC 48 00 00 08 */ b lbl_8035CD94
/* 8035CD90 003589F0 4E 80 00 20 */ blr
lbl_8035CD94:
/* 8035CD94 003589F4 2C 07 00 00 */ cmpwi r7, 0
/* 8035CD98 003589F8 41 82 00 18 */ beq lbl_8035CDB0
/* 8035CD9C 003589FC 28 06 00 01 */ cmplwi r6, 1
/* 8035CDA0 00358A00 41 81 00 10 */ bgt lbl_8035CDB0
/* 8035CDA4 00358A04 88 04 00 14 */ lbz r0, 0x14(r4)
/* 8035CDA8 00358A08 60 00 00 80 */ ori r0, r0, 0x80
/* 8035CDAC 00358A0C 98 04 00 14 */ stb r0, 0x14(r4)
lbl_8035CDB0:
/* 8035CDB0 00358A10 80 C3 00 10 */ lwz r6, 0x10(r3)
/* 8035CDB4 00358A14 80 03 00 04 */ lwz r0, 4(r3)
/* 8035CDB8 00358A18 7C 06 00 00 */ cmpw r6, r0
/* 8035CDBC 00358A1C 40 80 00 08 */ bge lbl_8035CDC4
/* 8035CDC0 00358A20 4B FF FB DC */ b QEStartQuery
lbl_8035CDC4:
/* 8035CDC4 00358A24 2C 05 00 00 */ cmpwi r5, 0
/* 8035CDC8 00358A28 41 82 00 30 */ beq lbl_8035CDF8
/* 8035CDCC 00358A2C 80 03 00 14 */ lwz r0, 0x14(r3)
/* 8035CDD0 00358A30 90 04 00 24 */ stw r0, 0x24(r4)
/* 8035CDD4 00358A34 80 03 00 18 */ lwz r0, 0x18(r3)
/* 8035CDD8 00358A38 90 83 00 14 */ stw r4, 0x14(r3)
/* 8035CDDC 00358A3C 2C 00 00 00 */ cmpwi r0, 0
/* 8035CDE0 00358A40 40 82 00 08 */ bne lbl_8035CDE8
/* 8035CDE4 00358A44 90 83 00 18 */ stw r4, 0x18(r3)
lbl_8035CDE8:
/* 8035CDE8 00358A48 80 83 00 1C */ lwz r4, 0x1c(r3)
/* 8035CDEC 00358A4C 38 04 00 01 */ addi r0, r4, 1
/* 8035CDF0 00358A50 90 03 00 1C */ stw r0, 0x1c(r3)
/* 8035CDF4 00358A54 4E 80 00 20 */ blr
lbl_8035CDF8:
/* 8035CDF8 00358A58 80 A3 00 18 */ lwz r5, 0x18(r3)
/* 8035CDFC 00358A5C 2C 05 00 00 */ cmpwi r5, 0
/* 8035CE00 00358A60 41 82 00 08 */ beq lbl_8035CE08
/* 8035CE04 00358A64 90 85 00 24 */ stw r4, 0x24(r5)
lbl_8035CE08:
/* 8035CE08 00358A68 90 83 00 18 */ stw r4, 0x18(r3)
/* 8035CE0C 00358A6C 38 00 00 00 */ li r0, 0
/* 8035CE10 00358A70 90 04 00 24 */ stw r0, 0x24(r4)
/* 8035CE14 00358A74 80 03 00 14 */ lwz r0, 0x14(r3)
/* 8035CE18 00358A78 2C 00 00 00 */ cmpwi r0, 0
/* 8035CE1C 00358A7C 40 82 00 08 */ bne lbl_8035CE24
/* 8035CE20 00358A80 90 83 00 14 */ stw r4, 0x14(r3)
lbl_8035CE24:
/* 8035CE24 00358A84 80 83 00 1C */ lwz r4, 0x1c(r3)
/* 8035CE28 00358A88 38 04 00 01 */ addi r0, r4, 1
/* 8035CE2C 00358A8C 90 03 00 1C */ stw r0, 0x1c(r3)
/* 8035CE30 00358A90 4E 80 00 20 */ blr
.global ParseSingleQR2Reply
ParseSingleQR2Reply:
/* 8035CE34 00358A94 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8035CE38 00358A98 7C 08 02 A6 */ mflr r0
/* 8035CE3C 00358A9C 90 01 00 34 */ stw r0, 0x34(r1)
/* 8035CE40 00358AA0 39 61 00 30 */ addi r11, r1, 0x30
/* 8035CE44 00358AA4 4B E6 A2 DD */ bl _savegpr_25
/* 8035CE48 00358AA8 88 05 00 00 */ lbz r0, 0(r5)
/* 8035CE4C 00358AAC 7C 7E 1B 78 */ mr r30, r3
/* 8035CE50 00358AB0 7C 9F 23 78 */ mr r31, r4
/* 8035CE54 00358AB4 7C 00 07 75 */ extsb. r0, r0
/* 8035CE58 00358AB8 41 82 00 0C */ beq lbl_8035CE64
/* 8035CE5C 00358ABC 2C 00 00 09 */ cmpwi r0, 9
/* 8035CE60 00358AC0 40 82 01 94 */ bne lbl_8035CFF4
lbl_8035CE64:
/* 8035CE64 00358AC4 88 64 00 14 */ lbz r3, 0x14(r4)
/* 8035CE68 00358AC8 3B 25 00 05 */ addi r25, r5, 5
/* 8035CE6C 00358ACC 3B 46 FF FB */ addi r26, r6, -5
/* 8035CE70 00358AD0 54 60 06 31 */ rlwinm. r0, r3, 0, 0x18, 0x18
/* 8035CE74 00358AD4 41 82 00 58 */ beq lbl_8035CECC
/* 8035CE78 00358AD8 54 60 06 7E */ clrlwi r0, r3, 0x19
/* 8035CE7C 00358ADC 2C 1A 00 00 */ cmpwi r26, 0
/* 8035CE80 00358AE0 98 04 00 14 */ stb r0, 0x14(r4)
/* 8035CE84 00358AE4 40 81 01 2C */ ble lbl_8035CFB0
/* 8035CE88 00358AE8 7F 23 CB 78 */ mr r3, r25
/* 8035CE8C 00358AEC 4B E7 38 81 */ bl atoi
/* 8035CE90 00358AF0 90 7F 00 20 */ stw r3, 0x20(r31)
/* 8035CE94 00358AF4 7F E4 FB 78 */ mr r4, r31
/* 8035CE98 00358AF8 38 7E 00 08 */ addi r3, r30, 8
/* 8035CE9C 00358AFC 4B FF FA 8D */ bl FIFORemove
/* 8035CEA0 00358B00 7F C3 F3 78 */ mr r3, r30
/* 8035CEA4 00358B04 7F E4 FB 78 */ mr r4, r31
/* 8035CEA8 00358B08 4B FF FA F5 */ bl QEStartQuery
/* 8035CEAC 00358B0C 81 9E 00 44 */ lwz r12, 0x44(r30)
/* 8035CEB0 00358B10 7F C3 F3 78 */ mr r3, r30
/* 8035CEB4 00358B14 7F E5 FB 78 */ mr r5, r31
/* 8035CEB8 00358B18 80 DE 00 48 */ lwz r6, 0x48(r30)
/* 8035CEBC 00358B1C 38 80 00 03 */ li r4, 3
/* 8035CEC0 00358B20 7D 89 03 A6 */ mtctr r12
/* 8035CEC4 00358B24 4E 80 04 21 */ bctrl
/* 8035CEC8 00358B28 48 00 01 2C */ b lbl_8035CFF4
lbl_8035CECC:
/* 8035CECC 00358B2C 54 60 07 7B */ rlwinm. r0, r3, 0, 0x1d, 0x1d
/* 8035CED0 00358B30 41 82 00 70 */ beq lbl_8035CF40
/* 8035CED4 00358B34 3F A0 80 45 */ lis r29, lbl_8044BB78@ha
/* 8035CED8 00358B38 3B 60 00 00 */ li r27, 0
/* 8035CEDC 00358B3C 3B BD BB 78 */ addi r29, r29, lbl_8044BB78@l
/* 8035CEE0 00358B40 48 00 00 44 */ b lbl_8035CF24
lbl_8035CEE4:
/* 8035CEE4 00358B44 7F 23 CB 78 */ mr r3, r25
/* 8035CEE8 00358B48 7F 44 D3 78 */ mr r4, r26
/* 8035CEEC 00358B4C 48 00 23 29 */ bl NTSLengthSB
/* 8035CEF0 00358B50 2C 03 00 00 */ cmpwi r3, 0
/* 8035CEF4 00358B54 7C 7C 1B 78 */ mr r28, r3
/* 8035CEF8 00358B58 41 80 00 38 */ blt lbl_8035CF30
/* 8035CEFC 00358B5C 7C 9E DA 14 */ add r4, r30, r27
/* 8035CF00 00358B60 7F E3 FB 78 */ mr r3, r31
/* 8035CF04 00358B64 88 04 00 2C */ lbz r0, 0x2c(r4)
/* 8035CF08 00358B68 7F 25 CB 78 */ mr r5, r25
/* 8035CF0C 00358B6C 54 00 10 3A */ slwi r0, r0, 2
/* 8035CF10 00358B70 7C 9D 00 2E */ lwzx r4, r29, r0
/* 8035CF14 00358B74 48 00 06 25 */ bl SBServerAddKeyValue
/* 8035CF18 00358B78 7F 39 E2 14 */ add r25, r25, r28
/* 8035CF1C 00358B7C 7F 5C D0 50 */ subf r26, r28, r26
/* 8035CF20 00358B80 3B 7B 00 01 */ addi r27, r27, 1
lbl_8035CF24:
/* 8035CF24 00358B84 80 1E 00 40 */ lwz r0, 0x40(r30)
/* 8035CF28 00358B88 7C 1B 00 00 */ cmpw r27, r0
/* 8035CF2C 00358B8C 41 80 FF B8 */ blt lbl_8035CEE4
lbl_8035CF30:
/* 8035CF30 00358B90 88 1F 00 14 */ lbz r0, 0x14(r31)
/* 8035CF34 00358B94 60 00 00 41 */ ori r0, r0, 0x41
/* 8035CF38 00358B98 98 1F 00 14 */ stb r0, 0x14(r31)
/* 8035CF3C 00358B9C 48 00 00 74 */ b lbl_8035CFB0
lbl_8035CF40:
/* 8035CF40 00358BA0 88 19 00 00 */ lbz r0, 0(r25)
/* 8035CF44 00358BA4 7C 00 07 75 */ extsb. r0, r0
/* 8035CF48 00358BA8 41 82 00 4C */ beq lbl_8035CF94
/* 8035CF4C 00358BAC 3C 60 80 45 */ lis r3, lbl_8044C5D4@ha
/* 8035CF50 00358BB0 7F 24 CB 78 */ mr r4, r25
/* 8035CF54 00358BB4 38 63 C5 D4 */ addi r3, r3, lbl_8044C5D4@l
/* 8035CF58 00358BB8 38 A0 00 08 */ li r5, 8
/* 8035CF5C 00358BBC 4B E7 16 0D */ bl strncmp
/* 8035CF60 00358BC0 2C 03 00 00 */ cmpwi r3, 0
/* 8035CF64 00358BC4 40 82 00 30 */ bne lbl_8035CF94
/* 8035CF68 00358BC8 7F E3 FB 78 */ mr r3, r31
/* 8035CF6C 00358BCC 7F 24 CB 78 */ mr r4, r25
/* 8035CF70 00358BD0 7F 45 D3 78 */ mr r5, r26
/* 8035CF74 00358BD4 48 00 0C C1 */ bl SBServerParseQR2FullKeysSplit
/* 8035CF78 00358BD8 88 1F 00 28 */ lbz r0, 0x28(r31)
/* 8035CF7C 00358BDC 28 00 00 FF */ cmplwi r0, 0xff
/* 8035CF80 00358BE0 40 82 00 74 */ bne lbl_8035CFF4
/* 8035CF84 00358BE4 88 1F 00 14 */ lbz r0, 0x14(r31)
/* 8035CF88 00358BE8 60 00 00 43 */ ori r0, r0, 0x43
/* 8035CF8C 00358BEC 98 1F 00 14 */ stb r0, 0x14(r31)
/* 8035CF90 00358BF0 48 00 00 20 */ b lbl_8035CFB0
lbl_8035CF94:
/* 8035CF94 00358BF4 7F E3 FB 78 */ mr r3, r31
/* 8035CF98 00358BF8 7F 24 CB 78 */ mr r4, r25
/* 8035CF9C 00358BFC 7F 45 D3 78 */ mr r5, r26
/* 8035CFA0 00358C00 48 00 0A B1 */ bl SBServerParseQR2FullKeysSingle
/* 8035CFA4 00358C04 88 1F 00 14 */ lbz r0, 0x14(r31)
/* 8035CFA8 00358C08 60 00 00 43 */ ori r0, r0, 0x43
/* 8035CFAC 00358C0C 98 1F 00 14 */ stb r0, 0x14(r31)
lbl_8035CFB0:
/* 8035CFB0 00358C10 88 1F 00 14 */ lbz r0, 0x14(r31)
/* 8035CFB4 00358C14 70 00 00 F3 */ andi. r0, r0, 0xf3
/* 8035CFB8 00358C18 98 1F 00 14 */ stb r0, 0x14(r31)
/* 8035CFBC 00358C1C 4B FD C0 1D */ bl current_time
/* 8035CFC0 00358C20 80 1F 00 1C */ lwz r0, 0x1c(r31)
/* 8035CFC4 00358C24 7F E4 FB 78 */ mr r4, r31
/* 8035CFC8 00358C28 7C 00 18 50 */ subf r0, r0, r3
/* 8035CFCC 00358C2C 38 7E 00 08 */ addi r3, r30, 8
/* 8035CFD0 00358C30 90 1F 00 1C */ stw r0, 0x1c(r31)
/* 8035CFD4 00358C34 4B FF F9 55 */ bl FIFORemove
/* 8035CFD8 00358C38 81 9E 00 44 */ lwz r12, 0x44(r30)
/* 8035CFDC 00358C3C 7F C3 F3 78 */ mr r3, r30
/* 8035CFE0 00358C40 7F E5 FB 78 */ mr r5, r31
/* 8035CFE4 00358C44 80 DE 00 48 */ lwz r6, 0x48(r30)
/* 8035CFE8 00358C48 38 80 00 00 */ li r4, 0
/* 8035CFEC 00358C4C 7D 89 03 A6 */ mtctr r12
/* 8035CFF0 00358C50 4E 80 04 21 */ bctrl
lbl_8035CFF4:
/* 8035CFF4 00358C54 39 61 00 30 */ addi r11, r1, 0x30
/* 8035CFF8 00358C58 4B E6 A1 75 */ bl _restgpr_25
/* 8035CFFC 00358C5C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8035D000 00358C60 7C 08 03 A6 */ mtlr r0
/* 8035D004 00358C64 38 21 00 30 */ addi r1, r1, 0x30
/* 8035D008 00358C68 4E 80 00 20 */ blr
.global ProcessIncomingReplies
ProcessIncomingReplies:
/* 8035D00C 00358C6C 94 21 F7 C0 */ stwu r1, -0x840(r1)
/* 8035D010 00358C70 7C 08 02 A6 */ mflr r0
/* 8035D014 00358C74 90 01 08 44 */ stw r0, 0x844(r1)
/* 8035D018 00358C78 39 61 08 40 */ addi r11, r1, 0x840
/* 8035D01C 00358C7C 4B E6 A1 05 */ bl _savegpr_25
/* 8035D020 00358C80 38 00 00 08 */ li r0, 8
/* 8035D024 00358C84 2C 04 00 00 */ cmpwi r4, 0
/* 8035D028 00358C88 90 01 00 08 */ stw r0, 8(r1)
/* 8035D02C 00358C8C 7C 7A 1B 78 */ mr r26, r3
/* 8035D030 00358C90 7C 9B 23 78 */ mr r27, r4
/* 8035D034 00358C94 3B 80 00 00 */ li r28, 0
/* 8035D038 00358C98 40 82 00 08 */ bne lbl_8035D040
/* 8035D03C 00358C9C 83 83 00 20 */ lwz r28, 0x20(r3)
lbl_8035D040:
/* 8035D040 00358CA0 3B E1 00 18 */ addi r31, r1, 0x18
/* 8035D044 00358CA4 3B C0 00 00 */ li r30, 0
/* 8035D048 00358CA8 48 00 01 78 */ b lbl_8035D1C0
lbl_8035D04C:
/* 8035D04C 00358CAC 7F 83 E3 78 */ mr r3, r28
/* 8035D050 00358CB0 38 81 00 18 */ addi r4, r1, 0x18
/* 8035D054 00358CB4 38 E1 00 10 */ addi r7, r1, 0x10
/* 8035D058 00358CB8 39 01 00 08 */ addi r8, r1, 8
/* 8035D05C 00358CBC 38 A0 07 FF */ li r5, 0x7ff
/* 8035D060 00358CC0 38 C0 00 00 */ li r6, 0
/* 8035D064 00358CC4 4B FD AD A1 */ bl recvfrom
/* 8035D068 00358CC8 2C 03 FF FF */ cmpwi r3, -1
/* 8035D06C 00358CCC 7C 66 1B 78 */ mr r6, r3
/* 8035D070 00358CD0 41 82 01 60 */ beq lbl_8035D1D0
/* 8035D074 00358CD4 7F DF 19 AE */ stbx r30, r31, r3
/* 8035D078 00358CD8 80 61 00 14 */ lwz r3, 0x14(r1)
/* 8035D07C 00358CDC 83 BA 00 08 */ lwz r29, 8(r26)
/* 8035D080 00358CE0 A0 81 00 12 */ lhz r4, 0x12(r1)
/* 8035D084 00358CE4 48 00 01 34 */ b lbl_8035D1B8
lbl_8035D088:
/* 8035D088 00358CE8 2C 1B 00 00 */ cmpwi r27, 0
/* 8035D08C 00358CEC 41 82 00 1C */ beq lbl_8035D0A8
/* 8035D090 00358CF0 88 1D 00 15 */ lbz r0, 0x15(r29)
/* 8035D094 00358CF4 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 8035D098 00358CF8 41 82 00 10 */ beq lbl_8035D0A8
/* 8035D09C 00358CFC 80 1D 00 10 */ lwz r0, 0x10(r29)
/* 8035D0A0 00358D00 7C 00 18 40 */ cmplw r0, r3
/* 8035D0A4 00358D04 41 82 00 54 */ beq lbl_8035D0F8
lbl_8035D0A8:
/* 8035D0A8 00358D08 80 BD 00 00 */ lwz r5, 0(r29)
/* 8035D0AC 00358D0C 7C 05 18 40 */ cmplw r5, r3
/* 8035D0B0 00358D10 40 82 00 18 */ bne lbl_8035D0C8
/* 8035D0B4 00358D14 A0 1D 00 04 */ lhz r0, 4(r29)
/* 8035D0B8 00358D18 7C 00 20 40 */ cmplw r0, r4
/* 8035D0BC 00358D1C 41 82 00 3C */ beq lbl_8035D0F8
/* 8035D0C0 00358D20 2C 1B 00 00 */ cmpwi r27, 0
/* 8035D0C4 00358D24 40 82 00 34 */ bne lbl_8035D0F8
lbl_8035D0C8:
/* 8035D0C8 00358D28 80 1A 00 28 */ lwz r0, 0x28(r26)
/* 8035D0CC 00358D2C 7C 05 00 40 */ cmplw r5, r0
/* 8035D0D0 00358D30 40 82 00 E4 */ bne lbl_8035D1B4
/* 8035D0D4 00358D34 88 1D 00 15 */ lbz r0, 0x15(r29)
/* 8035D0D8 00358D38 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 8035D0DC 00358D3C 41 82 00 D8 */ beq lbl_8035D1B4
/* 8035D0E0 00358D40 80 1D 00 08 */ lwz r0, 8(r29)
/* 8035D0E4 00358D44 7C 00 18 40 */ cmplw r0, r3
/* 8035D0E8 00358D48 40 82 00 CC */ bne lbl_8035D1B4
/* 8035D0EC 00358D4C A0 1D 00 0C */ lhz r0, 0xc(r29)
/* 8035D0F0 00358D50 7C 00 20 40 */ cmplw r0, r4
/* 8035D0F4 00358D54 40 82 00 C0 */ bne lbl_8035D1B4
lbl_8035D0F8:
/* 8035D0F8 00358D58 2C 1B 00 00 */ cmpwi r27, 0
/* 8035D0FC 00358D5C 40 82 00 C4 */ bne lbl_8035D1C0
/* 8035D100 00358D60 80 1A 00 00 */ lwz r0, 0(r26)
/* 8035D104 00358D64 2C 00 00 01 */ cmpwi r0, 1
/* 8035D108 00358D68 40 82 00 18 */ bne lbl_8035D120
/* 8035D10C 00358D6C 7F 43 D3 78 */ mr r3, r26
/* 8035D110 00358D70 7F A4 EB 78 */ mr r4, r29
/* 8035D114 00358D74 38 A1 00 18 */ addi r5, r1, 0x18
/* 8035D118 00358D78 4B FF FD 1D */ bl ParseSingleQR2Reply
/* 8035D11C 00358D7C 48 00 00 A4 */ b lbl_8035D1C0
lbl_8035D120:
/* 8035D120 00358D80 38 61 00 18 */ addi r3, r1, 0x18
/* 8035D124 00358D84 38 8D 94 C8 */ addi r4, r13, lbl_8063E788-_SDA_BASE_
/* 8035D128 00358D88 4B E7 16 79 */ bl strstr
/* 8035D12C 00358D8C 7C 03 00 D0 */ neg r0, r3
/* 8035D130 00358D90 38 81 00 18 */ addi r4, r1, 0x18
/* 8035D134 00358D94 7C 00 1B 78 */ or r0, r0, r3
/* 8035D138 00358D98 7F A3 EB 78 */ mr r3, r29
/* 8035D13C 00358D9C 54 19 0F FE */ srwi r25, r0, 0x1f
/* 8035D140 00358DA0 48 00 07 55 */ bl SBServerParseKeyVals
/* 8035D144 00358DA4 2C 19 00 00 */ cmpwi r25, 0
/* 8035D148 00358DA8 41 82 00 78 */ beq lbl_8035D1C0
/* 8035D14C 00358DAC 88 7D 00 14 */ lbz r3, 0x14(r29)
/* 8035D150 00358DB0 54 60 07 7B */ rlwinm. r0, r3, 0, 0x1d, 0x1d
/* 8035D154 00358DB4 41 82 00 10 */ beq lbl_8035D164
/* 8035D158 00358DB8 60 60 00 41 */ ori r0, r3, 0x41
/* 8035D15C 00358DBC 98 1D 00 14 */ stb r0, 0x14(r29)
/* 8035D160 00358DC0 48 00 00 0C */ b lbl_8035D16C
lbl_8035D164:
/* 8035D164 00358DC4 60 60 00 42 */ ori r0, r3, 0x42
/* 8035D168 00358DC8 98 1D 00 14 */ stb r0, 0x14(r29)
lbl_8035D16C:
/* 8035D16C 00358DCC 88 1D 00 14 */ lbz r0, 0x14(r29)
/* 8035D170 00358DD0 70 00 00 F3 */ andi. r0, r0, 0xf3
/* 8035D174 00358DD4 98 1D 00 14 */ stb r0, 0x14(r29)
/* 8035D178 00358DD8 4B FD BE 61 */ bl current_time
/* 8035D17C 00358DDC 80 1D 00 1C */ lwz r0, 0x1c(r29)
/* 8035D180 00358DE0 7F A4 EB 78 */ mr r4, r29
/* 8035D184 00358DE4 7C 00 18 50 */ subf r0, r0, r3
/* 8035D188 00358DE8 38 7A 00 08 */ addi r3, r26, 8
/* 8035D18C 00358DEC 90 1D 00 1C */ stw r0, 0x1c(r29)
/* 8035D190 00358DF0 4B FF F7 99 */ bl FIFORemove
/* 8035D194 00358DF4 81 9A 00 44 */ lwz r12, 0x44(r26)
/* 8035D198 00358DF8 7F 43 D3 78 */ mr r3, r26
/* 8035D19C 00358DFC 7F A5 EB 78 */ mr r5, r29
/* 8035D1A0 00358E00 80 DA 00 48 */ lwz r6, 0x48(r26)
/* 8035D1A4 00358E04 38 80 00 00 */ li r4, 0
/* 8035D1A8 00358E08 7D 89 03 A6 */ mtctr r12
/* 8035D1AC 00358E0C 4E 80 04 21 */ bctrl
/* 8035D1B0 00358E10 48 00 00 10 */ b lbl_8035D1C0
lbl_8035D1B4:
/* 8035D1B4 00358E14 83 BD 00 24 */ lwz r29, 0x24(r29)
lbl_8035D1B8:
/* 8035D1B8 00358E18 2C 1D 00 00 */ cmpwi r29, 0
/* 8035D1BC 00358E1C 40 82 FE CC */ bne lbl_8035D088
lbl_8035D1C0:
/* 8035D1C0 00358E20 7F 83 E3 78 */ mr r3, r28
/* 8035D1C4 00358E24 4B FD B6 89 */ bl CanReceiveOnSocket
/* 8035D1C8 00358E28 2C 03 00 00 */ cmpwi r3, 0
/* 8035D1CC 00358E2C 40 82 FE 80 */ bne lbl_8035D04C
lbl_8035D1D0:
/* 8035D1D0 00358E30 39 61 08 40 */ addi r11, r1, 0x840
/* 8035D1D4 00358E34 4B E6 9F 99 */ bl _restgpr_25
/* 8035D1D8 00358E38 80 01 08 44 */ lwz r0, 0x844(r1)
/* 8035D1DC 00358E3C 7C 08 03 A6 */ mtlr r0
/* 8035D1E0 00358E40 38 21 08 40 */ addi r1, r1, 0x840
/* 8035D1E4 00358E44 4E 80 00 20 */ blr
.global SBQueryEngineThink
SBQueryEngineThink:
/* 8035D1E8 00358E48 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8035D1EC 00358E4C 7C 08 02 A6 */ mflr r0
/* 8035D1F0 00358E50 90 01 00 24 */ stw r0, 0x24(r1)
/* 8035D1F4 00358E54 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8035D1F8 00358E58 7C 7F 1B 78 */ mr r31, r3
/* 8035D1FC 00358E5C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8035D200 00358E60 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8035D204 00358E64 93 81 00 10 */ stw r28, 0x10(r1)
/* 8035D208 00358E68 80 03 00 10 */ lwz r0, 0x10(r3)
/* 8035D20C 00358E6C 2C 00 00 00 */ cmpwi r0, 0
/* 8035D210 00358E70 41 82 01 34 */ beq lbl_8035D344
/* 8035D214 00358E74 38 80 00 00 */ li r4, 0
/* 8035D218 00358E78 4B FF FD F5 */ bl ProcessIncomingReplies
/* 8035D21C 00358E7C 4B FD BD BD */ bl current_time
/* 8035D220 00358E80 7C 7C 1B 78 */ mr r28, r3
/* 8035D224 00358E84 3B A0 09 C4 */ li r29, 0x9c4
/* 8035D228 00358E88 3B C0 00 00 */ li r30, 0
/* 8035D22C 00358E8C 48 00 00 80 */ b lbl_8035D2AC
lbl_8035D230:
/* 8035D230 00358E90 80 65 00 1C */ lwz r3, 0x1c(r5)
/* 8035D234 00358E94 38 03 09 C4 */ addi r0, r3, 0x9c4
/* 8035D238 00358E98 7C 1C 00 40 */ cmplw r28, r0
/* 8035D23C 00358E9C 40 81 00 7C */ ble lbl_8035D2B8
/* 8035D240 00358EA0 88 05 00 15 */ lbz r0, 0x15(r5)
/* 8035D244 00358EA4 7F E3 FB 78 */ mr r3, r31
/* 8035D248 00358EA8 38 80 00 01 */ li r4, 1
/* 8035D24C 00358EAC 60 00 00 10 */ ori r0, r0, 0x10
/* 8035D250 00358EB0 98 05 00 15 */ stb r0, 0x15(r5)
/* 8035D254 00358EB4 80 BF 00 08 */ lwz r5, 8(r31)
/* 8035D258 00358EB8 93 A5 00 1C */ stw r29, 0x1c(r5)
/* 8035D25C 00358EBC 80 BF 00 08 */ lwz r5, 8(r31)
/* 8035D260 00358EC0 88 05 00 15 */ lbz r0, 0x15(r5)
/* 8035D264 00358EC4 70 00 00 D3 */ andi. r0, r0, 0xd3
/* 8035D268 00358EC8 98 05 00 15 */ stb r0, 0x15(r5)
/* 8035D26C 00358ECC 81 9F 00 44 */ lwz r12, 0x44(r31)
/* 8035D270 00358ED0 80 BF 00 08 */ lwz r5, 8(r31)
/* 8035D274 00358ED4 80 DF 00 48 */ lwz r6, 0x48(r31)
/* 8035D278 00358ED8 7D 89 03 A6 */ mtctr r12
/* 8035D27C 00358EDC 4E 80 04 21 */ bctrl
/* 8035D280 00358EE0 80 7F 00 08 */ lwz r3, 8(r31)
/* 8035D284 00358EE4 2C 03 00 00 */ cmpwi r3, 0
/* 8035D288 00358EE8 41 82 00 24 */ beq lbl_8035D2AC
/* 8035D28C 00358EEC 80 03 00 24 */ lwz r0, 0x24(r3)
/* 8035D290 00358EF0 2C 00 00 00 */ cmpwi r0, 0
/* 8035D294 00358EF4 90 1F 00 08 */ stw r0, 8(r31)
/* 8035D298 00358EF8 40 82 00 08 */ bne lbl_8035D2A0
/* 8035D29C 00358EFC 93 DF 00 0C */ stw r30, 0xc(r31)
lbl_8035D2A0:
/* 8035D2A0 00358F00 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 8035D2A4 00358F04 38 03 FF FF */ addi r0, r3, -1
/* 8035D2A8 00358F08 90 1F 00 10 */ stw r0, 0x10(r31)
lbl_8035D2AC:
/* 8035D2AC 00358F0C 80 BF 00 08 */ lwz r5, 8(r31)
/* 8035D2B0 00358F10 2C 05 00 00 */ cmpwi r5, 0
/* 8035D2B4 00358F14 40 82 FF 7C */ bne lbl_8035D230
lbl_8035D2B8:
/* 8035D2B8 00358F18 80 1F 00 1C */ lwz r0, 0x1c(r31)
/* 8035D2BC 00358F1C 2C 00 00 00 */ cmpwi r0, 0
/* 8035D2C0 00358F20 40 81 00 5C */ ble lbl_8035D31C
/* 8035D2C4 00358F24 3B C0 00 00 */ li r30, 0
/* 8035D2C8 00358F28 48 00 00 38 */ b lbl_8035D300
lbl_8035D2CC:
/* 8035D2CC 00358F2C 80 9F 00 14 */ lwz r4, 0x14(r31)
/* 8035D2D0 00358F30 2C 04 00 00 */ cmpwi r4, 0
/* 8035D2D4 00358F34 41 82 00 24 */ beq lbl_8035D2F8
/* 8035D2D8 00358F38 80 04 00 24 */ lwz r0, 0x24(r4)
/* 8035D2DC 00358F3C 2C 00 00 00 */ cmpwi r0, 0
/* 8035D2E0 00358F40 90 1F 00 14 */ stw r0, 0x14(r31)
/* 8035D2E4 00358F44 40 82 00 08 */ bne lbl_8035D2EC
/* 8035D2E8 00358F48 93 DF 00 18 */ stw r30, 0x18(r31)
lbl_8035D2EC:
/* 8035D2EC 00358F4C 80 7F 00 1C */ lwz r3, 0x1c(r31)
/* 8035D2F0 00358F50 38 03 FF FF */ addi r0, r3, -1
/* 8035D2F4 00358F54 90 1F 00 1C */ stw r0, 0x1c(r31)
lbl_8035D2F8:
/* 8035D2F8 00358F58 7F E3 FB 78 */ mr r3, r31
/* 8035D2FC 00358F5C 4B FF F6 A1 */ bl QEStartQuery
lbl_8035D300:
/* 8035D300 00358F60 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 8035D304 00358F64 80 1F 00 04 */ lwz r0, 4(r31)
/* 8035D308 00358F68 7C 03 00 00 */ cmpw r3, r0
/* 8035D30C 00358F6C 40 80 00 10 */ bge lbl_8035D31C
/* 8035D310 00358F70 80 1F 00 1C */ lwz r0, 0x1c(r31)
/* 8035D314 00358F74 2C 00 00 00 */ cmpwi r0, 0
/* 8035D318 00358F78 41 81 FF B4 */ bgt lbl_8035D2CC
lbl_8035D31C:
/* 8035D31C 00358F7C 80 1F 00 10 */ lwz r0, 0x10(r31)
/* 8035D320 00358F80 2C 00 00 00 */ cmpwi r0, 0
/* 8035D324 00358F84 40 82 00 20 */ bne lbl_8035D344
/* 8035D328 00358F88 81 9F 00 44 */ lwz r12, 0x44(r31)
/* 8035D32C 00358F8C 7F E3 FB 78 */ mr r3, r31
/* 8035D330 00358F90 80 DF 00 48 */ lwz r6, 0x48(r31)
/* 8035D334 00358F94 38 80 00 02 */ li r4, 2
/* 8035D338 00358F98 38 A0 00 00 */ li r5, 0
/* 8035D33C 00358F9C 7D 89 03 A6 */ mtctr r12
/* 8035D340 00358FA0 4E 80 04 21 */ bctrl
lbl_8035D344:
/* 8035D344 00358FA4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8035D348 00358FA8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8035D34C 00358FAC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8035D350 00358FB0 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8035D354 00358FB4 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8035D358 00358FB8 7C 08 03 A6 */ mtlr r0
/* 8035D35C 00358FBC 38 21 00 20 */ addi r1, r1, 0x20
/* 8035D360 00358FC0 4E 80 00 20 */ blr
.global SBQueryEngineAddQueryKey
SBQueryEngineAddQueryKey:
/* 8035D364 00358FC4 80 C3 00 40 */ lwz r6, 0x40(r3)
/* 8035D368 00358FC8 2C 06 00 14 */ cmpwi r6, 0x14
/* 8035D36C 00358FCC 4C 80 00 20 */ bgelr
/* 8035D370 00358FD0 7C A3 32 14 */ add r5, r3, r6
/* 8035D374 00358FD4 38 06 00 01 */ addi r0, r6, 1
/* 8035D378 00358FD8 98 85 00 2C */ stb r4, 0x2c(r5)
/* 8035D37C 00358FDC 90 03 00 40 */ stw r0, 0x40(r3)
/* 8035D380 00358FE0 4E 80 00 20 */ blr
.global SBQueryEngineRemoveServerFromFIFOs
SBQueryEngineRemoveServerFromFIFOs:
/* 8035D384 00358FE4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8035D388 00358FE8 7C 08 02 A6 */ mflr r0
/* 8035D38C 00358FEC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8035D390 00358FF0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8035D394 00358FF4 7C 9F 23 78 */ mr r31, r4
/* 8035D398 00358FF8 93 C1 00 08 */ stw r30, 8(r1)
/* 8035D39C 00358FFC 7C 7E 1B 78 */ mr r30, r3
/* 8035D3A0 00359000 38 63 00 08 */ addi r3, r3, 8
/* 8035D3A4 00359004 4B FF F5 85 */ bl FIFORemove
/* 8035D3A8 00359008 2C 03 00 00 */ cmpwi r3, 0
/* 8035D3AC 0035900C 40 82 00 10 */ bne lbl_8035D3BC
/* 8035D3B0 00359010 7F E4 FB 78 */ mr r4, r31
/* 8035D3B4 00359014 38 7E 00 14 */ addi r3, r30, 0x14
/* 8035D3B8 00359018 4B FF F5 71 */ bl FIFORemove
lbl_8035D3BC:
/* 8035D3BC 0035901C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8035D3C0 00359020 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8035D3C4 00359024 83 C1 00 08 */ lwz r30, 8(r1)
/* 8035D3C8 00359028 7C 08 03 A6 */ mtlr r0
/* 8035D3CC 0035902C 38 21 00 10 */ addi r1, r1, 0x10
/* 8035D3D0 00359030 4E 80 00 20 */ blr
|