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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global func_8016340C
func_8016340C:
/* 8016340C 0015F06C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80163410 0015F070 7C 08 02 A6 */ mflr r0
/* 80163414 0015F074 90 01 00 14 */ stw r0, 0x14(r1)
/* 80163418 0015F078 48 10 F3 A1 */ bl OSGetTime
/* 8016341C 0015F07C 90 8D 9D AC */ stw r4, lbl_8063F06C-_SDA_BASE_(r13)
/* 80163420 0015F080 90 6D 9D A8 */ stw r3, lbl_8063F068-_SDA_BASE_(r13)
/* 80163424 0015F084 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80163428 0015F088 7C 08 03 A6 */ mtlr r0
/* 8016342C 0015F08C 38 21 00 10 */ addi r1, r1, 0x10
/* 80163430 0015F090 4E 80 00 20 */ blr
.global func_80163434
func_80163434:
/* 80163434 0015F094 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80163438 0015F098 7C 08 02 A6 */ mflr r0
/* 8016343C 0015F09C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80163440 0015F0A0 48 10 F3 79 */ bl OSGetTime
/* 80163444 0015F0A4 3C C0 80 00 */ lis r6, 0x800000F8@ha
/* 80163448 0015F0A8 81 0D 9D AC */ lwz r8, lbl_8063F06C-_SDA_BASE_(r13)
/* 8016344C 0015F0AC 80 06 00 F8 */ lwz r0, 0x800000F8@l(r6)
/* 80163450 0015F0B0 3C A0 10 62 */ lis r5, 0x10624DD3@ha
/* 80163454 0015F0B4 38 C5 4D D3 */ addi r6, r5, 0x10624DD3@l
/* 80163458 0015F0B8 80 ED 9D A8 */ lwz r7, lbl_8063F068-_SDA_BASE_(r13)
/* 8016345C 0015F0BC 54 00 F0 BE */ srwi r0, r0, 2
/* 80163460 0015F0C0 7C 88 20 10 */ subfc r4, r8, r4
/* 80163464 0015F0C4 7C 06 00 16 */ mulhwu r0, r6, r0
/* 80163468 0015F0C8 38 A0 00 00 */ li r5, 0
/* 8016346C 0015F0CC 7C 67 19 10 */ subfe r3, r7, r3
/* 80163470 0015F0D0 54 06 D1 BE */ srwi r6, r0, 6
/* 80163474 0015F0D4 48 06 3E 05 */ bl __div2i
/* 80163478 0015F0D8 38 C0 00 0A */ li r6, 0xa
/* 8016347C 0015F0DC 38 A0 00 00 */ li r5, 0
/* 80163480 0015F0E0 48 06 3D F9 */ bl __div2i
/* 80163484 0015F0E4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80163488 0015F0E8 7C 83 23 78 */ mr r3, r4
/* 8016348C 0015F0EC 7C 08 03 A6 */ mtlr r0
/* 80163490 0015F0F0 38 21 00 10 */ addi r1, r1, 0x10
/* 80163494 0015F0F4 4E 80 00 20 */ blr
.global func_80163498
func_80163498:
/* 80163498 0015F0F8 38 00 00 00 */ li r0, 0
/* 8016349C 0015F0FC 90 03 00 00 */ stw r0, 0(r3)
/* 801634A0 0015F100 80 0D 9D B0 */ lwz r0, lbl_8063F070-_SDA_BASE_(r13)
/* 801634A4 0015F104 90 03 00 04 */ stw r0, 4(r3)
/* 801634A8 0015F108 80 8D 9D B0 */ lwz r4, lbl_8063F070-_SDA_BASE_(r13)
/* 801634AC 0015F10C 2C 04 00 00 */ cmpwi r4, 0
/* 801634B0 0015F110 41 82 00 08 */ beq lbl_801634B8
/* 801634B4 0015F114 90 64 00 00 */ stw r3, 0(r4)
lbl_801634B8:
/* 801634B8 0015F118 90 6D 9D B0 */ stw r3, lbl_8063F070-_SDA_BASE_(r13)
/* 801634BC 0015F11C 4E 80 00 20 */ blr
.global func_801634C0
func_801634C0:
/* 801634C0 0015F120 80 83 00 00 */ lwz r4, 0(r3)
/* 801634C4 0015F124 2C 04 00 00 */ cmpwi r4, 0
/* 801634C8 0015F128 41 82 00 0C */ beq lbl_801634D4
/* 801634CC 0015F12C 90 64 00 04 */ stw r3, 4(r4)
/* 801634D0 0015F130 48 00 00 0C */ b lbl_801634DC
lbl_801634D4:
/* 801634D4 0015F134 80 03 00 04 */ lwz r0, 4(r3)
/* 801634D8 0015F138 90 0D 9D B0 */ stw r0, lbl_8063F070-_SDA_BASE_(r13)
lbl_801634DC:
/* 801634DC 0015F13C 80 83 00 04 */ lwz r4, 4(r3)
/* 801634E0 0015F140 2C 04 00 00 */ cmpwi r4, 0
/* 801634E4 0015F144 4D 82 00 20 */ beqlr
/* 801634E8 0015F148 80 03 00 00 */ lwz r0, 0(r3)
/* 801634EC 0015F14C 90 04 00 00 */ stw r0, 0(r4)
/* 801634F0 0015F150 4E 80 00 20 */ blr
.global func_801634F4
func_801634F4:
/* 801634F4 0015F154 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801634F8 0015F158 7C 08 02 A6 */ mflr r0
/* 801634FC 0015F15C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80163500 0015F160 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80163504 0015F164 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80163508 0015F168 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8016350C 0015F16C 93 81 00 10 */ stw r28, 0x10(r1)
/* 80163510 0015F170 4B FF FF 25 */ bl func_80163434
/* 80163514 0015F174 83 AD 9D B0 */ lwz r29, lbl_8063F070-_SDA_BASE_(r13)
/* 80163518 0015F178 7C 7E 1B 78 */ mr r30, r3
/* 8016351C 0015F17C 3B E0 00 02 */ li r31, 2
/* 80163520 0015F180 48 00 00 38 */ b lbl_80163558
lbl_80163524:
/* 80163524 0015F184 80 1D 00 14 */ lwz r0, 0x14(r29)
/* 80163528 0015F188 83 9D 00 04 */ lwz r28, 4(r29)
/* 8016352C 0015F18C 7C 00 F0 40 */ cmplw r0, r30
/* 80163530 0015F190 41 81 00 24 */ bgt lbl_80163554
/* 80163534 0015F194 7F A3 EB 78 */ mr r3, r29
/* 80163538 0015F198 4B FF FF 89 */ bl func_801634C0
/* 8016353C 0015F19C 93 FD 00 18 */ stw r31, 0x18(r29)
/* 80163540 0015F1A0 81 9D 00 08 */ lwz r12, 8(r29)
/* 80163544 0015F1A4 80 7D 00 0C */ lwz r3, 0xc(r29)
/* 80163548 0015F1A8 80 9D 00 10 */ lwz r4, 0x10(r29)
/* 8016354C 0015F1AC 7D 89 03 A6 */ mtctr r12
/* 80163550 0015F1B0 4E 80 04 21 */ bctrl
lbl_80163554:
/* 80163554 0015F1B4 7F 9D E3 78 */ mr r29, r28
lbl_80163558:
/* 80163558 0015F1B8 2C 1D 00 00 */ cmpwi r29, 0
/* 8016355C 0015F1BC 40 82 FF C8 */ bne lbl_80163524
/* 80163560 0015F1C0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80163564 0015F1C4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80163568 0015F1C8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8016356C 0015F1CC 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80163570 0015F1D0 83 81 00 10 */ lwz r28, 0x10(r1)
/* 80163574 0015F1D4 7C 08 03 A6 */ mtlr r0
/* 80163578 0015F1D8 38 21 00 20 */ addi r1, r1, 0x20
/* 8016357C 0015F1DC 4E 80 00 20 */ blr
.global func_80163580
func_80163580:
/* 80163580 0015F1E0 38 80 00 00 */ li r4, 0
/* 80163584 0015F1E4 38 A0 00 04 */ li r5, 4
/* 80163588 0015F1E8 4B EA 0B 7C */ b memset
.global func_8016358C
func_8016358C:
/* 8016358C 0015F1EC 90 A3 00 08 */ stw r5, 8(r3)
/* 80163590 0015F1F0 90 C3 00 0C */ stw r6, 0xc(r3)
/* 80163594 0015F1F4 90 E3 00 10 */ stw r7, 0x10(r3)
/* 80163598 0015F1F8 48 00 00 04 */ b lbl_8016359C
lbl_8016359C:
/* 8016359C 0015F1FC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801635A0 0015F200 7C 08 02 A6 */ mflr r0
/* 801635A4 0015F204 90 01 00 14 */ stw r0, 0x14(r1)
/* 801635A8 0015F208 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801635AC 0015F20C 7C 9F 23 78 */ mr r31, r4
/* 801635B0 0015F210 93 C1 00 08 */ stw r30, 8(r1)
/* 801635B4 0015F214 7C 7E 1B 78 */ mr r30, r3
/* 801635B8 0015F218 80 03 00 18 */ lwz r0, 0x18(r3)
/* 801635BC 0015F21C 28 00 00 01 */ cmplwi r0, 1
/* 801635C0 0015F220 40 82 00 08 */ bne lbl_801635C8
/* 801635C4 0015F224 4B FF FE FD */ bl func_801634C0
lbl_801635C8:
/* 801635C8 0015F228 4B FF FE 6D */ bl func_80163434
/* 801635CC 0015F22C 3C 80 66 66 */ lis r4, 0x66666667@ha
/* 801635D0 0015F230 38 00 00 01 */ li r0, 1
/* 801635D4 0015F234 38 84 66 67 */ addi r4, r4, 0x66666667@l
/* 801635D8 0015F238 90 1E 00 18 */ stw r0, 0x18(r30)
/* 801635DC 0015F23C 7C 04 F8 96 */ mulhw r0, r4, r31
/* 801635E0 0015F240 7C 00 16 70 */ srawi r0, r0, 2
/* 801635E4 0015F244 54 04 0F FE */ srwi r4, r0, 0x1f
/* 801635E8 0015F248 7C 00 22 14 */ add r0, r0, r4
/* 801635EC 0015F24C 7C 03 02 14 */ add r0, r3, r0
/* 801635F0 0015F250 7F C3 F3 78 */ mr r3, r30
/* 801635F4 0015F254 90 1E 00 14 */ stw r0, 0x14(r30)
/* 801635F8 0015F258 4B FF FE A1 */ bl func_80163498
/* 801635FC 0015F25C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80163600 0015F260 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80163604 0015F264 83 C1 00 08 */ lwz r30, 8(r1)
/* 80163608 0015F268 7C 08 03 A6 */ mtlr r0
/* 8016360C 0015F26C 38 21 00 10 */ addi r1, r1, 0x10
/* 80163610 0015F270 4E 80 00 20 */ blr
.global func_80163614
func_80163614:
/* 80163614 0015F274 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80163618 0015F278 7C 08 02 A6 */ mflr r0
/* 8016361C 0015F27C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80163620 0015F280 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80163624 0015F284 7C 7F 1B 78 */ mr r31, r3
/* 80163628 0015F288 80 03 00 18 */ lwz r0, 0x18(r3)
/* 8016362C 0015F28C 28 00 00 01 */ cmplwi r0, 1
/* 80163630 0015F290 40 82 00 08 */ bne lbl_80163638
/* 80163634 0015F294 4B FF FE 8D */ bl func_801634C0
lbl_80163638:
/* 80163638 0015F298 38 00 00 00 */ li r0, 0
/* 8016363C 0015F29C 90 1F 00 18 */ stw r0, 0x18(r31)
/* 80163640 0015F2A0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80163644 0015F2A4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80163648 0015F2A8 7C 08 03 A6 */ mtlr r0
/* 8016364C 0015F2AC 38 21 00 10 */ addi r1, r1, 0x10
/* 80163650 0015F2B0 4E 80 00 20 */ blr
.global func_80163654
func_80163654:
/* 80163654 0015F2B4 38 A0 00 01 */ li r5, 1
/* 80163658 0015F2B8 38 6D 9D A0 */ addi r3, r13, lbl_8063F060-_SDA_BASE_
/* 8016365C 0015F2BC 38 80 00 04 */ li r4, 4
/* 80163660 0015F2C0 38 00 00 00 */ li r0, 0
/* 80163664 0015F2C4 98 AD 9D A0 */ stb r5, lbl_8063F060-_SDA_BASE_(r13)
/* 80163668 0015F2C8 B0 83 00 02 */ sth r4, 2(r3)
/* 8016366C 0015F2CC 98 03 00 04 */ stb r0, 4(r3)
/* 80163670 0015F2D0 4E 80 00 20 */ blr
|