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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global func_801DD5C8
func_801DD5C8:
/* 801DD5C8 001D9228 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801DD5CC 001D922C 80 A3 00 00 */ lwz r5, 0(r3)
/* 801DD5D0 001D9230 2C 05 00 00 */ cmpwi r5, 0
/* 801DD5D4 001D9234 41 82 02 20 */ beq lbl_801DD7F4
/* 801DD5D8 001D9238 A0 83 00 06 */ lhz r4, 6(r3)
/* 801DD5DC 001D923C 54 80 07 FF */ clrlwi. r0, r4, 0x1f
/* 801DD5E0 001D9240 41 82 02 14 */ beq lbl_801DD7F4
/* 801DD5E4 001D9244 54 80 07 39 */ rlwinm. r0, r4, 0, 0x1c, 0x1c
/* 801DD5E8 001D9248 41 82 00 08 */ beq lbl_801DD5F0
/* 801DD5EC 001D924C 48 00 02 08 */ b lbl_801DD7F4
lbl_801DD5F0:
/* 801DD5F0 001D9250 C0 63 00 08 */ lfs f3, 8(r3)
/* 801DD5F4 001D9254 C0 03 00 0C */ lfs f0, 0xc(r3)
/* 801DD5F8 001D9258 EC 21 00 F2 */ fmuls f1, f1, f3
/* 801DD5FC 001D925C C0 42 95 E0 */ lfs f2, lbl_80641BE0-_SDA2_BASE_(r2)
/* 801DD600 001D9260 EC 20 08 2A */ fadds f1, f0, f1
/* 801DD604 001D9264 FC 01 10 40 */ fcmpo cr0, f1, f2
/* 801DD608 001D9268 D0 23 00 0C */ stfs f1, 0xc(r3)
/* 801DD60C 001D926C 40 80 00 F8 */ bge lbl_801DD704
/* 801DD610 001D9270 A0 03 00 04 */ lhz r0, 4(r3)
/* 801DD614 001D9274 60 84 00 04 */ ori r4, r4, 4
/* 801DD618 001D9278 B0 83 00 06 */ sth r4, 6(r3)
/* 801DD61C 001D927C 2C 00 00 02 */ cmpwi r0, 2
/* 801DD620 001D9280 41 82 00 3C */ beq lbl_801DD65C
/* 801DD624 001D9284 40 80 00 C8 */ bge lbl_801DD6EC
/* 801DD628 001D9288 2C 00 00 01 */ cmpwi r0, 1
/* 801DD62C 001D928C 40 80 00 20 */ bge lbl_801DD64C
/* 801DD630 001D9290 48 00 00 BC */ b lbl_801DD6EC
/* 801DD634 001D9294 48 00 00 18 */ b lbl_801DD64C
lbl_801DD638:
/* 801DD638 001D9298 80 83 00 00 */ lwz r4, 0(r3)
/* 801DD63C 001D929C C0 23 00 0C */ lfs f1, 0xc(r3)
/* 801DD640 001D92A0 C0 04 00 08 */ lfs f0, 8(r4)
/* 801DD644 001D92A4 EC 01 00 2A */ fadds f0, f1, f0
/* 801DD648 001D92A8 D0 03 00 0C */ stfs f0, 0xc(r3)
lbl_801DD64C:
/* 801DD64C 001D92AC C0 03 00 0C */ lfs f0, 0xc(r3)
/* 801DD650 001D92B0 FC 00 10 40 */ fcmpo cr0, f0, f2
/* 801DD654 001D92B4 41 80 FF E4 */ blt lbl_801DD638
/* 801DD658 001D92B8 48 00 01 90 */ b lbl_801DD7E8
lbl_801DD65C:
/* 801DD65C 001D92BC FC 00 08 50 */ fneg f0, f1
/* 801DD660 001D92C0 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 801DD664 001D92C4 FC 00 00 18 */ frsp f0, f0
/* 801DD668 001D92C8 C0 45 00 08 */ lfs f2, 8(r5)
/* 801DD66C 001D92CC FC 00 10 40 */ fcmpo cr0, f0, f2
/* 801DD670 001D92D0 40 81 00 70 */ ble lbl_801DD6E0
/* 801DD674 001D92D4 EC 80 10 24 */ fdivs f4, f0, f2
/* 801DD678 001D92D8 3C 00 43 30 */ lis r0, 0x4330
/* 801DD67C 001D92DC 90 01 00 10 */ stw r0, 0x10(r1)
/* 801DD680 001D92E0 C8 22 95 E8 */ lfd f1, lbl_80641BE8-_SDA2_BASE_(r2)
/* 801DD684 001D92E4 FC 00 20 1E */ fctiwz f0, f4
/* 801DD688 001D92E8 D8 01 00 08 */ stfd f0, 8(r1)
/* 801DD68C 001D92EC 80 A1 00 0C */ lwz r5, 0xc(r1)
/* 801DD690 001D92F0 6C A0 80 00 */ xoris r0, r5, 0x8000
/* 801DD694 001D92F4 54 A4 0F FE */ srwi r4, r5, 0x1f
/* 801DD698 001D92F8 90 01 00 14 */ stw r0, 0x14(r1)
/* 801DD69C 001D92FC 54 A0 07 FE */ clrlwi r0, r5, 0x1f
/* 801DD6A0 001D9300 7C 00 22 78 */ xor r0, r0, r4
/* 801DD6A4 001D9304 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 801DD6A8 001D9308 7C 04 00 51 */ subf. r0, r4, r0
/* 801DD6AC 001D930C EC 00 08 28 */ fsubs f0, f0, f1
/* 801DD6B0 001D9310 EC 84 00 28 */ fsubs f4, f4, f0
/* 801DD6B4 001D9314 41 82 00 18 */ beq lbl_801DD6CC
/* 801DD6B8 001D9318 C0 02 95 E4 */ lfs f0, lbl_80641BE4-_SDA2_BASE_(r2)
/* 801DD6BC 001D931C EC 00 20 28 */ fsubs f0, f0, f4
/* 801DD6C0 001D9320 EC 02 00 32 */ fmuls f0, f2, f0
/* 801DD6C4 001D9324 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 801DD6C8 001D9328 48 00 01 20 */ b lbl_801DD7E8
lbl_801DD6CC:
/* 801DD6CC 001D932C EC 22 01 32 */ fmuls f1, f2, f4
/* 801DD6D0 001D9330 FC 00 18 50 */ fneg f0, f3
/* 801DD6D4 001D9334 D0 23 00 0C */ stfs f1, 0xc(r3)
/* 801DD6D8 001D9338 D0 03 00 08 */ stfs f0, 8(r3)
/* 801DD6DC 001D933C 48 00 01 0C */ b lbl_801DD7E8
lbl_801DD6E0:
/* 801DD6E0 001D9340 FC 00 18 50 */ fneg f0, f3
/* 801DD6E4 001D9344 D0 03 00 08 */ stfs f0, 8(r3)
/* 801DD6E8 001D9348 48 00 01 00 */ b lbl_801DD7E8
lbl_801DD6EC:
/* 801DD6EC 001D934C A0 03 00 06 */ lhz r0, 6(r3)
/* 801DD6F0 001D9350 C0 02 95 E0 */ lfs f0, lbl_80641BE0-_SDA2_BASE_(r2)
/* 801DD6F4 001D9354 60 00 00 08 */ ori r0, r0, 8
/* 801DD6F8 001D9358 B0 03 00 06 */ sth r0, 6(r3)
/* 801DD6FC 001D935C D0 03 00 0C */ stfs f0, 0xc(r3)
/* 801DD700 001D9360 48 00 00 E8 */ b lbl_801DD7E8
lbl_801DD704:
/* 801DD704 001D9364 C0 05 00 08 */ lfs f0, 8(r5)
/* 801DD708 001D9368 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801DD70C 001D936C 40 81 00 DC */ ble lbl_801DD7E8
/* 801DD710 001D9370 A0 03 00 04 */ lhz r0, 4(r3)
/* 801DD714 001D9374 60 84 00 04 */ ori r4, r4, 4
/* 801DD718 001D9378 B0 83 00 06 */ sth r4, 6(r3)
/* 801DD71C 001D937C 2C 00 00 02 */ cmpwi r0, 2
/* 801DD720 001D9380 41 82 00 40 */ beq lbl_801DD760
/* 801DD724 001D9384 40 80 00 AC */ bge lbl_801DD7D0
/* 801DD728 001D9388 2C 00 00 01 */ cmpwi r0, 1
/* 801DD72C 001D938C 40 80 00 1C */ bge lbl_801DD748
/* 801DD730 001D9390 48 00 00 A0 */ b lbl_801DD7D0
/* 801DD734 001D9394 48 00 00 14 */ b lbl_801DD748
lbl_801DD738:
/* 801DD738 001D9398 C0 23 00 0C */ lfs f1, 0xc(r3)
/* 801DD73C 001D939C C0 04 00 08 */ lfs f0, 8(r4)
/* 801DD740 001D93A0 EC 01 00 28 */ fsubs f0, f1, f0
/* 801DD744 001D93A4 D0 03 00 0C */ stfs f0, 0xc(r3)
lbl_801DD748:
/* 801DD748 001D93A8 80 83 00 00 */ lwz r4, 0(r3)
/* 801DD74C 001D93AC C0 23 00 0C */ lfs f1, 0xc(r3)
/* 801DD750 001D93B0 C0 04 00 08 */ lfs f0, 8(r4)
/* 801DD754 001D93B4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801DD758 001D93B8 41 81 FF E0 */ bgt lbl_801DD738
/* 801DD75C 001D93BC 48 00 00 8C */ b lbl_801DD7E8
lbl_801DD760:
/* 801DD760 001D93C0 C0 45 00 08 */ lfs f2, 8(r5)
/* 801DD764 001D93C4 3C 00 43 30 */ lis r0, 0x4330
/* 801DD768 001D93C8 90 01 00 08 */ stw r0, 8(r1)
/* 801DD76C 001D93CC EC 81 10 24 */ fdivs f4, f1, f2
/* 801DD770 001D93D0 C8 22 95 E8 */ lfd f1, lbl_80641BE8-_SDA2_BASE_(r2)
/* 801DD774 001D93D4 FC 00 20 1E */ fctiwz f0, f4
/* 801DD778 001D93D8 D8 01 00 10 */ stfd f0, 0x10(r1)
/* 801DD77C 001D93DC 80 A1 00 14 */ lwz r5, 0x14(r1)
/* 801DD780 001D93E0 6C A0 80 00 */ xoris r0, r5, 0x8000
/* 801DD784 001D93E4 54 A4 0F FE */ srwi r4, r5, 0x1f
/* 801DD788 001D93E8 90 01 00 0C */ stw r0, 0xc(r1)
/* 801DD78C 001D93EC 54 A0 07 FE */ clrlwi r0, r5, 0x1f
/* 801DD790 001D93F0 7C 00 22 78 */ xor r0, r0, r4
/* 801DD794 001D93F4 C8 01 00 08 */ lfd f0, 8(r1)
/* 801DD798 001D93F8 7C 04 00 51 */ subf. r0, r4, r0
/* 801DD79C 001D93FC EC 00 08 28 */ fsubs f0, f0, f1
/* 801DD7A0 001D9400 EC 84 00 28 */ fsubs f4, f4, f0
/* 801DD7A4 001D9404 41 82 00 20 */ beq lbl_801DD7C4
/* 801DD7A8 001D9408 C0 22 95 E4 */ lfs f1, lbl_80641BE4-_SDA2_BASE_(r2)
/* 801DD7AC 001D940C FC 00 18 50 */ fneg f0, f3
/* 801DD7B0 001D9410 EC 21 20 28 */ fsubs f1, f1, f4
/* 801DD7B4 001D9414 D0 03 00 08 */ stfs f0, 8(r3)
/* 801DD7B8 001D9418 EC 02 00 72 */ fmuls f0, f2, f1
/* 801DD7BC 001D941C D0 03 00 0C */ stfs f0, 0xc(r3)
/* 801DD7C0 001D9420 48 00 00 28 */ b lbl_801DD7E8
lbl_801DD7C4:
/* 801DD7C4 001D9424 EC 02 01 32 */ fmuls f0, f2, f4
/* 801DD7C8 001D9428 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 801DD7CC 001D942C 48 00 00 1C */ b lbl_801DD7E8
lbl_801DD7D0:
/* 801DD7D0 001D9430 A0 03 00 06 */ lhz r0, 6(r3)
/* 801DD7D4 001D9434 80 83 00 00 */ lwz r4, 0(r3)
/* 801DD7D8 001D9438 60 00 00 08 */ ori r0, r0, 8
/* 801DD7DC 001D943C B0 03 00 06 */ sth r0, 6(r3)
/* 801DD7E0 001D9440 C0 04 00 08 */ lfs f0, 8(r4)
/* 801DD7E4 001D9444 D0 03 00 0C */ stfs f0, 0xc(r3)
lbl_801DD7E8:
/* 801DD7E8 001D9448 A0 03 00 06 */ lhz r0, 6(r3)
/* 801DD7EC 001D944C 60 00 00 02 */ ori r0, r0, 2
/* 801DD7F0 001D9450 B0 03 00 06 */ sth r0, 6(r3)
lbl_801DD7F4:
/* 801DD7F4 001D9454 38 21 00 20 */ addi r1, r1, 0x20
/* 801DD7F8 001D9458 4E 80 00 20 */ blr
.global func_801DD7FC
func_801DD7FC:
/* 801DD7FC 001D945C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801DD800 001D9460 7C 08 02 A6 */ mflr r0
/* 801DD804 001D9464 90 01 00 24 */ stw r0, 0x24(r1)
/* 801DD808 001D9468 39 61 00 20 */ addi r11, r1, 0x20
/* 801DD80C 001D946C 4B FE 99 19 */ bl _savegpr_26
/* 801DD810 001D9470 80 C3 00 00 */ lwz r6, 0(r3)
/* 801DD814 001D9474 7C 7A 1B 78 */ mr r26, r3
/* 801DD818 001D9478 7C 9B 23 78 */ mr r27, r4
/* 801DD81C 001D947C 7C BC 2B 78 */ mr r28, r5
/* 801DD820 001D9480 2C 06 00 00 */ cmpwi r6, 0
/* 801DD824 001D9484 41 82 00 64 */ beq lbl_801DD888
/* 801DD828 001D9488 A0 03 00 06 */ lhz r0, 6(r3)
/* 801DD82C 001D948C 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 801DD830 001D9490 40 82 00 08 */ bne lbl_801DD838
/* 801DD834 001D9494 48 00 00 54 */ b lbl_801DD888
lbl_801DD838:
/* 801DD838 001D9498 83 E6 00 04 */ lwz r31, 4(r6)
/* 801DD83C 001D949C 3B A0 00 00 */ li r29, 0
/* 801DD840 001D94A0 A3 C6 00 02 */ lhz r30, 2(r6)
/* 801DD844 001D94A4 48 00 00 30 */ b lbl_801DD874
lbl_801DD848:
/* 801DD848 001D94A8 81 9F 00 0C */ lwz r12, 0xc(r31)
/* 801DD84C 001D94AC 2C 0C 00 00 */ cmpwi r12, 0
/* 801DD850 001D94B0 41 82 00 1C */ beq lbl_801DD86C
/* 801DD854 001D94B4 7F 63 DB 78 */ mr r3, r27
/* 801DD858 001D94B8 7F E4 FB 78 */ mr r4, r31
/* 801DD85C 001D94BC 7F 85 E3 78 */ mr r5, r28
/* 801DD860 001D94C0 C0 3A 00 0C */ lfs f1, 0xc(r26)
/* 801DD864 001D94C4 7D 89 03 A6 */ mtctr r12
/* 801DD868 001D94C8 4E 80 04 21 */ bctrl
lbl_801DD86C:
/* 801DD86C 001D94CC 3B BD 00 01 */ addi r29, r29, 1
/* 801DD870 001D94D0 3B FF 00 10 */ addi r31, r31, 0x10
lbl_801DD874:
/* 801DD874 001D94D4 7C 1D F0 00 */ cmpw r29, r30
/* 801DD878 001D94D8 41 80 FF D0 */ blt lbl_801DD848
/* 801DD87C 001D94DC A0 1A 00 06 */ lhz r0, 6(r26)
/* 801DD880 001D94E0 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 801DD884 001D94E4 B0 1A 00 06 */ sth r0, 6(r26)
lbl_801DD888:
/* 801DD888 001D94E8 39 61 00 20 */ addi r11, r1, 0x20
/* 801DD88C 001D94EC 4B FE 98 E5 */ bl _restgpr_26
/* 801DD890 001D94F0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801DD894 001D94F4 7C 08 03 A6 */ mtlr r0
/* 801DD898 001D94F8 38 21 00 20 */ addi r1, r1, 0x20
/* 801DD89C 001D94FC 4E 80 00 20 */ blr
.global func_801DD8A0
func_801DD8A0:
/* 801DD8A0 001D9500 38 A0 00 01 */ li r5, 1
/* 801DD8A4 001D9504 38 6D A0 88 */ addi r3, r13, lbl_8063F348-_SDA_BASE_
/* 801DD8A8 001D9508 38 80 00 04 */ li r4, 4
/* 801DD8AC 001D950C 38 00 00 00 */ li r0, 0
/* 801DD8B0 001D9510 98 AD A0 88 */ stb r5, lbl_8063F348-_SDA_BASE_(r13)
/* 801DD8B4 001D9514 B0 83 00 02 */ sth r4, 2(r3)
/* 801DD8B8 001D9518 98 03 00 04 */ stb r0, 4(r3)
/* 801DD8BC 001D951C 4E 80 00 20 */ blr
|